Re: [PATCH 2/2] Documentation: ABI: add oversampling frequency in sysfs-bus-iio
From: David Lechner
Date: Sun Mar 30 2025 - 13:34:57 EST
On 3/30/25 12:13 PM, Jonathan Cameron wrote:
> On Fri, 21 Mar 2025 15:50:02 +0100
> Jorge Marques <jorge.marques@xxxxxxxxxx> wrote:
>
>> Some devices have an internal clock used to space out the conversion
>> trigger for the oversampling filter,
>> Consider an ADC with conversion and data ready pins topology:
>>
>> Sampling trigger | | | | |
>> ADC conversion ++++ ++++ ++++ ++++ ++++
>> ADC data ready * * * * *
>>
>> With the oversampling frequency, conversions can be evenly space between
>> the sampling edge:
>
> I'm not sure what this second example is providing. Are you suggesting
> that if we don't provide oversampling frequency we should assume this
> pattern? i.e. it is the default?
>
>>
>> Sampling trigger | | | | |
>> ADC conversion + + + + + + + + + + + + + + + + + + + +
>> ADC data ready * * * * *
>>
> In general this patch needs to go in with the first driver using it.
> I don't think we have any such driver yet?
>
>> Signed-off-by: Jorge Marques <jorge.marques@xxxxxxxxxx>
>> ---
>> Documentation/ABI/testing/sysfs-bus-iio | 17 +++++++++++++++++
>> 1 file changed, 17 insertions(+)
>>
>> diff --git a/Documentation/ABI/testing/sysfs-bus-iio b/Documentation/ABI/testing/sysfs-bus-iio
>> index 33c09c4ac60a4feec82308461643134f5ba84b66..2317bacf6a2884691a08725d6f01d18555a96227 100644
>> --- a/Documentation/ABI/testing/sysfs-bus-iio
>> +++ b/Documentation/ABI/testing/sysfs-bus-iio
>> @@ -139,6 +139,23 @@ Contact: linux-iio@xxxxxxxxxxxxxxx
>> Description:
>> Hardware dependent values supported by the oversampling filter.
>>
>> +What: /sys/bus/iio/devices/iio:deviceX/oversampling_frequency
>> +KernelVersion: 6.15
>> +Contact: linux-iio@xxxxxxxxxxxxxxx
>> +Description:
>> + Some devices have internal clocks for the ADC oversampling.
> I wonder if we can hint at your diagram above?
> Maybe
> Some devices have internal clocks for the ADC oversampling allowing
> the over samples to be bunched up, rather than evenly spread over the
> period set by the sampling frequency.
>
>> + Sets the resulting sampling frequency to trigger a conversion
>> + used by the oversampling filter.
>> + Can be used to evenly space conversion between the sampling edge
>> + on some devices.
> I'd skip this last line, or maybe say something like:
>
> If not provided, the default assumption is that the oversamples
> are evenly spread over the period of the sample.
Does that mean we should go through existing drivers and add this new
attribute if appropriate? For example, ad7380 comes to mind. It has a
fixed-rate internal clock for oversampling, so would have a read-only
oversampling_frequency attribute.
>
>> +
>> +What: /sys/bus/iio/devices/iio:deviceX/oversampling_frequency_available
>> +KernelVersion: 6.15
>> +Contact: linux-iio@xxxxxxxxxxxxxxx
>> +Description:
>> + Hardware dependent values supported by the oversampling
>> + frequency.
>> +
>> What: /sys/bus/iio/devices/iio:deviceX/in_voltageY_raw
>> What: /sys/bus/iio/devices/iio:deviceX/in_voltageY_supply_raw
>> What: /sys/bus/iio/devices/iio:deviceX/in_voltageY_i_raw
>>
>