Merge pull request #104 from embassy-rs/stm32g4

Stm32g4
This commit is contained in:
Dario Nieuwenhuis 2021-11-27 02:21:32 +01:00 committed by GitHub
commit b643072930
7 changed files with 496 additions and 1882 deletions

View File

@ -33,46 +33,20 @@ block/PWR:
byte_offset: 24
access: Write
fieldset: SCR
- name: PUCRA
description: Power Port A pull-up control register
- name: PUCR
description: Power Port pull-up control register
byte_offset: 32
fieldset: PUCRA
- name: PDCRA
description: Power Port A pull-down control register
fieldset: PCR
array:
len: 6
stride: 8
- name: PDCR
description: Power Port pull-down control register
byte_offset: 36
fieldset: PDCRA
- name: PUCRB
description: Power Port B pull-up control register
byte_offset: 40
fieldset: PUCRB
- name: PDCRB
description: Power Port B pull-down control register
byte_offset: 44
fieldset: PDCRB
- name: PUCRC
description: Power Port C pull-up control register
byte_offset: 48
fieldset: PUCRC
- name: PDCRC
description: Power Port C pull-down control register
byte_offset: 52
fieldset: PDCRC
- name: PUCRD
description: Power Port D pull-up control register
byte_offset: 56
fieldset: PUCRD
- name: PDCRD
description: Power Port D pull-down control register
byte_offset: 60
fieldset: PDCRD
- name: PUCRF
description: Power Port F pull-up control register
byte_offset: 72
fieldset: PUCRF
- name: PDCRF
description: Power Port F pull-down control register
byte_offset: 76
fieldset: PDCRF
fieldset: PCR
array:
len: 6
stride: 8
fieldset/CR1:
description: Power control register 1
fields:
@ -189,516 +163,16 @@ fieldset/CR4:
description: VBAT battery charging resistor selection
bit_offset: 9
bit_size: 1
fieldset/PDCRA:
description: Power Port A pull-down control register
fieldset/PCR:
description: Power Port pull control register
fields:
- name: PD0
description: Port A pull-down bit y (y=0..15)
- name: P
description: Port pull bit y (y=0..15)
bit_offset: 0
bit_size: 1
- name: PD1
description: Port A pull-down bit y (y=0..15)
bit_offset: 1
bit_size: 1
- name: PD2
description: Port A pull-down bit y (y=0..15)
bit_offset: 2
bit_size: 1
- name: PD3
description: Port A pull-down bit y (y=0..15)
bit_offset: 3
bit_size: 1
- name: PD4
description: Port A pull-down bit y (y=0..15)
bit_offset: 4
bit_size: 1
- name: PD5
description: Port A pull-down bit y (y=0..15)
bit_offset: 5
bit_size: 1
- name: PD6
description: Port A pull-down bit y (y=0..15)
bit_offset: 6
bit_size: 1
- name: PD7
description: Port A pull-down bit y (y=0..15)
bit_offset: 7
bit_size: 1
- name: PD8
description: Port A pull-down bit y (y=0..15)
bit_offset: 8
bit_size: 1
- name: PD9
description: Port A pull-down bit y (y=0..15)
bit_offset: 9
bit_size: 1
- name: PD10
description: Port A pull-down bit y (y=0..15)
bit_offset: 10
bit_size: 1
- name: PD11
description: Port A pull-down bit y (y=0..15)
bit_offset: 11
bit_size: 1
- name: PD12
description: Port A pull-down bit y (y=0..15)
bit_offset: 12
bit_size: 1
- name: PD13
description: Port A pull-down bit y (y=0..15)
bit_offset: 13
bit_size: 1
- name: PD14
description: Port A pull-down bit y (y=0..15)
bit_offset: 14
bit_size: 1
- name: PD15
description: Port A pull-down bit y (y=0..15)
bit_offset: 15
bit_size: 1
fieldset/PDCRB:
description: Power Port B pull-down control register
fields:
- name: PD0
description: Port B pull-down bit y (y=0..15)
bit_offset: 0
bit_size: 1
- name: PD1
description: Port B pull-down bit y (y=0..15)
bit_offset: 1
bit_size: 1
- name: PD2
description: Port B pull-down bit y (y=0..15)
bit_offset: 2
bit_size: 1
- name: PD3
description: Port B pull-down bit y (y=0..15)
bit_offset: 3
bit_size: 1
- name: PD4
description: Port B pull-down bit y (y=0..15)
bit_offset: 4
bit_size: 1
- name: PD5
description: Port B pull-down bit y (y=0..15)
bit_offset: 5
bit_size: 1
- name: PD6
description: Port B pull-down bit y (y=0..15)
bit_offset: 6
bit_size: 1
- name: PD7
description: Port B pull-down bit y (y=0..15)
bit_offset: 7
bit_size: 1
- name: PD8
description: Port B pull-down bit y (y=0..15)
bit_offset: 8
bit_size: 1
- name: PD9
description: Port B pull-down bit y (y=0..15)
bit_offset: 9
bit_size: 1
- name: PD10
description: Port B pull-down bit y (y=0..15)
bit_offset: 10
bit_size: 1
- name: PD11
description: Port B pull-down bit y (y=0..15)
bit_offset: 11
bit_size: 1
- name: PD12
description: Port B pull-down bit y (y=0..15)
bit_offset: 12
bit_size: 1
- name: PD13
description: Port B pull-down bit y (y=0..15)
bit_offset: 13
bit_size: 1
- name: PD14
description: Port B pull-down bit y (y=0..15)
bit_offset: 14
bit_size: 1
- name: PD15
description: Port B pull-down bit y (y=0..15)
bit_offset: 15
bit_size: 1
fieldset/PDCRC:
description: Power Port C pull-down control register
fields:
- name: PD0
description: Port C pull-down bit y (y=0..15)
bit_offset: 0
bit_size: 1
- name: PD1
description: Port C pull-down bit y (y=0..15)
bit_offset: 1
bit_size: 1
- name: PD2
description: Port C pull-down bit y (y=0..15)
bit_offset: 2
bit_size: 1
- name: PD3
description: Port C pull-down bit y (y=0..15)
bit_offset: 3
bit_size: 1
- name: PD4
description: Port C pull-down bit y (y=0..15)
bit_offset: 4
bit_size: 1
- name: PD5
description: Port C pull-down bit y (y=0..15)
bit_offset: 5
bit_size: 1
- name: PD6
description: Port C pull-down bit y (y=0..15)
bit_offset: 6
bit_size: 1
- name: PD7
description: Port C pull-down bit y (y=0..15)
bit_offset: 7
bit_size: 1
- name: PD8
description: Port C pull-down bit y (y=0..15)
bit_offset: 8
bit_size: 1
- name: PD9
description: Port C pull-down bit y (y=0..15)
bit_offset: 9
bit_size: 1
- name: PD10
description: Port C pull-down bit y (y=0..15)
bit_offset: 10
bit_size: 1
- name: PD11
description: Port C pull-down bit y (y=0..15)
bit_offset: 11
bit_size: 1
- name: PD12
description: Port C pull-down bit y (y=0..15)
bit_offset: 12
bit_size: 1
- name: PD13
description: Port C pull-down bit y (y=0..15)
bit_offset: 13
bit_size: 1
- name: PD14
description: Port C pull-down bit y (y=0..15)
bit_offset: 14
bit_size: 1
- name: PD15
description: Port C pull-down bit y (y=0..15)
bit_offset: 15
bit_size: 1
fieldset/PDCRD:
description: Power Port D pull-down control register
fields:
- name: PD0
description: Port D pull-down bit y (y=0..15)
bit_offset: 0
bit_size: 1
- name: PD1
description: Port D pull-down bit y (y=0..15)
bit_offset: 1
bit_size: 1
- name: PD2
description: Port D pull-down bit y (y=0..15)
bit_offset: 2
bit_size: 1
- name: PD3
description: Port D pull-down bit y (y=0..15)
bit_offset: 3
bit_size: 1
- name: PD4
description: Port D pull-down bit y (y=0..15)
bit_offset: 4
bit_size: 1
- name: PD5
description: Port D pull-down bit y (y=0..15)
bit_offset: 5
bit_size: 1
- name: PD6
description: Port D pull-down bit y (y=0..15)
bit_offset: 6
bit_size: 1
- name: PD8
description: Port D pull-down bit y (y=0..15)
bit_offset: 8
bit_size: 1
- name: PD9
description: Port D pull-down bit y (y=0..15)
bit_offset: 9
bit_size: 1
fieldset/PDCRF:
description: Power Port F pull-down control register
fields:
- name: PD0
description: Port F pull-down bit y (y=0..15)
bit_offset: 0
bit_size: 1
- name: PD1
description: Port F pull-down bit y (y=0..15)
bit_offset: 1
bit_size: 1
- name: PD2
description: Port F pull-down bit y (y=0..15)
bit_offset: 2
bit_size: 1
fieldset/PUCRA:
description: Power Port A pull-up control register
fields:
- name: PU0
description: Port A pull-up bit y (y=0..15)
bit_offset: 0
bit_size: 1
- name: PU1
description: Port A pull-up bit y (y=0..15)
bit_offset: 1
bit_size: 1
- name: PU2
description: Port A pull-up bit y (y=0..15)
bit_offset: 2
bit_size: 1
- name: PU3
description: Port A pull-up bit y (y=0..15)
bit_offset: 3
bit_size: 1
- name: PU4
description: Port A pull-up bit y (y=0..15)
bit_offset: 4
bit_size: 1
- name: PU5
description: Port A pull-up bit y (y=0..15)
bit_offset: 5
bit_size: 1
- name: PU6
description: Port A pull-up bit y (y=0..15)
bit_offset: 6
bit_size: 1
- name: PU7
description: Port A pull-up bit y (y=0..15)
bit_offset: 7
bit_size: 1
- name: PU8
description: Port A pull-up bit y (y=0..15)
bit_offset: 8
bit_size: 1
- name: PU9
description: Port A pull-up bit y (y=0..15)
bit_offset: 9
bit_size: 1
- name: PU10
description: Port A pull-up bit y (y=0..15)
bit_offset: 10
bit_size: 1
- name: PU11
description: Port A pull-up bit y (y=0..15)
bit_offset: 11
bit_size: 1
- name: PU12
description: Port A pull-up bit y (y=0..15)
bit_offset: 12
bit_size: 1
- name: PU13
description: Port A pull-up bit y (y=0..15)
bit_offset: 13
bit_size: 1
- name: PU14
description: Port A pull-up bit y (y=0..15)
bit_offset: 14
bit_size: 1
- name: PU15
description: Port A pull-up bit y (y=0..15)
bit_offset: 15
bit_size: 1
fieldset/PUCRB:
description: Power Port B pull-up control register
fields:
- name: PU0
description: Port B pull-up bit y (y=0..15)
bit_offset: 0
bit_size: 1
- name: PU1
description: Port B pull-up bit y (y=0..15)
bit_offset: 1
bit_size: 1
- name: PU2
description: Port B pull-up bit y (y=0..15)
bit_offset: 2
bit_size: 1
- name: PU3
description: Port B pull-up bit y (y=0..15)
bit_offset: 3
bit_size: 1
- name: PU4
description: Port B pull-up bit y (y=0..15)
bit_offset: 4
bit_size: 1
- name: PU5
description: Port B pull-up bit y (y=0..15)
bit_offset: 5
bit_size: 1
- name: PU6
description: Port B pull-up bit y (y=0..15)
bit_offset: 6
bit_size: 1
- name: PU7
description: Port B pull-up bit y (y=0..15)
bit_offset: 7
bit_size: 1
- name: PU8
description: Port B pull-up bit y (y=0..15)
bit_offset: 8
bit_size: 1
- name: PU9
description: Port B pull-up bit y (y=0..15)
bit_offset: 9
bit_size: 1
- name: PU10
description: Port B pull-up bit y (y=0..15)
bit_offset: 10
bit_size: 1
- name: PU11
description: Port B pull-up bit y (y=0..15)
bit_offset: 11
bit_size: 1
- name: PU12
description: Port B pull-up bit y (y=0..15)
bit_offset: 12
bit_size: 1
- name: PU13
description: Port B pull-up bit y (y=0..15)
bit_offset: 13
bit_size: 1
- name: PU14
description: Port B pull-up bit y (y=0..15)
bit_offset: 14
bit_size: 1
- name: PU15
description: Port B pull-up bit y (y=0..15)
bit_offset: 15
bit_size: 1
fieldset/PUCRC:
description: Power Port C pull-up control register
fields:
- name: PU0
description: Port C pull-up bit y (y=0..15)
bit_offset: 0
bit_size: 1
- name: PU1
description: Port C pull-up bit y (y=0..15)
bit_offset: 1
bit_size: 1
- name: PU2
description: Port C pull-up bit y (y=0..15)
bit_offset: 2
bit_size: 1
- name: PU3
description: Port C pull-up bit y (y=0..15)
bit_offset: 3
bit_size: 1
- name: PU4
description: Port C pull-up bit y (y=0..15)
bit_offset: 4
bit_size: 1
- name: PU5
description: Port C pull-up bit y (y=0..15)
bit_offset: 5
bit_size: 1
- name: PU6
description: Port C pull-up bit y (y=0..15)
bit_offset: 6
bit_size: 1
- name: PU7
description: Port C pull-up bit y (y=0..15)
bit_offset: 7
bit_size: 1
- name: PU8
description: Port C pull-up bit y (y=0..15)
bit_offset: 8
bit_size: 1
- name: PU9
description: Port C pull-up bit y (y=0..15)
bit_offset: 9
bit_size: 1
- name: PU10
description: Port C pull-up bit y (y=0..15)
bit_offset: 10
bit_size: 1
- name: PU11
description: Port C pull-up bit y (y=0..15)
bit_offset: 11
bit_size: 1
- name: PU12
description: Port C pull-up bit y (y=0..15)
bit_offset: 12
bit_size: 1
- name: PU13
description: Port C pull-up bit y (y=0..15)
bit_offset: 13
bit_size: 1
- name: PU14
description: Port C pull-up bit y (y=0..15)
bit_offset: 14
bit_size: 1
- name: PU15
description: Port C pull-up bit y (y=0..15)
bit_offset: 15
bit_size: 1
fieldset/PUCRD:
description: Power Port D pull-up control register
fields:
- name: PU0
description: Port D pull-up bit y (y=0..15)
bit_offset: 0
bit_size: 1
- name: PU1
description: Port D pull-up bit y (y=0..15)
bit_offset: 1
bit_size: 1
- name: PU2
description: Port D pull-up bit y (y=0..15)
bit_offset: 2
bit_size: 1
- name: PU3
description: Port D pull-up bit y (y=0..15)
bit_offset: 3
bit_size: 1
- name: PU4
description: Port D pull-up bit y (y=0..15)
bit_offset: 4
bit_size: 1
- name: PU5
description: Port D pull-up bit y (y=0..15)
bit_offset: 5
bit_size: 1
- name: PU6
description: Port D pull-up bit y (y=0..15)
bit_offset: 6
bit_size: 1
- name: PU8
description: Port D pull-up bit y (y=0..15)
bit_offset: 8
bit_size: 1
- name: PU9
description: Port D pull-up bit y (y=0..15)
bit_offset: 9
bit_size: 1
fieldset/PUCRF:
description: Power Port F pull-up control register
fields:
- name: PU0
description: Port F pull-up bit y (y=0..15)
bit_offset: 0
bit_size: 1
- name: PU1
description: Port F pull-up bit y (y=0..15)
bit_offset: 1
bit_size: 1
- name: PU2
description: Port F pull-up bit y (y=0..15)
bit_offset: 2
bit_size: 1
array:
len: 16
stride: 1
fieldset/SCR:
description: Power status clear register
fields:

283
data/registers/pwr_g4.yaml Normal file
View File

@ -0,0 +1,283 @@
---
block/PWR:
description: Power control
items:
- name: CR1
description: Power control register 1
byte_offset: 0
fieldset: CR1
- name: CR2
description: Power control register 2
byte_offset: 4
fieldset: CR2
- name: CR3
description: Power control register 3
byte_offset: 8
fieldset: CR3
- name: CR4
description: Power control register 4
byte_offset: 12
fieldset: CR4
- name: SR1
description: Power status register 1
byte_offset: 16
access: Read
fieldset: SR1
- name: SR2
description: Power status register 2
byte_offset: 20
access: Read
fieldset: SR2
- name: SCR
description: Power status clear register
byte_offset: 24
access: Write
fieldset: SCR
- name: PUCR
description: Power Port pull-up control register
byte_offset: 32
fieldset: PCR
array:
len: 7
stride: 8
- name: PDCR
description: Power Port pull-down control register
byte_offset: 36
fieldset: PCR
array:
len: 7
stride: 8
- name: CR5
description: Power control register 5
byte_offset: 128
fieldset: CR5
fieldset/CR1:
description: Power control register 1
fields:
- name: LPMS
description: Low-power mode selection
bit_offset: 0
bit_size: 3
- name: DBP
description: Disable backup domain write protection
bit_offset: 8
bit_size: 1
- name: VOS
description: Voltage scaling range selection
bit_offset: 9
bit_size: 2
- name: LPR
description: Low-power run
bit_offset: 14
bit_size: 1
fieldset/CR2:
description: Power control register 2
fields:
- name: PVDE
description: Power voltage detector enable
bit_offset: 0
bit_size: 1
- name: PLS
description: Power voltage detector level selection
bit_offset: 1
bit_size: 3
- name: PVMEN1
description: "Peripheral voltage monitoring 1 enable: VDDA vs. COMP min voltage"
bit_offset: 4
bit_size: 1
- name: PVMEN2
description: "Peripheral voltage monitoring 2 enable: VDDA vs. Fast DAC min voltage"
bit_offset: 5
bit_size: 1
- name: PVMEN3
description: "Peripheral voltage monitoring 3 enable: VDDA vs. ADC min voltage 1.62V"
bit_offset: 6
bit_size: 1
- name: PVMEN4
description: "Peripheral voltage monitoring 4 enable: VDDA vs. OPAMP/DAC min voltage"
bit_offset: 7
bit_size: 1
fieldset/CR3:
description: Power control register 3
fields:
- name: EWUP1
description: Enable Wakeup pin WKUP1
bit_offset: 0
bit_size: 1
- name: EWUP2
description: Enable Wakeup pin WKUP2
bit_offset: 1
bit_size: 1
- name: EWUP3
description: Enable Wakeup pin WKUP3
bit_offset: 2
bit_size: 1
- name: EWUP4
description: Enable Wakeup pin WKUP4
bit_offset: 3
bit_size: 1
- name: EWUP5
description: Enable Wakeup pin WKUP5
bit_offset: 4
bit_size: 1
- name: RRS
description: SRAM2 retention in Standby mode
bit_offset: 8
bit_size: 1
- name: APC
description: Apply pull-up and pull-down configuration
bit_offset: 10
bit_size: 1
- name: UCPD1_STDBY
description: STDBY
bit_offset: 13
bit_size: 1
- name: UCPD1_DBDIS
description: DBDIS
bit_offset: 14
bit_size: 1
- name: EIWUL
description: Enable external WakeUp line
bit_offset: 15
bit_size: 1
fieldset/CR4:
description: Power control register 4
fields:
- name: WP1
description: Wakeup pin WKUP1 polarity
bit_offset: 0
bit_size: 1
- name: WP2
description: Wakeup pin WKUP2 polarity
bit_offset: 1
bit_size: 1
- name: WP3
description: Wakeup pin WKUP3 polarity
bit_offset: 2
bit_size: 1
- name: WP4
description: Wakeup pin WKUP4 polarity
bit_offset: 3
bit_size: 1
- name: WP5
description: Wakeup pin WKUP5 polarity
bit_offset: 4
bit_size: 1
- name: VBE
description: VBAT battery charging enable
bit_offset: 8
bit_size: 1
- name: VBRS
description: VBAT battery charging resistor selection
bit_offset: 9
bit_size: 1
fieldset/CR5:
description: Power control register 5
fields:
- name: R1MODE
description: Main regular range 1 mode
bit_offset: 0
bit_size: 1
fieldset/PCR:
description: Power Port pull control register
fields:
- name: P
description: Port pull bit y (y=0..15)
bit_offset: 0
bit_size: 1
array:
len: 16
stride: 1
fieldset/SCR:
description: Power status clear register
fields:
- name: CWUF1
description: Clear wakeup flag 1
bit_offset: 0
bit_size: 1
- name: CWUF2
description: Clear wakeup flag 2
bit_offset: 1
bit_size: 1
- name: CWUF3
description: Clear wakeup flag 3
bit_offset: 2
bit_size: 1
- name: CWUF4
description: Clear wakeup flag 4
bit_offset: 3
bit_size: 1
- name: CWUF5
description: Clear wakeup flag 5
bit_offset: 4
bit_size: 1
- name: CSBF
description: Clear standby flag
bit_offset: 8
bit_size: 1
fieldset/SR1:
description: Power status register 1
fields:
- name: WUF1
description: Wakeup flag 1
bit_offset: 0
bit_size: 1
- name: WUF2
description: Wakeup flag 2
bit_offset: 1
bit_size: 1
- name: WUF3
description: Wakeup flag 3
bit_offset: 2
bit_size: 1
- name: WUF4
description: Wakeup flag 4
bit_offset: 3
bit_size: 1
- name: WUF5
description: Wakeup flag 5
bit_offset: 4
bit_size: 1
- name: SBF
description: Standby flag
bit_offset: 8
bit_size: 1
- name: WUFI
description: Wakeup flag internal
bit_offset: 15
bit_size: 1
fieldset/SR2:
description: Power status register 2
fields:
- name: REGLPS
description: Low-power regulator started
bit_offset: 8
bit_size: 1
- name: REGLPF
description: Low-power regulator flag
bit_offset: 9
bit_size: 1
- name: VOSF
description: Voltage scaling flag
bit_offset: 10
bit_size: 1
- name: PVDO
description: Power voltage detector output
bit_offset: 11
bit_size: 1
- name: PVMO1
description: "Peripheral voltage monitoring output: VDDUSB vs. 1.2 V"
bit_offset: 12
bit_size: 1
- name: PVMO2
description: "Peripheral voltage monitoring output: VDDIO2 vs. 0.9 V"
bit_offset: 13
bit_size: 1
- name: PVMO3
description: "Peripheral voltage monitoring output: VDDA vs. 1.62 V"
bit_offset: 14
bit_size: 1
- name: PVMO4
description: "Peripheral voltage monitoring output: VDDA vs. 2.2 V"
bit_offset: 15
bit_size: 1

File diff suppressed because it is too large Load Diff

View File

@ -37,38 +37,20 @@ block/PWR:
description: Power control register 5
byte_offset: 28
fieldset: CR5
- name: PUCRA
description: Power Port A pull-up control register
- name: PUCR
description: Power Port pull-up control register
byte_offset: 32
fieldset: PUCRA
- name: PDCRA
description: Power Port A pull-down control register
fieldset: PCR
array:
len: 8
stride: 8
- name: PDCR
description: Power Port pull-down control register
byte_offset: 36
fieldset: PDCRA
- name: PUCRB
description: Power Port B pull-up control register
byte_offset: 40
fieldset: PUCRB
- name: PDCRB
description: Power Port B pull-down control register
byte_offset: 44
fieldset: PDCRB
- name: PUCRC
description: Power Port C pull-up control register
byte_offset: 48
fieldset: PUCRC
- name: PDCRC
description: Power Port C pull-down control register
byte_offset: 52
fieldset: PDCRC
- name: PUCRH
description: Power Port H pull-up control register
byte_offset: 88
fieldset: PUCRH
- name: PDCRH
description: Power Port H pull-down control register
byte_offset: 92
fieldset: PDCRH
fieldset: PCR
array:
len: 8
stride: 8
- name: C2CR1
description: "Power CPU2 control register 1 [dual core device only]"
byte_offset: 128
@ -338,112 +320,16 @@ fieldset/EXTSCR:
description: PU2 deepsleep mode
bit_offset: 15
bit_size: 1
fieldset/PDCRA:
description: Power Port A pull-down control register
fieldset/PCR:
description: Power Port pull control register
fields:
- name: PD
description: PD0
- name: P
description: Port pull bit y (y=0..15)
bit_offset: 0
bit_size: 1
array:
len: 16
stride: 1
enum: PDCRA_PD
fieldset/PDCRB:
description: Power Port B pull-down control register
fields:
- name: PD
description: PD0
bit_offset: 0
bit_size: 1
array:
len: 16
stride: 1
enum: PDCRB_PD
fieldset/PDCRC:
description: Power Port C pull-down control register
fields:
- name: PD
description: PD0
bit_offset: 0
bit_size: 1
array:
offsets:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 13
- 14
- 15
enum: PD
fieldset/PDCRH:
description: Power Port H pull-down control register
fields:
- name: PD
description: pull-down
bit_offset: 3
bit_size: 1
array:
len: 1
stride: 0
enum: PD
fieldset/PUCRA:
description: Power Port A pull-up control register
fields:
- name: PU
description: PU0
bit_offset: 0
bit_size: 1
array:
len: 16
stride: 1
enum: PUCRA_PU
fieldset/PUCRB:
description: Power Port B pull-up control register
fields:
- name: PU
description: PU0
bit_offset: 0
bit_size: 1
array:
len: 16
stride: 1
enum: PUCRB_PU
fieldset/PUCRC:
description: Power Port C pull-up control register
fields:
- name: PU
description: PU0
bit_offset: 0
bit_size: 1
array:
offsets:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 13
- 14
- 15
enum: PU
fieldset/PUCRH:
description: Power Port H pull-up control register
fields:
- name: PU
description: pull-up
bit_offset: 3
bit_size: 1
array:
len: 1
stride: 0
enum: PU
fieldset/RSSCMDR:
description: "RSS Command register [dual core device only]"
fields:

View File

@ -0,0 +1,155 @@
---
block/SYSCFG:
description: System configuration controller
items:
- name: MEMRMP
description: Remap Memory register
byte_offset: 0
fieldset: MEMRMP
- name: CFGR1
description: peripheral mode configuration register
byte_offset: 4
fieldset: CFGR1
- name: EXTICR
description: external interrupt configuration register 1
array:
len: 4
stride: 4
byte_offset: 8
fieldset: EXTICR
- name: SCSR
description: CCM SRAM control and status register
byte_offset: 24
fieldset: SCSR
- name: CFGR2
description: configuration register 2
byte_offset: 28
fieldset: CFGR2
- name: SWPR
description: SRAM Write protection register 1
byte_offset: 32
fieldset: SWPR
- name: SKR
description: SRAM2 Key Register
byte_offset: 36
access: Write
fieldset: SKR
fieldset/CFGR1:
description: peripheral mode configuration register
fields:
- name: BOOSTEN
description: BOOSTEN
bit_offset: 8
bit_size: 1
- name: ANASWVDD
description: GPIO analog switch control voltage selection
bit_offset: 9
bit_size: 1
- name: I2C_PB6_FMP
description: FM+ drive capability on PB6
bit_offset: 16
bit_size: 1
- name: I2C_PB7_FMP
description: FM+ drive capability on PB6
bit_offset: 17
bit_size: 1
- name: I2C_PB8_FMP
description: FM+ drive capability on PB6
bit_offset: 18
bit_size: 1
- name: I2C_PB9_FMP
description: FM+ drive capability on PB6
bit_offset: 19
bit_size: 1
- name: I2C1_FMP
description: I2C1 FM+ drive capability enable
bit_offset: 20
bit_size: 1
- name: I2C2_FMP
description: I2C1 FM+ drive capability enable
bit_offset: 21
bit_size: 1
- name: I2C3_FMP
description: I2C1 FM+ drive capability enable
bit_offset: 22
bit_size: 1
- name: I2C4_FMP
description: I2C1 FM+ drive capability enable
bit_offset: 23
bit_size: 1
- name: FPU_IE
description: FPU Interrupts Enable
bit_offset: 26
bit_size: 6
fieldset/CFGR2:
description: configuration register 2
fields:
- name: CLL
description: Core Lockup Lock
bit_offset: 0
bit_size: 1
- name: SPL
description: SRAM Parity Lock
bit_offset: 1
bit_size: 1
- name: PVDL
description: PVD Lock
bit_offset: 2
bit_size: 1
- name: ECCL
description: ECC Lock
bit_offset: 3
bit_size: 1
- name: SPF
description: SRAM Parity Flag
bit_offset: 8
bit_size: 1
fieldset/EXTICR:
description: external interrupt configuration register
fields:
- name: EXTI
description: EXTI x configuration
bit_offset: 0
bit_size: 4
array:
len: 4
stride: 4
fieldset/MEMRMP:
description: Remap Memory register
fields:
- name: MEM_MODE
description: Memory mapping selection
bit_offset: 0
bit_size: 3
- name: FB_mode
description: User Flash Bank mode
bit_offset: 8
bit_size: 1
fieldset/SCSR:
description: CCM SRAM control and status register
fields:
- name: CCMER
description: CCM SRAM Erase
bit_offset: 0
bit_size: 1
- name: CCMBSY
description: CCM SRAM busy by erase operation
bit_offset: 1
bit_size: 1
fieldset/SKR:
description: SRAM2 Key Register
fields:
- name: KEY
description: SRAM2 Key for software erase
bit_offset: 0
bit_size: 8
fieldset/SWPR:
description: SRAM Write protection register
fields:
- name: Page_WP
description: Write protection
bit_offset: 0
bit_size: 1
array:
len: 32
stride: 1

View File

@ -7,7 +7,7 @@ block/SYSCFG:
byte_offset: 4
fieldset: PMCR
- name: EXTICR
description: external interrupt configuration register 1
description: external interrupt configuration register
array:
len: 4
stride: 4

View File

@ -125,6 +125,7 @@ perimap = [
('STM32L0.*:SYS:.*', 'syscfg_l0/SYSCFG'),
('STM32L1.*:SYS:.*', 'syscfg_l1/SYSCFG'),
('STM32G0.*:SYS:.*', 'syscfg_g0/SYSCFG'),
('STM32G4.*:SYS:.*', 'syscfg_g4/SYSCFG'),
('STM32H7.*:SYS:.*', 'syscfg_h7/SYSCFG'),
('STM32U5.*:SYS:.*', 'syscfg_u5/SYSCFG'),
('STM32WB.*:SYS:.*', 'syscfg_wb/SYSCFG'),
@ -180,6 +181,7 @@ perimap = [
('.*:STM32L0_crs_v1_0', 'crs_l0/CRS'),
('.*SDMMC:sdmmc2_v1_0', 'sdmmc_v2/SDMMC'),
('.*:STM32G0_pwr_v1_0', 'pwr_g0/PWR'),
('.*:STM32G4_pwr_v1_0', 'pwr_g4/PWR'),
('STM32H7(42|43|53|50).*:STM32H7_pwr_v1_0', 'pwr_h7/PWR'),
('.*:STM32H7_pwr_v1_0', 'pwr_h7smps/PWR'),
('.*:STM32F4_pwr_v1_0', 'pwr_f4/PWR'),
@ -1152,6 +1154,7 @@ def parse_rcc_regs():
with open(f, 'r') as yaml_file:
y = yaml.load(yaml_file)
for (key, body) in y.items():
if 'SMENR' in key: continue
if key.startswith("fieldset/A") and key.endswith("ENR"):
clock = removesuffix(key, "ENR")
clock = removeprefix(clock, "fieldset/")