soc/mediatek/mt8196: Add unmask eint event for bootblock

EINT event mask register is used to mask EINT wakeup source. All wakeup
sources are masked by default. Since most MediaTek SoCs do not have this
design, we can't modify the kernel EINT upstream driver to solve the
issue "Can't wake using power button (cros_ec) or touchpad". So we add a
driver here to unmask all wakeup sources.

TEST=write eint data successfully.
BUG=b:317009620

Change-Id: I4bf3820a89172186b8f51591f8760787affbb7a3
Signed-off-by: Chhao Chang <ot_chhao.chang@mediatek.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84025
Reviewed-by: Yidi Lin <yidilin@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
This commit is contained in:
Jarried Lin 2025-01-18 23:40:56 +08:00 committed by Yu-Ping Wu
commit 0b1779718e
3 changed files with 16 additions and 0 deletions

View file

@ -15,6 +15,7 @@ bootblock-y += bootblock.c
bootblock-y += ../common/bootblock.c bootblock.c
bootblock-y += cksys.c
bootblock-y += ../common/early_init.c
bootblock-y += ../common/eint_event.c eint_event_info.c
bootblock-y += ../common/lastbus_v2.c lastbus.c
bootblock-y += mminfra.c
bootblock-y += ../common/mmu_operations.c

View file

@ -4,6 +4,7 @@
#include <bootblock_common.h>
#include <soc/cksys.h>
#include <soc/early_init.h>
#include <soc/eint_event.h>
#include <soc/lastbus_v2.h>
#include <soc/mminfra.h>
#include <soc/mmu_operations.h>
@ -26,4 +27,5 @@ void bootblock_soc_init(void)
mt_pll_post_init();
mtcmos_post_init();
early_init_clear();
unmask_eint_event_mask();
}

View file

@ -0,0 +1,13 @@
/* SPDX-License-Identifier: GPL-2.0-only OR MIT */
#include <soc/addressmap.h>
#include <soc/eint_event.h>
const struct eint_event_info eint_event[] = {
{EINT_E_BASE, 75},
{EINT_S_BASE, 29},
{EINT_W_BASE, 58},
{EINT_N_BASE, 47},
{EINT_C_BASE, 25},
{},
};