[PATCH] watchdog: mpc8xx: Revert the 8xx watchdog back to CONFIG_HW_WATCHDOG

Christophe Leroy christophe.leroy at c-s.fr
Thu Feb 20 08:39:51 CET 2020

Commit f3729ba6e7b2 ("watchdog: mpc8xx_wdt: Watchdog driver and macros
cleanup") switched the watchdog to CONFIG_WATCHDOG. But this is not
compatible with the 8xx because it starts the watchdog HW timer at
reset and must be serviced from the very beginning including while
U-boot is executed in the firmware before relocation in RAM.

Select CONFIG_HW_WATCHDOG and make hw_watchdog_reset() visible.

Meanwhile, finalise the cleanup of arch/powerpc/cpu/mpc8xx/Kconfig by
removing the lines put in comment in that commit, and also remove
again the selection of CONFIG_MPC8xx_WATCHDOG which was removed by
that commit and brought back by mistake by commit b3134ffbd944
("watchdog: Kconfig: Sort entry alphabetically")

Note that there was an 'imply WATCHDOG' in the original commit but
it disappeared in the Kconfig alphabetical sorting, so no need to
remove it here.

Fixes: f3729ba6e7b2 ("watchdog: mpc8xx_wdt: Watchdog driver and macros cleanup")
Fixes: b3134ffbd944 ("watchdog: Kconfig: Sort entry alphabetically")
Signed-off-by: Christophe Leroy <christophe.leroy at c-s.fr>
Cc: Stefan Roese <sr at denx.de>
Cc: Patrice Chotard <patrice.chotard at st.com>
 arch/powerpc/cpu/mpc8xx/Kconfig | 4 ----
 drivers/watchdog/Kconfig        | 2 +-
 drivers/watchdog/mpc8xx_wdt.c   | 2 +-
 3 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/arch/powerpc/cpu/mpc8xx/Kconfig b/arch/powerpc/cpu/mpc8xx/Kconfig
index 3e8ea3852959..f11231737656 100644
--- a/arch/powerpc/cpu/mpc8xx/Kconfig
+++ b/arch/powerpc/cpu/mpc8xx/Kconfig
@@ -25,10 +25,6 @@ config MPC885
-#config MPC8xx_WATCHDOG
-#	bool "Watchdog"
-#	select HW_WATCHDOG
 config 8xx_GCLK_FREQ
 	int "CPU GCLK Frequency"
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index 36fbdce55208..fbb561b995f1 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -118,7 +118,7 @@ config WDT_CORTINA
 config WDT_MPC8xx
 	bool "MPC8xx watchdog timer support"
 	depends on WDT && MPC8xx
+	select HW_WATCHDOG
 	   Select this to enable mpc8xx watchdog timer
diff --git a/drivers/watchdog/mpc8xx_wdt.c b/drivers/watchdog/mpc8xx_wdt.c
index 8a7a4c5bc6c3..c8b104d8f567 100644
--- a/drivers/watchdog/mpc8xx_wdt.c
+++ b/drivers/watchdog/mpc8xx_wdt.c
@@ -11,7 +11,7 @@
 #include <asm/cpm_8xx.h>
 #include <asm/io.h>
-static void hw_watchdog_reset(void)
+void hw_watchdog_reset(void)
 	immap_t __iomem *immap = (immap_t __iomem *)CONFIG_SYS_IMMR;

More information about the U-Boot mailing list