xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/net/dsa/lantiq-gswip.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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 = <&eth0>;
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