Re: [PATCH] mx2 GPIO OCRx register

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Teresa,

On Tue, Jun 08, 2010 at 12:03:02PM +0200, Teresa Gamez wrote:
> The GPIO OCRx register has to be set correct or the output is not set as expected.

No. The gpio functions are not expected to change the iomuxer. This is
what imx_gpio_mode() is for.

Sascha


> 
> Signed-off-by: Teresa Gámez <T.Gamez@xxxxxxxxx> 
> ---
> Index: barebox-2010.06.0/arch/arm/mach-imx/gpio.c
> ===================================================================
> --- barebox-2010.06.0/arch/arm/mach-imx/gpio.c	2010-06-02 10:36:28.000000000 +0200
> +++ barebox-2010.06.0/arch/arm/mach-imx/gpio.c	2010-06-08 11:02:31.282473877 +0200
> @@ -31,6 +31,8 @@
>  #if defined CONFIG_ARCH_IMX1 || defined CONFIG_ARCH_IMX21 || defined CONFIG_ARCH_IMX27
>  #define GPIO_DR		0x1c
>  #define GPIO_GDIR	0x00
> +#define GPIO_OCR1	0x04
> +#define GPIO_OCR2	0x08
>  #define GPIO_PSR	0x24
>  #define GPIO_ICR1	0x28
>  #define GPIO_ICR2	0x2C
> @@ -103,6 +105,18 @@
>  	if (!base)
>  		return -EINVAL;
>  
> +#if defined GPIO_OCR1 && defined GPIO_OCR2
> +	if (shift < 16) {
> +		val = readl(base + GPIO_OCR1);
> +		val |= (3 << (shift * 2));
> +		writel(val, base + GPIO_OCR1);
> +	} else {
> +		val = readl(base + GPIO_OCR2);
> +		val |= (3 << ((shift - 16) * 2));
> +		writel(val, base + GPIO_OCR2);
> +	}
> +#endif
> +
>  	gpio_set_value(gpio, value);
>  
>  	val = readl(base + GPIO_GDIR);
> 
> 
> _______________________________________________
> barebox mailing list
> barebox@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/barebox

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux