diff options
author | Ezequiel Garcia <[email protected]> | 2013-03-22 09:23:02 -0300 |
---|---|---|
committer | Zhang Rui <[email protected]> | 2013-03-26 22:12:20 +0800 |
commit | 696b6075afa97b42b3f59f96809ed586eb691c96 (patch) | |
tree | 0106c28ed0a284e4d42ba548b1fe9a15b4186ee1 | |
parent | 02519d3397b57bf723f6df69c92b0b66ecafb11a (diff) |
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 <[email protected]>
Signed-off-by: Ezequiel Garcia <[email protected]>
Acked-by: Andrew Lunn <[email protected]>
Signed-off-by: Zhang Rui <[email protected]>
-rw-r--r-- | drivers/thermal/kirkwood_thermal.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/thermal/kirkwood_thermal.c b/drivers/thermal/kirkwood_thermal.c index d2e05eec722a..dfeceaffbc03 100644 --- a/drivers/thermal/kirkwood_thermal.c +++ b/drivers/thermal/kirkwood_thermal.c @@ -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; } |