From 10fc2d68540dfa1407ea9a36dd604579c5856a54 Mon Sep 17 00:00:00 2001 From: Parth Pancholi Date: Tue, 20 Feb 2024 19:29:26 +0100 Subject: toradex: imx6*: fix reset using wdt-reboot driver commit 68dcbdd594d4 ("ARM: imx: Add weak default reset_cpu()") introduced a regression that 'reset' command unable to reset imx6 and imx6ull based Toradex's modules in the u-boot. This change enables a watchdog-based sysreset driver for Toradex's colibri-imx6, colibri-imx6ull (with nand and emmc) and apalis-imx6 which solves the reset command regression on these modules. Fixes: 68dcbdd594d4 ("ARM: imx: Add weak default reset_cpu()") Signed-off-by: Parth Pancholi Signed-off-by: Francesco Dolcini --- arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi | 6 ++++++ arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi | 6 ++++++ arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi | 10 ++++++++++ configs/apalis_imx6_defconfig | 3 +++ configs/colibri-imx6ull-emmc_defconfig | 3 +++ configs/colibri-imx6ull_defconfig | 3 +++ configs/colibri_imx6_defconfig | 3 +++ 7 files changed, 34 insertions(+) diff --git a/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi index 5a91d0a..44baaa8 100644 --- a/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi +++ b/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi @@ -20,6 +20,12 @@ sysinfo { compatible = "toradex,sysinfo"; }; + + wdt-reboot { + compatible = "wdt-reboot"; + wdt = <&wdog1>; + bootph-pre-ram; + }; }; &wdog1 { diff --git a/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi b/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi index 5941263..103605a 100644 --- a/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi +++ b/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi @@ -23,6 +23,12 @@ sysinfo { compatible = "toradex,sysinfo"; }; + + wdt-reboot { + compatible = "wdt-reboot"; + wdt = <&wdog1>; + bootph-pre-ram; + }; }; &wdog1 { diff --git a/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi index 7318142..8494b1a 100644 --- a/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi +++ b/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi @@ -13,6 +13,12 @@ sysinfo { compatible = "toradex,sysinfo"; }; + + wdt-reboot { + compatible = "wdt-reboot"; + wdt = <&wdog1>; + bootph-pre-ram; + }; }; &pinctrl_uart1 { @@ -58,3 +64,7 @@ }; }; }; + +&wdog1 { + bootph-pre-ram; +}; diff --git a/configs/apalis_imx6_defconfig b/configs/apalis_imx6_defconfig index 4925506..fae3dc3 100644 --- a/configs/apalis_imx6_defconfig +++ b/configs/apalis_imx6_defconfig @@ -96,6 +96,8 @@ CONFIG_DM_I2C=y CONFIG_SPL_SYS_I2C_LEGACY=y CONFIG_SYS_I2C_MXC=y CONFIG_SYS_MXC_I2C3_SPEED=400000 +CONFIG_SYSRESET=y +CONFIG_SYSRESET_WATCHDOG=y CONFIG_SUPPORT_EMMC_BOOT=y CONFIG_FSL_USDHC=y CONFIG_PHYLIB=y @@ -113,6 +115,7 @@ CONFIG_DM_REGULATOR_FIXED=y CONFIG_SCSI=y CONFIG_MXC_UART=y CONFIG_IMX_THERMAL=y +CONFIG_IMX_WATCHDOG=y CONFIG_USB=y CONFIG_SPL_USB_HOST=y CONFIG_USB_MAX_CONTROLLER_COUNT=2 diff --git a/configs/colibri-imx6ull-emmc_defconfig b/configs/colibri-imx6ull-emmc_defconfig index 2b04855..c4ecdc0 100644 --- a/configs/colibri-imx6ull-emmc_defconfig +++ b/configs/colibri-imx6ull-emmc_defconfig @@ -69,6 +69,8 @@ CONFIG_FASTBOOT_BUF_ADDR=0x81100000 CONFIG_FASTBOOT_UUU_SUPPORT=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_MXC=y +CONFIG_SYSRESET=y +CONFIG_SYSRESET_WATCHDOG=y CONFIG_SUPPORT_EMMC_BOOT=y CONFIG_FSL_USDHC=y CONFIG_PHYLIB=y @@ -83,6 +85,7 @@ CONFIG_DM_REGULATOR_FIXED=y CONFIG_DM_SERIAL=y CONFIG_MXC_UART=y CONFIG_IMX_THERMAL=y +CONFIG_IMX_WATCHDOG=y CONFIG_USB=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_MANUFACTURER="Toradex" diff --git a/configs/colibri-imx6ull_defconfig b/configs/colibri-imx6ull_defconfig index 959930c..9c68d96 100644 --- a/configs/colibri-imx6ull_defconfig +++ b/configs/colibri-imx6ull_defconfig @@ -80,6 +80,8 @@ CONFIG_FASTBOOT_BUF_ADDR=0x81100000 CONFIG_FASTBOOT_UUU_SUPPORT=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_MXC=y +CONFIG_SYSRESET=y +CONFIG_SYSRESET_WATCHDOG=y CONFIG_FSL_USDHC=y CONFIG_MTD=y CONFIG_DM_MTD=y @@ -100,6 +102,7 @@ CONFIG_DM_REGULATOR_FIXED=y CONFIG_DM_SERIAL=y CONFIG_MXC_UART=y CONFIG_IMX_THERMAL=y +CONFIG_IMX_WATCHDOG=y CONFIG_USB=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_MANUFACTURER="Toradex" diff --git a/configs/colibri_imx6_defconfig b/configs/colibri_imx6_defconfig index 55c71a0..74c5401 100644 --- a/configs/colibri_imx6_defconfig +++ b/configs/colibri_imx6_defconfig @@ -22,6 +22,8 @@ CONFIG_SYS_MONITOR_LEN=409600 CONFIG_SPL_MMC=y CONFIG_SPL_SERIAL=y CONFIG_SPL=y +CONFIG_SYSRESET=y +CONFIG_SYSRESET_WATCHDOG=y CONFIG_CMD_HDMIDETECT=y CONFIG_SYS_LOAD_ADDR=0x14200000 CONFIG_SYS_MEMTEST_START=0x10000000 @@ -109,6 +111,7 @@ CONFIG_DM_REGULATOR_PFUZE100=y CONFIG_DM_REGULATOR_FIXED=y CONFIG_MXC_UART=y CONFIG_IMX_THERMAL=y +CONFIG_IMX_WATCHDOG=y CONFIG_USB=y CONFIG_SPL_USB_HOST=y CONFIG_USB_MAX_CONTROLLER_COUNT=2 -- cgit v1.1