diff mbox

[U-Boot] OMAP3 Beagle Pin Mux initialization glitch fix

Message ID 1313040375-31899-1-git-send-email-agnel.joel@gmail.com
State Not Applicable
Headers show

Commit Message

Joel Fernandes Aug. 11, 2011, 5:26 a.m. UTC
From: Bob Feretich <bob.feretich@rafresearch.com>

From: Bob Feretich <bob.feretich@rafresearch.com>

The below patch reverses the order of two segments in the board file.
Output pins need to have their values initialized, before they are
exposed to the logic outside the chip.

Previous discussions:
http://lists.denx.de/pipermail/u-boot/2011-March/088115.html

Signed-off-by: Bob Feretich <bob.feretich@rafresearch.com>
Signed-off-by: Joel A Fernandes <agnel.joel@gmail.com>
---
 board/ti/beagle/beagle.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

Comments

Jason Kridner Aug. 11, 2011, 6:23 p.m. UTC | #1
On Thu, Aug 11, 2011 at 1:26 AM, Joel A Fernandes <agnel.joel@gmail.com> wrote:
> From: Bob Feretich <bob.feretich@rafresearch.com>
>
> From: Bob Feretich <bob.feretich@rafresearch.com>
>
> The below patch reverses the order of two segments in the board file.
> Output pins need to have their values initialized, before they are
> exposed to the logic outside the chip.
>
> Previous discussions:
> http://lists.denx.de/pipermail/u-boot/2011-March/088115.html
>
> Signed-off-by: Bob Feretich <bob.feretich@rafresearch.com>
> Signed-off-by: Joel A Fernandes <agnel.joel@gmail.com>

Acked-by: Jason Kridner <jkridner@beagleboard.org>

+ Sandeep and Khasim

> ---
>  board/ti/beagle/beagle.c |   12 ++++++------
>  1 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
> index ab50514..15d061a 100644
> --- a/board/ti/beagle/beagle.c
> +++ b/board/ti/beagle/beagle.c
> @@ -301,17 +301,17 @@ int misc_init_r(void)
>        twl4030_power_init();
>        twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
>
> -       /* Configure GPIOs to output */
> -       writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1), &gpio6_base->oe);
> -       writel(~(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
> -               GPIO15 | GPIO14 | GPIO13 | GPIO12), &gpio5_base->oe);
> -
> -       /* Set GPIOs */
> +       /* Set GPIO states before they are made outputs */
>        writel(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1,
>                &gpio6_base->setdataout);
>        writel(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
>                GPIO15 | GPIO14 | GPIO13 | GPIO12, &gpio5_base->setdataout);
>
> +       /* Configure GPIOs to output */
> +       writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1), &gpio6_base->oe);
> +       writel(~(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
> +               GPIO15 | GPIO14 | GPIO13 | GPIO12), &gpio5_base->oe);
> +
>        dieid_num_r();
>
>        return 0;
> --
> 1.7.1
>
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>
diff mbox

Patch

diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index ab50514..15d061a 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -301,17 +301,17 @@  int misc_init_r(void)
 	twl4030_power_init();
 	twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
 
-	/* Configure GPIOs to output */
-	writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1), &gpio6_base->oe);
-	writel(~(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
-		GPIO15 | GPIO14 | GPIO13 | GPIO12), &gpio5_base->oe);
-
-	/* Set GPIOs */
+	/* Set GPIO states before they are made outputs */
 	writel(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1,
 		&gpio6_base->setdataout);
 	writel(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
 		GPIO15 | GPIO14 | GPIO13 | GPIO12, &gpio5_base->setdataout);
 
+	/* Configure GPIOs to output */
+	writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1), &gpio6_base->oe);
+	writel(~(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
+		GPIO15 | GPIO14 | GPIO13 | GPIO12), &gpio5_base->oe);
+
 	dieid_num_r();
 
 	return 0;