ipq40xx: add support for Extreme Networks WS-AP3915i
[openwrt/openwrt.git] / target / linux / ipq40xx / files / arch / arm / boot / dts / qcom-ipq4029-ws-ap3915i.dts
1 // SPDX-License-Identifier: GPL-2.0-only 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 = "Extreme Networks WS-AP3915i";
10 compatible = "extreme-networks,ws-ap3915i";
11
12 aliases {
13 led-boot = &led_system_green;
14 led-failsafe = &led_system_amber;
15 led-running = &led_system_green;
16 led-upgrade = &led_system_amber;
17 label-mac-device = &gmac0;
18 };
19
20 soc {
21 rng@22000 {
22 status = "okay";
23 };
24
25 mdio@90000 {
26 status = "okay";
27 pinctrl-0 = <&mdio_pins>;
28 pinctrl-names = "default";
29 };
30
31 ess-psgmii@98000 {
32 status = "okay";
33 };
34
35 tcsr@1949000 {
36 compatible = "qcom,tcsr";
37 reg = <0x1949000 0x100>;
38 qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
39 };
40
41 ess_tcsr@1953000 {
42 compatible = "qcom,tcsr";
43 reg = <0x1953000 0x1000>;
44 qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
45 };
46
47 tcsr@1957000 {
48 compatible = "qcom,tcsr";
49 reg = <0x1957000 0x100>;
50 qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
51 };
52
53 crypto@8e3a000 {
54 status = "okay";
55 };
56
57 watchdog@b017000 {
58 status = "okay";
59 };
60
61 ess-switch@c000000 {
62 status = "okay";
63 switch_lan_bmp = <0x20>;
64 switch_wan_bmp = <0x00>;
65 };
66
67 edma@c080000 {
68 status = "okay";
69 qcom,num_gmac = <1>;
70 };
71 };
72
73 leds {
74 compatible = "gpio-leds";
75
76 led_system_green: system_green {
77 label = "green:system";
78 gpios = <&tlmm 49 GPIO_ACTIVE_LOW>;
79 };
80
81 led_system_amber: system_amber {
82 label = "amber:system";
83 gpios = <&tlmm 50 GPIO_ACTIVE_LOW>;
84 };
85
86 led_wlan24_green: wlan24_green {
87 label = "green:wlan24";
88 gpios = <&tlmm 23 GPIO_ACTIVE_LOW>;
89 linux,default-trigger = "phy0tpt";
90 };
91
92 led_wlan24_amber: wlan24_amber {
93 label = "amber:wlan24";
94 gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
95 };
96
97 led_wlan5_green: wlan5_green {
98 label = "green:wlan5";
99 gpios = <&tlmm 22 GPIO_ACTIVE_LOW>;
100 linux,default-trigger = "phy1tpt";
101 };
102
103 led_wlan5_amber: wlan5_amber {
104 label = "amber:wlan5";
105 gpios = <&tlmm 26 GPIO_ACTIVE_LOW>;
106 };
107
108 iot {
109 label = "blue:iot";
110 gpios = <&tlmm 10 GPIO_ACTIVE_LOW>;
111 };
112 };
113
114 keys {
115 compatible = "gpio-keys";
116
117 reset {
118 label = "reset";
119 gpios = <&tlmm 18 GPIO_ACTIVE_LOW>;
120 linux,code = <KEY_RESTART >;
121 };
122 };
123 };
124
125 &blsp_dma {
126 status = "okay";
127 };
128
129 &blsp1_uart1 {
130 pinctrl-0 = <&serial_pins>;
131 pinctrl-names = "default";
132 status = "okay";
133 };
134
135 &cryptobam {
136 status = "okay";
137 };
138
139 &qpic_bam {
140 status = "okay";
141 };
142
143 &tlmm {
144 mdio_pins: mdio_pinmux {
145 mux_1 {
146 pins = "gpio6";
147 function = "mdio";
148 bias-pull-up;
149 };
150 mux_2 {
151 pins = "gpio7";
152 function = "mdc";
153 bias-pull-up;
154 };
155 };
156
157 spi_0_pins: spi_0_pinmux {
158 pin {
159 function = "blsp_spi0";
160 pins = "gpio13", "gpio14", "gpio15";
161 drive-strength = <12>;
162 bias-disable;
163 };
164 pin_cs {
165 function = "gpio";
166 pins = "gpio12";
167 drive-strength = <2>;
168 bias-disable;
169 output-high;
170 };
171 };
172
173 serial_pins: serial_0_pinmux {
174 mux {
175 pins = "gpio16", "gpio17";
176 function = "blsp_uart0";
177 bias-disable;
178 };
179 };
180 };
181
182 &wifi0 {
183 status = "okay";
184 qcom,ath10k-calibration-variant = "Extreme-Networks-WS-AP3915i";
185 };
186
187 &wifi1 {
188 status = "okay";
189 qcom,ath10k-calibration-variant = "Extreme-Networks-WS-AP3915i";
190 };
191
192 &blsp1_spi1 {
193 pinctrl-0 = <&spi_0_pins>;
194 pinctrl-names = "default";
195 status = "okay";
196 cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
197
198 flash@0 {
199 compatible = "jedec,spi-nor";
200 reg = <0>;
201 spi-max-frequency = <24000000>;
202
203 partitions {
204 compatible = "fixed-partitions";
205 #address-cells = <1>;
206 #size-cells = <1>;
207
208 /* Layout for 0x0 - 0xe0000 unknown */
209
210 partition@e0000 {
211 label = "CFG1";
212 reg = <0xe0000 0x10000>;
213 read-only;
214 };
215
216 partition@f0000 {
217 label = "BootBAK";
218 reg = <0xf0000 0x70000>;
219 read-only;
220 };
221
222 partition@160000 {
223 label = "WINGCFG1";
224 reg = <0x160000 0x10000>;
225 read-only;
226 };
227
228 partition@170000 {
229 label = "ART";
230 reg = <0x170000 0x10000>;
231 read-only;
232 };
233
234 partition@180000 {
235 label = "BootPRI";
236 reg = <0x180000 0x70000>;
237 read-only;
238 };
239
240 partition@1f0000 {
241 label = "WINGCFG2";
242 reg = <0x1f0000 0x10000>;
243 read-only;
244 };
245
246 partition@200000 {
247 label = "FS";
248 reg = <0x200000 0x80000>;
249 read-only;
250 };
251
252 partition@280000 {
253 label = "firmware";
254 reg = <0x280000 0x1d60000>;
255 };
256
257 partition@1fe0000 {
258 label = "CFG2";
259 reg = <0x1fe0000 0x10000>;
260 read-only;
261 };
262 };
263 };
264 };
265
266 &gmac0 {
267 qcom,phy_mdio_addr = <4>;
268 qcom,poll_required = <1>;
269 qcom,forced_speed = <1000>;
270 qcom,forced_duplex = <1>;
271 vlan_tag = <1 0x20>;
272 };