public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* regulator: ab8500: ambiguous meaning of delay setting in struct ab8500_regulator_info
@ 2013-03-27  0:15 Axel Lin
  2013-03-27  7:58 ` Bengt Jönsson
  0 siblings, 1 reply; 2+ messages in thread
From: Axel Lin @ 2013-03-27  0:15 UTC (permalink / raw)
  To: Mark Brown
  Cc: Bengt Jonsson, Lee Jones, Yvan FILLION, Liam Girdwood,
	linux-kernel

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.

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. )

Axel


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: regulator: ab8500: ambiguous meaning of delay setting in struct ab8500_regulator_info
  2013-03-27  0:15 regulator: ab8500: ambiguous meaning of delay setting in struct ab8500_regulator_info Axel Lin
@ 2013-03-27  7:58 ` Bengt Jönsson
  0 siblings, 0 replies; 2+ messages in thread
From: Bengt Jönsson @ 2013-03-27  7:58 UTC (permalink / raw)
  To: Axel Lin
  Cc: Mark Brown, Lee Jones, Yvan FILLION, Liam Girdwood,
	linux-kernel@vger.kernel.org

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-03-27  7:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-27  0:15 regulator: ab8500: ambiguous meaning of delay setting in struct ab8500_regulator_info Axel Lin
2013-03-27  7:58 ` Bengt Jönsson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox