1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2020, Yassine Oudjana <y.oudjana@protonmail.com>
7 #include "pmi8994.dtsi"
8 #include <dt-bindings/input/input.h>
9 #include <dt-bindings/gpio/gpio.h>
10 #include <dt-bindings/leds/common.h>
11 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
15 divclk1_cdc: divclk1 {
16 compatible = "gpio-gate-clock";
17 clocks = <&rpmcc RPM_SMD_DIV_CLK1>;
19 enable-gpios = <&pm8994_gpios 15 GPIO_ACTIVE_HIGH>;
21 pinctrl-names = "default";
22 pinctrl-0 = <&divclk1_default>;
26 compatible = "fixed-clock";
28 clock-frequency = <32768>;
29 clock-output-names = "divclk4";
31 pinctrl-names = "default";
32 pinctrl-0 = <&divclk4_pin_a>;
37 compatible = "gpio-keys";
41 gpios = <&pm8994_gpios 2 GPIO_ACTIVE_LOW>;
42 linux,code = <KEY_VOLUMEUP>;
44 debounce-interval = <15>;
49 gpios = <&tlmm 34 GPIO_ACTIVE_LOW>;
50 linux,code = <KEY_HOME>;
52 debounce-interval = <15>;
57 compatible = "pwm-ir-tx";
58 pwms = <&pm8994_lpg 1 1000000>;
60 pinctrl-names = "default";
61 pinctrl-0 = <&irled_default>;
66 reg = <0x0 0x88800000 0x0 0x1400000>;
70 /* This platform has all PIL regions offset by 0x1400000 */
71 /delete-node/ mpss@88800000;
72 mpss_mem: mpss@89c00000 {
73 reg = <0x0 0x89c00000 0x0 0x6200000>;
77 /delete-node/ adsp@8ea00000;
78 adsp_mem: adsp@8fe00000 {
79 reg = <0x0 0x8fe00000 0x0 0x1b00000>;
83 /delete-node/ slpi@90500000;
84 slpi_mem: slpi@91900000 {
85 reg = <0x0 0x91900000 0x0 0xa00000>;
89 /delete-node/ gpu@90f00000;
90 gpu_mem: gpu@92300000 {
91 compatible = "shared-dma-pool";
92 reg = <0x0 0x92300000 0x0 0x2000>;
96 /delete-node/ venus@91000000;
97 venus_mem: venus@92400000 {
98 reg = <0x0 0x92400000 0x0 0x500000>;
103 compatible = "ramoops";
104 reg = <0x0 0x92900000 0x0 0x100000>;
107 record-size = <0x8000>;
108 console-size = <0x80000>;
109 ftrace-size = <0x20000>;
110 pmsg-size = <0x40000>;
115 compatible = "qcom,rmtfs-mem";
116 reg = <0 0xf6c00000 0 0x200000>;
119 qcom,client-id = <1>;
123 /delete-node/ mba@91500000;
124 mba_mem: mba@f6f00000 {
125 reg = <0x0 0xf6f00000 0x0 0x100000>;
130 vph_pwr: vph-pwr-regulator {
131 compatible = "regulator-fixed";
132 regulator-name = "vph_pwr";
133 regulator-min-microvolt = <3800000>;
134 regulator-max-microvolt = <3800000>;
139 vdd_3v2_tp: vdd-3v2-tp {
140 compatible = "regulator-fixed";
141 regulator-name = "vdd_3v2_tp";
142 regulator-min-microvolt = <3200000>;
143 regulator-max-microvolt = <3200000>;
144 startup-delay-us = <4000>;
145 vin-supply = <&vph_pwr>;
152 compatible = "regulator-fixed";
153 regulator-name = "vdd_3v3";
154 regulator-min-microvolt = <3300000>;
155 regulator-max-microvolt = <3300000>;
156 startup-delay-us = <4000>;
157 vin-supply = <&vph_pwr_bbyp>;
159 gpio = <&pm8994_gpios 9 0>;
161 pinctrl-names = "default";
162 pinctrl-0 = <&rome_enable_default>;
164 /* Required by QCA6174a - vddpe-3v3 */
168 /* WL_EN pin defined as a fixed regulator */
169 wlan_en: wlan-en-1-8v {
170 compatible = "regulator-fixed";
171 regulator-name = "wlan-en-regulator";
172 regulator-min-microvolt = <1800000>;
173 regulator-max-microvolt = <1800000>;
175 gpio = <&pm8994_gpios 8 0>;
176 /* WLAN card specific delay */
177 startup-delay-us = <70000>;
179 pinctrl-names = "default";
180 pinctrl-0 = <&wlan_en_default>;
190 clock-frequency = <400000>;
193 compatible = "nxp,nxp-nci-i2c";
197 interrupt-parent = <&tlmm>;
198 interrupts = <9 IRQ_TYPE_LEVEL_HIGH>;
200 enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
201 firmware-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
203 pinctrl-names = "default";
204 pinctrl-0 = <&nfc_default>;
212 compatible = "ti,tusb320l";
214 interrupt-parent = <&tlmm>;
215 interrupts = <63 IRQ_TYPE_EDGE_RISING>;
228 bluetooth: bluetooth {
229 compatible = "qcom,qca6174-bt";
231 enable-gpios = <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>;
247 vdd-supply = <&vreg_l2a_1p25>;
248 vddio-supply = <&vreg_l14a_1p8>;
250 pinctrl-names = "default", "sleep";
251 pinctrl-0 = <&mdss_dsi_default &mdss_te_default>;
252 pinctrl-1 = <&mdss_dsi_sleep &mdss_te_sleep>;
258 data-lanes = <0 1 2 3>;
264 vcca-supply = <&vreg_l28a_0p925>;
268 vdd-gfx-supply = <&vdd_gfx>;
274 pll-supply = <&vreg_l12a_1p8>;
280 /* Supplied by vdd_3v3, but choose wlan_en to drive enable pin high */
281 vddpe-3v3-supply = <&wlan_en>;
282 vdda-supply = <&vreg_l28a_0p925>;
284 perst-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
285 wake-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
291 vdda-phy-supply = <&vreg_l28a_0p925>;
292 vdda-pll-supply = <&vreg_l12a_1p8>;
298 linux,code = <KEY_VOLUMEDOWN>;
304 qcom,power-source = <1>;
310 qcom,power-source = <1>;
313 color = <LED_COLOR_ID_RGB>;
314 function = LED_FUNCTION_STATUS;
316 #address-cells = <1>;
321 color = <LED_COLOR_ID_BLUE>;
326 color = <LED_COLOR_ID_GREEN>;
331 color = <LED_COLOR_ID_RED>;
341 #address-cells = <2>;
344 tasha_ifd: tas-ifd@0,0 {
345 compatible = "slim217,1a0";
350 compatible = "slim217,1a0";
353 clock-names = "mclk", "slimbus";
354 clocks = <&divclk1_cdc>,
355 <&rpmcc RPM_SMD_BB_CLK1>;
356 interrupt-parent = <&tlmm>;
357 interrupts = <54 IRQ_TYPE_LEVEL_HIGH>,
358 <53 IRQ_TYPE_LEVEL_HIGH>;
359 interrupt-names = "intr1", "intr2";
360 interrupt-controller;
361 #interrupt-cells = <1>;
363 pinctrl-0 = <&cdc_reset_active &wcd_intr_default>;
364 pinctrl-names = "default";
366 reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
367 slim-ifc-dev = <&tasha_ifd>;
369 #sound-dai-cells = <1>;
371 vdd-buck-supply = <&vreg_s4a_1p8>;
372 vdd-buck-sido-supply = <&vreg_s4a_1p8>;
373 vdd-rx-supply = <&vreg_s4a_1p8>;
374 vdd-tx-supply = <&vreg_s4a_1p8>;
375 vdd-vbat-supply = <&vph_pwr>;
376 vdd-micbias-supply = <&vph_pwr_bbyp>;
377 vdd-io-supply = <&vreg_s4a_1p8>;
385 px-supply = <&vreg_lvs2a_1p8>;
392 qcom,select-utmi-as-pipe-clk;
398 /* usb3-phy is not used on this device */
399 phys = <&hsusb_phy1>;
400 phy-names = "usb2-phy";
402 maximum-speed = "high-speed";
403 snps,is-utmi-l1-suspend;
404 snps,usb2-gadget-lpm-disable;
405 snps,hird-threshold = /bits/ 8 <0>;
412 vdda-pll-supply = <&vreg_l12a_1p8>;
413 vdda-phy-dpdm-supply = <&vreg_l24a_3p075>;
419 vcc-supply = <&vreg_l20a_2p95>;
420 vccq-supply = <&vreg_l25a_1p2>;
421 vccq2-supply = <&vreg_s4a_1p8>;
423 vcc-max-microamp = <600000>;
424 vccq-max-microamp = <450000>;
425 vccq2-max-microamp = <450000>;
431 vdda-phy-supply = <&vreg_l28a_0p925>;
432 vdda-pll-supply = <&vreg_l12a_1p8>;
433 vddp-ref-clk-supply = <&vreg_l25a_1p2>;
442 compatible = "qcom,rpm-pm8994-regulators";
444 vdd_s1-supply = <&vph_pwr>;
445 vdd_s2-supply = <&vph_pwr>;
446 vdd_s3-supply = <&vph_pwr>;
447 vdd_s4-supply = <&vph_pwr>;
448 vdd_s5-supply = <&vph_pwr>;
449 vdd_s6-supply = <&vph_pwr>;
450 vdd_s7-supply = <&vph_pwr>;
451 vdd_s8-supply = <&vph_pwr>;
452 vdd_s9-supply = <&vph_pwr>;
453 vdd_s10-supply = <&vph_pwr>;
454 vdd_s11-supply = <&vph_pwr>;
455 vdd_s12-supply = <&vph_pwr>;
456 vdd_l1-supply = <&vreg_s1b_1p025>;
457 vdd_l2_l26_l28-supply = <&vreg_s3a_1p3>;
458 vdd_l3_l11-supply = <&vreg_s3a_1p3>;
459 vdd_l4_l27_l31-supply = <&vreg_s3a_1p3>;
460 vdd_l5_l7-supply = <&vreg_s5a_2p15>;
461 vdd_l6_l12_l32-supply = <&vreg_s5a_2p15>;
462 vdd_l8_l16_l30-supply = <&vph_pwr>;
463 vdd_l9_l10_l18_l22-supply = <&vph_pwr_bbyp>;
464 vdd_l13_l19_l23_l24-supply = <&vph_pwr_bbyp>;
465 vdd_l14_l15-supply = <&vreg_s5a_2p15>;
466 vdd_l17_l29-supply = <&vph_pwr_bbyp>;
467 vdd_l20_l21-supply = <&vph_pwr_bbyp>;
468 vdd_l25-supply = <&vreg_s3a_1p3>;
469 vdd_lvs1_2-supply = <&vreg_s4a_1p8>;
472 regulator-name = "vreg_s3a_1p3";
473 regulator-min-microvolt = <1300000>;
474 regulator-max-microvolt = <1300000>;
476 /* Required by QCA6174a - vdd-core */
480 regulator-name = "vreg_s4a_1p8";
481 regulator-min-microvolt = <1800000>;
482 regulator-max-microvolt = <1800000>;
483 regulator-allow-set-load;
485 /* Required by QCA6174a - vddio */
489 regulator-name = "vreg_s5a_2p15";
490 regulator-min-microvolt = <2150000>;
491 regulator-max-microvolt = <2150000>;
494 regulator-name = "vreg_s7a_0p8";
495 regulator-min-microvolt = <800000>;
496 regulator-max-microvolt = <800000>;
499 regulator-name = "vreg_l1a_1p0";
500 regulator-min-microvolt = <1000000>;
501 regulator-max-microvolt = <1000000>;
504 regulator-name = "vreg_l2a_1p25";
505 regulator-min-microvolt = <1250000>;
506 regulator-max-microvolt = <1250000>;
509 regulator-name = "vreg_l4a_1p225";
510 regulator-min-microvolt = <1225000>;
511 regulator-max-microvolt = <1225000>;
514 regulator-name = "vreg_l6a_1p8";
515 regulator-min-microvolt = <1800000>;
516 regulator-max-microvolt = <1800000>;
519 regulator-name = "vreg_l8a_1p8";
520 regulator-min-microvolt = <1800000>;
521 regulator-max-microvolt = <1800000>;
524 regulator-name = "vreg_l9a_1p8";
525 regulator-min-microvolt = <1800000>;
526 regulator-max-microvolt = <1800000>;
529 regulator-name = "vreg_l10a_1p8";
530 regulator-min-microvolt = <1800000>;
531 regulator-max-microvolt = <1800000>;
534 regulator-name = "vreg_l12a_1p8";
535 regulator-min-microvolt = <1800000>;
536 regulator-max-microvolt = <1800000>;
537 regulator-allow-set-load;
539 vreg_l13a_2p95: l13 {
540 regulator-name = "vreg_l13a_2p95";
541 regulator-min-microvolt = <1800000>;
542 regulator-max-microvolt = <2950000>;
545 regulator-name = "vreg_l14a_1p8";
546 regulator-min-microvolt = <1800000>;
547 regulator-max-microvolt = <1800000>;
550 regulator-name = "vreg_l15a_1p8";
551 regulator-min-microvolt = <1800000>;
552 regulator-max-microvolt = <1800000>;
555 regulator-name = "vreg_l16a_2p7";
556 regulator-min-microvolt = <2700000>;
557 regulator-max-microvolt = <2700000>;
560 regulator-name = "vreg_l19a_3p3";
561 regulator-min-microvolt = <3000000>;
562 regulator-max-microvolt = <3000000>;
564 vreg_l20a_2p95: l20 {
565 regulator-name = "vreg_l20a_2p95";
566 regulator-min-microvolt = <2950000>;
567 regulator-max-microvolt = <2950000>;
568 regulator-allow-set-load;
570 vreg_l21a_2p95: l21 {
571 regulator-name = "vreg_l21a_2p95";
572 regulator-min-microvolt = <3300000>;
573 regulator-max-microvolt = <3300000>;
577 regulator-name = "vreg_l23a_2p8";
578 regulator-min-microvolt = <2800000>;
579 regulator-max-microvolt = <2800000>;
581 vreg_l24a_3p075: l24 {
582 regulator-name = "vreg_l24a_3p075";
583 regulator-min-microvolt = <3075000>;
584 regulator-max-microvolt = <3075000>;
587 regulator-name = "vreg_l25a_1p2";
588 regulator-min-microvolt = <1200000>;
589 regulator-max-microvolt = <1200000>;
590 regulator-allow-set-load;
593 regulator-name = "vreg_l27a_1p2";
594 regulator-min-microvolt = <1200000>;
595 regulator-max-microvolt = <1200000>;
597 vreg_l28a_0p925: l28 {
598 regulator-name = "vreg_l28a_0p925";
599 regulator-min-microvolt = <925000>;
600 regulator-max-microvolt = <925000>;
601 regulator-allow-set-load;
604 regulator-name = "vreg_l30a_1p8";
605 regulator-min-microvolt = <1800000>;
606 regulator-max-microvolt = <1800000>;
608 /* Required by QCA6174a - vddio-xtal */
612 regulator-name = "vreg_l32a_1p8";
613 regulator-min-microvolt = <1800000>;
614 regulator-max-microvolt = <1800000>;
616 vreg_lvs1a_1p8: lvs1 {
617 regulator-min-microvolt = <1800000>;
618 regulator-max-microvolt = <1800000>;
620 vreg_lvs2a_1p8: lvs2 {
621 regulator-min-microvolt = <1800000>;
622 regulator-max-microvolt = <1800000>;
627 compatible = "qcom,rpm-pmi8994-regulators";
629 vdd_s1-supply = <&vph_pwr>;
630 vdd_s2-supply = <&vph_pwr>;
631 vdd_s3-supply = <&vph_pwr>;
632 vdd_bst_byp-supply = <&vph_pwr>;
635 regulator-name = "vreg_s1b_1p025";
636 regulator-min-microvolt = <1025000>;
637 regulator-max-microvolt = <1025000>;
640 vph_pwr_bbyp: boost-bypass {
641 regulator-name = "vph_pwr_bbyp";
642 regulator-min-microvolt = <3150000>;
643 regulator-max-microvolt = <3600000>;
648 &pm8994_spmi_regulators {
649 qcom,saw-reg = <&saw3>;
661 regulator-name = "vreg_apc_0p8";
662 regulator-min-microvolt = <470000>;
663 regulator-max-microvolt = <1140000>;
664 regulator-max-step-microvolt = <150000>;
669 &pmi8994_spmi_regulators {
671 regulator-name = "vdd_gfx";
672 regulator-min-microvolt = <400000>;
673 regulator-max-microvolt = <1015000>;
674 regulator-enable-ramp-delay = <500>;
679 irled_default: irled-default-state {
681 function = PMIC_GPIO_FUNC_FUNC1;
683 qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
684 power-source = <PM8994_GPIO_S4>;
688 wlan_en_default: wlan-en-state {
690 function = PMIC_GPIO_FUNC_NORMAL;
692 qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
693 power-source = <PM8994_GPIO_S4>;
697 rome_enable_default: rome-enable-state {
699 function = PMIC_GPIO_FUNC_NORMAL;
701 qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
702 power-source = <PM8994_GPIO_VPH>;
705 divclk1_default: divclk1-state {
707 function = PMIC_GPIO_FUNC_FUNC1;
709 power-source = <PM8994_GPIO_S4>;
710 qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
713 divclk4_pin_a: divclk4-state {
715 function = PMIC_GPIO_FUNC_FUNC2;
717 power-source = <PM8994_GPIO_S4>;
722 mdss_dsi_default: mdss-dsi-default-state {
725 drive-strength = <8>;
729 mdss_dsi_sleep: mdss-dsi-sleep-state {
732 drive-strength = <2>;
736 mdss_te_default: mdss-te-default-state {
738 function = "mdp_vsync";
739 drive-strength = <2>;
743 mdss_te_sleep: mdss-te-sleep-state {
745 function = "mdp_vsync";
746 drive-strength = <2>;
750 nfc_default: nfc-default-state {
751 pins = "gpio12", "gpio21";
753 drive-strength = <16>;