Instances
| Instance | Domain | Base address | TrustZone | Split access | Description | ||
|---|---|---|---|---|---|---|---|
| Map | Att | DMA | |||||
| CC_DIN | APPLICATION | 0x50845000 | HF | S | NSA | No |
CRYPTOCELL DIN DMA engine |
Register overview
| Register | Offset | TZ | Description |
|---|---|---|---|
| DIN_BUFFER | 0xC00 |
Used by CPU to write data directly to the DIN buffer, which is then sent to the cryptographic engines for processing. |
|
| DIN_DMA_MEM_BUSY | 0xC20 |
Status register for DIN DMA engine activity when accessing memory. |
|
| SRC_MEM_ADDR | 0xC28 |
Data source address in memory. |
|
| SRC_MEM_SIZE | 0xC2C |
The number of bytes to be read from memory. Writing to this register triggers the DMA operation. |
|
| SRC_SRAM_ADDR | 0xC30 |
Data source address in RNG SRAM. |
|
| SRC_SRAM_SIZE | 0xC34 |
The number of bytes to be read from RNG SRAM. Writing to this register triggers the DMA operation. |
|
| DIN_DMA_SRAM_BUSY | 0xC38 |
Status register for DIN DMA engine activity when accessing RNG SRAM. |
|
| DIN_DMA_SRAM_ENDIANNESS | 0xC3C |
Configure the endianness of DIN DMA transactions towards RNG SRAM. |
|
| DIN_SW_RESET | 0xC44 |
Reset the DIN DMA engine. |
|
| DIN_CPU_DATA | 0xC48 |
Specifies the number of bytes the CPU will write to the DIN_BUFFER, ensuring the cryptographic engine processes the correct amount of data. |
|
| DIN_WRITE_ALIGN | 0xC4C |
Indicates that the next CPU write to the DIN_BUFFER is the last in the sequence. This is needed only when the data size is NOT modulo 4 (e.g. HASH padding). |
|
| DIN_FIFO_EMPTY | 0xC50 |
Register indicating if DIN FIFO is empty and if more data can be accepted. |
|
| DIN_FIFO_RESET | 0xC58 |
Reset the DIN FIFO, effectively clearing the FIFO for new data. |