OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [devs/] [eth/] [cl/] [cs8900a/] [current/] [cdl/] [cl_cs8900a_eth_drivers.cdl] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
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 Free Software Foundation, 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
16
## version.
17
##
18
## eCos is distributed in the hope that it will be useful, but WITHOUT
19
## ANY 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
24
## along with eCos; if not, write to the Free Software Foundation, Inc.,
25
## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
26
##
27
## As a special exception, if other files instantiate templates or use
28
## macros or inline functions from this file, or you compile this file
29
## and link it with other works to produce a work based on this file,
30
## this file does not by itself cause the resulting work to be covered by
31
## the GNU General Public License. However the source code for this file
32
## must still be made available in accordance with section (3) of the GNU
33
## General Public License v2.
34
##
35
## This exception does not invalidate any other reasons why a work based
36
## on this file might be covered by the GNU General Public License.
37
## -------------------------------------------
38
## ####ECOSGPLCOPYRIGHTEND####
39
# ====================================================================
40
######DESCRIPTIONBEGIN####
41
#
42
# Author(s):      gthomas
43
# Contributors:   gthomas, jskov
44
# Date:           2001-11-02
45
#
46
#####DESCRIPTIONEND####
47
#
48
# ====================================================================
49
 
50
cdl_package CYGPKG_DEVS_ETH_CL_CS8900A {
51
    display       "Driver for Cirrus Logic CS8900A ethernet controller."
52
 
53
    parent        CYGPKG_IO_ETH_DRIVERS
54
    active_if     CYGPKG_IO_ETH_DRIVERS
55
 
56
    implements    CYGHWR_NET_DRIVERS
57
    implements    CYGINT_IO_ETH_MULTICAST
58
 
59
    active_if     CYGINT_DEVS_ETH_CL_CS8900A_REQUIRED
60
 
61
    include_dir   cyg/io
62
    description   "Driver for Cirrus Logic CS8900A ethernet controller."
63
    compile       -library=libextras.a if_cs8900a.c
64
 
65
    define_proc {
66
        puts $::cdl_header "#include ";
67
        puts $::cdl_header "#include CYGDAT_DEVS_ETH_CL_CS8900A_CFG";
68
    }
69
 
70
    cdl_option CYGSEM_DEVS_ETH_CL_CS8900A_WRITE_EEPROM {
71
        display "SIOCSIFHWADDR records ESA (MAC address) in EEPROM"
72
        default_value 0
73
        description   "
74
            The ioctl() socket call with operand SIOCSIFHWADDR sets the
75
            interface hardware address - the MAC address or Ethernet Station
76
            Address (ESA).  This option causes the new MAC address to be written
77
            into the EEPROM associated with the interface, so that the new
78
            MAC address is permanently recorded.  Doing this should be a
79
            carefully chosen decision, hence this option."
80
    }
81
 
82
    cdl_option CYGIMP_DEVS_ETH_CL_CS8900A_DATABUS_8BIT {
83
        display "8-bit data bus"
84
        flavor        bool
85
        requires      !CYGSEM_DEVS_ETH_CL_CS8900A_WRITE_EEPROM
86
        requires      CYGSEM_DEVS_ETH_CL_CS8900A_NOINTS
87
        default_value 0
88
        description   "
89
            The CS8900A can been use in 8-bit mode. From AN181 from
90
            Cirrus Logic... Unsupported functions in 8-bit mode:
91
            Interrupts are not supported. Polled mode must be used;
92
            The DMA engine only uses 16 bit memory access and does not
93
            support 8 bit transfers; The packet page pointer has an
94
            auto increment feature that cannot be used in 8-bit mode;
95
            An EEPROM is not supported."
96
    }
97
 
98
    cdl_option CYGIMP_DEVS_ETH_CL_CS8900A_DATABUS_BYTE_SWAPPED {
99
        display "Byte swapped data bus"
100
        flavor  bool
101
        default_value 0
102
        description   "
103
                    From the application note AN205 from Cirrus Logic ...The CS8900a
104
                        assumes a litte-endian ISA type system. However, network byte order
105
                        is always big-endian.Therefore to minimize software manipulation of
106
                        frame data in ISA systems, the CS8900 byte-swaps frame data
107
                        internally. The control and status registers are not byte-swapped.
108
                        In a big-endian system you can either byte-swap the network data
109
                        (to reverse the byte swapping done internally to the CS8900) in
110
                        software or you can do it in hardware (byte swap the data lines to
111
                        the chip). Byte swapping the data lines is much more efficient; you
112
                will only need to byte swap the control/status/counter values in
113
                        software and not the frame data. (Most of the read/writes to the chip
114
                        are frame data.) Since network byte order is always big endian, this
115
                    scheme works without special support on the other end of the network...
116
                        Normally, you won't need to check this option unless you are using a
117
                        CS8900a ethernet controller with a big endian machine and hardware
118
                        that has been designed with the cs8900a in mind."
119
    }
120
 
121
    cdl_component CYGPKG_DEVS_ETH_CL_CS8900A_OPTIONS {
122
        display "Cirrus Logic ethernet driver build options"
123
        flavor  none
124
        no_define
125
 
126
        cdl_option CYGPKG_DEVS_ETH_CL_CS8900A_CFLAGS_ADD {
127
            display "Additional compiler flags"
128
            flavor  data
129
            no_define
130
            default_value { "-D_KERNEL -D__ECOS" }
131
            description   "
132
                This option modifies the set of compiler flags for
133
                building the Cirrus Logic ethernet driver package.
134
                These flags are used in addition
135
                to the set of global flags."
136
        }
137
    }
138
}
139
 

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.