1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2020, The Linux Foundation. All rights reserved.
8 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
9 #include <dt-bindings/gpio/gpio.h>
10 #include <dt-bindings/usb/pd.h>
11 #include "sm8150.dtsi"
12 #include "pm8150.dtsi"
13 #include "pm8150b.dtsi"
14 #include "pm8150l.dtsi"
17 model = "Qualcomm Technologies, Inc. SM8150 HDK";
18 compatible = "qcom,sm8150-hdk", "qcom,sm8150";
19 chassis-type = "embedded";
26 stdout-path = "serial0:115200n8";
29 vph_pwr: vph-pwr-regulator {
30 compatible = "regulator-fixed";
31 regulator-name = "vph_pwr";
32 regulator-min-microvolt = <3700000>;
33 regulator-max-microvolt = <3700000>;
36 vreg_s4a_1p8: pm8150-s4 {
37 compatible = "regulator-fixed";
38 regulator-name = "vreg_s4a_1p8";
40 regulator-min-microvolt = <1800000>;
41 regulator-max-microvolt = <1800000>;
46 vin-supply = <&vph_pwr>;
50 compatible = "gpio-keys";
54 linux,code = <KEY_VOLUMEUP>;
55 gpios = <&pm8150_gpios 6 GPIO_ACTIVE_LOW>;
60 compatible = "hdmi-connector";
65 remote-endpoint = <<9611_out>;
73 compatible = "qcom,pm8150-rpmh-regulators";
76 vdd-s1-supply = <&vph_pwr>;
77 vdd-s2-supply = <&vph_pwr>;
78 vdd-s3-supply = <&vph_pwr>;
79 vdd-s4-supply = <&vph_pwr>;
80 vdd-s5-supply = <&vph_pwr>;
81 vdd-s6-supply = <&vph_pwr>;
82 vdd-s7-supply = <&vph_pwr>;
83 vdd-s8-supply = <&vph_pwr>;
84 vdd-s9-supply = <&vph_pwr>;
85 vdd-s10-supply = <&vph_pwr>;
87 vdd-l1-l8-l11-supply = <&vreg_s6a_0p9>;
88 vdd-l2-l10-supply = <&vreg_bob>;
89 vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p9>;
90 vdd-l6-l9-supply = <&vreg_s8c_1p3>;
91 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p0>;
92 vdd-l13-l16-l17-supply = <&vreg_bob>;
95 regulator-min-microvolt = <1904000>;
96 regulator-max-microvolt = <2000000>;
100 regulator-min-microvolt = <920000>;
101 regulator-max-microvolt = <1128000>;
105 vreg_l1a_0p75: ldo1 {
106 regulator-min-microvolt = <752000>;
107 regulator-max-microvolt = <752000>;
108 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
114 regulator-min-microvolt = <3072000>;
115 regulator-max-microvolt = <3072000>;
116 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
120 regulator-min-microvolt = <480000>;
121 regulator-max-microvolt = <932000>;
122 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
136 vdda_pll_hv_cc_ebi01:
137 vdda_pll_hv_cc_ebi23:
144 vreg_l5a_0p875: ldo5 {
145 regulator-min-microvolt = <880000>;
146 regulator-max-microvolt = <880000>;
147 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
151 regulator-min-microvolt = <1200000>;
152 regulator-max-microvolt = <1200000>;
153 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
157 regulator-min-microvolt = <1800000>;
158 regulator-max-microvolt = <1800000>;
159 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
164 regulator-min-microvolt = <1200000>;
165 regulator-max-microvolt = <1200000>;
166 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
169 vreg_l10a_2p5: ldo10 {
170 regulator-min-microvolt = <2504000>;
171 regulator-max-microvolt = <2960000>;
172 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
175 vreg_l11a_0p8: ldo11 {
176 regulator-min-microvolt = <800000>;
177 regulator-max-microvolt = <800000>;
178 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
188 vreg_l12a_1p8: ldo12 {
189 regulator-min-microvolt = <1800000>;
190 regulator-max-microvolt = <1800000>;
191 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
194 vreg_l13a_2p7: ldo13 {
195 regulator-min-microvolt = <2704000>;
196 regulator-max-microvolt = <2704000>;
197 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
200 vreg_l14a_1p8: ldo14 {
201 regulator-min-microvolt = <1800000>;
202 regulator-max-microvolt = <1880000>;
203 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
206 vreg_l15a_1p7: ldo15 {
207 regulator-min-microvolt = <1704000>;
208 regulator-max-microvolt = <1704000>;
209 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
212 vreg_l16a_2p7: ldo16 {
213 regulator-min-microvolt = <2704000>;
214 regulator-max-microvolt = <2960000>;
215 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
218 vreg_l17a_3p0: ldo17 {
219 regulator-min-microvolt = <2856000>;
220 regulator-max-microvolt = <3008000>;
221 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
224 vreg_l18a_0p8: ldo18 {
225 regulator-min-microvolt = <880000>;
226 regulator-max-microvolt = <880000>;
227 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
232 compatible = "qcom,pm8150l-rpmh-regulators";
235 vdd-s1-supply = <&vph_pwr>;
236 vdd-s2-supply = <&vph_pwr>;
237 vdd-s3-supply = <&vph_pwr>;
238 vdd-s4-supply = <&vph_pwr>;
239 vdd-s5-supply = <&vph_pwr>;
240 vdd-s6-supply = <&vph_pwr>;
241 vdd-s7-supply = <&vph_pwr>;
242 vdd-s8-supply = <&vph_pwr>;
244 vdd-l1-l8-supply = <&vreg_s4a_1p8>;
245 vdd-l2-l3-supply = <&vreg_s8c_1p3>;
246 vdd-l4-l5-l6-supply = <&vreg_bob>;
247 vdd-l7-l11-supply = <&vreg_bob>;
248 vdd-l9-l10-supply = <&vreg_bob>;
250 vdd-bob-supply = <&vph_pwr>;
251 vdd-flash-supply = <&vreg_bob>;
252 vdd-rgb-supply = <&vreg_bob>;
255 regulator-min-microvolt = <3008000>;
256 regulator-max-microvolt = <4000000>;
257 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
258 regulator-allow-bypass;
261 vreg_s8c_1p3: smps8 {
262 regulator-min-microvolt = <1352000>;
263 regulator-max-microvolt = <1352000>;
267 regulator-min-microvolt = <1800000>;
268 regulator-max-microvolt = <1800000>;
269 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
275 regulator-min-microvolt = <1304000>;
276 regulator-max-microvolt = <1304000>;
277 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
287 regulator-min-microvolt = <1200000>;
288 regulator-max-microvolt = <1200000>;
289 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
294 regulator-min-microvolt = <1704000>;
295 regulator-max-microvolt = <2928000>;
296 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
301 regulator-min-microvolt = <1704000>;
302 regulator-max-microvolt = <2928000>;
303 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
308 regulator-min-microvolt = <1800000>;
309 regulator-max-microvolt = <2960000>;
310 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
314 regulator-min-microvolt = <2856000>;
315 regulator-max-microvolt = <3104000>;
316 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
320 regulator-min-microvolt = <1800000>;
321 regulator-max-microvolt = <1800000>;
322 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
326 regulator-min-microvolt = <2704000>;
327 regulator-max-microvolt = <2960000>;
328 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
331 vreg_l10c_3p3: ldo10 {
332 regulator-min-microvolt = <3000000>;
333 regulator-max-microvolt = <3312000>;
334 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
337 vreg_l11c_3p3: ldo11 {
338 regulator-min-microvolt = <3000000>;
339 regulator-max-microvolt = <3312000>;
340 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
345 compatible = "qcom,pm8009-rpmh-regulators";
348 vdd-s1-supply = <&vph_pwr>;
349 vdd-s2-supply = <&vreg_bob>;
351 vdd-l2-supply = <&vreg_s8c_1p3>;
352 vdd-l5-l6-supply = <&vreg_bob>;
355 regulator-min-microvolt = <1200000>;
356 regulator-max-microvolt = <1200000>;
357 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
360 vreg_l5f_2p85: ldo5 {
361 regulator-min-microvolt = <2800000>;
362 regulator-max-microvolt = <2800000>;
363 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
366 vreg_l6f_2p85: ldo6 {
367 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
368 regulator-min-microvolt = <2856000>;
369 regulator-max-microvolt = <2856000>;
391 clock-frequency = <100000>;
396 compatible = "fcs,fsa4480";
399 interrupts-extended = <&tlmm 152 IRQ_TYPE_LEVEL_LOW>;
401 vcc-supply = <&vreg_bob>;
406 fsa4480_sbu_mux: endpoint {
407 remote-endpoint = <&pm8150b_typec_sbu_out>;
415 clock-frequency = <400000>;
417 lt9611_codec: hdmi-bridge@3b {
418 compatible = "lontium,lt9611";
420 #sound-dai-cells = <1>;
422 interrupts-extended = <&tlmm 9 IRQ_TYPE_EDGE_FALLING>;
424 reset-gpios = <&tlmm 7 GPIO_ACTIVE_HIGH>;
426 vdd-supply = <&vreg_s4a_1p8>;
427 vcc-supply = <&vreg_bob>;
429 pinctrl-names = "default";
430 pinctrl-0 = <<9611_irq_pin>;
433 #address-cells = <1>;
440 remote-endpoint = <&mdss_dsi0_out>;
448 remote-endpoint = <&mdss_dsi1_out>;
455 lt9611_out: endpoint {
456 remote-endpoint = <&hdmi_con>;
473 remote-endpoint = <&usb_1_qmpphy_dp_in>;
478 vdda-supply = <&vreg_l3c_1p2>;
486 remote-endpoint = <<9611_a>;
487 data-lanes = <0 1 2 3>;
495 vdds-supply = <&vreg_l5a_0p875>;
499 vdda-supply = <&vreg_l3c_1p2>;
503 /* DSI1 is slave, so use DSI0 clocks */
504 assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
511 remote-endpoint = <<9611_b>;
512 data-lanes = <0 1 2 3>;
519 vdds-supply = <&vreg_l5a_0p875>;
524 regulator-min-microamp = <500000>;
525 regulator-max-microamp = <3000000>;
532 vdd-pdphy-supply = <&vreg_l2a_3p1>;
535 compatible = "usb-c-connector";
537 power-role = "source";
541 source-pdos = <PDO_FIXED(5000, 3000,
542 PDO_FIXED_DUAL_ROLE |
544 PDO_FIXED_DATA_SWAP)>;
548 svid = /bits/ 16 <0xff01>;
554 #address-cells = <1>;
559 pm8150b_role_switch_in: endpoint {
560 remote-endpoint = <&usb_1_dwc3_hs>;
566 pm8150b_typec_mux_in: endpoint {
567 remote-endpoint = <&usb_1_qmpphy_out>;
574 pm8150b_typec_sbu_out: endpoint {
575 remote-endpoint = <&fsa4480_sbu_mux>;
589 linux,code = <KEY_VOLUMEDOWN>;
603 firmware-name = "qcom/sm8150/adsp.mbn";
609 firmware-name = "qcom/sm8150/cdsp.mbn";
615 firmware-name = "qcom/sm8150/slpi.mbn";
619 gpio-reserved-ranges = <0 4>, <126 4>;
621 lt9611_irq_pin: lt9611-irq-state {
636 reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>;
638 vcc-supply = <&vreg_l10a_2p5>;
639 vcc-max-microamp = <750000>;
640 vccq-supply = <&vreg_l9a_1p2>;
641 vccq-max-microamp = <700000>;
642 vccq2-supply = <&vreg_s4a_1p8>;
643 vccq2-max-microamp = <750000>;
649 vdda-phy-supply = <&vdda_ufs_2ln_core_1>;
650 vdda-pll-supply = <&vreg_l3c_1p2>;
655 vdda-pll-supply = <&vdd_usb_hs_core>;
656 vdda33-supply = <&vdda_usb_hs_3p1>;
657 vdda18-supply = <&vdda_usb_hs_1p8>;
662 vdda-pll-supply = <&vdd_usb_hs_core>;
663 vdda33-supply = <&vdda_usb_hs_3p1>;
664 vdda18-supply = <&vdda_usb_hs_1p8>;
669 vdda-phy-supply = <&vreg_l3c_1p2>;
670 vdda-pll-supply = <&vreg_l18a_0p8>;
674 &usb_1_qmpphy_dp_in {
675 remote-endpoint = <&mdss_dp_out>;
679 remote-endpoint = <&pm8150b_typec_mux_in>;
682 &usb_1_qmpphy_usb_ss_in {
683 remote-endpoint = <&usb_1_dwc3_ss>;
688 vdda-phy-supply = <&vreg_l3c_1p2>;
689 vdda-pll-supply = <&vreg_l5a_0p875>;
706 remote-endpoint = <&pm8150b_role_switch_in>;
710 remote-endpoint = <&usb_1_qmpphy_usb_ss_in>;