1 2005-06-27 Stefan Sommerfeld <sommerfeld@mikrom.com>
3 * src/if_lan91cxx.c: Changed some debug messages to output right
5 * src/if_lan91cxx.c: 32bit mode can now be selected is correctly
6 working. The old implementation truncated some data.
7 * cdl/smsc_lan91cxx_eth_drivers.cdl: Added CDL to control if
8 16 or 32 bit access is used.
10 2005-06-12 Yoshinori Sato <ysato@users.sourceforge.jp>
12 * src/if_lan91cxx.c: Reset the physical layer before configuring
13 it, otherwise it might not work.
15 2005-01-24 Nick Garnett <nickg@ecoscentric.com>
17 * src/if_lan91cxx.c (lan91cxx_send): Rewrote parts of transmit
18 machinery to deal with odd sized message buffers. The TCP/IP stack
19 generates these in rare circumstances.
21 2005-01-21 Nick Garnett <nickg@ecoscentric.com>
23 * src/smsc_lan91cxx.h:
25 Rewrote parts of receive machinery to properly deal with 32 bit
26 wide access to the device. The original code didn't quite work.
27 Switched all calls the HAL_DELAY_US() to CYGACC_CALL_IF_DELAY_US().
28 Various small changes to debugging code.
30 2004-12-01 Nick Garnett <nickg@ecoscentric.com>
32 * src/if_lan91cxx.c (lan91cxx_start): Added option to force speed
33 negotiation to 10MHz. Some embedded boards cannot handle 100MHz.
34 Generally added some small improvements to debugging messages.
36 2004-05-22 Andrew Dyer <adyer@righthandtech.com>
38 * src/if_lan91cxx.c: Fail initialization if no device found.
40 2004-01-07 Uwe Kindler <ukindler@htwm.de>
42 * src/if_lan91cxx.c: Fail initialization if no link found.
44 2004-01-06 Andrew Lunn <andrew.lunn@ascom.ch>
46 * cdl/smsc_lan91cxx_eth_drivers.cdl:
47 * src/if_lan91cxx.c (smsc_lan91cxx_init): Allow the interrupt
48 priority to be overrode by the HW specific part of the driver.
50 2003-12-19 Gary Parnes <garyp@logicpd.com>
52 * src/smsc_lan91cxx.h (get_banksel): Allow this function to be
55 2003-12-10 Uwe Kindler <uwe_kindler@web.de>
57 * src/if_lan91cxx.c: Add some missing endian swapping calls.
59 2003-12-05 Nick Garnett <nickg@calivar.com>
61 * src/if_lan91cxx.c: Added support for revA of the LAN91C111 which
62 has a bug. Fixed up debugging messages so that it uses serial
65 2003-03-03 Patrick Doyle <wpd@delcomsys.com>
68 * src/if_lan91cxx.c (smsc_lan91cxx_init): Reworked to support
69 flash, CDL, and eeprom ESA assignment, in that priority.
71 * cdl/smsc_lan91cxx_eth_drivers.cdl: Added comment indicating that
72 use of the CYGINT_DEVS_ETH_SMSC_LAN91CXX_STATIC_ESA interface is
75 2003-02-26 Yoshinori Sato <ysato@users.sourceforge.jp>
77 * src/smsc_lan91cxx.h: Support big endian arch.
78 * src/if_lan91cxx.c: Support big endian arch.
80 2002-08-28 Mark Salter <msalter@redhat.com>
82 * src/smsc_lan91cxx.h: Support 32-bit data reads.
83 * src/if_lan91cxx.c: Fix standalone (RedBoot) interrupt handling.
84 Support 32-bit data reads.
86 2002-08-16 Mark Salter <msalter@redhat.com>
88 * src/if_lan91cxx.c: Add support for 91C111. Platform-specific
89 include file is now included from within smsc_lan91cxx.h so
90 that register access functions may be overridden if necessary.
91 * src/smsc_lan91cxx.h: Ditto.
93 2002-06-14 Gary Thomas <gary@chez-thomas.org>
96 Need to include <pkgconf/io_eth_drivers.h> for proper configuration
97 of stand-alone (polled) vs. system (interrupt driven) mode.
99 2001-12-12 Hugo Tyson <hmt@redhat.com>
101 * src/if_lan91cxx.c (lan91cxx_recv): If discarding data due to
102 caller out of buffers, we must read-out and discard the packet to
103 correctly complete the transaction. Bogus assert for buffer
104 pointer removed; other asserts from not discarding data assuaged
105 by first change above.
107 2001-08-17 Hugo Tyson <hmt@redhat.com>
109 * src/if_lan91cxx.c (lan91cxx_poll): The interrupt acknowledge
110 call only occurs in the ISR for this driver because the interrupt
111 via GPIO is edge triggered. We now also acknowledge the interrupt
112 within the poll() routine - otherwise RedBoot net use never acks!
113 Which doesn't matter if the app uses the net, but in a net-free
114 app, it near enough wedges in the resulting interrupt loop.
116 2001-08-13 Hugo Tyson <hmt@redhat.com>
118 * src/smsc_lan91cxx.h (get_att,put_att): Condition out the inline
119 functions if not CYGINT_DEVS_ETH_SMSC_LAN91CXX_PCMCIA_MODE -
120 because they don't compile. Inlines are not like macros.
122 2001-07-27 Jordi Colomer <jco@ict.es>
124 * cdl/smsc_lan91cxx_eth_drivers.cdl:
125 Add interface for whether the hardware is in PCMCIA mode.
126 * src/if_lan91cxx.c (smsc_lan91cxx_init):
127 Allow for hardware shift addresses
128 Initialize appropriately if PCMCIA mode.
129 * src/smsc_lan91cxx.h:
130 Support address shifts in get_reg,put_Reg, get_data, put_data
131 Add new functions get_banksel , put_att and get_att.
133 2001-07-11 Hugo Tyson <hmt@redhat.com>
135 * src/if_lan91cxx.c (lan91cxx_stop): Clean up any pending tx both
136 to prevent mbuf leak due to noncompletion, and to clear tx_busy so
137 that the newly upbrung device can be used.
138 (lan91cxx_can_send): Similarly detect a stopped tx engine and
139 restart it, and clean up any pending tx, in here. Otherwise the
140 system cannot progress.
142 2001-03-27 Hugo Tyson <hmt@redhat.com>
143 2001-03-27 Robin Farine <acnrf@dial.eunet.ch>
145 * src/if_lan91cxx.c (lan91cxx_start): Strip the CRC from
148 2001-01-26 Hugo Tyson <hmt@redhat.com>
150 * src/smsc_lan91cxx.h (smsc_lan91cxx_stats): Add stats structure.
152 * src/if_lan91cxx.c (lan91cxx_control): Implement ioctl() call for
153 SNMP statistics gathering. Implement stats counting generally.
155 2001-01-25 Hugo Tyson <hmt@redhat.com>
157 * cdl/smsc_lan91cxx_eth_drivers.cdl
158 (CYGSEM_DEVS_ETH_SMSC_LAN91CXX_WRITE_EEPROM): New option to
159 control whether the IOCTL to set the ESA actually writes the
160 EEPROM. Default disabled for safety.
161 (CYGINT_DEVS_ETH_SMSC_LAN91CXX_STATIC_ESA): New interface controls
162 whether a statically configured ESA is picked up from private data.
164 * src/smsc_lan91cxx.h (LAN91CXX_CONFIG): Add this, plus
165 (LAN91CXX_CONTROL_EEPROM_SELECT): et al for EEPROM writing.
167 * src/if_lan91cxx.c (lan91cxx_control): Implement updating the
168 EEPROM with the new ESA, if so configured. Otherwise just set the
169 ESA in the device and continue, using the new value.
170 (smsc_lan91cxx_init): Obey the STATIC_ESA interface setting to use the
171 EEPROM or device data for the ESA.
173 Removed some never-compiled, never-used stuff for getting an ESA
174 out of RedBoot's flash storage.
176 2001-01-25 Hugo Tyson <hmt@redhat.com>
178 * cdl/smsc_lan91cxx_eth_drivers.cdl: This generic driver does not
179 implement CYGHWR_NET_DRIVER_ETH0 et al; the instantiating package
182 2001-01-24 Hugo Tyson <hmt@redhat.com>
184 * src/if_lan91cxx.c (lan91cxx_start): Implement promiscuous mode.
185 This just involves setting a bit in ..._start() if certain
186 interface flags are set. Also import a couple of other details
187 under #ifdef CYGPKG_NET from the i82559 driver for safety.
189 2001-01-24 Hugo Tyson <hmt@redhat.com>
191 * src/if_lan91cxx.c (DEBUG): Refined debug output, for trying it
192 in RedBoot experiments.
194 2001-01-22 Hugo Tyson <hmt@redhat.com>
196 * src/smsc_lan91cxx.h: New file.
197 * src/if_lan91cxx.c: New file.
198 * cdl/smsc_lan91cxx_eth_drivers.cdl: New file.
199 New component. Based on previous work [mis]named, in the same
200 idiom, lan900. Hence this new component with a better name. A
201 major rewrite too, to make the new one work with LAN91C96,
204 //===========================================================================
205 //####ECOSGPLCOPYRIGHTBEGIN####
206 // -------------------------------------------
207 // This file is part of eCos, the Embedded Configurable Operating System.
208 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
209 // Copyright (C) 2005 eCosCentric Ltd.
211 // eCos is free software; you can redistribute it and/or modify it under
212 // the terms of the GNU General Public License as published by the Free
213 // Software Foundation; either version 2 or (at your option) any later version.
215 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
216 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
217 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
220 // You should have received a copy of the GNU General Public License along
221 // with eCos; if not, write to the Free Software Foundation, Inc.,
222 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
224 // As a special exception, if other files instantiate templates or use macros
225 // or inline functions from this file, or you compile this file and link it
226 // with other works to produce a work based on this file, this file does not
227 // by itself cause the resulting work to be covered by the GNU General Public
228 // License. However the source code for this file must still be made available
229 // in accordance with section (3) of the GNU General Public License.
231 // This exception does not invalidate any other reasons why a work based on
232 // this file might be covered by the GNU General Public License.
234 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
235 // at http://sources.redhat.com/ecos/ecos-license/
236 // -------------------------------------------
237 //####ECOSGPLCOPYRIGHTEND####
238 //===========================================================================