90a21ff5824c3ae8b49c1c0498b137792b935aab |
|
08-Nov-2014 |
Heiner Kallweit <heiner.kallweit@web.de> |
imx: thermal: imx_get_temp might be called before sensor clock is prepared imx_get_temp might be called before the sensor clock is prepared thus resulting in a timeout of the first attempt to read temp: thermal thermal_zone0: failed to read out thermal zone 0 Happened to me on a Utilite Standard with IMX6 Dual SoC. Reason is that in imx_thermal_probe thermal_zone_device_register is called before the sensor clock is prepared. thermal_zone_device_register however calls thermal_zone_device_update which eventually calls imx_get_temp. Fix this by preparing the clock before calling thermal_zone_device_register. Signed-off-by: Heiner Kallweit <heiner.kallweit@web.de> Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
|
491b079db3f7fa631f6a012e7e896a1eafe4dd99 |
|
14-Oct-2014 |
Bai Ping <b51503@freescale.com> |
thermal: imx: correct driver load sequence for cpu cooling thermal driver should be regisetered after cpufreq driver has been registered and probed. Doing so is to make sure that thermal driver can get the max cpu cooling states correctly when calling get_property. Signed-off-by: Bai Ping <b51503@freescale.com> Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
|
3c94f17e72a7bcf689756da100b6051e535c45f4 |
|
06-Aug-2014 |
Anson Huang <b20788@freescale.com> |
Thermal: imx: add i.mx6sx thermal support i.MX6SX has some new features of thermal interrupt function, there are LOW, HIGH and PANIC irq for thermal sensor, so add platform data to separate different thermal version; The reset value of LOW ALARM is 0 which means the highest temp, so the LOW ALARM will be triggered once irq is enabled, so we need to correct it before enabling thermal irq; Enable PANIC ALARM as critical trip point, it will trigger system reset via SRC module once PANIC IRQ is triggered, it is pure hardware function, so use it instead of software reset by cooling device. Signed-off-by: Anson Huang <b20788@freescale.com> Tested-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
|
d0f9d64a0b8fb3399ca8dd0d54f4d305492c9217 |
|
20-Jun-2014 |
Anson Huang <b20788@freescale.com> |
Thermal: imx: correct critical trip temperature setting On latest i.MX6 SOC with thermal calibration data of 0x5A100000, the critical trip temperature will be an invalid value and cause system auto shutdown as below log: thermal thermal_zone0: critical temperature reached(42 C),shutting down So, with universal formula for thermal sensor, only room temperature point is calibrated, which means the calibration data read from fuse only has valid data of bit [31:20], others are all 0, the critical trip point temperature can NOT depend on the hot point calibration data, here we set it to 20 C higher than default passive temperature. Signed-off-by: Anson Huang <b20788@freescale.com> Acked-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
|
749e8be71d6126b9219f17230e6d0c3eef5191a7 |
|
12-Feb-2014 |
Anson Huang <b20788@freescale.com> |
thermal: imx: update formula for thermal sensor Thermal sensor used to need two calibration points which are in fuse map to get a slope for converting thermal sensor's raw data to real temperature in degree C. Due to the chip calibration limitation, hardware team provides an universal formula to get real temperature from internal thermal sensor raw data: Slope = 0.4297157 - (0.0015976 * 25C fuse); Update the formula, as there will be no hot point calibration data in fuse map from now on. Signed-off-by: Anson Huang <b20788@freescale.com> Acked-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
|
cbb07bb35de6ebaeea27f64860bc6277a13d5b41 |
|
06-Jan-2014 |
Eduardo Valentin <eduardo.valentin@ti.com> |
thermal: remove const flag from .ops of imx thermal As per previous changes on thermal framework API, registering a new thermal zone does not require a const thermal zone ops. Thus, this patch removes the flag from imx thermal zone ops. Cc: Zhang Rui <rui.zhang@intel.com> Cc: Grant Likely <grant.likely@linaro.org> Cc: Rob Herring <rob.herring@calxeda.com> Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: devicetree@vger.kernel.org Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
|
329fe7b14d6cef4b8cf8c866ff41057a70224de2 |
|
23-Dec-2013 |
Anson Huang <b20788@freescale.com> |
thermal: imx: add necessary clk operation Thermal sensor needs pll3_usb_otg when measuring temperature, otherwise the temperature read will be incorrect, so need to enable this clk before sensor working, for alarm function, as hardware will take measurement periodically, so we should keep this clk always on once alarm function is enabled. Signed-off-by: Anson Huang <b20788@freescale.com> Acked-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
|
dd2686324cdc1a03686d0d53338fdf643dd680cb |
|
16-Dec-2013 |
Russell King <rmk+kernel@arm.linux.org.uk> |
thermal: imx_thermal: add module device table Add the module device table declaration so the module can be loaded automatically at boot time. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Shawn Guo <shawn.guo@linaro.org> Acked-by: Eduardo Valentin <eduardo.valentin@ti.com> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
|
b46cce5902def84d35f3b043e89ab764f6c9746e |
|
24-Dec-2013 |
Anson Huang <b20788@freescale.com> |
thermal: imx: correct suspend/resume flow Fixes regression introduced by: commit 37713a1e8e4c1a1067ad4c99296f78d3c82ed9c4 Author: Philipp Zabel <p.zabel@pengutronix.de> Date: Thu Aug 1 18:33:12 2013 +0200 thermal: imx: implement thermal alarm interrupt handling The commit 37713a1e8e4 makes imx thermal sensor always powered up as alarm function is enabled, but the suspend callback of imx thermal returns success only if thermal sensor is powered down, so it will always returns fail hence break system's suspend, this patch disables imx thermal sensor before suspend and re-enable it after resume. Signed-off-by: Anson Huang <b20788@freescale.com> Acked-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
|
37713a1e8e4c1a1067ad4c99296f78d3c82ed9c4 |
|
01-Aug-2013 |
Philipp Zabel <p.zabel@pengutronix.de> |
thermal: imx: implement thermal alarm interrupt handling Enable automatic measurements at 10 Hz and use the alarm interrupt to react more quickly to sudden temperature changes above the passive or critical temperature trip points. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Acked-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
|
017e51420cc44098308b00dffd9d4e514ddf40f3 |
|
01-Aug-2013 |
Philipp Zabel <p.zabel@pengutronix.de> |
thermal: imx: dynamic passive and SoC specific critical trip points Set passive and critical trip point values depending on the maximum die temperature stored in the OCOTP fuses. This allows higher trip points for industrial and automotive rated i.MX6 SoCs. Also allow to configure the passive trip point from userspace. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Acked-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
|
ca3de46b50809000b5ba708634e26ad979a4a63a |
|
24-Jun-2013 |
Shawn Guo <shawn.guo@linaro.org> |
thermal: add imx thermal driver support This is based on the initial imx thermal work done by Rob Lee <rob.lee@linaro.org> (Not sure if the email address is still valid). Since he is no longer interested in the work and I have rewritten a significant amount of the code, I just took the authorship over from him. It adds the imx thermal support using Temperature Monitor (TEMPMON) block found on some Freescale i.MX SoCs. The driver uses syscon regmap interface to access TEMPMON control registers and calibration data, and supports cpufreq as the cooling device. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com>
|