[U-Boot] [PATCH 2/3] omap3evm: Update ethernet reset sequence for Rev.G board
Sanjeev Premi
premi at ti.com
Wed Jun 22 21:24:08 CEST 2011
From: Sriramakrishnan <srk at ti.com>
The GPIO pin used for resetting the external LAN chip has
changed for Rev.G board.
Signed-off-by: Sriramakrishnan <srk at ti.com>
Signed-off-by: Sanjeev Premi <premi at ti.com>
---
board/ti/evm/evm.c | 27 ++++++++++++++++++---------
1 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/board/ti/evm/evm.c b/board/ti/evm/evm.c
index 8f9f141..57e5fa5 100644
--- a/board/ti/evm/evm.c
+++ b/board/ti/evm/evm.c
@@ -181,17 +181,26 @@ static void setup_net_chip(void)
*/
static void reset_net_chip(void)
{
- struct gpio *gpio3_base = (struct gpio *)OMAP34XX_GPIO3_BASE;
-
- /* Make GPIO 64 as output pin */
- writel(readl(&gpio3_base->oe) & ~(GPIO0), &gpio3_base->oe);
-
- /* Now send a pulse on the GPIO pin */
- writel(GPIO0, &gpio3_base->setdataout);
+ struct gpio *gpio_base;
+ u32 pin;
+
+ if (get_omap3_evm_rev() == OMAP3EVM_BOARD_GEN_1) {
+ gpio_base = (struct gpio *)OMAP34XX_GPIO3_BASE;
+ pin = GPIO0; /* Output pin: GPIO Bank 3, pin 0 */
+ } else {
+ gpio_base = (struct gpio *)OMAP34XX_GPIO1_BASE;
+ pin = GPIO7; /* Output pin: GPIO Bank 0, pin 7 */
+ }
+
+ /* Configure the pin as output */
+ writel(readl(&gpio_base->oe) & ~(pin), &gpio_base->oe);
+
+ /* Send a pulse on the GPIO pin */
+ writel(pin, &gpio_base->setdataout);
udelay(1);
- writel(GPIO0, &gpio3_base->cleardataout);
+ writel(pin, &gpio_base->cleardataout);
udelay(1);
- writel(GPIO0, &gpio3_base->setdataout);
+ writel(pin, &gpio_base->setdataout);
}
int board_eth_init(bd_t *bis)
--
1.7.2.2
More information about the U-Boot
mailing list