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