0f6cd689cfcae6dd64e4662e2bf841bbab32066e
[oweals/openwrt.git] / target / linux / ipq40xx / files-4.14 / arch / arm / boot / dts / qcom-ipq4018-rt-ac58u.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 = "ASUS RT-AC58U";
10         compatible = "asus,rt-ac58u", "qcom,ipq4019";
11
12         memory {
13                 device_type = "memory";
14                 reg = <0x80000000 0x8000000>;
15         };
16
17         aliases {
18                 led-boot = &power;
19                 led-failsafe = &power;
20                 led-running = &power;
21                 led-upgrade = &power;
22         };
23
24         chosen {
25                 bootargs-append = " ubi.mtd=UBI_DEV";
26         };
27
28         soc {
29                 mdio@90000 {
30                         status = "okay";
31                 };
32
33                 ess-psgmii@98000 {
34                         status = "okay";
35                 };
36
37                 tcsr@1949000 {
38                         compatible = "qcom,tcsr";
39                         reg = <0x1949000 0x100>;
40                         qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
41                 };
42
43                 tcsr@194b000 {
44                         compatible = "qcom,tcsr";
45                         reg = <0x194b000 0x100>;
46                         qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
47                 };
48
49                 ess_tcsr@1953000 {
50                         compatible = "qcom,tcsr";
51                         reg = <0x1953000 0x1000>;
52                         qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
53                 };
54
55                 tcsr@1957000 {
56                         compatible = "qcom,tcsr";
57                         reg = <0x1957000 0x100>;
58                         qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
59                 };
60
61                 usb2@60f8800 {
62                         status = "okay";
63
64                         dwc3@6000000 {
65                                 #address-cells = <1>;
66                                 #size-cells = <0>;
67
68                                 usb2_port1: port@1 {
69                                         reg = <1>;
70                                         #trigger-source-cells = <0>;
71                                 };
72                         };
73                 };
74
75                 usb3@8af8800 {
76                         status = "okay";
77
78                         dwc3@8a00000 {
79                                 #address-cells = <1>;
80                                 #size-cells = <0>;
81
82                                 usb3_port1: port@1 {
83                                         reg = <1>;
84                                         #trigger-source-cells = <0>;
85                                 };
86
87                                 usb3_port2: port@2 {
88                                         reg = <2>;
89                                         #trigger-source-cells = <0>;
90                                 };
91                         };
92                 };
93
94                 crypto@8e3a000 {
95                         status = "okay";
96                 };
97
98                 wifi@a000000 {
99                         status = "okay";
100                         qcom,ath10k-calibration-variant = "RT-AC58U";
101                 };
102
103                 wifi@a800000 {
104                         status = "okay";
105                         qcom,ath10k-calibration-variant = "RT-AC58U";
106                 };
107
108                 watchdog@b017000 {
109                         status = "okay";
110                 };
111
112                 ess-switch@c000000 {
113                         status = "okay";
114                 };
115
116                 edma@c080000 {
117                         status = "okay";
118                 };
119         };
120
121         keys {
122                 compatible = "gpio-keys";
123
124                 reset {
125                         label = "reset";
126                         gpios = <&tlmm 4 GPIO_ACTIVE_LOW>;
127                         linux,code = <KEY_RESTART>;
128                 };
129
130                 wps {
131                         label = "wps";
132                         gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
133                         linux,code = <KEY_WPS_BUTTON>;
134                 };
135         };
136
137         leds {
138                 compatible = "gpio-leds";
139
140                 power: status {
141                         label = "rt-ac58u:blue:status";
142                         gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>;
143                 };
144
145                 wan {
146                         label = "rt-ac58u:blue:wan";
147                         gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>;
148                 };
149
150                 wlan2G {
151                         label = "rt-ac58u:blue:wlan2G";
152                         gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>;
153                 };
154
155                 wan5G {
156                         label = "rt-ac58u:blue:wlan5G";
157                         gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>;
158                 };
159
160                 usb {
161                         label = "rt-ac58u:blue:usb";
162                         gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
163                         trigger-sources = <&usb3_port1>, <&usb3_port2>, <&usb2_port1>;
164                         linux,default-trigger = "usbport";
165                 };
166
167                 lan {
168                         label = "rt-ac58u:blue:lan";
169                         gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
170                 };
171         };
172 };
173
174 &cryptobam {
175         status = "okay";
176 };
177
178 &blsp_dma {
179         status = "okay";
180 };
181
182 &tlmm {
183         serial_pins: serial_pinmux {
184                 mux {
185                         pins = "gpio60", "gpio61";
186                         function = "blsp_uart0";
187                         bias-disable;
188                 };
189         };
190
191         spi_0_pins: spi_0_pinmux {
192                 mux {
193                         function = "blsp_spi0";
194                         pins = "gpio55", "gpio56", "gpio57";
195                         drive-strength = <12>;
196                         bias-disable;
197                 };
198
199                 mux_cs {
200                         function = "gpio";
201                         pins = "gpio54", "gpio59";
202                         drive-strength = <2>;
203                         bias-disable;
204                         output-high;
205                 };
206         };
207 };
208
209 &blsp1_spi1 { /* BLSP1 QUP1 */
210         pinctrl-0 = <&spi_0_pins>;
211         pinctrl-names = "default";
212         status = "okay";
213         cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>,
214                    <&tlmm 59 GPIO_ACTIVE_HIGH>;
215
216         flash@0 {
217                 #address-cells = <1>;
218                 #size-cells = <0>;
219                 /*
220                  * U-boot looks for "n25q128a11" node,
221                  * if we don't have it, it will spit out the following warning:
222                  * "ipq: fdt fixup unable to find compatible node".
223                  */
224                 compatible = "jedec,spi-nor";
225                 reg = <0>;
226                 linux,modalias = "m25p80", "mx25l1606e", "n25q128a11";
227                 spi-max-frequency = <24000000>;
228
229                 partitions {
230                         compatible = "fixed-partitions";
231                         #address-cells = <1>;
232                         #size-cells = <1>;
233
234                         partition0@0 {
235                                 label = "SBL1";
236                                 reg = <0x00000000 0x00040000>;
237                                 read-only;
238                         };
239                         partition1@40000 {
240                                 label = "MIBIB";
241                                 reg = <0x00040000 0x00020000>;
242                                 read-only;
243                         };
244                         partition2@60000 {
245                                 label = "QSEE";
246                                 reg = <0x00060000 0x00060000>;
247                                 read-only;
248                         };
249                         partition3@c0000 {
250                                 label = "CDT";
251                                 reg = <0x000c0000 0x00010000>;
252                                 read-only;
253                         };
254                         partition4@d0000 {
255                                 label = "DDRPARAMS";
256                                 reg = <0x000d0000 0x00010000>;
257                                 read-only;
258                         };
259                         partition5@e0000 {
260                                 label = "APPSBLENV"; /* uboot env*/
261                                 reg = <0x000e0000 0x00010000>;
262                                 read-only;
263                         };
264                         partition5@f0000 {
265                                 label = "APPSBL"; /* uboot */
266                                 reg = <0x000f0000 0x00080000>;
267                                 read-only;
268                         };
269                         partition5@170000 {
270                                 label = "ART";
271                                 reg = <0x00170000 0x00010000>;
272                                 read-only;
273                         };
274                         /* 0x00180000 - 0x00200000 unused */
275                 };
276         };
277
278         flash@1 {
279                 #address-cells = <1>;
280                 #size-cells = <0>;
281                 compatible = "spinand,mt29f";
282                 reg = <1>;
283                 spi-max-frequency = <24000000>;
284
285                 /*
286                  * U-boot looks for "spinand,mt29f" node,
287                  * if we don't have it, it will spit out the following warning:
288                  * "ipq: fdt fixup unable to find compatible node".
289                  */
290
291                 partitions {
292                         compatible = "fixed-partitions";
293                         #address-cells = <1>;
294                         #size-cells = <1>;
295
296                         partition@0 {
297                                 label = "ubi";
298                                 reg = <0x00000000 0x08000000>;
299                         };
300                 };
301         };
302 };
303
304 &blsp1_uart1 {
305         pinctrl-0 = <&serial_pins>;
306         pinctrl-names = "default";
307         status = "okay";
308 };
309
310 &usb3_ss_phy {
311         status = "okay";
312 };
313
314 &usb3_hs_phy {
315         status = "okay";
316 };
317
318 &usb2_hs_phy {
319         status = "okay";
320 };