[U-Boot] [[PATCH v2]pandaboard: 1/1] Modification of Elpida DDR2 RAM for Pandaboard-ES Rev B3

Hardik hardik.patel at volansystech.com
Thu Nov 14 11:06:52 CET 2013


From: Hardik Patel <hardik.patel at volansystech.com>

Signed-off-by: Hardik Patel <hardik.patel at 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
-- 
1.7.9.5



More information about the U-Boot mailing list