> +Example:
> +iproc_mdio: iproc_mdio@663f0000 {
> +     compatible = "brcm,iproc-shared-mdio";
> +     reg = <0x6602023c 0x14>;
> +     reg-names = "mdio";
> +     #address-cells = <1>;
> +     #size-cells = <0>;
> +
> +     sata-master@6 {
> +             compatible = "brcm,iproc-ns2-sata-phy";
> +             reg = <0x6>;
> +             #address-cells = <1>;
> +             #size-cells = <0>;
> +             brcm,phy-internal;
> +
> +             sata_phy0: sata-phy@1 {
> +                     reg = <0x1>;
> +                     #phy-cells = <0>;
> +             };
> +
> +             sata_phy1: sata-phy@2 {
> +                     reg = <0x2>;
> +                     #phy-cells = <0>;
> +             };
> +     };
> +
> +     eth-master@0 {
> +             compatible = "brcm,iproc-mdio-master-eth";
> +             reg = <0x0>;
> +             #address-cells = <1>;
> +             #size-cells = <0>;
> +             gphy0: eth-phy@10 {
> +                     reg = <0x10>;
> +                     phy-mode = "mii";
> +             };
> +     };
> +};

So looking at this, you have an MDIO bus, an MDIO mux on top of that,
and then some MDIO devices on the muxed busses. You don't need a whole
new framework for this. You need a new mdio-mux driver, but the
existing MDIO framework should do what you need.

         Andrew

Reply via email to