The issue addressed by this workaround is fixed in ES1.1.
Signed-off-by: Mans Rullgard mans.rullgard@linaro.org --- arch/arm/mach-omap2/omap4-common.c | 12 ++---------- 1 files changed, 2 insertions(+), 10 deletions(-)
diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c index 5df70fb..e0120d5 100644 --- a/arch/arm/mach-omap2/omap4-common.c +++ b/arch/arm/mach-omap2/omap4-common.c @@ -190,25 +190,17 @@ static int __init omap_l2_cache_init(void) omap_smc1(0x113, por_ctrl); }
- if (cpu_is_omap446x()) { - writel_relaxed(0xa5a5, l2cache_base + 0x900); - writel_relaxed(0xa5a5, l2cache_base + 0x908); - writel_relaxed(0xa5a5, l2cache_base + 0x904); - writel_relaxed(0xa5a5, l2cache_base + 0x90C); - } - /* - * FIXME: Temporary WA for OMAP4460 stability issue. + * Workaround for OMAP4460 ES1.0 stability issue. * Lock-down specific L2 cache ways which makes effective * L2 size as 512 KB instead of 1 MB */ - if (cpu_is_omap446x()) { + if (omap_rev() == OMAP4460_REV_ES1_0) { lockdown = 0xa5a5; writel_relaxed(lockdown, l2cache_base + L2X0_LOCKDOWN_WAY_D0); writel_relaxed(lockdown, l2cache_base + L2X0_LOCKDOWN_WAY_D1); writel_relaxed(lockdown, l2cache_base + L2X0_LOCKDOWN_WAY_I0); writel_relaxed(lockdown, l2cache_base + L2X0_LOCKDOWN_WAY_I1); - goto skip_aux_por_api; }
skip_aux_por_api: