Skip to contentSkip to conversation

regulator: fixed: Add support to handle enable-active-high DT property

PATCH In review Vignesh R 3 participants 3 messages Dec 7, 2016 – Dec 27, 2016

lore
Share & tools
lore

Vignesh R

author
#0 lore raw

PATCH 1/1 regulator: fixed: Add support to handle enable-active-high DT property

Add support to handle enable-active-high DT property. This property is used to drive the gpio controlling fixed regulator as active high when claiming gpio line.

---
 doc/device-tree-bindings/regulator/fixed.txt | 4 ++++
 drivers/power/regulator/fixed.c              | 7 ++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)
doc/device-tree-bindings/regulator/fixed.txt +4 -0
index 8a0d002688d8..5fd9033fea2d 100644
@@ -12,6 +12,9 @@ Optional properties:
 - gpio: GPIO to use for enable control
 - startup-delay-us: startup time in microseconds
 - regulator constraints (binding info: regulator.txt)
+- enable-active-high: Polarity of GPIO is Active high. If this property
+  is missing, the default assumed is Active low.
+
 
 Other kernel-style properties, are currently not used.
 
@@ -36,4 +39,5 @@ fixed_regulator at 0 {
 	regulator-max-microamp = <15000>;
 	regulator-always-on;
 	regulator-boot-on;
+	enable-active-high;
 };
drivers/power/regulator/fixed.c +6 -1
index 62dc47f76985..3d2d9081c1b1 100644
@@ -27,6 +27,8 @@ static int fixed_regulator_ofdata_to_platdata(struct udevice *dev)
 	struct dm_regulator_uclass_platdata *uc_pdata;
 	struct fixed_regulator_platdata *dev_pdata;
 	struct gpio_desc *gpio;
+	const void *blob = gd->fdt_blob;
+	int node = dev->of_offset, flags = GPIOD_IS_OUT;
 	int ret;
 
 	dev_pdata = dev_get_platdata(dev);
@@ -37,9 +39,12 @@ static int fixed_regulator_ofdata_to_platdata(struct udevice *dev)
 	/* Set type to fixed */
 	uc_pdata->type = REGULATOR_TYPE_FIXED;
 
+	if (fdtdec_get_bool(blob, node, "enable-active-high"))
+		flags |= GPIOD_IS_OUT_ACTIVE;
+
 	/* Get fixed regulator optional enable GPIO desc */
 	gpio = &dev_pdata->gpio;
-	ret = gpio_request_by_name(dev, "gpio", 0, gpio, GPIOD_IS_OUT);
+	ret = gpio_request_by_name(dev, "gpio", 0, gpio, flags);
 	if (ret) {
 		debug("Fixed regulator optional enable GPIO - not found! Error: %d\n",
 		      ret);
Signature · 1 line
2.11.0
#1 lore raw

PATCH 1/1 regulator: fixed: Add support to handle enable-active-high DT property

Quoted 9 lines · Vignesh R

Add support to handle enable-active-high DT property. This property is used to drive the gpio controlling fixed regulator as active high when claiming gpio line.

---
 doc/device-tree-bindings/regulator/fixed.txt | 4 ++++
 drivers/power/regulator/fixed.c              | 7 ++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)
#2 lore raw
In reply to Vignesh R
Quoted 6 lines · Vignesh R

Add support to handle enable-active-high DT property. This property is used to drive the gpio controlling fixed regulator as active high when claiming gpio line.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20161227/da3583aa/attachment.sig>