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.

Linux/TLV320AIC3206: DAC start-up and turn-down pop

Part Number: TLV320AIC3206
Other Parts Discussed in Thread: AM3352

Tool/software: Linux

Hi ,

We use AM3352 with AIC3206 codec. And main application is headphone output with Ground-Centered configuration.

But we get pop at DAC turn on/off. Is that normal ?

following is codec configuration step: 

driver initialize
[ 0.680755] aic32x6_write: reg:01 val:01
[ 0.682281] aic32x6_change_page: new_page:01
[ 0.689422] aic32x6_write: reg:01 val:08
[ 0.699401] aic32x6_write: reg:02 val:00
[ 0.699768] aic32x6_write: reg:7B val:01
[ 0.700134] aic32x6_write: reg:7C val:06
[ 0.700500] aic32x6_write: reg:0A val:00
[ 0.700866] aic32x6_write: reg:03 val:00
[ 0.701202] aic32x6_write: reg:04 val:00
[ 0.701568] aic32x6_change_page: new_page:00
[ 0.701934] aic32x6_write: reg:3F val:14
[ 0.702606] aic32x6_change_page: new_page:01
[ 0.709197] aic32x6_change_page: new_page:00
[ 0.710723] aic32x6_change_page: new_page:01
[ 0.712127] aic32x6_change_page: new_page:00
[ 0.712951] aic32x6_change_page: new_page:01
[ 0.714355] aic32x6_change_page: new_page:00

device open and playback:
[ 12.707763] aic32x6_change_page: new_page:01
[ 12.709228] aic32x6_change_page: new_page:00
[ 12.733154] aic32x6_change_page: new_page:01
[ 12.752410] aic32x6_write: reg:0C val:08
[ 12.826812] aic32x6_change_page: new_page:00
[ 12.833160] aic32x6_change_page: new_page:01
[ 12.834594] aic32x6_change_page: new_page:00
[ 12.858337] aic32x6_change_page: new_page:01
[ 12.876190] aic32x6_write: reg:0D val:08
[ 12.948303] aic32x6_change_page: new_page:00
[ 12.962493] aic32x6_change_page: new_page:01
[ 12.963958] aic32x6_change_page: new_page:00
[ 12.987609] aic32x6_change_page: new_page:01
[ 13.006347] aic32x6_write: reg:10 val:00
[ 13.009155] aic32x6_write: reg:11 val:00
[ 13.086578] aic32x6_change_page: new_page:00
[ 13.088531] aic32x6_change_page: new_page:01
[ 13.090057] aic32x6_change_page: new_page:00
[ 13.114257] aic32x6_change_page: new_page:01
[ 13.228363] <6>:aic32x6_set_dai_fmt Enter
[ 13.228393] aic32x6_change_page: new_page:00
[ 13.230346] aic32x6_write: reg:1B val:4C
[ 13.230712] aic32x6_write: reg:1C val:00
[ 13.231903] aic32x6_write: reg:1D val:08
[ 13.232391] aic32x6_hw_params: Enter rate:44100 i:14
[ 13.232421] aic32x6_write: reg:04 val:03
[ 13.232818] aic32x6_write: reg:1D val:01
[ 13.233642] aic32x6_write: reg:05 val:21
[ 13.234008] aic32x6_write: reg:06 val:07
[ 13.234375] aic32x6_write: reg:07 val:14
[ 13.234771] aic32x6_write: reg:08 val:90
[ 13.235595] aic32x6_write: reg:0B val:08
[ 13.236419] aic32x6_write: reg:0C val:02
[ 13.236785] aic32x6_write: reg:0D val:00
[ 13.237152] aic32x6_write: reg:0E val:80
[ 13.238006] aic32x6_write: reg:12 val:08
[ 13.238830] aic32x6_write: reg:13 val:04
[ 13.239196] aic32x6_write: reg:14 val:40
[ 13.240051] aic32x6_write: reg:1E val:04
[ 13.240875] aic32x6_write: reg:1B val:4C
[ 13.244873] aic32x6_write: reg:3C val:01
[ 13.245758] aic32x6_write: reg:3D val:01
[ 13.246124] aic32x6_change_page: new_page:01
[ 13.246490] aic32x6_write: reg:14 val:F2
[ 13.246856] aic32x6_write: reg:01 val:0A
[ 13.247222] aic32x6_change_page: new_page:00
[ 13.248077] aic32x6_write: reg:3F val:15
[ 13.248443] aic32x6_change_page: new_page:01
[ 13.248809] aic32x6_write: reg:7D val:13
[ 13.249877] aic32x6_change_page: new_page:00
[ 13.250793] aic32x6_write: reg:3F val:D5
[ 13.253601] aic32x6_change_page: new_page:01
[ 13.254455] aic32x6_write: reg:09 val:30
[ 13.254943] aic32x6_change_page: new_page:00
[ 13.255828] aic32x6_write: reg:05 val:A1
[ 13.256652] aic32x6_write: reg:0B val:88
[ 13.257476] aic32x6_write: reg:0C val:82
[ 13.258300] aic32x6_write: reg:12 val:88
[ 13.259155] aic32x6_write: reg:13 val:84
[ 13.259979] aic32x6_write: reg:1E val:84
[ 13.260406] aic32x6_mute: Enter mute:0
[ 13.260955] aic32x6_write: reg:40 val:00

device close:
[ 13.491088] aic32x6_mute: Enter mute:1
[ 13.491821] aic32x6_write: reg:40 val:0C
[ 13.585815] aic32x6_change_page: new_page:01
[ 13.587493] aic32x6_change_page: new_page:00
[ 13.612274] aic32x6_change_page: new_page:01
[ 13.628814] aic32x6_change_page: new_page:00
[ 13.631439] aic32x6_write: reg:41 val:EA
[ 13.633850] aic32x6_write: reg:42 val:EA
[ 18.501312] aic32x6_change_page: new_page:01
[ 18.502258] aic32x6_write: reg:09 val:00
[ 18.502655] aic32x6_change_page: new_page:00
[ 18.503479] aic32x6_write: reg:3F val:15

  • Hi, Claud,

    Can you please describe the sequence done to turn on the DAC?. Pop is not expected when using the HP amplifiers in ground-centered mode, but it is possible to hear it if the DAC is turned ON and OFF directly without a mute/unmute process.

    I will take a look to the registers and look for a potential issue.

    Best Regards,

      -Diego Meléndez López
       Audio Applications Engineer

  • [ 12.707763] aic32x6_change_page: new_page:01
    [ 12.709228] aic32x6_change_page: new_page:00
    [ 12.733154] aic32x6_change_page: new_page:01
    [ 12.752410] aic32x6_write: reg:0C val:08
    [ 12.826812] aic32x6_change_page: new_page:00
    [ 12.833160] aic32x6_change_page: new_page:01
    [ 12.834594] aic32x6_change_page: new_page:00
    [ 12.858337] aic32x6_change_page: new_page:01
    [ 12.876190] aic32x6_write: reg:0D val:08
    [ 12.948303] aic32x6_change_page: new_page:00
    [ 12.962493] aic32x6_change_page: new_page:01
    [ 12.963958] aic32x6_change_page: new_page:00
    [ 12.987609] aic32x6_change_page: new_page:01
    [ 13.006347] aic32x6_write: reg:10 val:00
    [ 13.009155] aic32x6_write: reg:11 val:00
    [ 13.086578] aic32x6_change_page: new_page:00
    [ 13.088531] aic32x6_change_page: new_page:01
    [ 13.090057] aic32x6_change_page: new_page:00
    [ 13.114257] aic32x6_change_page: new_page:01
    [ 13.228363] <6>:aic32x6_set_dai_fmt Enter
    [ 13.228393] aic32x6_change_page: new_page:00
    [ 13.230346] aic32x6_write: reg:1B val:4C
    [ 13.230712] aic32x6_write: reg:1C val:00
    [ 13.231903] aic32x6_write: reg:1D val:08
    [ 13.232391] aic32x6_hw_params: Enter rate:44100 i:14
    [ 13.232421] aic32x6_write: reg:04 val:03 --> Clock and Data/interface setting
    [ 13.232818] aic32x6_write: reg:1D val:01 -->
    [ 13.233642] aic32x6_write: reg:05 val:21 -->
    [ 13.234008] aic32x6_write: reg:06 val:07 -->
    [ 13.234375] aic32x6_write: reg:07 val:14
    [ 13.234771] aic32x6_write: reg:08 val:90
    [ 13.235595] aic32x6_write: reg:0B val:08
    [ 13.236419] aic32x6_write: reg:0C val:02
    [ 13.236785] aic32x6_write: reg:0D val:00
    [ 13.237152] aic32x6_write: reg:0E val:80
    [ 13.238006] aic32x6_write: reg:12 val:08
    [ 13.238830] aic32x6_write: reg:13 val:04
    [ 13.239196] aic32x6_write: reg:14 val:40
    [ 13.240051] aic32x6_write: reg:1E val:04
    [ 13.240875] aic32x6_write: reg:1B val:4C
    [ 13.244873] aic32x6_write: reg:3C val:01
    [ 13.245758] aic32x6_write: reg:3D val:01
    [ 13.246124] aic32x6_change_page: new_page:01
    [ 13.246490] aic32x6_write: reg:14 val:F2 --> Head Phone Startup setting
    [ 13.246856] aic32x6_write: reg:01 val:0A --> AVDD weakly connected DVDD
    [ 13.247222] aic32x6_change_page: new_page:00
    [ 13.248077] aic32x6_write: reg:3F val:15 -->L DAC -Audio interface ,R DAC -Audio interface , Soft stepping 2 DAC word
    [ 13.248443] aic32x6_change_page: new_page:01
    [ 13.248809] aic32x6_write: reg:7D val:13 --> Ground-Centered mode ,DC Offset Correction for all possible signal routings for HPL and HPR
    [ 13.249877] aic32x6_change_page: new_page:00
    [ 13.250793] aic32x6_write: reg:3F val:D5 --> Power on L/R DAC
    [ 13.253601] aic32x6_change_page: new_page:01
    [ 13.254455] aic32x6_write: reg:09 val:30 --> Power on HPL/HPR
    [ 13.254943] aic32x6_change_page: new_page:00
    [ 13.255828] aic32x6_write: reg:05 val:A1 --> Power on PLL
    [ 13.256652] aic32x6_write: reg:0B val:88 --> Power on NDAC
    [ 13.257476] aic32x6_write: reg:0C val:82 --> Power on MDAC
    [ 13.258300] aic32x6_write: reg:12 val:88 --> Power on NADC
    [ 13.259155] aic32x6_write: reg:13 val:84 --> Power on MADC
    [ 13.259979] aic32x6_write: reg:1E val:84 --> Power on BCLK N Divider
    [ 13.260406] aic32x6_mute: Enter mute:0
    [ 13.260955] aic32x6_write: reg:40 val:00 --> unmute
  • Claud,

    I will take a look to the registers you provided and will get back to you as soon as possible.

    Best Regards,

      -Diego Meléndez López
       Audio Applications Engineer