zcu106 TRD based I2S and Audio formatter not capturing audio data
I have based my Vivado 2020.1 design on an SDI-Rx VCU TRD and zcu106 BSP. I then added a 2 channel I2S Receiver and Audio formatter IP similar to the Audio TRD. I also used the audio DTB in the TRD as reference to configure my pipeline. I use a Cirrus Logic CS5368 Eight Channel A/D Converter IC. However I can only get Petalinux to register a xlnx-i2s sound card only if I add an I2S Transmitter IP(Which I do not need). I have had to add an I2S Tx to get the sound card registered in Petalinux. Please see this link :I2S Soundcard Issue . I would hope Xilinx can document or fix this.
Now my xlnx-I2S sound card is registered in petalinux but:
"arecord" command does not capture any audio data.
Only Gstreamer seems to capture audio when I convert ".raw" to ".wav" but the audio 50Hz test sine wave is truncated. Only S24_LE seems to be the allowed option of capture. Please see Petalinux userspace response and waveform capture attached. The audio ADC device generates 32 bit per channel with 24 bit being the data left justified.
I2S Rx IP as master generates LRCK of 36.06kHz instead of 48kHz. I have used MCLK clock of 18.43MHz as suggested here.
Is there any other DTB or Kernel configuration I need to make to get audio capture working with "arecord" and "gst" properly as well as generate 48kHz LRCK sample clock?. I have followed this Xilinx Confluence recommendation, yet no luck.
Please see boot logs attached for errors and capture commands.