stm32-data/data/registers/aes_v1.yaml
2023-09-07 09:51:50 +03:00

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