soc/mediatek/mt8186: Disable unused spm_thermal
In MT8186, we need to disable spm_thermal to prevent it from influencing other wdt status. There are two hardware pathes which are used for asserting watchdog from thermal. We can disable status of path 1 because status of path 2 is used. 1. Thermal -> SPM -> WDT 2. Thermal -> WDT Spm_thermal (path 1) is a flexible option for software control, and the hardware designer suggests that we should disable it if we don't use it. BUG=none TEST=build pass Signed-off-by: Rex-BC Chen <rex-bc.chen@mediatek.com> Change-Id: I0ffde6bad3000a64e3b5782edaa72c62da034302 Reviewed-on: https://review.coreboot.org/c/coreboot/+/62890 Reviewed-by: Yu-Ping Wu <yupingso@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
1e24b20475
commit
bff1210f24
|
@ -14,7 +14,9 @@ struct mtk_wdt_regs {
|
|||
u32 wdt_interval;
|
||||
u32 wdt_swrst;
|
||||
u32 wdt_swsysrst;
|
||||
u32 reserved[9];
|
||||
u32 reserved0[5];
|
||||
u32 wdt_req_mode;
|
||||
u32 reserved1[3];
|
||||
u32 wdt_debug_ctrl;
|
||||
};
|
||||
|
||||
|
@ -38,6 +40,7 @@ enum {
|
|||
|
||||
static struct mtk_wdt_regs *const mtk_wdt = (void *)RGU_BASE;
|
||||
|
||||
void mtk_wdt_preinit(void);
|
||||
int mtk_wdt_init(void);
|
||||
void mtk_wdt_clr_status(void);
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@ void bootblock_soc_init(void)
|
|||
{
|
||||
mtk_mmu_init();
|
||||
bustracker_init();
|
||||
mtk_wdt_preinit();
|
||||
mtk_wdt_init();
|
||||
mt_pll_init();
|
||||
unmask_eint_event_mask();
|
||||
|
|
|
@ -10,8 +10,18 @@
|
|||
#include <soc/wdt.h>
|
||||
|
||||
#define MTK_WDT_CLR_STATUS_VAL 0x22
|
||||
#define MTK_WDT_REQ_MOD_KEY_VAL 0x33
|
||||
|
||||
DEFINE_BITFIELD(MTK_WDT_CLR_STATUS, 31, 24)
|
||||
DEFINE_BITFIELD(MTK_WDT_REQ_MOD_KEY, 31, 24)
|
||||
DEFINE_BIT(MTK_WDT_SPM_THERMAL_EN, 0)
|
||||
|
||||
void mtk_wdt_preinit(void)
|
||||
{
|
||||
SET32_BITFIELDS(&mtk_wdt->wdt_req_mode,
|
||||
MTK_WDT_SPM_THERMAL_EN, 0,
|
||||
MTK_WDT_REQ_MOD_KEY, MTK_WDT_REQ_MOD_KEY_VAL);
|
||||
}
|
||||
|
||||
void mtk_wdt_clr_status(void)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue