stm32-data/data/registers/crc_v3.yaml
Joshua Salzedo 24dabf68e5 Add three distinct versions of CRC
- remove F4 specific version
2021-09-26 14:58:47 -07:00

152 lines
3.3 KiB
YAML

---
block/CRC:
description: Cryptographic processor
items:
- name: DR
description: Data register
byte_offset: 0
fieldset: DR
- name: DR16
description: Data register - half-word sized
byte_offset: 0
bit_size: 16
fieldset: DR16
- name: DR8
description: Data register - byte sized
byte_offset: 0
bit_size: 8
fieldset: DR8
- name: IDR
description: Independent Data register
byte_offset: 4
fieldset: IDR
- name: CR
description: Control register
byte_offset: 8
access: Write
fieldset: CR
- name: INIT
description: Initial CRC value
byte_offset: 16
fieldset: INIT
- name: POL
description: CRC polynomial
byte_offset: 20
fieldset: POL
fieldset/CR:
description: Control register
fields:
- name: RESET
description: RESET bit
bit_offset: 0
bit_size: 1
enum_write: RESETW
- name: POLYSIZE
description: Polynomial size
bit_offset: 3
bit_size: 2
enum: POLYSIZE
- name: REV_IN
description: Reverse input data
bit_offset: 5
bit_size: 2
enum: REV_IN
- name: REV_OUT
description: Reverse output data
bit_offset: 7
bit_size: 1
enum: REV_OUT
fieldset/DR:
description: Data register
fields:
- name: DR
description: Data Register
bit_offset: 0
bit_size: 32
fieldset/DR16:
description: Data register - half-word sized
fields:
- name: DR
description: Data register bits
bit_offset: 0
bit_size: 16
array:
len: 1
stride: 0
fieldset/DR8:
description: Data register - byte sized
fields:
- name: DR
description: Data register bits
bit_offset: 0
bit_size: 8
array:
len: 1
stride: 0
fieldset/IDR:
description: Independent Data register
fields:
- name: IDR
description: Independent Data register
bit_offset: 0
bit_size: 8
fieldset/INIT:
description: Initial CRC value
fields:
- name: INIT
description: Programmable initial CRC value
bit_offset: 0
bit_size: 32
fieldset/POL:
description: CRC polynomial
fields:
- name: POL
description: Programmable polynomial
bit_offset: 0
bit_size: 32
enum/POLYSIZE:
bit_size: 2
variants:
- name: Polysize32
description: 32-bit polynomial
value: 0
- name: Polysize16
description: 16-bit polynomial
value: 1
- name: Polysize8
description: 8-bit polynomial
value: 2
- name: Polysize7
description: 7-bit polynomial
value: 3
enum/RESETW:
bit_size: 1
variants:
- name: Reset
description: Resets the CRC calculation unit and sets the data register to 0xFFFF FFFF
value: 1
enum/REV_IN:
bit_size: 2
variants:
- name: Normal
description: Bit order not affected
value: 0
- name: Byte
description: Bit reversal done by byte
value: 1
- name: HalfWord
description: Bit reversal done by half-word
value: 2
- name: Word
description: Bit reversal done by word
value: 3
enum/REV_OUT:
bit_size: 1
variants:
- name: Normal
description: Bit order not affected
value: 0
- name: Reversed
description: Bit reversed output
value: 1