regulator: Bootstrap wm831x DVS VSEL value from ON VSEL if not already set
If we don't have a DVS VSEL value already set when we start up then start it off with the value currently being used for ON. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
This commit is contained in:
parent
b47ba9fdd3
commit
c439b8f46e
|
@ -491,6 +491,20 @@ static __devinit void wm831x_buckv_dvs_init(struct wm831x_dcdc *dcdc,
|
|||
return;
|
||||
}
|
||||
|
||||
/* If DVS_VSEL is set to the minimum value then raise it to ON_VSEL
|
||||
* to make bootstrapping a bit smoother.
|
||||
*/
|
||||
if (!dcdc->dvs_vsel) {
|
||||
ret = wm831x_set_bits(wm831x,
|
||||
dcdc->base + WM831X_DCDC_DVS_CONTROL,
|
||||
WM831X_DC1_DVS_VSEL_MASK, dcdc->on_vsel);
|
||||
if (ret == 0)
|
||||
dcdc->dvs_vsel = dcdc->on_vsel;
|
||||
else
|
||||
dev_warn(wm831x->dev, "Failed to set DVS_VSEL: %d\n",
|
||||
ret);
|
||||
}
|
||||
|
||||
ret = wm831x_set_bits(wm831x, dcdc->base + WM831X_DCDC_DVS_CONTROL,
|
||||
WM831X_DC1_DVS_SRC_MASK, ctrl);
|
||||
if (ret < 0) {
|
||||
|
|
Loading…
Reference in New Issue