[PATCH 2/3] netdev/of/phy: Add MDIO bus multiplexer support.
Andy Fleming
afleming at gmail.com
Sat Sep 10 09:22:32 EST 2011
On Wed, Aug 31, 2011 at 3:01 PM, David Daney <david.daney at cavium.com> wrote:
> 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 at 1 +-------+ +---+ PHY at 1 |
> | | | | | |
> --------- | | ---------
> --------- | | ---------
> | | | | | |
> | PHY at 2 +-------+ +---+ PHY at 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.
It's amazing how various companies' board designers have come up with
the same brain-dead PHY topologies. We (Freescale) have some similar
code in our tree, but it's not this generically applicable.
>
> Signed-off-by: David Daney <david.daney at cavium.com>
> Cc: Grant Likely <grant.likely at secretlab.ca>
> Cc: "David S. Miller" <davem at davemloft.net>
Looks good to me.
Acked-by: Andy Fleming <afleming at freescale.com>
More information about the devicetree-discuss
mailing list