Subject: XADC

From: [email-masked] (Lars-Peter Clausen)
Date: Wed, 04 Jun 2014 09:27:05 +0200

On 06/04/2014 08:47 AM, Peter Meerwald wrote:
> Hello,
>
>> I recently found that you developed a driver for XADC and I thought I
>> enable it (see patch below). But it seems something is not working
>> correctly. The values I tested don't seem to be right and also fixed.
>> I.e. they don't change over time or across boards:
>>
>>    # cat in_temp0_scale
>>    123.040771484
>>    # cat in_voltage0_vccint_scale
>>    0.732421875
>>    # cat in_voltage0_vccint_raw
>>    1384
>>    # cat in_voltage1_vccaux_s[ 1203.660637] random: nonblocking pool is initialized
>>    # cat in_voltage1_vccaux_scale
>>    0.732421875
>>    # cat in_voltage3_vccpint_scale
>>    0.732421875
>
> the _scale values are supposed to be constant; their purpose is to scale a
> measurement so that the result is in a given unit
>
> e.g. in_temp0_scale scales in_temp0_raw so that the result
> (in_temp0_raw * in_temp0_scale) in milli Celsius
>
> in_voltage0_vccint_raw * in_voltage0_vccint_scale is supposed to give
> milli Volts
>
> so in_voltage0_vccint_raw should vary accross time / boards (and voltage
> hopefully :), but not the _scales

Yep, as Peter said scale and offset will be constant, raw should change 
though, e.g. both voltage and temperature should a slight jitter if you 
repeatedly read them. If not something is broken. We had the driver in our 
images for Zynq board for a while now and so far it worked fine. I think 
Mrinal and Radhey from Xilinx also tested the driver.

- Lars