Sorry, I am making too many assumptions here. For this to work, you need access to the serial console via one of the headers on the Jetson Nano [0]. I realise that you do not have access and so this is not going to work for you. Please note what I am suggesting is very much a workaround and it is not intended that people need to going through all these pains just to setup some pins.
It is disappointing that we have still not released the pinmux spreadsheet that is required to do this. I have shared your commentary on this to let the appropriate people know that is not satisfactory and needs to be fixed ASAP.
Jon, I have been attempting to get the ics43434 mems mic to work but no luck. The mic works on the a raspberry pi. So I know that and the pins are correct. On the Nano I get the error: “arecord: pcm_read:2103: read error: Input/output error”.
Would Nvidia buy this Nano back from me for half price? Never mind, I got rid of it. I’ll be back in a few years to see if you really followed through with great documentation and something that is easily expandable. See you in 2030.
Sorry, I missed this question. Yes if you flash the DTB, then the pins will remain configured as SFIO on every boot. That is the intended method. The method I had suggested was a temporary means for testing.
Yes you would follow the same steps. The above connections look good and so probably just a matter of setting the default pin configuration. Alternatively to what I posted previous, someone else has shared some information on how to enable I2S on the Jetson Nano here …
I2S signaling is always 2 channels even if the mic you have connected is mono. We can get the I2S interface to convert the 2 channels recorded into a single mono stream, but I am curious if you record 2 channels if you hear audio on one of the channels or not.
So we’ve used an oscilloscope to see if the BCLK, LRCL and DOUT are driven. I’ve compared the outputs of Jetson (where the mic still does not work…) to Raspberry Pi where the same microphone works well. Here are the outputs for both:
That is strange that you do not see the signal toggling. The I2S interface has been verified and it is known to be working fine on the L4T release 32.1. Other users have had this working fine. Please note that if you configure the I2S pins via the U-Boot command line, you need to do this every you reboot or power-on the board. Those pin settings will be reset everytime the board is shutdown. As mentioned in comment #36, another user had posted an updated DTB that can be flashed so you do not need to reconfigure the pinmux on every boot.
Can you send the output from the following command so that I can see what board version you have?
dmesg | grep DTS
Can you send the output from the following command …