ipq40xx: use patches that were sent upstream
[openwrt/openwrt.git] / target / linux / ipq40xx / files-4.14 / arch / arm / boot / dts / qcom-ipq4018-rt-ac58u.dts
1 /* Copyright (c) 2015, The Linux Foundation. All rights reserved.
2 *
3 * Permission to use, copy, modify, and/or distribute this software for any
4 * purpose with or without fee is hereby granted, provided that the above
5 * copyright notice and this permission notice appear in all copies.
6 *
7 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 *
15 */
16
17 #include "qcom-ipq4019.dtsi"
18 #include <dt-bindings/gpio/gpio.h>
19 #include <dt-bindings/input/input.h>
20 #include <dt-bindings/soc/qcom,tcsr.h>
21
22 / {
23 model = "ASUS RT-AC58U";
24 compatible = "asus,rt-ac58u", "qcom,ipq4019";
25
26 memory {
27 device_type = "memory";
28 reg = <0x80000000 0x8000000>;
29 };
30
31 aliases {
32 led-boot = &power;
33 led-failsafe = &power;
34 led-running = &power;
35 led-upgrade = &power;
36 };
37
38 soc {
39 mdio@90000 {
40 status = "okay";
41 };
42
43 ess-psgmii@98000 {
44 status = "okay";
45 };
46
47 tcsr@1949000 {
48 compatible = "qcom,tcsr";
49 reg = <0x1949000 0x100>;
50 qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
51 };
52
53 tcsr@194b000 {
54 compatible = "qcom,tcsr";
55 reg = <0x194b000 0x100>;
56 qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
57 };
58
59 ess_tcsr@1953000 {
60 compatible = "qcom,tcsr";
61 reg = <0x1953000 0x1000>;
62 qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
63 };
64
65 tcsr@1957000 {
66 compatible = "qcom,tcsr";
67 reg = <0x1957000 0x100>;
68 qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
69 };
70
71 usb2@60f8800 {
72 status = "okay";
73 };
74
75 serial@78af000 {
76 pinctrl-0 = <&serial_pins>;
77 pinctrl-names = "default";
78 status = "okay";
79 };
80
81 usb3@8af8800 {
82 status = "okay";
83 };
84
85 crypto@8e3a000 {
86 status = "okay";
87 };
88
89 wifi@a000000 {
90 status = "okay";
91 qcom,ath10k-calibration-variant = "RT-AC58U";
92 };
93
94 wifi@a800000 {
95 status = "okay";
96 qcom,ath10k-calibration-variant = "RT-AC58U";
97 };
98
99 watchdog@b017000 {
100 status = "okay";
101 };
102
103 ess-switch@c000000 {
104 status = "okay";
105 };
106
107 edma@c080000 {
108 status = "okay";
109 };
110 };
111
112 gpio-keys {
113 compatible = "gpio-keys";
114
115 reset {
116 label = "reset";
117 gpios = <&tlmm 4 GPIO_ACTIVE_LOW>;
118 linux,code = <KEY_RESTART>;
119 };
120
121 wps {
122 label = "wps";
123 gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
124 linux,code = <KEY_WPS_BUTTON>;
125 };
126 };
127
128 gpio-leds {
129 compatible = "gpio-leds";
130
131 power: status {
132 label = "rt-ac58u:blue:status";
133 gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>;
134 };
135
136 wan {
137 label = "rt-ac58u:blue:wan";
138 gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>;
139 };
140
141 wlan2G {
142 label = "rt-ac58u:blue:wlan2G";
143 gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>;
144 };
145
146 wan5G {
147 label = "rt-ac58u:blue:wlan5G";
148 gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>;
149 };
150
151 usb {
152 label = "rt-ac58u:blue:usb";
153 gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
154 };
155
156 lan {
157 label = "rt-ac58u:blue:lan";
158 gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
159 };
160 };
161 };
162
163 &cryptobam {
164 status = "okay";
165 };
166
167 &blsp_dma {
168 status = "okay";
169 };
170
171 &tlmm {
172 serial_pins: serial_pinmux {
173 mux {
174 pins = "gpio60", "gpio61";
175 function = "blsp_uart0";
176 bias-disable;
177 };
178 };
179
180 spi_0_pins: spi_0_pinmux {
181 mux {
182 function = "blsp_spi0";
183 pins = "gpio55", "gpio56", "gpio57";
184 drive-strength = <12>;
185 bias-disable;
186 };
187
188 mux_cs {
189 function = "gpio";
190 pins = "gpio54", "gpio59";
191 drive-strength = <2>;
192 bias-disable;
193 output-high;
194 };
195 };
196 };
197
198 &blsp1_spi1 { /* BLSP1 QUP1 */
199 pinctrl-0 = <&spi_0_pins>;
200 pinctrl-names = "default";
201 status = "okay";
202 cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>,
203 <&tlmm 59 GPIO_ACTIVE_HIGH>;
204
205 m25p80@0 {
206 #address-cells = <1>;
207 #size-cells = <0>;
208 /*
209 * U-boot looks for "n25q128a11" node,
210 * if we don't have it, it will spit out the following warning:
211 * "ipq: fdt fixup unable to find compatible node".
212 */
213 compatible = "jedec,spi-nor";
214 reg = <0>;
215 linux,modalias = "m25p80", "mx25l1606e", "n25q128a11";
216 spi-max-frequency = <24000000>;
217
218 partitions {
219 compatible = "fixed-partitions";
220 #address-cells = <1>;
221 #size-cells = <1>;
222
223 partition0@0 {
224 label = "SBL1";
225 reg = <0x00000000 0x00040000>;
226 read-only;
227 };
228 partition1@40000 {
229 label = "MIBIB";
230 reg = <0x00040000 0x00020000>;
231 read-only;
232 };
233 partition2@60000 {
234 label = "QSEE";
235 reg = <0x00060000 0x00060000>;
236 read-only;
237 };
238 partition3@c0000 {
239 label = "CDT";
240 reg = <0x000c0000 0x00010000>;
241 read-only;
242 };
243 partition4@d0000 {
244 label = "DDRPARAMS";
245 reg = <0x000d0000 0x00010000>;
246 read-only;
247 };
248 partition5@e0000 {
249 label = "APPSBLENV"; /* uboot env*/
250 reg = <0x000e0000 0x00010000>;
251 read-only;
252 };
253 partition5@f0000 {
254 label = "APPSBL"; /* uboot */
255 reg = <0x000f0000 0x00080000>;
256 read-only;
257 };
258 partition5@170000 {
259 label = "ART";
260 reg = <0x00170000 0x00010000>;
261 read-only;
262 };
263 /* 0x00180000 - 0x00200000 unused */
264 };
265 };
266
267 mt29f@1 {
268 #address-cells = <1>;
269 #size-cells = <0>;
270 compatible = "spinand,mt29f";
271 reg = <1>;
272 spi-max-frequency = <24000000>;
273
274 partitions {
275 compatible = "fixed-partitions";
276 #address-cells = <1>;
277 #size-cells = <1>;
278
279 partition0@0 {
280 label = "ubi";
281 reg = <0x00000000 0x08000000>;
282 };
283 };
284 };
285 };
286
287 &usb3_ss_phy {
288 status = "okay";
289 };
290
291 &usb3_hs_phy {
292 status = "okay";
293 };
294
295 &usb2_hs_phy {
296 status = "okay";
297 };