summaryrefslogtreecommitdiff
path: root/drivers/thermal/ti-soc-thermal/omap5-thermal-data.c
diff options
context:
space:
mode:
authorKeerthy <j-keerthy@ti.com>2015-04-22 15:51:42 +0300
committerEduardo Valentin <edubezval@gmail.com>2015-05-09 04:02:29 +0300
commite9a90d046b9c9fe8f7c8efefe7b0e64c3c0daa8f (patch)
tree5892eedab25e84bf4c96d481a5a8165ecdeb2cec /drivers/thermal/ti-soc-thermal/omap5-thermal-data.c
parent79010636174c78209e20c4f44370b2b13312e08c (diff)
downloadlinux-e9a90d046b9c9fe8f7c8efefe7b0e64c3c0daa8f.tar.xz
thermal: ti-soc-thermal: OMAP5: Implement Workaround for Errata i813
DESCRIPTION Spurious Thermal Alert: Talert can happen randomly while the device remains under the temperature limit defined for this event to trig. This spurious event is caused by a incorrect re-synchronization between clock domains. The comparison between configured threshold and current temperature value can happen while the value is transitioning (metastable), thus causing inappropriate event generation. No spurious event occurs as long as the threshold value stays unchanged. Spurious event can be generated while a thermal alert threshold is modified in CONTROL_BANDGAP_THRESHOLD_MPU/GPU/CORE/DSPEVE/IVA_n. WORKAROUND Spurious event generation can be avoided by performing following sequence when the threshold is modified: 1. Mask the hot/cold events at the thermal IP level. 2. Modify Threshold. 3. Unmask the hot/cold events at the thermal IP level. Signed-off-by: Keerthy <j-keerthy@ti.com> Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
Diffstat (limited to 'drivers/thermal/ti-soc-thermal/omap5-thermal-data.c')
-rw-r--r--drivers/thermal/ti-soc-thermal/omap5-thermal-data.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/thermal/ti-soc-thermal/omap5-thermal-data.c b/drivers/thermal/ti-soc-thermal/omap5-thermal-data.c
index eff0c80fd4af..79ff70c446ba 100644
--- a/drivers/thermal/ti-soc-thermal/omap5-thermal-data.c
+++ b/drivers/thermal/ti-soc-thermal/omap5-thermal-data.c
@@ -319,7 +319,8 @@ const struct ti_bandgap_data omap5430_data = {
TI_BANDGAP_FEATURE_FREEZE_BIT |
TI_BANDGAP_FEATURE_TALERT |
TI_BANDGAP_FEATURE_COUNTER_DELAY |
- TI_BANDGAP_FEATURE_HISTORY_BUFFER,
+ TI_BANDGAP_FEATURE_HISTORY_BUFFER |
+ TI_BANDGAP_FEATURE_ERRATA_813,
.fclock_name = "l3instr_ts_gclk_div",
.div_ck_name = "l3instr_ts_gclk_div",
.conv_table = omap5430_adc_to_temp,