
From: Hardik Patel hardik.patel@volansystech.com
Signed-off-by: Hardik Patel hardik.patel@volansystech.com --- arch/arm/cpu/armv7/omap4/sdram_elpida.c | 2 +- board/ti/panda/panda.c | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/arch/arm/cpu/armv7/omap4/sdram_elpida.c b/arch/arm/cpu/armv7/omap4/sdram_elpida.c index e4c8316..9fbdeea 100644 --- a/arch/arm/cpu/armv7/omap4/sdram_elpida.c +++ b/arch/arm/cpu/armv7/omap4/sdram_elpida.c @@ -123,7 +123,7 @@ static void emif_get_reg_dump_sdp(u32 emif_nr, const struct emif_regs **regs) *regs = &emif_regs_elpida_200_mhz_2cs; else if (omap4_rev == OMAP4430_ES2_3) *regs = &emif_regs_elpida_400_mhz_1cs; - else if (omap4_rev < OMAP4470_ES1_0) + else if (omap4_rev < OMAP4470_ES1_0 && !is_panda_es_rev_b3()) *regs = &emif_regs_elpida_400_mhz_2cs; else *regs = &emif_regs_elpida_400_mhz_1cs; diff --git a/board/ti/panda/panda.c b/board/ti/panda/panda.c index c104024..5a7f80a 100644 --- a/board/ti/panda/panda.c +++ b/board/ti/panda/panda.c @@ -122,6 +122,30 @@ int get_board_revision(void) return board_id; }
+/* +* Routine: is_panda_es_rev_b3 +* Description: Detect if we are running on B3 version of ES panda board, +* This can be done by reading the level of GPIO 171 +* and checking the processor revisions. +* GPIO171: 1 => Panda ES Rev B3 +*/ +u8 is_panda_es_rev_b3(void) +{ + int processor_rev = omap_revision(); + int ret = 0; + + if ((processor_rev >= OMAP4460_ES1_0 && + processor_rev <= OMAP4460_ES1_1)) { + + /* Setup the mux for the common board ID pins (gpio 171) */ + writew((IEN | M3), (*ctrl)->control_padconf_core_base + UNIPRO_TX0); + + /* if processor_rev is panda ES and GPIO171 is 1, it is rev b3 */ + ret = gpio_get_value(PANDA_BOARD_ID_2_GPIO); + } + return ret; +} + /** * @brief misc_init_r - Configure Panda board specific configurations * such as power configurations, ethernet initialization as phase2 of