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.

Share the linux driver for TLV320DAC3203 with me

Other Parts Discussed in Thread: TLV320DAC3203

I'm using TLV320DAC3203 now.

But, I can't find linux driver for this device.

Would you share the linux driver?

Thanks.

  • Hi Jake,

    The best  course for a design using the DAC3203  on a Linux based system  is to use the opensource driver already available  in any recent Linux kernel.  Please look for  sound/soc/codecs/tlv320aic32x4.c.   While it was originally designed for AIC3204, this driver can support all the features available on the DAC3203 as well.

    Regards,

    hari

  • Hi,

    anyone have success using sound/soc/codecs/tlv320aic32x4.c driver with TLV320DAC3203 codec ?

    In my application, after first inizializzations, the codec put SDA Low and block the bus. Only codec hw reset, unlock the bus.

    [    1.332946] tlv320aic32x4 2-0018: probe I2C DONE
    [    1.338500] Audio: davinci-evm.c - evm_init
    [    1.343261] tlv320aic32x4 2-0018: aic32x4_probe
    [    1.348388] tlv320aic32x4 2-0018: aic32x4_write: Reg[0x01 - 0x01]=0x01
    [    1.355529] tlv320aic32x4 2-0018: aic32x4_change_page: Pag=0x01
    [    1.362030] tlv320aic32x4 2-0018: aic32x4_write: Reg[0x81 - 0x01]=0x08
    [    1.369171] tlv320aic32x4 2-0018: aic32x4_write: Reg[0x82 - 0x02]=0x01
    [    1.376403] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x8A]=0x00
    [    1.382812] tlv320aic32x4 2-0018: aic32x4_write: Reg[0x8A - 0x0A]=0x03
    [    1.389953] tlv320aic32x4 2-0018: aic32x4_change_page: Pag=0x00
    [    1.396453] tlv320aic32x4 2-0018: aic32x4_write: Reg[0x3F - 0x3F]=0x14
    [    1.403259] tlv320aic32x4 2-0018: aic32x4_set_bias_level
    [    1.408843] tlv320aic32x4 2-0018: aic32x4_add_widgets
    [    1.414459] tlv320aic32x4 2-0018: aic32x4_change_page: Pag=0x01
    [    1.421081] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x8C]=0x00
    [    1.427612] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x8C]=0x00
    [    1.434173] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x8D]=0x00
    [    1.440673] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x8D]=0x00
    [    1.447265] tlv320aic32x4 2-0018: aic32x4_read: Reg[0xB3]=0x00
    [    1.453918] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x89]=0x00
    [    1.460357] tlv320aic32x4 2-0018: aic32x4_change_page: Pag=0x00
    [    1.466979] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x3F]=0x14
    [    1.473388] tlv320aic32x4 2-0018: aic32x4_change_page: Pag=0x01
    [    1.480010] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x89]=0x00
    [    1.487213] tlv320aic32x4 2-0018: aic32x4_change_page: Pag=0x00
    [    1.495635] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x3F]=0x14
    [    1.502563] asoc: tlv320aic32x4-hifi <-> davinci-mcasp.0 mapping ok
    .............. CUT .......................

    [    6.707489] VFS: Mounted root (nfs filesystem) on device 0:13.
    [    6.713897] Freeing init memory: 216K
    [    7.982971] init: portmap-wait (statd) main process (649) killed by TERM signal
    [    8.429718] init: statd-mounting main process (639) killed by TERM signal
    [   11.155853] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x41]=ERROR n=-121
    [   11.164703] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x41]=ERROR n=-121
    [   11.274169] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x41]=ERROR n=-121
    [   11.286560] tlv320aic32x4 2-0018: aic32x4_change_page: Pag=0x01 <- ERROR
    [   11.293640] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x90]=ERROR n=-121
    [   11.572845] tlv320aic32x4 2-0018: aic32x4_change_page: Pag=0x01 <- ERROR
    [   11.579986] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x90]=ERROR n=-121
    [   11.602569] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x40]=ERROR n=-121
    [   11.716430] tlv320aic32x4 2-0018: aic32x4_change_page: Pag=0x01 <- ERROR
    [   11.723602] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x8D]=ERROR n=-121
    [   11.777130] tlv320aic32x4 2-0018: aic32x4_change_page: Pag=0x01 <- ERROR
    [   11.784271] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x8D]=ERROR n=-121
    [   11.796936] tlv320aic32x4 2-0018: aic32x4_change_page: Pag=0x01 <- ERROR
    [   11.803985] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x8D]=ERROR n=-121
    [   11.810821] HPR Output Mixer DAPM update failed: -121
    [   11.954315] tlv320aic32x4 2-0018: aic32x4_change_page: Pag=0x01 <- ERROR
    [   11.961456] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x8C]=ERROR n=-121
    [   11.970886] tlv320aic32x4 2-0018: aic32x4_change_page: Pag=0x01 <- ERROR
    [   11.977935] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x8C]=ERROR n=-121
    [   12.121002] tlv320aic32x4 2-0018: aic32x4_change_page: Pag=0x01 <- ERROR
    [   12.128051] tlv320aic32x4 2-0018: aic32x4_read: Reg[0x8C]=ERROR n=-121
    [   12.134857] HPL Output Mixer DAPM update failed: -121

    Thanks Paolo