commit
71b1db43df
115
data/registers/icache_v1_0crr.yaml
Normal file
115
data/registers/icache_v1_0crr.yaml
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
block/ICACHE:
|
||||||
|
description: Instruction Cache Control Registers.
|
||||||
|
items:
|
||||||
|
- name: CR
|
||||||
|
description: ICACHE control register.
|
||||||
|
byte_offset: 0
|
||||||
|
fieldset: CR
|
||||||
|
- name: SR
|
||||||
|
description: ICACHE status register.
|
||||||
|
byte_offset: 4
|
||||||
|
access: Read
|
||||||
|
fieldset: SR
|
||||||
|
- name: IER
|
||||||
|
description: ICACHE interrupt enable register.
|
||||||
|
byte_offset: 8
|
||||||
|
fieldset: IER
|
||||||
|
- name: FCR
|
||||||
|
description: ICACHE flag clear register.
|
||||||
|
byte_offset: 12
|
||||||
|
access: Write
|
||||||
|
fieldset: FCR
|
||||||
|
- name: HMONR
|
||||||
|
description: ICACHE hit monitor register.
|
||||||
|
byte_offset: 16
|
||||||
|
access: Read
|
||||||
|
- name: MMONR
|
||||||
|
description: ICACHE miss monitor register.
|
||||||
|
byte_offset: 20
|
||||||
|
access: Read
|
||||||
|
fieldset: MMONR
|
||||||
|
fieldset/CR:
|
||||||
|
description: ICACHE control register.
|
||||||
|
fields:
|
||||||
|
- name: EN
|
||||||
|
description: EN.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 1
|
||||||
|
- name: CACHEINV
|
||||||
|
description: Set by software and cleared by hardware when the BUSYF flag is set (during cache maintenance operation). Writing 0 has no effect.
|
||||||
|
bit_offset: 1
|
||||||
|
bit_size: 1
|
||||||
|
- name: WAYSEL
|
||||||
|
description: This bit allows user to choose ICACHE set-associativity. It can be written by software only when cache is disabled (EN = 0).
|
||||||
|
bit_offset: 2
|
||||||
|
bit_size: 1
|
||||||
|
enum: WAYSEL
|
||||||
|
- name: HITMEN
|
||||||
|
description: Hit monitor enable.
|
||||||
|
bit_offset: 16
|
||||||
|
bit_size: 1
|
||||||
|
- name: MISSMEN
|
||||||
|
description: Miss monitor enable.
|
||||||
|
bit_offset: 17
|
||||||
|
bit_size: 1
|
||||||
|
- name: HITMRST
|
||||||
|
description: Hit monitor reset.
|
||||||
|
bit_offset: 18
|
||||||
|
bit_size: 1
|
||||||
|
- name: MISSMRST
|
||||||
|
description: Miss monitor reset.
|
||||||
|
bit_offset: 19
|
||||||
|
bit_size: 1
|
||||||
|
fieldset/FCR:
|
||||||
|
description: ICACHE flag clear register.
|
||||||
|
fields:
|
||||||
|
- name: CBSYENDF
|
||||||
|
description: Clear busy end flag.
|
||||||
|
bit_offset: 1
|
||||||
|
bit_size: 1
|
||||||
|
- name: CERRF
|
||||||
|
description: Clear ERRF flag in SR.
|
||||||
|
bit_offset: 2
|
||||||
|
bit_size: 1
|
||||||
|
fieldset/IER:
|
||||||
|
description: ICACHE interrupt enable register.
|
||||||
|
fields:
|
||||||
|
- name: BSYENDIE
|
||||||
|
description: Interrupt enable on busy end.
|
||||||
|
bit_offset: 1
|
||||||
|
bit_size: 1
|
||||||
|
- name: ERRIE
|
||||||
|
description: Error interrupt on cache error.
|
||||||
|
bit_offset: 2
|
||||||
|
bit_size: 1
|
||||||
|
fieldset/MMONR:
|
||||||
|
description: ICACHE miss monitor register.
|
||||||
|
fields:
|
||||||
|
- name: MISSMON
|
||||||
|
description: Miss monitor register.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 16
|
||||||
|
fieldset/SR:
|
||||||
|
description: ICACHE status register.
|
||||||
|
fields:
|
||||||
|
- name: BUSYF
|
||||||
|
description: cache busy executing a full invalidate CACHEINV operation.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 1
|
||||||
|
- name: BSYENDF
|
||||||
|
description: full invalidate CACHEINV operation finished.
|
||||||
|
bit_offset: 1
|
||||||
|
bit_size: 1
|
||||||
|
- name: ERRF
|
||||||
|
description: an error occurred during the operation.
|
||||||
|
bit_offset: 2
|
||||||
|
bit_size: 1
|
||||||
|
enum/WAYSEL:
|
||||||
|
bit_size: 1
|
||||||
|
variants:
|
||||||
|
- name: DirectMapped
|
||||||
|
description: direct mapped cache (1-way cache)
|
||||||
|
value: 0
|
||||||
|
- name: NWaySetAssociative
|
||||||
|
description: n-way set associative cache (reset value)
|
||||||
|
value: 1
|
@ -1,10 +1,3 @@
|
|||||||
block/CRR:
|
|
||||||
description: ICACHE region configuration register.
|
|
||||||
items:
|
|
||||||
- name: CRRX
|
|
||||||
description: ICACHE control register.
|
|
||||||
byte_offset: 0
|
|
||||||
fieldset: CRRX
|
|
||||||
block/ICACHE:
|
block/ICACHE:
|
||||||
description: Instruction Cache Control Registers.
|
description: Instruction Cache Control Registers.
|
||||||
items:
|
items:
|
||||||
@ -30,7 +23,6 @@ block/ICACHE:
|
|||||||
description: ICACHE hit monitor register.
|
description: ICACHE hit monitor register.
|
||||||
byte_offset: 16
|
byte_offset: 16
|
||||||
access: Read
|
access: Read
|
||||||
fieldset: HMONR
|
|
||||||
- name: MMONR
|
- name: MMONR
|
||||||
description: ICACHE miss monitor register.
|
description: ICACHE miss monitor register.
|
||||||
byte_offset: 20
|
byte_offset: 20
|
||||||
@ -42,7 +34,7 @@ block/ICACHE:
|
|||||||
len: 3
|
len: 3
|
||||||
stride: 4
|
stride: 4
|
||||||
byte_offset: 32
|
byte_offset: 32
|
||||||
block: CRR
|
fieldset: CRR
|
||||||
fieldset/CR:
|
fieldset/CR:
|
||||||
description: ICACHE control register.
|
description: ICACHE control register.
|
||||||
fields:
|
fields:
|
||||||
@ -54,7 +46,6 @@ fieldset/CR:
|
|||||||
description: Set by software and cleared by hardware when the BUSYF flag is set (during cache maintenance operation). Writing 0 has no effect.
|
description: Set by software and cleared by hardware when the BUSYF flag is set (during cache maintenance operation). Writing 0 has no effect.
|
||||||
bit_offset: 1
|
bit_offset: 1
|
||||||
bit_size: 1
|
bit_size: 1
|
||||||
enum: CACHEINV
|
|
||||||
- name: WAYSEL
|
- name: WAYSEL
|
||||||
description: This bit allows user to choose ICACHE set-associativity. It can be written by software only when cache is disabled (EN = 0).
|
description: This bit allows user to choose ICACHE set-associativity. It can be written by software only when cache is disabled (EN = 0).
|
||||||
bit_offset: 2
|
bit_offset: 2
|
||||||
@ -72,13 +63,11 @@ fieldset/CR:
|
|||||||
description: Hit monitor reset.
|
description: Hit monitor reset.
|
||||||
bit_offset: 18
|
bit_offset: 18
|
||||||
bit_size: 1
|
bit_size: 1
|
||||||
enum: HITMRST
|
|
||||||
- name: MISSMRST
|
- name: MISSMRST
|
||||||
description: Miss monitor reset.
|
description: Miss monitor reset.
|
||||||
bit_offset: 19
|
bit_offset: 19
|
||||||
bit_size: 1
|
bit_size: 1
|
||||||
enum: MISSMRST
|
fieldset/CRR:
|
||||||
fieldset/CRRX:
|
|
||||||
description: ICACHE region configuration register.
|
description: ICACHE region configuration register.
|
||||||
fields:
|
fields:
|
||||||
- name: BASEADDR
|
- name: BASEADDR
|
||||||
@ -119,13 +108,6 @@ fieldset/FCR:
|
|||||||
description: Clear ERRF flag in SR.
|
description: Clear ERRF flag in SR.
|
||||||
bit_offset: 2
|
bit_offset: 2
|
||||||
bit_size: 1
|
bit_size: 1
|
||||||
fieldset/HMONR:
|
|
||||||
description: ICACHE hit monitor register.
|
|
||||||
fields:
|
|
||||||
- name: HITMON
|
|
||||||
description: Hit monitor register.
|
|
||||||
bit_offset: 0
|
|
||||||
bit_size: 32
|
|
||||||
fieldset/IER:
|
fieldset/IER:
|
||||||
description: ICACHE interrupt enable register.
|
description: ICACHE interrupt enable register.
|
||||||
fields:
|
fields:
|
||||||
@ -159,12 +141,6 @@ fieldset/SR:
|
|||||||
description: an error occurred during the operation.
|
description: an error occurred during the operation.
|
||||||
bit_offset: 2
|
bit_offset: 2
|
||||||
bit_size: 1
|
bit_size: 1
|
||||||
enum/CACHEINV:
|
|
||||||
bit_size: 1
|
|
||||||
variants:
|
|
||||||
- name: Invalidate
|
|
||||||
description: Invalidate entire cache
|
|
||||||
value: 1
|
|
||||||
enum/HBURST:
|
enum/HBURST:
|
||||||
bit_size: 1
|
bit_size: 1
|
||||||
variants:
|
variants:
|
||||||
@ -172,18 +148,6 @@ enum/HBURST:
|
|||||||
value: 0
|
value: 0
|
||||||
- name: Increment
|
- name: Increment
|
||||||
value: 1
|
value: 1
|
||||||
enum/HITMRST:
|
|
||||||
bit_size: 1
|
|
||||||
variants:
|
|
||||||
- name: Reset
|
|
||||||
description: Reset cache hit monitor
|
|
||||||
value: 1
|
|
||||||
enum/MISSMRST:
|
|
||||||
bit_size: 1
|
|
||||||
variants:
|
|
||||||
- name: Reset
|
|
||||||
description: Reset cache miss monitor
|
|
||||||
value: 1
|
|
||||||
enum/MSTSEL:
|
enum/MSTSEL:
|
||||||
bit_size: 1
|
bit_size: 1
|
||||||
variants:
|
variants:
|
||||||
@ -194,19 +158,19 @@ enum/MSTSEL:
|
|||||||
enum/RSIZE:
|
enum/RSIZE:
|
||||||
bit_size: 3
|
bit_size: 3
|
||||||
variants:
|
variants:
|
||||||
- name: TwoMegabytes
|
- name: MegaBytes2
|
||||||
value: 1
|
value: 1
|
||||||
- name: FourMegabytes
|
- name: MegaBytes4
|
||||||
value: 2
|
value: 2
|
||||||
- name: EightMegabytes
|
- name: MegaBytes8
|
||||||
value: 3
|
value: 3
|
||||||
- name: SixteenMegabytes
|
- name: MegaBytes16
|
||||||
value: 4
|
value: 4
|
||||||
- name: ThirtyTwoMegabytes
|
- name: MegaBytes32
|
||||||
value: 5
|
value: 5
|
||||||
- name: SixtyFourMegabytes
|
- name: MegaBytes64
|
||||||
value: 6
|
value: 6
|
||||||
- name: OneTwentyEightMegabytes
|
- name: MegaBytes128
|
||||||
value: 7
|
value: 7
|
||||||
enum/WAYSEL:
|
enum/WAYSEL:
|
||||||
bit_size: 1
|
bit_size: 1
|
183
data/registers/icache_v1_4crr.yaml
Normal file
183
data/registers/icache_v1_4crr.yaml
Normal file
@ -0,0 +1,183 @@
|
|||||||
|
block/ICACHE:
|
||||||
|
description: Instruction Cache Control Registers.
|
||||||
|
items:
|
||||||
|
- name: CR
|
||||||
|
description: ICACHE control register.
|
||||||
|
byte_offset: 0
|
||||||
|
fieldset: CR
|
||||||
|
- name: SR
|
||||||
|
description: ICACHE status register.
|
||||||
|
byte_offset: 4
|
||||||
|
access: Read
|
||||||
|
fieldset: SR
|
||||||
|
- name: IER
|
||||||
|
description: ICACHE interrupt enable register.
|
||||||
|
byte_offset: 8
|
||||||
|
fieldset: IER
|
||||||
|
- name: FCR
|
||||||
|
description: ICACHE flag clear register.
|
||||||
|
byte_offset: 12
|
||||||
|
access: Write
|
||||||
|
fieldset: FCR
|
||||||
|
- name: HMONR
|
||||||
|
description: ICACHE hit monitor register.
|
||||||
|
byte_offset: 16
|
||||||
|
access: Read
|
||||||
|
- name: MMONR
|
||||||
|
description: ICACHE miss monitor register.
|
||||||
|
byte_offset: 20
|
||||||
|
access: Read
|
||||||
|
fieldset: MMONR
|
||||||
|
- name: CRR
|
||||||
|
description: Cluster CRR%s, container region configuration registers.
|
||||||
|
array:
|
||||||
|
len: 4
|
||||||
|
stride: 4
|
||||||
|
byte_offset: 32
|
||||||
|
fieldset: CRR
|
||||||
|
fieldset/CR:
|
||||||
|
description: ICACHE control register.
|
||||||
|
fields:
|
||||||
|
- name: EN
|
||||||
|
description: EN.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 1
|
||||||
|
- name: CACHEINV
|
||||||
|
description: Set by software and cleared by hardware when the BUSYF flag is set (during cache maintenance operation). Writing 0 has no effect.
|
||||||
|
bit_offset: 1
|
||||||
|
bit_size: 1
|
||||||
|
- name: WAYSEL
|
||||||
|
description: This bit allows user to choose ICACHE set-associativity. It can be written by software only when cache is disabled (EN = 0).
|
||||||
|
bit_offset: 2
|
||||||
|
bit_size: 1
|
||||||
|
enum: WAYSEL
|
||||||
|
- name: HITMEN
|
||||||
|
description: Hit monitor enable.
|
||||||
|
bit_offset: 16
|
||||||
|
bit_size: 1
|
||||||
|
- name: MISSMEN
|
||||||
|
description: Miss monitor enable.
|
||||||
|
bit_offset: 17
|
||||||
|
bit_size: 1
|
||||||
|
- name: HITMRST
|
||||||
|
description: Hit monitor reset.
|
||||||
|
bit_offset: 18
|
||||||
|
bit_size: 1
|
||||||
|
- name: MISSMRST
|
||||||
|
description: Miss monitor reset.
|
||||||
|
bit_offset: 19
|
||||||
|
bit_size: 1
|
||||||
|
fieldset/CRR:
|
||||||
|
description: ICACHE region configuration register.
|
||||||
|
fields:
|
||||||
|
- name: BASEADDR
|
||||||
|
description: base address for region.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 8
|
||||||
|
- name: RSIZE
|
||||||
|
description: size for region.
|
||||||
|
bit_offset: 9
|
||||||
|
bit_size: 3
|
||||||
|
enum: RSIZE
|
||||||
|
- name: REN
|
||||||
|
description: enable for region.
|
||||||
|
bit_offset: 15
|
||||||
|
bit_size: 1
|
||||||
|
- name: REMAPADDR
|
||||||
|
description: remapped address for region.
|
||||||
|
bit_offset: 16
|
||||||
|
bit_size: 11
|
||||||
|
- name: MSTSEL
|
||||||
|
description: AHB cache master selection for region.
|
||||||
|
bit_offset: 28
|
||||||
|
bit_size: 1
|
||||||
|
enum: MSTSEL
|
||||||
|
- name: HBURST
|
||||||
|
description: output burst type for region.
|
||||||
|
bit_offset: 31
|
||||||
|
bit_size: 1
|
||||||
|
enum: HBURST
|
||||||
|
fieldset/FCR:
|
||||||
|
description: ICACHE flag clear register.
|
||||||
|
fields:
|
||||||
|
- name: CBSYENDF
|
||||||
|
description: Clear busy end flag.
|
||||||
|
bit_offset: 1
|
||||||
|
bit_size: 1
|
||||||
|
- name: CERRF
|
||||||
|
description: Clear ERRF flag in SR.
|
||||||
|
bit_offset: 2
|
||||||
|
bit_size: 1
|
||||||
|
fieldset/IER:
|
||||||
|
description: ICACHE interrupt enable register.
|
||||||
|
fields:
|
||||||
|
- name: BSYENDIE
|
||||||
|
description: Interrupt enable on busy end.
|
||||||
|
bit_offset: 1
|
||||||
|
bit_size: 1
|
||||||
|
- name: ERRIE
|
||||||
|
description: Error interrupt on cache error.
|
||||||
|
bit_offset: 2
|
||||||
|
bit_size: 1
|
||||||
|
fieldset/MMONR:
|
||||||
|
description: ICACHE miss monitor register.
|
||||||
|
fields:
|
||||||
|
- name: MISSMON
|
||||||
|
description: Miss monitor register.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 16
|
||||||
|
fieldset/SR:
|
||||||
|
description: ICACHE status register.
|
||||||
|
fields:
|
||||||
|
- name: BUSYF
|
||||||
|
description: cache busy executing a full invalidate CACHEINV operation.
|
||||||
|
bit_offset: 0
|
||||||
|
bit_size: 1
|
||||||
|
- name: BSYENDF
|
||||||
|
description: full invalidate CACHEINV operation finished.
|
||||||
|
bit_offset: 1
|
||||||
|
bit_size: 1
|
||||||
|
- name: ERRF
|
||||||
|
description: an error occurred during the operation.
|
||||||
|
bit_offset: 2
|
||||||
|
bit_size: 1
|
||||||
|
enum/HBURST:
|
||||||
|
bit_size: 1
|
||||||
|
variants:
|
||||||
|
- name: Wrap
|
||||||
|
value: 0
|
||||||
|
- name: Increment
|
||||||
|
value: 1
|
||||||
|
enum/MSTSEL:
|
||||||
|
bit_size: 1
|
||||||
|
variants:
|
||||||
|
- name: Master1Selected
|
||||||
|
value: 0
|
||||||
|
- name: Master2Selected
|
||||||
|
value: 1
|
||||||
|
enum/RSIZE:
|
||||||
|
bit_size: 3
|
||||||
|
variants:
|
||||||
|
- name: MegaBytes2
|
||||||
|
value: 1
|
||||||
|
- name: MegaBytes4
|
||||||
|
value: 2
|
||||||
|
- name: MegaBytes8
|
||||||
|
value: 3
|
||||||
|
- name: MegaBytes16
|
||||||
|
value: 4
|
||||||
|
- name: MegaBytes32
|
||||||
|
value: 5
|
||||||
|
- name: MegaBytes64
|
||||||
|
value: 6
|
||||||
|
- name: MegaBytes128
|
||||||
|
value: 7
|
||||||
|
enum/WAYSEL:
|
||||||
|
bit_size: 1
|
||||||
|
variants:
|
||||||
|
- name: DirectMapped
|
||||||
|
description: direct mapped cache (1-way cache)
|
||||||
|
value: 0
|
||||||
|
- name: NWaySetAssociative
|
||||||
|
description: n-way set associative cache (reset value)
|
||||||
|
value: 1
|
@ -580,7 +580,9 @@ impl PeriMatcher {
|
|||||||
),
|
),
|
||||||
("STM32L4.*:GFXMMU:.*", ("gfxmmu", "v1", "GFXMMU")),
|
("STM32L4.*:GFXMMU:.*", ("gfxmmu", "v1", "GFXMMU")),
|
||||||
("STM32U5.*:GFXMMU:.*", ("gfxmmu", "v2", "GFXMMU")),
|
("STM32U5.*:GFXMMU:.*", ("gfxmmu", "v2", "GFXMMU")),
|
||||||
("STM32U5.*:ICACHE:.*", ("icache", "v1", "ICACHE")),
|
("STM32U5.*:ICACHE:.*", ("icache", "v1_3crr", "ICACHE")),
|
||||||
|
("STM32H50.*:ICACHE:.*", ("icache", "v1_0crr", "ICACHE")),
|
||||||
|
("STM32(L5|H5[67]|WBA).*:ICACHE:.*", ("icache", "v1_4crr", "ICACHE")),
|
||||||
(".*:CORDIC:.*", ("cordic", "v1", "CORDIC")),
|
(".*:CORDIC:.*", ("cordic", "v1", "CORDIC")),
|
||||||
("STM32F0x[128].*:TSC:.*", ("tsc", "v1", "TSC")),
|
("STM32F0x[128].*:TSC:.*", ("tsc", "v1", "TSC")),
|
||||||
("STM32F3[07][123].*:TSC:.*", ("tsc", "v1", "TSC")),
|
("STM32F3[07][123].*:TSC:.*", ("tsc", "v1", "TSC")),
|
||||||
|
16
transforms/ICACHE.yaml
Normal file
16
transforms/ICACHE.yaml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
transforms:
|
||||||
|
|
||||||
|
- !DeleteEnums
|
||||||
|
from: ^(CACHEINV|HITMRST|MISSMRST)$
|
||||||
|
|
||||||
|
- !DeleteFieldsets
|
||||||
|
from: HMONR
|
||||||
|
|
||||||
|
- !MergeFieldsets
|
||||||
|
from: CRR\d
|
||||||
|
to: CRR
|
||||||
|
|
||||||
|
- !MakeRegisterArray
|
||||||
|
blocks: ICACHE
|
||||||
|
from: CRR\d
|
||||||
|
to: CRR
|
Loading…
x
Reference in New Issue
Block a user