summaryrefslogtreecommitdiff
path: root/drivers/net
Commit message (Collapse)AuthorAgeLines
* ppc4xx/net: Fix MDIO clock setupFelix Radensky2009-06-08-4/+6
| | | | | | | | | | | | | This patch fixes MDIO clock setup in case when OPB frequency is 100MHz. Current code assumes that the value of sysinfo.freqOPB is 100000000 when OPB frequency is 100MHz. In reality it is 100000001. As a result MDIO clock is set to incorrect value, larger than 2.5MHz, thus violating the standard. This in not a problem on boards equipped with Marvell PHYs (e.g. Canyonlands), since those PHYs support MDIO clocks up to 8.3MHz, but can be a problem for other PHYs (e.g. Realtek ones). Signed-off-by: Felix Radensky <felix@embedded-sol.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* rtl8169: fix PCI system memory addressYoshihiro Shimoda2009-06-08-5/+8
| | | | | | | | When PCI device use system memory, some PCI host controller should be set physical memory address. Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* SMC911x driver fixed for NFS bootManikandan Pillai2009-06-08-1/+22
| | | | | | | | | | | | | | eth_halt() function in the smc911x drivers used to call the smc911x_reset() function. eth_halt() used to be called after tftp transfers. This used to put the ethernet chip in reset while the linux boots up resulting in the ethernet driver not coming up. NFS boot used to fail as a result. This patch calls smc911x_shutdown() instead of smc911x_reset(). Some comments received has also been fixed. Signed-off-by: Manikandan Pillai <mani.pillai@ti.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Add config option for disabling DM9000-SROM support.Remy Bohmer2009-06-08-8/+8
| | | | | | | | | | | | | | | Some boards do not have SROM support for the DM9000 network adapter. Instead of listing these board names in the driver code, make this option configurable from the board config file. It also removes a build warning for the at91sam9261ek board: 'dm9000x.c:545: warning: 'read_srom_word' defined but not used' And it repaires the trizepsiv board build which was broken around the same routines Signed-off-by: Remy Bohmer <linux@bohmer.net> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* smc911x: write back the manually set MAC addressDaniel Mack2009-06-07-2/+7
| | | | | | | | | If the MAX address is given by the environment, write it back to the hardware. Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* dm9000 EEPROM reading bugfixDavid Brownell2009-04-28-6/+6
| | | | | | | | | | | | Make the U-Boot dm9000 driver read addresses from EEPROM just like Linux does ... read six bytes, instead of reading twelve bytes and then discarding every other one. Using the right Ethernet address is a big win. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Acked-by: Ben Warren <biggerbadderben@gmail.com>
* rtl8169: fix cache coherency problemYoshihiro Shimoda2009-04-28-1/+10
| | | | | | | | Fix the problem that cannot access actual data when CPU data cache enabled. Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Tested-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Acked-by: Ben Warren <biggerbadderben@gmail.com>
* mpc52xx phy: initialize only when neededSascha Hauer2009-04-04-2/+9
| | | | | | | Do not initialize phy on startup, instead initialize it when we actually need it. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* cs8900 compile fixLadislav Michl2009-03-29-1/+1
| | | | | | | | | | | cs8900.c: In function 'eth_init': cs8900.c:164: warning: passing argument 2 of 'eth_getenv_enetaddr' from incompatible pointer type cs8900.c:165: error: invalid operands to binary << cs8900.c:166: error: invalid operands to binary << cs8900.c:167: error: invalid operands to binary << Signed-off-by: Ladislav Michl <ladis@linux-mips.org> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* at91: Support for the at91sam9g20 : Atmel 400Mhz ARM 926ej-s SOC.Nicolas Ferre2009-03-22-2/+2
| | | | | | | | | | | | | | AT91sam9g20 is an evolution of the at91sam9260 with a faster clock speed. The AT91SAM9G20-EK board is an updated revision of the AT91SAM9260-EK board. It is essentially the same, with a few minor differences. Here is the chip page on Atmel website: http://www.atmel.com/dyn/products/product_card.asp?part_id=4337 Signed-off-by: Justin Waters <justin.waters@timesys.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* lan91c96/smc91111/smc911x: get mac address from environmentMike Frysinger2009-03-20-132/+29
| | | | | | | | | | | | | | | | | The environment is the canonical storage location of the mac address, so we're killing off the global data location and moving everything to querying the env directly. Also, do not bother checking the EEPROM if the env is setup. This simplifies the code greatly. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Wolfgang Dnek <wd@denx.de> CC: Ben Warren <biggerbadderben@gmail.com> CC: Rolf Offermanns <rof@sysgo.de> CC: Erik Stahlman <erik@vt.edu> CC: Daris A Nevil <dnevil@snmc.com> CC: Sascha Hauer <s.hauer@pengutronix.de>
* sh_eth: get mac address from environmentMike Frysinger2009-03-20-22/+6
| | | | | | | | | | | | | | The environment is the canonical storage location of the mac address, so we're killing off the global data location and moving everything to querying the env directly. The sh_eth driver can also be simplified a bit by using enetaddr member of the eth_device structure. Signed-off-by: Mike Frysinger <vapier@gentoo.org> CC: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> CC: Carlos Munoz <carlos@kenati.com> CC: Ben Warren <biggerbadderben@gmail.com>
* cs8900: get mac address from environmentMike Frysinger2009-03-20-40/+16
| | | | | | | | | | | | | The environment is the canonical storage location of the mac address, so we're killing off the global data location and moving everything to querying the env directly. The cs8900 driver also changes slightly in that the hardware is not consulted if the mac address in the env is sane. Signed-off-by: Mike Frysinger <vapier@gentoo.org> CC: Marius Groeger <mgroeger@sysgo.de> CC: Ben Warren <biggerbadderben@gmail.com>
* bcm570x: get mac address from environmentMike Frysinger2009-03-20-6/+7
| | | | | | | | | | | | | | The environment is the canonical storage location of the mac address, so we're killing off the global data location and moving everything to querying the env directly. Since the address is in the PLM_DEVICE_BLOCK structure already, there is no need to pass the NodeAddress as a second parameter. So drop the second argument to the LM_SetMacAddress() function (and update the tigon3 driver accordingly). Signed-off-by: Mike Frysinger <vapier@gentoo.org> CC: Ben Warren <biggerbadderben@gmail.com>
* drivers/net/: get mac address from environmentMike Frysinger2009-03-20-68/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The environment is the canonical storage location of the mac address, so we're killing off the global data location and moving everything to querying the env directly. The drivers that get converted here: 3c589 4xx_enet dc2114x dm9000x enc28j60 fsl_mcdmafec ks8695eth mcffec rtl8019 rtl8169 s3c4510b_eth xilinx_emac xilinx_emaclite Signed-off-by: Mike Frysinger <vapier@gentoo.org> CC: Ben Warren <biggerbadderben@gmail.com> CC: Rolf Offermanns <rof@sysgo.de> CC: Stefan Roese <sr@denx.de> CC: Sascha Hauer <saschahauer@web.de> CC: TsiChung Liew <Tsi-Chung.Liew@freescale.com> CC: Greg Ungerer <greg.ungerer@opengear.com> CC: Xue Ligong <lgxue@hotmail.com> CC: Masami Komiya <mkomiya@sonare.it> CC: Curt Brune <curt@cucy.com> CC: Michal SIMEK <monstr@monstr.eu>
* Blackfin: bfin_mac: force boards to setup the MAC themselvesMike Frysinger2009-03-20-9/+9
| | | | | | | | | Since the on-chip MAC does not have an eeprom or similar interface, force all Blackfin boards that use this driver to setup the board data with a proper MAC. Signed-off-by: Mike Frysinger <vapier@gentoo.org> CC: Ben Warren <biggerbadderben@gmail.com>
* net: sh_eth: Remove sh_eth_reset() from halt functionNobuhiro Iwamatsu2009-03-20-2/+0
| | | | | | | | | sh_eth_reset is function to reset Ether IP. The MAC address is stored in IP, but it is initialized by this function. OS (e.g. Linux Kernel) can not use this device when initialized. This revises this problem. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
* MPC5200 FEC MII speed registerJon Smirl2009-03-13-7/+16
| | | | | | Set a non-zero speed in the MII register so that MII commands will work. Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
* tsec: report when there is no vendor specific PHY supportPaul Gortmaker2009-03-09-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | Commit af1c2b84 added a generic phy support, with an ID of zero and a 32 bit mask; meaning that it will match on any PHY ID. The problem is that there is a test that checked if a matching PHY was found, and if not, it printed the non-matching ID. But since there will always be a match (on the generic PHY, worst case), this test will never trip. In the case of a misconfigured PHY address, or of a PHY that isn't explicitly supported outside of the generic support, you will never see the ID of 0xffffffff, or the ID of the real (but unsupported) chip. It will silently fall through onto the generic support. This change makes that test useful again, and ensures that the selection of generic PHY support doesn't happen without some sort of notice. It also makes it explicitly clear that the generic PHY must be last in the PHY table. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by: Andy Fleming <afleming@freescale.com>
* smc911x: split out useful defines/functions into local headerMike Frysinger2009-02-25-455/+496
| | | | | | | | | | | | | | The smc911x driver has a lot of useful defines/functions which can be used by pieces of code (such as example eeprom programmers). Rather than forcing each place to duplicate these defines/functions, split them out of the smdc911x driver into a local header. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Ben Warren <biggerbadderben@gmail.com> CC: Sascha Hauer <s.hauer@pengutronix.de> CC: Guennadi Liakhovetski <lg@denx.de> CC: Magnus Lilja <lilja.magnus@gmail.com> CC: Ben Warren <biggerbadderben@gmail.com>
* Added Vitesse VSC8211 definitions to TSEC driverPieter Henning2009-02-22-0/+30
| | | | | | | | Added the struct containing PHY settings for the Vitesse VSC8211 phy to the phy_info list in tsec.c Signed-off-by: Pieter Henning <phenning@vastech.co.za> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Coding Style cleanup; update CHANGELOGWolfgang Denk2009-02-22-1/+0
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* Merge branch 'master' of git://git.denx.de/u-boot-armWolfgang Denk2009-02-19-0/+563
|\
| * dnet: driver for Dave DNET ethernet controllerIlya Yanok2009-02-10-0/+563
| | | | | | | | | | | | | | | | Driver for Dave DNET ethernet controller (used on Dave/DENX QongEVB-LITE board). Signed-off-by: Ilya Yanok <yanok@emcraft.com> Acked-by: Ben Warren <biggerbadderben@gmail.com>
* | net: removed board-specific CONFIGs from MPC5xxx FEC driverBen Warren2009-02-09-25/+3
| | | | | | | | | | | | | | Added new CONFIG options for the three type of MAC-PHY interconnect and applied them all relevant board config files Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* | tsec: Fix a bug in soft-resettingAndy Fleming2009-02-09-0/+1
| | | | | | | | | | | | | | | | | | | | SOFT_RESET must be asserted for at least 3 TX clocks. Usually, that's about 30 clock cycles, so it's been mostly working. But we had no guarantee, and at slower bitrates, it's just over a microsecond (over 1000 clock cycles). This enforces a 2 microsecond gap between assertion and deassertion. Signed-off-by: Andy Fleming <afleming@freescale.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* | Fix 100Mbs ethernet operation on sh7763 based boardsSimon Munton2009-02-09-1/+1
| | | | | | | | | | | | | | | | 100Mbs ethernet does not work on sh7763 chips due to the wrong value being used in the GECMR register. Following diff fixes the problem Signed-off-by: Simon Munton <simon@nidoran.m5data.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* | Coldfire: mcfmii: Allow non-autonegotiating PHYs to use mii commandRichard Retanubun2009-02-06-8/+19
|/ | | | | | | | Modified mii_init to support boards with PHYs that are not set to autonegotiate, but still want to use u-boot's mii commands to probe the smi bus. Such PHYs will not set the Autonegotiate-done bit. Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com>
* Blackfin: bfin_mac: cleanup pointer/casts for aliasing issuesMike Frysinger2009-02-02-46/+34
| | | | | | | | Redo how pointers are managed to get rid of ugly casts and strict pointer aliasing issues that are highlighted by gcc 4.3. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Ben Warren <biggerbadderben@gmail.com>
* Blackfin: bfin_mac: convert CONFIG_BFIN_MAC_RMII to CONFIG_RMIIMike Frysinger2009-02-02-2/+2
| | | | | | | | No point in having a Blackfin-specific define "CONFIG_BFIN_MAC_RMII" that does exactly the same thing as common "CONFIG_RMII". Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Ben Warren <biggerbadderben@gmail.com>
* Blackfin: bfin_mac: use common debug()Mike Frysinger2009-02-02-11/+3
| | | | | | | Rather then defining our own DEBUGF(), just use the common debug(). Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Ben Warren <biggerbadderben@gmail.com>
* Blackfin: bfin_mac: respect CONFIG_PHY_{ADDR,CLOCK_FREQ}Mike Frysinger2009-02-02-5/+11
| | | | | | | | Rather than having the on-chip MAC hardcoded to phy address 1 and a speed of 2.5mhz, use these as defaults if the board doesn't specify otherwise. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Ben Warren <biggerbadderben@gmail.com>
* Blackfin: bfin_mac: cleanup MII/PHY functionsMike Frysinger2009-02-02-175/+134
| | | | | | | | Cleanup and rewrite the MII/PHY related functions so that we can reuse the existing common linux/miiphy.h code and hook into the `mii` command. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Ben Warren <biggerbadderben@gmail.com>
* Blackfin: bfin_mac: set MDCDIV based on SCLKMike Frysinger2009-02-02-5/+5
| | | | | | | | Rather than hardcoding MDCDIV to 24 (which is correct for ~125mhz SCLK), use the real algorithm so it gets set correctly regardless of SCLK. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Ben Warren <biggerbadderben@gmail.com>
* Merge branch 'master' of git://git.denx.de/u-boot-netWolfgang Denk2009-02-01-173/+310
|\
| * AVR32: macb - Search for PHY idGunnar Rangoy2009-01-28-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for searching through available PHY-addresses in the macb-driver. This is needed for the ATEVK1100 evaluation board, where the PHY-address will be initialized to either 1 or 7. This patch adds a config option, CONFIG_MACB_SEARCH_PHY, which when enabled tells the driver to search for the PHY address. Signed-off-by: Gunnar Rangoy <gunnar@rangoy.com> Signed-off-by: Paul Driveklepp <pauldriveklepp@gmail.com> Signed-off-by: Olav Morken <olavmrk@gmail.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| * Marvell 88E1118 interrupt fixRon Madrid2009-01-28-0/+4
| | | | | | | | | | | | | | | | This patch adjusts the LED control so that interrupt lines are not reading LEDs and effectively causing indefinite interrupts to the controller. Signed-off-by: Ron Madrid <ron_madrid@sbcglobal.net> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| * net: smc911x.c: Add LAN9211 to chip_ids[] arrayStefan Roese2009-01-28-0/+2
| | | | | | | | | | Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| * net: Sort Makefile labelsMichal Simek2009-01-28-2/+2
| | | | | | | | | | Signed-off-by: Michal Simek <monstr@monstr.eu> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| * sh: sh_eth: Change new network APINobuhiro Iwamatsu2009-01-24-134/+231
| | | | | | | | | | | | | | sh_eth used old network API. This patch changed new API. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| * net: smc911x: Make register read/write functions weakStefan Roese2009-01-24-37/+40
| | | | | | | | | | | | | | | | | | | | | | This patch changes the reg_read/_write to smc911x_reg_read/_write and defines then as weak so that they can be overridden by board specific version. This will be used by the upcoming VCTH board support. Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* | Blackfin: bfin_mac: update port muxingMike Frysinger2009-01-28-12/+35
| | | | | | | | | | | | Adds support more Blackfin parts and fixes broken muxing for older ones. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* | drivers/net/e1000.c: missing terminator for supported devicesStefan Althoefer2009-01-27-0/+1
|/ | | | Signed-off-by: Stefan Althoefer <stefan.althoefer@web.de>
* net: tsec: Fix Marvell 88E1121R phy initAnatolij Gustschin2008-12-04-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | This patch tries to ensure that phy interrupt pin won't be asserted after booting. We experienced following issues with current 88E1121R phy init: Marvell 88E1121R phy can be hardware-configured to share MDC/MDIO and interrupt pins for both ports P0 and P1 (e.g. as configured on socrates board). Port 0 interrupt pin will be shared by both ports in such configuration. After booting Linux and configuring eth0 interface, port 0 phy interrupts are enabled. After rebooting without proper eth0 interface shutdown port 0 phy interrupts remain enabled so any change on port 0 (link status, etc.) cause assertion of the interrupt. Now booting Linux and configuring eth1 interface will cause permanent phy interrupt storm as the registered phy 1 interrupt handler doesn't acknowledge phy 0 interrupts. This of course should be fixed in Linux driver too. Signed-off-by: Anatolij Gustschin <agust@denx.de> Acked-by: Andy Fleming <afleming@freescale.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* ColdFire: Add mii driver in drivers/netTsiChung Liew2008-11-09-17/+326
| | | | | | | All CF platforms' mii.c are consolidated into one Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Moved PPC4xx EMAC driver to drivers/netBen Warren2008-11-09-0/+2127
| | | | | | | Also changed path in all linker scripts that reference this driver Signed-off-by: Ben Warren <biggerbadderben@gmail.com> Acked-by: Stefan Roese <sr@denx.de>
* xilinx_emaclite buffer overrunClive Stubbings2008-11-09-1/+1
| | | | | | | | | Patch to fix buffer allocation size and alignment. Buffer needs to be u32 aligned and PKTSIZE_ALIGN bytes long. Acked-by: Michal Simek <monstr@monstr.eu> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Cleanup: fix "MHz" spellingWolfgang Denk2008-10-21-4/+4
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* Merge 'next' branchWolfgang Denk2008-10-18-143/+143
|\ | | | | | | | | | | | | | | | | Conflicts: board/freescale/mpc8536ds/mpc8536ds.c include/configs/mgcoge.h Signed-off-by: Wolfgang Denk <wd@denx.de>
| * rename CFG_ macros to CONFIG_SYSJean-Christophe PLAGNIOL-VILLARD2008-10-18-143/+143
| | | | | | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>