Skip to content

Commit 6df0921

Browse files
committed
regulator: mp8859: Report slew rate
The MP8859 implements voltage changes at the rate of 1mV/us, tell the core about this so that it can provide appropriate delays on voltage changes. Tested-by: Markus Reichl <m.reichl@fivetechno.de> Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://msgid.link/r/20240225-regulator-mp8859-v1-7-68ee2c839ded@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 4317eca commit 6df0921

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

drivers/regulator/mp8859.c

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,20 @@ static int mp8859_get_voltage_sel(struct regulator_dev *rdev)
8181
return val;
8282
}
8383

84+
static int mp8859_set_voltage_time_sel(struct regulator_dev *rdev,
85+
unsigned int from, unsigned int to)
86+
{
87+
int change;
88+
89+
/* The voltage ramps at 1mV/uS, selectors are 10mV */
90+
if (from > to)
91+
change = from - to;
92+
else
93+
change = to - from;
94+
95+
return change * 10 * 1000;
96+
}
97+
8498
static unsigned int mp8859_get_mode(struct regulator_dev *rdev)
8599
{
86100
unsigned int val;
@@ -220,6 +234,7 @@ static const struct regulator_ops mp8859_ops = {
220234
.set_voltage_sel = mp8859_set_voltage_sel,
221235
.get_voltage_sel = mp8859_get_voltage_sel,
222236
.list_voltage = regulator_list_voltage_linear_range,
237+
.set_voltage_time_sel = mp8859_set_voltage_time_sel,
223238
.enable = regulator_enable_regmap,
224239
.disable = regulator_disable_regmap,
225240
.is_enabled = regulator_is_enabled_regmap,

0 commit comments

Comments
 (0)