ipq806x: kernel crash log ramoops storage for R7800 and XR500
[openwrt/staging/jow.git] / target / linux / ipq806x / files / arch / arm / boot / dts / qcom-ipq8065-nighthawk.dtsi
1 #include "qcom-ipq8065.dtsi"
2
3 #include <dt-bindings/input/input.h>
4
5 / {
6 memory@0 {
7 reg = <0x42000000 0x1e000000>;
8 device_type = "memory";
9 };
10
11 reserved-memory {
12 rsvd@5fe00000 {
13 reg = <0x5fe00000 0x200000>;
14 reusable;
15 };
16
17 ramoops@42100000 {
18 compatible = "ramoops";
19 reg = <0x42100000 0x40000>;
20 record-size = <0x4000>;
21 console-size = <0x4000>;
22 ftrace-size = <0x4000>;
23 pmsg-size = <0x4000>;
24 };
25 };
26
27 aliases {
28 label-mac-device = &gmac2;
29
30 led-boot = &power_white;
31 led-failsafe = &power_amber;
32 led-running = &power_white;
33 led-upgrade = &power_amber;
34
35 mdio-gpio0 = &mdio0;
36 };
37
38 keys {
39 compatible = "gpio-keys";
40 pinctrl-0 = <&button_pins>;
41 pinctrl-names = "default";
42
43 wifi {
44 label = "wifi";
45 gpios = <&qcom_pinmux 6 GPIO_ACTIVE_LOW>;
46 linux,code = <KEY_RFKILL>;
47 debounce-interval = <60>;
48 wakeup-source;
49 };
50
51 reset {
52 label = "reset";
53 gpios = <&qcom_pinmux 54 GPIO_ACTIVE_LOW>;
54 linux,code = <KEY_RESTART>;
55 debounce-interval = <60>;
56 wakeup-source;
57 };
58
59 wps {
60 label = "wps";
61 gpios = <&qcom_pinmux 65 GPIO_ACTIVE_LOW>;
62 linux,code = <KEY_WPS_BUTTON>;
63 debounce-interval = <60>;
64 wakeup-source;
65 };
66 };
67
68 leds: leds {
69 compatible = "gpio-leds";
70 pinctrl-0 = <&led_pins>;
71 pinctrl-names = "default";
72
73 power_white: power_white {
74 label = "white:power";
75 gpios = <&qcom_pinmux 53 GPIO_ACTIVE_HIGH>;
76 default-state = "keep";
77 };
78
79 power_amber: power_amber {
80 label = "amber:power";
81 gpios = <&qcom_pinmux 9 GPIO_ACTIVE_HIGH>;
82 };
83
84 wan_white {
85 label = "white:wan";
86 gpios = <&qcom_pinmux 22 GPIO_ACTIVE_HIGH>;
87 };
88
89 wan_amber {
90 label = "amber:wan";
91 gpios = <&qcom_pinmux 23 GPIO_ACTIVE_HIGH>;
92 };
93
94 wifi {
95 label = "white:wifi";
96 gpios = <&qcom_pinmux 64 GPIO_ACTIVE_HIGH>;
97 };
98
99 wps {
100 label = "white:wps";
101 gpios = <&qcom_pinmux 24 GPIO_ACTIVE_HIGH>;
102 };
103 };
104 };
105
106 &qcom_pinmux {
107 button_pins: button_pins {
108 mux {
109 pins = "gpio6", "gpio54", "gpio65";
110 function = "gpio";
111 drive-strength = <2>;
112 bias-pull-up;
113 };
114 };
115
116 led_pins: led_pins {
117 mux {
118 pins = "gpio7", "gpio8", "gpio9",
119 "gpio22", "gpio23", "gpio24",
120 "gpio26", "gpio53", "gpio64";
121 function = "gpio";
122 drive-strength = <2>;
123 bias-pull-down;
124 };
125 };
126
127 mdio0_pins: mdio0_pins {
128 clk {
129 pins = "gpio1";
130 input-disable;
131 };
132 };
133
134 rgmii2_pins: rgmii2_pins {
135 tx {
136 pins = "gpio27", "gpio28", "gpio29",
137 "gpio30", "gpio31", "gpio32";
138 input-disable;
139 };
140 };
141
142 spi_pins: spi_pins {
143 mux {
144 pins = "gpio18", "gpio19", "gpio21";
145 function = "gsbi5";
146 bias-pull-down;
147 };
148
149 data {
150 pins = "gpio18", "gpio19";
151 drive-strength = <10>;
152 };
153
154 cs {
155 pins = "gpio20";
156 drive-strength = <10>;
157 bias-pull-up;
158 };
159
160 clk {
161 pins = "gpio21";
162 drive-strength = <12>;
163 };
164 };
165
166 spi6_pins: spi6_pins {
167 mux {
168 pins = "gpio55", "gpio56", "gpio58";
169 function = "gsbi6";
170 bias-pull-down;
171 };
172
173 mosi {
174 pins = "gpio55";
175 drive-strength = <12>;
176 };
177
178 miso {
179 pins = "gpio56";
180 drive-strength = <14>;
181 };
182
183 cs {
184 pins = "gpio57";
185 drive-strength = <12>;
186 bias-pull-up;
187 };
188
189 clk {
190 pins = "gpio58";
191 drive-strength = <12>;
192 };
193
194 reset {
195 pins = "gpio33";
196 drive-strength = <10>;
197 bias-pull-down;
198 output-high;
199 };
200 };
201
202 usb0_pwr_en_pins: usb0_pwr_en_pins {
203 mux {
204 pins = "gpio15";
205 function = "gpio";
206 drive-strength = <12>;
207 bias-pull-down;
208 output-high;
209 };
210 };
211
212 usb1_pwr_en_pins: usb1_pwr_en_pins {
213 mux {
214 pins = "gpio16", "gpio68";
215 function = "gpio";
216 drive-strength = <12>;
217 bias-pull-down;
218 output-high;
219 };
220 };
221 };
222
223 &nand_controller {
224 status = "okay";
225
226 pinctrl-0 = <&nand_pins>;
227 pinctrl-names = "default";
228
229 nand@0 {
230 reg = <0>;
231 compatible = "qcom,nandcs";
232
233 nand-ecc-strength = <4>;
234 nand-bus-width = <8>;
235 nand-ecc-step-size = <512>;
236
237 nand-is-boot-medium;
238 qcom,boot_pages_size = <0x1180000>;
239
240 partitions: partitions {
241 compatible = "fixed-partitions";
242 #address-cells = <1>;
243 #size-cells = <1>;
244
245 partition@0 {
246 label = "qcadata";
247 reg = <0x0000000 0x0c80000>;
248 read-only;
249 };
250
251 partition@c80000 {
252 label = "APPSBL";
253 reg = <0x0c80000 0x0500000>;
254 read-only;
255 };
256
257 partition@1180000 {
258 label = "APPSBLENV";
259 reg = <0x1180000 0x0080000>;
260 read-only;
261 };
262
263 art: partition@1200000 {
264 label = "art";
265 reg = <0x1200000 0x0140000>;
266 read-only;
267 compatible = "nvmem-cells";
268 #address-cells = <1>;
269 #size-cells = <1>;
270
271 macaddr_art_0: macaddr@0 {
272 reg = <0x0 0x6>;
273 };
274
275 macaddr_art_6: macaddr@6 {
276 reg = <0x6 0x6>;
277 };
278
279 precal_art_1000: precal@1000 {
280 reg = <0x1000 0x2f20>;
281 };
282
283 precal_art_5000: precal@5000 {
284 reg = <0x5000 0x2f20>;
285 };
286 };
287
288 partition@1340000 {
289 label = "artbak";
290 reg = <0x1340000 0x0140000>;
291 read-only;
292 };
293
294 partition@1480000 {
295 label = "kernel";
296 reg = <0x1480000 0x0400000>;
297 };
298 };
299 };
300 };
301
302 &mdio0 {
303 status = "okay";
304
305 pinctrl-0 = <&mdio0_pins>;
306 pinctrl-names = "default";
307
308 phy0: ethernet-phy@0 {
309 reg = <0>;
310 qca,ar8327-initvals = <
311 0x00004 0x7600000 /* PAD0_MODE */
312 0x00008 0x1000000 /* PAD5_MODE */
313 0x0000c 0x80 /* PAD6_MODE */
314 0x000e4 0xaa545 /* MAC_POWER_SEL */
315 0x000e0 0xc74164de /* SGMII_CTRL */
316 0x0007c 0x4e /* PORT0_STATUS */
317 0x00094 0x4e /* PORT6_STATUS */
318 0x00970 0x1e864443 /* QM_PORT0_CTRL0 */
319 0x00974 0x000001c6 /* QM_PORT0_CTRL1 */
320 0x00978 0x19008643 /* QM_PORT1_CTRL0 */
321 0x0097c 0x000001c6 /* QM_PORT1_CTRL1 */
322 0x00980 0x19008643 /* QM_PORT2_CTRL0 */
323 0x00984 0x000001c6 /* QM_PORT2_CTRL1 */
324 0x00988 0x19008643 /* QM_PORT3_CTRL0 */
325 0x0098c 0x000001c6 /* QM_PORT3_CTRL1 */
326 0x00990 0x19008643 /* QM_PORT4_CTRL0 */
327 0x00994 0x000001c6 /* QM_PORT4_CTRL1 */
328 0x00998 0x1e864443 /* QM_PORT5_CTRL0 */
329 0x0099c 0x000001c6 /* QM_PORT5_CTRL1 */
330 0x009a0 0x1e864443 /* QM_PORT6_CTRL0 */
331 0x009a4 0x000001c6 /* QM_PORT6_CTRL1 */
332 >;
333 qca,ar8327-vlans = <
334 0x1 0x5e /* VLAN1 Ports 1/2/3/4/6 */
335 0x2 0x21 /* VLAN2 Ports 0/5 */
336 >;
337 };
338
339 phy4: ethernet-phy@4 {
340 reg = <4>;
341 qca,ar8327-initvals = <
342 0x000e4 0x6a545 /* MAC_POWER_SEL */
343 0x0000c 0x80 /* PAD6_MODE */
344 >;
345 };
346 };
347
348 &gmac1 {
349 status = "okay";
350
351 phy-mode = "rgmii";
352 qcom,id = <1>;
353 qcom,phy_mdio_addr = <4>;
354 qcom,poll_required = <0>;
355 qcom,rgmii_delay = <1>;
356 qcom,phy_mii_type = <0>;
357 qcom,emulation = <0>;
358 qcom,irq = <255>;
359 mdiobus = <&mdio0>;
360
361 pinctrl-0 = <&rgmii2_pins>;
362 pinctrl-names = "default";
363
364 nvmem-cells = <&macaddr_art_6>;
365 nvmem-cell-names = "mac-address";
366
367 fixed-link {
368 speed = <1000>;
369 full-duplex;
370 };
371 };
372
373 &gmac2 {
374 status = "okay";
375
376 phy-mode = "sgmii";
377 qcom,id = <2>;
378 qcom,phy_mdio_addr = <0>; /* none */
379 qcom,poll_required = <0>; /* no polling */
380 qcom,rgmii_delay = <0>;
381 qcom,phy_mii_type = <1>;
382 qcom,emulation = <0>;
383 qcom,irq = <258>;
384 mdiobus = <&mdio0>;
385
386 nvmem-cells = <&macaddr_art_0>;
387 nvmem-cell-names = "mac-address";
388
389 fixed-link {
390 speed = <1000>;
391 full-duplex;
392 };
393 };
394
395 &adm_dma {
396 status = "okay";
397 };
398
399 &sata_phy {
400 status = "okay";
401 };
402
403 &sata {
404 status = "okay";
405 };
406
407 &usb3_0 {
408 status = "okay";
409
410 pinctrl-0 = <&usb0_pwr_en_pins>;
411 pinctrl-names = "default";
412 };
413
414 &usb3_1 {
415 status = "okay";
416
417 pinctrl-0 = <&usb1_pwr_en_pins>;
418 pinctrl-names = "default";
419 };
420
421 &pcie0 {
422 status = "okay";
423
424 bridge@0,0 {
425 reg = <0x00000000 0 0 0 0>;
426 #address-cells = <3>;
427 #size-cells = <2>;
428 ranges;
429
430 wifi0: wifi@1,0 {
431 compatible = "pci168c,0046";
432 reg = <0x00010000 0 0 0 0>;
433 };
434 };
435 };
436
437 &pcie1 {
438 status = "okay";
439
440 max-link-speed = <1>;
441
442 bridge@0,0 {
443 reg = <0x00000000 0 0 0 0>;
444 #address-cells = <3>;
445 #size-cells = <2>;
446 ranges;
447
448 wifi1: wifi@1,0 {
449 compatible = "pci168c,0046";
450 reg = <0x00010000 0 0 0 0>;
451 };
452 };
453 };