From 6921b314a855b3c4856ef5ef83315fe945de98b2 Mon Sep 17 00:00:00 2001 From: Sanjeev Premi Date: Mon, 18 Jul 2011 09:20:15 -0400 Subject: [PATCH 1/1] omap3evm: eth: split function setup_net_chip In current implementation, the function sets up the ethernet chip and resets it. The steps to reset depend upon the board revision. The patch moves the reset actions to new function reset_net_chip(). Signed-off-by: Sanjeev Premi Signed-off-by: Sandeep Paulraj --- board/ti/evm/evm.c | 12 +++++++++++- board/ti/evm/evm.h | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/board/ti/evm/evm.c b/board/ti/evm/evm.c index aaf3033b04..8f9f141682 100644 --- a/board/ti/evm/evm.c +++ b/board/ti/evm/evm.c @@ -130,6 +130,9 @@ int misc_init_r(void) #endif omap3_evm_get_revision(); +#if defined(CONFIG_CMD_NET) + reset_net_chip(); +#endif dieid_num_r(); return 0; @@ -153,7 +156,6 @@ void set_muxconf_regs(void) */ static void setup_net_chip(void) { - struct gpio *gpio3_base = (struct gpio *)OMAP34XX_GPIO3_BASE; struct ctrl *ctrl_base = (struct ctrl *)OMAP34XX_CTRL_BASE; /* Configure GPMC registers */ @@ -172,6 +174,14 @@ static void setup_net_chip(void) /* Enable off mode for ALE in PADCONF_GPMC_NADV_ALE register */ writew(readw(&ctrl_base->gpmc_nadv_ale) | 0x0E00, &ctrl_base->gpmc_nadv_ale); +} + +/** + * Reset the ethernet chip. + */ +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); diff --git a/board/ti/evm/evm.h b/board/ti/evm/evm.h index b721ad6af5..623cf1bb18 100644 --- a/board/ti/evm/evm.h +++ b/board/ti/evm/evm.h @@ -49,6 +49,7 @@ u32 get_omap3_evm_rev(void); #if defined(CONFIG_CMD_NET) static void setup_net_chip(void); +static void reset_net_chip(void); #endif /* -- 2.39.2