Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Alice Guo and committed by
Daniel Lezcano
229f3feb 92009c3b

+13
+13
drivers/thermal/qoriq_thermal.c
··· 18 18 #define SITES_MAX 16 19 19 #define TMR_DISABLE 0x0 20 20 #define TMR_ME 0x80000000 21 + #define TMR_CMD BIT(29) 21 22 #define TMR_ALPF 0x0c000000 22 23 #define TMR_ALPF_V2 0x03000000 23 24 #define TMTMIR_DEFAULT 0x0000000f ··· 343 342 if (ret) 344 343 return ret; 345 344 345 + if (data->ver > TMU_VER1) { 346 + ret = regmap_set_bits(data->regmap, REGS_TMR, TMR_CMD); 347 + if (ret) 348 + return ret; 349 + } 350 + 346 351 clk_disable_unprepare(data->clk); 347 352 348 353 return 0; ··· 362 355 ret = clk_prepare_enable(data->clk); 363 356 if (ret) 364 357 return ret; 358 + 359 + if (data->ver > TMU_VER1) { 360 + ret = regmap_clear_bits(data->regmap, REGS_TMR, TMR_CMD); 361 + if (ret) 362 + return ret; 363 + } 365 364 366 365 /* Enable monitoring */ 367 366 return regmap_update_bits(data->regmap, REGS_TMR, TMR_ME, TMR_ME);