diff --git a/src/soc/mediatek/common/include/soc/display.h b/src/soc/mediatek/common/include/soc/display.h index 2881505860..0d06a3cd2c 100644 --- a/src/soc/mediatek/common/include/soc/display.h +++ b/src/soc/mediatek/common/include/soc/display.h @@ -26,8 +26,9 @@ struct panel_description { uint32_t quirks; }; -int mtk_display_init(void); struct panel_description *get_active_panel(void); +void mtk_display_disable_secure_mode(void); +int mtk_display_init(void); void mtk_ddp_init(void); void mtk_ddp_mode_set(const struct edid *edid, enum disp_path_sel path); diff --git a/src/soc/mediatek/mt8189/ddp.c b/src/soc/mediatek/mt8189/ddp.c index 32c3b5b12f..f7bdc7f835 100644 --- a/src/soc/mediatek/mt8189/ddp.c +++ b/src/soc/mediatek/mt8189/ddp.c @@ -86,26 +86,18 @@ static void disp_clock_on(void) __func__, read32(&mmsys_cfg->mmsys_cg_con0), read32(&mmsys_cfg->mmsys_cg_con1)); } -void mtk_ddp_init(void) +void mtk_display_disable_secure_mode(void) { - int i; - disp_clock_on(); - printk(BIOS_DEBUG, "%s: shadow: %#x %#x, secure before: [%#x %#x %#x] larb: %x\n", + printk(BIOS_DEBUG, "%s: shadow: %#x %#x, secure before: [%#x %#x %#x]\n", __func__, read32(&mmsys_cfg->disp_bypass_mux_shadow), read32(&mmsys_cfg->disp_crossbar_con), read32(&mmsys_cfg->mmsys_security_disable), read32(&mmsys_cfg->mmsys_security_disable1), - read32(&mmsys_cfg->mmsys_security_disable2), - read32(&smi_larb0->port_l0_ovl_rdma[0])); + read32(&mmsys_cfg->mmsys_security_disable2)); - /* Turn off M4U port */ - for (i = 0; i < RDMA_PORT_NR; i++) { - write32(&smi_larb0->port_l0_ovl_rdma[i], 0); - write32(&smi_larb1->port_l0_ovl_rdma[i], 0); - } /* disable shadow */ write32(&mmsys_cfg->disp_bypass_mux_shadow, 0x1); write32(&mmsys_cfg->disp_crossbar_con, 0x00FF0000); @@ -113,14 +105,30 @@ void mtk_ddp_init(void) write32(&mmsys_cfg->mmsys_security_disable, 0xFFFFFFFF); write32(&mmsys_cfg->mmsys_security_disable1, 0xFFFFFFFF); write32(&mmsys_cfg->mmsys_security_disable2, 0xFFFFFFFF); - printk(BIOS_DEBUG, "%s: shadow: %#x %#x, secure: [%#x %#x %#x] larb: %#x\n", + + printk(BIOS_DEBUG, "%s: shadow: %#x %#x, secure: [%#x %#x %#x]n", __func__, read32(&mmsys_cfg->disp_bypass_mux_shadow), read32(&mmsys_cfg->disp_crossbar_con), read32(&mmsys_cfg->mmsys_security_disable), read32(&mmsys_cfg->mmsys_security_disable1), - read32(&mmsys_cfg->mmsys_security_disable2), - read32(&smi_larb0->port_l0_ovl_rdma[0])); + read32(&mmsys_cfg->mmsys_security_disable2)); +} + +void mtk_ddp_init(void) +{ + int i; + + mtk_display_disable_secure_mode(); + + /* Turn off M4U port */ + for (i = 0; i < RDMA_PORT_NR; i++) { + write32(&smi_larb0->port_l0_ovl_rdma[i], 0); + write32(&smi_larb1->port_l0_ovl_rdma[i], 0); + } + + printk(BIOS_DEBUG, "%s: larb: %#x\n", + __func__, read32(&smi_larb0->port_l0_ovl_rdma[0])); } void mtk_ddp_mode_set(const struct edid *edid, enum disp_path_sel path)