I am having some issues with auto buffering on the ADSP2184. SPORT0 is connected to a ColdFire QSPI port. The DSP reset is accomplished via a digital I/O line coming from the Coldfire. Once the DSP is reset, it uses the boot loading capability and gets the code from an external boot OTP chip containing a boot loader. The boot loader initializes ports and starts the download process. The Coldfire then downloads the code to the DSP and the DSP branches there when done. Once the downloaded code starts executing, it does some additional initialization. Up until this point, auto buffering was disabled.
The downloaded code turns on autobuffering and turns on both SPORTs via the System Control Register. No matter what I do with the index register, the TX autobuffering always starts a word or two into the buffer. Is there a way to successfully reset the auto buffer back to the beginning. I would assume that simply setting the I register to the beginning of the buffer would do the trick, but it doesn't. There also seems to be a correlation to the writing of the System Control Register. It aligns properly when I don't do the write to the control register but since SPORT1 was not turned on the boot code, I have no other option than to initialize it again.