Subject: Re: [PATCH v6 0/3] netdev/of/phy: MDIO bus multiplexer support.

From: David Daney <[email-masked]>
Date: Fri, 18 May 2012 15:03:20 -0700

On 05/18/2012 02:42 PM, Tabi Timur-B04825 wrote:
> On Wed, May 2, 2012 at 8:16 PM, David Daney<[email-masked]>  wrote:
>> From: David Daney<[email-masked]>
>>
>> This code has been working well for about six months on a couple of
>> different configurations (boards), so I thought it would be a good
>> time to send it out again, and I hope get it on the path towards
>> merging.
>
> David,
>
> I'm trying to implement this feature on our boards, which don't use
> GPIOs but rather a memory-mapped FPGA.  I control the mux by setting
> some bits in one of the FPGA registers.

You can either:

1) write a standard GPIO driver for the thing that controls the mux, and 
then use mdio-mux-gpio.c, or...

2) Write a new driver modeled on mdio-mux-gpio.c for your switch control.

>
> Do you have a real device tree I can use as an example?
>

Attached.

> I'm not sure what the "parent" MDIO bus node is supposed to represent.
>   Is that that device that actually controls the muxing hardware

No.  It is the device that implements the master 802.3 clause {22,45} 
MDIO Station Management (STA) protocol.

>, which in our case would be the FPGA?

I have no idea what your FPGA implements, so it is hard to say.

A sane person would implement a separate MDIO STA controller for each 
bus, in which case you wouldn't use the multiplexer driver.

Only people dealing with insane hardware need the multiplexer.  The 
patch in net-next has a nice ASCII art picture of such an insane design.

David Daney