linux/drivers/net/phy
David Daney 0ca2997d14 netdev/of/phy: Add MDIO bus multiplexer support.
This patch adds a somewhat generic framework for MDIO bus
multiplexers.  It is modeled on the I2C multiplexer.

The multiplexer is needed if there are multiple PHYs with the same
address connected to the same MDIO bus adepter, or if there is
insufficient electrical drive capability for all the connected PHY
devices.

Conceptually it could look something like this:

                   ------------------
                   | Control Signal |
                   --------+---------
                           |
 ---------------   --------+------
 | MDIO MASTER |---| Multiplexer |
 ---------------   --+-------+----
                     |       |
                     C       C
                     h       h
                     i       i
                     l       l
                     d       d
                     |       |
     ---------       A       B   ---------
     |       |       |       |   |       |
     | PHY@1 +-------+       +---+ PHY@1 |
     |       |       |       |   |       |
     ---------       |       |   ---------
     ---------       |       |   ---------
     |       |       |       |   |       |
     | PHY@2 +-------+       +---+ PHY@2 |
     |       |                   |       |
     ---------                   ---------

This framework configures the bus topology from device tree data.  The
mechanics of switching the multiplexer is left to device specific
drivers.

The follow-on patch contains a multiplexer driven by GPIO lines.

Signed-off-by: David Daney <david.daney@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-05-07 22:58:09 -04:00
..
Kconfig netdev/of/phy: Add MDIO bus multiplexer support. 2012-05-07 22:58:09 -04:00
Makefile netdev/of/phy: Add MDIO bus multiplexer support. 2012-05-07 22:58:09 -04:00
amd.c phy: add am79c874 PHY support 2012-03-19 18:02:05 -04:00
bcm63xx.c net:phy:bcm63xx: remove unnecessary code 2012-04-03 19:02:00 -04:00
broadcom.c drivers/net: Remove boolean comparisons to true/false 2012-02-13 00:47:40 -05:00
cicada.c
davicom.c net:phy:davicom: remove unnecessary code 2012-04-03 19:02:00 -04:00
dp83640.c dp83640: Support the get_ts_info ethtool method. 2012-04-04 05:28:45 -04:00
dp83640_reg.h ptp: Added a clock driver for the National Semiconductor PHYTER. 2011-05-23 13:10:23 -07:00
et1011c.c
fixed.c phy/fixed: use an unique MDIO bus name. 2012-01-10 16:35:02 -08:00
icplus.c icplus: fix interrupt for IC+ 101A/G and 1001LF 2012-04-19 15:34:18 -04:00
lxt.c
marvell.c net:phy:marvell: remove unnecessary code 2012-04-03 19:02:00 -04:00
mdio-bitbang.c mdio-gpio: Add reset functionality to mdio-gpio driver(v2). 2011-11-15 16:56:17 -05:00
mdio-gpio.c irq_domain/x86: Convert x86 (embedded) to use common irq_domain 2012-02-23 14:37:47 -07:00
mdio-mux.c netdev/of/phy: Add MDIO bus multiplexer support. 2012-05-07 22:58:09 -04:00
mdio-octeon.c mdio-octeon: use an unique MDIO bus name. 2012-01-10 16:35:02 -08:00
mdio_bus.c netdev/of/phy: New function: of_mdio_find_bus(). 2012-05-07 22:58:09 -04:00
micrel.c
national.c net/phy: fix DP83865 phy interrupt handler 2011-08-26 12:48:24 -04:00
phy.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
phy_device.c Remove useless get_driver()/put_driver() calls 2012-01-24 16:00:35 -08:00
qsemi.c
realtek.c drivers/net: Add module.h to drivers who were implicitly using it 2011-10-31 19:31:07 -04:00
smsc.c net: phy: smsc: Move SMSC PHY constants to <linux/smscphy.h> 2012-01-03 20:23:18 -05:00
spi_ks8995.c net: Remove redundant spi driver bus initialization 2012-04-13 13:13:38 -04:00
ste10Xp.c
vitesse.c phylib: Modify Vitesse RGMII skew settings 2011-10-19 15:59:45 -04:00