[PATCH 1/3] drivers: regulator: palmas: add an API to set/clear the switch bit on SMPS10

Laxman Dewangan ldewangan at nvidia.com
Sun May 26 03:00:25 EST 2013


Hi Kishon/Graeme,

On Friday 24 May 2013 08:01 PM, Kishon Vijay Abraham I wrote:
> From: Graeme Gregory <gg at slimlogic.co.uk>
>
> Added an API to set/clear the switch bit on SMPS10 which can be used by
> palmas usb. The switch bit should be set in order for palmas to
> supply VBUS and is needed when OMAP is acting as USB HOST.
>
> Signed-off-by: Graeme Gregory <gg at slimlogic.co.uk>
> Signed-off-by: Kishon Vijay Abraham I <kishon at ti.com>
> ---
>   drivers/regulator/palmas-regulator.c | 26 ++++++++++++++++++++++++++
>   include/linux/mfd/palmas.h           |  2 ++
>   2 files changed, 28 insertions(+)
>
> diff --git a/drivers/regulator/palmas-regulator.c b/drivers/regulator/palmas-regulator.c
> index 92ceed0..d57ab55 100644
> --- a/drivers/regulator/palmas-regulator.c
> +++ b/drivers/regulator/palmas-regulator.c
> @@ -465,6 +465,32 @@ static int palmas_smps_set_ramp_delay(struct regulator_dev *rdev,
>   	return ret;
>   }
>   
> +/**
> + * palmas_set_switch_smps10() - set or clear the switch bit on SMPS10
> + * @param palmas pointer to the palmas mfd structure
> + * @param sw boolean to indicate switch status
> + *
> + * There is not a way to represent this function within the regulator
> + * framework. This sets/clears the switch of SMPS10 so SMPS10_OUT1 and
> + * SMPS10_OUT2 are shorted together.
> + */
>

As per datasheet, SMPS10 has 2 outputs, OUT1 and OUT2.
OUT2 is always available either through parasitic diode or bypass switch 
or boost mode. It can not be off at all.
OUT2 can be enable/disable through the switch bit.

The smps10 regulator is implemented  enable/disable on which it just 
enable/disable boost mode.
I think this is not proper control, actually we should control OUT1 
switch on regulator enable/disable of the smps10.

And hence in this case, we will not need this API.

Otherwise it will difficult to use this api outside of palmas.

In tegra platform, we have connected the USB-VBUS supply from 
SMPS10-OUT1 and usb driver control the vbus enabled/disable and so it 
can not call this API. This functionality need to be exposed through the 
regulator only.




More information about the devicetree-discuss mailing list