2f9a89048538cdb1e3fba0b164d91129937e918c
[oweals/openwrt.git] / target / linux / ipq40xx / files-4.19 / 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 = "EA6350v3: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         qcom,ath10k-calibration-variant = "linksys-ea6350v3";
120 };
121
122 &wifi1 {
123         status = "okay";
124         qcom,ath10k-calibration-variant = "linksys-ea6350v3";
125 };
126
127
128 &blsp_dma {
129         status = "okay";
130 };
131
132 &tlmm {
133         serial_pins: serial_pinmux {
134                 mux {
135                         pins = "gpio60", "gpio61";
136                         function = "blsp_uart0";
137                         bias-disable;
138                 };
139         };
140
141         spi_0_pins: spi_0_pinmux {
142                 mux {
143                         function = "blsp_spi0";
144                         pins = "gpio55", "gpio56", "gpio57";
145                         drive-strength = <12>;
146                         bias-disable;
147                 };
148
149                 mux_cs {
150                         function = "gpio";
151                         pins = "gpio54", "gpio59";
152                         drive-strength = <2>;
153                         bias-disable;
154                         output-high;
155                 };
156         };
157 };
158
159 &blsp1_spi1 { /* BLSP1 QUP1 */
160         pinctrl-0 = <&spi_0_pins>;
161         pinctrl-names = "default";
162         status = "okay";
163         cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>,
164                    <&tlmm 59 GPIO_ACTIVE_HIGH>;
165
166         flash@0 {
167                 compatible = "jedec,spi-nor";
168                 reg = <0>;
169                 spi-max-frequency = <24000000>;
170
171                 partitions {
172                         compatible = "fixed-partitions";
173                         #address-cells = <1>;
174                         #size-cells = <1>;
175
176                         SBL1@0 {
177                                 label = "SBL1";
178                                 reg = <0x00000000 0x00040000>;
179                                 read-only;
180                         };
181                         MBIB@40000 {
182                                 label = "MIBIB";
183                                 reg = <0x00040000 0x00020000>;
184                                 read-only;
185                         };
186                         QSEE@60000 {
187                                 label = "QSEE";
188                                 reg = <0x00060000 0x00060000>;
189                                 read-only;
190                         };
191                         CDT@c0000 {
192                                 label = "CDT";
193                                 reg = <0x000c0000 0x00010000>;
194                                 read-only;
195                         };
196                         APPSBLENV@d0000 {
197                                 label = "APPSBLENV";
198                                 reg = <0x000d0000 0x00010000>;
199                                 read-only;
200                         };
201                         APPSBL@e0000 {
202                                 label = "APPSBL"; /* uboot */
203                                 reg = <0x000e0000 0x00080000>;
204                                 read-only;
205                         };
206                         ART@160000 {
207                                 label = "ART";
208                                 reg = <0x00160000 0x00010000>;
209                                 read-only;
210                         };
211                         u_env@170000 {
212                                 label = "u_env";
213                                 reg = <0x00170000 0x00020000>;
214                         };
215                         s_env@190000 {
216                                 label = "s_env";
217                                 reg = <0x00190000 0x00020000>;
218                         };
219                         devinfo@1b0000 {
220                                 label = "devinfo";
221                                 reg = <0x001b0000 0x00010000>;
222                         };
223                         /* 0x001c0000 - 0x00200000 unused */
224                 };
225         };
226
227         flash@1 {
228                 status = "okay";
229                 compatible = "spi-nand";
230                 reg = <1>;
231                 spi-max-frequency = <24000000>;
232
233                 partitions {
234                         compatible = "fixed-partitions";
235                         #address-cells = <1>;
236                         #size-cells = <1>;
237
238                         kernel@0 {
239                                 label = "kernel";
240                                 reg = <0x00000000 0x02800000>;
241                         };
242                         rootfs@300000 {
243                                 label = "rootfs";
244                                 reg = <0x00300000 0x02500000>;
245                         };
246                         alt_kernel@2800000 {
247                                 label = "alt_kernel";
248                                 reg = <0x02800000 0x02800000>;
249                         };
250                         alt_rootfs@2b00000 {
251                                 label = "alt_rootfs";
252                                 reg = <0x02b00000 0x02500000>;
253                         };
254                         sysdiag@5000000 {
255                                 label = "sysdiag";
256                                 reg = <0x05000000 0x00100000>;
257                         };
258                         syscfg@5100000 {
259                                 label = "syscfg";
260                                 reg = <0x05100000 0x02F00000>;
261                         };
262                         /* 0x00000000 - 0x08000000: 128 MiB */
263                 };
264         };
265 };
266
267 &usb3_ss_phy {
268         status = "okay";
269 };
270
271 &usb3_hs_phy {
272         status = "okay";
273 };
274
275 &usb2_hs_phy {
276         status = "okay";
277 };