Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 696b6075 authored by Ezequiel Garcia's avatar Ezequiel Garcia Committed by Zhang Rui
Browse files

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: default avatarLior Amsalem <alior@marvell.com>
Signed-off-by: default avatarEzequiel Garcia <ezequiel.garcia@free-electrons.com>
Acked-by: default avatarAndrew Lunn <andrew@lunn.ch>
Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
parent 02519d33
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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;
}