322 lines
7.3 KiB
YAML
322 lines
7.3 KiB
YAML
---
|
|
block/AES:
|
|
description: Advanced encryption standard hardware accelerator
|
|
items:
|
|
- name: CR
|
|
description: control register
|
|
byte_offset: 0
|
|
fieldset: CR
|
|
- name: SR
|
|
description: status register
|
|
byte_offset: 4
|
|
access: Read
|
|
fieldset: SR
|
|
- name: DINR
|
|
description: data input register
|
|
byte_offset: 8
|
|
fieldset: DINR
|
|
- name: DOUTR
|
|
description: data output register
|
|
byte_offset: 12
|
|
access: Read
|
|
fieldset: DOUTR
|
|
- name: KEYR0
|
|
description: key register 0
|
|
byte_offset: 16
|
|
fieldset: KEYR0
|
|
- name: KEYR1
|
|
description: key register 1
|
|
byte_offset: 20
|
|
fieldset: KEYR1
|
|
- name: KEYR2
|
|
description: key register 2
|
|
byte_offset: 24
|
|
fieldset: KEYR2
|
|
- name: KEYR3
|
|
description: key register 3
|
|
byte_offset: 28
|
|
fieldset: KEYR3
|
|
- name: IVR0
|
|
description: initialization vector register 0
|
|
byte_offset: 32
|
|
fieldset: IVR0
|
|
- name: IVR1
|
|
description: initialization vector register 1
|
|
byte_offset: 36
|
|
fieldset: IVR1
|
|
- name: IVR2
|
|
description: initialization vector register 2
|
|
byte_offset: 40
|
|
fieldset: IVR2
|
|
- name: IVR3
|
|
description: initialization vector register 3
|
|
byte_offset: 44
|
|
fieldset: IVR3
|
|
fieldset/CR:
|
|
description: control register
|
|
fields:
|
|
- name: EN
|
|
description: AES enable
|
|
bit_offset: 0
|
|
bit_size: 1
|
|
enum: EN
|
|
- name: DATATYPE
|
|
description: Data type selection (for data in and data out to/from the cryptographic block)
|
|
bit_offset: 1
|
|
bit_size: 2
|
|
enum: DATATYPE
|
|
- name: MODE
|
|
description: AES operating mode
|
|
bit_offset: 3
|
|
bit_size: 2
|
|
enum: MODE
|
|
- name: CHMOD
|
|
description: AES chaining mode
|
|
bit_offset: 5
|
|
bit_size: 2
|
|
enum: CHMOD
|
|
- name: CCFC
|
|
description: Computation Complete Flag Clear
|
|
bit_offset: 7
|
|
bit_size: 1
|
|
enum: CCFC
|
|
- name: ERRC
|
|
description: Error clear
|
|
bit_offset: 8
|
|
bit_size: 1
|
|
enum: ERRC
|
|
- name: CCFIE
|
|
description: CCF flag interrupt enable
|
|
bit_offset: 9
|
|
bit_size: 1
|
|
enum: CCFIE
|
|
- name: ERRIE
|
|
description: Error interrupt enable
|
|
bit_offset: 10
|
|
bit_size: 1
|
|
enum: ERRIE
|
|
- name: DMAINEN
|
|
description: Enable DMA management of data input phase
|
|
bit_offset: 11
|
|
bit_size: 1
|
|
enum: DMAINEN
|
|
- name: DMAOUTEN
|
|
description: Enable DMA management of data output phase
|
|
bit_offset: 12
|
|
bit_size: 1
|
|
enum: DMAOUTEN
|
|
fieldset/DINR:
|
|
description: data input register
|
|
fields:
|
|
- name: DIN
|
|
description: Data Input Register.
|
|
bit_offset: 0
|
|
bit_size: 32
|
|
fieldset/DOUTR:
|
|
description: data output register
|
|
fields:
|
|
- name: DOUT
|
|
description: Data output register
|
|
bit_offset: 0
|
|
bit_size: 32
|
|
fieldset/IVR0:
|
|
description: initialization vector register 0
|
|
fields:
|
|
- name: IV0
|
|
description: "initialization vector register (LSB IVR [31:0])"
|
|
bit_offset: 0
|
|
bit_size: 32
|
|
fieldset/IVR1:
|
|
description: initialization vector register 1
|
|
fields:
|
|
- name: IV1
|
|
description: "Initialization Vector Register (IVR [63:32])"
|
|
bit_offset: 0
|
|
bit_size: 32
|
|
fieldset/IVR2:
|
|
description: initialization vector register 2
|
|
fields:
|
|
- name: IV2
|
|
description: "Initialization Vector Register (IVR [95:64])"
|
|
bit_offset: 0
|
|
bit_size: 32
|
|
fieldset/IVR3:
|
|
description: initialization vector register 3
|
|
fields:
|
|
- name: IV3
|
|
description: "Initialization Vector Register (MSB IVR [127:96])"
|
|
bit_offset: 0
|
|
bit_size: 32
|
|
fieldset/KEYR0:
|
|
description: key register 0
|
|
fields:
|
|
- name: KEY0
|
|
description: "Data Output Register (LSB key [31:0])"
|
|
bit_offset: 0
|
|
bit_size: 32
|
|
fieldset/KEYR1:
|
|
description: key register 1
|
|
fields:
|
|
- name: KEY1
|
|
description: "AES key register (key [63:32])"
|
|
bit_offset: 0
|
|
bit_size: 32
|
|
fieldset/KEYR2:
|
|
description: key register 2
|
|
fields:
|
|
- name: KEY2
|
|
description: "AES key register (key [95:64])"
|
|
bit_offset: 0
|
|
bit_size: 32
|
|
fieldset/KEYR3:
|
|
description: key register 3
|
|
fields:
|
|
- name: KEY3
|
|
description: "AES key register (MSB key [127:96])"
|
|
bit_offset: 0
|
|
bit_size: 32
|
|
fieldset/SR:
|
|
description: status register
|
|
fields:
|
|
- name: CCF
|
|
description: Computation complete flag
|
|
bit_offset: 0
|
|
bit_size: 1
|
|
enum: CCF
|
|
- name: RDERR
|
|
description: Read error flag
|
|
bit_offset: 1
|
|
bit_size: 1
|
|
enum: RDERR
|
|
- name: WRERR
|
|
description: Write error flag
|
|
bit_offset: 2
|
|
bit_size: 1
|
|
enum: WRERR
|
|
enum/CCF:
|
|
bit_size: 1
|
|
variants:
|
|
- name: Complete
|
|
description: Computation complete
|
|
value: 0
|
|
- name: NotComplete
|
|
description: Computation not complete
|
|
value: 1
|
|
enum/CCFC:
|
|
bit_size: 1
|
|
variants:
|
|
- name: Clear
|
|
description: Clear computation complete flag
|
|
value: 1
|
|
enum/CCFIE:
|
|
bit_size: 1
|
|
variants:
|
|
- name: Disabled
|
|
description: Disable (mask) CCF interrupt
|
|
value: 0
|
|
- name: Enabled
|
|
description: Enable CCF interrupt
|
|
value: 1
|
|
enum/CHMOD:
|
|
bit_size: 2
|
|
variants:
|
|
- name: ECB
|
|
description: Electronic codebook (ECB)
|
|
value: 0
|
|
- name: CBC
|
|
description: Cipher-Block Chaining (CBC)
|
|
value: 1
|
|
- name: CTR
|
|
description: Counter Mode (CTR)
|
|
value: 2
|
|
enum/DATATYPE:
|
|
bit_size: 2
|
|
variants:
|
|
- name: None
|
|
description: Word
|
|
value: 0
|
|
- name: HalfWord
|
|
description: Half-word (16-bit)
|
|
value: 1
|
|
- name: Byte
|
|
description: Byte (8-bit)
|
|
value: 2
|
|
- name: Bit
|
|
description: Bit
|
|
value: 3
|
|
enum/DMAINEN:
|
|
bit_size: 1
|
|
variants:
|
|
- name: Disabled
|
|
description: Disable DMA Input
|
|
value: 0
|
|
- name: Enabled
|
|
description: Enable DMA Input
|
|
value: 1
|
|
enum/DMAOUTEN:
|
|
bit_size: 1
|
|
variants:
|
|
- name: Disabled
|
|
description: Disable DMA Output
|
|
value: 0
|
|
- name: Enabled
|
|
description: Enabled DMA Output
|
|
value: 1
|
|
enum/EN:
|
|
bit_size: 1
|
|
variants:
|
|
- name: Disabled
|
|
description: Disable AES
|
|
value: 0
|
|
- name: Enabled
|
|
description: Enable AES
|
|
value: 1
|
|
enum/ERRC:
|
|
bit_size: 1
|
|
variants:
|
|
- name: Clear
|
|
description: Clear RDERR and WRERR flags
|
|
value: 1
|
|
enum/ERRIE:
|
|
bit_size: 1
|
|
variants:
|
|
- name: Disabled
|
|
description: Disable (mask) error interrupt
|
|
value: 0
|
|
- name: Enabled
|
|
description: Enable error interrupt
|
|
value: 1
|
|
enum/MODE:
|
|
bit_size: 2
|
|
variants:
|
|
- name: Mode1
|
|
description: "Mode 1: encryption"
|
|
value: 0
|
|
- name: Mode2
|
|
description: "Mode 2: key derivation (or key preparation for ECB/CBC decryption)"
|
|
value: 1
|
|
- name: Mode3
|
|
description: "Mode 3: decryption"
|
|
value: 2
|
|
- name: Mode4
|
|
description: "Mode 4: key derivation then single decryption"
|
|
value: 3
|
|
enum/RDERR:
|
|
bit_size: 1
|
|
variants:
|
|
- name: NoError
|
|
description: Read error not detected
|
|
value: 0
|
|
- name: Error
|
|
description: Read error detected
|
|
value: 1
|
|
enum/WRERR:
|
|
bit_size: 1
|
|
variants:
|
|
- name: NoError
|
|
description: Write error not detected
|
|
value: 0
|
|
- name: Error
|
|
description: Write error detected
|
|
value: 1
|