ipq40xx: fix GL.iNet GL-B1300 support
[openwrt/openwrt.git] / target / linux / ipq40xx / files-4.14 / arch / arm / boot / dts / qcom-ipq4029-gl-b1300.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 = "GL.iNet GL-B1300";
24 compatible = "glinet,gl-b1300", "qcom,ipq4019";
25
26 aliases {
27 led-boot = &power;
28 led-failsafe = &power;
29 led-running = &power;
30 led-upgrade = &power;
31 };
32
33 memory {
34 device_type = "memory";
35 reg = <0x80000000 0x10000000>;
36 };
37
38 reserved-memory {
39 #address-cells = <0x1>;
40 #size-cells = <0x1>;
41 ranges;
42
43 apps_bl@87000000 {
44 reg = <0x87000000 0x400000>;
45 no-map;
46 };
47
48 sbl@87400000 {
49 reg = <0x87400000 0x100000>;
50 no-map;
51 };
52
53 cnss_debug@87500000 {
54 reg = <0x87500000 0x600000>;
55 no-map;
56 };
57
58 cpu_context_dump@87b00000 {
59 reg = <0x87b00000 0x080000>;
60 no-map;
61 };
62
63 tz_apps@87b80000 {
64 reg = <0x87b80000 0x280000>;
65 no-map;
66 };
67
68 smem@87e00000 {
69 reg = <0x87e00000 0x080000>;
70 no-map;
71 };
72
73 tz@87e80000 {
74 reg = <0x87e80000 0x180000>;
75 no-map;
76 };
77 };
78
79 soc {
80 mdio@90000 {
81 status = "okay";
82 /delete-node/ ethernet-phy@2;
83 /delete-node/ ethernet-phy@3;
84 /delete-node/ ethernet-phy@4;
85 };
86
87 ess-psgmii@98000 {
88 status = "okay";
89 };
90
91 tcsr@1949000 {
92 compatible = "qcom,tcsr";
93 reg = <0x1949000 0x100>;
94 qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
95 };
96
97 tcsr@194b000 {
98 /* select hostmode */
99 compatible = "qcom,tcsr";
100 reg = <0x194b000 0x100>;
101 qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
102 status = "okay";
103 };
104
105 ess_tcsr@1953000 {
106 compatible = "qcom,tcsr";
107 reg = <0x1953000 0x1000>;
108 qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
109 };
110
111 tcsr@1957000 {
112 compatible = "qcom,tcsr";
113 reg = <0x1957000 0x100>;
114 qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
115 };
116
117 usb2@60f8800 {
118 status = "okay";
119 };
120
121 serial@78af000 {
122 pinctrl-0 = <&serial_pins>;
123 pinctrl-names = "default";
124 status = "okay";
125 };
126
127 usb3@8af8800 {
128 status = "okay";
129 };
130
131 crypto@8e3a000 {
132 status = "okay";
133 };
134
135 watchdog@b017000 {
136 status = "okay";
137 };
138
139 ess-switch@c000000 {
140 status = "okay";
141 switch_lan_bmp = <0x18>;
142 switch_wan_bmp = <0x20>;
143 };
144
145 edma@c080000 {
146 status = "okay";
147 };
148 };
149
150 gpio-keys {
151 compatible = "gpio-keys";
152
153 wps {
154 label = "wps";
155 gpios = <&tlmm 5 GPIO_ACTIVE_LOW>;
156 linux,code = <KEY_WPS_BUTTON>;
157 };
158
159 reset {
160 label = "reset";
161 gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
162 linux,code = <KEY_RESTART>;
163 };
164 };
165
166 gpio-leds {
167 compatible = "gpio-leds";
168
169 power: power {
170 label = "gl-b1300:green:power";
171 gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>;
172 default-state = "on";
173 };
174
175 mesh {
176 label = "gl-b1300:green:mesh";
177 gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>;
178 };
179
180 wlan {
181 label = "gl-b1300:green:wlan";
182 gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
183 };
184 };
185 };
186
187 &blsp_dma {
188 status = "okay";
189 };
190
191 &cryptobam {
192 status = "okay";
193 };
194
195 &spi_0 {
196 pinctrl-0 = <&spi_0_pins>;
197 pinctrl-names = "default";
198 status = "okay";
199 cs-gpios = <&tlmm 54 0>;
200
201 mx25l25635f@0 {
202 compatible = "jedec,spi-nor";
203 #address-cells = <1>;
204 #size-cells = <1>;
205 reg = <0>;
206 spi-max-frequency = <24000000>;
207
208 SBL1@0 {
209 label = "SBL1";
210 reg = <0x0 0x40000>;
211 read-only;
212 };
213
214 MIBIB@40000 {
215 label = "MIBIB";
216 reg = <0x40000 0x20000>;
217 read-only;
218 };
219
220 QSEE@60000 {
221 label = "QSEE";
222 reg = <0x60000 0x60000>;
223 read-only;
224 };
225
226 CDT@c0000 {
227 label = "CDT";
228 reg = <0xc0000 0x10000>;
229 read-only;
230 };
231
232 DDRPARAMS@d0000 {
233 label = "DDRPARAMS";
234 reg = <0xd0000 0x10000>;
235 read-only;
236 };
237
238 APPSBLENV@e0000 {
239 label = "APPSBLENV";
240 reg = <0xe0000 0x10000>;
241 read-only;
242 };
243
244 APPSBL@f0000 {
245 label = "APPSBL";
246 reg = <0xf0000 0x80000>;
247 read-only;
248 };
249
250 ART@170000 {
251 label = "ART";
252 reg = <0x170000 0x10000>;
253 read-only;
254 };
255
256 firmware@180000 {
257 label = "firmware";
258 reg = <0x180000 0x1e80000>;
259 };
260 };
261 };
262
263 &tlmm {
264 serial_pins: serial_pinmux {
265 mux {
266 pins = "gpio60", "gpio61";
267 function = "blsp_uart0";
268 bias-disable;
269 };
270 };
271
272 spi_0_pins: spi_0_pinmux {
273 pinmux {
274 function = "blsp_spi0";
275 pins = "gpio55", "gpio56", "gpio57";
276 };
277 pinmux_cs {
278 function = "gpio";
279 pins = "gpio54";
280 };
281 pinconf {
282 pins = "gpio55", "gpio56", "gpio57";
283 drive-strength = <12>;
284 bias-disable;
285 };
286 pinconf_cs {
287 pins = "gpio54";
288 drive-strength = <2>;
289 bias-disable;
290 output-high;
291 };
292 };
293 };
294
295 &usb2_hs_phy {
296 status = "okay";
297 };
298
299 &usb3_hs_phy {
300 status = "okay";
301 };
302
303 &usb3_ss_phy {
304 status = "okay";
305 };
306
307 &wifi0 {
308 status = "okay";
309 };
310
311 &wifi1 {
312 status = "okay";
313 };