]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - packages/devs/eth/rltk/8139/v2_0/cdl/rltk_8139_eth_drivers.cdl
Initial revision
[karo-tx-redboot.git] / packages / devs / eth / rltk / 8139 / v2_0 / cdl / rltk_8139_eth_drivers.cdl
1 # ====================================================================
2 #
3 #       rltk_8139_eth_drivers.cdl
4 #
5 #       RealTek 8139 ethernet driver
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):      Eric Doenges
44 # Original data:
45 # Contributors:
46 # Date:           2003-07-16
47 #
48 #####DESCRIPTIONEND####
49 #
50 # ====================================================================
51
52 cdl_package CYGPKG_DEVS_ETH_RLTK_8139 {
53     display       "RealTek 8139 ethernet driver"
54     description   "Ethernet driver for RealTek 8139 controller."
55
56     parent        CYGPKG_IO_ETH_DRIVERS
57     active_if     CYGPKG_IO_ETH_DRIVERS
58     active_if     CYGINT_DEVS_ETH_RLTK_8139_REQUIRED
59
60     implements    CYGINT_IO_ETH_MULTICAST
61
62     include_dir   cyg/devs/eth
63
64     # SNMP demands to know stuff; this sadly makes us break the neat
65     # abstraction of the device having nothing exported.
66     # include_files include/8139_info.h
67     # and tell them that it is available
68     define_proc {
69             puts $::cdl_system_header \
70       "#define CYGBLD_DEVS_ETH_DEVICE_H <pkgconf/devs_eth_rltk_8139.h>"
71
72       puts $::cdl_header "#include CYGDAT_DEVS_ETH_RLTK_8139_CFG";
73     }
74
75     compile       -library=libextras.a if_8139.c
76
77     cdl_component CYGPKG_DEVS_ETH_RLTK_8139_SHARE_INTERRUPTS {
78       display "Share interrupt with other devices"
79       default_value 1
80       description "
81         If this option is enabled, the driver does not assume that it is
82         in sole possession of the interrupt pin used by the 8139."
83
84       cdl_option CYGPKG_DEVS_ETH_RLTK_8139_MASK_INTERRUPTS_IN_8139 {
85         display "Mask 8139 interrupts on chip"
86         default_value 1
87         description "
88           If this option is enabled, the driver masks interrupts in the 8139's
89           status register, and does not mask the interrupt vector. This is
90           only useful if the 8139 must share it's interrupt line with other
91           devices."
92       }
93     }
94
95     cdl_option CYGDBG_DEVS_ETH_RLTK_8139_CHATTER {
96       display "Print debugging messages"
97       default_value 0
98       description   "
99         If this option is set, a lot of debugging messages are printed
100         to the console to help debug the driver."
101     }
102
103 #    cdl_component CYGDBG_DEVS_ETH_RLTK_8139_KEEP_STATISTICS {
104 #       display "Keep Ethernet statistics"
105 #       default_value 1
106 #       description   "
107 #           The ethernet device can maintain statistics about the network,
108 #           specifically a great variety of error rates which are useful
109 #           for network management.  SNMP for example uses this
110 #           information.  There is some performance cost in maintaining
111 #           this information; disable this option to recoup that."
112
113 #       cdl_option CYGDBG_DEVS_ETH_RLTK_8139_KEEP_8139_STATISTICS {
114 #           display "Keep RealTek 8139 internal statistics"
115 #           default_value 1
116 #           description   "
117 #               The i82559 keeps internal counters, and it is possible to
118 #               acquire these.  But the i82559 (reputedly) does not service
119 #               the network whilst uploading the data to RAM from its
120 #               internal registers.  If throughput is a problem, disable
121 #               this option to acquire only those statistics gathered by
122 #               software, so that the i82559 never sleeps."
123 #       }
124 #    }
125
126 #    cdl_component CYGPKG_DEVS_ETH_RLTK_8139_WRITE_EEPROM {
127 #       display "SIOCSIFHWADDR records MAC address in EEPROM"
128 #       default_value 0
129 #       description   "
130 #           The ioctl() socket call with operand SIOCSIFHWADDR sets the
131 #           interface hardware address - the MAC address or ethernet
132 #           address.  This option causes the new MAC address to be written
133 #           into the EEPROM associated with the interface, so that the new
134 #           MAC address is permanently recorded.  Doing this should be a
135 #           carefully chosen decision, hence this option."
136 #    }
137
138     cdl_option CYGNUM_DEVS_ETH_RLTK_8139_RX_BUF_LEN_IDX {
139         display       "Size of the receive ring"
140         flavor  data
141                                 legal_values  0 to 2
142         default_value { CYGPKG_REDBOOT ? 0 : 2 }
143         define        RX_BUF_LEN_IDX
144         description   "
145                 The 8139 stores all received packets in a single 'rx ring'
146                 located somewhere in physical memory. The size of this ring
147                 can be varied from ~8k to ~64k; however the driver currently
148                 supports a maximum buffer size of only ~32k (so we can use
149                 the 8139's WRAP mode). The actual buffer size is
150                 8192<<x + 16 + 1536 bytes, with x being the value of this
151                 option."
152     }
153
154     cdl_component CYGPKG_DEVS_ETH_RLTK_8139_OPTIONS {
155         display "RealTek 8139 ethernet driver build options"
156         flavor  none
157               no_define
158
159         cdl_option CYGPKG_DEVS_ETH_RLTK_8139_CFLAGS_ADD {
160             display "Additional compiler flags"
161             flavor  data
162             no_define
163             default_value { "-D_KERNEL -D__ECOS" }
164             description   "
165                 This option modifies the set of compiler flags for
166                 building the RealTek 8139 ethernet driver package. These
167                 flags are used in addition to the set of global flags."
168         }
169     }
170 }
171 # EOF rltk_8139_eth_drivers.cdl