[U-Boot] [PATCH 0/2] ARM: OMAP4: Fix SDP4430 ES2.3 breakage

With commit 47a4bea6af77b01d59a410d09a4c34b2dd14cf50 ("ARM: omap4: Update sdram setting for panda rev A6") which attempted to "fix" Panda ES B3 problem of a different DDR by checking for CPU revision and changing configuration as per Panda for configuration that is common for SDP4430 and Panda.
This resulted in all OMAP4430 SDP with processor boards > ES2.3 being now broken. This does not obviously help the situation :). So fix it by doing the missing DMM configuration needed for Panda as an override of the weak function and revert the bad commit.
based on v2015.01-rc3 tag.
Bootlogs: http://slexy.org/view/s2r58bpvpp (Panda ES B3) http://slexy.org/view/s20v9cq7mc (SDP4430 ES2.3)
previously (broken v2015.01-rc3 for SDP4430 ES2.3 : http://slexy.org/view/s2fPVW28hd)
Nishanth Menon (2): ARM: OMAP4: Panda: rework DMM logic Revert "ARM: omap4: Update sdram setting for panda rev A6"
arch/arm/cpu/armv7/omap4/sdram_elpida.c | 4 ---- arch/arm/include/asm/arch-omap4/sys_proto.h | 3 +++ board/ti/panda/panda.c | 16 ++++++++++++++++ 3 files changed, 19 insertions(+), 4 deletions(-)

Part of DMM logic is reuse from commit 47a4bea6af77b01d59a410d09a4c34b2dd14cf50 ("ARM: omap4: Update sdram setting for panda rev A6") Which broke SDP4430 with ES2.3 (uses old DDR).
So, to maintain support for newer DDR used in Panda ES rev B3, we should, in addition to the commit 675cc77a3ae45e8b0ec17128563264d4a509f628 ("ARM:OMAP4+: panda-es: Support Rev B3 Elpida DDR2 RAM"), DDR timings, also do DMM configuration specific to Panda.
Signed-off-by: Nishanth Menon nm@ti.com --- arch/arm/include/asm/arch-omap4/sys_proto.h | 3 +++ board/ti/panda/panda.c | 16 ++++++++++++++++ 2 files changed, 19 insertions(+)
diff --git a/arch/arm/include/asm/arch-omap4/sys_proto.h b/arch/arm/include/asm/arch-omap4/sys_proto.h index 83d858f..e19975e 100644 --- a/arch/arm/include/asm/arch-omap4/sys_proto.h +++ b/arch/arm/include/asm/arch-omap4/sys_proto.h @@ -22,6 +22,9 @@ extern const struct emif_regs emif_regs_elpida_200_mhz_2cs; extern const struct emif_regs emif_regs_elpida_380_mhz_1cs; extern const struct emif_regs emif_regs_elpida_400_mhz_1cs; extern const struct emif_regs emif_regs_elpida_400_mhz_2cs; +extern const struct dmm_lisa_map_regs lisa_map_2G_x_1_x_2; +extern const struct dmm_lisa_map_regs lisa_map_2G_x_2_x_2; +extern const struct dmm_lisa_map_regs ma_lisa_map_2G_x_2_x_2; struct omap_sysinfo { char *board_string; }; diff --git a/board/ti/panda/panda.c b/board/ti/panda/panda.c index 16368cb..783ba35 100644 --- a/board/ti/panda/panda.c +++ b/board/ti/panda/panda.c @@ -180,6 +180,22 @@ void emif_get_reg_dump(u32 emif_nr, const struct emif_regs **regs) else *regs = &emif_regs_elpida_400_mhz_1cs; } + +void emif_get_dmm_regs(const struct dmm_lisa_map_regs + **dmm_lisa_regs) +{ + u32 omap_rev = omap_revision(); + + if (omap_rev == OMAP4430_ES1_0) + *dmm_lisa_regs = &lisa_map_2G_x_1_x_2; + else if (omap_rev == OMAP4430_ES2_3) + *dmm_lisa_regs = &lisa_map_2G_x_2_x_2; + else if (omap_rev < OMAP4460_ES1_0) + *dmm_lisa_regs = &lisa_map_2G_x_2_x_2; + else + *dmm_lisa_regs = &ma_lisa_map_2G_x_2_x_2; +} + #endif
/**

On Thu, Dec 18, 2014 at 03:28:35PM -0600, Nishanth Menon wrote:
Part of DMM logic is reuse from commit 47a4bea6af77b01d59a410d09a4c34b2dd14cf50 ("ARM: omap4: Update sdram setting for panda rev A6") Which broke SDP4430 with ES2.3 (uses old DDR).
So, to maintain support for newer DDR used in Panda ES rev B3, we should, in addition to the commit 675cc77a3ae45e8b0ec17128563264d4a509f628 ("ARM:OMAP4+: panda-es: Support Rev B3 Elpida DDR2 RAM"), DDR timings, also do DMM configuration specific to Panda.
Signed-off-by: Nishanth Menon nm@ti.com
Applied to u-boot/master, thanks!

This reverts commit 47a4bea6af77b01d59a410d09a4c34b2dd14cf50.
Signed-off-by: Nishanth Menon nm@ti.com --- arch/arm/cpu/armv7/omap4/sdram_elpida.c | 4 ---- 1 file changed, 4 deletions(-)
diff --git a/arch/arm/cpu/armv7/omap4/sdram_elpida.c b/arch/arm/cpu/armv7/omap4/sdram_elpida.c index 6903696..4462c72 100644 --- a/arch/arm/cpu/armv7/omap4/sdram_elpida.c +++ b/arch/arm/cpu/armv7/omap4/sdram_elpida.c @@ -121,8 +121,6 @@ static void emif_get_reg_dump_sdp(u32 emif_nr, const struct emif_regs **regs) *regs = &emif_regs_elpida_380_mhz_1cs; else if (omap4_rev == OMAP4430_ES2_0) *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) *regs = &emif_regs_elpida_400_mhz_2cs; else @@ -138,8 +136,6 @@ static void emif_get_dmm_regs_sdp(const struct dmm_lisa_map_regs
if (omap_rev == OMAP4430_ES1_0) *dmm_lisa_regs = &lisa_map_2G_x_1_x_2; - else if (omap_rev == OMAP4430_ES2_3) - *dmm_lisa_regs = &lisa_map_2G_x_2_x_2; else if (omap_rev < OMAP4460_ES1_0) *dmm_lisa_regs = &lisa_map_2G_x_2_x_2; else

On Thu, Dec 18, 2014 at 03:28:36PM -0600, Nishanth Menon wrote:
This reverts commit 47a4bea6af77b01d59a410d09a4c34b2dd14cf50.
Signed-off-by: Nishanth Menon nm@ti.com
Applied to u-boot/master, thanks!
participants (2)
-
Nishanth Menon
-
Tom Rini