On 10.09.2023 00:16, Andrew Lunn wrote:
Please trim the text when replying.
I'm writing below as a mix of patch log and discussion.
Phylink bindings are required for ports that are controlled by OF-based
buses. DSA, like any other driver utilising the Linux MDIO infrastructure,
can register a bus. If I understand correctly, non-OF-based registration of
OpenFirmware MDIO buses is a feature specific to DSA which certain DSA
subdrivers make use of.
This is not really DSA specific. Any MAC driver, or MDIO driver, can
call mdiobus_regsiter(), or of_mdiobus_register() and pass a NULL
pointer if there is no OF node available. It then requires that the
MAC driver uses an function like phy_find_first(), or knows via other
means what address the PHY uses on the bus. For DSA, that other means
is assuming a 1:1 mapping between port number and bus address.
Understood. At least a phy-handle on the DSA user port for each PHY
controlled by non-DSA drivers is always needed correct? Otherwise DSA
wouldn't know which PHY to map the DSA switch port?
And that means DSA requires OF-based buses to map the ports controlled
by non-DSA driver buses to PHYs?
I'm trying to understand if phylink bindings for DSA user ports that are
controlled by non-DSA driver buses are always necessary.
Would this also apply to MAC drivers that control switches?
Arınç