Datasheet
SAM3X / SAM3A [DATASHEET]
Atmel-11057C-ATARM-SAM3X-SAM3A-Datasheet_23-Mar-15
1138
39.6.2.19 Device DMA Channel x Control Register
Name: UOTGHS_DEVDMACONTROLx [x=1..6]
Address: 0x400AC318 [1], 0x400AC328 [2], 0x400AC338 [3], 0x400AC348 [4], 0x400AC358 [5], 0x400AC368 [6],
0x400AC378 [7]
Access: Read-write
• CHANN_ENB: Channel Enable Command
0: DMA channel is disabled at and no transfer will occur upon request. This bit is also cleared by hardware when the chan-
nel source bus is disabled at end of buffer.
If LDNXT_DSC bit has been cleared by descriptor loading, the firmware will have to set the corresponding
CHANN_ENB bit to start the described transfer, if needed.
If LDNXT_DSC bit is cleared, the channel is frozen and the channel registers may then be read and/or written reliably
as soon as both UOTGHS_DEVDMASTATUS.CHANN_ENB and CHANN_ACT flags read as 0.
If a chann
el request is currently serviced when this bit is cleared, the DMA FIFO buffer is drained until it is empty, then
the UOTGHS_DEVDMASTATUS.CHANN_ENB bit is cleared.
If LDNXT_DSC bit is set at or after this bit clearing, then the currently loaded descriptor is skipped (no data transfer
occurs) and the next descriptor is immediately loaded.
1: UOTGHS_DEVD
MASTATUS.CHANN_ENB bit will be set, thus enabling DMA channel data transfer. Then any pending
request will start the transfer. This may be used to start or resume any requested transfer.
• LDNXT_DSC: Load Next Channel Transfer Descriptor Enable Command
0: no channel register is loaded after the end of the channel transfer.
1: the channel controller loads the next descriptor after the end of the current transfer, i.e. when
UOTGHS_DEVDMASTATUS.CHANN_ENB bit is reset.
If CHANN_ENB bit is cleared, the next descriptor is immediately loaded upon transfer request.
DMA Channel Control Command Summary
31 30 29 28 27 26 25 24
BUFF_LENGTH
23 22 21 20 19 18 17 16
BUFF_LENGTH
15 14 13 12 11 10 9 8
––––––––
76543210
BURST_LCK DESC_LD_IT END_BUFFIT END_TR_IT END_B_EN END_TR_EN LDNXT_DSC CHANN_ENB
Value Name Description
0STOP_NOW Stop now
1 RUN_AND_STOP Run and stop at end of buffer
2 LOAD_NEXT_DESC Load next descriptor now
3 RUN_AND_LINK Run and link at end of buffer










