Rex-BC Chen has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/67355 )
Change subject: soc/mediatek/mt8188: enable mfgpll properly and fix SPMI muxes ......................................................................
soc/mediatek/mt8188: enable mfgpll properly and fix SPMI muxes
We failed to bringup GPU in kernel due to the wrong pll setting.
- MFGPLL opp_ck_en bit isn't located at MFGPLL_CON1, so we need to fix it to enable MFGPLL properly. - Switch SPMI clock muxes to 260M to avoid kernel hang while probing SPMI kernel driver.
TEST=GPU bringup correctly. BUG=b:233720142
Signed-off-by: Johnson Wang johnson.wang@mediatek.com Change-Id: I971109a5f72e3307899daaf5a5f26022124b559b --- M src/soc/mediatek/mt8188/pll.c 1 file changed, 23 insertions(+), 3 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/55/67355/1
diff --git a/src/soc/mediatek/mt8188/pll.c b/src/soc/mediatek/mt8188/pll.c index 22f8a04..bb4f8ba 100644 --- a/src/soc/mediatek/mt8188/pll.c +++ b/src/soc/mediatek/mt8188/pll.c @@ -319,9 +319,9 @@ { .id = TOP_VDEC_SEL, .sel = 1 }, /* 1: mainpll_d5_d2 */ { .id = TOP_PWM_SEL, .sel = 3 }, /* 3: univpll_d6_d4 */ { .id = TOP_MCUPM_SEL, .sel = 1 }, /* 1: mainpll_d6_d2 */ - { .id = TOP_SPMI_P_MST_SEL, .sel = 7 }, /* 7: mainpll_d7_d8 */ + { .id = TOP_SPMI_P_MST_SEL, .sel = 3 }, /* 7: mainpll_d7_d8 */ /* CLK_CFG_14 */ - { .id = TOP_SPMI_M_MST_SEL, .sel = 7 }, /* 7: mainpll_d7_d8 */ + { .id = TOP_SPMI_M_MST_SEL, .sel = 3 }, /* 7: mainpll_d7_d8 */ { .id = TOP_DVFSRC_SEL, .sel = 0 }, /* 0: clk26m */ { .id = TOP_TL_SEL, .sel = 2 }, /* 2: mainpll_d4_d4 */ { .id = TOP_AES_MSDCFDE_SEL, .sel = 5 }, /* 5: univpll_d6 */ @@ -523,7 +523,7 @@
/* disable mfg_ck_en[20], enable mfg_opp_ck_en[2] */ clrbits32(&mtk_apmixed->mfgpll_con0, 0x1 << 20); - setbits32(&mtk_apmixed->mfgpll_con1, 0x1 << 2); + setbits32(&mtk_apmixed->mfgpll_con0, 0x1 << 2);
/* xPLL Frequency Set */ for (i = 0; i < ARRAY_SIZE(rates); i++)