> All muxes are mostly always represented the same way afaik, or do you > want to simply introduce a new compatible / property? + mdio-mux { + compatible = "allwinner,sun8i-h3-mdio-switch"; + mdio-parent-bus = <&mdio_parent>; + #address-cells = <1>; + #size-cells = <0>; + + internal_mdio: mdio@1 { reg = <1>; - clocks = <&ccu CLK_BUS_EPHY>; - resets = <&ccu RST_BUS_EPHY>; + #address-cells = <1>; + #size-cells = <0>; + int_mii_phy: ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <1>; + clocks = <&ccu CLK_BUS_EPHY>; + resets = <&ccu RST_BUS_EPHY>; + phy-is-integrated; + }; + }; + mdio: mdio@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; }; Hi Maxim Anybody who knows the MDIO-mux code/binding, knows that it is a run time mux. You swap the mux per MDIO transaction. You can access all the PHY and switches on the mux'ed MDIO bus. However here, it is effectively a boot-time MUX. You cannot change it on the fly. What happens when somebody has a phandle to a PHY on the internal and a phandle to a phy on the external? Does the driver at least return -EINVAL, or -EBUSY? Is there a representation which eliminates this possibility? Andrew -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html