提交 2fd1db88 编写于 作者: E Ezequiel Garcia 提交者: Zhang Rui

thermal: dove: 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: NLior Amsalem <alior@marvell.com>
Signed-off-by: NEzequiel Garcia <ezequiel.garcia@free-electrons.com>
Acked-by: NAndrew Lunn <andrew@lunn.ch>
Signed-off-by: NZhang Rui <rui.zhang@intel.com>
上级 696b6075
......@@ -107,12 +107,13 @@ static int dove_get_temp(struct thermal_zone_device *thermal,
}
/*
* Calculate temperature. See Section 8.10.1 of 88AP510,
* Documentation/arm/Marvell/README
* Calculate temperature. According to Marvell internal
* documentation the formula for this is:
* Celsius = (322-reg)/1.3625
*/
reg = readl_relaxed(priv->sensor);
reg = (reg >> DOVE_THERMAL_TEMP_OFFSET) & DOVE_THERMAL_TEMP_MASK;
*temp = ((2281638UL - (7298*reg)) / 10);
*temp = ((3220000000UL - (10000000UL * reg)) / 13625);
return 0;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册