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.

omap4460 blaze_tablet with audio code (wm8960)

Other Parts Discussed in Thread: TWL6040, 4460

Hi,

I am working on audio of blaze_tablet, and we are using wm8960(attached to I2C 4) instead of Ti chipset.

I enable the code by blaze_defconfig and register the client by "i2c_register_board_info" in board-44xx-tablet.c. Then the wm8960 probe called, but there is no sound card in the alsa list.

Did I miss anything?

Are there any clue to bring up un-TI codec?

Thanks

  • Hi,

    You are just creating the device to use that address in i2c, but also you need the driver that is going to use the i2c to write/read to/from the i2c. Are you compiling the audio driver that is going to do that?

    You can do that by adding CONFIG_SND_SOC_WM8960 to your defconfig file.

  • Hello ICe,

    Yes, I enabled CONFIG_SND_SOC_WM8960 in blaze_defconfig, actually enable CONFIG_SND_SOC_ALL_CODECS which will enable all of the codec include wm8960.

    Then the wm8960_i2c_probe called, but there is still no alsa sound card.

    Then anything else should I do to " use the i2c to write/read to/from the i2c"?

    Thanks

  • That's because you are not creating a new sound card, it is only the codec, here your sound card is ABE then from there you send the audio to be render in the codec.

    ie, yoou don't see any card for twl6040 that is the default audio chip, it is connected by i2c to write to the registers but the data is sent by PDM port. So in your case you can do the same by i2c and send the data by i2s using one McBSP port, that would be an option, but your card would be always the ABE.

    For more information take a look to the driver architecture: http://omappedia.org/wiki/Audio_Drive_Arch

  • Hi ICe,

    Yes, I disabled twl6040 from defconfig.

    Then how can I create the sound card? From the software side?

    I believe the hardware is ready, because we do as we did on Marvell platform.

    Anyway, I will look into the architecture.

    Thanks

  • Hi ICe,

    Just reviewed the architecture, it is for twl6040, right?

    Then the arch should be ABE+SDP4430+Phonex . Phonex is the twl6040, then what is the SDP4430.

    In my case, it will be ABE+wm8960, right? Shall I add SDP4430?

    Again, how can I create the sound card, please give me the clue.

    Thanks 

  • Hi,

    Yes, you might have to disable TWL6040 if you are not going to use it.

    The architecture should be SDP4430 + ABE + WM8960, where SDP4430 is your sound card, ABE is the module for mixing, muxing, access to ports (McBSP, McASP, McPDM, etc), and WM8960 your codec.

    You can look how a sound card is created in sound/soc/omap/sdp4430.c, take that as base or use that card to connect your codec, basically you have to create a Front End port that goes to the physical port (McBSP ie) that you are going to use for data transfer to your codec, define capabilities like rate, bits, etc, and the functions to configure the physical port.

  • Hi ICe,

    Thanks for the info, I will have a try and keep you updated.

    Thanks

  • Hi ICe,

    The code of "sound/soc/omap/adp4430.c" stick to twl6040.

    Do I have to replace all of the twl6040 implement to wm8960?

    Or are there any other way to implement the audio in 4460? E.g. the legacy mode, alsa+wm8960, instead of SDP4430 + ABE + WM8960.

    Thanks

  • Hi Xiao,

    The code in sdp4430 is the default sound card and make some calls to twl604o that is the default codec, but when defining your Front End ports or editing the already existing you can connect to your codec by using the codec-dai, ie dmics and bluetooth are not in the twl6040 chip and there are connected.