forked from Minki/linux
thermal: kirkwood: Fix thermal sensor formula
The currently formula has been taken from the 88AP510 SoC datasheet, which is not exactly correct. The correct value for the temperature in Celcius of the sensor present in this SoC is: Celsius = (322-reg)/1.3625 Signed-off-by: Lior Amsalem <alior@marvell.com> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Acked-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
This commit is contained in:
parent
02519d3397
commit
696b6075af
@ -49,13 +49,13 @@ static int kirkwood_get_temp(struct thermal_zone_device *thermal,
|
||||
}
|
||||
|
||||
/*
|
||||
* Calculate temperature. See Section 8.10.1 of the 88AP510,
|
||||
* datasheet, which has the same sensor.
|
||||
* Documentation/arm/Marvell/README
|
||||
* Calculate temperature. According to Marvell internal
|
||||
* documentation the formula for this is:
|
||||
* Celsius = (322-reg)/1.3625
|
||||
*/
|
||||
reg = (reg >> KIRKWOOD_THERMAL_TEMP_OFFSET) &
|
||||
KIRKWOOD_THERMAL_TEMP_MASK;
|
||||
*temp = ((2281638UL - (7298*reg)) / 10);
|
||||
*temp = ((3220000000UL - (10000000UL * reg)) / 13625);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user