ipq40xx: add support for Netgear EX6100v2/EX6150v2
[openwrt/staging/chunkeey.git] / target / linux / ipq40xx / files-4.14 / arch / arm / boot / dts / qcom-ipq4018-ex61x0v2.dtsi
1 /* Copyright (c) 2015, The Linux Foundation. All rights reserved.
2 * Copyright (c) 2018, David Bauer <mail@david-bauer.net>
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 *
16 */
17
18 #include "qcom-ipq4019.dtsi"
19 #include "qcom-ipq4019-bus.dtsi"
20 #include <dt-bindings/gpio/gpio.h>
21 #include <dt-bindings/input/input.h>
22 #include <dt-bindings/soc/qcom,tcsr.h>
23
24 / {
25 model = "Netgear EX61X0v2";
26 compatible = "netgear,ex61x0v2", "qcom,ipq4019";
27
28 reserved-memory {
29 #address-cells = <0x1>;
30 #size-cells = <0x1>;
31 ranges;
32
33 smem@87e00000 {
34 reg = <0x87e00000 0x080000>;
35 no-map;
36 };
37
38 tz@87e80000 {
39 reg = <0x87e80000 0x180000>;
40 no-map;
41 };
42 };
43
44 soc {
45 mdio@90000 {
46 status = "okay";
47 };
48
49 ess-psgmii@98000 {
50 status = "okay";
51 };
52
53 tcsr@1949000 {
54 compatible = "qcom,tcsr";
55 reg = <0x1949000 0x100>;
56 qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
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 serial@78af000 {
72 pinctrl-0 = <&serial_pins>;
73 pinctrl-names = "default";
74 status = "okay";
75 };
76
77 crypto@8e3a000 {
78 status = "okay";
79 };
80
81 watchdog@b017000 {
82 status = "okay";
83 };
84
85 ess-switch@c000000 {
86 status = "okay";
87 };
88
89 edma@c080000 {
90 status = "okay";
91 };
92 };
93
94 aliases {
95 led-boot = &power_amber;
96 led-failsafe = &power_amber;
97 led-running = &power_green;
98 led-upgrade = &power_amber;
99 };
100
101 gpio-keys {
102 compatible = "gpio-keys";
103
104 wps {
105 label = "wps";
106 gpios = <&tlmm 0 GPIO_ACTIVE_LOW>;
107 linux,code = <KEY_WPS_BUTTON>;
108 };
109
110 reset {
111 label = "reset";
112 gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
113 linux,code = <KEY_RESTART>;
114 };
115 };
116
117 led_spi {
118 compatible = "spi-gpio";
119 #address-cells = <1>;
120 ranges;
121
122 gpio-sck = <&tlmm 5 GPIO_ACTIVE_HIGH>;
123 gpio-mosi = <&tlmm 4 GPIO_ACTIVE_HIGH>;
124 num-chipselects = <0>;
125
126 led_gpio: led_gpio@0 {
127 compatible = "fairchild,74hc595";
128 reg = <0>;
129 gpio-controller;
130 #gpio-cells = <2>;
131 registers-number = <1>;
132 spi-max-frequency = <1000000>;
133 };
134 };
135
136 gpio-leds {
137 compatible = "gpio-leds";
138
139 power_amber: power_amber {
140 label = "ex61x0v2:amber:power";
141 gpios = <&led_gpio 7 GPIO_ACTIVE_LOW>;
142 };
143
144 power_green: power_green {
145 label = "ex61x0v2:green:power";
146 gpios = <&led_gpio 6 GPIO_ACTIVE_LOW>;
147 };
148
149 right {
150 label = "ex61x0v2:blue:right";
151 gpios = <&led_gpio 5 GPIO_ACTIVE_LOW>;
152 };
153
154 left {
155 label = "ex61x0v2:blue:left";
156 gpios = <&led_gpio 4 GPIO_ACTIVE_LOW>;
157 };
158
159 client_green {
160 label = "ex61x0v2:green:client";
161 gpios = <&led_gpio 3 GPIO_ACTIVE_LOW>;
162 };
163
164 client_red {
165 label = "ex61x0v2:red:client";
166 gpios = <&led_gpio 2 GPIO_ACTIVE_LOW>;
167 };
168
169 router_green {
170 label = "ex61x0v2:green:router";
171 gpios = <&led_gpio 1 GPIO_ACTIVE_LOW>;
172 };
173
174 router_red {
175 label = "ex61x0v2:red:router";
176 gpios = <&led_gpio 0 GPIO_ACTIVE_LOW>;
177 };
178
179 wps {
180 label = "ex61x0v2:green:wps";
181 gpios = <&tlmm 1 GPIO_ACTIVE_LOW>;
182 };
183 };
184 };
185
186 &tlmm {
187 serial_pins: serial_pinmux {
188 mux {
189 pins = "gpio60", "gpio61";
190 function = "blsp_uart0";
191 bias-disable;
192 };
193 };
194
195 spi_0_pins: spi_0_pinmux {
196 pin {
197 function = "blsp_spi0";
198 pins = "gpio55", "gpio56", "gpio57";
199 drive-strength = <12>;
200 bias-disable;
201 };
202 pin_cs {
203 function = "gpio";
204 pins = "gpio54";
205 drive-strength = <2>;
206 bias-disable;
207 output-high;
208 };
209 };
210 };
211
212 &spi_0 {
213 pinctrl-0 = <&spi_0_pins>;
214 pinctrl-names = "default";
215 status = "okay";
216 cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>;
217
218 mx25l12805d@0 {
219 compatible = "jedec,spi-nor";
220 reg = <0>;
221 spi-max-frequency = <24000000>;
222
223 partitions {
224 compatible = "fixed-partitions";
225 #address-cells = <1>;
226 #size-cells = <1>;
227
228 partition0@0 {
229 label = "SBL1";
230 reg = <0x00000000 0x00040000>;
231 read-only;
232 };
233
234 partition1@40000 {
235 label = "MIBIB";
236 reg = <0x00040000 0x00020000>;
237 read-only;
238 };
239
240 partition2@60000 {
241 label = "QSEE";
242 reg = <0x00060000 0x00060000>;
243 read-only;
244 };
245
246 partition3@c0000 {
247 label = "CDT";
248 reg = <0x000c0000 0x00010000>;
249 read-only;
250 };
251
252 partition4@d0000 {
253 label = "DDRPARAMS";
254 reg = <0x000d0000 0x00010000>;
255 read-only;
256 };
257
258 partition5@E0000 {
259 label = "APPSBLENV";
260 reg = <0x000e0000 0x00010000>;
261 read-only;
262 };
263
264 partition6@F0000 {
265 label = "APPSBL";
266 reg = <0x000f0000 0x00080000>;
267 read-only;
268 };
269
270 partition7@170000 {
271 label = "ART";
272 reg = <0x00170000 0x00010000>;
273 read-only;
274 };
275
276 partition8@180000 {
277 label = "config";
278 reg = <0x00180000 0x00010000>;
279 read-only;
280 };
281
282 partition9@190000 {
283 label = "pot";
284 reg = <0x00190000 0x00010000>;
285 read-only;
286 };
287
288 partition10@1a0000 {
289 label = "dnidata";
290 reg = <0x001a0000 0x00010000>;
291 read-only;
292 };
293
294 partition11@1b0000 {
295 label = "firmware";
296 reg = <0x001b0000 0x00e10000>;
297 };
298
299 partition12@fc0000 {
300 label = "language";
301 reg = <0x00fc0000 0x00040000>;
302 read-only;
303 };
304 };
305 };
306 };
307
308 &blsp_dma {
309 status = "okay";
310 };
311
312 &cryptobam {
313 status = "okay";
314 };
315
316 &wifi0 {
317 status = "okay";
318 };
319
320 &wifi1 {
321 status = "okay";
322 };