G'day All,

Prior to submitting a patch I'd just like to get an idea on what the correct way is to create and register an mdio bus for use by the marvell dsa driver. On our system the cpu ethernet port is connected directly to a switch with a fixed link (1Gbit). So the driver needs to create and persist the mdio bus for the dsa driver using of_mdiobus_register. The trunk stmmac driver currently doesn't create the mdio bus if a fixed link is found.
stmmac_probe_config_dt does hte following check.
    if (plat->phy_node || plat->phy_bus_name)
        plat->mdio_bus_data = NULL;
phy_node is set because a fixed-link is found above and setting mdio_bus_data to null skips mdio bus creation.
removing the phy_node check gets things working.

I've also modified stmmac_mdio_register to use of_mdiobus_register and setup the dt to probe for a phy (that doesn't really exist, the switch is on the mdio). This cause a fair bit of log spamming but does seem to work as the switch is detected.
eg: eth0: PHY ID 00000000 at 27 IRQ POLL (stmmac-0:1b)
Currently if no phy is found the mdio bus gets de registered so this seems to be required.

In summary what is the correct way to make sure the mdio bus stays registered when a fixed-link is in use?
Am I configuring the link to the switch incorrectly?


Phil


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to