Arrayfied v1 and v8 - preliminary fix for missing HSEM in Cube XML

This commit is contained in:
Michael Zill 2024-04-04 08:49:36 +02:00
parent 44967f3776
commit d1f1f4bfeb
4 changed files with 92 additions and 1410 deletions

1
.gitignore vendored
View File

@ -3,6 +3,7 @@
/sources
/tmp
.idea/
.DS_Store
# transform*.yaml
__pycache__

View File

@ -1,5 +1,5 @@
block/HSEM:
description: HSEM.
description: Hardware semaphore (HSEM).
items:
- name: R
description: HSEM register HSEM_R%s HSEM_R31.
@ -16,25 +16,44 @@ block/HSEM:
byte_offset: 128
access: Read
fieldset: RLR
- name: IER
- name: C1IER
description: HSEM Interrupt enable register.
byte_offset: 256
fieldset: IER
- name: ICR
- name: C1ICR
description: HSEM Interrupt clear register.
byte_offset: 260
access: Read
fieldset: ICR
- name: ISR
- name: C1ISR
description: HSEM Interrupt status register.
byte_offset: 264
access: Read
fieldset: ISR
- name: MISR
- name: C1MISR
description: HSEM Masked interrupt status register.
byte_offset: 268
access: Read
fieldset: MISR
- name: C2IER
description: HSEM Interrupt enable register.
byte_offset: 272
fieldset: IER
- name: C2ICR
description: HSEM Interrupt clear register.
byte_offset: 276
access: Read
fieldset: ICR
- name: C2ISR
description: HSEM Interrupt status register.
byte_offset: 280
access: Read
fieldset: ISR
- name: C2MISR
description: HSEM Masked interrupt status register.
byte_offset: 284
access: Read
fieldset: MISR
- name: CR
description: HSEM Clear register.
byte_offset: 320
@ -46,8 +65,8 @@ block/HSEM:
fieldset/CR:
description: HSEM Clear register.
fields:
- name: MASTERID
description: MasterID of semaphores to be cleared.
- name: COREID
description: COREID of semaphores to be cleared.
bit_offset: 8
bit_size: 8
- name: KEY
@ -57,396 +76,34 @@ fieldset/CR:
fieldset/ICR:
description: HSEM Interrupt clear register.
fields:
- name: ISEM0
description: Interrupt(N) semaphore n clear bit.
- name: ISC
description: Interrupt semaphore x clear bit.
bit_offset: 0
bit_size: 1
- name: ISEM1
description: Interrupt(N) semaphore n clear bit.
bit_offset: 1
bit_size: 1
- name: ISEM2
description: Interrupt(N) semaphore n clear bit.
bit_offset: 2
bit_size: 1
- name: ISEM3
description: Interrupt(N) semaphore n clear bit.
bit_offset: 3
bit_size: 1
- name: ISEM4
description: Interrupt(N) semaphore n clear bit.
bit_offset: 4
bit_size: 1
- name: ISEM5
description: Interrupt(N) semaphore n clear bit.
bit_offset: 5
bit_size: 1
- name: ISEM6
description: Interrupt(N) semaphore n clear bit.
bit_offset: 6
bit_size: 1
- name: ISEM7
description: Interrupt(N) semaphore n clear bit.
bit_offset: 7
bit_size: 1
- name: ISEM8
description: Interrupt(N) semaphore n clear bit.
bit_offset: 8
bit_size: 1
- name: ISEM9
description: Interrupt(N) semaphore n clear bit.
bit_offset: 9
bit_size: 1
- name: ISEM10
description: Interrupt(N) semaphore n clear bit.
bit_offset: 10
bit_size: 1
- name: ISEM11
description: Interrupt(N) semaphore n clear bit.
bit_offset: 11
bit_size: 1
- name: ISEM12
description: Interrupt(N) semaphore n clear bit.
bit_offset: 12
bit_size: 1
- name: ISEM13
description: Interrupt(N) semaphore n clear bit.
bit_offset: 13
bit_size: 1
- name: ISEM14
description: Interrupt(N) semaphore n clear bit.
bit_offset: 14
bit_size: 1
- name: ISEM15
description: Interrupt(N) semaphore n clear bit.
bit_offset: 15
bit_size: 1
- name: ISEM16
description: Interrupt(N) semaphore n clear bit.
bit_offset: 16
bit_size: 1
- name: ISEM17
description: Interrupt(N) semaphore n clear bit.
bit_offset: 17
bit_size: 1
- name: ISEM18
description: Interrupt(N) semaphore n clear bit.
bit_offset: 18
bit_size: 1
- name: ISEM19
description: Interrupt(N) semaphore n clear bit.
bit_offset: 19
bit_size: 1
- name: ISEM20
description: Interrupt(N) semaphore n clear bit.
bit_offset: 20
bit_size: 1
- name: ISEM21
description: Interrupt(N) semaphore n clear bit.
bit_offset: 21
bit_size: 1
- name: ISEM22
description: Interrupt(N) semaphore n clear bit.
bit_offset: 22
bit_size: 1
- name: ISEM23
description: Interrupt(N) semaphore n clear bit.
bit_offset: 23
bit_size: 1
- name: ISEM24
description: Interrupt(N) semaphore n clear bit.
bit_offset: 24
bit_size: 1
- name: ISEM25
description: Interrupt(N) semaphore n clear bit.
bit_offset: 25
bit_size: 1
- name: ISEM26
description: Interrupt(N) semaphore n clear bit.
bit_offset: 26
bit_size: 1
- name: ISEM27
description: Interrupt(N) semaphore n clear bit.
bit_offset: 27
bit_size: 1
- name: ISEM28
description: Interrupt(N) semaphore n clear bit.
bit_offset: 28
bit_size: 1
- name: ISEM29
description: Interrupt(N) semaphore n clear bit.
bit_offset: 29
bit_size: 1
- name: ISEM30
description: Interrupt(N) semaphore n clear bit.
bit_offset: 30
bit_size: 1
- name: ISEM31
description: Interrupt(N) semaphore n clear bit.
bit_offset: 31
bit_size: 1
array:
len: 32
stride: 1
fieldset/IER:
description: HSEM Interrupt enable register.
fields:
- name: ISEM0
description: Interrupt semaphore n enable bit.
- name: ISE
description: Interrupt semaphore x enable bit.
bit_offset: 0
bit_size: 1
- name: ISEM1
description: Interrupt semaphore n enable bit.
bit_offset: 1
bit_size: 1
- name: ISEM2
description: Interrupt semaphore n enable bit.
bit_offset: 2
bit_size: 1
- name: ISEM3
description: Interrupt semaphore n enable bit.
bit_offset: 3
bit_size: 1
- name: ISEM4
description: Interrupt semaphore n enable bit.
bit_offset: 4
bit_size: 1
- name: ISEM5
description: Interrupt semaphore n enable bit.
bit_offset: 5
bit_size: 1
- name: ISEM6
description: Interrupt semaphore n enable bit.
bit_offset: 6
bit_size: 1
- name: ISEM7
description: Interrupt semaphore n enable bit.
bit_offset: 7
bit_size: 1
- name: ISEM8
description: Interrupt semaphore n enable bit.
bit_offset: 8
bit_size: 1
- name: ISEM9
description: Interrupt semaphore n enable bit.
bit_offset: 9
bit_size: 1
- name: ISEM10
description: Interrupt semaphore n enable bit.
bit_offset: 10
bit_size: 1
- name: ISEM11
description: Interrupt semaphore n enable bit.
bit_offset: 11
bit_size: 1
- name: ISEM12
description: Interrupt semaphore n enable bit.
bit_offset: 12
bit_size: 1
- name: ISEM13
description: Interrupt semaphore n enable bit.
bit_offset: 13
bit_size: 1
- name: ISEM14
description: Interrupt semaphore n enable bit.
bit_offset: 14
bit_size: 1
- name: ISEM15
description: Interrupt semaphore n enable bit.
bit_offset: 15
bit_size: 1
- name: ISEM16
description: Interrupt semaphore n enable bit.
bit_offset: 16
bit_size: 1
- name: ISEM17
description: Interrupt semaphore n enable bit.
bit_offset: 17
bit_size: 1
- name: ISEM18
description: Interrupt semaphore n enable bit.
bit_offset: 18
bit_size: 1
- name: ISEM19
description: Interrupt semaphore n enable bit.
bit_offset: 19
bit_size: 1
- name: ISEM20
description: Interrupt semaphore n enable bit.
bit_offset: 20
bit_size: 1
- name: ISEM21
description: Interrupt semaphore n enable bit.
bit_offset: 21
bit_size: 1
- name: ISEM22
description: Interrupt semaphore n enable bit.
bit_offset: 22
bit_size: 1
- name: ISEM23
description: Interrupt semaphore n enable bit.
bit_offset: 23
bit_size: 1
- name: ISEM24
description: Interrupt semaphore n enable bit.
bit_offset: 24
bit_size: 1
- name: ISEM25
description: Interrupt semaphore n enable bit.
bit_offset: 25
bit_size: 1
- name: ISEM26
description: Interrupt semaphore n enable bit.
bit_offset: 26
bit_size: 1
- name: ISEM27
description: Interrupt semaphore n enable bit.
bit_offset: 27
bit_size: 1
- name: ISEM28
description: Interrupt semaphore n enable bit.
bit_offset: 28
bit_size: 1
- name: ISEM29
description: Interrupt semaphore n enable bit.
bit_offset: 29
bit_size: 1
- name: ISEM30
description: Interrupt semaphore n enable bit.
bit_offset: 30
bit_size: 1
- name: ISEM31
description: Interrupt(N) semaphore n enable bit.
bit_offset: 31
bit_size: 1
array:
len: 32
stride: 1
fieldset/ISR:
description: HSEM Interrupt status register.
fields:
- name: ISEM0
description: Interrupt(N) semaphore n status bit before enable (mask).
- name: ISF
description: Interrupt semaphore x status bit before enable (mask).
bit_offset: 0
bit_size: 1
- name: ISEM1
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 1
bit_size: 1
- name: ISEM2
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 2
bit_size: 1
- name: ISEM3
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 3
bit_size: 1
- name: ISEM4
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 4
bit_size: 1
- name: ISEM5
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 5
bit_size: 1
- name: ISEM6
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 6
bit_size: 1
- name: ISEM7
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 7
bit_size: 1
- name: ISEM8
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 8
bit_size: 1
- name: ISEM9
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 9
bit_size: 1
- name: ISEM10
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 10
bit_size: 1
- name: ISEM11
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 11
bit_size: 1
- name: ISEM12
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 12
bit_size: 1
- name: ISEM13
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 13
bit_size: 1
- name: ISEM14
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 14
bit_size: 1
- name: ISEM15
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 15
bit_size: 1
- name: ISEM16
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 16
bit_size: 1
- name: ISEM17
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 17
bit_size: 1
- name: ISEM18
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 18
bit_size: 1
- name: ISEM19
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 19
bit_size: 1
- name: ISEM20
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 20
bit_size: 1
- name: ISEM21
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 21
bit_size: 1
- name: ISEM22
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 22
bit_size: 1
- name: ISEM23
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 23
bit_size: 1
- name: ISEM24
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 24
bit_size: 1
- name: ISEM25
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 25
bit_size: 1
- name: ISEM26
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 26
bit_size: 1
- name: ISEM27
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 27
bit_size: 1
- name: ISEM28
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 28
bit_size: 1
- name: ISEM29
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 29
bit_size: 1
- name: ISEM30
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 30
bit_size: 1
- name: ISEM31
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 31
bit_size: 1
array:
len: 32
stride: 1
fieldset/KEYR:
description: HSEM Interrupt clear register.
fields:
@ -457,134 +114,13 @@ fieldset/KEYR:
fieldset/MISR:
description: HSEM Masked interrupt status register.
fields:
- name: ISEM0
description: masked interrupt(N) semaphore n status bit after enable (mask).
- name: MISF
description: masked interrupt semaphore x status bit after enable (mask).
bit_offset: 0
bit_size: 1
- name: ISEM1
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 1
bit_size: 1
- name: ISEM2
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 2
bit_size: 1
- name: ISEM3
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 3
bit_size: 1
- name: ISEM4
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 4
bit_size: 1
- name: ISEM5
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 5
bit_size: 1
- name: ISEM6
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 6
bit_size: 1
- name: ISEM7
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 7
bit_size: 1
- name: ISEM8
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 8
bit_size: 1
- name: ISEM9
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 9
bit_size: 1
- name: ISEM10
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 10
bit_size: 1
- name: ISEM11
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 11
bit_size: 1
- name: ISEM12
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 12
bit_size: 1
- name: ISEM13
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 13
bit_size: 1
- name: ISEM14
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 14
bit_size: 1
- name: ISEM15
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 15
bit_size: 1
- name: ISEM16
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 16
bit_size: 1
- name: ISEM17
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 17
bit_size: 1
- name: ISEM18
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 18
bit_size: 1
- name: ISEM19
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 19
bit_size: 1
- name: ISEM20
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 20
bit_size: 1
- name: ISEM21
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 21
bit_size: 1
- name: ISEM22
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 22
bit_size: 1
- name: ISEM23
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 23
bit_size: 1
- name: ISEM24
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 24
bit_size: 1
- name: ISEM25
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 25
bit_size: 1
- name: ISEM26
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 26
bit_size: 1
- name: ISEM27
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 27
bit_size: 1
- name: ISEM28
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 28
bit_size: 1
- name: ISEM29
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 29
bit_size: 1
- name: ISEM30
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 30
bit_size: 1
- name: ISEM31
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 31
bit_size: 1
array:
len: 32
stride: 1
fieldset/R:
description: HSEM register HSEM_R%s HSEM_R31.
fields:
@ -592,8 +128,8 @@ fieldset/R:
description: Semaphore ProcessID.
bit_offset: 0
bit_size: 8
- name: MASTERID
description: Semaphore MasterID.
- name: COREID
description: Semaphore COREID.
bit_offset: 8
bit_size: 8
- name: LOCK
@ -607,8 +143,8 @@ fieldset/RLR:
description: Semaphore ProcessID.
bit_offset: 0
bit_size: 8
- name: MASTERID
description: Semaphore MasterID.
- name: COREID
description: Semaphore COREID.
bit_offset: 8
bit_size: 8
- name: LOCK

View File

@ -46,335 +46,43 @@ block/HSEM:
fieldset/C1ICR:
description: HSEM Interrupt clear register.
fields:
- name: ISC0
- name: ISC
description: Interrupt(N) semaphore n clear bit.
bit_offset: 0
bit_size: 1
enum: ISC0
- name: ISC1
description: Interrupt(N) semaphore n clear bit.
bit_offset: 1
bit_size: 1
enum: ISC1
- name: ISC2
description: Interrupt(N) semaphore n clear bit.
bit_offset: 2
bit_size: 1
enum: ISC2
- name: ISC3
description: Interrupt(N) semaphore n clear bit.
bit_offset: 3
bit_size: 1
enum: ISC3
- name: ISC4
description: Interrupt(N) semaphore n clear bit.
bit_offset: 4
bit_size: 1
enum: ISC4
- name: ISC5
description: Interrupt(N) semaphore n clear bit.
bit_offset: 5
bit_size: 1
enum: ISC5
- name: ISC6
description: Interrupt(N) semaphore n clear bit.
bit_offset: 6
bit_size: 1
enum: ISC6
- name: ISC7
description: Interrupt(N) semaphore n clear bit.
bit_offset: 7
bit_size: 1
enum: ISC7
- name: ISC8
description: Interrupt(N) semaphore n clear bit.
bit_offset: 8
bit_size: 1
enum: ISC8
- name: ISC9
description: Interrupt(N) semaphore n clear bit.
bit_offset: 9
bit_size: 1
enum: ISC9
- name: ISC10
description: Interrupt(N) semaphore n clear bit.
bit_offset: 10
bit_size: 1
enum: ISC10
- name: ISC11
description: Interrupt(N) semaphore n clear bit.
bit_offset: 11
bit_size: 1
enum: ISC11
- name: ISC12
description: Interrupt(N) semaphore n clear bit.
bit_offset: 12
bit_size: 1
enum: ISC12
- name: ISC13
description: Interrupt(N) semaphore n clear bit.
bit_offset: 13
bit_size: 1
enum: ISC13
- name: ISC14
description: Interrupt(N) semaphore n clear bit.
bit_offset: 14
bit_size: 1
enum: ISC14
- name: ISC15
description: Interrupt(N) semaphore n clear bit.
bit_offset: 15
bit_size: 1
enum: ISC15
array:
len: 16
stride: 1
fieldset/C1IER:
description: HSEM Interrupt enable register.
fields:
- name: ISE0
- name: ISE
description: Interrupt semaphore n enable bit.
bit_offset: 0
bit_size: 1
enum: ISE0
- name: ISE1
description: Interrupt semaphore n enable bit.
bit_offset: 1
bit_size: 1
enum: ISE1
- name: ISE2
description: Interrupt semaphore n enable bit.
bit_offset: 2
bit_size: 1
enum: ISE2
- name: ISE3
description: Interrupt semaphore n enable bit.
bit_offset: 3
bit_size: 1
enum: ISE3
- name: ISE4
description: Interrupt semaphore n enable bit.
bit_offset: 4
bit_size: 1
enum: ISE4
- name: ISE5
description: Interrupt semaphore n enable bit.
bit_offset: 5
bit_size: 1
enum: ISE5
- name: ISE6
description: Interrupt semaphore n enable bit.
bit_offset: 6
bit_size: 1
enum: ISE6
- name: ISE7
description: Interrupt semaphore n enable bit.
bit_offset: 7
bit_size: 1
enum: ISE7
- name: ISE8
description: Interrupt semaphore n enable bit.
bit_offset: 8
bit_size: 1
enum: ISE8
- name: ISE9
description: Interrupt semaphore n enable bit.
bit_offset: 9
bit_size: 1
enum: ISE9
- name: ISE10
description: Interrupt semaphore n enable bit.
bit_offset: 10
bit_size: 1
enum: ISE10
- name: ISE11
description: Interrupt semaphore n enable bit.
bit_offset: 11
bit_size: 1
enum: ISE11
- name: ISE12
description: Interrupt semaphore n enable bit.
bit_offset: 12
bit_size: 1
enum: ISE12
- name: ISE13
description: Interrupt semaphore n enable bit.
bit_offset: 13
bit_size: 1
enum: ISE13
- name: ISE14
description: Interrupt semaphore n enable bit.
bit_offset: 14
bit_size: 1
enum: ISE14
- name: ISE15
description: Interrupt semaphore n enable bit.
bit_offset: 15
bit_size: 1
enum: ISE15
array:
len: 16
stride: 1
fieldset/C1ISR:
description: HSEM Interrupt status register.
fields:
- name: ISF0
- name: ISF
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 0
bit_size: 1
enum: ISF0
- name: ISF1
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 1
bit_size: 1
enum: ISF1
- name: ISF2
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 2
bit_size: 1
enum: ISF2
- name: ISF3
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 3
bit_size: 1
enum: ISF3
- name: ISF4
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 4
bit_size: 1
enum: ISF4
- name: ISF5
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 5
bit_size: 1
enum: ISF5
- name: ISF6
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 6
bit_size: 1
enum: ISF6
- name: ISF7
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 7
bit_size: 1
enum: ISF7
- name: ISF8
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 8
bit_size: 1
enum: ISF8
- name: ISF9
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 9
bit_size: 1
enum: ISF9
- name: ISF10
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 10
bit_size: 1
enum: ISF10
- name: ISF11
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 11
bit_size: 1
enum: ISF11
- name: ISF12
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 12
bit_size: 1
enum: ISF12
- name: ISF13
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 13
bit_size: 1
enum: ISF13
- name: ISF14
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 14
bit_size: 1
enum: ISF14
- name: ISF15
description: Interrupt(N) semaphore n status bit before enable (mask).
bit_offset: 15
bit_size: 1
enum: ISF15
array:
len: 16
stride: 1
fieldset/C1MISR:
description: HSEM Masked interrupt status register.
fields:
- name: MISF0
- name: MISF
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 0
bit_size: 1
enum: MISF0
- name: MISF1
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 1
bit_size: 1
enum: MISF1
- name: MISF2
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 2
bit_size: 1
enum: MISF2
- name: MISF3
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 3
bit_size: 1
enum: MISF3
- name: MISF4
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 4
bit_size: 1
enum: MISF4
- name: MISF5
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 5
bit_size: 1
enum: MISF5
- name: MISF6
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 6
bit_size: 1
enum: MISF6
- name: MISF7
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 7
bit_size: 1
enum: MISF7
- name: MISF8
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 8
bit_size: 1
enum: MISF8
- name: MISF9
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 9
bit_size: 1
enum: MISF9
- name: MISF10
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 10
bit_size: 1
enum: MISF10
- name: MISF11
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 11
bit_size: 1
enum: MISF11
- name: MISF12
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 12
bit_size: 1
enum: MISF12
- name: MISF13
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 13
bit_size: 1
enum: MISF13
- name: MISF14
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 14
bit_size: 1
enum: MISF14
- name: MISF15
description: masked interrupt(N) semaphore n status bit after enable (mask).
bit_offset: 15
bit_size: 1
enum: MISF15
array:
len: 16
stride: 1
fieldset/CR:
description: HSEM Clear register.
fields:
@ -425,582 +133,6 @@ fieldset/RLR:
bit_offset: 31
bit_size: 1
enum: RLR_LOCK
enum/ISC0:
bit_size: 1
variants:
- name: NoEffect
description: Always reads 0.
value: 0
- name: Clear
description: Interrupt semaphore x status ISFx and masked status MISFx cleared.
value: 1
enum/ISC1:
bit_size: 1
variants:
- name: NoEffect
description: Always reads 0.
value: 0
- name: Clear
description: Interrupt semaphore x status ISFx and masked status MISFx cleared.
value: 1
enum/ISC10:
bit_size: 1
variants:
- name: NoEffect
description: Always reads 0.
value: 0
- name: Clear
description: Interrupt semaphore x status ISFx and masked status MISFx cleared.
value: 1
enum/ISC11:
bit_size: 1
variants:
- name: NoEffect
description: Always reads 0.
value: 0
- name: Clear
description: Interrupt semaphore x status ISFx and masked status MISFx cleared.
value: 1
enum/ISC12:
bit_size: 1
variants:
- name: NoEffect
description: Always reads 0.
value: 0
- name: Clear
description: Interrupt semaphore x status ISFx and masked status MISFx cleared.
value: 1
enum/ISC13:
bit_size: 1
variants:
- name: NoEffect
description: Always reads 0.
value: 0
- name: Clear
description: Interrupt semaphore x status ISFx and masked status MISFx cleared.
value: 1
enum/ISC14:
bit_size: 1
variants:
- name: NoEffect
description: Always reads 0.
value: 0
- name: Clear
description: Interrupt semaphore x status ISFx and masked status MISFx cleared.
value: 1
enum/ISC15:
bit_size: 1
variants:
- name: NoEffect
description: Always reads 0.
value: 0
- name: Clear
description: Interrupt semaphore x status ISFx and masked status MISFx cleared.
value: 1
enum/ISC2:
bit_size: 1
variants:
- name: NoEffect
description: Always reads 0.
value: 0
- name: Clear
description: Interrupt semaphore x status ISFx and masked status MISFx cleared.
value: 1
enum/ISC3:
bit_size: 1
variants:
- name: NoEffect
description: Always reads 0.
value: 0
- name: Clear
description: Interrupt semaphore x status ISFx and masked status MISFx cleared.
value: 1
enum/ISC4:
bit_size: 1
variants:
- name: NoEffect
description: Always reads 0.
value: 0
- name: Clear
description: Interrupt semaphore x status ISFx and masked status MISFx cleared.
value: 1
enum/ISC5:
bit_size: 1
variants:
- name: NoEffect
description: Always reads 0.
value: 0
- name: Clear
description: Interrupt semaphore x status ISFx and masked status MISFx cleared.
value: 1
enum/ISC6:
bit_size: 1
variants:
- name: NoEffect
description: Always reads 0.
value: 0
- name: Clear
description: Interrupt semaphore x status ISFx and masked status MISFx cleared.
value: 1
enum/ISC7:
bit_size: 1
variants:
- name: NoEffect
description: Always reads 0.
value: 0
- name: Clear
description: Interrupt semaphore x status ISFx and masked status MISFx cleared.
value: 1
enum/ISC8:
bit_size: 1
variants:
- name: NoEffect
description: Always reads 0.
value: 0
- name: Clear
description: Interrupt semaphore x status ISFx and masked status MISFx cleared.
value: 1
enum/ISC9:
bit_size: 1
variants:
- name: NoEffect
description: Always reads 0.
value: 0
- name: Clear
description: Interrupt semaphore x status ISFx and masked status MISFx cleared.
value: 1
enum/ISE0:
bit_size: 1
variants:
- name: Disabled
description: Interrupt generation disabled.
value: 0
- name: Enabled
description: Interrupt generation enabled.
value: 1
enum/ISE1:
bit_size: 1
variants:
- name: Disabled
description: Interrupt generation disabled.
value: 0
- name: Enabled
description: Interrupt generation enabled.
value: 1
enum/ISE10:
bit_size: 1
variants:
- name: Disabled
description: Interrupt generation disabled.
value: 0
- name: Enabled
description: Interrupt generation enabled.
value: 1
enum/ISE11:
bit_size: 1
variants:
- name: Disabled
description: Interrupt generation disabled.
value: 0
- name: Enabled
description: Interrupt generation enabled.
value: 1
enum/ISE12:
bit_size: 1
variants:
- name: Disabled
description: Interrupt generation disabled.
value: 0
- name: Enabled
description: Interrupt generation enabled.
value: 1
enum/ISE13:
bit_size: 1
variants:
- name: Disabled
description: Interrupt generation disabled.
value: 0
- name: Enabled
description: Interrupt generation enabled.
value: 1
enum/ISE14:
bit_size: 1
variants:
- name: Disabled
description: Interrupt generation disabled.
value: 0
- name: Enabled
description: Interrupt generation enabled.
value: 1
enum/ISE15:
bit_size: 1
variants:
- name: Disabled
description: Interrupt generation disabled.
value: 0
- name: Enabled
description: Interrupt generation enabled.
value: 1
enum/ISE2:
bit_size: 1
variants:
- name: Disabled
description: Interrupt generation disabled.
value: 0
- name: Enabled
description: Interrupt generation enabled.
value: 1
enum/ISE3:
bit_size: 1
variants:
- name: Disabled
description: Interrupt generation disabled.
value: 0
- name: Enabled
description: Interrupt generation enabled.
value: 1
enum/ISE4:
bit_size: 1
variants:
- name: Disabled
description: Interrupt generation disabled.
value: 0
- name: Enabled
description: Interrupt generation enabled.
value: 1
enum/ISE5:
bit_size: 1
variants:
- name: Disabled
description: Interrupt generation disabled.
value: 0
- name: Enabled
description: Interrupt generation enabled.
value: 1
enum/ISE6:
bit_size: 1
variants:
- name: Disabled
description: Interrupt generation disabled.
value: 0
- name: Enabled
description: Interrupt generation enabled.
value: 1
enum/ISE7:
bit_size: 1
variants:
- name: Disabled
description: Interrupt generation disabled.
value: 0
- name: Enabled
description: Interrupt generation enabled.
value: 1
enum/ISE8:
bit_size: 1
variants:
- name: Disabled
description: Interrupt generation disabled.
value: 0
- name: Enabled
description: Interrupt generation enabled.
value: 1
enum/ISE9:
bit_size: 1
variants:
- name: Disabled
description: Interrupt generation disabled.
value: 0
- name: Enabled
description: Interrupt generation enabled.
value: 1
enum/ISF0:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending.
value: 0
- name: Pending
description: Interrupt pending.
value: 1
enum/ISF1:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending.
value: 0
- name: Pending
description: Interrupt pending.
value: 1
enum/ISF10:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending.
value: 0
- name: Pending
description: Interrupt pending.
value: 1
enum/ISF11:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending.
value: 0
- name: Pending
description: Interrupt pending.
value: 1
enum/ISF12:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending.
value: 0
- name: Pending
description: Interrupt pending.
value: 1
enum/ISF13:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending.
value: 0
- name: Pending
description: Interrupt pending.
value: 1
enum/ISF14:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending.
value: 0
- name: Pending
description: Interrupt pending.
value: 1
enum/ISF15:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending.
value: 0
- name: Pending
description: Interrupt pending.
value: 1
enum/ISF2:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending.
value: 0
- name: Pending
description: Interrupt pending.
value: 1
enum/ISF3:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending.
value: 0
- name: Pending
description: Interrupt pending.
value: 1
enum/ISF4:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending.
value: 0
- name: Pending
description: Interrupt pending.
value: 1
enum/ISF5:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending.
value: 0
- name: Pending
description: Interrupt pending.
value: 1
enum/ISF6:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending.
value: 0
- name: Pending
description: Interrupt pending.
value: 1
enum/ISF7:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending.
value: 0
- name: Pending
description: Interrupt pending.
value: 1
enum/ISF8:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending.
value: 0
- name: Pending
description: Interrupt pending.
value: 1
enum/ISF9:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending.
value: 0
- name: Pending
description: Interrupt pending.
value: 1
enum/MISF0:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending after masking.
value: 0
- name: Pending
description: Interrupt pending after masking.
value: 1
enum/MISF1:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending after masking.
value: 0
- name: Pending
description: Interrupt pending after masking.
value: 1
enum/MISF10:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending after masking.
value: 0
- name: Pending
description: Interrupt pending after masking.
value: 1
enum/MISF11:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending after masking.
value: 0
- name: Pending
description: Interrupt pending after masking.
value: 1
enum/MISF12:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending after masking.
value: 0
- name: Pending
description: Interrupt pending after masking.
value: 1
enum/MISF13:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending after masking.
value: 0
- name: Pending
description: Interrupt pending after masking.
value: 1
enum/MISF14:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending after masking.
value: 0
- name: Pending
description: Interrupt pending after masking.
value: 1
enum/MISF15:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending after masking.
value: 0
- name: Pending
description: Interrupt pending after masking.
value: 1
enum/MISF2:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending after masking.
value: 0
- name: Pending
description: Interrupt pending after masking.
value: 1
enum/MISF3:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending after masking.
value: 0
- name: Pending
description: Interrupt pending after masking.
value: 1
enum/MISF4:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending after masking.
value: 0
- name: Pending
description: Interrupt pending after masking.
value: 1
enum/MISF5:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending after masking.
value: 0
- name: Pending
description: Interrupt pending after masking.
value: 1
enum/MISF6:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending after masking.
value: 0
- name: Pending
description: Interrupt pending after masking.
value: 1
enum/MISF7:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending after masking.
value: 0
- name: Pending
description: Interrupt pending after masking.
value: 1
enum/MISF8:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending after masking.
value: 0
- name: Pending
description: Interrupt pending after masking.
value: 1
enum/MISF9:
bit_size: 1
variants:
- name: NotPending
description: No interrupt pending after masking.
value: 0
- name: Pending
description: Interrupt pending after masking.
value: 1
enum/RLR_LOCK:
bit_size: 1
variants:

View File

@ -1,6 +1,7 @@
use std::collections::hash_map::Entry;
use std::collections::{HashMap, HashSet};
use log::info;
use stm32_data_serde::chip::core::peripheral::Pin;
use super::*;
@ -535,17 +536,8 @@ impl PeriMatcher {
("STM32F1.*:GPIO.*", ("gpio", "v1", "GPIO")),
(".*:GPIO.*", ("gpio", "v2", "GPIO")),
(".*:IPCC:v1_0", ("ipcc", "v1", "IPCC")),
("STM32H747.*:HSEM:*", ("hsem", "v1", "HSEM")),
("STM32H7b3.*:HSEM:*", ("hsem", "v3", "HSEM")),
("STM32H753.*:HSEM:*", ("hsem", "v3", "HSEM")),
("STM32H753v.*:HSEM:*", ("hsem", "v3", "HSEM")),
("STM32H743.*:HSEM:*", ("hsem", "v3", "HSEM")),
("STM32H743v.*:HSEM:*", ("hsem", "v3", "HSEM")),
("STM32MP157.*:HSEM:*", ("hsem", "v4", "HSEM")),
("STM32MP153.*:HSEM:*", ("hsem", "v4", "HSEM")),
("STM32WA55.*:HSEM:*", ("hsem", "v6", "HSEM")),
("STM32WL5.*:HSEM:*", ("hsem", "v7", "HSEM")),
("STM32WLE.*:HSEM:*", ("hsem", "v8", "HSEM")),
("STM32H7(4|5)(5|7).*:HSEM:.*", ("hsem", "v1", "HSEM")),
("STM32WLE.*:HSEM:.*", ("hsem", "v8", "HSEM")),
(".*:DMAMUX.*", ("dmamux", "v1", "DMAMUX")),
(r".*:GPDMA\d?:.*", ("gpdma", "v1", "GPDMA")),
(r".*:BDMA\d?:.*", ("bdma", "v1", "DMA")),
@ -923,6 +915,24 @@ fn process_group(
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 = af.0.get(chip_af);
// HSEM is missing in the Cube XML files for these chips - we need to add it manually
if chip_name.starts_with("STM32H745")
|| chip_name.starts_with("STM32H747")
|| chip_name.starts_with("STM32H755")
|| chip_name.starts_with("STM32H757")
{
info!("Patching HSEM in IPS for {}", chip_name);
group.ips.insert(
"HSEM".to_string(),
xml::Ip {
name: "HSEM".to_string(),
version: "hsem1_v1_0_Cube".to_string(),
instance_name: "HSEM".to_string(),
},
);
}
let cores: Vec<_> = group
.xml
.cores
@ -1017,6 +1027,9 @@ fn process_core(
entry.insert(format!("ADC3_COMMON:{}", ip.version.strip_suffix("_Cube").unwrap()));
}
}
if pname.starts_with("HSEM") && chip_name.starts_with("STM327") {
info!("******* HSEM *******")
}
peri_kinds.insert(pname, pkind.to_string());
}
const GHOST_PERIS: &[&str] = &[