diff options
author | Tom Rini <trini@konsulko.com> | 2015-03-18 07:07:43 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2015-03-18 07:07:43 -0400 |
commit | a538ae997ae4cb375ba5362b50ba3f5b35f9519b (patch) | |
tree | 3f709a9137f1af222c125e17a0075290dfe740f8 /arch/arm/cpu | |
parent | 8c8dc4c61518124eb35f4dd9d8466378ba247e9c (diff) | |
parent | d5eb6dcf44f5c889dd80c81cf3b06385a27f8baf (diff) |
Merge branch 'master' of git://www.denx.de/git/u-boot-imx
Diffstat (limited to 'arch/arm/cpu')
-rw-r--r-- | arch/arm/cpu/armv7/mx6/soc.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/arch/arm/cpu/armv7/mx6/soc.c b/arch/arm/cpu/armv7/mx6/soc.c index ef029722b4..dd34138896 100644 --- a/arch/arm/cpu/armv7/mx6/soc.c +++ b/arch/arm/cpu/armv7/mx6/soc.c @@ -21,7 +21,6 @@ #include <stdbool.h> #include <asm/arch/mxc_hdmi.h> #include <asm/arch/crm_regs.h> -#include <asm/bootm.h> #include <dm.h> #include <imx_thermal.h> @@ -289,6 +288,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(); @@ -323,6 +338,8 @@ int arch_cpu_init(void) mxs_dma_init(); #endif + init_src(); + return 0; } |