Add RPMH regulators exposed by Qualcomm Technologies, Inc. PM7550 PMIC.
It has 6 FTS525 (FT-SMPS) and 23 LDOs with 3 different types.
L1-L11 are LDO515 LV NMOS, L12-L13 are LDO515 MV PMOS, L14-L23 are
LDO512 MV PMOS.
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
drivers/regulator/qcom-rpmh-regulator.c | 38 +++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/drivers/regulator/qcom-rpmh-regulator.c b/drivers/regulator/qcom-rpmh-regulator.c
index 7b1743d51fd145a44f98dd8e605b4ca410046654..ec25b324f80669a9291e41e613f09424361a28ca 100644
--- a/drivers/regulator/qcom-rpmh-regulator.c
+++ b/drivers/regulator/qcom-rpmh-regulator.c
@@ -1462,6 +1462,40 @@ static const struct rpmh_vreg_init_data pm7325_vreg_data[] = {
{}
};
+static const struct rpmh_vreg_init_data pm7550_vreg_data[] = {
+ RPMH_VREG("smps1", "smp%s1", &pmic5_ftsmps525, "vdd-s1"),
+ RPMH_VREG("smps2", "smp%s2", &pmic5_ftsmps525, "vdd-s2"),
+ RPMH_VREG("smps3", "smp%s3", &pmic5_ftsmps525, "vdd-s3"),
+ RPMH_VREG("smps4", "smp%s4", &pmic5_ftsmps525, "vdd-s4"),
+ RPMH_VREG("smps5", "smp%s5", &pmic5_ftsmps525, "vdd-s5"),
+ RPMH_VREG("smps6", "smp%s6", &pmic5_ftsmps525, "vdd-s6"),
+ RPMH_VREG("ldo1", "ldo%s1", &pmic5_nldo515, "vdd-l1"),
+ RPMH_VREG("ldo2", "ldo%s2", &pmic5_nldo515, "vdd-l2-l3"),
+ RPMH_VREG("ldo3", "ldo%s3", &pmic5_nldo515, "vdd-l2-l3"),
+ RPMH_VREG("ldo4", "ldo%s4", &pmic5_nldo515, "vdd-l4-l5"),
+ RPMH_VREG("ldo5", "ldo%s5", &pmic5_nldo515, "vdd-l4-l5"),
+ RPMH_VREG("ldo6", "ldo%s6", &pmic5_nldo515, "vdd-l6"),
+ RPMH_VREG("ldo7", "ldo%s7", &pmic5_nldo515, "vdd-l7"),
+ RPMH_VREG("ldo8", "ldo%s8", &pmic5_nldo515, "vdd-l8"),
+ RPMH_VREG("ldo9", "ldo%s9", &pmic5_nldo515, "vdd-l9-l10"),
+ RPMH_VREG("ldo10", "ldo%s10", &pmic5_nldo515, "vdd-l9-l10"),
+ RPMH_VREG("ldo11", "ldo%s11", &pmic5_nldo515, "vdd-l11"),
+ RPMH_VREG("ldo12", "ldo%s12", &pmic5_pldo, "vdd-l12-l14"),
+ RPMH_VREG("ldo13", "ldo%s13", &pmic5_pldo, "vdd-l13-l16"),
+ RPMH_VREG("ldo14", "ldo%s14", &pmic5_pldo, "vdd-l12-l14"),
+ RPMH_VREG("ldo15", "ldo%s15", &pmic5_pldo, "vdd-l15-l17-l18-l19-l20-l21-l22-l23"),
+ RPMH_VREG("ldo16", "ldo%s16", &pmic5_pldo, "vdd-l13-l16"),
+ RPMH_VREG("ldo17", "ldo%s17", &pmic5_pldo, "vdd-l15-l17-l18-l19-l20-l21-l22-l23"),
+ RPMH_VREG("ldo18", "ldo%s18", &pmic5_pldo, "vdd-l15-l17-l18-l19-l20-l21-l22-l23"),
+ RPMH_VREG("ldo19", "ldo%s19", &pmic5_pldo, "vdd-l15-l17-l18-l19-l20-l21-l22-l23"),
+ RPMH_VREG("ldo20", "ldo%s20", &pmic5_pldo, "vdd-l15-l17-l18-l19-l20-l21-l22-l23"),
+ RPMH_VREG("ldo21", "ldo%s21", &pmic5_pldo, "vdd-l15-l17-l18-l19-l20-l21-l22-l23"),
+ RPMH_VREG("ldo22", "ldo%s22", &pmic5_pldo, "vdd-l15-l17-l18-l19-l20-l21-l22-l23"),
+ RPMH_VREG("ldo23", "ldo%s23", &pmic5_pldo, "vdd-l15-l17-l18-l19-l20-l21-l22-l23"),
+ RPMH_VREG("bob", "bob%s1", &pmic5_bob, "vdd-bob"),
+ {}
+};
+
static const struct rpmh_vreg_init_data pmr735a_vreg_data[] = {
RPMH_VREG("smps1", "smp%s1", &pmic5_ftsmps520, "vdd-s1"),
RPMH_VREG("smps2", "smp%s2", &pmic5_ftsmps520, "vdd-s2"),
@@ -1679,6 +1713,10 @@ static const struct of_device_id __maybe_unused rpmh_regulator_match_table[] = {
.compatible = "qcom,pm7325-rpmh-regulators",
.data = pm7325_vreg_data,
},
+ {
+ .compatible = "qcom,pm7550-rpmh-regulators",
+ .data = pm7550_vreg_data,
+ },
{
.compatible = "qcom,pmr735a-rpmh-regulators",
.data = pmr735a_vreg_data,
--
2.50.0
On 6/25/25 11:18 AM, Luca Weiss wrote: > Add RPMH regulators exposed by Qualcomm Technologies, Inc. PM7550 PMIC. > It has 6 FTS525 (FT-SMPS) and 23 LDOs with 3 different types. > L1-L11 are LDO515 LV NMOS, L12-L13 are LDO515 MV PMOS, L14-L23 are > LDO512 MV PMOS. > > Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> > --- FWIW everything you said in the commit message is correct, but I'm not 100% sure how to map these LDO types to the existing definitions Konrad
On 6/25/25 4:10 PM, Konrad Dybcio wrote: > On 6/25/25 11:18 AM, Luca Weiss wrote: >> Add RPMH regulators exposed by Qualcomm Technologies, Inc. PM7550 PMIC. >> It has 6 FTS525 (FT-SMPS) and 23 LDOs with 3 different types. >> L1-L11 are LDO515 LV NMOS, L12-L13 are LDO515 MV PMOS, L14-L23 are >> LDO512 MV PMOS. >> >> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> >> --- > > FWIW everything you said in the commit message is correct, but I'm not > 100% sure how to map these LDO types to the existing definitions OK so found another page (also made sure that the supply maps are indeed OK) SMPS is OK L1-L11 is OK L14-23 is OK L12/13 -> pmic5_pldo515_mv so please update that and add: Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad
On Wed Jun 25, 2025 at 4:20 PM CEST, Konrad Dybcio wrote: > On 6/25/25 4:10 PM, Konrad Dybcio wrote: >> On 6/25/25 11:18 AM, Luca Weiss wrote: >>> Add RPMH regulators exposed by Qualcomm Technologies, Inc. PM7550 PMIC. >>> It has 6 FTS525 (FT-SMPS) and 23 LDOs with 3 different types. >>> L1-L11 are LDO515 LV NMOS, L12-L13 are LDO515 MV PMOS, L14-L23 are >>> LDO512 MV PMOS. >>> >>> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> >>> --- >> >> FWIW everything you said in the commit message is correct, but I'm not >> 100% sure how to map these LDO types to the existing definitions > > OK so found another page (also made sure that the supply maps are > indeed OK) > > SMPS is OK > L1-L11 is OK > L14-23 is OK > > L12/13 -> pmic5_pldo515_mv Based on what are you saying that? Based on 80-62408-1 Rev. AG for the LDO515, the Output voltage range for MV PMOS is "programmable range 1.504-3.544" which matches "pmic5_pldo". But yes, in the table next to it, it's saying 1.8-3.3V, which matches "pmic5_pldo515_mv". If you're sure, I can update it but the datasheet is a bit confusing. Let me know! Regards Luca > > so please update that and add: > > Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> > > Konrad
On 7/9/25 1:56 PM, Luca Weiss wrote: > On Wed Jun 25, 2025 at 4:20 PM CEST, Konrad Dybcio wrote: >> On 6/25/25 4:10 PM, Konrad Dybcio wrote: >>> On 6/25/25 11:18 AM, Luca Weiss wrote: >>>> Add RPMH regulators exposed by Qualcomm Technologies, Inc. PM7550 PMIC. >>>> It has 6 FTS525 (FT-SMPS) and 23 LDOs with 3 different types. >>>> L1-L11 are LDO515 LV NMOS, L12-L13 are LDO515 MV PMOS, L14-L23 are >>>> LDO512 MV PMOS. >>>> >>>> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> >>>> --- >>> >>> FWIW everything you said in the commit message is correct, but I'm not >>> 100% sure how to map these LDO types to the existing definitions >> >> OK so found another page (also made sure that the supply maps are >> indeed OK) >> >> SMPS is OK >> L1-L11 is OK >> L14-23 is OK >> >> L12/13 -> pmic5_pldo515_mv > > Based on what are you saying that? > > Based on 80-62408-1 Rev. AG for the LDO515, the Output voltage range for > MV PMOS is "programmable range 1.504-3.544" which matches "pmic5_pldo". > > But yes, in the table next to it, it's saying 1.8-3.3V, which matches > "pmic5_pldo515_mv". > > If you're sure, I can update it but the datasheet is a bit confusing. > Let me know! I was looking at the same datasheet as you and took into account both the LDO type from e.g. Table 3-12 and the output ranges from Table 3-24 Konrad
On Thu Jul 10, 2025 at 3:03 PM CEST, Konrad Dybcio wrote: > On 7/9/25 1:56 PM, Luca Weiss wrote: >> On Wed Jun 25, 2025 at 4:20 PM CEST, Konrad Dybcio wrote: >>> On 6/25/25 4:10 PM, Konrad Dybcio wrote: >>>> On 6/25/25 11:18 AM, Luca Weiss wrote: >>>>> Add RPMH regulators exposed by Qualcomm Technologies, Inc. PM7550 PMIC. >>>>> It has 6 FTS525 (FT-SMPS) and 23 LDOs with 3 different types. >>>>> L1-L11 are LDO515 LV NMOS, L12-L13 are LDO515 MV PMOS, L14-L23 are >>>>> LDO512 MV PMOS. >>>>> >>>>> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> >>>>> --- >>>> >>>> FWIW everything you said in the commit message is correct, but I'm not >>>> 100% sure how to map these LDO types to the existing definitions >>> >>> OK so found another page (also made sure that the supply maps are >>> indeed OK) >>> >>> SMPS is OK >>> L1-L11 is OK >>> L14-23 is OK >>> >>> L12/13 -> pmic5_pldo515_mv >> >> Based on what are you saying that? >> >> Based on 80-62408-1 Rev. AG for the LDO515, the Output voltage range for >> MV PMOS is "programmable range 1.504-3.544" which matches "pmic5_pldo". >> >> But yes, in the table next to it, it's saying 1.8-3.3V, which matches >> "pmic5_pldo515_mv". >> >> If you're sure, I can update it but the datasheet is a bit confusing. >> Let me know! > > I was looking at the same datasheet as you and took into account both > the LDO type from e.g. Table 3-12 and the output ranges from Table 3-24 But why, looking at table 3-24, is there a mismatch between that text "programmable range 1.504-3.544" and the table on the right saying min 1.8 and max 3.3V? Programmable range sounds more like what we'd want? No clue... > > Konrad
On 7/10/25 4:06 PM, Luca Weiss wrote: > On Thu Jul 10, 2025 at 3:03 PM CEST, Konrad Dybcio wrote: >> On 7/9/25 1:56 PM, Luca Weiss wrote: >>> On Wed Jun 25, 2025 at 4:20 PM CEST, Konrad Dybcio wrote: >>>> On 6/25/25 4:10 PM, Konrad Dybcio wrote: >>>>> On 6/25/25 11:18 AM, Luca Weiss wrote: >>>>>> Add RPMH regulators exposed by Qualcomm Technologies, Inc. PM7550 PMIC. >>>>>> It has 6 FTS525 (FT-SMPS) and 23 LDOs with 3 different types. >>>>>> L1-L11 are LDO515 LV NMOS, L12-L13 are LDO515 MV PMOS, L14-L23 are >>>>>> LDO512 MV PMOS. >>>>>> >>>>>> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> >>>>>> --- >>>>> >>>>> FWIW everything you said in the commit message is correct, but I'm not >>>>> 100% sure how to map these LDO types to the existing definitions >>>> >>>> OK so found another page (also made sure that the supply maps are >>>> indeed OK) >>>> >>>> SMPS is OK >>>> L1-L11 is OK >>>> L14-23 is OK >>>> >>>> L12/13 -> pmic5_pldo515_mv >>> >>> Based on what are you saying that? >>> >>> Based on 80-62408-1 Rev. AG for the LDO515, the Output voltage range for >>> MV PMOS is "programmable range 1.504-3.544" which matches "pmic5_pldo". >>> >>> But yes, in the table next to it, it's saying 1.8-3.3V, which matches >>> "pmic5_pldo515_mv". >>> >>> If you're sure, I can update it but the datasheet is a bit confusing. >>> Let me know! >> >> I was looking at the same datasheet as you and took into account both >> the LDO type from e.g. Table 3-12 and the output ranges from Table 3-24 > > But why, looking at table 3-24, is there a mismatch between that text > "programmable range 1.504-3.544" and the table on the right saying > min 1.8 and max 3.3V? > > Programmable range sounds more like what we'd want? No clue... >>> (3.544 - 1.504) * 1_000_000 / 8_000 255.0 I would asssume there's an 8-bit register that holds the value, hence the >>>programmable<<< range may be larger Konrad
On Thu Jul 10, 2025 at 6:08 PM CEST, Konrad Dybcio wrote: > On 7/10/25 4:06 PM, Luca Weiss wrote: >> On Thu Jul 10, 2025 at 3:03 PM CEST, Konrad Dybcio wrote: >>> On 7/9/25 1:56 PM, Luca Weiss wrote: >>>> On Wed Jun 25, 2025 at 4:20 PM CEST, Konrad Dybcio wrote: >>>>> On 6/25/25 4:10 PM, Konrad Dybcio wrote: >>>>>> On 6/25/25 11:18 AM, Luca Weiss wrote: >>>>>>> Add RPMH regulators exposed by Qualcomm Technologies, Inc. PM7550 PMIC. >>>>>>> It has 6 FTS525 (FT-SMPS) and 23 LDOs with 3 different types. >>>>>>> L1-L11 are LDO515 LV NMOS, L12-L13 are LDO515 MV PMOS, L14-L23 are >>>>>>> LDO512 MV PMOS. >>>>>>> >>>>>>> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> >>>>>>> --- >>>>>> >>>>>> FWIW everything you said in the commit message is correct, but I'm not >>>>>> 100% sure how to map these LDO types to the existing definitions >>>>> >>>>> OK so found another page (also made sure that the supply maps are >>>>> indeed OK) >>>>> >>>>> SMPS is OK >>>>> L1-L11 is OK >>>>> L14-23 is OK >>>>> >>>>> L12/13 -> pmic5_pldo515_mv >>>> >>>> Based on what are you saying that? >>>> >>>> Based on 80-62408-1 Rev. AG for the LDO515, the Output voltage range for >>>> MV PMOS is "programmable range 1.504-3.544" which matches "pmic5_pldo". >>>> >>>> But yes, in the table next to it, it's saying 1.8-3.3V, which matches >>>> "pmic5_pldo515_mv". >>>> >>>> If you're sure, I can update it but the datasheet is a bit confusing. >>>> Let me know! >>> >>> I was looking at the same datasheet as you and took into account both >>> the LDO type from e.g. Table 3-12 and the output ranges from Table 3-24 >> >> But why, looking at table 3-24, is there a mismatch between that text >> "programmable range 1.504-3.544" and the table on the right saying >> min 1.8 and max 3.3V? >> >> Programmable range sounds more like what we'd want? No clue... > >>>> (3.544 - 1.504) * 1_000_000 / 8_000 > 255.0 > > I would asssume there's an 8-bit register that holds the value, > hence the >>>programmable<<< range may be larger Okay thanks, you've convinced me enough :) Will send v2 shortly with this updated! Regards Luca > > Konrad
© 2016 - 2025 Red Hat, Inc.