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
7/ {
8	model = "ALFA Network AP120C-AC";
9	compatible = "alfa-network,ap120c-ac";
10
11	keys {
12		compatible = "gpio-keys";
13
14		reset {
15			label = "reset";
16			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
17			linux,code = <KEY_RESTART>;
18		};
19	};
20};
21
22&tlmm {
23	i2c0_pins: i2c0_pinmux {
24		mux_i2c {
25			function = "blsp_i2c0";
26			pins = "gpio58", "gpio59";
27			drive-strength = <16>;
28			bias-disable;
29		};
30	};
31
32	mdio_pins: mdio_pinmux {
33		mux_mdio {
34			pins = "gpio53";
35			function = "mdio";
36			bias-pull-up;
37		};
38
39		mux_mdc {
40			pins = "gpio52";
41			function = "mdc";
42			bias-pull-up;
43		};
44	};
45
46	serial0_pins: serial0_pinmux {
47		mux_uart {
48			pins = "gpio60", "gpio61";
49			function = "blsp_uart0";
50			bias-disable;
51		};
52	};
53
54	spi0_pins: spi0_pinmux {
55		mux_spi {
56			function = "blsp_spi0";
57			pins = "gpio55", "gpio56", "gpio57";
58			drive-strength = <12>;
59			bias-disable;
60		};
61
62		mux_cs {
63			function = "gpio";
64			pins = "gpio54", "gpio4";
65			drive-strength = <2>;
66			bias-disable;
67			output-high;
68		};
69	};
70
71	usb-power {
72		line-name = "USB-power";
73		gpios = <1 GPIO_ACTIVE_HIGH>;
74		gpio-hog;
75		output-high;
76	};
77};
78
79&watchdog {
80	status = "okay";
81};
82
83&prng {
84	status = "okay";
85};
86
87&blsp_dma {
88	status = "okay";
89};
90
91&blsp1_i2c3 {
92	status = "okay";
93
94	pinctrl-0 = <&i2c0_pins>;
95	pinctrl-names = "default";
96
97	tpm@29 {
98		compatible = "atmel,at97sc3204t";
99		reg = <0x29>;
100	};
101};
102
103&blsp1_spi1 {
104	status = "okay";
105
106	pinctrl-0 = <&spi0_pins>;
107	pinctrl-names = "default";
108	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, <&tlmm 4 GPIO_ACTIVE_HIGH>;
109
110	flash@0 {
111		compatible = "jedec,spi-nor";
112		reg = <0>;
113		spi-max-frequency = <24000000>;
114
115		partitions {
116			compatible = "fixed-partitions";
117			#address-cells = <1>;
118			#size-cells = <1>;
119
120			partition@0 {
121				label = "SBL1";
122				reg = <0x00000000 0x00040000>;
123				read-only;
124			};
125
126			partition@40000 {
127				label = "MIBIB";
128				reg = <0x00040000 0x00020000>;
129				read-only;
130			};
131
132			partition@60000 {
133				label = "QSEE";
134				reg = <0x00060000 0x00060000>;
135				read-only;
136			};
137
138			partition@c0000 {
139				label = "CDT";
140				reg = <0x000c0000 0x00010000>;
141				read-only;
142			};
143
144			partition@d0000 {
145				label = "DDRPARAMS";
146				reg = <0x000d0000 0x00010000>;
147				read-only;
148			};
149
150			partition@e0000 {
151				label = "u-boot-env";
152				reg = <0x000e0000 0x00010000>;
153			};
154
155			partition@f0000 {
156				label = "u-boot";
157				reg = <0x000f0000 0x00080000>;
158				read-only;
159			};
160
161			partition@170000 {
162				label = "ART";
163				reg = <0x00170000 0x00010000>;
164				read-only;
165			};
166
167			partition@180000 {
168				label = "priv_data1";
169				reg = <0x00180000 0x00010000>;
170				read-only;
171			};
172
173			partition@190000 {
174				label = "priv_data2";
175				reg = <0x00190000 0x00010000>;
176				read-only;
177			};
178		};
179	};
180
181	nand@1 {
182		compatible = "spi-nand";
183		reg = <1>;
184		spi-max-frequency = <40000000>;
185
186		partitions {
187			compatible = "fixed-partitions";
188			#address-cells = <1>;
189			#size-cells = <1>;
190
191			partition@0 {
192				label = "ubi1";
193				reg = <0x00000000 0x04000000>;
194			};
195
196			partition@4000000 {
197				label = "ubi2";
198				reg = <0x04000000 0x04000000>;
199			};
200		};
201	};
202};
203
204&blsp1_uart1 {
205	status = "okay";
206
207	pinctrl-0 = <&serial0_pins>;
208	pinctrl-names = "default";
209};
210
211&cryptobam {
212	status = "okay";
213};
214
215&crypto {
216	status = "okay";
217};
218
219&mdio {
220	status = "okay";
221
222	pinctrl-0 = <&mdio_pins>;
223	pinctrl-names = "default";
224};
225
226&wifi0 {
227	status = "okay";
228};
229
230&wifi1 {
231	status = "okay";
232	qcom,ath10k-calibration-variant = "ALFA-Network-AP120C-AC";
233};
234
235&usb3_hs_phy {
236	status = "okay";
237};
238
239&usb3 {
240	status = "okay";
241
242	dwc3@8a00000 {
243		phys = <&usb3_hs_phy>;
244		phy-names = "usb2-phy";
245	};
246};
247
248&usb2_hs_phy {
249	status = "okay";
250};
251
252&usb2 {
253	status = "okay";
254};
255