[U-Boot] [PATCH] mxc_gpio: Correct the GPIO handling in gpio_direction_output()
Stefano Babic
sbabic at denx.de
Tue Jul 16 09:22:29 CEST 2013
On 15/07/2013 15:58, Dirk Behme wrote:
> Setting the direction and an output value should be done by
>
> First, set the desired output value.
>
> Then, switch to output.
>
> If this is done in the inverse order, like at the moment,
> there can be a glitch on the GPIO line while switching first
> the old output value and aftwards the new one.
>
> Fix this by inverting the order of the direction/set_value
> calls.
Right, thanks to fix this !
>
> Signed-off-by: Dirk Behme <dirk.behme at de.bosch.com>
> ---
> drivers/gpio/mxc_gpio.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpio/mxc_gpio.c b/drivers/gpio/mxc_gpio.c
> index a388064..1d820d4 100644
> --- a/drivers/gpio/mxc_gpio.c
> +++ b/drivers/gpio/mxc_gpio.c
> @@ -143,10 +143,10 @@ int gpio_direction_input(unsigned gpio)
>
> int gpio_direction_output(unsigned gpio, int value)
> {
> - int ret = mxc_gpio_direction(gpio, MXC_GPIO_DIRECTION_OUT);
> + int ret = gpio_set_value(gpio, value);
>
> if (ret < 0)
> return ret;
>
> - return gpio_set_value(gpio, value);
> + return mxc_gpio_direction(gpio, MXC_GPIO_DIRECTION_OUT);
> }
>
Acked-by: Stefano Babic <sbabic at denx.de>
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
More information about the U-Boot
mailing list