ipq40xx: 4.19: Enable pseudo random number generator
[openwrt/openwrt.git] / target / linux / ipq40xx / files-4.19 / 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", "qcom,ipq4019";
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
70 usb3@8af8800 {
71 status = "okay";
72 };
73
74 crypto@8e3a000 {
75 status = "okay";
76 };
77
78 watchdog@b017000 {
79 status = "okay";
80 };
81
82 ess-switch@c000000 {
83 status = "okay";
84 };
85
86 edma@c080000 {
87 status = "okay";
88 };
89 };
90
91 keys {
92 compatible = "gpio-keys";
93
94 wlan {
95 label = "wlan";
96 gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
97 linux,code = <KEY_RFKILL>;
98 linux,input-type = <EV_SW>;
99 };
100
101 wps {
102 label = "wps";
103 gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
104 linux,code = <KEY_WPS_BUTTON>;
105 };
106
107 reset {
108 label = "reset";
109 gpios = <&tlmm 4 GPIO_ACTIVE_LOW>;
110 linux,code = <KEY_RESTART>;
111 };
112 };
113
114 leds {
115 compatible = "gpio-leds";
116 pinctrl-0 = <&led_pins>;
117 pinctrl-names = "default";
118
119 power: power {
120 label = "nbg6617:green:power";
121 gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>;
122 };
123
124 usb {
125 label = "nbg6617:green:usb";
126 gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
127 };
128
129 wlan2G {
130 label = "nbg6617:green:wlan2G";
131 gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>;
132 };
133
134 wlan5G {
135 label = "nbg6617:green:wlan5G";
136 gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>;
137 };
138
139 wps {
140 label = "nbg6617:green:wps";
141 gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>;
142 };
143 };
144 };
145
146 &tlmm {
147 serial_pins: serial_pinmux {
148 mux {
149 pins = "gpio60", "gpio61";
150 function = "blsp_uart0";
151 bias-disable;
152 };
153 };
154 spi_0_pins: spi_0_pinmux {
155 mux {
156 function = "blsp_spi0";
157 pins = "gpio55", "gpio56", "gpio57";
158 drive-strength = <12>;
159 bias-disable;
160 };
161
162 mux_cs {
163 function = "gpio";
164 pins = "gpio54";
165 drive-strength = <2>;
166 bias-disable;
167 output-low;
168 };
169 };
170 led_pins: led_pinmux {
171 mux {
172 pins = "gpio0", "gpio1", "gpio3", "gpio5", "gpio58";
173 drive-strength = <0x8>;
174 bias-disable;
175 output-low;
176 };
177 };
178 };
179
180 &blsp1_spi1 { /* BLSP1 QUP1 */
181 pinctrl-0 = <&spi_0_pins>;
182 pinctrl-names = "default";
183 status = "okay";
184 cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>;
185
186 mx25l25635f@0 {
187 compatible = "mx25l25635f", "jedec,spi-nor";
188 reg = <0>;
189 spi-max-frequency = <24000000>;
190 status = "okay";
191 m25p,fast-read;
192
193 partitions {
194 compatible = "fixed-partitions";
195 #address-cells = <1>;
196 #size-cells = <1>;
197
198 partition0@0 {
199 label = "SBL1";
200 reg = <0x00000000 0x00040000>;
201 read-only;
202 };
203 partition1@40000 {
204 label = "MIBIB";
205 reg = <0x00040000 0x00020000>;
206 read-only;
207 };
208 partition2@60000 {
209 label = "QSEE";
210 reg = <0x00060000 0x00060000>;
211 read-only;
212 };
213 partition3@c0000 {
214 label = "CDT";
215 reg = <0x000c0000 0x00010000>;
216 read-only;
217 };
218 partition4@d0000 {
219 label = "DDRPARAMS";
220 reg = <0x000d0000 0x00010000>;
221 read-only;
222 };
223 partition5@e0000 {
224 label = "APPSBL"; /* u-boot */
225 reg = <0x000e0000 0x00080000>;
226 /* U-Boot Standalone App "zloader" is located at 0x64000 */
227 read-only;
228 };
229 partition6@160000 {
230 label = "APPSBLENV"; /* u-boot env */
231 reg = <0x00160000 0x00010000>;
232 };
233 partition7@170000 {
234 /* make a backup of this partition! */
235 label = "ART";
236 reg = <0x00170000 0x00010000>;
237 read-only;
238 };
239 partition8@180000 {
240 label = "kernel";
241 reg = <0x00180000 0x00400000>;
242 };
243 partition9@580000 {
244 label = "dualflag";
245 reg = <0x00580000 0x00010000>;
246 read-only;
247 };
248 partition10@590000 {
249 label = "header";
250 reg = <0x00590000 0x00010000>;
251 };
252 partition11@5a0000 {
253 label = "romd";
254 reg = <0x005a0000 0x00100000>;
255 read-only;
256 };
257 partition12@6a0000 {
258 label = "not_root_data";
259 /*
260 * for some strange reason, someone at ZyXEL
261 * had the "great" idea to put the rootfs_data
262 * in front of rootfs... Don't do that!
263 * As a result this one, full MebiByte remains
264 * unused.
265 */
266 reg = <0x006a0000 0x00100000>;
267 };
268 partition13@7a0000 {
269 label = "rootfs";
270 reg = <0x007a0000 0x01860000>;
271 };
272 };
273 };
274 };
275
276 &blsp1_uart1 {
277 pinctrl-0 = <&serial_pins>;
278 pinctrl-names = "default";
279 status = "okay";
280 };
281
282 &cryptobam {
283 status = "okay";
284 };
285
286 &blsp_dma {
287 status = "okay";
288 };
289
290 &wifi0 {
291 status = "okay";
292 qcom,ath10k-calibration-variant = "ZyXEL-NBG6617";
293 };
294
295 &wifi1 {
296 status = "okay";
297 qcom,ath10k-calibration-variant = "ZyXEL-NBG6617";
298 };
299
300 &usb3_ss_phy {
301 status = "okay";
302 };
303
304 &usb3_hs_phy {
305 status = "okay";
306 };
307
308 &usb2_hs_phy {
309 status = "okay";
310 };