From 44967f37769120611988cba60595bc21db248dfc Mon Sep 17 00:00:00 2001 From: Michael Zill Date: Tue, 2 Apr 2024 20:29:46 +0200 Subject: [PATCH 1/9] Initial add --- .gitignore | 3 +- data/registers/hsem_v1.yaml | 617 +++++++++++ data/registers/hsem_v2.yaml | 617 +++++++++++ data/registers/hsem_v3.yaml | 617 +++++++++++ data/registers/hsem_v4.yaml | 1450 ++++++++++++++++++++++++++ data/registers/hsem_v5.yaml | 246 +++++ data/registers/hsem_v6.yaml | 1911 ++++++++++++++++++++++++++++++++++ data/registers/hsem_v7.yaml | 1947 +++++++++++++++++++++++++++++++++++ data/registers/hsem_v8.yaml | 1021 ++++++++++++++++++ patch-desc.md | 40 + stm32-data-gen/src/chips.rs | 11 + 11 files changed, 8479 insertions(+), 1 deletion(-) create mode 100644 data/registers/hsem_v1.yaml create mode 100644 data/registers/hsem_v2.yaml create mode 100644 data/registers/hsem_v3.yaml create mode 100644 data/registers/hsem_v4.yaml create mode 100644 data/registers/hsem_v5.yaml create mode 100644 data/registers/hsem_v6.yaml create mode 100644 data/registers/hsem_v7.yaml create mode 100644 data/registers/hsem_v8.yaml create mode 100644 patch-desc.md diff --git a/.gitignore b/.gitignore index b7337d0..d094026 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,5 @@ # transform*.yaml __pycache__ -target/ \ No newline at end of file +target/ +venv/ \ No newline at end of file diff --git a/data/registers/hsem_v1.yaml b/data/registers/hsem_v1.yaml new file mode 100644 index 0000000..fac9bae --- /dev/null +++ b/data/registers/hsem_v1.yaml @@ -0,0 +1,617 @@ +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 + - name: ICR + description: HSEM Interrupt clear register. + byte_offset: 260 + access: Read + fieldset: ICR + - name: ISR + description: HSEM Interrupt status register. + byte_offset: 264 + access: Read + fieldset: ISR + - name: MISR + description: HSEM Masked interrupt status register. + byte_offset: 268 + access: Read + fieldset: MISR + - 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: MASTERID + description: MasterID of semaphores to be cleared. + bit_offset: 8 + bit_size: 8 + - name: KEY + description: Semaphore clear Key. + bit_offset: 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: + description: HSEM Interrupt clear register. + fields: + - name: KEY + description: Semaphore Clear Key. + bit_offset: 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: + description: HSEM register HSEM_R%s HSEM_R31. + fields: + - name: PROCID + description: Semaphore ProcessID. + bit_offset: 0 + bit_size: 8 + - name: MASTERID + description: Semaphore MasterID. + bit_offset: 8 + bit_size: 8 + - 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: MASTERID + description: Semaphore MasterID. + bit_offset: 8 + bit_size: 8 + - name: LOCK + description: Lock indication. + bit_offset: 31 + bit_size: 1 diff --git a/data/registers/hsem_v2.yaml b/data/registers/hsem_v2.yaml new file mode 100644 index 0000000..5ffe998 --- /dev/null +++ b/data/registers/hsem_v2.yaml @@ -0,0 +1,617 @@ +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: C1IER + description: HSEM Interrupt enable register. + byte_offset: 256 + fieldset: C1IER + - name: C1ICR + description: HSEM Interrupt clear register. + byte_offset: 260 + access: Read + 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 + fieldset: CR + - name: KEYR + description: HSEM Interrupt clear register. + byte_offset: 324 + 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: + description: HSEM Clear register. + fields: + - name: COREID + description: MasterID 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: MASTERID + description: Semaphore MasterID. + bit_offset: 8 + bit_size: 8 + - 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: MASTERID + description: Semaphore MasterID. + bit_offset: 8 + bit_size: 8 + - name: LOCK + description: Lock indication. + bit_offset: 31 + bit_size: 1 diff --git a/data/registers/hsem_v3.yaml b/data/registers/hsem_v3.yaml new file mode 100644 index 0000000..fac9bae --- /dev/null +++ b/data/registers/hsem_v3.yaml @@ -0,0 +1,617 @@ +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 + - name: ICR + description: HSEM Interrupt clear register. + byte_offset: 260 + access: Read + fieldset: ICR + - name: ISR + description: HSEM Interrupt status register. + byte_offset: 264 + access: Read + fieldset: ISR + - name: MISR + description: HSEM Masked interrupt status register. + byte_offset: 268 + access: Read + fieldset: MISR + - 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: MASTERID + description: MasterID of semaphores to be cleared. + bit_offset: 8 + bit_size: 8 + - name: KEY + description: Semaphore clear Key. + bit_offset: 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: + description: HSEM Interrupt clear register. + fields: + - name: KEY + description: Semaphore Clear Key. + bit_offset: 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: + description: HSEM register HSEM_R%s HSEM_R31. + fields: + - name: PROCID + description: Semaphore ProcessID. + bit_offset: 0 + bit_size: 8 + - name: MASTERID + description: Semaphore MasterID. + bit_offset: 8 + bit_size: 8 + - 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: MASTERID + description: Semaphore MasterID. + bit_offset: 8 + bit_size: 8 + - name: LOCK + description: Lock indication. + bit_offset: 31 + bit_size: 1 diff --git a/data/registers/hsem_v4.yaml b/data/registers/hsem_v4.yaml new file mode 100644 index 0000000..0d03fdf --- /dev/null +++ b/data/registers/hsem_v4.yaml @@ -0,0 +1,1450 @@ +block/HSEM: + description: HSEM. + items: + - name: HSEM_R0 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 0 + fieldset: HSEM_R0 + - name: HSEM_R1 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 4 + fieldset: HSEM_R1 + - name: HSEM_R2 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 8 + fieldset: HSEM_R2 + - name: HSEM_R3 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 12 + fieldset: HSEM_R3 + - name: HSEM_R4 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 16 + fieldset: HSEM_R4 + - name: HSEM_R5 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 20 + fieldset: HSEM_R5 + - name: HSEM_R6 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 24 + fieldset: HSEM_R6 + - name: HSEM_R7 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 28 + fieldset: HSEM_R7 + - name: HSEM_R8 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 32 + fieldset: HSEM_R8 + - name: HSEM_R9 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 36 + fieldset: HSEM_R9 + - name: HSEM_R10 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 40 + fieldset: HSEM_R10 + - name: HSEM_R11 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 44 + fieldset: HSEM_R11 + - name: HSEM_R12 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 48 + fieldset: HSEM_R12 + - name: HSEM_R13 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 52 + fieldset: HSEM_R13 + - name: HSEM_R14 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 56 + fieldset: HSEM_R14 + - name: HSEM_R15 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 60 + fieldset: HSEM_R15 + - name: HSEM_R16 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 64 + fieldset: HSEM_R16 + - name: HSEM_R17 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 68 + fieldset: HSEM_R17 + - name: HSEM_R18 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 72 + fieldset: HSEM_R18 + - name: HSEM_R19 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 76 + fieldset: HSEM_R19 + - name: HSEM_R20 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 80 + fieldset: HSEM_R20 + - name: HSEM_R21 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 84 + fieldset: HSEM_R21 + - name: HSEM_R22 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 88 + fieldset: HSEM_R22 + - name: HSEM_R23 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 92 + fieldset: HSEM_R23 + - name: HSEM_R24 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 96 + fieldset: HSEM_R24 + - name: HSEM_R25 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 100 + fieldset: HSEM_R25 + - name: HSEM_R26 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 104 + fieldset: HSEM_R26 + - name: HSEM_R27 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 108 + fieldset: HSEM_R27 + - name: HSEM_R28 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 112 + fieldset: HSEM_R28 + - name: HSEM_R29 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 116 + fieldset: HSEM_R29 + - name: HSEM_R30 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 120 + fieldset: HSEM_R30 + - name: HSEM_R31 + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 124 + fieldset: HSEM_R31 + - name: HSEM_RLR0 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 128 + access: Read + fieldset: HSEM_RLR0 + - name: HSEM_RLR1 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 132 + access: Read + fieldset: HSEM_RLR1 + - name: HSEM_RLR2 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 136 + access: Read + fieldset: HSEM_RLR2 + - name: HSEM_RLR3 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 140 + access: Read + fieldset: HSEM_RLR3 + - name: HSEM_RLR4 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 144 + access: Read + fieldset: HSEM_RLR4 + - name: HSEM_RLR5 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 148 + access: Read + fieldset: HSEM_RLR5 + - name: HSEM_RLR6 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 152 + access: Read + fieldset: HSEM_RLR6 + - name: HSEM_RLR7 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 156 + access: Read + fieldset: HSEM_RLR7 + - name: HSEM_RLR8 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 160 + access: Read + fieldset: HSEM_RLR8 + - name: HSEM_RLR9 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 164 + access: Read + fieldset: HSEM_RLR9 + - name: HSEM_RLR10 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 168 + access: Read + fieldset: HSEM_RLR10 + - name: HSEM_RLR11 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 172 + access: Read + fieldset: HSEM_RLR11 + - name: HSEM_RLR12 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 176 + access: Read + fieldset: HSEM_RLR12 + - name: HSEM_RLR13 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 180 + access: Read + fieldset: HSEM_RLR13 + - name: HSEM_RLR14 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 184 + access: Read + fieldset: HSEM_RLR14 + - name: HSEM_RLR15 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 188 + access: Read + fieldset: HSEM_RLR15 + - name: HSEM_RLR16 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 192 + access: Read + fieldset: HSEM_RLR16 + - name: HSEM_RLR17 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 196 + access: Read + fieldset: HSEM_RLR17 + - name: HSEM_RLR18 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 200 + access: Read + fieldset: HSEM_RLR18 + - name: HSEM_RLR19 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 204 + access: Read + fieldset: HSEM_RLR19 + - name: HSEM_RLR20 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 208 + access: Read + fieldset: HSEM_RLR20 + - name: HSEM_RLR21 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 212 + access: Read + fieldset: HSEM_RLR21 + - name: HSEM_RLR22 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 216 + access: Read + fieldset: HSEM_RLR22 + - name: HSEM_RLR23 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 220 + access: Read + fieldset: HSEM_RLR23 + - name: HSEM_RLR24 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 224 + access: Read + fieldset: HSEM_RLR24 + - name: HSEM_RLR25 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 228 + access: Read + fieldset: HSEM_RLR25 + - name: HSEM_RLR26 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 232 + access: Read + fieldset: HSEM_RLR26 + - name: HSEM_RLR27 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 236 + access: Read + fieldset: HSEM_RLR27 + - name: HSEM_RLR28 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 240 + access: Read + fieldset: HSEM_RLR28 + - name: HSEM_RLR29 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 244 + access: Read + fieldset: HSEM_RLR29 + - name: HSEM_RLR30 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 248 + access: Read + fieldset: HSEM_RLR30 + - name: HSEM_RLR31 + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 252 + access: Read + fieldset: HSEM_RLR31 + - name: HSEM_C1IER + description: HSEM i1terrupt enable register. + byte_offset: 256 + fieldset: HSEM_C1IER + - name: HSEM_C1ICR + description: HSEM i1terrupt clear register. + byte_offset: 260 + fieldset: HSEM_C1ICR + - name: HSEM_C1ISR + description: HSEM i1terrupt status register. + byte_offset: 264 + access: Read + fieldset: HSEM_C1ISR + - name: HSEM_C1MISR + description: HSEM i1terrupt status register. + byte_offset: 268 + access: Read + fieldset: HSEM_C1MISR + - name: HSEM_C2IER + description: HSEM i2terrupt enable register. + byte_offset: 272 + fieldset: HSEM_C2IER + - name: HSEM_C2ICR + description: HSEM i2terrupt clear register. + byte_offset: 276 + fieldset: HSEM_C2ICR + - name: HSEM_C2ISR + description: HSEM i2terrupt status register. + byte_offset: 280 + access: Read + fieldset: HSEM_C2ISR + - name: HSEM_C2MISR + description: HSEM i2terrupt status register. + byte_offset: 284 + access: Read + fieldset: HSEM_C2MISR + - name: HSEM_CR + description: Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + byte_offset: 320 + access: Write + fieldset: HSEM_CR + - name: HSEM_KEYR + description: HSEM interrupt clear register. + byte_offset: 324 + fieldset: HSEM_KEYR + - name: HSEM_HWCFGR2 + description: HSEM hardware configuration register 2. + byte_offset: 1004 + access: Read + fieldset: HSEM_HWCFGR2 + - name: HSEM_HWCFGR1 + description: HSEM hardware configuration register 1. + byte_offset: 1008 + access: Read + fieldset: HSEM_HWCFGR1 + - name: HSEM_VERR + description: HSEM IP version register. + byte_offset: 1012 + access: Read + fieldset: HSEM_VERR + - name: HSEM_IPIDR + description: HSEM IP identification register. + byte_offset: 1016 + access: Read + fieldset: HSEM_IPIDR + - name: HSEM_SIDR + description: HSEM size identification register. + byte_offset: 1020 + access: Read + fieldset: HSEM_SIDR +fieldset/HSEM_C1ICR: + description: HSEM i1terrupt clear register. + fields: + - name: ISC + description: ISC. + bit_offset: 0 + bit_size: 32 +fieldset/HSEM_C1IER: + description: HSEM i1terrupt enable register. + fields: + - name: ISE + description: ISE. + bit_offset: 0 + bit_size: 32 +fieldset/HSEM_C1ISR: + description: HSEM i1terrupt status register. + fields: + - name: ISF + description: ISF. + bit_offset: 0 + bit_size: 32 +fieldset/HSEM_C1MISR: + description: HSEM i1terrupt status register. + fields: + - name: MISF + description: MISF. + bit_offset: 0 + bit_size: 32 +fieldset/HSEM_C2ICR: + description: HSEM i2terrupt clear register. + fields: + - name: ISC + description: ISC. + bit_offset: 0 + bit_size: 32 +fieldset/HSEM_C2IER: + description: HSEM i2terrupt enable register. + fields: + - name: ISE + description: ISE. + bit_offset: 0 + bit_size: 32 +fieldset/HSEM_C2ISR: + description: HSEM i2terrupt status register. + fields: + - name: ISF + description: ISF. + bit_offset: 0 + bit_size: 32 +fieldset/HSEM_C2MISR: + description: HSEM i2terrupt status register. + fields: + - name: MISF + description: MISF. + bit_offset: 0 + bit_size: 32 +fieldset/HSEM_CR: + description: Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: KEY + description: KEY. + bit_offset: 16 + bit_size: 16 +fieldset/HSEM_HWCFGR1: + description: HSEM hardware configuration register 1. + fields: + - name: NBSEM + description: NBSEM. + bit_offset: 0 + bit_size: 8 + - name: NBINT + description: NBINT. + bit_offset: 8 + bit_size: 4 +fieldset/HSEM_HWCFGR2: + description: HSEM hardware configuration register 2. + fields: + - name: MASTERID1 + description: MASTERID1. + bit_offset: 0 + bit_size: 4 + - name: MASTERID2 + description: MASTERID2. + bit_offset: 4 + bit_size: 4 + - name: MASTERID3 + description: MASTERID3. + bit_offset: 8 + bit_size: 4 + - name: MASTERID4 + description: MASTERID4. + bit_offset: 12 + bit_size: 4 +fieldset/HSEM_IPIDR: + description: HSEM IP identification register. + fields: + - name: IPID + description: IPID. + bit_offset: 0 + bit_size: 32 +fieldset/HSEM_KEYR: + description: HSEM interrupt clear register. + fields: + - name: KEY + description: KEY. + bit_offset: 16 + bit_size: 16 +fieldset/HSEM_R0: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R1: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R10: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R11: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R12: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R13: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R14: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R15: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R16: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R17: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R18: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R19: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R2: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R20: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R21: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R22: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R23: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R24: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R25: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R26: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R27: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R28: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R29: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R3: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R30: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R31: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R4: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R5: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R6: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R7: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R8: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_R9: + description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR0: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR1: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR10: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR11: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR12: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR13: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR14: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR15: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR16: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR17: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR18: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR19: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR2: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR20: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR21: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR22: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR23: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR24: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR25: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR26: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR27: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR28: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR29: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR3: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR30: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR31: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR4: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR5: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR6: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR7: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR8: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR9: + description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fields: + - name: PROCID + description: PROCID. + bit_offset: 0 + bit_size: 8 + - name: COREID + description: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: LOCK. + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_SIDR: + description: HSEM size identification register. + fields: + - name: SID + description: SID. + bit_offset: 0 + bit_size: 32 +fieldset/HSEM_VERR: + description: HSEM IP version register. + fields: + - name: MINREV + description: MINREV. + bit_offset: 0 + bit_size: 4 + - name: MAJREV + description: MAJREV. + bit_offset: 4 + bit_size: 4 diff --git a/data/registers/hsem_v5.yaml b/data/registers/hsem_v5.yaml new file mode 100644 index 0000000..7f1c983 --- /dev/null +++ b/data/registers/hsem_v5.yaml @@ -0,0 +1,246 @@ +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 diff --git a/data/registers/hsem_v6.yaml b/data/registers/hsem_v6.yaml new file mode 100644 index 0000000..efac812 --- /dev/null +++ b/data/registers/hsem_v6.yaml @@ -0,0 +1,1911 @@ +block/HSEM: + description: Hardware semaphore. + items: + - name: HSEM_R1 + description: HSEM register semaphore 1. + byte_offset: 4 + fieldset: HSEM_R1 + - name: HSEM_R2 + description: HSEM register semaphore 2. + byte_offset: 8 + fieldset: HSEM_R2 + - name: HSEM_R3 + description: HSEM register semaphore 3. + byte_offset: 12 + fieldset: HSEM_R3 + - name: HSEM_R4 + description: HSEM register semaphore 4. + byte_offset: 16 + fieldset: HSEM_R4 + - name: HSEM_R5 + description: HSEM register semaphore 5. + byte_offset: 20 + fieldset: HSEM_R5 + - name: HSEM_R6 + description: HSEM register semaphore 6. + byte_offset: 24 + fieldset: HSEM_R6 + - name: HSEM_R7 + description: HSEM register semaphore 7. + byte_offset: 28 + fieldset: HSEM_R7 + - name: HSEM_R8 + description: HSEM register semaphore 8. + byte_offset: 32 + fieldset: HSEM_R8 + - name: HSEM_R9 + description: HSEM register semaphore 9. + byte_offset: 36 + fieldset: HSEM_R9 + - name: HSEM_R10 + description: HSEM register semaphore 10. + byte_offset: 40 + fieldset: HSEM_R10 + - name: HSEM_R11 + description: HSEM register semaphore 11. + byte_offset: 44 + fieldset: HSEM_R11 + - name: HSEM_R12 + description: HSEM register semaphore 12. + byte_offset: 48 + fieldset: HSEM_R12 + - name: HSEM_R13 + description: HSEM register semaphore 13. + byte_offset: 52 + fieldset: HSEM_R13 + - name: HSEM_R14 + description: HSEM register semaphore 14. + byte_offset: 56 + fieldset: HSEM_R14 + - name: HSEM_R15 + description: HSEM register semaphore 15. + byte_offset: 60 + fieldset: HSEM_R15 + - name: HSEM_RLR0 + description: HSEM read lock register semaphore 0. + byte_offset: 128 + fieldset: HSEM_RLR0 + - name: HSEM_RLR1 + description: HSEM read lock register semaphore 1. + byte_offset: 132 + fieldset: HSEM_RLR1 + - name: HSEM_RLR2 + description: HSEM read lock register semaphore 2. + byte_offset: 136 + fieldset: HSEM_RLR2 + - name: HSEM_RLR3 + description: HSEM read lock register semaphore 3. + byte_offset: 140 + fieldset: HSEM_RLR3 + - name: HSEM_RLR4 + description: HSEM read lock register semaphore 4. + byte_offset: 144 + fieldset: HSEM_RLR4 + - name: HSEM_RLR5 + description: HSEM read lock register semaphore 5. + byte_offset: 148 + fieldset: HSEM_RLR5 + - name: HSEM_RLR6 + description: HSEM read lock register semaphore 6. + byte_offset: 152 + fieldset: HSEM_RLR6 + - name: HSEM_RLR7 + description: HSEM read lock register semaphore 7. + byte_offset: 156 + fieldset: HSEM_RLR7 + - name: HSEM_RLR8 + description: HSEM read lock register semaphore 8. + byte_offset: 160 + fieldset: HSEM_RLR8 + - name: HSEM_RLR9 + description: HSEM read lock register semaphore 9. + byte_offset: 164 + fieldset: HSEM_RLR9 + - name: HSEM_RLR10 + description: HSEM read lock register semaphore 10. + byte_offset: 168 + fieldset: HSEM_RLR10 + - name: HSEM_RLR11 + description: HSEM read lock register semaphore 11. + byte_offset: 172 + fieldset: HSEM_RLR11 + - name: HSEM_RLR12 + description: HSEM read lock register semaphore 12. + byte_offset: 176 + fieldset: HSEM_RLR12 + - name: HSEM_RLR13 + description: HSEM read lock register semaphore 13. + byte_offset: 180 + fieldset: HSEM_RLR13 + - name: HSEM_RLR14 + description: HSEM read lock register semaphore 14. + byte_offset: 184 + fieldset: HSEM_RLR14 + - name: HSEM_RLR15 + description: HSEM read lock register semaphore 15. + byte_offset: 188 + fieldset: HSEM_RLR15 + - name: HSEM_IER + description: HSEM non-secure interrupt enable register. + byte_offset: 256 + fieldset: HSEM_IER + - name: HSEM_ICR + description: HSEM non-secure interrupt clear register. + byte_offset: 260 + fieldset: HSEM_ICR + - name: HSEM_ISR + description: HSEM non-secure interrupt status register. + byte_offset: 264 + fieldset: HSEM_ISR + - name: HSEM_MISR + description: HSEM non-secure interrupt status register. + byte_offset: 268 + fieldset: HSEM_MISR + - name: HSEM_SIER + description: HSEM secure interrupt enable register. + byte_offset: 384 + fieldset: HSEM_SIER + - name: HSEM_SICR + description: HSEM secure interrupt clear register. + byte_offset: 388 + fieldset: HSEM_SICR + - name: HSEM_SISR + description: HSEM secure interrupt status register. + byte_offset: 392 + fieldset: HSEM_SISR + - name: HSEM_MSISR + description: HSEM secure masked interrupt status register. + byte_offset: 396 + fieldset: HSEM_MSISR + - name: HSEM_SECCFGR + description: HSEM security configuration register. + byte_offset: 512 + fieldset: HSEM_SECCFGR + - name: HSEM_PRIVCFGR + description: HSEM privilege configuration register. + byte_offset: 528 + fieldset: HSEM_PRIVCFGR + - name: HSEM_CR + description: HSEM clear register. + byte_offset: 560 + fieldset: HSEM_CR + - name: HSEM_KEYR + description: HSEM interrupt clear register. + byte_offset: 564 + fieldset: HSEM_KEYR + - name: HSEM_R0 + description: HSEM register semaphore 0. + byte_offset: 1108089856 + fieldset: HSEM_R0 +fieldset/HSEM_CR: + description: HSEM clear register. + fields: + - name: LOCKID + description: LOCKID of semaphores to be cleared This field can be written by software and is always read 0. This field indicates the LOCKID for which the semaphores are cleared when writing the HSEM_CR. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: SEC value of semaphores to be cleared. This field can be written by software, is always read 0. Indicates the SEC for which the CID semaphores are cleared when writing the HSEM_CR. + bit_offset: 12 + bit_size: 1 + - name: PRIV + description: PRIV value of semaphores to be cleared. This field can be written by software, is always read 0. Indicates the PRIV for which the CID semaphores are cleared when writing the HSEM_CR. + bit_offset: 13 + bit_size: 1 + - name: KEY + description: Semaphore clear key This field can be written by software and is always read 0. If this key value does not match HSEM_KEYR.KEY, semaphores are not affected. If this key value matches HSEM_KEYR.KEY, all semaphores matching the LOCKID are cleared to the free state. + bit_offset: 16 + bit_size: 16 +fieldset/HSEM_ICR: + description: HSEM non-secure interrupt clear register. + fields: + - name: ISC + description: Non-secure Interrupt semaphore x clear bit This bit is written by software, and is always read 0. When semaphore x SECx is disabled, bit x can be accessed with secure and non-secure access. When semaphore x SECx is enabled, bit x cannot be accessed, write to this bit is discarded. When semaphore x PRIVx is disabled, bit x can be accessed with privileged and unprivileged access. When semaphore x PRIVx is enabled, bit x can only be accessed with privileged access. Unprivileged write to this bit is discarded. + bit_offset: 0 + bit_size: 16 + enum: ISC +fieldset/HSEM_IER: + description: HSEM non-secure interrupt enable register. + fields: + - name: ISE + description: Non-secure Interrupt semaphore x enable bit This bit is read and written by software. When semaphore x SECx is disabled, bit x can be accessed with secure and non-secure access. When semaphore x SECx is enabled, bit x is forced to 0 and cannot be accessed, write to this bit is discarded and a read returns 0. When semaphore x PRIVx is disabled, bit x can be accessed with privilege and unprivileged access. When semaphore x PRIVx is enabled, bit x can be accessed only with privileged access. Unprivileged write to this bit is discarded, unprivileged read returns 0. + bit_offset: 0 + bit_size: 16 + enum: ISE +fieldset/HSEM_ISR: + description: HSEM non-secure interrupt status register. + fields: + - name: ISF + description: Interrupt semaphore x status bit before enable (mask) This bit is set by hardware, and reset only by software. This bit is cleared by software writing the corresponding HSEM_ICR bit. + bit_offset: 0 + bit_size: 16 + enum: ISF +fieldset/HSEM_KEYR: + description: HSEM interrupt clear register. + fields: + - name: KEY + description: Semaphore clear key This field can be written and read by software. Key value to match when clearing semaphores. + bit_offset: 16 + bit_size: 16 +fieldset/HSEM_MISR: + description: HSEM non-secure interrupt status register. + fields: + - name: MISF + description: Masked non-secure interrupt semaphore x status bit after enable (mask) This bit is set by hardware and read only by software. This bit is cleared by software writing the corresponding HSEM_ICR bit. This bit is read as 0 when semaphore x status is masked in HSEM_IER bit x. When semaphore x SECx is disabled, bit x can be accessed with secure and non-secure access. When semaphore x SECx is enabled, bit x cannot be accessed, read returns 0. When semaphore x PRIVx is disabled, bit x can be accessed with privileged and unprivileged access. When semaphore x PRIVx is enabled, bit x can be accessed only with privileged access. Unprivileged read returns 0. + bit_offset: 0 + bit_size: 16 + enum: MISF +fieldset/HSEM_MSISR: + description: HSEM secure masked interrupt status register. + fields: + - name: SMISF + description: Secure masked interrupt semaphore x status bit after enable (mask) This bit is set by hardware and read only by software. Bit is cleared by software writing the corresponding HSEM_SCnICR bit x. Bit is read as 0 when semaphore x status is masked in HSEM_SCnIER bit x. When semaphore x PRIVx is disabled, bit x can be accessed with secure privilege and secure unprivileged access. When semaphore x PRIVx is enabled, bit x can be accessed only with secure privilege access. Secure unprivileged read return 0 value. + bit_offset: 0 + bit_size: 16 + enum: SMISF +fieldset/HSEM_PRIVCFGR: + description: HSEM privilege configuration register. + fields: + - name: PRIV + description: Semaphore x privilege attribute This bit is set and cleared by software. When semaphore x SECx is disabled, bit x can be write accessed with secure privileged and non-secure privileged access. When semaphore x SECx is enabled, bit x can only be write accessed with secure privilege access. Non-secure privileged write access is discarded. Both secure and non-secure read return the register bit x value. + bit_offset: 0 + bit_size: 16 + enum: HSEM_PRIVCFGR_PRIV +fieldset/HSEM_R0: + description: HSEM register semaphore 0. + fields: + - name: PROCID + description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. + bit_offset: 12 + bit_size: 1 + enum: HSEM_R0_SEC + - name: PRIV + description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. + bit_offset: 13 + bit_size: 1 + enum: HSEM_R0_PRIV + - name: LOCK + description: Lock indication This bit can be written and read by software. + bit_offset: 31 + bit_size: 1 + enum: HSEM_R0_LOCK +fieldset/HSEM_R1: + description: HSEM register semaphore 1. + fields: + - name: PROCID + description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. + bit_offset: 12 + bit_size: 1 + enum: HSEM_R1_SEC + - name: PRIV + description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. + bit_offset: 13 + bit_size: 1 + enum: HSEM_R1_PRIV + - name: LOCK + description: Lock indication This bit can be written and read by software. + bit_offset: 31 + bit_size: 1 + enum: HSEM_R1_LOCK +fieldset/HSEM_R10: + description: HSEM register semaphore 10. + fields: + - name: PROCID + description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. + bit_offset: 12 + bit_size: 1 + enum: HSEM_R10_SEC + - name: PRIV + description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. + bit_offset: 13 + bit_size: 1 + enum: HSEM_R10_PRIV + - name: LOCK + description: Lock indication This bit can be written and read by software. + bit_offset: 31 + bit_size: 1 + enum: HSEM_R10_LOCK +fieldset/HSEM_R11: + description: HSEM register semaphore 11. + fields: + - name: PROCID + description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. + bit_offset: 12 + bit_size: 1 + enum: HSEM_R11_SEC + - name: PRIV + description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. + bit_offset: 13 + bit_size: 1 + enum: HSEM_R11_PRIV + - name: LOCK + description: Lock indication This bit can be written and read by software. + bit_offset: 31 + bit_size: 1 + enum: HSEM_R11_LOCK +fieldset/HSEM_R12: + description: HSEM register semaphore 12. + fields: + - name: PROCID + description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. + bit_offset: 12 + bit_size: 1 + enum: HSEM_R12_SEC + - name: PRIV + description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. + bit_offset: 13 + bit_size: 1 + enum: HSEM_R12_PRIV + - name: LOCK + description: Lock indication This bit can be written and read by software. + bit_offset: 31 + bit_size: 1 + enum: HSEM_R12_LOCK +fieldset/HSEM_R13: + description: HSEM register semaphore 13. + fields: + - name: PROCID + description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. + bit_offset: 12 + bit_size: 1 + enum: HSEM_R13_SEC + - name: PRIV + description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. + bit_offset: 13 + bit_size: 1 + enum: HSEM_R13_PRIV + - name: LOCK + description: Lock indication This bit can be written and read by software. + bit_offset: 31 + bit_size: 1 + enum: HSEM_R13_LOCK +fieldset/HSEM_R14: + description: HSEM register semaphore 14. + fields: + - name: PROCID + description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. + bit_offset: 12 + bit_size: 1 + enum: HSEM_R14_SEC + - name: PRIV + description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. + bit_offset: 13 + bit_size: 1 + enum: HSEM_R14_PRIV + - name: LOCK + description: Lock indication This bit can be written and read by software. + bit_offset: 31 + bit_size: 1 + enum: HSEM_R14_LOCK +fieldset/HSEM_R15: + description: HSEM register semaphore 15. + fields: + - name: PROCID + description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. + bit_offset: 12 + bit_size: 1 + enum: HSEM_R15_SEC + - name: PRIV + description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. + bit_offset: 13 + bit_size: 1 + enum: HSEM_R15_PRIV + - name: LOCK + description: Lock indication This bit can be written and read by software. + bit_offset: 31 + bit_size: 1 + enum: HSEM_R15_LOCK +fieldset/HSEM_R2: + description: HSEM register semaphore 2. + fields: + - name: PROCID + description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. + bit_offset: 12 + bit_size: 1 + enum: HSEM_R2_SEC + - name: PRIV + description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. + bit_offset: 13 + bit_size: 1 + enum: HSEM_R2_PRIV + - name: LOCK + description: Lock indication This bit can be written and read by software. + bit_offset: 31 + bit_size: 1 + enum: HSEM_R2_LOCK +fieldset/HSEM_R3: + description: HSEM register semaphore 3. + fields: + - name: PROCID + description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. + bit_offset: 12 + bit_size: 1 + enum: HSEM_R3_SEC + - name: PRIV + description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. + bit_offset: 13 + bit_size: 1 + enum: HSEM_R3_PRIV + - name: LOCK + description: Lock indication This bit can be written and read by software. + bit_offset: 31 + bit_size: 1 + enum: HSEM_R3_LOCK +fieldset/HSEM_R4: + description: HSEM register semaphore 4. + fields: + - name: PROCID + description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. + bit_offset: 12 + bit_size: 1 + enum: HSEM_R4_SEC + - name: PRIV + description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. + bit_offset: 13 + bit_size: 1 + enum: HSEM_R4_PRIV + - name: LOCK + description: Lock indication This bit can be written and read by software. + bit_offset: 31 + bit_size: 1 + enum: HSEM_R4_LOCK +fieldset/HSEM_R5: + description: HSEM register semaphore 5. + fields: + - name: PROCID + description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. + bit_offset: 12 + bit_size: 1 + enum: HSEM_R5_SEC + - name: PRIV + description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. + bit_offset: 13 + bit_size: 1 + enum: HSEM_R5_PRIV + - name: LOCK + description: Lock indication This bit can be written and read by software. + bit_offset: 31 + bit_size: 1 + enum: HSEM_R5_LOCK +fieldset/HSEM_R6: + description: HSEM register semaphore 6. + fields: + - name: PROCID + description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. + bit_offset: 12 + bit_size: 1 + enum: HSEM_R6_SEC + - name: PRIV + description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. + bit_offset: 13 + bit_size: 1 + enum: HSEM_R6_PRIV + - name: LOCK + description: Lock indication This bit can be written and read by software. + bit_offset: 31 + bit_size: 1 + enum: HSEM_R6_LOCK +fieldset/HSEM_R7: + description: HSEM register semaphore 7. + fields: + - name: PROCID + description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. + bit_offset: 12 + bit_size: 1 + enum: HSEM_R7_SEC + - name: PRIV + description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. + bit_offset: 13 + bit_size: 1 + enum: HSEM_R7_PRIV + - name: LOCK + description: Lock indication This bit can be written and read by software. + bit_offset: 31 + bit_size: 1 + enum: HSEM_R7_LOCK +fieldset/HSEM_R8: + description: HSEM register semaphore 8. + fields: + - name: PROCID + description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. + bit_offset: 12 + bit_size: 1 + enum: HSEM_R8_SEC + - name: PRIV + description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. + bit_offset: 13 + bit_size: 1 + enum: HSEM_R8_PRIV + - name: LOCK + description: Lock indication This bit can be written and read by software. + bit_offset: 31 + bit_size: 1 + enum: HSEM_R8_LOCK +fieldset/HSEM_R9: + description: HSEM register semaphore 9. + fields: + - name: PROCID + description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. + bit_offset: 12 + bit_size: 1 + enum: HSEM_R9_SEC + - name: PRIV + description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. + bit_offset: 13 + bit_size: 1 + enum: HSEM_R9_PRIV + - name: LOCK + description: Lock indication This bit can be written and read by software. + bit_offset: 31 + bit_size: 1 + enum: HSEM_R9_LOCK +fieldset/HSEM_RLR0: + description: HSEM read lock register semaphore 0. + fields: + - name: PROCID + description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' + bit_offset: 12 + bit_size: 1 + enum: HSEM_RLR0_SEC + - name: PRIV + description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' + bit_offset: 13 + bit_size: 1 + enum: HSEM_RLR0_PRIV + - name: LOCK + description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR1: + description: HSEM read lock register semaphore 1. + fields: + - name: PROCID + description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' + bit_offset: 12 + bit_size: 1 + enum: HSEM_RLR1_SEC + - name: PRIV + description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' + bit_offset: 13 + bit_size: 1 + enum: HSEM_RLR1_PRIV + - name: LOCK + description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR10: + description: HSEM read lock register semaphore 10. + fields: + - name: PROCID + description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' + bit_offset: 12 + bit_size: 1 + enum: HSEM_RLR10_SEC + - name: PRIV + description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' + bit_offset: 13 + bit_size: 1 + enum: HSEM_RLR10_PRIV + - name: LOCK + description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR11: + description: HSEM read lock register semaphore 11. + fields: + - name: PROCID + description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' + bit_offset: 12 + bit_size: 1 + enum: HSEM_RLR11_SEC + - name: PRIV + description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' + bit_offset: 13 + bit_size: 1 + enum: HSEM_RLR11_PRIV + - name: LOCK + description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR12: + description: HSEM read lock register semaphore 12. + fields: + - name: PROCID + description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' + bit_offset: 12 + bit_size: 1 + enum: HSEM_RLR12_SEC + - name: PRIV + description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' + bit_offset: 13 + bit_size: 1 + enum: HSEM_RLR12_PRIV + - name: LOCK + description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR13: + description: HSEM read lock register semaphore 13. + fields: + - name: PROCID + description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' + bit_offset: 12 + bit_size: 1 + enum: HSEM_RLR13_SEC + - name: PRIV + description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' + bit_offset: 13 + bit_size: 1 + enum: HSEM_RLR13_PRIV + - name: LOCK + description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR14: + description: HSEM read lock register semaphore 14. + fields: + - name: PROCID + description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' + bit_offset: 12 + bit_size: 1 + enum: HSEM_RLR14_SEC + - name: PRIV + description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' + bit_offset: 13 + bit_size: 1 + enum: HSEM_RLR14_PRIV + - name: LOCK + description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR15: + description: HSEM read lock register semaphore 15. + fields: + - name: PROCID + description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' + bit_offset: 12 + bit_size: 1 + enum: HSEM_RLR15_SEC + - name: PRIV + description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' + bit_offset: 13 + bit_size: 1 + enum: HSEM_RLR15_PRIV + - name: LOCK + description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR2: + description: HSEM read lock register semaphore 2. + fields: + - name: PROCID + description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' + bit_offset: 12 + bit_size: 1 + enum: HSEM_RLR2_SEC + - name: PRIV + description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' + bit_offset: 13 + bit_size: 1 + enum: HSEM_RLR2_PRIV + - name: LOCK + description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR3: + description: HSEM read lock register semaphore 3. + fields: + - name: PROCID + description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' + bit_offset: 12 + bit_size: 1 + enum: HSEM_RLR3_SEC + - name: PRIV + description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' + bit_offset: 13 + bit_size: 1 + enum: HSEM_RLR3_PRIV + - name: LOCK + description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR4: + description: HSEM read lock register semaphore 4. + fields: + - name: PROCID + description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' + bit_offset: 12 + bit_size: 1 + enum: HSEM_RLR4_SEC + - name: PRIV + description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' + bit_offset: 13 + bit_size: 1 + enum: HSEM_RLR4_PRIV + - name: LOCK + description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR5: + description: HSEM read lock register semaphore 5. + fields: + - name: PROCID + description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' + bit_offset: 12 + bit_size: 1 + enum: HSEM_RLR5_SEC + - name: PRIV + description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' + bit_offset: 13 + bit_size: 1 + enum: HSEM_RLR5_PRIV + - name: LOCK + description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR6: + description: HSEM read lock register semaphore 6. + fields: + - name: PROCID + description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' + bit_offset: 12 + bit_size: 1 + enum: HSEM_RLR6_SEC + - name: PRIV + description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' + bit_offset: 13 + bit_size: 1 + enum: HSEM_RLR6_PRIV + - name: LOCK + description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR7: + description: HSEM read lock register semaphore 7. + fields: + - name: PROCID + description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' + bit_offset: 12 + bit_size: 1 + enum: HSEM_RLR7_SEC + - name: PRIV + description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' + bit_offset: 13 + bit_size: 1 + enum: HSEM_RLR7_PRIV + - name: LOCK + description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR8: + description: HSEM read lock register semaphore 8. + fields: + - name: PROCID + description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' + bit_offset: 12 + bit_size: 1 + enum: HSEM_RLR8_SEC + - name: PRIV + description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' + bit_offset: 13 + bit_size: 1 + enum: HSEM_RLR8_PRIV + - name: LOCK + description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_RLR9: + description: HSEM read lock register semaphore 9. + fields: + - name: PROCID + description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' + bit_offset: 0 + bit_size: 8 + - name: LOCKID + description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. + bit_offset: 8 + bit_size: 4 + - name: SEC + description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' + bit_offset: 12 + bit_size: 1 + enum: HSEM_RLR9_SEC + - name: PRIV + description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' + bit_offset: 13 + bit_size: 1 + enum: HSEM_RLR9_PRIV + - name: LOCK + description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' + bit_offset: 31 + bit_size: 1 +fieldset/HSEM_SECCFGR: + description: HSEM security configuration register. + fields: + - name: SEC + description: Semaphore x security attribute This bit is set and cleared by software. + bit_offset: 0 + bit_size: 16 + enum: HSEM_SECCFGR_SEC +fieldset/HSEM_SICR: + description: HSEM secure interrupt clear register. + fields: + - name: SISC + description: Secure interrupt semaphore x clear bit This bit is written by software, and is always read 0. When semaphore x PRIVx is disabled, bit x can be accessed with secure privilege and secure unprivileged access. When semaphore x PRIVx is enabled, bit x can be accessed only with secure privilege access. Secure unprivileged write to this bit is discarded. + bit_offset: 0 + bit_size: 16 + enum: SISC +fieldset/HSEM_SIER: + description: HSEM secure interrupt enable register. + fields: + - name: SISE + description: Secure interrupt semaphore x enable bit This bit is read and written by software. When semaphore x PRIVx is disabled, bit x can be accessed with secure privilege and secure unprivileged access. When semaphore x PRIVx is enabled, bit x can be accessed only with secure privilege access. secure unprivileged write to this bit is discarded, secure unprivileged read return 0 value. + bit_offset: 0 + bit_size: 16 + enum: SISE +fieldset/HSEM_SISR: + description: HSEM secure interrupt status register. + fields: + - name: SISF + description: Secure interrupt semaphore x status bit before enable (mask) This bit is set by hardware and read only by software. Bit is cleared by software writing the corresponding HSEM_SCnICR bit x. When semaphore x PRIVx is disabled, bit x can be accessed with secure privilege and secure unprivileged access. When semaphore x PRIVx is enabled, bit x can be accessed only with secure privilege access. Secure unprivileged read return 0 value. + bit_offset: 0 + bit_size: 16 + enum: SISF +enum/HSEM_PRIVCFGR_PRIV: + bit_size: 16 + variants: + - name: B_0x0 + description: Semaphore x unprivileged, can be accessed by both privileged and unprivileged processors. + value: 0 + - name: B_0x1 + description: Semaphore x privileged, can be accessed only by privileged processors. + value: 1 +enum/HSEM_R0_LOCK: + bit_size: 1 + variants: + - name: B_0x0 + description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. + value: 0 + - name: B_0x1 + description: On write try to lock semaphore, on read semaphore is locked. + value: 1 +enum/HSEM_R0_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privilege compartment. + value: 1 +enum/HSEM_R0_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_R10_LOCK: + bit_size: 1 + variants: + - name: B_0x0 + description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. + value: 0 + - name: B_0x1 + description: On write try to lock semaphore, on read semaphore is locked. + value: 1 +enum/HSEM_R10_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privilege compartment. + value: 1 +enum/HSEM_R10_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_R11_LOCK: + bit_size: 1 + variants: + - name: B_0x0 + description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. + value: 0 + - name: B_0x1 + description: On write try to lock semaphore, on read semaphore is locked. + value: 1 +enum/HSEM_R11_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privilege compartment. + value: 1 +enum/HSEM_R11_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_R12_LOCK: + bit_size: 1 + variants: + - name: B_0x0 + description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. + value: 0 + - name: B_0x1 + description: On write try to lock semaphore, on read semaphore is locked. + value: 1 +enum/HSEM_R12_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privilege compartment. + value: 1 +enum/HSEM_R12_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_R13_LOCK: + bit_size: 1 + variants: + - name: B_0x0 + description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. + value: 0 + - name: B_0x1 + description: On write try to lock semaphore, on read semaphore is locked. + value: 1 +enum/HSEM_R13_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privilege compartment. + value: 1 +enum/HSEM_R13_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_R14_LOCK: + bit_size: 1 + variants: + - name: B_0x0 + description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. + value: 0 + - name: B_0x1 + description: On write try to lock semaphore, on read semaphore is locked. + value: 1 +enum/HSEM_R14_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privilege compartment. + value: 1 +enum/HSEM_R14_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_R15_LOCK: + bit_size: 1 + variants: + - name: B_0x0 + description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. + value: 0 + - name: B_0x1 + description: On write try to lock semaphore, on read semaphore is locked. + value: 1 +enum/HSEM_R15_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privilege compartment. + value: 1 +enum/HSEM_R15_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_R1_LOCK: + bit_size: 1 + variants: + - name: B_0x0 + description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. + value: 0 + - name: B_0x1 + description: On write try to lock semaphore, on read semaphore is locked. + value: 1 +enum/HSEM_R1_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privilege compartment. + value: 1 +enum/HSEM_R1_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_R2_LOCK: + bit_size: 1 + variants: + - name: B_0x0 + description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. + value: 0 + - name: B_0x1 + description: On write try to lock semaphore, on read semaphore is locked. + value: 1 +enum/HSEM_R2_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privilege compartment. + value: 1 +enum/HSEM_R2_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_R3_LOCK: + bit_size: 1 + variants: + - name: B_0x0 + description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. + value: 0 + - name: B_0x1 + description: On write try to lock semaphore, on read semaphore is locked. + value: 1 +enum/HSEM_R3_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privilege compartment. + value: 1 +enum/HSEM_R3_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_R4_LOCK: + bit_size: 1 + variants: + - name: B_0x0 + description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. + value: 0 + - name: B_0x1 + description: On write try to lock semaphore, on read semaphore is locked. + value: 1 +enum/HSEM_R4_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privilege compartment. + value: 1 +enum/HSEM_R4_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_R5_LOCK: + bit_size: 1 + variants: + - name: B_0x0 + description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. + value: 0 + - name: B_0x1 + description: On write try to lock semaphore, on read semaphore is locked. + value: 1 +enum/HSEM_R5_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privilege compartment. + value: 1 +enum/HSEM_R5_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_R6_LOCK: + bit_size: 1 + variants: + - name: B_0x0 + description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. + value: 0 + - name: B_0x1 + description: On write try to lock semaphore, on read semaphore is locked. + value: 1 +enum/HSEM_R6_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privilege compartment. + value: 1 +enum/HSEM_R6_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_R7_LOCK: + bit_size: 1 + variants: + - name: B_0x0 + description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. + value: 0 + - name: B_0x1 + description: On write try to lock semaphore, on read semaphore is locked. + value: 1 +enum/HSEM_R7_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privilege compartment. + value: 1 +enum/HSEM_R7_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_R8_LOCK: + bit_size: 1 + variants: + - name: B_0x0 + description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. + value: 0 + - name: B_0x1 + description: On write try to lock semaphore, on read semaphore is locked. + value: 1 +enum/HSEM_R8_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privilege compartment. + value: 1 +enum/HSEM_R8_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_R9_LOCK: + bit_size: 1 + variants: + - name: B_0x0 + description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. + value: 0 + - name: B_0x1 + description: On write try to lock semaphore, on read semaphore is locked. + value: 1 +enum/HSEM_R9_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privilege compartment. + value: 1 +enum/HSEM_R9_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_RLR0_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privileged compartment. + value: 1 +enum/HSEM_RLR0_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_RLR10_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privileged compartment. + value: 1 +enum/HSEM_RLR10_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_RLR11_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privileged compartment. + value: 1 +enum/HSEM_RLR11_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_RLR12_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privileged compartment. + value: 1 +enum/HSEM_RLR12_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_RLR13_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privileged compartment. + value: 1 +enum/HSEM_RLR13_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_RLR14_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privileged compartment. + value: 1 +enum/HSEM_RLR14_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_RLR15_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privileged compartment. + value: 1 +enum/HSEM_RLR15_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_RLR1_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privileged compartment. + value: 1 +enum/HSEM_RLR1_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_RLR2_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privileged compartment. + value: 1 +enum/HSEM_RLR2_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_RLR3_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privileged compartment. + value: 1 +enum/HSEM_RLR3_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_RLR4_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privileged compartment. + value: 1 +enum/HSEM_RLR4_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_RLR5_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privileged compartment. + value: 1 +enum/HSEM_RLR5_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_RLR6_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privileged compartment. + value: 1 +enum/HSEM_RLR6_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_RLR7_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privileged compartment. + value: 1 +enum/HSEM_RLR7_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_RLR8_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privileged compartment. + value: 1 +enum/HSEM_RLR8_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_RLR9_PRIV: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by unprivileged compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by privileged compartment. + value: 1 +enum/HSEM_RLR9_SEC: + bit_size: 1 + variants: + - name: B_0x0 + description: Semaphore free or locked by non-secure compartment. + value: 0 + - name: B_0x1 + description: Semaphore locked by secure compartment. + value: 1 +enum/HSEM_SECCFGR_SEC: + bit_size: 16 + variants: + - name: B_0x0 + description: Semaphore x non-security, can be accessed by both secure and non-secure processors. When unlocking semaphore x both a secure and non-secure interrupt can be generated. + value: 0 + - name: B_0x1 + description: Semaphore x security, can be accessed only by secure processors. When unlocking semaphore x only a secure interrupt can be generated. + value: 1 +enum/ISC: + bit_size: 16 + variants: + - name: B_0x0 + description: non-secure Interrupt semaphore x status ISFx and masked status MISFx not affected. + value: 0 + - name: B_0x1 + description: non-secure Interrupt semaphore x status ISFx and masked status MISFx cleared. + value: 1 +enum/ISE: + bit_size: 16 + variants: + - name: B_0x0 + description: Non-secure Interrupt generation for semaphore x disabled (masked). + value: 0 + - name: B_0x1 + description: Non-secure Interrupt generation for semaphore x enabled (not masked). + value: 1 +enum/ISF: + bit_size: 16 + variants: + - name: B_0x0 + description: Interrupt semaphore x status, no interrupt pending. + value: 0 + - name: B_0x1 + description: Interrupt semaphore x status, interrupt pending. + value: 1 +enum/MISF: + bit_size: 16 + variants: + - name: B_0x0 + description: non-secure interrupt semaphore x status after masking not pending. + value: 0 + - name: B_0x1 + description: non-secure interrupt semaphore x status after masking pending. + value: 1 +enum/SISC: + bit_size: 16 + variants: + - name: B_0x0 + description: Secure interrupt semaphore x status ISFx and masked status MISFx not affected. + value: 0 + - name: B_0x1 + description: Secure interrupt semaphore x status ISFx and masked status MISFx cleared. + value: 1 +enum/SISE: + bit_size: 16 + variants: + - name: B_0x0 + description: Secure interrupt generation for semaphore x is disabled (masked). + value: 0 + - name: B_0x1 + description: Secure interrupt generation for semaphore x is enabled (not masked). + value: 1 +enum/SISF: + bit_size: 16 + variants: + - name: B_0x0 + description: Secure interrupt semaphore x status, no interrupt pending. + value: 0 + - name: B_0x1 + description: Secure interrupt semaphore x status, interrupt pending. + value: 1 +enum/SMISF: + bit_size: 16 + variants: + - name: B_0x0 + description: Secure interrupt semaphore x status after masking not pending. + value: 0 + - name: B_0x1 + description: Secure interrupt semaphore x status after masking pending. + value: 1 diff --git a/data/registers/hsem_v7.yaml b/data/registers/hsem_v7.yaml new file mode 100644 index 0000000..21c2fce --- /dev/null +++ b/data/registers/hsem_v7.yaml @@ -0,0 +1,1947 @@ +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: 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: 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: ISC0 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 0 + bit_size: 1 + enum: C1ICR_ISC0 + - name: ISC1 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 1 + bit_size: 1 + enum: C1ICR_ISC1 + - name: ISC2 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 2 + bit_size: 1 + enum: C1ICR_ISC2 + - name: ISC3 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 3 + bit_size: 1 + enum: C1ICR_ISC3 + - name: ISC4 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 4 + bit_size: 1 + enum: C1ICR_ISC4 + - name: ISC5 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 5 + bit_size: 1 + enum: C1ICR_ISC5 + - name: ISC6 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 6 + bit_size: 1 + enum: C1ICR_ISC6 + - name: ISC7 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 7 + bit_size: 1 + enum: C1ICR_ISC7 + - name: ISC8 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 8 + bit_size: 1 + enum: C1ICR_ISC8 + - name: ISC9 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 9 + bit_size: 1 + enum: C1ICR_ISC9 + - name: ISC10 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 10 + bit_size: 1 + enum: C1ICR_ISC10 + - name: ISC11 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 11 + bit_size: 1 + enum: C1ICR_ISC11 + - name: ISC12 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 12 + bit_size: 1 + enum: C1ICR_ISC12 + - name: ISC13 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 13 + bit_size: 1 + enum: C1ICR_ISC13 + - name: ISC14 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 14 + bit_size: 1 + enum: C1ICR_ISC14 + - name: ISC15 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 15 + bit_size: 1 + enum: C1ICR_ISC15 +fieldset/C1IER: + description: HSEM Interrupt enable register. + fields: + - name: ISE0 + description: Interrupt semaphore n enable bit. + bit_offset: 0 + bit_size: 1 + enum: C1IER_ISE0 + - name: ISE1 + description: Interrupt semaphore n enable bit. + bit_offset: 1 + bit_size: 1 + enum: C1IER_ISE1 + - name: ISE2 + description: Interrupt semaphore n enable bit. + bit_offset: 2 + bit_size: 1 + enum: C1IER_ISE2 + - name: ISE3 + description: Interrupt semaphore n enable bit. + bit_offset: 3 + bit_size: 1 + enum: C1IER_ISE3 + - name: ISE4 + description: Interrupt semaphore n enable bit. + bit_offset: 4 + bit_size: 1 + enum: C1IER_ISE4 + - name: ISE5 + description: Interrupt semaphore n enable bit. + bit_offset: 5 + bit_size: 1 + enum: C1IER_ISE5 + - name: ISE6 + description: Interrupt semaphore n enable bit. + bit_offset: 6 + bit_size: 1 + enum: C1IER_ISE6 + - name: ISE7 + description: Interrupt semaphore n enable bit. + bit_offset: 7 + bit_size: 1 + enum: C1IER_ISE7 + - name: ISE8 + description: Interrupt semaphore n enable bit. + bit_offset: 8 + bit_size: 1 + enum: C1IER_ISE8 + - name: ISE9 + description: Interrupt semaphore n enable bit. + bit_offset: 9 + bit_size: 1 + enum: C1IER_ISE9 + - name: ISE10 + description: Interrupt semaphore n enable bit. + bit_offset: 10 + bit_size: 1 + enum: C1IER_ISE10 + - name: ISE11 + description: Interrupt semaphore n enable bit. + bit_offset: 11 + bit_size: 1 + enum: C1IER_ISE11 + - name: ISE12 + description: Interrupt semaphore n enable bit. + bit_offset: 12 + bit_size: 1 + enum: C1IER_ISE12 + - name: ISE13 + description: Interrupt semaphore n enable bit. + bit_offset: 13 + bit_size: 1 + enum: C1IER_ISE13 + - name: ISE14 + description: Interrupt semaphore n enable bit. + bit_offset: 14 + bit_size: 1 + enum: C1IER_ISE14 + - name: ISE15 + description: Interrupt semaphore n enable bit. + bit_offset: 15 + bit_size: 1 + enum: C1IER_ISE15 +fieldset/C1ISR: + description: HSEM Interrupt status register. + fields: + - name: ISF0 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 0 + bit_size: 1 + enum: C1ISR_ISF0 + - name: ISF1 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 1 + bit_size: 1 + enum: C1ISR_ISF1 + - name: ISF2 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 2 + bit_size: 1 + enum: C1ISR_ISF2 + - name: ISF3 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 3 + bit_size: 1 + enum: C1ISR_ISF3 + - name: ISF4 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 4 + bit_size: 1 + enum: C1ISR_ISF4 + - name: ISF5 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 5 + bit_size: 1 + enum: C1ISR_ISF5 + - name: ISF6 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 6 + bit_size: 1 + enum: C1ISR_ISF6 + - name: ISF7 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 7 + bit_size: 1 + enum: C1ISR_ISF7 + - name: ISF8 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 8 + bit_size: 1 + enum: C1ISR_ISF8 + - name: ISF9 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 9 + bit_size: 1 + enum: C1ISR_ISF9 + - name: ISF10 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 10 + bit_size: 1 + enum: C1ISR_ISF10 + - name: ISF11 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 11 + bit_size: 1 + enum: C1ISR_ISF11 + - name: ISF12 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 12 + bit_size: 1 + enum: C1ISR_ISF12 + - name: ISF13 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 13 + bit_size: 1 + enum: C1ISR_ISF13 + - name: ISF14 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 14 + bit_size: 1 + enum: C1ISR_ISF14 + - name: ISF15 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 15 + bit_size: 1 + enum: C1ISR_ISF15 +fieldset/C1MISR: + description: HSEM Masked interrupt status register. + fields: + - name: MISF0 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 0 + bit_size: 1 + enum: C1MISR_MISF0 + - name: MISF1 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 1 + bit_size: 1 + enum: C1MISR_MISF1 + - name: MISF2 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 2 + bit_size: 1 + enum: C1MISR_MISF2 + - name: MISF3 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 3 + bit_size: 1 + enum: C1MISR_MISF3 + - name: MISF4 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 4 + bit_size: 1 + enum: C1MISR_MISF4 + - name: MISF5 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 5 + bit_size: 1 + enum: C1MISR_MISF5 + - name: MISF6 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 6 + bit_size: 1 + enum: C1MISR_MISF6 + - name: MISF7 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 7 + bit_size: 1 + enum: C1MISR_MISF7 + - name: MISF8 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 8 + bit_size: 1 + enum: C1MISR_MISF8 + - name: MISF9 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 9 + bit_size: 1 + enum: C1MISR_MISF9 + - name: MISF10 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 10 + bit_size: 1 + enum: C1MISR_MISF10 + - name: MISF11 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 11 + bit_size: 1 + enum: C1MISR_MISF11 + - name: MISF12 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 12 + bit_size: 1 + enum: C1MISR_MISF12 + - name: MISF13 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 13 + bit_size: 1 + enum: C1MISR_MISF13 + - name: MISF14 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 14 + bit_size: 1 + enum: C1MISR_MISF14 + - name: MISF15 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 15 + bit_size: 1 + enum: C1MISR_MISF15 +fieldset/C2ICR: + description: HSEM Interrupt clear register. + fields: + - name: ISC0 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 0 + bit_size: 1 + enum: C2ICR_ISC0 + - name: ISC1 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 1 + bit_size: 1 + enum: C2ICR_ISC1 + - name: ISC2 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 2 + bit_size: 1 + enum: C2ICR_ISC2 + - name: ISC3 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 3 + bit_size: 1 + enum: C2ICR_ISC3 + - name: ISC4 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 4 + bit_size: 1 + enum: C2ICR_ISC4 + - name: ISC5 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 5 + bit_size: 1 + enum: C2ICR_ISC5 + - name: ISC6 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 6 + bit_size: 1 + enum: C2ICR_ISC6 + - name: ISC7 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 7 + bit_size: 1 + enum: C2ICR_ISC7 + - name: ISC8 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 8 + bit_size: 1 + enum: C2ICR_ISC8 + - name: ISC9 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 9 + bit_size: 1 + enum: C2ICR_ISC9 + - name: ISC10 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 10 + bit_size: 1 + enum: C2ICR_ISC10 + - name: ISC11 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 11 + bit_size: 1 + enum: C2ICR_ISC11 + - name: ISC12 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 12 + bit_size: 1 + enum: C2ICR_ISC12 + - name: ISC13 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 13 + bit_size: 1 + enum: C2ICR_ISC13 + - name: ISC14 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 14 + bit_size: 1 + enum: C2ICR_ISC14 + - name: ISC15 + description: Interrupt(N) semaphore n clear bit. + bit_offset: 15 + bit_size: 1 + enum: C2ICR_ISC15 +fieldset/C2IER: + description: HSEM Interrupt enable register. + fields: + - name: ISE0 + description: Interrupt semaphore n enable bit. + bit_offset: 0 + bit_size: 1 + enum: C2IER_ISE0 + - name: ISE1 + description: Interrupt semaphore n enable bit. + bit_offset: 1 + bit_size: 1 + enum: C2IER_ISE1 + - name: ISE2 + description: Interrupt semaphore n enable bit. + bit_offset: 2 + bit_size: 1 + enum: C2IER_ISE2 + - name: ISE3 + description: Interrupt semaphore n enable bit. + bit_offset: 3 + bit_size: 1 + enum: C2IER_ISE3 + - name: ISE4 + description: Interrupt semaphore n enable bit. + bit_offset: 4 + bit_size: 1 + enum: C2IER_ISE4 + - name: ISE5 + description: Interrupt semaphore n enable bit. + bit_offset: 5 + bit_size: 1 + enum: C2IER_ISE5 + - name: ISE6 + description: Interrupt semaphore n enable bit. + bit_offset: 6 + bit_size: 1 + enum: C2IER_ISE6 + - name: ISE7 + description: Interrupt semaphore n enable bit. + bit_offset: 7 + bit_size: 1 + enum: C2IER_ISE7 + - name: ISE8 + description: Interrupt semaphore n enable bit. + bit_offset: 8 + bit_size: 1 + enum: C2IER_ISE8 + - name: ISE9 + description: Interrupt semaphore n enable bit. + bit_offset: 9 + bit_size: 1 + enum: C2IER_ISE9 + - name: ISE10 + description: Interrupt semaphore n enable bit. + bit_offset: 10 + bit_size: 1 + enum: C2IER_ISE10 + - name: ISE11 + description: Interrupt semaphore n enable bit. + bit_offset: 11 + bit_size: 1 + enum: C2IER_ISE11 + - name: ISE12 + description: Interrupt semaphore n enable bit. + bit_offset: 12 + bit_size: 1 + enum: C2IER_ISE12 + - name: ISE13 + description: Interrupt semaphore n enable bit. + bit_offset: 13 + bit_size: 1 + enum: C2IER_ISE13 + - name: ISE14 + description: Interrupt semaphore n enable bit. + bit_offset: 14 + bit_size: 1 + enum: C2IER_ISE14 + - name: ISE15 + description: Interrupt semaphore n enable bit. + bit_offset: 15 + bit_size: 1 + enum: C2IER_ISE15 +fieldset/C2ISR: + description: HSEM Interrupt status register. + fields: + - name: ISF0 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 0 + bit_size: 1 + enum: C2ISR_ISF0 + - name: ISF1 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 1 + bit_size: 1 + enum: C2ISR_ISF1 + - name: ISF2 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 2 + bit_size: 1 + enum: C2ISR_ISF2 + - name: ISF3 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 3 + bit_size: 1 + enum: C2ISR_ISF3 + - name: ISF4 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 4 + bit_size: 1 + enum: C2ISR_ISF4 + - name: ISF5 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 5 + bit_size: 1 + enum: C2ISR_ISF5 + - name: ISF6 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 6 + bit_size: 1 + enum: C2ISR_ISF6 + - name: ISF7 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 7 + bit_size: 1 + enum: C2ISR_ISF7 + - name: ISF8 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 8 + bit_size: 1 + enum: C2ISR_ISF8 + - name: ISF9 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 9 + bit_size: 1 + enum: C2ISR_ISF9 + - name: ISF10 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 10 + bit_size: 1 + enum: C2ISR_ISF10 + - name: ISF11 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 11 + bit_size: 1 + enum: C2ISR_ISF11 + - name: ISF12 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 12 + bit_size: 1 + enum: C2ISR_ISF12 + - name: ISF13 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 13 + bit_size: 1 + enum: C2ISR_ISF13 + - name: ISF14 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 14 + bit_size: 1 + enum: C2ISR_ISF14 + - name: ISF15 + description: Interrupt(N) semaphore n status bit before enable (mask). + bit_offset: 15 + bit_size: 1 + enum: C2ISR_ISF15 +fieldset/C2MISR: + description: HSEM Masked interrupt status register. + fields: + - name: MISF0 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 0 + bit_size: 1 + enum: C2MISR_MISF0 + - name: MISF1 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 1 + bit_size: 1 + enum: C2MISR_MISF1 + - name: MISF2 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 2 + bit_size: 1 + enum: C2MISR_MISF2 + - name: MISF3 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 3 + bit_size: 1 + enum: C2MISR_MISF3 + - name: MISF4 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 4 + bit_size: 1 + enum: C2MISR_MISF4 + - name: MISF5 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 5 + bit_size: 1 + enum: C2MISR_MISF5 + - name: MISF6 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 6 + bit_size: 1 + enum: C2MISR_MISF6 + - name: MISF7 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 7 + bit_size: 1 + enum: C2MISR_MISF7 + - name: MISF8 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 8 + bit_size: 1 + enum: C2MISR_MISF8 + - name: MISF9 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 9 + bit_size: 1 + enum: C2MISR_MISF9 + - name: MISF10 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 10 + bit_size: 1 + enum: C2MISR_MISF10 + - name: MISF11 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 11 + bit_size: 1 + enum: C2MISR_MISF11 + - name: MISF12 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 12 + bit_size: 1 + enum: C2MISR_MISF12 + - name: MISF13 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 13 + bit_size: 1 + enum: C2MISR_MISF13 + - name: MISF14 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 14 + bit_size: 1 + enum: C2MISR_MISF14 + - name: MISF15 + description: masked interrupt(N) semaphore n status bit after enable (mask). + bit_offset: 15 + bit_size: 1 + enum: C2MISR_MISF15 +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 + 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: COREID. + bit_offset: 8 + bit_size: 4 + - name: LOCK + description: Lock indication. + bit_offset: 31 + bit_size: 1 + enum: RLR_LOCK +enum/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1IER_ISE0: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C1IER_ISE1: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C1IER_ISE10: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C1IER_ISE11: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C1IER_ISE12: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C1IER_ISE13: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C1IER_ISE14: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C1IER_ISE15: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C1IER_ISE2: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C1IER_ISE3: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C1IER_ISE4: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C1IER_ISE5: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C1IER_ISE6: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C1IER_ISE7: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C1IER_ISE8: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C1IER_ISE9: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C1ISR_ISF0: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C1ISR_ISF1: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C1ISR_ISF10: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C1ISR_ISF11: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C1ISR_ISF12: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C1ISR_ISF13: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C1ISR_ISF14: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C1ISR_ISF15: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C1ISR_ISF2: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C1ISR_ISF3: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C1ISR_ISF4: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C1ISR_ISF5: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C1ISR_ISF6: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C1ISR_ISF7: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C1ISR_ISF8: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C1ISR_ISF9: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2IER_ISE0: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C2IER_ISE1: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C2IER_ISE10: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C2IER_ISE11: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C2IER_ISE12: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C2IER_ISE13: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C2IER_ISE14: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C2IER_ISE15: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C2IER_ISE2: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C2IER_ISE3: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C2IER_ISE4: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C2IER_ISE5: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C2IER_ISE6: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C2IER_ISE7: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C2IER_ISE8: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C2IER_ISE9: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt generation disabled. + value: 0 + - name: Enabled + description: Interrupt generation enabled. + value: 1 +enum/C2ISR_ISF0: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C2ISR_ISF1: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C2ISR_ISF10: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C2ISR_ISF11: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C2ISR_ISF12: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C2ISR_ISF13: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C2ISR_ISF14: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C2ISR_ISF15: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C2ISR_ISF2: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C2ISR_ISF3: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C2ISR_ISF4: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C2ISR_ISF5: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C2ISR_ISF6: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C2ISR_ISF7: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C2ISR_ISF8: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C2ISR_ISF9: + bit_size: 1 + variants: + - name: NotPending + description: No interrupt pending. + value: 0 + - name: Pending + description: Interrupt pending. + value: 1 +enum/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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: + - 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 diff --git a/data/registers/hsem_v8.yaml b/data/registers/hsem_v8.yaml new file mode 100644 index 0000000..d22a66d --- /dev/null +++ b/data/registers/hsem_v8.yaml @@ -0,0 +1,1021 @@ +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: ISC0 + 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 +fieldset/C1IER: + description: HSEM Interrupt enable register. + fields: + - name: ISE0 + 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 +fieldset/C1ISR: + description: HSEM Interrupt status register. + fields: + - name: ISF0 + 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 +fieldset/C1MISR: + description: HSEM Masked interrupt status register. + fields: + - name: MISF0 + 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 +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/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: + - 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 diff --git a/patch-desc.md b/patch-desc.md new file mode 100644 index 0000000..690d8f8 --- /dev/null +++ b/patch-desc.md @@ -0,0 +1,40 @@ + +# HSEM patch + +## hsem_v1 + +h747 + +## hsem_v2 + +h735 + +## hsem_v3 + +h7b3 +h753v +h753 +h743 +h743v + +## hsem_v4 + +mp157 +mp153 + +## hsem_v5 + +wb55 + +## hsem_v6 + +wba52 + +## hsem_v7 + +wl5x_cm0p +wl5x_cm4 + +## hsem_v8 + +wle5 diff --git a/stm32-data-gen/src/chips.rs b/stm32-data-gen/src/chips.rs index a64ec43..f1ff781 100644 --- a/stm32-data-gen/src/chips.rs +++ b/stm32-data-gen/src/chips.rs @@ -535,6 +535,17 @@ 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")), (".*:DMAMUX.*", ("dmamux", "v1", "DMAMUX")), (r".*:GPDMA\d?:.*", ("gpdma", "v1", "GPDMA")), (r".*:BDMA\d?:.*", ("bdma", "v1", "DMA")), From d1f1f4bfebb2334e28337c3806969249ec9aad67 Mon Sep 17 00:00:00 2001 From: Michael Zill Date: Thu, 4 Apr 2024 08:49:36 +0200 Subject: [PATCH 2/9] Arrayfied v1 and v8 - preliminary fix for missing HSEM in Cube XML --- .gitignore | 1 + data/registers/hsem_v1.yaml | 566 ++--------------------- data/registers/hsem_v8.yaml | 900 +----------------------------------- stm32-data-gen/src/chips.rs | 35 +- 4 files changed, 92 insertions(+), 1410 deletions(-) diff --git a/.gitignore b/.gitignore index d094026..980f11a 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ /sources /tmp .idea/ +.DS_Store # transform*.yaml __pycache__ diff --git a/data/registers/hsem_v1.yaml b/data/registers/hsem_v1.yaml index fac9bae..ecb7662 100644 --- a/data/registers/hsem_v1.yaml +++ b/data/registers/hsem_v1.yaml @@ -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 diff --git a/data/registers/hsem_v8.yaml b/data/registers/hsem_v8.yaml index d22a66d..3505637 100644 --- a/data/registers/hsem_v8.yaml +++ b/data/registers/hsem_v8.yaml @@ -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: diff --git a/stm32-data-gen/src/chips.rs b/stm32-data-gen/src/chips.rs index f1ff781..c8535b0 100644 --- a/stm32-data-gen/src/chips.rs +++ b/stm32-data-gen/src/chips.rs @@ -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] = &[ From 6ba934d366a53443f65a3f4b601f617d29312ae5 Mon Sep 17 00:00:00 2001 From: Michael Zill Date: Thu, 4 Apr 2024 08:56:09 +0200 Subject: [PATCH 3/9] Remote debug code --- stm32-data-gen/src/chips.rs | 3 --- 1 file changed, 3 deletions(-) diff --git a/stm32-data-gen/src/chips.rs b/stm32-data-gen/src/chips.rs index c8535b0..cc45372 100644 --- a/stm32-data-gen/src/chips.rs +++ b/stm32-data-gen/src/chips.rs @@ -1027,9 +1027,6 @@ 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] = &[ From c0c35d80f9b66bb8b9903b0a63a130866daf325d Mon Sep 17 00:00:00 2001 From: Michael Zill Date: Thu, 4 Apr 2024 08:58:50 +0200 Subject: [PATCH 4/9] Remove temp patch doc --- patch-desc.md | 40 ---------------------------------------- 1 file changed, 40 deletions(-) delete mode 100644 patch-desc.md diff --git a/patch-desc.md b/patch-desc.md deleted file mode 100644 index 690d8f8..0000000 --- a/patch-desc.md +++ /dev/null @@ -1,40 +0,0 @@ - -# HSEM patch - -## hsem_v1 - -h747 - -## hsem_v2 - -h735 - -## hsem_v3 - -h7b3 -h753v -h753 -h743 -h743v - -## hsem_v4 - -mp157 -mp153 - -## hsem_v5 - -wb55 - -## hsem_v6 - -wba52 - -## hsem_v7 - -wl5x_cm0p -wl5x_cm4 - -## hsem_v8 - -wle5 From bde330f46ee477537a4641b91a80ee4235bedd90 Mon Sep 17 00:00:00 2001 From: Michael Zill Date: Thu, 4 Apr 2024 11:11:41 +0200 Subject: [PATCH 5/9] Fixed C1ICR, C2ICR read/write --- data/registers/hsem_v1.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/data/registers/hsem_v1.yaml b/data/registers/hsem_v1.yaml index ecb7662..f70ea08 100644 --- a/data/registers/hsem_v1.yaml +++ b/data/registers/hsem_v1.yaml @@ -23,7 +23,6 @@ block/HSEM: - name: C1ICR description: HSEM Interrupt clear register. byte_offset: 260 - access: Read fieldset: ICR - name: C1ISR description: HSEM Interrupt status register. @@ -42,7 +41,6 @@ block/HSEM: - name: C2ICR description: HSEM Interrupt clear register. byte_offset: 276 - access: Read fieldset: ICR - name: C2ISR description: HSEM Interrupt status register. From e029a55f7a0c824cbd40bbd678a22643310d8814 Mon Sep 17 00:00:00 2001 From: Michael Zill Date: Fri, 5 Apr 2024 15:08:46 +0200 Subject: [PATCH 6/9] 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 --- data/registers/hsem_v1.yaml | 81 +- data/registers/hsem_v2.yaml | 584 +---------- data/registers/hsem_v3.yaml | 616 ++--------- data/registers/hsem_v4.yaml | 1469 ++------------------------ data/registers/hsem_v5.yaml | 246 ----- data/registers/hsem_v6.yaml | 1911 ---------------------------------- data/registers/hsem_v7.yaml | 1947 ----------------------------------- data/registers/hsem_v8.yaml | 153 --- stm32-data-gen/src/chips.rs | 26 +- 9 files changed, 248 insertions(+), 6785 deletions(-) delete mode 100644 data/registers/hsem_v5.yaml delete mode 100644 data/registers/hsem_v6.yaml delete mode 100644 data/registers/hsem_v7.yaml delete mode 100644 data/registers/hsem_v8.yaml diff --git a/data/registers/hsem_v1.yaml b/data/registers/hsem_v1.yaml index f70ea08..60edfdc 100644 --- a/data/registers/hsem_v1.yaml +++ b/data/registers/hsem_v1.yaml @@ -71,37 +71,6 @@ fieldset/CR: description: Semaphore clear Key. bit_offset: 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: description: HSEM Interrupt clear register. fields: @@ -109,16 +78,6 @@ fieldset/KEYR: description: Semaphore Clear Key. bit_offset: 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: description: HSEM register HSEM_R%s HSEM_R31. fields: @@ -149,3 +108,43 @@ fieldset/RLR: 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 diff --git a/data/registers/hsem_v2.yaml b/data/registers/hsem_v2.yaml index 5ffe998..e1d639a 100644 --- a/data/registers/hsem_v2.yaml +++ b/data/registers/hsem_v2.yaml @@ -16,25 +16,25 @@ block/HSEM: byte_offset: 128 access: Read fieldset: RLR - - name: C1IER + - name: IER description: HSEM Interrupt enable register. byte_offset: 256 - fieldset: C1IER - - name: C1ICR + fieldset: IER + - name: ICR description: HSEM Interrupt clear register. byte_offset: 260 access: Read - fieldset: C1ICR - - name: C1ISR + fieldset: ICR + - name: ISR description: HSEM Interrupt status register. byte_offset: 264 access: Read - fieldset: C1ISR - - name: C1MISR + fieldset: ISR + - name: MISR description: HSEM Masked interrupt status register. byte_offset: 268 access: Read - fieldset: C1MISR + fieldset: MISR - name: CR description: HSEM Clear register. byte_offset: 320 @@ -43,537 +43,13 @@ block/HSEM: description: HSEM Interrupt clear register. byte_offset: 324 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: description: HSEM Clear register. fields: - - name: COREID + - name: MASTERID description: MasterID of semaphores to be cleared. bit_offset: 8 - bit_size: 4 + bit_size: 8 - name: KEY description: Semaphore clear Key. bit_offset: 16 @@ -615,3 +91,43 @@ fieldset/RLR: 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 diff --git a/data/registers/hsem_v3.yaml b/data/registers/hsem_v3.yaml index fac9bae..8410c72 100644 --- a/data/registers/hsem_v3.yaml +++ b/data/registers/hsem_v3.yaml @@ -1,43 +1,61 @@ block/HSEM: - description: HSEM. + description: Hardware semaphore. items: - name: R description: HSEM register HSEM_R%s HSEM_R31. array: - len: 32 + len: 16 stride: 4 byte_offset: 0 fieldset: R - name: RLR description: HSEM Read lock register. array: - len: 32 + len: 16 stride: 4 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 + 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. @@ -46,407 +64,14 @@ block/HSEM: fieldset/CR: description: HSEM Clear register. fields: - - name: MASTERID - description: MasterID of semaphores to be cleared. + - name: COREID + description: COREID. bit_offset: 8 - bit_size: 8 + bit_size: 4 - name: KEY description: Semaphore clear Key. bit_offset: 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: description: HSEM Interrupt clear register. fields: @@ -454,137 +79,6 @@ fieldset/KEYR: description: Semaphore Clear Key. bit_offset: 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: description: HSEM register HSEM_R%s HSEM_R31. fields: @@ -592,10 +86,10 @@ fieldset/R: description: Semaphore ProcessID. bit_offset: 0 bit_size: 8 - - name: MASTERID - description: Semaphore MasterID. + - name: COREID + description: COREID. bit_offset: 8 - bit_size: 8 + bit_size: 4 - name: LOCK description: Lock indication. bit_offset: 31 @@ -607,11 +101,51 @@ fieldset/RLR: description: Semaphore ProcessID. bit_offset: 0 bit_size: 8 - - name: MASTERID - description: Semaphore MasterID. + - name: COREID + description: COREID. bit_offset: 8 - bit_size: 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 diff --git a/data/registers/hsem_v4.yaml b/data/registers/hsem_v4.yaml index 0d03fdf..31a63de 100644 --- a/data/registers/hsem_v4.yaml +++ b/data/registers/hsem_v4.yaml @@ -1,1450 +1,133 @@ block/HSEM: - description: HSEM. + description: Hardware semaphore. items: - - name: HSEM_R0 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + - name: R + description: HSEM register HSEM_R%s HSEM_R31. + array: + len: 16 + stride: 4 byte_offset: 0 - fieldset: HSEM_R0 - - name: HSEM_R1 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 4 - fieldset: HSEM_R1 - - name: HSEM_R2 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 8 - fieldset: HSEM_R2 - - name: HSEM_R3 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 12 - fieldset: HSEM_R3 - - name: HSEM_R4 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 16 - fieldset: HSEM_R4 - - name: HSEM_R5 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 20 - fieldset: HSEM_R5 - - name: HSEM_R6 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 24 - fieldset: HSEM_R6 - - name: HSEM_R7 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 28 - fieldset: HSEM_R7 - - name: HSEM_R8 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 32 - fieldset: HSEM_R8 - - name: HSEM_R9 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 36 - fieldset: HSEM_R9 - - name: HSEM_R10 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 40 - fieldset: HSEM_R10 - - name: HSEM_R11 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 44 - fieldset: HSEM_R11 - - name: HSEM_R12 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 48 - fieldset: HSEM_R12 - - name: HSEM_R13 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 52 - fieldset: HSEM_R13 - - name: HSEM_R14 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 56 - fieldset: HSEM_R14 - - name: HSEM_R15 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 60 - fieldset: HSEM_R15 - - name: HSEM_R16 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 64 - fieldset: HSEM_R16 - - name: HSEM_R17 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 68 - fieldset: HSEM_R17 - - name: HSEM_R18 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 72 - fieldset: HSEM_R18 - - name: HSEM_R19 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 76 - fieldset: HSEM_R19 - - name: HSEM_R20 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 80 - fieldset: HSEM_R20 - - name: HSEM_R21 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 84 - fieldset: HSEM_R21 - - name: HSEM_R22 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 88 - fieldset: HSEM_R22 - - name: HSEM_R23 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 92 - fieldset: HSEM_R23 - - name: HSEM_R24 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 96 - fieldset: HSEM_R24 - - name: HSEM_R25 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 100 - fieldset: HSEM_R25 - - name: HSEM_R26 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 104 - fieldset: HSEM_R26 - - name: HSEM_R27 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 108 - fieldset: HSEM_R27 - - name: HSEM_R28 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 112 - fieldset: HSEM_R28 - - name: HSEM_R29 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 116 - fieldset: HSEM_R29 - - name: HSEM_R30 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 120 - fieldset: HSEM_R30 - - name: HSEM_R31 - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 124 - fieldset: HSEM_R31 - - name: HSEM_RLR0 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. + fieldset: R + - name: RLR + description: HSEM Read lock register. + array: + len: 16 + stride: 4 byte_offset: 128 access: Read - fieldset: HSEM_RLR0 - - name: HSEM_RLR1 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 132 - access: Read - fieldset: HSEM_RLR1 - - name: HSEM_RLR2 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 136 - access: Read - fieldset: HSEM_RLR2 - - name: HSEM_RLR3 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 140 - access: Read - fieldset: HSEM_RLR3 - - name: HSEM_RLR4 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 144 - access: Read - fieldset: HSEM_RLR4 - - name: HSEM_RLR5 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 148 - access: Read - fieldset: HSEM_RLR5 - - name: HSEM_RLR6 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 152 - access: Read - fieldset: HSEM_RLR6 - - name: HSEM_RLR7 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 156 - access: Read - fieldset: HSEM_RLR7 - - name: HSEM_RLR8 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 160 - access: Read - fieldset: HSEM_RLR8 - - name: HSEM_RLR9 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 164 - access: Read - fieldset: HSEM_RLR9 - - name: HSEM_RLR10 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 168 - access: Read - fieldset: HSEM_RLR10 - - name: HSEM_RLR11 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 172 - access: Read - fieldset: HSEM_RLR11 - - name: HSEM_RLR12 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 176 - access: Read - fieldset: HSEM_RLR12 - - name: HSEM_RLR13 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 180 - access: Read - fieldset: HSEM_RLR13 - - name: HSEM_RLR14 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 184 - access: Read - fieldset: HSEM_RLR14 - - name: HSEM_RLR15 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 188 - access: Read - fieldset: HSEM_RLR15 - - name: HSEM_RLR16 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 192 - access: Read - fieldset: HSEM_RLR16 - - name: HSEM_RLR17 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 196 - access: Read - fieldset: HSEM_RLR17 - - name: HSEM_RLR18 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 200 - access: Read - fieldset: HSEM_RLR18 - - name: HSEM_RLR19 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 204 - access: Read - fieldset: HSEM_RLR19 - - name: HSEM_RLR20 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 208 - access: Read - fieldset: HSEM_RLR20 - - name: HSEM_RLR21 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 212 - access: Read - fieldset: HSEM_RLR21 - - name: HSEM_RLR22 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 216 - access: Read - fieldset: HSEM_RLR22 - - name: HSEM_RLR23 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 220 - access: Read - fieldset: HSEM_RLR23 - - name: HSEM_RLR24 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 224 - access: Read - fieldset: HSEM_RLR24 - - name: HSEM_RLR25 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 228 - access: Read - fieldset: HSEM_RLR25 - - name: HSEM_RLR26 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 232 - access: Read - fieldset: HSEM_RLR26 - - name: HSEM_RLR27 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 236 - access: Read - fieldset: HSEM_RLR27 - - name: HSEM_RLR28 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 240 - access: Read - fieldset: HSEM_RLR28 - - name: HSEM_RLR29 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 244 - access: Read - fieldset: HSEM_RLR29 - - name: HSEM_RLR30 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 248 - access: Read - fieldset: HSEM_RLR30 - - name: HSEM_RLR31 - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - byte_offset: 252 - access: Read - fieldset: HSEM_RLR31 - - name: HSEM_C1IER - description: HSEM i1terrupt enable register. + fieldset: RLR + - name: C1IER + description: HSEM Interrupt enable register. byte_offset: 256 - fieldset: HSEM_C1IER - - name: HSEM_C1ICR - description: HSEM i1terrupt clear register. + fieldset: C1IER + - name: C1ICR + description: HSEM Interrupt clear register. byte_offset: 260 - fieldset: HSEM_C1ICR - - name: HSEM_C1ISR - description: HSEM i1terrupt status register. + fieldset: C1ICR + - name: C1ISR + description: HSEM Interrupt status register. byte_offset: 264 access: Read - fieldset: HSEM_C1ISR - - name: HSEM_C1MISR - description: HSEM i1terrupt status register. + fieldset: C1ISR + - name: C1MISR + description: HSEM Masked interrupt status register. byte_offset: 268 access: Read - fieldset: HSEM_C1MISR - - name: HSEM_C2IER - description: HSEM i2terrupt enable register. - byte_offset: 272 - fieldset: HSEM_C2IER - - name: HSEM_C2ICR - description: HSEM i2terrupt clear register. - byte_offset: 276 - fieldset: HSEM_C2ICR - - name: HSEM_C2ISR - description: HSEM i2terrupt status register. - byte_offset: 280 - access: Read - fieldset: HSEM_C2ISR - - name: HSEM_C2MISR - description: HSEM i2terrupt status register. - byte_offset: 284 - access: Read - fieldset: HSEM_C2MISR - - name: HSEM_CR - description: Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + fieldset: C1MISR + - name: CR + description: HSEM Clear register. byte_offset: 320 access: Write - fieldset: HSEM_CR - - name: HSEM_KEYR - description: HSEM interrupt clear register. + fieldset: CR + - name: KEYR + description: HSEM Interrupt clear register. byte_offset: 324 - fieldset: HSEM_KEYR - - name: HSEM_HWCFGR2 - description: HSEM hardware configuration register 2. - byte_offset: 1004 - access: Read - fieldset: HSEM_HWCFGR2 - - name: HSEM_HWCFGR1 - description: HSEM hardware configuration register 1. - byte_offset: 1008 - access: Read - fieldset: HSEM_HWCFGR1 - - name: HSEM_VERR - description: HSEM IP version register. - byte_offset: 1012 - access: Read - fieldset: HSEM_VERR - - name: HSEM_IPIDR - description: HSEM IP identification register. - byte_offset: 1016 - access: Read - fieldset: HSEM_IPIDR - - name: HSEM_SIDR - description: HSEM size identification register. - byte_offset: 1020 - access: Read - fieldset: HSEM_SIDR -fieldset/HSEM_C1ICR: - description: HSEM i1terrupt clear register. + fieldset: KEYR +fieldset/C1ICR: + description: HSEM Interrupt clear register. fields: - name: ISC - description: ISC. + description: Interrupt(N) semaphore n clear bit. bit_offset: 0 - bit_size: 32 -fieldset/HSEM_C1IER: - description: HSEM i1terrupt enable register. + bit_size: 1 + array: + len: 16 + stride: 1 +fieldset/C1IER: + description: HSEM Interrupt enable register. fields: - name: ISE - description: ISE. + description: Interrupt semaphore n enable bit. bit_offset: 0 - bit_size: 32 -fieldset/HSEM_C1ISR: - description: HSEM i1terrupt status register. + bit_size: 1 + array: + len: 16 + stride: 1 +fieldset/C1ISR: + description: HSEM Interrupt status register. fields: - name: ISF - description: ISF. + description: Interrupt(N) semaphore n status bit before enable (mask). bit_offset: 0 - bit_size: 32 -fieldset/HSEM_C1MISR: - description: HSEM i1terrupt status register. + bit_size: 1 + array: + len: 16 + stride: 1 +fieldset/C1MISR: + description: HSEM Masked interrupt status register. fields: - name: MISF - description: MISF. + description: masked interrupt(N) semaphore n status bit after enable (mask). bit_offset: 0 - bit_size: 32 -fieldset/HSEM_C2ICR: - description: HSEM i2terrupt clear register. - fields: - - name: ISC - description: ISC. - bit_offset: 0 - bit_size: 32 -fieldset/HSEM_C2IER: - description: HSEM i2terrupt enable register. - fields: - - name: ISE - description: ISE. - bit_offset: 0 - bit_size: 32 -fieldset/HSEM_C2ISR: - description: HSEM i2terrupt status register. - fields: - - name: ISF - description: ISF. - bit_offset: 0 - bit_size: 32 -fieldset/HSEM_C2MISR: - description: HSEM i2terrupt status register. - fields: - - name: MISF - description: MISF. - bit_offset: 0 - bit_size: 32 -fieldset/HSEM_CR: - description: Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. + bit_size: 1 + array: + len: 16 + stride: 1 +fieldset/CR: + description: HSEM Clear register. fields: - name: COREID - description: COREID. + description: MASTERID. bit_offset: 8 bit_size: 4 - name: KEY - description: KEY. + description: Semaphore clear Key. bit_offset: 16 bit_size: 16 -fieldset/HSEM_HWCFGR1: - description: HSEM hardware configuration register 1. - fields: - - name: NBSEM - description: NBSEM. - bit_offset: 0 - bit_size: 8 - - name: NBINT - description: NBINT. - bit_offset: 8 - bit_size: 4 -fieldset/HSEM_HWCFGR2: - description: HSEM hardware configuration register 2. - fields: - - name: MASTERID1 - description: MASTERID1. - bit_offset: 0 - bit_size: 4 - - name: MASTERID2 - description: MASTERID2. - bit_offset: 4 - bit_size: 4 - - name: MASTERID3 - description: MASTERID3. - bit_offset: 8 - bit_size: 4 - - name: MASTERID4 - description: MASTERID4. - bit_offset: 12 - bit_size: 4 -fieldset/HSEM_IPIDR: - description: HSEM IP identification register. - fields: - - name: IPID - description: IPID. - bit_offset: 0 - bit_size: 32 -fieldset/HSEM_KEYR: - description: HSEM interrupt clear register. +fieldset/KEYR: + description: HSEM Interrupt clear register. fields: - name: KEY - description: KEY. + description: Semaphore Clear Key. bit_offset: 16 bit_size: 16 -fieldset/HSEM_R0: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. +fieldset/R: + description: HSEM register HSEM_R%s HSEM_R31. fields: - name: PROCID - description: PROCID. + description: Semaphore ProcessID. bit_offset: 0 bit_size: 8 - name: COREID - description: COREID. + description: Semaphore MASTERID. bit_offset: 8 bit_size: 4 - name: LOCK - description: LOCK. + description: Lock indication. bit_offset: 31 bit_size: 1 -fieldset/HSEM_R1: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. +fieldset/RLR: + description: HSEM Read lock register. fields: - name: PROCID - description: PROCID. + description: Semaphore ProcessID. bit_offset: 0 bit_size: 8 - name: COREID - description: COREID. + description: Semaphore MASTERID. bit_offset: 8 bit_size: 4 - name: LOCK - description: LOCK. + description: Lock indication. bit_offset: 31 bit_size: 1 -fieldset/HSEM_R10: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R11: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R12: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R13: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R14: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R15: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R16: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R17: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R18: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R19: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R2: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R20: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R21: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R22: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R23: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R24: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R25: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R26: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R27: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R28: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R29: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R3: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R30: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R31: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R4: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R5: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R6: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R7: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R8: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_R9: - description: The HSEM_Rx shall be used to perform a 2-step Write lock and Read back. Only Write accesses with authorized AHB bus master IDs are granted. Write accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR0: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR1: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR10: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR11: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR12: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR13: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR14: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR15: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR16: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR17: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR18: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR19: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR2: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR20: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR21: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR22: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR23: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR24: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR25: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR26: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR27: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR28: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR29: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR3: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR30: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR31: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR4: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR5: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR6: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR7: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR8: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR9: - description: Accesses the same physical bits as HSEM_Rx. The HSEM_RLRx shall be used to perform a 1-step Read lock. Only Read accesses with authorized AHB bus master IDs are granted. Read accesses with unauthorized AHB bus master IDs are discarded. - fields: - - name: PROCID - description: PROCID. - bit_offset: 0 - bit_size: 8 - - name: COREID - description: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: LOCK. - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_SIDR: - description: HSEM size identification register. - fields: - - name: SID - description: SID. - bit_offset: 0 - bit_size: 32 -fieldset/HSEM_VERR: - description: HSEM IP version register. - fields: - - name: MINREV - description: MINREV. - bit_offset: 0 - bit_size: 4 - - name: MAJREV - description: MAJREV. - bit_offset: 4 - bit_size: 4 diff --git a/data/registers/hsem_v5.yaml b/data/registers/hsem_v5.yaml deleted file mode 100644 index 7f1c983..0000000 --- a/data/registers/hsem_v5.yaml +++ /dev/null @@ -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 diff --git a/data/registers/hsem_v6.yaml b/data/registers/hsem_v6.yaml deleted file mode 100644 index efac812..0000000 --- a/data/registers/hsem_v6.yaml +++ /dev/null @@ -1,1911 +0,0 @@ -block/HSEM: - description: Hardware semaphore. - items: - - name: HSEM_R1 - description: HSEM register semaphore 1. - byte_offset: 4 - fieldset: HSEM_R1 - - name: HSEM_R2 - description: HSEM register semaphore 2. - byte_offset: 8 - fieldset: HSEM_R2 - - name: HSEM_R3 - description: HSEM register semaphore 3. - byte_offset: 12 - fieldset: HSEM_R3 - - name: HSEM_R4 - description: HSEM register semaphore 4. - byte_offset: 16 - fieldset: HSEM_R4 - - name: HSEM_R5 - description: HSEM register semaphore 5. - byte_offset: 20 - fieldset: HSEM_R5 - - name: HSEM_R6 - description: HSEM register semaphore 6. - byte_offset: 24 - fieldset: HSEM_R6 - - name: HSEM_R7 - description: HSEM register semaphore 7. - byte_offset: 28 - fieldset: HSEM_R7 - - name: HSEM_R8 - description: HSEM register semaphore 8. - byte_offset: 32 - fieldset: HSEM_R8 - - name: HSEM_R9 - description: HSEM register semaphore 9. - byte_offset: 36 - fieldset: HSEM_R9 - - name: HSEM_R10 - description: HSEM register semaphore 10. - byte_offset: 40 - fieldset: HSEM_R10 - - name: HSEM_R11 - description: HSEM register semaphore 11. - byte_offset: 44 - fieldset: HSEM_R11 - - name: HSEM_R12 - description: HSEM register semaphore 12. - byte_offset: 48 - fieldset: HSEM_R12 - - name: HSEM_R13 - description: HSEM register semaphore 13. - byte_offset: 52 - fieldset: HSEM_R13 - - name: HSEM_R14 - description: HSEM register semaphore 14. - byte_offset: 56 - fieldset: HSEM_R14 - - name: HSEM_R15 - description: HSEM register semaphore 15. - byte_offset: 60 - fieldset: HSEM_R15 - - name: HSEM_RLR0 - description: HSEM read lock register semaphore 0. - byte_offset: 128 - fieldset: HSEM_RLR0 - - name: HSEM_RLR1 - description: HSEM read lock register semaphore 1. - byte_offset: 132 - fieldset: HSEM_RLR1 - - name: HSEM_RLR2 - description: HSEM read lock register semaphore 2. - byte_offset: 136 - fieldset: HSEM_RLR2 - - name: HSEM_RLR3 - description: HSEM read lock register semaphore 3. - byte_offset: 140 - fieldset: HSEM_RLR3 - - name: HSEM_RLR4 - description: HSEM read lock register semaphore 4. - byte_offset: 144 - fieldset: HSEM_RLR4 - - name: HSEM_RLR5 - description: HSEM read lock register semaphore 5. - byte_offset: 148 - fieldset: HSEM_RLR5 - - name: HSEM_RLR6 - description: HSEM read lock register semaphore 6. - byte_offset: 152 - fieldset: HSEM_RLR6 - - name: HSEM_RLR7 - description: HSEM read lock register semaphore 7. - byte_offset: 156 - fieldset: HSEM_RLR7 - - name: HSEM_RLR8 - description: HSEM read lock register semaphore 8. - byte_offset: 160 - fieldset: HSEM_RLR8 - - name: HSEM_RLR9 - description: HSEM read lock register semaphore 9. - byte_offset: 164 - fieldset: HSEM_RLR9 - - name: HSEM_RLR10 - description: HSEM read lock register semaphore 10. - byte_offset: 168 - fieldset: HSEM_RLR10 - - name: HSEM_RLR11 - description: HSEM read lock register semaphore 11. - byte_offset: 172 - fieldset: HSEM_RLR11 - - name: HSEM_RLR12 - description: HSEM read lock register semaphore 12. - byte_offset: 176 - fieldset: HSEM_RLR12 - - name: HSEM_RLR13 - description: HSEM read lock register semaphore 13. - byte_offset: 180 - fieldset: HSEM_RLR13 - - name: HSEM_RLR14 - description: HSEM read lock register semaphore 14. - byte_offset: 184 - fieldset: HSEM_RLR14 - - name: HSEM_RLR15 - description: HSEM read lock register semaphore 15. - byte_offset: 188 - fieldset: HSEM_RLR15 - - name: HSEM_IER - description: HSEM non-secure interrupt enable register. - byte_offset: 256 - fieldset: HSEM_IER - - name: HSEM_ICR - description: HSEM non-secure interrupt clear register. - byte_offset: 260 - fieldset: HSEM_ICR - - name: HSEM_ISR - description: HSEM non-secure interrupt status register. - byte_offset: 264 - fieldset: HSEM_ISR - - name: HSEM_MISR - description: HSEM non-secure interrupt status register. - byte_offset: 268 - fieldset: HSEM_MISR - - name: HSEM_SIER - description: HSEM secure interrupt enable register. - byte_offset: 384 - fieldset: HSEM_SIER - - name: HSEM_SICR - description: HSEM secure interrupt clear register. - byte_offset: 388 - fieldset: HSEM_SICR - - name: HSEM_SISR - description: HSEM secure interrupt status register. - byte_offset: 392 - fieldset: HSEM_SISR - - name: HSEM_MSISR - description: HSEM secure masked interrupt status register. - byte_offset: 396 - fieldset: HSEM_MSISR - - name: HSEM_SECCFGR - description: HSEM security configuration register. - byte_offset: 512 - fieldset: HSEM_SECCFGR - - name: HSEM_PRIVCFGR - description: HSEM privilege configuration register. - byte_offset: 528 - fieldset: HSEM_PRIVCFGR - - name: HSEM_CR - description: HSEM clear register. - byte_offset: 560 - fieldset: HSEM_CR - - name: HSEM_KEYR - description: HSEM interrupt clear register. - byte_offset: 564 - fieldset: HSEM_KEYR - - name: HSEM_R0 - description: HSEM register semaphore 0. - byte_offset: 1108089856 - fieldset: HSEM_R0 -fieldset/HSEM_CR: - description: HSEM clear register. - fields: - - name: LOCKID - description: LOCKID of semaphores to be cleared This field can be written by software and is always read 0. This field indicates the LOCKID for which the semaphores are cleared when writing the HSEM_CR. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: SEC value of semaphores to be cleared. This field can be written by software, is always read 0. Indicates the SEC for which the CID semaphores are cleared when writing the HSEM_CR. - bit_offset: 12 - bit_size: 1 - - name: PRIV - description: PRIV value of semaphores to be cleared. This field can be written by software, is always read 0. Indicates the PRIV for which the CID semaphores are cleared when writing the HSEM_CR. - bit_offset: 13 - bit_size: 1 - - name: KEY - description: Semaphore clear key This field can be written by software and is always read 0. If this key value does not match HSEM_KEYR.KEY, semaphores are not affected. If this key value matches HSEM_KEYR.KEY, all semaphores matching the LOCKID are cleared to the free state. - bit_offset: 16 - bit_size: 16 -fieldset/HSEM_ICR: - description: HSEM non-secure interrupt clear register. - fields: - - name: ISC - description: Non-secure Interrupt semaphore x clear bit This bit is written by software, and is always read 0. When semaphore x SECx is disabled, bit x can be accessed with secure and non-secure access. When semaphore x SECx is enabled, bit x cannot be accessed, write to this bit is discarded. When semaphore x PRIVx is disabled, bit x can be accessed with privileged and unprivileged access. When semaphore x PRIVx is enabled, bit x can only be accessed with privileged access. Unprivileged write to this bit is discarded. - bit_offset: 0 - bit_size: 16 - enum: ISC -fieldset/HSEM_IER: - description: HSEM non-secure interrupt enable register. - fields: - - name: ISE - description: Non-secure Interrupt semaphore x enable bit This bit is read and written by software. When semaphore x SECx is disabled, bit x can be accessed with secure and non-secure access. When semaphore x SECx is enabled, bit x is forced to 0 and cannot be accessed, write to this bit is discarded and a read returns 0. When semaphore x PRIVx is disabled, bit x can be accessed with privilege and unprivileged access. When semaphore x PRIVx is enabled, bit x can be accessed only with privileged access. Unprivileged write to this bit is discarded, unprivileged read returns 0. - bit_offset: 0 - bit_size: 16 - enum: ISE -fieldset/HSEM_ISR: - description: HSEM non-secure interrupt status register. - fields: - - name: ISF - description: Interrupt semaphore x status bit before enable (mask) This bit is set by hardware, and reset only by software. This bit is cleared by software writing the corresponding HSEM_ICR bit. - bit_offset: 0 - bit_size: 16 - enum: ISF -fieldset/HSEM_KEYR: - description: HSEM interrupt clear register. - fields: - - name: KEY - description: Semaphore clear key This field can be written and read by software. Key value to match when clearing semaphores. - bit_offset: 16 - bit_size: 16 -fieldset/HSEM_MISR: - description: HSEM non-secure interrupt status register. - fields: - - name: MISF - description: Masked non-secure interrupt semaphore x status bit after enable (mask) This bit is set by hardware and read only by software. This bit is cleared by software writing the corresponding HSEM_ICR bit. This bit is read as 0 when semaphore x status is masked in HSEM_IER bit x. When semaphore x SECx is disabled, bit x can be accessed with secure and non-secure access. When semaphore x SECx is enabled, bit x cannot be accessed, read returns 0. When semaphore x PRIVx is disabled, bit x can be accessed with privileged and unprivileged access. When semaphore x PRIVx is enabled, bit x can be accessed only with privileged access. Unprivileged read returns 0. - bit_offset: 0 - bit_size: 16 - enum: MISF -fieldset/HSEM_MSISR: - description: HSEM secure masked interrupt status register. - fields: - - name: SMISF - description: Secure masked interrupt semaphore x status bit after enable (mask) This bit is set by hardware and read only by software. Bit is cleared by software writing the corresponding HSEM_SCnICR bit x. Bit is read as 0 when semaphore x status is masked in HSEM_SCnIER bit x. When semaphore x PRIVx is disabled, bit x can be accessed with secure privilege and secure unprivileged access. When semaphore x PRIVx is enabled, bit x can be accessed only with secure privilege access. Secure unprivileged read return 0 value. - bit_offset: 0 - bit_size: 16 - enum: SMISF -fieldset/HSEM_PRIVCFGR: - description: HSEM privilege configuration register. - fields: - - name: PRIV - description: Semaphore x privilege attribute This bit is set and cleared by software. When semaphore x SECx is disabled, bit x can be write accessed with secure privileged and non-secure privileged access. When semaphore x SECx is enabled, bit x can only be write accessed with secure privilege access. Non-secure privileged write access is discarded. Both secure and non-secure read return the register bit x value. - bit_offset: 0 - bit_size: 16 - enum: HSEM_PRIVCFGR_PRIV -fieldset/HSEM_R0: - description: HSEM register semaphore 0. - fields: - - name: PROCID - description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. - bit_offset: 12 - bit_size: 1 - enum: HSEM_R0_SEC - - name: PRIV - description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. - bit_offset: 13 - bit_size: 1 - enum: HSEM_R0_PRIV - - name: LOCK - description: Lock indication This bit can be written and read by software. - bit_offset: 31 - bit_size: 1 - enum: HSEM_R0_LOCK -fieldset/HSEM_R1: - description: HSEM register semaphore 1. - fields: - - name: PROCID - description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. - bit_offset: 12 - bit_size: 1 - enum: HSEM_R1_SEC - - name: PRIV - description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. - bit_offset: 13 - bit_size: 1 - enum: HSEM_R1_PRIV - - name: LOCK - description: Lock indication This bit can be written and read by software. - bit_offset: 31 - bit_size: 1 - enum: HSEM_R1_LOCK -fieldset/HSEM_R10: - description: HSEM register semaphore 10. - fields: - - name: PROCID - description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. - bit_offset: 12 - bit_size: 1 - enum: HSEM_R10_SEC - - name: PRIV - description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. - bit_offset: 13 - bit_size: 1 - enum: HSEM_R10_PRIV - - name: LOCK - description: Lock indication This bit can be written and read by software. - bit_offset: 31 - bit_size: 1 - enum: HSEM_R10_LOCK -fieldset/HSEM_R11: - description: HSEM register semaphore 11. - fields: - - name: PROCID - description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. - bit_offset: 12 - bit_size: 1 - enum: HSEM_R11_SEC - - name: PRIV - description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. - bit_offset: 13 - bit_size: 1 - enum: HSEM_R11_PRIV - - name: LOCK - description: Lock indication This bit can be written and read by software. - bit_offset: 31 - bit_size: 1 - enum: HSEM_R11_LOCK -fieldset/HSEM_R12: - description: HSEM register semaphore 12. - fields: - - name: PROCID - description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. - bit_offset: 12 - bit_size: 1 - enum: HSEM_R12_SEC - - name: PRIV - description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. - bit_offset: 13 - bit_size: 1 - enum: HSEM_R12_PRIV - - name: LOCK - description: Lock indication This bit can be written and read by software. - bit_offset: 31 - bit_size: 1 - enum: HSEM_R12_LOCK -fieldset/HSEM_R13: - description: HSEM register semaphore 13. - fields: - - name: PROCID - description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. - bit_offset: 12 - bit_size: 1 - enum: HSEM_R13_SEC - - name: PRIV - description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. - bit_offset: 13 - bit_size: 1 - enum: HSEM_R13_PRIV - - name: LOCK - description: Lock indication This bit can be written and read by software. - bit_offset: 31 - bit_size: 1 - enum: HSEM_R13_LOCK -fieldset/HSEM_R14: - description: HSEM register semaphore 14. - fields: - - name: PROCID - description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. - bit_offset: 12 - bit_size: 1 - enum: HSEM_R14_SEC - - name: PRIV - description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. - bit_offset: 13 - bit_size: 1 - enum: HSEM_R14_PRIV - - name: LOCK - description: Lock indication This bit can be written and read by software. - bit_offset: 31 - bit_size: 1 - enum: HSEM_R14_LOCK -fieldset/HSEM_R15: - description: HSEM register semaphore 15. - fields: - - name: PROCID - description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. - bit_offset: 12 - bit_size: 1 - enum: HSEM_R15_SEC - - name: PRIV - description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. - bit_offset: 13 - bit_size: 1 - enum: HSEM_R15_PRIV - - name: LOCK - description: Lock indication This bit can be written and read by software. - bit_offset: 31 - bit_size: 1 - enum: HSEM_R15_LOCK -fieldset/HSEM_R2: - description: HSEM register semaphore 2. - fields: - - name: PROCID - description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. - bit_offset: 12 - bit_size: 1 - enum: HSEM_R2_SEC - - name: PRIV - description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. - bit_offset: 13 - bit_size: 1 - enum: HSEM_R2_PRIV - - name: LOCK - description: Lock indication This bit can be written and read by software. - bit_offset: 31 - bit_size: 1 - enum: HSEM_R2_LOCK -fieldset/HSEM_R3: - description: HSEM register semaphore 3. - fields: - - name: PROCID - description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. - bit_offset: 12 - bit_size: 1 - enum: HSEM_R3_SEC - - name: PRIV - description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. - bit_offset: 13 - bit_size: 1 - enum: HSEM_R3_PRIV - - name: LOCK - description: Lock indication This bit can be written and read by software. - bit_offset: 31 - bit_size: 1 - enum: HSEM_R3_LOCK -fieldset/HSEM_R4: - description: HSEM register semaphore 4. - fields: - - name: PROCID - description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. - bit_offset: 12 - bit_size: 1 - enum: HSEM_R4_SEC - - name: PRIV - description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. - bit_offset: 13 - bit_size: 1 - enum: HSEM_R4_PRIV - - name: LOCK - description: Lock indication This bit can be written and read by software. - bit_offset: 31 - bit_size: 1 - enum: HSEM_R4_LOCK -fieldset/HSEM_R5: - description: HSEM register semaphore 5. - fields: - - name: PROCID - description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. - bit_offset: 12 - bit_size: 1 - enum: HSEM_R5_SEC - - name: PRIV - description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. - bit_offset: 13 - bit_size: 1 - enum: HSEM_R5_PRIV - - name: LOCK - description: Lock indication This bit can be written and read by software. - bit_offset: 31 - bit_size: 1 - enum: HSEM_R5_LOCK -fieldset/HSEM_R6: - description: HSEM register semaphore 6. - fields: - - name: PROCID - description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. - bit_offset: 12 - bit_size: 1 - enum: HSEM_R6_SEC - - name: PRIV - description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. - bit_offset: 13 - bit_size: 1 - enum: HSEM_R6_PRIV - - name: LOCK - description: Lock indication This bit can be written and read by software. - bit_offset: 31 - bit_size: 1 - enum: HSEM_R6_LOCK -fieldset/HSEM_R7: - description: HSEM register semaphore 7. - fields: - - name: PROCID - description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. - bit_offset: 12 - bit_size: 1 - enum: HSEM_R7_SEC - - name: PRIV - description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. - bit_offset: 13 - bit_size: 1 - enum: HSEM_R7_PRIV - - name: LOCK - description: Lock indication This bit can be written and read by software. - bit_offset: 31 - bit_size: 1 - enum: HSEM_R7_LOCK -fieldset/HSEM_R8: - description: HSEM register semaphore 8. - fields: - - name: PROCID - description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. - bit_offset: 12 - bit_size: 1 - enum: HSEM_R8_SEC - - name: PRIV - description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. - bit_offset: 13 - bit_size: 1 - enum: HSEM_R8_PRIV - - name: LOCK - description: Lock indication This bit can be written and read by software. - bit_offset: 31 - bit_size: 1 - enum: HSEM_R8_LOCK -fieldset/HSEM_R9: - description: HSEM register semaphore 9. - fields: - - name: PROCID - description: Semaphore PROCID Written by software -When the semaphore is free and the LOCK is written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition, PROCID is set to the written data. - When the semaphore is unlocked, LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the PROCID is cleared to 0. - When the semaphore is unlocked, LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match the AHB bus master definition, the PROCID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PROCID is not affected. - An authorized read returns the stored PROCID value. - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1 and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master protection. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master protection, the LOCKID is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 or AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master protection, the LOCKID is not affected. - Write when LOCK bit is already 1 (semaphore locked), the LOCKID is not affected. - An authorized read returns the stored LOCKID value. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: Semaphore secure Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the SEC is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the SEC is not affected. - Write when LOCK bit is already 1 (semaphore locked), the SEC is not affected. - An authorized read returns the stored SEC value. - bit_offset: 12 - bit_size: 1 - enum: HSEM_R9_SEC - - name: PRIV - description: Semaphore privilege Written by software - When the semaphore is free and the LOCK bit is at the same time written to 1, and the LOCKID matches the AHB bus master ID, SEC and PRIV matches the AHB bus master definition. - When the semaphore is unlocked (LOCK written to 0 and AHB bus master ID matched LOCKID, SEC and PRIV matches the AHB bus master definition, the PRIV is cleared to 0. - When the semaphore is unlocked (LOCK bit written to 0 and AHB bus master ID does not match LOCKID and/or SEC or PRIV do not match AHB bus master definition, the PRIV is not affected. - Write when LOCK bit is already 1 (semaphore locked), the PRIV is not affected. - An authorized read returns the stored PRIV value. - bit_offset: 13 - bit_size: 1 - enum: HSEM_R9_PRIV - - name: LOCK - description: Lock indication This bit can be written and read by software. - bit_offset: 31 - bit_size: 1 - enum: HSEM_R9_LOCK -fieldset/HSEM_RLR0: - description: HSEM read lock register semaphore 0. - fields: - - name: PROCID - description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' - bit_offset: 12 - bit_size: 1 - enum: HSEM_RLR0_SEC - - name: PRIV - description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' - bit_offset: 13 - bit_size: 1 - enum: HSEM_RLR0_PRIV - - name: LOCK - description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR1: - description: HSEM read lock register semaphore 1. - fields: - - name: PROCID - description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' - bit_offset: 12 - bit_size: 1 - enum: HSEM_RLR1_SEC - - name: PRIV - description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' - bit_offset: 13 - bit_size: 1 - enum: HSEM_RLR1_PRIV - - name: LOCK - description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR10: - description: HSEM read lock register semaphore 10. - fields: - - name: PROCID - description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' - bit_offset: 12 - bit_size: 1 - enum: HSEM_RLR10_SEC - - name: PRIV - description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' - bit_offset: 13 - bit_size: 1 - enum: HSEM_RLR10_PRIV - - name: LOCK - description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR11: - description: HSEM read lock register semaphore 11. - fields: - - name: PROCID - description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' - bit_offset: 12 - bit_size: 1 - enum: HSEM_RLR11_SEC - - name: PRIV - description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' - bit_offset: 13 - bit_size: 1 - enum: HSEM_RLR11_PRIV - - name: LOCK - description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR12: - description: HSEM read lock register semaphore 12. - fields: - - name: PROCID - description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' - bit_offset: 12 - bit_size: 1 - enum: HSEM_RLR12_SEC - - name: PRIV - description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' - bit_offset: 13 - bit_size: 1 - enum: HSEM_RLR12_PRIV - - name: LOCK - description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR13: - description: HSEM read lock register semaphore 13. - fields: - - name: PROCID - description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' - bit_offset: 12 - bit_size: 1 - enum: HSEM_RLR13_SEC - - name: PRIV - description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' - bit_offset: 13 - bit_size: 1 - enum: HSEM_RLR13_PRIV - - name: LOCK - description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR14: - description: HSEM read lock register semaphore 14. - fields: - - name: PROCID - description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' - bit_offset: 12 - bit_size: 1 - enum: HSEM_RLR14_SEC - - name: PRIV - description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' - bit_offset: 13 - bit_size: 1 - enum: HSEM_RLR14_PRIV - - name: LOCK - description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR15: - description: HSEM read lock register semaphore 15. - fields: - - name: PROCID - description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' - bit_offset: 12 - bit_size: 1 - enum: HSEM_RLR15_SEC - - name: PRIV - description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' - bit_offset: 13 - bit_size: 1 - enum: HSEM_RLR15_PRIV - - name: LOCK - description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR2: - description: HSEM read lock register semaphore 2. - fields: - - name: PROCID - description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' - bit_offset: 12 - bit_size: 1 - enum: HSEM_RLR2_SEC - - name: PRIV - description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' - bit_offset: 13 - bit_size: 1 - enum: HSEM_RLR2_PRIV - - name: LOCK - description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR3: - description: HSEM read lock register semaphore 3. - fields: - - name: PROCID - description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' - bit_offset: 12 - bit_size: 1 - enum: HSEM_RLR3_SEC - - name: PRIV - description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' - bit_offset: 13 - bit_size: 1 - enum: HSEM_RLR3_PRIV - - name: LOCK - description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR4: - description: HSEM read lock register semaphore 4. - fields: - - name: PROCID - description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' - bit_offset: 12 - bit_size: 1 - enum: HSEM_RLR4_SEC - - name: PRIV - description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' - bit_offset: 13 - bit_size: 1 - enum: HSEM_RLR4_PRIV - - name: LOCK - description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR5: - description: HSEM read lock register semaphore 5. - fields: - - name: PROCID - description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' - bit_offset: 12 - bit_size: 1 - enum: HSEM_RLR5_SEC - - name: PRIV - description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' - bit_offset: 13 - bit_size: 1 - enum: HSEM_RLR5_PRIV - - name: LOCK - description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR6: - description: HSEM read lock register semaphore 6. - fields: - - name: PROCID - description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' - bit_offset: 12 - bit_size: 1 - enum: HSEM_RLR6_SEC - - name: PRIV - description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' - bit_offset: 13 - bit_size: 1 - enum: HSEM_RLR6_PRIV - - name: LOCK - description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR7: - description: HSEM read lock register semaphore 7. - fields: - - name: PROCID - description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' - bit_offset: 12 - bit_size: 1 - enum: HSEM_RLR7_SEC - - name: PRIV - description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' - bit_offset: 13 - bit_size: 1 - enum: HSEM_RLR7_PRIV - - name: LOCK - description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR8: - description: HSEM read lock register semaphore 8. - fields: - - name: PROCID - description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' - bit_offset: 12 - bit_size: 1 - enum: HSEM_RLR8_SEC - - name: PRIV - description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' - bit_offset: 13 - bit_size: 1 - enum: HSEM_RLR8_PRIV - - name: LOCK - description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_RLR9: - description: HSEM read lock register semaphore 9. - fields: - - name: PROCID - description: 'Semaphore processor ID This field is read only by software at this address. - On a read when the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PROCID to 0. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PROCID of the AHB bus master that has locked the semaphore.' - bit_offset: 0 - bit_size: 8 - - name: LOCKID - description: Semaphore LOCKID This field is read only by software at this address. On a read, when the semaphore is free, the hardware sets the LOCKID to the AHB bus master ID reading the semaphore. The LOCKID of the AHB bus master locking the semaphore is read. On a read when the semaphore is locked, this field returns the LOCKID of the AHB bus master that has locked the semaphore. - bit_offset: 8 - bit_size: 4 - - name: SEC - description: 'Semaphore secure. This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the SEC to the valid AHB bus master security definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the SEC of the AHB bus master that has locked the semaphore.' - bit_offset: 12 - bit_size: 1 - enum: HSEM_RLR9_SEC - - name: PRIV - description: 'Semaphore privilege This field is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and hardware sets the PRIV to the valid AHB bus master privileged definition. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns the PRIV of the AHB bus master that has locked the semaphore.' - bit_offset: 13 - bit_size: 1 - enum: HSEM_RLR9_PRIV - - name: LOCK - description: 'Lock indication This bit is read only by software at this address. - When the semaphore is free: A read with a valid AHB bus master ID and SEC and PRIV locks the semaphore and returns 1. - When the semaphore is locked: A read with a valid AHB bus master ID and SEC and PRIV returns 1 (the LOCKID and SEC and PRIV and PROCID reflect the already locked semaphore information).' - bit_offset: 31 - bit_size: 1 -fieldset/HSEM_SECCFGR: - description: HSEM security configuration register. - fields: - - name: SEC - description: Semaphore x security attribute This bit is set and cleared by software. - bit_offset: 0 - bit_size: 16 - enum: HSEM_SECCFGR_SEC -fieldset/HSEM_SICR: - description: HSEM secure interrupt clear register. - fields: - - name: SISC - description: Secure interrupt semaphore x clear bit This bit is written by software, and is always read 0. When semaphore x PRIVx is disabled, bit x can be accessed with secure privilege and secure unprivileged access. When semaphore x PRIVx is enabled, bit x can be accessed only with secure privilege access. Secure unprivileged write to this bit is discarded. - bit_offset: 0 - bit_size: 16 - enum: SISC -fieldset/HSEM_SIER: - description: HSEM secure interrupt enable register. - fields: - - name: SISE - description: Secure interrupt semaphore x enable bit This bit is read and written by software. When semaphore x PRIVx is disabled, bit x can be accessed with secure privilege and secure unprivileged access. When semaphore x PRIVx is enabled, bit x can be accessed only with secure privilege access. secure unprivileged write to this bit is discarded, secure unprivileged read return 0 value. - bit_offset: 0 - bit_size: 16 - enum: SISE -fieldset/HSEM_SISR: - description: HSEM secure interrupt status register. - fields: - - name: SISF - description: Secure interrupt semaphore x status bit before enable (mask) This bit is set by hardware and read only by software. Bit is cleared by software writing the corresponding HSEM_SCnICR bit x. When semaphore x PRIVx is disabled, bit x can be accessed with secure privilege and secure unprivileged access. When semaphore x PRIVx is enabled, bit x can be accessed only with secure privilege access. Secure unprivileged read return 0 value. - bit_offset: 0 - bit_size: 16 - enum: SISF -enum/HSEM_PRIVCFGR_PRIV: - bit_size: 16 - variants: - - name: B_0x0 - description: Semaphore x unprivileged, can be accessed by both privileged and unprivileged processors. - value: 0 - - name: B_0x1 - description: Semaphore x privileged, can be accessed only by privileged processors. - value: 1 -enum/HSEM_R0_LOCK: - bit_size: 1 - variants: - - name: B_0x0 - description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. - value: 0 - - name: B_0x1 - description: On write try to lock semaphore, on read semaphore is locked. - value: 1 -enum/HSEM_R0_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privilege compartment. - value: 1 -enum/HSEM_R0_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_R10_LOCK: - bit_size: 1 - variants: - - name: B_0x0 - description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. - value: 0 - - name: B_0x1 - description: On write try to lock semaphore, on read semaphore is locked. - value: 1 -enum/HSEM_R10_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privilege compartment. - value: 1 -enum/HSEM_R10_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_R11_LOCK: - bit_size: 1 - variants: - - name: B_0x0 - description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. - value: 0 - - name: B_0x1 - description: On write try to lock semaphore, on read semaphore is locked. - value: 1 -enum/HSEM_R11_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privilege compartment. - value: 1 -enum/HSEM_R11_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_R12_LOCK: - bit_size: 1 - variants: - - name: B_0x0 - description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. - value: 0 - - name: B_0x1 - description: On write try to lock semaphore, on read semaphore is locked. - value: 1 -enum/HSEM_R12_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privilege compartment. - value: 1 -enum/HSEM_R12_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_R13_LOCK: - bit_size: 1 - variants: - - name: B_0x0 - description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. - value: 0 - - name: B_0x1 - description: On write try to lock semaphore, on read semaphore is locked. - value: 1 -enum/HSEM_R13_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privilege compartment. - value: 1 -enum/HSEM_R13_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_R14_LOCK: - bit_size: 1 - variants: - - name: B_0x0 - description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. - value: 0 - - name: B_0x1 - description: On write try to lock semaphore, on read semaphore is locked. - value: 1 -enum/HSEM_R14_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privilege compartment. - value: 1 -enum/HSEM_R14_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_R15_LOCK: - bit_size: 1 - variants: - - name: B_0x0 - description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. - value: 0 - - name: B_0x1 - description: On write try to lock semaphore, on read semaphore is locked. - value: 1 -enum/HSEM_R15_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privilege compartment. - value: 1 -enum/HSEM_R15_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_R1_LOCK: - bit_size: 1 - variants: - - name: B_0x0 - description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. - value: 0 - - name: B_0x1 - description: On write try to lock semaphore, on read semaphore is locked. - value: 1 -enum/HSEM_R1_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privilege compartment. - value: 1 -enum/HSEM_R1_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_R2_LOCK: - bit_size: 1 - variants: - - name: B_0x0 - description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. - value: 0 - - name: B_0x1 - description: On write try to lock semaphore, on read semaphore is locked. - value: 1 -enum/HSEM_R2_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privilege compartment. - value: 1 -enum/HSEM_R2_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_R3_LOCK: - bit_size: 1 - variants: - - name: B_0x0 - description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. - value: 0 - - name: B_0x1 - description: On write try to lock semaphore, on read semaphore is locked. - value: 1 -enum/HSEM_R3_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privilege compartment. - value: 1 -enum/HSEM_R3_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_R4_LOCK: - bit_size: 1 - variants: - - name: B_0x0 - description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. - value: 0 - - name: B_0x1 - description: On write try to lock semaphore, on read semaphore is locked. - value: 1 -enum/HSEM_R4_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privilege compartment. - value: 1 -enum/HSEM_R4_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_R5_LOCK: - bit_size: 1 - variants: - - name: B_0x0 - description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. - value: 0 - - name: B_0x1 - description: On write try to lock semaphore, on read semaphore is locked. - value: 1 -enum/HSEM_R5_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privilege compartment. - value: 1 -enum/HSEM_R5_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_R6_LOCK: - bit_size: 1 - variants: - - name: B_0x0 - description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. - value: 0 - - name: B_0x1 - description: On write try to lock semaphore, on read semaphore is locked. - value: 1 -enum/HSEM_R6_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privilege compartment. - value: 1 -enum/HSEM_R6_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_R7_LOCK: - bit_size: 1 - variants: - - name: B_0x0 - description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. - value: 0 - - name: B_0x1 - description: On write try to lock semaphore, on read semaphore is locked. - value: 1 -enum/HSEM_R7_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privilege compartment. - value: 1 -enum/HSEM_R7_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_R8_LOCK: - bit_size: 1 - variants: - - name: B_0x0 - description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. - value: 0 - - name: B_0x1 - description: On write try to lock semaphore, on read semaphore is locked. - value: 1 -enum/HSEM_R8_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privilege compartment. - value: 1 -enum/HSEM_R8_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_R9_LOCK: - bit_size: 1 - variants: - - name: B_0x0 - description: On write free semaphore (only when LOCKID and PROCID match), on read semaphore is free. - value: 0 - - name: B_0x1 - description: On write try to lock semaphore, on read semaphore is locked. - value: 1 -enum/HSEM_R9_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privilege compartment. - value: 1 -enum/HSEM_R9_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_RLR0_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privileged compartment. - value: 1 -enum/HSEM_RLR0_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_RLR10_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privileged compartment. - value: 1 -enum/HSEM_RLR10_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_RLR11_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privileged compartment. - value: 1 -enum/HSEM_RLR11_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_RLR12_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privileged compartment. - value: 1 -enum/HSEM_RLR12_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_RLR13_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privileged compartment. - value: 1 -enum/HSEM_RLR13_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_RLR14_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privileged compartment. - value: 1 -enum/HSEM_RLR14_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_RLR15_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privileged compartment. - value: 1 -enum/HSEM_RLR15_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_RLR1_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privileged compartment. - value: 1 -enum/HSEM_RLR1_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_RLR2_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privileged compartment. - value: 1 -enum/HSEM_RLR2_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_RLR3_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privileged compartment. - value: 1 -enum/HSEM_RLR3_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_RLR4_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privileged compartment. - value: 1 -enum/HSEM_RLR4_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_RLR5_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privileged compartment. - value: 1 -enum/HSEM_RLR5_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_RLR6_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privileged compartment. - value: 1 -enum/HSEM_RLR6_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_RLR7_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privileged compartment. - value: 1 -enum/HSEM_RLR7_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_RLR8_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privileged compartment. - value: 1 -enum/HSEM_RLR8_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_RLR9_PRIV: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by unprivileged compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by privileged compartment. - value: 1 -enum/HSEM_RLR9_SEC: - bit_size: 1 - variants: - - name: B_0x0 - description: Semaphore free or locked by non-secure compartment. - value: 0 - - name: B_0x1 - description: Semaphore locked by secure compartment. - value: 1 -enum/HSEM_SECCFGR_SEC: - bit_size: 16 - variants: - - name: B_0x0 - description: Semaphore x non-security, can be accessed by both secure and non-secure processors. When unlocking semaphore x both a secure and non-secure interrupt can be generated. - value: 0 - - name: B_0x1 - description: Semaphore x security, can be accessed only by secure processors. When unlocking semaphore x only a secure interrupt can be generated. - value: 1 -enum/ISC: - bit_size: 16 - variants: - - name: B_0x0 - description: non-secure Interrupt semaphore x status ISFx and masked status MISFx not affected. - value: 0 - - name: B_0x1 - description: non-secure Interrupt semaphore x status ISFx and masked status MISFx cleared. - value: 1 -enum/ISE: - bit_size: 16 - variants: - - name: B_0x0 - description: Non-secure Interrupt generation for semaphore x disabled (masked). - value: 0 - - name: B_0x1 - description: Non-secure Interrupt generation for semaphore x enabled (not masked). - value: 1 -enum/ISF: - bit_size: 16 - variants: - - name: B_0x0 - description: Interrupt semaphore x status, no interrupt pending. - value: 0 - - name: B_0x1 - description: Interrupt semaphore x status, interrupt pending. - value: 1 -enum/MISF: - bit_size: 16 - variants: - - name: B_0x0 - description: non-secure interrupt semaphore x status after masking not pending. - value: 0 - - name: B_0x1 - description: non-secure interrupt semaphore x status after masking pending. - value: 1 -enum/SISC: - bit_size: 16 - variants: - - name: B_0x0 - description: Secure interrupt semaphore x status ISFx and masked status MISFx not affected. - value: 0 - - name: B_0x1 - description: Secure interrupt semaphore x status ISFx and masked status MISFx cleared. - value: 1 -enum/SISE: - bit_size: 16 - variants: - - name: B_0x0 - description: Secure interrupt generation for semaphore x is disabled (masked). - value: 0 - - name: B_0x1 - description: Secure interrupt generation for semaphore x is enabled (not masked). - value: 1 -enum/SISF: - bit_size: 16 - variants: - - name: B_0x0 - description: Secure interrupt semaphore x status, no interrupt pending. - value: 0 - - name: B_0x1 - description: Secure interrupt semaphore x status, interrupt pending. - value: 1 -enum/SMISF: - bit_size: 16 - variants: - - name: B_0x0 - description: Secure interrupt semaphore x status after masking not pending. - value: 0 - - name: B_0x1 - description: Secure interrupt semaphore x status after masking pending. - value: 1 diff --git a/data/registers/hsem_v7.yaml b/data/registers/hsem_v7.yaml deleted file mode 100644 index 21c2fce..0000000 --- a/data/registers/hsem_v7.yaml +++ /dev/null @@ -1,1947 +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: 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: 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: ISC0 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 0 - bit_size: 1 - enum: C1ICR_ISC0 - - name: ISC1 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 1 - bit_size: 1 - enum: C1ICR_ISC1 - - name: ISC2 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 2 - bit_size: 1 - enum: C1ICR_ISC2 - - name: ISC3 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 3 - bit_size: 1 - enum: C1ICR_ISC3 - - name: ISC4 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 4 - bit_size: 1 - enum: C1ICR_ISC4 - - name: ISC5 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 5 - bit_size: 1 - enum: C1ICR_ISC5 - - name: ISC6 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 6 - bit_size: 1 - enum: C1ICR_ISC6 - - name: ISC7 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 7 - bit_size: 1 - enum: C1ICR_ISC7 - - name: ISC8 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 8 - bit_size: 1 - enum: C1ICR_ISC8 - - name: ISC9 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 9 - bit_size: 1 - enum: C1ICR_ISC9 - - name: ISC10 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 10 - bit_size: 1 - enum: C1ICR_ISC10 - - name: ISC11 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 11 - bit_size: 1 - enum: C1ICR_ISC11 - - name: ISC12 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 12 - bit_size: 1 - enum: C1ICR_ISC12 - - name: ISC13 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 13 - bit_size: 1 - enum: C1ICR_ISC13 - - name: ISC14 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 14 - bit_size: 1 - enum: C1ICR_ISC14 - - name: ISC15 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 15 - bit_size: 1 - enum: C1ICR_ISC15 -fieldset/C1IER: - description: HSEM Interrupt enable register. - fields: - - name: ISE0 - description: Interrupt semaphore n enable bit. - bit_offset: 0 - bit_size: 1 - enum: C1IER_ISE0 - - name: ISE1 - description: Interrupt semaphore n enable bit. - bit_offset: 1 - bit_size: 1 - enum: C1IER_ISE1 - - name: ISE2 - description: Interrupt semaphore n enable bit. - bit_offset: 2 - bit_size: 1 - enum: C1IER_ISE2 - - name: ISE3 - description: Interrupt semaphore n enable bit. - bit_offset: 3 - bit_size: 1 - enum: C1IER_ISE3 - - name: ISE4 - description: Interrupt semaphore n enable bit. - bit_offset: 4 - bit_size: 1 - enum: C1IER_ISE4 - - name: ISE5 - description: Interrupt semaphore n enable bit. - bit_offset: 5 - bit_size: 1 - enum: C1IER_ISE5 - - name: ISE6 - description: Interrupt semaphore n enable bit. - bit_offset: 6 - bit_size: 1 - enum: C1IER_ISE6 - - name: ISE7 - description: Interrupt semaphore n enable bit. - bit_offset: 7 - bit_size: 1 - enum: C1IER_ISE7 - - name: ISE8 - description: Interrupt semaphore n enable bit. - bit_offset: 8 - bit_size: 1 - enum: C1IER_ISE8 - - name: ISE9 - description: Interrupt semaphore n enable bit. - bit_offset: 9 - bit_size: 1 - enum: C1IER_ISE9 - - name: ISE10 - description: Interrupt semaphore n enable bit. - bit_offset: 10 - bit_size: 1 - enum: C1IER_ISE10 - - name: ISE11 - description: Interrupt semaphore n enable bit. - bit_offset: 11 - bit_size: 1 - enum: C1IER_ISE11 - - name: ISE12 - description: Interrupt semaphore n enable bit. - bit_offset: 12 - bit_size: 1 - enum: C1IER_ISE12 - - name: ISE13 - description: Interrupt semaphore n enable bit. - bit_offset: 13 - bit_size: 1 - enum: C1IER_ISE13 - - name: ISE14 - description: Interrupt semaphore n enable bit. - bit_offset: 14 - bit_size: 1 - enum: C1IER_ISE14 - - name: ISE15 - description: Interrupt semaphore n enable bit. - bit_offset: 15 - bit_size: 1 - enum: C1IER_ISE15 -fieldset/C1ISR: - description: HSEM Interrupt status register. - fields: - - name: ISF0 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 0 - bit_size: 1 - enum: C1ISR_ISF0 - - name: ISF1 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 1 - bit_size: 1 - enum: C1ISR_ISF1 - - name: ISF2 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 2 - bit_size: 1 - enum: C1ISR_ISF2 - - name: ISF3 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 3 - bit_size: 1 - enum: C1ISR_ISF3 - - name: ISF4 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 4 - bit_size: 1 - enum: C1ISR_ISF4 - - name: ISF5 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 5 - bit_size: 1 - enum: C1ISR_ISF5 - - name: ISF6 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 6 - bit_size: 1 - enum: C1ISR_ISF6 - - name: ISF7 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 7 - bit_size: 1 - enum: C1ISR_ISF7 - - name: ISF8 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 8 - bit_size: 1 - enum: C1ISR_ISF8 - - name: ISF9 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 9 - bit_size: 1 - enum: C1ISR_ISF9 - - name: ISF10 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 10 - bit_size: 1 - enum: C1ISR_ISF10 - - name: ISF11 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 11 - bit_size: 1 - enum: C1ISR_ISF11 - - name: ISF12 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 12 - bit_size: 1 - enum: C1ISR_ISF12 - - name: ISF13 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 13 - bit_size: 1 - enum: C1ISR_ISF13 - - name: ISF14 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 14 - bit_size: 1 - enum: C1ISR_ISF14 - - name: ISF15 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 15 - bit_size: 1 - enum: C1ISR_ISF15 -fieldset/C1MISR: - description: HSEM Masked interrupt status register. - fields: - - name: MISF0 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 0 - bit_size: 1 - enum: C1MISR_MISF0 - - name: MISF1 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 1 - bit_size: 1 - enum: C1MISR_MISF1 - - name: MISF2 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 2 - bit_size: 1 - enum: C1MISR_MISF2 - - name: MISF3 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 3 - bit_size: 1 - enum: C1MISR_MISF3 - - name: MISF4 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 4 - bit_size: 1 - enum: C1MISR_MISF4 - - name: MISF5 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 5 - bit_size: 1 - enum: C1MISR_MISF5 - - name: MISF6 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 6 - bit_size: 1 - enum: C1MISR_MISF6 - - name: MISF7 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 7 - bit_size: 1 - enum: C1MISR_MISF7 - - name: MISF8 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 8 - bit_size: 1 - enum: C1MISR_MISF8 - - name: MISF9 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 9 - bit_size: 1 - enum: C1MISR_MISF9 - - name: MISF10 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 10 - bit_size: 1 - enum: C1MISR_MISF10 - - name: MISF11 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 11 - bit_size: 1 - enum: C1MISR_MISF11 - - name: MISF12 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 12 - bit_size: 1 - enum: C1MISR_MISF12 - - name: MISF13 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 13 - bit_size: 1 - enum: C1MISR_MISF13 - - name: MISF14 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 14 - bit_size: 1 - enum: C1MISR_MISF14 - - name: MISF15 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 15 - bit_size: 1 - enum: C1MISR_MISF15 -fieldset/C2ICR: - description: HSEM Interrupt clear register. - fields: - - name: ISC0 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 0 - bit_size: 1 - enum: C2ICR_ISC0 - - name: ISC1 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 1 - bit_size: 1 - enum: C2ICR_ISC1 - - name: ISC2 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 2 - bit_size: 1 - enum: C2ICR_ISC2 - - name: ISC3 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 3 - bit_size: 1 - enum: C2ICR_ISC3 - - name: ISC4 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 4 - bit_size: 1 - enum: C2ICR_ISC4 - - name: ISC5 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 5 - bit_size: 1 - enum: C2ICR_ISC5 - - name: ISC6 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 6 - bit_size: 1 - enum: C2ICR_ISC6 - - name: ISC7 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 7 - bit_size: 1 - enum: C2ICR_ISC7 - - name: ISC8 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 8 - bit_size: 1 - enum: C2ICR_ISC8 - - name: ISC9 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 9 - bit_size: 1 - enum: C2ICR_ISC9 - - name: ISC10 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 10 - bit_size: 1 - enum: C2ICR_ISC10 - - name: ISC11 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 11 - bit_size: 1 - enum: C2ICR_ISC11 - - name: ISC12 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 12 - bit_size: 1 - enum: C2ICR_ISC12 - - name: ISC13 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 13 - bit_size: 1 - enum: C2ICR_ISC13 - - name: ISC14 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 14 - bit_size: 1 - enum: C2ICR_ISC14 - - name: ISC15 - description: Interrupt(N) semaphore n clear bit. - bit_offset: 15 - bit_size: 1 - enum: C2ICR_ISC15 -fieldset/C2IER: - description: HSEM Interrupt enable register. - fields: - - name: ISE0 - description: Interrupt semaphore n enable bit. - bit_offset: 0 - bit_size: 1 - enum: C2IER_ISE0 - - name: ISE1 - description: Interrupt semaphore n enable bit. - bit_offset: 1 - bit_size: 1 - enum: C2IER_ISE1 - - name: ISE2 - description: Interrupt semaphore n enable bit. - bit_offset: 2 - bit_size: 1 - enum: C2IER_ISE2 - - name: ISE3 - description: Interrupt semaphore n enable bit. - bit_offset: 3 - bit_size: 1 - enum: C2IER_ISE3 - - name: ISE4 - description: Interrupt semaphore n enable bit. - bit_offset: 4 - bit_size: 1 - enum: C2IER_ISE4 - - name: ISE5 - description: Interrupt semaphore n enable bit. - bit_offset: 5 - bit_size: 1 - enum: C2IER_ISE5 - - name: ISE6 - description: Interrupt semaphore n enable bit. - bit_offset: 6 - bit_size: 1 - enum: C2IER_ISE6 - - name: ISE7 - description: Interrupt semaphore n enable bit. - bit_offset: 7 - bit_size: 1 - enum: C2IER_ISE7 - - name: ISE8 - description: Interrupt semaphore n enable bit. - bit_offset: 8 - bit_size: 1 - enum: C2IER_ISE8 - - name: ISE9 - description: Interrupt semaphore n enable bit. - bit_offset: 9 - bit_size: 1 - enum: C2IER_ISE9 - - name: ISE10 - description: Interrupt semaphore n enable bit. - bit_offset: 10 - bit_size: 1 - enum: C2IER_ISE10 - - name: ISE11 - description: Interrupt semaphore n enable bit. - bit_offset: 11 - bit_size: 1 - enum: C2IER_ISE11 - - name: ISE12 - description: Interrupt semaphore n enable bit. - bit_offset: 12 - bit_size: 1 - enum: C2IER_ISE12 - - name: ISE13 - description: Interrupt semaphore n enable bit. - bit_offset: 13 - bit_size: 1 - enum: C2IER_ISE13 - - name: ISE14 - description: Interrupt semaphore n enable bit. - bit_offset: 14 - bit_size: 1 - enum: C2IER_ISE14 - - name: ISE15 - description: Interrupt semaphore n enable bit. - bit_offset: 15 - bit_size: 1 - enum: C2IER_ISE15 -fieldset/C2ISR: - description: HSEM Interrupt status register. - fields: - - name: ISF0 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 0 - bit_size: 1 - enum: C2ISR_ISF0 - - name: ISF1 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 1 - bit_size: 1 - enum: C2ISR_ISF1 - - name: ISF2 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 2 - bit_size: 1 - enum: C2ISR_ISF2 - - name: ISF3 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 3 - bit_size: 1 - enum: C2ISR_ISF3 - - name: ISF4 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 4 - bit_size: 1 - enum: C2ISR_ISF4 - - name: ISF5 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 5 - bit_size: 1 - enum: C2ISR_ISF5 - - name: ISF6 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 6 - bit_size: 1 - enum: C2ISR_ISF6 - - name: ISF7 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 7 - bit_size: 1 - enum: C2ISR_ISF7 - - name: ISF8 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 8 - bit_size: 1 - enum: C2ISR_ISF8 - - name: ISF9 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 9 - bit_size: 1 - enum: C2ISR_ISF9 - - name: ISF10 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 10 - bit_size: 1 - enum: C2ISR_ISF10 - - name: ISF11 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 11 - bit_size: 1 - enum: C2ISR_ISF11 - - name: ISF12 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 12 - bit_size: 1 - enum: C2ISR_ISF12 - - name: ISF13 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 13 - bit_size: 1 - enum: C2ISR_ISF13 - - name: ISF14 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 14 - bit_size: 1 - enum: C2ISR_ISF14 - - name: ISF15 - description: Interrupt(N) semaphore n status bit before enable (mask). - bit_offset: 15 - bit_size: 1 - enum: C2ISR_ISF15 -fieldset/C2MISR: - description: HSEM Masked interrupt status register. - fields: - - name: MISF0 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 0 - bit_size: 1 - enum: C2MISR_MISF0 - - name: MISF1 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 1 - bit_size: 1 - enum: C2MISR_MISF1 - - name: MISF2 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 2 - bit_size: 1 - enum: C2MISR_MISF2 - - name: MISF3 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 3 - bit_size: 1 - enum: C2MISR_MISF3 - - name: MISF4 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 4 - bit_size: 1 - enum: C2MISR_MISF4 - - name: MISF5 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 5 - bit_size: 1 - enum: C2MISR_MISF5 - - name: MISF6 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 6 - bit_size: 1 - enum: C2MISR_MISF6 - - name: MISF7 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 7 - bit_size: 1 - enum: C2MISR_MISF7 - - name: MISF8 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 8 - bit_size: 1 - enum: C2MISR_MISF8 - - name: MISF9 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 9 - bit_size: 1 - enum: C2MISR_MISF9 - - name: MISF10 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 10 - bit_size: 1 - enum: C2MISR_MISF10 - - name: MISF11 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 11 - bit_size: 1 - enum: C2MISR_MISF11 - - name: MISF12 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 12 - bit_size: 1 - enum: C2MISR_MISF12 - - name: MISF13 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 13 - bit_size: 1 - enum: C2MISR_MISF13 - - name: MISF14 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 14 - bit_size: 1 - enum: C2MISR_MISF14 - - name: MISF15 - description: masked interrupt(N) semaphore n status bit after enable (mask). - bit_offset: 15 - bit_size: 1 - enum: C2MISR_MISF15 -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 - 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: COREID. - bit_offset: 8 - bit_size: 4 - - name: LOCK - description: Lock indication. - bit_offset: 31 - bit_size: 1 - enum: RLR_LOCK -enum/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1ICR_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/C1IER_ISE0: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C1IER_ISE1: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C1IER_ISE10: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C1IER_ISE11: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C1IER_ISE12: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C1IER_ISE13: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C1IER_ISE14: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C1IER_ISE15: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C1IER_ISE2: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C1IER_ISE3: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C1IER_ISE4: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C1IER_ISE5: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C1IER_ISE6: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C1IER_ISE7: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C1IER_ISE8: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C1IER_ISE9: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C1ISR_ISF0: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C1ISR_ISF1: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C1ISR_ISF10: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C1ISR_ISF11: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C1ISR_ISF12: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C1ISR_ISF13: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C1ISR_ISF14: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C1ISR_ISF15: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C1ISR_ISF2: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C1ISR_ISF3: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C1ISR_ISF4: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C1ISR_ISF5: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C1ISR_ISF6: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C1ISR_ISF7: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C1ISR_ISF8: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C1ISR_ISF9: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C1MISR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2ICR_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/C2IER_ISE0: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C2IER_ISE1: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C2IER_ISE10: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C2IER_ISE11: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C2IER_ISE12: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C2IER_ISE13: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C2IER_ISE14: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C2IER_ISE15: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C2IER_ISE2: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C2IER_ISE3: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C2IER_ISE4: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C2IER_ISE5: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C2IER_ISE6: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C2IER_ISE7: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C2IER_ISE8: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C2IER_ISE9: - bit_size: 1 - variants: - - name: Disabled - description: Interrupt generation disabled. - value: 0 - - name: Enabled - description: Interrupt generation enabled. - value: 1 -enum/C2ISR_ISF0: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C2ISR_ISF1: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C2ISR_ISF10: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C2ISR_ISF11: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C2ISR_ISF12: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C2ISR_ISF13: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C2ISR_ISF14: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C2ISR_ISF15: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C2ISR_ISF2: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C2ISR_ISF3: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C2ISR_ISF4: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C2ISR_ISF5: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C2ISR_ISF6: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C2ISR_ISF7: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C2ISR_ISF8: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C2ISR_ISF9: - bit_size: 1 - variants: - - name: NotPending - description: No interrupt pending. - value: 0 - - name: Pending - description: Interrupt pending. - value: 1 -enum/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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/C2MISR_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: - - 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 diff --git a/data/registers/hsem_v8.yaml b/data/registers/hsem_v8.yaml deleted file mode 100644 index 3505637..0000000 --- a/data/registers/hsem_v8.yaml +++ /dev/null @@ -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 diff --git a/stm32-data-gen/src/chips.rs b/stm32-data-gen/src/chips.rs index cc45372..12b2464 100644 --- a/stm32-data-gen/src/chips.rs +++ b/stm32-data-gen/src/chips.rs @@ -1,7 +1,6 @@ use std::collections::hash_map::Entry; use std::collections::{HashMap, HashSet}; -use log::info; use stm32_data_serde::chip::core::peripheral::Pin; use super::*; @@ -537,7 +536,13 @@ impl PeriMatcher { (".*:GPIO.*", ("gpio", "v2", "GPIO")), (".*:IPCC:v1_0", ("ipcc", "v1", "IPCC")), ("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")), (r".*:GPDMA\d?:.*", ("gpdma", "v1", "GPDMA")), (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 = 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 From 840e5ec5db6c4b3bc39356beb055ee1e5d0ed8cd Mon Sep 17 00:00:00 2001 From: Michael Zill Date: Mon, 8 Apr 2024 10:12:42 +0200 Subject: [PATCH 7/9] Fixed length COREID in v1, v2 renamed MASTERID to COREID --- data/registers/hsem_v1.yaml | 6 +++--- data/registers/hsem_v2.yaml | 16 ++++++++-------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/data/registers/hsem_v1.yaml b/data/registers/hsem_v1.yaml index 60edfdc..78071df 100644 --- a/data/registers/hsem_v1.yaml +++ b/data/registers/hsem_v1.yaml @@ -66,7 +66,7 @@ fieldset/CR: - name: COREID description: COREID of semaphores to be cleared. bit_offset: 8 - bit_size: 8 + bit_size: 4 - name: KEY description: Semaphore clear Key. bit_offset: 16 @@ -88,7 +88,7 @@ fieldset/R: - name: COREID description: Semaphore COREID. bit_offset: 8 - bit_size: 8 + bit_size: 4 - name: LOCK description: Lock indication. bit_offset: 31 @@ -103,7 +103,7 @@ fieldset/RLR: - name: COREID description: Semaphore COREID. bit_offset: 8 - bit_size: 8 + bit_size: 4 - name: LOCK description: Lock indication. bit_offset: 31 diff --git a/data/registers/hsem_v2.yaml b/data/registers/hsem_v2.yaml index e1d639a..1fcd31a 100644 --- a/data/registers/hsem_v2.yaml +++ b/data/registers/hsem_v2.yaml @@ -46,10 +46,10 @@ 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 + bit_size: 4 - name: KEY description: Semaphore clear Key. bit_offset: 16 @@ -68,10 +68,10 @@ 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 + bit_size: 4 - name: LOCK description: Lock indication. bit_offset: 31 @@ -84,9 +84,9 @@ fieldset/RLR: bit_offset: 0 bit_size: 8 - name: MASTERID - description: Semaphore MasterID. + description: Semaphore COREID. bit_offset: 8 - bit_size: 8 + bit_size: 4 - name: LOCK description: Lock indication. bit_offset: 31 From b782384611fad53b7148757e9ce016acc4c4522f Mon Sep 17 00:00:00 2001 From: Michael Zill Date: Mon, 8 Apr 2024 13:35:01 +0200 Subject: [PATCH 8/9] Arrayfied IER, ICR, ISR and MISR IRQ registers have for all 4 variants the same name. V1 - array size = 2 (2 cores) V2 - array size = 1 (1 core) V3 - array size = 2 (2 cores) V4 - array size = 1 (1 core) HSEM added to GHOST_PERIS --- data/registers/hsem_v1.yaml | 38 ++++++++++++++++--------------------- data/registers/hsem_v2.yaml | 12 ++++++++++++ data/registers/hsem_v3.yaml | 38 ++++++++++++++++--------------------- data/registers/hsem_v4.yaml | 36 +++++++++++++++++++++++------------ stm32-data-gen/src/chips.rs | 1 + 5 files changed, 69 insertions(+), 56 deletions(-) diff --git a/data/registers/hsem_v1.yaml b/data/registers/hsem_v1.yaml index 78071df..0089381 100644 --- a/data/registers/hsem_v1.yaml +++ b/data/registers/hsem_v1.yaml @@ -16,42 +16,36 @@ block/HSEM: byte_offset: 128 access: Read fieldset: RLR - - name: C1IER + - name: IER description: HSEM Interrupt enable register. byte_offset: 256 fieldset: IER - - name: C1ICR + array: + len: 2 + stride: 16 + - name: ICR description: HSEM Interrupt clear register. byte_offset: 260 fieldset: ICR - - name: C1ISR + array: + len: 2 + stride: 16 + - name: ISR description: HSEM Interrupt status register. byte_offset: 264 access: Read fieldset: ISR - - name: C1MISR + array: + len: 2 + stride: 16 + - name: MISR 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 + array: + len: 2 + stride: 16 - name: CR description: HSEM Clear register. byte_offset: 320 diff --git a/data/registers/hsem_v2.yaml b/data/registers/hsem_v2.yaml index 1fcd31a..47b8e19 100644 --- a/data/registers/hsem_v2.yaml +++ b/data/registers/hsem_v2.yaml @@ -20,21 +20,33 @@ block/HSEM: 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 diff --git a/data/registers/hsem_v3.yaml b/data/registers/hsem_v3.yaml index 8410c72..f754a68 100644 --- a/data/registers/hsem_v3.yaml +++ b/data/registers/hsem_v3.yaml @@ -16,42 +16,36 @@ block/HSEM: byte_offset: 128 access: Read fieldset: RLR - - name: C1IER + - name: IER description: HSEM Interrupt enable register. byte_offset: 256 fieldset: IER - - name: C1ICR + array: + len: 2 + stride: 16 + - name: ICR description: HSEM Interrupt clear register. byte_offset: 260 fieldset: ICR - - name: C1ISR + array: + len: 2 + stride: 16 + - name: ISR description: HSEM Interrupt status register. byte_offset: 264 access: Read fieldset: ISR - - name: C1MISR + array: + len: 2 + stride: 16 + - name: MISR 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 + array: + len: 2 + stride: 16 - name: CR description: HSEM Clear register. byte_offset: 320 diff --git a/data/registers/hsem_v4.yaml b/data/registers/hsem_v4.yaml index 31a63de..72b4b59 100644 --- a/data/registers/hsem_v4.yaml +++ b/data/registers/hsem_v4.yaml @@ -16,24 +16,36 @@ block/HSEM: byte_offset: 128 access: Read fieldset: RLR - - name: C1IER + - name: IER description: HSEM Interrupt enable register. byte_offset: 256 - fieldset: C1IER - - name: C1ICR + fieldset: IER + array: + len: 1 + stride: 16 + - name: ICR description: HSEM Interrupt clear register. byte_offset: 260 - fieldset: C1ICR - - name: C1ISR + fieldset: ICR + array: + len: 1 + stride: 16 + - name: ISR description: HSEM Interrupt status register. byte_offset: 264 access: Read - fieldset: C1ISR - - name: C1MISR + fieldset: ISR + array: + len: 1 + stride: 16 + - name: MISR description: HSEM Masked interrupt status register. byte_offset: 268 access: Read - fieldset: C1MISR + fieldset: MISR + array: + len: 1 + stride: 16 - name: CR description: HSEM Clear register. byte_offset: 320 @@ -43,7 +55,7 @@ block/HSEM: description: HSEM Interrupt clear register. byte_offset: 324 fieldset: KEYR -fieldset/C1ICR: +fieldset/ICR: description: HSEM Interrupt clear register. fields: - name: ISC @@ -53,7 +65,7 @@ fieldset/C1ICR: array: len: 16 stride: 1 -fieldset/C1IER: +fieldset/IER: description: HSEM Interrupt enable register. fields: - name: ISE @@ -63,7 +75,7 @@ fieldset/C1IER: array: len: 16 stride: 1 -fieldset/C1ISR: +fieldset/ISR: description: HSEM Interrupt status register. fields: - name: ISF @@ -73,7 +85,7 @@ fieldset/C1ISR: array: len: 16 stride: 1 -fieldset/C1MISR: +fieldset/MISR: description: HSEM Masked interrupt status register. fields: - name: MISF diff --git a/stm32-data-gen/src/chips.rs b/stm32-data-gen/src/chips.rs index 12b2464..6e16c2b 100644 --- a/stm32-data-gen/src/chips.rs +++ b/stm32-data-gen/src/chips.rs @@ -1056,6 +1056,7 @@ fn process_core( "USBRAM", "VREFINTCAL", "UID", + "HSEM", ]; for pname in GHOST_PERIS { if let Entry::Vacant(entry) = peri_kinds.entry(pname.to_string()) { From 604890b9bad2734a79d344dec83504628359061d Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Mon, 8 Apr 2024 12:18:12 +0200 Subject: [PATCH 9/9] hsem: rename more MASTERID->COREID --- data/registers/hsem_v2.yaml | 2 +- data/registers/hsem_v4.yaml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/data/registers/hsem_v2.yaml b/data/registers/hsem_v2.yaml index 47b8e19..3ec588e 100644 --- a/data/registers/hsem_v2.yaml +++ b/data/registers/hsem_v2.yaml @@ -95,7 +95,7 @@ fieldset/RLR: description: Semaphore ProcessID. bit_offset: 0 bit_size: 8 - - name: MASTERID + - name: COREID description: Semaphore COREID. bit_offset: 8 bit_size: 4 diff --git a/data/registers/hsem_v4.yaml b/data/registers/hsem_v4.yaml index 72b4b59..1c0794a 100644 --- a/data/registers/hsem_v4.yaml +++ b/data/registers/hsem_v4.yaml @@ -99,7 +99,7 @@ fieldset/CR: description: HSEM Clear register. fields: - name: COREID - description: MASTERID. + description: COREID. bit_offset: 8 bit_size: 4 - name: KEY @@ -121,7 +121,7 @@ fieldset/R: bit_offset: 0 bit_size: 8 - name: COREID - description: Semaphore MASTERID. + description: Semaphore COREID. bit_offset: 8 bit_size: 4 - name: LOCK @@ -136,7 +136,7 @@ fieldset/RLR: bit_offset: 0 bit_size: 8 - name: COREID - description: Semaphore MASTERID. + description: Semaphore COREID. bit_offset: 8 bit_size: 4 - name: LOCK