7b236af253e6409838c9bc109541c20dffaa5d4d
[openwrt/openwrt.git] / target / linux / ipq806x / files / arch / arm / boot / dts / qcom-ipq8065-tr4400-v2.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later
2
3 #include "qcom-ipq8065-smb208.dtsi"
4 #include <dt-bindings/input/input.h>
5
6 / {
7 model = "Arris TR4400 v2";
8 compatible = "arris,tr4400-v2", "qcom,ipq8065", "qcom,ipq8064";
9
10 memory@0 {
11 reg = <0x42000000 0x1e000000>;
12 device_type = "memory";
13 };
14
15 aliases {
16 led-boot = &led_status_blue;
17 led-failsafe = &led_status_red;
18 led-running = &led_status_blue;
19 led-upgrade = &led_status_red;
20 };
21
22 chosen {
23 bootargs = "rootfstype=squashfs noinitrd";
24 };
25
26 keys {
27 compatible = "gpio-keys";
28 pinctrl-0 = <&button_pins>;
29 pinctrl-names = "default";
30
31 reset {
32 label = "reset";
33 gpios = <&qcom_pinmux 6 GPIO_ACTIVE_LOW>;
34 linux,code = <KEY_RESTART>;
35 debounce-interval = <60>;
36 wakeup-source;
37 };
38
39 wps {
40 label = "wps";
41 gpios = <&qcom_pinmux 54 GPIO_ACTIVE_LOW>;
42 linux,code = <KEY_WPS_BUTTON>;
43 debounce-interval = <60>;
44 wakeup-source;
45 };
46 };
47
48 leds {
49 compatible = "gpio-leds";
50 pinctrl-0 = <&led_pins>;
51 pinctrl-names = "default";
52
53 led_status_red: status_red {
54 label = "red:status";
55 gpios = <&qcom_pinmux 7 GPIO_ACTIVE_HIGH>;
56 };
57
58 led_status_blue: status_blue {
59 label = "blue:status";
60 gpios = <&qcom_pinmux 8 GPIO_ACTIVE_HIGH>;
61 };
62 };
63 };
64
65 &qcom_pinmux {
66 button_pins: button_pins {
67 mux {
68 pins = "gpio6", "gpio54";
69 function = "gpio";
70 drive-strength = <2>;
71 bias-pull-up;
72 };
73 };
74
75 led_pins: led_pins {
76 mux {
77 pins = "gpio7", "gpio8";
78 function = "gpio";
79 drive-strength = <2>;
80 bias-pull-down;
81 };
82 };
83
84 rgmii2_pins: rgmii2-pins {
85 tx {
86 pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32";
87 input-disable;
88 };
89 };
90
91 spi_pins: spi_pins {
92 cs {
93 pins = "gpio20";
94 drive-strength = <12>;
95 };
96 };
97 };
98
99 &gsbi5 {
100 qcom,mode = <GSBI_PROT_SPI>;
101 status = "okay";
102
103 spi@1a280000 {
104 status = "okay";
105
106 pinctrl-0 = <&spi_pins>;
107 pinctrl-names = "default";
108
109 cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
110
111 flash@0 {
112 compatible = "everspin,mr25h256";
113 spi-max-frequency = <40000000>;
114 reg = <0>;
115 };
116 };
117 };
118
119 &nand {
120 status = "okay";
121
122 nand@0 {
123 reg = <0>;
124 compatible = "qcom,nandcs";
125
126 nand-ecc-strength = <4>;
127 nand-bus-width = <8>;
128 nand-ecc-step-size = <512>;
129
130 qcom,boot-partitions = <0x0 0x1180000 0x5340000 0x10c0000>;
131
132 partitions {
133 compatible = "fixed-partitions";
134 #address-cells = <1>;
135 #size-cells = <1>;
136
137 partition@0 {
138 label = "0:SBL1";
139 reg = <0x0000000 0x0040000>;
140 read-only;
141 };
142 partition@40000 {
143 label = "0:MIBIB";
144 reg = <0x0040000 0x0140000>;
145 read-only;
146 };
147 partition@180000 {
148 label = "0:SBL2";
149 reg = <0x0180000 0x0140000>;
150 read-only;
151 };
152 partition@2c0000 {
153 label = "0:SBL3";
154 reg = <0x02c0000 0x0280000>;
155 read-only;
156 };
157 partition@540000 {
158 label = "0:DDRCONFIG";
159 reg = <0x0540000 0x0120000>;
160 read-only;
161 };
162 partition@660000 {
163 label = "0:SSD";
164 reg = <0x0660000 0x0120000>;
165 read-only;
166 };
167 partition@780000 {
168 label = "0:TZ";
169 reg = <0x0780000 0x0280000>;
170 read-only;
171 };
172 partition@a00000 {
173 label = "0:RPM";
174 reg = <0x0a00000 0x0280000>;
175 read-only;
176 };
177 partition@c80000 {
178 label = "0:APPSBL";
179 reg = <0x0c80000 0x0500000>;
180 read-only;
181 };
182 partition@1180000 {
183 label = "0:APPSBLENV";
184 reg = <0x1180000 0x0080000>;
185 };
186 partition@1200000 {
187 label = "0:ART";
188 reg = <0x1200000 0x0140000>;
189 read-only;
190
191 compatible = "nvmem-cells";
192 #address-cells = <1>;
193 #size-cells = <1>;
194
195 precal_ART_1000: precal@1000 {
196 reg = <0x1000 0x2f20>;
197 };
198 precal_ART_5000: precal@5000 {
199 reg = <0x5000 0x2f20>;
200 };
201 };
202 stock_partition@1340000 {
203 label = "stock_rootfs";
204 reg = <0x1340000 0x4000000>;
205 };
206 partition@5340000 {
207 label = "0:BOOTCONFIG";
208 reg = <0x5340000 0x0060000>;
209 read-only;
210 };
211 partition@53a0000 {
212 label = "0:SBL2_1";
213 reg = <0x53a0000 0x0140000>;
214 read-only;
215 };
216 partition@54e0000 {
217 label = "0:SBL3_1";
218 reg = <0x54e0000 0x0280000>;
219 read-only;
220 };
221 partition@5760000 {
222 label = "0:DDRCONFIG_1";
223 reg = <0x5760000 0x0120000>;
224 read-only;
225 };
226 partition@5880000 {
227 label = "0:SSD_1";
228 reg = <0x5880000 0x0120000>;
229 read-only;
230 };
231 partition@59a0000 {
232 label = "0:TZ_1";
233 reg = <0x59a0000 0x0280000>;
234 read-only;
235 };
236 partition@5c20000 {
237 label = "0:RPM_1";
238 reg = <0x5c20000 0x0280000>;
239 read-only;
240 };
241 partition@5ea0000 {
242 label = "0:BOOTCONFIG1";
243 reg = <0x5ea0000 0x0060000>;
244 read-only;
245 };
246 partition@5f00000 {
247 label = "0:APPSBL_1";
248 reg = <0x5f00000 0x0500000>;
249 read-only;
250 };
251 stock_partition@6400000 {
252 label = "stock_rootfs_1";
253 reg = <0x6400000 0x4000000>;
254 };
255 stock_partition@a400000 {
256 label = "stock_fw_env";
257 reg = <0xa400000 0x0100000>;
258 };
259 stock_partition@a500000 {
260 label = "stock_config";
261 reg = <0xa500000 0x0800000>;
262 };
263 stock_partition@ad00000 {
264 label = "stock_PKI";
265 reg = <0xad00000 0x0200000>;
266 };
267 stock_partition@af00000 {
268 label = "stock_scfgmgr";
269 reg = <0xaf00000 0x0100000>;
270 };
271
272 partition@6400000 {
273 label = "fw_env";
274 reg = <0x6400000 0x0100000>;
275
276 compatible = "nvmem-cells";
277 #address-cells = <1>;
278 #size-cells = <1>;
279
280 macaddr_fw_env_0: macaddr@0 {
281 reg = <0x00 0x6>;
282 };
283 macaddr_fw_env_6: macaddr@6 {
284 reg = <0x06 0x6>;
285 };
286 macaddr_fw_env_c: macaddr@c {
287 reg = <0x0c 0x6>;
288 };
289 macaddr_fw_env_12: macaddr@12 {
290 reg = <0x12 0x6>;
291 };
292 macaddr_fw_env_18: macaddr@18 {
293 reg = <0x18 0x6>;
294 };
295 };
296 partition@6500000 {
297 label = "ubi";
298 reg = <0x6500000 0x9b00000>;
299 };
300 partition@1340000 {
301 label = "extra";
302 reg = <0x1340000 0x4000000>;
303 };
304 };
305 };
306 };
307
308 &mdio0 {
309 status = "okay";
310
311 pinctrl-0 = <&mdio0_pins>;
312 pinctrl-names = "default";
313
314 ethernet-phy@0 {
315 reg = <0x0>;
316 qca,ar8327-initvals = <
317 0x00004 0x7600000 /* PAD0_MODE */
318 0x00008 0x1000000 /* PAD5_MODE */
319 0x0000c 0x80 /* PAD6_MODE */
320 0x000e4 0xaa545 /* MAC_POWER_SEL */
321 0x000e0 0xc74164de /* SGMII_CTRL */
322 0x0007c 0x4e /* PORT0_STATUS */
323 0x00094 0x4e /* PORT6_STATUS */
324 >;
325 };
326
327 phy7: ethernet-phy@7 {
328 reg = <7>;
329 };
330 };
331
332 &gmac0 {
333 status = "okay";
334 phy-mode = "rgmii";
335 qcom,id = <0>;
336
337 nvmem-cells = <&macaddr_fw_env_18>;
338 nvmem-cell-names = "mac-address";
339
340 pinctrl-0 = <&rgmii2_pins>;
341 pinctrl-names = "default";
342
343 fixed-link {
344 speed = <1000>;
345 full-duplex;
346 };
347 };
348
349 &gmac1 {
350 status = "okay";
351 phy-mode = "sgmii";
352 qcom,id = <1>;
353
354 nvmem-cells = <&macaddr_fw_env_0>;
355 nvmem-cell-names = "mac-address";
356
357 fixed-link {
358 speed = <1000>;
359 full-duplex;
360 };
361 };
362
363 &gmac3 {
364 status = "okay";
365 phy-mode = "sgmii";
366 qcom,id = <3>;
367 phy-handle = <&phy7>;
368
369 nvmem-cells = <&macaddr_fw_env_6>;
370 nvmem-cell-names = "mac-address";
371 };
372
373 &adm_dma {
374 status = "okay";
375 };
376
377 &hs_phy_1 {
378 status = "okay";
379 };
380
381 &ss_phy_1 {
382 status = "okay";
383 };
384
385 &usb3_1 {
386 status = "okay";
387 };
388
389 &pcie0 {
390 status = "okay";
391 reset-gpio = <&qcom_pinmux 3 GPIO_ACTIVE_HIGH>;
392 pinctrl-0 = <&pcie0_pins>;
393 pinctrl-names = "default";
394
395 bridge@0,0 {
396 reg = <0x00000000 0 0 0 0>;
397 #address-cells = <3>;
398 #size-cells = <2>;
399 ranges;
400
401 wifi0: wifi@1,0 {
402 compatible = "pci168c,0046";
403 reg = <0x00010000 0 0 0 0>;
404
405 nvmem-cells = <&precal_ART_1000>, <&macaddr_fw_env_12>;
406 nvmem-cell-names = "pre-calibration", "mac-address";
407 };
408 };
409 };
410
411 &pcie1 {
412 status = "okay";
413 reset-gpio = <&qcom_pinmux 48 GPIO_ACTIVE_HIGH>;
414 pinctrl-0 = <&pcie1_pins>;
415 pinctrl-names = "default";
416 max-link-speed = <1>;
417
418 bridge@0,0 {
419 reg = <0x00000000 0 0 0 0>;
420 #address-cells = <3>;
421 #size-cells = <2>;
422 ranges;
423
424 wifi1: wifi@1,0 {
425 compatible = "pci168c,0040";
426 reg = <0x00010000 0 0 0 0>;
427
428 nvmem-cells = <&precal_ART_5000>, <&macaddr_fw_env_c>;
429 nvmem-cell-names = "pre-calibration", "mac-address";
430 };
431 };
432 };