SWRU626 December 2025 CC3501E , CC3551E
Table 8-3 lists the memory-mapped registers for the ICACHE registers. All register offset addresses not listed in Table 8-3 should be considered as reserved locations and the register contents should not be modified.
| Offset | Acronym | Register Name | Section |
|---|---|---|---|
| 0h | MOD_VERSION | Module Identifier | Section 8.7.1 |
| 4h | CTRL | Cache Control | Section 8.7.2 |
| 8h | STATUS | Cache Status | Section 8.7.3 |
| 10h | Cache_Address_Low | Cache Start Address | Section 8.7.4 |
| 18h | Cache_Address_High | Cache Address Limit | Section 8.7.5 |
| 20h | Register_Address | RAM Address Register | Section 8.7.6 |
| 40h | HIT_COUNTER | Cache Hit Counter | Section 8.7.7 |
| 44h | MISS_COUNTER | Cache Miss Counter | Section 8.7.8 |
| 80h | IRQ_STATUS_RAW | Interrupt Raw Status | Section 8.7.9 |
| 84h | IRQ_STATUS_MASK | Interrupt Mask Status | Section 8.7.10 |
| 88h | IRQ_ENABLE_SET | Interrupt Set Register | Section 8.7.11 |
| 8Ch | IRQ_ENABLE_CLR | Interrupt Clear Register | Section 8.7.12 |
Complex bit access types are encoded to fit into small table cells. Table 8-4 shows the codes that are used for access types in this section.
| Access Type | Code | Description |
|---|---|---|
| Read Type | ||
| R | R | Read |
| Write Type | ||
| W | W | Write |
| Reset or Default Value | ||
| -n | Value after reset or the default value | |
MOD_VERSION is shown in Table 8-5.
Return to the Summary Table.
The Module and Version Register identifies the module identifier and revision of the icache module.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-30 | SCHEME | R | 1h | Module Scheme |
| 29-28 | BU | R | 2h | Module Business Unit |
| 27-16 | MODULE_ID | R | 880h | Module ID |
| 15-11 | RTL_VERSION | R | 1h | RTL version |
| 10-8 | MAJOR_REVISION | R | 0h | Major Revision |
| 7-6 | CUSTOM_REVISION | R | 0h | Custom Revision |
| 5-0 | MINOR_REVISION | R | 0h | Minor revision |
CTRL is shown in Table 8-6.
Return to the Summary Table.
The control register defines the size of the remote cache data storage memory to use and whether the icache controller is enabled.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31 | mem_CENABLE | R/W | 0h | . |
| 30 | mem_RENABLE | R/W | 0h | . |
| 29-0 | RESERVED | R | 0h | Reserved |
STATUS is shown in Table 8-7.
Return to the Summary Table.
The Status register displays the state of the icache controller.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31 | OK_TO_GO | R | 0h | The ok_to_go status bit indicates the Tag/LRU Ram has been initialized and the cache is in an operable state. |
| 30-0 | RESERVED | R | 0h | Reserved |
Cache_Address_Low is shown in Table 8-8.
Return to the Summary Table.
The Cache Address Low Register defines start of the cacheable space. The icache controller can cache up to a range of 8MB of of the target Flash as defined by CAL gt= CachedRange lt= CAH. This register is write protected when cenable is set.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-12 | mem_addr_low | R/W | 0h | The addr_lo defines the cache low address[31:12] for the icache controller to cache. The remaining bits 10:0 are assumed to be zero |
| 11-0 | RESERVED | R | 0h | Reserved |
Cache_Address_High is shown in Table 8-9.
Return to the Summary Table.
The L1 Cache Address High Register defines end of the L1 cacheable space. The L1 cache can cache up to a range of 8MB of of the target Flash as defined by CAL >= CachedRange <= CAH. This register is write protected when cenable is set.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-12 | mem_addr_high | R/W | 0h | The addr_hi defines the L1 high address[31:12] for the L1 to cache. The remaining bits 10:0 are assumed to be ones. |
| 11-0 | RESERVED | R | 0h | Reserved |
Register_Address is shown in Table 8-10.
Return to the Summary Table.
The RAM Address register defines the upper 17 bits of address for the RAM when renable is set. This register is write protected when renable is set
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-15 | mem_seg_addr | R/W | 0h | The seg_addr defines RAM address[31:15] value for RAM access . |
| 14-0 | RESERVED | R | 0h | Reserved |
HIT_COUNTER is shown in Table 8-11.
Return to the Summary Table.
The HIT Counter register holds the number of cache Hits to the internal cache
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | mem_hit_counter | R/W | 0h | The hit Counts the number of hits to the L1 cache. Writing zero to this register will clear its contents. |
MISS_COUNTER is shown in Table 8-12.
Return to the Summary Table.
The MISS Counter register holds the number of cache misses to the internal cache .
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | mem_miss_counter | R/W | 0h | The miss Counts the number of misses to the L1 cache. Writing zero to this register will clear its contents. |
IRQ_STATUS_RAW is shown in Table 8-13.
Return to the Summary Table.
The Interrupt Raw Status Register holds the raw status of the icache error interrupts .
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-2 | RESERVED | R | 0h | Reserved |
| 1 | WR_HIT | R/W | 0h | The wr_hit bit indicates a write to the cacheable range has occured potentially causing a coherency issue and the L1 is logically disabled while this bit is a '1'. Write 1 to set the wr_hit status for diagnostic purposes. Writing a 0 has no effect. |
| 0 | WR_ERR | R/W | 0h | The wr_err bit indicates a write error has occured to the remote cache data storage memory and the L1 is logically disabled while this bit is a '1'. Write 1 to set the wr_err status for diagnostic purposes. Writing a 0 has no effect. |
IRQ_STATUS_MASK is shown in Table 8-14.
Return to the Summary Table.
The Interrupt Masked Status Register holds the masked status for the icache error interrupts. Writing to this register will EOI the interrupt, that is if another interrupt is pending, a new pulse interrupt will be generated .
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-2 | RESERVED | R | 0h | Reserved |
| 1 | mem_HIT | R/W | 0h | The wr_hit bit indicates a write to the cacheable range has occured potentially causing a coherency issue and the L1 is logically disabled while this bit is a '1'. Write 1 to clear the wr_hit status after interrupt has been serviced (raw status gets cleared, i.e. even if not enabled). Writing a 0 has no effect to this field. |
| 0 | mem_ERR | R/W | 0h | The wr_err bit indicates a write error has occured to the remote cache data storage memory and the L1 is logically disabled while this bit is a '1'. Write 1 to clear the wr_err status after interrupt has been serviced (raw status gets cleared, i.e. even if not enabled). Writing a 0 has no effect to this field. |
IRQ_ENABLE_SET is shown in Table 8-15.
Return to the Summary Table.
The Interrupt Enable Set Register holds the interrupt enable status of the icache error interrupts .
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-2 | RESERVED | R | 0h | Reserved |
| 1 | EN_WR_HIT | R/W | 0h | Interrupt Enable Set for wr_hit error bit. Writing a 1 will enable the interrupt, and set this bit as well as the corresponding Interrupt Enable Clear Register. Writing a 0 has no effect. |
| 0 | EN_WR_ERR | R/W | 0h | Interrupt Enable Set for wr_err error bit. Writing a 1 will enable the interrupt, and set this bit as well as the corresponding Interrupt Enable Clear Register. Writing a 0 has no effect. |
IRQ_ENABLE_CLR is shown in Table 8-16.
Return to the Summary Table.
The Interrupt Enable Clear Register holds the interrupt enable status of the icache error interrupts.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-2 | RESERVED | R | 0h | Reserved |
| 1 | EN_WR_HIT | R/W | 0h | Interrupt Enable Clear for wr_hit error bit. Writing a 1 will disable the interrupt, and clear this bit as well as the corresponding Interrupt Enable Set Register. Writing a 0 has no effect |
| 0 | EN_WR_ERR | R/W | 0h | Interrupt Enable Clear for wr_err error bit. Writing a 1 will disable the interrupt, and clear this bit as well as the corresponding Interrupt Enable Set Register. Writing a 0 has no effect. |