1d228efe8SKrzysztof Kozlowski// SPDX-License-Identifier: BSD-3-Clause
2d228efe8SKrzysztof Kozlowski/*
3d228efe8SKrzysztof Kozlowski * Copyright (c) 2023 Linaro Limited
4d228efe8SKrzysztof Kozlowski */
5d228efe8SKrzysztof Kozlowski
6d228efe8SKrzysztof Kozlowski/dts-v1/;
7d228efe8SKrzysztof Kozlowski
8a158f00cSKrzysztof Kozlowski#include <dt-bindings/leds/common.h>
9d228efe8SKrzysztof Kozlowski#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
10d228efe8SKrzysztof Kozlowski#include "sm8550.dtsi"
11d228efe8SKrzysztof Kozlowski#include "pm8010.dtsi"
12d228efe8SKrzysztof Kozlowski#include "pm8550.dtsi"
13d228efe8SKrzysztof Kozlowski#include "pm8550b.dtsi"
14d228efe8SKrzysztof Kozlowski#include "pm8550ve.dtsi"
15d228efe8SKrzysztof Kozlowski#include "pm8550vs.dtsi"
16d228efe8SKrzysztof Kozlowski#include "pmk8550.dtsi"
17d228efe8SKrzysztof Kozlowski#include "pmr735d.dtsi"
18d228efe8SKrzysztof Kozlowski
19d228efe8SKrzysztof Kozlowski/ {
20d228efe8SKrzysztof Kozlowski	model = "Qualcomm Technologies, Inc. SM8550 QRD";
21d228efe8SKrzysztof Kozlowski	compatible = "qcom,sm8550-qrd", "qcom,sm8550";
22b047b902SNeil Armstrong	chassis-type = "handset";
23d228efe8SKrzysztof Kozlowski
24d228efe8SKrzysztof Kozlowski	aliases {
25d228efe8SKrzysztof Kozlowski		serial0 = &uart7;
26d228efe8SKrzysztof Kozlowski	};
27d228efe8SKrzysztof Kozlowski
2883fae950SKrzysztof Kozlowski	wcd938x: audio-codec {
2983fae950SKrzysztof Kozlowski		compatible = "qcom,wcd9385-codec";
3083fae950SKrzysztof Kozlowski
3183fae950SKrzysztof Kozlowski		pinctrl-names = "default";
3283fae950SKrzysztof Kozlowski		pinctrl-0 = <&wcd_default>;
3383fae950SKrzysztof Kozlowski
3483fae950SKrzysztof Kozlowski		qcom,micbias1-microvolt = <1800000>;
3583fae950SKrzysztof Kozlowski		qcom,micbias2-microvolt = <1800000>;
3683fae950SKrzysztof Kozlowski		qcom,micbias3-microvolt = <1800000>;
3783fae950SKrzysztof Kozlowski		qcom,micbias4-microvolt = <1800000>;
3883fae950SKrzysztof Kozlowski		qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
3983fae950SKrzysztof Kozlowski		qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
4083fae950SKrzysztof Kozlowski		qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
4183fae950SKrzysztof Kozlowski		qcom,rx-device = <&wcd_rx>;
4283fae950SKrzysztof Kozlowski		qcom,tx-device = <&wcd_tx>;
4383fae950SKrzysztof Kozlowski
4483fae950SKrzysztof Kozlowski		reset-gpios = <&tlmm 108 GPIO_ACTIVE_LOW>;
4583fae950SKrzysztof Kozlowski
4683fae950SKrzysztof Kozlowski		vdd-buck-supply = <&vreg_l15b_1p8>;
4783fae950SKrzysztof Kozlowski		vdd-rxtx-supply = <&vreg_l15b_1p8>;
4883fae950SKrzysztof Kozlowski		vdd-io-supply = <&vreg_l15b_1p8>;
4983fae950SKrzysztof Kozlowski		vdd-mic-bias-supply = <&vreg_bob1>;
5083fae950SKrzysztof Kozlowski
5183fae950SKrzysztof Kozlowski		#sound-dai-cells = <1>;
5283fae950SKrzysztof Kozlowski	};
5383fae950SKrzysztof Kozlowski
54d228efe8SKrzysztof Kozlowski	chosen {
55d228efe8SKrzysztof Kozlowski		stdout-path = "serial0:115200n8";
56d228efe8SKrzysztof Kozlowski	};
57d228efe8SKrzysztof Kozlowski
58bb47bfbdSNeil Armstrong	gpio-keys {
59bb47bfbdSNeil Armstrong		compatible = "gpio-keys";
60bb47bfbdSNeil Armstrong
61bb47bfbdSNeil Armstrong		pinctrl-0 = <&volume_up_n>;
62bb47bfbdSNeil Armstrong		pinctrl-names = "default";
63bb47bfbdSNeil Armstrong
64bb47bfbdSNeil Armstrong		key-volume-up {
65bb47bfbdSNeil Armstrong			label = "Volume Up";
66bb47bfbdSNeil Armstrong			linux,code = <KEY_VOLUMEUP>;
67bb47bfbdSNeil Armstrong			gpios = <&pm8550_gpios 6 GPIO_ACTIVE_LOW>;
68bb47bfbdSNeil Armstrong			debounce-interval = <15>;
69bb47bfbdSNeil Armstrong			linux,can-disable;
70bb47bfbdSNeil Armstrong			wakeup-source;
71bb47bfbdSNeil Armstrong		};
72bb47bfbdSNeil Armstrong	};
73bb47bfbdSNeil Armstrong
74d97a6332SKrzysztof Kozlowski	pmic-glink {
75d97a6332SKrzysztof Kozlowski		compatible = "qcom,sm8550-pmic-glink", "qcom,pmic-glink";
76d97a6332SKrzysztof Kozlowski		#address-cells = <1>;
77d97a6332SKrzysztof Kozlowski		#size-cells = <0>;
78d97a6332SKrzysztof Kozlowski
79d97a6332SKrzysztof Kozlowski		connector@0 {
80d97a6332SKrzysztof Kozlowski			compatible = "usb-c-connector";
81d97a6332SKrzysztof Kozlowski			reg = <0>;
82d97a6332SKrzysztof Kozlowski			power-role = "dual";
83d97a6332SKrzysztof Kozlowski			data-role = "dual";
84d97a6332SKrzysztof Kozlowski
85d97a6332SKrzysztof Kozlowski			ports {
86d97a6332SKrzysztof Kozlowski				#address-cells = <1>;
87d97a6332SKrzysztof Kozlowski				#size-cells = <0>;
88d97a6332SKrzysztof Kozlowski
89d97a6332SKrzysztof Kozlowski				port@0 {
90d97a6332SKrzysztof Kozlowski					reg = <0>;
91d97a6332SKrzysztof Kozlowski
92d97a6332SKrzysztof Kozlowski					pmic_glink_hs_in: endpoint {
93d97a6332SKrzysztof Kozlowski						remote-endpoint = <&usb_1_dwc3_hs>;
94d97a6332SKrzysztof Kozlowski					};
95d97a6332SKrzysztof Kozlowski				};
96d97a6332SKrzysztof Kozlowski
97d97a6332SKrzysztof Kozlowski				port@1 {
98d97a6332SKrzysztof Kozlowski					reg = <1>;
99d97a6332SKrzysztof Kozlowski
100d97a6332SKrzysztof Kozlowski					pmic_glink_ss_in: endpoint {
101fd42c8ecSNeil Armstrong						remote-endpoint = <&redriver_ss_out>;
102fd42c8ecSNeil Armstrong					};
103fd42c8ecSNeil Armstrong				};
104fd42c8ecSNeil Armstrong
105fd42c8ecSNeil Armstrong				port@2 {
106fd42c8ecSNeil Armstrong					reg = <2>;
107fd42c8ecSNeil Armstrong
108fd42c8ecSNeil Armstrong					pmic_glink_sbu: endpoint {
109fd42c8ecSNeil Armstrong						remote-endpoint = <&fsa4480_sbu_mux>;
110d97a6332SKrzysztof Kozlowski					};
111d97a6332SKrzysztof Kozlowski				};
112d97a6332SKrzysztof Kozlowski			};
113d97a6332SKrzysztof Kozlowski		};
114d97a6332SKrzysztof Kozlowski	};
115d97a6332SKrzysztof Kozlowski
1169f5ebcd6SKrzysztof Kozlowski	sound {
1179f5ebcd6SKrzysztof Kozlowski		compatible = "qcom,sm8550-sndcard", "qcom,sm8450-sndcard";
1189f5ebcd6SKrzysztof Kozlowski		model = "SM8550-QRD";
1199f5ebcd6SKrzysztof Kozlowski		audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
1209f5ebcd6SKrzysztof Kozlowski				"SpkrRight IN", "WSA_SPK2 OUT",
1219f5ebcd6SKrzysztof Kozlowski				"IN1_HPHL", "HPHL_OUT",
1229f5ebcd6SKrzysztof Kozlowski				"IN2_HPHR", "HPHR_OUT",
1239f5ebcd6SKrzysztof Kozlowski				"AMIC2", "MIC BIAS2",
1249f5ebcd6SKrzysztof Kozlowski				"VA DMIC0", "MIC BIAS1",
1259f5ebcd6SKrzysztof Kozlowski				"VA DMIC1", "MIC BIAS1",
1269f5ebcd6SKrzysztof Kozlowski				"VA DMIC2", "MIC BIAS3",
1279f5ebcd6SKrzysztof Kozlowski				"TX DMIC0", "MIC BIAS1",
1289f5ebcd6SKrzysztof Kozlowski				"TX DMIC1", "MIC BIAS2",
1299f5ebcd6SKrzysztof Kozlowski				"TX DMIC2", "MIC BIAS3",
1309f5ebcd6SKrzysztof Kozlowski				"TX SWR_ADC1", "ADC2_OUTPUT";
1319f5ebcd6SKrzysztof Kozlowski
1329f5ebcd6SKrzysztof Kozlowski		wcd-playback-dai-link {
1339f5ebcd6SKrzysztof Kozlowski			link-name = "WCD Playback";
1349f5ebcd6SKrzysztof Kozlowski
1359f5ebcd6SKrzysztof Kozlowski			cpu {
1369f5ebcd6SKrzysztof Kozlowski				sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
1379f5ebcd6SKrzysztof Kozlowski			};
1389f5ebcd6SKrzysztof Kozlowski
1399f5ebcd6SKrzysztof Kozlowski			codec {
1409f5ebcd6SKrzysztof Kozlowski				sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
1419f5ebcd6SKrzysztof Kozlowski			};
1429f5ebcd6SKrzysztof Kozlowski
1439f5ebcd6SKrzysztof Kozlowski			platform {
1449f5ebcd6SKrzysztof Kozlowski				sound-dai = <&q6apm>;
1459f5ebcd6SKrzysztof Kozlowski			};
1469f5ebcd6SKrzysztof Kozlowski		};
1479f5ebcd6SKrzysztof Kozlowski
1489f5ebcd6SKrzysztof Kozlowski		wcd-capture-dai-link {
1499f5ebcd6SKrzysztof Kozlowski			link-name = "WCD Capture";
1509f5ebcd6SKrzysztof Kozlowski
1519f5ebcd6SKrzysztof Kozlowski			cpu {
1529f5ebcd6SKrzysztof Kozlowski				sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
1539f5ebcd6SKrzysztof Kozlowski			};
1549f5ebcd6SKrzysztof Kozlowski
1559f5ebcd6SKrzysztof Kozlowski			codec {
1569f5ebcd6SKrzysztof Kozlowski				sound-dai = <&wcd938x 1>, <&swr2 0>, <&lpass_txmacro 0>;
1579f5ebcd6SKrzysztof Kozlowski			};
1589f5ebcd6SKrzysztof Kozlowski
1599f5ebcd6SKrzysztof Kozlowski			platform {
1609f5ebcd6SKrzysztof Kozlowski				sound-dai = <&q6apm>;
1619f5ebcd6SKrzysztof Kozlowski			};
1629f5ebcd6SKrzysztof Kozlowski		};
1639f5ebcd6SKrzysztof Kozlowski
1649f5ebcd6SKrzysztof Kozlowski		wsa-dai-link {
1659f5ebcd6SKrzysztof Kozlowski			link-name = "WSA Playback";
1669f5ebcd6SKrzysztof Kozlowski
1679f5ebcd6SKrzysztof Kozlowski			cpu {
1689f5ebcd6SKrzysztof Kozlowski				sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
1699f5ebcd6SKrzysztof Kozlowski			};
1709f5ebcd6SKrzysztof Kozlowski
1719f5ebcd6SKrzysztof Kozlowski			codec {
1729f5ebcd6SKrzysztof Kozlowski				sound-dai = <&north_spkr>, <&south_spkr>, <&swr0 0>, <&lpass_wsamacro 0>;
1739f5ebcd6SKrzysztof Kozlowski			};
1749f5ebcd6SKrzysztof Kozlowski
1759f5ebcd6SKrzysztof Kozlowski			platform {
1769f5ebcd6SKrzysztof Kozlowski				sound-dai = <&q6apm>;
1779f5ebcd6SKrzysztof Kozlowski			};
1789f5ebcd6SKrzysztof Kozlowski		};
1799f5ebcd6SKrzysztof Kozlowski
1809f5ebcd6SKrzysztof Kozlowski		va-dai-link {
1819f5ebcd6SKrzysztof Kozlowski			link-name = "VA Capture";
1829f5ebcd6SKrzysztof Kozlowski
1839f5ebcd6SKrzysztof Kozlowski			cpu {
1849f5ebcd6SKrzysztof Kozlowski				sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
1859f5ebcd6SKrzysztof Kozlowski			};
1869f5ebcd6SKrzysztof Kozlowski
1879f5ebcd6SKrzysztof Kozlowski			codec {
1889f5ebcd6SKrzysztof Kozlowski				sound-dai = <&lpass_vamacro 0>;
1899f5ebcd6SKrzysztof Kozlowski			};
1909f5ebcd6SKrzysztof Kozlowski
1919f5ebcd6SKrzysztof Kozlowski			platform {
1929f5ebcd6SKrzysztof Kozlowski				sound-dai = <&q6apm>;
1939f5ebcd6SKrzysztof Kozlowski			};
1949f5ebcd6SKrzysztof Kozlowski		};
1959f5ebcd6SKrzysztof Kozlowski	};
1969f5ebcd6SKrzysztof Kozlowski
197d228efe8SKrzysztof Kozlowski	vph_pwr: vph-pwr-regulator {
198d228efe8SKrzysztof Kozlowski		compatible = "regulator-fixed";
199d228efe8SKrzysztof Kozlowski		regulator-name = "vph_pwr";
200d228efe8SKrzysztof Kozlowski		regulator-min-microvolt = <3700000>;
201d228efe8SKrzysztof Kozlowski		regulator-max-microvolt = <3700000>;
202d228efe8SKrzysztof Kozlowski
203d228efe8SKrzysztof Kozlowski		regulator-always-on;
204d228efe8SKrzysztof Kozlowski		regulator-boot-on;
205d228efe8SKrzysztof Kozlowski	};
206d228efe8SKrzysztof Kozlowski};
207d228efe8SKrzysztof Kozlowski
208d228efe8SKrzysztof Kozlowski&apps_rsc {
209d228efe8SKrzysztof Kozlowski	regulators-0 {
210d228efe8SKrzysztof Kozlowski		compatible = "qcom,pm8550-rpmh-regulators";
211d228efe8SKrzysztof Kozlowski		qcom,pmic-id = "b";
212d228efe8SKrzysztof Kozlowski
213d228efe8SKrzysztof Kozlowski		vdd-bob1-supply = <&vph_pwr>;
214d228efe8SKrzysztof Kozlowski		vdd-bob2-supply = <&vph_pwr>;
215d228efe8SKrzysztof Kozlowski		vdd-l1-l4-l10-supply = <&vreg_s6g_1p86>;
216d228efe8SKrzysztof Kozlowski		vdd-l2-l13-l14-supply = <&vreg_bob1>;
217d228efe8SKrzysztof Kozlowski		vdd-l3-supply = <&vreg_s4g_1p25>;
218d228efe8SKrzysztof Kozlowski		vdd-l5-l16-supply = <&vreg_bob1>;
219d228efe8SKrzysztof Kozlowski		vdd-l6-l7-supply = <&vreg_bob1>;
220d228efe8SKrzysztof Kozlowski		vdd-l8-l9-supply = <&vreg_bob1>;
221d228efe8SKrzysztof Kozlowski		vdd-l11-supply = <&vreg_s4g_1p25>;
222d228efe8SKrzysztof Kozlowski		vdd-l12-supply = <&vreg_s6g_1p86>;
223d228efe8SKrzysztof Kozlowski		vdd-l15-supply = <&vreg_s6g_1p86>;
224d228efe8SKrzysztof Kozlowski		vdd-l17-supply = <&vreg_bob2>;
225d228efe8SKrzysztof Kozlowski
226d228efe8SKrzysztof Kozlowski		vreg_bob1: bob1 {
227d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_bob1";
228d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <3296000>;
229d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <3960000>;
230d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
231d228efe8SKrzysztof Kozlowski		};
232d228efe8SKrzysztof Kozlowski
233d228efe8SKrzysztof Kozlowski		vreg_bob2: bob2 {
234d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_bob2";
235d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <2720000>;
236d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <3960000>;
237d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
238d228efe8SKrzysztof Kozlowski		};
239d228efe8SKrzysztof Kozlowski
240d228efe8SKrzysztof Kozlowski		vreg_l1b_1p8: ldo1 {
241d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l1b_1p8";
242d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <1800000>;
243d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <1800000>;
244d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
245d228efe8SKrzysztof Kozlowski		};
246d228efe8SKrzysztof Kozlowski
247d228efe8SKrzysztof Kozlowski		vreg_l2b_3p0: ldo2 {
248d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l2b_3p0";
249d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <3008000>;
250d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <3008000>;
251d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
252d228efe8SKrzysztof Kozlowski		};
253d228efe8SKrzysztof Kozlowski
254d228efe8SKrzysztof Kozlowski		vreg_l5b_3p1: ldo5 {
255d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l5b_3p1";
256d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <3104000>;
257d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <3104000>;
258d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
259d228efe8SKrzysztof Kozlowski		};
260d228efe8SKrzysztof Kozlowski
261d228efe8SKrzysztof Kozlowski		vreg_l6b_1p8: ldo6 {
262d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l6b_1p8";
263d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <1800000>;
264d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <3008000>;
265d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
266d228efe8SKrzysztof Kozlowski		};
267d228efe8SKrzysztof Kozlowski
268d228efe8SKrzysztof Kozlowski		vreg_l7b_1p8: ldo7 {
269d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l7b_1p8";
270d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <1800000>;
271d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <3008000>;
272d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
273d228efe8SKrzysztof Kozlowski		};
274d228efe8SKrzysztof Kozlowski
275d228efe8SKrzysztof Kozlowski		vreg_l8b_1p8: ldo8 {
276d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l8b_1p8";
277d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <1800000>;
278d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <3008000>;
279d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
280d228efe8SKrzysztof Kozlowski		};
281d228efe8SKrzysztof Kozlowski
282d228efe8SKrzysztof Kozlowski		vreg_l9b_2p9: ldo9 {
283d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l9b_2p9";
284d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <2960000>;
285d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <3008000>;
286d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
287d228efe8SKrzysztof Kozlowski		};
288d228efe8SKrzysztof Kozlowski
289d228efe8SKrzysztof Kozlowski		vreg_l11b_1p2: ldo11 {
290d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l11b_1p2";
291d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <1200000>;
292d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <1504000>;
293d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
294d228efe8SKrzysztof Kozlowski		};
295d228efe8SKrzysztof Kozlowski
296d228efe8SKrzysztof Kozlowski		vreg_l12b_1p8: ldo12 {
297d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l12b_1p8";
298d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <1800000>;
299d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <1800000>;
300d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
301d228efe8SKrzysztof Kozlowski		};
302d228efe8SKrzysztof Kozlowski
303d228efe8SKrzysztof Kozlowski		vreg_l13b_3p0: ldo13 {
304d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l13b_3p0";
305d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <3000000>;
306d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <3000000>;
307d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
308d228efe8SKrzysztof Kozlowski		};
309d228efe8SKrzysztof Kozlowski
310d228efe8SKrzysztof Kozlowski		vreg_l14b_3p2: ldo14 {
311d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l14b_3p2";
312d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <3200000>;
313d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <3200000>;
314d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
315d228efe8SKrzysztof Kozlowski		};
316d228efe8SKrzysztof Kozlowski
317d228efe8SKrzysztof Kozlowski		vreg_l15b_1p8: ldo15 {
318d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l15b_1p8";
319d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <1800000>;
320d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <1800000>;
321d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
322d228efe8SKrzysztof Kozlowski		};
323d228efe8SKrzysztof Kozlowski
324d228efe8SKrzysztof Kozlowski		vreg_l16b_2p8: ldo16 {
325d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l16b_2p8";
326d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <2800000>;
327d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <2800000>;
328d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
329d228efe8SKrzysztof Kozlowski		};
330d228efe8SKrzysztof Kozlowski
331d228efe8SKrzysztof Kozlowski		vreg_l17b_2p5: ldo17 {
332d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l17b_2p5";
333d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <2504000>;
334d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <2504000>;
335d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
336d228efe8SKrzysztof Kozlowski		};
337d228efe8SKrzysztof Kozlowski	};
338d228efe8SKrzysztof Kozlowski
339d228efe8SKrzysztof Kozlowski	regulators-1 {
340d228efe8SKrzysztof Kozlowski		compatible = "qcom,pm8550vs-rpmh-regulators";
341d228efe8SKrzysztof Kozlowski		qcom,pmic-id = "c";
342d228efe8SKrzysztof Kozlowski
343d228efe8SKrzysztof Kozlowski		vdd-l1-supply = <&vreg_s4g_1p25>;
344d228efe8SKrzysztof Kozlowski		vdd-l2-supply = <&vreg_s4e_0p95>;
345d228efe8SKrzysztof Kozlowski		vdd-l3-supply = <&vreg_s4e_0p95>;
346d228efe8SKrzysztof Kozlowski
347d228efe8SKrzysztof Kozlowski		vreg_l3c_0p9: ldo3 {
348d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l3c_0p9";
349d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <880000>;
350d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <912000>;
351d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
352d228efe8SKrzysztof Kozlowski		};
353d228efe8SKrzysztof Kozlowski	};
354d228efe8SKrzysztof Kozlowski
355d228efe8SKrzysztof Kozlowski	regulators-2 {
356d228efe8SKrzysztof Kozlowski		compatible = "qcom,pm8550vs-rpmh-regulators";
357d228efe8SKrzysztof Kozlowski		qcom,pmic-id = "d";
358d228efe8SKrzysztof Kozlowski
359d228efe8SKrzysztof Kozlowski		vdd-l1-supply = <&vreg_s4e_0p95>;
360d228efe8SKrzysztof Kozlowski		vdd-l2-supply = <&vreg_s4e_0p95>;
361d228efe8SKrzysztof Kozlowski		vdd-l3-supply = <&vreg_s4e_0p95>;
362d228efe8SKrzysztof Kozlowski
363d228efe8SKrzysztof Kozlowski		vreg_l1d_0p88: ldo1 {
364d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l1d_0p88";
365d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <880000>;
366d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <920000>;
367d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
368d228efe8SKrzysztof Kozlowski		};
369d228efe8SKrzysztof Kozlowski
370d228efe8SKrzysztof Kozlowski		/* ldo2 supplies SM8550 VDD_LPI_MX */
371d228efe8SKrzysztof Kozlowski	};
372d228efe8SKrzysztof Kozlowski
373d228efe8SKrzysztof Kozlowski	regulators-3 {
374d228efe8SKrzysztof Kozlowski		compatible = "qcom,pm8550vs-rpmh-regulators";
375d228efe8SKrzysztof Kozlowski		qcom,pmic-id = "e";
376d228efe8SKrzysztof Kozlowski
377d228efe8SKrzysztof Kozlowski		vdd-l1-supply = <&vreg_s4e_0p95>;
378d228efe8SKrzysztof Kozlowski		vdd-l2-supply = <&vreg_s4e_0p95>;
379d228efe8SKrzysztof Kozlowski		vdd-l3-supply = <&vreg_s4g_1p25>;
380d228efe8SKrzysztof Kozlowski		vdd-s4-supply = <&vph_pwr>;
381d228efe8SKrzysztof Kozlowski		vdd-s5-supply = <&vph_pwr>;
382d228efe8SKrzysztof Kozlowski
383d228efe8SKrzysztof Kozlowski		vreg_s4e_0p95: smps4 {
384d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_s4e_0p95";
385d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <904000>;
386d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <984000>;
387d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
388d228efe8SKrzysztof Kozlowski		};
389d228efe8SKrzysztof Kozlowski
390d228efe8SKrzysztof Kozlowski		vreg_s5e_1p08: smps5 {
391d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_s5e_1p08";
392d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <1080000>;
393d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <1120000>;
394d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
395d228efe8SKrzysztof Kozlowski		};
396d228efe8SKrzysztof Kozlowski
397d228efe8SKrzysztof Kozlowski		vreg_l1e_0p88: ldo1 {
398d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l1e_0p88";
399d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <880000>;
400d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <880000>;
401d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
402d228efe8SKrzysztof Kozlowski		};
403d228efe8SKrzysztof Kozlowski
404d228efe8SKrzysztof Kozlowski		vreg_l2e_0p9: ldo2 {
405d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l2e_0p9";
406d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <904000>;
407d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <970000>;
408d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
409d228efe8SKrzysztof Kozlowski		};
410d228efe8SKrzysztof Kozlowski
411d228efe8SKrzysztof Kozlowski		vreg_l3e_1p2: ldo3 {
412d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l3e_1p2";
413d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <1200000>;
414d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <1200000>;
415d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
416d228efe8SKrzysztof Kozlowski		};
417d228efe8SKrzysztof Kozlowski	};
418d228efe8SKrzysztof Kozlowski
419d228efe8SKrzysztof Kozlowski	regulators-4 {
420d228efe8SKrzysztof Kozlowski		compatible = "qcom,pm8550ve-rpmh-regulators";
421d228efe8SKrzysztof Kozlowski		qcom,pmic-id = "f";
422d228efe8SKrzysztof Kozlowski
423d228efe8SKrzysztof Kozlowski		vdd-l1-supply = <&vreg_s4e_0p95>;
424d228efe8SKrzysztof Kozlowski		vdd-l2-supply = <&vreg_s4e_0p95>;
425d228efe8SKrzysztof Kozlowski		vdd-l3-supply = <&vreg_s4e_0p95>;
426d228efe8SKrzysztof Kozlowski		vdd-s4-supply = <&vph_pwr>;
427d228efe8SKrzysztof Kozlowski
428d228efe8SKrzysztof Kozlowski		vreg_s4f_0p5: smps4 {
429d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_s4f_0p5";
430d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <500000>;
431d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <700000>;
432d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
433d228efe8SKrzysztof Kozlowski		};
434d228efe8SKrzysztof Kozlowski
435d228efe8SKrzysztof Kozlowski		vreg_l1f_0p9: ldo1 {
436d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l1f_0p9";
437d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <912000>;
438d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <912000>;
439d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
440d228efe8SKrzysztof Kozlowski		};
441d228efe8SKrzysztof Kozlowski
442d228efe8SKrzysztof Kozlowski		vreg_l2f_0p88: ldo2 {
443d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l2f_0p88";
444d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <880000>;
445d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <912000>;
446d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
447d228efe8SKrzysztof Kozlowski		};
448d228efe8SKrzysztof Kozlowski
449d228efe8SKrzysztof Kozlowski		vreg_l3f_0p88: ldo3 {
450d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l3f_0p88";
451d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <880000>;
452d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <912000>;
453d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
454d228efe8SKrzysztof Kozlowski		};
455d228efe8SKrzysztof Kozlowski	};
456d228efe8SKrzysztof Kozlowski
457d228efe8SKrzysztof Kozlowski	regulators-5 {
458d228efe8SKrzysztof Kozlowski		compatible = "qcom,pm8550vs-rpmh-regulators";
459d228efe8SKrzysztof Kozlowski		qcom,pmic-id = "g";
460d228efe8SKrzysztof Kozlowski
461d228efe8SKrzysztof Kozlowski		vdd-l1-supply = <&vreg_s4g_1p25>;
462d228efe8SKrzysztof Kozlowski		vdd-l2-supply = <&vreg_s4g_1p25>;
463d228efe8SKrzysztof Kozlowski		vdd-l3-supply = <&vreg_s4g_1p25>;
464d228efe8SKrzysztof Kozlowski		vdd-s1-supply = <&vph_pwr>;
465d228efe8SKrzysztof Kozlowski		vdd-s2-supply = <&vph_pwr>;
466d228efe8SKrzysztof Kozlowski		vdd-s3-supply = <&vph_pwr>;
467d228efe8SKrzysztof Kozlowski		vdd-s4-supply = <&vph_pwr>;
468d228efe8SKrzysztof Kozlowski		vdd-s5-supply = <&vph_pwr>;
469d228efe8SKrzysztof Kozlowski		vdd-s6-supply = <&vph_pwr>;
470d228efe8SKrzysztof Kozlowski
471d228efe8SKrzysztof Kozlowski		vreg_s1g_1p25: smps1 {
472d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_s1g_1p25";
473d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <1200000>;
474d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <1300000>;
475d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
476d228efe8SKrzysztof Kozlowski		};
477d228efe8SKrzysztof Kozlowski
478d228efe8SKrzysztof Kozlowski		vreg_s2g_0p85: smps2 {
479d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_s2g_0p85";
480d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <800000>;
481d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <1000000>;
482d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
483d228efe8SKrzysztof Kozlowski		};
484d228efe8SKrzysztof Kozlowski
485d228efe8SKrzysztof Kozlowski		vreg_s3g_0p8: smps3 {
486d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_s3g_0p8";
487d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <300000>;
488d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <1004000>;
489d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
490d228efe8SKrzysztof Kozlowski		};
491d228efe8SKrzysztof Kozlowski
492d228efe8SKrzysztof Kozlowski		vreg_s4g_1p25: smps4 {
493d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_s4g_1p25";
494d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <1200000>;
495d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <1352000>;
496d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
497d228efe8SKrzysztof Kozlowski		};
498d228efe8SKrzysztof Kozlowski
499d228efe8SKrzysztof Kozlowski		vreg_s5g_0p85: smps5 {
500d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_s5g_0p85";
501d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <500000>;
502d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <1004000>;
503d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
504d228efe8SKrzysztof Kozlowski		};
505d228efe8SKrzysztof Kozlowski
506d228efe8SKrzysztof Kozlowski		vreg_s6g_1p86: smps6 {
507d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_s6g_1p86";
508d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <1800000>;
509d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <2000000>;
510d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
511d228efe8SKrzysztof Kozlowski		};
512d228efe8SKrzysztof Kozlowski
513d228efe8SKrzysztof Kozlowski		vreg_l1g_1p2: ldo1 {
514d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l1g_1p2";
515d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <1200000>;
516d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <1200000>;
517d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
518d228efe8SKrzysztof Kozlowski		};
519d228efe8SKrzysztof Kozlowski
520d228efe8SKrzysztof Kozlowski		vreg_l3g_1p2: ldo3 {
521d228efe8SKrzysztof Kozlowski			regulator-name = "vreg_l3g_1p2";
522d228efe8SKrzysztof Kozlowski			regulator-min-microvolt = <1200000>;
523d228efe8SKrzysztof Kozlowski			regulator-max-microvolt = <1200000>;
524d228efe8SKrzysztof Kozlowski			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
525d228efe8SKrzysztof Kozlowski		};
526d228efe8SKrzysztof Kozlowski	};
527d228efe8SKrzysztof Kozlowski};
528d228efe8SKrzysztof Kozlowski
529fd42c8ecSNeil Armstrong&i2c_master_hub_0 {
530fd42c8ecSNeil Armstrong	status = "okay";
531fd42c8ecSNeil Armstrong};
532fd42c8ecSNeil Armstrong
533fd42c8ecSNeil Armstrong&i2c_hub_2 {
534fd42c8ecSNeil Armstrong	status = "okay";
535fd42c8ecSNeil Armstrong
536fd42c8ecSNeil Armstrong	typec-retimer@1c {
537fd42c8ecSNeil Armstrong		compatible = "onnn,nb7vpq904m";
538fd42c8ecSNeil Armstrong		reg = <0x1c>;
539fd42c8ecSNeil Armstrong
540fd42c8ecSNeil Armstrong		vcc-supply = <&vreg_l15b_1p8>;
541fd42c8ecSNeil Armstrong
542fd42c8ecSNeil Armstrong		retimer-switch;
543fd42c8ecSNeil Armstrong		orientation-switch;
544fd42c8ecSNeil Armstrong
545fd42c8ecSNeil Armstrong		ports {
546fd42c8ecSNeil Armstrong			#address-cells = <1>;
547fd42c8ecSNeil Armstrong			#size-cells = <0>;
548fd42c8ecSNeil Armstrong
549fd42c8ecSNeil Armstrong			port@0 {
550fd42c8ecSNeil Armstrong				reg = <0>;
551fd42c8ecSNeil Armstrong
552fd42c8ecSNeil Armstrong				redriver_ss_out: endpoint {
553fd42c8ecSNeil Armstrong					remote-endpoint = <&pmic_glink_ss_in>;
554fd42c8ecSNeil Armstrong				};
555fd42c8ecSNeil Armstrong			};
556fd42c8ecSNeil Armstrong
557fd42c8ecSNeil Armstrong			port@1 {
558fd42c8ecSNeil Armstrong				reg = <1>;
559fd42c8ecSNeil Armstrong
560fd42c8ecSNeil Armstrong				redriver_ss_in: endpoint {
561fd42c8ecSNeil Armstrong					data-lanes = <3 2 1 0>;
562fd42c8ecSNeil Armstrong					remote-endpoint = <&usb_dp_qmpphy_out>;
563fd42c8ecSNeil Armstrong				};
564fd42c8ecSNeil Armstrong			};
565fd42c8ecSNeil Armstrong		};
566fd42c8ecSNeil Armstrong	};
567fd42c8ecSNeil Armstrong
568fd42c8ecSNeil Armstrong	typec-mux@42 {
569fd42c8ecSNeil Armstrong		compatible = "fcs,fsa4480";
570fd42c8ecSNeil Armstrong		reg = <0x42>;
571fd42c8ecSNeil Armstrong
572fd42c8ecSNeil Armstrong		vcc-supply = <&vreg_bob1>;
573fd42c8ecSNeil Armstrong
574fd42c8ecSNeil Armstrong		mode-switch;
575fd42c8ecSNeil Armstrong		orientation-switch;
576fd42c8ecSNeil Armstrong
577fd42c8ecSNeil Armstrong		port {
578fd42c8ecSNeil Armstrong			fsa4480_sbu_mux: endpoint {
579fd42c8ecSNeil Armstrong				remote-endpoint = <&pmic_glink_sbu>;
580fd42c8ecSNeil Armstrong			};
581fd42c8ecSNeil Armstrong		};
582fd42c8ecSNeil Armstrong	};
583fd42c8ecSNeil Armstrong};
584fd42c8ecSNeil Armstrong
585b8ae83ebSKrzysztof Kozlowski&gcc {
586b8ae83ebSKrzysztof Kozlowski	clocks = <&bi_tcxo_div2>, <&sleep_clk>,
587b8ae83ebSKrzysztof Kozlowski		 <&pcie0_phy>,
588b8ae83ebSKrzysztof Kozlowski		 <&pcie1_phy>,
589b8ae83ebSKrzysztof Kozlowski		 <0>,
590b8ae83ebSKrzysztof Kozlowski		 <&ufs_mem_phy 0>,
591b8ae83ebSKrzysztof Kozlowski		 <&ufs_mem_phy 1>,
592b8ae83ebSKrzysztof Kozlowski		 <&ufs_mem_phy 2>,
593b8ae83ebSKrzysztof Kozlowski		 <&usb_dp_qmpphy QMP_USB43DP_USB3_PIPE_CLK>;
594b8ae83ebSKrzysztof Kozlowski};
595b8ae83ebSKrzysztof Kozlowski
596a2422d51SKrzysztof Kozlowski&lpass_tlmm {
597a2422d51SKrzysztof Kozlowski	spkr_1_sd_n_active: spkr-1-sd-n-active-state {
598a2422d51SKrzysztof Kozlowski		pins = "gpio17";
599a2422d51SKrzysztof Kozlowski		function = "gpio";
600a2422d51SKrzysztof Kozlowski		drive-strength = <16>;
601a2422d51SKrzysztof Kozlowski		bias-disable;
602a2422d51SKrzysztof Kozlowski		output-low;
603a2422d51SKrzysztof Kozlowski	};
604a2422d51SKrzysztof Kozlowski
605a2422d51SKrzysztof Kozlowski	spkr_2_sd_n_active: spkr-2-sd-n-active-state {
606a2422d51SKrzysztof Kozlowski		pins = "gpio18";
607a2422d51SKrzysztof Kozlowski		function = "gpio";
608a2422d51SKrzysztof Kozlowski		drive-strength = <16>;
609a2422d51SKrzysztof Kozlowski		bias-disable;
610a2422d51SKrzysztof Kozlowski		output-low;
611a2422d51SKrzysztof Kozlowski	};
612a2422d51SKrzysztof Kozlowski};
613a2422d51SKrzysztof Kozlowski
614fdb0038eSKrzysztof Kozlowski&mdss {
615fdb0038eSKrzysztof Kozlowski	status = "okay";
616fdb0038eSKrzysztof Kozlowski};
617fdb0038eSKrzysztof Kozlowski
618fdb0038eSKrzysztof Kozlowski&mdss_dsi0 {
619fdb0038eSKrzysztof Kozlowski	vdda-supply = <&vreg_l3e_1p2>;
620fdb0038eSKrzysztof Kozlowski	status = "okay";
621fdb0038eSKrzysztof Kozlowski
622fdb0038eSKrzysztof Kozlowski	panel@0 {
623fdb0038eSKrzysztof Kozlowski		compatible = "visionox,vtdr6130";
624fdb0038eSKrzysztof Kozlowski		reg = <0>;
625fdb0038eSKrzysztof Kozlowski
626fdb0038eSKrzysztof Kozlowski		pinctrl-0 = <&sde_dsi_active>, <&sde_te_active>;
627fdb0038eSKrzysztof Kozlowski		pinctrl-1 = <&sde_dsi_suspend>, <&sde_te_suspend>;
628fdb0038eSKrzysztof Kozlowski		pinctrl-names = "default", "sleep";
629fdb0038eSKrzysztof Kozlowski
630fdb0038eSKrzysztof Kozlowski		vci-supply = <&vreg_l13b_3p0>;
631fdb0038eSKrzysztof Kozlowski		vdd-supply = <&vreg_l11b_1p2>;
632fdb0038eSKrzysztof Kozlowski		vddio-supply = <&vreg_l12b_1p8>;
633fdb0038eSKrzysztof Kozlowski
634fdb0038eSKrzysztof Kozlowski		reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>;
635fdb0038eSKrzysztof Kozlowski
636fdb0038eSKrzysztof Kozlowski		port {
637fdb0038eSKrzysztof Kozlowski			panel0_in: endpoint {
638fdb0038eSKrzysztof Kozlowski				remote-endpoint = <&mdss_dsi0_out>;
639fdb0038eSKrzysztof Kozlowski			};
640fdb0038eSKrzysztof Kozlowski		};
641fdb0038eSKrzysztof Kozlowski	};
642fdb0038eSKrzysztof Kozlowski};
643fdb0038eSKrzysztof Kozlowski
644fdb0038eSKrzysztof Kozlowski&mdss_dsi0_out {
645fdb0038eSKrzysztof Kozlowski	remote-endpoint = <&panel0_in>;
646fdb0038eSKrzysztof Kozlowski	data-lanes = <0 1 2 3>;
647fdb0038eSKrzysztof Kozlowski};
648fdb0038eSKrzysztof Kozlowski
649fdb0038eSKrzysztof Kozlowski&mdss_dsi0_phy {
650fdb0038eSKrzysztof Kozlowski	vdds-supply = <&vreg_l1e_0p88>;
651fdb0038eSKrzysztof Kozlowski	status = "okay";
652fdb0038eSKrzysztof Kozlowski};
653fdb0038eSKrzysztof Kozlowski
654fd42c8ecSNeil Armstrong&mdss_dp0 {
655fd42c8ecSNeil Armstrong	status = "okay";
656fd42c8ecSNeil Armstrong};
657fd42c8ecSNeil Armstrong
658fd42c8ecSNeil Armstrong&mdss_dp0_out {
659fd42c8ecSNeil Armstrong	data-lanes = <0 1>;
660fd42c8ecSNeil Armstrong	remote-endpoint = <&usb_dp_qmpphy_dp_in>;
661fd42c8ecSNeil Armstrong};
662fd42c8ecSNeil Armstrong
663b8ae83ebSKrzysztof Kozlowski&pcie_1_phy_aux_clk {
664b8ae83ebSKrzysztof Kozlowski	status = "disabled";
665b8ae83ebSKrzysztof Kozlowski};
666b8ae83ebSKrzysztof Kozlowski
667b8ae83ebSKrzysztof Kozlowski&pcie0 {
668b8ae83ebSKrzysztof Kozlowski	wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
669b8ae83ebSKrzysztof Kozlowski	perst-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>;
670b8ae83ebSKrzysztof Kozlowski
671b8ae83ebSKrzysztof Kozlowski	pinctrl-0 = <&pcie0_default_state>;
672b8ae83ebSKrzysztof Kozlowski	pinctrl-names = "default";
673b8ae83ebSKrzysztof Kozlowski
674b8ae83ebSKrzysztof Kozlowski	status = "okay";
675b8ae83ebSKrzysztof Kozlowski};
676b8ae83ebSKrzysztof Kozlowski
677b8ae83ebSKrzysztof Kozlowski&pcie0_phy {
678b8ae83ebSKrzysztof Kozlowski	vdda-phy-supply = <&vreg_l1e_0p88>;
679b8ae83ebSKrzysztof Kozlowski	vdda-pll-supply = <&vreg_l3e_1p2>;
680b8ae83ebSKrzysztof Kozlowski
681b8ae83ebSKrzysztof Kozlowski	status = "okay";
682b8ae83ebSKrzysztof Kozlowski};
683b8ae83ebSKrzysztof Kozlowski
684a158f00cSKrzysztof Kozlowski&pm8550_flash {
685a158f00cSKrzysztof Kozlowski	status = "okay";
686a158f00cSKrzysztof Kozlowski
687a158f00cSKrzysztof Kozlowski	led-0 {
688a158f00cSKrzysztof Kozlowski		function = LED_FUNCTION_FLASH;
689a158f00cSKrzysztof Kozlowski		color = <LED_COLOR_ID_YELLOW>;
690a158f00cSKrzysztof Kozlowski		led-sources = <1>, <4>;
691a158f00cSKrzysztof Kozlowski		led-max-microamp = <500000>;
692a158f00cSKrzysztof Kozlowski		flash-max-microamp = <2000000>;
693a158f00cSKrzysztof Kozlowski		flash-max-timeout-us = <1280000>;
694a158f00cSKrzysztof Kozlowski		function-enumerator = <0>;
695a158f00cSKrzysztof Kozlowski	};
696a158f00cSKrzysztof Kozlowski
697a158f00cSKrzysztof Kozlowski	led-1 {
698a158f00cSKrzysztof Kozlowski		function = LED_FUNCTION_FLASH;
699a158f00cSKrzysztof Kozlowski		color = <LED_COLOR_ID_WHITE>;
700a158f00cSKrzysztof Kozlowski		led-sources = <2>, <3>;
701a158f00cSKrzysztof Kozlowski		led-max-microamp = <500000>;
702a158f00cSKrzysztof Kozlowski		flash-max-microamp = <2000000>;
703a158f00cSKrzysztof Kozlowski		flash-max-timeout-us = <1280000>;
704a158f00cSKrzysztof Kozlowski		function-enumerator = <1>;
705a158f00cSKrzysztof Kozlowski	};
706a158f00cSKrzysztof Kozlowski};
707a158f00cSKrzysztof Kozlowski
708bb47bfbdSNeil Armstrong&pm8550_gpios {
709bb47bfbdSNeil Armstrong	volume_up_n: volume-up-n-state {
710bb47bfbdSNeil Armstrong		pins = "gpio6";
711bb47bfbdSNeil Armstrong		function = "normal";
712bb47bfbdSNeil Armstrong		power-source = <1>;
713bb47bfbdSNeil Armstrong		bias-pull-up;
714bb47bfbdSNeil Armstrong		input-enable;
715bb47bfbdSNeil Armstrong	};
716bb47bfbdSNeil Armstrong};
717bb47bfbdSNeil Armstrong
71838181654SNeil Armstrong&pm8550_pwm {
71938181654SNeil Armstrong	status = "okay";
72038181654SNeil Armstrong
72138181654SNeil Armstrong	multi-led {
72238181654SNeil Armstrong		color = <LED_COLOR_ID_RGB>;
72338181654SNeil Armstrong		function = LED_FUNCTION_STATUS;
72438181654SNeil Armstrong
72538181654SNeil Armstrong		#address-cells = <1>;
72638181654SNeil Armstrong		#size-cells = <0>;
72738181654SNeil Armstrong
72838181654SNeil Armstrong		led@1 {
72938181654SNeil Armstrong			reg = <1>;
73038181654SNeil Armstrong			color = <LED_COLOR_ID_RED>;
73138181654SNeil Armstrong		};
73238181654SNeil Armstrong
73338181654SNeil Armstrong		led@2 {
73438181654SNeil Armstrong			reg = <2>;
73538181654SNeil Armstrong			color = <LED_COLOR_ID_GREEN>;
73638181654SNeil Armstrong		};
73738181654SNeil Armstrong
73838181654SNeil Armstrong		led@3 {
73938181654SNeil Armstrong			reg = <3>;
74038181654SNeil Armstrong			color = <LED_COLOR_ID_BLUE>;
74138181654SNeil Armstrong		};
74238181654SNeil Armstrong	};
74338181654SNeil Armstrong};
74438181654SNeil Armstrong
745d97a6332SKrzysztof Kozlowski&pm8550b_eusb2_repeater {
746d97a6332SKrzysztof Kozlowski	vdd18-supply = <&vreg_l15b_1p8>;
747d97a6332SKrzysztof Kozlowski	vdd3-supply = <&vreg_l5b_3p1>;
748d97a6332SKrzysztof Kozlowski};
749d97a6332SKrzysztof Kozlowski
750bb47bfbdSNeil Armstrong&pon_pwrkey {
751bb47bfbdSNeil Armstrong	status = "okay";
752bb47bfbdSNeil Armstrong};
753bb47bfbdSNeil Armstrong
754bb47bfbdSNeil Armstrong&pon_resin {
755bb47bfbdSNeil Armstrong	linux,code = <KEY_VOLUMEDOWN>;
756bb47bfbdSNeil Armstrong
757bb47bfbdSNeil Armstrong	status = "okay";
758bb47bfbdSNeil Armstrong};
759bb47bfbdSNeil Armstrong
760ec888e6cSKrzysztof Kozlowski&pcie_1_phy_aux_clk {
761ec888e6cSKrzysztof Kozlowski	clock-frequency = <1000>;
762ec888e6cSKrzysztof Kozlowski};
763ec888e6cSKrzysztof Kozlowski
764d228efe8SKrzysztof Kozlowski&qupv3_id_0 {
765d228efe8SKrzysztof Kozlowski	status = "okay";
766d228efe8SKrzysztof Kozlowski};
767d228efe8SKrzysztof Kozlowski
768d228efe8SKrzysztof Kozlowski&remoteproc_adsp {
769d228efe8SKrzysztof Kozlowski	firmware-name = "qcom/sm8550/adsp.mbn",
770d228efe8SKrzysztof Kozlowski			"qcom/sm8550/adsp_dtb.mbn";
771d228efe8SKrzysztof Kozlowski	status = "okay";
772d228efe8SKrzysztof Kozlowski};
773d228efe8SKrzysztof Kozlowski
774d228efe8SKrzysztof Kozlowski&remoteproc_cdsp {
775d228efe8SKrzysztof Kozlowski	firmware-name = "qcom/sm8550/cdsp.mbn",
776d228efe8SKrzysztof Kozlowski			"qcom/sm8550/cdsp_dtb.mbn";
777d228efe8SKrzysztof Kozlowski	status = "okay";
778d228efe8SKrzysztof Kozlowski};
779d228efe8SKrzysztof Kozlowski
780d228efe8SKrzysztof Kozlowski&remoteproc_mpss {
781d228efe8SKrzysztof Kozlowski	firmware-name = "qcom/sm8550/modem.mbn",
782d228efe8SKrzysztof Kozlowski			"qcom/sm8550/modem_dtb.mbn";
783d228efe8SKrzysztof Kozlowski	status = "okay";
784d228efe8SKrzysztof Kozlowski};
785d228efe8SKrzysztof Kozlowski
786d228efe8SKrzysztof Kozlowski&sleep_clk {
787d228efe8SKrzysztof Kozlowski	clock-frequency = <32000>;
788d228efe8SKrzysztof Kozlowski};
789d228efe8SKrzysztof Kozlowski
790a2422d51SKrzysztof Kozlowski&swr0 {
791a2422d51SKrzysztof Kozlowski	status = "okay";
792a2422d51SKrzysztof Kozlowski
793a2422d51SKrzysztof Kozlowski	/* WSA8845, Speaker North */
794a2422d51SKrzysztof Kozlowski	north_spkr: speaker@0,0 {
795a2422d51SKrzysztof Kozlowski		compatible = "sdw20217020400";
796a2422d51SKrzysztof Kozlowski		reg = <0 0>;
797a2422d51SKrzysztof Kozlowski		pinctrl-names = "default";
798a2422d51SKrzysztof Kozlowski		pinctrl-0 = <&spkr_1_sd_n_active>;
799a2422d51SKrzysztof Kozlowski		powerdown-gpios = <&lpass_tlmm 17 GPIO_ACTIVE_LOW>;
800a2422d51SKrzysztof Kozlowski		#sound-dai-cells = <0>;
801a2422d51SKrzysztof Kozlowski		sound-name-prefix = "SpkrLeft";
802a2422d51SKrzysztof Kozlowski		vdd-1p8-supply = <&vreg_l15b_1p8>;
803a2422d51SKrzysztof Kozlowski		vdd-io-supply = <&vreg_l3g_1p2>;
804a2422d51SKrzysztof Kozlowski	};
805a2422d51SKrzysztof Kozlowski
806a2422d51SKrzysztof Kozlowski	/* WSA8845, Speaker South */
807a2422d51SKrzysztof Kozlowski	south_spkr: speaker@0,1 {
808a2422d51SKrzysztof Kozlowski		compatible = "sdw20217020400";
809a2422d51SKrzysztof Kozlowski		reg = <0 1>;
810a2422d51SKrzysztof Kozlowski		pinctrl-names = "default";
811a2422d51SKrzysztof Kozlowski		pinctrl-0 = <&spkr_2_sd_n_active>;
812a2422d51SKrzysztof Kozlowski		powerdown-gpios = <&lpass_tlmm 18 GPIO_ACTIVE_LOW>;
813a2422d51SKrzysztof Kozlowski		#sound-dai-cells = <0>;
814a2422d51SKrzysztof Kozlowski		sound-name-prefix = "SpkrRight";
815a2422d51SKrzysztof Kozlowski		vdd-1p8-supply = <&vreg_l15b_1p8>;
816a2422d51SKrzysztof Kozlowski		vdd-io-supply = <&vreg_l3g_1p2>;
817a2422d51SKrzysztof Kozlowski	};
818a2422d51SKrzysztof Kozlowski};
819a2422d51SKrzysztof Kozlowski
82083fae950SKrzysztof Kozlowski&swr1 {
82183fae950SKrzysztof Kozlowski	status = "okay";
82283fae950SKrzysztof Kozlowski
82383fae950SKrzysztof Kozlowski	/* WCD9385 RX */
82483fae950SKrzysztof Kozlowski	wcd_rx: codec@0,4 {
82583fae950SKrzysztof Kozlowski		compatible = "sdw20217010d00";
82683fae950SKrzysztof Kozlowski		reg = <0 4>;
82783fae950SKrzysztof Kozlowski		qcom,rx-port-mapping = <1 2 3 4 5>;
82883fae950SKrzysztof Kozlowski	};
82983fae950SKrzysztof Kozlowski};
83083fae950SKrzysztof Kozlowski
83183fae950SKrzysztof Kozlowski&swr2 {
83283fae950SKrzysztof Kozlowski	status = "okay";
83383fae950SKrzysztof Kozlowski
83483fae950SKrzysztof Kozlowski	/* WCD9385 TX */
83583fae950SKrzysztof Kozlowski	wcd_tx: codec@0,3 {
83683fae950SKrzysztof Kozlowski		compatible = "sdw20217010d00";
83783fae950SKrzysztof Kozlowski		reg = <0 3>;
8386eacb2ecSKrzysztof Kozlowski		qcom,tx-port-mapping = <2 2 3 4>;
83983fae950SKrzysztof Kozlowski	};
84083fae950SKrzysztof Kozlowski};
84183fae950SKrzysztof Kozlowski
842d228efe8SKrzysztof Kozlowski&tlmm {
843d228efe8SKrzysztof Kozlowski	gpio-reserved-ranges = <32 8>;
84483fae950SKrzysztof Kozlowski
845fdb0038eSKrzysztof Kozlowski	sde_dsi_active: sde-dsi-active-state {
846fdb0038eSKrzysztof Kozlowski		pins = "gpio133";
847fdb0038eSKrzysztof Kozlowski		function = "gpio";
848fdb0038eSKrzysztof Kozlowski		drive-strength = <8>;
849fdb0038eSKrzysztof Kozlowski		bias-disable;
850fdb0038eSKrzysztof Kozlowski	};
851fdb0038eSKrzysztof Kozlowski
852fdb0038eSKrzysztof Kozlowski	sde_dsi_suspend: sde-dsi-suspend-state {
853fdb0038eSKrzysztof Kozlowski		pins = "gpio133";
854fdb0038eSKrzysztof Kozlowski		function = "gpio";
855fdb0038eSKrzysztof Kozlowski		drive-strength = <2>;
856fdb0038eSKrzysztof Kozlowski		bias-pull-down;
857fdb0038eSKrzysztof Kozlowski	};
858fdb0038eSKrzysztof Kozlowski
859fdb0038eSKrzysztof Kozlowski	sde_te_active: sde-te-active-state {
860fdb0038eSKrzysztof Kozlowski		pins = "gpio86";
861fdb0038eSKrzysztof Kozlowski		function = "mdp_vsync";
862fdb0038eSKrzysztof Kozlowski		drive-strength = <2>;
863fdb0038eSKrzysztof Kozlowski		bias-pull-down;
864fdb0038eSKrzysztof Kozlowski	};
865fdb0038eSKrzysztof Kozlowski
866fdb0038eSKrzysztof Kozlowski	sde_te_suspend: sde-te-suspend-state {
867fdb0038eSKrzysztof Kozlowski		pins = "gpio86";
868fdb0038eSKrzysztof Kozlowski		function = "mdp_vsync";
869fdb0038eSKrzysztof Kozlowski		drive-strength = <2>;
870fdb0038eSKrzysztof Kozlowski		bias-pull-down;
871fdb0038eSKrzysztof Kozlowski	};
872fdb0038eSKrzysztof Kozlowski
87383fae950SKrzysztof Kozlowski	wcd_default: wcd-reset-n-active-state {
87483fae950SKrzysztof Kozlowski		pins = "gpio108";
87583fae950SKrzysztof Kozlowski		function = "gpio";
87683fae950SKrzysztof Kozlowski		drive-strength = <16>;
87783fae950SKrzysztof Kozlowski		bias-disable;
87883fae950SKrzysztof Kozlowski		output-low;
87983fae950SKrzysztof Kozlowski	};
880d228efe8SKrzysztof Kozlowski};
881d228efe8SKrzysztof Kozlowski
882d228efe8SKrzysztof Kozlowski&uart7 {
883d228efe8SKrzysztof Kozlowski	status = "okay";
884d228efe8SKrzysztof Kozlowski};
885d228efe8SKrzysztof Kozlowski
886d228efe8SKrzysztof Kozlowski&ufs_mem_hc {
887d228efe8SKrzysztof Kozlowski	reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>;
888d228efe8SKrzysztof Kozlowski	vcc-supply = <&vreg_l17b_2p5>;
889d228efe8SKrzysztof Kozlowski	vcc-max-microamp = <1300000>;
890d228efe8SKrzysztof Kozlowski	vccq-supply = <&vreg_l1g_1p2>;
891d228efe8SKrzysztof Kozlowski	vccq-max-microamp = <1200000>;
892d228efe8SKrzysztof Kozlowski	vccq2-supply = <&vreg_l3g_1p2>;
893d228efe8SKrzysztof Kozlowski	vccq2-max-microamp = <100>;
894d228efe8SKrzysztof Kozlowski
895d228efe8SKrzysztof Kozlowski	status = "okay";
896d228efe8SKrzysztof Kozlowski};
897d228efe8SKrzysztof Kozlowski
898d228efe8SKrzysztof Kozlowski&ufs_mem_phy {
899d228efe8SKrzysztof Kozlowski	vdda-phy-supply = <&vreg_l1d_0p88>;
900d228efe8SKrzysztof Kozlowski	vdda-pll-supply = <&vreg_l3e_1p2>;
901d228efe8SKrzysztof Kozlowski
902d228efe8SKrzysztof Kozlowski	status = "okay";
903d228efe8SKrzysztof Kozlowski};
904d228efe8SKrzysztof Kozlowski
905d228efe8SKrzysztof Kozlowski&usb_1 {
906d228efe8SKrzysztof Kozlowski	status = "okay";
907d228efe8SKrzysztof Kozlowski};
908d228efe8SKrzysztof Kozlowski
909d228efe8SKrzysztof Kozlowski&usb_1_dwc3 {
910d97a6332SKrzysztof Kozlowski	dr_mode = "otg";
911d97a6332SKrzysztof Kozlowski	usb-role-switch;
912d97a6332SKrzysztof Kozlowski};
913d97a6332SKrzysztof Kozlowski
914d97a6332SKrzysztof Kozlowski&usb_1_dwc3_hs {
915d97a6332SKrzysztof Kozlowski	remote-endpoint = <&pmic_glink_hs_in>;
916d97a6332SKrzysztof Kozlowski};
917d97a6332SKrzysztof Kozlowski
918d97a6332SKrzysztof Kozlowski&usb_1_dwc3_ss {
919fd42c8ecSNeil Armstrong	remote-endpoint = <&usb_dp_qmpphy_usb_ss_in>;
920d228efe8SKrzysztof Kozlowski};
921d228efe8SKrzysztof Kozlowski
922d228efe8SKrzysztof Kozlowski&usb_1_hsphy {
923d228efe8SKrzysztof Kozlowski	vdd-supply = <&vreg_l1e_0p88>;
924d228efe8SKrzysztof Kozlowski	vdda12-supply = <&vreg_l3e_1p2>;
925d228efe8SKrzysztof Kozlowski
926d97a6332SKrzysztof Kozlowski	phys = <&pm8550b_eusb2_repeater>;
927d97a6332SKrzysztof Kozlowski
928d228efe8SKrzysztof Kozlowski	status = "okay";
929d228efe8SKrzysztof Kozlowski};
930d228efe8SKrzysztof Kozlowski
931d228efe8SKrzysztof Kozlowski&usb_dp_qmpphy {
932d228efe8SKrzysztof Kozlowski	vdda-phy-supply = <&vreg_l3e_1p2>;
933d228efe8SKrzysztof Kozlowski	vdda-pll-supply = <&vreg_l3f_0p88>;
934d228efe8SKrzysztof Kozlowski
935fd42c8ecSNeil Armstrong	orientation-switch;
936fd42c8ecSNeil Armstrong
937d228efe8SKrzysztof Kozlowski	status = "okay";
938d228efe8SKrzysztof Kozlowski};
939d228efe8SKrzysztof Kozlowski
940fd42c8ecSNeil Armstrong&usb_dp_qmpphy_dp_in {
941fd42c8ecSNeil Armstrong	remote-endpoint = <&mdss_dp0_out>;
942fd42c8ecSNeil Armstrong};
943fd42c8ecSNeil Armstrong
944fd42c8ecSNeil Armstrong&usb_dp_qmpphy_out {
945fd42c8ecSNeil Armstrong	remote-endpoint = <&redriver_ss_in>;
946fd42c8ecSNeil Armstrong};
947fd42c8ecSNeil Armstrong
948fd42c8ecSNeil Armstrong&usb_dp_qmpphy_usb_ss_in {
949fd42c8ecSNeil Armstrong	remote-endpoint = <&usb_1_dwc3_ss>;
950fd42c8ecSNeil Armstrong};
951fd42c8ecSNeil Armstrong
952d228efe8SKrzysztof Kozlowski&xo_board {
953d228efe8SKrzysztof Kozlowski	clock-frequency = <76800000>;
954d228efe8SKrzysztof Kozlowski};
955