1 # ====================================================================
5 # USB slave-side ethernet package.
7 # ====================================================================
8 #####ECOSGPLCOPYRIGHTBEGIN####
9 ## -------------------------------------------
10 ## This file is part of eCos, the Embedded Configurable Operating System.
11 ## Copyright (C) 2003 Bart Veer
12 ## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
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 version.
18 ## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
19 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
23 ## You should have received a copy of the GNU General Public License along
24 ## with eCos; if not, write to the Free Software Foundation, Inc.,
25 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
27 ## As a special exception, if other files instantiate templates or use macros
28 ## or inline functions from this file, or you compile this file and link it
29 ## with other works to produce a work based on this file, this file does not
30 ## by itself cause the resulting work to be covered by the GNU General Public
31 ## License. However the source code for this file must still be made available
32 ## in accordance with section (3) of the GNU General Public License.
34 ## This exception does not invalidate any other reasons why a work based on
35 ## this file might be covered by the GNU General Public License.
37 ## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
38 ## at http://sources.redhat.com/ecos/ecos-license/
39 ## -------------------------------------------
40 #####ECOSGPLCOPYRIGHTEND####
41 # ====================================================================
42 ######DESCRIPTIONBEGIN####
45 # Original data: bartv
49 #####DESCRIPTIONEND####
50 # ====================================================================
52 cdl_package CYGPKG_IO_USB_SLAVE_ETH {
53 display "USB slave ethernet support"
54 include_dir "cyg/io/usb"
55 parent CYGPKG_IO_USB_SLAVE
56 requires { CYGHWR_IO_USB_SLAVE_OUT_ENDPOINTS >= 1 }
57 requires { CYGHWR_IO_USB_SLAVE_IN_ENDPOINTS >= 1 }
59 implements CYGINT_IO_USB_SLAVE_CLIENTS
60 doc ref/io-usb-slave-eth.html
63 The USB slave ethernet package supports the development
64 of USB peripherals which provide an ethernet service to
65 the host machine. Such a peripheral could be a simple
66 USB-ethernet converter, or it could be rather more
67 complicated internally."
69 cdl_component CYGPKG_USBS_ETHDRV {
70 display "Provide a driver for a TCP/IP stack."
71 requires CYGPKG_IO_ETH_DRIVERS
72 implements CYGHWR_NET_DRIVERS
73 default_value CYGPKG_NET
74 compile -library=libextras.a usbsethdrv.c
77 The primary purpose of USB slave ethernet support is to provide
78 an ethernet service to the USB host. This is very different
79 from a conventional network driver which provides a service
80 to a TCP/IP stack running inside the peripheral. If this
81 component is enabled then the USB-ethernet code will implement
82 an eCos network driver, thus supporting both a host-side TCP/IP
83 stack and an eCos stack. This raises issues such as enabling
84 the bridge code in the stack, and the package documentation
85 should be consulted for further information."
87 cdl_option CYGFUN_USBS_ETHDRV_STATISTICS {
88 display "Maintain traffic statistics"
90 default_value CYGPKG_SNMPAGENT
92 The USB network device driver can maintain some statistics
93 about traffic, for example the number of incoming and
94 outgoing packets. These statistics are intended mainly
95 for SNMP agent software."
98 cdl_option CYGDAT_USBS_ETHDRV_NAME {
99 display "Name to use for this network device"
101 default_value { (1 == CYGHWR_NET_DRIVERS) ? "\"eth0\"" : "\"eth1\"" }
103 The name of this network device for control purposes.
107 cdl_option CYGPRI_USBS_ETHDRV_ETH0 {
108 display "Enable/disable generic eth0 configury"
110 calculated { "\"eth0\"" == CYGDAT_USBS_ETHDRV_NAME }
111 implements CYGHWR_NET_DRIVER_ETH0
112 requires !CYGHWR_NET_DRIVER_ETH0_BOOTP
115 cdl_option CYGPRI_USBS_ETHDRV_ETH1 {
116 display "Enable/disable generic eth1 configury"
118 calculated { "\"eth1\"" == CYGDAT_USBS_ETHDRV_NAME }
119 implements CYGHWR_NET_DRIVER_ETH1
120 requires !CYGHWR_NET_DRIVER_ETH1_BOOTP
124 cdl_component CYGPKG_IO_USB_SLAVE_ETH_OPTIONS {
125 display "Build options"
129 Package-specific build options including control over compiler
130 flags used only in building this package."
132 cdl_option CYGPKG_IO_USB_SLAVE_ETH_CFLAGS_ADD {
133 display "Additional compiler flags"
136 default_value { "-D_KERNEL -D__ECOS" }
138 This option modifies the set of compiler flags for
139 building this package. These flags are used in addition
140 to the set of global flags."
142 cdl_option CYGPKG_IO_USB_SLAVE_ETH_CFLAGS_REMOVE {
143 display "Suppressed compiler flags"
148 This option modifies the set of compiler flags for
149 building this package. These flags are removed from
150 the set of global flags if present."