2005-06-27 Stefan Sommerfeld * src/if_lan91cxx.c: Changed some debug messages to output right hex syntax (0x....) * src/if_lan91cxx.c: 32bit mode can now be selected is correctly working. The old implementation truncated some data. * cdl/smsc_lan91cxx_eth_drivers.cdl: Added CDL to control if 16 or 32 bit access is used. 2005-06-12 Yoshinori Sato * src/if_lan91cxx.c: Reset the physical layer before configuring it, otherwise it might not work. 2004-05-22 Andrew Dyer * src/if_lan91cxx.c: Fail initialization if no device found. 2004-01-07 Uwe Kindler * src/if_lan91cxx.c: Fail initialization if no link found. 2004-01-06 Andrew Lunn * cdl/smsc_lan91cxx_eth_drivers.cdl: * src/if_lan91cxx.c (smsc_lan91cxx_init): Allow the interrupt priority to be overrode by the HW specific part of the driver. 2003-12-19 Gary Parnes * src/smsc_lan91cxx.h (get_banksel): Allow this function to be overridden. 2003-12-10 Uwe Kindler * src/if_lan91cxx.c: Add some missing endian swapping calls. 2003-12-05 Nick Garnett * src/if_lan91cxx.c: Added support for revA of the LAN91C111 which has a bug. Fixed up debugging messages so that it uses serial output in RedBoot. 2003-03-03 Patrick Doyle * src/smsc_lan91cxx.h * src/if_lan91cxx.c (smsc_lan91cxx_init): Reworked to support flash, CDL, and eeprom ESA assignment, in that priority. * cdl/smsc_lan91cxx_eth_drivers.cdl: Added comment indicating that use of the CYGINT_DEVS_ETH_SMSC_LAN91CXX_STATIC_ESA interface is deprecated. 2003-02-26 Yoshinori Sato * src/smsc_lan91cxx.h: Support big endian arch. * src/if_lan91cxx.c: Support big endian arch. 2002-08-28 Mark Salter * src/smsc_lan91cxx.h: Support 32-bit data reads. * src/if_lan91cxx.c: Fix standalone (RedBoot) interrupt handling. Support 32-bit data reads. 2002-08-16 Mark Salter * src/if_lan91cxx.c: Add support for 91C111. Platform-specific include file is now included from within smsc_lan91cxx.h so that register access functions may be overridden if necessary. * src/smsc_lan91cxx.h: Ditto. 2002-06-14 Gary Thomas * src/if_lan91cxx.c: Need to include for proper configuration of stand-alone (polled) vs. system (interrupt driven) mode. 2001-12-12 Hugo Tyson * src/if_lan91cxx.c (lan91cxx_recv): If discarding data due to caller out of buffers, we must read-out and discard the packet to correctly complete the transaction. Bogus assert for buffer pointer removed; other asserts from not discarding data assuaged by first change above. 2001-08-17 Hugo Tyson * src/if_lan91cxx.c (lan91cxx_poll): The interrupt acknowledge call only occurs in the ISR for this driver because the interrupt via GPIO is edge triggered. We now also acknowledge the interrupt within the poll() routine - otherwise RedBoot net use never acks! Which doesn't matter if the app uses the net, but in a net-free app, it near enough wedges in the resulting interrupt loop. 2001-08-13 Hugo Tyson * src/smsc_lan91cxx.h (get_att,put_att): Condition out the inline functions if not CYGINT_DEVS_ETH_SMSC_LAN91CXX_PCMCIA_MODE - because they don't compile. Inlines are not like macros. 2001-07-27 Jordi Colomer * cdl/smsc_lan91cxx_eth_drivers.cdl: Add interface for whether the hardware is in PCMCIA mode. * src/if_lan91cxx.c (smsc_lan91cxx_init): Allow for hardware shift addresses Initialize appropriately if PCMCIA mode. * src/smsc_lan91cxx.h: Support address shifts in get_reg,put_Reg, get_data, put_data Add new functions get_banksel , put_att and get_att. 2001-07-11 Hugo Tyson * src/if_lan91cxx.c (lan91cxx_stop): Clean up any pending tx both to prevent mbuf leak due to noncompletion, and to clear tx_busy so that the newly upbrung device can be used. (lan91cxx_can_send): Similarly detect a stopped tx engine and restart it, and clean up any pending tx, in here. Otherwise the system cannot progress. 2001-03-27 Hugo Tyson 2001-03-27 Robin Farine * src/if_lan91cxx.c (lan91cxx_start): Strip the CRC from incoming frames. 2001-01-26 Hugo Tyson * src/smsc_lan91cxx.h (smsc_lan91cxx_stats): Add stats structure. * src/if_lan91cxx.c (lan91cxx_control): Implement ioctl() call for SNMP statistics gathering. Implement stats counting generally. 2001-01-25 Hugo Tyson * cdl/smsc_lan91cxx_eth_drivers.cdl (CYGSEM_DEVS_ETH_SMSC_LAN91CXX_WRITE_EEPROM): New option to control whether the IOCTL to set the ESA actually writes the EEPROM. Default disabled for safety. (CYGINT_DEVS_ETH_SMSC_LAN91CXX_STATIC_ESA): New interface controls whether a statically configured ESA is picked up from private data. * src/smsc_lan91cxx.h (LAN91CXX_CONFIG): Add this, plus (LAN91CXX_CONTROL_EEPROM_SELECT): et al for EEPROM writing. * src/if_lan91cxx.c (lan91cxx_control): Implement updating the EEPROM with the new ESA, if so configured. Otherwise just set the ESA in the device and continue, using the new value. (smsc_lan91cxx_init): Obey the STATIC_ESA interface setting to use the EEPROM or device data for the ESA. Removed some never-compiled, never-used stuff for getting an ESA out of RedBoot's flash storage. 2001-01-25 Hugo Tyson * cdl/smsc_lan91cxx_eth_drivers.cdl: This generic driver does not implement CYGHWR_NET_DRIVER_ETH0 et al; the instantiating package does. 2001-01-24 Hugo Tyson * src/if_lan91cxx.c (lan91cxx_start): Implement promiscuous mode. This just involves setting a bit in ..._start() if certain interface flags are set. Also import a couple of other details under #ifdef CYGPKG_NET from the i82559 driver for safety. 2001-01-24 Hugo Tyson * src/if_lan91cxx.c (DEBUG): Refined debug output, for trying it in RedBoot experiments. 2001-01-22 Hugo Tyson * src/smsc_lan91cxx.h: New file. * src/if_lan91cxx.c: New file. * cdl/smsc_lan91cxx_eth_drivers.cdl: New file. New component. Based on previous work [mis]named, in the same idiom, lan900. Hence this new component with a better name. A major rewrite too, to make the new one work with LAN91C96, specifically. //=========================================================================== //####ECOSGPLCOPYRIGHTBEGIN#### // ------------------------------------------- // This file is part of eCos, the Embedded Configurable Operating System. // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. // // eCos is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2 or (at your option) any later version. // // eCos is distributed in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License // for more details. // // You should have received a copy of the GNU General Public License along // with eCos; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. // // As a special exception, if other files instantiate templates or use macros // or inline functions from this file, or you compile this file and link it // with other works to produce a work based on this file, this file does not // by itself cause the resulting work to be covered by the GNU General Public // License. However the source code for this file must still be made available // in accordance with section (3) of the GNU General Public License. // // This exception does not invalidate any other reasons why a work based on // this file might be covered by the GNU General Public License. // // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc. // at http://sources.redhat.com/ecos/ecos-license/ // ------------------------------------------- //####ECOSGPLCOPYRIGHTEND#### //===========================================================================