soc/mediatek/mt8186: Inititalize ADSP
To use SOF correctly, we need to initialize ADSP in coreboot stage.
TEST=SOF driver is functional.
BUG=b:204229221
Change-Id: I45db587252ccdcdf75e0be2029743034a79925c5
Signed-off-by: Tinghan Shen <tinghan.shen@mediatek.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68289
Reviewed-by: Yidi Lin <yidilin@google.com>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/soc/mediatek/mt8186/soc.c b/src/soc/mediatek/mt8186/soc.c
index d2e7a1e..a55e2ee 100644
--- a/src/soc/mediatek/mt8186/soc.c
+++ b/src/soc/mediatek/mt8186/soc.c
@@ -2,10 +2,12 @@
#include <bootmem.h>
#include <device/device.h>
+#include <soc/adsp.h>
#include <soc/devapc.h>
#include <soc/dfd.h>
#include <soc/emi.h>
#include <soc/mmu_operations.h>
+#include <soc/mtcmos.h>
#include <soc/sspm.h>
#include <symbols.h>
@@ -24,6 +26,12 @@
{
mtk_mmu_disable_l2c_sram();
sspm_init();
+
+ /* ADSP is required for all MT8186 projects, so it's initialized in soc.c */
+ mtcmos_adsp_power_on();
+ mtcmos_protect_adsp_bus();
+ mtk_adsp_init();
+
dapc_init();
if (CONFIG(MTK_DFD))