ipq4019: add support for ZTE MF287 Pro aka DreiNeo Pro
[openwrt/staging/neocturne.git] / target / linux / ipq40xx / files / arch / arm / boot / dts / qcom-ipq4018-mf287.dtsi
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2 // Copyright (c) 2022, Pawel Dembicki <paweldembicki@gmail.com>.
3 // Copyright (c) 2022, Giammarco Marzano <stich86@gmail.com>.
4 // Copyright (c) 2023, Andreas Böhler <dev@aboehler.at>
5
6 #include "qcom-ipq4019.dtsi"
7 #include <dt-bindings/soc/qcom,tcsr.h>
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/input/input.h>
10 #include <dt-bindings/leds/common.h>
11
12 / {
13 aliases {
14 led-boot = &led_status;
15 led-failsafe = &led_status;
16 led-running = &led_status;
17 led-upgrade = &led_status;
18 };
19
20 chosen {
21 /*
22 * bootargs forced by u-boot bootipq command:
23 * 'ubi.mtd=rootfs root=mtd:ubi_rootfs rootfstype=squashfs rootwait'
24 */
25 bootargs-append = " root=/dev/ubiblock0_1";
26 };
27
28 leds {
29 compatible = "gpio-leds";
30
31 led_status: led-0 {
32 label = "blue:power";
33 function = LED_FUNCTION_POWER;
34 color = <LED_COLOR_ID_BLUE>;
35 };
36 };
37
38 keys {
39 compatible = "gpio-keys";
40
41 key_reset: key-reset {
42 label = "reset";
43 linux,code = <KEY_RESTART>;
44 };
45
46 key_wps: key-wps {
47 label = "wps";
48 linux,code = <KEY_WPS_BUTTON>;
49 };
50 };
51
52 soc {
53 rng@22000 {
54 status = "okay";
55 };
56
57 tcsr@1949000 {
58 compatible = "qcom,tcsr";
59 reg = <0x1949000 0x100>;
60 qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
61 };
62
63 tcsr@194b000 {
64 /* select hostmode */
65 compatible = "qcom,tcsr";
66 reg = <0x194b000 0x100>;
67 qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
68 status = "okay";
69 };
70
71 ess_tcsr@1953000 {
72 compatible = "qcom,tcsr";
73 reg = <0x1953000 0x1000>;
74 qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
75 };
76
77 tcsr@1957000 {
78 compatible = "qcom,tcsr";
79 reg = <0x1957000 0x100>;
80 qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
81 };
82 };
83 };
84
85 &mdio {
86 status = "okay";
87 };
88
89 &watchdog {
90 status = "okay";
91 };
92
93 &blsp_dma {
94 status = "okay";
95 };
96
97 &usb2 {
98 status = "okay";
99 };
100
101 &usb3 {
102 status = "okay";
103 };
104
105 &blsp1_uart1 {
106 pinctrl-0 = <&serial_pins>;
107 pinctrl-names = "default";
108 status = "okay";
109 };
110
111 &crypto {
112 status = "okay";
113 };
114
115 &cryptobam {
116 status = "okay";
117 };
118
119 &gmac {
120 status = "okay";
121 nvmem-cell-names = "mac-address";
122 nvmem-cells = <&macaddr_mac_0>;
123 mac-address-increment = <2>;
124 };
125
126 &switch {
127 status = "okay";
128 };
129
130 &swport2 {
131 status = "okay";
132
133 label = "lan1";
134 };
135
136 &swport3 {
137 status = "okay";
138
139 label = "lan2";
140 };
141
142 &swport4 {
143 status = "okay";
144
145 label = "lan3";
146 };
147
148 &swport5 {
149 status = "okay";
150
151 label = "lan4";
152 };
153
154 &qpic_bam {
155 status = "okay";
156 };
157
158 &usb2_hs_phy {
159 status = "okay";
160 };
161
162 &usb3_ss_phy {
163 status = "okay";
164 };
165
166 &usb3_hs_phy {
167 status = "okay";
168 };
169
170 &wifi0 {
171 status = "okay";
172 nvmem-cell-names = "pre-calibration", "mac-address";
173 nvmem-cells = <&precal_art_1000>, <&macaddr_mac_0>;
174 qcom,ath10k-calibration-variant = "zte,mf287plus";
175 };
176
177 &wifi1 {
178 status = "okay";
179 nvmem-cell-names = "pre-calibration", "mac-address";
180 nvmem-cells = <&precal_art_5000>, <&macaddr_mac_0>;
181 mac-address-increment = <1>;
182 qcom,ath10k-calibration-variant = "zte,mf287plus";
183 };