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.

TAS2552SW-LINUX: Linux Asoc multiple codecs

Part Number: TAS2552SW-LINUX
Other Parts Discussed in Thread: TAS2552, TAS2557

Hi,

We've made a custom board with 2 tas2552 codecs which are connected to an i2s audio output. Just like the picture below.

I've already tried a single codec which is connected to the i2s output using the linux simple-card audio driver.  I've made a devicetree entry with the simple-card driver and one tas2552 codec which

is connected to an i2c port on adddress 0x40. This setup is working without any problems. I'm looking for somebody who can tell me how I get this setup with 2 codecs working.

As far as I understand it's not possible with the simple-card driver which connects the Ti codec driver to the i2s stream.

I think one should write a custom asoc machine driver. Or maybe the codec driver has to be changed. My asoc knowledge is very limited so I hope somebody can tell my how to proceed.

Kind regards,

Chris

  • Hi, Chris,

    Welcome to E2E and thank you for your interest in our products!

    In order to use two TAS2552 in a stereo configuration, you would need to configure one of them to receive left or right channel with the help of register 0x03, bits 4-3. One of the TAS2552 should receive the right channel data and the other one the left channel data. The rest of the configuration would be the same since they share the same I2S lines.

    You would only need to send the stereo data stream through the I2S lines.

    Do you have details about the TAS2552 configuration code?

    Best regards,
    Luis Fernando Rodríguez S.

  • Hi Luis,

    Thank you for your reply. I could indeed write the values from userspace to registers of both codecs to make it work. But what about for example the mute/unmute which is controlled by Alsa when the default driver is used. 

    There are many TI codecs which can be configured in this stereo configuration so I was wondering if it is possible to use the codec driver which is already available and make it work. 

    I don't have any asoc experience but from what I understand one has to write a machine driver to connect the i2s dai to the codecs. Is it possible to do it this way? I see many example machine drivers. But they all are just one stereo codec or multiple cpu dais to multiple codecs which is not the same situation.

    Kind regards,

    Chris

  • Hi, Chris,

    Unfortunately, we don't have enough experience on the asoc drivers. But if you provide the registers code, we could orientate you with the TAS2557 configuration.

    I think you could get more information on the asoc drivers on this forum:

    https://e2e.ti.com/support/processors/f/791

    Best regards,
    Luis Fernando Rodríguez S.