I have a question about the RESET of the TLV320AIC3106. There is a hardware reset pin, and you can also reset the part by writing 0x01 to Page0 Reg0. The Sitara starter-ware code has what boils down to the following to accomplish this latter reset:
volatile unsigned int delay = 0xFFF;
CodecRegWrite(AIC31_P0_REG0, 0x00);
CodecRegWrite(AIC31_P0_REG1, 0x01);
while(delay--);
Trying to do a delay like this is really yucky, but two questions arise:
(1) Is a delay required, and if so how much? I can see no mention of this on the data sheet.
(2) Do the two reset mechanisms have exactly the same effect, or is the 'soft' reset merely a reset of the control register contents? Specifically, are the CODEC's internal filter states and state machines reset by both mechanisms?
I am trying to get four of these things to start up in phase with each other (ref thread "AIC3106 ADC phase").
Thanks,
Christopher Hicks