summaryrefslogtreecommitdiff
path: root/src/soc/mediatek/mt8195/pll.c
diff options
context:
space:
mode:
authorJitao Shi <jitao.shi@mediatek.com>2021-06-01 11:42:27 +0800
committerHung-Te Lin <hungte@chromium.org>2021-06-10 09:40:45 +0000
commit435ee357e9c4e09032e4919b4b815fce1fc7d555 (patch)
treedaddaccf2d8cf67ce394775721eb2537306698d5 /src/soc/mediatek/mt8195/pll.c
parentf1763ca7e501c0f02fa0fbc80d1d5fb69386ce64 (diff)
soc/mediatek/mt8195: add power and power control for eDP
1. Add API of TVD_PLL1 mt_pll_set_tvd_pll1_freq() for setting rate. 2. Add API of TVD_PLL1 edp_mux_set_sel() for mux sel. 3. Add eDP power domain control. BUG=b:189985956 Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> Change-Id: I9e43e0ffeb7b8bcd1786a8d2f5acbf22d5ab501f Reviewed-on: https://review.coreboot.org/c/coreboot/+/55346 Reviewed-by: Yu-Ping Wu <yupingso@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc/mediatek/mt8195/pll.c')
-rw-r--r--src/soc/mediatek/mt8195/pll.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/soc/mediatek/mt8195/pll.c b/src/soc/mediatek/mt8195/pll.c
index 30a8f31beb..fc165358c9 100644
--- a/src/soc/mediatek/mt8195/pll.c
+++ b/src/soc/mediatek/mt8195/pll.c
@@ -773,6 +773,24 @@ void mt_pll_raise_cci_freq(u32 freq)
clrsetbits32(&mt8195_mcucfg->bus_plldiv_cfg, MCU_MUX_MASK, MCU_MUX_SRC_PLL);
}
+void mt_pll_set_tvd_pll1_freq(u32 freq)
+{
+ /* disable tvdpll frequency output */
+ clrbits32(plls[APMIXED_TVDPLL1].reg, MT8195_PLL_EN);
+
+ /* set tvdpll frequency */
+ pll_set_rate(&plls[APMIXED_TVDPLL1], freq);
+
+ /* enable tvdpll frequency output */
+ setbits32(plls[APMIXED_TVDPLL1].reg, MT8195_PLL_EN);
+ udelay(PLL_EN_DELAY);
+}
+
+void edp_mux_set_sel(u32 sel)
+{
+ mux_set_sel(&muxes[TOP_EDP_SEL], sel);
+}
+
u32 mt_fmeter_get_freq_khz(enum fmeter_type type, u32 id)
{
u32 output, count, clk_dbg_cfg, clk_misc_cfg_0;