We have a rather old design that we're trying to enable AGC on. We are recording a left channel on IN3L and a Right channel on IN3R. Both are at mic level.
We noticed that most of the time the AGC works and gives us audio on both channels. However, sometimes one channel will stop recording audio (basically muted) while the other continues recording. I have noticed that when this happens, the read-only AGC gain register for that channel (0x5D for left, 0x65 for right) will get stuck at a value of 0xE8, which is the minimum possible gain value of -12dB. This register will stay stuck at -12dB until we power cycle the unit and re-initialize the codec, and the gain will never automatically increase to try to hit the target level. Until we re-initialize, the audio on that channel will be gone. Generally no other registers on Page 0 or Page 1 are affected when this glitch happens.
It seems like a bug in the codec, because we are not sending the codec any commands that should be making it reduce the gain. What could cause the codec to think it needs to apply -12dB gain?