mirror of
https://github.com/smaeul/u-boot.git
synced 2025-10-14 21:06:01 +01:00
watchdog: driver support for fsl-lsch2
Support watchdog driver for fsl-lsch2. It's disabled in default. If you want to use it, please enable CONFIG_IMX_WATCHDOG. Define CONFIG_WATCHDOG_TIMEOUT_MSECS to set watchdog timeout. Signed-off-by: Xiaoliang Yang <xiaoliang.yang_1@nxp.com>
This commit is contained in:
parent
4dcbccf794
commit
005c1cf888
@ -8,3 +8,12 @@ Freescale LayerScape with Chassis Generation 2
|
|||||||
|
|
||||||
This architecture supports Freescale ARMv8 SoCs with Chassis generation 2,
|
This architecture supports Freescale ARMv8 SoCs with Chassis generation 2,
|
||||||
for example LS1043A.
|
for example LS1043A.
|
||||||
|
|
||||||
|
Watchdog support Overview
|
||||||
|
-------------------
|
||||||
|
Support watchdog driver for LSCH2. The driver is disabled in default.
|
||||||
|
You can enable it by setting CONFIG_IMX_WATCHDOG.
|
||||||
|
Use following config to set watchdog timeout, if this config is not defined,
|
||||||
|
the default timeout value is 128s which is the maximum. Set 10 seconds for
|
||||||
|
example:
|
||||||
|
#define CONFIG_WATCHDOG_TIMEOUT_MSECS 10000
|
||||||
|
@ -7,6 +7,8 @@ obj-$(CONFIG_WDT_AT91) += at91sam9_wdt.o
|
|||||||
obj-$(CONFIG_FTWDT010_WATCHDOG) += ftwdt010_wdt.o
|
obj-$(CONFIG_FTWDT010_WATCHDOG) += ftwdt010_wdt.o
|
||||||
ifneq (,$(filter $(SOC), mx25 mx31 mx35 mx5 mx6 mx7 vf610))
|
ifneq (,$(filter $(SOC), mx25 mx31 mx35 mx5 mx6 mx7 vf610))
|
||||||
obj-y += imx_watchdog.o
|
obj-y += imx_watchdog.o
|
||||||
|
else
|
||||||
|
obj-$(CONFIG_IMX_WATCHDOG) += imx_watchdog.o
|
||||||
endif
|
endif
|
||||||
obj-$(CONFIG_S5P) += s5p_wdt.o
|
obj-$(CONFIG_S5P) += s5p_wdt.o
|
||||||
obj-$(CONFIG_XILINX_TB_WATCHDOG) += xilinx_tb_wdt.o
|
obj-$(CONFIG_XILINX_TB_WATCHDOG) += xilinx_tb_wdt.o
|
||||||
|
@ -8,6 +8,9 @@
|
|||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <watchdog.h>
|
#include <watchdog.h>
|
||||||
#include <asm/arch/imx-regs.h>
|
#include <asm/arch/imx-regs.h>
|
||||||
|
#ifdef CONFIG_FSL_LSCH2
|
||||||
|
#include <asm/arch/immap_lsch2.h>
|
||||||
|
#endif
|
||||||
#include <fsl_wdog.h>
|
#include <fsl_wdog.h>
|
||||||
|
|
||||||
#ifdef CONFIG_IMX_WATCHDOG
|
#ifdef CONFIG_IMX_WATCHDOG
|
||||||
@ -33,8 +36,12 @@ void hw_watchdog_init(void)
|
|||||||
#define CONFIG_WATCHDOG_TIMEOUT_MSECS 128000
|
#define CONFIG_WATCHDOG_TIMEOUT_MSECS 128000
|
||||||
#endif
|
#endif
|
||||||
timeout = (CONFIG_WATCHDOG_TIMEOUT_MSECS / 500) - 1;
|
timeout = (CONFIG_WATCHDOG_TIMEOUT_MSECS / 500) - 1;
|
||||||
|
#ifdef CONFIG_FSL_LSCH2
|
||||||
|
writew((WCR_WDA | WCR_SRS | WCR_WDE) << 8 | timeout, &wdog->wcr);
|
||||||
|
#else
|
||||||
writew(WCR_WDZST | WCR_WDBG | WCR_WDE | WCR_WDT | WCR_SRS |
|
writew(WCR_WDZST | WCR_WDBG | WCR_WDE | WCR_WDT | WCR_SRS |
|
||||||
WCR_WDA | SET_WCR_WT(timeout), &wdog->wcr);
|
WCR_WDA | SET_WCR_WT(timeout), &wdog->wcr);
|
||||||
|
#endif /* CONFIG_FSL_LSCH2*/
|
||||||
hw_watchdog_reset();
|
hw_watchdog_reset();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user