lantiq: add support for upgrade led
[openwrt/staging/mkresin.git] / target / linux / lantiq / files-4.14 / arch / mips / boot / dts / P2812HNUFX.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 = "zyxel,p-2812hnu", "lantiq,xway", "lantiq,vr9";
8
9 chosen {
10 bootargs = "console=ttyLTQ0,115200";
11 };
12
13 aliases {
14 led-boot = &power_green;
15 led-failsafe = &power_red;
16 led-running = &power_green;
17 led-upgrade = &power_green;
18
19 led-dsl = &dsl_green;
20 led-internet = &internet_green;
21 led-wifi = &wireless_green;
22 };
23
24 memory@0 {
25 reg = <0x0 0x8000000>;
26 };
27
28 gpio-keys-polled {
29 compatible = "gpio-keys-polled";
30 #address-cells = <1>;
31 #size-cells = <0>;
32 poll-interval = <100>;
33
34 reset {
35 label = "reset";
36 gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
37 linux,code = <KEY_RESTART>;
38 };
39
40 rfkill {
41 label = "rfkill";
42 gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
43 linux,code = <KEY_RFKILL>;
44 };
45 };
46
47 gpio-leds {
48 compatible = "gpio-leds";
49
50 internet_red {
51 label = "p2812hnufx:red:internet";
52 gpios = <&stp 16 GPIO_ACTIVE_LOW>;
53 };
54 internet_green: internet_green {
55 label = "p2812hnufx:green:internet";
56 gpios = <&stp 17 GPIO_ACTIVE_LOW>;
57 };
58 dsl_green: dsl_green {
59 label = "p2812hnufx:green:dsl";
60 gpios = <&stp 18 GPIO_ACTIVE_LOW>;
61 };
62 dsl_orange {
63 label = "p2812hnufx:orange:dsl";
64 gpios = <&stp 19 GPIO_ACTIVE_LOW>;
65 };
66 wireless_orange {
67 label = "p2812hnufx:orange:wlan";
68 gpios = <&stp 20 GPIO_ACTIVE_LOW>;
69 };
70 wireless_green: wireless_green {
71 label = "p2812hnufx:green:wlan";
72 gpios = <&stp 21 GPIO_ACTIVE_LOW>;
73 };
74 power_red: power {
75 label = "p2812hnufx:red:power";
76 gpios = <&stp 22 GPIO_ACTIVE_LOW>;
77 };
78 power_green: power2 {
79 label = "p2812hnufx:green:power";
80 gpios = <&stp 23 GPIO_ACTIVE_LOW>;
81 default-state = "keep";
82 };
83 phone1 {
84 label = "p2812hnufx:green:phone";
85 gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
86 };
87 phone1warn {
88 label = "p2812hnufx:orange:phone";
89 gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
90 };
91 phone2warn {
92 label = "p2812hnufx:orange:phone2";
93 gpios = <&gpio 26 GPIO_ACTIVE_LOW>;
94 };
95 phone2 {
96 label = "p2812hnufx:green:phone2";
97 gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
98 };
99 };
100
101 usb_vbus: regulator-usb-vbus {
102 compatible = "regulator-fixed";
103
104 regulator-name = "USB_VBUS";
105
106 regulator-min-microvolt = <5000000>;
107 regulator-max-microvolt = <5000000>;
108
109 gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
110 enable-active-high;
111 };
112 };
113
114 &eth0 {
115 lan: interface@0 {
116 compatible = "lantiq,xrx200-pdi";
117 #address-cells = <1>;
118 #size-cells = <0>;
119 reg = <0>;
120 mac-address = [ 00 11 22 33 44 55 ];
121 lantiq,switch;
122
123 ethernet@0 {
124 compatible = "lantiq,xrx200-pdi-port";
125 reg = <0>;
126 phy-mode = "rgmii";
127 phy-handle = <&phy0>;
128 };
129 ethernet@1 {
130 compatible = "lantiq,xrx200-pdi-port";
131 reg = <1>;
132 phy-mode = "rgmii";
133 phy-handle = <&phy1>;
134 };
135 ethernet@2 {
136 compatible = "lantiq,xrx200-pdi-port";
137 reg = <2>;
138 phy-mode = "gmii";
139 phy-handle = <&phy11>;
140 };
141 ethernet@4 {
142 compatible = "lantiq,xrx200-pdi-port";
143 reg = <4>;
144 phy-mode = "gmii";
145 phy-handle = <&phy13>;
146 };
147 ethernet@5 {
148 compatible = "lantiq,xrx200-pdi-port";
149 reg = <5>;
150 phy-mode = "rgmii";
151 phy-handle = <&phy5>;
152 };
153 };
154
155 mdio@0 {
156 #address-cells = <1>;
157 #size-cells = <0>;
158 compatible = "lantiq,xrx200-mdio";
159 reg = <0>;
160
161 phy0: ethernet-phy@0 {
162 reg = <0x0>;
163 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
164 };
165 phy1: ethernet-phy@1 {
166 reg = <0x1>;
167 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
168 };
169 phy5: ethernet-phy@5 {
170 reg = <0x5>;
171 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
172 };
173 phy11: ethernet-phy@11 {
174 reg = <0x11>;
175 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
176 };
177 phy13: ethernet-phy@13 {
178 reg = <0x13>;
179 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
180 };
181 };
182 };
183
184 &gphy0 {
185 lantiq,gphy-mode = <GPHY_MODE_GE>;
186 };
187
188 &gphy1 {
189 lantiq,gphy-mode = <GPHY_MODE_GE>;
190 };
191
192 &gpio {
193 pinctrl-names = "default";
194 pinctrl-0 = <&state_default>;
195
196 state_default: pinmux {
197 exin3 {
198 lantiq,groups = "exin3";
199 lantiq,function = "exin";
200 };
201 mdio {
202 lantiq,groups = "mdio";
203 lantiq,function = "mdio";
204 };
205 gphy-leds {
206 lantiq,groups = "gphy0 led1", "gphy1 led1",
207 "gphy0 led2", "gphy1 led2";
208 lantiq,function = "gphy";
209 lantiq,pull = <2>;
210 lantiq,open-drain = <0>;
211 lantiq,output = <1>;
212 };
213 stp {
214 lantiq,groups = "stp";
215 lantiq,function = "stp";
216 lantiq,pull = <2>;
217 lantiq,open-drain = <0>;
218 lantiq,output = <1>;
219 };
220 pci-in {
221 lantiq,groups = "req1";
222 lantiq,function = "pci";
223 lantiq,output = <0>;
224 lantiq,open-drain = <1>;
225 lantiq,pull = <2>;
226 };
227 pci-out {
228 lantiq,groups = "gnt1";
229 lantiq,function = "pci";
230 lantiq,output = <1>;
231 lantiq,open-drain = <0>;
232 lantiq,pull = <0>;
233 };
234 pci_rst {
235 lantiq,pins = "io21";
236 lantiq,output = <1>;
237 lantiq,open-drain = <0>;
238 lantiq,pull = <2>;
239 };
240 pcie-rst {
241 lantiq,pins = "io38";
242 lantiq,pull = <0>;
243 lantiq,output = <1>;
244 };
245 ifxhcd-rst {
246 lantiq,pins = "io33";
247 lantiq,pull = <0>;
248 lantiq,open-drain = <0>;
249 lantiq,output = <1>;
250 };
251 nand_out {
252 lantiq,groups = "nand cle", "nand ale";
253 lantiq,function = "ebu";
254 lantiq,output = <1>;
255 lantiq,open-drain = <0>;
256 lantiq,pull = <0>;
257 };
258 nand_cs1 {
259 lantiq,groups = "nand cs1";
260 lantiq,function = "ebu";
261 lantiq,open-drain = <0>;
262 lantiq,pull = <0>;
263 };
264 };
265 };
266
267 &pci0 {
268 status = "okay";
269 gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
270 };
271
272 &stp {
273 status = "okay";
274
275 lantiq,shadow = <0xffffff>;
276 lantiq,groups = <0x7>;
277 lantiq,dsl = <0x0>;
278 lantiq,phy1 = <0x0>;
279 lantiq,phy2 = <0x0>;
280 };
281
282 &usb_phy0 {
283 status = "okay";
284 };
285
286 &usb_phy1 {
287 status = "okay";
288 };
289
290 &usb0 {
291 status = "okay";
292 vbus-supply = <&usb_vbus>;
293 };
294
295 &usb1 {
296 status = "okay";
297 vbus-supply = <&usb_vbus>;
298 };