I'm using TLV320DAC3203 now.
But, I can't find linux driver for this device.
Would you share the linux driver?
Thanks.
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'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