Register Map
13-45
USB Function Module
13.2.19
Receive DMA Control Registers (RXDMA...RXDMA2)
These read/write receive DMA control registers enable monitoring of incoming
OUT transactions during DMA transfer on channel n (n=0,1,2).
Table 13–20. Receive DMA Control Registers (RXDMA0...RXDMA2)
Bit
Name
Description
15
RXn_Stop
Receive DMA channel n transfer stop
14–8
–
Reserved
7–0
RXn_TC
Receive DMA channel n transactions count
13.2.19.1
Receive DMA Ch.n Transfer Stop (RXn_Stop)
When this bit is set, an RXn_EOT interrupt is asserted to the local host after
n OUT transactions where n is the encoded binary value + 1 programmed into
RXn_TC field. This register is used when no smaller than buffer size packet
is received at an end-of-transfer (EOT) and the local host expects a given
amount of data for the transfer.
At end of transfer, the DMA channel is disabled and all OUT transactions
received to the assigned endpoint are sent NAK by the core. The local
host must set the Set_FIFO_En for the endpoint to reenable the channel.
Value after local host or USB reset is low.
13.2.19.2
Receive DMA Ch.n Transactions Count (RXn_TC)
The local host can ask for an interrupt each n OUT transactions where n is the
encoded binary value + 1 programmed into RXn_TC field. This register must
be programmed to the desired transactions watermark limit prior to enabling
the DMA transfer for the receive DMA channel n.
A reached watermark does not disable an active DMA transfer if
RXn_Stop was not set. If RXn_Stop was set for the transfer, both
RXn_Cnt and RXn_EOT interrupts are asserted.
A read of this register returns the number of transactions remaining
before the RXn_Cnt interrupt flag is asserted. This read mode is only
provided for software debug purposes.
Value after local host or USB reset is low (all 8 bits).