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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [devs/] [usb/] [at91/] [current/] [cdl/] [usbs_at91.cdl] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      usbs_at91.cdl
4
#
5
#      USB device driver for the ATMEL AT91 family of processors.
6
#
7
# ====================================================================
8
## ####ECOSGPLCOPYRIGHTBEGIN####
9
## -------------------------------------------
10
## This file is part of eCos, the Embedded Configurable Operating System.
11
## Copyright (C) 2006, 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):      Oliver Munz, Andrew Lunn
43
# Original data:  bartv
44
# Contributors:   ccoutand
45
# Date:           2006-02-25
46
#
47
#####DESCRIPTIONEND####
48
# ====================================================================
49
 
50
cdl_package CYGPKG_DEVS_USB_AT91 {
51
    display     "Atmel AT91 USB Device Driver"
52
    include_dir "cyg/io/usb"
53
    parent      CYGPKG_IO_USB
54
    implements  CYGHWR_IO_USB_SLAVE
55
 
56
    cdl_interface CYGINT_DEVS_USB_AT91_HAS_USB {
57
        description "
58
            This interface is implemented by HALs for devices which have
59
            the USB hardware."
60
    }
61
 
62
    description "
63
        This package provides a suitable eCos device driver
64
        for AT91 USB.
65
        In this version the driver will support the AT91SAM7S.
66
        Other AT92 devices may work, but have not been tested.
67
        The Driver needs 48, 96 or 192MHz plus minus 0.25%.
68
        Buffers are allocated only in the higher level. There
69
        is no need to configure the endpoints in this CDL, because
70
        they will be configured dynamical at the set_configuration
71
        call from the host...
72
        The endpoints 1..3 can be configured as bulk or interrupt
73
        IN or OUT endpoint. Isochronous transfer is not supported."
74
 
75
    cdl_component CYGFUN_DEVS_USB_AT91_EP0 {
76
        display       "Support the control endpoint 0"
77
        flavor        bool
78
        default_value CYGINT_IO_USB_SLAVE_CLIENTS
79
        requires      CYGPKG_IO_USB CYGPKG_IO_USB_SLAVE
80
        requires {
81
            ((CYGNUM_HAL_ARM_AT91_CLOCK_SPEED < 48120000 &&
82
              CYGNUM_HAL_ARM_AT91_CLOCK_SPEED > 47880000) ||
83
             (CYGNUM_HAL_ARM_AT91_CLOCK_SPEED <  96240000 &&
84
             CYGNUM_HAL_ARM_AT91_CLOCK_SPEED >  95760000))
85
        }
86
 
87
        active_if CYGINT_DEVS_USB_AT91_HAS_USB
88
        implements CYGHWR_IO_USB_SLAVE_OUT_ENDPOINTS
89
        implements CYGHWR_IO_USB_SLAVE_IN_ENDPOINTS
90
 
91
        compile       usbs_at91.c
92
        compile       -library=libextras.a usbs_at91_data.cxx
93
        description   "
94
            Enable support for endpoint 0. If this support is disabled
95
            then the entire USB port is unusable."
96
 
97
        cdl_option CYGDAT_DEVS_USB_AT91_GPIO_SET_PULLUP_INTERNAL {
98
            display       "The chip has internal pullup"
99
            flavor        bool
100
            calculated    { CYGHWR_HAL_ARM_AT91SAM7SE }
101
            requires      { CYGDAT_DEVS_USB_AT91_GPIO_SET_PULLUP_PIN == "NONE" }
102
            description "
103
                   The chip has an internal pullup resistor;
104
                   the use of this pullup is mandatory (?), so there
105
                   should be no external pullup resistor."
106
        }
107
 
108
        cdl_option CYGDAT_DEVS_USB_AT91_GPIO_SET_PULLUP_PIN {
109
            display       "PIO-Pin who controls the pullup resistor"
110
            flavor        data
111
            default_value { "AT91_GPIO_PA16" }
112
            description "
113
                   Every GPIO pin is able to do it. If you don't need
114
                   a pin because your HW has the pullup fixed wired
115
                   then select NONE"
116
        }
117
 
118
        cdl_option CYGNUM_DEVS_USB_AT91_GPIO_SET_PULLUP_INVERTED {
119
            display       "Has the signal to be inverted?"
120
            active_if     {CYGDAT_DEVS_USB_AT91_GPIO_SET_PULLUP_PIN != "NONE"}
121
            flavor        bool
122
            default_value 1
123
            description "
124
                   This option indicates that the pullup pin should
125
                   be inverted. ie VDD is active, VCC is inactive. For the
126
                   AT91SAM7SEK it needs to be inverted, hence this default."
127
        }
128
 
129
        cdl_option CYGDAT_DEVS_USB_AT91_GPIO_READ_POWER_PIN {
130
            display       "PIO-Pin who see the USB-Power"
131
            flavor        data
132
            default_value { "AT91_GPIO_PA13"}
133
            description "
134
                   Every GPIO pin is able to do it. If you don't need
135
                   a pin then select NONE"
136
        }
137
 
138
        cdl_option CYGNUM_DEVS_USB_AT91_GPIO_READ_POWER_INVERTED {
139
            display       "Has the signal to be inverted?"
140
            flavor        bool
141
            default_value 0
142
            description "
143
                   This option indicates that the power detect pin should
144
                   be inverted. ie VDD is active, VCC is inactive."
145
        }
146
 
147
        cdl_option CYGSEM_DEVS_USB_AT91_ZERO_LENGTH_PACKET_TERMINATION {
148
            display       "Allow USB driver to end data transfer with an empty data packet."
149
            flavor        bool
150
            default_value 1
151
            description "
152
                   This option allows the USB driver to automatically signal the
153
                   end of a data transmission with an empty packet, if the last packet
154
                   fragment is equal to the endpoint buffer size."
155
        }
156
 
157
    }
158
 
159
    cdl_component CYGPKG_DEVS_USB_AT91_DEVTAB_ENTRIES {
160
        display       "Provide a devtab entry for endpoints"
161
        active_if     CYGFUN_DEVS_USB_AT91_EP0
162
        default_value 0
163
        description "
164
             This component controls if /dev/usb entries will be created."
165
 
166
        cdl_option CYGVAR_DEVS_USB_AT91_EP0_DEVTAB_ENTRY {
167
            display       "Provide a devtab entry for endpoint 0"
168
            flavor        bool
169
            default_value 0
170
            requires      CYGPKG_IO
171
            description "
172
               If endpoint 0 will only be accessed via the low-level
173
               USB-specific calls then there is no need for an entry
174
               in the device table, saving some memory. If the
175
               application intends to access the endpoint by means
176
               of open and ioctl calls then a devtab entry is needed."
177
        }
178
 
179
        cdl_option CYGVAR_DEVS_USB_AT91_EP1_DEVTAB_ENTRY {
180
            display       "Provide a devtab entry for endpoint 1"
181
            flavor        bool
182
            default_value 1
183
            requires      CYGPKG_IO
184
            description "
185
                If this endpoint will only be accessed via the low-level
186
                USB-specific calls then there is no need for an entry
187
                in the device table, saving some memory. If the
188
                application intends to access the endpoint by means
189
                of open and read calls then a devtab entry is needed."
190
        }
191
 
192
        cdl_option CYGVAR_DEVS_USB_AT91_EP2_DEVTAB_ENTRY {
193
            display       "Provide a devtab entry for endpoint 2"
194
            flavor        bool
195
            default_value 1
196
            requires      CYGPKG_IO
197
            description "
198
                If this endpoint will only be accessed via the low-level
199
                USB-specific calls then there is no need for an entry
200
                in the device table, saving some memory. If the
201
                application intends to access the endpoint by means
202
                of open and read calls then a devtab entry is needed."
203
        }
204
 
205
        cdl_option CYGVAR_DEVS_USB_AT91_EP3_DEVTAB_ENTRY {
206
            display       "Provide a devtab entry for endpoint 3"
207
            flavor        bool
208
            default_value 1
209
            requires      CYGPKG_IO
210
            description "
211
                If this endpoint will only be accessed via the low-level
212
                USB-specific calls then there is no need for an entry
213
                in the device table, saving some memory. If the
214
                application intends to access the endpoint by means
215
                of open and read calls then a devtab entry is needed."
216
        }
217
 
218
        cdl_option CYGVAR_DEVS_USB_AT91_EP4_DEVTAB_ENTRY {
219
            display       "Provide a devtab entry for endpoint 4"
220
            flavor        bool
221
            default_value 0
222
            requires      CYGPKG_IO
223
            description "
224
                If this endpoint will only be accessed via the low-level
225
                USB-specific calls then there is no need for an entry
226
                in the device table, saving some memory. If the
227
                application intends to access the endpoint by means
228
                of open and read calls then a devtab entry is needed."
229
        }
230
 
231
        cdl_option CYGVAR_DEVS_USB_AT91_EP5_DEVTAB_ENTRY {
232
            display       "Provide a devtab entry for endpoint 5"
233
            flavor        bool
234
            default_value 0
235
            requires      CYGPKG_IO
236
            description "
237
                If this endpoint will only be accessed via the low-level
238
                USB-specific calls then there is no need for an entry
239
                in the device table, saving some memory. If the
240
                application intends to access the endpoint by means
241
                of open and read calls then a devtab entry is needed."
242
        }
243
 
244
        cdl_option CYGVAR_DEVS_USB_AT91_EP6_DEVTAB_ENTRY {
245
            display       "Provide a devtab entry for endpoint 6"
246
            flavor        bool
247
            default_value 0
248
            requires      CYGPKG_IO
249
            description "
250
                If this endpoint will only be accessed via the low-level
251
                USB-specific calls then there is no need for an entry
252
                in the device table, saving some memory. If the
253
                application intends to access the endpoint by means
254
                of open and read calls then a devtab entry is needed."
255
        }
256
 
257
        cdl_option CYGVAR_DEVS_USB_AT91_EP7_DEVTAB_ENTRY {
258
            display       "Provide a devtab entry for endpoint 7"
259
            flavor        bool
260
            default_value 0
261
            requires      CYGPKG_IO
262
            description "
263
                If this endpoint will only be accessed via the low-level
264
                USB-specific calls then there is no need for an entry
265
                in the device table, saving some memory. If the
266
                application intends to access the endpoint by means
267
                of open and read calls then a devtab entry is needed."
268
        }
269
 
270
        cdl_option CYGDAT_DEVS_USB_AT91_DEVTAB_BASENAME {
271
            display       "Base name for devtab entries"
272
            flavor        data
273
            default_value { "\"/dev/usbs\"" }
274
            description "
275
                If the uAT91 USB device driver package provides devtab
276
                entries for any of the endpoints then this option gives
277
                control over the names of these entries. By default the
278
                endpoints will be called \"/dev/usbs0c\", \"/dev/usbs3w\"
279
                and \"/dev/usbs4r\" (assuming all three endpoints are
280
                enabled. The common part \"/dev/usbs\" is determined
281
                by this configuration option. It may be necessary to
282
                change this if there are multiple USB slave-side
283
                devices on the target hardware to prevent a name clash."
284
        }
285
    }
286
}

powered by: WebSVN 2.1.0

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