Re: [PATCH 1/4] iio: mxs-lradc: change the realbits to 12

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07/05/2013 04:35 PM, Hector Palacios wrote:
> On 07/05/2013 03:10 PM, Marek Vasut wrote:
>> Dear Hector Palacios,
>>
>>> Dear Marek,
>>>
>>> On 07/05/2013 01:37 PM, Marek Vasut wrote:
>>>> Dear Hector Palacios,
>>>>
>>>>> The LRADC virtual channels have an 18 bit field to store the sum of up
>>>>> to 2^5 accumulated samples. The read_raw function however only operates
>>>>> over a single sample (12 bit resolution).
>>>>> In order to use this field for scaling operations, we need it to be the
>>>>> exact resolution value of the LRADC.
>>>>
>>>> How would this work once the accumulation is supported?
>>>
>>> As I see it, when you read a channel the driver should give you the 12-bit
>>> value either of one single sample or of N samples.
>>
>> The hardware will always give you 18 bit value, let's call it A of N accumulated
>> samples, each 12 bit long. N is in range of 1 to 32 .
>>
>> The driver currently supports N = 1.
>>
>> Do I understand it correctly that if we want to support N > 1, we have to do the
>> division of A / N in the driver and therefore we will again report only a 12-bit
>> value to the userland ?
>>
>> If so,
>>
>> Acked-by: Marek Vasut <marex@xxxxxxx>
> 
> That's what I would expect. I mean, what is A worth for? It's just a sum, it
> tells nothing. The value that really carries information is A / N, which is the
> average value.
> 
> @Lars: is there any driver that allows to read N samples? Does the IIO
> subsystem supply such interface (i.e. a file called n_samples that you can
> program from userland to trigger a read of that N samples in order to get the
> average value when you read that channel)?

The ad7606 has the 'oversampling_ratio' attribute. On the other hand the ad7606
is not the best example either and this is a custom API. But well that's what
it is and since it's not the only device that supports oversampling we should
try and standardize a property name for this. The ad7606 does the averaging in
hardware though.

- Lars
--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux