OpenWrt – Blame information for rev 3
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | #include "qcom-ipq8065.dtsi" |
2 | |||
3 | #include <dt-bindings/input/input.h> |
||
4 | |||
5 | / { |
||
6 | model = "Netgear Nighthawk X4S R7800"; |
||
7 | compatible = "netgear,r7800", "qcom,ipq8065", "qcom,ipq8064"; |
||
8 | |||
9 | memory@0 { |
||
10 | reg = <0x42000000 0x1e000000>; |
||
11 | device_type = "memory"; |
||
12 | }; |
||
13 | |||
14 | reserved-memory { |
||
15 | #address-cells = <1>; |
||
16 | #size-cells = <1>; |
||
17 | ranges; |
||
18 | rsvd@41200000 { |
||
19 | reg = <0x41200000 0x300000>; |
||
20 | no-map; |
||
21 | }; |
||
22 | |||
23 | rsvd@5fe00000 { |
||
24 | reg = <0x5fe00000 0x200000>; |
||
25 | reusable; |
||
26 | }; |
||
27 | }; |
||
28 | |||
29 | aliases { |
||
30 | serial0 = &gsbi4_serial; |
||
31 | mdio-gpio0 = &mdio0; |
||
32 | |||
33 | led-boot = &power_white; |
||
34 | led-failsafe = &power_amber; |
||
35 | led-running = &power_white; |
||
36 | led-upgrade = &power_amber; |
||
37 | }; |
||
38 | |||
39 | chosen { |
||
3 | office | 40 | linux,stdout-path = "serial0:115200n8"; |
1 | office | 41 | }; |
42 | |||
43 | soc { |
||
44 | pinmux@800000 { |
||
45 | button_pins: button_pins { |
||
46 | mux { |
||
47 | pins = "gpio6", "gpio54", "gpio65"; |
||
48 | function = "gpio"; |
||
49 | drive-strength = <2>; |
||
50 | bias-pull-up; |
||
51 | }; |
||
52 | }; |
||
53 | |||
54 | i2c4_pins: i2c4_pinmux { |
||
55 | mux { |
||
56 | pins = "gpio12", "gpio13"; |
||
57 | function = "gsbi4"; |
||
58 | drive-strength = <12>; |
||
59 | bias-disable; |
||
60 | }; |
||
61 | }; |
||
62 | |||
63 | led_pins: led_pins { |
||
64 | pins = "gpio7", "gpio8", "gpio9", "gpio22", "gpio23", |
||
65 | "gpio24","gpio26", "gpio53", "gpio64"; |
||
66 | function = "gpio"; |
||
67 | drive-strength = <2>; |
||
68 | bias-pull-down; |
||
69 | }; |
||
70 | |||
71 | nand_pins: nand_pins { |
||
72 | mux { |
||
73 | pins = "gpio34", "gpio35", "gpio36", |
||
74 | "gpio37", "gpio38", "gpio39", |
||
75 | "gpio40", "gpio41", "gpio42", |
||
76 | "gpio43", "gpio44", "gpio45", |
||
77 | "gpio46", "gpio47"; |
||
78 | function = "nand"; |
||
79 | drive-strength = <10>; |
||
80 | bias-disable; |
||
81 | }; |
||
82 | pullups { |
||
83 | pins = "gpio39"; |
||
84 | bias-pull-up; |
||
85 | }; |
||
86 | hold { |
||
87 | pins = "gpio40", "gpio41", "gpio42", |
||
88 | "gpio43", "gpio44", "gpio45", |
||
89 | "gpio46", "gpio47"; |
||
90 | bias-bus-hold; |
||
91 | }; |
||
92 | }; |
||
93 | |||
94 | mdio0_pins: mdio0_pins { |
||
95 | mux { |
||
96 | pins = "gpio0", "gpio1"; |
||
97 | function = "gpio"; |
||
98 | drive-strength = <8>; |
||
99 | bias-disable; |
||
100 | }; |
||
101 | |||
102 | clk { |
||
103 | pins = "gpio1"; |
||
104 | input-disable; |
||
105 | }; |
||
106 | }; |
||
107 | |||
108 | rgmii2_pins: rgmii2_pins { |
||
109 | mux { |
||
110 | pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32", |
||
111 | "gpio51", "gpio52", "gpio59", "gpio60", "gpio61", "gpio62" ; |
||
112 | function = "rgmii2"; |
||
113 | drive-strength = <8>; |
||
114 | bias-disable; |
||
115 | }; |
||
116 | |||
117 | tx { |
||
118 | pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32" ; |
||
119 | input-disable; |
||
120 | }; |
||
121 | }; |
||
122 | |||
123 | spi_pins: spi_pins { |
||
124 | mux { |
||
125 | pins = "gpio18", "gpio19", "gpio21"; |
||
126 | function = "gsbi5"; |
||
127 | bias-pull-down; |
||
128 | }; |
||
129 | |||
130 | data { |
||
131 | pins = "gpio18", "gpio19"; |
||
132 | drive-strength = <10>; |
||
133 | }; |
||
134 | |||
135 | cs { |
||
136 | pins = "gpio20"; |
||
137 | drive-strength = <10>; |
||
138 | bias-pull-up; |
||
139 | }; |
||
140 | |||
141 | clk { |
||
142 | pins = "gpio21"; |
||
143 | drive-strength = <12>; |
||
144 | }; |
||
145 | }; |
||
146 | |||
147 | spi6_pins: spi6_pins { |
||
148 | mux { |
||
149 | pins = "gpio55", "gpio56", "gpio58"; |
||
150 | function = "gsbi6"; |
||
151 | bias-pull-down; |
||
152 | }; |
||
153 | |||
154 | mosi { |
||
155 | pins = "gpio55"; |
||
156 | drive-strength = <12>; |
||
157 | }; |
||
158 | |||
159 | miso { |
||
160 | pins = "gpio56"; |
||
161 | drive-strength = <14>; |
||
162 | }; |
||
163 | |||
164 | cs { |
||
165 | pins = "gpio57"; |
||
166 | drive-strength = <12>; |
||
167 | bias-pull-up; |
||
168 | }; |
||
169 | |||
170 | clk { |
||
171 | pins = "gpio58"; |
||
172 | drive-strength = <12>; |
||
173 | }; |
||
174 | |||
175 | reset { |
||
176 | pins = "gpio33"; |
||
177 | drive-strength = <10>; |
||
178 | bias-pull-down; |
||
179 | output-high; |
||
180 | }; |
||
181 | }; |
||
182 | |||
183 | usb0_pwr_en_pins: usb0_pwr_en_pins { |
||
184 | mux { |
||
185 | pins = "gpio15"; |
||
186 | function = "gpio"; |
||
187 | drive-strength = <12>; |
||
188 | bias-pull-down; |
||
189 | output-high; |
||
190 | }; |
||
191 | }; |
||
192 | |||
193 | usb1_pwr_en_pins: usb1_pwr_en_pins { |
||
194 | mux { |
||
195 | pins = "gpio16", "gpio68"; |
||
196 | function = "gpio"; |
||
197 | drive-strength = <12>; |
||
198 | bias-pull-down; |
||
199 | output-high; |
||
200 | }; |
||
201 | }; |
||
202 | }; |
||
203 | |||
204 | gsbi@16300000 { |
||
205 | qcom,mode = <GSBI_PROT_I2C_UART>; |
||
206 | status = "ok"; |
||
207 | serial@16340000 { |
||
208 | status = "ok"; |
||
209 | }; |
||
210 | /* |
||
211 | * The i2c device on gsbi4 should not be enabled. |
||
212 | * On ipq806x designs gsbi4 i2c is meant for exclusive |
||
213 | * RPM usage. Turning this on in kernel manifests as |
||
214 | * i2c failure for the RPM. |
||
215 | */ |
||
216 | }; |
||
217 | |||
218 | sata-phy@1b400000 { |
||
219 | status = "ok"; |
||
220 | }; |
||
221 | |||
222 | sata@29000000 { |
||
223 | ports-implemented = <0x1>; |
||
224 | status = "ok"; |
||
225 | }; |
||
226 | |||
227 | phy@100f8800 { /* USB3 port 1 HS phy */ |
||
228 | status = "ok"; |
||
229 | }; |
||
230 | |||
231 | phy@100f8830 { /* USB3 port 1 SS phy */ |
||
232 | status = "ok"; |
||
233 | }; |
||
234 | |||
235 | phy@110f8800 { /* USB3 port 0 HS phy */ |
||
236 | status = "ok"; |
||
237 | }; |
||
238 | |||
239 | phy@110f8830 { /* USB3 port 0 SS phy */ |
||
240 | status = "ok"; |
||
241 | }; |
||
242 | |||
243 | usb30@0 { |
||
244 | status = "ok"; |
||
245 | |||
246 | pinctrl-0 = <&usb0_pwr_en_pins>; |
||
247 | pinctrl-names = "default"; |
||
248 | }; |
||
249 | |||
250 | usb30@1 { |
||
251 | status = "ok"; |
||
252 | |||
253 | pinctrl-0 = <&usb1_pwr_en_pins>; |
||
254 | pinctrl-names = "default"; |
||
255 | }; |
||
256 | |||
257 | pcie0: pci@1b500000 { |
||
258 | status = "ok"; |
||
259 | }; |
||
260 | |||
261 | pcie1: pci@1b700000 { |
||
262 | status = "ok"; |
||
263 | force_gen1 = <1>; |
||
264 | }; |
||
265 | |||
266 | nand@1ac00000 { |
||
267 | status = "ok"; |
||
268 | |||
269 | pinctrl-0 = <&nand_pins>; |
||
270 | pinctrl-names = "default"; |
||
271 | |||
272 | cs0 { |
||
273 | reg = <0>; |
||
274 | compatible = "qcom,nandcs"; |
||
275 | |||
276 | nand-ecc-strength = <4>; |
||
277 | nand-bus-width = <8>; |
||
278 | nand-ecc-step-size = <512>; |
||
279 | |||
280 | partitions { |
||
281 | compatible = "fixed-partitions"; |
||
282 | #address-cells = <1>; |
||
283 | #size-cells = <1>; |
||
284 | |||
285 | qcadata@0 { |
||
286 | label = "qcadata"; |
||
287 | reg = <0x0000000 0x0c80000>; |
||
288 | read-only; |
||
289 | }; |
||
290 | |||
291 | APPSBL@c80000 { |
||
292 | label = "APPSBL"; |
||
293 | reg = <0x0c80000 0x0500000>; |
||
294 | read-only; |
||
295 | }; |
||
296 | |||
297 | APPSBLENV@1180000 { |
||
298 | label = "APPSBLENV"; |
||
299 | reg = <0x1180000 0x0080000>; |
||
300 | read-only; |
||
301 | }; |
||
302 | |||
303 | art: art@1200000 { |
||
304 | label = "art"; |
||
305 | reg = <0x1200000 0x0140000>; |
||
306 | read-only; |
||
307 | }; |
||
308 | |||
309 | artbak: art@1340000 { |
||
310 | label = "artbak"; |
||
311 | reg = <0x1340000 0x0140000>; |
||
312 | read-only; |
||
313 | }; |
||
314 | |||
315 | kernel@1480000 { |
||
316 | label = "kernel"; |
||
317 | reg = <0x1480000 0x0400000>; |
||
318 | }; |
||
319 | |||
320 | ubi@1880000 { |
||
321 | label = "ubi"; |
||
322 | reg = <0x1880000 0x6080000>; |
||
323 | }; |
||
324 | |||
325 | reserve@7900000 { |
||
326 | label = "reserve"; |
||
327 | reg = <0x7900000 0x0700000>; |
||
328 | read-only; |
||
329 | }; |
||
330 | }; |
||
331 | }; |
||
332 | }; |
||
333 | |||
334 | mdio0: mdio { |
||
335 | compatible = "virtual,mdio-gpio"; |
||
336 | #address-cells = <1>; |
||
337 | #size-cells = <0>; |
||
338 | gpios = <&qcom_pinmux 1 GPIO_ACTIVE_HIGH &qcom_pinmux 0 GPIO_ACTIVE_HIGH>; |
||
339 | pinctrl-0 = <&mdio0_pins>; |
||
340 | pinctrl-names = "default"; |
||
341 | |||
342 | |||
343 | phy0: ethernet-phy@0 { |
||
3 | office | 344 | device_type = "ethernet-phy"; |
1 | office | 345 | reg = <0>; |
346 | qca,ar8327-initvals = < |
||
347 | 0x00004 0x7600000 /* PAD0_MODE */ |
||
348 | 0x00008 0x1000000 /* PAD5_MODE */ |
||
349 | 0x0000c 0x80 /* PAD6_MODE */ |
||
350 | 0x000e4 0xaa545 /* MAC_POWER_SEL */ |
||
351 | 0x000e0 0xc74164de /* SGMII_CTRL */ |
||
352 | 0x0007c 0x4e /* PORT0_STATUS */ |
||
353 | 0x00094 0x4e /* PORT6_STATUS */ |
||
354 | 0x00970 0x1e864443 /* QM_PORT0_CTRL0 */ |
||
355 | 0x00974 0x000001c6 /* QM_PORT0_CTRL1 */ |
||
356 | 0x00978 0x19008643 /* QM_PORT1_CTRL0 */ |
||
357 | 0x0097c 0x000001c6 /* QM_PORT1_CTRL1 */ |
||
358 | 0x00980 0x19008643 /* QM_PORT2_CTRL0 */ |
||
359 | 0x00984 0x000001c6 /* QM_PORT2_CTRL1 */ |
||
360 | 0x00988 0x19008643 /* QM_PORT3_CTRL0 */ |
||
361 | 0x0098c 0x000001c6 /* QM_PORT3_CTRL1 */ |
||
362 | 0x00990 0x19008643 /* QM_PORT4_CTRL0 */ |
||
363 | 0x00994 0x000001c6 /* QM_PORT4_CTRL1 */ |
||
364 | 0x00998 0x1e864443 /* QM_PORT5_CTRL0 */ |
||
365 | 0x0099c 0x000001c6 /* QM_PORT5_CTRL1 */ |
||
366 | 0x009a0 0x1e864443 /* QM_PORT6_CTRL0 */ |
||
367 | 0x009a4 0x000001c6 /* QM_PORT6_CTRL1 */ |
||
368 | >; |
||
369 | qca,ar8327-vlans = < |
||
370 | 0x1 0x5e /* VLAN1 Ports 1/2/3/4/6 */ |
||
371 | 0x2 0x21 /* VLAN2 Ports 0/5 */ |
||
372 | >; |
||
373 | }; |
||
374 | |||
375 | phy4: ethernet-phy@4 { |
||
3 | office | 376 | device_type = "ethernet-phy"; |
1 | office | 377 | reg = <4>; |
378 | qca,ar8327-initvals = < |
||
379 | 0x000e4 0x6a545 /* MAC_POWER_SEL */ |
||
380 | 0x0000c 0x80 /* PAD6_MODE */ |
||
381 | >; |
||
382 | }; |
||
383 | }; |
||
384 | |||
385 | gmac1: ethernet@37200000 { |
||
386 | status = "ok"; |
||
387 | phy-mode = "rgmii"; |
||
388 | qcom,id = <1>; |
||
389 | qcom,phy_mdio_addr = <4>; |
||
390 | qcom,poll_required = <0>; |
||
391 | qcom,rgmii_delay = <1>; |
||
392 | qcom,phy_mii_type = <0>; |
||
393 | qcom,emulation = <0>; |
||
394 | qcom,irq = <255>; |
||
395 | mdiobus = <&mdio0>; |
||
396 | |||
397 | pinctrl-0 = <&rgmii2_pins>; |
||
398 | pinctrl-names = "default"; |
||
399 | |||
400 | mtd-mac-address = <&art 6>; |
||
401 | |||
402 | fixed-link { |
||
403 | speed = <1000>; |
||
404 | full-duplex; |
||
405 | }; |
||
406 | }; |
||
407 | |||
408 | gmac2: ethernet@37400000 { |
||
409 | status = "ok"; |
||
410 | phy-mode = "sgmii"; |
||
411 | qcom,id = <2>; |
||
412 | qcom,phy_mdio_addr = <0>; /* none */ |
||
413 | qcom,poll_required = <0>; /* no polling */ |
||
414 | qcom,rgmii_delay = <0>; |
||
415 | qcom,phy_mii_type = <1>; |
||
416 | qcom,emulation = <0>; |
||
417 | qcom,irq = <258>; |
||
418 | mdiobus = <&mdio0>; |
||
419 | |||
420 | mtd-mac-address = <&art 0>; |
||
421 | |||
422 | fixed-link { |
||
423 | speed = <1000>; |
||
424 | full-duplex; |
||
425 | }; |
||
426 | }; |
||
427 | }; |
||
428 | |||
3 | office | 429 | gpio-keys { |
1 | office | 430 | compatible = "gpio-keys"; |
431 | pinctrl-0 = <&button_pins>; |
||
432 | pinctrl-names = "default"; |
||
433 | |||
434 | wifi { |
||
435 | label = "wifi"; |
||
436 | gpios = <&qcom_pinmux 6 GPIO_ACTIVE_LOW>; |
||
437 | linux,code = <KEY_RFKILL>; |
||
438 | debounce-interval = <60>; |
||
439 | wakeup-source; |
||
440 | }; |
||
441 | |||
442 | reset { |
||
443 | label = "reset"; |
||
444 | gpios = <&qcom_pinmux 54 GPIO_ACTIVE_LOW>; |
||
445 | linux,code = <KEY_RESTART>; |
||
446 | debounce-interval = <60>; |
||
447 | wakeup-source; |
||
448 | }; |
||
449 | |||
450 | wps { |
||
451 | label = "wps"; |
||
452 | gpios = <&qcom_pinmux 65 GPIO_ACTIVE_LOW>; |
||
453 | linux,code = <KEY_WPS_BUTTON>; |
||
454 | debounce-interval = <60>; |
||
455 | wakeup-source; |
||
456 | }; |
||
457 | }; |
||
458 | |||
3 | office | 459 | gpio-leds { |
1 | office | 460 | compatible = "gpio-leds"; |
461 | pinctrl-0 = <&led_pins>; |
||
462 | pinctrl-names = "default"; |
||
463 | |||
464 | power_white: power_white { |
||
465 | label = "r7800:white:power"; |
||
466 | gpios = <&qcom_pinmux 53 GPIO_ACTIVE_HIGH>; |
||
467 | default-state = "keep"; |
||
468 | }; |
||
469 | |||
470 | power_amber: power_amber { |
||
471 | label = "r7800:amber:power"; |
||
472 | gpios = <&qcom_pinmux 9 GPIO_ACTIVE_HIGH>; |
||
473 | }; |
||
474 | |||
475 | wan_white { |
||
476 | label = "r7800:white:wan"; |
||
477 | gpios = <&qcom_pinmux 22 GPIO_ACTIVE_HIGH>; |
||
478 | }; |
||
479 | |||
480 | wan_amber { |
||
481 | label = "r7800:amber:wan"; |
||
482 | gpios = <&qcom_pinmux 23 GPIO_ACTIVE_HIGH>; |
||
483 | }; |
||
484 | |||
485 | usb1 { |
||
486 | label = "r7800:white:usb1"; |
||
487 | gpios = <&qcom_pinmux 7 GPIO_ACTIVE_HIGH>; |
||
488 | }; |
||
489 | |||
490 | usb2 { |
||
491 | label = "r7800:white:usb2"; |
||
492 | gpios = <&qcom_pinmux 8 GPIO_ACTIVE_HIGH>; |
||
493 | }; |
||
494 | |||
495 | esata { |
||
496 | label = "r7800:white:esata"; |
||
497 | gpios = <&qcom_pinmux 26 GPIO_ACTIVE_HIGH>; |
||
498 | }; |
||
499 | |||
500 | wifi { |
||
501 | label = "r7800:white:wifi"; |
||
502 | gpios = <&qcom_pinmux 64 GPIO_ACTIVE_HIGH>; |
||
503 | }; |
||
504 | |||
505 | wps { |
||
506 | label = "r7800:white:wps"; |
||
507 | gpios = <&qcom_pinmux 24 GPIO_ACTIVE_HIGH>; |
||
508 | }; |
||
509 | }; |
||
510 | }; |
||
511 | |||
512 | &adm_dma { |
||
513 | status = "ok"; |
||
514 | }; |