1*c66ec88fSEmmanuel VadotCommon MDIO bus multiplexer/switch properties. 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotAn MDIO bus multiplexer/switch will have several child busses that are 4*c66ec88fSEmmanuel Vadotnumbered uniquely in a device dependent manner. The nodes for an MDIO 5*c66ec88fSEmmanuel Vadotbus multiplexer/switch will have one child node for each child bus. 6*c66ec88fSEmmanuel Vadot 7*c66ec88fSEmmanuel VadotRequired properties: 8*c66ec88fSEmmanuel Vadot- #address-cells = <1>; 9*c66ec88fSEmmanuel Vadot- #size-cells = <0>; 10*c66ec88fSEmmanuel Vadot 11*c66ec88fSEmmanuel VadotOptional properties: 12*c66ec88fSEmmanuel Vadot- mdio-parent-bus : phandle to the parent MDIO bus. 13*c66ec88fSEmmanuel Vadot 14*c66ec88fSEmmanuel Vadot- Other properties specific to the multiplexer/switch hardware. 15*c66ec88fSEmmanuel Vadot 16*c66ec88fSEmmanuel VadotRequired properties for child nodes: 17*c66ec88fSEmmanuel Vadot- #address-cells = <1>; 18*c66ec88fSEmmanuel Vadot- #size-cells = <0>; 19*c66ec88fSEmmanuel Vadot- reg : The sub-bus number. 20*c66ec88fSEmmanuel Vadot 21*c66ec88fSEmmanuel Vadot 22*c66ec88fSEmmanuel VadotExample : 23*c66ec88fSEmmanuel Vadot 24*c66ec88fSEmmanuel Vadot /* The parent MDIO bus. */ 25*c66ec88fSEmmanuel Vadot smi1: mdio@1180000001900 { 26*c66ec88fSEmmanuel Vadot compatible = "cavium,octeon-3860-mdio"; 27*c66ec88fSEmmanuel Vadot #address-cells = <1>; 28*c66ec88fSEmmanuel Vadot #size-cells = <0>; 29*c66ec88fSEmmanuel Vadot reg = <0x11800 0x00001900 0x0 0x40>; 30*c66ec88fSEmmanuel Vadot }; 31*c66ec88fSEmmanuel Vadot 32*c66ec88fSEmmanuel Vadot /* 33*c66ec88fSEmmanuel Vadot An NXP sn74cbtlv3253 dual 1-of-4 switch controlled by a 34*c66ec88fSEmmanuel Vadot pair of GPIO lines. Child busses 2 and 3 populated with 4 35*c66ec88fSEmmanuel Vadot PHYs each. 36*c66ec88fSEmmanuel Vadot */ 37*c66ec88fSEmmanuel Vadot mdio-mux { 38*c66ec88fSEmmanuel Vadot compatible = "mdio-mux-gpio"; 39*c66ec88fSEmmanuel Vadot gpios = <&gpio1 3 0>, <&gpio1 4 0>; 40*c66ec88fSEmmanuel Vadot mdio-parent-bus = <&smi1>; 41*c66ec88fSEmmanuel Vadot #address-cells = <1>; 42*c66ec88fSEmmanuel Vadot #size-cells = <0>; 43*c66ec88fSEmmanuel Vadot 44*c66ec88fSEmmanuel Vadot mdio@2 { 45*c66ec88fSEmmanuel Vadot reg = <2>; 46*c66ec88fSEmmanuel Vadot #address-cells = <1>; 47*c66ec88fSEmmanuel Vadot #size-cells = <0>; 48*c66ec88fSEmmanuel Vadot 49*c66ec88fSEmmanuel Vadot phy11: ethernet-phy@1 { 50*c66ec88fSEmmanuel Vadot reg = <1>; 51*c66ec88fSEmmanuel Vadot marvell,reg-init = <3 0x10 0 0x5777>, 52*c66ec88fSEmmanuel Vadot <3 0x11 0 0x00aa>, 53*c66ec88fSEmmanuel Vadot <3 0x12 0 0x4105>, 54*c66ec88fSEmmanuel Vadot <3 0x13 0 0x0a60>; 55*c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio>; 56*c66ec88fSEmmanuel Vadot interrupts = <10 8>; /* Pin 10, active low */ 57*c66ec88fSEmmanuel Vadot }; 58*c66ec88fSEmmanuel Vadot phy12: ethernet-phy@2 { 59*c66ec88fSEmmanuel Vadot reg = <2>; 60*c66ec88fSEmmanuel Vadot marvell,reg-init = <3 0x10 0 0x5777>, 61*c66ec88fSEmmanuel Vadot <3 0x11 0 0x00aa>, 62*c66ec88fSEmmanuel Vadot <3 0x12 0 0x4105>, 63*c66ec88fSEmmanuel Vadot <3 0x13 0 0x0a60>; 64*c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio>; 65*c66ec88fSEmmanuel Vadot interrupts = <10 8>; /* Pin 10, active low */ 66*c66ec88fSEmmanuel Vadot }; 67*c66ec88fSEmmanuel Vadot phy13: ethernet-phy@3 { 68*c66ec88fSEmmanuel Vadot reg = <3>; 69*c66ec88fSEmmanuel Vadot marvell,reg-init = <3 0x10 0 0x5777>, 70*c66ec88fSEmmanuel Vadot <3 0x11 0 0x00aa>, 71*c66ec88fSEmmanuel Vadot <3 0x12 0 0x4105>, 72*c66ec88fSEmmanuel Vadot <3 0x13 0 0x0a60>; 73*c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio>; 74*c66ec88fSEmmanuel Vadot interrupts = <10 8>; /* Pin 10, active low */ 75*c66ec88fSEmmanuel Vadot }; 76*c66ec88fSEmmanuel Vadot phy14: ethernet-phy@4 { 77*c66ec88fSEmmanuel Vadot reg = <4>; 78*c66ec88fSEmmanuel Vadot marvell,reg-init = <3 0x10 0 0x5777>, 79*c66ec88fSEmmanuel Vadot <3 0x11 0 0x00aa>, 80*c66ec88fSEmmanuel Vadot <3 0x12 0 0x4105>, 81*c66ec88fSEmmanuel Vadot <3 0x13 0 0x0a60>; 82*c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio>; 83*c66ec88fSEmmanuel Vadot interrupts = <10 8>; /* Pin 10, active low */ 84*c66ec88fSEmmanuel Vadot }; 85*c66ec88fSEmmanuel Vadot }; 86*c66ec88fSEmmanuel Vadot 87*c66ec88fSEmmanuel Vadot mdio@3 { 88*c66ec88fSEmmanuel Vadot reg = <3>; 89*c66ec88fSEmmanuel Vadot #address-cells = <1>; 90*c66ec88fSEmmanuel Vadot #size-cells = <0>; 91*c66ec88fSEmmanuel Vadot 92*c66ec88fSEmmanuel Vadot phy21: ethernet-phy@1 { 93*c66ec88fSEmmanuel Vadot reg = <1>; 94*c66ec88fSEmmanuel Vadot marvell,reg-init = <3 0x10 0 0x5777>, 95*c66ec88fSEmmanuel Vadot <3 0x11 0 0x00aa>, 96*c66ec88fSEmmanuel Vadot <3 0x12 0 0x4105>, 97*c66ec88fSEmmanuel Vadot <3 0x13 0 0x0a60>; 98*c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio>; 99*c66ec88fSEmmanuel Vadot interrupts = <12 8>; /* Pin 12, active low */ 100*c66ec88fSEmmanuel Vadot }; 101*c66ec88fSEmmanuel Vadot phy22: ethernet-phy@2 { 102*c66ec88fSEmmanuel Vadot reg = <2>; 103*c66ec88fSEmmanuel Vadot marvell,reg-init = <3 0x10 0 0x5777>, 104*c66ec88fSEmmanuel Vadot <3 0x11 0 0x00aa>, 105*c66ec88fSEmmanuel Vadot <3 0x12 0 0x4105>, 106*c66ec88fSEmmanuel Vadot <3 0x13 0 0x0a60>; 107*c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio>; 108*c66ec88fSEmmanuel Vadot interrupts = <12 8>; /* Pin 12, active low */ 109*c66ec88fSEmmanuel Vadot }; 110*c66ec88fSEmmanuel Vadot phy23: ethernet-phy@3 { 111*c66ec88fSEmmanuel Vadot reg = <3>; 112*c66ec88fSEmmanuel Vadot marvell,reg-init = <3 0x10 0 0x5777>, 113*c66ec88fSEmmanuel Vadot <3 0x11 0 0x00aa>, 114*c66ec88fSEmmanuel Vadot <3 0x12 0 0x4105>, 115*c66ec88fSEmmanuel Vadot <3 0x13 0 0x0a60>; 116*c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio>; 117*c66ec88fSEmmanuel Vadot interrupts = <12 8>; /* Pin 12, active low */ 118*c66ec88fSEmmanuel Vadot }; 119*c66ec88fSEmmanuel Vadot phy24: ethernet-phy@4 { 120*c66ec88fSEmmanuel Vadot reg = <4>; 121*c66ec88fSEmmanuel Vadot marvell,reg-init = <3 0x10 0 0x5777>, 122*c66ec88fSEmmanuel Vadot <3 0x11 0 0x00aa>, 123*c66ec88fSEmmanuel Vadot <3 0x12 0 0x4105>, 124*c66ec88fSEmmanuel Vadot <3 0x13 0 0x0a60>; 125*c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio>; 126*c66ec88fSEmmanuel Vadot interrupts = <12 8>; /* Pin 12, active low */ 127*c66ec88fSEmmanuel Vadot }; 128*c66ec88fSEmmanuel Vadot }; 129*c66ec88fSEmmanuel Vadot }; 130