diff options
author | Bo-Chen Chen <rex-bc.chen@mediatek.com> | 2022-07-04 18:59:51 +0800 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2022-07-06 15:20:42 +0000 |
commit | 0e03fa3f6e474aa28a9151e5d9f152619636650c (patch) | |
tree | eac4fc3732776269a8b2e9729ef4ba4dac96afcc | |
parent | d4e07090ffb3420f5aa11d8a92dd61c8074412b4 (diff) |
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 <rex-bc.chen@mediatek.com>
Change-Id: I7a334b3e7cd4f24a848dd31aca546dc7236d5fb8
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65636
Reviewed-by: Yidi Lin <yidilin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
-rw-r--r-- | src/soc/mediatek/common/include/soc/wdt_common.h (renamed from src/soc/mediatek/common/include/soc/wdt.h) | 14 | ||||
-rw-r--r-- | src/soc/mediatek/common/wdt_req.c (renamed from src/soc/mediatek/mt8192/wdt.c) | 10 | ||||
-rw-r--r-- | src/soc/mediatek/mt8173/include/soc/wdt.h | 8 | ||||
-rw-r--r-- | src/soc/mediatek/mt8183/include/soc/wdt.h | 8 | ||||
-rw-r--r-- | src/soc/mediatek/mt8186/Makefile.inc | 2 | ||||
-rw-r--r-- | src/soc/mediatek/mt8186/include/soc/wdt.h | 14 | ||||
-rw-r--r-- | src/soc/mediatek/mt8186/wdt.c | 18 | ||||
-rw-r--r-- | src/soc/mediatek/mt8192/Makefile.inc | 2 | ||||
-rw-r--r-- | src/soc/mediatek/mt8192/include/soc/wdt.h | 14 | ||||
-rw-r--r-- | src/soc/mediatek/mt8195/Makefile.inc | 2 | ||||
-rw-r--r-- | src/soc/mediatek/mt8195/include/soc/wdt.h | 14 | ||||
-rw-r--r-- | src/soc/mediatek/mt8195/wdt.c | 17 |
12 files changed, 73 insertions, 50 deletions
diff --git a/src/soc/mediatek/common/include/soc/wdt.h b/src/soc/mediatek/common/include/soc/wdt_common.h index 1277436e3c..5587d504e8 100644 --- a/src/soc/mediatek/common/include/soc/wdt.h +++ b/src/soc/mediatek/common/include/soc/wdt_common.h @@ -1,8 +1,9 @@ /* SPDX-License-Identifier: GPL-2.0-only */ -#ifndef SOC_MEDIATEK_COMMON_WDT_H -#define SOC_MEDIATEK_COMMON_WDT_H +#ifndef SOC_MEDIATEK_WDT_COMMON_H +#define SOC_MEDIATEK_WDT_COMMON_H +#include <device/mmio.h> #include <stdint.h> #include <soc/addressmap.h> @@ -39,10 +40,17 @@ enum { 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_COMMON_WDT_H */ +#endif /* SOC_MEDIATEK_WDT_COMMON_H */ diff --git a/src/soc/mediatek/mt8192/wdt.c b/src/soc/mediatek/common/wdt_req.c index d3e3e74921..6dfd608b69 100644 --- a/src/soc/mediatek/mt8192/wdt.c +++ b/src/soc/mediatek/common/wdt_req.c @@ -1,20 +1,12 @@ /* SPDX-License-Identifier: GPL-2.0-only */ #include <device/mmio.h> -#include <soc/addressmap.h> #include <soc/wdt.h> -#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) -DEFINE_BIT(MTK_WDT_THERMAL_EN, 18) -DEFINE_BIT(MTK_WDT_THERMAL_IRQ, 18) - void mtk_wdt_set_req(void) { SET32_BITFIELDS(&mtk_wdt->wdt_req_mode, + MTK_WDT_SPM_THERMAL_EN, MTK_WDT_SPM_THERMAL_VAL, MTK_WDT_THERMAL_EN, 1, MTK_WDT_REQ_MOD_KEY, MTK_WDT_REQ_MOD_KEY_VAL); SET32_BITFIELDS(&mtk_wdt->wdt_req_irq_en, diff --git a/src/soc/mediatek/mt8173/include/soc/wdt.h b/src/soc/mediatek/mt8173/include/soc/wdt.h new file mode 100644 index 0000000000..41e4723ab3 --- /dev/null +++ b/src/soc/mediatek/mt8173/include/soc/wdt.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#ifndef SOC_MEDIATEK_MT8173_WDT_H +#define SOC_MEDIATEK_MT8173_WDT_H + +#include <soc/wdt_common.h> + +#endif /* SOC_MEDIATEK_MT8173_WDT_H */ diff --git a/src/soc/mediatek/mt8183/include/soc/wdt.h b/src/soc/mediatek/mt8183/include/soc/wdt.h new file mode 100644 index 0000000000..6a44c31ef7 --- /dev/null +++ b/src/soc/mediatek/mt8183/include/soc/wdt.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#ifndef SOC_MEDIATEK_MT8183_WDT_H +#define SOC_MEDIATEK_MT8183_WDT_H + +#include <soc/wdt_common.h> + +#endif /* SOC_MEDIATEK_MT8183_WDT_H */ diff --git a/src/soc/mediatek/mt8186/Makefile.inc b/src/soc/mediatek/mt8186/Makefile.inc index 77a6c2833c..37213bbad3 100644 --- a/src/soc/mediatek/mt8186/Makefile.inc +++ b/src/soc/mediatek/mt8186/Makefile.inc @@ -14,7 +14,7 @@ bootblock-y += gic.c bootblock-y += ../common/mmu_operations.c bootblock-y += ../common/pll.c pll.c bootblock-y += ../common/tracker.c ../common/tracker_v1.c -bootblock-y += ../common/wdt.c wdt.c +bootblock-y += ../common/wdt.c ../common/wdt_req.c wdt.c romstage-y += ../common/cbmem.c romstage-y += ../common/dram_init.c diff --git a/src/soc/mediatek/mt8186/include/soc/wdt.h b/src/soc/mediatek/mt8186/include/soc/wdt.h new file mode 100644 index 0000000000..9f06bb94d1 --- /dev/null +++ b/src/soc/mediatek/mt8186/include/soc/wdt.h @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#ifndef SOC_MEDIATEK_MT8186_WDT_H +#define SOC_MEDIATEK_MT8186_WDT_H + +#include <soc/wdt_common.h> + +#define MTK_WDT_SPM_THERMAL_VAL 0 + +DEFINE_BIT(MTK_WDT_SPM_THERMAL_EN, 0) +DEFINE_BIT(MTK_WDT_THERMAL_EN, 18) +DEFINE_BIT(MTK_WDT_THERMAL_IRQ, 18) + +#endif /* SOC_MEDIATEK_MT8186_WDT_H */ diff --git a/src/soc/mediatek/mt8186/wdt.c b/src/soc/mediatek/mt8186/wdt.c index 5303f9d566..fbc9bb9989 100644 --- a/src/soc/mediatek/mt8186/wdt.c +++ b/src/soc/mediatek/mt8186/wdt.c @@ -10,26 +10,8 @@ #include <soc/wdt.h> #define MTK_WDT_CLR_STATUS_VAL 0x22 -#define MTK_WDT_REQ_MOD_KEY_VAL 0x33 -#define MTK_WDT_REQ_IRQ_KEY_VAL 0x44 DEFINE_BITFIELD(MTK_WDT_CLR_STATUS, 31, 24) -DEFINE_BITFIELD(MTK_WDT_REQ_MOD_KEY, 31, 24) -DEFINE_BITFIELD(MTK_WDT_REQ_IRQ_KEY, 31, 24) -DEFINE_BIT(MTK_WDT_SPM_THERMAL_EN, 0) -DEFINE_BIT(MTK_WDT_THERMAL_EN, 18) -DEFINE_BIT(MTK_WDT_THERMAL_IRQ, 18) - -void mtk_wdt_set_req(void) -{ - SET32_BITFIELDS(&mtk_wdt->wdt_req_mode, - MTK_WDT_SPM_THERMAL_EN, 0, - MTK_WDT_THERMAL_EN, 1, - MTK_WDT_REQ_MOD_KEY, MTK_WDT_REQ_MOD_KEY_VAL); - SET32_BITFIELDS(&mtk_wdt->wdt_req_irq_en, - MTK_WDT_THERMAL_IRQ, 0, - MTK_WDT_REQ_IRQ_KEY, MTK_WDT_REQ_IRQ_KEY_VAL); -} void mtk_wdt_clr_status(void) { diff --git a/src/soc/mediatek/mt8192/Makefile.inc b/src/soc/mediatek/mt8192/Makefile.inc index 783bd02ef2..fd983d5b0e 100644 --- a/src/soc/mediatek/mt8192/Makefile.inc +++ b/src/soc/mediatek/mt8192/Makefile.inc @@ -13,7 +13,7 @@ bootblock-y += ../common/eint_event.c bootblock-y += ../common/mmu_operations.c bootblock-y += ../common/pll.c pll.c bootblock-y += ../common/tracker.c ../common/tracker_v2.c -bootblock-y += ../common/wdt.c wdt.c +bootblock-y += ../common/wdt.c ../common/wdt_req.c romstage-y += ../common/auxadc.c romstage-y += ../common/cbmem.c diff --git a/src/soc/mediatek/mt8192/include/soc/wdt.h b/src/soc/mediatek/mt8192/include/soc/wdt.h new file mode 100644 index 0000000000..01faaf0f10 --- /dev/null +++ b/src/soc/mediatek/mt8192/include/soc/wdt.h @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#ifndef SOC_MEDIATEK_MT8192_WDT_H +#define SOC_MEDIATEK_MT8192_WDT_H + +#include <soc/wdt_common.h> + +#define MTK_WDT_SPM_THERMAL_VAL 1 + +DEFINE_BIT(MTK_WDT_SPM_THERMAL_EN, 0) +DEFINE_BIT(MTK_WDT_THERMAL_EN, 18) +DEFINE_BIT(MTK_WDT_THERMAL_IRQ, 18) + +#endif /* SOC_MEDIATEK_MT8192_WDT_H */ diff --git a/src/soc/mediatek/mt8195/Makefile.inc b/src/soc/mediatek/mt8195/Makefile.inc index a96788e874..8262763ef1 100644 --- a/src/soc/mediatek/mt8195/Makefile.inc +++ b/src/soc/mediatek/mt8195/Makefile.inc @@ -15,7 +15,7 @@ bootblock-y += ../common/mmu_operations.c bootblock-$(CONFIG_PCI) += pcie.c bootblock-y += ../common/pll.c pll.c bootblock-y += ../common/tracker.c ../common/tracker_v2.c -bootblock-y += ../common/wdt.c wdt.c +bootblock-y += ../common/wdt.c ../common/wdt_req.c wdt.c romstage-y += ../common/cbmem.c romstage-y += ../common/clkbuf.c diff --git a/src/soc/mediatek/mt8195/include/soc/wdt.h b/src/soc/mediatek/mt8195/include/soc/wdt.h new file mode 100644 index 0000000000..5cfb07971e --- /dev/null +++ b/src/soc/mediatek/mt8195/include/soc/wdt.h @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#ifndef SOC_MEDIATEK_MT8195_WDT_H +#define SOC_MEDIATEK_MT8195_WDT_H + +#include <soc/wdt_common.h> + +#define MTK_WDT_SPM_THERMAL_VAL 1 + +DEFINE_BIT(MTK_WDT_SPM_THERMAL_EN, 0) +DEFINE_BIT(MTK_WDT_THERMAL_EN, 18) +DEFINE_BIT(MTK_WDT_THERMAL_IRQ, 18) + +#endif /* SOC_MEDIATEK_MT8195_WDT_H */ diff --git a/src/soc/mediatek/mt8195/wdt.c b/src/soc/mediatek/mt8195/wdt.c index ab2934bbc7..fcee3db21a 100644 --- a/src/soc/mediatek/mt8195/wdt.c +++ b/src/soc/mediatek/mt8195/wdt.c @@ -5,23 +5,6 @@ #include <soc/wdt.h> #define MTK_WDT_CLR_STATUS 0x230001FF -#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) -DEFINE_BIT(MTK_WDT_THERMAL_EN, 18) -DEFINE_BIT(MTK_WDT_THERMAL_IRQ, 18) - -void mtk_wdt_set_req(void) -{ - SET32_BITFIELDS(&mtk_wdt->wdt_req_mode, - MTK_WDT_THERMAL_EN, 1, - MTK_WDT_REQ_MOD_KEY, MTK_WDT_REQ_MOD_KEY_VAL); - SET32_BITFIELDS(&mtk_wdt->wdt_req_irq_en, - MTK_WDT_THERMAL_IRQ, 0, - MTK_WDT_REQ_IRQ_KEY, MTK_WDT_REQ_IRQ_KEY_VAL); -} void mtk_wdt_clr_status(void) { |