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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [devs/] [usb/] [d12/] [current/] [cdl/] [usbs_d12.cdl] - Blame information for rev 810

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

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#       usbs_d12.cdl
4
#
5
#       USB device driver for the Philips PDIUSBD12 Full Speed USB
6
#       peripheral chip.
7
#
8
# ====================================================================
9
## ####ECOSGPLCOPYRIGHTBEGIN####
10
## -------------------------------------------
11
## This file is part of eCos, the Embedded Configurable Operating System.
12
## Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc.
13
##
14
## eCos is free software; you can redistribute it and/or modify it under
15
## the terms of the GNU General Public License as published by the Free
16
## Software Foundation; either version 2 or (at your option) any later
17
## version.
18
##
19
## eCos is distributed in the hope that it will be useful, but WITHOUT
20
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21
## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
22
## for more details.
23
##
24
## You should have received a copy of the GNU General Public License
25
## along with eCos; if not, write to the Free Software Foundation, Inc.,
26
## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
27
##
28
## As a special exception, if other files instantiate templates or use
29
## macros or inline functions from this file, or you compile this file
30
## and link it with other works to produce a work based on this file,
31
## this file does not by itself cause the resulting work to be covered by
32
## the GNU General Public License. However the source code for this file
33
## must still be made available in accordance with section (3) of the GNU
34
## General Public License v2.
35
##
36
## This exception does not invalidate any other reasons why a work based
37
## on this file might be covered by the GNU General Public License.
38
## -------------------------------------------
39
## ####ECOSGPLCOPYRIGHTEND####
40
# ====================================================================
41
######DESCRIPTIONBEGIN####
42
#
43
# Author(s):      Frank M. Pagliughi (fmp), SoRo Systems, Inc.
44
# Contributors:
45
# Date:           2004-05-24
46
#
47
#####DESCRIPTIONEND####
48
# ====================================================================
49
 
50
cdl_package CYGPKG_DEVS_USB_D12 {
51
    display     "Philips D12 USB Device Driver"
52
    include_dir "cyg/io/usb"
53
    parent      CYGPKG_USB
54
    implements  CYGHWR_IO_USB_SLAVE
55
    doc         ref/devs-usb-philips-pdiusbd12.html
56
 
57
    description "
58
        The Philips PDIUSBD12 is a USB peripheral controller (slave)
59
        chip that can connect to a microcontroller or microprocessor
60
        through an 8-bit parallel bus. The SoRo Systems USB-D12-104 is
61
        a slave board for the PC's ISA or PC/104 bus that contains a
62
        D12 chip placed in the PC's I/O space with jumpered selections
63
        for IRQ and DMA settings. This package provides an eCos device
64
        driver."
65
 
66
    requires      CYGIMP_DEVS_USB_D12_HW_ACCESS_HEADER
67
 
68
    cdl_option CYGIMP_DEVS_USB_D12_HW_ACCESS_HEADER {
69
        display       "Inline file implementing hardware access"
70
        flavor        booldata
71
        default_value false
72
        description   "
73
            This option should contain the header file which
74
            implements basic access to the D12 registers"
75
    }
76
 
77
    cdl_component CYGFUN_DEVS_USB_D12_EP0 {
78
         display       "Support the Control Endpoint 0"
79
         default_value CYGINT_IO_USB_SLAVE_CLIENTS
80
         requires      CYGPKG_IO_USB CYGPKG_IO_USB_SLAVE
81
         compile       usbs_d12.c
82
         compile       -library=libextras.a usbs_d12_data.cxx
83
         description "
84
             Enable support for endpoint 0. If this support is disabled
85
             then the entire USB port is unusable."
86
 
87
         cdl_option CYGVAR_DEVS_USB_D12_EP0_DEVTAB_ENTRY {
88
              display       "Provide a devtab entry for endpoint 0"
89
              default_value CYGGLO_IO_USB_SLAVE_PROVIDE_DEVTAB_ENTRIES
90
              requires      CYGPKG_IO
91
              description "
92
                  If endpoint 0 will only be accessed via the low-level
93
                  USB-specific calls then there is no need for an entry
94
                  in the device table, saving some memory. If the
95
                  application intends to access the endpoint by means
96
                  of open and ioctl calls then a devtab entry is needed.
97
                        "
98
         }
99
         cdl_option CYGNUM_DEVS_USB_D12_EP0_TXBUFSIZE {
100
              display       "Size of statically-allocated endpoint 0 transmit buffer"
101
              flavor        data
102
              default_value 256
103
              requires      { CYGNUM_DEVS_USB_D12_EP0_TXBUFSIZE >=
104
                              CYGNUM_DEVS_USB_D12_EP0_PKTSIZE }
105
              description "
106
                  The implementation of the support for endpoint 0 uses
107
                  a single static buffer to hold the response to the
108
                  current control message. Typically this buffer can be
109
                  fairly small since replies to control messages tend to
110
                  be small: typically some tens of bytes for the enumeration
111
                  data, perhaps a bit more for unicode-encoded string
112
                  descriptors. However if some application-specific protocol
113
                  depends on larger control messages then this buffer
114
                  size may need to be increased."
115
              }
116
    }
117
 
118
    cdl_option CYGNUM_DEVS_USB_D12_BASEADDR {
119
        display       "Base Address of D12 chip"
120
        flavor        data
121
        active_if     CYGFUN_DEVS_USB_D12_EP0
122
        description   "
123
            The base memory or I/O address where the USB chip resides.
124
            The value is set by the hardware specific driver's CDL."
125
    }
126
 
127
    cdl_option CYGNUM_DEVS_USB_D12_IRQ {
128
         display       "IRQ for the D12 chip"
129
         active_if     CYGFUN_DEVS_USB_D12_EP0
130
         flavor        data
131
         description   "
132
             The IRQ assigned to the D12 chip. The value
133
             is set by the hardware specific drivers's CDL."
134
    }
135
 
136
    cdl_option CYGNUM_DEVS_USB_D12_INT {
137
         display       "INT for the D12 chip"
138
         active_if     CYGFUN_DEVS_USB_D12_EP0
139
         flavor        data
140
         default_value { CYGNUM_DEVS_USB_D12_IRQ + 32 }
141
         description "
142
             The interrupt vector assigned to the D12 chip."
143
        }
144
 
145
    cdl_component CYGPKG_DEVS_USB_D12_THREAD {
146
         display         "Use a thread to service D12 chip"
147
         active_if       CYGFUN_DEVS_USB_D12_EP0
148
         default_value   0
149
         description     "
150
             Services the D12 USB chip with a thread, rather than at
151
             the DSR level.  This allows for increased debug support,
152
             like TRACE output from the driver at the expense of some
153
             throughput & reaction time. The service thread MUST be at
154
             a higher priority than any application thread that uses
155
             the USB port.  "
156
 
157
         cdl_option CYGNUM_DEVS_USB_D12_THREAD_PRIORITY {
158
              display       "Thread Priority"
159
              flavor        data
160
              legal_values  1 to 30
161
              default_value 4
162
              description "
163
                  The priority of the D12 device driver thread."
164
         }
165
 
166
         cdl_option CYGNUM_DEVS_USB_D12_THREAD_STACK_SIZE {
167
              display         "USB Thread Stack Size"
168
              flavor          data
169
              default_value   4096
170
              description     "
171
                  The stack size for the D12 device driver thread."
172
         }
173
    }
174
 
175
    cdl_component CYGFUN_DEVS_USB_D12_DEBUG {
176
         display       "Debug output from the D12 Device Driver"
177
         requires      CYGPKG_DEVS_USB_D12_THREAD
178
         default_value 0
179
         description "
180
             Provide debugging output from the D12 Device Driver"
181
 
182
         cdl_option CYGSEM_DEVS_USB_D12_DEBUG_DUMP_EP0_BUFS {
183
              display         "Dump the contents of EP0 buffers"
184
              flavor          bool
185
              default_value   0
186
              description "
187
 
188
                  Dump the contents of the packages going through
189
                  EP0. This allows you to see things like device
190
                  requests and responses."
191
         }
192
 
193
         cdl_option CYGSEM_DEVS_USB_D12_DEBUG_DUMP_BUFS {
194
              display         "Dump the contents of data buffers"
195
              flavor          bool
196
              default_value   0
197
              description "
198
                  Dump the contents of the packages going through the generic
199
                  endpoints. This allow you to see all of the data going through
200
                  the device."
201
         }
202
    }
203
 
204
    cdl_component CYGPKG_DEVS_USB_D12_TX_EP1 {
205
         display       "Endpoint 1 Interrupt IN, (tx_ep1)"
206
         implements    CYGHWR_IO_USB_SLAVE_IN_ENDPOINTS
207
         requires      CYGFUN_DEVS_USB_D12_EP0
208
         default_value CYGFUN_DEVS_USB_D12_EP0
209
         description "
210
             On the D12, Endpoint 1 IN can be used for Interrupt,
211
             Bulk, or Control packages. This driver currently only supports
212
             Interrupt packages on Endpoint 1 (slave -> host) transfers."
213
 
214
         cdl_option CYGVAR_DEVS_USB_D12_TX_EP1_DEVTAB_ENTRY {
215
             display       "Provide a devtab entry for Endpoint 1 IN"
216
             default_value CYGGLO_IO_USB_SLAVE_PROVIDE_DEVTAB_ENTRIES
217
             requires      CYGPKG_IO
218
             description "
219
                 If Endpoint 1 IN will only be accessed via the low-level
220
                 USB-specific calls then there is no need for an entry
221
                 in the device table, saving some memory. If the
222
                 application intends to access the endpoint by means
223
                 of open and write calls then a devtab entry is needed."
224
         }
225
    }
226
 
227
    cdl_component CYGPKG_DEVS_USB_D12_RX_EP1 {
228
        display       "Endpoint 1 Interrupt OUT, (rx_ep1)"
229
        implements    CYGHWR_IO_USB_SLAVE_OUT_ENDPOINTS
230
        requires      CYGFUN_DEVS_USB_D12_EP0
231
        default_value CYGFUN_DEVS_USB_D12_EP0
232
        description "
233
           In the D12, Endpoint 1 OUT can be used for Interrupt,
234
           Bulk, or Control packages. This driver currently only supports
235
           Interrupt packages on Endpoint 1 for (host -> slave) transfers"
236
 
237
        cdl_option CYGVAR_DEVS_USB_D12_RX_EP1_DEVTAB_ENTRY {
238
             display       "Provide a devtab entry for Endpoint 1 OUT"
239
             default_value CYGGLO_IO_USB_SLAVE_PROVIDE_DEVTAB_ENTRIES
240
             requires      CYGPKG_IO
241
             description "
242
                 If Endpoint 1 OUT will only be accessed via the low-level
243
                 USB-specific calls then there is no need for an entry
244
                 in the device table, saving some memory. If the
245
                 application intends to access the endpoint by means
246
                 of open and write calls then a devtab entry is needed."
247
        }
248
    }
249
 
250
    cdl_component CYGPKG_DEVS_USB_D12_TX_EP2 {
251
         display                 "Endpoint 2 Bulk IN, (tx_ep2)"
252
         implements              CYGHWR_IO_USB_SLAVE_IN_ENDPOINTS
253
         requires                CYGFUN_DEVS_USB_D12_EP0
254
         default_value   CYGFUN_DEVS_USB_D12_EP0
255
         description "
256
             In the D12, Endpoint 2 IN can be used for Bulk, Interrupt,
257
             or Control packages. This driver currently only supports
258
             Bulk packages on Endpoint 2 for (slave -> host) transfers."
259
 
260
         cdl_option CYGVAR_DEVS_USB_D12_TX_EP2_DEVTAB_ENTRY {
261
             display       "Provide a devtab entry for Endpoint 2 IN"
262
             default_value CYGGLO_IO_USB_SLAVE_PROVIDE_DEVTAB_ENTRIES
263
             requires      CYGPKG_IO
264
             description "
265
                 If Endpoint 2 IN will only be accessed via the low-level
266
                 USB-specific calls then there is no need for an entry
267
                 in the device table, saving some memory. If the
268
                 application intends to access the endpoint by means
269
                 of open and write calls then a devtab entry is needed."
270
         }
271
    }
272
 
273
    cdl_component CYGPKG_DEVS_USB_D12_RX_EP2 {
274
         display       "Endpoint 2 Bulk OUT, (rx_ep2)"
275
         implements    CYGHWR_IO_USB_SLAVE_OUT_ENDPOINTS
276
         requires      CYGFUN_DEVS_USB_D12_EP0
277
         default_value CYGFUN_DEVS_USB_D12_EP0
278
         description "
279
             In the D12, Endpoint 2 OUT can be used for Bulk, Interrupt,
280
             Control packages. This driver currently only supports
281
             Bulk packages on Endpoint 2 for (host -> slave) transfers."
282
 
283
         cdl_option CYGVAR_DEVS_USB_D12_RX_EP2_DEVTAB_ENTRY {
284
              display       "Provide a devtab entry for Endpoint 2 OUT"
285
              default_value CYGGLO_IO_USB_SLAVE_PROVIDE_DEVTAB_ENTRIES
286
              requires      CYGPKG_IO
287
              description "
288
                  If Endpoint 2 OUT will only be accessed via the low-level
289
                  USB-specific calls then there is no need for an entry
290
                  in the device table, saving some memory. If the
291
                  application intends to access the endpoint by means
292
                  of open and write calls then a devtab entry is needed."
293
        }
294
    }
295
 
296
    cdl_option CYGDAT_DEVS_USB_D12_DEVTAB_BASENAME {
297
        display       "Base name for devtab entries"
298
        flavor        data
299
        active_if     { CYGVAR_DEVS_USB_D12_EP0_DEVTAB_ENTRY ||
300
                        CYGVAR_DEVS_USB_D12_TX_EP1_DEVTAB_ENTRY ||
301
                        CYGVAR_DEVS_USB_D12_RX_EP1_DEVTAB_ENTRY ||
302
                        CYGVAR_DEVS_USB_D12_TX_EP2_DEVTAB_ENTRY ||
303
                        CYGVAR_DEVS_USB_D12_RX_EP2_DEVTAB_ENTRY }
304
        default_value { "\"/dev/usbs\"" }
305
        description "
306
            If the D12 USB device driver package provides devtab entries
307
            for any of the endpoints then this option gives
308
            control over the names of these entries. By default the
309
            endpoints will be called \"/dev/usbs0c\", \"/dev/usbs1r\"
310
            \"/dev/usbs1w\", \"/dev/usbs2r\", \"/dev/usbs2w\"
311
            (assuming those endpoints are all enabled. The common
312
            part \"/dev/usbs\" is determined by this configuration
313
            option. It may be necessary to change this if there are
314
            multiple USB slave-side devices on the target hardware to
315
            prevent a name clash."
316
    }
317
}
318
 

powered by: WebSVN 2.1.0

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