We are currently using the ADIS16490 as an input device to the Jetson TX2, which runs a flavor of Ubuntu Linux. We are accessing the SPI bus using the default SPI driver that comes with the Jetson. However, we would like to migrate to using the Analog devices driver, so we can take advantage of the data ready line. After looking through the ADIS16480.c driver, reading everything we can find on the Analog devices website, and searching for open source projects that might help, we still have a few questions. Hope you can help.
Our gyro's DIO lines are all connected to Jetson GPIOs. How do we let the device driver know what GPIO number to monitor for the data ready interrupt? Is that done in the device tree through the interrupt-parent entry or some other way?
Our application is written in c and C++. It would be convenient if we could just post a blocking read to the data ready gpio, with the read returning on the interrupt. Once the interrupt read returns, then we do a normal SPI transfer. Is that the way the driver operates or is there some other mechanism?
In the device tree, do we set the appropriate SPI device to be compatible with adis16480 (device driver name) or adis16490 (actual part we use)?
Can we continue to use a SPI ioctl transfer to read from the device? We currently have this set up to read all three gyro positions one right after the other and would like to maintain that approach for speed and synchronization.
Thanks for your help!