thermal/drivers/qoriq: Power down TMU on system suspend

Enable power-down of TMU (Thermal Management Unit) for TMU version 2 during
system suspend to save power. Save approximately 4.3mW on VDD_ANA_1P8 on
i.MX93 platforms.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20241209164859.3758906-2-Frank.Li@nxp.com
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
This commit is contained in:
Alice Guo 2024-12-09 11:48:59 -05:00 committed by Daniel Lezcano
parent 92009c3ba8
commit 229f3feb4b

View File

@ -18,6 +18,7 @@
#define SITES_MAX 16
#define TMR_DISABLE 0x0
#define TMR_ME 0x80000000
#define TMR_CMD BIT(29)
#define TMR_ALPF 0x0c000000
#define TMR_ALPF_V2 0x03000000
#define TMTMIR_DEFAULT 0x0000000f
@ -342,6 +343,12 @@ static int qoriq_tmu_suspend(struct device *dev)
if (ret)
return ret;
if (data->ver > TMU_VER1) {
ret = regmap_set_bits(data->regmap, REGS_TMR, TMR_CMD);
if (ret)
return ret;
}
clk_disable_unprepare(data->clk);
return 0;
@ -356,6 +363,12 @@ static int qoriq_tmu_resume(struct device *dev)
if (ret)
return ret;
if (data->ver > TMU_VER1) {
ret = regmap_clear_bits(data->regmap, REGS_TMR, TMR_CMD);
if (ret)
return ret;
}
/* Enable monitoring */
return regmap_update_bits(data->regmap, REGS_TMR, TMR_ME, TMR_ME);
}