From feecbd010e4ef7f167611fad0ec94a2a8743d3ae Mon Sep 17 00:00:00 2001 From: Finley Xiao Date: Wed, 29 Nov 2023 21:04:32 +0800 Subject: [PATCH] soc: rockchip: rockchip_system_monitor: Add support to use low temp pvtpll config Change-Id: Ifa96a101008587309ca10ae6c2bd76424da6039b Signed-off-by: Finley Xiao --- drivers/soc/rockchip/rockchip_system_monitor.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/soc/rockchip/rockchip_system_monitor.c b/drivers/soc/rockchip/rockchip_system_monitor.c index da95bbda81f8..527764e235c7 100644 --- a/drivers/soc/rockchip/rockchip_system_monitor.c +++ b/drivers/soc/rockchip/rockchip_system_monitor.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -919,6 +920,7 @@ static void rockchip_low_temp_adjust(struct monitor_dev_info *info, bool is_low) { struct monitor_dev_profile *devp = info->devp; + struct arm_smccc_res res; int ret = 0; dev_dbg(info->dev, "low_temp %d\n", is_low); @@ -933,6 +935,17 @@ static void rockchip_low_temp_adjust(struct monitor_dev_info *info, if (devp->update_volt) devp->update_volt(info); + + if (devp->opp_info->pvtpll_low_temp) { + res = sip_smc_pvtpll_config(PVTPLL_LOW_TEMP, + devp->opp_info->pvtpll_clk_id, + is_low, 0, 0, 0, 0); + if (res.a0) + dev_err(info->dev, + "%s: error cfg id=%u low temp %d (%d)\n", + __func__, devp->opp_info->pvtpll_clk_id, + is_low, (int)res.a0); + } } static void rockchip_high_temp_adjust(struct monitor_dev_info *info,