1116f7cc4SDouglas Anderson// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2116f7cc4SDouglas Anderson/*
3116f7cc4SDouglas Anderson * sc7280 Qcard device tree source
4116f7cc4SDouglas Anderson *
5116f7cc4SDouglas Anderson * Qcard PCB has the processor, RAM, eMMC (if stuffed), and eDP connector (if
6116f7cc4SDouglas Anderson * stuffed) on it. This device tree tries to encapsulate all the things that
7116f7cc4SDouglas Anderson * all boards using Qcard will have in common. Given that there are stuffing
8116f7cc4SDouglas Anderson * options, some things may be left with status "disabled" and enabled in
9116f7cc4SDouglas Anderson * the actual board device tree files.
10116f7cc4SDouglas Anderson *
11116f7cc4SDouglas Anderson * Copyright 2022 Google LLC.
12116f7cc4SDouglas Anderson */
13116f7cc4SDouglas Anderson
14116f7cc4SDouglas Anderson#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
15116f7cc4SDouglas Anderson#include <dt-bindings/iio/qcom,spmi-adc7-pmr735a.h>
16116f7cc4SDouglas Anderson#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
17116f7cc4SDouglas Anderson#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
18116f7cc4SDouglas Anderson
19116f7cc4SDouglas Anderson#include "sc7280.dtsi"
20116f7cc4SDouglas Anderson
21116f7cc4SDouglas Anderson/* PMICs depend on spmi_bus label and so must come after SoC */
22116f7cc4SDouglas Anderson#include "pm7325.dtsi"
23116f7cc4SDouglas Anderson#include "pm8350c.dtsi"
24116f7cc4SDouglas Anderson#include "pmk8350.dtsi"
25116f7cc4SDouglas Anderson
26116f7cc4SDouglas Anderson/ {
27116f7cc4SDouglas Anderson	aliases {
28116f7cc4SDouglas Anderson		bluetooth0 = &bluetooth;
29116f7cc4SDouglas Anderson		serial0 = &uart5;
30116f7cc4SDouglas Anderson		serial1 = &uart7;
31116f7cc4SDouglas Anderson	};
32366a0a19SDouglas Anderson
33366a0a19SDouglas Anderson	pm8350c_pwm_backlight: backlight {
34366a0a19SDouglas Anderson		compatible = "pwm-backlight";
35366a0a19SDouglas Anderson		status = "disabled";
36366a0a19SDouglas Anderson
37366a0a19SDouglas Anderson		enable-gpios = <&pm8350c_gpios 7 GPIO_ACTIVE_HIGH>;
38366a0a19SDouglas Anderson		pinctrl-names = "default";
39366a0a19SDouglas Anderson		pinctrl-0 = <&pmic_edp_bl_en>;
40366a0a19SDouglas Anderson		pwms = <&pm8350c_pwm 3 65535>;
41366a0a19SDouglas Anderson	};
42116f7cc4SDouglas Anderson};
43116f7cc4SDouglas Anderson
44116f7cc4SDouglas Anderson&apps_rsc {
45116f7cc4SDouglas Anderson	/*
46116f7cc4SDouglas Anderson	 * Regulators are given labels corresponding to the various names
47116f7cc4SDouglas Anderson	 * they are referred to on schematics. They are also given labels
48116f7cc4SDouglas Anderson	 * corresponding to named voltage inputs on the SoC or components
49116f7cc4SDouglas Anderson	 * bundled with the SoC (like radio companion chips). We totally
50116f7cc4SDouglas Anderson	 * ignore it when one regulator is the input to another regulator.
51116f7cc4SDouglas Anderson	 * That's handled automatically by the initial config given to
52116f7cc4SDouglas Anderson	 * RPMH by the firmware.
53116f7cc4SDouglas Anderson	 *
54116f7cc4SDouglas Anderson	 * Regulators that the HLOS (High Level OS) doesn't touch at all
55116f7cc4SDouglas Anderson	 * are left out of here since they are managed elsewhere.
56116f7cc4SDouglas Anderson	 */
57116f7cc4SDouglas Anderson
58116f7cc4SDouglas Anderson	pm7325-regulators {
59116f7cc4SDouglas Anderson		compatible = "qcom,pm7325-rpmh-regulators";
60116f7cc4SDouglas Anderson		qcom,pmic-id = "b";
61116f7cc4SDouglas Anderson
62116f7cc4SDouglas Anderson		vdd19_pmu_pcie_i:
63116f7cc4SDouglas Anderson		vdd19_pmu_rfa_i:
64116f7cc4SDouglas Anderson		vreg_s1b_1p856: smps1 {
65116f7cc4SDouglas Anderson			regulator-min-microvolt = <1856000>;
66116f7cc4SDouglas Anderson			regulator-max-microvolt = <2040000>;
67116f7cc4SDouglas Anderson		};
68116f7cc4SDouglas Anderson
69116f7cc4SDouglas Anderson		vdd_pmu_aon_i:
70116f7cc4SDouglas Anderson		vdd09_pmu_rfa_i:
71116f7cc4SDouglas Anderson		vdd095_mx_pmu:
72116f7cc4SDouglas Anderson		vdd095_pmu:
73116f7cc4SDouglas Anderson		vreg_s7b_0p952: smps7 {
74116f7cc4SDouglas Anderson			regulator-min-microvolt = <535000>;
75116f7cc4SDouglas Anderson			regulator-max-microvolt = <1120000>;
76116f7cc4SDouglas Anderson		};
77116f7cc4SDouglas Anderson
78116f7cc4SDouglas Anderson		vdd13_pmu_rfa_i:
79116f7cc4SDouglas Anderson		vdd13_pmu_pcie_i:
80116f7cc4SDouglas Anderson		vreg_s8b_1p256: smps8 {
81116f7cc4SDouglas Anderson			regulator-min-microvolt = <1256000>;
82116f7cc4SDouglas Anderson			regulator-max-microvolt = <1500000>;
83116f7cc4SDouglas Anderson		};
84116f7cc4SDouglas Anderson
85116f7cc4SDouglas Anderson		vdd_a_usbssdp_0_core:
86116f7cc4SDouglas Anderson		vreg_l1b_0p912: ldo1 {
87116f7cc4SDouglas Anderson			regulator-min-microvolt = <825000>;
88116f7cc4SDouglas Anderson			regulator-max-microvolt = <925000>;
89116f7cc4SDouglas Anderson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
90116f7cc4SDouglas Anderson		};
91116f7cc4SDouglas Anderson
92116f7cc4SDouglas Anderson		vdd_a_usbhs_3p1:
93116f7cc4SDouglas Anderson		vreg_l2b_3p072: ldo2 {
94116f7cc4SDouglas Anderson			regulator-min-microvolt = <2700000>;
95116f7cc4SDouglas Anderson			regulator-max-microvolt = <3544000>;
96116f7cc4SDouglas Anderson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
97116f7cc4SDouglas Anderson		};
98116f7cc4SDouglas Anderson
99116f7cc4SDouglas Anderson		vdd_a_csi_0_1_1p2:
100116f7cc4SDouglas Anderson		vdd_a_csi_2_3_1p2:
101116f7cc4SDouglas Anderson		vdd_a_csi_4_1p2:
102116f7cc4SDouglas Anderson		vdd_a_dsi_0_1p2:
103116f7cc4SDouglas Anderson		vdd_a_edp_0_1p2:
104116f7cc4SDouglas Anderson		vdd_a_qlink_0_1p2:
105116f7cc4SDouglas Anderson		vdd_a_qlink_1_1p2:
106116f7cc4SDouglas Anderson		vdd_a_pcie_0_1p2:
107116f7cc4SDouglas Anderson		vdd_a_pcie_1_1p2:
108116f7cc4SDouglas Anderson		vdd_a_ufs_0_1p2:
109116f7cc4SDouglas Anderson		vdd_a_usbssdp_0_1p2:
110116f7cc4SDouglas Anderson		vreg_l6b_1p2: ldo6 {
111116f7cc4SDouglas Anderson			regulator-min-microvolt = <1140000>;
112116f7cc4SDouglas Anderson			regulator-max-microvolt = <1260000>;
113116f7cc4SDouglas Anderson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
114116f7cc4SDouglas Anderson		};
115116f7cc4SDouglas Anderson
116116f7cc4SDouglas Anderson		/*
117116f7cc4SDouglas Anderson		 * Despite the fact that this is named to be 2.5V on the
118116f7cc4SDouglas Anderson		 * schematic, it powers eMMC which doesn't accept 2.5V
119116f7cc4SDouglas Anderson		 */
120116f7cc4SDouglas Anderson		vreg_l7b_2p5: ldo7 {
121116f7cc4SDouglas Anderson			regulator-min-microvolt = <2960000>;
122116f7cc4SDouglas Anderson			regulator-max-microvolt = <2960000>;
123116f7cc4SDouglas Anderson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
124116f7cc4SDouglas Anderson		};
125116f7cc4SDouglas Anderson
126*a57de71fSSrinivasa Rao Mandadapu		vreg_l17b_1p8: ldo17 {
127*a57de71fSSrinivasa Rao Mandadapu			regulator-min-microvolt = <1700000>;
128*a57de71fSSrinivasa Rao Mandadapu			regulator-max-microvolt = <1900000>;
129*a57de71fSSrinivasa Rao Mandadapu			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
130*a57de71fSSrinivasa Rao Mandadapu		};
131*a57de71fSSrinivasa Rao Mandadapu
132116f7cc4SDouglas Anderson		vdd_px_wcd9385:
133116f7cc4SDouglas Anderson		vdd_txrx:
134116f7cc4SDouglas Anderson		vddpx_0:
135116f7cc4SDouglas Anderson		vddpx_3:
136116f7cc4SDouglas Anderson		vddpx_7:
137116f7cc4SDouglas Anderson		vreg_l18b_1p8: ldo18 {
138116f7cc4SDouglas Anderson			regulator-min-microvolt = <1800000>;
139116f7cc4SDouglas Anderson			regulator-max-microvolt = <2000000>;
140116f7cc4SDouglas Anderson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
141116f7cc4SDouglas Anderson		};
142116f7cc4SDouglas Anderson
143116f7cc4SDouglas Anderson		vdd_1p8:
144116f7cc4SDouglas Anderson		vdd_px_sdr735:
145116f7cc4SDouglas Anderson		vdd_pxm:
146116f7cc4SDouglas Anderson		vdd18_io:
147116f7cc4SDouglas Anderson		vddio_px_1:
148116f7cc4SDouglas Anderson		vddio_px_2:
149116f7cc4SDouglas Anderson		vddio_px_3:
150116f7cc4SDouglas Anderson		vddpx_ts:
151116f7cc4SDouglas Anderson		vddpx_wl4otp:
152116f7cc4SDouglas Anderson		vreg_l19b_1p8: ldo19 {
153116f7cc4SDouglas Anderson			regulator-min-microvolt = <1800000>;
154116f7cc4SDouglas Anderson			regulator-max-microvolt = <1800000>;
155116f7cc4SDouglas Anderson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
156116f7cc4SDouglas Anderson		};
157116f7cc4SDouglas Anderson	};
158116f7cc4SDouglas Anderson
159116f7cc4SDouglas Anderson	pm8350c-regulators {
160116f7cc4SDouglas Anderson		compatible = "qcom,pm8350c-rpmh-regulators";
161116f7cc4SDouglas Anderson		qcom,pmic-id = "c";
162116f7cc4SDouglas Anderson
163116f7cc4SDouglas Anderson		vdd22_wlbtpa_ch0:
164116f7cc4SDouglas Anderson		vdd22_wlbtpa_ch1:
165116f7cc4SDouglas Anderson		vdd22_wlbtppa_ch0:
166116f7cc4SDouglas Anderson		vdd22_wlbtppa_ch1:
167116f7cc4SDouglas Anderson		vdd22_wlpa5g_ch0:
168116f7cc4SDouglas Anderson		vdd22_wlpa5g_ch1:
169116f7cc4SDouglas Anderson		vdd22_wlppa5g_ch0:
170116f7cc4SDouglas Anderson		vdd22_wlppa5g_ch1:
171116f7cc4SDouglas Anderson		vreg_s1c_2p2: smps1 {
172116f7cc4SDouglas Anderson			regulator-min-microvolt = <2190000>;
173116f7cc4SDouglas Anderson			regulator-max-microvolt = <2210000>;
174116f7cc4SDouglas Anderson		};
175116f7cc4SDouglas Anderson
176116f7cc4SDouglas Anderson		lp4_vdd2_1p052:
177116f7cc4SDouglas Anderson		vreg_s9c_0p676: smps9 {
178116f7cc4SDouglas Anderson			regulator-min-microvolt = <1010000>;
179116f7cc4SDouglas Anderson			regulator-max-microvolt = <1170000>;
180116f7cc4SDouglas Anderson		};
181116f7cc4SDouglas Anderson
182116f7cc4SDouglas Anderson		vdda_apc_cs_1p8:
183116f7cc4SDouglas Anderson		vdda_gfx_cs_1p8:
184116f7cc4SDouglas Anderson		vdda_turing_q6_cs_1p8:
185116f7cc4SDouglas Anderson		vdd_a_cxo_1p8:
186116f7cc4SDouglas Anderson		vdd_a_qrefs_1p8:
187116f7cc4SDouglas Anderson		vdd_a_usbhs_1p8:
188116f7cc4SDouglas Anderson		vdd_qfprom:
189116f7cc4SDouglas Anderson		vreg_l1c_1p8: ldo1 {
190116f7cc4SDouglas Anderson			regulator-min-microvolt = <1800000>;
191116f7cc4SDouglas Anderson			regulator-max-microvolt = <1980000>;
192116f7cc4SDouglas Anderson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
193116f7cc4SDouglas Anderson		};
194116f7cc4SDouglas Anderson
195116f7cc4SDouglas Anderson		vreg_l2c_1p8: ldo2 {
196116f7cc4SDouglas Anderson			regulator-min-microvolt = <1620000>;
197116f7cc4SDouglas Anderson			regulator-max-microvolt = <1980000>;
198116f7cc4SDouglas Anderson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
199116f7cc4SDouglas Anderson		};
200116f7cc4SDouglas Anderson
201116f7cc4SDouglas Anderson		vreg_l3c_3p0: ldo3 {
202116f7cc4SDouglas Anderson			regulator-min-microvolt = <2800000>;
203116f7cc4SDouglas Anderson			regulator-max-microvolt = <3540000>;
204116f7cc4SDouglas Anderson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
205116f7cc4SDouglas Anderson		};
206116f7cc4SDouglas Anderson
207116f7cc4SDouglas Anderson		vddpx_5:
208116f7cc4SDouglas Anderson		vreg_l4c_1p8_3p0: ldo4 {
209116f7cc4SDouglas Anderson			regulator-min-microvolt = <1620000>;
210116f7cc4SDouglas Anderson			regulator-max-microvolt = <3300000>;
211116f7cc4SDouglas Anderson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
212116f7cc4SDouglas Anderson		};
213116f7cc4SDouglas Anderson
214116f7cc4SDouglas Anderson		vddpx_6:
215116f7cc4SDouglas Anderson		vreg_l5c_1p8_3p0: ldo5 {
216116f7cc4SDouglas Anderson			regulator-min-microvolt = <1620000>;
217116f7cc4SDouglas Anderson			regulator-max-microvolt = <3300000>;
218116f7cc4SDouglas Anderson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
219116f7cc4SDouglas Anderson		};
220116f7cc4SDouglas Anderson
221116f7cc4SDouglas Anderson		vddpx_2:
222116f7cc4SDouglas Anderson		vreg_l6c_2p96: ldo6 {
223116f7cc4SDouglas Anderson			regulator-min-microvolt = <1800000>;
224116f7cc4SDouglas Anderson			regulator-max-microvolt = <2950000>;
225116f7cc4SDouglas Anderson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
226116f7cc4SDouglas Anderson		};
227116f7cc4SDouglas Anderson
228116f7cc4SDouglas Anderson		vreg_l7c_3p0: ldo7 {
229116f7cc4SDouglas Anderson			regulator-min-microvolt = <3000000>;
230116f7cc4SDouglas Anderson			regulator-max-microvolt = <3544000>;
231116f7cc4SDouglas Anderson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
232116f7cc4SDouglas Anderson		};
233116f7cc4SDouglas Anderson
234116f7cc4SDouglas Anderson		vreg_l8c_1p8: ldo8 {
235116f7cc4SDouglas Anderson			regulator-min-microvolt = <1620000>;
236116f7cc4SDouglas Anderson			regulator-max-microvolt = <2000000>;
237116f7cc4SDouglas Anderson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
238116f7cc4SDouglas Anderson		};
239116f7cc4SDouglas Anderson
240116f7cc4SDouglas Anderson		vreg_l9c_2p96: ldo9 {
241116f7cc4SDouglas Anderson			regulator-min-microvolt = <2960000>;
242116f7cc4SDouglas Anderson			regulator-max-microvolt = <2960000>;
243116f7cc4SDouglas Anderson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
244116f7cc4SDouglas Anderson		};
245116f7cc4SDouglas Anderson
246116f7cc4SDouglas Anderson		vdd_a_csi_0_1_0p9:
247116f7cc4SDouglas Anderson		vdd_a_csi_2_3_0p9:
248116f7cc4SDouglas Anderson		vdd_a_csi_4_0p9:
249116f7cc4SDouglas Anderson		vdd_a_dsi_0_0p9:
250116f7cc4SDouglas Anderson		vdd_a_dsi_0_pll_0p9:
251116f7cc4SDouglas Anderson		vdd_a_edp_0_0p9:
252116f7cc4SDouglas Anderson		vdd_a_gnss_0p9:
253116f7cc4SDouglas Anderson		vdd_a_pcie_0_core:
254116f7cc4SDouglas Anderson		vdd_a_pcie_1_core:
255116f7cc4SDouglas Anderson		vdd_a_qlink_0_0p9:
256116f7cc4SDouglas Anderson		vdd_a_qlink_0_0p9_ck:
257116f7cc4SDouglas Anderson		vdd_a_qlink_1_0p9:
258116f7cc4SDouglas Anderson		vdd_a_qlink_1_0p9_ck:
259116f7cc4SDouglas Anderson		vdd_a_qrefs_0p875_0:
260116f7cc4SDouglas Anderson		vdd_a_qrefs_0p875_1:
261116f7cc4SDouglas Anderson		vdd_a_qrefs_0p875_2:
262116f7cc4SDouglas Anderson		vdd_a_qrefs_0p875_3:
263116f7cc4SDouglas Anderson		vdd_a_qrefs_0p875_4_5:
264116f7cc4SDouglas Anderson		vdd_a_qrefs_0p875_6:
265116f7cc4SDouglas Anderson		vdd_a_qrefs_0p875_7:
266116f7cc4SDouglas Anderson		vdd_a_qrefs_0p875_8:
267116f7cc4SDouglas Anderson		vdd_a_qrefs_0p875_9:
268116f7cc4SDouglas Anderson		vdd_a_ufs_0_core:
269116f7cc4SDouglas Anderson		vdd_a_usbhs_core:
270116f7cc4SDouglas Anderson		vreg_l10c_0p88: ldo10 {
271116f7cc4SDouglas Anderson			regulator-min-microvolt = <720000>;
272116f7cc4SDouglas Anderson			regulator-max-microvolt = <1050000>;
273116f7cc4SDouglas Anderson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
274116f7cc4SDouglas Anderson		};
275116f7cc4SDouglas Anderson
276116f7cc4SDouglas Anderson		vreg_l11c_2p8: ldo11 {
277116f7cc4SDouglas Anderson			regulator-min-microvolt = <2800000>;
278116f7cc4SDouglas Anderson			regulator-max-microvolt = <3544000>;
279116f7cc4SDouglas Anderson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
280116f7cc4SDouglas Anderson		};
281116f7cc4SDouglas Anderson
282116f7cc4SDouglas Anderson		vreg_l12c_1p8: ldo12 {
283116f7cc4SDouglas Anderson			regulator-min-microvolt = <1650000>;
284116f7cc4SDouglas Anderson			regulator-max-microvolt = <2000000>;
285116f7cc4SDouglas Anderson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
286116f7cc4SDouglas Anderson		};
287116f7cc4SDouglas Anderson
288116f7cc4SDouglas Anderson		vreg_l13c_3p0: ldo13 {
289116f7cc4SDouglas Anderson			regulator-min-microvolt = <2700000>;
290116f7cc4SDouglas Anderson			regulator-max-microvolt = <3544000>;
291116f7cc4SDouglas Anderson			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
292116f7cc4SDouglas Anderson		};
293116f7cc4SDouglas Anderson
294116f7cc4SDouglas Anderson		vdd_flash:
295116f7cc4SDouglas Anderson		vdd_iris_rgb:
296116f7cc4SDouglas Anderson		vdd_mic_bias:
297116f7cc4SDouglas Anderson		vreg_bob: bob {
298116f7cc4SDouglas Anderson			regulator-min-microvolt = <3008000>;
299116f7cc4SDouglas Anderson			regulator-max-microvolt = <3960000>;
300116f7cc4SDouglas Anderson			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
301116f7cc4SDouglas Anderson		};
302116f7cc4SDouglas Anderson	};
303116f7cc4SDouglas Anderson};
304116f7cc4SDouglas Anderson
305116f7cc4SDouglas Anderson/* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */
306116f7cc4SDouglas Anderson
307116f7cc4SDouglas Anderson&ipa {
308116f7cc4SDouglas Anderson	status = "okay";
309116f7cc4SDouglas Anderson	modem-init;
310116f7cc4SDouglas Anderson};
311116f7cc4SDouglas Anderson
312366a0a19SDouglas Anderson/* NOTE: Not all Qcards have eDP connector stuffed */
313366a0a19SDouglas Anderson&mdss_edp {
314366a0a19SDouglas Anderson	vdda-0p9-supply = <&vdd_a_edp_0_0p9>;
315366a0a19SDouglas Anderson	vdda-1p2-supply = <&vdd_a_edp_0_1p2>;
316366a0a19SDouglas Anderson
317366a0a19SDouglas Anderson	aux-bus {
318366a0a19SDouglas Anderson		edp_panel: panel {
319366a0a19SDouglas Anderson			compatible = "edp-panel";
320366a0a19SDouglas Anderson
321366a0a19SDouglas Anderson			backlight = <&pm8350c_pwm_backlight>;
322366a0a19SDouglas Anderson
323366a0a19SDouglas Anderson			ports {
324366a0a19SDouglas Anderson				#address-cells = <1>;
325366a0a19SDouglas Anderson				#size-cells = <0>;
326366a0a19SDouglas Anderson				port@0 {
327366a0a19SDouglas Anderson					reg = <0>;
328366a0a19SDouglas Anderson					edp_panel_in: endpoint {
329366a0a19SDouglas Anderson						remote-endpoint = <&mdss_edp_out>;
330366a0a19SDouglas Anderson					};
331366a0a19SDouglas Anderson				};
332366a0a19SDouglas Anderson			};
333366a0a19SDouglas Anderson		};
334366a0a19SDouglas Anderson	};
335366a0a19SDouglas Anderson};
336366a0a19SDouglas Anderson
337366a0a19SDouglas Anderson&mdss_edp_out {
338366a0a19SDouglas Anderson	remote-endpoint = <&edp_panel_in>;
339366a0a19SDouglas Anderson};
340366a0a19SDouglas Anderson
341366a0a19SDouglas Anderson&mdss_edp_phy {
342366a0a19SDouglas Anderson	vdda-pll-supply = <&vdd_a_edp_0_0p9>;
343366a0a19SDouglas Anderson	vdda-phy-supply = <&vdd_a_edp_0_1p2>;
344366a0a19SDouglas Anderson};
345366a0a19SDouglas Anderson
346116f7cc4SDouglas Anderson&pcie1_phy {
347116f7cc4SDouglas Anderson	vdda-phy-supply = <&vreg_l10c_0p88>;
348116f7cc4SDouglas Anderson	vdda-pll-supply = <&vreg_l6b_1p2>;
349116f7cc4SDouglas Anderson};
350116f7cc4SDouglas Anderson
351366a0a19SDouglas Anderson&pm8350c_pwm {
352366a0a19SDouglas Anderson	pinctrl-names = "default";
353366a0a19SDouglas Anderson	pinctrl-0 = <&pmic_edp_bl_pwm>;
354366a0a19SDouglas Anderson};
355366a0a19SDouglas Anderson
356116f7cc4SDouglas Anderson&pmk8350_vadc {
357116f7cc4SDouglas Anderson	pmk8350-die-temp@3 {
358116f7cc4SDouglas Anderson		reg = <PMK8350_ADC7_DIE_TEMP>;
359116f7cc4SDouglas Anderson		label = "pmk8350_die_temp";
360116f7cc4SDouglas Anderson		qcom,pre-scaling = <1 1>;
361116f7cc4SDouglas Anderson	};
362116f7cc4SDouglas Anderson
363116f7cc4SDouglas Anderson	pmr735a-die-temp@403 {
364116f7cc4SDouglas Anderson		reg = <PMR735A_ADC7_DIE_TEMP>;
365116f7cc4SDouglas Anderson		label = "pmr735a_die_temp";
366116f7cc4SDouglas Anderson		qcom,pre-scaling = <1 1>;
367116f7cc4SDouglas Anderson	};
368116f7cc4SDouglas Anderson};
369116f7cc4SDouglas Anderson
370116f7cc4SDouglas Anderson&qfprom {
371116f7cc4SDouglas Anderson	vcc-supply = <&vdd_qfprom>;
372116f7cc4SDouglas Anderson};
373116f7cc4SDouglas Anderson
374116f7cc4SDouglas Anderson/* For eMMC. NOTE: not all Qcards have eMMC stuffed */
375116f7cc4SDouglas Anderson&sdhc_1 {
376116f7cc4SDouglas Anderson	vmmc-supply = <&vreg_l7b_2p5>;
377116f7cc4SDouglas Anderson	vqmmc-supply = <&vreg_l19b_1p8>;
378116f7cc4SDouglas Anderson
379116f7cc4SDouglas Anderson	non-removable;
380116f7cc4SDouglas Anderson	no-sd;
381116f7cc4SDouglas Anderson	no-sdio;
382116f7cc4SDouglas Anderson};
383116f7cc4SDouglas Anderson
384116f7cc4SDouglas Andersonuart_dbg: &uart5 {
385116f7cc4SDouglas Anderson	compatible = "qcom,geni-debug-uart";
386116f7cc4SDouglas Anderson	status = "okay";
387116f7cc4SDouglas Anderson};
388116f7cc4SDouglas Anderson
389116f7cc4SDouglas Andersonmos_bt_uart: &uart7 {
390116f7cc4SDouglas Anderson	status = "okay";
391116f7cc4SDouglas Anderson
392116f7cc4SDouglas Anderson	/delete-property/ interrupts;
393116f7cc4SDouglas Anderson	interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>,
394116f7cc4SDouglas Anderson				<&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
395116f7cc4SDouglas Anderson	pinctrl-names = "default", "sleep";
396116f7cc4SDouglas Anderson	pinctrl-1 = <&qup_uart7_sleep_cts>, <&qup_uart7_sleep_rts>, <&qup_uart7_sleep_tx>, <&qup_uart7_sleep_rx>;
397116f7cc4SDouglas Anderson
398116f7cc4SDouglas Anderson	bluetooth: bluetooth {
399116f7cc4SDouglas Anderson		compatible = "qcom,wcn6750-bt";
400116f7cc4SDouglas Anderson		pinctrl-names = "default";
401116f7cc4SDouglas Anderson		pinctrl-0 = <&mos_bt_en>;
402116f7cc4SDouglas Anderson		enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
403116f7cc4SDouglas Anderson		swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
404116f7cc4SDouglas Anderson		vddaon-supply = <&vreg_s7b_0p952>;
405116f7cc4SDouglas Anderson		vddbtcxmx-supply = <&vreg_s7b_0p952>;
406116f7cc4SDouglas Anderson		vddrfacmn-supply = <&vreg_s7b_0p952>;
407116f7cc4SDouglas Anderson		vddrfa0p8-supply = <&vreg_s7b_0p952>;
408116f7cc4SDouglas Anderson		vddrfa1p7-supply = <&vdd19_pmu_rfa_i>;
409116f7cc4SDouglas Anderson		vddrfa1p2-supply = <&vdd13_pmu_rfa_i>;
410116f7cc4SDouglas Anderson		vddrfa2p2-supply = <&vreg_s1c_2p2>;
411116f7cc4SDouglas Anderson		vddasd-supply = <&vreg_l11c_2p8>;
412116f7cc4SDouglas Anderson		vddio-supply = <&vreg_l18b_1p8>;
413116f7cc4SDouglas Anderson		max-speed = <3200000>;
414116f7cc4SDouglas Anderson	};
415116f7cc4SDouglas Anderson};
416116f7cc4SDouglas Anderson
417116f7cc4SDouglas Anderson&usb_1_hsphy {
418116f7cc4SDouglas Anderson	vdda-pll-supply = <&vdd_a_usbhs_core>;
419116f7cc4SDouglas Anderson	vdda33-supply = <&vdd_a_usbhs_3p1>;
420116f7cc4SDouglas Anderson	vdda18-supply = <&vdd_a_usbhs_1p8>;
421116f7cc4SDouglas Anderson};
422116f7cc4SDouglas Anderson
423116f7cc4SDouglas Anderson&usb_1_qmpphy {
424116f7cc4SDouglas Anderson	vdda-phy-supply = <&vdd_a_usbssdp_0_1p2>;
425116f7cc4SDouglas Anderson	vdda-pll-supply = <&vdd_a_usbssdp_0_core>;
426116f7cc4SDouglas Anderson};
427116f7cc4SDouglas Anderson
428116f7cc4SDouglas Anderson&usb_2_hsphy {
429116f7cc4SDouglas Anderson	vdda-pll-supply = <&vdd_a_usbhs_core>;
430116f7cc4SDouglas Anderson	vdda33-supply = <&vdd_a_usbhs_3p1>;
431116f7cc4SDouglas Anderson	vdda18-supply = <&vdd_a_usbhs_1p8>;
432116f7cc4SDouglas Anderson};
433116f7cc4SDouglas Anderson
434116f7cc4SDouglas Anderson/*
435116f7cc4SDouglas Anderson * PINCTRL - ADDITIONS TO NODES IN PARENT DEVICE TREE FILES
436116f7cc4SDouglas Anderson *
437116f7cc4SDouglas Anderson * NOTE: In general if pins leave the Qcard then the pinctrl goes in the
438116f7cc4SDouglas Anderson * baseboard or board device tree, not here.
439116f7cc4SDouglas Anderson */
440116f7cc4SDouglas Anderson
441366a0a19SDouglas Anderson/* No external pull for eDP HPD, so set the internal one. */
442366a0a19SDouglas Anderson&edp_hot_plug_det {
443366a0a19SDouglas Anderson	bias-pull-down;
444366a0a19SDouglas Anderson};
445366a0a19SDouglas Anderson
446116f7cc4SDouglas Anderson/*
447116f7cc4SDouglas Anderson * For ts_i2c
448116f7cc4SDouglas Anderson *
449116f7cc4SDouglas Anderson * Technically this i2c bus actually leaves the Qcard, but it leaves directly
450116f7cc4SDouglas Anderson * via the eDP connector (it doesn't hit the baseboard). The external pulls
451116f7cc4SDouglas Anderson * are on Qcard.
452116f7cc4SDouglas Anderson */
453116f7cc4SDouglas Anderson&qup_i2c13_data_clk {
454116f7cc4SDouglas Anderson	/* Has external pull */
455116f7cc4SDouglas Anderson	bias-disable;
456116f7cc4SDouglas Anderson	drive-strength = <2>;
457116f7cc4SDouglas Anderson};
458116f7cc4SDouglas Anderson
459116f7cc4SDouglas Anderson/* For mos_bt_uart */
460116f7cc4SDouglas Anderson&qup_uart7_cts {
4613d0e375bSVijaya Krishna Nivarthi	/*
4623d0e375bSVijaya Krishna Nivarthi	 * Configure a bias-bus-hold on CTS to lower power
4633d0e375bSVijaya Krishna Nivarthi	 * usage when Bluetooth is turned off. Bus hold will
4643d0e375bSVijaya Krishna Nivarthi	 * maintain a low power state regardless of whether
4653d0e375bSVijaya Krishna Nivarthi	 * the Bluetooth module drives the pin in either
4663d0e375bSVijaya Krishna Nivarthi	 * direction or leaves the pin fully unpowered.
4673d0e375bSVijaya Krishna Nivarthi	 */
4683d0e375bSVijaya Krishna Nivarthi	bias-bus-hold;
469116f7cc4SDouglas Anderson};
470116f7cc4SDouglas Anderson
471116f7cc4SDouglas Anderson/* For mos_bt_uart */
472116f7cc4SDouglas Anderson&qup_uart7_rts {
473116f7cc4SDouglas Anderson	/* We'll drive RTS, so no pull */
474116f7cc4SDouglas Anderson	bias-disable;
475116f7cc4SDouglas Anderson	drive-strength = <2>;
476116f7cc4SDouglas Anderson};
477116f7cc4SDouglas Anderson
478116f7cc4SDouglas Anderson/* For mos_bt_uart */
479116f7cc4SDouglas Anderson&qup_uart7_tx {
480116f7cc4SDouglas Anderson	/* We'll drive TX, so no pull */
481116f7cc4SDouglas Anderson	bias-disable;
482116f7cc4SDouglas Anderson	drive-strength = <2>;
483116f7cc4SDouglas Anderson};
484116f7cc4SDouglas Anderson
485116f7cc4SDouglas Anderson/* For mos_bt_uart */
486116f7cc4SDouglas Anderson&qup_uart7_rx {
487116f7cc4SDouglas Anderson	/*
488116f7cc4SDouglas Anderson	 * Configure a pull-up on RX. This is needed to avoid
489116f7cc4SDouglas Anderson	 * garbage data when the TX pin of the Bluetooth module is
490116f7cc4SDouglas Anderson	 * in tri-state (module powered off or not driving the
491116f7cc4SDouglas Anderson	 * signal yet).
492116f7cc4SDouglas Anderson	 */
493116f7cc4SDouglas Anderson	bias-pull-up;
494116f7cc4SDouglas Anderson};
495116f7cc4SDouglas Anderson
496116f7cc4SDouglas Anderson/* eMMC, if stuffed, is straight on the Qcard */
497116f7cc4SDouglas Anderson&sdc1_clk {
498116f7cc4SDouglas Anderson	bias-disable;
499116f7cc4SDouglas Anderson	drive-strength = <16>;
500116f7cc4SDouglas Anderson};
501116f7cc4SDouglas Anderson
502116f7cc4SDouglas Anderson&sdc1_cmd {
503116f7cc4SDouglas Anderson	bias-pull-up;
504116f7cc4SDouglas Anderson	drive-strength = <10>;
505116f7cc4SDouglas Anderson};
506116f7cc4SDouglas Anderson
507116f7cc4SDouglas Anderson&sdc1_data {
508116f7cc4SDouglas Anderson	bias-pull-up;
509116f7cc4SDouglas Anderson	drive-strength = <10>;
510116f7cc4SDouglas Anderson};
511116f7cc4SDouglas Anderson
512116f7cc4SDouglas Anderson&sdc1_rclk {
513116f7cc4SDouglas Anderson	bias-pull-down;
514116f7cc4SDouglas Anderson};
515116f7cc4SDouglas Anderson
516116f7cc4SDouglas Anderson/*
517116f7cc4SDouglas Anderson * PINCTRL - QCARD
518116f7cc4SDouglas Anderson *
519116f7cc4SDouglas Anderson * This has entries that are defined by Qcard even if they go to the main
520116f7cc4SDouglas Anderson * board. In cases where the pulls may be board dependent we defer those
521116f7cc4SDouglas Anderson * settings to the board device tree. Drive strengths tend to be assinged here
522116f7cc4SDouglas Anderson * but could conceivably be overwridden by board device trees.
523116f7cc4SDouglas Anderson */
524116f7cc4SDouglas Anderson
525116f7cc4SDouglas Anderson&pm8350c_gpios {
526116f7cc4SDouglas Anderson	pmic_edp_bl_en: pmic-edp-bl-en {
527116f7cc4SDouglas Anderson		pins = "gpio7";
528116f7cc4SDouglas Anderson		function = "normal";
529116f7cc4SDouglas Anderson		bias-disable;
530116f7cc4SDouglas Anderson		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
531116f7cc4SDouglas Anderson
532116f7cc4SDouglas Anderson		/* Force backlight to be disabled to match state at boot. */
533116f7cc4SDouglas Anderson		output-low;
534116f7cc4SDouglas Anderson	};
535116f7cc4SDouglas Anderson
536116f7cc4SDouglas Anderson	pmic_edp_bl_pwm: pmic-edp-bl-pwm {
537116f7cc4SDouglas Anderson		pins = "gpio8";
538116f7cc4SDouglas Anderson		function = "func1";
539116f7cc4SDouglas Anderson		bias-disable;
540116f7cc4SDouglas Anderson		qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
541116f7cc4SDouglas Anderson		output-low;
542116f7cc4SDouglas Anderson		power-source = <0>;
543116f7cc4SDouglas Anderson	};
544116f7cc4SDouglas Anderson};
545116f7cc4SDouglas Anderson
546116f7cc4SDouglas Anderson&tlmm {
547116f7cc4SDouglas Anderson	mos_bt_en: mos-bt-en {
548116f7cc4SDouglas Anderson		pins = "gpio85";
549116f7cc4SDouglas Anderson		function = "gpio";
550116f7cc4SDouglas Anderson		drive-strength = <2>;
551116f7cc4SDouglas Anderson		output-low;
552116f7cc4SDouglas Anderson	};
553116f7cc4SDouglas Anderson
554116f7cc4SDouglas Anderson	/* For mos_bt_uart */
555116f7cc4SDouglas Anderson	qup_uart7_sleep_cts: qup-uart7-sleep-cts {
556116f7cc4SDouglas Anderson		pins = "gpio28";
557116f7cc4SDouglas Anderson		function = "gpio";
558116f7cc4SDouglas Anderson		/*
5593d0e375bSVijaya Krishna Nivarthi		 * Configure a bias-bus-hold on CTS to lower power
5603d0e375bSVijaya Krishna Nivarthi		 * usage when Bluetooth is turned off. Bus hold will
5613d0e375bSVijaya Krishna Nivarthi		 * maintain a low power state regardless of whether
5623d0e375bSVijaya Krishna Nivarthi		 * the Bluetooth module drives the pin in either
5633d0e375bSVijaya Krishna Nivarthi		 * direction or leaves the pin fully unpowered.
564116f7cc4SDouglas Anderson		 */
5653d0e375bSVijaya Krishna Nivarthi		bias-bus-hold;
566116f7cc4SDouglas Anderson	};
567116f7cc4SDouglas Anderson
568116f7cc4SDouglas Anderson	/* For mos_bt_uart */
569116f7cc4SDouglas Anderson	qup_uart7_sleep_rts: qup-uart7-sleep-rts {
570116f7cc4SDouglas Anderson		pins = "gpio29";
571116f7cc4SDouglas Anderson		function = "gpio";
572116f7cc4SDouglas Anderson		/*
573116f7cc4SDouglas Anderson		 * Configure pull-down on RTS. As RTS is active low
574116f7cc4SDouglas Anderson		 * signal, pull it low to indicate the BT SoC that it
575116f7cc4SDouglas Anderson		 * can wakeup the system anytime from suspend state by
576116f7cc4SDouglas Anderson		 * pulling RX low (by sending wakeup bytes).
577116f7cc4SDouglas Anderson		 */
578116f7cc4SDouglas Anderson		bias-pull-down;
579116f7cc4SDouglas Anderson	};
580116f7cc4SDouglas Anderson
581116f7cc4SDouglas Anderson	/* For mos_bt_uart */
582116f7cc4SDouglas Anderson	qup_uart7_sleep_rx: qup-uart7-sleep-rx {
583116f7cc4SDouglas Anderson		pins = "gpio31";
584116f7cc4SDouglas Anderson		function = "gpio";
585116f7cc4SDouglas Anderson		/*
586116f7cc4SDouglas Anderson		 * Configure a pull-up on RX. This is needed to avoid
587116f7cc4SDouglas Anderson		 * garbage data when the TX pin of the Bluetooth module
588116f7cc4SDouglas Anderson		 * is floating which may cause spurious wakeups.
589116f7cc4SDouglas Anderson		 */
590116f7cc4SDouglas Anderson		bias-pull-up;
591116f7cc4SDouglas Anderson	};
592116f7cc4SDouglas Anderson
593116f7cc4SDouglas Anderson	/* For mos_bt_uart */
594116f7cc4SDouglas Anderson	qup_uart7_sleep_tx: qup-uart7-sleep-tx {
595116f7cc4SDouglas Anderson		pins = "gpio30";
596116f7cc4SDouglas Anderson		function = "gpio";
597116f7cc4SDouglas Anderson		/*
598116f7cc4SDouglas Anderson		 * Configure pull-up on TX when it isn't actively driven
599116f7cc4SDouglas Anderson		 * to prevent BT SoC from receiving garbage during sleep.
600116f7cc4SDouglas Anderson		 */
601116f7cc4SDouglas Anderson		bias-pull-up;
602116f7cc4SDouglas Anderson	};
603116f7cc4SDouglas Anderson
604116f7cc4SDouglas Anderson	ts_int_conn: ts-int-conn {
605116f7cc4SDouglas Anderson		pins = "gpio55";
606116f7cc4SDouglas Anderson		function = "gpio";
607116f7cc4SDouglas Anderson		bias-pull-up;
608116f7cc4SDouglas Anderson	};
609116f7cc4SDouglas Anderson
610116f7cc4SDouglas Anderson	ts_rst_conn: ts-rst-conn {
611116f7cc4SDouglas Anderson		pins = "gpio54";
612116f7cc4SDouglas Anderson		function = "gpio";
613116f7cc4SDouglas Anderson		drive-strength = <2>;
614116f7cc4SDouglas Anderson	};
615116f7cc4SDouglas Anderson};
616