SAM3X8C Atmel Corporation, SAM3X8C Datasheet - Page 944

no-image

SAM3X8C

Manufacturer Part Number
SAM3X8C
Description
Manufacturer
Atmel Corporation
Datasheets
37.8.8.3
944
944
SAM3X/A
SAM3X/A
Block Length is Not a Multiple of 4. (ROPT field in HSMCI_DMA register set to 1)
One DMA Transfer descriptor is used to perform the HSMCI block transfer, the DMA writes a
rounded up value to the nearest multiple of 4.
4. Enable DMADONE interrupt in the HSMCI_IER register.
5. Poll CBTC[x] bit in the DMAC_EBCISR Register.
6. If a new list of buffers shall be transferred, repeat step 7. Check and handle HSMCI
7. Poll FIFOEMPTY field in the HSMCI_SR.
8. Send The STOP_TRANSMISSION command writing HSMCI_ARG then
9. Wait for XFRDONE in HSMCI_SR register.
1. Use the previous step to configure the HSMCI to perform a READ_MULTIPLE_BLOCK.
2. Set the ROPT field to 1 in the HSMCI_DMA register.
3. Issue a READ_MULTIPLE_BLOCK command.
4. Program the DMA controller to use a list of descriptors:
– SRC_PER is programmed with the hardware handshaking ID of the targeted HSMCI
q. Program LLI_B(n).DMAC_DSCR with address of descriptor LLI_W(n+1). If
r.
s. Program DMAC_DSCRx with the address of LLI_W(0) if block_length is greater
t.
errors.
HSMCI_CMDR.
a. Read the channel Register to choose an available (disabled) channel.
b. Clear any pending interrupts on the channel from the previous DMAC transfer by
c. Program the channel registers in the Memory with the first descriptor. This descrip-
d. The LLI_W(n).DMAC_SADDRx field in memory must be set with the starting
e. The LLI_W(n).DMAC_DADDRx field in the memory must be word aligned.
f.
g. Program LLI_W(n).DMAC_CTRLBx with the following field’s values:
Host Controller
LLI_B(n) is the last descriptor, then program LLI_B(n).DMAC_DSCR with 0.
Program DMAC_CTRLBx register for channel x with 0, its content is updated with
the LLI Fetch operation.
than 4 else with address of LLI_B(0).
Enable Channel x writing one to DMAC_CHER[x]. The DMAC is ready and waiting
for request.
reading the DMAC_EBCISR register.
tor will be word oriented. This descriptor is referred to as LLI_W(n), standing for LLI
word oriented transfer for block n.
address of the HSMCI_FIFO address.
Program LLI_W(n).DMAC_CTRLAx with the following field’s values:
–DST_WIDTH is set to WORD.
–SRC_WIDTH is set to WORD.
–SCSIZE must be set according to the value of HSMCI_DMA, CHKSIZE field.
–BTSIZE is programmed with Ceiling(block_length/4).
–DST_INCR is set to INCR
–SRC_INCR is set to INCR
–FC field is programmed with peripheral to memory flow control mode.
–SRC_DSCR is set to 0. (descriptor fetch is enabled for the SRC)
11057A–ATARM–17-Feb-12
11057A–ATARM–17-Feb-12

Related parts for SAM3X8C