11 Jun, 2016

1 commit

  • An integrated multiplexer uses same address space for
    "muxed bus selection" and "generation of mdio transaction"
    hence its good to register parent bus from mux driver.

    Hence added a mechanism where mux driver could register a
    parent bus and pass it down to framework via mdio_mux_init api.

    Signed-off-by: Pramod Kumar
    Reviewed-by: Andrew Lunn
    Reviewed-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Pramod Kumar
     

08 May, 2012

1 commit

  • 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
    Signed-off-by: David S. Miller

    David Daney