[PATCH v6 0/3] netdev/of/phy: MDIO bus multiplexer support.
David Daney
ddaney.cavm at gmail.com
Fri May 25 04:50:26 EST 2012
On 05/24/2012 11:28 AM, Timur Tabi wrote:
> David Daney wrote:
>> Yes. You may note in the DTS file I attached in the parent (sorry for
>> the fubar mime types), that there are two, almost identical, MDIO
>> masters. smi0 has two directly attached PHYs. smi1 goes to the mux,
>> and each child of the mux has four attached PHYs.
>
> I'm till have trouble understanding all this. I'm just hacking things up
> in order to help me understand it, but it's a slow and painful process.
>
> This call in mdio_mux_init() is failing:
>
> parent_bus = of_mdio_find_bus(parent_bus_node);
>
Well, the MDIO bus must have an associated device tree node.
For my OCTEON code, the MDIO bus device is created as a result of the
call to of_platform_bus_probe(), which takes care of filling in all the
device tree nodes of the devices it finds and creates.
> It returns NULL. Here is my MDIO node:
>
> fman0: fman at 400000 {
> enet0: ethernet at e0000 {
> tbi-handle =<&tbi0>;
> phy-handle =<&phy0>;
> phy-connection-type = "sgmii";
> };
>
> mdio0: mdio at e1120 {
> gpios =<&gpio0 0 0
> &gpio0 1 0>;
>
> tbi0: tbi-phy at 8 {
> reg =<0x8>;
> device_type = "tbi-phy";
> };
>
> phy0: ethernet-phy at 1c {
> reg =<0x1c>;
> };
> };
> };
>
> What am I missing?
For starters, I do not see any compatible properties that would allow
the proper drivers to be bound to anything.
Also I see no MDIO mux node there, so it is unclear why you are even
asking these questions.
David Daney
More information about the devicetree-discuss
mailing list