linux/drivers/net/ethernet
Hauke Mehrtens 86f4ea63e6 b44: add phylib support
Most of the older home routers based on the Broadcom BCM47XX SoC series
are using a MAC that is supported by b44. On most of these routers not
the internal PHY of this MAC core is used, but a switch sometimes on an
external chip or integrated into the same SoC as the Ethernet core.
For this switch a special PHY driver is needed which should not be
integrated into b44 as the same switches are also used by other
Broadcom home networking SoCs which are using different Ethernet MAC
drivers. This was tested with the b53 switch driver which is currently
on its way to mainline.

If the internal PHY is not used, b44 will now search on the MDIO bus
for a phy and use the Linux phylib subsystem to register a driver.
Support for the internal PHY must stay here, because there are some
device which are suing the internal phy.

With this patch we scan the mdio bus when the sprom or nvram says that
the PHY address is 30, if a PHY was found at this address b44 uses it.

This was tested with a BCM4704, BCM4712 and BCM5354.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-12-20 20:48:48 -05:00
..
3com 3c59x: Add software timestamping 2013-12-19 14:32:52 -05:00
8390 net: eth: 8390: remove section warning in etherh.c 2013-12-12 14:02:20 -05:00
adaptec net: starfire: remove unnecessary pci_set_drvdata() 2013-10-18 00:03:28 -04:00
adi net: bfin_mac: do not reset PHY after phy_start() 2013-12-09 20:38:59 -05:00
aeroflex net: greth: use phy_read_status() 2013-12-09 20:38:58 -05:00
allwinner net: allwinner: emac: Add missing free_irq 2013-12-10 18:01:10 -05:00
alteon
amd ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
apple macmace: add missing platform_set_drvdata() in mace_probe() 2013-11-11 14:02:08 -05:00
arc arc_emac: remove custom "max-speed" parsing code 2013-12-06 14:57:21 -05:00
atheros alx: Reset phy speed after resume 2013-11-14 17:14:42 -05:00
broadcom b44: add phylib support 2013-12-20 20:48:48 -05:00
brocade bna: Update the Driver Version to 3.2.23.0 2013-12-18 00:30:34 -05:00
cadence net: macb: Fix build warning 2013-12-11 00:19:17 -05:00
calxeda net: calxedaxgmac: Fix panic caused by MTU change of active interface 2013-11-07 19:25:53 -05:00
chelsio net: cxgb4 calls skb_set_hash 2013-12-18 15:00:52 -05:00
cirrus net: ep93xx_eth: use dev_get_platdata() 2013-08-30 17:43:35 -04:00
cisco net: cisco-enic calls skb_set_hash 2013-12-18 15:00:52 -05:00
davicom Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-10-23 16:49:34 -04:00
dec net: tulip: use DEFINE_PCI_DEVICE_TABLE 2013-10-22 02:19:23 -04:00
dlink net: dl2k: remove unnecessary pci_set_drvdata() 2013-10-21 17:21:00 -04:00
emulex net: emulex-benet calls skb_set_hash 2013-12-18 15:00:52 -05:00
faraday drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent 2013-08-29 21:55:23 -04:00
freescale Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-12-18 16:42:06 -05:00
fujitsu net: fujitsu: Remove ISA depdendency from Kconfig 2013-10-07 15:52:54 -04:00
hp hp100: replace hardcoded name in /proc/interrupts with interface name 2013-09-27 17:38:32 -04:00
i825xx net:drivers/net: replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO 2013-11-07 03:01:59 -05:00
ibm ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
icplus net: icplus: remove unnecessary pci_set_drvdata() 2013-10-21 17:21:01 -04:00
intel Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-12-18 16:42:06 -05:00
marvell net: sky2 calls skb_set_hash 2013-12-18 15:00:52 -05:00
mellanox net/mlx4_core: Check port number for validity before accessing data 2013-12-19 19:04:44 -05:00
micrel Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2013-11-20 13:20:24 -08:00
microchip
moxa ethernet: moxa: remove duplicate includes 2013-10-21 18:46:45 -04:00
myricom net: myri10ge: remove unnecessary pci_set_drvdata() 2013-10-21 17:21:02 -04:00
natsemi net: ns83820: remove unnecessary pci_set_drvdata() 2013-12-09 18:09:28 -05:00
neterion net: vxge calls skb_set_hash 2013-12-18 15:00:53 -05:00
nuvoton drivers:net: delete premature free_irq 2013-09-04 13:18:19 -04:00
nvidia Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-12-09 20:20:14 -05:00
nxp DMA-API: net: nxp/lpc_eth: use dma_coerce_mask_and_coherent() 2013-10-31 14:48:56 +00:00
octeon Merge branch 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 07:55:21 +09:00
oki-semi ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
packetengines net: packetengines: remove unnecessary pci_set_drvdata() 2013-10-21 17:21:02 -04:00
pasemi ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
qlogic drivers: net: Mark functions as static in qlcnic_83xx_hw.c 2013-12-19 18:51:20 -05:00
rdc net: r6040: remove unnecessary pci_set_drvdata() 2013-10-22 02:11:52 -04:00
realtek net: 8139cp: fix a BUG_ON triggered by wrong bytes_compl 2013-11-29 16:18:23 -05:00
renesas sh_eth: do not reset PHY needlessly 2013-12-19 19:09:38 -05:00
seeq net: seeq: use dev_get_platdata() 2013-08-30 17:43:37 -04:00
sfc sfc: fix sparse non static symbol warning 2013-12-19 15:00:31 -05:00
sgi net:drivers/net: Miscellaneous conversions to ETH_ALEN 2013-10-02 17:04:45 -04:00
silan
sis net: sis900: remove unnecessary pci_set_drvdata() 2013-12-09 18:09:28 -05:00
smsc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-12-18 16:42:06 -05:00
stmicro drivers: net: Mark functions as static in stmmac_platform.c 2013-12-19 18:51:20 -05:00
sun net: sun-niu calls skb_set_hash 2013-12-18 15:00:53 -05:00
tehuti net: do not pretend FRAGLIST support 2013-12-02 17:16:29 -05:00
ti Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-12-18 16:42:06 -05:00
tile Merge branch 'siocghwtstamp' of git://git.kernel.org/pub/scm/linux/kernel/git/bwh/sfc-next 2013-12-05 19:45:14 -05:00
toshiba net: tc35815: use phy_init_hw for PHY reset 2013-12-09 20:38:59 -05:00
tundra ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
via via-velocity: fix netif_receive_skb use in irq disabled section. 2013-11-28 18:43:35 -05:00
wiznet net: w5100: use dev_get_platdata() 2013-08-30 17:43:38 -04:00
xilinx net: emaclite: add barriers to support Xilinx Zynq platform 2013-12-09 21:02:25 -05:00
xircom ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
xscale ixp4xx_eth: Implement the SIOCGHWTSTAMP ioctl 2013-11-21 17:17:48 +00:00
dnet.c
dnet.h
ethoc.c net: ethoc: use dev_get_platdata() 2013-08-30 17:43:35 -04:00
fealnx.c net: fealnx: remove unnecessary pci_set_drvdata() 2013-10-21 17:21:01 -04:00
jme.c net: jme: remove unnecessary pci_set_drvdata() 2013-10-21 17:21:01 -04:00
jme.h jme: Remove unused #define PFX 2013-11-07 02:14:32 -05:00
Kconfig
korina.c net:drivers/net: Miscellaneous conversions to ETH_ALEN 2013-10-02 17:04:45 -04:00
lantiq_etop.c ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
Makefile
netx-eth.c ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
s6gmac.c