0859f97c9e43bc172ca11c2f70ed364fc89813bb
[openwrt/openwrt.git] / target / linux / ipq40xx / files-4.19 / arch / arm / boot / dts / qcom-ipq4029-ap-303h.dts
1 // SPDX-License-Identifier: GPL-2.0 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 = "Aruba AP-303H";
10 compatible = "aruba,ap-303h";
11
12 aliases {
13 led-boot = &led_system_green;
14 led-failsafe = &led_system_red;
15 led-running = &led_system_green;
16 led-upgrade = &led_system_amber;
17 };
18
19 memory {
20 device_type = "memory";
21 reg = <0x80000000 0x10000000>;
22 };
23
24 soc {
25 rng@22000 {
26 status = "okay";
27 };
28
29 mdio@90000 {
30 status = "okay";
31 pinctrl-0 = <&mdio_pins>;
32 pinctrl-names = "default";
33
34 reset-gpios = <&tlmm 19 GPIO_ACTIVE_LOW>;
35 reset-delay-us = <2000>;
36 };
37
38 counter@4a1000 {
39 compatible = "qcom,qca-gcnt";
40 reg = <0x4a1000 0x4>;
41 };
42
43 ess_tcsr@1953000 {
44 compatible = "qcom,tcsr";
45 reg = <0x1953000 0x1000>;
46 qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
47 };
48
49 tcsr@1949000 {
50 compatible = "qcom,tcsr";
51 reg = <0x1949000 0x100>;
52 qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
53 };
54
55 tcsr@194b000 {
56 compatible = "qcom,tcsr";
57 reg = <0x194b000 0x100>;
58 qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
59 };
60
61 tcsr@1957000 {
62 compatible = "qcom,tcsr";
63 reg = <0x1957000 0x100>;
64 qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
65 };
66
67 usb2@60f8800 {
68 status = "okay";
69 };
70
71 crypto@8e3a000 {
72 status = "okay";
73 };
74
75 watchdog@b017000 {
76 status = "okay";
77 };
78
79 ess-switch@c000000 {
80 status = "okay";
81 };
82
83 edma@c080000 {
84 status = "okay";
85 };
86
87 i2c_0: i2c@78b7000 {
88 pinctrl-0 = <&i2c_0_pins>;
89 pinctrl-names = "default";
90 status = "ok";
91
92 tpm@29 {
93 /* No Driver */
94 compatible = "atmel,at97sc3203";
95 reg = <0x29>;
96 read-only;
97 };
98
99 power-monitor@40 {
100 /* No driver */
101 compatible = "isl,isl28022";
102 reg = <0x40>;
103 };
104 };
105 };
106
107 leds {
108 compatible = "gpio-leds";
109
110 wifi_green {
111 label = "ap-303h:green:wifi";
112 gpios = <&tlmm 27 GPIO_ACTIVE_HIGH>;
113 linux,default-trigger = "phy0tpt";
114 };
115
116 wifi_amber {
117 label = "ap-303h:amber:wifi";
118 gpios = <&tlmm 28 GPIO_ACTIVE_HIGH>;
119 linux,default-trigger = "phy1tpt";
120 };
121
122 pse {
123 label = "ap-303h:green:pse";
124 gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
125 };
126
127 led_system_red: system_red {
128 label = "ap-303h:red:system";
129 gpios = <&tlmm 25 GPIO_ACTIVE_HIGH>;
130 };
131
132 led_system_green: system_green {
133 label = "ap-303h:green:system";
134 gpios = <&tlmm 24 GPIO_ACTIVE_HIGH>;
135 };
136
137 led_system_amber: system_amber {
138 label = "ap-303h:amber:system";
139 gpios = <&tlmm 26 GPIO_ACTIVE_HIGH>;
140 };
141 };
142
143 keys {
144 compatible = "gpio-keys";
145
146 reset {
147 label = "Reset button";
148 gpios = <&tlmm 18 GPIO_ACTIVE_LOW>;
149 linux,code = <KEY_RESTART>;
150 };
151 };
152 };
153
154 &blsp_dma {
155 status = "okay";
156 };
157
158 &blsp1_uart1 {
159 pinctrl-0 = <&serial_0_pins>;
160 pinctrl-names = "default";
161 status = "okay";
162 };
163
164 &blsp1_uart2 {
165 /* Texas Instruments CC2540T BLE radio */
166 pinctrl-0 = <&serial_1_pins>;
167 pinctrl-names = "default";
168 status = "okay";
169 };
170
171 &cryptobam {
172 status = "okay";
173 };
174
175 &qpic_bam {
176 status = "okay";
177 };
178
179 &tlmm {
180 /*
181 * In addition to the Pins listed below,
182 * the following GPIOs have "features":
183 * 39 - out - active low to force HW reset
184 * 32 - out - active low to reset TPM
185 * 43 - out - active low to reset BLE radio
186 * 41 - out - pulse to set warm reset status
187 * 34 - out - active low to enable PSE port
188 * 22 - in - active low when 802.3at powered
189 * 29 - in - active high when DC powered
190 * 40 - in - active low when reset due to cold HW reset
191 * 30 - in - active low when USB overcurrent detected
192 * 35 - in - interrupt line for power monitor chip
193 * 31 - in - active low when PSE port active
194 */
195 mdio_pins: mdio_pinmux {
196 mux_1 {
197 pins = "gpio6";
198 function = "mdio";
199 bias-pull-up;
200 };
201 mux_2 {
202 pins = "gpio7";
203 function = "mdc";
204 bias-pull-up;
205 };
206 };
207
208 spi_0_pins: spi_0_pinmux {
209 pin {
210 function = "blsp_spi0";
211 pins = "gpio13", "gpio14", "gpio15";
212 drive-strength = <12>;
213 bias-disable;
214 };
215 pin_cs {
216 function = "gpio";
217 pins = "gpio12", "gpio59";
218 drive-strength = <2>;
219 bias-disable;
220 output-high;
221 };
222 };
223
224 i2c_0_pins: i2c_0_pinmux {
225 mux {
226 pins = "gpio20", "gpio21";
227 function = "blsp_i2c0";
228 drive-strength = <4>;
229 bias-disable;
230 };
231 };
232
233 serial_0_pins: serial_0_pinmux {
234 mux {
235 pins = "gpio16", "gpio17";
236 function = "blsp_uart0";
237 bias-disable;
238 };
239 };
240
241 serial_1_pins: serial_1_pinmux {
242 mux {
243 pins = "gpio8", "gpio9";
244 function = "blsp_uart1";
245 bias-disable;
246 };
247 };
248
249 usb-power {
250 line-name = "USB-power";
251 gpios = <23 GPIO_ACTIVE_HIGH>;
252 gpio-hog;
253 output-high;
254 };
255 };
256
257 &blsp1_spi1 {
258 pinctrl-0 = <&spi_0_pins>;
259 pinctrl-names = "default";
260 status = "okay";
261 cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>, <&tlmm 59 GPIO_ACTIVE_HIGH>;
262
263 flash@0 {
264 compatible = "jedec,spi-nor";
265 reg = <0>;
266 spi-max-frequency = <24000000>;
267
268 partitions {
269 compatible = "fixed-partitions";
270 #address-cells = <1>;
271 #size-cells = <1>;
272
273 /*
274 * There is no partition map for the NOR flash
275 * in the stock firmware.
276 *
277 * All partitions here are based on offsets
278 * found in the U-Boot GPL code and information
279 * from smem.
280 */
281
282 partition@0 {
283 label = "sbl1";
284 reg = <0x0 0x40000>;
285 read-only;
286 };
287
288 partition@40000 {
289 label = "mibib";
290 reg = <0x40000 0x20000>;
291 read-only;
292 };
293
294 partition@60000 {
295 label = "qsee";
296 reg = <0x60000 0x60000>;
297 read-only;
298 };
299
300 partition@c0000 {
301 label = "cdt";
302 reg = <0xc0000 0x10000>;
303 read-only;
304 };
305
306 partition@d0000 {
307 label = "ddrparams";
308 reg = <0xd0000 0x10000>;
309 read-only;
310 };
311
312 partition@e0000 {
313 label = "appsblenv";
314 reg = <0xe0000 0x10000>;
315 read-only;
316 };
317
318 partition@f0000 {
319 label = "appsbl";
320 reg = <0xf0000 0x100000>;
321 read-only;
322 };
323
324 partition@1e0000 {
325 label = "ART";
326 reg = <0x1f0000 0x10000>;
327 read-only;
328 };
329
330 partition@1f0000 {
331 label = "osss";
332 reg = <0x200000 0x170000>;
333 read-only;
334 };
335
336 partition@200000 {
337 label = "pds";
338 reg = <0x370000 0x10000>;
339 read-only;
340 };
341
342 partition@380000 {
343 label = "apcd";
344 reg = <0x380000 0x10000>;
345 read-only;
346 };
347
348 partition@390000 {
349 label = "mfginfo";
350 reg = <0x390000 0x10000>;
351 read-only;
352 };
353
354 partition@3a0000 {
355 label = "fcache";
356 reg = <0x3a0000 0x10000>;
357 read-only;
358 };
359
360 partition@3b0000 {
361 /* Called osss1 in smem */
362 label = "u-boot-env-bak";
363 reg = <0x3b0000 0x10000>;
364 read-only;
365 };
366
367 partition@3f0000 {
368 label = "u-boot-env";
369 reg = <0x3c0000 0x40000>;
370 read-only;
371 };
372 };
373 };
374
375 flash@1 {
376 status = "okay";
377
378 compatible = "spi-nand";
379 reg = <1>;
380 spi-max-frequency = <24000000>;
381
382 partitions {
383 compatible = "fixed-partitions";
384 #address-cells = <1>;
385 #size-cells = <1>;
386
387 partition@0 {
388 /* 'aos0' in Aruba firmware */
389 label = "aos0";
390 reg = <0x0 0x2000000>;
391 read-only;
392 };
393
394 partition@2000000 {
395 /* 'aos1' in Aruba firmware */
396 label = "ubi";
397 reg = <0x2000000 0x2000000>;
398 };
399
400 partition@4000000 {
401 label = "aruba-ubifs";
402 reg = <0x4000000 0x4000000>;
403 read-only;
404 };
405 };
406 };
407 };
408
409 &usb2_hs_phy {
410 status = "okay";
411 };
412
413 &wifi0 {
414 status = "okay";
415 qcom,ath10k-calibration-variant = "Aruba-AP-303";
416 };
417
418 &wifi1 {
419 status = "okay";
420 qcom,ath10k-calibration-variant = "Aruba-AP-303";
421 };