Merge pull request #450 from taunusflieger/feature/HSEM
Add support for HSEM
This commit is contained in:
commit
2480982cc5
2
.gitignore
vendored
2
.gitignore
vendored
@ -3,7 +3,9 @@
|
|||||||
/sources
|
/sources
|
||||||
/tmp
|
/tmp
|
||||||
.idea/
|
.idea/
|
||||||
|
.DS_Store
|
||||||
# transform*.yaml
|
# transform*.yaml
|
||||||
__pycache__
|
__pycache__
|
||||||
|
|
||||||
target/
|
target/
|
||||||
|
venv/
|
144
data/registers/hsem_v1.yaml
Normal file
144
data/registers/hsem_v1.yaml
Normal file
@ -0,0 +1,144 @@
|
|||||||
|
block/HSEM:
|
||||||
|
description: Hardware semaphore (HSEM).
|
||||||
|
items:
|
||||||
|
- name: R
|
||||||
|
description: HSEM register HSEM_R%s HSEM_R31.
|
||||||
|
array:
|
||||||
|
len: 32
|
||||||
|
stride: 4
|
||||||
|
byte_offset: 0
|
||||||
|
fieldset: R
|
||||||
|
- name: RLR
|
||||||
|
description: HSEM Read lock register.
|
||||||
|
array:
|
||||||
|
len: 32
|
||||||
|
stride: 4
|
||||||
|
byte_offset: 128
|
||||||
|
access: Read
|
||||||
|
fieldset: RLR
|
||||||
|
- name: IER
|
||||||
|
description: HSEM Interrupt enable register.
|
||||||
|
byte_offset: 256
|
||||||
|
fieldset: IER
|
||||||
|
array:
|
||||||
|
len: 2
|
||||||
|
stride: 16
|
||||||
|
- name: ICR
|
||||||
|
description: HSEM Interrupt clear register.
|
||||||
|
byte_offset: 260
|
||||||
|
fieldset: ICR
|
||||||
|
array:
|
||||||
|
len: 2
|
||||||
|
stride: 16
|
||||||
|
- name: ISR
|
||||||
|
description: HSEM Interrupt status register.
|
||||||
|
byte_offset: 264
|
||||||
|
access: Read
|
||||||
|
fieldset: ISR
|
||||||
|
array:
|
||||||
|
len: 2
|
||||||
|
stride: 16
|
||||||
|
- name: MISR
|
||||||
|
description: HSEM Masked interrupt status register.
|
||||||
|
byte_offset: 268
|
||||||
|
access: Read
|
||||||
|
fieldset: MISR
|
||||||
|
array:
|
||||||
|
len: 2
|
||||||
|
stride: 16
|
||||||
|
- name: CR
|
||||||
|
description: HSEM Clear register.
|
||||||
|
byte_offset: 320
|
||||||
|
fieldset: CR
|
||||||
|
- name: KEYR
|
||||||
|
description: HSEM Interrupt clear register.
|
||||||
|
byte_offset: 324
|
||||||
|
fieldset: KEYR
|
||||||
|
fieldset/CR:
|
||||||
|
description: HSEM Clear register.
|
||||||
|
fields:
|
||||||
|
- name: COREID
|
||||||
|
description: COREID of semaphores to be cleared.
|
||||||
|
bit_offset: 8
|
||||||
|
bit_size: 4
|
||||||
|
- name: KEY
|
||||||
|
description: Semaphore clear Key.
|
||||||
|
bit_offset: 16
|
||||||
|
bit_size: 16
|
||||||
|
fieldset/KEYR:
|
||||||
|
description: HSEM Interrupt clear register.
|
||||||
|
fields:
|
||||||
|
- name: KEY
|
||||||
|
description: Semaphore Clear Key.
|
||||||
|
bit_offset: 16
|
||||||
|
bit_size: 16
|
||||||
|
fieldset/R:
|
||||||
|
description: HSEM register HSEM_R%s HSEM_R31.
|
||||||
|
fields:
|
||||||
|
- name: PROCID
|
||||||
|
description: Semaphore ProcessID.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 8
|
||||||
|
- name: COREID
|
||||||
|
description: Semaphore COREID.
|
||||||
|
bit_offset: 8
|
||||||
|
bit_size: 4
|
||||||
|
- name: LOCK
|
||||||
|
description: Lock indication.
|
||||||
|
bit_offset: 31
|
||||||
|
bit_size: 1
|
||||||
|
fieldset/RLR:
|
||||||
|
description: HSEM Read lock register.
|
||||||
|
fields:
|
||||||
|
- name: PROCID
|
||||||
|
description: Semaphore ProcessID.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 8
|
||||||
|
- name: COREID
|
||||||
|
description: Semaphore COREID.
|
||||||
|
bit_offset: 8
|
||||||
|
bit_size: 4
|
||||||
|
- name: LOCK
|
||||||
|
description: Lock indication.
|
||||||
|
bit_offset: 31
|
||||||
|
bit_size: 1
|
||||||
|
fieldset/IER:
|
||||||
|
description: HSEM Interrupt enable register.
|
||||||
|
fields:
|
||||||
|
- name: ISE
|
||||||
|
description: Interrupt semaphore x enable bit.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 1
|
||||||
|
array:
|
||||||
|
len: 32
|
||||||
|
stride: 1
|
||||||
|
fieldset/ICR:
|
||||||
|
description: HSEM Interrupt clear register.
|
||||||
|
fields:
|
||||||
|
- name: ISC
|
||||||
|
description: Interrupt semaphore x clear bit.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 1
|
||||||
|
array:
|
||||||
|
len: 32
|
||||||
|
stride: 1
|
||||||
|
fieldset/ISR:
|
||||||
|
description: HSEM Interrupt status register.
|
||||||
|
fields:
|
||||||
|
- name: ISF
|
||||||
|
description: Interrupt semaphore x status bit before enable (mask).
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 1
|
||||||
|
array:
|
||||||
|
len: 32
|
||||||
|
stride: 1
|
||||||
|
fieldset/MISR:
|
||||||
|
description: HSEM Masked interrupt status register.
|
||||||
|
fields:
|
||||||
|
- name: MISF
|
||||||
|
description: masked interrupt semaphore x status bit after enable (mask).
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 1
|
||||||
|
array:
|
||||||
|
len: 32
|
||||||
|
stride: 1
|
145
data/registers/hsem_v2.yaml
Normal file
145
data/registers/hsem_v2.yaml
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
block/HSEM:
|
||||||
|
description: HSEM.
|
||||||
|
items:
|
||||||
|
- name: R
|
||||||
|
description: HSEM register HSEM_R%s HSEM_R31.
|
||||||
|
array:
|
||||||
|
len: 32
|
||||||
|
stride: 4
|
||||||
|
byte_offset: 0
|
||||||
|
fieldset: R
|
||||||
|
- name: RLR
|
||||||
|
description: HSEM Read lock register.
|
||||||
|
array:
|
||||||
|
len: 32
|
||||||
|
stride: 4
|
||||||
|
byte_offset: 128
|
||||||
|
access: Read
|
||||||
|
fieldset: RLR
|
||||||
|
- name: IER
|
||||||
|
description: HSEM Interrupt enable register.
|
||||||
|
byte_offset: 256
|
||||||
|
fieldset: IER
|
||||||
|
array:
|
||||||
|
len: 1
|
||||||
|
stride: 16
|
||||||
|
- name: ICR
|
||||||
|
description: HSEM Interrupt clear register.
|
||||||
|
byte_offset: 260
|
||||||
|
access: Read
|
||||||
|
fieldset: ICR
|
||||||
|
array:
|
||||||
|
len: 1
|
||||||
|
stride: 16
|
||||||
|
- name: ISR
|
||||||
|
description: HSEM Interrupt status register.
|
||||||
|
byte_offset: 264
|
||||||
|
access: Read
|
||||||
|
fieldset: ISR
|
||||||
|
array:
|
||||||
|
len: 1
|
||||||
|
stride: 16
|
||||||
|
- name: MISR
|
||||||
|
description: HSEM Masked interrupt status register.
|
||||||
|
byte_offset: 268
|
||||||
|
access: Read
|
||||||
|
fieldset: MISR
|
||||||
|
array:
|
||||||
|
len: 1
|
||||||
|
stride: 16
|
||||||
|
- name: CR
|
||||||
|
description: HSEM Clear register.
|
||||||
|
byte_offset: 320
|
||||||
|
fieldset: CR
|
||||||
|
- name: KEYR
|
||||||
|
description: HSEM Interrupt clear register.
|
||||||
|
byte_offset: 324
|
||||||
|
fieldset: KEYR
|
||||||
|
fieldset/CR:
|
||||||
|
description: HSEM Clear register.
|
||||||
|
fields:
|
||||||
|
- name: COREID
|
||||||
|
description: COREID of semaphores to be cleared.
|
||||||
|
bit_offset: 8
|
||||||
|
bit_size: 4
|
||||||
|
- name: KEY
|
||||||
|
description: Semaphore clear Key.
|
||||||
|
bit_offset: 16
|
||||||
|
bit_size: 16
|
||||||
|
fieldset/KEYR:
|
||||||
|
description: HSEM Interrupt clear register.
|
||||||
|
fields:
|
||||||
|
- name: KEY
|
||||||
|
description: Semaphore Clear Key.
|
||||||
|
bit_offset: 16
|
||||||
|
bit_size: 16
|
||||||
|
fieldset/R:
|
||||||
|
description: HSEM register HSEM_R%s HSEM_R31.
|
||||||
|
fields:
|
||||||
|
- name: PROCID
|
||||||
|
description: Semaphore ProcessID.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 8
|
||||||
|
- name: COREID
|
||||||
|
description: Semaphore COREID.
|
||||||
|
bit_offset: 8
|
||||||
|
bit_size: 4
|
||||||
|
- name: LOCK
|
||||||
|
description: Lock indication.
|
||||||
|
bit_offset: 31
|
||||||
|
bit_size: 1
|
||||||
|
fieldset/RLR:
|
||||||
|
description: HSEM Read lock register.
|
||||||
|
fields:
|
||||||
|
- name: PROCID
|
||||||
|
description: Semaphore ProcessID.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 8
|
||||||
|
- name: COREID
|
||||||
|
description: Semaphore COREID.
|
||||||
|
bit_offset: 8
|
||||||
|
bit_size: 4
|
||||||
|
- name: LOCK
|
||||||
|
description: Lock indication.
|
||||||
|
bit_offset: 31
|
||||||
|
bit_size: 1
|
||||||
|
fieldset/IER:
|
||||||
|
description: HSEM Interrupt enable register.
|
||||||
|
fields:
|
||||||
|
- name: ISE
|
||||||
|
description: Interrupt semaphore x enable bit.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 1
|
||||||
|
array:
|
||||||
|
len: 32
|
||||||
|
stride: 1
|
||||||
|
fieldset/ICR:
|
||||||
|
description: HSEM Interrupt clear register.
|
||||||
|
fields:
|
||||||
|
- name: ISC
|
||||||
|
description: Interrupt semaphore x clear bit.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 1
|
||||||
|
array:
|
||||||
|
len: 32
|
||||||
|
stride: 1
|
||||||
|
fieldset/ISR:
|
||||||
|
description: HSEM Interrupt status register.
|
||||||
|
fields:
|
||||||
|
- name: ISF
|
||||||
|
description: Interrupt semaphore x status bit before enable (mask).
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 1
|
||||||
|
array:
|
||||||
|
len: 32
|
||||||
|
stride: 1
|
||||||
|
fieldset/MISR:
|
||||||
|
description: HSEM Masked interrupt status register.
|
||||||
|
fields:
|
||||||
|
- name: MISF
|
||||||
|
description: masked interrupt semaphore x status bit after enable (mask).
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 1
|
||||||
|
array:
|
||||||
|
len: 32
|
||||||
|
stride: 1
|
145
data/registers/hsem_v3.yaml
Normal file
145
data/registers/hsem_v3.yaml
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
block/HSEM:
|
||||||
|
description: Hardware semaphore.
|
||||||
|
items:
|
||||||
|
- name: R
|
||||||
|
description: HSEM register HSEM_R%s HSEM_R31.
|
||||||
|
array:
|
||||||
|
len: 16
|
||||||
|
stride: 4
|
||||||
|
byte_offset: 0
|
||||||
|
fieldset: R
|
||||||
|
- name: RLR
|
||||||
|
description: HSEM Read lock register.
|
||||||
|
array:
|
||||||
|
len: 16
|
||||||
|
stride: 4
|
||||||
|
byte_offset: 128
|
||||||
|
access: Read
|
||||||
|
fieldset: RLR
|
||||||
|
- name: IER
|
||||||
|
description: HSEM Interrupt enable register.
|
||||||
|
byte_offset: 256
|
||||||
|
fieldset: IER
|
||||||
|
array:
|
||||||
|
len: 2
|
||||||
|
stride: 16
|
||||||
|
- name: ICR
|
||||||
|
description: HSEM Interrupt clear register.
|
||||||
|
byte_offset: 260
|
||||||
|
fieldset: ICR
|
||||||
|
array:
|
||||||
|
len: 2
|
||||||
|
stride: 16
|
||||||
|
- name: ISR
|
||||||
|
description: HSEM Interrupt status register.
|
||||||
|
byte_offset: 264
|
||||||
|
access: Read
|
||||||
|
fieldset: ISR
|
||||||
|
array:
|
||||||
|
len: 2
|
||||||
|
stride: 16
|
||||||
|
- name: MISR
|
||||||
|
description: HSEM Masked interrupt status register.
|
||||||
|
byte_offset: 268
|
||||||
|
access: Read
|
||||||
|
fieldset: MISR
|
||||||
|
array:
|
||||||
|
len: 2
|
||||||
|
stride: 16
|
||||||
|
- name: CR
|
||||||
|
description: HSEM Clear register.
|
||||||
|
byte_offset: 320
|
||||||
|
access: Write
|
||||||
|
fieldset: CR
|
||||||
|
- name: KEYR
|
||||||
|
description: HSEM Interrupt clear register.
|
||||||
|
byte_offset: 324
|
||||||
|
fieldset: KEYR
|
||||||
|
fieldset/CR:
|
||||||
|
description: HSEM Clear register.
|
||||||
|
fields:
|
||||||
|
- name: COREID
|
||||||
|
description: COREID.
|
||||||
|
bit_offset: 8
|
||||||
|
bit_size: 4
|
||||||
|
- name: KEY
|
||||||
|
description: Semaphore clear Key.
|
||||||
|
bit_offset: 16
|
||||||
|
bit_size: 16
|
||||||
|
fieldset/KEYR:
|
||||||
|
description: HSEM Interrupt clear register.
|
||||||
|
fields:
|
||||||
|
- name: KEY
|
||||||
|
description: Semaphore Clear Key.
|
||||||
|
bit_offset: 16
|
||||||
|
bit_size: 16
|
||||||
|
fieldset/R:
|
||||||
|
description: HSEM register HSEM_R%s HSEM_R31.
|
||||||
|
fields:
|
||||||
|
- name: PROCID
|
||||||
|
description: Semaphore ProcessID.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 8
|
||||||
|
- name: COREID
|
||||||
|
description: COREID.
|
||||||
|
bit_offset: 8
|
||||||
|
bit_size: 4
|
||||||
|
- name: LOCK
|
||||||
|
description: Lock indication.
|
||||||
|
bit_offset: 31
|
||||||
|
bit_size: 1
|
||||||
|
fieldset/RLR:
|
||||||
|
description: HSEM Read lock register.
|
||||||
|
fields:
|
||||||
|
- name: PROCID
|
||||||
|
description: Semaphore ProcessID.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 8
|
||||||
|
- name: COREID
|
||||||
|
description: COREID.
|
||||||
|
bit_offset: 8
|
||||||
|
bit_size: 4
|
||||||
|
- name: LOCK
|
||||||
|
description: Lock indication.
|
||||||
|
bit_offset: 31
|
||||||
|
bit_size: 1
|
||||||
|
fieldset/IER:
|
||||||
|
description: HSEM Interrupt enable register.
|
||||||
|
fields:
|
||||||
|
- name: ISE
|
||||||
|
description: Interrupt semaphore x enable bit.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 1
|
||||||
|
array:
|
||||||
|
len: 16
|
||||||
|
stride: 1
|
||||||
|
fieldset/ICR:
|
||||||
|
description: HSEM Interrupt clear register.
|
||||||
|
fields:
|
||||||
|
- name: ISC
|
||||||
|
description: Interrupt semaphore x clear bit.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 1
|
||||||
|
array:
|
||||||
|
len: 16
|
||||||
|
stride: 1
|
||||||
|
fieldset/ISR:
|
||||||
|
description: HSEM Interrupt status register.
|
||||||
|
fields:
|
||||||
|
- name: ISF
|
||||||
|
description: Interrupt semaphore x status bit before enable (mask).
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 1
|
||||||
|
array:
|
||||||
|
len: 16
|
||||||
|
stride: 1
|
||||||
|
fieldset/MISR:
|
||||||
|
description: HSEM Masked interrupt status register.
|
||||||
|
fields:
|
||||||
|
- name: MISF
|
||||||
|
description: masked interrupt semaphore x status bit after enable (mask).
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 1
|
||||||
|
array:
|
||||||
|
len: 16
|
||||||
|
stride: 1
|
145
data/registers/hsem_v4.yaml
Normal file
145
data/registers/hsem_v4.yaml
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
block/HSEM:
|
||||||
|
description: Hardware semaphore.
|
||||||
|
items:
|
||||||
|
- name: R
|
||||||
|
description: HSEM register HSEM_R%s HSEM_R31.
|
||||||
|
array:
|
||||||
|
len: 16
|
||||||
|
stride: 4
|
||||||
|
byte_offset: 0
|
||||||
|
fieldset: R
|
||||||
|
- name: RLR
|
||||||
|
description: HSEM Read lock register.
|
||||||
|
array:
|
||||||
|
len: 16
|
||||||
|
stride: 4
|
||||||
|
byte_offset: 128
|
||||||
|
access: Read
|
||||||
|
fieldset: RLR
|
||||||
|
- name: IER
|
||||||
|
description: HSEM Interrupt enable register.
|
||||||
|
byte_offset: 256
|
||||||
|
fieldset: IER
|
||||||
|
array:
|
||||||
|
len: 1
|
||||||
|
stride: 16
|
||||||
|
- name: ICR
|
||||||
|
description: HSEM Interrupt clear register.
|
||||||
|
byte_offset: 260
|
||||||
|
fieldset: ICR
|
||||||
|
array:
|
||||||
|
len: 1
|
||||||
|
stride: 16
|
||||||
|
- name: ISR
|
||||||
|
description: HSEM Interrupt status register.
|
||||||
|
byte_offset: 264
|
||||||
|
access: Read
|
||||||
|
fieldset: ISR
|
||||||
|
array:
|
||||||
|
len: 1
|
||||||
|
stride: 16
|
||||||
|
- name: MISR
|
||||||
|
description: HSEM Masked interrupt status register.
|
||||||
|
byte_offset: 268
|
||||||
|
access: Read
|
||||||
|
fieldset: MISR
|
||||||
|
array:
|
||||||
|
len: 1
|
||||||
|
stride: 16
|
||||||
|
- name: CR
|
||||||
|
description: HSEM Clear register.
|
||||||
|
byte_offset: 320
|
||||||
|
access: Write
|
||||||
|
fieldset: CR
|
||||||
|
- name: KEYR
|
||||||
|
description: HSEM Interrupt clear register.
|
||||||
|
byte_offset: 324
|
||||||
|
fieldset: KEYR
|
||||||
|
fieldset/ICR:
|
||||||
|
description: HSEM Interrupt clear register.
|
||||||
|
fields:
|
||||||
|
- name: ISC
|
||||||
|
description: Interrupt(N) semaphore n clear bit.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 1
|
||||||
|
array:
|
||||||
|
len: 16
|
||||||
|
stride: 1
|
||||||
|
fieldset/IER:
|
||||||
|
description: HSEM Interrupt enable register.
|
||||||
|
fields:
|
||||||
|
- name: ISE
|
||||||
|
description: Interrupt semaphore n enable bit.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 1
|
||||||
|
array:
|
||||||
|
len: 16
|
||||||
|
stride: 1
|
||||||
|
fieldset/ISR:
|
||||||
|
description: HSEM Interrupt status register.
|
||||||
|
fields:
|
||||||
|
- name: ISF
|
||||||
|
description: Interrupt(N) semaphore n status bit before enable (mask).
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 1
|
||||||
|
array:
|
||||||
|
len: 16
|
||||||
|
stride: 1
|
||||||
|
fieldset/MISR:
|
||||||
|
description: HSEM Masked interrupt status register.
|
||||||
|
fields:
|
||||||
|
- name: MISF
|
||||||
|
description: masked interrupt(N) semaphore n status bit after enable (mask).
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 1
|
||||||
|
array:
|
||||||
|
len: 16
|
||||||
|
stride: 1
|
||||||
|
fieldset/CR:
|
||||||
|
description: HSEM Clear register.
|
||||||
|
fields:
|
||||||
|
- name: COREID
|
||||||
|
description: COREID.
|
||||||
|
bit_offset: 8
|
||||||
|
bit_size: 4
|
||||||
|
- name: KEY
|
||||||
|
description: Semaphore clear Key.
|
||||||
|
bit_offset: 16
|
||||||
|
bit_size: 16
|
||||||
|
fieldset/KEYR:
|
||||||
|
description: HSEM Interrupt clear register.
|
||||||
|
fields:
|
||||||
|
- name: KEY
|
||||||
|
description: Semaphore Clear Key.
|
||||||
|
bit_offset: 16
|
||||||
|
bit_size: 16
|
||||||
|
fieldset/R:
|
||||||
|
description: HSEM register HSEM_R%s HSEM_R31.
|
||||||
|
fields:
|
||||||
|
- name: PROCID
|
||||||
|
description: Semaphore ProcessID.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 8
|
||||||
|
- name: COREID
|
||||||
|
description: Semaphore COREID.
|
||||||
|
bit_offset: 8
|
||||||
|
bit_size: 4
|
||||||
|
- name: LOCK
|
||||||
|
description: Lock indication.
|
||||||
|
bit_offset: 31
|
||||||
|
bit_size: 1
|
||||||
|
fieldset/RLR:
|
||||||
|
description: HSEM Read lock register.
|
||||||
|
fields:
|
||||||
|
- name: PROCID
|
||||||
|
description: Semaphore ProcessID.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 8
|
||||||
|
- name: COREID
|
||||||
|
description: Semaphore COREID.
|
||||||
|
bit_offset: 8
|
||||||
|
bit_size: 4
|
||||||
|
- name: LOCK
|
||||||
|
description: Lock indication.
|
||||||
|
bit_offset: 31
|
||||||
|
bit_size: 1
|
@ -535,6 +535,14 @@ impl PeriMatcher {
|
|||||||
("STM32F1.*:GPIO.*", ("gpio", "v1", "GPIO")),
|
("STM32F1.*:GPIO.*", ("gpio", "v1", "GPIO")),
|
||||||
(".*:GPIO.*", ("gpio", "v2", "GPIO")),
|
(".*:GPIO.*", ("gpio", "v2", "GPIO")),
|
||||||
(".*:IPCC:v1_0", ("ipcc", "v1", "IPCC")),
|
(".*:IPCC:v1_0", ("ipcc", "v1", "IPCC")),
|
||||||
|
("STM32H7(4|5)(5|7).*:HSEM:.*", ("hsem", "v1", "HSEM")),
|
||||||
|
("STM32WB55.*:HSEM:.*", ("hsem", "v1", "HSEM")),
|
||||||
|
("STM32H735.*:HSEM:.*", ("hsem", "v2", "HSEM")),
|
||||||
|
("STM32H7B3.*:HSEM:.*", ("hsem", "v2", "HSEM")),
|
||||||
|
("STM32H753.*:HSEM:.*", ("hsem", "v2", "HSEM")),
|
||||||
|
("STM32H743.*:HSEM:.*", ("hsem", "v2", "HSEM")),
|
||||||
|
("STM32WL5.*:HSEM:.*", ("hsem", "v3", "HSEM")),
|
||||||
|
("STM32WLE.*:HSEM:.*", ("hsem", "v4", "HSEM")),
|
||||||
(".*:DMAMUX.*", ("dmamux", "v1", "DMAMUX")),
|
(".*:DMAMUX.*", ("dmamux", "v1", "DMAMUX")),
|
||||||
(r".*:GPDMA\d?:.*", ("gpdma", "v1", "GPDMA")),
|
(r".*:GPDMA\d?:.*", ("gpdma", "v1", "GPDMA")),
|
||||||
(r".*:BDMA\d?:.*", ("bdma", "v1", "DMA")),
|
(r".*:BDMA\d?:.*", ("bdma", "v1", "DMA")),
|
||||||
@ -912,6 +920,7 @@ fn process_group(
|
|||||||
let chip_af = &group.ips.values().find(|x| x.name == "GPIO").unwrap().version;
|
let chip_af = &group.ips.values().find(|x| x.name == "GPIO").unwrap().version;
|
||||||
let chip_af = chip_af.strip_suffix("_gpio_v1_0").unwrap();
|
let chip_af = chip_af.strip_suffix("_gpio_v1_0").unwrap();
|
||||||
let chip_af = af.0.get(chip_af);
|
let chip_af = af.0.get(chip_af);
|
||||||
|
|
||||||
let cores: Vec<_> = group
|
let cores: Vec<_> = group
|
||||||
.xml
|
.xml
|
||||||
.cores
|
.cores
|
||||||
@ -1047,6 +1056,7 @@ fn process_core(
|
|||||||
"USBRAM",
|
"USBRAM",
|
||||||
"VREFINTCAL",
|
"VREFINTCAL",
|
||||||
"UID",
|
"UID",
|
||||||
|
"HSEM",
|
||||||
];
|
];
|
||||||
for pname in GHOST_PERIS {
|
for pname in GHOST_PERIS {
|
||||||
if let Entry::Vacant(entry) = peri_kinds.entry(pname.to_string()) {
|
if let Entry::Vacant(entry) = peri_kinds.entry(pname.to_string()) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user