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
152 lines
3.3 KiB
YAML
152 lines
3.3 KiB
YAML
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: IER
|
|
- name: C1ICR
|
|
description: HSEM Interrupt clear register.
|
|
byte_offset: 260
|
|
fieldset: ICR
|
|
- name: C1ISR
|
|
description: HSEM Interrupt status register.
|
|
byte_offset: 264
|
|
access: Read
|
|
fieldset: ISR
|
|
- 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
|
|
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
|
|
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
|