Offset | Register Name | Access | Format | Description |
---|---|---|---|---|
0x1_C000 | Command | R/W | COMMAND | Command register |
0x1_C008 | StatEn | W | STATEN | Statistics Enable |
0x1_C010 | CMONonSecClean | W | CMOADDR | CMO - NonSecure Clean |
0x1_C018 | CMONonSecFlush | W | CMOADDR | CMO - NonSecure Flush |
0x1_C020 | Version0 | R | VERSION0 | Version Register 0, Basic |
0x1_C024 | Version1 | R | VERSION1 | Version Register 1, Extended |
0x1_C030 | DVMNonSecFirst | W | DVMDATA | DVM - NonSecure First Beat |
0x1_C038 | DVMNonSecSecond | W | DVMDATA | DVM - NonSecure Second Beat |
0x1_C040 | CMONonSecMem | W | CMOADDR | Barrier - NonSecure Memory |
0x1_C048 | CMONonSecSynch | W | CMOADDR | Barrier - NonSecure Synchronization |
0x1_C050 | CMOSecClean | W | CMOADDR | CMO - Secure Clean |
0x1_C058 | CMOSecFlush | W | CMOADDR | CMO - Secure Flush |
0x1_C060 | DVMSecFirst | W | DVMDATA | DVM - Secure First Beat |
0x1_C068 | DVMSecSecond | W | DVMDATA | DVM - Secure Second Beat |
0x1_C070 | CMOBarSecmem | W | CMOADDR | Barrier - Secure Memory |
0x1_C078 | CMOBarSecSynch | W | CMOADDR | Barrier - Secure Synchronization |
0x1_C080 | CMOSecCleanSh | W | CMOADDR | CMO - Secure CleanShared |
0x1_C088 | CMONonSecClnSh | W | CMOADDR | CMO - NonSecure CleanShared |
0x1_C090 | Reserved | W | CMOADDR | Reserved |
0x1_C098 | Reserved | W | CMOADDR | Reserved |
0x1_C0C0 | IRQStatus | R/W | IRQ | Interrupt Status |
0x1_C0C8 | IRQEnable | R/W | IRQ | Interrupt Enable |
0x1_C0D0 | IRQPending | R | IRQ | Interrupt Pending |
0x1_C0E0 | IntegCmd | R/W | INTEGCMD | Integrity Config - Scrub/Inject Command |
0x1_C0E8 | IntegInjectCfg | W | INTEGINJECTCFG | Integrity Config - Inject Configuration |
0x1_C0F0 | IntegScrub | R/W | INTEGSCRUB | Integrity Config - Scrub Timer |
0x1_C100 | IntegTagOnOff | R/W | INTEGONOFF | Integrity Status - Tag Integrity On/Off |
0x1_C104 | IntegTagStatus | R/W | INTEGSTATUS | Integrity Status - Tag Integrity Status |
0x1_C108 | IntegTagCECnt | R/W | INTEGERRCNT | Integrity Status - Tag CE Count |
0x1_C10C | IntegTagUECnt | R/W | INTEGERRCNT | Integrity Status - Tag UE Count |
0x1_C110 | IntegTagCEFFA | R | INTEGFIRSTFAIL | Integrity Status - Tag CE First Failing Address |
0x1_C118 | IntegTagUEFFA | R | INTEGFIRSTFAIL | Integrity Status - Tag UE First Failing Address |
0x1_C120 | IntegDataOnOff | R/W | INTEGONOFF | Integrity Status - Data Integrity On/Off |
0x1_C124 | IntegDataStatus | R/W | INTEGSTATUS | Integrity Status - Data Integrity Status |
0x1_C12C | IntegDataUECnt | R/W | INTEGERRCNT | Integrity Status - Data UE Count |
0x1_C138 | IntegDataFFA | R | INTEGFIRSTFAIL | Integrity Status - Data UE First Failing Address |
0x1_C140 | IntegATCOnOff | R/W | INTEGONOFF | Integrity Status - ATC Integrity On/Off |
0x1_C144 | IntegATCStatus | R/W | INTEGSTATUS | Integrity Status - ATC Integrity Status |
0x1_C148 | IntegATCCECnt | R/W | INTEGERRCNT | Integrity Status - ATC CE Count |
0x1_C150 | IntegATCFFA | R | INTEGFIRSTFAIL | Integrity Status - ATC CE First Failing Address |
COMMAND Register
Bits | Name | Reset Value | Access | Description |
---|---|---|---|---|
63:18 | Reserved | |||
17 | AtomSnpMe | - | W | Atomic SnpMe Attribute is set regardless of transaction and state evaluation. CCIX/CHI specific. |
16 | AlwaysTryWrite | - | W | AlwaysTryWrite, always try to push data downstream to the memory (try using WriteEvictFull). CCIX specific. |
15 | FCWriteClean | - | W | Full Cache WriteClean class (remove dirty data using WriteCleanFull). Dirty lines always goes to SC state. CCIX/CHI specific. |
14 | CacheCMOStatus | - | W | Cache Maintenance Operations or initalization status (set while initialization or full cache is being invalidated) |
13 | StatReset | - | W | Statistics Reset |
12 | CleanInvalid | 0 | R/W | Soft CleanInvalid seen as initialization. CCIX/CHI specific. |
11 | MakeInvalid | 0 | R/W | Soft MakeInvalid seen as initialization. CCIX/CHI specific. |
10 | FCCleanInvalid | - | W | Full Cache CleanInvalid class, dirty data is written. CCIX/CHI specific. |
9 | FCMakeInvalid | - | W | Full Cache MakeInvalid class. CCIX/CHI specific. |
8 | Reserved | |||
7:5 | CMOMemAttr | - | W | Cache Maintenance Operations (CMO) Memory Attributes. CCIX specific. |
4 | CtrlRst | - | W | Soft Control Register Reset |
3 | ATSRst | - | W | Soft ATS Reset |
2 | BERst | - | W | Soft Back End (BE) Reset |
1 | CCRst | - | W | Soft Cache Core (CC) Reset |
0 | FERst | - | W | Soft Front End (FE) Reset |
Statistics Enable Register, STATEN
Bits | Name | Reset Value | Access | Description |
---|---|---|---|---|
63:1 | Reserved | |||
0 | Enable | - | W | Statistics Enable |
CMO -Address Register, CMOADDR
Register used for Cache Maintenance Commands. Before a CMO operation is issued, the traffic should be quiesced to avoid conflicts, thus the core CCIX/CHI traffic will be in idle when the CMO operation is performed.Bits | Name | Reset Value | Access | Description |
---|---|---|---|---|
63:0 | - | W | Cache Maintenance Operations (CMO) Address |
Version Register 0, VERSION0
Bits | Name | Reset Value | Access | Description |
---|---|---|---|---|
63:62 | Reserved | |||
61 | Reserved | |||
60:59 | Reserved | |||
58 | Reserved | |||
57 | Reserved | |||
56 | EnInterrupt | C_ENABLE_INTERRUPT | R | Enable Interrupt |
55 | Reserved | |||
54:53 | Reserved | |||
52:51 | EnATS | C_ENABLE_ADDRESS_TRANSLATION | R | Enable Address Translation |
50:49 | Reserved | |||
48:47 | EnCCIX | C_ENABLE_CCIX_PROTOCOL | R | Enable CCIX protocol |
46:45 | EnACE | C_ENABLE_ACE_PROTOCOL | R | Enable ACE protocol |
44:42 | Reserved | |||
41:39 | Reserved | |||
38:36 | NoOfMasters | C_NUM_MASTER_PORTS | R | Number of Masters |
35:34 | EnNonSecure | C_ENABLE_NON_SECURE | R | Enable Security Handling |
33:32 | EnErr | C_ENABLE_ERROR_HANDLING | R | Enable Error Handling |
31:30 | EnVersion | C_ENABLE_VERSION_REGISTER | R |
Version registers available: 0 - Basic register set, only this register 1 - Full register set, this and register1, see Version Register 1 Bit Field Definition. 2 and 3 are reserved |
29:25 | NoOfGenPort | C_NUM_GENERIC_PORTS | R |
Generic Number of generic port implemented: 0 - All disabled 1 to 16 - Number of ports implemented 17 to 31 are reserved |
24:20 | NoOfOptPort | C_NUM_OPTIMIZED_PORTS | R |
Number of optimized port implemented: 0 - All disabled 1 to 16- Number of ports implemented 17 to 31 are reserved |
19:18 | InExcl | C_ENABLE_EXCLUSIVE | R |
Internal Exclusive monitor implementation: 0 - Disabled 1 - Enabled 2 to 3 are reserved |
17:16 | EnCoher | C_ENABLE_COHERENCY | R |
Cache coherency implementation: 0 - Disabled 1 - Optimized port cache coherency 2 - Master port cache coherency 3 - reserved |
15:8 | EnStat | C_ENABLE_STATISTICS | R |
Enabled statistics block, binary encoded with multiple selected simultaneously: xxxx_xxx1 - Optimized ports xxxx_xx1x - Generic port xxxx_x1xx - Arbiter xxxx_1xxx - Access xxx1_xxxx - Lookup xx1x_xxxx - Update x1xx_xxxx - Backend 1xxx_xxxx - ATC |
7:0 | Version | 15 | R |
Core Version: 0 - System Cache version 2.00a 1 - System Cache version 3.0 2 - System Cache version 2.00b 3 - System Cache version 3.1 4 - System Cache version 4.0 5-7 - Reserved 8 - System Cache version 5.0 9 - System Cache version 5.0.1 10 - System Cache version 5.0.2 11 - System Cache version 5.0.3 12 - System Cache version 5.0.4 13 - System Cache version 5.0.5 14 - System Cache version 5.0.6 15 - System Cache version 5.0.7 16-255 Reserved |
Version Register 1, VERSION1
Bits | Name | Reset Value | Access | Description |
---|---|---|---|---|
63:56 | Reserved | |||
55:53 | Reserved | |||
52 | Reserved | |||
51:40 | Freq | C_FREQ/1000000 | R | Frequency in MHz |
39:38 | Reserved | |||
37:36 | Reserved | |||
35:30 | Reserved | |||
29 | Reserved | |||
28:26 | Reserved | |||
25:23 | Reserved | |||
22:19 | LxCacheLineLen | Log2(C_Lx_CACHE_LINE_LENGTH/4) | R | Cache line length of connected masters on the optimized port, see Cache Line Length Definitions below. |
18:15 | LxCacheSize | Log2(C_Lx_CACHE_SIZE/64) | R | Cache size of connected masters on the optimized port, see Cache Size below. |
14:11 | CacheLineLen | Log2(C_CACHE_LINE_LENGTH/4) | R | Internal cache line length, see Cache Line Length Definitions below. |
10:6 | CacheSize | Log2(C_CACHE_SIZE/64) | R | Internal cache size, see Cache Size below. |
5:3 | CacheDWidth | Log2(C_CACHE_DATA_WIDTH/2) | R | Internal cache data width: 0 - 8-bit data interface and path 1 - 16-bit data interface and path 2 - 32-bit data interface and path 3 - 64-bit data interface and path 4 - 128-bit data interface and path 5 - 256-bit data interface and path 6 - 512-bit data interface and path 7 - 1024-bit data interface and path |
2:0 | Ways | Log2(C_NUM_WAYS/2) | R |
Number of associative sets: 0 = 2-way set associative 1 = 4-way set associative 2 to 7 = Reserved |
Value | Description | Value | Description |
---|---|---|---|
0 | 64 byte cache size | 9 | 32K byte cache size |
1 | 128 byte cache size | 10 | 64K byte cache size |
2 | 256 byte cache size | 11 | 128K byte cache size |
3 | 512 byte cache size | 12 | 256K byte cache size |
4 | 1K byte cache size | 13 | 512K byte cache size |
5 | 2K byte cache size | 14 | 1M byte cache size |
6 | 4K byte cache size | 15 | 2M byte cache size |
7 | 8K byte cache size | 16 | 4M byte cache size |
8 | 16K byte cache size | 17 - 31 | Reserved |
Value | Description | Value | Description |
---|---|---|---|
0 | 4 word cache line | 5 | 128 word cache line |
1 | 8 word cache line | 6 | 256 word cache line |
2 | 16 word cache line | 7 | 512 word cache line |
3 | 32 word cache line | 8 | 1024 word cache line |
4 | 64 word cache line | 9 - 15 | Reserved |
DVM Data Register, DVMDATA
Distributed Virtual Memory (DVM) messages are only available with Master ACE Coherency. Any arbitrary DVM message, single or two part, can be insert with the DVM register functionality. The format is described in the AMBA AXI and ACE Protocol Specification in the "Distributed Virtual Memory Transactions" chapter.
The insertion is triggered by writing to DVMNonSecFirst or DVMSecFirst, i.e. for a two part message it is required that the second part is written before the first to make sure it is available when message generation is triggered by writing the first part.
Bits | Name | Reset Value | Access | Description |
---|---|---|---|---|
n-1:0 | "Various" | W | Encoding depends on DVM message, see AMBA AXI and ACE Protocol Specification |
IRQ Status Register
Bits | Name | Reset Value | Access | Description |
---|---|---|---|---|
63:60 | Reserved | |||
59:56 | R/W | SAM S3 to S0 interrupt status. Write 1 to
acknowledge an interrupt. 56 - S0, SAM no match 59:57 - S3 to S1, Reserved |
||
55:51 | Reserved | |||
50:32 | Backend | 0 | R/W | Backend B18 to B0 interrupt status. Write 1 to
acknowledge an interrupt. 37:32 - B5 to B0, Reserved 38 - B6, Comp/CompData with DatErr/NonDatErr (HA response tagged with Data or Non-Data Error) 50:39 - B18 to B7, Reserved |
31:23 | Reserved | |||
22:16 | Core | 0 | R/W | Core C6 to C0 interrupt status. Write 1 to
acknowledge an interrupt. 16 - C0, Tag CE 17 - C1, Tag UE 18 - C2, Data Miss Clean/Dirty CE 19 - C3, Data Hit Clean/Dirty CE 20 - C4, Data Miss Clean/Dirty UE 21 - C5, Data Hit Clean UE 22 - C6, Data Hit Dirty UE |
15 | Reserved | |||
14:8 | Translation | 0 | R/W | Translation T6 - T0 interrupt status. Write 1 to
acknowledge an interrupt. 13:8 - T5 to T0, Reserved 14 - T6, ATS Table Address, Page, PASID CE |
7:1 | Reserved | |||
0 | Frontend | 0 | R/W | Frontend F0 interrupt status. Write 1 to
acknowledge an interrupt. 0 - F0, Reserved |
IRQ Enable Register
Bits | Name | Reset Value | Access | Description |
---|---|---|---|---|
63:0 | IRQ Enable | 0 | R/W | Enable interrupts. All bit positions are mapped to the corresponding positions in the IRQ Status Register. |
IRQ Pending Register
Bits | Name | Reset Value | Access | Description |
---|---|---|---|---|
63:0 | IRQ Pending | R | Pending interrupts. All bit positions are mapped to the corresponding positions in the IRQ Status Register. |
Integrity Config Scrub/Inject Command Register, INTEGCMD
Bits | Name | Reset Value | Access | Description |
---|---|---|---|---|
31 | InjectCache | 0 | R/W | Inject Pending Cache Fault pattern |
30 | ScrubATC | 0 | R/W | Scrub ATC |
29 | InjectATC | 0 | R/W | Inject Pending ATC Fault |
28:16 | Reserved | |||
15:0 | RAMIndex | 0 | R/W | Scrub/Inject RAM Index |
Integrity Config Inject Configuration Register, INTEGINJECTCFG
Bits | Name | Reset Value | Access | Description |
---|---|---|---|---|
31 | ClearInj | - | W | Clear Inject Fault pattern |
30:24 | Reserved | |||
23 | InjFaultType | - | W | Inject Fault Type: 0 - Information bit (actual data or tag contents) 1 - Integrity (actual extra bits for ECC or parity) |
22:20 | InjGrp | - | W | Inject Group 0 - Tag 1 - Data 2 - ATC 3-7 - Reserved |
19:16 | InjWayPos | - | W | Inject Way Position (number of Way in Set) |
15:10 | InjBlkPos | - | W | Inject Block Position (block position within cache line) |
9:0 | InjBitPos | - | W | Inject Bit Position (bit position within a block) |
Integrity Config Scrub Timer Register, INTEGSCRUB
Bits | Name | Reset Value | Access | Description |
---|---|---|---|---|
31 | ScrubOnOff | 1 | R/W | Scrubbing: 0 - Off 1 - On |
30:20 | Reserved | |||
19:0 | ScrubCntVal | 0XFFFFF | R/W | Scrubbing Event Counter Value (Number of clock cycles until scrubbing next RAM Index) |
Integrity On/Off Register, INTEGONOFF
Bits | Name | Reset Value | Access | Description |
---|---|---|---|---|
31:1 | Reserved | |||
0 | IntegOnOff | 1 | R/W | Integrity: 0 - Off 1 - On |
Integrity Status Register, INTEGSTATUS
Bits | Name | Reset Value | Access | Description |
---|---|---|---|---|
31:2 | Reserved | |||
1 | CE | 0 | R/W | Correctable Error Status |
0 | UE | 0 | R/W | Uncorrectable Error Status |
Integrity Error Count Register, INTEGERRCNT
Bits | Name | Reset Value | Access | Description: |
---|---|---|---|---|
31:16 | Reserved | |||
15:0 | ErrCnt | 0 | R/W | Error Count, either correctable or uncorrectable depending on type |
Integrity First Fail Register, INTEGFIRSTFAIL
Bits | Name | Reset Value | Access | Description |
---|---|---|---|---|
63:0 | FFA | 0 | First Failing Address, physical address or ATC table entry |