The ULP watchdog is not used in mainline U-Boot at all. This patch
removes the driver and its references (CONFIG_ULP_WATCHDOG) completely.
Signed-off-by: Stefan Roese <s...@denx.de>
Cc: Peng Fan <peng....@nxp.com>
Cc: Ye Li <ye...@nxp.com>
Cc: Stefano Babic <sba...@denx.de>
---
 arch/arm/mach-imx/mx7ulp/soc.c |  2 -
 drivers/watchdog/Kconfig       |  5 --
 drivers/watchdog/Makefile      |  1 -
 drivers/watchdog/ulp_wdog.c    | 95 ----------------------------------
 4 files changed, 103 deletions(-)
 delete mode 100644 drivers/watchdog/ulp_wdog.c

diff --git a/arch/arm/mach-imx/mx7ulp/soc.c b/arch/arm/mach-imx/mx7ulp/soc.c
index c72f0ed3fc..cd7b96b5d8 100644
--- a/arch/arm/mach-imx/mx7ulp/soc.c
+++ b/arch/arm/mach-imx/mx7ulp/soc.c
@@ -108,14 +108,12 @@ void s_init(void)
        return;
 }
 
-#ifndef CONFIG_ULP_WATCHDOG
 void reset_cpu(ulong addr)
 {
        setbits_le32(SIM0_RBASE, SIM_SOPT1_A7_SW_RESET);
        while (1)
                ;
 }
-#endif
 
 #if defined(CONFIG_DISPLAY_CPUINFO)
 const char *get_imx_type(u32 imxtype)
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index f909d40f45..e2a6a27b2a 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -43,11 +43,6 @@ config TANGIER_WATCHDOG
          Intel Tangier SoC. If you're using a board with Intel Tangier
          SoC, say Y here.
 
-config ULP_WATCHDOG
-       bool "i.MX7ULP watchdog"
-       help
-         Say Y here to enable i.MX7ULP watchdog driver.
-
 config WDT
        bool "Enable driver model for watchdog timer drivers"
        depends on DM
diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile
index 40b2f4bc66..3e3b60b00d 100644
--- a/drivers/watchdog/Makefile
+++ b/drivers/watchdog/Makefile
@@ -15,7 +15,6 @@ obj-$(CONFIG_XILINX_TB_WATCHDOG) += xilinx_tb_wdt.o
 obj-$(CONFIG_OMAP_WATCHDOG) += omap_wdt.o
 obj-$(CONFIG_DESIGNWARE_WATCHDOG) += designware_wdt.o
 obj-$(CONFIG_TANGIER_WATCHDOG) += tangier_wdt.o
-obj-$(CONFIG_ULP_WATCHDOG) += ulp_wdog.o
 obj-$(CONFIG_WDT) += wdt-uclass.o
 obj-$(CONFIG_WDT_SANDBOX) += sandbox_wdt.o
 obj-$(CONFIG_WDT_ARMADA_37XX) += armada-37xx-wdt.o
diff --git a/drivers/watchdog/ulp_wdog.c b/drivers/watchdog/ulp_wdog.c
deleted file mode 100644
index 313019f152..0000000000
--- a/drivers/watchdog/ulp_wdog.c
+++ /dev/null
@@ -1,95 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * Copyright (C) 2016 Freescale Semiconductor, Inc.
- */
-
-#include <common.h>
-#include <asm/io.h>
-#include <asm/arch/imx-regs.h>
-
-/*
- * MX7ULP WDOG Register Map
- */
-struct wdog_regs {
-       u8 cs1;
-       u8 cs2;
-       u16 reserve0;
-       u32 cnt;
-       u32 toval;
-       u32 win;
-};
-
-#ifndef CONFIG_WATCHDOG_TIMEOUT_MSECS
-#define CONFIG_WATCHDOG_TIMEOUT_MSECS 0x1500
-#endif
-
-#define REFRESH_WORD0 0xA602 /* 1st refresh word */
-#define REFRESH_WORD1 0xB480 /* 2nd refresh word */
-
-#define UNLOCK_WORD0 0xC520 /* 1st unlock word */
-#define UNLOCK_WORD1 0xD928 /* 2nd unlock word */
-
-#define WDGCS1_WDGE                      (1<<7)
-#define WDGCS1_WDGUPDATE                 (1<<5)
-
-#define WDGCS2_FLG                       (1<<6)
-
-#define WDG_BUS_CLK                      (0x0)
-#define WDG_LPO_CLK                      (0x1)
-#define WDG_32KHZ_CLK                    (0x2)
-#define WDG_EXT_CLK                      (0x3)
-
-void hw_watchdog_set_timeout(u16 val)
-{
-       /* setting timeout value */
-       struct wdog_regs *wdog = (struct wdog_regs *)WDOG_BASE_ADDR;
-
-       writel(val, &wdog->toval);
-}
-
-void hw_watchdog_reset(void)
-{
-       struct wdog_regs *wdog = (struct wdog_regs *)WDOG_BASE_ADDR;
-
-       writel(REFRESH_WORD0, &wdog->cnt);
-       writel(REFRESH_WORD1, &wdog->cnt);
-}
-
-void hw_watchdog_init(void)
-{
-       u8 val;
-       struct wdog_regs *wdog = (struct wdog_regs *)WDOG_BASE_ADDR;
-
-       writel(UNLOCK_WORD0, &wdog->cnt);
-       writel(UNLOCK_WORD1, &wdog->cnt);
-
-       val = readb(&wdog->cs2);
-       val |= WDGCS2_FLG;
-       writeb(val, &wdog->cs2);
-
-       hw_watchdog_set_timeout(CONFIG_WATCHDOG_TIMEOUT_MSECS);
-       writel(0, &wdog->win);
-
-       writeb(WDG_LPO_CLK, &wdog->cs2);/* setting 1-kHz clock source */
-       writeb((WDGCS1_WDGE | WDGCS1_WDGUPDATE), &wdog->cs1);/* enable counter 
running */
-
-       hw_watchdog_reset();
-}
-
-void reset_cpu(ulong addr)
-{
-       struct wdog_regs *wdog = (struct wdog_regs *)WDOG_BASE_ADDR;
-
-       writel(UNLOCK_WORD0, &wdog->cnt);
-       writel(UNLOCK_WORD1, &wdog->cnt);
-
-       hw_watchdog_set_timeout(5); /* 5ms timeout */
-       writel(0, &wdog->win);
-
-       writeb(WDG_LPO_CLK, &wdog->cs2);/* setting 1-kHz clock source */
-       writeb(WDGCS1_WDGE, &wdog->cs1);/* enable counter running */
-
-       hw_watchdog_reset();
-
-       while (1);
-}
-- 
2.21.0

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to