I’m trying to get i2s input working with the stock L4T R23.2 release:
$ uname -a
Linux tegra-ubuntu 3.10.67-g458d45c #1 SMP PREEMPT Mon Feb 8 17:44:18 PST 2016 aarch64 aarch64 aarch64 GNU/Linux
There do not appear to be any snd* modules in /lib/modules, and of course none are loaded. Before I go on a wild goose chase, has anyone gotten i2s to work on the tx1? What modules should I compile? There is a tegra soc driver in the ASoC project’s git repo, is that what I need?
I do not know what is required, but the information from modules is limited to features supported in module format. If you check “/proc/config.gz”, you’ll find that every feature supported by “y” (yes) exists but not a module.
and yet:
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Tegra [HDA NVIDIA Tegra], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
$ arecord -l
**** List of CAPTURE Hardware Devices ****
Note that DMIC is also not being shown. I also did look in the device tree with $ fdtdump /boot/dtb/tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb and although I’m not a DT expert, everything appears to be in order as far as i2s is concerned.
I believe the built-in audio processing engine ties the CODEC to the i2s…without the CODEC there is no i2s, as i2s is only a data pipe (neither a sound source nor a sound destination, it is a sound conduit for the CODEC). I have not read those docs in quite some time, but as I recall some of the sound settings cannot be changed dynamically as things run…there may be issues with changing the CODEC after i2s is up.
No codec is involved. I have a pair of I2S microphones. I want to capture what they feed into the Tegra and process the audio. It’s not going to be replayed on anything.
I’m trying to do the same thing and wondering whether anybody can share their experience. Basically I have I2S input so don’t need any codec but like to use build in APE so I can grab the pcm data from alsa level. Any pointer will be really helpful.