Re: [PATCH 2/3] netdev/of/phy: Add MDIO bus multiplexer support.
From: Andy Fleming <hidden>
Date: 2011-09-09 23:22:34
Also in:
linux-devicetree, linux-mips, lkml
On Wed, Aug 31, 2011 at 3:01 PM, David Daney [off-list ref] 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@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.
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 <redacted> Cc: Grant Likely <redacted> Cc: "David S. Miller" <davem@davemloft.net>
Looks good to me. Acked-by: Andy Fleming <redacted>