From 0e03fa3f6e474aa28a9151e5d9f152619636650c Mon Sep 17 00:00:00 2001 From: Bo-Chen Chen Date: Mon, 4 Jul 2022 18:59:51 +0800 Subject: soc/mediatek: Move wdt_set_req() to common folder There are more and more variables which are SoC-specific, so add soc/wdt.h for each SoC and rename common/wdt.h to common/wdt_common.h. wdt_set_req() is almost the same for mt8192, mt8195 and mt8186, so move it to a common file wdt_req.c. TEST=build pass BUG=b:233720142 Signed-off-by: Bo-Chen Chen Change-Id: I7a334b3e7cd4f24a848dd31aca546dc7236d5fb8 Reviewed-on: https://review.coreboot.org/c/coreboot/+/65636 Reviewed-by: Yidi Lin Tested-by: build bot (Jenkins) Reviewed-by: Yu-Ping Wu --- src/soc/mediatek/common/include/soc/wdt.h | 48 -------------------- src/soc/mediatek/common/include/soc/wdt_common.h | 56 ++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 48 deletions(-) delete mode 100644 src/soc/mediatek/common/include/soc/wdt.h create mode 100644 src/soc/mediatek/common/include/soc/wdt_common.h (limited to 'src/soc/mediatek/common/include') diff --git a/src/soc/mediatek/common/include/soc/wdt.h b/src/soc/mediatek/common/include/soc/wdt.h deleted file mode 100644 index 1277436e3c..0000000000 --- a/src/soc/mediatek/common/include/soc/wdt.h +++ /dev/null @@ -1,48 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ - -#ifndef SOC_MEDIATEK_COMMON_WDT_H -#define SOC_MEDIATEK_COMMON_WDT_H - -#include -#include - -struct mtk_wdt_regs { - u32 wdt_mode; - u32 wdt_length; - u32 wdt_restart; - u32 wdt_status; - u32 wdt_interval; - u32 wdt_swrst; - u32 wdt_swsysrst; - u32 reserved0[5]; - u32 wdt_req_mode; - u32 wdt_req_irq_en; - u32 reserved1[2]; - u32 wdt_debug_ctrl; -}; - -/* WDT_MODE */ -enum { - MTK_WDT_MODE_KEY = 0x22000000, - MTK_WDT_MODE_DUAL_MODE = 1 << 6, - MTK_WDT_MODE_IRQ = 1 << 3, - MTK_WDT_MODE_EXTEN = 1 << 2, - MTK_WDT_MODE_EXT_POL = 1 << 1, - MTK_WDT_MODE_ENABLE = 1 << 0 -}; - -/* WDT_RESET */ -enum { - MTK_WDT_SWRST_KEY = 0x1209, - MTK_WDT_STA_SPM_RST = 1 << 1, - MTK_WDT_STA_SW_RST = 1 << 30, - MTK_WDT_STA_HW_RST = 1 << 31 -}; - -static struct mtk_wdt_regs *const mtk_wdt = (void *)RGU_BASE; - -int mtk_wdt_init(void); -void mtk_wdt_clr_status(void); -void mtk_wdt_set_req(void); - -#endif /* SOC_MEDIATEK_COMMON_WDT_H */ diff --git a/src/soc/mediatek/common/include/soc/wdt_common.h b/src/soc/mediatek/common/include/soc/wdt_common.h new file mode 100644 index 0000000000..5587d504e8 --- /dev/null +++ b/src/soc/mediatek/common/include/soc/wdt_common.h @@ -0,0 +1,56 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#ifndef SOC_MEDIATEK_WDT_COMMON_H +#define SOC_MEDIATEK_WDT_COMMON_H + +#include +#include +#include + +struct mtk_wdt_regs { + u32 wdt_mode; + u32 wdt_length; + u32 wdt_restart; + u32 wdt_status; + u32 wdt_interval; + u32 wdt_swrst; + u32 wdt_swsysrst; + u32 reserved0[5]; + u32 wdt_req_mode; + u32 wdt_req_irq_en; + u32 reserved1[2]; + u32 wdt_debug_ctrl; +}; + +/* WDT_MODE */ +enum { + MTK_WDT_MODE_KEY = 0x22000000, + MTK_WDT_MODE_DUAL_MODE = 1 << 6, + MTK_WDT_MODE_IRQ = 1 << 3, + MTK_WDT_MODE_EXTEN = 1 << 2, + MTK_WDT_MODE_EXT_POL = 1 << 1, + MTK_WDT_MODE_ENABLE = 1 << 0 +}; + +/* WDT_RESET */ +enum { + MTK_WDT_SWRST_KEY = 0x1209, + MTK_WDT_STA_SPM_RST = 1 << 1, + MTK_WDT_STA_SW_RST = 1 << 30, + MTK_WDT_STA_HW_RST = 1 << 31 +}; + +/* WDT_REQ */ +#define MTK_WDT_REQ_MOD_KEY_VAL 0x33 +#define MTK_WDT_REQ_IRQ_KEY_VAL 0x44 + +DEFINE_BITFIELD(MTK_WDT_REQ_MOD_KEY, 31, 24) +DEFINE_BITFIELD(MTK_WDT_REQ_IRQ_KEY, 31, 24) + +static struct mtk_wdt_regs *const mtk_wdt = (void *)RGU_BASE; + +int mtk_wdt_init(void); +void mtk_wdt_clr_status(void); +void mtk_wdt_set_req(void); + +#endif /* SOC_MEDIATEK_WDT_COMMON_H */ -- cgit v1.2.3