From 73e73c2928b15fa84c12726ce67960cbfbb81c06 Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Tue, 7 Nov 2017 16:57:56 +0800 Subject: [PATCH] MLK-16773 imx8m: spl: implement wdog reset Implement wdog reset in SPL stage. Signed-off-by: Peng Fan --- arch/arm/cpu/armv8/imx8m/soc.c | 9 --------- board/freescale/imx8mq_evk/imx8m_evk.c | 12 ++++++------ include/configs/imx8mq_evk.h | 1 + 3 files changed, 7 insertions(+), 15 deletions(-) diff --git a/arch/arm/cpu/armv8/imx8m/soc.c b/arch/arm/cpu/armv8/imx8m/soc.c index 645fb03903..bb0a932b62 100644 --- a/arch/arm/cpu/armv8/imx8m/soc.c +++ b/arch/arm/cpu/armv8/imx8m/soc.c @@ -148,15 +148,6 @@ void set_wdog_reset(struct wdog_regs *wdog) writew(reg, &wdog->wcr); } -#ifdef CONFIG_SPL_BUILD -void reset_cpu(ulong addr) -{ - /* TODO */ - printf("%s\n", __func__); - while (1); -} -#endif - static struct mm_region imx8m_mem_map[] = { { .virt = 0x0UL, diff --git a/board/freescale/imx8mq_evk/imx8m_evk.c b/board/freescale/imx8mq_evk/imx8m_evk.c index ab329f1770..ed71d42ab2 100644 --- a/board/freescale/imx8mq_evk/imx8m_evk.c +++ b/board/freescale/imx8mq_evk/imx8m_evk.c @@ -67,6 +67,12 @@ static iomux_v3_cfg_t const uart_pads[] = { int board_early_init_f(void) { + struct wdog_regs *wdog = (struct wdog_regs *)WDOG1_BASE_ADDR; + + imx_iomux_v3_setup_multiple_pads(wdog_pads, ARRAY_SIZE(wdog_pads)); + + set_wdog_reset(wdog); + imx_iomux_v3_setup_multiple_pads(uart_pads, ARRAY_SIZE(uart_pads)); return 0; @@ -223,12 +229,6 @@ int board_mmc_get_env_dev(int devno) int board_late_init(void) { - struct wdog_regs *wdog = (struct wdog_regs *)WDOG1_BASE_ADDR; - - imx_iomux_v3_setup_multiple_pads(wdog_pads, ARRAY_SIZE(wdog_pads)); - - set_wdog_reset(wdog); - #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG setenv("board_name", "EVK"); setenv("board_rev", "iMX8MQ"); diff --git a/include/configs/imx8mq_evk.h b/include/configs/imx8mq_evk.h index 05049936f2..baaf77ed33 100644 --- a/include/configs/imx8mq_evk.h +++ b/include/configs/imx8mq_evk.h @@ -20,6 +20,7 @@ #ifdef CONFIG_SPL_BUILD /*#define CONFIG_ENABLE_DDR_TRAINING_DEBUG*/ +#define CONFIG_SPL_WATCHDOG_SUPPORT #define CONFIG_SPL_POWER_SUPPORT #define CONFIG_SPL_I2C_SUPPORT #define CONFIG_SPL_BOARD_INIT -- 2.17.1