Arrayfied v2, v3, v4 - removed enums, aligned yaml structure

The following list shows the different hsem yaml versions and the coresponding chips.

    wba is on purpose not included at is complex and very different from the others which will
    also make the HSEM implementation in the HAL more complex. I leave this out for another PR.

    h747
    wb55

    h735
    h7b3
    h753v
    h753
    h743
    h743v

    wl5x_cm0p
    wl5x_cm4

    wle5
This commit is contained in:
Michael Zill 2024-04-05 15:08:46 +02:00
parent bde330f46e
commit e029a55f7a
9 changed files with 248 additions and 6785 deletions

View File

@ -71,37 +71,6 @@ fieldset/CR:
description: Semaphore clear Key. description: Semaphore clear Key.
bit_offset: 16 bit_offset: 16
bit_size: 16 bit_size: 16
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/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/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/KEYR: fieldset/KEYR:
description: HSEM Interrupt clear register. description: HSEM Interrupt clear register.
fields: fields:
@ -109,16 +78,6 @@ fieldset/KEYR:
description: Semaphore Clear Key. description: Semaphore Clear Key.
bit_offset: 16 bit_offset: 16
bit_size: 16 bit_size: 16
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
fieldset/R: fieldset/R:
description: HSEM register HSEM_R%s HSEM_R31. description: HSEM register HSEM_R%s HSEM_R31.
fields: fields:
@ -149,3 +108,43 @@ fieldset/RLR:
description: Lock indication. description: Lock indication.
bit_offset: 31 bit_offset: 31
bit_size: 1 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

View File

@ -16,25 +16,25 @@ block/HSEM:
byte_offset: 128 byte_offset: 128
access: Read access: Read
fieldset: RLR fieldset: RLR
- name: C1IER - name: IER
description: HSEM Interrupt enable register. description: HSEM Interrupt enable register.
byte_offset: 256 byte_offset: 256
fieldset: C1IER fieldset: IER
- name: C1ICR - name: ICR
description: HSEM Interrupt clear register. description: HSEM Interrupt clear register.
byte_offset: 260 byte_offset: 260
access: Read access: Read
fieldset: C1ICR fieldset: ICR
- name: C1ISR - name: ISR
description: HSEM Interrupt status register. description: HSEM Interrupt status register.
byte_offset: 264 byte_offset: 264
access: Read access: Read
fieldset: C1ISR fieldset: ISR
- name: C1MISR - name: MISR
description: HSEM Masked interrupt status register. description: HSEM Masked interrupt status register.
byte_offset: 268 byte_offset: 268
access: Read access: Read
fieldset: C1MISR fieldset: MISR
- name: CR - name: CR
description: HSEM Clear register. description: HSEM Clear register.
byte_offset: 320 byte_offset: 320
@ -43,537 +43,13 @@ block/HSEM:
description: HSEM Interrupt clear register. description: HSEM Interrupt clear register.
byte_offset: 324 byte_offset: 324
fieldset: KEYR fieldset: KEYR
fieldset/C1ICR:
description: HSEM Interrupt clear register.
fields:
- name: ISEM0
description: Interrupt(N) semaphore n 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
fieldset/C1IER:
description: HSEM Interrupt enable register.
fields:
- name: ISEM0
description: Interrupt semaphore n 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
fieldset/C1ISR:
description: HSEM Interrupt status register.
fields:
- name: ISEM0
description: Interrupt(N) semaphore n 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
fieldset/C1MISR:
description: HSEM Masked interrupt status register.
fields:
- name: ISEM0
description: masked interrupt(N) semaphore n 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
fieldset/CR: fieldset/CR:
description: HSEM Clear register. description: HSEM Clear register.
fields: fields:
- name: COREID - name: MASTERID
description: MasterID of semaphores to be cleared. description: MasterID of semaphores to be cleared.
bit_offset: 8 bit_offset: 8
bit_size: 4 bit_size: 8
- name: KEY - name: KEY
description: Semaphore clear Key. description: Semaphore clear Key.
bit_offset: 16 bit_offset: 16
@ -615,3 +91,43 @@ fieldset/RLR:
description: Lock indication. description: Lock indication.
bit_offset: 31 bit_offset: 31
bit_size: 1 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

View File

@ -1,43 +1,61 @@
block/HSEM: block/HSEM:
description: HSEM. description: Hardware semaphore.
items: items:
- name: R - name: R
description: HSEM register HSEM_R%s HSEM_R31. description: HSEM register HSEM_R%s HSEM_R31.
array: array:
len: 32 len: 16
stride: 4 stride: 4
byte_offset: 0 byte_offset: 0
fieldset: R fieldset: R
- name: RLR - name: RLR
description: HSEM Read lock register. description: HSEM Read lock register.
array: array:
len: 32 len: 16
stride: 4 stride: 4
byte_offset: 128 byte_offset: 128
access: Read access: Read
fieldset: RLR fieldset: RLR
- name: IER - name: C1IER
description: HSEM Interrupt enable register. description: HSEM Interrupt enable register.
byte_offset: 256 byte_offset: 256
fieldset: IER fieldset: IER
- name: ICR - name: C1ICR
description: HSEM Interrupt clear register. description: HSEM Interrupt clear register.
byte_offset: 260 byte_offset: 260
access: Read
fieldset: ICR fieldset: ICR
- name: ISR - name: C1ISR
description: HSEM Interrupt status register. description: HSEM Interrupt status register.
byte_offset: 264 byte_offset: 264
access: Read access: Read
fieldset: ISR fieldset: ISR
- name: MISR - name: C1MISR
description: HSEM Masked interrupt status register. description: HSEM Masked interrupt status register.
byte_offset: 268 byte_offset: 268
access: Read access: Read
fieldset: MISR fieldset: MISR
- name: C2IER
description: HSEM Interrupt enable register.
byte_offset: 272
fieldset: IER
- name: C2ICR
description: HSEM Interrupt clear register.
byte_offset: 276
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 - name: CR
description: HSEM Clear register. description: HSEM Clear register.
byte_offset: 320 byte_offset: 320
access: Write
fieldset: CR fieldset: CR
- name: KEYR - name: KEYR
description: HSEM Interrupt clear register. description: HSEM Interrupt clear register.
@ -46,407 +64,14 @@ block/HSEM:
fieldset/CR: fieldset/CR:
description: HSEM Clear register. description: HSEM Clear register.
fields: fields:
- name: MASTERID - name: COREID
description: MasterID of semaphores to be cleared. description: COREID.
bit_offset: 8 bit_offset: 8
bit_size: 8 bit_size: 4
- name: KEY - name: KEY
description: Semaphore clear Key. description: Semaphore clear Key.
bit_offset: 16 bit_offset: 16
bit_size: 16 bit_size: 16
fieldset/ICR:
description: HSEM Interrupt clear register.
fields:
- name: ISEM0
description: Interrupt(N) semaphore n 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
fieldset/IER:
description: HSEM Interrupt enable register.
fields:
- name: ISEM0
description: Interrupt semaphore n 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
fieldset/ISR:
description: HSEM Interrupt status register.
fields:
- name: ISEM0
description: Interrupt(N) semaphore n 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
fieldset/KEYR: fieldset/KEYR:
description: HSEM Interrupt clear register. description: HSEM Interrupt clear register.
fields: fields:
@ -454,137 +79,6 @@ fieldset/KEYR:
description: Semaphore Clear Key. description: Semaphore Clear Key.
bit_offset: 16 bit_offset: 16
bit_size: 16 bit_size: 16
fieldset/MISR:
description: HSEM Masked interrupt status register.
fields:
- name: ISEM0
description: masked interrupt(N) semaphore n 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
fieldset/R: fieldset/R:
description: HSEM register HSEM_R%s HSEM_R31. description: HSEM register HSEM_R%s HSEM_R31.
fields: fields:
@ -592,10 +86,10 @@ fieldset/R:
description: Semaphore ProcessID. description: Semaphore ProcessID.
bit_offset: 0 bit_offset: 0
bit_size: 8 bit_size: 8
- name: MASTERID - name: COREID
description: Semaphore MasterID. description: COREID.
bit_offset: 8 bit_offset: 8
bit_size: 8 bit_size: 4
- name: LOCK - name: LOCK
description: Lock indication. description: Lock indication.
bit_offset: 31 bit_offset: 31
@ -607,11 +101,51 @@ fieldset/RLR:
description: Semaphore ProcessID. description: Semaphore ProcessID.
bit_offset: 0 bit_offset: 0
bit_size: 8 bit_size: 8
- name: MASTERID - name: COREID
description: Semaphore MasterID. description: COREID.
bit_offset: 8 bit_offset: 8
bit_size: 8 bit_size: 4
- name: LOCK - name: LOCK
description: Lock indication. description: Lock indication.
bit_offset: 31 bit_offset: 31
bit_size: 1 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

File diff suppressed because it is too large Load Diff

View File

@ -1,246 +0,0 @@
block/HSEM:
description: HSEM.
items:
- name: R
description: Semaphore %s register.
array:
len: 32
stride: 4
byte_offset: 0
fieldset: R
- name: RLR
description: Semaphore %s read lock register.
array:
len: 32
stride: 4
byte_offset: 128
access: Read
fieldset: RLR
- name: C1IER
description: HSEM Interrupt enable register.
byte_offset: 256
fieldset: C1IER
- name: C1ICR
description: HSEM Interrupt clear register.
byte_offset: 260
fieldset: C1ICR
- name: C1ISR
description: HSEM Interrupt status register.
byte_offset: 264
access: Read
fieldset: C1ISR
- name: C1MISR
description: HSEM Masked interrupt status register.
byte_offset: 268
access: Read
fieldset: C1MISR
- name: C2IER
description: HSEM Interrupt enable register.
byte_offset: 272
fieldset: C2IER
- name: C2ICR
description: HSEM Interrupt clear register.
byte_offset: 276
fieldset: C2ICR
- name: C2ISR
description: HSEM Interrupt status register.
byte_offset: 280
access: Read
fieldset: C2ISR
- name: C2MISR
description: HSEM Masked interrupt status register.
byte_offset: 284
access: Read
fieldset: C2MISR
- name: CR
description: Semaphore Clear register.
byte_offset: 320
fieldset: CR
- name: KEYR
description: Interrupt clear register.
byte_offset: 324
fieldset: KEYR
- name: HWCFGR2
description: Semaphore hardware configuration register 2.
byte_offset: 1004
access: Read
fieldset: HWCFGR2
- name: HWCFGR1
description: Semaphore hardware configuration register 1.
byte_offset: 1008
access: Read
fieldset: HWCFGR1
- name: VERR
description: HSEM version register.
byte_offset: 1012
access: Read
fieldset: VERR
- name: IPIDR
description: HSEM indentification register.
byte_offset: 1016
access: Read
fieldset: IPIDR
- name: SIDR
description: HSEM size indentification register.
byte_offset: 1020
access: Read
fieldset: SIDR
fieldset/C1ICR:
description: HSEM Interrupt clear register.
fields:
- name: ISCm
description: CPU(n) semaphore m clear bit.
bit_offset: 0
bit_size: 32
fieldset/C1IER:
description: HSEM Interrupt enable register.
fields:
- name: ISEm
description: CPU(n) semaphore m enable bit.
bit_offset: 0
bit_size: 32
fieldset/C1ISR:
description: HSEM Interrupt status register.
fields:
- name: ISFm
description: CPU(n) semaphore m status bit before enable (mask).
bit_offset: 0
bit_size: 32
fieldset/C1MISR:
description: HSEM Masked interrupt status register.
fields:
- name: MISFm
description: masked CPU(n) semaphore m status bit after enable (mask).
bit_offset: 0
bit_size: 32
fieldset/C2ICR:
description: HSEM Interrupt clear register.
fields:
- name: ISCm
description: CPU(2) semaphore m clear bit.
bit_offset: 0
bit_size: 32
fieldset/C2IER:
description: HSEM Interrupt enable register.
fields:
- name: ISEm
description: CPU(2) semaphore m enable bit.
bit_offset: 0
bit_size: 32
fieldset/C2ISR:
description: HSEM Interrupt status register.
fields:
- name: ISFm
description: CPU(2) semaphore m status bit before enable (mask).
bit_offset: 0
bit_size: 32
fieldset/C2MISR:
description: HSEM Masked interrupt status register.
fields:
- name: MISFm
description: masked CPU(2) semaphore m status bit after enable (mask).
bit_offset: 0
bit_size: 32
fieldset/CR:
description: Semaphore Clear register.
fields:
- name: COREID
description: CoreID of semaphore to be cleared.
bit_offset: 8
bit_size: 4
- name: KEY
description: Semaphore clear Key.
bit_offset: 16
bit_size: 16
fieldset/HWCFGR1:
description: Semaphore hardware configuration register 1.
fields:
- name: NBSEM
description: Hardware Configuration number of semaphores.
bit_offset: 0
bit_size: 8
- name: NBINT
description: Hardware Configuration number of interrupts supported number of master IDs.
bit_offset: 8
bit_size: 4
fieldset/HWCFGR2:
description: Semaphore hardware configuration register 2.
fields:
- name: MASTERID1
description: Hardware Configuration valid bus masters ID1.
bit_offset: 0
bit_size: 4
- name: MASTERID2
description: Hardware Configuration valid bus masters ID2.
bit_offset: 4
bit_size: 4
- name: MASTERID3
description: Hardware Configuration valid bus masters ID3.
bit_offset: 8
bit_size: 4
- name: MASTERID4
description: Hardware Configuration valid bus masters ID4.
bit_offset: 12
bit_size: 4
fieldset/IPIDR:
description: HSEM indentification register.
fields:
- name: ID
description: Identification Code.
bit_offset: 0
bit_size: 32
fieldset/KEYR:
description: Interrupt clear register.
fields:
- name: KEY
description: Semaphore Clear Key.
bit_offset: 16
bit_size: 16
fieldset/R:
description: Semaphore %s 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/RLR:
description: Semaphore %s 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/SIDR:
description: HSEM size indentification register.
fields:
- name: SID
description: Size Identification Code.
bit_offset: 0
bit_size: 32
fieldset/VERR:
description: HSEM version register.
fields:
- name: MINREV
description: Minor Revision.
bit_offset: 0
bit_size: 4
- name: MAJREV
description: Major Revision.
bit_offset: 4
bit_size: 4

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,153 +0,0 @@
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: C1IER
description: HSEM Interrupt enable register.
byte_offset: 256
fieldset: C1IER
- name: C1ICR
description: HSEM Interrupt clear register.
byte_offset: 260
fieldset: C1ICR
- name: C1ISR
description: HSEM Interrupt status register.
byte_offset: 264
access: Read
fieldset: C1ISR
- name: C1MISR
description: HSEM Masked interrupt status register.
byte_offset: 268
access: Read
fieldset: C1MISR
- 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/C1ICR:
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/C1IER:
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/C1ISR:
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/C1MISR:
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: MASTERID.
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 MASTERID.
bit_offset: 8
bit_size: 4
- name: LOCK
description: Lock indication.
bit_offset: 31
bit_size: 1
enum: R_LOCK
fieldset/RLR:
description: HSEM Read lock register.
fields:
- name: PROCID
description: Semaphore ProcessID.
bit_offset: 0
bit_size: 8
- name: COREID
description: Semaphore MASTERID.
bit_offset: 8
bit_size: 4
- name: LOCK
description: Lock indication.
bit_offset: 31
bit_size: 1
enum: RLR_LOCK
enum/RLR_LOCK:
bit_size: 1
variants:
- name: Free
description: Semaphore is free.
value: 0
- name: Locked
description: Semaphore is locked.
value: 1
enum/R_LOCK:
bit_size: 1
variants:
- name: Free
description: Semaphore is free.
value: 0
- name: R_Locked_W_TryLock
description: Semaphore is locked.
value: 1

View File

@ -1,7 +1,6 @@
use std::collections::hash_map::Entry; use std::collections::hash_map::Entry;
use std::collections::{HashMap, HashSet}; use std::collections::{HashMap, HashSet};
use log::info;
use stm32_data_serde::chip::core::peripheral::Pin; use stm32_data_serde::chip::core::peripheral::Pin;
use super::*; use super::*;
@ -537,7 +536,13 @@ impl PeriMatcher {
(".*: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")), ("STM32H7(4|5)(5|7).*:HSEM:.*", ("hsem", "v1", "HSEM")),
("STM32WLE.*:HSEM:.*", ("hsem", "v8", "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")),
@ -916,23 +921,6 @@ fn process_group(
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);
// 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 let cores: Vec<_> = group
.xml .xml
.cores .cores