[PATCH 1/2] thermal: kirkwood: Fix thermal sensor formula

Zhang Rui rui.zhang at intel.com
Tue Mar 26 10:24:33 EDT 2013


On Fri, 2013-03-22 at 09:23 -0300, Ezequiel Garcia wrote:
> 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 at marvell.com>
> Signed-off-by: Ezequiel Garcia <ezequiel.garcia at free-electrons.com>

applied to thermal -next.

thanks,
rui
> ---
>  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 65cb4f0..84b331f 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;
>  }





More information about the linux-arm-kernel mailing list