ipq806x: add ipq4019 support
[openwrt/openwrt.git] / target / linux / ipq806x / files-4.9 / arch / arm / boot / dts / qcom-ipq4019-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-ap.dk01.1.dtsi"
18 #include "qcom-ipq4019-bus.dtsi"
19 #include <dt-bindings/gpio/gpio.h>
20 #include <dt-bindings/input/input.h>
21 #include <dt-bindings/soc/qcom,tcsr.h>
22
23 / {
24 model = "ASUS RT-AC58U";
25 compatible = "asus,rt-ac58u", "qcom,ipq4019";
26
27 memory {
28 device_type = "memory";
29 reg = <0x80000000 0x8000000>;
30 };
31
32 aliases {
33 led-boot = &power;
34 led-failsafe = &power;
35 led-running = &power;
36 led-upgrade = &power;
37 };
38
39 reserved-memory {
40 #address-cells = <0x1>;
41 #size-cells = <0x1>;
42 ranges;
43
44 rsvd1@87E00000 {
45 reg = <0x87e00000 0x200000>;
46 no-map;
47 };
48 };
49
50 soc {
51
52 tcsr@194b000 {
53 /* select hostmode */
54 compatible = "qcom,tcsr";
55 reg = <0x194b000 0x100>;
56 qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
57 status = "ok";
58 };
59
60 ess_tcsr@1953000 {
61 compatible = "qcom,tcsr";
62 reg = <0x1953000 0x1000>;
63 qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
64 };
65
66
67 tcsr@1949000 {
68 compatible = "qcom,tcsr";
69 reg = <0x1949000 0x100>;
70 qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
71 };
72
73 tcsr@1957000 {
74 compatible = "qcom,tcsr";
75 reg = <0x1957000 0x100>;
76 qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
77 };
78
79 counter@4a1000 {
80 compatible = "qcom,qca-gcnt";
81 reg = <0x4a1000 0x4>;
82 };
83
84 mdio@90000 {
85 status = "okay";
86 };
87
88 ess-switch@c000000 {
89 status = "okay";
90 };
91
92 ess-psgmii@98000 {
93 status = "okay";
94 };
95
96 edma@c080000 {
97 status = "okay";
98 };
99
100 wifi@a000000 {
101 status = "okay";
102 };
103
104 wifi@a800000 {
105 status = "okay";
106 };
107
108 cryptobam: dma@8e04000 {
109 status = "okay";
110 };
111
112 crypto@8e3a000 {
113 status = "okay";
114 };
115 };
116
117 gpio-keys {
118 compatible = "gpio-keys";
119
120 reset {
121 label = "reset";
122 gpios = <&tlmm 4 GPIO_ACTIVE_LOW>;
123 linux,code = <KEY_RESTART>;
124 };
125
126 wps {
127 label = "wps";
128 gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
129 linux,code = <KEY_WPS_BUTTON>;
130 };
131 };
132
133 gpio-leds {
134 compatible = "gpio-leds";
135
136 power: status {
137 label = "rt-ac58u:blue:status";
138 gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>;
139 };
140
141 wan {
142 label = "rt-ac58u:blue:wan";
143 gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>;
144 };
145
146 wlan2G {
147 label = "rt-ac58u:blue:wlan2G";
148 gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>;
149 };
150
151 wan5G {
152 label = "rt-ac58u:blue:wlan5G";
153 gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>;
154 };
155
156 usb {
157 label = "rt-ac58u:blue:usb";
158 gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
159 };
160
161 lan {
162 label = "rt-ac58u:blue:lan";
163 gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
164 };
165 };
166 };
167
168 &spi_0_pins {
169 pinmux_cs {
170 function = "gpio";
171 pins = "gpio54", "gpio59";
172 };
173 pinconf_cs {
174 pins = "gpio54", "gpio59";
175 drive-strength = <2>;
176 bias-disable;
177 output-high;
178 };
179 };
180
181
182 &spi_0 { /* BLSP1 QUP1 */
183 status = "ok";
184 cs-gpios = <&tlmm 54 0>,
185 <&tlmm 59 0>;
186
187 mx25l25635e@0 {
188 status = "disabled";
189 };
190
191 m25p80@0 {
192 #address-cells = <1>;
193 #size-cells = <0>;
194 /*
195 * U-boot looks for "n25q128a11" node,
196 * if we don't have it, it will spit out the following warning:
197 * "ipq: fdt fixup unable to find compatible node".
198 */
199 compatible = "mx25l1606e", "n25q128a11";
200 reg = <0>;
201 linux,modalias = "m25p80", "mx25l1606e", "n25q128a11";
202 spi-max-frequency = <24000000>;
203
204 partitions {
205 compatible = "fixed-partitions";
206 #address-cells = <1>;
207 #size-cells = <1>;
208
209 partition0@0 {
210 label = "SBL1";
211 reg = <0x00000000 0x00040000>;
212 read-only;
213 };
214 partition1@40000 {
215 label = "MIBIB";
216 reg = <0x00040000 0x00020000>;
217 read-only;
218 };
219 partition2@60000 {
220 label = "QSEE";
221 reg = <0x00060000 0x00060000>;
222 read-only;
223 };
224 partition3@c0000 {
225 label = "CDT";
226 reg = <0x000c0000 0x00010000>;
227 read-only;
228 };
229 partition4@d0000 {
230 label = "DDRPARAMS";
231 reg = <0x000d0000 0x00010000>;
232 read-only;
233 };
234 partition5@e0000 {
235 label = "APPSBLENV"; /* uboot env*/
236 reg = <0x000e0000 0x00010000>;
237 read-only;
238 };
239 partition5@f0000 {
240 label = "APPSBL"; /* uboot */
241 reg = <0x000f0000 0x00080000>;
242 read-only;
243 };
244 partition5@170000 {
245 label = "ART";
246 reg = <0x00170000 0x00010000>;
247 read-only;
248 };
249 /* 0x00180000 - 0x00200000 unused */
250 };
251 };
252
253 mt29f@1 {
254 #address-cells = <1>;
255 #size-cells = <0>;
256 compatible = "spinand,mt29f", "w25n01gv";
257 reg = <1>;
258 spi-max-frequency = <24000000>;
259
260 partitions {
261 compatible = "fixed-partitions";
262 #address-cells = <1>;
263 #size-cells = <1>;
264
265 partition0@0 {
266 label = "ubi";
267 reg = <0x00000000 0x08000000>;
268 };
269 };
270 };
271 };