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. Signed-off-by: Vignesh R <vigneshr@ti.com> Acked-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
d26a38fd61
commit
bd2e9714c8
@ -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@0 {
|
||||
regulator-max-microamp = <15000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
enable-active-high;
|
||||
};
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user