Patchwork [U-Boot] BeagleBoard: Pin mux initialization glitch fix

login
register
mail settings
Submitter Jason Kridner
Date April 20, 2011, 11:52 p.m.
Message ID <1303343572-19972-11-git-send-email-jkridner@beagleboard.org>
Download mbox | patch
Permalink /patch/92351/
State Accepted
Commit 52d82e40b0332119d14f206555863c77b4f5edb3
Headers show

Comments

Jason Kridner - April 20, 2011, 11:52 p.m.
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.

Signed-off-by: Bob Feretich <bob.feretich@rafresearch.com>
Cc: Wolfgang Denk <wd@denx.de>
Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
---
This patch isn't updated, it is just represented for inclusion on top
of u-boot-ti.
---
 board/ti/beagle/beagle.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

Patch

diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index c0cab9e..7768901 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -311,17 +311,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;