1*4882a593SmuzhiyunLantiq GSWIP Ethernet switches 2*4882a593Smuzhiyun================================== 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunRequired properties for GSWIP core: 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun- compatible : "lantiq,xrx200-gswip" for the embedded GSWIP in the 7*4882a593Smuzhiyun xRX200 SoC 8*4882a593Smuzhiyun- reg : memory range of the GSWIP core registers 9*4882a593Smuzhiyun : memory range of the GSWIP MDIO registers 10*4882a593Smuzhiyun : memory range of the GSWIP MII registers 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunSee Documentation/devicetree/bindings/net/dsa/dsa.txt for a list of 13*4882a593Smuzhiyunadditional required and optional properties. 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunRequired properties for MDIO bus: 17*4882a593Smuzhiyun- compatible : "lantiq,xrx200-mdio" for the MDIO bus inside the GSWIP 18*4882a593Smuzhiyun core of the xRX200 SoC and the PHYs connected to it. 19*4882a593Smuzhiyun 20*4882a593SmuzhiyunSee Documentation/devicetree/bindings/net/mdio.txt for a list of additional 21*4882a593Smuzhiyunrequired and optional properties. 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun 24*4882a593SmuzhiyunRequired properties for GPHY firmware loading: 25*4882a593Smuzhiyun- compatible : "lantiq,xrx200-gphy-fw", "lantiq,gphy-fw" 26*4882a593Smuzhiyun "lantiq,xrx300-gphy-fw", "lantiq,gphy-fw" 27*4882a593Smuzhiyun "lantiq,xrx330-gphy-fw", "lantiq,gphy-fw" 28*4882a593Smuzhiyun for the loading of the firmware into the embedded 29*4882a593Smuzhiyun GPHY core of the SoC. 30*4882a593Smuzhiyun- lantiq,rcu : reference to the rcu syscon 31*4882a593Smuzhiyun 32*4882a593SmuzhiyunThe GPHY firmware loader has a list of GPHY entries, one for each 33*4882a593Smuzhiyunembedded GPHY 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun- reg : Offset of the GPHY firmware register in the RCU 36*4882a593Smuzhiyun register range 37*4882a593Smuzhiyun- resets : list of resets of the embedded GPHY 38*4882a593Smuzhiyun- reset-names : list of names of the resets 39*4882a593Smuzhiyun 40*4882a593SmuzhiyunExample: 41*4882a593Smuzhiyun 42*4882a593SmuzhiyunEthernet switch on the VRX200 SoC: 43*4882a593Smuzhiyun 44*4882a593Smuzhiyunswitch@e108000 { 45*4882a593Smuzhiyun #address-cells = <1>; 46*4882a593Smuzhiyun #size-cells = <0>; 47*4882a593Smuzhiyun compatible = "lantiq,xrx200-gswip"; 48*4882a593Smuzhiyun reg = < 0xe108000 0x3100 /* switch */ 49*4882a593Smuzhiyun 0xe10b100 0xd8 /* mdio */ 50*4882a593Smuzhiyun 0xe10b1d8 0x130 /* mii */ 51*4882a593Smuzhiyun >; 52*4882a593Smuzhiyun dsa,member = <0 0>; 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun ports { 55*4882a593Smuzhiyun #address-cells = <1>; 56*4882a593Smuzhiyun #size-cells = <0>; 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun port@0 { 59*4882a593Smuzhiyun reg = <0>; 60*4882a593Smuzhiyun label = "lan3"; 61*4882a593Smuzhiyun phy-mode = "rgmii"; 62*4882a593Smuzhiyun phy-handle = <&phy0>; 63*4882a593Smuzhiyun }; 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun port@1 { 66*4882a593Smuzhiyun reg = <1>; 67*4882a593Smuzhiyun label = "lan4"; 68*4882a593Smuzhiyun phy-mode = "rgmii"; 69*4882a593Smuzhiyun phy-handle = <&phy1>; 70*4882a593Smuzhiyun }; 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun port@2 { 73*4882a593Smuzhiyun reg = <2>; 74*4882a593Smuzhiyun label = "lan2"; 75*4882a593Smuzhiyun phy-mode = "internal"; 76*4882a593Smuzhiyun phy-handle = <&phy11>; 77*4882a593Smuzhiyun }; 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun port@4 { 80*4882a593Smuzhiyun reg = <4>; 81*4882a593Smuzhiyun label = "lan1"; 82*4882a593Smuzhiyun phy-mode = "internal"; 83*4882a593Smuzhiyun phy-handle = <&phy13>; 84*4882a593Smuzhiyun }; 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun port@5 { 87*4882a593Smuzhiyun reg = <5>; 88*4882a593Smuzhiyun label = "wan"; 89*4882a593Smuzhiyun phy-mode = "rgmii"; 90*4882a593Smuzhiyun phy-handle = <&phy5>; 91*4882a593Smuzhiyun }; 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun port@6 { 94*4882a593Smuzhiyun reg = <0x6>; 95*4882a593Smuzhiyun label = "cpu"; 96*4882a593Smuzhiyun ethernet = <ð0>; 97*4882a593Smuzhiyun }; 98*4882a593Smuzhiyun }; 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun mdio { 101*4882a593Smuzhiyun #address-cells = <1>; 102*4882a593Smuzhiyun #size-cells = <0>; 103*4882a593Smuzhiyun compatible = "lantiq,xrx200-mdio"; 104*4882a593Smuzhiyun reg = <0>; 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun phy0: ethernet-phy@0 { 107*4882a593Smuzhiyun reg = <0x0>; 108*4882a593Smuzhiyun }; 109*4882a593Smuzhiyun phy1: ethernet-phy@1 { 110*4882a593Smuzhiyun reg = <0x1>; 111*4882a593Smuzhiyun }; 112*4882a593Smuzhiyun phy5: ethernet-phy@5 { 113*4882a593Smuzhiyun reg = <0x5>; 114*4882a593Smuzhiyun }; 115*4882a593Smuzhiyun phy11: ethernet-phy@11 { 116*4882a593Smuzhiyun reg = <0x11>; 117*4882a593Smuzhiyun }; 118*4882a593Smuzhiyun phy13: ethernet-phy@13 { 119*4882a593Smuzhiyun reg = <0x13>; 120*4882a593Smuzhiyun }; 121*4882a593Smuzhiyun }; 122*4882a593Smuzhiyun 123*4882a593Smuzhiyun gphy-fw { 124*4882a593Smuzhiyun compatible = "lantiq,xrx200-gphy-fw", "lantiq,gphy-fw"; 125*4882a593Smuzhiyun lantiq,rcu = <&rcu0>; 126*4882a593Smuzhiyun #address-cells = <1>; 127*4882a593Smuzhiyun #size-cells = <0>; 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun gphy@20 { 130*4882a593Smuzhiyun reg = <0x20>; 131*4882a593Smuzhiyun 132*4882a593Smuzhiyun resets = <&reset0 31 30>; 133*4882a593Smuzhiyun reset-names = "gphy"; 134*4882a593Smuzhiyun }; 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun gphy@68 { 137*4882a593Smuzhiyun reg = <0x68>; 138*4882a593Smuzhiyun 139*4882a593Smuzhiyun resets = <&reset0 29 28>; 140*4882a593Smuzhiyun reset-names = "gphy"; 141*4882a593Smuzhiyun }; 142*4882a593Smuzhiyun }; 143*4882a593Smuzhiyun}; 144