Hello!
First of once you have updated the pinmux you need to check that the pins are not configured as gpio. See …
Secondly, you need to check the pinmux configuration for dap4 looks good. You should have something like …
$ sudo grep dap4 /sys/kernel/debug/tegra_pinctrl_reg
Bank: 1 Reg: 0x70003144 Val: 0x00000044 -> dap4_fs_pj4
Bank: 1 Reg: 0x70003148 Val: 0x00000054 -> dap4_din_pj5
Bank: 1 Reg: 0x7000314c Val: 0x00000004 -> dap4_dout_pj6
Bank: 1 Reg: 0x70003150 Val: 0x00000044 -> dap4_sclk_pj7
Please note that the most important bit settings in the above are …
- bit[0:1] = 0x0 (mode is i2s)
- bit[4] = 0 (output enable, not necessary for din)
- bit[6] = 1 (input enable, not necessary for dout)
Then reset the mixer controls …
$ alsactl init tegrasndt210ref
Verify that I2S4 is mapped to the ADMAIF1 …
$ amixer -c tegrasndt210ref sget "ADMAIF1 Mux"
$ amixer -c tegrasndt210ref sget "I2S4 Mux"
Then you should be able to record/play from I2S4 …
$ arecord -D hw:tegrasndt210ref,0 -c <channels> -r <srate> -f <sample-size> cap.wav
$ aplay -D hw:tegrasndt210ref,0 cap.wav
I assume that the raspiaudio mic+ DAC/ADC does not require any configuration? In other words, there is no control interface (I2C/SPI) used to configure it?
Regards,
Jon