ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data
[openwrt/openwrt.git] / target / linux / ipq40xx / files / arch / arm / boot / dts / qcom-ipq4018-ea6350v3.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2
3 #include "qcom-ipq4019.dtsi"
4 #include <dt-bindings/gpio/gpio.h>
5 #include <dt-bindings/input/input.h>
6 #include <dt-bindings/soc/qcom,tcsr.h>
7
8 / {
9 model = "Linksys EA6350v3";
10 compatible = "linksys,ea6350v3";
11
12 aliases {
13 led-boot = &power;
14 led-failsafe = &power;
15 led-running = &power;
16 led-upgrade = &power;
17 };
18
19 soc {
20 rng@22000 {
21 status = "okay";
22 };
23
24 mdio@90000 {
25 status = "okay";
26 };
27
28 ess-psgmii@98000 {
29 status = "okay";
30 };
31
32 tcsr@1949000 {
33 compatible = "qcom,tcsr";
34 reg = <0x1949000 0x100>;
35 qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
36 };
37
38 tcsr@194b000 {
39 compatible = "qcom,tcsr";
40 reg = <0x194b000 0x100>;
41 qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
42 };
43
44 ess_tcsr@1953000 {
45 compatible = "qcom,tcsr";
46 reg = <0x1953000 0x1000>;
47 qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
48 };
49
50 tcsr@1957000 {
51 compatible = "qcom,tcsr";
52 reg = <0x1957000 0x100>;
53 qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
54 };
55
56 usb2@60f8800 {
57 status = "okay";
58 };
59
60 usb3@8af8800 {
61 status = "okay";
62 };
63
64 crypto@8e3a000 {
65 status = "okay";
66 };
67
68 watchdog@b017000 {
69 status = "okay";
70 };
71
72 ess-switch@c000000 {
73 status = "okay";
74 };
75
76 edma@c080000 {
77 status = "okay";
78 };
79 };
80
81 keys {
82 compatible = "gpio-keys";
83
84 reset {
85 label = "reset";
86 gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
87 linux,code = <KEY_RESTART>;
88 };
89
90 wps {
91 label = "wps";
92 gpios = <&tlmm 0 GPIO_ACTIVE_LOW>;
93 linux,code = <KEY_WPS_BUTTON>;
94 };
95 };
96
97 leds {
98 compatible = "gpio-leds";
99
100 power: status {
101 label = "green:status";
102 gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
103 };
104 };
105 };
106
107 &blsp1_uart1 {
108 pinctrl-0 = <&serial_pins>;
109 pinctrl-names = "default";
110 status = "okay";
111 };
112
113 &cryptobam {
114 status = "okay";
115 };
116
117 &wifi0 {
118 status = "okay";
119 nvmem-cell-names = "pre-calibration";
120 nvmem-cells = <&precal_art_1000>;
121 qcom,ath10k-calibration-variant = "linksys-ea6350v3";
122 };
123
124 &wifi1 {
125 status = "okay";
126 nvmem-cell-names = "pre-calibration";
127 nvmem-cells = <&precal_art_5000>;
128 qcom,ath10k-calibration-variant = "linksys-ea6350v3";
129 };
130
131 &blsp_dma {
132 status = "okay";
133 };
134
135 &tlmm {
136 serial_pins: serial_pinmux {
137 mux {
138 pins = "gpio60", "gpio61";
139 function = "blsp_uart0";
140 bias-disable;
141 };
142 };
143
144 spi_0_pins: spi_0_pinmux {
145 mux {
146 function = "blsp_spi0";
147 pins = "gpio55", "gpio56", "gpio57";
148 drive-strength = <12>;
149 bias-disable;
150 };
151
152 mux_cs {
153 function = "gpio";
154 pins = "gpio54", "gpio59";
155 drive-strength = <2>;
156 bias-disable;
157 output-high;
158 };
159 };
160 };
161
162 &blsp1_spi1 { /* BLSP1 QUP1 */
163 pinctrl-0 = <&spi_0_pins>;
164 pinctrl-names = "default";
165 status = "okay";
166 cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>,
167 <&tlmm 59 GPIO_ACTIVE_HIGH>;
168
169 flash@0 {
170 compatible = "jedec,spi-nor";
171 reg = <0>;
172 spi-max-frequency = <24000000>;
173
174 partitions {
175 compatible = "fixed-partitions";
176 #address-cells = <1>;
177 #size-cells = <1>;
178
179 SBL1@0 {
180 label = "SBL1";
181 reg = <0x00000000 0x00040000>;
182 read-only;
183 };
184 MBIB@40000 {
185 label = "MIBIB";
186 reg = <0x00040000 0x00020000>;
187 read-only;
188 };
189 QSEE@60000 {
190 label = "QSEE";
191 reg = <0x00060000 0x00060000>;
192 read-only;
193 };
194 CDT@c0000 {
195 label = "CDT";
196 reg = <0x000c0000 0x00010000>;
197 read-only;
198 };
199 APPSBLENV@d0000 {
200 label = "APPSBLENV";
201 reg = <0x000d0000 0x00010000>;
202 read-only;
203 };
204 APPSBL@e0000 {
205 label = "APPSBL"; /* uboot */
206 reg = <0x000e0000 0x00080000>;
207 read-only;
208 };
209 ART@160000 {
210 label = "ART";
211 reg = <0x00160000 0x00010000>;
212 read-only;
213 compatible = "nvmem-cells";
214 #address-cells = <1>;
215 #size-cells = <1>;
216
217 precal_art_1000: precal@1000 {
218 reg = <0x1000 0x2f20>;
219 };
220
221 precal_art_5000: precal@5000 {
222 reg = <0x5000 0x2f20>;
223 };
224 };
225 u_env@170000 {
226 label = "u_env";
227 reg = <0x00170000 0x00020000>;
228 };
229 s_env@190000 {
230 label = "s_env";
231 reg = <0x00190000 0x00020000>;
232 };
233 devinfo@1b0000 {
234 label = "devinfo";
235 reg = <0x001b0000 0x00010000>;
236 };
237 /* 0x001c0000 - 0x00200000 unused */
238 };
239 };
240
241 flash@1 {
242 status = "okay";
243 compatible = "spi-nand";
244 reg = <1>;
245 spi-max-frequency = <24000000>;
246
247 partitions {
248 compatible = "fixed-partitions";
249 #address-cells = <1>;
250 #size-cells = <1>;
251
252 kernel@0 {
253 label = "kernel";
254 reg = <0x00000000 0x02800000>;
255 };
256 rootfs@300000 {
257 label = "rootfs";
258 reg = <0x00300000 0x02500000>;
259 };
260 alt_kernel@2800000 {
261 label = "alt_kernel";
262 reg = <0x02800000 0x02800000>;
263 };
264 alt_rootfs@2b00000 {
265 label = "alt_rootfs";
266 reg = <0x02b00000 0x02500000>;
267 };
268 sysdiag@5000000 {
269 label = "sysdiag";
270 reg = <0x05000000 0x00100000>;
271 };
272 syscfg@5100000 {
273 label = "syscfg";
274 reg = <0x05100000 0x02F00000>;
275 };
276 /* 0x00000000 - 0x08000000: 128 MiB */
277 };
278 };
279 };
280
281 &usb3_ss_phy {
282 status = "okay";
283 };
284
285 &usb3_hs_phy {
286 status = "okay";
287 };
288
289 &usb2_hs_phy {
290 status = "okay";
291 };