Skip to content

Commit 4e1b486

Browse files
committed
Merge tag 'regulator-fix-v6.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
Pull regulator fixes from Mark Brown: "A couple of additional changes, one ensuring we give AXP717 enough time to stabilise after changing voltages which fixes serious stability issues on some platforms and another documenting the DT support required for the Qualcomm WCN6750" * tag 'regulator-fix-v6.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: regulator: axp20x: AXP717: set ramp_delay regulator: dt-bindings: qcom,qca6390-pmu: document wcn6750-pmu
2 parents e72da82 + f07ae52 commit 4e1b486

File tree

2 files changed

+51
-12
lines changed

2 files changed

+51
-12
lines changed

Documentation/devicetree/bindings/regulator/qcom,qca6390-pmu.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ properties:
1818
compatible:
1919
enum:
2020
- qcom,qca6390-pmu
21+
- qcom,wcn6750-pmu
2122
- qcom,wcn6855-pmu
2223
- qcom,wcn7850-pmu
2324

@@ -27,6 +28,9 @@ properties:
2728
vddaon-supply:
2829
description: VDD_AON supply regulator handle
2930

31+
vddasd-supply:
32+
description: VDD_ASD supply regulator handle
33+
3034
vdddig-supply:
3135
description: VDD_DIG supply regulator handle
3236

@@ -42,6 +46,9 @@ properties:
4246
vddio1p2-supply:
4347
description: VDD_IO_1P2 supply regulator handle
4448

49+
vddrfa0p8-supply:
50+
description: VDD_RFA_0P8 supply regulator handle
51+
4552
vddrfa0p95-supply:
4653
description: VDD_RFA_0P95 supply regulator handle
4754

@@ -51,12 +58,18 @@ properties:
5158
vddrfa1p3-supply:
5259
description: VDD_RFA_1P3 supply regulator handle
5360

61+
vddrfa1p7-supply:
62+
description: VDD_RFA_1P7 supply regulator handle
63+
5464
vddrfa1p8-supply:
5565
description: VDD_RFA_1P8 supply regulator handle
5666

5767
vddrfa1p9-supply:
5868
description: VDD_RFA_1P9 supply regulator handle
5969

70+
vddrfa2p2-supply:
71+
description: VDD_RFA_2P2 supply regulator handle
72+
6073
vddpcie1p3-supply:
6174
description: VDD_PCIE_1P3 supply regulator handle
6275

@@ -119,6 +132,20 @@ allOf:
119132
- vddpcie1p3-supply
120133
- vddpcie1p9-supply
121134
- vddio-supply
135+
- if:
136+
properties:
137+
compatible:
138+
contains:
139+
const: qcom,wcn6750-pmu
140+
then:
141+
required:
142+
- vddaon-supply
143+
- vddasd-supply
144+
- vddpmu-supply
145+
- vddrfa0p8-supply
146+
- vddrfa1p2-supply
147+
- vddrfa1p7-supply
148+
- vddrfa2p2-supply
122149
- if:
123150
properties:
124151
compatible:

drivers/regulator/axp20x-regulator.c

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -371,8 +371,8 @@
371371
.ops = &axp20x_ops, \
372372
}
373373

374-
#define AXP_DESC(_family, _id, _match, _supply, _min, _max, _step, _vreg, \
375-
_vmask, _ereg, _emask) \
374+
#define AXP_DESC_DELAY(_family, _id, _match, _supply, _min, _max, _step, _vreg, \
375+
_vmask, _ereg, _emask, _ramp_delay) \
376376
[_family##_##_id] = { \
377377
.name = (_match), \
378378
.supply_name = (_supply), \
@@ -388,9 +388,15 @@
388388
.vsel_mask = (_vmask), \
389389
.enable_reg = (_ereg), \
390390
.enable_mask = (_emask), \
391+
.ramp_delay = (_ramp_delay), \
391392
.ops = &axp20x_ops, \
392393
}
393394

395+
#define AXP_DESC(_family, _id, _match, _supply, _min, _max, _step, _vreg, \
396+
_vmask, _ereg, _emask) \
397+
AXP_DESC_DELAY(_family, _id, _match, _supply, _min, _max, _step, _vreg, \
398+
_vmask, _ereg, _emask, 0)
399+
394400
#define AXP_DESC_SW(_family, _id, _match, _supply, _ereg, _emask) \
395401
[_family##_##_id] = { \
396402
.name = (_match), \
@@ -419,8 +425,8 @@
419425
.ops = &axp20x_ops_fixed \
420426
}
421427

422-
#define AXP_DESC_RANGES(_family, _id, _match, _supply, _ranges, _n_voltages, \
423-
_vreg, _vmask, _ereg, _emask) \
428+
#define AXP_DESC_RANGES_DELAY(_family, _id, _match, _supply, _ranges, _n_voltages, \
429+
_vreg, _vmask, _ereg, _emask, _ramp_delay) \
424430
[_family##_##_id] = { \
425431
.name = (_match), \
426432
.supply_name = (_supply), \
@@ -436,9 +442,15 @@
436442
.enable_mask = (_emask), \
437443
.linear_ranges = (_ranges), \
438444
.n_linear_ranges = ARRAY_SIZE(_ranges), \
445+
.ramp_delay = (_ramp_delay), \
439446
.ops = &axp20x_ops_range, \
440447
}
441448

449+
#define AXP_DESC_RANGES(_family, _id, _match, _supply, _ranges, _n_voltages, \
450+
_vreg, _vmask, _ereg, _emask) \
451+
AXP_DESC_RANGES_DELAY(_family, _id, _match, _supply, _ranges, \
452+
_n_voltages, _vreg, _vmask, _ereg, _emask, 0)
453+
442454
static const int axp209_dcdc2_ldo3_slew_rates[] = {
443455
1600,
444456
800,
@@ -781,21 +793,21 @@ static const struct linear_range axp717_dcdc3_ranges[] = {
781793
};
782794

783795
static const struct regulator_desc axp717_regulators[] = {
784-
AXP_DESC_RANGES(AXP717, DCDC1, "dcdc1", "vin1",
796+
AXP_DESC_RANGES_DELAY(AXP717, DCDC1, "dcdc1", "vin1",
785797
axp717_dcdc1_ranges, AXP717_DCDC1_NUM_VOLTAGES,
786798
AXP717_DCDC1_CONTROL, AXP717_DCDC_V_OUT_MASK,
787-
AXP717_DCDC_OUTPUT_CONTROL, BIT(0)),
788-
AXP_DESC_RANGES(AXP717, DCDC2, "dcdc2", "vin2",
799+
AXP717_DCDC_OUTPUT_CONTROL, BIT(0), 640),
800+
AXP_DESC_RANGES_DELAY(AXP717, DCDC2, "dcdc2", "vin2",
789801
axp717_dcdc2_ranges, AXP717_DCDC2_NUM_VOLTAGES,
790802
AXP717_DCDC2_CONTROL, AXP717_DCDC_V_OUT_MASK,
791-
AXP717_DCDC_OUTPUT_CONTROL, BIT(1)),
792-
AXP_DESC_RANGES(AXP717, DCDC3, "dcdc3", "vin3",
803+
AXP717_DCDC_OUTPUT_CONTROL, BIT(1), 640),
804+
AXP_DESC_RANGES_DELAY(AXP717, DCDC3, "dcdc3", "vin3",
793805
axp717_dcdc3_ranges, AXP717_DCDC3_NUM_VOLTAGES,
794806
AXP717_DCDC3_CONTROL, AXP717_DCDC_V_OUT_MASK,
795-
AXP717_DCDC_OUTPUT_CONTROL, BIT(2)),
796-
AXP_DESC(AXP717, DCDC4, "dcdc4", "vin4", 1000, 3700, 100,
807+
AXP717_DCDC_OUTPUT_CONTROL, BIT(2), 640),
808+
AXP_DESC_DELAY(AXP717, DCDC4, "dcdc4", "vin4", 1000, 3700, 100,
797809
AXP717_DCDC4_CONTROL, AXP717_DCDC_V_OUT_MASK,
798-
AXP717_DCDC_OUTPUT_CONTROL, BIT(3)),
810+
AXP717_DCDC_OUTPUT_CONTROL, BIT(3), 6400),
799811
AXP_DESC(AXP717, ALDO1, "aldo1", "aldoin", 500, 3500, 100,
800812
AXP717_ALDO1_CONTROL, AXP717_LDO_V_OUT_MASK,
801813
AXP717_LDO0_OUTPUT_CONTROL, BIT(0)),

0 commit comments

Comments
 (0)