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

From: Laxman Dewangan
Date: Sat May 25 2013 - 13:06:19 EST


Hi Kishon/Graeme,

On Friday 24 May 2013 08:01 PM, Kishon Vijay Abraham I wrote:
From: Graeme Gregory <gg@xxxxxxxxxxxxxxx>

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@xxxxxxxxxxxxxxx>
Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx>
---
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.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/