ipq806x: add support for Nokia Airscale AC400i
[openwrt/openwrt.git] / target / linux / ipq806x / files-5.15 / arch / arm / boot / dts / qcom-ipq8065-ac400i.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2
3 #include "qcom-ipq8065-smb208.dtsi"
4 #include <dt-bindings/input/input.h>
5
6 / {
7 model = "Nokia AC400i";
8 compatible = "nokia,ac400i", "qcom,ipq8065", "qcom,ipq8064";
9
10 aliases {
11 mdio-gpio0 = &mdio0;
12 ethernet0 = &gmac0;
13 ethernet1 = &gmac1;
14
15 led-boot = &pwr_red;
16 led-failsafe = &pwr_red;
17 led-running = &pwr_green;
18 led-upgrade = &pwr_green;
19 };
20
21 chosen {
22 bootargs-override = " console=ttyMSM0,115200n8 ubi.mtd=ubi root=/dev/ubiblock0_2";
23 };
24
25 keys {
26 compatible = "gpio-keys";
27 pinctrl-0 = <&button_pins>;
28 pinctrl-names = "default";
29
30 reset {
31 label = "reset";
32 gpios = <&qcom_pinmux 15 GPIO_ACTIVE_LOW>;
33 linux,code = <KEY_RESTART>;
34 };
35 };
36
37 leds {
38 compatible = "gpio-leds";
39 pinctrl-0 = <&led_pins>;
40 pinctrl-names = "default";
41
42 5g_red {
43 label = "red:5g";
44 gpios = <&qcom_pinmux 65 GPIO_ACTIVE_HIGH>;
45 };
46
47 5g_green {
48 label = "green:5g";
49 gpios = <&qcom_pinmux 64 GPIO_ACTIVE_HIGH>;
50 };
51
52 2g_red {
53 label = "red:2g";
54 gpios = <&qcom_pinmux 53 GPIO_ACTIVE_HIGH>;
55 };
56
57 2g_green {
58 label = "green:2g";
59 gpios = <&qcom_pinmux 54 GPIO_ACTIVE_HIGH>;
60 };
61
62 eth1_red {
63 label = "red:eth1";
64 gpios = <&qcom_pinmux 68 GPIO_ACTIVE_HIGH>;
65 };
66
67 eth1_green {
68 label = "green:eth1";
69 gpios = <&qcom_pinmux 22 GPIO_ACTIVE_LOW>;
70 };
71
72 eth2_red {
73 label = "red:eth2";
74 gpios = <&qcom_pinmux 67 GPIO_ACTIVE_HIGH>;
75 };
76
77 eth2_green {
78 label = "green:eth2";
79 gpios = <&qcom_pinmux 23 GPIO_ACTIVE_LOW>;
80 };
81
82 ctrl_red {
83 label = "red:ctrl";
84 gpios = <&qcom_pinmux 55 GPIO_ACTIVE_HIGH>;
85 };
86
87 ctrl_green {
88 label = "green:ctrl";
89 gpios = <&qcom_pinmux 56 GPIO_ACTIVE_HIGH>;
90 };
91
92 pwr_red: pwr_red {
93 label = "red:pwr";
94 gpios = <&qcom_pinmux 2 GPIO_ACTIVE_LOW>;
95 };
96
97 pwr_green: pwr_green {
98 label = "green:pwr";
99 gpios = <&qcom_pinmux 26 GPIO_ACTIVE_HIGH>;
100 };
101 };
102 };
103
104 &qcom_pinmux {
105 spi_pins: spi_pins {
106 mux {
107 pins = "gpio18", "gpio19";
108 function = "gsbi5";
109 drive-strength = <10>;
110 bias-pull-down;
111 };
112
113 clk {
114 pins = "gpio21";
115 function = "gsbi5";
116 drive-strength = <12>;
117 bias-pull-down;
118 };
119
120 cs {
121 pins = "gpio20";
122 function = "gpio";
123 drive-strength = <10>;
124 bias-pull-up;
125 };
126 };
127
128 led_pins: led_pins {
129 mux {
130 pins = "gpio65", "gpio64",
131 "gpio53", "gpio54",
132 "gpio68", "gpio22",
133 "gpio67", "gpio23",
134 "gpio55", "gpio56",
135 "gpio2", "gpio26";
136 function = "gpio";
137 drive-strength = <2>;
138 bias-pull-up;
139 };
140 };
141
142 button_pins: button_pins {
143 mux {
144 pins = "gpio15";
145 function = "gpio";
146 drive-strength = <2>;
147 bias-pull-up;
148 };
149 };
150
151 };
152
153 &gsbi5 {
154 qcom,mode = <GSBI_PROT_SPI>;
155 status = "okay";
156
157 spi4: spi@1a280000 {
158 status = "okay";
159 spi-max-frequency = <50000000>;
160
161 pinctrl-0 = <&spi_pins>;
162 pinctrl-names = "default";
163
164 cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>;
165
166 m25p80@0 {
167 compatible = "jedec,spi-nor";
168 #address-cells = <1>;
169 #size-cells = <1>;
170 spi-max-frequency = <50000000>;
171 reg = <0>;
172
173 partitions {
174 compatible = "qcom,smem-part";
175 };
176 };
177 };
178 };
179
180 &usb3_0 {
181 status = "okay";
182 };
183
184 &usb3_1 {
185 status = "okay";
186 };
187
188 &pcie0 {
189 status = "okay";
190
191 /delete-property/ pinctrl-0;
192 /delete-property/ pinctrl-names;
193 /delete-property/ perst-gpios;
194
195 bridge@0,0 {
196 reg = <0x00000000 0 0 0 0>;
197 #address-cells = <3>;
198 #size-cells = <2>;
199 ranges;
200
201 wifi@1,0 {
202 compatible = "qcom,ath10k";
203 status = "okay";
204 reg = <0x00010000 0 0 0 0>;
205 qcom,ath10k-calibration-variant = "Nokia-AC400i";
206 };
207 };
208 };
209
210 &pcie1 {
211 status = "okay";
212
213 /delete-property/ pinctrl-0;
214 /delete-property/ pinctrl-names;
215 /delete-property/ perst-gpios;
216
217 bridge@0,0 {
218 reg = <0x00000000 0 0 0 0>;
219 #address-cells = <3>;
220 #size-cells = <2>;
221 ranges;
222
223 wifi@1,0 {
224 compatible = "qcom,ath10k";
225 status = "okay";
226 reg = <0x00010000 0 0 0 0>;
227 qcom,ath10k-calibration-variant = "Nokia-AC400i";
228 };
229 };
230 };
231
232 &mdio0 {
233 status = "okay";
234 pinctrl-0 = <&mdio0_pins>;
235 pinctrl-names = "default";
236
237 phy0: ethernet-phy@0 {
238 reg = <0>;
239 };
240
241 phy1: ethernet-phy@1 {
242 reg = <1>;
243 };
244
245 };
246
247 //POE
248 &gmac0 {
249 status = "okay";
250 qcom,id = <0>;
251
252 pinctrl-0 = <&rgmii2_pins>;
253 pinctrl-names = "default";
254
255 mdiobus = <&mdio0>;
256 phy-handle = <&phy0>;
257 phy-mode = "rgmii";
258
259 fixed-link {
260 speed = <1000>;
261 full-duplex;
262 };
263 };
264
265 //LAN1
266 &gmac1 {
267 status = "okay";
268 qcom,id = <1>;
269
270 mdiobus = <&mdio0>;
271 phy-handle = <&phy1>;
272 phy-mode = "rgmii";
273
274 fixed-link {
275 speed = <1000>;
276 full-duplex;
277 };
278 };
279
280 &nand {
281 status = "okay";
282 pinctrl-0 = <&nand_pins>;
283 pinctrl-names = "default";
284
285 nand@0 {
286 reg = <0>;
287 compatible = "qcom,nandcs";
288
289 nand-ecc-strength = <4>;
290 nand-bus-width = <8>;
291 nand-ecc-step-size = <512>;
292
293 partitions {
294 compatible = "fixed-partitions";
295 #address-cells = <1>;
296 #size-cells = <1>;
297
298 rootfs@0 {
299 label = "rootfs";
300 reg = <0x0000000 0x4000000>;
301 };
302
303 rootfs_1@4000000 {
304 label = "rootfs_1";
305 reg = <0x4000000 0x4000000>;
306 };
307
308 cfg@8000000 {
309 label = "cfg";
310 reg = <0x8000000 0x8000000>;
311 };
312 };
313 };
314 };
315
316 &adm_dma {
317 status = "okay";
318 };