OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [io/] [usb/] [msd/] [slave/] [current/] [cdl/] [usbs_msd.cdl] - Blame information for rev 825

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      usbs_msd.cdl
4
#
5
#      USB slave-side mass storage package.
6
#
7
# ====================================================================
8
## ####ECOSGPLCOPYRIGHTBEGIN####
9
## -------------------------------------------
10
## This file is part of eCos, the Embedded Configurable Operating System.
11
## Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
12
##
13
## eCos is free software; you can redistribute it and/or modify it under
14
## the terms of the GNU General Public License as published by the Free
15
## Software Foundation; either version 2 or (at your option) any later
16
## version.
17
##
18
## eCos is distributed in the hope that it will be useful, but WITHOUT
19
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20
## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
21
## for more details.
22
##
23
## You should have received a copy of the GNU General Public License
24
## along with eCos; if not, write to the Free Software Foundation, Inc.,
25
## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
26
##
27
## As a special exception, if other files instantiate templates or use
28
## macros or inline functions from this file, or you compile this file
29
## and link it with other works to produce a work based on this file,
30
## this file does not by itself cause the resulting work to be covered by
31
## the GNU General Public License. However the source code for this file
32
## must still be made available in accordance with section (3) of the GNU
33
## General Public License v2.
34
##
35
## This exception does not invalidate any other reasons why a work based
36
## on this file might be covered by the GNU General Public License.
37
## -------------------------------------------
38
## ####ECOSGPLCOPYRIGHTEND####
39
# ====================================================================
40
######DESCRIPTIONBEGIN####
41
#
42
# Author(s):      USB Slave Mass Storage, ccoutand 
43
#
44
# Contributors:   jld
45
# Date:           2010-06-04
46
#
47
#####DESCRIPTIONEND####
48
# ====================================================================
49
 
50
cdl_package CYGPKG_IO_USB_SLAVE_MSD {
51
 
52
    display     "USB slave mass storage support"
53
    include_dir "cyg/io/usb"
54
    parent      CYGPKG_IO_USB_SLAVE
55
    doc         ref/io-usb-slave-msd.html
56
 
57
    requires    { CYGPKG_KERNEL }
58
    requires    { CYGPKG_IO_DISK }
59
    requires    { CYGHWR_IO_USB_SLAVE_OUT_ENDPOINTS >= 1 }
60
    requires    { CYGHWR_IO_USB_SLAVE_IN_ENDPOINTS >= 1 }
61
 
62
    compile     usbs_msd.c usbs_msd_handler.c usbs_msd_scsi.c
63
 
64
    implements  CYGINT_IO_USB_SLAVE_CLIENTS
65
 
66
    define_proc {
67
      puts $::cdl_system_header "#define CYGDAT_IO_USB_SLAVE_MSD_INL "
68
    }
69
 
70
    description "
71
        The USB slave mass storage device (MSD) package supports
72
        the development of USB peripherals which act has mass storage
73
        device to the host machine. The actual storage must be implemented
74
        on top of the disk package."
75
 
76
    #
77
    # Mass Storage Device 0
78
    #
79
    cdl_component CYGPKG_IO_USB_SLAVE_MSD0 {
80
       display        "USB slave mass storage support for device 0"
81
       flavor         bool
82
       default_value  1
83
       description "
84
           This option implement the USB MSD device 0."
85
 
86
       cdl_option CYGDAT_IO_USB_SLAVE_MSD0_SUB_CLASS_TYPE {
87
           display         "Mass-storage Device USB Sub Class"
88
           flavor          data
89
           default_value   { "SCSI" }
90
           legal_values    { "SCSI" "RBC" }
91
           description     "
92
               Specify the transport protocols and command code systems
93
               transported by the interface. Currently only the SCSI
94
               transparent command set is implemented."
95
       }
96
 
97
       cdl_option CYGDAT_IO_USB_SLAVE_MSD0_EP0 {
98
           display       "Name of EP0 structure"
99
           flavor        data
100
           default_value { "usbs_at91_ep0" }
101
           description   "
102
               The name of the variable that contains the endpoint 0
103
               structure.  This should be set to the EP0 structure for
104
               the desired USB device driver such as usbs_at91_ep0,
105
               usbs_sa11x0_ep0, etc"
106
       }
107
 
108
       cdl_option CYGNUM_IO_USB_SLAVE_MSD0_EP0_MAX_PACKET_SIZE {
109
           display       "The size of EP0"
110
           flavor        data
111
           default_value 8
112
           legal_values  { 8 16 64 }
113
           description   "
114
               The size of the EP0 hardware buffer on the specific USB
115
               chip used."
116
       }
117
 
118
 
119
       cdl_component CYGPKG_IO_USB_SLAVE_MSD0_STATIC_EP {
120
           display         "Use static I/O endpoint structures"
121
           flavor          bool
122
           default_value   1
123
           description     "
124
               Enables the use of static I/O endpoint structures. Some
125
               USB slave device drivers implement dynamic endpoint
126
               configuration and therefore require this component to be
127
               disabled."
128
 
129
           cdl_option  CYGDAT_IO_USB_SLAVE_MSD0_TX_EP {
130
               display         "The Tx (USB IN) endpoint structure"
131
               flavor         data
132
               default_value  { "usbs_at91_ep1" }
133
               description    "
134
                   The endpoint structure that corresponds to the selected
135
                   Tx endpoint number. This is dependent on the USBS device
136
                   driver selected, and could be usbs_at91_ep1,
137
                   usbs_sa11x0_ep1, etc"
138
           }
139
 
140
           cdl_option CYGDAT_IO_USB_SLAVE_MSD0_RX_EP {
141
               display         "The Rx (USB OUT) endpoint structure"
142
               flavor         data
143
               default_value  { "usbs_at91_ep2" }
144
               description    "
145
                   The endpoint structure that corresponds to the selected
146
                   Rx endpoint number. This is dependent on the USBS device
147
                   driver selected, and could be usbs_at91_ep2,
148
                   usbs_sa11x0_ep2, etc"
149
          }
150
       }
151
 
152
       cdl_option CYGNUM_IO_USB_SLAVE_MSD0_TX_EP_NUM {
153
           display       "Tx (USB IN) endpoint number"
154
           flavor        data
155
           default_value 1
156
           description   "
157
               The endpoint that should be used for the device-side
158
               transmitter, which is the USB IN direction."
159
       }
160
 
161
       cdl_option CYGNUM_IO_USB_SLAVE_MSD0_TX_EP_MAX_PACKET_SIZE {
162
           display       "Tx (USB IN) endpoint sze"
163
           flavor        data
164
           default_value 64
165
           legal_values  { 32 64 128 256 512 }
166
           description   "
167
               The size of the Tx EP hardware buffer on the specific USB
168
               chip used."
169
       }
170
 
171
       cdl_option CYGNUM_IO_USB_SLAVE_MSD0_RX_EP_NUM {
172
           display         "Rx (USB OUT) endpoint number"
173
           flavor          data
174
           default_value   2
175
           description     "
176
               The endpoint that should be used for the device-side
177
               receiver, which is the USB OUT direction."
178
       }
179
 
180
       cdl_option CYGNUM_IO_USB_SLAVE_MSD0_RX_EP_MAX_PACKET_SIZE {
181
           display       "Rx (USB OUT) endpoint size"
182
           flavor        data
183
           default_value 64
184
           legal_values  { 32 64 128 256 512}
185
           description   "
186
               The size of the Rx EP hardware buffer on the specific USB
187
               chip used."
188
       }
189
 
190
       cdl_option CYGNUM_IO_USB_SLAVE_MSD0_VENDOR_ID {
191
           display       "USB Forum Vendor ID"
192
           flavor        data
193
           default_value 0xFFFF
194
           legal_values  1 to 0xFFFF
195
           description   "
196
               Each USB vendor has an Vendor ID allocated to it by the
197
               USB-IF organization.  Any arbitrary value can be selected
198
               for testing provided that it doesn't conflict with devices
199
               on the development host, but a device should NEVER be
200
               released publicly without a valid Vendor ID"
201
       }
202
 
203
       cdl_option CYGNUM_IO_USB_SLAVE_MSD0_PRODUCT_ID {
204
           display       "USB product ID"
205
           flavor        data
206
           default_value 1
207
           legal_values  1 to 0xFFFF
208
           description   "
209
               You are free to select an arbitrary 16-bit Product ID for
210
               a device. The combination of Vendor ID and Product ID
211
               uniquely identified a USB device."
212
       }
213
 
214
       cdl_option CYGDAT_IO_USB_SLAVE_MSD0_MFG_STR {
215
          display       "The Device Vendor's Name (Manufacturer String)"
216
           flavor        data
217
           default_value { "\"eCos\"" }
218
           description "
219
                   The standard USB enumeration allows for a
220
                   manufacturer's name which is normally reported to the
221
                   user when the device is first plugged into the host."
222
       }
223
 
224
       cdl_option CYGDAT_IO_USB_SLAVE_MSD0_PRODUCT_STR {
225
           display       "The Device Product Name"
226
           flavor        data
227
           default_value { "\"eCos USB Mass Storage Device\"" }
228
           description "
229
                   The standard USB enumeration allows for a product name
230
                   which is normally reported to the user when the device
231
                   is first plugged into the host."
232
       }
233
 
234
       cdl_option CYGDAT_IO_USB_SLAVE_MSD0_SERIAL_STR {
235
           display       "The Device Product Serial Number"
236
           flavor        data
237
           default_value { "\"123456789AB\"" }
238
           description "
239
                   The standard USB enumeration allows for a serial number."
240
       }
241
 
242
        cdl_option CYGDAT_IO_USB_SLAVE_MSD0_LUN0_NAME {
243
           display       "LUN0 entry name"
244
           flavor        data
245
           default_value { "\"/dev/ramdisk0/1\"" }
246
           description "
247
               Specify the logical unit 0 devtab entry name. The default value
248
               correspond to the partition 1 of the RAM disk created in the
249
               USBS mass storage example application."
250
       }
251
 
252
       cdl_option CYGOPT_IO_USB_SLAVE_MSD0_BUSPOWERED {
253
           display       "The Device is bus powered"
254
           default_value 0
255
           flavor        bool
256
           description   "
257
               Tells the host whether the Device is a bus powered
258
               device or a self powered device."
259
       }
260
 
261
       cdl_option CYGNUM_IO_USB_SLAVE_MSD0_CURRENTDRAW {
262
           display       "Maximum current (in mA) drawn from USB bus"
263
           flavor        data
264
           default_value 100
265
           legal_values  1 to 500
266
           requires      { (CYGNUM_IO_USB_SLAVE_MSD_CURRENTDRAW > 100)
267
                         implies CYGOPT_IO_USB_SLAVE_MSD_BUSPOWERED }
268
           description   "
269
               The maximum current drawn by the Device from the USB bus.
270
               It should report the peak value. A self powered device
271
               can draw up to 100mA, a bus powered device can draw up to
272
               500mA. (If it is sometimes below 100mA and sometimes over,
273
               then a transition could be done at runtime between self and
274
               bus powered modes, but that would be complicated and the
275
               device would have to return from configured to addressed
276
               state. For details, see the USB specification.)"
277
       }
278
 
279
    }
280
 
281
    cdl_option  CYGBLD_IO_USB_SLAVE_MSD_DEBUG {
282
        display       "Enable debug output from the driver"
283
        default_value 0
284
        flavor        bool
285
        description   "
286
            The driver may produce debug output which can be
287
            useful to work out why it is not working as expected."
288
    }
289
 
290
    cdl_option  CYGBLD_IO_USB_SLAVE_MSD_TRACE {
291
        display       "Enable trace output from the driver"
292
        default_value 0
293
        flavor        bool
294
        description   "
295
            Allow tracing of every USB transaction for debugging
296
            purpose."
297
    }
298
 
299
    cdl_option CYGSEM_IO_USB_SLAVE_MSD_STALL_ENABLE {
300
        display       "Enable application to stall endpoints"
301
        default_value 0
302
        flavor        bool
303
        description   "
304
            A mass storage device must stall one or both bulk endpoints in
305
            several situations. However, not all USB device drivers seems
306
            to implement this functionality correctly. Hence this option is
307
            disable be default. Testing shows that both Linux and Windows can
308
            handle mass storage with stall disable."
309
    }
310
 
311
    cdl_component CYGPKG_IO_USB_SLAVE_MSD_OPTIONS {
312
    display     "Build options"
313
    flavor      none
314
 
315
    description "
316
        Package-specific build options including control over compiler
317
        flags used only in building this package."
318
 
319
        cdl_option CYGPKG_IO_USB_SLAVE_MSD_CFLAGS_ADD {
320
            display "Additional compiler flags"
321
            flavor  data
322
            no_define
323
            default_value { "" }
324
            description   "
325
                This option modifies the set of compiler flags for
326
                building this package. These flags are used in addition
327
                to the set of global flags."
328
        }
329
 
330
        cdl_option CYGPKG_IO_USB_SLAVE_MSD_CFLAGS_REMOVE {
331
            display "Suppressed compiler flags"
332
            flavor  data
333
            no_define
334
            default_value { "" }
335
            description   "
336
                This option modifies the set of compiler flags for
337
                building this package. These flags are removed from
338
                the set of global flags if present."
339
        }
340
 
341
        cdl_component CYGBLD_IO_USB_SLAVE_MSD_EXAMPLES {
342
            display "Build example programs"
343
            no_define
344
            description "
345
                Enabling this option will cause the example program
346
                to be built using the normal test case infrastructure."
347
 
348
             cdl_option CYGPKG_IO_USB_SLAVE_MSD_TESTS {
349
                 display "USBS MSD example/test program"
350
                 no_define
351
                 flavor data
352
                 calculated { "tests/usbs_test_ramdisk" }
353
                 description "
354
                     usbs_test_ramdisk creates a tiny FAT12 file-system
355
                     on top of a 'ram disk' device. The USB MSD service is
356
                     started and the disk should appear at the host side as
357
                     a regular mass storage device. If the FAT file-system
358
                     package is included, some files will be created prior to
359
                     the USB MSD device to be started."
360
             }
361
        }
362
 
363
    }
364
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.