Community
cancel
Showing results for 
Search instead for 
Did you mean: 
cchao6
New Contributor I
2,141 Views

how to change the "audio_codec=dummy"

Jump to solution

Hi,

Does anyone know how to change the "audio_codec = dummy"?

According Intel's audio setup guide, if I want to add a new ASOC machine driver, I need to change this setting.

I had change the aduio_codec="dummy" in the platform_mrfld_aduio.c and make a new image, but it seems is not working.

Does anyone know how to change it? Please tell me, thank you!

Regards,

Cer1991

1 Solution
cchao6
New Contributor I
116 Views

Dear all,

I have slove it. I need to do the below steps:

boot > setenv audio_codec_name audio_codec=tlv320adc3101

boot > saveenv

boot > boot

Now I can find "merr_dpcm_tlv320adc3101" device at /sys/bus/platform/devices

In future, I need to add asoc codec driver and machine driver and maybe tlv320adc3101 can be used.

Regards,

Cer1991

View solution in original post

5 Replies
Sergio_A_Intel
Employee
116 Views

Hi,

Have you already seen section 6 of http://www.intel.com/content/www/us/en/support/boards-and-kits/000005983.html http://www.intel.com/content/www/us/en/support/boards-and-kits/000005983.html ? This guide explains how to setup the codec. How are you trying to change it, are you following another guide?

What steps are you following to change the audio codec and make the new image? Do you see any errors in the build or is the final image not working as it should?

-Sergio

cchao6
New Contributor I
116 Views

Dear @Intel_Alvarado,

Yes, I have seen it. I have read the Edison's source code and I think I already know how the sst audio works. So I try to add a new codec(tlv320adc3101) to edison.

I want to use 'sst-platfrom' device as the asoc platform device, use 'tlv320adc3101-codec' as the asoc codec device and add a new asoc machine driver to edison.

But at first setup I need to change "dummy" codec to "tlv320adc3101".

In 'platform_mrfld_audio.c' code, I have add some new information like as below:

/*

* To add a new codec, add a "else if" statement with

* its name and its specific implementation.

*/

else if (!strcmp(audio_codec, "tlv320adc3101")) {

pdev = platform_device_register_simple("tlv320adc3101",

0, NULL, 0);

if (!pdev) {

pr_err("failed to register merr_dpcm_dummy platform device\n");

return NULL;

}

}

static char* audio_codec = "tlv320adc3101";

Then I make a new image , but it seems does not work becuase under '/sys/bus/platform/devices' there is no 'tlv320adc3101' device.

In the audio setup guide, it says I could change " "audio_codec=dummy". Set it to "wm8958" if you have a wm8958 codec ",so I think if I want to use a new codec, I also need to change it to audio_codec = tlv320adc3101. But I do not know how to set it.

Thank you.

Regards,

Cer1991

cchao6
New Contributor I
117 Views

Dear all,

I have slove it. I need to do the below steps:

boot > setenv audio_codec_name audio_codec=tlv320adc3101

boot > saveenv

boot > boot

Now I can find "merr_dpcm_tlv320adc3101" device at /sys/bus/platform/devices

In future, I need to add asoc codec driver and machine driver and maybe tlv320adc3101 can be used.

Regards,

Cer1991

View solution in original post

FAru
Beginner
116 Views

Hi all,

I need to record audio using INMP441 I2S microphone.

From my understanding I have to add:

- the machine driver, based on merr_dpcm_dummy.c

- the codec driver, based on platform_mrfld_audio.c

Probably the last one is only additional code as per Cer1991 example.

Then the u-boot environment has to be set accordingly.

Is my understanding correct?

Do I have to add other platform drivers (I see platform_wm8994.c)?

Regards,

Francesco

idata
Community Manager
116 Views

Hi francescoaru,

 

 

I'd suggest you to take a look at /thread/76515 https://communities.intel.com/thread/76515 and /thread/75433 https://communities.intel.com/thread/75433 . These threads contain lots of information about I2S configuration on the Edison as well as guides you might find useful. I haven't tried to use I2S using a INMP441 so it'd be better if you also post your question in the previous link to see if other users can provide assistance as well.

 

 

-Sergio

 

Reply