twx-linux/include/linux/iio
Nuno Sa c66eabcc1c iio: backend: add API for interface tuning
This is in preparation for supporting interface tuning in one for the
devices using the axi-adc backend. The new added interfaces are all
needed for that calibration:

 * iio_backend_test_pattern_set();
 * iio_backend_chan_status();
 * iio_backend_iodelay_set();
 * iio_backend_data_sample_trigger().

Interface tuning is the process of going through a set of known points
(typically by the frontend), change some clk or data delays (or both)
and send/receive some known signal (so called test patterns in this
change). The receiving end (either frontend or the backend) is
responsible for validating the signal and see if it's good or not. The
goal for all of this is to come up with ideal delays at the data
interface level so we can have a proper, more reliable data transfer.

Also note that for some devices we can change the sampling rate
(which typically means changing some reference clock) and that can
affect the data interface. In that case, it's import to run the tuning
algorithm again as the values we had before may no longer be the best (or
even valid) ones.

Signed-off-by: Nuno Sa <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20240426-ad9467-new-features-v2-2-6361fc3ba1cc@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2024-04-29 20:53:26 +01:00
..
accel
adc iio: adc: ad_sigma_delta: Add optional irq selection 2024-03-25 20:10:11 +00:00
afe
common iio: commom: st_sensors: ensure proper DMA alignment 2024-02-04 15:01:14 +00:00
dac
frequency
gyro
imu iio: imu: adis: ensure proper DMA alignment 2024-01-22 18:59:07 +00:00
timer
backend.h iio: backend: add API for interface tuning 2024-04-29 20:53:26 +01:00
buffer_impl.h iio: Don't silently expect attribute types 2022-11-23 19:44:04 +00:00
buffer-dma.h iio: buffer-dma: Enable buffer write support 2024-04-20 15:36:41 +01:00
buffer-dmaengine.h iio: buffer-dmaengine: Support specifying buffer direction 2024-04-20 15:41:14 +01:00
buffer.h
configfs.h
consumer.h iio: inkern: Add a helper to query an available minimum raw value 2023-07-09 22:48:17 +01:00
driver.h
events.h
hw-consumer.h
iio-gts-helper.h iio: fix doc for iio_gts_find_sel_by_int_time 2023-05-13 17:54:57 +01:00
iio-opaque.h iio: core: move 'mlock' to 'struct iio_dev_opaque' 2022-11-23 19:44:00 +00:00
iio.h iio: core: Add iio_read_acpi_mount_matrix() helper function 2024-04-29 20:53:25 +01:00
kfifo_buf.h iio: Don't silently expect attribute types 2022-11-23 19:44:04 +00:00
machine.h
sw_device.h iio: Remove unused declarations 2023-09-12 10:42:03 +01:00
sw_trigger.h iio: Remove unused declarations 2023-09-12 10:42:03 +01:00
sysfs.h iio: Add IIO_STATIC_CONST_DEVICE_ATTR 2022-11-23 19:44:03 +00:00
trigger_consumer.h
trigger.h iio: trigger: Add simple trigger_validation helper 2023-05-23 21:20:17 +01:00
triggered_buffer.h iio: Don't silently expect attribute types 2022-11-23 19:44:04 +00:00
triggered_event.h
types.h iio: core: introduce trough info element for minimum values 2023-12-11 19:37:10 +00:00