598e22c8153f1bc13a4fc11a4e623e104b8fe1c7
[openwrt/staging/jogo.git] / target / linux / ipq40xx / files-4.14 / arch / arm / boot / dts / qcom-ipq4018-fritz4040.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 = "AVM FRITZ!Box 4040";
24 compatible = "avm,fritzbox-4040", "qcom,ipq4019";
25
26 aliases {
27 led-boot = &power;
28 led-failsafe = &flash;
29 led-running = &power;
30 led-upgrade = &flash;
31 };
32
33 soc {
34 mdio@90000 {
35 status = "okay";
36 };
37
38 ess-psgmii@98000 {
39 status = "okay";
40 };
41
42 tcsr@1949000 {
43 compatible = "qcom,tcsr";
44 reg = <0x1949000 0x100>;
45 qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
46 };
47
48 tcsr@194b000 {
49 compatible = "qcom,tcsr";
50 reg = <0x194b000 0x100>;
51 qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
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 usb2@60f8800 {
67 status = "okay";
68 };
69
70 serial@78af000 {
71 pinctrl-0 = <&serial_pins>;
72 pinctrl-names = "default";
73 status = "okay";
74 };
75
76 usb3@8af8800 {
77 status = "okay";
78 };
79
80 crypto@8e3a000 {
81 status = "okay";
82 };
83
84 wifi@a000000 {
85 status = "okay";
86 qcom,ath10k-calibration-variant = "AVM-FRITZBox-4040";
87 };
88
89 wifi@a800000 {
90 status = "okay";
91 qcom,ath10k-calibration-variant = "AVM-FRITZBox-4040";
92 };
93
94 watchdog@b017000 {
95 status = "okay";
96 };
97
98 qca8075: ess-switch@c000000 {
99 status = "okay";
100
101 #gpio-cells = <2>;
102 gpio-controller;
103
104 enable-usb-power {
105 gpio-hog;
106 line-name = "enable USB3 power";
107 gpios = <7 GPIO_ACTIVE_HIGH>;
108 output-high;
109 };
110 };
111
112 edma@c080000 {
113 status = "okay";
114 };
115 };
116
117 gpio-keys {
118 compatible = "gpio-keys";
119
120 wlan {
121 label = "wlan";
122 gpios = <&tlmm 58 GPIO_ACTIVE_LOW>;
123 linux,code = <KEY_RFKILL>;
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 wlan {
137 label = "fritz4040:green:wlan";
138 gpios = <&qca8075 1 GPIO_ACTIVE_HIGH>;
139 };
140
141 panic: info_red {
142 label = "fritz4040:red:info";
143 gpios = <&qca8075 3 GPIO_ACTIVE_HIGH>;
144 panic-indicator;
145 };
146
147 wan {
148 label = "fritz4040:green:wan";
149 gpios = <&qca8075 5 GPIO_ACTIVE_HIGH>;
150 };
151
152 power: power {
153 label = "fritz4040:green:power";
154 gpios = <&qca8075 11 GPIO_ACTIVE_HIGH>;
155 };
156
157 lan {
158 label = "fritz4040:green:lan";
159 gpios = <&qca8075 13 GPIO_ACTIVE_HIGH>;
160 };
161
162 flash: info_amber {
163 label = "fritz4040:amber:info";
164 gpios = <&qca8075 15 GPIO_ACTIVE_HIGH>;
165 };
166 };
167 };
168
169 &tlmm {
170 serial_pins: serial_pinmux {
171 mux {
172 pins = "gpio60", "gpio61";
173 function = "blsp_uart0";
174 bias-disable;
175 };
176 };
177
178 spi_0_pins: spi_0_pinmux {
179 mux {
180 function = "blsp_spi0";
181 pins = "gpio55", "gpio56", "gpio57";
182 drive-strength = <12>;
183 bias-disable;
184 };
185
186 mux_cs {
187 function = "gpio";
188 pins = "gpio54";
189 drive-strength = <2>;
190 bias-disable;
191 output-high;
192 };
193 };
194 };
195
196 &cryptobam {
197 status = "okay";
198 };
199
200 &blsp_dma {
201 status = "okay";
202 };
203
204 &blsp1_spi1 { /* BLSP1 QUP1 */
205 pinctrl-0 = <&spi_0_pins>;
206 pinctrl-names = "default";
207 status = "okay";
208 cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>;
209
210 mx25l25635f@0 {
211 compatible = "jedec,spi-nor";
212 #address-cells = <1>;
213 #size-cells = <0>;
214 reg = <0>;
215 spi-max-frequency = <24000000>;
216 status = "okay";
217 m25p,fast-read;
218
219 partitions {
220 compatible = "fixed-partitions";
221 #address-cells = <1>;
222 #size-cells = <1>;
223
224 partition0@0 {
225 label = "SBL1";
226 reg = <0x00000000 0x00040000>;
227 read-only;
228 };
229 partition1@40000 {
230 label = "MIBIB";
231 reg = <0x00040000 0x00020000>;
232 read-only;
233 };
234 partition2@60000 {
235 label = "QSEE";
236 reg = <0x00060000 0x00060000>;
237 read-only;
238 };
239 partition3@c0000 {
240 label = "CDT";
241 reg = <0x000c0000 0x00010000>;
242 read-only;
243 };
244 partition4@d0000 {
245 label = "DDRPARAMS";
246 reg = <0x000d0000 0x00010000>;
247 read-only;
248 };
249 partition5@e0000 {
250 label = "APPSBLENV"; /* uboot env - empty */
251 reg = <0x000e0000 0x00010000>;
252 read-only;
253 };
254 partition6@f0000 {
255 label = "urlader"; /* APPSBL */
256 reg = <0x000f0000 0x0002dc000>;
257 read-only;
258 };
259 partition7@11dc00 {
260 /* make a backup of this partition! */
261 label = "urlader_config";
262 reg = <0x0011dc00 0x00002400>;
263 read-only;
264 };
265 partition8@120000 {
266 label = "tffs1";
267 reg = <0x00120000 0x00080000>;
268 read-only;
269 };
270 partition9@1a0000 {
271 label = "tffs2";
272 reg = <0x001a0000 0x00080000>;
273 read-only;
274 };
275 partition10@220000 {
276 label = "uboot";
277 reg = <0x00220000 0x00080000>;
278 read-only;
279 };
280 partition11@2A0000 {
281 compatible = "denx,fit";
282 label = "firmware";
283 reg = <0x002a0000 0x01c60000>;
284 };
285 partition12@1f00000 {
286 label = "jffs2";
287 reg = <0x01f00000 0x00100000>;
288 };
289 };
290 };
291 };
292
293 &usb3_ss_phy {
294 status = "okay";
295 };
296
297 &usb3_hs_phy {
298 status = "okay";
299 };
300
301 &usb2_hs_phy {
302 status = "okay";
303 };