Add external sound card TLV320AIC3101 in Raspberry Pi 3

Hello everyone

I am working on the TLV320AIC3101 audio module.
I saw that the driver of this IC is available in Raspberry Pi3 kernel.
But I do not know how to add this IC to the kernel as a new sound card.
This IC is an audio codec with I2C control interface and I have to work with it in Raspberry Pi.

I want to record and play audio with IC TLV320AIC31xx in Raspberry Pi
I can now read the addresses and registers of this IC with the i2cdetect command

pls guide me

hello,

did you try to find your sound card with alsamixer ?

sudo apt install alsa-utils

Hello dear
No.
I can not see my sound card in alsamixer.
I need to add a new sound card (TLV320AIC31xx) to alsamixer.
Do you know how I should do this?

did you install alsa-firmware ?

can you give the brand and the model that embeds the TLV320AIC3101

more info :
https://www.alsa-project.org/wiki/Main_Page

Thanks for the reply dear

Yes
I checked with the command: aplay --version And the answer: aplay: version 1.2.4 by Jaroslav Kysela perex@perex.cz
1- I use Texas Instruments codec IC in follow link
https://www.ti.com/product/TLV320AIC3101
2- You can see the TLV320AIC3101 source code in the Linux kernel in the link below

This is my problem
I do not know how to introduce TLV320AIC31 to ALSA

first you have to find the right .ko file according to the kernel version
otherwise you will have to compile the module.
then add in /etc/modules (without the .ko)
I found in buster and in bulleyes a module for my kernel
in bulleyes :
uname -a
Linux router 5.10.103-v7l+ #1530 SMP Tue Mar 8 13:05:01 GMT 2022 armv7l GNU/Linux

/usr/lib/modules/5.10.103-v7l+/kernel/sound/soc/codecs/snd-soc-tlv320aic32x4-i2c.ko

maybe a chance that it works with your TLV320AIC3101 !

I found the snd-soc-tlv320aic32x4-i2c.ko file
Now add the name snd-soc-tlv320aic32x4-i2c to the /etc/modules file?
right?

Please guide me in adding TLV320AIC31xx module to Raspberry Pi.

Because when I see the blue window with the make menuconfig command
I can find the module I need through /device deriver / sound card support/ advanced linux sound architecture/ alsa for soc audio support/ codec drivers/ texas instruments TLV320AIC31xx codecs

Okay
Now I do not know how to add or install this module on my Linux. :man_facepalming:

first you can do a modprobe of the module :
modprobe snd-soc-tlv320aic32x4-i2c
and if you find the new soundcard in alsamixer you can add a line with snd-soc-tlv320aic32x4-i2c to /etc/modules

I am using the modprobe snd-soc-tlv320aic32x4-i2c command
I found tlv320aic32x4-i2c, but by adding snd-soc-tlv320aic32x4-i2c I did not get the result.

I’m afraid the last chance is compiling the modules
snd-soc-tlv320aic3x and or snd-soc-tlv320aic3x-i2c
this doc allows you to do it: Raspberry Pi Documentation - The Linux kernel
the problem is that the kernel is in 5.15.33 and that of the bulleyes is in 5.15.32 …
can be a solution here:
https://github.com/RPi-Distro/rpi-source

Thank you dear
I will test and inform you of the result