[PATCH 4/4] regulator: qcom-rpmh: add support for pm7550 regulators

Luca Weiss posted 4 patches 3 months, 2 weeks ago
There is a newer version of this series
[PATCH 4/4] regulator: qcom-rpmh: add support for pm7550 regulators
Posted by Luca Weiss 3 months, 2 weeks ago
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
Re: [PATCH 4/4] regulator: qcom-rpmh: add support for pm7550 regulators
Posted by Konrad Dybcio 3 months, 2 weeks ago
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
Re: [PATCH 4/4] regulator: qcom-rpmh: add support for pm7550 regulators
Posted by Konrad Dybcio 3 months, 2 weeks ago
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
Re: [PATCH 4/4] regulator: qcom-rpmh: add support for pm7550 regulators
Posted by Luca Weiss 3 months ago
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
Re: [PATCH 4/4] regulator: qcom-rpmh: add support for pm7550 regulators
Posted by Konrad Dybcio 3 months ago
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
Re: [PATCH 4/4] regulator: qcom-rpmh: add support for pm7550 regulators
Posted by Luca Weiss 3 months ago
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
Re: [PATCH 4/4] regulator: qcom-rpmh: add support for pm7550 regulators
Posted by Konrad Dybcio 3 months ago
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
Re: [PATCH 4/4] regulator: qcom-rpmh: add support for pm7550 regulators
Posted by Luca Weiss 2 months, 4 weeks ago
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