ipq40xx: add support for ZyXEL WRE6606
[openwrt/staging/chunkeey.git] / target / linux / ipq40xx / files-4.14 / arch / arm / boot / dts / qcom-ipq4018-wre6606.dts
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 = "ZyXEL WRE6606";
26 compatible = "zyxel,wre6606", "qcom,ipq4019";
27
28 aliases {
29 led-boot = &power;
30 led-failsafe = &power;
31 led-running = &power;
32 led-upgrade = &power;
33 };
34
35 chosen {
36 bootargs-append = " mtdparts=";
37 };
38
39 soc {
40 mdio@90000 {
41 status = "okay";
42 };
43
44 ess-psgmii@98000 {
45 status = "okay";
46 };
47
48 tcsr@1949000 {
49 compatible = "qcom,tcsr";
50 reg = <0x1949000 0x100>;
51 qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
52 };
53
54 ess_tcsr@1953000 {
55 compatible = "qcom,tcsr";
56 reg = <0x1953000 0x1000>;
57 qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
58 };
59
60 tcsr@1957000 {
61 compatible = "qcom,tcsr";
62 reg = <0x1957000 0x100>;
63 qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
64 };
65
66 serial@78af000 {
67 pinctrl-0 = <&serial_pins>;
68 pinctrl-names = "default";
69 status = "okay";
70 };
71
72 crypto@8e3a000 {
73 status = "okay";
74 };
75
76 watchdog@b017000 {
77 status = "okay";
78 };
79
80 ess-switch@c000000 {
81 status = "okay";
82 };
83
84 edma@c080000 {
85 status = "okay";
86 qcom,num_gmac = <1>;
87 };
88 };
89
90 gpio-leds {
91 compatible = "gpio-leds";
92
93 wps {
94 label = "wre6606:green:wps";
95 gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>;
96 };
97
98 wlan5g_green {
99 label = "wre6606:green:wlan5g";
100 gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>;
101 };
102
103 power: power {
104 label = "wre6606:green:power";
105 gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>;
106 };
107
108 wlan5g_red {
109 label = "wre6606:red:wlan5g";
110 gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>;
111 };
112
113 wlan2g_red {
114 label = "wre6606:red:wlan2g";
115 gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>;
116 };
117
118 wlan2g_green {
119 label = "wre6606:green:wlan2g";
120 gpios = <&tlmm 59 GPIO_ACTIVE_HIGH>;
121 };
122 };
123
124 gpio-keys {
125 compatible = "gpio-keys";
126
127 wps {
128 label = "wps";
129 gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
130 linux,code = <KEY_WPS_BUTTON>;
131 };
132 };
133 };
134
135 &tlmm {
136 serial_pins: serial_pinmux {
137 mux {
138 pins = "gpio60", "gpio61";
139 function = "blsp_uart0";
140 bias-disable;
141 };
142 };
143
144 spi_0_pins: spi_0_pinmux {
145 pin {
146 function = "blsp_spi0";
147 pins = "gpio55", "gpio56", "gpio57";
148 drive-strength = <12>;
149 bias-disable;
150 };
151 pin_cs {
152 function = "gpio";
153 pins = "gpio54";
154 drive-strength = <2>;
155 bias-disable;
156 output-high;
157 };
158 };
159 };
160
161 &spi_0 {
162 pinctrl-0 = <&spi_0_pins>;
163 pinctrl-names = "default";
164 status = "okay";
165 cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>;
166
167 mx25l12805d@0 {
168 compatible = "jedec,spi-nor";
169 reg = <0>;
170 spi-max-frequency = <24000000>;
171
172 partitions {
173 compatible = "fixed-partitions";
174 #address-cells = <1>;
175 #size-cells = <1>;
176
177 partition0@0 {
178 label = "SBL1";
179 reg = <0x00000000 0x00040000>;
180 read-only;
181 };
182
183 partition1@40000 {
184 label = "MIBIB";
185 reg = <0x00040000 0x00020000>;
186 read-only;
187 };
188
189 partition2@60000 {
190 label = "QSEE";
191 reg = <0x00060000 0x00060000>;
192 read-only;
193 };
194
195 partition3@c0000 {
196 label = "CDT";
197 reg = <0x000c0000 0x00010000>;
198 read-only;
199 };
200
201 partition4@d0000 {
202 label = "DDRPARAMS";
203 reg = <0x000d0000 0x00010000>;
204 read-only;
205 };
206
207 partition5@E0000 {
208 label = "APPSBLENV";
209 reg = <0x000e0000 0x00010000>;
210 read-only;
211 };
212
213 partition6@F0000 {
214 label = "APPSBL";
215 reg = <0x000f0000 0x00080000>;
216 read-only;
217 };
218
219 partition7@170000 {
220 label = "ART";
221 reg = <0x00170000 0x00010000>;
222 read-only;
223 };
224
225 partition8@180000 {
226 label = "firmware";
227 reg = <0x00180000 0x00ce0000>;
228 };
229
230 partition9@e60000 {
231 label = "manufacture";
232 reg = <0x00e60000 0x00050000>;
233 read-only;
234 };
235
236 partition10@eb0000 {
237 label = "storage";
238 reg = <0x00eb0000 0x00150000>;
239 read-only;
240 };
241 };
242 };
243 };
244
245 &blsp_dma {
246 status = "okay";
247 };
248
249 &cryptobam {
250 status = "okay";
251 };
252
253 &wifi0 {
254 status = "okay";
255 qcom,ath10k-calibration-variant = "ZyXEL-WRE6606";
256 };
257
258 &wifi1 {
259 status = "okay";
260 qcom,ath10k-calibration-variant = "ZyXEL-WRE6606";
261 };