Patchwork [U-Boot] mx51evk: Use GPIO API for configuring the IOMUX

login
register
mail settings
Submitter Fabio Estevam
Date Oct. 25, 2011, 1:14 p.m.
Message ID <1319548440-24326-1-git-send-email-fabio.estevam@freescale.com>
Download mbox | patch
Permalink /patch/121681/
State Accepted
Commit d736ebea1cc335e89643656c3db33f5df55ffb16
Delegated to: Stefano Babic
Headers show

Comments

Fabio Estevam - Oct. 25, 2011, 1:14 p.m.
GPIO API provides mxc_request_iomux function for setting the IOMUX mode.

Use this function instead of directly writing to the IOMUX register.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
 board/freescale/mx51evk/mx51evk.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)
Stefano Babic - Oct. 26, 2011, 7:54 a.m.
On 10/25/2011 03:14 PM, Fabio Estevam wrote:
> GPIO API provides mxc_request_iomux function for setting the IOMUX mode.
> 
> Use this function instead of directly writing to the IOMUX register.
> 
> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
> ---
>  board/freescale/mx51evk/mx51evk.c |    8 +++-----
>  1 files changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/board/freescale/mx51evk/mx51evk.c b/board/freescale/mx51evk/mx51evk.c
> index 73ca513..9cd5b3c 100644
> --- a/board/freescale/mx51evk/mx51evk.c
> +++ b/board/freescale/mx51evk/mx51evk.c
> @@ -254,16 +254,14 @@ static void power_init(void)
>  	pmic_reg_write(p, REG_MODE_1, val);
>  	udelay(200);
>  
> -	gpio_direction_output(46, 0);
> -
> -	/* Reset the ethernet controller over GPIO */
> -	writel(0x1, IOMUXC_BASE_ADDR + 0x0AC);
> -
>  	/* Enable VGEN3, VCAM, VAUDIO, VVIDEO, VSD regulators */
>  	val = VGEN3EN | VGEN3CONFIG | VCAMEN | VCAMCONFIG |
>  		VVIDEOEN | VAUDIOEN  | VSDEN;
>  	pmic_reg_write(p, REG_MODE_1, val);
>  
> +	mxc_request_iomux(MX51_PIN_EIM_A20, IOMUX_CONFIG_ALT1);
> +	gpio_direction_output(46, 0);
> +
>  	udelay(500);
>  
>  	gpio_set_value(46, 1);

Applied to u-boot-imx, thanks.

Best regards,
Stefano Babic

Patch

diff --git a/board/freescale/mx51evk/mx51evk.c b/board/freescale/mx51evk/mx51evk.c
index 73ca513..9cd5b3c 100644
--- a/board/freescale/mx51evk/mx51evk.c
+++ b/board/freescale/mx51evk/mx51evk.c
@@ -254,16 +254,14 @@  static void power_init(void)
 	pmic_reg_write(p, REG_MODE_1, val);
 	udelay(200);
 
-	gpio_direction_output(46, 0);
-
-	/* Reset the ethernet controller over GPIO */
-	writel(0x1, IOMUXC_BASE_ADDR + 0x0AC);
-
 	/* Enable VGEN3, VCAM, VAUDIO, VVIDEO, VSD regulators */
 	val = VGEN3EN | VGEN3CONFIG | VCAMEN | VCAMCONFIG |
 		VVIDEOEN | VAUDIOEN  | VSDEN;
 	pmic_reg_write(p, REG_MODE_1, val);
 
+	mxc_request_iomux(MX51_PIN_EIM_A20, IOMUX_CONFIG_ALT1);
+	gpio_direction_output(46, 0);
+
 	udelay(500);
 
 	gpio_set_value(46, 1);