1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2724ba675SRob Herring
3724ba675SRob Herring#include "qcom-ipq4019.dtsi"
4724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
5724ba675SRob Herring#include <dt-bindings/input/input.h>
6724ba675SRob Herring
7724ba675SRob Herring/ {
8724ba675SRob Herring	model = "ALFA Network AP120C-AC";
9724ba675SRob Herring	compatible = "alfa-network,ap120c-ac", "qcom,ipq4018";
10724ba675SRob Herring
11724ba675SRob Herring	aliases {
12724ba675SRob Herring		serial0 = &blsp1_uart1;
13724ba675SRob Herring	};
14724ba675SRob Herring
15724ba675SRob Herring	chosen {
16724ba675SRob Herring		stdout-path = "serial0:115200n8";
17724ba675SRob Herring	};
18724ba675SRob Herring
19724ba675SRob Herring	keys {
20724ba675SRob Herring		compatible = "gpio-keys";
21724ba675SRob Herring
22724ba675SRob Herring		key-reset {
23724ba675SRob Herring			label = "reset";
24724ba675SRob Herring			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
25724ba675SRob Herring			linux,code = <KEY_RESTART>;
26724ba675SRob Herring		};
27724ba675SRob Herring	};
28724ba675SRob Herring};
29724ba675SRob Herring
30724ba675SRob Herring&tlmm {
31724ba675SRob Herring	i2c0_pins: i2c0_pinmux {
32724ba675SRob Herring		mux_i2c {
33724ba675SRob Herring			function = "blsp_i2c0";
34724ba675SRob Herring			pins = "gpio58", "gpio59";
35724ba675SRob Herring			drive-strength = <16>;
36724ba675SRob Herring			bias-disable;
37724ba675SRob Herring		};
38724ba675SRob Herring	};
39724ba675SRob Herring
40724ba675SRob Herring	mdio_pins: mdio_pinmux {
41724ba675SRob Herring		mux_mdio {
42724ba675SRob Herring			pins = "gpio53";
43724ba675SRob Herring			function = "mdio";
44724ba675SRob Herring			bias-pull-up;
45724ba675SRob Herring		};
46724ba675SRob Herring
47724ba675SRob Herring		mux_mdc {
48724ba675SRob Herring			pins = "gpio52";
49724ba675SRob Herring			function = "mdc";
50724ba675SRob Herring			bias-pull-up;
51724ba675SRob Herring		};
52724ba675SRob Herring	};
53724ba675SRob Herring
54724ba675SRob Herring	serial0_pins: serial0_pinmux {
55724ba675SRob Herring		mux_uart {
56724ba675SRob Herring			pins = "gpio60", "gpio61";
57724ba675SRob Herring			function = "blsp_uart0";
58724ba675SRob Herring			bias-disable;
59724ba675SRob Herring		};
60724ba675SRob Herring	};
61724ba675SRob Herring
62724ba675SRob Herring	spi0_pins: spi0_pinmux {
63724ba675SRob Herring		mux_spi {
64724ba675SRob Herring			function = "blsp_spi0";
65724ba675SRob Herring			pins = "gpio55", "gpio56", "gpio57";
66724ba675SRob Herring			drive-strength = <12>;
67724ba675SRob Herring			bias-disable;
68724ba675SRob Herring		};
69724ba675SRob Herring
70724ba675SRob Herring		mux_cs {
71724ba675SRob Herring			function = "gpio";
72724ba675SRob Herring			pins = "gpio54", "gpio4";
73724ba675SRob Herring			drive-strength = <2>;
74724ba675SRob Herring			bias-disable;
75724ba675SRob Herring			output-high;
76724ba675SRob Herring		};
77724ba675SRob Herring	};
78724ba675SRob Herring
79724ba675SRob Herring	usb-power-hog {
80724ba675SRob Herring		line-name = "USB-power";
81724ba675SRob Herring		gpios = <1 GPIO_ACTIVE_HIGH>;
82724ba675SRob Herring		gpio-hog;
83724ba675SRob Herring		output-high;
84724ba675SRob Herring	};
85724ba675SRob Herring};
86724ba675SRob Herring
87724ba675SRob Herring&watchdog {
88724ba675SRob Herring	status = "okay";
89724ba675SRob Herring};
90724ba675SRob Herring
91724ba675SRob Herring&prng {
92724ba675SRob Herring	status = "okay";
93724ba675SRob Herring};
94724ba675SRob Herring
95724ba675SRob Herring&blsp_dma {
96724ba675SRob Herring	status = "okay";
97724ba675SRob Herring};
98724ba675SRob Herring
99724ba675SRob Herring&blsp1_i2c3 {
100724ba675SRob Herring	status = "okay";
101724ba675SRob Herring
102724ba675SRob Herring	pinctrl-0 = <&i2c0_pins>;
103724ba675SRob Herring	pinctrl-names = "default";
104724ba675SRob Herring
105724ba675SRob Herring	tpm@29 {
106724ba675SRob Herring		compatible = "atmel,at97sc3204t";
107724ba675SRob Herring		reg = <0x29>;
108724ba675SRob Herring	};
109724ba675SRob Herring};
110724ba675SRob Herring
111724ba675SRob Herring&blsp1_spi1 {
112724ba675SRob Herring	status = "okay";
113724ba675SRob Herring
114724ba675SRob Herring	pinctrl-0 = <&spi0_pins>;
115724ba675SRob Herring	pinctrl-names = "default";
116724ba675SRob Herring	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, <&tlmm 4 GPIO_ACTIVE_HIGH>;
117724ba675SRob Herring
118724ba675SRob Herring	flash@0 {
119724ba675SRob Herring		compatible = "jedec,spi-nor";
120724ba675SRob Herring		reg = <0>;
121724ba675SRob Herring		spi-max-frequency = <24000000>;
122724ba675SRob Herring
123724ba675SRob Herring		partitions {
124724ba675SRob Herring			compatible = "fixed-partitions";
125724ba675SRob Herring			#address-cells = <1>;
126724ba675SRob Herring			#size-cells = <1>;
127724ba675SRob Herring
128724ba675SRob Herring			partition@0 {
129724ba675SRob Herring				label = "SBL1";
130724ba675SRob Herring				reg = <0x00000000 0x00040000>;
131724ba675SRob Herring				read-only;
132724ba675SRob Herring			};
133724ba675SRob Herring
134724ba675SRob Herring			partition@40000 {
135724ba675SRob Herring				label = "MIBIB";
136724ba675SRob Herring				reg = <0x00040000 0x00020000>;
137724ba675SRob Herring				read-only;
138724ba675SRob Herring			};
139724ba675SRob Herring
140724ba675SRob Herring			partition@60000 {
141724ba675SRob Herring				label = "QSEE";
142724ba675SRob Herring				reg = <0x00060000 0x00060000>;
143724ba675SRob Herring				read-only;
144724ba675SRob Herring			};
145724ba675SRob Herring
146724ba675SRob Herring			partition@c0000 {
147724ba675SRob Herring				label = "CDT";
148724ba675SRob Herring				reg = <0x000c0000 0x00010000>;
149724ba675SRob Herring				read-only;
150724ba675SRob Herring			};
151724ba675SRob Herring
152724ba675SRob Herring			partition@d0000 {
153724ba675SRob Herring				label = "DDRPARAMS";
154724ba675SRob Herring				reg = <0x000d0000 0x00010000>;
155724ba675SRob Herring				read-only;
156724ba675SRob Herring			};
157724ba675SRob Herring
158724ba675SRob Herring			partition@e0000 {
159724ba675SRob Herring				label = "u-boot-env";
160724ba675SRob Herring				reg = <0x000e0000 0x00010000>;
161724ba675SRob Herring			};
162724ba675SRob Herring
163724ba675SRob Herring			partition@f0000 {
164724ba675SRob Herring				label = "u-boot";
165724ba675SRob Herring				reg = <0x000f0000 0x00080000>;
166724ba675SRob Herring				read-only;
167724ba675SRob Herring			};
168724ba675SRob Herring
169724ba675SRob Herring			partition@170000 {
170724ba675SRob Herring				label = "ART";
171724ba675SRob Herring				reg = <0x00170000 0x00010000>;
172724ba675SRob Herring				read-only;
173724ba675SRob Herring				compatible = "nvmem-cells";
174724ba675SRob Herring				#address-cells = <1>;
175724ba675SRob Herring				#size-cells = <1>;
176724ba675SRob Herring
177724ba675SRob Herring				precal_art_1000: precal@1000 {
178724ba675SRob Herring					reg = <0x1000 0x2f20>;
179724ba675SRob Herring				};
180724ba675SRob Herring
181724ba675SRob Herring				precal_art_5000: precal@5000 {
182724ba675SRob Herring					reg = <0x5000 0x2f20>;
183724ba675SRob Herring				};
184724ba675SRob Herring			};
185724ba675SRob Herring
186724ba675SRob Herring			partition@180000 {
187724ba675SRob Herring				label = "priv_data1";
188724ba675SRob Herring				reg = <0x00180000 0x00010000>;
189724ba675SRob Herring				read-only;
190724ba675SRob Herring			};
191724ba675SRob Herring
192724ba675SRob Herring			partition@190000 {
193724ba675SRob Herring				label = "priv_data2";
194724ba675SRob Herring				reg = <0x00190000 0x00010000>;
195724ba675SRob Herring				read-only;
196724ba675SRob Herring			};
197724ba675SRob Herring		};
198724ba675SRob Herring	};
199724ba675SRob Herring
200724ba675SRob Herring	flash@1 {
201724ba675SRob Herring		compatible = "spi-nand";
202724ba675SRob Herring		reg = <1>;
203724ba675SRob Herring		spi-max-frequency = <40000000>;
204724ba675SRob Herring
205724ba675SRob Herring		partitions {
206724ba675SRob Herring			compatible = "fixed-partitions";
207724ba675SRob Herring			#address-cells = <1>;
208724ba675SRob Herring			#size-cells = <1>;
209724ba675SRob Herring
210724ba675SRob Herring			partition@0 {
211724ba675SRob Herring				label = "ubi1";
212724ba675SRob Herring				reg = <0x00000000 0x04000000>;
213724ba675SRob Herring			};
214724ba675SRob Herring
215724ba675SRob Herring			partition@4000000 {
216724ba675SRob Herring				label = "ubi2";
217724ba675SRob Herring				reg = <0x04000000 0x04000000>;
218724ba675SRob Herring			};
219724ba675SRob Herring		};
220724ba675SRob Herring	};
221724ba675SRob Herring};
222724ba675SRob Herring
223724ba675SRob Herring&blsp1_uart1 {
224724ba675SRob Herring	status = "okay";
225724ba675SRob Herring
226724ba675SRob Herring	pinctrl-0 = <&serial0_pins>;
227724ba675SRob Herring	pinctrl-names = "default";
228724ba675SRob Herring};
229724ba675SRob Herring
230724ba675SRob Herring&cryptobam {
231724ba675SRob Herring	status = "okay";
232724ba675SRob Herring};
233724ba675SRob Herring
234724ba675SRob Herring&crypto {
235724ba675SRob Herring	status = "okay";
236724ba675SRob Herring};
237724ba675SRob Herring
238724ba675SRob Herring&mdio {
239724ba675SRob Herring	status = "okay";
240724ba675SRob Herring
241724ba675SRob Herring	pinctrl-0 = <&mdio_pins>;
242724ba675SRob Herring	pinctrl-names = "default";
243724ba675SRob Herring};
244724ba675SRob Herring
245724ba675SRob Herring&wifi0 {
246724ba675SRob Herring	status = "okay";
247724ba675SRob Herring	nvmem-cell-names = "pre-calibration";
248724ba675SRob Herring	nvmem-cells = <&precal_art_1000>;
249724ba675SRob Herring};
250724ba675SRob Herring
251724ba675SRob Herring&wifi1 {
252724ba675SRob Herring	status = "okay";
253724ba675SRob Herring	nvmem-cell-names = "pre-calibration";
254724ba675SRob Herring	nvmem-cells = <&precal_art_5000>;
255724ba675SRob Herring	qcom,ath10k-calibration-variant = "ALFA-Network-AP120C-AC";
256724ba675SRob Herring};
257724ba675SRob Herring
258724ba675SRob Herring&usb3_hs_phy {
259724ba675SRob Herring	status = "okay";
260724ba675SRob Herring};
261724ba675SRob Herring
262724ba675SRob Herring&usb3 {
263724ba675SRob Herring	status = "okay";
264724ba675SRob Herring
265*7caf0921SKrzysztof Kozlowski	};
266*7caf0921SKrzysztof Kozlowski
267*7caf0921SKrzysztof Kozlowski&usb3_dwc {
268724ba675SRob Herring	phys = <&usb3_hs_phy>;
269724ba675SRob Herring	phy-names = "usb2-phy";
270724ba675SRob Herring};
271724ba675SRob Herring
272724ba675SRob Herring&usb2_hs_phy {
273724ba675SRob Herring	status = "okay";
274724ba675SRob Herring};
275724ba675SRob Herring
276724ba675SRob Herring&usb2 {
277724ba675SRob Herring	status = "okay";
278724ba675SRob Herring};
279