mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-24 00:16:55 +08:00
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
This commit is contained in:
@@ -18,6 +18,7 @@ properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,qca6390-pmu
|
||||
- qcom,wcn6750-pmu
|
||||
- qcom,wcn6855-pmu
|
||||
- qcom,wcn7850-pmu
|
||||
|
||||
@@ -27,6 +28,9 @@ properties:
|
||||
vddaon-supply:
|
||||
description: VDD_AON supply regulator handle
|
||||
|
||||
vddasd-supply:
|
||||
description: VDD_ASD supply regulator handle
|
||||
|
||||
vdddig-supply:
|
||||
description: VDD_DIG supply regulator handle
|
||||
|
||||
@@ -42,6 +46,9 @@ properties:
|
||||
vddio1p2-supply:
|
||||
description: VDD_IO_1P2 supply regulator handle
|
||||
|
||||
vddrfa0p8-supply:
|
||||
description: VDD_RFA_0P8 supply regulator handle
|
||||
|
||||
vddrfa0p95-supply:
|
||||
description: VDD_RFA_0P95 supply regulator handle
|
||||
|
||||
@@ -51,12 +58,18 @@ properties:
|
||||
vddrfa1p3-supply:
|
||||
description: VDD_RFA_1P3 supply regulator handle
|
||||
|
||||
vddrfa1p7-supply:
|
||||
description: VDD_RFA_1P7 supply regulator handle
|
||||
|
||||
vddrfa1p8-supply:
|
||||
description: VDD_RFA_1P8 supply regulator handle
|
||||
|
||||
vddrfa1p9-supply:
|
||||
description: VDD_RFA_1P9 supply regulator handle
|
||||
|
||||
vddrfa2p2-supply:
|
||||
description: VDD_RFA_2P2 supply regulator handle
|
||||
|
||||
vddpcie1p3-supply:
|
||||
description: VDD_PCIE_1P3 supply regulator handle
|
||||
|
||||
@@ -119,6 +132,20 @@ allOf:
|
||||
- vddpcie1p3-supply
|
||||
- vddpcie1p9-supply
|
||||
- vddio-supply
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: qcom,wcn6750-pmu
|
||||
then:
|
||||
required:
|
||||
- vddaon-supply
|
||||
- vddasd-supply
|
||||
- vddpmu-supply
|
||||
- vddrfa0p8-supply
|
||||
- vddrfa1p2-supply
|
||||
- vddrfa1p7-supply
|
||||
- vddrfa2p2-supply
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
|
||||
@@ -371,8 +371,8 @@
|
||||
.ops = &axp20x_ops, \
|
||||
}
|
||||
|
||||
#define AXP_DESC(_family, _id, _match, _supply, _min, _max, _step, _vreg, \
|
||||
_vmask, _ereg, _emask) \
|
||||
#define AXP_DESC_DELAY(_family, _id, _match, _supply, _min, _max, _step, _vreg, \
|
||||
_vmask, _ereg, _emask, _ramp_delay) \
|
||||
[_family##_##_id] = { \
|
||||
.name = (_match), \
|
||||
.supply_name = (_supply), \
|
||||
@@ -388,9 +388,15 @@
|
||||
.vsel_mask = (_vmask), \
|
||||
.enable_reg = (_ereg), \
|
||||
.enable_mask = (_emask), \
|
||||
.ramp_delay = (_ramp_delay), \
|
||||
.ops = &axp20x_ops, \
|
||||
}
|
||||
|
||||
#define AXP_DESC(_family, _id, _match, _supply, _min, _max, _step, _vreg, \
|
||||
_vmask, _ereg, _emask) \
|
||||
AXP_DESC_DELAY(_family, _id, _match, _supply, _min, _max, _step, _vreg, \
|
||||
_vmask, _ereg, _emask, 0)
|
||||
|
||||
#define AXP_DESC_SW(_family, _id, _match, _supply, _ereg, _emask) \
|
||||
[_family##_##_id] = { \
|
||||
.name = (_match), \
|
||||
@@ -419,8 +425,8 @@
|
||||
.ops = &axp20x_ops_fixed \
|
||||
}
|
||||
|
||||
#define AXP_DESC_RANGES(_family, _id, _match, _supply, _ranges, _n_voltages, \
|
||||
_vreg, _vmask, _ereg, _emask) \
|
||||
#define AXP_DESC_RANGES_DELAY(_family, _id, _match, _supply, _ranges, _n_voltages, \
|
||||
_vreg, _vmask, _ereg, _emask, _ramp_delay) \
|
||||
[_family##_##_id] = { \
|
||||
.name = (_match), \
|
||||
.supply_name = (_supply), \
|
||||
@@ -436,9 +442,15 @@
|
||||
.enable_mask = (_emask), \
|
||||
.linear_ranges = (_ranges), \
|
||||
.n_linear_ranges = ARRAY_SIZE(_ranges), \
|
||||
.ramp_delay = (_ramp_delay), \
|
||||
.ops = &axp20x_ops_range, \
|
||||
}
|
||||
|
||||
#define AXP_DESC_RANGES(_family, _id, _match, _supply, _ranges, _n_voltages, \
|
||||
_vreg, _vmask, _ereg, _emask) \
|
||||
AXP_DESC_RANGES_DELAY(_family, _id, _match, _supply, _ranges, \
|
||||
_n_voltages, _vreg, _vmask, _ereg, _emask, 0)
|
||||
|
||||
static const int axp209_dcdc2_ldo3_slew_rates[] = {
|
||||
1600,
|
||||
800,
|
||||
@@ -781,21 +793,21 @@ static const struct linear_range axp717_dcdc3_ranges[] = {
|
||||
};
|
||||
|
||||
static const struct regulator_desc axp717_regulators[] = {
|
||||
AXP_DESC_RANGES(AXP717, DCDC1, "dcdc1", "vin1",
|
||||
AXP_DESC_RANGES_DELAY(AXP717, DCDC1, "dcdc1", "vin1",
|
||||
axp717_dcdc1_ranges, AXP717_DCDC1_NUM_VOLTAGES,
|
||||
AXP717_DCDC1_CONTROL, AXP717_DCDC_V_OUT_MASK,
|
||||
AXP717_DCDC_OUTPUT_CONTROL, BIT(0)),
|
||||
AXP_DESC_RANGES(AXP717, DCDC2, "dcdc2", "vin2",
|
||||
AXP717_DCDC_OUTPUT_CONTROL, BIT(0), 640),
|
||||
AXP_DESC_RANGES_DELAY(AXP717, DCDC2, "dcdc2", "vin2",
|
||||
axp717_dcdc2_ranges, AXP717_DCDC2_NUM_VOLTAGES,
|
||||
AXP717_DCDC2_CONTROL, AXP717_DCDC_V_OUT_MASK,
|
||||
AXP717_DCDC_OUTPUT_CONTROL, BIT(1)),
|
||||
AXP_DESC_RANGES(AXP717, DCDC3, "dcdc3", "vin3",
|
||||
AXP717_DCDC_OUTPUT_CONTROL, BIT(1), 640),
|
||||
AXP_DESC_RANGES_DELAY(AXP717, DCDC3, "dcdc3", "vin3",
|
||||
axp717_dcdc3_ranges, AXP717_DCDC3_NUM_VOLTAGES,
|
||||
AXP717_DCDC3_CONTROL, AXP717_DCDC_V_OUT_MASK,
|
||||
AXP717_DCDC_OUTPUT_CONTROL, BIT(2)),
|
||||
AXP_DESC(AXP717, DCDC4, "dcdc4", "vin4", 1000, 3700, 100,
|
||||
AXP717_DCDC_OUTPUT_CONTROL, BIT(2), 640),
|
||||
AXP_DESC_DELAY(AXP717, DCDC4, "dcdc4", "vin4", 1000, 3700, 100,
|
||||
AXP717_DCDC4_CONTROL, AXP717_DCDC_V_OUT_MASK,
|
||||
AXP717_DCDC_OUTPUT_CONTROL, BIT(3)),
|
||||
AXP717_DCDC_OUTPUT_CONTROL, BIT(3), 6400),
|
||||
AXP_DESC(AXP717, ALDO1, "aldo1", "aldoin", 500, 3500, 100,
|
||||
AXP717_ALDO1_CONTROL, AXP717_LDO_V_OUT_MASK,
|
||||
AXP717_LDO0_OUTPUT_CONTROL, BIT(0)),
|
||||
|
||||
Reference in New Issue
Block a user