ipq40xx: dynamically build board-2.bin for Mikrotik
[openwrt/staging/chunkeey.git] / target / linux / ipq40xx / files / arch / arm / boot / dts / qcom-ipq4018-nbg6617.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2
3 #include "qcom-ipq4019.dtsi"
4 #include <dt-bindings/gpio/gpio.h>
5 #include <dt-bindings/input/input.h>
6 #include <dt-bindings/input/linux-event-codes.h>
7 #include <dt-bindings/soc/qcom,tcsr.h>
8
9 / {
10 model = "ZyXEL NBG6617";
11 compatible = "zyxel,nbg6617";
12
13 chosen {
14 /*
15 * the vendor u-boot adds root and mtdparts cmdline parameters
16 * which we don't want... but we have to overwrite them or else
17 * the kernel will take them at face value.
18 */
19 bootargs-append = " mtdparts= root=31:13";
20 };
21
22 aliases {
23 led-boot = &power;
24 led-failsafe = &power;
25 led-running = &power;
26 led-upgrade = &power;
27 };
28
29 soc {
30 rng@22000 {
31 status = "okay";
32 };
33
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 dwc3@6000000 {
70 #address-cells = <1>;
71 #size-cells = <0>;
72
73 usb2_port1: port@1 {
74 reg = <1>;
75 #trigger-source-cells = <0>;
76 };
77 };
78 };
79
80 usb3@8af8800 {
81 status = "okay";
82
83 dwc3@8a00000 {
84 #address-cells = <1>;
85 #size-cells = <0>;
86
87 usb3_port1: port@1 {
88 reg = <1>;
89 #trigger-source-cells = <0>;
90 };
91
92 usb3_port2: port@2 {
93 reg = <2>;
94 #trigger-source-cells = <0>;
95 };
96 };
97 };
98
99 crypto@8e3a000 {
100 status = "okay";
101 };
102
103 watchdog@b017000 {
104 status = "okay";
105 };
106
107 ess-switch@c000000 {
108 status = "okay";
109 };
110
111 edma@c080000 {
112 status = "okay";
113 };
114 };
115
116 keys {
117 compatible = "gpio-keys";
118
119 wlan {
120 label = "wlan";
121 gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
122 linux,code = <KEY_RFKILL>;
123 linux,input-type = <EV_SW>;
124 };
125
126 wps {
127 label = "wps";
128 gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
129 linux,code = <KEY_WPS_BUTTON>;
130 };
131
132 reset {
133 label = "reset";
134 gpios = <&tlmm 4 GPIO_ACTIVE_LOW>;
135 linux,code = <KEY_RESTART>;
136 };
137 };
138
139 leds {
140 compatible = "gpio-leds";
141 pinctrl-0 = <&led_pins>;
142 pinctrl-names = "default";
143
144 power: power {
145 label = "green:power";
146 gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>;
147 };
148
149 usb {
150 label = "green:usb";
151 gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
152 trigger-sources = <&usb2_port1>, <&usb3_port1>, <&usb3_port2>;
153 linux,default-trigger = "usbport";
154 };
155
156 wlan2g {
157 label = "green:wlan2g";
158 gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>;
159 };
160
161 wlan5g {
162 label = "green:wlan5g";
163 gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>;
164 };
165
166 wps {
167 label = "green:wps";
168 gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>;
169 };
170 };
171 };
172
173 &tlmm {
174 serial_pins: serial_pinmux {
175 mux {
176 pins = "gpio60", "gpio61";
177 function = "blsp_uart0";
178 bias-disable;
179 };
180 };
181 spi_0_pins: spi_0_pinmux {
182 mux {
183 function = "blsp_spi0";
184 pins = "gpio55", "gpio56", "gpio57";
185 drive-strength = <12>;
186 bias-disable;
187 };
188
189 mux_cs {
190 function = "gpio";
191 pins = "gpio54";
192 drive-strength = <2>;
193 bias-disable;
194 output-low;
195 };
196 };
197 led_pins: led_pinmux {
198 mux {
199 pins = "gpio0", "gpio1", "gpio3", "gpio5", "gpio58";
200 drive-strength = <0x8>;
201 bias-disable;
202 output-low;
203 };
204 };
205 };
206
207 &blsp1_spi1 { /* BLSP1 QUP1 */
208 pinctrl-0 = <&spi_0_pins>;
209 pinctrl-names = "default";
210 status = "okay";
211 cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>;
212
213 flash@0 {
214 compatible = "jedec,spi-nor";
215 reg = <0>;
216 spi-max-frequency = <50000000>;
217 status = "okay";
218 m25p,fast-read;
219
220 partitions {
221 compatible = "fixed-partitions";
222 #address-cells = <1>;
223 #size-cells = <1>;
224
225 partition0@0 {
226 label = "SBL1";
227 reg = <0x00000000 0x00040000>;
228 read-only;
229 };
230 partition1@40000 {
231 label = "MIBIB";
232 reg = <0x00040000 0x00020000>;
233 read-only;
234 };
235 partition2@60000 {
236 label = "QSEE";
237 reg = <0x00060000 0x00060000>;
238 read-only;
239 };
240 partition3@c0000 {
241 label = "CDT";
242 reg = <0x000c0000 0x00010000>;
243 read-only;
244 };
245 partition4@d0000 {
246 label = "DDRPARAMS";
247 reg = <0x000d0000 0x00010000>;
248 read-only;
249 };
250 partition5@e0000 {
251 label = "APPSBL"; /* u-boot */
252 reg = <0x000e0000 0x00080000>;
253 /* U-Boot Standalone App "zloader" is located at 0x64000 */
254 read-only;
255 };
256 partition6@160000 {
257 label = "APPSBLENV"; /* u-boot env */
258 reg = <0x00160000 0x00010000>;
259 };
260 partition7@170000 {
261 /* make a backup of this partition! */
262 label = "ART";
263 reg = <0x00170000 0x00010000>;
264 read-only;
265 };
266 partition8@180000 {
267 label = "kernel";
268 reg = <0x00180000 0x00400000>;
269 };
270 partition9@580000 {
271 label = "dualflag";
272 reg = <0x00580000 0x00010000>;
273 read-only;
274 };
275 partition10@590000 {
276 label = "header";
277 reg = <0x00590000 0x00010000>;
278 };
279 partition11@5a0000 {
280 label = "romd";
281 reg = <0x005a0000 0x00100000>;
282 read-only;
283 };
284 partition12@6a0000 {
285 label = "not_root_data";
286 /*
287 * for some strange reason, someone at ZyXEL
288 * had the "great" idea to put the rootfs_data
289 * in front of rootfs... Don't do that!
290 * As a result this one, full MebiByte remains
291 * unused.
292 */
293 reg = <0x006a0000 0x00100000>;
294 };
295 partition13@7a0000 {
296 label = "rootfs";
297 reg = <0x007a0000 0x01860000>;
298 };
299 };
300 };
301 };
302
303 &blsp1_uart1 {
304 pinctrl-0 = <&serial_pins>;
305 pinctrl-names = "default";
306 status = "okay";
307 };
308
309 &cryptobam {
310 status = "okay";
311 };
312
313 &blsp_dma {
314 status = "okay";
315 };
316
317 &wifi0 {
318 status = "okay";
319 qcom,ath10k-calibration-variant = "ZyXEL-NBG6617";
320 };
321
322 &wifi1 {
323 status = "okay";
324 qcom,ath10k-calibration-variant = "ZyXEL-NBG6617";
325 };
326
327 &usb3_ss_phy {
328 status = "okay";
329 };
330
331 &usb3_hs_phy {
332 status = "okay";
333 };
334
335 &usb2_hs_phy {
336 status = "okay";
337 };