diff options
author | SRICHARAN R <r.sricharan@ti.com> | 2012-03-12 02:25:52 +0000 |
---|---|---|
committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-05-15 08:31:25 +0200 |
commit | 0696473be705287eb728356c79af19b69b60ab09 (patch) | |
tree | 61abdeb36ebc99abffb296f0854bb0b01184b15b | |
parent | d417d1db5f9092d125ddea882ced77eaa5f3d236 (diff) | |
download | u-boot-imx-0696473be705287eb728356c79af19b69b60ab09.zip u-boot-imx-0696473be705287eb728356c79af19b69b60ab09.tar.gz u-boot-imx-0696473be705287eb728356c79af19b69b60ab09.tar.bz2 |
OMAP5: reset: Use cold reset in case of 5430ES1.0
Warm reset is not functional in case of omap5430ES1.0.
So override the weak reset_cpu function to use
cold reset instead.
Signed-off-by: R Sricharan <r.sricharan@ti.com>
-rw-r--r-- | arch/arm/cpu/armv7/omap5/hwinit.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/omap5/hwinit.c b/arch/arm/cpu/armv7/omap5/hwinit.c index 7da7075..d01cc81 100644 --- a/arch/arm/cpu/armv7/omap5/hwinit.c +++ b/arch/arm/cpu/armv7/omap5/hwinit.c @@ -160,3 +160,17 @@ void init_omap_revision(void) *omap_si_rev = OMAP5430_SILICON_ID_INVALID; } } + +void reset_cpu(ulong ignored) +{ + u32 omap_rev = omap_revision(); + + /* + * WARM reset is not functional in case of OMAP5430 ES1.0 soc. + * So use cold reset in case instead. + */ + if (omap_rev == OMAP5430_ES1_0) + writel(PRM_RSTCTRL_RESET << 0x1, PRM_RSTCTRL); + else + writel(PRM_RSTCTRL_RESET, PRM_RSTCTRL); +} |