]> git.karo-electronics.de Git - linux-beck.git/commit
vf610_adc: Fix internal temperature calculation
authorBhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Mon, 19 Oct 2015 15:54:36 +0000 (21:24 +0530)
committerJonathan Cameron <jic23@kernel.org>
Sun, 25 Oct 2015 12:12:29 +0000 (12:12 +0000)
commit6219f432ec037317a77c40910da12a626c34af1c
tree82e046705eabcaae564989f3e7cae6381be73575
parentb94e22805a2224061bb263a82b72e09544a5fbb3
vf610_adc: Fix internal temperature calculation

Calculate ADCR_VTEMP25 using VTEMP25 at VREFH_ADC 3V3. Existing
calculations consider the typical values provided in datasheet.
Those typical values are valid for VREFH_ADC at 3.0V. VTEMP25
is different for different VREFH_ADC voltages. With VREFH_ADC
at 3.3V, voltage at 25°C is 0.699V. Hence update the VTEMP25
to 0.699V which gives ADCR@Temp25 as 867.

Formula for finding ADCR@Temp25:
ADCR@Temp25 = (ADCR@Vdd * V@TEMP25 * 10) / VDDconv

ADCR@Vdd for 12-Bit ADC = 4095
VDDconv = VREFH_ADC * 10

VREFH_ADC@3.3V
ADCR@Temp25 = (4095 * .699 * 10) / 33
ADCR@Temp25 ~= 867

| VREFH_ADC | V@TEMP25 | VDDconv | ADCR@Temp25 |
|   3.0V    | 0.696mV  |    30   |     950     |
|   3.3V    | 0.699mV  |    33   |     867     |

Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Acked-by: Fugang Duan <B38611@freescale.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/adc/vf610_adc.c