omap3evm: Fix mechanism to identify board revision
Function omap3_evm_get_revision() - to identify the board revision was called at end of setup_net_chip(). Board revision can be ascertained only by identifying the Ethernet chipset - but combining setup operations with revision detection isn't a good idea. So, moved the function after call to setup_net_chip(). Function setup_net_chip() should be ideally be called only when CONFIG_CMD_NET is defined. But this leaves the board revision "undetected". This patch allows static definition of revision or default fallback to the latest revision. Signed-off-by: Sanjeev Premi <premi@ti.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
This commit is contained in:
parent
63f42400e5
commit
76ee9a2c3b
@ -46,6 +46,11 @@ u8 get_omap3_evm_rev(void)
|
||||
|
||||
static void omap3_evm_get_revision(void)
|
||||
{
|
||||
#if defined(CONFIG_CMD_NET)
|
||||
/*
|
||||
* Board revision can be ascertained only by identifying
|
||||
* the Ethernet chipset.
|
||||
*/
|
||||
unsigned int smsc_id;
|
||||
|
||||
/* Ethernet PHY ID is stored at ID_REV register */
|
||||
@ -62,6 +67,19 @@ static void omap3_evm_get_revision(void)
|
||||
default:
|
||||
omap3_evm_version = OMAP3EVM_BOARD_GEN_2;
|
||||
}
|
||||
#else
|
||||
#if defined(CONFIG_STATIC_BOARD_REV)
|
||||
/*
|
||||
* Look for static defintion of the board revision
|
||||
*/
|
||||
omap3_evm_version = CONFIG_STATIC_BOARD_REV;
|
||||
#else
|
||||
/*
|
||||
* Fallback to the default above.
|
||||
*/
|
||||
omap3_evm_version = OMAP3EVM_BOARD_GEN_2;
|
||||
#endif
|
||||
#endif /* CONFIG_CMD_NET */
|
||||
}
|
||||
|
||||
#ifdef CONFIG_USB_OMAP3
|
||||
@ -110,6 +128,7 @@ int misc_init_r(void)
|
||||
#if defined(CONFIG_CMD_NET)
|
||||
setup_net_chip();
|
||||
#endif
|
||||
omap3_evm_get_revision();
|
||||
|
||||
dieid_num_r();
|
||||
|
||||
@ -163,9 +182,6 @@ static void setup_net_chip(void)
|
||||
writel(GPIO0, &gpio3_base->cleardataout);
|
||||
udelay(1);
|
||||
writel(GPIO0, &gpio3_base->setdataout);
|
||||
|
||||
/* determine omap3evm revision */
|
||||
omap3_evm_get_revision();
|
||||
}
|
||||
|
||||
int board_eth_init(bd_t *bis)
|
||||
|
@ -47,7 +47,9 @@ enum {
|
||||
|
||||
u8 get_omap3_evm_rev(void);
|
||||
|
||||
#if defined(CONFIG_CMD_NET)
|
||||
static void setup_net_chip(void);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* IEN - Input Enable
|
||||
|
@ -350,6 +350,11 @@ extern unsigned int boot_flash_type;
|
||||
#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1
|
||||
#define CONFIG_SYS_INIT_SP_ADDR (LOW_LEVEL_SRAM_STACK - CONFIG_SYS_GBL_DATA_SIZE)
|
||||
|
||||
/*
|
||||
* Define the board revision statically
|
||||
*/
|
||||
/* #define CONFIG_STATIC_BOARD_REV OMAP3EVM_BOARD_GEN_2 */
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
* SMSC9115 Ethernet from SMSC9118 family
|
||||
*----------------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user