1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (C) 2021, Microsoft Corporation
8 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
9 #include <dt-bindings/gpio/gpio.h>
10 #include "sm8150.dtsi"
11 #include "pm8150.dtsi"
12 #include "pm8150b.dtsi"
13 #include "pm8150l.dtsi"
16 model = "Microsoft Surface Duo";
17 compatible = "microsoft,surface-duo", "qcom,sm8150";
18 chassis-type = "handset";
25 stdout-path = "serial0:115200n8";
28 vph_pwr: vph-pwr-regulator {
29 compatible = "regulator-fixed";
30 regulator-name = "vph_pwr";
31 regulator-min-microvolt = <3700000>;
32 regulator-max-microvolt = <3700000>;
36 * Apparently RPMh does not provide support for PM8150 S4 because it
37 * is always-on; model it as a fixed regulator.
39 vreg_s4a_1p8: pm8150-s4 {
40 compatible = "regulator-fixed";
41 regulator-name = "vreg_s4a_1p8";
43 regulator-min-microvolt = <1800000>;
44 regulator-max-microvolt = <1800000>;
49 vin-supply = <&vph_pwr>;
53 compatible = "gpio-keys";
57 gpios = <&pm8150_gpios 6 GPIO_ACTIVE_LOW>;
58 linux,code = <KEY_VOLUMEUP>;
65 compatible = "qcom,pm8150-rpmh-regulators";
68 vdd-s1-supply = <&vph_pwr>;
69 vdd-s2-supply = <&vph_pwr>;
70 vdd-s3-supply = <&vph_pwr>;
71 vdd-s4-supply = <&vph_pwr>;
72 vdd-s5-supply = <&vph_pwr>;
73 vdd-s6-supply = <&vph_pwr>;
74 vdd-s7-supply = <&vph_pwr>;
75 vdd-s8-supply = <&vph_pwr>;
76 vdd-s9-supply = <&vph_pwr>;
77 vdd-s10-supply = <&vph_pwr>;
79 vdd-l1-l8-l11-supply = <&vreg_s6a_0p9>;
80 vdd-l2-l10-supply = <&vreg_bob>;
81 vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p9>;
82 vdd-l6-l9-supply = <&vreg_s8c_1p3>;
83 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p0>;
84 vdd-l13-l16-l17-supply = <&vreg_bob>;
87 regulator-min-microvolt = <1904000>;
88 regulator-max-microvolt = <2000000>;
92 regulator-min-microvolt = <920000>;
93 regulator-max-microvolt = <1128000>;
98 regulator-min-microvolt = <752000>;
99 regulator-max-microvolt = <752000>;
100 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
106 regulator-min-microvolt = <3072000>;
107 regulator-max-microvolt = <3072000>;
108 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
112 regulator-min-microvolt = <480000>;
113 regulator-max-microvolt = <932000>;
114 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
128 vdda_pll_hv_cc_ebi01:
129 vdda_pll_hv_cc_ebi23:
134 vdda_usb_ss_dp_core_1:
135 vdda_usb_ss_dp_core_2:
138 vreg_l5a_0p875: ldo5 {
139 regulator-min-microvolt = <880000>;
140 regulator-max-microvolt = <880000>;
141 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
145 regulator-min-microvolt = <1200000>;
146 regulator-max-microvolt = <1200000>;
147 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
151 regulator-min-microvolt = <1800000>;
152 regulator-max-microvolt = <1800000>;
153 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
158 regulator-min-microvolt = <1200000>;
159 regulator-max-microvolt = <1200000>;
160 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
163 vreg_l10a_2p5: ldo10 {
164 regulator-min-microvolt = <2504000>;
165 regulator-max-microvolt = <2960000>;
166 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
169 vreg_l11a_0p8: ldo11 {
170 regulator-min-microvolt = <800000>;
171 regulator-max-microvolt = <800000>;
172 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
182 vreg_l12a_1p8: ldo12 {
183 regulator-min-microvolt = <1800000>;
184 regulator-max-microvolt = <1800000>;
185 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
188 vreg_l13a_2p7: ldo13 {
189 regulator-min-microvolt = <2704000>;
190 regulator-max-microvolt = <2704000>;
191 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
194 vreg_l14a_1p8: ldo14 {
195 regulator-min-microvolt = <1800000>;
196 regulator-max-microvolt = <1880000>;
197 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
200 vreg_l15a_1p7: ldo15 {
201 regulator-min-microvolt = <1704000>;
202 regulator-max-microvolt = <1704000>;
203 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
206 vreg_l16a_2p7: ldo16 {
207 regulator-min-microvolt = <2704000>;
208 regulator-max-microvolt = <2960000>;
209 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
212 vreg_l17a_3p0: ldo17 {
213 regulator-min-microvolt = <2856000>;
214 regulator-max-microvolt = <3008000>;
215 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
220 compatible = "qcom,pm8150l-rpmh-regulators";
223 vdd-s1-supply = <&vph_pwr>;
224 vdd-s2-supply = <&vph_pwr>;
225 vdd-s3-supply = <&vph_pwr>;
226 vdd-s4-supply = <&vph_pwr>;
227 vdd-s5-supply = <&vph_pwr>;
228 vdd-s6-supply = <&vph_pwr>;
229 vdd-s7-supply = <&vph_pwr>;
230 vdd-s8-supply = <&vph_pwr>;
232 vdd-l1-l8-supply = <&vreg_s4a_1p8>;
233 vdd-l2-l3-supply = <&vreg_s8c_1p3>;
234 vdd-l4-l5-l6-supply = <&vreg_bob>;
235 vdd-l7-l11-supply = <&vreg_bob>;
236 vdd-l9-l10-supply = <&vreg_bob>;
238 vdd-bob-supply = <&vph_pwr>;
239 vdd-flash-supply = <&vreg_bob>;
240 vdd-rgb-supply = <&vreg_bob>;
243 regulator-min-microvolt = <3008000>;
244 regulator-max-microvolt = <4000000>;
245 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
246 regulator-allow-bypass;
249 vreg_s8c_1p3: smps8 {
250 regulator-min-microvolt = <1352000>;
251 regulator-max-microvolt = <1352000>;
255 regulator-min-microvolt = <1800000>;
256 regulator-max-microvolt = <1800000>;
257 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
263 regulator-min-microvolt = <1304000>;
264 regulator-max-microvolt = <1304000>;
265 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
275 regulator-min-microvolt = <1200000>;
276 regulator-max-microvolt = <1200000>;
277 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
282 regulator-min-microvolt = <1704000>;
283 regulator-max-microvolt = <2928000>;
284 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
289 regulator-min-microvolt = <1704000>;
290 regulator-max-microvolt = <2928000>;
291 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
296 regulator-min-microvolt = <1800000>;
297 regulator-max-microvolt = <2960000>;
298 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
302 regulator-min-microvolt = <2856000>;
303 regulator-max-microvolt = <3104000>;
304 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
308 regulator-min-microvolt = <1800000>;
309 regulator-max-microvolt = <1800000>;
310 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
314 regulator-min-microvolt = <2704000>;
315 regulator-max-microvolt = <2960000>;
316 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
319 vreg_l10c_3p3: ldo10 {
320 regulator-min-microvolt = <3000000>;
321 regulator-max-microvolt = <3312000>;
322 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
325 vreg_l11c_3p3: ldo11 {
326 regulator-min-microvolt = <3000000>;
327 regulator-max-microvolt = <3312000>;
328 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
333 compatible = "qcom,pm8009-rpmh-regulators";
336 vdd-s1-supply = <&vph_pwr>;
337 vdd-s2-supply = <&vreg_bob>;
339 vdd-l2-supply = <&vreg_s8c_1p3>;
340 vdd-l5-l6-supply = <&vreg_bob>;
343 regulator-min-microvolt = <1200000>;
344 regulator-max-microvolt = <1200000>;
345 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
348 vreg_l5f_2p85: ldo5 {
349 regulator-min-microvolt = <2800000>;
350 regulator-max-microvolt = <2800000>;
351 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
354 vreg_l6f_2p85: ldo6 {
355 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
356 regulator-min-microvolt = <2856000>;
357 regulator-max-microvolt = <2856000>;
364 clock-frequency = <400000>;
367 compatible = "ti,bq27742";
372 compatible = "dlg,da7280";
374 interrupts-extended = <&tlmm 42 IRQ_TYPE_LEVEL_LOW>;
375 pinctrl-names = "da7280_default";
376 pinctrl-0 = <&da7280_intr_default>;
378 dlg,actuator-type = "LRA";
379 dlg,dlg,const-op-mode = <1>;
380 dlg,dlg,periodic-op-mode = <1>;
381 dlg,nom-microvolt = <2000000>;
382 dlg,abs-max-microvolt = <2000000>;
383 dlg,imax-microamp = <129000>;
384 dlg,resonant-freq-hz = <180>;
385 dlg,impd-micro-ohms = <14300000>;
386 dlg,freq-track-enable;
387 dlg,bemf-sens-enable;
389 0x06 0x08 0x10 0x11 0x12 0x13 0x14 0x15 0x1c 0x2a
390 0x33 0x3c 0x42 0x4b 0x4c 0x4e 0x17 0x19 0x27 0x29
391 0x17 0x19 0x03 0x84 0x5e 0x04 0x08 0x84 0x5d 0x01
392 0x84 0x5e 0x02 0x00 0xa4 0x5d 0x03 0x84 0x5e 0x06
393 0x08 0x84 0x5d 0x05 0x84 0x5d 0x06 0x84 0x5e 0x08
394 0x84 0x5e 0x05 0x8c 0x5e 0x24 0x84 0x5f 0x10 0x84
395 0x5e 0x05 0x84 0x5e 0x08 0x84 0x5f 0x01 0x8c 0x5e
396 0x04 0x84 0x5e 0x08 0x84 0x5f 0x11 0x19 0x88 0x00
397 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
398 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
403 /* MAX34417 @ 0x1c */
408 clock-frequency = <400000>;
416 clock-frequency = <400000>;
419 compatible = "ti,bq27742";
426 clock-frequency = <400000>;
428 /* MAX34417 @ 0x12 */
429 /* MAX34417 @ 0x1a */
430 /* MAX34417 @ 0x1e */
451 firmware-name = "/*(DEBLOBBED)*/";
456 firmware-name = "/*(DEBLOBBED)*/";
461 firmware-name = "/*(DEBLOBBED)*/";
466 firmware-name = "/*(DEBLOBBED)*/";
472 linux,code = <KEY_VOLUMEDOWN>;
476 gpio-reserved-ranges = <126 4>;
478 da7280_intr_default: da7280-intr-default-state {
492 reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>;
494 vcc-supply = <&vreg_l10a_2p5>;
495 vcc-max-microamp = <750000>;
496 vccq-supply = <&vreg_l9a_1p2>;
497 vccq-max-microamp = <700000>;
498 vccq2-supply = <&vreg_s4a_1p8>;
499 vccq2-max-microamp = <750000>;
505 vdda-phy-supply = <&vdda_ufs_2ln_core_1>;
506 vdda-pll-supply = <&vreg_l3c_1p2>;
511 vdda-pll-supply = <&vdd_usb_hs_core>;
512 vdda33-supply = <&vdda_usb_hs_3p1>;
513 vdda18-supply = <&vdda_usb_hs_1p8>;
518 vdda-phy-supply = <&vreg_l3c_1p2>;
519 vdda-pll-supply = <&vdda_usb_ss_dp_core_1>;
527 dr_mode = "peripheral";
533 vdd-0.8-cx-mx-supply = <&vdda_wcss_pll>;
534 vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
535 vdd-1.3-rfa-supply = <&vdda_wcss_adcdac_1>;
536 vdd-3.3-ch0-supply = <&vreg_l11c_3p3>;