lantiq: dts: assign the MDIO pins to the gsw node
[openwrt/staging/wigyori.git] / target / linux / lantiq / files / arch / mips / boot / dts / EASY80920.dtsi
1 #include "vr9.dtsi"
2
3 #include <dt-bindings/input/input.h>
4 #include <dt-bindings/mips/lantiq_rcu_gphy.h>
5
6 / {
7 compatible = "lantiq,easy80920", "lantiq,xway", "lantiq,vr9";
8
9 chosen {
10 bootargs = "console=ttyLTQ0,115200";
11 };
12
13 aliases {
14 led-boot = &power;
15 led-failsafe = &power;
16 led-running = &power;
17 led-upgrade = &power;
18
19 led-usb = &led_usb1;
20 led-usb2 = &led_usb2;
21 };
22
23 memory@0 {
24 device_type = "memory";
25 reg = <0x0 0x4000000>;
26 };
27
28 keys {
29 compatible = "gpio-keys-polled";
30 poll-interval = <100>;
31 /* reset {
32 label = "reset";
33 gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
34 linux,code = <KEY_RESTART>;
35 };*/
36 paging {
37 label = "paging";
38 gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
39 linux,code = <KEY_PHONE>;
40 };
41 };
42
43 leds {
44 compatible = "gpio-leds";
45
46 power: power {
47 label = "easy80920:green:power";
48 gpios = <&stp 9 GPIO_ACTIVE_HIGH>;
49 default-state = "keep";
50 };
51 warning {
52 label = "easy80920:green:warning";
53 gpios = <&stp 22 GPIO_ACTIVE_HIGH>;
54 };
55 fxs1 {
56 label = "easy80920:green:fxs1";
57 gpios = <&stp 21 GPIO_ACTIVE_HIGH>;
58 };
59 fxs2 {
60 label = "easy80920:green:fxs2";
61 gpios = <&stp 20 GPIO_ACTIVE_HIGH>;
62 };
63 fxo {
64 label = "easy80920:green:fxo";
65 gpios = <&stp 19 GPIO_ACTIVE_HIGH>;
66 };
67 led_usb1: usb1 {
68 label = "easy80920:green:usb1";
69 gpios = <&stp 18 GPIO_ACTIVE_HIGH>;
70 };
71 led_usb2: usb2 {
72 label = "easy80920:green:usb2";
73 gpios = <&stp 15 GPIO_ACTIVE_HIGH>;
74 };
75 sd {
76 label = "easy80920:green:sd";
77 gpios = <&stp 14 GPIO_ACTIVE_HIGH>;
78 };
79 wps {
80 label = "easy80920:green:wps";
81 gpios = <&stp 12 GPIO_ACTIVE_HIGH>;
82 };
83 };
84
85 usb_vbus: regulator-usb-vbus {
86 compatible = "regulator-fixed";
87
88 regulator-name = "USB_VBUS";
89
90 regulator-min-microvolt = <5000000>;
91 regulator-max-microvolt = <5000000>;
92
93 gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
94 enable-active-high;
95 };
96 };
97
98 &eth0 {
99 lan: interface@0 {
100 compatible = "lantiq,xrx200-pdi";
101 #address-cells = <1>;
102 #size-cells = <0>;
103 reg = <0>;
104 lantiq,switch;
105
106 ethernet@4 {
107 compatible = "lantiq,xrx200-pdi-port";
108 reg = <4>;
109 phy-mode = "gmii";
110 phy-handle = <&phy13>;
111 };
112 ethernet@2 {
113 compatible = "lantiq,xrx200-pdi-port";
114 reg = <2>;
115 phy-mode = "gmii";
116 phy-handle = <&phy11>;
117 };
118 ethernet@1 {
119 compatible = "lantiq,xrx200-pdi-port";
120 reg = <1>;
121 phy-mode = "rgmii";
122 phy-handle = <&phy1>;
123 };
124 ethernet@0 {
125 compatible = "lantiq,xrx200-pdi-port";
126 reg = <0>;
127 phy-mode = "rgmii";
128 phy-handle = <&phy0>;
129 };
130 };
131
132 wan: interface@1 {
133 compatible = "lantiq,xrx200-pdi";
134 #address-cells = <1>;
135 #size-cells = <0>;
136 reg = <1>;
137 lantiq,wan;
138
139 ethernet@5 {
140 compatible = "lantiq,xrx200-pdi-port";
141 reg = <5>;
142 phy-mode = "rgmii";
143 phy-handle = <&phy5>;
144 };
145 };
146
147 mdio {
148 #address-cells = <1>;
149 #size-cells = <0>;
150 compatible = "lantiq,xrx200-mdio";
151
152 phy0: ethernet-phy@0 {
153 reg = <0x0>;
154 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
155 };
156 phy1: ethernet-phy@1 {
157 reg = <0x1>;
158 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
159 };
160 phy5: ethernet-phy@5 {
161 reg = <0x5>;
162 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
163 };
164 phy11: ethernet-phy@11 {
165 reg = <0x11>;
166 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
167 };
168 phy13: ethernet-phy@13 {
169 reg = <0x13>;
170 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
171 };
172 };
173 };
174
175 &gphy0 {
176 lantiq,gphy-mode = <GPHY_MODE_GE>;
177 };
178
179 &gphy1 {
180 lantiq,gphy-mode = <GPHY_MODE_GE>;
181 };
182
183 &gpio {
184 pinctrl-names = "default";
185 pinctrl-0 = <&state_default>;
186
187 state_default: pinmux {
188 exin3 {
189 lantiq,groups = "exin3";
190 lantiq,function = "exin";
191 };
192 stp {
193 lantiq,groups = "stp";
194 lantiq,function = "stp";
195 };
196 nand {
197 lantiq,groups = "nand cle", "nand ale",
198 "nand rd", "nand rdy";
199 lantiq,function = "ebu";
200 };
201 pci {
202 lantiq,groups = "gnt1", "req1";
203 lantiq,function = "pci";
204 };
205 conf_out {
206 lantiq,pins = "io24", "io13", "io49", /* nand cle, ale and rd */
207 "io4", "io5", "io6", /* stp */
208 "io21",
209 "io33";
210 lantiq,open-drain;
211 lantiq,pull = <0>;
212 lantiq,output = <1>;
213 };
214 pcie-rst {
215 lantiq,pins = "io38";
216 lantiq,pull = <0>;
217 lantiq,output = <1>;
218 };
219 conf_in {
220 lantiq,pins = "io39", /* exin3 */
221 "io48"; /* nand rdy */
222 lantiq,pull = <2>;
223 };
224 };
225 pins_spi_default: pins_spi_default {
226 spi_in {
227 lantiq,groups = "spi_di";
228 lantiq,function = "spi";
229 };
230 spi_out {
231 lantiq,groups = "spi_do", "spi_clk",
232 "spi_cs4";
233 lantiq,function = "spi";
234 lantiq,output = <1>;
235 };
236 };
237 };
238
239 &spi {
240 pinctrl-names = "default";
241 pinctrl-0 = <&pins_spi_default>;
242
243 status = "okay";
244
245 flash@4 {
246 compatible = "jedec,spi-nor";
247 reg = <4>;
248 spi-max-frequency = <1000000>;
249
250 partitions {
251 compatible = "fixed-partitions";
252 #address-cells = <1>;
253 #size-cells = <1>;
254
255 partition@0 {
256 reg = <0x0 0x20000>;
257 label = "SPI (RO) U-Boot Image";
258 read-only;
259 };
260
261 partition@20000 {
262 reg = <0x20000 0x10000>;
263 label = "ENV_MAC";
264 read-only;
265 };
266
267 partition@30000 {
268 reg = <0x30000 0x10000>;
269 label = "DPF";
270 read-only;
271 };
272
273 partition@40000 {
274 reg = <0x40000 0x10000>;
275 label = "NVRAM";
276 read-only;
277 };
278
279 partition@500000 {
280 reg = <0x50000 0x003a0000>;
281 label = "kernel";
282 };
283 };
284 };
285 };
286
287 &stp {
288 status = "okay";
289
290 lantiq,shadow = <0xffff>;
291 lantiq,groups = <0x7>;
292 lantiq,dsl = <0x3>;
293 lantiq,phy1 = <0x7>;
294 lantiq,phy2 = <0x7>;
295 /* lantiq,rising; */
296 };
297
298 &usb_phy0 {
299 status = "okay";
300 };
301
302 &usb0 {
303 status = "okay";
304 vbus-supply = <&usb_vbus>;
305 };