- When TCTR.TXWAIT_STALE_TXFIFO is set, on STOP, restart, or timeout, Target FSM
gets an empty indication even though stale data is present inside Target Tx
FIFO.
- Logic doesn’t immediately
generate an empty interrupt/DMA request. Instead, it waits until Controller asks
for data from Target and then clock stretches.
- At this point Target issues clock stretch (TREQ) interrupt to CPU when
TCTR.TXEMPTY_ON_TREQ is set.
- CPU in ISR checks for TSR.STALE_TXFIFO flag and flushes the FIFO using
FIFOCTL.TXFLUSH – This also clears the status of TSR.STALE_TXFIFO
If the user wants to send the leftover data from previous frame in the next frame, it
should clear the field TCTR.TXWAIT_STALE_TXFIFO.