Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d26eef8b authored by Anson Huang's avatar Anson Huang Committed by Eduardo Valentin
Browse files

Thermal: imx: add clk disable/enable for suspend/resume



Thermal sensor's clk is from pll3_usb_otg, per hardware
design requirement, need to make sure pll3_usb_otg is disabled
before STOP mode is entered, otherwise, all PFDs under it may
enter incorrect state, this patch disables pll3_usb_otg before
suspend and enables it after resume.

Signed-off-by: default avatarAnson Huang <b20788@freescale.com>
Signed-off-by: default avatarEduardo Valentin <edubezval@gmail.com>
parent 5a723e81
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -608,6 +608,7 @@ static int imx_thermal_suspend(struct device *dev)
	regmap_write(map, TEMPSENSE0 + REG_CLR, TEMPSENSE0_MEASURE_TEMP);
	regmap_write(map, TEMPSENSE0 + REG_SET, TEMPSENSE0_POWER_DOWN);
	data->mode = THERMAL_DEVICE_DISABLED;
	clk_disable_unprepare(data->thermal_clk);

	return 0;
}
@@ -617,6 +618,7 @@ static int imx_thermal_resume(struct device *dev)
	struct imx_thermal_data *data = dev_get_drvdata(dev);
	struct regmap *map = data->tempmon;

	clk_prepare_enable(data->thermal_clk);
	/* Enabled thermal sensor after resume */
	regmap_write(map, TEMPSENSE0 + REG_CLR, TEMPSENSE0_POWER_DOWN);
	regmap_write(map, TEMPSENSE0 + REG_SET, TEMPSENSE0_MEASURE_TEMP);