Other Parts Discussed in Thread: REG101, REG102,
On a custom board, chip is used as jack analog audio output. MCLK is not used, just BCLK:
We connect external powered speakers. During audio playback, we switches off and on the speakers' power. After a certain amount of tries, the chip doesn't output any audio. The processor continues to playback, and all the registers of the chip have exactly the same value as when it worked. If we do a soft reset + reconfigure all the registers which have changed their value by the reset, the chip comes back (without stopping the processor playback), and audio outputs again. So the bug is inside the chip.
I suppose there are glitches in power when we switch speakers off/on, and sometimes, something is blocked inside the chip, why not. But the problem is that we can't detect it by software, because all the registers have the same value. I think that perhaps the PLL is unlocked, but there is no status about it in the registers.
Do you know such troubles ? Are there hidden registers, that we could read, to detect that the chip is not really ready, and we have to reset it again ?
Here is the dump of our registers:
page0 / reg0 = 0x0
page0 / reg1 = 0x0
page0 / reg2 = 0x0
page0 / reg3 = 0x91
page0 / reg4 = 0x80
page0 / reg5 = 0x0
page0 / reg6 = 0x0
page0 / reg7 = 0x8a
page0 / reg8 = 0x0
page0 / reg9 = 0x0
page0 / reg10 = 0x0
page0 / reg11 = 0x1
page0 / reg12 = 0x5
page0 / reg13 = 0x0
page0 / reg14 = 0x0
page0 / reg15 = 0x0
page0 / reg16 = 0x0
page0 / reg17 = 0x0
page0 / reg18 = 0x0
page0 / reg19 = 0x0
page0 / reg20 = 0x0
page0 / reg21 = 0x0
page0 / reg22 = 0x0
page0 / reg23 = 0x0
page0 / reg24 = 0x0
page0 / reg25 = 0x2
page0 / reg26 = 0x0
page0 / reg27 = 0x0
page0 / reg28 = 0x0
page0 / reg29 = 0x0
page0 / reg30 = 0x0
page0 / reg31 = 0x0
page0 / reg32 = 0x0
page0 / reg33 = 0x0
page0 / reg34 = 0x0
page0 / reg35 = 0x0
page0 / reg36 = 0x0
page0 / reg37 = 0xd0
page0 / reg38 = 0xc
page0 / reg39 = 0x0
page0 / reg40 = 0x0
page0 / reg41 = 0x0
page0 / reg42 = 0x50
page0 / reg43 = 0x5a
page0 / reg44 = 0x5a
page0 / reg45 = 0x76
page0 / reg46 = 0x76
page0 / reg47 = 0x80
page0 / reg48 = 0x76
page0 / reg49 = 0x76
page0 / reg50 = 0x76
page0 / reg51 = 0xf
page0 / reg52 = 0x76
page0 / reg53 = 0x76
page0 / reg54 = 0x76
page0 / reg55 = 0x76
page0 / reg56 = 0x76
page0 / reg57 = 0x76
page0 / reg58 = 0x6
page0 / reg59 = 0x76
page0 / reg60 = 0x76
page0 / reg61 = 0x76
page0 / reg62 = 0x76
page0 / reg63 = 0x76
page0 / reg64 = 0x80
page0 / reg65 = 0xf
page0 / reg66 = 0x76
page0 / reg67 = 0x76
page0 / reg68 = 0x76
page0 / reg69 = 0x76
page0 / reg70 = 0x76
page0 / reg71 = 0x76
page0 / reg72 = 0x6
page0 / reg73 = 0x0
page0 / reg74 = 0x0
page0 / reg75 = 0x0
page0 / reg76 = 0x0
page0 / reg77 = 0x0
page0 / reg78 = 0x0
page0 / reg79 = 0x0
page0 / reg80 = 0x0
page0 / reg81 = 0x0
page0 / reg82 = 0x0
page0 / reg83 = 0x0
page0 / reg84 = 0x0
page0 / reg85 = 0x0
page0 / reg86 = 0x0
page0 / reg87 = 0x0
page0 / reg88 = 0x0
page0 / reg89 = 0x0
page0 / reg90 = 0x0
page0 / reg91 = 0x0
page0 / reg92 = 0x0
page0 / reg93 = 0x0
page0 / reg94 = 0xc6
page0 / reg95 = 0xc
page0 / reg96 = 0x0
page0 / reg97 = 0x0
page0 / reg98 = 0x0
page0 / reg99 = 0x0
page0 / reg100 = 0x0
page0 / reg101 = 0x0
page0 / reg102 = 0xa2
page1 / reg0 = 0x1
page1 / reg1 = 0x6b
page1 / reg2 = 0xe3
page1 / reg3 = 0x96
page1 / reg4 = 0x66
page1 / reg5 = 0x67
page1 / reg6 = 0x5d
page1 / reg7 = 0x6b
page1 / reg8 = 0xe3
page1 / reg9 = 0x96
page1 / reg10 = 0x66
page1 / reg11 = 0x67
page1 / reg12 = 0x5d
page1 / reg13 = 0x7d
page1 / reg14 = 0x83
page1 / reg15 = 0x84
page1 / reg16 = 0xee
page1 / reg17 = 0x7d
page1 / reg18 = 0x83
page1 / reg19 = 0x84
page1 / reg20 = 0xee
page1 / reg21 = 0x39
page1 / reg22 = 0x55
page1 / reg23 = 0xf3
page1 / reg24 = 0x2d
page1 / reg25 = 0x53
page1 / reg26 = 0x7e
page1 / reg27 = 0x6b
page1 / reg28 = 0xe3
page1 / reg29 = 0x96
page1 / reg30 = 0x66
page1 / reg31 = 0x67
page1 / reg32 = 0x5d
page1 / reg33 = 0x6b
page1 / reg34 = 0xe3
page1 / reg35 = 0x96
page1 / reg36 = 0x66
page1 / reg37 = 0x67
page1 / reg38 = 0x5d
page1 / reg39 = 0x7d
page1 / reg40 = 0x83
page1 / reg41 = 0x84
page1 / reg42 = 0xee
page1 / reg43 = 0x7d
page1 / reg44 = 0x83
page1 / reg45 = 0x84
page1 / reg46 = 0xee
page1 / reg47 = 0x39
page1 / reg48 = 0x55
page1 / reg49 = 0xf3
page1 / reg50 = 0x2d
page1 / reg51 = 0x53
page1 / reg52 = 0x7e
page1 / reg53 = 0x7f
page1 / reg54 = 0xff
We tried to activate the output short-circuit detection, but it is not detected, and doesn't change anything.
The trouble is not obvious to reproduce, it depends on the speakers, and we need several OFF/ON. But on our customers side, they use professionnal audio amplifier, and face the same problem, sometimes. We took a very long time to find the origin, but now, we can't go on without your help...
Regards.
Best regards.