1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2022, Linaro Limited
8 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
9 #include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
10 #include "sm8450.dtsi"
11 #include "pm8350.dtsi"
12 #include "pm8350b.dtsi"
13 #include "pm8350c.dtsi"
14 #include "pm8450.dtsi"
15 #include "pmk8350.dtsi"
16 #include "pmr735a.dtsi"
17 #include "pmr735b.dtsi"
20 model = "Qualcomm Technologies, Inc. SM8450 HDK";
21 compatible = "qcom,sm8450-hdk", "qcom,sm8450";
27 wcd938x: audio-codec {
28 compatible = "qcom,wcd9385-codec";
30 pinctrl-names = "default";
31 pinctrl-0 = <&wcd_default>;
33 qcom,micbias1-microvolt = <1800000>;
34 qcom,micbias2-microvolt = <1800000>;
35 qcom,micbias3-microvolt = <1800000>;
36 qcom,micbias4-microvolt = <1800000>;
37 qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
38 qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
39 qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
40 qcom,rx-device = <&wcd_rx>;
41 qcom,tx-device = <&wcd_tx>;
43 reset-gpios = <&tlmm 43 GPIO_ACTIVE_LOW>;
45 vdd-buck-supply = <&vreg_s10b_1p8>;
46 vdd-rxtx-supply = <&vreg_s10b_1p8>;
47 vdd-io-supply = <&vreg_s10b_1p8>;
48 vdd-mic-bias-supply = <&vreg_bob>;
50 #sound-dai-cells = <1>;
54 stdout-path = "serial0:115200n8";
58 compatible = "hdmi-connector";
62 hdmi_connector_out: endpoint {
63 remote-endpoint = <<9611_out>;
68 lt9611_1v2: lt9611-vdd12-regulator {
69 compatible = "regulator-fixed";
70 regulator-name = "LT9611_1V2";
72 vin-supply = <&vph_pwr>;
73 regulator-min-microvolt = <1200000>;
74 regulator-max-microvolt = <1200000>;
75 gpio = <&tlmm 9 GPIO_ACTIVE_HIGH>;
79 lt9611_3v3: lt9611-3v3-regulator {
80 compatible = "regulator-fixed";
81 regulator-name = "LT9611_3V3";
83 vin-supply = <&vreg_bob>;
84 gpio = <&tlmm 109 GPIO_ACTIVE_HIGH>;
85 regulator-min-microvolt = <3300000>;
86 regulator-max-microvolt = <3300000>;
91 compatible = "qcom,sm8450-pmic-glink", "qcom,pmic-glink";
96 compatible = "usb-c-connector";
102 #address-cells = <1>;
108 pmic_glink_hs_in: endpoint {
109 remote-endpoint = <&usb_1_dwc3_hs>;
116 pmic_glink_ss_in: endpoint {
117 remote-endpoint = <&usb_1_dwc3_ss>;
124 vph_pwr: vph-pwr-regulator {
125 compatible = "regulator-fixed";
126 regulator-name = "vph_pwr";
127 regulator-min-microvolt = <3700000>;
128 regulator-max-microvolt = <3700000>;
137 compatible = "qcom,pm8350-rpmh-regulators";
140 vdd-s1-supply = <&vph_pwr>;
141 vdd-s2-supply = <&vph_pwr>;
142 vdd-s3-supply = <&vph_pwr>;
143 vdd-s4-supply = <&vph_pwr>;
144 vdd-s5-supply = <&vph_pwr>;
145 vdd-s6-supply = <&vph_pwr>;
146 vdd-s7-supply = <&vph_pwr>;
147 vdd-s8-supply = <&vph_pwr>;
148 vdd-s9-supply = <&vph_pwr>;
149 vdd-s10-supply = <&vph_pwr>;
150 vdd-s11-supply = <&vph_pwr>;
151 vdd-s12-supply = <&vph_pwr>;
153 vdd-l1-l4-supply = <&vreg_s11b_0p95>;
154 vdd-l2-l7-supply = <&vreg_bob>;
155 vdd-l3-l5-supply = <&vreg_bob>;
156 vdd-l6-l9-l10-supply = <&vreg_s12b_1p25>;
157 vdd-l8-supply = <&vreg_s2h_0p95>;
159 vreg_s10b_1p8: smps10 {
160 regulator-name = "vreg_s10b_1p8";
161 regulator-min-microvolt = <1800000>;
162 regulator-max-microvolt = <1800000>;
165 vreg_s11b_0p95: smps11 {
166 regulator-name = "vreg_s11b_0p95";
167 regulator-min-microvolt = <966000>;
168 regulator-max-microvolt = <1104000>;
171 vreg_s12b_1p25: smps12 {
172 regulator-name = "vreg_s12b_1p25";
173 regulator-min-microvolt = <1350000>;
174 regulator-max-microvolt = <1400000>;
177 vreg_l1b_0p91: ldo1 {
178 regulator-name = "vreg_l1b_0p91";
179 regulator-min-microvolt = <912000>;
180 regulator-max-microvolt = <920000>;
181 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
184 vreg_l2b_3p07: ldo2 {
185 regulator-name = "vreg_l2b_3p07";
186 regulator-min-microvolt = <3072000>;
187 regulator-max-microvolt = <3072000>;
188 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
192 regulator-name = "vreg_l3b_0p9";
193 regulator-min-microvolt = <904000>;
194 regulator-max-microvolt = <904000>;
195 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
198 vreg_l5b_0p88: ldo5 {
199 regulator-name = "vreg_l5b_0p88";
200 regulator-min-microvolt = <880000>;
201 regulator-max-microvolt = <888000>;
202 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
206 regulator-name = "vreg_l6b_1p2";
207 regulator-min-microvolt = <1200000>;
208 regulator-max-microvolt = <1200000>;
209 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
213 regulator-name = "vreg_l7b_2p5";
214 regulator-min-microvolt = <2504000>;
215 regulator-max-microvolt = <2504000>;
216 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
220 regulator-name = "vreg_l9b_1p2";
221 regulator-min-microvolt = <1200000>;
222 regulator-max-microvolt = <1200000>;
223 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
228 compatible = "qcom,pm8350c-rpmh-regulators";
231 vdd-s1-supply = <&vph_pwr>;
232 vdd-s2-supply = <&vph_pwr>;
233 vdd-s3-supply = <&vph_pwr>;
234 vdd-s4-supply = <&vph_pwr>;
235 vdd-s5-supply = <&vph_pwr>;
236 vdd-s6-supply = <&vph_pwr>;
237 vdd-s7-supply = <&vph_pwr>;
238 vdd-s8-supply = <&vph_pwr>;
239 vdd-s9-supply = <&vph_pwr>;
240 vdd-s10-supply = <&vph_pwr>;
242 vdd-l1-l12-supply = <&vreg_bob>;
243 vdd-l2-l8-supply = <&vreg_bob>;
244 vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
245 vdd-l6-l9-l11-supply = <&vreg_bob>;
246 vdd-l10-supply = <&vreg_s12b_1p25>;
248 vdd-bob-supply = <&vph_pwr>;
250 vreg_s1c_1p86: smps1 {
251 regulator-name = "vreg_s1c_1p86";
252 regulator-min-microvolt = <1800000>;
253 regulator-max-microvolt = <2024000>;
256 vreg_s10c_1p05: smps10 {
257 regulator-name = "vreg_s10c_1p05";
258 regulator-min-microvolt = <1000000>;
259 regulator-max-microvolt = <1100000>;
263 regulator-name = "vreg_bob";
264 regulator-min-microvolt = <3008000>;
265 regulator-max-microvolt = <3960000>;
266 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
270 regulator-name = "vreg_l1c_1p8";
271 regulator-min-microvolt = <1800000>;
272 regulator-max-microvolt = <1800000>;
273 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
277 regulator-name = "vreg_l3c_3p0";
278 regulator-min-microvolt = <3296000>;
279 regulator-max-microvolt = <3304000>;
280 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
284 regulator-name = "vreg_l4c_1p8";
285 regulator-min-microvolt = <1704000>;
286 regulator-max-microvolt = <3000000>;
287 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
291 regulator-name = "vreg_l5c_1p8";
292 regulator-min-microvolt = <1704000>;
293 regulator-max-microvolt = <3000000>;
294 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
298 regulator-name = "vreg_l6c_1p8";
299 regulator-min-microvolt = <1800000>;
300 regulator-max-microvolt = <3008000>;
301 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
305 regulator-name = "vreg_l7c_3p0";
306 regulator-min-microvolt = <3008000>;
307 regulator-max-microvolt = <3008000>;
308 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
312 regulator-name = "vreg_l8c_1p8";
313 regulator-min-microvolt = <1800000>;
314 regulator-max-microvolt = <1800000>;
315 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
318 vreg_l9c_2p96: ldo9 {
319 regulator-name = "vreg_l9c_2p96";
320 regulator-min-microvolt = <2960000>;
321 regulator-max-microvolt = <3008000>;
322 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
325 vreg_l12c_1p8: ldo12 {
326 regulator-name = "vreg_l12c_1p8";
327 regulator-min-microvolt = <1800000>;
328 regulator-max-microvolt = <1968000>;
329 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
332 vreg_l13c_3p0: ldo13 {
333 regulator-name = "vreg_l13c_3p0";
334 regulator-min-microvolt = <3000000>;
335 regulator-max-microvolt = <3000000>;
336 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
341 compatible = "qcom,pm8450-rpmh-regulators";
344 vdd-s1-supply = <&vph_pwr>;
345 vdd-s2-supply = <&vph_pwr>;
346 vdd-s3-supply = <&vph_pwr>;
347 vdd-s4-supply = <&vph_pwr>;
348 vdd-s5-supply = <&vph_pwr>;
349 vdd-s6-supply = <&vph_pwr>;
351 vdd-l2-supply = <&vreg_bob>;
352 vdd-l3-supply = <&vreg_bob>;
353 vdd-l4-supply = <&vreg_bob>;
355 vreg_s2h_0p95: smps2 {
356 regulator-name = "vreg_s2h_0p95";
357 regulator-min-microvolt = <848000>;
358 regulator-max-microvolt = <1104000>;
361 vreg_s3h_0p5: smps3 {
362 regulator-name = "vreg_s3h_0p5";
363 regulator-min-microvolt = <500000>;
364 regulator-max-microvolt = <500000>;
367 vreg_l2h_0p91: ldo2 {
368 regulator-name = "vreg_l2h_0p91";
369 regulator-min-microvolt = <880000>;
370 regulator-max-microvolt = <912000>;
371 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
374 vreg_l3h_0p91: ldo3 {
375 regulator-name = "vreg_l3h_0p91";
376 regulator-min-microvolt = <912000>;
377 regulator-max-microvolt = <912000>;
378 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
383 compatible = "qcom,pmr735a-rpmh-regulators";
386 vdd-s1-supply = <&vph_pwr>;
387 vdd-s2-supply = <&vph_pwr>;
388 vdd-s3-supply = <&vph_pwr>;
390 vdd-l1-l2-supply = <&vreg_s2e_0p85>;
391 vdd-l3-supply = <&vreg_s1e_1p25>;
392 vdd-l4-supply = <&vreg_s1c_1p86>;
393 vdd-l5-l6-supply = <&vreg_s1c_1p86>;
394 vdd-l7-bob-supply = <&vreg_bob>;
396 vreg_s1e_1p25: smps1 {
397 regulator-name = "vreg_s1e_1p25";
398 regulator-min-microvolt = <1200000>;
399 regulator-max-microvolt = <1296000>;
402 vreg_s2e_0p85: smps2 {
403 regulator-name = "vreg_s2e_0p85";
404 regulator-min-microvolt = <500000>;
405 regulator-max-microvolt = <1040000>;
409 regulator-name = "vreg_l1e_0p8";
410 regulator-min-microvolt = <800000>;
411 regulator-max-microvolt = <800000>;
415 regulator-name = "vreg_l2e_0p8";
416 regulator-min-microvolt = <800000>;
417 regulator-max-microvolt = <800000>;
421 regulator-name = "vreg_l3e_1p2";
422 regulator-min-microvolt = <1200000>;
423 regulator-max-microvolt = <1200000>;
427 regulator-name = "vreg_l4e_1p7";
428 regulator-min-microvolt = <1776000>;
429 regulator-max-microvolt = <1776000>;
432 vreg_l5e_0p88: ldo5 {
433 regulator-name = "vreg_l5e_0p88";
434 regulator-min-microvolt = <880000>;
435 regulator-max-microvolt = <880000>;
439 regulator-name = "vreg_l6e_1p2";
440 regulator-min-microvolt = <1200000>;
441 regulator-max-microvolt = <1200000>;
445 regulator-name = "vreg_l7e_2p8";
446 regulator-min-microvolt = <2800000>;
447 regulator-max-microvolt = <2800000>;
457 clock-frequency = <400000>;
460 lt9611_codec: hdmi-bridge@2b {
461 compatible = "lontium,lt9611uxc";
464 interrupts-extended = <&tlmm 44 IRQ_TYPE_EDGE_FALLING>;
466 reset-gpios = <&tlmm 107 GPIO_ACTIVE_HIGH>;
468 vdd-supply = <<9611_1v2>;
469 vcc-supply = <<9611_3v3>;
471 pinctrl-names = "default";
472 pinctrl-0 = <<9611_irq_pin <9611_rst_pin>;
475 #address-cells = <1>;
482 remote-endpoint = <&mdss_dsi0_out>;
489 lt9611_out: endpoint {
490 remote-endpoint = <&hdmi_connector_out>;
502 vdda-supply = <&vreg_l6b_1p2>;
507 remote-endpoint = <<9611_a>;
508 data-lanes = <0 1 2 3>;
512 vdds-supply = <&vreg_l5b_0p88>;
522 max-link-speed = <2>;
527 vdda-phy-supply = <&vreg_l5b_0p88>;
528 vdda-pll-supply = <&vreg_l6b_1p2>;
537 vdda-phy-supply = <&vreg_l2h_0p91>;
538 vdda-pll-supply = <&vreg_l6b_1p2>;
543 firmware-name = "qcom/sm8450/adsp.mbn";
548 firmware-name = "qcom/sm8450/cdsp.mbn";
553 firmware-name = "qcom/sm8450/modem.mbn";
558 firmware-name = "qcom/sm8450/slpi.mbn";
570 cd-gpios = <&tlmm 92 GPIO_ACTIVE_HIGH>;
571 pinctrl-names = "default", "sleep";
572 pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>;
573 pinctrl-1 = <&sdc2_sleep_state &sdc2_card_det_n>;
574 vmmc-supply = <&vreg_l9c_2p96>;
575 vqmmc-supply = <&vreg_l6c_1p8>;
582 compatible = "qcom,sm8450-sndcard";
583 model = "SM8450-HDK";
584 audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
585 "SpkrRight IN", "WSA_SPK2 OUT",
586 "IN1_HPHL", "HPHL_OUT",
587 "IN2_HPHR", "HPHR_OUT",
588 "AMIC2", "MIC BIAS2",
589 "VA DMIC0", "MIC BIAS1",
590 "VA DMIC1", "MIC BIAS1",
591 "VA DMIC2", "MIC BIAS3",
592 "TX DMIC0", "MIC BIAS1",
593 "TX DMIC1", "MIC BIAS2",
594 "TX DMIC2", "MIC BIAS3",
595 "TX SWR_ADC1", "ADC2_OUTPUT";
597 wcd-playback-dai-link {
598 link-name = "WCD Playback";
601 sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
605 sound-dai = <&wcd938x 0>, <&swr1 0>, <&rxmacro 0>;
609 sound-dai = <&q6apm>;
613 wcd-capture-dai-link {
614 link-name = "WCD Capture";
617 sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
621 sound-dai = <&wcd938x 1>, <&swr2 0>, <&txmacro 0>;
625 sound-dai = <&q6apm>;
630 link-name = "WSA Playback";
633 sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
637 sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 0>;
641 sound-dai = <&q6apm>;
646 link-name = "VA Capture";
649 sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
653 sound-dai = <&vamacro 0>;
657 sound-dai = <&q6apm>;
665 left_spkr: speaker@0,1 {
666 compatible = "sdw10217020200";
668 pinctrl-names = "default";
669 pinctrl-0 = <&spkr_1_sd_n_active>;
670 powerdown-gpios = <&tlmm 1 GPIO_ACTIVE_LOW>;
671 #sound-dai-cells = <0>;
672 sound-name-prefix = "SpkrLeft";
673 #thermal-sensor-cells = <0>;
674 vdd-supply = <&vreg_s10b_1p8>;
677 right_spkr: speaker@0,2 {
678 compatible = "sdw10217020200";
680 pinctrl-names = "default";
681 pinctrl-0 = <&spkr_2_sd_n_active>;
682 powerdown-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>;
683 #sound-dai-cells = <0>;
684 sound-name-prefix = "SpkrRight";
685 #thermal-sensor-cells = <0>;
686 vdd-supply = <&vreg_s10b_1p8>;
694 compatible = "sdw20217010d00";
696 qcom,rx-port-mapping = <1 2 3 4 5>;
704 compatible = "sdw20217010d00";
706 qcom,tx-port-mapping = <1 1 2 3>;
711 gpio-reserved-ranges = <28 4>, <36 4>;
713 lt9611_irq_pin: lt9611-irq-state {
719 lt9611_rst_pin: lt9611-rst-state {
725 sdc2_card_det_n: sd-card-det-n-state {
728 drive-strength = <2>;
740 reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>;
742 vcc-supply = <&vreg_l7b_2p5>;
743 vcc-max-microamp = <1100000>;
744 vccq-supply = <&vreg_l9b_1p2>;
745 vccq-max-microamp = <1200000>;
751 vdda-phy-supply = <&vreg_l5b_0p88>;
752 vdda-pll-supply = <&vreg_l6b_1p2>;
765 remote-endpoint = <&pmic_glink_hs_in>;
769 remote-endpoint = <&pmic_glink_ss_in>;
775 vdda-pll-supply = <&vreg_l5b_0p88>;
776 vdda18-supply = <&vreg_l1c_1p8>;
777 vdda33-supply = <&vreg_l2b_3p07>;
783 vdda-phy-supply = <&vreg_l6b_1p2>;
784 vdda-pll-supply = <&vreg_l1b_0p91>;
788 pinctrl-0 = <&dmic01_default>, <&dmic02_default>;
789 pinctrl-names = "default";
790 vdd-micb-supply = <&vreg_s10b_1p8>;
791 qcom,dmic-sample-rate = <600000>;
797 spkr_1_sd_n_active: spkr-1-sd-n-active-state {
800 drive-strength = <16>;
805 spkr_2_sd_n_active: spkr-2-sd-n-active-state {
808 drive-strength = <16>;
813 wcd_default: wcd-reset-n-active-state {
816 drive-strength = <16>;