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