hostapd: bump to 2024-09-06 (wip)
[openwrt/staging/xback.git] / target / linux / ipq40xx / files-6.6 / arch / arm / boot / dts / qcom / qcom-ipq4019-mf286d.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2 // Copyright (c) 2022, Pawel Dembicki <paweldembicki@gmail.com>.
3
4 #include "qcom-ipq4019.dtsi"
5 #include <dt-bindings/soc/qcom,tcsr.h>
6 #include <dt-bindings/gpio/gpio.h>
7 #include <dt-bindings/input/input.h>
8 #include <dt-bindings/leds/common.h>
9
10 / {
11 model = "ZTE MF286D";
12 compatible = "zte,mf286d";
13
14 aliases {
15 led-boot = &led_internal;
16 led-failsafe = &led_internal;
17 led-running = &led_internal;
18 led-upgrade = &led_internal;
19 };
20
21 chosen {
22 /*
23 * bootargs forced by u-boot bootipq command:
24 * 'ubi.mtd=rootfs root=mtd:ubi_rootfs rootfstype=squashfs rootwait'
25 */
26 bootargs-append = " root=/dev/ubiblock0_1";
27 };
28
29 gpio-restart {
30 compatible = "gpio-restart";
31 gpios = <&tlmm 8 GPIO_ACTIVE_HIGH>;
32 };
33
34 leds {
35 compatible = "gpio-leds";
36
37 led_internal: led-0 {
38 function = LED_FUNCTION_STATUS;
39 color = <LED_COLOR_ID_BLUE>;
40 gpios = <&tlmm 10 GPIO_ACTIVE_LOW>;
41 label = "blue:internal_led";
42 default-state = "keep";
43 };
44
45 led-1 {
46 function = LED_FUNCTION_WLAN;
47 color = <LED_COLOR_ID_BLUE>;
48 gpios = <&tlmm 61 GPIO_ACTIVE_LOW>;
49 linux,default-trigger = "phy0tpt";
50 };
51 };
52
53 keys {
54 compatible = "gpio-keys";
55
56 wifi {
57 label = "wifi";
58 linux,code = <KEY_RFKILL>;
59 gpios = <&tlmm 11 GPIO_ACTIVE_LOW>;
60 };
61
62 reset {
63 label = "reset";
64 linux,code = <KEY_RESTART>;
65 gpios = <&tlmm 18 GPIO_ACTIVE_LOW>;
66 };
67
68 wps {
69 label = "wps";
70 linux,code = <KEY_WPS_BUTTON>;
71 gpios = <&tlmm 68 GPIO_ACTIVE_LOW>;
72 };
73 };
74
75 soc {
76 tcsr@1949000 {
77 compatible = "qcom,tcsr";
78 reg = <0x1949000 0x100>;
79 qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
80 };
81
82 tcsr@194b000 {
83 /* select hostmode */
84 compatible = "qcom,tcsr";
85 reg = <0x194b000 0x100>;
86 qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
87 status = "okay";
88 };
89
90 ess_tcsr@1953000 {
91 compatible = "qcom,tcsr";
92 reg = <0x1953000 0x1000>;
93 qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
94 };
95
96 tcsr@1957000 {
97 compatible = "qcom,tcsr";
98 reg = <0x1957000 0x100>;
99 qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
100 };
101 };
102 };
103
104 &watchdog {
105 status = "okay";
106 };
107
108 &prng {
109 status = "okay";
110 };
111
112 &crypto {
113 status = "okay";
114 };
115
116 &blsp_dma {
117 status = "okay";
118 };
119
120 &blsp1_spi1 {
121 pinctrl-0 = <&spi_0_pins>;
122 pinctrl-names = "default";
123 status = "okay";
124 cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
125
126 flash@0 {
127 /* u-boot is looking for "n25q128a11" property */
128 compatible = "jedec,spi-nor", "n25q128a11";
129 #address-cells = <1>;
130 #size-cells = <1>;
131 reg = <0>;
132 spi-max-frequency = <24000000>;
133
134 partitions {
135 compatible = "fixed-partitions";
136 #address-cells = <1>;
137 #size-cells = <1>;
138
139 partition@0 {
140 label = "0:SBL1";
141 reg = <0x0 0x40000>;
142 read-only;
143 };
144
145 partition@40000 {
146 label = "0:MIBIB";
147 reg = <0x40000 0x20000>;
148 read-only;
149 };
150
151 partition@60000 {
152 label = "0:QSEE";
153 reg = <0x60000 0x60000>;
154 read-only;
155 };
156
157 partition@c0000 {
158 label = "0:CDT";
159 reg = <0xc0000 0x10000>;
160 read-only;
161 };
162
163 partition@d0000 {
164 label = "0:DDRPARAMS";
165 reg = <0xd0000 0x10000>;
166 read-only;
167 };
168
169 partition@e0000 {
170 label = "0:APPSBLENV";
171 reg = <0xe0000 0x10000>;
172 read-only;
173 };
174
175 partition@f0000 {
176 label = "0:APPSBL";
177 reg = <0xf0000 0xc0000>;
178 read-only;
179 };
180
181 partition@1b0000 {
182 label = "0:reserved1";
183 reg = <0x1b0000 0x50000>;
184 read-only;
185 };
186 };
187 };
188 };
189
190 &blsp1_uart1 {
191 pinctrl-0 = <&serial_pins>;
192 pinctrl-names = "default";
193 status = "okay";
194 };
195
196 &cryptobam {
197 status = "okay";
198 };
199
200 &mdio {
201 status = "okay";
202 pinctrl-0 = <&mdio_pins>;
203 pinctrl-names = "default";
204 reset-gpios = <&tlmm 47 GPIO_ACTIVE_LOW>;
205 reset-delay-us = <2000>;
206 };
207
208 &gmac {
209 status = "okay";
210 nvmem-cell-names = "mac-address";
211 nvmem-cells = <&macaddr_config_0 0>;
212 };
213
214 &nand {
215 pinctrl-0 = <&nand_pins>;
216 pinctrl-names = "default";
217 status = "okay";
218
219 nand@0 {
220 partitions {
221 compatible = "fixed-partitions";
222 #address-cells = <1>;
223 #size-cells = <1>;
224
225 partition@0 {
226 label = "fota-flag";
227 reg = <0x0 0xa0000>;
228 read-only;
229 };
230
231 partition@a0000 {
232 label = "ART";
233 reg = <0xa0000 0x80000>;
234 read-only;
235
236 nvmem-layout {
237 compatible = "fixed-layout";
238 #address-cells = <1>;
239 #size-cells = <1>;
240
241 precal_art_1000: precal@1000 {
242 reg = <0x1000 0x2f20>;
243 };
244
245 precal_art_5000: precal@5000 {
246 reg = <0x5000 0x2f20>;
247 };
248 };
249 };
250
251 partition@120000 {
252 label = "mac";
253 reg = <0x120000 0x80000>;
254 read-only;
255
256 nvmem-layout {
257 compatible = "fixed-layout";
258 #address-cells = <1>;
259 #size-cells = <1>;
260
261 macaddr_config_0: macaddr@0 {
262 compatible = "mac-base";
263 reg = <0x0 0x6>;
264 #nvmem-cell-cells = <1>;
265 };
266 };
267 };
268
269 partition@1a0000 {
270 label = "reserved2";
271 reg = <0x1a0000 0xc0000>;
272 read-only;
273 };
274
275 partition@260000 {
276 label = "cfg-param";
277 reg = <0x260000 0x400000>;
278 read-only;
279 };
280
281 partition@660000 {
282 label = "log";
283 reg = <0x660000 0x400000>;
284 };
285
286 partition@a60000 {
287 label = "oops";
288 reg = <0xa60000 0xa0000>;
289 };
290
291 partition@b00000 {
292 label = "reserved3";
293 reg = <0xb00000 0x500000>;
294 read-only;
295 };
296
297 partition@1000000 {
298 label = "web";
299 reg = <0x1000000 0x800000>;
300 };
301
302 partition@1800000 {
303 label = "rootfs";
304 reg = <0x1800000 0x1d00000>;
305 };
306
307 partition@3500000 {
308 label = "data";
309 reg = <0x3500000 0x1900000>;
310 };
311
312 partition@4e00000 {
313 label = "fota";
314 reg = <0x4e00000 0x3200000>;
315 };
316 };
317 };
318 };
319
320 &qpic_bam {
321 status = "okay";
322 };
323
324 &switch {
325 status = "okay";
326 };
327
328 &swport2 {
329 status = "okay";
330
331 label = "lan4";
332 };
333
334 &swport3 {
335 status = "okay";
336
337 label = "lan3";
338 };
339
340 &swport4 {
341 status = "okay";
342
343 label = "lan2";
344 };
345
346 &swport5 {
347 status = "okay";
348
349 nvmem-cell-names = "mac-address";
350 nvmem-cells = <&macaddr_config_0 1>;
351 };
352
353 &tlmm {
354 i2c_0_pins: i2c_0_pinmux {
355 mux {
356 pins = "gpio20", "gpio21";
357 function = "blsp_i2c0";
358 bias-disable;
359 };
360 };
361
362 mdio_pins: mdio_pinmux {
363 mux_1 {
364 pins = "gpio6";
365 function = "mdio";
366 bias-pull-up;
367 };
368
369 mux_2 {
370 pins = "gpio7";
371 function = "mdc";
372 bias-pull-up;
373 };
374 };
375
376 nand_pins: nand_pins {
377 pullups {
378 pins = "gpio52", "gpio53", "gpio58",
379 "gpio59";
380 function = "qpic";
381 bias-pull-up;
382 };
383
384 pulldowns {
385 pins = "gpio54", "gpio55", "gpio56",
386 "gpio57", "gpio60",
387 "gpio62", "gpio63", "gpio64",
388 "gpio65", "gpio66", "gpio67",
389 "gpio69";
390 function = "qpic";
391 bias-pull-down;
392 };
393 };
394
395 serial_pins: serial_pinmux {
396 mux {
397 pins = "gpio16", "gpio17";
398 function = "blsp_uart0";
399 bias-disable;
400 };
401 };
402
403 spi_0_pins: spi_0_pinmux {
404 pinmux {
405 function = "blsp_spi0";
406 pins = "gpio13", "gpio14", "gpio15";
407 drive-strength = <12>;
408 bias-disable;
409 };
410
411 pinmux_cs {
412 function = "gpio";
413 pins = "gpio12";
414 drive-strength = <2>;
415 bias-disable;
416 output-high;
417 };
418 };
419 };
420
421 &usb2_hs_phy {
422 status = "okay";
423 };
424
425 &usb2 {
426 status = "okay";
427 };
428
429 &usb3_ss_phy {
430 status = "okay";
431 };
432
433 &usb3_hs_phy {
434 status = "okay";
435 };
436
437 &usb3 {
438 status = "okay";
439 };
440
441 &wifi0 {
442 status = "okay";
443 nvmem-cell-names = "pre-calibration", "mac-address";
444 nvmem-cells = <&precal_art_1000>, <&macaddr_config_0 2>;
445 qcom,ath10k-calibration-variant = "zte,mf286d";
446 };
447
448 &wifi1 {
449 status = "okay";
450 nvmem-cell-names = "pre-calibration", "mac-address";
451 nvmem-cells = <&precal_art_5000>, <&macaddr_config_0 3>;
452 qcom,ath10k-calibration-variant = "zte,mf286d";
453 };