ipq806x: rename R7800 device tree file, merge R7500v2 dts addition
[openwrt/openwrt.git] / target / linux / ipq806x / files / arch / arm / boot / dts / qcom-ipq8065-r7800.dts
1 #include "qcom-ipq8065-v1.0.dtsi"
2
3 #include <dt-bindings/input/input.h>
4
5 / {
6 model = "Netgear Nighthawk X4S R7800";
7 compatible = "netgear,r7800", "qcom,ipq8065";
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
24 aliases {
25 serial0 = &uart4;
26 mdio-gpio0 = &mdio0;
27 };
28
29 chosen {
30 bootargs = "rootfstype=squashfs noinitrd";
31 linux,stdout-path = "serial0:115200n8";
32 };
33
34 soc {
35 pinmux@800000 {
36 i2c4_pins: i2c4_pinmux {
37 pins = "gpio12", "gpio13";
38 function = "gsbi4";
39 bias-disable;
40 };
41
42 pcie0_pins: pcie0_pinmux {
43 mux {
44 pins = "gpio3";
45 function = "pcie1_rst";
46 drive-strength = <12>;
47 bias-disable;
48 };
49 };
50
51 pcie1_pins: pcie1_pinmux {
52 mux {
53 pins = "gpio48";
54 function = "pcie2_rst";
55 drive-strength = <12>;
56 bias-disable;
57 };
58 };
59
60 nand_pins: nand_pins {
61 mux {
62 pins = "gpio34", "gpio35", "gpio36",
63 "gpio37", "gpio38", "gpio39",
64 "gpio40", "gpio41", "gpio42",
65 "gpio43", "gpio44", "gpio45",
66 "gpio46", "gpio47";
67 function = "nand";
68 drive-strength = <10>;
69 bias-disable;
70 };
71 pullups {
72 pins = "gpio39";
73 bias-pull-up;
74 };
75 hold {
76 pins = "gpio40", "gpio41", "gpio42",
77 "gpio43", "gpio44", "gpio45",
78 "gpio46", "gpio47";
79 bias-bus-hold;
80 };
81 };
82
83 mdio0_pins: mdio0_pins {
84 mux {
85 pins = "gpio0", "gpio1";
86 function = "gpio";
87 drive-strength = <8>;
88 bias-disable;
89 };
90 };
91
92 rgmii2_pins: rgmii2_pins {
93 mux {
94 pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32",
95 "gpio51", "gpio52", "gpio59", "gpio60", "gpio61", "gpio62" ;
96 function = "rgmii2";
97 drive-strength = <8>;
98 bias-disable;
99 };
100 };
101 };
102
103 gsbi@16300000 {
104 qcom,mode = <GSBI_PROT_I2C_UART>;
105 status = "ok";
106 serial@16340000 {
107 status = "ok";
108 };
109 /*
110 * The i2c device on gsbi4 should not be enabled.
111 * On ipq806x designs gsbi4 i2c is meant for exclusive
112 * RPM usage. Turning this on in kernel manifests as
113 * i2c failure for the RPM.
114 */
115 };
116
117 sata-phy@1b400000 {
118 status = "ok";
119 };
120
121 sata@29000000 {
122 status = "ok";
123 };
124
125 phy@100f8800 { /* USB3 port 1 HS phy */
126 status = "ok";
127 };
128
129 phy@100f8830 { /* USB3 port 1 SS phy */
130 status = "ok";
131 };
132
133 phy@110f8800 { /* USB3 port 0 HS phy */
134 status = "ok";
135 };
136
137 phy@110f8830 { /* USB3 port 0 SS phy */
138 status = "ok";
139 };
140
141 usb30@0 {
142 status = "ok";
143 };
144
145 usb30@1 {
146 status = "ok";
147 };
148
149 pcie0: pci@1b500000 {
150 status = "ok";
151 reset-gpio = <&qcom_pinmux 3 GPIO_ACTIVE_LOW>;
152 pinctrl-0 = <&pcie0_pins>;
153 pinctrl-names = "default";
154 };
155
156 pcie1: pci@1b700000 {
157 status = "ok";
158 reset-gpio = <&qcom_pinmux 48 GPIO_ACTIVE_LOW>;
159 pinctrl-0 = <&pcie1_pins>;
160 pinctrl-names = "default";
161 };
162
163 nand@1ac00000 {
164 status = "ok";
165
166 pinctrl-0 = <&nand_pins>;
167 pinctrl-names = "default";
168
169 nand-ecc-strength = <4>;
170 nand-bus-width = <8>;
171
172 #address-cells = <1>;
173 #size-cells = <1>;
174
175 qcadata@0 {
176 label = "qcadata";
177 reg = <0x0000000 0x0c80000>;
178 read-only;
179 };
180
181 APPSBL@c80000 {
182 label = "APPSBL";
183 reg = <0x0c80000 0x0500000>;
184 read-only;
185 };
186
187 APPSBLENV@1180000 {
188 label = "APPSBLENV";
189 reg = <0x1180000 0x0080000>;
190 read-only;
191 };
192
193 art: art@1200000 {
194 label = "art";
195 reg = <0x1200000 0x0140000>;
196 read-only;
197 };
198
199 artbak: art@1340000 {
200 label = "artbak";
201 reg = <0x1340000 0x0140000>;
202 read-only;
203 };
204
205 kernel@1480000 {
206 label = "kernel";
207 reg = <0x1480000 0x0200000>;
208 };
209
210 ubi@1680000 {
211 label = "ubi";
212 reg = <0x1680000 0x1E00000>;
213 };
214
215 netgear@3480000 {
216 label = "netgear";
217 reg = <0x3480000 0x4480000>;
218 read-only;
219 };
220
221 reserve@7900000 {
222 label = "reserve";
223 reg = <0x7900000 0x0700000>;
224 read-only;
225 };
226
227 firmware@1480000 {
228 label = "firmware";
229 reg = <0x1480000 0x2000000>;
230 };
231
232 };
233
234 mdio0: mdio {
235 compatible = "virtual,mdio-gpio";
236 #address-cells = <1>;
237 #size-cells = <0>;
238 gpios = <&qcom_pinmux 1 0 &qcom_pinmux 0 0>;
239 pinctrl-0 = <&mdio0_pins>;
240 pinctrl-names = "default";
241
242 phy0: ethernet-phy@0 {
243 device_type = "ethernet-phy";
244 reg = <0>;
245 qca,ar8327-initvals = <
246 0x00004 0x7600000 /* PAD0_MODE */
247 0x00008 0x1000000 /* PAD5_MODE */
248 0x0000c 0x80 /* PAD6_MODE */
249 0x000e4 0x6a545 /* MAC_POWER_SEL */
250 0x000e0 0xc74164de /* SGMII_CTRL */
251 0x0007c 0x4e /* PORT0_STATUS */
252 0x00094 0x4e /* PORT6_STATUS */
253 >;
254 };
255
256 phy4: ethernet-phy@4 {
257 device_type = "ethernet-phy";
258 reg = <4>;
259 };
260 };
261
262 gmac1: ethernet@37200000 {
263 status = "ok";
264 phy-mode = "rgmii";
265 qcom,id = <1>;
266
267 pinctrl-0 = <&rgmii2_pins>;
268 pinctrl-names = "default";
269
270 mtd-mac-address = <&art 6>;
271
272 fixed-link {
273 speed = <1000>;
274 full-duplex;
275 };
276 };
277
278 gmac2: ethernet@37400000 {
279 status = "ok";
280 phy-mode = "sgmii";
281 qcom,id = <2>;
282
283 mtd-mac-address = <&art 0>;
284
285 fixed-link {
286 speed = <1000>;
287 full-duplex;
288 };
289 };
290 };
291
292 gpio-keys {
293 compatible = "gpio-keys";
294
295 wifi {
296 label = "wifi";
297 gpios = <&qcom_pinmux 6 1>;
298 linux,code = <KEY_WLAN>;
299 };
300
301 reset {
302 label = "reset";
303 gpios = <&qcom_pinmux 54 1>;
304 linux,code = <KEY_RESTART>;
305 };
306
307 wps {
308 label = "wps";
309 gpios = <&qcom_pinmux 65 1>;
310 linux,code = <KEY_WPS_BUTTON>;
311 };
312 };
313
314 gpio-leds {
315 compatible = "gpio-leds";
316
317 usb1 {
318 label = "r7800:amber:usb1";
319 gpios = <&qcom_pinmux 7 0>;
320 };
321
322 usb3 {
323 label = "r7800:amber:usb3";
324 gpios = <&qcom_pinmux 8 0>;
325 };
326
327 status {
328 label = "r7800:amber:status";
329 gpios = <&qcom_pinmux 9 0>;
330 };
331
332 internet {
333 label = "r7800:white:internet";
334 gpios = <&qcom_pinmux 22 0>;
335 };
336
337 wan {
338 label = "r7800:white:wan";
339 gpios = <&qcom_pinmux 23 0>;
340 };
341
342 wps {
343 label = "r7800:white:wps";
344 gpios = <&qcom_pinmux 24 0>;
345 };
346
347 esata {
348 label = "r7800:white:esata";
349 gpios = <&qcom_pinmux 26 0>;
350 };
351
352 power {
353 label = "r7800:white:power";
354 gpios = <&qcom_pinmux 53 0>;
355 default-state = "on";
356 };
357
358 rfkill {
359 label = "r7800:white:rfkill";
360 gpios = <&qcom_pinmux 64 0>;
361 };
362
363 wifi {
364 label = "r7800:white:wifi";
365 gpios = <&qcom_pinmux 67 0>;
366 };
367 };
368
369 gpio_export {
370 compatible = "gpio-export";
371 #size-cells = <0>;
372
373 display_data {
374 gpio-export,name = "usb0";
375 gpio-export,output = <1>;
376 gpios = <&qcom_pinmux 15 0>;
377 };
378
379 display_clock {
380 gpio-export,name = "usb1";
381 gpio-export,output = <1>;
382 gpios = <&qcom_pinmux 16 0>;
383 };
384 };
385 };
386
387 &adm_dma {
388 status = "ok";
389 };