Messages in this thread |  | | Date | Wed, 27 Mar 2013 08:58:26 +0100 | | From | Bengt Jönsson <> | | Subject | Re: regulator: ab8500: ambiguous meaning of delay setting in struct ab8500_regulator_info |
| |
On 03/27/2013 01:15 AM, Axel Lin wrote: > Hi, > > The comment of struct ab8500_regulator_info says the delay means > "startup/set voltage delay in us". > I'm confused by the meaning, does it mean enable_time or set_voltage_time_sel > time or both? > > * @enable_time: Time taken for the regulator voltage output voltage to > * stabilise after being enabled, in microseconds. > > * @set_voltage_time_sel: Time taken for the regulator voltage output voltage > * to stabilise after being set to a new value, in microseconds. > * The function provides the from and to voltage selector, the > * function should return the worst case. The data sheet does not specify time delay for voltage selection, only enable time. So I have assumed the same time for voltage selection. > Current code only has delay setting for AB8500_LDO_TVOUT, it looks like it > means enable_time rather than the delay for set_voltage_time_sel. > (well, AB8500_LDO_TVOUT is fixed voltage, it does not implement set_voltage_time_sel) > > ab8500_regulator_set_voltage_time_sel() returns info->delay, but all it's users > (AB8500_LDO_AUX1, AB8500_LDO_AUX2, AB8500_LDO_AUX3, AB8500_LDO_INTCORE) > do not has delay setting. ( So now ab8500_regulator_set_voltage_time_sel returns 0. ) This is a flaw in the driver. It should specify delay for all regulators, not just VTVout.
Worst case enable time from data sheet: Vana: enable time = 140 us Vaux1/2: enable time = 200 us Vaux3: enable time = 450 us Vintcore: enable time = 750 us Vamic1/2: enable time = 500 us Vdmic: enable time = 420 us VTVout: enable time = 500 us Vaudio: enable time = 140 us Vusb: enable time = 150 us > > Axel > Thanks for looking into it.
Bengt
|  |