| // SPDX-License-Identifier: BSD-3-Clause |
| /* |
| * Copyright (c) 2016-2022, AngeloGioacchino Del Regno |
| * <angelogioacchino.delregno@somainline.org> |
| * Copyright (c) 2022, Konrad Dybcio <konrad.dybcio@somainline.org> |
| * Copyright (c) 2022, Marijn Suijten <marijn.suijten@somainline.org> |
| */ |
| |
| #include "msm8956.dtsi" |
| |
| #include "pm8004.dtsi" |
| #include "pm8950.dtsi" |
| #include "pmi8950.dtsi" |
| |
| / { |
| qcom,msm-id = <266 0x10001>; /* MSM8956 v1.1 */ |
| qcom,board-id = <8 0>; |
| |
| aliases { |
| mmc0 = &sdhc_1; /* SDC1 eMMC slot */ |
| mmc1 = &sdhc_2; /* SDC2 SD card slot */ |
| mmc2 = &sdhc_3; /* SDC3 SDIO card slot */ |
| serial0 = &blsp2_uart2; |
| }; |
| |
| chosen { |
| stdout-path = "serial0:115200n8"; |
| }; |
| |
| reserved-memory { |
| cont-splash@83000000 { |
| reg = <0x0 0x83000000 0x0 0x2800000>; |
| }; |
| |
| ramoops@57f00000 { |
| compatible = "ramoops"; |
| reg = <0 0x57f00000 0 0x100000>; |
| record-size = <0x20000>; |
| console-size = <0x40000>; |
| ftrace-size = <0x20000>; |
| pmsg-size = <0x20000>; |
| ecc-size = <16>; |
| }; |
| }; |
| |
| usbphy_1p2: regulator-usbphy-1p2 { |
| compatible = "regulator-fixed"; |
| regulator-name = "usbphy-1p2"; |
| regulator-always-on; |
| regulator-boot-on; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1200000>; |
| vin-supply = <&vph_pwr>; |
| }; |
| |
| vph_pwr: regulator-vph-pwr { |
| compatible = "regulator-fixed"; |
| regulator-name = "vph-pwr"; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| }; |
| |
| &blsp1_i2c4 { |
| status = "okay"; |
| |
| /* Synaptics RMI4 @ 2c */ |
| }; |
| |
| &blsp2_uart2 { |
| status = "okay"; |
| }; |
| |
| &gcc { |
| vdd_gfx-supply = <&pm8004_s5>; |
| }; |
| |
| &otg { |
| status = "okay"; |
| }; |
| |
| &pm8004_spmi_regulators { |
| vdd_s2-supply = <&vph_pwr>; |
| vdd_s5-supply = <&vph_pwr>; |
| |
| /* Cluster 1 supply */ |
| pm8004_s2: s2 { |
| /* regulator-min-microvolt = <500000>; */ |
| /* Set .95V to prevent unstabilities until CPR for this SoC is done */ |
| regulator-min-microvolt = <950000>; |
| regulator-max-microvolt = <1165000>; |
| regulator-name = "vdd_apc1"; |
| /* Set always on until the CPU PLL is done */ |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| pm8004_s5: s5 { |
| regulator-min-microvolt = <950000>; |
| regulator-max-microvolt = <1165000>; |
| regulator-enable-ramp-delay = <500>; |
| regulator-name = "vdd_gfx"; |
| /* Hack this on until the gpu driver is ready for it */ |
| regulator-always-on; |
| }; |
| }; |
| |
| &pm8950_spmi_regulators { |
| vdd_s5-supply = <&vph_pwr>; |
| |
| /* Cluster 0 supply */ |
| pm8950_spmi_s5: s5 { |
| /* Set .95V to prevent unstabilities until CPR for this SoC is done */ |
| /* regulator-min-microvolt = <790000>; */ |
| regulator-min-microvolt = <950000>; |
| regulator-max-microvolt = <1165000>; |
| regulator-name = "vdd_apc0"; |
| /* Set always on until the CPU PLL is done */ |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| }; |
| |
| &rpm_requests { |
| pm8950_regulators: regulators { |
| compatible = "qcom,rpm-pm8950-regulators"; |
| |
| vdd_s1-supply = <&vph_pwr>; |
| vdd_s2-supply = <&vph_pwr>; |
| vdd_s3-supply = <&vph_pwr>; |
| vdd_s4-supply = <&vph_pwr>; |
| vdd_s6-supply = <&vph_pwr>; |
| vdd_l1_l19-supply = <&pm8950_s3>; |
| vdd_l2_l23-supply = <&pm8950_s3>; |
| vdd_l3-supply = <&pm8950_s3>; |
| vdd_l5_l6_l7_l16-supply = <&pm8950_s4>; |
| vdd_l8_l11_l12_l17_l22-supply = <&vph_pwr>; |
| |
| pm8950_s1: s1 { |
| regulator-min-microvolt = <1000000>; |
| regulator-max-microvolt = <1162500>; |
| }; |
| |
| pm8950_s3: s3 { |
| regulator-min-microvolt = <1325000>; |
| regulator-max-microvolt = <1325000>; |
| regulator-always-on; |
| }; |
| |
| pm8950_s4: s4 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-always-on; |
| }; |
| |
| pm8950_l1: l1 { |
| regulator-min-microvolt = <900000>; |
| regulator-max-microvolt = <1100000>; |
| }; |
| |
| pm8950_l2: l2 { |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1200000>; |
| }; |
| |
| pm8950_l3: l3 { |
| regulator-min-microvolt = <1000000>; |
| regulator-max-microvolt = <1200000>; |
| }; |
| |
| pm8950_l5: l5 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-system-load = <290000>; |
| regulator-allow-set-load; |
| }; |
| |
| pm8950_l6: l6 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| }; |
| |
| pm8950_l7: l7 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| }; |
| |
| pm8950_l8: l8 { |
| regulator-min-microvolt = <2900000>; |
| regulator-max-microvolt = <2900000>; |
| regulator-system-load = <130000>; |
| regulator-allow-set-load; |
| }; |
| |
| pm8950_l9: l9 { |
| regulator-min-microvolt = <2000000>; |
| regulator-max-microvolt = <2400000>; |
| }; |
| |
| pm8950_l10: l10 { |
| regulator-min-microvolt = <2500000>; |
| regulator-max-microvolt = <2900000>; |
| }; |
| |
| pm8950_l11: l11 { |
| regulator-min-microvolt = <2950000>; |
| regulator-max-microvolt = <2950000>; |
| regulator-system-load = <60000>; |
| regulator-allow-set-load; |
| }; |
| |
| pm8950_l12: l12 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <2950000>; |
| regulator-system-load = <100000>; |
| regulator-allow-set-load; |
| }; |
| |
| pm8950_l13: l13 { |
| regulator-min-microvolt = <3075000>; |
| regulator-max-microvolt = <3075000>; |
| }; |
| |
| pm8950_l14: l14 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <3300000>; |
| }; |
| |
| pm8950_l15: l15 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <3300000>; |
| }; |
| |
| pm8950_l16: l16 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| }; |
| |
| pm8950_l17: l17 { |
| regulator-min-microvolt = <2500000>; |
| regulator-max-microvolt = <2900000>; |
| }; |
| |
| pm8950_l22: l22 { |
| regulator-min-microvolt = <3000000>; |
| regulator-max-microvolt = <3000000>; |
| }; |
| |
| pm8950_l23: l23 { |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1200000>; |
| }; |
| }; |
| }; |
| |
| &sdhc_1 { |
| /* Toshiba THGBMHG8C4LBAU7 (032G34) */ |
| bus-width = <8>; |
| non-removable; |
| vmmc-supply = <&pm8950_l8>; |
| vqmmc-supply = <&pm8950_l5>; |
| status = "okay"; |
| }; |
| |
| &sdhc_2 { |
| bus-width = <4>; |
| cd-gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>; |
| vmmc-supply = <&pm8950_l11>; |
| vqmmc-supply = <&pm8950_l12>; |
| status = "okay"; |
| }; |
| |
| &tlmm { |
| gpio-reserved-ranges = <0 4>; |
| }; |
| |
| &usb_hs_phy { |
| vdd-supply = <&usbphy_1p2>; |
| vdda1p8-supply = <&pm8950_l7>; |
| vdda3p3-supply = <&pm8950_l13>; |
| status = "okay"; |
| }; |