Skip to content

Commit d1c02a7

Browse files
committed
Merge series "regulator: qcom,rpmh-regulator: Add support for pmic available on SA8155p-adp board" from Bhupesh Sharma <[email protected]>:
Changes since v2: ----------------- - v2 series can be found here: https://lore.kernel.org/linux-arm-msm/[email protected]/T/#m8303d27d561b30133992da88198abb78ea833e21 - Addressed review comments from Bjorn and Mark. - As per suggestion from Bjorn, seperated the patches in different patchsets (specific to each subsystem) to ease review and patch application. Changes since v1: ----------------- - v1 series can be found here: https://lore.kernel.org/linux-arm-msm/[email protected]/T/#mc524fe82798d4c4fb75dd0333318955e0406ad18 - Addressed review comments from Bjorn and Vinod received on the v1 series. This series adds the regulator support code for SA8155p-adp board which is based on Qualcomm snapdragon sa8155p SoC which in turn is simiar to the sm8150 SoC. This board supports a new PMIC PMM8155AU. While at it, also make some cosmetic changes to the regulator driver and dt-bindings to make sure the compatibles are alphabetical and also fix issues with extra comma(s) at the end of terminator line(s). Cc: Mark Brown <[email protected]> Cc: Bjorn Andersson <[email protected]> Bhupesh Sharma (5): dt-bindings: regulator: qcom,rpmh-regulator: Arrange compatibles alphabetically dt-bindings: regulator: qcom,rpmh-regulator: Add compatible for SA8155p-adp board pmic regulator: qcom-rpmh: Cleanup terminator line commas regulator: qcom-rpmh: Add terminator at the end of pm7325x_vreg_data[] array regulator: qcom-rpmh: Add new regulator found on SA8155p adp board .../regulator/qcom,rpmh-regulator.yaml | 17 ++--- drivers/regulator/qcom-rpmh-regulator.c | 62 +++++++++++++++---- 2 files changed, 59 insertions(+), 20 deletions(-) -- 2.31.1
2 parents 9d598cd + 66376e1 commit d1c02a7

File tree

2 files changed

+59
-20
lines changed

2 files changed

+59
-20
lines changed

Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ description: |
3333
3434
The names used for regulator nodes must match those supported by a given
3535
PMIC. Supported regulator node names are
36+
For PM6150, smps1 - smps5, ldo1 - ldo19
37+
For PM6150L, smps1 - smps8, ldo1 - ldo11, bob
38+
For PM7325, smps1 - smps8, ldo1 - ldo19
3639
For PM8005, smps1 - smps4
3740
For PM8009, smps1 - smps2, ldo1 - ldo7
3841
For PM8150, smps1 - smps10, ldo1 - ldo18
@@ -41,15 +44,15 @@ description: |
4144
For PM8350C, smps1 - smps10, ldo1 - ldo13, bob
4245
For PM8998, smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2
4346
For PMI8998, bob
44-
For PM6150, smps1 - smps5, ldo1 - ldo19
45-
For PM6150L, smps1 - smps8, ldo1 - ldo11, bob
46-
For PMX55, smps1 - smps7, ldo1 - ldo16
47-
For PM7325, smps1 - smps8, ldo1 - ldo19
4847
For PMR735A, smps1 - smps3, ldo1 - ldo7
48+
For PMX55, smps1 - smps7, ldo1 - ldo16
4949
5050
properties:
5151
compatible:
5252
enum:
53+
- qcom,pm6150-rpmh-regulators
54+
- qcom,pm6150l-rpmh-regulators
55+
- qcom,pm7325-rpmh-regulators
5356
- qcom,pm8005-rpmh-regulators
5457
- qcom,pm8009-rpmh-regulators
5558
- qcom,pm8009-1-rpmh-regulators
@@ -59,11 +62,9 @@ properties:
5962
- qcom,pm8350c-rpmh-regulators
6063
- qcom,pm8998-rpmh-regulators
6164
- qcom,pmi8998-rpmh-regulators
62-
- qcom,pm6150-rpmh-regulators
63-
- qcom,pm6150l-rpmh-regulators
64-
- qcom,pmx55-rpmh-regulators
65-
- qcom,pm7325-rpmh-regulators
65+
- qcom,pmm8155au-rpmh-regulators
6666
- qcom,pmr735a-rpmh-regulators
67+
- qcom,pmx55-rpmh-regulators
6768

6869
qcom,pmic-id:
6970
description: |

drivers/regulator/qcom-rpmh-regulator.c

Lines changed: 50 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -811,20 +811,20 @@ static const struct rpmh_vreg_init_data pm8998_vreg_data[] = {
811811
RPMH_VREG("ldo28", "ldo%s28", &pmic4_pldo, "vdd-l16-l28"),
812812
RPMH_VREG("lvs1", "vs%s1", &pmic4_lvs, "vin-lvs-1-2"),
813813
RPMH_VREG("lvs2", "vs%s2", &pmic4_lvs, "vin-lvs-1-2"),
814-
{},
814+
{}
815815
};
816816

817817
static const struct rpmh_vreg_init_data pmi8998_vreg_data[] = {
818818
RPMH_VREG("bob", "bob%s1", &pmic4_bob, "vdd-bob"),
819-
{},
819+
{}
820820
};
821821

822822
static const struct rpmh_vreg_init_data pm8005_vreg_data[] = {
823823
RPMH_VREG("smps1", "smp%s1", &pmic4_ftsmps426, "vdd-s1"),
824824
RPMH_VREG("smps2", "smp%s2", &pmic4_ftsmps426, "vdd-s2"),
825825
RPMH_VREG("smps3", "smp%s3", &pmic4_ftsmps426, "vdd-s3"),
826826
RPMH_VREG("smps4", "smp%s4", &pmic4_ftsmps426, "vdd-s4"),
827-
{},
827+
{}
828828
};
829829

830830
static const struct rpmh_vreg_init_data pm8150_vreg_data[] = {
@@ -856,7 +856,7 @@ static const struct rpmh_vreg_init_data pm8150_vreg_data[] = {
856856
RPMH_VREG("ldo16", "ldo%s16", &pmic5_pldo, "vdd-l13-l16-l17"),
857857
RPMH_VREG("ldo17", "ldo%s17", &pmic5_pldo, "vdd-l13-l16-l17"),
858858
RPMH_VREG("ldo18", "ldo%s18", &pmic5_nldo, "vdd-l3-l4-l5-l18"),
859-
{},
859+
{}
860860
};
861861

862862
static const struct rpmh_vreg_init_data pm8150l_vreg_data[] = {
@@ -880,7 +880,39 @@ static const struct rpmh_vreg_init_data pm8150l_vreg_data[] = {
880880
RPMH_VREG("ldo10", "ldo%s10", &pmic5_pldo, "vdd-l9-l10"),
881881
RPMH_VREG("ldo11", "ldo%s11", &pmic5_pldo, "vdd-l7-l11"),
882882
RPMH_VREG("bob", "bob%s1", &pmic5_bob, "vdd-bob"),
883-
{},
883+
{}
884+
};
885+
886+
static const struct rpmh_vreg_init_data pmm8155au_vreg_data[] = {
887+
RPMH_VREG("smps1", "smp%s1", &pmic5_ftsmps510, "vdd-s1"),
888+
RPMH_VREG("smps2", "smp%s2", &pmic5_ftsmps510, "vdd-s2"),
889+
RPMH_VREG("smps3", "smp%s3", &pmic5_ftsmps510, "vdd-s3"),
890+
RPMH_VREG("smps4", "smp%s4", &pmic5_hfsmps510, "vdd-s4"),
891+
RPMH_VREG("smps5", "smp%s5", &pmic5_hfsmps510, "vdd-s5"),
892+
RPMH_VREG("smps6", "smp%s6", &pmic5_ftsmps510, "vdd-s6"),
893+
RPMH_VREG("smps7", "smp%s7", &pmic5_ftsmps510, "vdd-s7"),
894+
RPMH_VREG("smps8", "smp%s8", &pmic5_ftsmps510, "vdd-s8"),
895+
RPMH_VREG("smps9", "smp%s9", &pmic5_ftsmps510, "vdd-s9"),
896+
RPMH_VREG("smps10", "smp%s10", &pmic5_ftsmps510, "vdd-s10"),
897+
RPMH_VREG("ldo1", "ldo%s1", &pmic5_nldo, "vdd-l1-l8-l11"),
898+
RPMH_VREG("ldo2", "ldo%s2", &pmic5_pldo, "vdd-l2-l10"),
899+
RPMH_VREG("ldo3", "ldo%s3", &pmic5_nldo, "vdd-l3-l4-l5-l18"),
900+
RPMH_VREG("ldo4", "ldo%s4", &pmic5_nldo, "vdd-l3-l4-l5-l18"),
901+
RPMH_VREG("ldo5", "ldo%s5", &pmic5_nldo, "vdd-l3-l4-l5-l18"),
902+
RPMH_VREG("ldo6", "ldo%s6", &pmic5_nldo, "vdd-l6-l9"),
903+
RPMH_VREG("ldo7", "ldo%s7", &pmic5_pldo_lv, "vdd-l7-l12-l14-l15"),
904+
RPMH_VREG("ldo8", "ldo%s8", &pmic5_nldo, "vdd-l1-l8-l11"),
905+
RPMH_VREG("ldo9", "ldo%s9", &pmic5_nldo, "vdd-l6-l9"),
906+
RPMH_VREG("ldo10", "ldo%s10", &pmic5_pldo, "vdd-l2-l10"),
907+
RPMH_VREG("ldo11", "ldo%s11", &pmic5_nldo, "vdd-l1-l8-l11"),
908+
RPMH_VREG("ldo12", "ldo%s12", &pmic5_pldo_lv, "vdd-l7-l12-l14-l15"),
909+
RPMH_VREG("ldo13", "ldo%s13", &pmic5_pldo, "vdd-l13-l16-l17"),
910+
RPMH_VREG("ldo14", "ldo%s14", &pmic5_pldo_lv, "vdd-l7-l12-l14-l15"),
911+
RPMH_VREG("ldo15", "ldo%s15", &pmic5_pldo_lv, "vdd-l7-l12-l14-l15"),
912+
RPMH_VREG("ldo16", "ldo%s16", &pmic5_pldo, "vdd-l13-l16-l17"),
913+
RPMH_VREG("ldo17", "ldo%s17", &pmic5_pldo, "vdd-l13-l16-l17"),
914+
RPMH_VREG("ldo18", "ldo%s18", &pmic5_nldo, "vdd-l3-l4-l5-l18"),
915+
{}
884916
};
885917

886918
static const struct rpmh_vreg_init_data pm8350_vreg_data[] = {
@@ -906,7 +938,7 @@ static const struct rpmh_vreg_init_data pm8350_vreg_data[] = {
906938
RPMH_VREG("ldo8", "ldo%s8", &pmic5_nldo, "vdd-l8"),
907939
RPMH_VREG("ldo9", "ldo%s9", &pmic5_nldo, "vdd-l6-l9-l10"),
908940
RPMH_VREG("ldo10", "ldo%s10", &pmic5_nldo, "vdd-l6-l9-l10"),
909-
{},
941+
{}
910942
};
911943

912944
static const struct rpmh_vreg_init_data pm8350c_vreg_data[] = {
@@ -934,7 +966,7 @@ static const struct rpmh_vreg_init_data pm8350c_vreg_data[] = {
934966
RPMH_VREG("ldo12", "ldo%s12", &pmic5_pldo_lv, "vdd-l1-l12"),
935967
RPMH_VREG("ldo13", "ldo%s13", &pmic5_pldo, "vdd-l3-l4-l5-l7-l13"),
936968
RPMH_VREG("bob", "bob%s1", &pmic5_bob, "vdd-bob"),
937-
{},
969+
{}
938970
};
939971

940972
static const struct rpmh_vreg_init_data pm8009_vreg_data[] = {
@@ -947,7 +979,7 @@ static const struct rpmh_vreg_init_data pm8009_vreg_data[] = {
947979
RPMH_VREG("ldo5", "ldo%s5", &pmic5_pldo, "vdd-l5-l6"),
948980
RPMH_VREG("ldo6", "ldo%s6", &pmic5_pldo, "vdd-l5-l6"),
949981
RPMH_VREG("ldo7", "ldo%s7", &pmic5_pldo_lv, "vdd-l7"),
950-
{},
982+
{}
951983
};
952984

953985
static const struct rpmh_vreg_init_data pm8009_1_vreg_data[] = {
@@ -960,7 +992,7 @@ static const struct rpmh_vreg_init_data pm8009_1_vreg_data[] = {
960992
RPMH_VREG("ldo5", "ldo%s5", &pmic5_pldo, "vdd-l5-l6"),
961993
RPMH_VREG("ldo6", "ldo%s6", &pmic5_pldo, "vdd-l5-l6"),
962994
RPMH_VREG("ldo7", "ldo%s6", &pmic5_pldo_lv, "vdd-l7"),
963-
{},
995+
{}
964996
};
965997

966998
static const struct rpmh_vreg_init_data pm6150_vreg_data[] = {
@@ -988,7 +1020,7 @@ static const struct rpmh_vreg_init_data pm6150_vreg_data[] = {
9881020
RPMH_VREG("ldo17", "ldo%s17", &pmic5_pldo, "vdd-l5-l16-l17-l18-l19"),
9891021
RPMH_VREG("ldo18", "ldo%s18", &pmic5_pldo, "vdd-l5-l16-l17-l18-l19"),
9901022
RPMH_VREG("ldo19", "ldo%s19", &pmic5_pldo, "vdd-l5-l16-l17-l18-l19"),
991-
{},
1023+
{}
9921024
};
9931025

9941026
static const struct rpmh_vreg_init_data pm6150l_vreg_data[] = {
@@ -1012,7 +1044,7 @@ static const struct rpmh_vreg_init_data pm6150l_vreg_data[] = {
10121044
RPMH_VREG("ldo10", "ldo%s10", &pmic5_pldo, "vdd-l9-l10"),
10131045
RPMH_VREG("ldo11", "ldo%s11", &pmic5_pldo, "vdd-l7-l11"),
10141046
RPMH_VREG("bob", "bob%s1", &pmic5_bob, "vdd-bob"),
1015-
{},
1047+
{}
10161048
};
10171049

10181050
static const struct rpmh_vreg_init_data pmx55_vreg_data[] = {
@@ -1039,7 +1071,7 @@ static const struct rpmh_vreg_init_data pmx55_vreg_data[] = {
10391071
RPMH_VREG("ldo14", "ldo%s14", &pmic5_nldo, "vdd-l14"),
10401072
RPMH_VREG("ldo15", "ldo%s15", &pmic5_nldo, "vdd-l15"),
10411073
RPMH_VREG("ldo16", "ldo%s16", &pmic5_pldo, "vdd-l16"),
1042-
{},
1074+
{}
10431075
};
10441076

10451077
static const struct rpmh_vreg_init_data pm7325_vreg_data[] = {
@@ -1070,6 +1102,7 @@ static const struct rpmh_vreg_init_data pm7325_vreg_data[] = {
10701102
RPMH_VREG("ldo17", "ldo%s17", &pmic5_pldo_lv, "vdd-l11-l17-l18-l19"),
10711103
RPMH_VREG("ldo18", "ldo%s18", &pmic5_pldo_lv, "vdd-l11-l17-l18-l19"),
10721104
RPMH_VREG("ldo19", "ldo%s19", &pmic5_pldo_lv, "vdd-l11-l17-l18-l19"),
1105+
{}
10731106
};
10741107

10751108
static const struct rpmh_vreg_init_data pmr735a_vreg_data[] = {
@@ -1083,6 +1116,7 @@ static const struct rpmh_vreg_init_data pmr735a_vreg_data[] = {
10831116
RPMH_VREG("ldo5", "ldo%s5", &pmic5_nldo, "vdd-l5-l6"),
10841117
RPMH_VREG("ldo6", "ldo%s6", &pmic5_nldo, "vdd-l5-l6"),
10851118
RPMH_VREG("ldo7", "ldo%s7", &pmic5_pldo, "vdd-l7-bob"),
1119+
{}
10861120
};
10871121

10881122
static int rpmh_regulator_probe(struct platform_device *pdev)
@@ -1175,6 +1209,10 @@ static const struct of_device_id __maybe_unused rpmh_regulator_match_table[] = {
11751209
.compatible = "qcom,pmc8180c-rpmh-regulators",
11761210
.data = pm8150l_vreg_data,
11771211
},
1212+
{
1213+
.compatible = "qcom,pmm8155au-rpmh-regulators",
1214+
.data = pmm8155au_vreg_data,
1215+
},
11781216
{
11791217
.compatible = "qcom,pmx55-rpmh-regulators",
11801218
.data = pmx55_vreg_data,

0 commit comments

Comments
 (0)