Hello all,
We are trying to verify the proper operation of the ADCs and DACs of TLV320AIC3204, after powering up. Polling power status (P0_R36 bit 2 and bit 6 for ADCs and P0_R37 bit 3 and bit 7 for DACs) works as expected (those bits eventually change from "0" to "1"). However the gain status flags (P0_R36 bit 3 and bit 7 for ADCs and P0_R38 bit 0 and bit 4 for DACs) always stay at "0" although codec is working as expected. Are these flags expected to work somehow or should we ommit this check?
Please note that, in SLAA473A page 6, these registers are expected to become "1" after a proper codec wake up from sleep or standby. Admittedly we don't use sleep or standby modes in our application but we would expect these flags to work in any case, since the purpose of these registers is to verify that "Gain Applied in xxx is equal to Programmed Gain in Control Register".
The programming sequence we use is the following:
- Hard-reset the CODEC via the CODEC Reset pin
- Wait for 1ms
- Soft reset CODEC
- Wait for 1ms
- Configure clock inputs, dividers and digital interface parameters (registers P0_R4...P0_R52)
- Configure processing blocks for ADC and DAC (registers P0_R60, P0_R61)
- Configure internal power regulator, power-up input CM voltage and reference (registers P1_R1, P1_R2, P1_R10, P1_R71, P1_R123)
- Define PowerTune Modes for ADC and DAC (registers P1_R3, P1_R4, P1_R61)
- Configure TX (AGC, ADC, MICPGA) path (registers P0_R83...R88, P0_R94...R96, P1_R52...R60)
- Power-up ADC
- Wait for P0_R36 D2, D6 bits (ADCs power status) to become active
- Un-mute ADC (registers P0_R81 then P0_R82)
- Wait for P0_R36 bits D3, D7 (ADCs gain status) to become “1”
- Configure RX (DAC, LOL/LOR) path (registers P1_R14, P1_R15, P1_R18, P1_R19, P1_R09, P0_R65, P0_R68)
- Apply waiting time determined by polling register P1_R63
- Power-up DAC
- Wait for the appropriate P0_R37 bits (DACs & line or headphone output power status) to become active
- Un-mute DAC (registers P0_R63, P0_R64)
- Wait for P0_R38 bits D0, D4 (DACs gain status) to become “1”.
Thank you in advance