62.4.3.3 DMA Mode
The DMA Controller can be used in association with the TDES to perform an encryption/decryption of a buffer without any action by the software during processing.
TDES_MR.SMOD must be set to 2 and the DMA must be configured with non-incremental addresses.
For all operating modes except CBC-MAC (TDES_MR.LOD=1), 2 DMA channels must be programmed (transmit and receive). In CBC-MAC, only 1 transmit channel must be programmed.
The start address of any transfer descriptor must be set in TDES_IDATAR0.
The DMA chunk size configuration depends on the TDES mode of operation and is listed in the table below.
When writing data to TDES with the first DMA channel, data will be fetched from a memory buffer (source data). It is recommended to configure the size of source data to “words” even for CFB modes. On the contrary, the destination data size depends on the mode of operation. When reading data from the TDES with the second DMA channel, the source data is the data read from TDES and data destination is the memory buffer. In this case, source data size depends on the TDES mode of operation and is listed in the table below.
Operating Mode | Chunk Size | Destination/Source Data Transfer Type |
---|---|---|
ECB | 1 | Word |
CBC | 1 | Word |
OFB | 1 | Word |
CFB 64-bit | 1 | Word |
CFB 32-bit | 1 | Word |
CFB 16-bit | 1 | Half-word |
CFB 8-bit | 1 | Byte |