Re: [PATCH] thermal: ti-soc-thermal: Fix bogus thermal shutdowns for omap4430
From: Daniel Lezcano
Date: Mon Aug 24 2020 - 06:45:58 EST
On 23/08/2020 23:12, Pavel Machek wrote:
> Hi!
>
>> We can sometimes get bogus thermal shutdowns on omap4430 at least with
>> droid4 running idle with a battery charger connected:
>>
>> thermal thermal_zone0: critical temperature reached (143 C), shutting down
>>
>> Dumping out the register values shows we can occasionally get a 0x7f value
>> that is outside the TRM listed values in the ADC conversion table. And then
>> we get a normal value when reading again after that. Reading the register
>> multiple times does not seem help avoiding the bogus values as they stay
>> until the next sample is ready.
>>
>> Looking at the TRM chapter "18.4.10.2.3 ADC Codes Versus Temperature", we
>> should have values from 13 to 107 listed with a total of 95 values. But
>> looking at the omap4430_adc_to_temp array, the values are off, and the
>> end values are missing. And it seems that the 4430 ADC table is similar
>> to omap3630 rather than omap4460.
>>
>> Let's fix the issue by using values based on the omap3630 table and just
>> ignoring invalid values. Compared to the 4430 TRM, the omap3630 table has
>> the missing values added while the TRM table only shows every second
>> value.
>>
>> Note that sometimes the ADC register values within the valid table can
>> also be way off for about 1 out of 10 values. But it seems that those
>> just show about 25 C too low values rather than too high values. So those
>> do not cause a bogus thermal shutdown.
>
> This does not seem to be in recent -next. Ping?
Pong.
Going back from vacation. Will be in next very soon.
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog