Continuing off of this: I2S output without Codec
I was able to have I2S input without codec by adding this line to the device tree:
<MX8MP_IOMUXC_SAI1_RXD0__AUDIOMIX_SAI1_RX_DATA00 0x1d6>, /* SODIMM 36 */
I have a device that outputs audio stream via I2S, so there’s no codec, hence the dummy codec in the link above. This device outputs 3V3, and our Verdin iMX8MP uses 1V8, so we had to use the level shifter to step the 3V3 lines down to 1V8 into our Verdin module.
I am using Verdin Development Board.
When I play audio from the verdin module into the device, it is working as expected. However, when I record audio from the device (as in, the device is playing audio), the file comes up silence.
I put in the oscilloscope on the pin 36 (RX line), and saw that there is activity, however it is too small to be triggered as HIGH, so the recording is always silence. See picture, where the voltage at the RX line range between 0V and 0.85V (and never touching the 1.8V).
If we remove the RX line, the line jumps to above 1.8V (so the oscilloscope is reading what is coming from the device via level shifter).
I’ve applied a random 1.8V input into the RX line and it shows that it recorded that in the .wav file. So we know the capture is working. I just don’t know why the input signal is too low, perhaps the device tree is not configured correctly?
Any ideas?
I’ve also seen this: I2S Voltage levels for Verdin iMX8MP however the issue is not the scope as I can confirm this from the recordings.