We are trying to determine how or why either the BBB AM355x DMA or the ALSA driver would fail to work properly. We have a 8KHz frame sync with two consecutive 16-bit timeslots of samples (actual sample rate is mono 16KHz). Most of the time, the driver works correctly. Occasion, the driver will duplicate audio sample (and of course throw ever other one away). We can "clear" this situation by closing the ALSA driver and then re-opening it. During this process, no external device re-initialization is performed.
We have looked at the buffers used by the DMA and we find the duplicated samples there. Samples are not duplicated on the external pins. We think the 16-bit to 32-bit serializing/packing hardware is somehow filling data incorrectly prior to the DMA transfer. Where can we look at hardware registers and/or other places to determine what sort of error condition this is. Any idea how to avoid this problem all together?