We are developing a carrier board for a IMX8m Nano SOM. The carrier board features an FPGA that supplies audio clocks to the Nano and receives TDM8 over multiple data lines from a number of SAI interfaces. These data lines are subsequently routed to DSP chips for channel extraction and processing.
We have tried a number of device tree configurations to try and support multi lane SAI with no success. We have no codecs as such due to the FPGA routing the data and are using the linux,spdif-dit and simple-audio-card drivers to attempt to achieve the required functionality.
Following many different forum threads and examples from the binding files, we are still unable to support multi lane data using the above drivers. We have tried with multiple dai links, cpus and codecs and varying combinations with no sucess. A single dai link with single cpu and codec works without issues in 5.4.47 linux imx. Following the examples for multi dai links from the binding file results in a successful device tree build, but a parse error on boot for that specific sound device.
My questions is, is this even possible. Has anyone else achieved a similar configuration with the simple-audio-card and if so would they be willing to share their device tree? Many examples we have seen use other cards and drivers that we are not able to use as we have no i2c or spi controlled codecs, so we are using the linux,spdif-dit as essentially a dummy codec.
It is looking like we might have to develop our own driver here, which we would like to avoid.
Any advice or help would be greatly appreciated.
There is no way to make the multi-lane SAI configuration work with the simple-
audio-card driver only. To make it work, a custom driver development seems to be
required anyway.
Best Regards,
Artur