1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
# ====================================================================
#
# usbs.cdl
#
# USB slave-side support
#
# ====================================================================
## ####ECOSGPLCOPYRIGHTBEGIN####
## -------------------------------------------
## This file is part of eCos, the Embedded Configurable Operating System.
## Copyright (C) 1998, 1999, 2000, 2001, 2002, 2010 Free Software Foundation, Inc.
##
## eCos is free software; you can redistribute it and/or modify it under
## the terms of the GNU General Public License as published by the Free
## Software Foundation; either version 2 or (at your option) any later
## version.
##
## eCos is distributed in the hope that it will be useful, but WITHOUT
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
## for more details.
##
## You should have received a copy of the GNU General Public License
## along with eCos; if not, write to the Free Software Foundation, Inc.,
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
##
## As a special exception, if other files instantiate templates or use
## macros or inline functions from this file, or you compile this file
## and link it with other works to produce a work based on this file,
## this file does not by itself cause the resulting work to be covered by
## the GNU General Public License. However the source code for this file
## must still be made available in accordance with section (3) of the GNU
## General Public License v2.
##
## This exception does not invalidate any other reasons why a work based
## on this file might be covered by the GNU General Public License.
## -------------------------------------------
## ####ECOSGPLCOPYRIGHTEND####
# ====================================================================
######DESCRIPTIONBEGIN####
#
# Author(s): bartv
# Original data: bartv
# Contributors:
# Date: 2000-10-04
#
#####DESCRIPTIONEND####
#
# ====================================================================
cdl_package CYGPKG_IO_USB_SLAVE {
display "USB slave-side support"
parent CYGPKG_IO_USB
include_dir "cyg/io/usb"
active_if CYGHWR_IO_USB_SLAVE
doc ref/io-usb-slave.html
compile usbs.c
cdl_interface CYGINT_IO_USB_SLAVE_CLIENTS {
display "Number of clients of USB devices"
description "
This counter keeps track of the number of clients of
USB devices, especially application-class packages such
as the USB-ethernet support. It can be used by USB
device drivers for default settings.
"
}
cdl_option CYGGLO_IO_USB_SLAVE_APPLICATION {
display "Application code uses USB devices"
default_value 0
implements CYGINT_IO_USB_SLAVE_CLIENTS
description "
If the USB devices are accessed by application code
rather than by other packages then enabling this
option will cause the USB device drivers to be enabled.
"
}
cdl_option CYGGLO_IO_USB_SLAVE_PROVIDE_DEVTAB_ENTRIES {
display "Provide devtab entries by default"
default_value CYGPKG_IO
requires CYGPKG_IO
description "
The USB slave-side endpoints can typically be accessed in two
different ways. There is support for the traditional way of
doing I/O with open/read/write calls, which involves the
use of devtab entries. It is also possible to use a
USB-specific API, defined largely in terms of asynchronous
operations and callbacks (the read/write implementation uses
these lower-level calls). If neither the application nor
any other USB-related packages require the higher-level
read/write calls then it is possible to save some memory
by eliminating the devtab entries.
"
}
cdl_interface CYGHWR_IO_USB_SLAVE_OUT_ENDPOINTS {
display "Number of available host->slave endpoints"
}
cdl_interface CYGHWR_IO_USB_SLAVE_IN_ENDPOINTS {
display "Number of available slave->host endpoints"
}
cdl_option CYGBLD_IO_USB_SLAVE_USBTEST {
display "Build the main USB test program"
doc ref/usbs-testing.html
description "
The USB slave-side software is supplied with host-side
and target-side software that allows a variety of testing
to be performed. The slave-side software is not built
by default since it can only operate in specific environments
and in conjunction with the host-side software. Enabling
this option causes the slave-side software to be added
to the list of test cases for the current configuration."
default_value 0
implements CYGINT_IO_USB_SLAVE_CLIENTS
requires { is_substr(CYGPKG_IO_USB_SLAVE_TESTS, " tests/usbtarget") }
requires CYGFUN_KERNEL_API_C CYGFUN_KERNEL_THREADS_TIMER !CYGINT_KNEREL_SCHEDULER_UNIQUE_PRIORITIES
requires CYGPKG_LIBC_STDIO CYGSEM_LIBC_STDIO_THREAD_SAFE_STREAMS
}
cdl_option CYGPKG_IO_USB_SLAVE_TESTS {
display "USB slave tests"
flavor data
no_define
default_value { "" }
description "This option specifies the set of tests to be
built for the USB slave package"
}
}
|