ipq40xx: 4.19: Enable pseudo random number generator
[oweals/openwrt.git] / target / linux / ipq40xx / files-4.19 / arch / arm / boot / dts / qcom-ipq4018-rt-ac58u.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/soc/qcom,tcsr.h>
7
8 / {
9         model = "ASUS RT-AC58U";
10         compatible = "asus,rt-ac58u", "qcom,ipq4019";
11
12         memory {
13                 device_type = "memory";
14                 reg = <0x80000000 0x8000000>;
15         };
16
17         aliases {
18                 led-boot = &power;
19                 led-failsafe = &power;
20                 led-running = &power;
21                 led-upgrade = &power;
22         };
23
24         chosen {
25                 bootargs-append = " ubi.mtd=UBI_DEV";
26         };
27
28         soc {
29                 rng@22000 {
30                         status = "okay";
31                 };
32
33                 mdio@90000 {
34                         status = "okay";
35                 };
36
37                 ess-psgmii@98000 {
38                         status = "okay";
39                 };
40
41                 tcsr@1949000 {
42                         compatible = "qcom,tcsr";
43                         reg = <0x1949000 0x100>;
44                         qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
45                 };
46
47                 tcsr@194b000 {
48                         compatible = "qcom,tcsr";
49                         reg = <0x194b000 0x100>;
50                         qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
51                 };
52
53                 ess_tcsr@1953000 {
54                         compatible = "qcom,tcsr";
55                         reg = <0x1953000 0x1000>;
56                         qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
57                 };
58
59                 tcsr@1957000 {
60                         compatible = "qcom,tcsr";
61                         reg = <0x1957000 0x100>;
62                         qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
63                 };
64
65                 usb2@60f8800 {
66                         status = "okay";
67                 };
68
69                 usb3@8af8800 {
70                         status = "okay";
71                 };
72
73                 crypto@8e3a000 {
74                         status = "okay";
75                 };
76
77                 wifi@a000000 {
78                         status = "okay";
79                         qcom,ath10k-calibration-variant = "RT-AC58U";
80                 };
81
82                 wifi@a800000 {
83                         status = "okay";
84                         qcom,ath10k-calibration-variant = "RT-AC58U";
85                 };
86
87                 watchdog@b017000 {
88                         status = "okay";
89                 };
90
91                 ess-switch@c000000 {
92                         status = "okay";
93                 };
94
95                 edma@c080000 {
96                         status = "okay";
97                 };
98         };
99
100         gpio-keys {
101                 compatible = "gpio-keys";
102
103                 reset {
104                         label = "reset";
105                         gpios = <&tlmm 4 GPIO_ACTIVE_LOW>;
106                         linux,code = <KEY_RESTART>;
107                 };
108
109                 wps {
110                         label = "wps";
111                         gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
112                         linux,code = <KEY_WPS_BUTTON>;
113                 };
114         };
115
116         gpio-leds {
117                 compatible = "gpio-leds";
118
119                 power: status {
120                         label = "rt-ac58u:blue:status";
121                         gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>;
122                 };
123
124                 wan {
125                         label = "rt-ac58u:blue:wan";
126                         gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>;
127                 };
128
129                 wlan2G {
130                         label = "rt-ac58u:blue:wlan2G";
131                         gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>;
132                 };
133
134                 wan5G {
135                         label = "rt-ac58u:blue:wlan5G";
136                         gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>;
137                 };
138
139                 usb {
140                         label = "rt-ac58u:blue:usb";
141                         gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
142                 };
143
144                 lan {
145                         label = "rt-ac58u:blue:lan";
146                         gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
147                 };
148         };
149 };
150
151 &cryptobam {
152         status = "okay";
153 };
154
155 &blsp_dma {
156         status = "okay";
157 };
158
159 &tlmm {
160         serial_pins: serial_pinmux {
161                 mux {
162                         pins = "gpio60", "gpio61";
163                         function = "blsp_uart0";
164                         bias-disable;
165                 };
166         };
167
168         spi_0_pins: spi_0_pinmux {
169                 mux {
170                         function = "blsp_spi0";
171                         pins = "gpio55", "gpio56", "gpio57";
172                         drive-strength = <12>;
173                         bias-disable;
174                 };
175
176                 mux_cs {
177                         function = "gpio";
178                         pins = "gpio54", "gpio59";
179                         drive-strength = <2>;
180                         bias-disable;
181                         output-high;
182                 };
183         };
184 };
185
186 &blsp1_spi1 { /* BLSP1 QUP1 */
187         pinctrl-0 = <&spi_0_pins>;
188         pinctrl-names = "default";
189         status = "okay";
190         cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>,
191                    <&tlmm 59 GPIO_ACTIVE_HIGH>;
192
193         flash@0 {
194                 /*
195                  * U-boot looks for "n25q128a11" node,
196                  * if we don't have it, it will spit out the following warning:
197                  * "ipq: fdt fixup unable to find compatible node".
198                  */
199                 compatible = "jedec,spi-nor";
200                 reg = <0>;
201                 linux,modalias = "m25p80", "mx25l1606e", "n25q128a11";
202                 spi-max-frequency = <24000000>;
203
204                 partitions {
205                         compatible = "fixed-partitions";
206                         #address-cells = <1>;
207                         #size-cells = <1>;
208
209                         partition0@0 {
210                                 label = "SBL1";
211                                 reg = <0x00000000 0x00040000>;
212                                 read-only;
213                         };
214                         partition1@40000 {
215                                 label = "MIBIB";
216                                 reg = <0x00040000 0x00020000>;
217                                 read-only;
218                         };
219                         partition2@60000 {
220                                 label = "QSEE";
221                                 reg = <0x00060000 0x00060000>;
222                                 read-only;
223                         };
224                         partition3@c0000 {
225                                 label = "CDT";
226                                 reg = <0x000c0000 0x00010000>;
227                                 read-only;
228                         };
229                         partition4@d0000 {
230                                 label = "DDRPARAMS";
231                                 reg = <0x000d0000 0x00010000>;
232                                 read-only;
233                         };
234                         partition5@e0000 {
235                                 label = "APPSBLENV"; /* uboot env*/
236                                 reg = <0x000e0000 0x00010000>;
237                                 read-only;
238                         };
239                         partition5@f0000 {
240                                 label = "APPSBL"; /* uboot */
241                                 reg = <0x000f0000 0x00080000>;
242                                 read-only;
243                         };
244                         partition5@170000 {
245                                 label = "ART";
246                                 reg = <0x00170000 0x00010000>;
247                                 read-only;
248                         };
249                         /* 0x00180000 - 0x00200000 unused */
250                 };
251         };
252
253         spi-nand@1 {
254                 compatible = "spi-nand";
255                 reg = <1>;
256                 spi-max-frequency = <24000000>;
257
258                 /*
259                  * U-boot looks for "spinand,mt29f" node,
260                  * if we don't have it, it will spit out the following warning:
261                  * "ipq: fdt fixup unable to find compatible node".
262                  */
263
264                 partitions {
265                         compatible = "fixed-partitions";
266                         #address-cells = <1>;
267                         #size-cells = <1>;
268
269                         partition@0 {
270                                 label = "ubi";
271                                 reg = <0x00000000 0x08000000>;
272                         };
273                 };
274         };
275 };
276
277 &blsp1_uart1 {
278         pinctrl-0 = <&serial_pins>;
279         pinctrl-names = "default";
280         status = "okay";
281 };
282
283 &usb3_ss_phy {
284         status = "okay";
285 };
286
287 &usb3_hs_phy {
288         status = "okay";
289 };
290
291 &usb2_hs_phy {
292         status = "okay";
293 };