Message ID | 1425908928-11998-1-git-send-email-dirk.behme@de.bosch.com |
---|---|
State | Awaiting Upstream |
Delegated to: | Stefano Babic |
Headers | show |
Hi Dirk, On 09/03/2015 14:48, Dirk Behme wrote: > Disable the warm reset and enable the cold reset for a more reliable > restart ('reset'). This is taken from the Linux kernel, see imx_src_init() > in arch/arm/mach-imx/src.c. > > Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com> > --- Applied to u-boot-imx, thanks ! Best regards, Stefano Babic
diff --git a/arch/arm/cpu/armv7/mx6/soc.c b/arch/arm/cpu/armv7/mx6/soc.c index 5f5f497..12be6ff 100644 --- a/arch/arm/cpu/armv7/mx6/soc.c +++ b/arch/arm/cpu/armv7/mx6/soc.c @@ -267,6 +267,22 @@ static void set_preclk_from_osc(void) } #endif +#define SRC_SCR_WARM_RESET_ENABLE 0 + +static void init_src(void) +{ + struct src *src_regs = (struct src *)SRC_BASE_ADDR; + u32 val; + + /* + * force warm reset sources to generate cold reset + * for a more reliable restart + */ + val = readl(&src_regs->scr); + val &= ~(1 << SRC_SCR_WARM_RESET_ENABLE); + writel(val, &src_regs->scr); +} + int arch_cpu_init(void) { init_aips(); @@ -294,6 +310,8 @@ int arch_cpu_init(void) mxs_dma_init(); #endif + init_src(); + return 0; }
Disable the warm reset and enable the cold reset for a more reliable restart ('reset'). This is taken from the Linux kernel, see imx_src_init() in arch/arm/mach-imx/src.c. Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com> --- arch/arm/cpu/armv7/mx6/soc.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)