summaryrefslogtreecommitdiff
path: root/drivers/net
Commit message (Collapse)AuthorAgeLines
* NET: lan91c96: Correct chip detect logicYanjun Yang2011-01-18-1/+1
| | | | | | | The lan91c96_detect_chip routine is not correct according to the manual. Signed-off-by: YanJun Yang <yangyj.ee@gmail.com>
* LAN91C*: Change chip names to fit the eth_device struct sizeYanjun Yang2011-01-10-2/+2
| | | | | | | | The eth_device.name field length is limited by NAMESIZE, which is 16 defined in include/net.h. Unfortunately, two of the names in lan91c96.c are beyond that. Signed-off-by: YanJun Yang <yangyj.ee@gmail.com>
* ftgmac100: support of gigabit eth ftgmac100Macpaul Lin2011-01-09-0/+826
| | | | | | | Add Faraday's ftgmac100 (gigabit ethernet) MAC controller's driver. Signed-off-by: Macpaul Lin <macpaul@andestech.com>
* miiphy: convert to linux/mii.hMike Frysinger2011-01-09-148/+145
| | | | | | | | The include/miiphy.h header duplicates a lot of things from linux/mii.h. So punt all the things that overlap to keep the API simple and to make merging between U-Boot and Linux simpler. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Merge branch 'master' of ../master into nextWolfgang Denk2010-12-16-20/+6
|\
| * tsec: Revert to setting TBICR_ANEG_ENABLE by default for SGMIIKumar Gala2010-12-13-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following commit: commit 46e91674fb4b6d06c6a4984c0b5ac7d9a16923f4 Author: Peter Tyser <ptyser@xes-inc.com> Date: Tue Nov 3 17:52:07 2009 -0600 tsec: Force TBI PHY to 1000Mbps full duplex in SGMII mode Removed setting Auto-Neg by default, however this is believed to be proper default configuration for initialization of the TBI interface. Instead we explicitly set CONFIG_TSEC_TBICR_SETTINGS for the XPedite5370 & XPedite5500 boards that use a Broadcomm PHY which require Auto-Neg to be disabled to function properly. This addresses a breakage on the P2020 DS & MPC8572 DS boards when used with an SGMII riser card. We also remove setting CONFIG_TSEC_TBICR_SETTINGS on the P1_P2_RDB family of boards as now the default setting is sufficient for them. Additionally, we clean up the code a bit to remove an unnecessary second define. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Acked-by: Peter Tyser <ptyser@xes-inc.com> Tested-by: Peter Tyser <ptyser@xes-inc.com>
| * Merge branch 'master' of git://git.denx.de/u-boot-imxWolfgang Denk2010-12-09-15/+2
| |\
| | * imx: Get fec mac address from fuseLiu Hui-R643432010-11-21-15/+2
| | | | | | | | | | | | | | | | | | | | | The patch is to support getting FEC MAC address from fuse bank. Signed-off-by: Jason Liu <r64343@freescale.com> Tested-by: Stefano Babic <sbabic@denx.de>
* | | da850: Add RMII support for EMACSudhakar Rajashekhara2010-11-30-1/+40
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is a port of the work by Sudhakar Rajeshekhara in commit ab3effbcad8851cc65dc5241a01c064d2030a3b2 of git://arago-project.org/git/people/sandeep/u-boot-davinci.git. The da850 UI board has on it an RMII PHY which can be used if the MDC line to the MII PHY on the baseboard is disabled and the RMII PHY is enabled by configuring the values of some GPIO pins on the IO expander of the UI board. This patch implements disabling that line via GPIO2[6], configuring the UI board's IO expander and setting only the pinmux settings that are needed for RMII operation. Tested on da850evm by adding a define for CONFIG_DRIVER_TI_EMAC_USE_RMII. Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com> Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca> CC: Sandeep Paulraj <s-paulraj@ti.com> CC: Ben Warren <biggerbadderben@gmail.com> CC: Mike Frysinger <vapier@gentoo.org> CC: Sughosh Ganu <urwithsughosh@gmail.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* | 824x: Cleanup for partial linking and --gc-sectionsWolfgang Denk2010-11-27-3/+7
| | | | | | | | | | Signed-off-by: Wolfgang Denk <wd@denx.de> Acked-by: Stefan Roese <sr@denx.de>
* | e1000: fix compile warningWolfgang Denk2010-11-26-1/+2
| | | | | | | | | | | | | | | | | | Get rid of compiler warning: e1000.c: In function 'e1000_transmit': e1000.c:5028: warning: passing argument 1 of 'virt_to_phys' discards qualifiers from pointer target type Signed-off-by: Wolfgang Denk <wd@denx.de> Acked-by: Stefan Roese <sr@denx.de>
* | GRETH: removed space in network driver device name.Daniel Hellstrom2010-11-18-2/+2
| | | | | | | | Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* | GRETH: fixed 2 decriptor table typosDaniel Hellstrom2010-11-18-2/+2
| | | | | | | | Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* | GRETH: Added extra RESET, this is needed if GRETH was stopped during an ↵Daniel Hellstrom2010-11-18-0/+10
| | | | | | | | | | | | ethernet frame reception. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* | GRETH: Added autodetection of PHY address, or let BSP hardcode it.Daniel Hellstrom2010-11-18-23/+55
| | | | | | | | Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* | GRETH: made debug printouts use common debug() macro.Daniel Hellstrom2010-11-18-41/+25
| | | | | | | | Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* | GRETH: removed unneccesary register write and one clean up.Daniel Hellstrom2010-11-18-3/+1
| | | | | | | | Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* | net: e1000: typo using wrong argument to sizeofMatthew McClintock2010-11-17-1/+1
| | | | | | | | | | | | Typo from 4b29bdb0ed08412d225a8be94f61fc6c37a59dd5 Signed-off-by: Matthew McClintock <msm@freescale.com>
* | Switch from archive libraries to partial linkingSebastien Carlier2010-11-17-4/+4
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | Before this commit, weak symbols were not overridden by non-weak symbols found in archive libraries when linking with recent versions of binutils. As stated in the System V ABI, "the link editor does not extract archive members to resolve undefined weak symbols". This commit changes all Makefiles to use partial linking (ld -r) instead of creating library archives, which forces all symbols to participate in linking, allowing non-weak symbols to override weak symbols as intended. This approach is also used by Linux, from which the gmake function cmd_link_o_target (defined in config.mk and used in all Makefiles) is inspired. The name of each former library archive is preserved except for extensions which change from ".a" to ".o". This commit updates references accordingly where needed, in particular in some linker scripts. This commit reveals board configurations that exclude some features but include source files that depend these disabled features in the build, resulting in undefined symbols. Known such cases include: - disabling CMD_NET but not CMD_NFS; - enabling CONFIG_OF_LIBFDT but not CONFIG_QE. Signed-off-by: Sebastien Carlier <sebastien.carlier@gmail.com>
* net: e1000: Add initialized eth_device & e1000_hw structureKumar Gala2010-11-14-0/+14
| | | | | | | | | | | | | | nic and hw structures are allocated via malloc i.e. return memory is not zero initialized. Because of this few structure member like "function pointers" are initialized with garbage values. It may cause problem. for eg. during eth_initialize, dev->write_hwaddr is used. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Fixed typo. Signed-off-by: Wolfgang Denk <wd@denx.de>
* net: uli526x: Add initialized eth_device structureNobuhiro Iwamatsu2010-11-14-0/+5
| | | | | | | | | uli526x driver does not have write_hwaddr function. However, eth stuff executes write_hwaddr function because eth_device structure has not been initialized. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> CC: Ben Warren <biggerbadderben@gmail.com>
* net: tsi108_eth: Add initialized eth_device structureNobuhiro Iwamatsu2010-11-14-1/+5
| | | | | | | | | tsi108_eth driver does not have write_hwaddr function. However, eth stuff executes write_hwaddr function because eth_device structure has not been initialized. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> CC: Ben Warren <biggerbadderben@gmail.com>
* net: pcnet: Add initialized eth_device structureNobuhiro Iwamatsu2010-11-14-0/+5
| | | | | | | | | pcnet driver does not have write_hwaddr function. However, eth stuff executes write_hwaddr function because eth_device structure has not been initialized. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> CC: Ben Warren <biggerbadderben@gmail.com>
* net: ns8382x: Add initialized eth_device structureNobuhiro Iwamatsu2010-11-14-0/+5
| | | | | | | | | ns8382x driver does not have write_hwaddr function. However, eth stuff executes write_hwaddr function because eth_device structure has not been initialized. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> CC: Ben Warren <biggerbadderben@gmail.com>
* net: natsemi: Add initialized eth_device structureNobuhiro Iwamatsu2010-11-14-0/+5
| | | | | | | | | natsemi driver does not have write_hwaddr function. However, eth stuff executes write_hwaddr function because eth_device structure has not been initialized. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> CC: Ben Warren <biggerbadderben@gmail.com>
* net: fec_mxc: Add initialized eth_device structureNobuhiro Iwamatsu2010-11-14-0/+1
| | | | | | | This prevents access to the member of eth_device which is not initialized. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> CC: Ben Warren <biggerbadderben@gmail.com>
* net: eepro100: Add initialized eth_device structureNobuhiro Iwamatsu2010-11-14-0/+5
| | | | | | | | | eepro100 driver does not have write_hwaddr function. However, eth stuff executes write_hwaddr function because eth_device structure has not been initialized. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> CC: Ben Warren <biggerbadderben@gmail.com>
* net: dc2114x: Add initialized eth_device structureNobuhiro Iwamatsu2010-11-14-0/+6
| | | | | | | | | dc2114x driver does not have write_hwaddr function. However, eth stuff executes write_hwaddr function because eth_device structure has not been initialized. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> CC: Ben Warren <biggerbadderben@gmail.com>
* net: rtl8139: Add initialized eth_device structureNobuhiro Iwamatsu2010-11-14-0/+5
| | | | | | | | | rtl8139 driver does not have write_hwaddr function. However, eth stuff executes write_hwaddr function because eth_device structure has not been initialized. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> CC: Ben Warren <biggerbadderben@gmail.com>
* net: rtl8169: Add initialized eth_device structureNobuhiro Iwamatsu2010-11-14-0/+5
| | | | | | | | | rtl8169 does not have write_hwaddr function. However, eth stuff executes write_hwaddr function because eth_device structure has not been initialized. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> CC: Ben Warren <biggerbadderben@gmail.com>
* Replace CONFIG_RELOC_FIXUP_WORKS by CONFIG_NEEDS_MANUAL_RELOCWolfgang Denk2010-10-29-1/+1
| | | | | | | | | | | By now, the majority of architectures have working relocation support, so the few remaining architectures have become exceptions. To make this more obvious, we make working relocation now the default case, and flag the remaining cases with CONFIG_NEEDS_MANUAL_RELOC. Signed-off-by: Wolfgang Denk <wd@denx.de> Tested-by: Heiko Schocher <hs@denx.de> Tested-by: Reinhard Meyer <u-boot@emk-elektronik.de>
* Fix compile warning in uli526x driverKumar Gala2010-10-20-2/+3
| | | | | | | | uli526x.c: In function 'uli526x_init_one': uli526x.c:314:2: warning: dereferencing type-punned pointer will break strict-aliasing rules uli526x.c:314:2: warning: dereferencing type-punned pointer will break strict-aliasing rules Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* drivers/net/fec_mxc.c: write mac address in initJohn Rigby2010-10-19-0/+3
| | | | | | | | Call fec_set_hwaddr in init routine to setup MAC address so when ethaddr is set late via setenv the change will propagate to the hw. Signed-off-by: John Rigby <john.rigby@linaro.org> CC: Ben Warren <biggerbadderben@gmail.com>
* Merge branch 'master' of git://git.denx.de/u-boot-armWolfgang Denk2010-10-13-7/+15
|\
| * at91_emac.c: poll for IDLE when writing PHYAndreas Bießmann2010-10-05-2/+14
| | | | | | | | | | | | | | This patch replaces the unnecessary waiting in at91emac_read() and at91emac_write() by checking the IDLE flag. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
| * at91_emac.c: fix 'Warning: eth device name has a space!'Andreas Bießmann2010-10-05-5/+1
| | | | | | | | | | | | | | This patch also removes conditional nameing of at91_emac driver whether it's connection to PHY is RMII or MII. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
* | smc91111: add write_hwaddrThomas Chou2010-10-11-16/+24
| | | | | | | | | | | | | | | | | | Add smc_write_hwaddr() to set mac address. Clear dev before use. Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Acked-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* | davinci_emac: davinci_eth_set_mac_addr to ->write_hwaddrBen Gardiner2010-10-11-41/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch proposes to migrate the davinci_emac driver to using the eth_device->write_hwaddr function pointer as suggested by Ben Warren. All the davinci boards had the behaviour, prior to this patch, of sync'ing the environment variable enetaddr with the MAC address read from non-volatile storage on boot -- when the two locations disagreed, the environment variable value took precendence. This patch keeps the same behaviour but lets eth_initialize take care of it. This patch refactors davinci_emac setup in the boards so that the MAC address is read from non-volatile storage into the environment variable and then the environment variable value is use in eth_intialize. The only exception is the direct call to davinci_eth_set_mac_addr made by the da830evm board init which was changed into an assignment of the enetaddr field. Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca> Tested-by: Nick Thompson <nick.thompson@ge.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* | net: Move Emaclite to NET_MULTIMichal Simek2010-10-11-37/+47
| | | | | | | | | | | | | | | | Emaclite was using old net api that's why this patch move emaclite to NET_MULTI api. Signed-off-by: Michal Simek <monstr@monstr.eu> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* | net: Fix emaclite driver to support little-endian microblazeMichal Simek2010-10-11-2/+2
| | | | | | | | | | | | | | Support New emaclite AXI IP. Signed-off-by: Michal Simek <monstr@monstr.eu> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* | mpc5xxx_fec: add call to reset_phy() after PHY initializationIlya Yanok2010-10-11-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | Some boards need their board-specific PHY quirks to be called to PHY to work normally. As mpc5xxx_fec driver uses on demand PHY initialization and can even reinit PHY during normal operation we can't count on reset_phy() call from arch/<arch>/lib/board.c (it is most likely called _before_ we init the PHY from the driver) so we need to add call to reset_phy() directly in the driver. Signed-off-by: Ilya Yanok <yanok@emcraft.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* | drivers/net/at91_emac.c: change return valuesAndreas Bießmann2010-10-11-9/+9
| | | | | | | | | | | | | | | | | | Some return values pretended correct pass. This patch changes them according to README.drivers.net. This patch changes e.g. command 'dhcp' to stop after errorneous autonegotiation. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* | drivers/net/at91_emac.c: increase timeout for autonegotiationAndreas Bießmann2010-10-11-1/+1
| | | | | | | | | | | | | | | | This patch increases timeout for autonegotiation from 1 second to 3 seconds. Some boards (e.g. at91rm9200ek) did not negotiate within 1 second. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* | NET: add ENC28J60 driver using SPI frameworkReinhard Meyer2010-10-11-0/+1230
| | | | | | | | | | | | | | | | | | | | V3: further refinements: - use priv member instead of container method - allow setting of MAC address by write_hwaddr method - avoid shutting down link between commands Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* | NET: move legacy enc28j60.c to sidetrack as enc28j60_lpc2292.cReinhard Meyer (-VC)2010-10-11-1/+2
|/ | | | | | | | | | | | This patch is required before the upcoming new enc28j60 driver using SPI framework patch can be applied: - Move legacy enc28j60.c to enc28j60_lpc2292.c. - Change Makefile and the two affected boards' definition files. Tested with ./MAKEALL ARM7 that both boards still compile. Signed-off-by: Reinhard Meyer<info@emk-elektronik.de> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Blackfin: bfin_mac: convert from old style MMR macrosMike Frysinger2010-10-02-32/+36
| | | | | | | The old MMR defines are being scrubbed, so convert the driver to use the new standard helper macros. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ppc4xx: Big header cleanup, mostly PPC440 relatedStefan Roese2010-09-23-2/+1
| | | | | | | | | | | This patch starts a bit PPC4xx header cleanup. First patch mostly touches PPC440 files. A later patch will touch the PPC405 files as well. This cleanup is done by creating header files for all SoC versions and moving the SoC specific defines into these special headers. This way the common header ppc405.h and ppc440.h can be cleaned up finally. Signed-off-by: Stefan Roese <sr@denx.de>
* ppc4xx: Move ppc4xx headers to powerpc include directoryStefan Roese2010-09-23-3/+3
| | | | | | | | | This patch moves some ppc4xx related headers from the common include directory (include/) to the powerpc specific one (arch/powerpc/include/asm/). This way to common include directory is not so cluttered with files. Signed-off-by: Stefan Roese <sr@denx.de>
* Fix compile warnings for const correctnessBen Warren2010-08-09-5/+6
| | | | | | | | | | | Commit 6e37b1a3a25004d3df5867de49fff6b3fc9c4f04 modifies several net calls to take a (const char *) parameter instead of (char *), but in some cases the modified functions call other functions taking (char *). The end result is warnings about discarding the const qualifier. This patch fixes these other function signatures. Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* miiphy: constify device nameMike Frysinger2010-08-09-40/+40
| | | | | | | The driver name does not need to be writable, so constify it. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>