[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