The main part of this series is adding handling of the clkout controls some of the mscc phys have and while at it Andrew asked for some of the duplicated probe functionality to be factored out into a common function. A working config on rockchip/rk3368-lion for example now looks like: &gmac { status = "okay"; mdio { compatible = "snps,dwmac-mdio"; #address-cells = <1>; #size-cells = <0>; phy0: phy@0 { compatible = "ethernet-phy-id0007.0570"; reg = <0>; assigned-clocks = <&phy0>, <&cru SCLK_MAC>; assigned-clock-rates = <125000000>, <125000000>; assigned-clock-parents = <0>, <&phy0>; clock-output-names = "ext_gmac"; #clock-cells = <0>; vsc8531,edge-slowdown = <7>; vsc8531,led-0-mode = <1>; vsc8531,led-1-mode = <2>; }; }; }; changes in v5: - added Andrew's Rb for patch 1 - modified clkout handling to be a clock-provider to fit into the existing clock structures changes in v4: - fix missing variable initialization in one probe function changes in v3: - adapt to 5.8 merge-window results - introduce a more generic enet-phy-property instead of using a vsc8531,* one - suggested by Andrew changes in v2: - new probe factoring patch as suggested by Andrew Heiko Stuebner (3): net: phy: mscc: move shared probe code into a helper dt-bindings: net: mscc-vsc8531: add optional clock properties net: phy: mscc: handle the clkout control on some phy variants .../bindings/net/mscc-phy-vsc8531.txt | 2 + drivers/net/phy/mscc/mscc.h | 13 + drivers/net/phy/mscc/mscc_main.c | 306 ++++++++++++++---- 3 files changed, 250 insertions(+), 71 deletions(-) -- 2.26.2