Add initial support for Qualcomm Kaanapali MTP board which enables PCIe,
SD Card, UFS and booting to shell with UART console.

Written with help from Jishnu Prakash (added RPMhPD nodes), Nitin Rawat
(added UFS), Manish Pandey (added SD Card) and Qiang Yu (added PCIe).

Reviewed-by: Dmitry Baryshkov <[email protected]>
Signed-off-by: Jingyi Wang <[email protected]>
---
 arch/arm64/boot/dts/qcom/Makefile          |   1 +
 arch/arm64/boot/dts/qcom/kaanapali-mtp.dts | 754 +++++++++++++++++++++++++++++
 2 files changed, 755 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/Makefile 
b/arch/arm64/boot/dts/qcom/Makefile
index 6f34d5ed331c..ac6c0178aae4 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -30,6 +30,7 @@ dtb-$(CONFIG_ARCH_QCOM)       += ipq9574-rdp433.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += ipq9574-rdp449.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += ipq9574-rdp453.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += ipq9574-rdp454.dtb
+dtb-$(CONFIG_ARCH_QCOM)        += kaanapali-mtp.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += lemans-evk.dtb
 
 lemans-evk-camera-csi1-imx577-dtbs     := lemans-evk.dtb 
lemans-evk-camera-csi1-imx577.dtbo
diff --git a/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts 
b/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
new file mode 100644
index 000000000000..32a082598434
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
@@ -0,0 +1,754 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include "kaanapali.dtsi"
+
+/ {
+       model = "Qualcomm Technologies, Inc. Kaanapali MTP";
+       compatible = "qcom,kaanapali-mtp", "qcom,kaanapali";
+       chassis-type = "handset";
+
+       aliases {
+               serial0 = &uart7;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       clocks {
+               xo_board: xo-board {
+                       compatible = "fixed-clock";
+                       clock-frequency = <76800000>;
+                       #clock-cells = <0>;
+               };
+
+               sleep_clk: sleep-clk {
+                       compatible = "fixed-clock";
+                       clock-frequency = <32764>;
+                       #clock-cells = <0>;
+               };
+
+               bi_tcxo_div2: bi-tcxo-div2-clk {
+                       compatible = "fixed-factor-clock";
+                       #clock-cells = <0>;
+
+                       clocks = <&rpmhcc RPMH_CXO_CLK>;
+                       clock-mult = <1>;
+                       clock-div = <2>;
+               };
+
+               bi_tcxo_ao_div2: bi-tcxo-ao-div2-clk {
+                       compatible = "fixed-factor-clock";
+                       #clock-cells = <0>;
+
+                       clocks = <&rpmhcc RPMH_CXO_CLK_A>;
+                       clock-mult = <1>;
+                       clock-div = <2>;
+               };
+       };
+};
+
+&apps_rsc {
+       regulators-0 {
+               compatible = "qcom,pmh0101-rpmh-regulators";
+               qcom,pmic-id = "B_E0";
+
+               vreg_bob1: bob1 {
+                       regulator-name = "vreg_bob1";
+                       regulator-min-microvolt = <3008000>;
+                       regulator-max-microvolt = <4000000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_bob2: bob2 {
+                       regulator-name = "vreg_bob2";
+                       regulator-min-microvolt = <2704000>;
+                       regulator-max-microvolt = <3552000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l1b_1p8: ldo1 {
+                       regulator-name = "vreg_l1b_1p8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l2b_3p0: ldo2 {
+                       regulator-name = "vreg_l2b_3p0";
+                       regulator-min-microvolt = <3008000>;
+                       regulator-max-microvolt = <3048000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l4b_1p8: ldo4 {
+                       regulator-name = "vreg_l4b_1p8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l5b_3p1: ldo5 {
+                       regulator-name = "vreg_l5b_3p1";
+                       regulator-min-microvolt = <3100000>;
+                       regulator-max-microvolt = <3148000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l6b_1p8: ldo6 {
+                       regulator-name = "vreg_l6b_1p8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <3008000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l7b_1p8: ldo7 {
+                       regulator-name = "vreg_l7b_1p8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <3008000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l8b_1p8: ldo8 {
+                       regulator-name = "vreg_l8b_1p8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <3008000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l9b_2p9: ldo9 {
+                       regulator-name = "vreg_l9b_2p9";
+                       regulator-min-microvolt = <2960000>;
+                       regulator-max-microvolt = <3008000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l10b_1p8: ldo10 {
+                       regulator-name = "vreg_l10b_1p8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l11b_1p0: ldo11 {
+                       regulator-name = "vreg_l11b_1p0";
+                       regulator-min-microvolt = <1000000>;
+                       regulator-max-microvolt = <1292000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l12b_1p8: ldo12 {
+                       regulator-name = "vreg_l12b_1p8";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l13b_3p0: ldo13 {
+                       regulator-name = "vreg_l13b_3p0";
+                       regulator-min-microvolt = <3000000>;
+                       regulator-max-microvolt = <3000000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l14b_3p2: ldo14 {
+                       regulator-name = "vreg_l14b_3p2";
+                       regulator-min-microvolt = <3200000>;
+                       regulator-max-microvolt = <3200000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l15b_1p8: ldo15 {
+                       regulator-name = "vreg_l15b_1p8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l17b_2p5: ldo17 {
+                       regulator-name = "vreg_l17b_2p5";
+                       regulator-min-microvolt = <2504000>;
+                       regulator-max-microvolt = <2504000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l18b_1p2: ldo18 {
+                       regulator-name = "vreg_l18b_1p2";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+       };
+
+       regulators-1 {
+               compatible = "qcom,pmh0110-rpmh-regulators";
+               qcom,pmic-id = "D_E0";
+
+               vreg_s10d_1p0: smps10 {
+                       regulator-name = "vreg_s10d_1p0";
+                       regulator-min-microvolt = <1000000>;
+                       regulator-max-microvolt = <1100000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l1d_1p2: ldo1 {
+                       regulator-name = "vreg_l1d_1p2";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1256000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l2d_0p9: ldo2 {
+                       regulator-name = "vreg_l2d_0p9";
+                       regulator-min-microvolt = <912000>;
+                       regulator-max-microvolt = <958000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l3d_0p8: ldo3 {
+                       regulator-name = "vreg_l3d_0p8";
+                       regulator-min-microvolt = <880000>;
+                       regulator-max-microvolt = <880000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l4d_1p2: ldo4 {
+                       regulator-name = "vreg_l4d_1p2";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+       };
+
+       regulators-2 {
+               compatible = "qcom,pmh0110-rpmh-regulators";
+               qcom,pmic-id = "F_E0";
+
+               vreg_s6f_0p5: smps6 {
+                       regulator-name = "vreg_s6f_0p5";
+                       regulator-min-microvolt = <300000>;
+                       regulator-max-microvolt = <570000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_s7f_1p2: smps7 {
+                       regulator-name = "vreg_s7f_1p2";
+                       regulator-min-microvolt = <1224000>;
+                       regulator-max-microvolt = <1372000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_s8f_1p8: smps8 {
+                       regulator-name = "vreg_s8f_1p8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <2000000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l1f_1p2: ldo1 {
+                       regulator-name = "vreg_l1f_1p2";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l2f_1p2: ldo2 {
+                       regulator-name = "vreg_l2f_1p2";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l3f_0p8: ldo3 {
+                       regulator-name = "vreg_l3f_0p8";
+                       regulator-min-microvolt = <880000>;
+                       regulator-max-microvolt = <936000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l4f_0p8: ldo4 {
+                       regulator-name = "vreg_l4f_0p8";
+                       regulator-min-microvolt = <880000>;
+                       regulator-max-microvolt = <912000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+       };
+
+       regulators-3 {
+               compatible = "qcom,pmh0110-rpmh-regulators";
+               qcom,pmic-id = "G_E0";
+
+               vreg_s7g_0p9: smps7 {
+                       regulator-name = "vreg_s7g_0p9";
+                       regulator-min-microvolt = <880000>;
+                       regulator-max-microvolt = <1100000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_s9g_1p0: smps9 {
+                       regulator-name = "vreg_s9g_1p0";
+                       regulator-min-microvolt = <1000000>;
+                       regulator-max-microvolt = <1100000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l1g_1p2: ldo1 {
+                       regulator-name = "vreg_l1g_1p2";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l2g_1p8: ldo2 {
+                       regulator-name = "vreg_l2g_1p8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l3g_1p2: ldo3 {
+                       regulator-name = "vreg_l3g_1p2";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l4g_0p9: ldo4 {
+                       regulator-name = "vreg_l4g_0p9";
+                       regulator-min-microvolt = <880000>;
+                       regulator-max-microvolt = <920000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+       };
+
+       regulators-4 {
+               compatible = "qcom,pmh0110-rpmh-regulators";
+               qcom,pmic-id = "I_E0";
+
+               vreg_s7i_0p9: smps7 {
+                       regulator-name = "vreg_s7i_0p9";
+                       regulator-min-microvolt = <900000>;
+                       regulator-max-microvolt = <972000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l2i_1p2: ldo2 {
+                       regulator-name = "vreg_l2i_1p2";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+
+               vreg_l3i_0p8: ldo3 {
+                       regulator-name = "vreg_l3i_0p8";
+                       regulator-min-microvolt = <880000>;
+                       regulator-max-microvolt = <920000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_AUTO>;
+               };
+       };
+
+       regulators-5 {
+               compatible = "qcom,pmh0104-rpmh-regulators";
+               qcom,pmic-id = "J_E1";
+
+               vreg_s1j_0p8: smps1 {
+                       regulator-name = "vreg_s1j_0p8";
+                       regulator-min-microvolt = <400000>;
+                       regulator-max-microvolt = <1000000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_s2j_0p8: smps2 {
+                       regulator-name = "vreg_s2j_0p8";
+                       regulator-min-microvolt = <500000>;
+                       regulator-max-microvolt = <1100000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_s3j_1p2: smps3 {
+                       regulator-name = "vreg_s3j_1p2";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1300000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_s4j_0p7: smps4 {
+                       regulator-name = "vreg_s4j_0p7";
+                       regulator-min-microvolt = <300000>;
+                       regulator-max-microvolt = <1000000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+       };
+
+       regulators-6 {
+               compatible = "qcom,pmr735d-rpmh-regulators";
+               qcom,pmic-id = "K_E1";
+
+               vreg_l1k_0p8: ldo1 {
+                       regulator-name = "vreg_l1k_0p8";
+                       regulator-min-microvolt = <300000>;
+                       regulator-max-microvolt = <1100000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l2k_0p7: ldo2 {
+                       regulator-name = "vreg_l2k_0p7";
+                       regulator-min-microvolt = <700000>;
+                       regulator-max-microvolt = <1000000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l3k_1p2: ldo3 {
+                       regulator-name = "vreg_l3k_1p2";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l4k_1p0: ldo4 {
+                       regulator-name = "vreg_l4k_1p0";
+                       regulator-min-microvolt = <1000000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l5k_0p7: ldo5 {
+                       regulator-name = "vreg_l5k_0p7";
+                       regulator-min-microvolt = <700000>;
+                       regulator-max-microvolt = <1000000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l6k_1p7: ldo6 {
+                       regulator-name = "vreg_l6k_1p7";
+                       regulator-min-microvolt = <1700000>;
+                       regulator-max-microvolt = <2000000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l7k_0p7: ldo7 {
+                       regulator-name = "vreg_l7k_0p7";
+                       regulator-min-microvolt = <700000>;
+                       regulator-max-microvolt = <848000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+       };
+
+       regulators-7 {
+               compatible = "qcom,pm8010-rpmh-regulators";
+               qcom,pmic-id = "M_E1";
+
+               vreg_l1m_1p0: ldo1 {
+                       regulator-name = "vreg_l1m_1p0";
+                       regulator-min-microvolt = <1000000>;
+                       regulator-max-microvolt = <1100000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l2m_1p0: ldo2 {
+                       regulator-name = "vreg_l2m_1p0";
+                       regulator-min-microvolt = <1096000>;
+                       regulator-max-microvolt = <1104000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l3m_2p8: ldo3 {
+                       regulator-name = "vreg_l3m_2p8";
+                       regulator-min-microvolt = <2800000>;
+                       regulator-max-microvolt = <2900000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l4m_2p2: ldo4 {
+                       regulator-name = "vreg_l4m_2p2";
+                       regulator-min-microvolt = <2200000>;
+                       regulator-max-microvolt = <2200000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l6m_2p8: ldo6 {
+                       regulator-name = "vreg_l6m_2p8";
+                       regulator-min-microvolt = <2800000>;
+                       regulator-max-microvolt = <2800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l7m_2p8: ldo7 {
+                       regulator-name = "vreg_l7m_2p8";
+                       regulator-min-microvolt = <2800000>;
+                       regulator-max-microvolt = <2800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+       };
+
+       regulators-8 {
+               compatible = "qcom,pm8010-rpmh-regulators";
+               qcom,pmic-id = "N_E1";
+
+               vreg_l1n_1p1: ldo1 {
+                       regulator-name = "vreg_l1n_1p1";
+                       regulator-min-microvolt = <1096000>;
+                       regulator-max-microvolt = <1104000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l2n_1p2: ldo2 {
+                       regulator-name = "vreg_l2n_1p2";
+                       regulator-min-microvolt = <1200000>;
+                       regulator-max-microvolt = <1200000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+                       regulator-allow-set-load;
+                       regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+                                                  RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l3n_1p8: ldo3 {
+                       regulator-name = "vreg_l3n_1p8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l4n_1p8: ldo4 {
+                       regulator-name = "vreg_l4n_1p8";
+                       regulator-min-microvolt = <1800000>;
+                       regulator-max-microvolt = <1800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l5n_2p8: ldo5 {
+                       regulator-name = "vreg_l5n_2p8";
+                       regulator-min-microvolt = <2800000>;
+                       regulator-max-microvolt = <2800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l6n_2p8: ldo6 {
+                       regulator-name = "vreg_l6n_2p8";
+                       regulator-min-microvolt = <2800000>;
+                       regulator-max-microvolt = <2800000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+
+               vreg_l7n_3p3: ldo7 {
+                       regulator-name = "vreg_l7n_3p3";
+                       regulator-min-microvolt = <3304000>;
+                       regulator-max-microvolt = <3304000>;
+                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+               };
+       };
+};
+
+&pcie0 {
+       pinctrl-0 = <&pcie0_default_state>;
+       pinctrl-names = "default";
+
+       status = "okay";
+};
+
+&pcie0_phy {
+       vdda-phy-supply = <&vreg_l3i_0p8>;
+       vdda-pll-supply = <&vreg_l1d_1p2>;
+
+       status = "okay";
+};
+
+&pcie_port0 {
+       wake-gpios = <&tlmm 104 GPIO_ACTIVE_HIGH>;
+       reset-gpios = <&tlmm 102 GPIO_ACTIVE_LOW>;
+};
+
+&sdhc_2 {
+       cd-gpios = <&tlmm 55 GPIO_ACTIVE_LOW>;
+
+       vmmc-supply = <&vreg_l9b_2p9>;
+       vqmmc-supply = <&vreg_l8b_1p8>;
+
+       bus-width = <4>;
+       no-sdio;
+       no-mmc;
+
+       pinctrl-0 = <&sdc2_default>;
+       pinctrl-1 = <&sdc2_sleep>;
+       pinctrl-names = "default", "sleep";
+
+       status = "okay";
+};
+
+&tlmm {
+       gpio-reserved-ranges = <36 4>, /* NFC eSE SPI */
+                              <74 1>, /* eSE */
+                              <119 2>, /* SoCCP */
+                              <144 4>; /* CXM UART */
+
+       pcie0_default_state: pcie0-default-state {
+               perst-n-pins {
+                       pins = "gpio102";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+
+               clkreq-n-pins {
+                       pins = "gpio103";
+                       function = "pcie0_clk_req_n";
+                       drive-strength = <2>;
+                       bias-pull-up;
+               };
+
+               wake-n-pins {
+                       pins = "gpio104";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-pull-up;
+               };
+       };
+};
+
+&uart7 {
+       status = "okay";
+};
+
+&ufs_mem_hc {
+       reset-gpios = <&tlmm 217 GPIO_ACTIVE_LOW>;
+
+       vcc-supply = <&vreg_l17b_2p5>;
+       vcc-max-microamp = <1200000>;
+       vccq-supply = <&vreg_l4d_1p2>;
+       vccq-max-microamp = <1200000>;
+
+       status = "okay";
+};
+
+&ufs_mem_phy {
+       vdda-phy-supply = <&vreg_l4g_0p9>;
+       vdda-pll-supply = <&vreg_l1d_1p2>;
+
+       status = "okay";
+};

-- 
2.25.1


Reply via email to