xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/qcm6490-shift-otter.dts (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause
2*0e8011faSEmmanuel Vadot/*
3*0e8011faSEmmanuel Vadot * Copyright (c) 2023, Luca Weiss <luca.weiss@fairphone.com>
4*0e8011faSEmmanuel Vadot * Copyright (c) 2024, Caleb Connolly <caleb@postmarketos.org>
5*0e8011faSEmmanuel Vadot */
6*0e8011faSEmmanuel Vadot
7*0e8011faSEmmanuel Vadot/dts-v1/;
8*0e8011faSEmmanuel Vadot
9*0e8011faSEmmanuel Vadot#define PM7250B_SID 8
10*0e8011faSEmmanuel Vadot#define PM7250B_SID1 9
11*0e8011faSEmmanuel Vadot
12*0e8011faSEmmanuel Vadot#include <dt-bindings/iio/qcom,spmi-adc7-pm7325.h>
13*0e8011faSEmmanuel Vadot#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
14*0e8011faSEmmanuel Vadot#include <dt-bindings/leds/common.h>
15*0e8011faSEmmanuel Vadot#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
16*0e8011faSEmmanuel Vadot#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
17*0e8011faSEmmanuel Vadot#include "sc7280.dtsi"
18*0e8011faSEmmanuel Vadot#include "pm7250b.dtsi"
19*0e8011faSEmmanuel Vadot#include "pm7325.dtsi"
20*0e8011faSEmmanuel Vadot#include "pm8350c.dtsi" /* PM7350C */
21*0e8011faSEmmanuel Vadot#include "pmk8350.dtsi" /* PMK7325 */
22*0e8011faSEmmanuel Vadot
23*0e8011faSEmmanuel Vadot/delete-node/ &rmtfs_mem;
24*0e8011faSEmmanuel Vadot
25*0e8011faSEmmanuel Vadot/ {
26*0e8011faSEmmanuel Vadot	model = "SHIFT SHIFTphone 8";
27*0e8011faSEmmanuel Vadot	compatible = "shift,otter", "qcom,qcm6490";
28*0e8011faSEmmanuel Vadot	chassis-type = "handset";
29*0e8011faSEmmanuel Vadot
30*0e8011faSEmmanuel Vadot	aliases {
31*0e8011faSEmmanuel Vadot		serial0 = &uart5;
32*0e8011faSEmmanuel Vadot		serial1 = &uart7;
33*0e8011faSEmmanuel Vadot	};
34*0e8011faSEmmanuel Vadot
35*0e8011faSEmmanuel Vadot	chosen {
36*0e8011faSEmmanuel Vadot		#address-cells = <2>;
37*0e8011faSEmmanuel Vadot		#size-cells = <2>;
38*0e8011faSEmmanuel Vadot		ranges;
39*0e8011faSEmmanuel Vadot
40*0e8011faSEmmanuel Vadot		stdout-path = "serial0:115200n8";
41*0e8011faSEmmanuel Vadot
42*0e8011faSEmmanuel Vadot		framebuffer0: framebuffer@a000000 {
43*0e8011faSEmmanuel Vadot			compatible = "simple-framebuffer";
44*0e8011faSEmmanuel Vadot			reg = <0x0 0xe1000000 0x0 (2400 * 1080 * 4)>;
45*0e8011faSEmmanuel Vadot			width = <1080>;
46*0e8011faSEmmanuel Vadot			height = <2400>;
47*0e8011faSEmmanuel Vadot			stride = <(1080 * 4)>;
48*0e8011faSEmmanuel Vadot			format = "a8r8g8b8";
49*0e8011faSEmmanuel Vadot			clocks = <&gcc GCC_DISP_HF_AXI_CLK>;
50*0e8011faSEmmanuel Vadot		};
51*0e8011faSEmmanuel Vadot	};
52*0e8011faSEmmanuel Vadot
53*0e8011faSEmmanuel Vadot	gpio-keys {
54*0e8011faSEmmanuel Vadot		compatible = "gpio-keys";
55*0e8011faSEmmanuel Vadot
56*0e8011faSEmmanuel Vadot		pinctrl-0 = <&volume_down_default>;
57*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
58*0e8011faSEmmanuel Vadot
59*0e8011faSEmmanuel Vadot		key-volume-up {
60*0e8011faSEmmanuel Vadot			label = "Volume up";
61*0e8011faSEmmanuel Vadot			gpios = <&pm7325_gpios 6 GPIO_ACTIVE_LOW>;
62*0e8011faSEmmanuel Vadot			linux,code = <KEY_VOLUMEUP>;
63*0e8011faSEmmanuel Vadot			debounce-interval = <15>;
64*0e8011faSEmmanuel Vadot		};
65*0e8011faSEmmanuel Vadot	};
66*0e8011faSEmmanuel Vadot
67*0e8011faSEmmanuel Vadot	pmic-glink {
68*0e8011faSEmmanuel Vadot		compatible = "qcom,qcm6490-pmic-glink", "qcom,pmic-glink";
69*0e8011faSEmmanuel Vadot
70*0e8011faSEmmanuel Vadot		#address-cells = <1>;
71*0e8011faSEmmanuel Vadot		#size-cells = <0>;
72*0e8011faSEmmanuel Vadot
73*0e8011faSEmmanuel Vadot		connector@0 {
74*0e8011faSEmmanuel Vadot			compatible = "usb-c-connector";
75*0e8011faSEmmanuel Vadot			reg = <0>;
76*0e8011faSEmmanuel Vadot			power-role = "dual";
77*0e8011faSEmmanuel Vadot			data-role = "dual";
78*0e8011faSEmmanuel Vadot
79*0e8011faSEmmanuel Vadot			ports {
80*0e8011faSEmmanuel Vadot				#address-cells = <1>;
81*0e8011faSEmmanuel Vadot				#size-cells = <0>;
82*0e8011faSEmmanuel Vadot
83*0e8011faSEmmanuel Vadot				port@0 {
84*0e8011faSEmmanuel Vadot					reg = <0>;
85*0e8011faSEmmanuel Vadot
86*0e8011faSEmmanuel Vadot					pmic_glink_hs_in: endpoint {
87*0e8011faSEmmanuel Vadot						remote-endpoint = <&usb_1_dwc3_hs>;
88*0e8011faSEmmanuel Vadot					};
89*0e8011faSEmmanuel Vadot				};
90*0e8011faSEmmanuel Vadot
91*0e8011faSEmmanuel Vadot				port@1 {
92*0e8011faSEmmanuel Vadot					reg = <1>;
93*0e8011faSEmmanuel Vadot
94*0e8011faSEmmanuel Vadot					pmic_glink_ss_in: endpoint {
95*0e8011faSEmmanuel Vadot						remote-endpoint = <&usb_dp_qmpphy_out>;
96*0e8011faSEmmanuel Vadot					};
97*0e8011faSEmmanuel Vadot				};
98*0e8011faSEmmanuel Vadot
99*0e8011faSEmmanuel Vadot				port@2 {
100*0e8011faSEmmanuel Vadot					reg = <2>;
101*0e8011faSEmmanuel Vadot
102*0e8011faSEmmanuel Vadot					pmic_glink_sbu: endpoint {
103*0e8011faSEmmanuel Vadot						remote-endpoint = <&fsa4480_sbu_mux>;
104*0e8011faSEmmanuel Vadot					};
105*0e8011faSEmmanuel Vadot				};
106*0e8011faSEmmanuel Vadot			};
107*0e8011faSEmmanuel Vadot		};
108*0e8011faSEmmanuel Vadot	};
109*0e8011faSEmmanuel Vadot
110*0e8011faSEmmanuel Vadot	reserved-memory {
111*0e8011faSEmmanuel Vadot		cont_splash_mem: cont-splash@e1000000 {
112*0e8011faSEmmanuel Vadot			reg = <0x0 0xe1000000 0x0 0x2300000>;
113*0e8011faSEmmanuel Vadot			no-map;
114*0e8011faSEmmanuel Vadot		};
115*0e8011faSEmmanuel Vadot
116*0e8011faSEmmanuel Vadot		cdsp_mem: cdsp@88f00000 {
117*0e8011faSEmmanuel Vadot			reg = <0x0 0x88f00000 0x0 0x1e00000>;
118*0e8011faSEmmanuel Vadot			no-map;
119*0e8011faSEmmanuel Vadot		};
120*0e8011faSEmmanuel Vadot
121*0e8011faSEmmanuel Vadot		rmtfs_mem: rmtfs@f8500000 {
122*0e8011faSEmmanuel Vadot			compatible = "qcom,rmtfs-mem";
123*0e8011faSEmmanuel Vadot			reg = <0x0 0xf8500000 0x0 0x600000>;
124*0e8011faSEmmanuel Vadot			no-map;
125*0e8011faSEmmanuel Vadot
126*0e8011faSEmmanuel Vadot			qcom,client-id = <1>;
127*0e8011faSEmmanuel Vadot			qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>, <QCOM_SCM_VMID_NAV>;
128*0e8011faSEmmanuel Vadot		};
129*0e8011faSEmmanuel Vadot	};
130*0e8011faSEmmanuel Vadot
131*0e8011faSEmmanuel Vadot	thermal-zones {
132*0e8011faSEmmanuel Vadot		camera-thermal {
133*0e8011faSEmmanuel Vadot			polling-delay-passive = <0>;
134*0e8011faSEmmanuel Vadot			polling-delay = <0>;
135*0e8011faSEmmanuel Vadot			thermal-sensors = <&pmk8350_adc_tm 2>;
136*0e8011faSEmmanuel Vadot
137*0e8011faSEmmanuel Vadot			trips {
138*0e8011faSEmmanuel Vadot				active-config0 {
139*0e8011faSEmmanuel Vadot					temperature = <125000>;
140*0e8011faSEmmanuel Vadot					hysteresis = <1000>;
141*0e8011faSEmmanuel Vadot					type = "passive";
142*0e8011faSEmmanuel Vadot				};
143*0e8011faSEmmanuel Vadot			};
144*0e8011faSEmmanuel Vadot		};
145*0e8011faSEmmanuel Vadot
146*0e8011faSEmmanuel Vadot		chg-skin-thermal {
147*0e8011faSEmmanuel Vadot			polling-delay-passive = <0>;
148*0e8011faSEmmanuel Vadot			polling-delay = <0>;
149*0e8011faSEmmanuel Vadot			thermal-sensors = <&pm7250b_adc_tm 0>;
150*0e8011faSEmmanuel Vadot
151*0e8011faSEmmanuel Vadot			trips {
152*0e8011faSEmmanuel Vadot				active-config0 {
153*0e8011faSEmmanuel Vadot					temperature = <125000>;
154*0e8011faSEmmanuel Vadot					hysteresis = <1000>;
155*0e8011faSEmmanuel Vadot					type = "passive";
156*0e8011faSEmmanuel Vadot				};
157*0e8011faSEmmanuel Vadot			};
158*0e8011faSEmmanuel Vadot		};
159*0e8011faSEmmanuel Vadot
160*0e8011faSEmmanuel Vadot		conn-thermal {
161*0e8011faSEmmanuel Vadot			polling-delay-passive = <0>;
162*0e8011faSEmmanuel Vadot			polling-delay = <0>;
163*0e8011faSEmmanuel Vadot			thermal-sensors = <&pm7250b_adc_tm 1>;
164*0e8011faSEmmanuel Vadot
165*0e8011faSEmmanuel Vadot			trips {
166*0e8011faSEmmanuel Vadot				active-config0 {
167*0e8011faSEmmanuel Vadot					temperature = <125000>;
168*0e8011faSEmmanuel Vadot					hysteresis = <1000>;
169*0e8011faSEmmanuel Vadot					type = "passive";
170*0e8011faSEmmanuel Vadot				};
171*0e8011faSEmmanuel Vadot			};
172*0e8011faSEmmanuel Vadot		};
173*0e8011faSEmmanuel Vadot
174*0e8011faSEmmanuel Vadot		quiet-thermal {
175*0e8011faSEmmanuel Vadot			polling-delay-passive = <0>;
176*0e8011faSEmmanuel Vadot			polling-delay = <0>;
177*0e8011faSEmmanuel Vadot			thermal-sensors = <&pmk8350_adc_tm 1>;
178*0e8011faSEmmanuel Vadot
179*0e8011faSEmmanuel Vadot			trips {
180*0e8011faSEmmanuel Vadot				active-config0 {
181*0e8011faSEmmanuel Vadot					temperature = <125000>;
182*0e8011faSEmmanuel Vadot					hysteresis = <1000>;
183*0e8011faSEmmanuel Vadot					type = "passive";
184*0e8011faSEmmanuel Vadot				};
185*0e8011faSEmmanuel Vadot			};
186*0e8011faSEmmanuel Vadot		};
187*0e8011faSEmmanuel Vadot
188*0e8011faSEmmanuel Vadot		rear-cam-thermal {
189*0e8011faSEmmanuel Vadot			polling-delay-passive = <0>;
190*0e8011faSEmmanuel Vadot			polling-delay = <0>;
191*0e8011faSEmmanuel Vadot			thermal-sensors = <&pmk8350_adc_tm 4>;
192*0e8011faSEmmanuel Vadot
193*0e8011faSEmmanuel Vadot			trips {
194*0e8011faSEmmanuel Vadot				active-config0 {
195*0e8011faSEmmanuel Vadot					temperature = <125000>;
196*0e8011faSEmmanuel Vadot					hysteresis = <1000>;
197*0e8011faSEmmanuel Vadot					type = "passive";
198*0e8011faSEmmanuel Vadot				};
199*0e8011faSEmmanuel Vadot			};
200*0e8011faSEmmanuel Vadot		};
201*0e8011faSEmmanuel Vadot
202*0e8011faSEmmanuel Vadot		sdm-skin-thermal {
203*0e8011faSEmmanuel Vadot			polling-delay-passive = <0>;
204*0e8011faSEmmanuel Vadot			polling-delay = <0>;
205*0e8011faSEmmanuel Vadot			thermal-sensors = <&pmk8350_adc_tm 3>;
206*0e8011faSEmmanuel Vadot
207*0e8011faSEmmanuel Vadot			trips {
208*0e8011faSEmmanuel Vadot				active-config0 {
209*0e8011faSEmmanuel Vadot					temperature = <125000>;
210*0e8011faSEmmanuel Vadot					hysteresis = <1000>;
211*0e8011faSEmmanuel Vadot					type = "passive";
212*0e8011faSEmmanuel Vadot				};
213*0e8011faSEmmanuel Vadot			};
214*0e8011faSEmmanuel Vadot		};
215*0e8011faSEmmanuel Vadot
216*0e8011faSEmmanuel Vadot		xo-thermal {
217*0e8011faSEmmanuel Vadot			polling-delay-passive = <0>;
218*0e8011faSEmmanuel Vadot			polling-delay = <0>;
219*0e8011faSEmmanuel Vadot			thermal-sensors = <&pmk8350_adc_tm 0>;
220*0e8011faSEmmanuel Vadot
221*0e8011faSEmmanuel Vadot			trips {
222*0e8011faSEmmanuel Vadot				active-config0 {
223*0e8011faSEmmanuel Vadot					temperature = <125000>;
224*0e8011faSEmmanuel Vadot					hysteresis = <1000>;
225*0e8011faSEmmanuel Vadot					type = "passive";
226*0e8011faSEmmanuel Vadot				};
227*0e8011faSEmmanuel Vadot			};
228*0e8011faSEmmanuel Vadot		};
229*0e8011faSEmmanuel Vadot	};
230*0e8011faSEmmanuel Vadot};
231*0e8011faSEmmanuel Vadot
232*0e8011faSEmmanuel Vadot&apps_rsc {
233*0e8011faSEmmanuel Vadot	regulators-0 {
234*0e8011faSEmmanuel Vadot		compatible = "qcom,pm7325-rpmh-regulators";
235*0e8011faSEmmanuel Vadot		qcom,pmic-id = "b";
236*0e8011faSEmmanuel Vadot
237*0e8011faSEmmanuel Vadot		vreg_s1b: smps1 {
238*0e8011faSEmmanuel Vadot			regulator-name = "vreg_s1b";
239*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <1840000>;
240*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <2040000>;
241*0e8011faSEmmanuel Vadot		};
242*0e8011faSEmmanuel Vadot
243*0e8011faSEmmanuel Vadot		vreg_s7b: smps7 {
244*0e8011faSEmmanuel Vadot			regulator-name = "vreg_s7b";
245*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <535000>;
246*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <1120000>;
247*0e8011faSEmmanuel Vadot		};
248*0e8011faSEmmanuel Vadot
249*0e8011faSEmmanuel Vadot		vreg_s8b: smps8 {
250*0e8011faSEmmanuel Vadot			regulator-name = "vreg_s8b";
251*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <1200000>;
252*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <1500000>;
253*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_RET>;
254*0e8011faSEmmanuel Vadot		};
255*0e8011faSEmmanuel Vadot
256*0e8011faSEmmanuel Vadot		vreg_l1b: ldo1 {
257*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l1b";
258*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <825000>;
259*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <925000>;
260*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
261*0e8011faSEmmanuel Vadot		};
262*0e8011faSEmmanuel Vadot
263*0e8011faSEmmanuel Vadot		vreg_l2b: ldo2 {
264*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l2b";
265*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <2700000>;
266*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <3544000>;
267*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
268*0e8011faSEmmanuel Vadot		};
269*0e8011faSEmmanuel Vadot
270*0e8011faSEmmanuel Vadot		vreg_l3b: ldo3 {
271*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l3b";
272*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <312000>;
273*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <910000>;
274*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
275*0e8011faSEmmanuel Vadot		};
276*0e8011faSEmmanuel Vadot
277*0e8011faSEmmanuel Vadot		vreg_l6b: ldo6 {
278*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l6b";
279*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <1140000>;
280*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <1260000>;
281*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
282*0e8011faSEmmanuel Vadot		};
283*0e8011faSEmmanuel Vadot
284*0e8011faSEmmanuel Vadot		vreg_l7b: ldo7 {
285*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l7b";
286*0e8011faSEmmanuel Vadot			/* Constrained for UFS VCC, at least until UFS driver scales voltage */
287*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <2952000>;
288*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <2952000>;
289*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
290*0e8011faSEmmanuel Vadot		};
291*0e8011faSEmmanuel Vadot
292*0e8011faSEmmanuel Vadot		vreg_l8b: ldo8 {
293*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l8b";
294*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <870000>;
295*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <970000>;
296*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
297*0e8011faSEmmanuel Vadot		};
298*0e8011faSEmmanuel Vadot
299*0e8011faSEmmanuel Vadot		vreg_l9b: ldo9 {
300*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l9b";
301*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <1200000>;
302*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <1304000>;
303*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
304*0e8011faSEmmanuel Vadot		};
305*0e8011faSEmmanuel Vadot
306*0e8011faSEmmanuel Vadot		vreg_l11b: ldo11 {
307*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l11b";
308*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <1504000>;
309*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <2000000>;
310*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
311*0e8011faSEmmanuel Vadot		};
312*0e8011faSEmmanuel Vadot
313*0e8011faSEmmanuel Vadot		vreg_l12b: ldo12 {
314*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l12b";
315*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <751000>;
316*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <824000>;
317*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
318*0e8011faSEmmanuel Vadot		};
319*0e8011faSEmmanuel Vadot
320*0e8011faSEmmanuel Vadot		vreg_l13b: ldo13 {
321*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l13b";
322*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <530000>;
323*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <824000>;
324*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
325*0e8011faSEmmanuel Vadot		};
326*0e8011faSEmmanuel Vadot
327*0e8011faSEmmanuel Vadot		vreg_l14b: ldo14 {
328*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l14b";
329*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <1080000>;
330*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <1304000>;
331*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
332*0e8011faSEmmanuel Vadot		};
333*0e8011faSEmmanuel Vadot
334*0e8011faSEmmanuel Vadot		vreg_l15b: ldo15 {
335*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l15b";
336*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <765000>;
337*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <1020000>;
338*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
339*0e8011faSEmmanuel Vadot		};
340*0e8011faSEmmanuel Vadot
341*0e8011faSEmmanuel Vadot		vreg_l16b: ldo16 {
342*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l16b";
343*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <1100000>;
344*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <1300000>;
345*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
346*0e8011faSEmmanuel Vadot		};
347*0e8011faSEmmanuel Vadot
348*0e8011faSEmmanuel Vadot		vreg_l17b: ldo17 {
349*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l17b";
350*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <1700000>;
351*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <1900000>;
352*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
353*0e8011faSEmmanuel Vadot		};
354*0e8011faSEmmanuel Vadot
355*0e8011faSEmmanuel Vadot		vreg_l18b: ldo18 {
356*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l18b";
357*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
358*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <2000000>;
359*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
360*0e8011faSEmmanuel Vadot		};
361*0e8011faSEmmanuel Vadot
362*0e8011faSEmmanuel Vadot		vreg_l19b: ldo19 {
363*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l19b";
364*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
365*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <2000000>;
366*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
367*0e8011faSEmmanuel Vadot		};
368*0e8011faSEmmanuel Vadot	};
369*0e8011faSEmmanuel Vadot
370*0e8011faSEmmanuel Vadot	regulators-1 {
371*0e8011faSEmmanuel Vadot		compatible = "qcom,pm8350c-rpmh-regulators";
372*0e8011faSEmmanuel Vadot		qcom,pmic-id = "c";
373*0e8011faSEmmanuel Vadot
374*0e8011faSEmmanuel Vadot		vreg_s1c: smps1 {
375*0e8011faSEmmanuel Vadot			regulator-name = "vreg_s1c";
376*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <2190000>;
377*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <2210000>;
378*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
379*0e8011faSEmmanuel Vadot		};
380*0e8011faSEmmanuel Vadot
381*0e8011faSEmmanuel Vadot		vreg_s9c: smps9 {
382*0e8011faSEmmanuel Vadot			regulator-name = "vreg_s9c";
383*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <1010000>;
384*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <1170000>;
385*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
386*0e8011faSEmmanuel Vadot		};
387*0e8011faSEmmanuel Vadot
388*0e8011faSEmmanuel Vadot		vreg_l1c: ldo1 {
389*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l1c";
390*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
391*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <1980000>;
392*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
393*0e8011faSEmmanuel Vadot		};
394*0e8011faSEmmanuel Vadot
395*0e8011faSEmmanuel Vadot		vreg_l2c: ldo2 {
396*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l2c";
397*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <1800000>;
398*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <1950000>;
399*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
400*0e8011faSEmmanuel Vadot		};
401*0e8011faSEmmanuel Vadot
402*0e8011faSEmmanuel Vadot		vreg_l3c: ldo3 {
403*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l3c";
404*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <3000000>;
405*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <3400000>;
406*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
407*0e8011faSEmmanuel Vadot		};
408*0e8011faSEmmanuel Vadot
409*0e8011faSEmmanuel Vadot		vreg_l4c: ldo4 {
410*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l4c";
411*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <1620000>;
412*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <3300000>;
413*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
414*0e8011faSEmmanuel Vadot		};
415*0e8011faSEmmanuel Vadot
416*0e8011faSEmmanuel Vadot		vreg_l5c: ldo5 {
417*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l5c";
418*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <1620000>;
419*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <3300000>;
420*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
421*0e8011faSEmmanuel Vadot		};
422*0e8011faSEmmanuel Vadot
423*0e8011faSEmmanuel Vadot		vreg_l6c: ldo6 {
424*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l6c";
425*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <1650000>;
426*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <3544000>;
427*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
428*0e8011faSEmmanuel Vadot		};
429*0e8011faSEmmanuel Vadot
430*0e8011faSEmmanuel Vadot		vreg_l7c: ldo7 {
431*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l7c";
432*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <3000000>;
433*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <3544000>;
434*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
435*0e8011faSEmmanuel Vadot		};
436*0e8011faSEmmanuel Vadot
437*0e8011faSEmmanuel Vadot		vreg_l8c: ldo8 {
438*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l8c";
439*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <1620000>;
440*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <2000000>;
441*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
442*0e8011faSEmmanuel Vadot		};
443*0e8011faSEmmanuel Vadot
444*0e8011faSEmmanuel Vadot		vreg_l9c: ldo9 {
445*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l9c";
446*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <2700000>;
447*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <3544000>;
448*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
449*0e8011faSEmmanuel Vadot		};
450*0e8011faSEmmanuel Vadot
451*0e8011faSEmmanuel Vadot		vreg_l10c: ldo10 {
452*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l10c";
453*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <720000>;
454*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <1050000>;
455*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
456*0e8011faSEmmanuel Vadot		};
457*0e8011faSEmmanuel Vadot
458*0e8011faSEmmanuel Vadot		vreg_l11c: ldo11 {
459*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l11c";
460*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <2800000>;
461*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <3544000>;
462*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
463*0e8011faSEmmanuel Vadot		};
464*0e8011faSEmmanuel Vadot
465*0e8011faSEmmanuel Vadot		vreg_l12c: ldo12 {
466*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l12c";
467*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <1650000>;
468*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <2000000>;
469*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
470*0e8011faSEmmanuel Vadot		};
471*0e8011faSEmmanuel Vadot
472*0e8011faSEmmanuel Vadot		vreg_l13c: ldo13 {
473*0e8011faSEmmanuel Vadot			regulator-name = "vreg_l13c";
474*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <2700000>;
475*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <3544000>;
476*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
477*0e8011faSEmmanuel Vadot		};
478*0e8011faSEmmanuel Vadot
479*0e8011faSEmmanuel Vadot		vreg_bob: bob {
480*0e8011faSEmmanuel Vadot			regulator-name = "vreg_bob";
481*0e8011faSEmmanuel Vadot			regulator-min-microvolt = <3008000>;
482*0e8011faSEmmanuel Vadot			regulator-max-microvolt = <3960000>;
483*0e8011faSEmmanuel Vadot			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
484*0e8011faSEmmanuel Vadot		};
485*0e8011faSEmmanuel Vadot	};
486*0e8011faSEmmanuel Vadot};
487*0e8011faSEmmanuel Vadot
488*0e8011faSEmmanuel Vadot&gcc {
489*0e8011faSEmmanuel Vadot	protected-clocks = <GCC_CFG_NOC_LPASS_CLK>,
490*0e8011faSEmmanuel Vadot			   <GCC_EDP_CLKREF_EN>,
491*0e8011faSEmmanuel Vadot			   <GCC_MSS_CFG_AHB_CLK>,
492*0e8011faSEmmanuel Vadot			   <GCC_MSS_GPLL0_MAIN_DIV_CLK_SRC>,
493*0e8011faSEmmanuel Vadot			   <GCC_MSS_OFFLINE_AXI_CLK>,
494*0e8011faSEmmanuel Vadot			   <GCC_MSS_Q6SS_BOOT_CLK_SRC>,
495*0e8011faSEmmanuel Vadot			   <GCC_MSS_Q6_MEMNOC_AXI_CLK>,
496*0e8011faSEmmanuel Vadot			   <GCC_MSS_SNOC_AXI_CLK>,
497*0e8011faSEmmanuel Vadot			   <GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
498*0e8011faSEmmanuel Vadot			   <GCC_QSPI_CORE_CLK>,
499*0e8011faSEmmanuel Vadot			   <GCC_QSPI_CORE_CLK_SRC>,
500*0e8011faSEmmanuel Vadot			   <GCC_SEC_CTRL_CLK_SRC>,
501*0e8011faSEmmanuel Vadot			   <GCC_WPSS_AHB_BDG_MST_CLK>,
502*0e8011faSEmmanuel Vadot			   <GCC_WPSS_AHB_CLK>,
503*0e8011faSEmmanuel Vadot			   <GCC_WPSS_RSCP_CLK>;
504*0e8011faSEmmanuel Vadot};
505*0e8011faSEmmanuel Vadot
506*0e8011faSEmmanuel Vadot&gpi_dma0 {
507*0e8011faSEmmanuel Vadot	status = "okay";
508*0e8011faSEmmanuel Vadot};
509*0e8011faSEmmanuel Vadot
510*0e8011faSEmmanuel Vadot&gpi_dma1 {
511*0e8011faSEmmanuel Vadot	status = "okay";
512*0e8011faSEmmanuel Vadot};
513*0e8011faSEmmanuel Vadot
514*0e8011faSEmmanuel Vadot&gpu {
515*0e8011faSEmmanuel Vadot	status = "okay";
516*0e8011faSEmmanuel Vadot};
517*0e8011faSEmmanuel Vadot
518*0e8011faSEmmanuel Vadot&gpu_zap_shader {
519*0e8011faSEmmanuel Vadot	firmware-name = "qcom/qcm6490/SHIFT/otter/a660_zap.mbn";
520*0e8011faSEmmanuel Vadot};
521*0e8011faSEmmanuel Vadot
522*0e8011faSEmmanuel Vadot&i2c1 {
523*0e8011faSEmmanuel Vadot	status = "okay";
524*0e8011faSEmmanuel Vadot
525*0e8011faSEmmanuel Vadot	/* PM8008 PMIC @ 8 and 9 */
526*0e8011faSEmmanuel Vadot	/* rtc6226 FM receiver @ 64 */
527*0e8011faSEmmanuel Vadot
528*0e8011faSEmmanuel Vadot	typec-mux@42 {
529*0e8011faSEmmanuel Vadot		compatible = "fcs,fsa4480";
530*0e8011faSEmmanuel Vadot		reg = <0x42>;
531*0e8011faSEmmanuel Vadot
532*0e8011faSEmmanuel Vadot		vcc-supply = <&vreg_bob>;
533*0e8011faSEmmanuel Vadot
534*0e8011faSEmmanuel Vadot		mode-switch;
535*0e8011faSEmmanuel Vadot		orientation-switch;
536*0e8011faSEmmanuel Vadot
537*0e8011faSEmmanuel Vadot		port {
538*0e8011faSEmmanuel Vadot			fsa4480_sbu_mux: endpoint {
539*0e8011faSEmmanuel Vadot				remote-endpoint = <&pmic_glink_sbu>;
540*0e8011faSEmmanuel Vadot			};
541*0e8011faSEmmanuel Vadot		};
542*0e8011faSEmmanuel Vadot	};
543*0e8011faSEmmanuel Vadot};
544*0e8011faSEmmanuel Vadot
545*0e8011faSEmmanuel Vadot&i2c4 {
546*0e8011faSEmmanuel Vadot	status = "okay";
547*0e8011faSEmmanuel Vadot
548*0e8011faSEmmanuel Vadot	/* tas2563 audio codec @ 4d */
549*0e8011faSEmmanuel Vadot};
550*0e8011faSEmmanuel Vadot
551*0e8011faSEmmanuel Vadot&i2c9 {
552*0e8011faSEmmanuel Vadot	status = "okay";
553*0e8011faSEmmanuel Vadot
554*0e8011faSEmmanuel Vadot	/* TMS(?) NFC @ 28 */
555*0e8011faSEmmanuel Vadot	/* Ti drv2624 haptics @ 5a */
556*0e8011faSEmmanuel Vadot};
557*0e8011faSEmmanuel Vadot
558*0e8011faSEmmanuel Vadot&i2c13 {
559*0e8011faSEmmanuel Vadot	status = "okay";
560*0e8011faSEmmanuel Vadot
561*0e8011faSEmmanuel Vadot	/* focaltech FT3658U @ 38 */
562*0e8011faSEmmanuel Vadot};
563*0e8011faSEmmanuel Vadot
564*0e8011faSEmmanuel Vadot&ipa {
565*0e8011faSEmmanuel Vadot	qcom,gsi-loader = "self";
566*0e8011faSEmmanuel Vadot	memory-region = <&ipa_fw_mem>;
567*0e8011faSEmmanuel Vadot	firmware-name = "qcom/qcm6490/SHIFT/otter/ipa_fws.mbn";
568*0e8011faSEmmanuel Vadot	status = "okay";
569*0e8011faSEmmanuel Vadot};
570*0e8011faSEmmanuel Vadot
571*0e8011faSEmmanuel Vadot&pm7250b_adc {
572*0e8011faSEmmanuel Vadot	channel@4d {
573*0e8011faSEmmanuel Vadot		reg = <ADC5_AMUX_THM1_100K_PU>;
574*0e8011faSEmmanuel Vadot		qcom,ratiometric;
575*0e8011faSEmmanuel Vadot		qcom,hw-settle-time = <200>;
576*0e8011faSEmmanuel Vadot		qcom,pre-scaling = <1 1>;
577*0e8011faSEmmanuel Vadot		label = "charger_skin_therm";
578*0e8011faSEmmanuel Vadot	};
579*0e8011faSEmmanuel Vadot
580*0e8011faSEmmanuel Vadot	channel@4f {
581*0e8011faSEmmanuel Vadot		reg = <ADC5_AMUX_THM3_100K_PU>;
582*0e8011faSEmmanuel Vadot		qcom,ratiometric;
583*0e8011faSEmmanuel Vadot		qcom,hw-settle-time = <200>;
584*0e8011faSEmmanuel Vadot		qcom,pre-scaling = <1 1>;
585*0e8011faSEmmanuel Vadot		label = "conn_therm";
586*0e8011faSEmmanuel Vadot	};
587*0e8011faSEmmanuel Vadot};
588*0e8011faSEmmanuel Vadot
589*0e8011faSEmmanuel Vadot&pm7250b_adc_tm {
590*0e8011faSEmmanuel Vadot	status = "okay";
591*0e8011faSEmmanuel Vadot
592*0e8011faSEmmanuel Vadot	charger-skin-therm@0 {
593*0e8011faSEmmanuel Vadot		reg = <0>;
594*0e8011faSEmmanuel Vadot		io-channels = <&pm7250b_adc ADC5_AMUX_THM1_100K_PU>;
595*0e8011faSEmmanuel Vadot		qcom,ratiometric;
596*0e8011faSEmmanuel Vadot		qcom,hw-settle-time-us = <200>;
597*0e8011faSEmmanuel Vadot	};
598*0e8011faSEmmanuel Vadot
599*0e8011faSEmmanuel Vadot	conn-therm@1 {
600*0e8011faSEmmanuel Vadot		reg = <1>;
601*0e8011faSEmmanuel Vadot		io-channels = <&pm7250b_adc ADC5_AMUX_THM3_100K_PU>;
602*0e8011faSEmmanuel Vadot		qcom,ratiometric;
603*0e8011faSEmmanuel Vadot		qcom,hw-settle-time-us = <200>;
604*0e8011faSEmmanuel Vadot	};
605*0e8011faSEmmanuel Vadot};
606*0e8011faSEmmanuel Vadot
607*0e8011faSEmmanuel Vadot&pm7325_gpios {
608*0e8011faSEmmanuel Vadot	volume_down_default: volume-down-default-state {
609*0e8011faSEmmanuel Vadot		pins = "gpio6";
610*0e8011faSEmmanuel Vadot		function = PMIC_GPIO_FUNC_NORMAL;
611*0e8011faSEmmanuel Vadot		power-source = <1>;
612*0e8011faSEmmanuel Vadot		bias-pull-up;
613*0e8011faSEmmanuel Vadot		input-enable;
614*0e8011faSEmmanuel Vadot	};
615*0e8011faSEmmanuel Vadot};
616*0e8011faSEmmanuel Vadot
617*0e8011faSEmmanuel Vadot&pmk8350_adc_tm {
618*0e8011faSEmmanuel Vadot	status = "okay";
619*0e8011faSEmmanuel Vadot
620*0e8011faSEmmanuel Vadot	xo-therm@0 {
621*0e8011faSEmmanuel Vadot		reg = <0>;
622*0e8011faSEmmanuel Vadot		io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>;
623*0e8011faSEmmanuel Vadot		qcom,ratiometric;
624*0e8011faSEmmanuel Vadot		qcom,hw-settle-time-us = <200>;
625*0e8011faSEmmanuel Vadot	};
626*0e8011faSEmmanuel Vadot
627*0e8011faSEmmanuel Vadot	quiet-therm@1 {
628*0e8011faSEmmanuel Vadot		reg = <1>;
629*0e8011faSEmmanuel Vadot		io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM1_100K_PU>;
630*0e8011faSEmmanuel Vadot		qcom,ratiometric;
631*0e8011faSEmmanuel Vadot		qcom,hw-settle-time-us = <200>;
632*0e8011faSEmmanuel Vadot	};
633*0e8011faSEmmanuel Vadot
634*0e8011faSEmmanuel Vadot	cam-flash-therm@2 {
635*0e8011faSEmmanuel Vadot		reg = <2>;
636*0e8011faSEmmanuel Vadot		io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM2_100K_PU>;
637*0e8011faSEmmanuel Vadot		qcom,ratiometric;
638*0e8011faSEmmanuel Vadot		qcom,hw-settle-time-us = <200>;
639*0e8011faSEmmanuel Vadot	};
640*0e8011faSEmmanuel Vadot
641*0e8011faSEmmanuel Vadot	sdm-skin-therm@3 {
642*0e8011faSEmmanuel Vadot		reg = <3>;
643*0e8011faSEmmanuel Vadot		io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM3_100K_PU>;
644*0e8011faSEmmanuel Vadot		qcom,ratiometric;
645*0e8011faSEmmanuel Vadot		qcom,hw-settle-time-us = <200>;
646*0e8011faSEmmanuel Vadot	};
647*0e8011faSEmmanuel Vadot
648*0e8011faSEmmanuel Vadot	wide-rfc-therm@4 {
649*0e8011faSEmmanuel Vadot		reg = <4>;
650*0e8011faSEmmanuel Vadot		io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM4_100K_PU>;
651*0e8011faSEmmanuel Vadot		qcom,ratiometric;
652*0e8011faSEmmanuel Vadot		qcom,hw-settle-time-us = <200>;
653*0e8011faSEmmanuel Vadot	};
654*0e8011faSEmmanuel Vadot};
655*0e8011faSEmmanuel Vadot
656*0e8011faSEmmanuel Vadot&pmk8350_rtc {
657*0e8011faSEmmanuel Vadot	status = "okay";
658*0e8011faSEmmanuel Vadot};
659*0e8011faSEmmanuel Vadot
660*0e8011faSEmmanuel Vadot&pmk8350_vadc {
661*0e8011faSEmmanuel Vadot	status = "okay";
662*0e8011faSEmmanuel Vadot
663*0e8011faSEmmanuel Vadot	channel@44 {
664*0e8011faSEmmanuel Vadot		reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>;
665*0e8011faSEmmanuel Vadot		qcom,ratiometric;
666*0e8011faSEmmanuel Vadot		qcom,hw-settle-time = <200>;
667*0e8011faSEmmanuel Vadot		qcom,pre-scaling = <1 1>;
668*0e8011faSEmmanuel Vadot		label = "pmk8350_xo_therm";
669*0e8011faSEmmanuel Vadot	};
670*0e8011faSEmmanuel Vadot
671*0e8011faSEmmanuel Vadot	channel@144 {
672*0e8011faSEmmanuel Vadot		reg = <PM7325_ADC7_AMUX_THM1_100K_PU>;
673*0e8011faSEmmanuel Vadot		qcom,ratiometric;
674*0e8011faSEmmanuel Vadot		qcom,hw-settle-time = <200>;
675*0e8011faSEmmanuel Vadot		qcom,pre-scaling = <1 1>;
676*0e8011faSEmmanuel Vadot		label = "pm7325_quiet_therm";
677*0e8011faSEmmanuel Vadot	};
678*0e8011faSEmmanuel Vadot
679*0e8011faSEmmanuel Vadot	channel@145 {
680*0e8011faSEmmanuel Vadot		reg = <PM7325_ADC7_AMUX_THM2_100K_PU>;
681*0e8011faSEmmanuel Vadot		qcom,ratiometric;
682*0e8011faSEmmanuel Vadot		qcom,hw-settle-time = <200>;
683*0e8011faSEmmanuel Vadot		qcom,pre-scaling = <1 1>;
684*0e8011faSEmmanuel Vadot		label = "pm7325_cam_flash_therm";
685*0e8011faSEmmanuel Vadot	};
686*0e8011faSEmmanuel Vadot
687*0e8011faSEmmanuel Vadot	channel@146 {
688*0e8011faSEmmanuel Vadot		reg = <PM7325_ADC7_AMUX_THM3_100K_PU>;
689*0e8011faSEmmanuel Vadot		qcom,ratiometric;
690*0e8011faSEmmanuel Vadot		qcom,hw-settle-time = <200>;
691*0e8011faSEmmanuel Vadot		qcom,pre-scaling = <1 1>;
692*0e8011faSEmmanuel Vadot		label = "pm7325_sdm_skin_therm";
693*0e8011faSEmmanuel Vadot	};
694*0e8011faSEmmanuel Vadot
695*0e8011faSEmmanuel Vadot	channel@147 {
696*0e8011faSEmmanuel Vadot		reg = <PM7325_ADC7_AMUX_THM4_100K_PU>;
697*0e8011faSEmmanuel Vadot		qcom,ratiometric;
698*0e8011faSEmmanuel Vadot		qcom,hw-settle-time = <200>;
699*0e8011faSEmmanuel Vadot		qcom,pre-scaling = <1 1>;
700*0e8011faSEmmanuel Vadot		label = "pm7325_wide_rfc_therm";
701*0e8011faSEmmanuel Vadot	};
702*0e8011faSEmmanuel Vadot};
703*0e8011faSEmmanuel Vadot
704*0e8011faSEmmanuel Vadot&pon_pwrkey {
705*0e8011faSEmmanuel Vadot	status = "okay";
706*0e8011faSEmmanuel Vadot};
707*0e8011faSEmmanuel Vadot
708*0e8011faSEmmanuel Vadot&pon_resin {
709*0e8011faSEmmanuel Vadot	linux,code = <KEY_VOLUMEDOWN>;
710*0e8011faSEmmanuel Vadot	status = "okay";
711*0e8011faSEmmanuel Vadot};
712*0e8011faSEmmanuel Vadot
713*0e8011faSEmmanuel Vadot&qup_spi13_cs {
714*0e8011faSEmmanuel Vadot	drive-strength = <6>;
715*0e8011faSEmmanuel Vadot	bias-disable;
716*0e8011faSEmmanuel Vadot};
717*0e8011faSEmmanuel Vadot
718*0e8011faSEmmanuel Vadot&qup_spi13_data_clk {
719*0e8011faSEmmanuel Vadot	drive-strength = <6>;
720*0e8011faSEmmanuel Vadot	bias-disable;
721*0e8011faSEmmanuel Vadot};
722*0e8011faSEmmanuel Vadot
723*0e8011faSEmmanuel Vadot&qup_uart5_rx {
724*0e8011faSEmmanuel Vadot	drive-strength = <2>;
725*0e8011faSEmmanuel Vadot	bias-disable;
726*0e8011faSEmmanuel Vadot};
727*0e8011faSEmmanuel Vadot
728*0e8011faSEmmanuel Vadot&qup_uart5_tx {
729*0e8011faSEmmanuel Vadot	drive-strength = <2>;
730*0e8011faSEmmanuel Vadot	bias-disable;
731*0e8011faSEmmanuel Vadot};
732*0e8011faSEmmanuel Vadot
733*0e8011faSEmmanuel Vadot&qupv3_id_0 {
734*0e8011faSEmmanuel Vadot	status = "okay";
735*0e8011faSEmmanuel Vadot};
736*0e8011faSEmmanuel Vadot
737*0e8011faSEmmanuel Vadot&qupv3_id_1 {
738*0e8011faSEmmanuel Vadot	status = "okay";
739*0e8011faSEmmanuel Vadot};
740*0e8011faSEmmanuel Vadot
741*0e8011faSEmmanuel Vadot&remoteproc_adsp {
742*0e8011faSEmmanuel Vadot	firmware-name = "qcom/qcm6490/SHIFT/otter/adsp.mbn";
743*0e8011faSEmmanuel Vadot	status = "okay";
744*0e8011faSEmmanuel Vadot};
745*0e8011faSEmmanuel Vadot
746*0e8011faSEmmanuel Vadot&remoteproc_cdsp {
747*0e8011faSEmmanuel Vadot	firmware-name = "qcom/qcm6490/SHIFT/otter/cdsp.mbn";
748*0e8011faSEmmanuel Vadot	status = "okay";
749*0e8011faSEmmanuel Vadot};
750*0e8011faSEmmanuel Vadot
751*0e8011faSEmmanuel Vadot&remoteproc_mpss {
752*0e8011faSEmmanuel Vadot	firmware-name = "qcom/qcm6490/SHIFT/otter/modem.mbn";
753*0e8011faSEmmanuel Vadot	status = "okay";
754*0e8011faSEmmanuel Vadot};
755*0e8011faSEmmanuel Vadot
756*0e8011faSEmmanuel Vadot&remoteproc_wpss {
757*0e8011faSEmmanuel Vadot	firmware-name = "qcom/qcm6490/SHIFT/otter/wpss.mbn";
758*0e8011faSEmmanuel Vadot	status = "okay";
759*0e8011faSEmmanuel Vadot};
760*0e8011faSEmmanuel Vadot
761*0e8011faSEmmanuel Vadot&sdc2_clk {
762*0e8011faSEmmanuel Vadot	drive-strength = <16>;
763*0e8011faSEmmanuel Vadot	bias-disable;
764*0e8011faSEmmanuel Vadot};
765*0e8011faSEmmanuel Vadot
766*0e8011faSEmmanuel Vadot&sdc2_cmd {
767*0e8011faSEmmanuel Vadot	drive-strength = <10>;
768*0e8011faSEmmanuel Vadot	bias-pull-up;
769*0e8011faSEmmanuel Vadot};
770*0e8011faSEmmanuel Vadot
771*0e8011faSEmmanuel Vadot&sdc2_data {
772*0e8011faSEmmanuel Vadot	drive-strength = <10>;
773*0e8011faSEmmanuel Vadot	bias-pull-up;
774*0e8011faSEmmanuel Vadot};
775*0e8011faSEmmanuel Vadot
776*0e8011faSEmmanuel Vadot&sdhc_2 {
777*0e8011faSEmmanuel Vadot	vmmc-supply = <&vreg_l9c>;
778*0e8011faSEmmanuel Vadot	vqmmc-supply = <&vreg_l6c>;
779*0e8011faSEmmanuel Vadot
780*0e8011faSEmmanuel Vadot	pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>;
781*0e8011faSEmmanuel Vadot	pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>;
782*0e8011faSEmmanuel Vadot
783*0e8011faSEmmanuel Vadot	status = "okay";
784*0e8011faSEmmanuel Vadot};
785*0e8011faSEmmanuel Vadot
786*0e8011faSEmmanuel Vadot&tlmm {
787*0e8011faSEmmanuel Vadot	/*
788*0e8011faSEmmanuel Vadot	 * 48-52: protected by XPU, not sure why.
789*0e8011faSEmmanuel Vadot	 */
790*0e8011faSEmmanuel Vadot	gpio-reserved-ranges = <48 4>;
791*0e8011faSEmmanuel Vadot
792*0e8011faSEmmanuel Vadot	bluetooth_enable_default: bluetooth-enable-default-state {
793*0e8011faSEmmanuel Vadot		pins = "gpio85";
794*0e8011faSEmmanuel Vadot		function = "gpio";
795*0e8011faSEmmanuel Vadot		output-low;
796*0e8011faSEmmanuel Vadot		bias-disable;
797*0e8011faSEmmanuel Vadot	};
798*0e8011faSEmmanuel Vadot
799*0e8011faSEmmanuel Vadot	qup_uart7_sleep_cts: qup-uart7-sleep-cts-state {
800*0e8011faSEmmanuel Vadot		pins = "gpio28";
801*0e8011faSEmmanuel Vadot		function = "gpio";
802*0e8011faSEmmanuel Vadot		/*
803*0e8011faSEmmanuel Vadot		 * Configure a bias-bus-hold on CTS to lower power
804*0e8011faSEmmanuel Vadot		 * usage when Bluetooth is turned off. Bus hold will
805*0e8011faSEmmanuel Vadot		 * maintain a low power state regardless of whether
806*0e8011faSEmmanuel Vadot		 * the Bluetooth module drives the pin in either
807*0e8011faSEmmanuel Vadot		 * direction or leaves the pin fully unpowered.
808*0e8011faSEmmanuel Vadot		 */
809*0e8011faSEmmanuel Vadot		bias-bus-hold;
810*0e8011faSEmmanuel Vadot	};
811*0e8011faSEmmanuel Vadot
812*0e8011faSEmmanuel Vadot	qup_uart7_sleep_rts: qup-uart7-sleep-rts-state {
813*0e8011faSEmmanuel Vadot		pins = "gpio29";
814*0e8011faSEmmanuel Vadot		function = "gpio";
815*0e8011faSEmmanuel Vadot		/*
816*0e8011faSEmmanuel Vadot		 * Configure pull-down on RTS. As RTS is active low
817*0e8011faSEmmanuel Vadot		 * signal, pull it low to indicate the BT SoC that it
818*0e8011faSEmmanuel Vadot		 * can wakeup the system anytime from suspend state by
819*0e8011faSEmmanuel Vadot		 * pulling RX low (by sending wakeup bytes).
820*0e8011faSEmmanuel Vadot		 */
821*0e8011faSEmmanuel Vadot		bias-pull-down;
822*0e8011faSEmmanuel Vadot	};
823*0e8011faSEmmanuel Vadot
824*0e8011faSEmmanuel Vadot	qup_uart7_sleep_tx: qup-uart7-sleep-tx-state {
825*0e8011faSEmmanuel Vadot		pins = "gpio30";
826*0e8011faSEmmanuel Vadot		function = "gpio";
827*0e8011faSEmmanuel Vadot		/*
828*0e8011faSEmmanuel Vadot		 * Configure pull-up on TX when it isn't actively driven
829*0e8011faSEmmanuel Vadot		 * to prevent BT SoC from receiving garbage during sleep.
830*0e8011faSEmmanuel Vadot		 */
831*0e8011faSEmmanuel Vadot		bias-pull-up;
832*0e8011faSEmmanuel Vadot	};
833*0e8011faSEmmanuel Vadot
834*0e8011faSEmmanuel Vadot	qup_uart7_sleep_rx: qup-uart7-sleep-rx-state {
835*0e8011faSEmmanuel Vadot		pins = "gpio31";
836*0e8011faSEmmanuel Vadot		function = "gpio";
837*0e8011faSEmmanuel Vadot		/*
838*0e8011faSEmmanuel Vadot		 * Configure a pull-up on RX. This is needed to avoid
839*0e8011faSEmmanuel Vadot		 * garbage data when the TX pin of the Bluetooth module
840*0e8011faSEmmanuel Vadot		 * is floating which may cause spurious wakeups.
841*0e8011faSEmmanuel Vadot		 */
842*0e8011faSEmmanuel Vadot		bias-pull-up;
843*0e8011faSEmmanuel Vadot	};
844*0e8011faSEmmanuel Vadot
845*0e8011faSEmmanuel Vadot	sw_ctrl_default: sw-ctrl-default-state {
846*0e8011faSEmmanuel Vadot		pins = "gpio86";
847*0e8011faSEmmanuel Vadot		function = "gpio";
848*0e8011faSEmmanuel Vadot		bias-pull-down;
849*0e8011faSEmmanuel Vadot	};
850*0e8011faSEmmanuel Vadot};
851*0e8011faSEmmanuel Vadot
852*0e8011faSEmmanuel Vadot&uart5 {
853*0e8011faSEmmanuel Vadot	compatible = "qcom,geni-debug-uart";
854*0e8011faSEmmanuel Vadot	status = "okay";
855*0e8011faSEmmanuel Vadot};
856*0e8011faSEmmanuel Vadot
857*0e8011faSEmmanuel Vadot&uart7 {
858*0e8011faSEmmanuel Vadot	/delete-property/interrupts;
859*0e8011faSEmmanuel Vadot	interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>,
860*0e8011faSEmmanuel Vadot			<&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
861*0e8011faSEmmanuel Vadot
862*0e8011faSEmmanuel Vadot	pinctrl-1 = <&qup_uart7_sleep_cts>, <&qup_uart7_sleep_rts>, <&qup_uart7_sleep_tx>, <&qup_uart7_sleep_rx>;
863*0e8011faSEmmanuel Vadot	pinctrl-names = "default", "sleep";
864*0e8011faSEmmanuel Vadot
865*0e8011faSEmmanuel Vadot	status = "okay";
866*0e8011faSEmmanuel Vadot
867*0e8011faSEmmanuel Vadot	bluetooth: bluetooth {
868*0e8011faSEmmanuel Vadot		compatible = "qcom,wcn6750-bt";
869*0e8011faSEmmanuel Vadot
870*0e8011faSEmmanuel Vadot		pinctrl-0 = <&bluetooth_enable_default>, <&sw_ctrl_default>;
871*0e8011faSEmmanuel Vadot		pinctrl-names = "default";
872*0e8011faSEmmanuel Vadot
873*0e8011faSEmmanuel Vadot		enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
874*0e8011faSEmmanuel Vadot		swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
875*0e8011faSEmmanuel Vadot
876*0e8011faSEmmanuel Vadot		vddio-supply = <&vreg_l19b>;
877*0e8011faSEmmanuel Vadot		vddaon-supply = <&vreg_s7b>;
878*0e8011faSEmmanuel Vadot		vddbtcxmx-supply = <&vreg_s7b>;
879*0e8011faSEmmanuel Vadot		vddrfacmn-supply = <&vreg_s7b>;
880*0e8011faSEmmanuel Vadot		vddrfa0p8-supply = <&vreg_s7b>;
881*0e8011faSEmmanuel Vadot		vddrfa1p7-supply = <&vreg_s1b>;
882*0e8011faSEmmanuel Vadot		vddrfa1p2-supply = <&vreg_s8b>;
883*0e8011faSEmmanuel Vadot		vddrfa2p2-supply = <&vreg_s1c>;
884*0e8011faSEmmanuel Vadot		vddasd-supply = <&vreg_l11c>;
885*0e8011faSEmmanuel Vadot
886*0e8011faSEmmanuel Vadot		max-speed = <3200000>;
887*0e8011faSEmmanuel Vadot	};
888*0e8011faSEmmanuel Vadot};
889*0e8011faSEmmanuel Vadot
890*0e8011faSEmmanuel Vadot&ufs_mem_hc {
891*0e8011faSEmmanuel Vadot	reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>;
892*0e8011faSEmmanuel Vadot
893*0e8011faSEmmanuel Vadot	vcc-supply = <&vreg_l7b>;
894*0e8011faSEmmanuel Vadot	vcc-max-microamp = <800000>;
895*0e8011faSEmmanuel Vadot	/*
896*0e8011faSEmmanuel Vadot	 * Technically l9b enables an eLDO (supplied by s1b) which then powers
897*0e8011faSEmmanuel Vadot	 * VCCQ2 of the UFS.
898*0e8011faSEmmanuel Vadot	 */
899*0e8011faSEmmanuel Vadot	vccq-supply = <&vreg_l9b>;
900*0e8011faSEmmanuel Vadot	vccq-max-microamp = <900000>;
901*0e8011faSEmmanuel Vadot
902*0e8011faSEmmanuel Vadot	status = "okay";
903*0e8011faSEmmanuel Vadot};
904*0e8011faSEmmanuel Vadot
905*0e8011faSEmmanuel Vadot&ufs_mem_phy {
906*0e8011faSEmmanuel Vadot	vdda-phy-supply = <&vreg_l10c>;
907*0e8011faSEmmanuel Vadot	vdda-pll-supply = <&vreg_l6b>;
908*0e8011faSEmmanuel Vadot
909*0e8011faSEmmanuel Vadot	status = "okay";
910*0e8011faSEmmanuel Vadot};
911*0e8011faSEmmanuel Vadot
912*0e8011faSEmmanuel Vadot&usb_1 {
913*0e8011faSEmmanuel Vadot	status = "okay";
914*0e8011faSEmmanuel Vadot};
915*0e8011faSEmmanuel Vadot
916*0e8011faSEmmanuel Vadot&usb_1_dwc3 {
917*0e8011faSEmmanuel Vadot	dr_mode = "otg";
918*0e8011faSEmmanuel Vadot	usb-role-switch;
919*0e8011faSEmmanuel Vadot};
920*0e8011faSEmmanuel Vadot
921*0e8011faSEmmanuel Vadot&usb_1_dwc3_hs {
922*0e8011faSEmmanuel Vadot	remote-endpoint = <&pmic_glink_hs_in>;
923*0e8011faSEmmanuel Vadot};
924*0e8011faSEmmanuel Vadot
925*0e8011faSEmmanuel Vadot&usb_dp_qmpphy_out {
926*0e8011faSEmmanuel Vadot	remote-endpoint = <&pmic_glink_ss_in>;
927*0e8011faSEmmanuel Vadot};
928*0e8011faSEmmanuel Vadot
929*0e8011faSEmmanuel Vadot&usb_1_hsphy {
930*0e8011faSEmmanuel Vadot	vdda-pll-supply = <&vreg_l10c>;
931*0e8011faSEmmanuel Vadot	vdda18-supply = <&vreg_l1c>;
932*0e8011faSEmmanuel Vadot	vdda33-supply = <&vreg_l2b>;
933*0e8011faSEmmanuel Vadot
934*0e8011faSEmmanuel Vadot	qcom,hs-crossover-voltage-microvolt = <28000>;
935*0e8011faSEmmanuel Vadot	qcom,hs-output-impedance-micro-ohms = <2600000>;
936*0e8011faSEmmanuel Vadot	qcom,hs-rise-fall-time-bp = <5430>;
937*0e8011faSEmmanuel Vadot	qcom,hs-disconnect-bp = <1743>;
938*0e8011faSEmmanuel Vadot	qcom,hs-amplitude-bp = <2430>;
939*0e8011faSEmmanuel Vadot
940*0e8011faSEmmanuel Vadot	qcom,pre-emphasis-amplitude-bp = <20000>;
941*0e8011faSEmmanuel Vadot	qcom,pre-emphasis-duration-bp = <20000>;
942*0e8011faSEmmanuel Vadot
943*0e8011faSEmmanuel Vadot	qcom,squelch-detector-bp = <(-2090)>;
944*0e8011faSEmmanuel Vadot
945*0e8011faSEmmanuel Vadot	orientation-switch;
946*0e8011faSEmmanuel Vadot
947*0e8011faSEmmanuel Vadot	status = "okay";
948*0e8011faSEmmanuel Vadot};
949*0e8011faSEmmanuel Vadot
950*0e8011faSEmmanuel Vadot&usb_1_qmpphy {
951*0e8011faSEmmanuel Vadot	vdda-phy-supply = <&vreg_l6b>;
952*0e8011faSEmmanuel Vadot	vdda-pll-supply = <&vreg_l1b>;
953*0e8011faSEmmanuel Vadot
954*0e8011faSEmmanuel Vadot	status = "okay";
955*0e8011faSEmmanuel Vadot};
956*0e8011faSEmmanuel Vadot
957*0e8011faSEmmanuel Vadot&wifi {
958*0e8011faSEmmanuel Vadot	qcom,ath11k-calibration-variant = "SHIFTphone_8";
959*0e8011faSEmmanuel Vadot
960*0e8011faSEmmanuel Vadot	status = "okay";
961*0e8011faSEmmanuel Vadot};
962