I am still trying to understand how IIO interacts with the axi-spi-engine platform driver and the ad738x SPI device driver after reading the SPI Engine overview on the Wiki.
The AD738x dual ADC driver at https://github.com/analogdevicesinc/linux/blob/master/drivers/iio/adc/ad738x.c configures the AD738x for 1-wire mode in ad738x_probe(). For my application I would like to configure the device to read conversions in 2-wire mode, and I'm trying to understand what changes are necessary to this driver, as well as the axi-spi-engine, offload, and spi execution HDL components.
If I instead run the AD7380 in 1-wire mode, is it correct that I need to configure the axi-spi-engine, offload, and spi execution components for 1 MISO line? I currently have them configured with 2 MISO lines.
I read here that the AD7380 driver is not written for support of the offload engine. What needs to be added to support this? I thought that the offload engine just queues up messages for the execution engine. Or was that thread referring to DMA offload rather than the offload HDL component?
Note: I am currently running the 5.4 linux-xlnx kernel 2020.1, and I have enabled support for the axi-spi-engine and dmac in the kernel. The ad738x.c driver code is from the master branch.
[edited by: ddickerhoof at 12:26 PM (GMT -5) on 18 Jan 2023]