aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq807x/patches-5.15/0063-v6.0-regulator-qcom_spmi-add-support-for-PMP8074-regulato.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ipq807x/patches-5.15/0063-v6.0-regulator-qcom_spmi-add-support-for-PMP8074-regulato.patch')
-rw-r--r--target/linux/ipq807x/patches-5.15/0063-v6.0-regulator-qcom_spmi-add-support-for-PMP8074-regulato.patch68
1 files changed, 68 insertions, 0 deletions
diff --git a/target/linux/ipq807x/patches-5.15/0063-v6.0-regulator-qcom_spmi-add-support-for-PMP8074-regulato.patch b/target/linux/ipq807x/patches-5.15/0063-v6.0-regulator-qcom_spmi-add-support-for-PMP8074-regulato.patch
new file mode 100644
index 0000000000..ce6985b13b
--- /dev/null
+++ b/target/linux/ipq807x/patches-5.15/0063-v6.0-regulator-qcom_spmi-add-support-for-PMP8074-regulato.patch
@@ -0,0 +1,68 @@
+From 3e3da8da25f81fa3f0f3a37f60d10b17d1166864 Mon Sep 17 00:00:00 2001
+From: Robert Marko <robimarko@gmail.com>
+Date: Mon, 4 Jul 2022 23:23:57 +0200
+Subject: [PATCH] regulator: qcom_spmi: add support for PMP8074 regulators
+
+PMP8074 is a companion PMIC for the Qualcomm IPQ8074 WiSoC-s.
+
+It features 5 HF-SMPS and 13 LDO regulators.
+
+HF-SMPS regulators are Buck HFS430 regulators.
+L1, L2 and L3 are HT_N1200_ST subtype LDO regulators.
+L4 is HT_N300_ST subtype LDO regulator.
+L5 and L6 are HT_P600 subtype LDO regulators.
+L7, L11, L12 and L13 are HT_P150 subtype LDO regulators.
+L10 is HT_P50 subtype LDO regulator.
+
+This commit adds support for all of the buck regulators and LDO-s except
+for L10 as I dont have documentation on its output voltage range.
+
+S3 is the CPU cluster voltage supply, S4 supplies the UBI32 NPU cores
+and L11 is the SDIO/eMMC I/O voltage regulator required for high speeds.
+
+Signed-off-by: Robert Marko <robimarko@gmail.com>
+Link: https://lore.kernel.org/r/20220704212402.1715182-7-robimarko@gmail.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+---
+ drivers/regulator/qcom_spmi-regulator.c | 23 +++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
+
+--- a/drivers/regulator/qcom_spmi-regulator.c
++++ b/drivers/regulator/qcom_spmi-regulator.c
+@@ -2101,6 +2101,28 @@ static const struct spmi_regulator_data
+ { }
+ };
+
++static const struct spmi_regulator_data pmp8074_regulators[] = {
++ { "s1", 0x1400, "vdd_s1"},
++ { "s2", 0x1700, "vdd_s2"},
++ { "s3", 0x1a00, "vdd_s3"},
++ { "s4", 0x1d00, "vdd_s4"},
++ { "s5", 0x2000, "vdd_s5"},
++ { "l1", 0x4000, "vdd_l1_l2"},
++ { "l2", 0x4100, "vdd_l1_l2"},
++ { "l3", 0x4200, "vdd_l3_l8"},
++ { "l4", 0x4300, "vdd_l4"},
++ { "l5", 0x4400, "vdd_l5_l6_l15"},
++ { "l6", 0x4500, "vdd_l5_l6_l15"},
++ { "l7", 0x4600, "vdd_l7"},
++ { "l8", 0x4700, "vdd_l3_l8"},
++ { "l9", 0x4800, "vdd_l9"},
++ /* l10 is currently unsupported HT_P50 */
++ { "l11", 0x4a00, "vdd_l10_l11_l12_l13"},
++ { "l12", 0x4b00, "vdd_l10_l11_l12_l13"},
++ { "l13", 0x4c00, "vdd_l10_l11_l12_l13"},
++ { }
++};
++
+ static const struct spmi_regulator_data pms405_regulators[] = {
+ { "s3", 0x1a00, "vdd_s3"},
+ { }
+@@ -2117,6 +2139,7 @@ static const struct of_device_id qcom_sp
+ { .compatible = "qcom,pmi8994-regulators", .data = &pmi8994_regulators },
+ { .compatible = "qcom,pm660-regulators", .data = &pm660_regulators },
+ { .compatible = "qcom,pm660l-regulators", .data = &pm660l_regulators },
++ { .compatible = "qcom,pmp8074-regulators", .data = &pmp8074_regulators },
+ { .compatible = "qcom,pms405-regulators", .data = &pms405_regulators },
+ { }
+ };