1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
11 #include "x1e80100.dtsi"
12 #include "x1e80100-pmics.dtsi"
15 model = "Qualcomm Technologies, Inc. X1E80100 CRD";
16 compatible = "qcom,x1e80100-crd", "qcom,x1e80100";
22 wcd938x: audio-codec {
23 compatible = "qcom,wcd9385-codec";
25 pinctrl-names = "default";
26 pinctrl-0 = <&wcd_default>;
28 qcom,micbias1-microvolt = <1800000>;
29 qcom,micbias2-microvolt = <1800000>;
30 qcom,micbias3-microvolt = <1800000>;
31 qcom,micbias4-microvolt = <1800000>;
32 qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
33 qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
34 qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
35 qcom,rx-device = <&wcd_rx>;
36 qcom,tx-device = <&wcd_tx>;
38 reset-gpios = <&tlmm 191 GPIO_ACTIVE_LOW>;
40 vdd-buck-supply = <&vreg_l15b_1p8>;
41 vdd-rxtx-supply = <&vreg_l15b_1p8>;
42 vdd-io-supply = <&vreg_l15b_1p8>;
43 vdd-mic-bias-supply = <&vreg_bob1>;
45 #sound-dai-cells = <1>;
49 stdout-path = "serial0:115200n8";
53 compatible = "qcom,x1e80100-sndcard";
54 model = "X1E80100-CRD";
55 audio-routing = "WooferLeft IN", "WSA WSA_SPK1 OUT",
56 "TwitterLeft IN", "WSA WSA_SPK2 OUT",
57 "WooferRight IN", "WSA2 WSA_SPK2 OUT",
58 "TwitterRight IN", "WSA2 WSA_SPK2 OUT",
59 "IN1_HPHL", "HPHL_OUT",
60 "IN2_HPHR", "HPHR_OUT",
62 "VA DMIC0", "MIC BIAS3",
63 "VA DMIC1", "MIC BIAS3",
64 "VA DMIC2", "MIC BIAS1",
65 "VA DMIC3", "MIC BIAS1",
66 "VA DMIC0", "VA MIC BIAS3",
67 "VA DMIC1", "VA MIC BIAS3",
68 "VA DMIC2", "VA MIC BIAS1",
69 "VA DMIC3", "VA MIC BIAS1",
70 "TX SWR_INPUT1", "ADC2_OUTPUT";
72 wcd-playback-dai-link {
73 link-name = "WCD Playback";
76 sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
80 sound-dai = <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
88 wcd-capture-dai-link {
89 link-name = "WCD Capture";
92 sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
96 sound-dai = <&wcd938x 1>, <&swr2 0>, <&lpass_txmacro 0>;
100 sound-dai = <&q6apm>;
105 link-name = "WSA Playback";
108 sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
112 sound-dai = <&left_woofer>, <&left_tweeter>,
113 <&swr0 0>, <&lpass_wsamacro 0>,
114 <&right_woofer>, <&right_tweeter>,
115 <&swr3 0>, <&lpass_wsa2macro 0>;
119 sound-dai = <&q6apm>;
124 link-name = "VA Capture";
127 sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
131 sound-dai = <&lpass_vamacro 0>;
135 sound-dai = <&q6apm>;
140 vph_pwr: vph-pwr-regulator {
141 compatible = "regulator-fixed";
143 regulator-name = "vph_pwr";
144 regulator-min-microvolt = <3700000>;
145 regulator-max-microvolt = <3700000>;
151 vreg_edp_3p3: regulator-edp-3p3 {
152 compatible = "regulator-fixed";
154 regulator-name = "VREG_EDP_3P3";
155 regulator-min-microvolt = <3300000>;
156 regulator-max-microvolt = <3300000>;
158 gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
161 pinctrl-0 = <&edp_reg_en>;
162 pinctrl-names = "default";
171 compatible = "qcom,pm8550-rpmh-regulators";
174 vdd-bob1-supply = <&vph_pwr>;
175 vdd-bob2-supply = <&vph_pwr>;
176 vdd-l1-l4-l10-supply = <&vreg_s4c_1p8>;
177 vdd-l2-l13-l14-supply = <&vreg_bob1>;
178 vdd-l5-l16-supply = <&vreg_bob1>;
179 vdd-l6-l7-supply = <&vreg_bob2>;
180 vdd-l8-l9-supply = <&vreg_bob1>;
181 vdd-l12-supply = <&vreg_s5j_1p2>;
182 vdd-l15-supply = <&vreg_s4c_1p8>;
183 vdd-l17-supply = <&vreg_bob2>;
186 regulator-name = "vreg_bob1";
187 regulator-min-microvolt = <3008000>;
188 regulator-max-microvolt = <3960000>;
189 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
193 regulator-name = "vreg_bob2";
194 regulator-min-microvolt = <2504000>;
195 regulator-max-microvolt = <3008000>;
196 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
200 regulator-name = "vreg_l1b_1p8";
201 regulator-min-microvolt = <1800000>;
202 regulator-max-microvolt = <1800000>;
203 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
207 regulator-name = "vreg_l2b_3p0";
208 regulator-min-microvolt = <3072000>;
209 regulator-max-microvolt = <3100000>;
210 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
214 regulator-name = "vreg_l4b_1p8";
215 regulator-min-microvolt = <1800000>;
216 regulator-max-microvolt = <1800000>;
217 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
221 regulator-name = "vreg_l5b_3p0";
222 regulator-min-microvolt = <3000000>;
223 regulator-max-microvolt = <3000000>;
224 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
228 regulator-name = "vreg_l6b_1p8";
229 regulator-min-microvolt = <1800000>;
230 regulator-max-microvolt = <2960000>;
231 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
235 regulator-name = "vreg_l7b_2p8";
236 regulator-min-microvolt = <2800000>;
237 regulator-max-microvolt = <2800000>;
238 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
242 regulator-name = "vreg_l8b_3p0";
243 regulator-min-microvolt = <3072000>;
244 regulator-max-microvolt = <3072000>;
245 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
249 regulator-name = "vreg_l9b_2p9";
250 regulator-min-microvolt = <2960000>;
251 regulator-max-microvolt = <2960000>;
252 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
255 vreg_l10b_1p8: ldo10 {
256 regulator-name = "vreg_l10b_1p8";
257 regulator-min-microvolt = <1800000>;
258 regulator-max-microvolt = <1800000>;
259 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
262 vreg_l12b_1p2: ldo12 {
263 regulator-name = "vreg_l12b_1p2";
264 regulator-min-microvolt = <1200000>;
265 regulator-max-microvolt = <1200000>;
266 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
269 vreg_l13b_3p0: ldo13 {
270 regulator-name = "vreg_l13b_3p0";
271 regulator-min-microvolt = <3072000>;
272 regulator-max-microvolt = <3100000>;
273 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
276 vreg_l14b_3p0: ldo14 {
277 regulator-name = "vreg_l14b_3p0";
278 regulator-min-microvolt = <3072000>;
279 regulator-max-microvolt = <3072000>;
280 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
283 vreg_l15b_1p8: ldo15 {
284 regulator-name = "vreg_l15b_1p8";
285 regulator-min-microvolt = <1800000>;
286 regulator-max-microvolt = <1800000>;
287 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
290 vreg_l16b_2p9: ldo16 {
291 regulator-name = "vreg_l16b_2p9";
292 regulator-min-microvolt = <2912000>;
293 regulator-max-microvolt = <2912000>;
294 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
297 vreg_l17b_2p5: ldo17 {
298 regulator-name = "vreg_l17b_2p5";
299 regulator-min-microvolt = <2504000>;
300 regulator-max-microvolt = <2504000>;
301 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
306 compatible = "qcom,pm8550ve-rpmh-regulators";
309 vdd-l1-supply = <&vreg_s5j_1p2>;
310 vdd-l2-supply = <&vreg_s1f_0p7>;
311 vdd-l3-supply = <&vreg_s1f_0p7>;
312 vdd-s4-supply = <&vph_pwr>;
314 vreg_s4c_1p8: smps4 {
315 regulator-name = "vreg_s4c_1p8";
316 regulator-min-microvolt = <1856000>;
317 regulator-max-microvolt = <2000000>;
318 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
322 regulator-name = "vreg_l1c_1p2";
323 regulator-min-microvolt = <1200000>;
324 regulator-max-microvolt = <1200000>;
325 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
329 regulator-name = "vreg_l2c_0p8";
330 regulator-min-microvolt = <880000>;
331 regulator-max-microvolt = <920000>;
332 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
336 regulator-name = "vreg_l3c_0p8";
337 regulator-min-microvolt = <880000>;
338 regulator-max-microvolt = <920000>;
339 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
344 compatible = "qcom,pmc8380-rpmh-regulators";
347 vdd-l1-supply = <&vreg_s1f_0p7>;
348 vdd-l2-supply = <&vreg_s1f_0p7>;
349 vdd-l3-supply = <&vreg_s4c_1p8>;
350 vdd-s1-supply = <&vph_pwr>;
353 regulator-name = "vreg_l1d_0p8";
354 regulator-min-microvolt = <880000>;
355 regulator-max-microvolt = <920000>;
356 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
360 regulator-name = "vreg_l2d_0p9";
361 regulator-min-microvolt = <912000>;
362 regulator-max-microvolt = <920000>;
363 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
367 regulator-name = "vreg_l3d_1p8";
368 regulator-min-microvolt = <1800000>;
369 regulator-max-microvolt = <1800000>;
370 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
375 compatible = "qcom,pmc8380-rpmh-regulators";
378 vdd-l2-supply = <&vreg_s1f_0p7>;
379 vdd-l3-supply = <&vreg_s5j_1p2>;
382 regulator-name = "vreg_l2e_0p8";
383 regulator-min-microvolt = <880000>;
384 regulator-max-microvolt = <920000>;
385 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
389 regulator-name = "vreg_l3e_1p2";
390 regulator-min-microvolt = <1200000>;
391 regulator-max-microvolt = <1200000>;
392 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
397 compatible = "qcom,pmc8380-rpmh-regulators";
400 vdd-l1-supply = <&vreg_s5j_1p2>;
401 vdd-l2-supply = <&vreg_s5j_1p2>;
402 vdd-l3-supply = <&vreg_s5j_1p2>;
403 vdd-s1-supply = <&vph_pwr>;
405 vreg_s1f_0p7: smps1 {
406 regulator-name = "vreg_s1f_0p7";
407 regulator-min-microvolt = <700000>;
408 regulator-max-microvolt = <1100000>;
409 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
413 regulator-name = "vreg_l1f_1p0";
414 regulator-min-microvolt = <1024000>;
415 regulator-max-microvolt = <1024000>;
416 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
420 regulator-name = "vreg_l2f_1p0";
421 regulator-min-microvolt = <1024000>;
422 regulator-max-microvolt = <1024000>;
423 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
427 regulator-name = "vreg_l3f_1p0";
428 regulator-min-microvolt = <1024000>;
429 regulator-max-microvolt = <1024000>;
430 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
435 compatible = "qcom,pm8550ve-rpmh-regulators";
438 vdd-l1-supply = <&vreg_s4c_1p8>;
439 vdd-l2-supply = <&vreg_s5j_1p2>;
440 vdd-l3-supply = <&vreg_s1f_0p7>;
441 vdd-s1-supply = <&vph_pwr>;
442 vdd-s2-supply = <&vph_pwr>;
444 vreg_s1i_0p9: smps1 {
445 regulator-name = "vreg_s1i_0p9";
446 regulator-min-microvolt = <900000>;
447 regulator-max-microvolt = <920000>;
448 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
451 vreg_s2i_1p0: smps2 {
452 regulator-name = "vreg_s2i_1p0";
453 regulator-min-microvolt = <1000000>;
454 regulator-max-microvolt = <1100000>;
455 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
459 regulator-name = "vreg_l1i_1p8";
460 regulator-min-microvolt = <1800000>;
461 regulator-max-microvolt = <1800000>;
462 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
466 regulator-name = "vreg_l2i_1p2";
467 regulator-min-microvolt = <1200000>;
468 regulator-max-microvolt = <1200000>;
469 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
473 regulator-name = "vreg_l3i_0p8";
474 regulator-min-microvolt = <880000>;
475 regulator-max-microvolt = <920000>;
476 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
481 compatible = "qcom,pm8550ve-rpmh-regulators";
484 vdd-l1-supply = <&vreg_s1f_0p7>;
485 vdd-l2-supply = <&vreg_s5j_1p2>;
486 vdd-l3-supply = <&vreg_s1f_0p7>;
487 vdd-s5-supply = <&vph_pwr>;
489 vreg_s5j_1p2: smps5 {
490 regulator-name = "vreg_s5j_1p2";
491 regulator-min-microvolt = <1256000>;
492 regulator-max-microvolt = <1304000>;
493 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
497 regulator-name = "vreg_l1j_0p8";
498 regulator-min-microvolt = <880000>;
499 regulator-max-microvolt = <920000>;
500 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
504 regulator-name = "vreg_l2j_1p2";
505 regulator-min-microvolt = <1200000>;
506 regulator-max-microvolt = <1200000>;
507 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
511 regulator-name = "vreg_l3j_0p8";
512 regulator-min-microvolt = <880000>;
513 regulator-max-microvolt = <920000>;
514 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
520 clock-frequency = <400000>;
525 compatible = "hid-over-i2c";
528 hid-descr-addr = <0x1>;
529 interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
531 pinctrl-0 = <&tpad_default>;
532 pinctrl-names = "default";
538 compatible = "hid-over-i2c";
541 hid-descr-addr = <0x1>;
542 interrupts-extended = <&tlmm 67 IRQ_TYPE_LEVEL_LOW>;
544 pinctrl-0 = <&kybd_default>;
545 pinctrl-names = "default";
552 clock-frequency = <400000>;
557 compatible = "hid-over-i2c";
560 hid-descr-addr = <0x1>;
561 interrupts-extended = <&tlmm 51 IRQ_TYPE_LEVEL_LOW>;
563 pinctrl-0 = <&ts0_default>;
564 pinctrl-names = "default";
569 spkr_01_sd_n_active: spkr-01-sd-n-active-state {
572 drive-strength = <16>;
577 spkr_23_sd_n_active: spkr-23-sd-n-active-state {
580 drive-strength = <16>;
587 pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
588 pinctrl-names = "default";
590 vdd-micb-supply = <&vreg_l1b_1p8>;
591 qcom,dmic-sample-rate = <4800000>;
599 compatible = "qcom,x1e80100-dp";
600 /delete-property/ #sound-dai-cells;
606 compatible = "edp-panel";
607 power-supply = <&vreg_edp_3p3>;
610 edp_panel_in: endpoint {
611 remote-endpoint = <&mdss_dp3_out>;
620 mdss_dp3_out: endpoint {
621 data-lanes = <0 1 2 3>;
622 link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
624 remote-endpoint = <&edp_panel_in>;
631 vdda-phy-supply = <&vreg_l3j_0p8>;
632 vdda-pll-supply = <&vreg_l2j_1p2>;
642 vdda-phy-supply = <&vreg_l3j_0p8>;
643 vdda-pll-supply = <&vreg_l3e_1p2>;
653 vdda-phy-supply = <&vreg_l3j_0p8>;
654 vdda-pll-supply = <&vreg_l2j_1p2>;
672 firmware-name = "qcom/x1e80100/adsp.mbn",
673 "qcom/x1e80100/adsp_dtb.mbn";
679 firmware-name = "qcom/x1e80100/cdsp.mbn",
680 "qcom/x1e80100/cdsp_dtb.mbn";
685 &smb2360_0_eusb2_repeater {
686 vdd18-supply = <&vreg_l3d_1p8>;
687 vdd3-supply = <&vreg_l2b_3p0>;
690 &smb2360_1_eusb2_repeater {
691 vdd18-supply = <&vreg_l3d_1p8>;
692 vdd3-supply = <&vreg_l14b_3p0>;
695 &smb2360_2_eusb2_repeater {
696 vdd18-supply = <&vreg_l3d_1p8>;
697 vdd3-supply = <&vreg_l8b_3p0>;
703 pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>;
704 pinctrl-names = "default";
706 /* WSA8845, Left Woofer */
707 left_woofer: speaker@0,0 {
708 compatible = "sdw20217020400";
710 reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
711 #sound-dai-cells = <0>;
712 sound-name-prefix = "WooferLeft";
713 vdd-1p8-supply = <&vreg_l15b_1p8>;
714 vdd-io-supply = <&vreg_l12b_1p2>;
717 /* WSA8845, Left Tweeter */
718 left_tweeter: speaker@0,1 {
719 compatible = "sdw20217020400";
721 reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
722 #sound-dai-cells = <0>;
723 sound-name-prefix = "TwitterLeft";
724 vdd-1p8-supply = <&vreg_l15b_1p8>;
725 vdd-io-supply = <&vreg_l12b_1p2>;
734 compatible = "sdw20217010d00";
736 qcom,rx-port-mapping = <1 2 3 4 5>;
745 compatible = "sdw20217010d00";
747 qcom,tx-port-mapping = <1 1 2 3>;
754 pinctrl-0 = <&wsa2_swr_active>, <&spkr_23_sd_n_active>;
755 pinctrl-names = "default";
757 /* WSA8845, Right Woofer */
758 right_woofer: speaker@0,0 {
759 compatible = "sdw20217020400";
761 reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
762 #sound-dai-cells = <0>;
763 sound-name-prefix = "WooferRight";
764 vdd-1p8-supply = <&vreg_l15b_1p8>;
765 vdd-io-supply = <&vreg_l12b_1p2>;
768 /* WSA8845, Right Tweeter */
769 right_tweeter: speaker@0,1 {
770 compatible = "sdw20217020400";
772 reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
773 #sound-dai-cells = <0>;
774 sound-name-prefix = "TwitterRight";
775 vdd-1p8-supply = <&vreg_l15b_1p8>;
776 vdd-io-supply = <&vreg_l12b_1p2>;
781 gpio-reserved-ranges = <34 2>, /* Unused */
782 <44 4>, /* SPI (TPM) */
783 <238 1>; /* UFS Reset */
785 edp_reg_en: edp-reg-en-state {
788 drive-strength = <16>;
792 kybd_default: kybd-default-state {
798 tpad_default: tpad-default-state {
804 ts0_default: ts0-default-state {
815 drive-strength = <16>;
819 wcd_default: wcd-reset-n-active-state {
822 drive-strength = <16>;
829 compatible = "qcom,geni-debug-uart";
834 vdd-supply = <&vreg_l2e_0p8>;
835 vdda12-supply = <&vreg_l3e_1p2>;
837 phys = <&smb2360_0_eusb2_repeater>;
856 vdd-supply = <&vreg_l2e_0p8>;
857 vdda12-supply = <&vreg_l3e_1p2>;
859 phys = <&smb2360_1_eusb2_repeater>;
878 vdd-supply = <&vreg_l2e_0p8>;
879 vdda12-supply = <&vreg_l3e_1p2>;
881 phys = <&smb2360_2_eusb2_repeater>;