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.