]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - packages/devs/eth/cl/cs8900a/v2_0/cdl/cl_cs8900a_eth_drivers.cdl
Initial revision
[karo-tx-redboot.git] / packages / devs / eth / cl / cs8900a / v2_0 / cdl / cl_cs8900a_eth_drivers.cdl
1 # ====================================================================
2 #
3 #      cl_cs8900a_eth_drivers.cdl
4 #
5 #      Ethernet driver for Cirrus Logic CS8900A controller
6 #
7 # ====================================================================
8 #####ECOSGPLCOPYRIGHTBEGIN####
9 ## -------------------------------------------
10 ## This file is part of eCos, the Embedded Configurable Operating System.
11 ## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, 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 version.
16 ##
17 ## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
18 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 ## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
20 ## for more details.
21 ##
22 ## You should have received a copy of the GNU General Public License along
23 ## with eCos; if not, write to the Free Software Foundation, Inc.,
24 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
25 ##
26 ## As a special exception, if other files instantiate templates or use macros
27 ## or inline functions from this file, or you compile this file and link it
28 ## with other works to produce a work based on this file, this file does not
29 ## by itself cause the resulting work to be covered by the GNU General Public
30 ## License. However the source code for this file must still be made available
31 ## in accordance with section (3) of the GNU General Public License.
32 ##
33 ## This exception does not invalidate any other reasons why a work based on
34 ## this file might be covered by the GNU General Public License.
35 ##
36 ## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
37 ## at http://sources.redhat.com/ecos/ecos-license/
38 ## -------------------------------------------
39 #####ECOSGPLCOPYRIGHTEND####
40 # ====================================================================
41 ######DESCRIPTIONBEGIN####
42 #
43 # Author(s):      gthomas
44 # Contributors:   gthomas, jskov
45 # Date:           2001-11-02
46 #
47 #####DESCRIPTIONEND####
48 #
49 # ====================================================================
50
51 cdl_package CYGPKG_DEVS_ETH_CL_CS8900A {
52     display       "Driver for Cirrus Logic CS8900A ethernet controller."
53
54     parent        CYGPKG_IO_ETH_DRIVERS
55     active_if     CYGPKG_IO_ETH_DRIVERS
56
57     implements    CYGHWR_NET_DRIVERS
58     implements    CYGINT_IO_ETH_MULTICAST
59
60     active_if     CYGINT_DEVS_ETH_CL_CS8900A_REQUIRED
61
62     include_dir   cyg/io
63     description   "Driver for Cirrus Logic CS8900A ethernet controller."
64     compile       -library=libextras.a if_cs8900a.c
65
66     define_proc {
67         puts $::cdl_header "#include <pkgconf/system.h>";
68         puts $::cdl_header "#include CYGDAT_DEVS_ETH_CL_CS8900A_CFG";
69     }
70
71     cdl_option CYGSEM_DEVS_ETH_CL_CS8900A_WRITE_EEPROM {
72         display "SIOCSIFHWADDR records ESA (MAC address) in EEPROM"
73         default_value 0
74         description   "
75             The ioctl() socket call with operand SIOCSIFHWADDR sets the
76             interface hardware address - the MAC address or Ethernet Station
77             Address (ESA).  This option causes the new MAC address to be written
78             into the EEPROM associated with the interface, so that the new
79             MAC address is permanently recorded.  Doing this should be a
80             carefully chosen decision, hence this option."
81     }
82
83     cdl_option CYGIMP_DEVS_ETH_CL_CS8900A_DATABUS_BYTE_SWAPPED {
84         display "Byte swapped data bus"
85         flavor  bool
86         default_value 0
87         description   "
88                     From the application note AN205 from Cirrus Logic ...The CS8900a
89                         assumes a litte-endian ISA type system. However, network byte order
90                         is always big-endian.Therefore to minimize software manipulation of
91                         frame data in ISA systems, the CS8900 byte-swaps frame data
92                         internally. The control and status registers are not byte-swapped.
93                         In a big-endian system you can either byte-swap the network data
94                         (to reverse the byte swapping done internally to the CS8900) in
95                         software or you can do it in hardware (byte swap the data lines to
96                         the chip). Byte swapping the data lines is much more efficient; you
97                 will only need to byte swap the control/status/counter values in
98                         software and not the frame data. (Most of the read/writes to the chip
99                         are frame data.) Since network byte order is always big endian, this
100                     scheme works without special support on the other end of the network...
101                         Normally, you won't need to check this option unless you are using a
102                         CS8900a ethernet controller with a big endian machine and hardware
103                         that has been designed with the cs8900a in mind."
104     }
105
106     cdl_component CYGPKG_DEVS_ETH_CL_CS8900A_OPTIONS {
107         display "Cirrus Logic ethernet driver build options"
108         flavor  none
109         no_define
110
111         cdl_option CYGPKG_DEVS_ETH_CL_CS8900A_CFLAGS_ADD {
112             display "Additional compiler flags"
113             flavor  data
114             no_define
115             default_value { "-D_KERNEL -D__ECOS" }
116             description   "
117                 This option modifies the set of compiler flags for
118                 building the Cirrus Logic ethernet driver package.
119                 These flags are used in addition
120                 to the set of global flags."
121         }
122     }
123 }
124