1 # ====================================================================
5 # Ethernet drivers - support for i82559 ethernet controller
6 # on the BSE nanoEngine board.
8 # ====================================================================
9 #####ECOSGPLCOPYRIGHTBEGIN####
10 ## -------------------------------------------
11 ## This file is part of eCos, the Embedded Configurable Operating System.
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 # Contributors: jskov, hmt
48 #####DESCRIPTIONEND####
50 # ====================================================================
52 cdl_package CYGPKG_DEVS_ETH_ARM_NANO {
53 display "BSE nanoEngine ethernet driver"
55 Ethernet driver for BSE nanoEngine board with one or two Intel
56 i82559 Ethernet controllers attached via the BSE nanoBridge PCI
59 parent CYGPKG_IO_ETH_DRIVERS
60 active_if CYGPKG_IO_ETH_DRIVERS
61 active_if CYGPKG_HAL_ARM_SA11X0_NANO
65 # FIXME: This really belongs in the INTEL_I82559 package
66 cdl_interface CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED {
67 display "Intel i82559 ethernet driver required"
71 puts $::cdl_system_header "/***** ethernet driver proc output start *****/"
72 puts $::cdl_system_header "#define CYGDAT_DEVS_ETH_INTEL_I82559_INL <cyg/io/devs_eth_nano.inl>"
73 puts $::cdl_system_header "#define CYGDAT_DEVS_ETH_INTEL_I82559_CFG <pkgconf/devs_eth_arm_nano.h>"
74 puts $::cdl_system_header "/***** ethernet driver proc output end *****/"
77 cdl_component CYGPKG_DEVS_ETH_ARM_NANO_ETH0 {
78 display "Nano ethernet port 0 driver"
82 This option includes the ethernet device driver for the
83 nanoEngine or nanoBridge port 0 - that is the connector one
84 slot in from the corner of the board, or the only connector
85 depending on your particular hardware."
87 implements CYGHWR_NET_DRIVERS
88 implements CYGHWR_NET_DRIVER_ETH0
89 implements CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED
91 cdl_option CYGDAT_DEVS_ETH_ARM_NANO_ETH0_NAME {
92 display "Device name for the ethernet port 0 driver"
94 default_value {"\"eth0\""}
96 This option sets the name of the ethernet device for the
100 cdl_component CYGSEM_DEVS_ETH_ARM_NANO_ETH0_SET_ESA {
101 display "Set the ethernet station address"
103 default_value !CYGPKG_DEVS_ETH_I82559_ETH_REDBOOT_HOLDS_ESA
104 description "Enabling this option will allow the ethernet
105 station address to be forced to the value set by the
106 configuration. This may be required if the hardware does
107 not include a serial EEPROM for the ESA, and if RedBoot's
108 flash configuration support is not available."
110 cdl_option CYGDAT_DEVS_ETH_ARM_NANO_ETH0_ESA {
111 display "The ethernet station address"
113 default_value {"{0x00, 0xB5, 0xE0, 0xB5, 0xE0, 0x11}"}
114 description "The ethernet station address"
119 cdl_component CYGPKG_DEVS_ETH_ARM_NANO_ETH1 {
120 display "Nano ethernet port 1 driver"
124 This option includes the ethernet device driver for the
125 nanoBridge port 1 - that is the connector on the corner of
126 the board, far from the power jack and reset button."
128 implements CYGHWR_NET_DRIVERS
129 implements CYGHWR_NET_DRIVER_ETH1
130 implements CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED
132 cdl_option CYGDAT_DEVS_ETH_ARM_NANO_ETH1_NAME {
133 display "Device name for the ethernet port 1 driver"
135 default_value {"\"eth1\""}
137 This option sets the name of the ethernet device for the
141 cdl_component CYGSEM_DEVS_ETH_ARM_NANO_ETH1_SET_ESA {
142 display "Set the ethernet station address"
144 default_value !CYGPKG_DEVS_ETH_I82559_ETH_REDBOOT_HOLDS_ESA
145 description "Enabling this option will allow the ethernet
146 station address to be forced to the value set by the
147 configuration. This may be required if the hardware does
148 not include a serial EEPROM for the ESA, and if RedBoot's
149 flash configuration support is not available."
151 cdl_option CYGDAT_DEVS_ETH_ARM_NANO_ETH1_ESA {
152 display "The ethernet station address"
154 default_value {"{0x00, 0xB5, 0xE0, 0xB5, 0xE0, 0x12}"}
155 description "The ethernet station address"
161 # note that this option's name is NOT nano-specific, but i82559
162 # generic - other instantiations can set these also.
163 cdl_component CYGPKG_DEVS_ETH_I82559_ETH_REDBOOT_HOLDS_ESA {
164 display "RedBoot manages ESA initialization data"
168 active_if CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
170 description "Enabling this option will allow the ethernet
171 station address to be acquired from RedBoot's configuration data,
172 stored in flash memory. It can be overridden individually by the
173 'Set the ethernet station address' option for each interface."
175 cdl_component CYGPKG_DEVS_ETH_I82559_ETH_REDBOOT_HOLDS_ESA_VARS {
176 display "Build-in flash config fields for ESAs"
180 active_if CYGPKG_REDBOOT
181 active_if CYGPKG_REDBOOT_FLASH
182 active_if CYGSEM_REDBOOT_FLASH_CONFIG
183 active_if CYGPKG_REDBOOT_NETWORKING
186 This option controls the presence of RedBoot flash
187 configuration fields for the ESAs of the interfaces when you
188 are building RedBoot. It is independent of whether RedBoot
189 itself uses the network or any particular interface; this
190 support is more for the application to use than for RedBoot
191 itself, though the application gets at the data by vector
192 calls; this option cannot be enabled outside of building
195 cdl_option CYGVAR_DEVS_ETH_I82559_ETH_REDBOOT_HOLDS_ESA_ETH0 {
196 display "RedBoot manages ESA for eth0"
200 cdl_option CYGVAR_DEVS_ETH_I82559_ETH_REDBOOT_HOLDS_ESA_ETH1 {
201 display "RedBoot manages ESA for eth1"
209 # EOF nano_eth_drivers.cdl