ipq40xx: add support for EnGenius ENS620EXT
[openwrt/openwrt.git] / target / linux / ipq40xx / files-4.19 / arch / arm / boot / dts / qcom-ipq4018-ens620ext.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 = "EnGenius ENS620EXT";
10 compatible = "engenius,ens620ext";
11
12 memory {
13 device_type = "memory";
14 reg = <0x80000000 0x10000000>;
15 };
16
17 aliases {
18 led-boot = &power;
19 led-failsafe = &power;
20 led-running = &power;
21 led-upgrade = &power;
22 };
23
24 soc {
25 rng@22000 {
26 status = "okay";
27 };
28
29 mdio@90000 {
30 status = "okay";
31 };
32
33 ess-psgmii@98000 {
34 status = "okay";
35 };
36
37 tcsr@1949000 {
38 compatible = "qcom,tcsr";
39 reg = <0x1949000 0x100>;
40 qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
41 };
42
43 ess_tcsr@1953000 {
44 compatible = "qcom,tcsr";
45 reg = <0x1953000 0x1000>;
46 qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
47 };
48
49 tcsr@1957000 {
50 compatible = "qcom,tcsr";
51 reg = <0x1957000 0x100>;
52 qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
53 };
54
55 crypto@8e3a000 {
56 status = "okay";
57 };
58
59 watchdog@b017000 {
60 status = "okay";
61 };
62
63 ess-switch@c000000 {
64 status = "okay";
65 };
66
67 edma@c080000 {
68 status = "okay";
69 };
70 };
71
72 buttons {
73 compatible = "gpio-keys";
74
75 wps {
76 label = "wps";
77 gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
78 linux,code = <KEY_WPS_BUTTON>;
79 };
80 };
81
82 leds {
83 compatible = "gpio-leds";
84
85 power: power {
86 label = "ens620ext:amber:power";
87 gpios = <&tlmm 58 GPIO_ACTIVE_LOW>;
88 };
89
90 lan1 {
91 label = "ens620ext:green:lan1";
92 gpios = <&tlmm 1 GPIO_ACTIVE_LOW>;
93 };
94
95 lan2 {
96 label = "ens620ext:green:lan2";
97 gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
98 };
99
100 wlan2G {
101 label = "ens620ext:green:wlan2G";
102 gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>;
103 };
104
105 wlan5G {
106 label = "ens620ext:green:wlan5G";
107 gpios = <&tlmm 0 GPIO_ACTIVE_LOW>;
108 };
109 };
110 };
111
112 &cryptobam {
113 status = "okay";
114 };
115
116 &blsp_dma {
117 status = "okay";
118 };
119
120 &tlmm {
121 serial_pins: serial_pinmux {
122 mux {
123 pins = "gpio60", "gpio61";
124 function = "blsp_uart0";
125 bias-disable;
126 };
127 };
128
129 spi_0_pins: spi_0_pinmux {
130 mux {
131 function = "blsp_spi0";
132 pins = "gpio55", "gpio56", "gpio57";
133 drive-strength = <12>;
134 bias-disable;
135 };
136
137 mux_cs {
138 function = "gpio";
139 pins = "gpio54";
140 drive-strength = <2>;
141 bias-disable;
142 output-high;
143 };
144 };
145 };
146
147 &blsp1_spi1 { /* BLSP1 QUP1 */
148 pinctrl-0 = <&spi_0_pins>;
149 pinctrl-names = "default";
150 status = "okay";
151 cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>;
152
153 flash@0 {
154 #address-cells = <1>;
155 #size-cells = <0>;
156 compatible = "jedec,spi-nor";
157 reg = <0>;
158 spi-max-frequency = <50000000>;
159 m25p,fast-read;
160
161 partitions {
162 compatible = "fixed-partitions";
163 #address-cells = <1>;
164 #size-cells = <1>;
165
166 partition@0 {
167 label = "SBL1";
168 reg = <0x00000000 0x00040000>;
169 read-only;
170 };
171 partition@40000 {
172 label = "MIBIB";
173 reg = <0x00040000 0x00020000>;
174 read-only;
175 };
176 partition@60000 {
177 label = "QSEE";
178 reg = <0x00060000 0x00060000>;
179 read-only;
180 };
181 partition@c0000 {
182 label = "CDT";
183 reg = <0x000c0000 0x00010000>;
184 read-only;
185 };
186 partition@d0000 {
187 label = "DDRPARAMS";
188 reg = <0x000d0000 0x00010000>;
189 read-only;
190 };
191 partition@e0000 {
192 label = "APPSBLENV"; /* uboot env*/
193 reg = <0x000e0000 0x00010000>;
194 read-only;
195 };
196 partition@f0000 {
197 label = "APPSBL"; /* uboot */
198 reg = <0x000f0000 0x00090000>;
199 read-only;
200 };
201 partition@180000 {
202 label = "ART";
203 reg = <0x00180000 0x00010000>;
204 read-only;
205 };
206 partition@190000 {
207 compatible = "denx,fit";
208 label = "firmware";
209 reg = <0x00190000 0x14d0000>;
210 };
211 partition@1660000 {
212 label = "failsafe";
213 reg = <0x01660000 0x008F0000>;
214 read-only;
215 };
216 partition@1f50000 {
217 label = "u-boot-env";
218 reg = <0x01f50000 0x00010000>;
219 read-only;
220 };
221 partition@1f60000 {
222 label = "userconfig";
223 reg = <0x01f60000 0x000a0000>;
224 read-only;
225 };
226 };
227 };
228 };
229
230 &blsp1_uart1 {
231 pinctrl-0 = <&serial_pins>;
232 pinctrl-names = "default";
233 status = "okay";
234 };
235
236 &usb3_ss_phy {
237 status = "okay";
238 };
239
240 &usb3_hs_phy {
241 status = "okay";
242 };
243
244 &usb2_hs_phy {
245 status = "okay";
246 };
247
248 &wifi0 {
249 status = "okay";
250 qcom,ath10k-calibration-variant = "EnGenius-ENS620EXT";
251 };
252
253 &wifi1 {
254 status = "okay";
255 qcom,ath10k-calibration-variant = "EnGenius-ENS620EXT";
256 };