I am working on a custom board based on i.MX7d. The hardware uses SAI (Synchronous Audio Interface) Port 1 of i.MX7d for playback and recording use cases. The required system configuration is: SoC should act as I2S master for TX part, and slave for RX part. However, I could not figure out a clean way to instruct CPU dai driver (sound/soc/fsl/fsl_sai.c) about different roles for TX and RX of a same DAI. The .set_fmt DAI op configures the TX and RX registers in the same manner. In order to achieve the required configuration (TX master, RX slave), I added a device tree property (i.e. "fsl,sai-is-rx-slave") and based on that make necessary changes in .set_fmt DAI operation. Attached is the patch for the same. Is this the right way to go? Any suggestions would be helpful.
I have also asked the same question on the alsa-dev mailing list, but so far have not received any response.
Thanks in advance,
Original Attachment has been moved to: 0001-fsl_sai-Adjust-SAI-RX-configuration.patch.zip