net: mdio-mux: Add MDIO mux driver for iProc SoCs

iProc based SoCs supports the integrated mdio multiplexer which
has the bus selection as well as mdio transaction generation logic
inside.

This multiplexer has child buses for PCIe, SATA, USB and ETH. These
buses could be internal or external to SOC where PHYs are attached.
These buses could use C-45 or C-22 mdio transaction.

Signed-off-by: Pramod Kumar <pramod.kumar@broadcom.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Pramod Kumar
2016-06-10 11:03:49 +05:30
committed by David S. Miller
parent 5f1a067bfa
commit 98bc865a1e
3 changed files with 260 additions and 0 deletions

View File

@@ -254,6 +254,17 @@ config MDIO_BUS_MUX_MMIOREG
Currently, only 8-bit registers are supported.
config MDIO_BUS_MUX_BCM_IPROC
tristate "Support for iProc based MDIO bus multiplexers"
depends on OF && OF_MDIO && (ARCH_BCM_IPROC || COMPILE_TEST)
select MDIO_BUS_MUX
default ARCH_BCM_IPROC
help
This module provides a driver for MDIO bus multiplexers found in
iProc based Broadcom SoCs. This multiplexer connects one of several
child MDIO bus to a parent bus. Buses could be internal as well as
external and selection logic lies inside the same multiplexer.
config MDIO_BCM_UNIMAC
tristate "Broadcom UniMAC MDIO bus controller"
depends on HAS_IOMEM