Skip to content

Commit a1a7b4f

Browse files
committed
Merge tag 'regulator-fix-v5.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
Pull regulator fixes from Mark Brown: "A few minor driver specific fixes, mostly DT bindings document bits, plus a new device ID" * tag 'regulator-fix-v5.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: regulator: qcom-rpmh: add QCOM_COMMAND_DB dependency regulator: qcom-rpmh-regulator: correct hfsmps515 definition dt-bindings: regulator: qcom,rpmh-regulator: add pm8009 revision regulator: bd718x7: Add enable times regulator: pf8x00: Use specific compatible strings for devices
2 parents fc37784 + 36836f5 commit a1a7b4f

File tree

6 files changed

+70
-5
lines changed

6 files changed

+70
-5
lines changed

Documentation/devicetree/bindings/regulator/nxp,pf8x00-regulator.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ description: |
1919
properties:
2020
compatible:
2121
enum:
22-
- nxp,pf8x00
22+
- nxp,pf8100
23+
- nxp,pf8121a
24+
- nxp,pf8200
2325

2426
reg:
2527
maxItems: 1
@@ -118,7 +120,7 @@ examples:
118120
#size-cells = <0>;
119121
120122
pmic@8 {
121-
compatible = "nxp,pf8x00";
123+
compatible = "nxp,pf8100";
122124
reg = <0x08>;
123125
124126
regulators {

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ First Level Nodes - PMIC
4444
Definition: Must be one of below:
4545
"qcom,pm8005-rpmh-regulators"
4646
"qcom,pm8009-rpmh-regulators"
47+
"qcom,pm8009-1-rpmh-regulators"
4748
"qcom,pm8150-rpmh-regulators"
4849
"qcom,pm8150l-rpmh-regulators"
4950
"qcom,pm8350-rpmh-regulators"

drivers/regulator/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -881,6 +881,7 @@ config REGULATOR_QCOM_RPM
881881
config REGULATOR_QCOM_RPMH
882882
tristate "Qualcomm Technologies, Inc. RPMh regulator driver"
883883
depends on QCOM_RPMH || (QCOM_RPMH=n && COMPILE_TEST)
884+
depends on QCOM_COMMAND_DB || (QCOM_COMMAND_DB=n && COMPILE_TEST)
884885
help
885886
This driver supports control of PMIC regulators via the RPMh hardware
886887
block found on Qualcomm Technologies Inc. SoCs. RPMh regulator

drivers/regulator/bd718x7-regulator.c

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,36 @@
1515
#include <linux/regulator/of_regulator.h>
1616
#include <linux/slab.h>
1717

18+
/* Typical regulator startup times as per data sheet in uS */
19+
#define BD71847_BUCK1_STARTUP_TIME 144
20+
#define BD71847_BUCK2_STARTUP_TIME 162
21+
#define BD71847_BUCK3_STARTUP_TIME 162
22+
#define BD71847_BUCK4_STARTUP_TIME 240
23+
#define BD71847_BUCK5_STARTUP_TIME 270
24+
#define BD71847_BUCK6_STARTUP_TIME 200
25+
#define BD71847_LDO1_STARTUP_TIME 440
26+
#define BD71847_LDO2_STARTUP_TIME 370
27+
#define BD71847_LDO3_STARTUP_TIME 310
28+
#define BD71847_LDO4_STARTUP_TIME 400
29+
#define BD71847_LDO5_STARTUP_TIME 530
30+
#define BD71847_LDO6_STARTUP_TIME 400
31+
32+
#define BD71837_BUCK1_STARTUP_TIME 160
33+
#define BD71837_BUCK2_STARTUP_TIME 180
34+
#define BD71837_BUCK3_STARTUP_TIME 180
35+
#define BD71837_BUCK4_STARTUP_TIME 180
36+
#define BD71837_BUCK5_STARTUP_TIME 160
37+
#define BD71837_BUCK6_STARTUP_TIME 240
38+
#define BD71837_BUCK7_STARTUP_TIME 220
39+
#define BD71837_BUCK8_STARTUP_TIME 200
40+
#define BD71837_LDO1_STARTUP_TIME 440
41+
#define BD71837_LDO2_STARTUP_TIME 370
42+
#define BD71837_LDO3_STARTUP_TIME 310
43+
#define BD71837_LDO4_STARTUP_TIME 400
44+
#define BD71837_LDO5_STARTUP_TIME 310
45+
#define BD71837_LDO6_STARTUP_TIME 400
46+
#define BD71837_LDO7_STARTUP_TIME 530
47+
1848
/*
1949
* BD718(37/47/50) have two "enable control modes". ON/OFF can either be
2050
* controlled by software - or by PMIC internal HW state machine. Whether
@@ -613,6 +643,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
613643
.vsel_mask = DVS_BUCK_RUN_MASK,
614644
.enable_reg = BD718XX_REG_BUCK1_CTRL,
615645
.enable_mask = BD718XX_BUCK_EN,
646+
.enable_time = BD71847_BUCK1_STARTUP_TIME,
616647
.owner = THIS_MODULE,
617648
.of_parse_cb = buck_set_hw_dvs_levels,
618649
},
@@ -646,6 +677,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
646677
.vsel_mask = DVS_BUCK_RUN_MASK,
647678
.enable_reg = BD718XX_REG_BUCK2_CTRL,
648679
.enable_mask = BD718XX_BUCK_EN,
680+
.enable_time = BD71847_BUCK2_STARTUP_TIME,
649681
.owner = THIS_MODULE,
650682
.of_parse_cb = buck_set_hw_dvs_levels,
651683
},
@@ -680,6 +712,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
680712
.linear_range_selectors = bd71847_buck3_volt_range_sel,
681713
.enable_reg = BD718XX_REG_1ST_NODVS_BUCK_CTRL,
682714
.enable_mask = BD718XX_BUCK_EN,
715+
.enable_time = BD71847_BUCK3_STARTUP_TIME,
683716
.owner = THIS_MODULE,
684717
},
685718
.init = {
@@ -706,6 +739,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
706739
.vsel_range_mask = BD71847_BUCK4_RANGE_MASK,
707740
.linear_range_selectors = bd71847_buck4_volt_range_sel,
708741
.enable_mask = BD718XX_BUCK_EN,
742+
.enable_time = BD71847_BUCK4_STARTUP_TIME,
709743
.owner = THIS_MODULE,
710744
},
711745
.init = {
@@ -727,6 +761,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
727761
.vsel_mask = BD718XX_3RD_NODVS_BUCK_MASK,
728762
.enable_reg = BD718XX_REG_3RD_NODVS_BUCK_CTRL,
729763
.enable_mask = BD718XX_BUCK_EN,
764+
.enable_time = BD71847_BUCK5_STARTUP_TIME,
730765
.owner = THIS_MODULE,
731766
},
732767
.init = {
@@ -750,6 +785,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
750785
.vsel_mask = BD718XX_4TH_NODVS_BUCK_MASK,
751786
.enable_reg = BD718XX_REG_4TH_NODVS_BUCK_CTRL,
752787
.enable_mask = BD718XX_BUCK_EN,
788+
.enable_time = BD71847_BUCK6_STARTUP_TIME,
753789
.owner = THIS_MODULE,
754790
},
755791
.init = {
@@ -775,6 +811,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
775811
.linear_range_selectors = bd718xx_ldo1_volt_range_sel,
776812
.enable_reg = BD718XX_REG_LDO1_VOLT,
777813
.enable_mask = BD718XX_LDO_EN,
814+
.enable_time = BD71847_LDO1_STARTUP_TIME,
778815
.owner = THIS_MODULE,
779816
},
780817
.init = {
@@ -796,6 +833,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
796833
.n_voltages = ARRAY_SIZE(ldo_2_volts),
797834
.enable_reg = BD718XX_REG_LDO2_VOLT,
798835
.enable_mask = BD718XX_LDO_EN,
836+
.enable_time = BD71847_LDO2_STARTUP_TIME,
799837
.owner = THIS_MODULE,
800838
},
801839
.init = {
@@ -818,6 +856,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
818856
.vsel_mask = BD718XX_LDO3_MASK,
819857
.enable_reg = BD718XX_REG_LDO3_VOLT,
820858
.enable_mask = BD718XX_LDO_EN,
859+
.enable_time = BD71847_LDO3_STARTUP_TIME,
821860
.owner = THIS_MODULE,
822861
},
823862
.init = {
@@ -840,6 +879,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
840879
.vsel_mask = BD718XX_LDO4_MASK,
841880
.enable_reg = BD718XX_REG_LDO4_VOLT,
842881
.enable_mask = BD718XX_LDO_EN,
882+
.enable_time = BD71847_LDO4_STARTUP_TIME,
843883
.owner = THIS_MODULE,
844884
},
845885
.init = {
@@ -865,6 +905,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
865905
.linear_range_selectors = bd71847_ldo5_volt_range_sel,
866906
.enable_reg = BD718XX_REG_LDO5_VOLT,
867907
.enable_mask = BD718XX_LDO_EN,
908+
.enable_time = BD71847_LDO5_STARTUP_TIME,
868909
.owner = THIS_MODULE,
869910
},
870911
.init = {
@@ -889,6 +930,7 @@ static struct bd718xx_regulator_data bd71847_regulators[] = {
889930
.vsel_mask = BD718XX_LDO6_MASK,
890931
.enable_reg = BD718XX_REG_LDO6_VOLT,
891932
.enable_mask = BD718XX_LDO_EN,
933+
.enable_time = BD71847_LDO6_STARTUP_TIME,
892934
.owner = THIS_MODULE,
893935
},
894936
.init = {
@@ -942,6 +984,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
942984
.vsel_mask = DVS_BUCK_RUN_MASK,
943985
.enable_reg = BD718XX_REG_BUCK1_CTRL,
944986
.enable_mask = BD718XX_BUCK_EN,
987+
.enable_time = BD71837_BUCK1_STARTUP_TIME,
945988
.owner = THIS_MODULE,
946989
.of_parse_cb = buck_set_hw_dvs_levels,
947990
},
@@ -975,6 +1018,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
9751018
.vsel_mask = DVS_BUCK_RUN_MASK,
9761019
.enable_reg = BD718XX_REG_BUCK2_CTRL,
9771020
.enable_mask = BD718XX_BUCK_EN,
1021+
.enable_time = BD71837_BUCK2_STARTUP_TIME,
9781022
.owner = THIS_MODULE,
9791023
.of_parse_cb = buck_set_hw_dvs_levels,
9801024
},
@@ -1005,6 +1049,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
10051049
.vsel_mask = DVS_BUCK_RUN_MASK,
10061050
.enable_reg = BD71837_REG_BUCK3_CTRL,
10071051
.enable_mask = BD718XX_BUCK_EN,
1052+
.enable_time = BD71837_BUCK3_STARTUP_TIME,
10081053
.owner = THIS_MODULE,
10091054
.of_parse_cb = buck_set_hw_dvs_levels,
10101055
},
@@ -1033,6 +1078,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
10331078
.vsel_mask = DVS_BUCK_RUN_MASK,
10341079
.enable_reg = BD71837_REG_BUCK4_CTRL,
10351080
.enable_mask = BD718XX_BUCK_EN,
1081+
.enable_time = BD71837_BUCK4_STARTUP_TIME,
10361082
.owner = THIS_MODULE,
10371083
.of_parse_cb = buck_set_hw_dvs_levels,
10381084
},
@@ -1065,6 +1111,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
10651111
.linear_range_selectors = bd71837_buck5_volt_range_sel,
10661112
.enable_reg = BD718XX_REG_1ST_NODVS_BUCK_CTRL,
10671113
.enable_mask = BD718XX_BUCK_EN,
1114+
.enable_time = BD71837_BUCK5_STARTUP_TIME,
10681115
.owner = THIS_MODULE,
10691116
},
10701117
.init = {
@@ -1088,6 +1135,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
10881135
.vsel_mask = BD71837_BUCK6_MASK,
10891136
.enable_reg = BD718XX_REG_2ND_NODVS_BUCK_CTRL,
10901137
.enable_mask = BD718XX_BUCK_EN,
1138+
.enable_time = BD71837_BUCK6_STARTUP_TIME,
10911139
.owner = THIS_MODULE,
10921140
},
10931141
.init = {
@@ -1109,6 +1157,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
11091157
.vsel_mask = BD718XX_3RD_NODVS_BUCK_MASK,
11101158
.enable_reg = BD718XX_REG_3RD_NODVS_BUCK_CTRL,
11111159
.enable_mask = BD718XX_BUCK_EN,
1160+
.enable_time = BD71837_BUCK7_STARTUP_TIME,
11121161
.owner = THIS_MODULE,
11131162
},
11141163
.init = {
@@ -1132,6 +1181,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
11321181
.vsel_mask = BD718XX_4TH_NODVS_BUCK_MASK,
11331182
.enable_reg = BD718XX_REG_4TH_NODVS_BUCK_CTRL,
11341183
.enable_mask = BD718XX_BUCK_EN,
1184+
.enable_time = BD71837_BUCK8_STARTUP_TIME,
11351185
.owner = THIS_MODULE,
11361186
},
11371187
.init = {
@@ -1157,6 +1207,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
11571207
.linear_range_selectors = bd718xx_ldo1_volt_range_sel,
11581208
.enable_reg = BD718XX_REG_LDO1_VOLT,
11591209
.enable_mask = BD718XX_LDO_EN,
1210+
.enable_time = BD71837_LDO1_STARTUP_TIME,
11601211
.owner = THIS_MODULE,
11611212
},
11621213
.init = {
@@ -1178,6 +1229,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
11781229
.n_voltages = ARRAY_SIZE(ldo_2_volts),
11791230
.enable_reg = BD718XX_REG_LDO2_VOLT,
11801231
.enable_mask = BD718XX_LDO_EN,
1232+
.enable_time = BD71837_LDO2_STARTUP_TIME,
11811233
.owner = THIS_MODULE,
11821234
},
11831235
.init = {
@@ -1200,6 +1252,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
12001252
.vsel_mask = BD718XX_LDO3_MASK,
12011253
.enable_reg = BD718XX_REG_LDO3_VOLT,
12021254
.enable_mask = BD718XX_LDO_EN,
1255+
.enable_time = BD71837_LDO3_STARTUP_TIME,
12031256
.owner = THIS_MODULE,
12041257
},
12051258
.init = {
@@ -1222,6 +1275,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
12221275
.vsel_mask = BD718XX_LDO4_MASK,
12231276
.enable_reg = BD718XX_REG_LDO4_VOLT,
12241277
.enable_mask = BD718XX_LDO_EN,
1278+
.enable_time = BD71837_LDO4_STARTUP_TIME,
12251279
.owner = THIS_MODULE,
12261280
},
12271281
.init = {
@@ -1246,6 +1300,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
12461300
.vsel_mask = BD71837_LDO5_MASK,
12471301
.enable_reg = BD718XX_REG_LDO5_VOLT,
12481302
.enable_mask = BD718XX_LDO_EN,
1303+
.enable_time = BD71837_LDO5_STARTUP_TIME,
12491304
.owner = THIS_MODULE,
12501305
},
12511306
.init = {
@@ -1272,6 +1327,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
12721327
.vsel_mask = BD718XX_LDO6_MASK,
12731328
.enable_reg = BD718XX_REG_LDO6_VOLT,
12741329
.enable_mask = BD718XX_LDO_EN,
1330+
.enable_time = BD71837_LDO6_STARTUP_TIME,
12751331
.owner = THIS_MODULE,
12761332
},
12771333
.init = {
@@ -1296,6 +1352,7 @@ static struct bd718xx_regulator_data bd71837_regulators[] = {
12961352
.vsel_mask = BD71837_LDO7_MASK,
12971353
.enable_reg = BD71837_REG_LDO7_VOLT,
12981354
.enable_mask = BD718XX_LDO_EN,
1355+
.enable_time = BD71837_LDO7_STARTUP_TIME,
12991356
.owner = THIS_MODULE,
13001357
},
13011358
.init = {

drivers/regulator/pf8x00-regulator.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -469,13 +469,17 @@ static int pf8x00_i2c_probe(struct i2c_client *client)
469469
}
470470

471471
static const struct of_device_id pf8x00_dt_ids[] = {
472-
{ .compatible = "nxp,pf8x00",},
472+
{ .compatible = "nxp,pf8100",},
473+
{ .compatible = "nxp,pf8121a",},
474+
{ .compatible = "nxp,pf8200",},
473475
{ }
474476
};
475477
MODULE_DEVICE_TABLE(of, pf8x00_dt_ids);
476478

477479
static const struct i2c_device_id pf8x00_i2c_id[] = {
478-
{ "pf8x00", 0 },
480+
{ "pf8100", 0 },
481+
{ "pf8121a", 0 },
482+
{ "pf8200", 0 },
479483
{},
480484
};
481485
MODULE_DEVICE_TABLE(i2c, pf8x00_i2c_id);

drivers/regulator/qcom-rpmh-regulator.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -726,7 +726,7 @@ static const struct rpmh_vreg_hw_data pmic5_ftsmps510 = {
726726
static const struct rpmh_vreg_hw_data pmic5_hfsmps515 = {
727727
.regulator_type = VRM,
728728
.ops = &rpmh_regulator_vrm_ops,
729-
.voltage_range = REGULATOR_LINEAR_RANGE(2800000, 0, 4, 1600),
729+
.voltage_range = REGULATOR_LINEAR_RANGE(2800000, 0, 4, 16000),
730730
.n_voltages = 5,
731731
.pmic_mode_map = pmic_mode_map_pmic5_smps,
732732
.of_map_mode = rpmh_regulator_pmic4_smps_of_map_mode,

0 commit comments

Comments
 (0)