c51c6011ac45e743b74cfb29b2d56faece5226e5
[openwrt/staging/lynxis.git] / target / linux / lantiq / files / 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 device_type = "memory";
26 reg = <0x0 0x8000000>;
27 };
28
29 gpio-keys-polled {
30 compatible = "gpio-keys-polled";
31 #address-cells = <1>;
32 #size-cells = <0>;
33 poll-interval = <100>;
34
35 reset {
36 label = "reset";
37 gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
38 linux,code = <KEY_RESTART>;
39 };
40
41 rfkill {
42 label = "rfkill";
43 gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
44 linux,code = <KEY_RFKILL>;
45 };
46 };
47
48 gpio-leds {
49 compatible = "gpio-leds";
50
51 internet_red {
52 label = "p2812hnufx:red:internet";
53 gpios = <&stp 16 GPIO_ACTIVE_LOW>;
54 };
55 internet_green: internet_green {
56 label = "p2812hnufx:green:internet";
57 gpios = <&stp 17 GPIO_ACTIVE_LOW>;
58 };
59 dsl_green: dsl_green {
60 label = "p2812hnufx:green:dsl";
61 gpios = <&stp 18 GPIO_ACTIVE_LOW>;
62 };
63 dsl_orange {
64 label = "p2812hnufx:orange:dsl";
65 gpios = <&stp 19 GPIO_ACTIVE_LOW>;
66 };
67 wireless_orange {
68 label = "p2812hnufx:orange:wlan";
69 gpios = <&stp 20 GPIO_ACTIVE_LOW>;
70 };
71 wireless_green: wireless_green {
72 label = "p2812hnufx:green:wlan";
73 gpios = <&stp 21 GPIO_ACTIVE_LOW>;
74 };
75 power_red: power {
76 label = "p2812hnufx:red:power";
77 gpios = <&stp 22 GPIO_ACTIVE_LOW>;
78 };
79 power_green: power2 {
80 label = "p2812hnufx:green:power";
81 gpios = <&stp 23 GPIO_ACTIVE_LOW>;
82 default-state = "keep";
83 };
84 phone1 {
85 label = "p2812hnufx:green:phone";
86 gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
87 };
88 phone1warn {
89 label = "p2812hnufx:orange:phone";
90 gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
91 };
92 phone2warn {
93 label = "p2812hnufx:orange:phone2";
94 gpios = <&gpio 26 GPIO_ACTIVE_LOW>;
95 };
96 phone2 {
97 label = "p2812hnufx:green:phone2";
98 gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
99 };
100 };
101
102 usb_vbus: regulator-usb-vbus {
103 compatible = "regulator-fixed";
104
105 regulator-name = "USB_VBUS";
106
107 regulator-min-microvolt = <5000000>;
108 regulator-max-microvolt = <5000000>;
109
110 gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
111 enable-active-high;
112 };
113 };
114
115 &eth0 {
116 lan: interface@0 {
117 compatible = "lantiq,xrx200-pdi";
118 #address-cells = <1>;
119 #size-cells = <0>;
120 reg = <0>;
121 mac-address = [ 00 11 22 33 44 55 ];
122 lantiq,switch;
123
124 ethernet@0 {
125 compatible = "lantiq,xrx200-pdi-port";
126 reg = <0>;
127 phy-mode = "rgmii";
128 phy-handle = <&phy0>;
129 };
130 ethernet@1 {
131 compatible = "lantiq,xrx200-pdi-port";
132 reg = <1>;
133 phy-mode = "rgmii";
134 phy-handle = <&phy1>;
135 };
136 ethernet@2 {
137 compatible = "lantiq,xrx200-pdi-port";
138 reg = <2>;
139 phy-mode = "gmii";
140 phy-handle = <&phy11>;
141 };
142 ethernet@4 {
143 compatible = "lantiq,xrx200-pdi-port";
144 reg = <4>;
145 phy-mode = "gmii";
146 phy-handle = <&phy13>;
147 };
148 ethernet@5 {
149 compatible = "lantiq,xrx200-pdi-port";
150 reg = <5>;
151 phy-mode = "rgmii";
152 phy-handle = <&phy5>;
153 };
154 };
155
156 mdio {
157 #address-cells = <1>;
158 #size-cells = <0>;
159 compatible = "lantiq,xrx200-mdio";
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 };