Commit 8c16dd6f authored by Rajendra Nayak's avatar Rajendra Nayak Committed by Tom Rini

ARM: OMAP: Fix handling of errata i727

The errata is applicable on all OMAP4 (4430 and 4460/4470) and OMAP5
ES 1.0 devices. The current revision check erroneously implements this
on all DRA7 varients and with DRA722 device (which has only 1 EMIF instance)
infact causes an asynchronous abort and ends up masking it in CPSR,
only to be uncovered once the kernel switches to userspace.
Signed-off-by: 's avatarRajendra Nayak <rnayak@ti.com>
Signed-off-by: 's avatarSricharan R <r.sricharan@ti.com>
Signed-off-by: 's avatarLokesh Vutla <lokeshvutla@ti.com>
parent a9068479
......@@ -123,7 +123,8 @@ void s_init(void)
hw_data_init();
#ifdef CONFIG_SPL_BUILD
if (warm_reset() && (omap_revision() <= OMAP5430_ES1_0))
if (warm_reset() &&
(is_omap44xx() || (omap_revision() == OMAP5430_ES1_0)))
force_emif_self_refresh();
#endif
watchdog_init();
......
......@@ -595,6 +595,14 @@ static inline u32 omap_revision(void)
return *omap_si_rev;
}
#define OMAP44xx 0x44000000
static inline u8 is_omap44xx(void)
{
extern u32 *const omap_si_rev;
return (*omap_si_rev & 0xFF000000) == OMAP44xx;
};
#define OMAP54xx 0x54000000
static inline u8 is_omap54xx(void)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment