xref: /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/qcom/sc7180-idp.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: BSD-3-Clause
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * SC7180 IDP board device tree source
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * Copyright (c) 2019, The Linux Foundation. All rights reserved.
6*4882a593Smuzhiyun */
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun/dts-v1/;
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
11*4882a593Smuzhiyun#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
12*4882a593Smuzhiyun#include "sc7180.dtsi"
13*4882a593Smuzhiyun#include "pm6150.dtsi"
14*4882a593Smuzhiyun#include "pm6150l.dtsi"
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun/ {
17*4882a593Smuzhiyun	model = "Qualcomm Technologies, Inc. SC7180 IDP";
18*4882a593Smuzhiyun	compatible = "qcom,sc7180-idp", "qcom,sc7180";
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun	aliases {
21*4882a593Smuzhiyun		bluetooth0 = &bluetooth;
22*4882a593Smuzhiyun		hsuart0 = &uart3;
23*4882a593Smuzhiyun		serial0 = &uart8;
24*4882a593Smuzhiyun		wifi0 = &wifi;
25*4882a593Smuzhiyun	};
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun	chosen {
28*4882a593Smuzhiyun		stdout-path = "serial0:115200n8";
29*4882a593Smuzhiyun	};
30*4882a593Smuzhiyun};
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun/*
33*4882a593Smuzhiyun * Reserved memory changes
34*4882a593Smuzhiyun *
35*4882a593Smuzhiyun * Delete all unused memory nodes and define the peripheral memory regions
36*4882a593Smuzhiyun * required by the board dts.
37*4882a593Smuzhiyun *
38*4882a593Smuzhiyun */
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun/delete-node/ &hyp_mem;
41*4882a593Smuzhiyun/delete-node/ &xbl_mem;
42*4882a593Smuzhiyun/delete-node/ &aop_mem;
43*4882a593Smuzhiyun/delete-node/ &sec_apps_mem;
44*4882a593Smuzhiyun/delete-node/ &tz_mem;
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun/* Increase the size from 2MB to 8MB */
47*4882a593Smuzhiyun&rmtfs_mem {
48*4882a593Smuzhiyun	reg = <0x0 0x94600000 0x0 0x800000>;
49*4882a593Smuzhiyun};
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun/ {
52*4882a593Smuzhiyun	reserved-memory {
53*4882a593Smuzhiyun		atf_mem: memory@80b00000 {
54*4882a593Smuzhiyun			reg = <0x0 0x80b00000 0x0 0x100000>;
55*4882a593Smuzhiyun			no-map;
56*4882a593Smuzhiyun		};
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun		mpss_mem: memory@86000000 {
59*4882a593Smuzhiyun			reg = <0x0 0x86000000 0x0 0x8c00000>;
60*4882a593Smuzhiyun			no-map;
61*4882a593Smuzhiyun		};
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun		camera_mem: memory@8ec00000 {
64*4882a593Smuzhiyun			reg = <0x0 0x8ec00000 0x0 0x500000>;
65*4882a593Smuzhiyun			no-map;
66*4882a593Smuzhiyun		};
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun		venus_mem: memory@8f600000 {
69*4882a593Smuzhiyun			reg = <0 0x8f600000 0 0x500000>;
70*4882a593Smuzhiyun			no-map;
71*4882a593Smuzhiyun		};
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun		wlan_mem: memory@94100000 {
74*4882a593Smuzhiyun			reg = <0x0 0x94100000 0x0 0x200000>;
75*4882a593Smuzhiyun			no-map;
76*4882a593Smuzhiyun		};
77*4882a593Smuzhiyun
78*4882a593Smuzhiyun		mba_mem: memory@94400000 {
79*4882a593Smuzhiyun			reg = <0x0 0x94400000 0x0 0x200000>;
80*4882a593Smuzhiyun			no-map;
81*4882a593Smuzhiyun		};
82*4882a593Smuzhiyun	};
83*4882a593Smuzhiyun};
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun&apps_rsc {
86*4882a593Smuzhiyun	pm6150-rpmh-regulators {
87*4882a593Smuzhiyun		compatible = "qcom,pm6150-rpmh-regulators";
88*4882a593Smuzhiyun		qcom,pmic-id = "a";
89*4882a593Smuzhiyun
90*4882a593Smuzhiyun		vreg_s1a_1p1: smps1 {
91*4882a593Smuzhiyun			regulator-min-microvolt = <1128000>;
92*4882a593Smuzhiyun			regulator-max-microvolt = <1128000>;
93*4882a593Smuzhiyun		};
94*4882a593Smuzhiyun
95*4882a593Smuzhiyun		vreg_s4a_1p0: smps4 {
96*4882a593Smuzhiyun			regulator-min-microvolt = <824000>;
97*4882a593Smuzhiyun			regulator-max-microvolt = <1120000>;
98*4882a593Smuzhiyun		};
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun		vreg_s5a_2p0: smps5 {
101*4882a593Smuzhiyun			regulator-min-microvolt = <1744000>;
102*4882a593Smuzhiyun			regulator-max-microvolt = <2040000>;
103*4882a593Smuzhiyun		};
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun		vreg_l1a_1p2: ldo1 {
106*4882a593Smuzhiyun			regulator-min-microvolt = <1178000>;
107*4882a593Smuzhiyun			regulator-max-microvolt = <1256000>;
108*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
109*4882a593Smuzhiyun		};
110*4882a593Smuzhiyun
111*4882a593Smuzhiyun		vreg_l2a_1p0: ldo2 {
112*4882a593Smuzhiyun			regulator-min-microvolt = <944000>;
113*4882a593Smuzhiyun			regulator-max-microvolt = <1056000>;
114*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
115*4882a593Smuzhiyun		};
116*4882a593Smuzhiyun
117*4882a593Smuzhiyun		vreg_l3a_1p0: ldo3 {
118*4882a593Smuzhiyun			regulator-min-microvolt = <968000>;
119*4882a593Smuzhiyun			regulator-max-microvolt = <1064000>;
120*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
121*4882a593Smuzhiyun		};
122*4882a593Smuzhiyun
123*4882a593Smuzhiyun		vreg_l4a_0p8: ldo4 {
124*4882a593Smuzhiyun			regulator-min-microvolt = <824000>;
125*4882a593Smuzhiyun			regulator-max-microvolt = <928000>;
126*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
127*4882a593Smuzhiyun		};
128*4882a593Smuzhiyun
129*4882a593Smuzhiyun		vreg_l5a_2p7: ldo5 {
130*4882a593Smuzhiyun			regulator-min-microvolt = <2496000>;
131*4882a593Smuzhiyun			regulator-max-microvolt = <3000000>;
132*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
133*4882a593Smuzhiyun		};
134*4882a593Smuzhiyun
135*4882a593Smuzhiyun		vreg_l6a_0p6: ldo6 {
136*4882a593Smuzhiyun			regulator-min-microvolt = <568000>;
137*4882a593Smuzhiyun			regulator-max-microvolt = <648000>;
138*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
139*4882a593Smuzhiyun		};
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun		vreg_l9a_0p6: ldo9 {
142*4882a593Smuzhiyun			regulator-min-microvolt = <488000>;
143*4882a593Smuzhiyun			regulator-max-microvolt = <800000>;
144*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
145*4882a593Smuzhiyun		};
146*4882a593Smuzhiyun
147*4882a593Smuzhiyun		vreg_l10a_1p8: ldo10 {
148*4882a593Smuzhiyun			regulator-min-microvolt = <1800000>;
149*4882a593Smuzhiyun			regulator-max-microvolt = <1832000>;
150*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
151*4882a593Smuzhiyun		};
152*4882a593Smuzhiyun
153*4882a593Smuzhiyun		vreg_l11a_1p8: ldo11 {
154*4882a593Smuzhiyun			regulator-min-microvolt = <1696000>;
155*4882a593Smuzhiyun			regulator-max-microvolt = <1904000>;
156*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
157*4882a593Smuzhiyun		};
158*4882a593Smuzhiyun
159*4882a593Smuzhiyun		vreg_l12a_1p8: ldo12 {
160*4882a593Smuzhiyun			regulator-min-microvolt = <1800000>;
161*4882a593Smuzhiyun			regulator-max-microvolt = <1800000>;
162*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
163*4882a593Smuzhiyun		};
164*4882a593Smuzhiyun
165*4882a593Smuzhiyun		vreg_l13a_1p8: ldo13 {
166*4882a593Smuzhiyun			regulator-min-microvolt = <1696000>;
167*4882a593Smuzhiyun			regulator-max-microvolt = <1904000>;
168*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
169*4882a593Smuzhiyun		};
170*4882a593Smuzhiyun
171*4882a593Smuzhiyun		vreg_l14a_1p8: ldo14 {
172*4882a593Smuzhiyun			regulator-min-microvolt = <1728000>;
173*4882a593Smuzhiyun			regulator-max-microvolt = <1832000>;
174*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
175*4882a593Smuzhiyun		};
176*4882a593Smuzhiyun
177*4882a593Smuzhiyun		vreg_l15a_1p8: ldo15 {
178*4882a593Smuzhiyun			regulator-min-microvolt = <1696000>;
179*4882a593Smuzhiyun			regulator-max-microvolt = <1904000>;
180*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
181*4882a593Smuzhiyun		};
182*4882a593Smuzhiyun
183*4882a593Smuzhiyun		vreg_l16a_2p7: ldo16 {
184*4882a593Smuzhiyun			regulator-min-microvolt = <2496000>;
185*4882a593Smuzhiyun			regulator-max-microvolt = <3304000>;
186*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
187*4882a593Smuzhiyun		};
188*4882a593Smuzhiyun
189*4882a593Smuzhiyun		vreg_l17a_3p0: ldo17 {
190*4882a593Smuzhiyun			regulator-min-microvolt = <2920000>;
191*4882a593Smuzhiyun			regulator-max-microvolt = <3232000>;
192*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
193*4882a593Smuzhiyun		};
194*4882a593Smuzhiyun
195*4882a593Smuzhiyun		vreg_l18a_2p8: ldo18 {
196*4882a593Smuzhiyun			regulator-min-microvolt = <2496000>;
197*4882a593Smuzhiyun			regulator-max-microvolt = <3304000>;
198*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
199*4882a593Smuzhiyun		};
200*4882a593Smuzhiyun
201*4882a593Smuzhiyun		vreg_l19a_2p9: ldo19 {
202*4882a593Smuzhiyun			regulator-min-microvolt = <2960000>;
203*4882a593Smuzhiyun			regulator-max-microvolt = <2960000>;
204*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
205*4882a593Smuzhiyun		};
206*4882a593Smuzhiyun	};
207*4882a593Smuzhiyun
208*4882a593Smuzhiyun	pm6150l-rpmh-regulators {
209*4882a593Smuzhiyun		compatible = "qcom,pm6150l-rpmh-regulators";
210*4882a593Smuzhiyun		qcom,pmic-id = "c";
211*4882a593Smuzhiyun
212*4882a593Smuzhiyun		vreg_s8c_1p3: smps8 {
213*4882a593Smuzhiyun			regulator-min-microvolt = <1120000>;
214*4882a593Smuzhiyun			regulator-max-microvolt = <1408000>;
215*4882a593Smuzhiyun		};
216*4882a593Smuzhiyun
217*4882a593Smuzhiyun		vreg_l1c_1p8: ldo1 {
218*4882a593Smuzhiyun			regulator-min-microvolt = <1616000>;
219*4882a593Smuzhiyun			regulator-max-microvolt = <1984000>;
220*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
221*4882a593Smuzhiyun		};
222*4882a593Smuzhiyun
223*4882a593Smuzhiyun		vreg_l2c_1p3: ldo2 {
224*4882a593Smuzhiyun			regulator-min-microvolt = <1168000>;
225*4882a593Smuzhiyun			regulator-max-microvolt = <1304000>;
226*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
227*4882a593Smuzhiyun		};
228*4882a593Smuzhiyun
229*4882a593Smuzhiyun		vreg_l3c_1p2: ldo3 {
230*4882a593Smuzhiyun			regulator-min-microvolt = <1144000>;
231*4882a593Smuzhiyun			regulator-max-microvolt = <1304000>;
232*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
233*4882a593Smuzhiyun		};
234*4882a593Smuzhiyun
235*4882a593Smuzhiyun		vreg_l4c_1p8: ldo4 {
236*4882a593Smuzhiyun			regulator-min-microvolt = <1648000>;
237*4882a593Smuzhiyun			regulator-max-microvolt = <3304000>;
238*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
239*4882a593Smuzhiyun		};
240*4882a593Smuzhiyun
241*4882a593Smuzhiyun		vreg_l5c_1p8: ldo5 {
242*4882a593Smuzhiyun			regulator-min-microvolt = <1648000>;
243*4882a593Smuzhiyun			regulator-max-microvolt = <3304000>;
244*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
245*4882a593Smuzhiyun		};
246*4882a593Smuzhiyun
247*4882a593Smuzhiyun		vreg_l6c_2p9: ldo6 {
248*4882a593Smuzhiyun			regulator-min-microvolt = <1800000>;
249*4882a593Smuzhiyun			regulator-max-microvolt = <2950000>;
250*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
251*4882a593Smuzhiyun		};
252*4882a593Smuzhiyun
253*4882a593Smuzhiyun		vreg_l7c_3p0: ldo7 {
254*4882a593Smuzhiyun			regulator-min-microvolt = <3000000>;
255*4882a593Smuzhiyun			regulator-max-microvolt = <3312000>;
256*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
257*4882a593Smuzhiyun		};
258*4882a593Smuzhiyun
259*4882a593Smuzhiyun		vreg_l8c_1p8: ldo8 {
260*4882a593Smuzhiyun			regulator-min-microvolt = <1800000>;
261*4882a593Smuzhiyun			regulator-max-microvolt = <1904000>;
262*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
263*4882a593Smuzhiyun		};
264*4882a593Smuzhiyun
265*4882a593Smuzhiyun		vreg_l9c_2p9: ldo9 {
266*4882a593Smuzhiyun			regulator-min-microvolt = <2960000>;
267*4882a593Smuzhiyun			regulator-max-microvolt = <2960000>;
268*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
269*4882a593Smuzhiyun		};
270*4882a593Smuzhiyun
271*4882a593Smuzhiyun		vreg_l10c_3p3: ldo10 {
272*4882a593Smuzhiyun			regulator-min-microvolt = <3000000>;
273*4882a593Smuzhiyun			regulator-max-microvolt = <3400000>;
274*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
275*4882a593Smuzhiyun		};
276*4882a593Smuzhiyun
277*4882a593Smuzhiyun		vreg_l11c_3p3: ldo11 {
278*4882a593Smuzhiyun			regulator-min-microvolt = <3000000>;
279*4882a593Smuzhiyun			regulator-max-microvolt = <3400000>;
280*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
281*4882a593Smuzhiyun		};
282*4882a593Smuzhiyun
283*4882a593Smuzhiyun		vreg_bob: bob {
284*4882a593Smuzhiyun			regulator-min-microvolt = <3008000>;
285*4882a593Smuzhiyun			regulator-max-microvolt = <3960000>;
286*4882a593Smuzhiyun			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
287*4882a593Smuzhiyun		};
288*4882a593Smuzhiyun	};
289*4882a593Smuzhiyun};
290*4882a593Smuzhiyun
291*4882a593Smuzhiyun&qfprom {
292*4882a593Smuzhiyun	vcc-supply = <&vreg_l11a_1p8>;
293*4882a593Smuzhiyun};
294*4882a593Smuzhiyun
295*4882a593Smuzhiyun&qspi {
296*4882a593Smuzhiyun	status = "okay";
297*4882a593Smuzhiyun	pinctrl-names = "default";
298*4882a593Smuzhiyun	pinctrl-0 = <&qspi_clk &qspi_cs0 &qspi_data01>;
299*4882a593Smuzhiyun
300*4882a593Smuzhiyun	flash@0 {
301*4882a593Smuzhiyun		compatible = "jedec,spi-nor";
302*4882a593Smuzhiyun		reg = <0>;
303*4882a593Smuzhiyun		spi-max-frequency = <25000000>;
304*4882a593Smuzhiyun		spi-tx-bus-width = <2>;
305*4882a593Smuzhiyun		spi-rx-bus-width = <2>;
306*4882a593Smuzhiyun	};
307*4882a593Smuzhiyun};
308*4882a593Smuzhiyun
309*4882a593Smuzhiyun&qupv3_id_0 {
310*4882a593Smuzhiyun	status = "okay";
311*4882a593Smuzhiyun};
312*4882a593Smuzhiyun
313*4882a593Smuzhiyun&qupv3_id_1 {
314*4882a593Smuzhiyun	status = "okay";
315*4882a593Smuzhiyun};
316*4882a593Smuzhiyun
317*4882a593Smuzhiyun&remoteproc_mpss {
318*4882a593Smuzhiyun	status = "okay";
319*4882a593Smuzhiyun	compatible = "qcom,sc7180-mss-pil";
320*4882a593Smuzhiyun	iommus = <&apps_smmu 0x461 0x0>, <&apps_smmu 0x444 0x3>;
321*4882a593Smuzhiyun	memory-region = <&mba_mem &mpss_mem>;
322*4882a593Smuzhiyun};
323*4882a593Smuzhiyun
324*4882a593Smuzhiyun&sdhc_1 {
325*4882a593Smuzhiyun	status = "okay";
326*4882a593Smuzhiyun
327*4882a593Smuzhiyun	pinctrl-names = "default", "sleep";
328*4882a593Smuzhiyun	pinctrl-0 = <&sdc1_on>;
329*4882a593Smuzhiyun	pinctrl-1 = <&sdc1_off>;
330*4882a593Smuzhiyun	vmmc-supply = <&vreg_l19a_2p9>;
331*4882a593Smuzhiyun	vqmmc-supply = <&vreg_l12a_1p8>;
332*4882a593Smuzhiyun};
333*4882a593Smuzhiyun
334*4882a593Smuzhiyun&sdhc_2 {
335*4882a593Smuzhiyun	status = "okay";
336*4882a593Smuzhiyun
337*4882a593Smuzhiyun	pinctrl-names = "default","sleep";
338*4882a593Smuzhiyun	pinctrl-0 = <&sdc2_on>;
339*4882a593Smuzhiyun	pinctrl-1 = <&sdc2_off>;
340*4882a593Smuzhiyun	vmmc-supply  = <&vreg_l9c_2p9>;
341*4882a593Smuzhiyun	vqmmc-supply = <&vreg_l6c_2p9>;
342*4882a593Smuzhiyun
343*4882a593Smuzhiyun	cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>;
344*4882a593Smuzhiyun};
345*4882a593Smuzhiyun
346*4882a593Smuzhiyun&uart3 {
347*4882a593Smuzhiyun	status = "okay";
348*4882a593Smuzhiyun
349*4882a593Smuzhiyun	/delete-property/interrupts;
350*4882a593Smuzhiyun	interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>,
351*4882a593Smuzhiyun				<&tlmm 41 IRQ_TYPE_EDGE_FALLING>;
352*4882a593Smuzhiyun
353*4882a593Smuzhiyun	pinctrl-names = "default", "sleep";
354*4882a593Smuzhiyun	pinctrl-1 = <&qup_uart3_sleep>;
355*4882a593Smuzhiyun
356*4882a593Smuzhiyun	bluetooth: wcn3990-bt {
357*4882a593Smuzhiyun		compatible = "qcom,wcn3990-bt";
358*4882a593Smuzhiyun		vddio-supply = <&vreg_l10a_1p8>;
359*4882a593Smuzhiyun		vddxo-supply = <&vreg_l1c_1p8>;
360*4882a593Smuzhiyun		vddrf-supply = <&vreg_l2c_1p3>;
361*4882a593Smuzhiyun		vddch0-supply = <&vreg_l10c_3p3>;
362*4882a593Smuzhiyun		max-speed = <3200000>;
363*4882a593Smuzhiyun	};
364*4882a593Smuzhiyun};
365*4882a593Smuzhiyun
366*4882a593Smuzhiyun&uart8 {
367*4882a593Smuzhiyun	status = "okay";
368*4882a593Smuzhiyun};
369*4882a593Smuzhiyun
370*4882a593Smuzhiyun&usb_1 {
371*4882a593Smuzhiyun	status = "okay";
372*4882a593Smuzhiyun};
373*4882a593Smuzhiyun
374*4882a593Smuzhiyun&usb_1_dwc3 {
375*4882a593Smuzhiyun	dr_mode = "host";
376*4882a593Smuzhiyun};
377*4882a593Smuzhiyun
378*4882a593Smuzhiyun&usb_1_hsphy {
379*4882a593Smuzhiyun	status = "okay";
380*4882a593Smuzhiyun	vdd-supply = <&vreg_l4a_0p8>;
381*4882a593Smuzhiyun	vdda-pll-supply = <&vreg_l11a_1p8>;
382*4882a593Smuzhiyun	vdda-phy-dpdm-supply = <&vreg_l17a_3p0>;
383*4882a593Smuzhiyun	qcom,imp-res-offset-value = <8>;
384*4882a593Smuzhiyun	qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_15_PERCENT>;
385*4882a593Smuzhiyun	qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
386*4882a593Smuzhiyun	qcom,bias-ctrl-value = <0x22>;
387*4882a593Smuzhiyun	qcom,charge-ctrl-value = <3>;
388*4882a593Smuzhiyun	qcom,hsdisc-trim-value = <0>;
389*4882a593Smuzhiyun};
390*4882a593Smuzhiyun
391*4882a593Smuzhiyun&usb_1_qmpphy {
392*4882a593Smuzhiyun	status = "okay";
393*4882a593Smuzhiyun	vdda-phy-supply = <&vreg_l3c_1p2>;
394*4882a593Smuzhiyun	vdda-pll-supply = <&vreg_l4a_0p8>;
395*4882a593Smuzhiyun};
396*4882a593Smuzhiyun
397*4882a593Smuzhiyun&venus {
398*4882a593Smuzhiyun	video-firmware {
399*4882a593Smuzhiyun		iommus = <&apps_smmu 0x0c42 0x0>;
400*4882a593Smuzhiyun	};
401*4882a593Smuzhiyun};
402*4882a593Smuzhiyun
403*4882a593Smuzhiyun&wifi {
404*4882a593Smuzhiyun	status = "okay";
405*4882a593Smuzhiyun	vdd-0.8-cx-mx-supply = <&vreg_l9a_0p6>;
406*4882a593Smuzhiyun	vdd-1.8-xo-supply = <&vreg_l1c_1p8>;
407*4882a593Smuzhiyun	vdd-1.3-rfa-supply = <&vreg_l2c_1p3>;
408*4882a593Smuzhiyun	vdd-3.3-ch0-supply = <&vreg_l10c_3p3>;
409*4882a593Smuzhiyun	vdd-3.3-ch1-supply = <&vreg_l11c_3p3>;
410*4882a593Smuzhiyun	wifi-firmware {
411*4882a593Smuzhiyun		iommus = <&apps_smmu 0xc2 0x1>;
412*4882a593Smuzhiyun	};
413*4882a593Smuzhiyun};
414*4882a593Smuzhiyun
415*4882a593Smuzhiyun/* PINCTRL - additions to nodes defined in sc7180.dtsi */
416*4882a593Smuzhiyun
417*4882a593Smuzhiyun&qspi_clk {
418*4882a593Smuzhiyun	pinconf {
419*4882a593Smuzhiyun		pins = "gpio63";
420*4882a593Smuzhiyun		bias-disable;
421*4882a593Smuzhiyun	};
422*4882a593Smuzhiyun};
423*4882a593Smuzhiyun
424*4882a593Smuzhiyun&qspi_cs0 {
425*4882a593Smuzhiyun	pinconf {
426*4882a593Smuzhiyun		pins = "gpio68";
427*4882a593Smuzhiyun		bias-disable;
428*4882a593Smuzhiyun	};
429*4882a593Smuzhiyun};
430*4882a593Smuzhiyun
431*4882a593Smuzhiyun&qspi_data01 {
432*4882a593Smuzhiyun	pinconf {
433*4882a593Smuzhiyun		pins = "gpio64", "gpio65";
434*4882a593Smuzhiyun
435*4882a593Smuzhiyun		/* High-Z when no transfers; nice to park the lines */
436*4882a593Smuzhiyun		bias-pull-up;
437*4882a593Smuzhiyun	};
438*4882a593Smuzhiyun};
439*4882a593Smuzhiyun
440*4882a593Smuzhiyun&qup_i2c2_default {
441*4882a593Smuzhiyun	pinconf {
442*4882a593Smuzhiyun		pins = "gpio15", "gpio16";
443*4882a593Smuzhiyun		drive-strength = <2>;
444*4882a593Smuzhiyun
445*4882a593Smuzhiyun		/* Has external pullup */
446*4882a593Smuzhiyun		bias-disable;
447*4882a593Smuzhiyun	};
448*4882a593Smuzhiyun};
449*4882a593Smuzhiyun
450*4882a593Smuzhiyun&qup_i2c4_default {
451*4882a593Smuzhiyun	pinconf {
452*4882a593Smuzhiyun		pins = "gpio115", "gpio116";
453*4882a593Smuzhiyun		drive-strength = <2>;
454*4882a593Smuzhiyun
455*4882a593Smuzhiyun		/* Has external pullup */
456*4882a593Smuzhiyun		bias-disable;
457*4882a593Smuzhiyun	};
458*4882a593Smuzhiyun};
459*4882a593Smuzhiyun
460*4882a593Smuzhiyun&qup_i2c7_default {
461*4882a593Smuzhiyun	pinconf {
462*4882a593Smuzhiyun		pins = "gpio6", "gpio7";
463*4882a593Smuzhiyun		drive-strength = <2>;
464*4882a593Smuzhiyun
465*4882a593Smuzhiyun		/* Has external pullup */
466*4882a593Smuzhiyun		bias-disable;
467*4882a593Smuzhiyun	};
468*4882a593Smuzhiyun};
469*4882a593Smuzhiyun
470*4882a593Smuzhiyun&qup_i2c9_default {
471*4882a593Smuzhiyun	pinconf {
472*4882a593Smuzhiyun		pins = "gpio46", "gpio47";
473*4882a593Smuzhiyun		drive-strength = <2>;
474*4882a593Smuzhiyun
475*4882a593Smuzhiyun		/* Has external pullup */
476*4882a593Smuzhiyun		bias-disable;
477*4882a593Smuzhiyun	};
478*4882a593Smuzhiyun};
479*4882a593Smuzhiyun
480*4882a593Smuzhiyun&qup_uart3_default {
481*4882a593Smuzhiyun	pinconf-cts {
482*4882a593Smuzhiyun		/*
483*4882a593Smuzhiyun		 * Configure a pull-down on CTS to match the pull of
484*4882a593Smuzhiyun		 * the Bluetooth module.
485*4882a593Smuzhiyun		 */
486*4882a593Smuzhiyun		pins = "gpio38";
487*4882a593Smuzhiyun		bias-pull-down;
488*4882a593Smuzhiyun	};
489*4882a593Smuzhiyun
490*4882a593Smuzhiyun	pinconf-rts {
491*4882a593Smuzhiyun		/* We'll drive RTS, so no pull */
492*4882a593Smuzhiyun		pins = "gpio39";
493*4882a593Smuzhiyun		drive-strength = <2>;
494*4882a593Smuzhiyun		bias-disable;
495*4882a593Smuzhiyun	};
496*4882a593Smuzhiyun
497*4882a593Smuzhiyun	pinconf-tx {
498*4882a593Smuzhiyun		/* We'll drive TX, so no pull */
499*4882a593Smuzhiyun		pins = "gpio40";
500*4882a593Smuzhiyun		drive-strength = <2>;
501*4882a593Smuzhiyun		bias-disable;
502*4882a593Smuzhiyun	};
503*4882a593Smuzhiyun
504*4882a593Smuzhiyun	pinconf-rx {
505*4882a593Smuzhiyun		/*
506*4882a593Smuzhiyun		 * Configure a pull-up on RX. This is needed to avoid
507*4882a593Smuzhiyun		 * garbage data when the TX pin of the Bluetooth module is
508*4882a593Smuzhiyun		 * in tri-state (module powered off or not driving the
509*4882a593Smuzhiyun		 * signal yet).
510*4882a593Smuzhiyun		 */
511*4882a593Smuzhiyun		pins = "gpio41";
512*4882a593Smuzhiyun		bias-pull-up;
513*4882a593Smuzhiyun	};
514*4882a593Smuzhiyun};
515*4882a593Smuzhiyun
516*4882a593Smuzhiyun&qup_uart8_default {
517*4882a593Smuzhiyun	pinconf-tx {
518*4882a593Smuzhiyun		pins = "gpio44";
519*4882a593Smuzhiyun		drive-strength = <2>;
520*4882a593Smuzhiyun		bias-disable;
521*4882a593Smuzhiyun	};
522*4882a593Smuzhiyun
523*4882a593Smuzhiyun	pinconf-rx {
524*4882a593Smuzhiyun		pins = "gpio45";
525*4882a593Smuzhiyun		drive-strength = <2>;
526*4882a593Smuzhiyun		bias-pull-up;
527*4882a593Smuzhiyun	};
528*4882a593Smuzhiyun};
529*4882a593Smuzhiyun
530*4882a593Smuzhiyun&qup_spi0_default {
531*4882a593Smuzhiyun	pinconf {
532*4882a593Smuzhiyun		pins = "gpio34", "gpio35", "gpio36", "gpio37";
533*4882a593Smuzhiyun		drive-strength = <2>;
534*4882a593Smuzhiyun		bias-disable;
535*4882a593Smuzhiyun	};
536*4882a593Smuzhiyun};
537*4882a593Smuzhiyun
538*4882a593Smuzhiyun&qup_spi6_default {
539*4882a593Smuzhiyun	pinconf {
540*4882a593Smuzhiyun		pins = "gpio59", "gpio60", "gpio61", "gpio62";
541*4882a593Smuzhiyun		drive-strength = <2>;
542*4882a593Smuzhiyun		bias-disable;
543*4882a593Smuzhiyun	};
544*4882a593Smuzhiyun};
545*4882a593Smuzhiyun
546*4882a593Smuzhiyun&qup_spi10_default {
547*4882a593Smuzhiyun	pinconf {
548*4882a593Smuzhiyun		pins = "gpio86", "gpio87", "gpio88", "gpio89";
549*4882a593Smuzhiyun		drive-strength = <2>;
550*4882a593Smuzhiyun		bias-disable;
551*4882a593Smuzhiyun	};
552*4882a593Smuzhiyun};
553*4882a593Smuzhiyun
554*4882a593Smuzhiyun&tlmm {
555*4882a593Smuzhiyun	qup_uart3_sleep: qup-uart3-sleep {
556*4882a593Smuzhiyun		pinmux {
557*4882a593Smuzhiyun			pins = "gpio38", "gpio39",
558*4882a593Smuzhiyun			       "gpio40", "gpio41";
559*4882a593Smuzhiyun			function = "gpio";
560*4882a593Smuzhiyun		};
561*4882a593Smuzhiyun
562*4882a593Smuzhiyun		pinconf-cts {
563*4882a593Smuzhiyun			/*
564*4882a593Smuzhiyun			 * Configure a pull-down on CTS to match the pull of
565*4882a593Smuzhiyun			 * the Bluetooth module.
566*4882a593Smuzhiyun			 */
567*4882a593Smuzhiyun			pins = "gpio38";
568*4882a593Smuzhiyun			bias-pull-down;
569*4882a593Smuzhiyun		};
570*4882a593Smuzhiyun
571*4882a593Smuzhiyun		pinconf-rts {
572*4882a593Smuzhiyun			/*
573*4882a593Smuzhiyun			 * Configure pull-down on RTS. As RTS is active low
574*4882a593Smuzhiyun			 * signal, pull it low to indicate the BT SoC that it
575*4882a593Smuzhiyun			 * can wakeup the system anytime from suspend state by
576*4882a593Smuzhiyun			 * pulling RX low (by sending wakeup bytes).
577*4882a593Smuzhiyun			 */
578*4882a593Smuzhiyun			 pins = "gpio39";
579*4882a593Smuzhiyun			 bias-pull-down;
580*4882a593Smuzhiyun		};
581*4882a593Smuzhiyun
582*4882a593Smuzhiyun		pinconf-tx {
583*4882a593Smuzhiyun			/*
584*4882a593Smuzhiyun			 * Configure pull-up on TX when it isn't actively driven
585*4882a593Smuzhiyun			 * to prevent BT SoC from receiving garbage during sleep.
586*4882a593Smuzhiyun			 */
587*4882a593Smuzhiyun			pins = "gpio40";
588*4882a593Smuzhiyun			bias-pull-up;
589*4882a593Smuzhiyun		};
590*4882a593Smuzhiyun
591*4882a593Smuzhiyun		pinconf-rx {
592*4882a593Smuzhiyun			/*
593*4882a593Smuzhiyun			 * Configure a pull-up on RX. This is needed to avoid
594*4882a593Smuzhiyun			 * garbage data when the TX pin of the Bluetooth module
595*4882a593Smuzhiyun			 * is floating which may cause spurious wakeups.
596*4882a593Smuzhiyun			 */
597*4882a593Smuzhiyun			pins = "gpio41";
598*4882a593Smuzhiyun			bias-pull-up;
599*4882a593Smuzhiyun		};
600*4882a593Smuzhiyun	};
601*4882a593Smuzhiyun};
602