This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
I am also trying to do the same interfacing i.e Dmic1/2 + PCM1865 but on linux. I have build rootfs with pcm1863 driver. How can I configure ALSA so that I can record raw data from Dmic. Also do i need to do some changes in asound.conf. Any help will be appreciated !
Before supporting your thread, kindly offer more project infomation to me, such as
Thanks for you response.
kernel version -
hardware platform -
where you download the driver code - From official TI Page - https://www.ti.com/tool/PCM186X-DRIVERS
arecord -l -
Here the wm8904 is the internal som codec. where the dacplusadcpro is the custom overlay for PCM186X codec. I do able to record the audio data from ADC channels of PCM using arecord and its working fine.
For FYI. Please find the list of drivers installed in SOM below. PCM186X drivers are also installed.
I'll check internally. According to the code, it seemed no digital mic kcontrol. You will add it by yourself.
In order to reduce your workload to write the kcontrol, I suggest you use this code lpaa-android-drivers/pcmdevice-linux-driver - Unnamed repository; edit this file 'description' to name the repository. You won't write a new kcontrol. All the register setting are in the regbin file. What you do is to create a regbin file. Hope this can set your free and simplify your development.
Hi, I was trying to create regbin file using bin generator but there is no option for PCM186x codec. Can you please help on this?
Hi,
Regbin file User Guidance (ti.com), Page 10 in this ducoment, mentioned that any of them is fine, because the code will ignore this item
Hi , I have added kcontrols for dmic and it is working. Thanks for all your support.
But currently my dmic only works on ch1. If I try to switch it to ch2 using PCM186X_DPGA_MIC_CTRL (0x0a) register but it wont work. Basically ch2 is not working. My requirement is to get mix audio from dmic on ch2 and analog audio from adc on ch1. Please help me on this.
Thanks
you can add an extra config into regbin. before switching, pcm186x must power off
I am not using regbin. I have added kcontrols in pcm186x.c driver code. With power cycle, Still its not switching. am I missing anything ? Also Is it possible to get mix audio from dmic and analog input at same time ?
Can you please Try to set the gain mapping to manual mode. This sets the Digital PGA gain to unity, Please check if you see the digital data
Hi Sanjay,
I tried Manual Mapping. But to confirm my understanding, I want to run PCM1865 in 4 channel mode and for this, 2 bus i2s is required (DOUT and DOUT2). Am I correct ?
Thanks
I shall confirm on your question regarding 2 bus i2s.
was there any change when you enabled Manual Mapping?
No change. Let me explain my requirement. I have connected DMIC data and clock to (GPIO1 and GPIO2) and also reading analog in from (VIN1P-VIN1M) and (VIN2P-VIN2M). I have selection input for ADC1R as {VIN1P, VIN1M}[DIFF] and ADC1L as {VIN2P, VIN2M}[DIFF]. and want to use ADC2 for DMIC. ADC1 is working for both DMIC and analog input. But to get mix output from both source i.e (AIN and DMIC). my findings are 2 bus i2s(DOUT and DOUT2) is required for 4 channel ops. Also I dont know much about TDM. The SOM I am using supports multichannel I2S protocol. Please refer the attach hardware connection diagram for reference. Please correct me on this If I am wrong on my findings. Please confirm that using 2 bus I2s can we get mix output from ADC1 and ADC2.
There is a list of coefficiants , By writing to these coefficiants we can get a mix of signals that are routed to each DOUT
Your schematic connection where the 2 devices are slaves is OK