]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - packages/devs/eth/arm/nano/v2_0/cdl/nano_eth_drivers.cdl
Initial revision
[karo-tx-redboot.git] / packages / devs / eth / arm / nano / v2_0 / cdl / nano_eth_drivers.cdl
1 # ====================================================================
2 #
3 #      nano_eth_drivers.cdl
4 #
5 #      Ethernet drivers - support for i82559 ethernet controller
6 #      on the BSE nanoEngine board.
7 #
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.
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 version.
17 ##
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
21 ## for more details.
22 ##
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.
26 ##
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.
33 ##
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.
36 ##
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####
43 #
44 # Author(s):      jskov
45 # Contributors:   jskov, hmt
46 # Date:           2001-02-28
47 #
48 #####DESCRIPTIONEND####
49 #
50 # ====================================================================
51
52 cdl_package CYGPKG_DEVS_ETH_ARM_NANO {
53     display       "BSE nanoEngine ethernet driver"
54     description   "
55         Ethernet driver for BSE nanoEngine board with one or two Intel
56         i82559 Ethernet controllers attached via the BSE nanoBridge PCI
57         glue chip."
58
59     parent        CYGPKG_IO_ETH_DRIVERS
60     active_if     CYGPKG_IO_ETH_DRIVERS
61     active_if     CYGPKG_HAL_ARM_SA11X0_NANO
62
63     include_dir   cyg/io
64
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"
68     }
69
70     define_proc {
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  *****/"
75     }
76
77     cdl_component CYGPKG_DEVS_ETH_ARM_NANO_ETH0 {
78         display       "Nano ethernet port 0 driver"
79         flavor        bool
80         default_value 1
81         description   "
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."
86
87         implements CYGHWR_NET_DRIVERS
88         implements CYGHWR_NET_DRIVER_ETH0
89         implements CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED
90
91         cdl_option CYGDAT_DEVS_ETH_ARM_NANO_ETH0_NAME {
92             display       "Device name for the ethernet port 0 driver"
93             flavor        data
94             default_value {"\"eth0\""}
95             description   "
96                 This option sets the name of the ethernet device for the
97                 ethernet port 0."
98         }
99
100         cdl_component CYGSEM_DEVS_ETH_ARM_NANO_ETH0_SET_ESA {
101             display       "Set the ethernet station address"
102             flavor        bool
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."
109             
110             cdl_option CYGDAT_DEVS_ETH_ARM_NANO_ETH0_ESA {
111                 display       "The ethernet station address"
112                 flavor        data
113                 default_value {"{0x00, 0xB5, 0xE0, 0xB5, 0xE0, 0x11}"}
114                 description   "The ethernet station address"
115             }
116         }
117     }
118
119     cdl_component CYGPKG_DEVS_ETH_ARM_NANO_ETH1 {
120         display       "Nano ethernet port 1 driver"
121         flavor        bool
122         default_value 1
123         description   "
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."
127
128         implements CYGHWR_NET_DRIVERS
129         implements CYGHWR_NET_DRIVER_ETH1
130         implements CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED
131
132         cdl_option CYGDAT_DEVS_ETH_ARM_NANO_ETH1_NAME {
133             display       "Device name for the ethernet port 1 driver"
134             flavor        data
135             default_value {"\"eth1\""}
136             description   "
137                 This option sets the name of the ethernet device for the
138                 ethernet port 1."
139         }
140
141         cdl_component CYGSEM_DEVS_ETH_ARM_NANO_ETH1_SET_ESA {
142             display       "Set the ethernet station address"
143             flavor        bool
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."
150             
151             cdl_option CYGDAT_DEVS_ETH_ARM_NANO_ETH1_ESA {
152                 display       "The ethernet station address"
153                 flavor        data
154                 default_value {"{0x00, 0xB5, 0xE0, 0xB5, 0xE0, 0x12}"}
155                 description   "The ethernet station address"
156             }
157         }
158     }
159
160
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"
165         flavor          bool
166         default_value   1
167
168         active_if     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
169
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."
174
175         cdl_component CYGPKG_DEVS_ETH_I82559_ETH_REDBOOT_HOLDS_ESA_VARS {
176             display        "Build-in flash config fields for ESAs"
177             flavor         bool
178             default_value  1
179
180             active_if       CYGPKG_REDBOOT
181             active_if       CYGPKG_REDBOOT_FLASH
182             active_if       CYGSEM_REDBOOT_FLASH_CONFIG
183             active_if       CYGPKG_REDBOOT_NETWORKING
184
185             description "
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
193             RedBoot."
194         
195             cdl_option CYGVAR_DEVS_ETH_I82559_ETH_REDBOOT_HOLDS_ESA_ETH0 {
196                 display         "RedBoot manages ESA for eth0"
197                 flavor          bool
198                 default_value   1
199             }
200             cdl_option CYGVAR_DEVS_ETH_I82559_ETH_REDBOOT_HOLDS_ESA_ETH1 {
201                 display         "RedBoot manages ESA for eth1"
202                 flavor          bool
203                 default_value   1
204             }
205         }
206     }
207 }
208
209 # EOF nano_eth_drivers.cdl