mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
dm: gpio: da8xx_gpio: Add support for GPIO_ACTIVE_LOW/HIGH
With DM and device tree support, let's use the GPIO_ACTIVE_HIGH and GPIO_ACTIVE_LOW from the device tree as they are intended. Signed-off-by: Adam Ford <aford173@gmail.com>
This commit is contained in:
parent
1eddf54931
commit
9440b3d3d0
1 changed files with 13 additions and 0 deletions
|
@ -493,12 +493,25 @@ static int davinci_gpio_get_function(struct udevice *dev, unsigned int offset)
|
||||||
return GPIOF_OUTPUT;
|
return GPIOF_OUTPUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int davinci_gpio_xlate(struct udevice *dev, struct gpio_desc *desc,
|
||||||
|
struct ofnode_phandle_args *args)
|
||||||
|
{
|
||||||
|
desc->offset = args->args[0];
|
||||||
|
|
||||||
|
if (args->args[1] & GPIO_ACTIVE_LOW)
|
||||||
|
desc->flags = GPIOD_ACTIVE_LOW;
|
||||||
|
else
|
||||||
|
desc->flags = 0;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static const struct dm_gpio_ops gpio_davinci_ops = {
|
static const struct dm_gpio_ops gpio_davinci_ops = {
|
||||||
.direction_input = davinci_gpio_direction_input,
|
.direction_input = davinci_gpio_direction_input,
|
||||||
.direction_output = davinci_gpio_direction_output,
|
.direction_output = davinci_gpio_direction_output,
|
||||||
.get_value = davinci_gpio_get_value,
|
.get_value = davinci_gpio_get_value,
|
||||||
.set_value = davinci_gpio_set_value,
|
.set_value = davinci_gpio_set_value,
|
||||||
.get_function = davinci_gpio_get_function,
|
.get_function = davinci_gpio_get_function,
|
||||||
|
.xlate = davinci_gpio_xlate,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int davinci_gpio_probe(struct udevice *dev)
|
static int davinci_gpio_probe(struct udevice *dev)
|
||||||
|
|
Loading…
Reference in a new issue