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