Rework DACs for all STM32

This commit is contained in:
Adam Greig 2023-11-15 02:54:39 +00:00
parent 82101c985c
commit 78232c013e
No known key found for this signature in database
GPG Key ID: 8B3FE5477B1DD9A0
8 changed files with 1285 additions and 377 deletions

View File

@ -1,3 +1,5 @@
# DAC v1, only used in RM0008 STM32F101/102/103/105/107.
block/DAC:
description: Digital-to-analog converter
items:
@ -32,15 +34,15 @@ block/DAC:
byte_offset: 16
fieldset: DHR8R
- name: DHR12RD
description: Dual DAC 12-bit right-aligned data holding register
description: dual 12-bit right-aligned data holding register
byte_offset: 32
fieldset: DHR12RD
- name: DHR12LD
description: DUAL DAC 12-bit left aligned data holding register
description: dual 12-bit left aligned data holding register
byte_offset: 36
fieldset: DHR12LD
- name: DHR8RD
description: DUAL DAC 8-bit right aligned data holding register
description: dual 8-bit right aligned data holding register
byte_offset: 40
fieldset: DHR8RD
- name: DOR
@ -51,43 +53,39 @@ block/DAC:
byte_offset: 44
access: Read
fieldset: DOR
- name: SR
description: status register
byte_offset: 52
fieldset: SR
fieldset/CR:
description: control register
fields:
- name: EN
description: DAC channel enable
description: channel enable
bit_offset: 0
bit_size: 1
array:
len: 2
stride: 16
- name: BOFF
description: DAC channel output buffer disable
description: channel output buffer disable
bit_offset: 1
bit_size: 1
array:
len: 2
stride: 16
- name: TEN
description: DAC channel trigger enable
description: channel trigger enable
bit_offset: 2
bit_size: 1
array:
len: 2
stride: 16
- name: TSEL
description: DAC channel 1 trigger selection
description: channel trigger selection
bit_offset: 3
bit_size: 3
array:
len: 2
stride: 16
- name: WAVE
description: DAC channel noise/triangle wave generation enable
description: channel noise/triangle wave generation enable
bit_offset: 6
bit_size: 2
array:
@ -95,38 +93,31 @@ fieldset/CR:
stride: 16
enum: WAVE
- name: MAMP
description: DAC channel mask/amplitude selector
description: channel mask/amplitude selector
bit_offset: 8
bit_size: 4
array:
len: 2
stride: 16
- name: DMAEN
description: DAC channel DMA enable
description: channel DMA enable
bit_offset: 12
bit_size: 1
array:
len: 2
stride: 16
- name: DMAUDRIE
description: DAC channel DMA Underrun Interrupt enable
bit_offset: 13
bit_size: 1
array:
len: 2
stride: 16
fieldset/DHR12L:
description: channel 12-bit left-aligned data holding register
fields:
- name: DHR
description: DAC channel 12-bit left-aligned data
description: channel 12-bit left-aligned data
bit_offset: 4
bit_size: 12
fieldset/DHR12LD:
description: DUAL DAC 12-bit left aligned data holding register
description: dual 12-bit left aligned data holding register
fields:
- name: DHR
description: DAC channel 12-bit left-aligned data
description: channel 12-bit left-aligned data
bit_offset: 4
bit_size: 12
array:
@ -136,14 +127,14 @@ fieldset/DHR12R:
description: channel 12-bit right-aligned data holding register
fields:
- name: DHR
description: DAC channel 12-bit right-aligned data
description: channel 12-bit right-aligned data
bit_offset: 0
bit_size: 12
fieldset/DHR12RD:
description: Dual DAC 12-bit right-aligned data holding register
description: dual 12-bit right-aligned data holding register
fields:
- name: DHR
description: DAC channel 12-bit right-aligned data
description: channel 12-bit right-aligned data
bit_offset: 0
bit_size: 12
array:
@ -153,14 +144,14 @@ fieldset/DHR8R:
description: channel 8-bit right-aligned data holding register
fields:
- name: DHR
description: DAC channel 8-bit right-aligned data
description: channel 8-bit right-aligned data
bit_offset: 0
bit_size: 8
fieldset/DHR8RD:
description: DUAL DAC 8-bit right aligned data holding register
description: dual 8-bit right aligned data holding register
fields:
- name: DHR
description: DAC channel 8-bit right-aligned data
description: channel 8-bit right-aligned data
bit_offset: 0
bit_size: 8
array:
@ -170,24 +161,14 @@ fieldset/DOR:
description: channel data output register
fields:
- name: DOR
description: DAC channel data output
description: channel data output
bit_offset: 0
bit_size: 12
fieldset/SR:
description: status register
fields:
- name: DMAUDR
description: DAC channel DMA underrun flag
bit_offset: 13
bit_size: 1
array:
len: 2
stride: 16
fieldset/SWTRIGR:
description: software trigger register
fields:
- name: SWTRIG
description: DAC channel software trigger
description: channel software trigger
bit_offset: 0
bit_size: 1
array:

View File

@ -1,3 +1,6 @@
# DAC v2, used in F100, F0, F2, F4, F7, L0, L1.
# Adds SR with DMAUDR1/2 fields, and adds DMAUDRIE1/2 fields to CR.
block/DAC:
description: Digital-to-analog converter
items:
@ -32,15 +35,15 @@ block/DAC:
byte_offset: 16
fieldset: DHR8R
- name: DHR12RD
description: Dual DAC 12-bit right-aligned data holding register
description: dual 12-bit right-aligned data holding register
byte_offset: 32
fieldset: DHR12RD
- name: DHR12LD
description: DUAL DAC 12-bit left aligned data holding register
description: dual 12-bit left aligned data holding register
byte_offset: 36
fieldset: DHR12LD
- name: DHR8RD
description: DUAL DAC 8-bit right aligned data holding register
description: dual 8-bit right aligned data holding register
byte_offset: 40
fieldset: DHR8RD
- name: DOR
@ -55,66 +58,39 @@ block/DAC:
description: status register
byte_offset: 52
fieldset: SR
- name: CCR
description: calibration control register
byte_offset: 56
fieldset: CCR
- name: MCR
description: mode control register
byte_offset: 60
fieldset: MCR
- name: SHSR1
description: Sample and Hold sample time register
array:
len: 2
stride: 4
byte_offset: 64
fieldset: SHSR
- name: SHHR
description: Sample and Hold hold time register
byte_offset: 72
fieldset: SHHR
- name: SHRR
description: Sample and Hold refresh time register
byte_offset: 76
fieldset: SHRR
fieldset/CCR:
description: calibration control register
fields:
- name: OTRIM1
description: DAC Channel 1 offset trimming value
bit_offset: 0
bit_size: 5
- name: OTRIM2
description: DAC Channel 2 offset trimming value
bit_offset: 16
bit_size: 5
fieldset/CR:
description: control register
fields:
- name: EN
description: DAC channel enable
description: channel enable
bit_offset: 0
bit_size: 1
array:
len: 2
stride: 16
- name: BOFF
description: channel output buffer disable
bit_offset: 1
bit_size: 1
array:
len: 2
stride: 16
- name: TEN
description: DAC channel trigger enable
description: channel trigger enable
bit_offset: 2
bit_size: 1
array:
len: 2
stride: 16
- name: TSEL
description: DAC channel 1 trigger selection
description: channel trigger selection
bit_offset: 3
bit_size: 3
array:
len: 2
stride: 16
- name: WAVE
description: DAC channel noise/triangle wave generation enable
description: channel noise/triangle wave generation enable
bit_offset: 6
bit_size: 2
array:
@ -122,45 +98,38 @@ fieldset/CR:
stride: 16
enum: WAVE
- name: MAMP
description: DAC channel mask/amplitude selector
description: channel mask/amplitude selector
bit_offset: 8
bit_size: 4
array:
len: 2
stride: 16
- name: DMAEN
description: DAC channel DMA enable
description: channel DMA enable
bit_offset: 12
bit_size: 1
array:
len: 2
stride: 16
- name: DMAUDRIE
description: DAC channel DMA Underrun Interrupt enable
description: channel DMA Underrun Interrupt enable
bit_offset: 13
bit_size: 1
array:
len: 2
stride: 16
- name: CEN
description: DAC channel calibration enable
bit_offset: 14
bit_size: 1
array:
len: 2
stride: 16
fieldset/DHR12L:
description: channel 12-bit left-aligned data holding register
fields:
- name: DHR
description: DAC channel 12-bit left-aligned data
description: channel 12-bit left-aligned data
bit_offset: 4
bit_size: 12
fieldset/DHR12LD:
description: DUAL DAC 12-bit left aligned data holding register
description: dual 12-bit left aligned data holding register
fields:
- name: DHR
description: DAC channel 12-bit left-aligned data
description: channel 12-bit left-aligned data
bit_offset: 4
bit_size: 12
array:
@ -170,14 +139,14 @@ fieldset/DHR12R:
description: channel 12-bit right-aligned data holding register
fields:
- name: DHR
description: DAC channel 12-bit right-aligned data
description: channel 12-bit right-aligned data
bit_offset: 0
bit_size: 12
fieldset/DHR12RD:
description: Dual DAC 12-bit right-aligned data holding register
description: dual 12-bit right-aligned data holding register
fields:
- name: DHR
description: DAC channel 12-bit right-aligned data
description: channel 12-bit right-aligned data
bit_offset: 0
bit_size: 12
array:
@ -187,14 +156,14 @@ fieldset/DHR8R:
description: channel 8-bit right-aligned data holding register
fields:
- name: DHR
description: DAC channel 8-bit right-aligned data
description: channel 8-bit right-aligned data
bit_offset: 0
bit_size: 8
fieldset/DHR8RD:
description: DUAL DAC 8-bit right aligned data holding register
description: dual 8-bit right aligned data holding register
fields:
- name: DHR
description: DAC channel 8-bit right-aligned data
description: channel 8-bit right-aligned data
bit_offset: 0
bit_size: 8
array:
@ -204,108 +173,29 @@ fieldset/DOR:
description: channel data output register
fields:
- name: DOR
description: DAC channel data output
description: channel data output
bit_offset: 0
bit_size: 12
fieldset/MCR:
description: mode control register
fields:
- name: MODE
description: DAC channel mode
bit_offset: 0
bit_size: 3
enum: MODE
array:
len: 2
stride: 16
fieldset/SHHR:
description: Sample and Hold hold time register
fields:
- name: THOLD
description: DAC channel hold Time
bit_offset: 0
bit_size: 10
array:
len: 2
stride: 16
fieldset/SHRR:
description: Sample and Hold refresh time register
fields:
- name: TREFRESH
description: DAC channel refresh Time
bit_offset: 0
bit_size: 8
array:
len: 2
stride: 16
fieldset/SHSR:
description: Sample and Hold sample time register
fields:
- name: TSAMPLE
description: DAC channel sample Time
bit_offset: 0
bit_size: 10
fieldset/SR:
description: status register
fields:
- name: DMAUDR
description: DAC channel DMA underrun flag
description: channel DMA underrun flag
bit_offset: 13
bit_size: 1
array:
len: 2
stride: 16
- name: CAL_FLAG
description: DAC channel calibration offset status
bit_offset: 14
bit_size: 1
array:
len: 2
stride: 16
- name: BWST
description: DAC channel busy writing sample time flag
bit_offset: 15
bit_size: 1
array:
len: 2
stride: 16
fieldset/SWTRIGR:
description: software trigger register
fields:
- name: SWTRIG
description: DAC channel software trigger
description: channel software trigger
bit_offset: 0
bit_size: 1
array:
len: 2
stride: 1
enum/MODE:
bit_size: 3
variants:
- name: NORMAL_EXT_BUFEN
description: Normal mode, external pin only, buffer enabled
value: 0
- name: NORMAL_EXT_INT_BUFEN
description: Normal mode, external pin and internal peripherals, buffer enabled
value: 1
- name: NORMAL_EXT_BUFDIS
description: Normal mode, external pin only, buffer disabled
value: 2
- name: NORMAL_INT_BUFDIS
description: Normal mode, internal peripherals only, buffer disabled
value: 3
- name: SAMPHOLD_EXT_BUFEN
description: Sample and hold mode, external pin only, buffer enabled
value: 4
- name: SAMPHOLD_EXT_INT_BUFEN
description: Sample and hold mode, external pin and internal peripherals, buffer enabled
value: 5
- name: SAMPHOLD_EXT_INT_BUFDIS
description: Sample and hold mode, external pin and internal peripherals, buffer disabled
value: 6
- name: SAMPHOLD_INT_BUFDIS
description: Sample and hold mode, internal peripherals only, buffer disabled
value: 7
enum/WAVE:
bit_size: 2
variants:

View File

@ -1,3 +1,8 @@
# DAC v3, only used in L4.
# Adds CCR, MCR, SHSR, SHHR, SHRR registers.
# Adds CEN fields to CR and BWST and CAL_FLAG fields to SR.
# Deletes BOFF fields from CR.
block/DAC:
description: Digital-to-analog converter
items:
@ -32,15 +37,15 @@ block/DAC:
byte_offset: 16
fieldset: DHR8R
- name: DHR12RD
description: Dual DAC 12-bit right-aligned data holding register
description: dual 12-bit right-aligned data holding register
byte_offset: 32
fieldset: DHR12RD
- name: DHR12LD
description: DUAL DAC 12-bit left aligned data holding register
description: dual 12-bit left aligned data holding register
byte_offset: 36
fieldset: DHR12LD
- name: DHR8RD
description: DUAL DAC 8-bit right aligned data holding register
description: dual 8-bit right aligned data holding register
byte_offset: 40
fieldset: DHR8RD
- name: DOR
@ -63,58 +68,57 @@ block/DAC:
description: mode control register
byte_offset: 60
fieldset: MCR
- name: SHSR1
description: Sample and Hold sample time register
- name: SHSR
description: sample and hold sample time register
array:
len: 2
stride: 4
byte_offset: 64
fieldset: SHSR
- name: SHHR
description: Sample and Hold hold time register
description: sample and hold hold time register
byte_offset: 72
fieldset: SHHR
- name: SHRR
description: Sample and Hold refresh time register
description: sample and hold refresh time register
byte_offset: 76
fieldset: SHRR
fieldset/CCR:
description: calibration control register
fields:
- name: OTRIM1
description: DAC Channel 1 offset trimming value
- name: OTRIM
description: channel offset trimming value
bit_offset: 0
bit_size: 5
- name: OTRIM2
description: DAC Channel 2 offset trimming value
bit_offset: 16
bit_size: 5
array:
len: 2
stride: 16
fieldset/CR:
description: control register
fields:
- name: EN
description: DAC channel enable
description: channel enable
bit_offset: 0
bit_size: 1
array:
len: 2
stride: 16
- name: TEN
description: DAC channel trigger enable
bit_offset: 1
description: channel trigger enable
bit_offset: 2
bit_size: 1
array:
len: 2
stride: 16
- name: TSEL
description: DAC channel 1 trigger selection
bit_offset: 2
bit_size: 4
description: channel trigger selection
bit_offset: 3
bit_size: 3
array:
len: 2
stride: 16
- name: WAVE
description: DAC channel noise/triangle wave generation enable
description: channel noise/triangle wave generation enable
bit_offset: 6
bit_size: 2
array:
@ -122,21 +126,21 @@ fieldset/CR:
stride: 16
enum: WAVE
- name: MAMP
description: DAC channel mask/amplitude selector
description: channel mask/amplitude selector
bit_offset: 8
bit_size: 4
array:
len: 2
stride: 16
- name: DMAEN
description: DAC channel DMA enable
description: channel DMA enable
bit_offset: 12
bit_size: 1
array:
len: 2
stride: 16
- name: DMAUDRIE
description: DAC channel DMA Underrun Interrupt enable
description: channel DMA Underrun Interrupt enable
bit_offset: 13
bit_size: 1
array:
@ -153,14 +157,14 @@ fieldset/DHR12L:
description: channel 12-bit left-aligned data holding register
fields:
- name: DHR
description: DAC channel 12-bit left-aligned data
description: channel 12-bit left-aligned data
bit_offset: 4
bit_size: 12
fieldset/DHR12LD:
description: DUAL DAC 12-bit left aligned data holding register
description: dual 12-bit left aligned data holding register
fields:
- name: DHR
description: DAC channel 12-bit left-aligned data
description: channel 12-bit left-aligned data
bit_offset: 4
bit_size: 12
array:
@ -170,14 +174,14 @@ fieldset/DHR12R:
description: channel 12-bit right-aligned data holding register
fields:
- name: DHR
description: DAC channel 12-bit right-aligned data
description: channel 12-bit right-aligned data
bit_offset: 0
bit_size: 12
fieldset/DHR12RD:
description: Dual DAC 12-bit right-aligned data holding register
description: dual 12-bit right-aligned data holding register
fields:
- name: DHR
description: DAC channel 12-bit right-aligned data
description: channel 12-bit right-aligned data
bit_offset: 0
bit_size: 12
array:
@ -187,14 +191,14 @@ fieldset/DHR8R:
description: channel 8-bit right-aligned data holding register
fields:
- name: DHR
description: DAC channel 8-bit right-aligned data
description: channel 8-bit right-aligned data
bit_offset: 0
bit_size: 8
fieldset/DHR8RD:
description: DUAL DAC 8-bit right aligned data holding register
description: dual 8-bit right aligned data holding register
fields:
- name: DHR
description: DAC channel 8-bit right-aligned data
description: channel 8-bit right-aligned data
bit_offset: 0
bit_size: 8
array:
@ -204,7 +208,7 @@ fieldset/DOR:
description: channel data output register
fields:
- name: DOR
description: DAC channel data output
description: channel data output
bit_offset: 0
bit_size: 12
fieldset/MCR:
@ -219,51 +223,51 @@ fieldset/MCR:
len: 2
stride: 16
fieldset/SHHR:
description: Sample and Hold hold time register
description: sample and hold hold time register
fields:
- name: THOLD
description: DAC channel hold Time
description: channel hold time
bit_offset: 0
bit_size: 10
array:
len: 2
stride: 16
fieldset/SHRR:
description: Sample and Hold refresh time register
description: sample and hold refresh time register
fields:
- name: TREFRESH
description: DAC channel refresh Time
description: channel refresh time
bit_offset: 0
bit_size: 8
array:
len: 2
stride: 16
fieldset/SHSR:
description: Sample and Hold sample time register
description: sample and hold sample time register
fields:
- name: TSAMPLE
description: DAC channel sample Time
description: channel sample time
bit_offset: 0
bit_size: 10
fieldset/SR:
description: status register
fields:
- name: DMAUDR
description: DAC channel DMA underrun flag
description: channel DMA underrun flag
bit_offset: 13
bit_size: 1
array:
len: 2
stride: 16
- name: CAL_FLAG
description: DAC channel calibration offset status
description: channel calibration offset status
bit_offset: 14
bit_size: 1
array:
len: 2
stride: 16
- name: BWST
description: DAC channel busy writing sample time flag
description: channel busy writing sample time flag
bit_offset: 15
bit_size: 1
array:
@ -273,7 +277,7 @@ fieldset/SWTRIGR:
description: software trigger register
fields:
- name: SWTRIG
description: DAC channel software trigger
description: channel software trigger
bit_offset: 0
bit_size: 1
array:

View File

@ -1,3 +1,6 @@
# DAC v4, used in G0, H7, WL.
# Moves CR.TEN to bit 1, extends CR.TSEL to be 4 bits (2 to 5).
block/DAC:
description: Digital-to-analog converter
items:
@ -32,15 +35,15 @@ block/DAC:
byte_offset: 16
fieldset: DHR8R
- name: DHR12RD
description: Dual DAC 12-bit right-aligned data holding register
description: dual 12-bit right-aligned data holding register
byte_offset: 32
fieldset: DHR12RD
- name: DHR12LD
description: DUAL DAC 12-bit left aligned data holding register
description: dual 12-bit left aligned data holding register
byte_offset: 36
fieldset: DHR12LD
- name: DHR8RD
description: DUAL DAC 8-bit right aligned data holding register
description: dual 8-bit right aligned data holding register
byte_offset: 40
fieldset: DHR8RD
- name: DOR
@ -63,69 +66,57 @@ block/DAC:
description: mode control register
byte_offset: 60
fieldset: MCR
- name: SHSR1
description: Sample and Hold sample time register
- name: SHSR
description: sample and hold sample time register
array:
len: 2
stride: 4
byte_offset: 64
fieldset: SHSR
- name: SHHR
description: Sample and Hold hold time register
description: sample and hold hold time register
byte_offset: 72
fieldset: SHHR
- name: SHRR
description: Sample and Hold refresh time register
description: sample and hold refresh time register
byte_offset: 76
fieldset: SHRR
- name: STR
description: Sawtooth register
byte_offset: 88
fieldset: STR
array:
len: 2
stride: 4
- name: STMODR
description: Sawtooth Mode register
byte_offset: 96
fieldset: STMODR
fieldset/CCR:
description: calibration control register
fields:
- name: OTRIM1
description: DAC Channel 1 offset trimming value
- name: OTRIM
description: channel offset trimming value
bit_offset: 0
bit_size: 5
- name: OTRIM2
description: DAC Channel 2 offset trimming value
bit_offset: 16
bit_size: 5
array:
len: 2
stride: 16
fieldset/CR:
description: control register
fields:
- name: EN
description: DAC channel enable
description: channel enable
bit_offset: 0
bit_size: 1
array:
len: 2
stride: 16
- name: TEN
description: DAC channel trigger enable
description: channel trigger enable
bit_offset: 1
bit_size: 1
array:
len: 2
stride: 16
- name: TSEL
description: DAC channel 1 trigger selection
description: channel trigger selection
bit_offset: 2
bit_size: 4
array:
len: 2
stride: 16
- name: WAVE
description: DAC channel noise/triangle wave generation enable
description: channel noise/triangle wave generation enable
bit_offset: 6
bit_size: 2
array:
@ -133,21 +124,21 @@ fieldset/CR:
stride: 16
enum: WAVE
- name: MAMP
description: DAC channel mask/amplitude selector
description: channel mask/amplitude selector
bit_offset: 8
bit_size: 4
array:
len: 2
stride: 16
- name: DMAEN
description: DAC channel DMA enable
description: channel DMA enable
bit_offset: 12
bit_size: 1
array:
len: 2
stride: 16
- name: DMAUDRIE
description: DAC channel DMA Underrun Interrupt enable
description: channel DMA Underrun Interrupt enable
bit_offset: 13
bit_size: 1
array:
@ -164,18 +155,14 @@ fieldset/DHR12L:
description: channel 12-bit left-aligned data holding register
fields:
- name: DHR
description: DAC channel 12-bit left-aligned data
description: channel 12-bit left-aligned data
bit_offset: 4
bit_size: 12
- name: DHRB
description: DAC channel 12-bit left-aligned data B.
bit_offset: 20
bit_size: 12
fieldset/DHR12LD:
description: DUAL DAC 12-bit left aligned data holding register
description: dual 12-bit left aligned data holding register
fields:
- name: DHR
description: DAC channel 12-bit left-aligned data
description: channel 12-bit left-aligned data
bit_offset: 4
bit_size: 12
array:
@ -185,18 +172,14 @@ fieldset/DHR12R:
description: channel 12-bit right-aligned data holding register
fields:
- name: DHR
description: DAC channel 12-bit right-aligned data
description: channel 12-bit right-aligned data
bit_offset: 0
bit_size: 12
- name: DHRB
description: channel 12-bit right-aligned data B
bit_offset: 16
bit_size: 12
fieldset/DHR12RD:
description: Dual DAC 12-bit right-aligned data holding register
description: dual 12-bit right-aligned data holding register
fields:
- name: DHR
description: DAC channel 12-bit right-aligned data
description: channel 12-bit right-aligned data
bit_offset: 0
bit_size: 12
array:
@ -206,18 +189,14 @@ fieldset/DHR8R:
description: channel 8-bit right-aligned data holding register
fields:
- name: DHR
description: DAC channel 8-bit right-aligned data
description: channel 8-bit right-aligned data
bit_offset: 0
bit_size: 8
- name: DHRB
description: DAC channel 8-bit right-aligned data B
bit_offset: 8
bit_size: 8
fieldset/DHR8RD:
description: DUAL DAC 8-bit right aligned data holding register
description: dual 8-bit right aligned data holding register
fields:
- name: DHR
description: DAC channel 8-bit right-aligned data
description: channel 8-bit right-aligned data
bit_offset: 0
bit_size: 8
array:
@ -227,13 +206,9 @@ fieldset/DOR:
description: channel data output register
fields:
- name: DOR
description: DAC channel data output
description: channel data output
bit_offset: 0
bit_size: 12
- name: DORB
description: DAC channel data output B
bit_offset: 16
bit_size: 12
fieldset/MCR:
description: mode control register
fields:
@ -245,140 +220,67 @@ fieldset/MCR:
array:
len: 2
stride: 16
- name: DMADOUBLE
description: DAC Channel1 DMA double data mode.
bit_offset: 8
bit_size: 1
array:
len: 2
stride: 16
- name: SINFORMAT
description: Enable signed format for DAC channel1.
bit_offset: 9
bit_size: 1
array:
len: 2
stride: 16
- name: HFSEL
description: High frequency interface mode selection.
bit_offset: 14
bit_size: 2
fieldset/SHHR:
description: Sample and Hold hold time register
description: sample and hold hold time register
fields:
- name: THOLD
description: DAC channel hold Time
description: channel hold time
bit_offset: 0
bit_size: 10
array:
len: 2
stride: 16
fieldset/SHRR:
description: Sample and Hold refresh time register
description: sample and hold refresh time register
fields:
- name: TREFRESH
description: DAC channel refresh Time
description: channel refresh time
bit_offset: 0
bit_size: 8
array:
len: 2
stride: 16
fieldset/SHSR:
description: Sample and Hold sample time register
description: sample and hold sample time register
fields:
- name: TSAMPLE
description: DAC channel sample Time
description: channel sample time
bit_offset: 0
bit_size: 10
fieldset/SR:
description: status register
fields:
- name: DACRDY
description: DAC channel ready status bit.
bit_offset: 11
bit_size: 1
array:
len: 2
stride: 16
- name: DORSTAT
description: DAC channel output register status bit.
bit_offset: 12
bit_size: 1
array:
len: 2
stride: 16
- name: DMAUDR
description: DAC channel DMA underrun flag
description: channel DMA underrun flag
bit_offset: 13
bit_size: 1
array:
len: 2
stride: 16
- name: CAL_FLAG
description: DAC channel calibration offset status
description: channel calibration offset status
bit_offset: 14
bit_size: 1
array:
len: 2
stride: 16
- name: BWST
description: DAC channel busy writing sample time flag
description: channel busy writing sample time flag
bit_offset: 15
bit_size: 1
array:
len: 2
stride: 16
fieldset/STMODR:
description: Sawtooth Mode register.
fields:
- name: STRSTTRIGSEL1
description: DAC Channel 1 Sawtooth Reset trigger selection.
bit_offset: 0
bit_size: 4
- name: STINCTRIGSEL1
description: DAC Channel 1 Sawtooth Increment trigger selection.
bit_offset: 8
bit_size: 4
- name: STRSTTRIGSEL2
description: DAC Channel 1 Sawtooth Reset trigger selection.
bit_offset: 16
bit_size: 4
- name: STINCTRIGSEL2
description: DAC Channel 2 Sawtooth Increment trigger selection.
bit_offset: 24
bit_size: 4
fieldset/STR:
description: Sawtooth register.
fields:
- name: RSTDATA
description: DAC Channel Sawtooth reset value.
bit_offset: 0
bit_size: 12
- name: DIR
description: DAC Channel Sawtooth direction setting.
bit_offset: 12
bit_size: 1
- name: INCDATA
description: DAC Sawtooth increment value (12.4 bit format)
bit_offset: 16
bit_size: 16
fieldset/SWTRIGR:
description: software trigger register
fields:
- name: SWTRIG
description: DAC channel software trigger
description: channel software trigger
bit_offset: 0
bit_size: 1
array:
len: 2
stride: 1
- name: SWTRIGB
description: DAC channel software trigger B.
bit_offset: 16
bit_size: 1
array:
len: 2
stride: 1
enum/MODE:
bit_size: 3
variants:
@ -418,6 +320,3 @@ enum/WAVE:
- name: Triangle
description: Triangle wave generation enabled
value: 2
- name: Sawtooth
description: Sawtooth wave generation enabled
value: 3

326
data/registers/dac_v5.yaml Normal file
View File

@ -0,0 +1,326 @@
# DAC v5, used in L4+ and L5.
# Adds HFSEL field to CR.
block/DAC:
description: Digital-to-analog converter
items:
- name: CR
description: control register
byte_offset: 0
fieldset: CR
- name: SWTRIGR
description: software trigger register
byte_offset: 4
access: Write
fieldset: SWTRIGR
- name: DHR12R
description: channel 12-bit right-aligned data holding register
array:
len: 2
stride: 12
byte_offset: 8
fieldset: DHR12R
- name: DHR12L
description: channel 12-bit left-aligned data holding register
array:
len: 2
stride: 12
byte_offset: 12
fieldset: DHR12L
- name: DHR8R
description: channel 8-bit right-aligned data holding register
array:
len: 2
stride: 12
byte_offset: 16
fieldset: DHR8R
- name: DHR12RD
description: dual 12-bit right-aligned data holding register
byte_offset: 32
fieldset: DHR12RD
- name: DHR12LD
description: dual 12-bit left aligned data holding register
byte_offset: 36
fieldset: DHR12LD
- name: DHR8RD
description: dual 8-bit right aligned data holding register
byte_offset: 40
fieldset: DHR8RD
- name: DOR
description: channel data output register
array:
len: 2
stride: 4
byte_offset: 44
access: Read
fieldset: DOR
- name: SR
description: status register
byte_offset: 52
fieldset: SR
- name: CCR
description: calibration control register
byte_offset: 56
fieldset: CCR
- name: MCR
description: mode control register
byte_offset: 60
fieldset: MCR
- name: SHSR
description: sample and hold sample time register
array:
len: 2
stride: 4
byte_offset: 64
fieldset: SHSR
- name: SHHR
description: sample and hold hold time register
byte_offset: 72
fieldset: SHHR
- name: SHRR
description: sample and hold refresh time register
byte_offset: 76
fieldset: SHRR
fieldset/CCR:
description: calibration control register
fields:
- name: OTRIM
description: channel offset trimming value
bit_offset: 0
bit_size: 5
array:
len: 2
stride: 16
fieldset/CR:
description: control register
fields:
- name: EN
description: channel enable
bit_offset: 0
bit_size: 1
array:
len: 2
stride: 16
- name: TEN
description: channel trigger enable
bit_offset: 1
bit_size: 1
array:
len: 2
stride: 16
- name: TSEL
description: channel trigger selection
bit_offset: 2
bit_size: 4
array:
len: 2
stride: 16
- name: WAVE
description: channel noise/triangle wave generation enable
bit_offset: 6
bit_size: 2
array:
len: 2
stride: 16
enum: WAVE
- name: MAMP
description: channel mask/amplitude selector
bit_offset: 8
bit_size: 4
array:
len: 2
stride: 16
- name: DMAEN
description: channel DMA enable
bit_offset: 12
bit_size: 1
array:
len: 2
stride: 16
- name: DMAUDRIE
description: channel DMA Underrun Interrupt enable
bit_offset: 13
bit_size: 1
array:
len: 2
stride: 16
- name: CEN
description: DAC channel calibration enable
bit_offset: 14
bit_size: 1
array:
len: 2
stride: 16
- name: HFSEL
description: high frequency interface mode enable
bit_offset: 15
bit_size: 1
fieldset/DHR12L:
description: channel 12-bit left-aligned data holding register
fields:
- name: DHR
description: channel 12-bit left-aligned data
bit_offset: 4
bit_size: 12
fieldset/DHR12LD:
description: dual 12-bit left aligned data holding register
fields:
- name: DHR
description: channel 12-bit left-aligned data
bit_offset: 4
bit_size: 12
array:
len: 2
stride: 16
fieldset/DHR12R:
description: channel 12-bit right-aligned data holding register
fields:
- name: DHR
description: channel 12-bit right-aligned data
bit_offset: 0
bit_size: 12
fieldset/DHR12RD:
description: dual 12-bit right-aligned data holding register
fields:
- name: DHR
description: channel 12-bit right-aligned data
bit_offset: 0
bit_size: 12
array:
len: 2
stride: 16
fieldset/DHR8R:
description: channel 8-bit right-aligned data holding register
fields:
- name: DHR
description: channel 8-bit right-aligned data
bit_offset: 0
bit_size: 8
fieldset/DHR8RD:
description: dual 8-bit right aligned data holding register
fields:
- name: DHR
description: channel 8-bit right-aligned data
bit_offset: 0
bit_size: 8
array:
len: 2
stride: 8
fieldset/DOR:
description: channel data output register
fields:
- name: DOR
description: channel data output
bit_offset: 0
bit_size: 12
fieldset/MCR:
description: mode control register
fields:
- name: MODE
description: DAC channel mode
bit_offset: 0
bit_size: 3
enum: MODE
array:
len: 2
stride: 16
fieldset/SHHR:
description: sample and hold hold time register
fields:
- name: THOLD
description: channel hold time
bit_offset: 0
bit_size: 10
array:
len: 2
stride: 16
fieldset/SHRR:
description: sample and hold refresh time register
fields:
- name: TREFRESH
description: channel refresh time
bit_offset: 0
bit_size: 8
array:
len: 2
stride: 16
fieldset/SHSR:
description: sample and hold sample time register
fields:
- name: TSAMPLE
description: channel sample time
bit_offset: 0
bit_size: 10
fieldset/SR:
description: status register
fields:
- name: DMAUDR
description: channel DMA underrun flag
bit_offset: 13
bit_size: 1
array:
len: 2
stride: 16
- name: CAL_FLAG
description: channel calibration offset status
bit_offset: 14
bit_size: 1
array:
len: 2
stride: 16
- name: BWST
description: channel busy writing sample time flag
bit_offset: 15
bit_size: 1
array:
len: 2
stride: 16
fieldset/SWTRIGR:
description: software trigger register
fields:
- name: SWTRIG
description: channel software trigger
bit_offset: 0
bit_size: 1
array:
len: 2
stride: 1
enum/MODE:
bit_size: 3
variants:
- name: NORMAL_EXT_BUFEN
description: Normal mode, external pin only, buffer enabled
value: 0
- name: NORMAL_EXT_INT_BUFEN
description: Normal mode, external pin and internal peripherals, buffer enabled
value: 1
- name: NORMAL_EXT_BUFDIS
description: Normal mode, external pin only, buffer disabled
value: 2
- name: NORMAL_INT_BUFDIS
description: Normal mode, internal peripherals only, buffer disabled
value: 3
- name: SAMPHOLD_EXT_BUFEN
description: Sample and hold mode, external pin only, buffer enabled
value: 4
- name: SAMPHOLD_EXT_INT_BUFEN
description: Sample and hold mode, external pin and internal peripherals, buffer enabled
value: 5
- name: SAMPHOLD_EXT_INT_BUFDIS
description: Sample and hold mode, external pin and internal peripherals, buffer disabled
value: 6
- name: SAMPHOLD_INT_BUFDIS
description: Sample and hold mode, internal peripherals only, buffer disabled
value: 7
enum/WAVE:
bit_size: 2
variants:
- name: Disabled
description: Wave generation disabled
value: 0
- name: Noise
description: Noise wave generation enabled
value: 1
- name: Triangle
description: Triangle wave generation enabled
value: 2

379
data/registers/dac_v6.yaml Normal file
View File

@ -0,0 +1,379 @@
# DAC v6, used in H5 and U5.
# Adds DMADOUBLE and SINFORMAT fields to MCR, DACRDY and DORSTAT fields to SR
# Adds B data fields to data holding registers
# Moves HFSEL from CR to MCR and makes it 2 bits.
block/DAC:
description: Digital-to-analog converter
items:
- name: CR
description: control register
byte_offset: 0
fieldset: CR
- name: SWTRIGR
description: software trigger register
byte_offset: 4
access: Write
fieldset: SWTRIGR
- name: DHR12R
description: channel 12-bit right-aligned data holding register
array:
len: 2
stride: 12
byte_offset: 8
fieldset: DHR12R
- name: DHR12L
description: channel 12-bit left-aligned data holding register
array:
len: 2
stride: 12
byte_offset: 12
fieldset: DHR12L
- name: DHR8R
description: channel 8-bit right-aligned data holding register
array:
len: 2
stride: 12
byte_offset: 16
fieldset: DHR8R
- name: DHR12RD
description: dual 12-bit right-aligned data holding register
byte_offset: 32
fieldset: DHR12RD
- name: DHR12LD
description: dual 12-bit left aligned data holding register
byte_offset: 36
fieldset: DHR12LD
- name: DHR8RD
description: dual 8-bit right aligned data holding register
byte_offset: 40
fieldset: DHR8RD
- name: DOR
description: channel data output register
array:
len: 2
stride: 4
byte_offset: 44
access: Read
fieldset: DOR
- name: SR
description: status register
byte_offset: 52
fieldset: SR
- name: CCR
description: calibration control register
byte_offset: 56
fieldset: CCR
- name: MCR
description: mode control register
byte_offset: 60
fieldset: MCR
- name: SHSR
description: sample and hold sample time register
array:
len: 2
stride: 4
byte_offset: 64
fieldset: SHSR
- name: SHHR
description: sample and hold hold time register
byte_offset: 72
fieldset: SHHR
- name: SHRR
description: sample and hold refresh time register
byte_offset: 76
fieldset: SHRR
fieldset/CCR:
description: calibration control register
fields:
- name: OTRIM
description: channel offset trimming value
bit_offset: 0
bit_size: 5
array:
len: 2
stride: 16
fieldset/CR:
description: control register
fields:
- name: EN
description: channel enable
bit_offset: 0
bit_size: 1
array:
len: 2
stride: 16
- name: TEN
description: channel trigger enable
bit_offset: 1
bit_size: 1
array:
len: 2
stride: 16
- name: TSEL
description: channel trigger selection
bit_offset: 2
bit_size: 4
array:
len: 2
stride: 16
- name: WAVE
description: channel noise/triangle wave generation enable
bit_offset: 6
bit_size: 2
array:
len: 2
stride: 16
enum: WAVE
- name: MAMP
description: channel mask/amplitude selector
bit_offset: 8
bit_size: 4
array:
len: 2
stride: 16
- name: DMAEN
description: channel DMA enable
bit_offset: 12
bit_size: 1
array:
len: 2
stride: 16
- name: DMAUDRIE
description: channel DMA Underrun Interrupt enable
bit_offset: 13
bit_size: 1
array:
len: 2
stride: 16
- name: CEN
description: DAC channel calibration enable
bit_offset: 14
bit_size: 1
array:
len: 2
stride: 16
fieldset/DHR12L:
description: channel 12-bit left-aligned data holding register
fields:
- name: DHR
description: channel 12-bit left-aligned data
bit_offset: 4
bit_size: 12
- name: DHRB
description: channel 12-bit left-aligned data B
bit_offset: 20
bit_size: 12
fieldset/DHR12LD:
description: dual 12-bit left aligned data holding register
fields:
- name: DHR
description: channel 12-bit left-aligned data
bit_offset: 4
bit_size: 12
array:
len: 2
stride: 16
fieldset/DHR12R:
description: channel 12-bit right-aligned data holding register
fields:
- name: DHR
description: channel 12-bit right-aligned data
bit_offset: 0
bit_size: 12
- name: DHRB
description: channel 12-bit right-aligned data B
bit_offset: 16
bit_size: 12
fieldset/DHR12RD:
description: dual 12-bit right-aligned data holding register
fields:
- name: DHR
description: channel 12-bit right-aligned data
bit_offset: 0
bit_size: 12
array:
len: 2
stride: 16
fieldset/DHR8R:
description: channel 8-bit right-aligned data holding register
fields:
- name: DHR
description: channel 8-bit right-aligned data
bit_offset: 0
bit_size: 8
- name: DHRB
description: channel 8-bit right-aligned data B
bit_offset: 8
bit_size: 8
fieldset/DHR8RD:
description: dual 8-bit right aligned data holding register
fields:
- name: DHR
description: channel 8-bit right-aligned data
bit_offset: 0
bit_size: 8
array:
len: 2
stride: 8
fieldset/DOR:
description: channel data output register
fields:
- name: DOR
description: channel data output
bit_offset: 0
bit_size: 12
- name: DORB
description: channel data output B
bit_offset: 16
bit_size: 12
fieldset/MCR:
description: mode control register
fields:
- name: MODE
description: DAC channel mode
bit_offset: 0
bit_size: 3
enum: MODE
array:
len: 2
stride: 16
- name: DMADOUBLE
description: channel DMA double data mode.
bit_offset: 8
bit_size: 1
array:
len: 2
stride: 16
- name: SINFORMAT
description: enable signed format for DAC channel
bit_offset: 9
bit_size: 1
array:
len: 2
stride: 16
- name: HFSEL
description: high frequency interface mode selection
bit_offset: 14
bit_size: 2
fieldset/SHHR:
description: sample and hold hold time register
fields:
- name: THOLD
description: channel hold time
bit_offset: 0
bit_size: 10
array:
len: 2
stride: 16
fieldset/SHRR:
description: sample and hold refresh time register
fields:
- name: TREFRESH
description: channel refresh time
bit_offset: 0
bit_size: 8
array:
len: 2
stride: 16
fieldset/SHSR:
description: sample and hold sample time register
fields:
- name: TSAMPLE
description: channel sample time
bit_offset: 0
bit_size: 10
fieldset/SR:
description: status register
fields:
- name: DACRDY
description: channel ready status bit
bit_offset: 11
bit_size: 1
array:
len: 2
stride: 16
- name: DORSTAT
description: channel output register status bit
bit_offset: 12
bit_size: 1
array:
len: 2
stride: 16
- name: DMAUDR
description: channel DMA underrun flag
bit_offset: 13
bit_size: 1
array:
len: 2
stride: 16
- name: CAL_FLAG
description: channel calibration offset status
bit_offset: 14
bit_size: 1
array:
len: 2
stride: 16
- name: BWST
description: channel busy writing sample time flag
bit_offset: 15
bit_size: 1
array:
len: 2
stride: 16
fieldset/SWTRIGR:
description: software trigger register
fields:
- name: SWTRIG
description: channel software trigger
bit_offset: 0
bit_size: 1
array:
len: 2
stride: 1
- name: SWTRIGB
description: channel software trigger B
bit_offset: 16
bit_size: 1
array:
len: 2
stride: 1
enum/MODE:
bit_size: 3
variants:
- name: NORMAL_EXT_BUFEN
description: Normal mode, external pin only, buffer enabled
value: 0
- name: NORMAL_EXT_INT_BUFEN
description: Normal mode, external pin and internal peripherals, buffer enabled
value: 1
- name: NORMAL_EXT_BUFDIS
description: Normal mode, external pin only, buffer disabled
value: 2
- name: NORMAL_INT_BUFDIS
description: Normal mode, internal peripherals only, buffer disabled
value: 3
- name: SAMPHOLD_EXT_BUFEN
description: Sample and hold mode, external pin only, buffer enabled
value: 4
- name: SAMPHOLD_EXT_INT_BUFEN
description: Sample and hold mode, external pin and internal peripherals, buffer enabled
value: 5
- name: SAMPHOLD_EXT_INT_BUFDIS
description: Sample and hold mode, external pin and internal peripherals, buffer disabled
value: 6
- name: SAMPHOLD_INT_BUFDIS
description: Sample and hold mode, internal peripherals only, buffer disabled
value: 7
enum/WAVE:
bit_size: 2
variants:
- name: Disabled
description: Wave generation disabled
value: 0
- name: Noise
description: Noise wave generation enabled
value: 1
- name: Triangle
description: Triangle wave generation enabled
value: 2

423
data/registers/dac_v7.yaml Normal file
View File

@ -0,0 +1,423 @@
# DAC v7, used in G4.
# Adds STR, STMODR for sawtooth control.
block/DAC:
description: Digital-to-analog converter
items:
- name: CR
description: control register
byte_offset: 0
fieldset: CR
- name: SWTRIGR
description: software trigger register
byte_offset: 4
access: Write
fieldset: SWTRIGR
- name: DHR12R
description: channel 12-bit right-aligned data holding register
array:
len: 2
stride: 12
byte_offset: 8
fieldset: DHR12R
- name: DHR12L
description: channel 12-bit left-aligned data holding register
array:
len: 2
stride: 12
byte_offset: 12
fieldset: DHR12L
- name: DHR8R
description: channel 8-bit right-aligned data holding register
array:
len: 2
stride: 12
byte_offset: 16
fieldset: DHR8R
- name: DHR12RD
description: dual 12-bit right-aligned data holding register
byte_offset: 32
fieldset: DHR12RD
- name: DHR12LD
description: dual 12-bit left aligned data holding register
byte_offset: 36
fieldset: DHR12LD
- name: DHR8RD
description: dual 8-bit right aligned data holding register
byte_offset: 40
fieldset: DHR8RD
- name: DOR
description: channel data output register
array:
len: 2
stride: 4
byte_offset: 44
access: Read
fieldset: DOR
- name: SR
description: status register
byte_offset: 52
fieldset: SR
- name: CCR
description: calibration control register
byte_offset: 56
fieldset: CCR
- name: MCR
description: mode control register
byte_offset: 60
fieldset: MCR
- name: SHSR
description: sample and hold sample time register
array:
len: 2
stride: 4
byte_offset: 64
fieldset: SHSR
- name: SHHR
description: sample and hold hold time register
byte_offset: 72
fieldset: SHHR
- name: SHRR
description: sample and hold refresh time register
byte_offset: 76
fieldset: SHRR
- name: STR
description: Sawtooth register
byte_offset: 88
fieldset: STR
array:
len: 2
stride: 4
- name: STMODR
description: Sawtooth Mode register
byte_offset: 96
fieldset: STMODR
fieldset/CCR:
description: calibration control register
fields:
- name: OTRIM
description: channel offset trimming value
bit_offset: 0
bit_size: 5
array:
len: 2
stride: 16
fieldset/CR:
description: control register
fields:
- name: EN
description: channel enable
bit_offset: 0
bit_size: 1
array:
len: 2
stride: 16
- name: TEN
description: channel trigger enable
bit_offset: 1
bit_size: 1
array:
len: 2
stride: 16
- name: TSEL
description: channel trigger selection
bit_offset: 2
bit_size: 4
array:
len: 2
stride: 16
- name: WAVE
description: channel noise/triangle wave generation enable
bit_offset: 6
bit_size: 2
array:
len: 2
stride: 16
enum: WAVE
- name: MAMP
description: channel mask/amplitude selector
bit_offset: 8
bit_size: 4
array:
len: 2
stride: 16
- name: DMAEN
description: channel DMA enable
bit_offset: 12
bit_size: 1
array:
len: 2
stride: 16
- name: DMAUDRIE
description: channel DMA Underrun Interrupt enable
bit_offset: 13
bit_size: 1
array:
len: 2
stride: 16
- name: CEN
description: DAC channel calibration enable
bit_offset: 14
bit_size: 1
array:
len: 2
stride: 16
fieldset/DHR12L:
description: channel 12-bit left-aligned data holding register
fields:
- name: DHR
description: channel 12-bit left-aligned data
bit_offset: 4
bit_size: 12
- name: DHRB
description: channel 12-bit left-aligned data B
bit_offset: 20
bit_size: 12
fieldset/DHR12LD:
description: dual 12-bit left aligned data holding register
fields:
- name: DHR
description: channel 12-bit left-aligned data
bit_offset: 4
bit_size: 12
array:
len: 2
stride: 16
fieldset/DHR12R:
description: channel 12-bit right-aligned data holding register
fields:
- name: DHR
description: channel 12-bit right-aligned data
bit_offset: 0
bit_size: 12
- name: DHRB
description: channel 12-bit right-aligned data B
bit_offset: 16
bit_size: 12
fieldset/DHR12RD:
description: dual 12-bit right-aligned data holding register
fields:
- name: DHR
description: channel 12-bit right-aligned data
bit_offset: 0
bit_size: 12
array:
len: 2
stride: 16
fieldset/DHR8R:
description: channel 8-bit right-aligned data holding register
fields:
- name: DHR
description: channel 8-bit right-aligned data
bit_offset: 0
bit_size: 8
- name: DHRB
description: channel 8-bit right-aligned data B
bit_offset: 8
bit_size: 8
fieldset/DHR8RD:
description: dual 8-bit right aligned data holding register
fields:
- name: DHR
description: channel 8-bit right-aligned data
bit_offset: 0
bit_size: 8
array:
len: 2
stride: 8
fieldset/DOR:
description: channel data output register
fields:
- name: DOR
description: channel data output
bit_offset: 0
bit_size: 12
- name: DORB
description: channel data output B
bit_offset: 16
bit_size: 12
fieldset/MCR:
description: mode control register
fields:
- name: MODE
description: DAC channel mode
bit_offset: 0
bit_size: 3
enum: MODE
array:
len: 2
stride: 16
- name: DMADOUBLE
description: channel DMA double data mode.
bit_offset: 8
bit_size: 1
array:
len: 2
stride: 16
- name: SINFORMAT
description: enable signed format for DAC channel
bit_offset: 9
bit_size: 1
array:
len: 2
stride: 16
- name: HFSEL
description: high frequency interface mode selection
bit_offset: 14
bit_size: 2
fieldset/SHHR:
description: sample and hold hold time register
fields:
- name: THOLD
description: channel hold time
bit_offset: 0
bit_size: 10
array:
len: 2
stride: 16
fieldset/SHRR:
description: sample and hold refresh time register
fields:
- name: TREFRESH
description: channel refresh time
bit_offset: 0
bit_size: 8
array:
len: 2
stride: 16
fieldset/SHSR:
description: sample and hold sample time register
fields:
- name: TSAMPLE
description: channel sample time
bit_offset: 0
bit_size: 10
fieldset/SR:
description: status register
fields:
- name: DACRDY
description: channel ready status bit
bit_offset: 11
bit_size: 1
array:
len: 2
stride: 16
- name: DORSTAT
description: channel output register status bit
bit_offset: 12
bit_size: 1
array:
len: 2
stride: 16
- name: DMAUDR
description: channel DMA underrun flag
bit_offset: 13
bit_size: 1
array:
len: 2
stride: 16
- name: CAL_FLAG
description: channel calibration offset status
bit_offset: 14
bit_size: 1
array:
len: 2
stride: 16
- name: BWST
description: channel busy writing sample time flag
bit_offset: 15
bit_size: 1
array:
len: 2
stride: 16
fieldset/STMODR:
description: sawtooth mode register
fields:
- name: STRSTTRIGSEL
description: channel sawtooth reset trigger selection
bit_offset: 0
bit_size: 4
array:
len: 2
stride: 16
- name: STINCTRIGSEL
description: channel sawtooth increment trigger selection
bit_offset: 8
bit_size: 4
array:
len: 2
stride: 16
fieldset/STR:
description: sawtooth register
fields:
- name: RSTDATA
description: channel sawtooth reset value.
bit_offset: 0
bit_size: 12
- name: DIR
description: channel sawtooth direction setting
bit_offset: 12
bit_size: 1
- name: INCDATA
description: channel sawtooth increment value (12.4 bit format)
bit_offset: 16
bit_size: 16
fieldset/SWTRIGR:
description: software trigger register
fields:
- name: SWTRIG
description: channel software trigger
bit_offset: 0
bit_size: 1
array:
len: 2
stride: 1
- name: SWTRIGB
description: channel software trigger B
bit_offset: 16
bit_size: 1
array:
len: 2
stride: 1
enum/MODE:
bit_size: 3
variants:
- name: NORMAL_EXT_BUFEN
description: Normal mode, external pin only, buffer enabled
value: 0
- name: NORMAL_EXT_INT_BUFEN
description: Normal mode, external pin and internal peripherals, buffer enabled
value: 1
- name: NORMAL_EXT_BUFDIS
description: Normal mode, external pin only, buffer disabled
value: 2
- name: NORMAL_INT_BUFDIS
description: Normal mode, internal peripherals only, buffer disabled
value: 3
- name: SAMPHOLD_EXT_BUFEN
description: Sample and hold mode, external pin only, buffer enabled
value: 4
- name: SAMPHOLD_EXT_INT_BUFEN
description: Sample and hold mode, external pin and internal peripherals, buffer enabled
value: 5
- name: SAMPHOLD_EXT_INT_BUFDIS
description: Sample and hold mode, external pin and internal peripherals, buffer disabled
value: 6
- name: SAMPHOLD_INT_BUFDIS
description: Sample and hold mode, internal peripherals only, buffer disabled
value: 7
enum/WAVE:
bit_size: 2
variants:
- name: Disabled
description: Wave generation disabled
value: 0
- name: Noise
description: Noise wave generation enabled
value: 1
- name: Triangle
description: Triangle wave generation enabled
value: 2
- name: Sawtooth
description: Sawtooth wave generation enabled
value: 3

View File

@ -176,13 +176,19 @@ impl PeriMatcher {
(".*:I2C:F0-i2c2_v1_1", ("i2c", "v2", "I2C")),
(".*:I2C:i2c2_v1_1F7", ("i2c", "v2", "I2C")),
(".*:I2C:i2c2_v1_1U5", ("i2c", "v2", "I2C")),
(".*:DAC:dacif_v1_1", ("dac", "v1", "DAC")),
(".*:DAC:dacif_v1_1F1", ("dac", "v1", "DAC")),
(".*:DAC:F0dacif_v1_1", ("dac", "v1", "DAC")),
(".*:DAC:dacif_v2_0", ("dac", "v2", "DAC")),
(".*:DAC:dacif_v3_0", ("dac", "v3", "DAC")),
(".*:DAC:F3_dacif_v1_1", ("dac", "v1", "DAC")),
(".*:DAC:G4_dacif_v4_0", ("dac", "v4", "DAC")),
("STM32F10[1357].*:DAC:dacif_v1_1F1", ("dac", "v1", "DAC")), // Original F1 are v1
(".*:DAC:dacif_v1_1F1", ("dac", "v2", "DAC")),
(".*:DAC:F0dacif_v1_1", ("dac", "v2", "DAC")),
(".*:DAC:F3_dacif_v1_1", ("dac", "v2", "DAC")),
(".*:DAC:dacif_v1_1", ("dac", "v2", "DAC")),
(".*:DAC:dacif_v1_2", ("dac", "v2", "DAC")),
("STM32L4[1-9A].*:DAC:dacif_v2_0", ("dac", "v3", "DAC")), // L4 non-plus are v3
(".*:DAC:dacif_v2_0", ("dac", "v5", "DAC")),
(".*:DAC:dacif_v2_0_U5", ("dac", "v6", "DAC")),
(".*:DAC:dacif_v3_0", ("dac", "v4", "DAC")),
(".*:DAC:WL_dacif_v3_0", ("dac", "v4", "DAC")),
(".*:DAC:G4_dacif_v4_0", ("dac", "v7", "DAC")),
(".*:DAC:dacif_v5_0", ("dac", "v6", "DAC")),
(".*:ADC:aditf_v2_5F1", ("adc", "f1", "ADC")),
(".*:ADC:aditf5_v1_1", ("adc", "f3", "ADC")),
(".*:ADC:aditf_v2_5", ("adc", "f3_v2", "ADC")),