SWRU626 December 2025 CC3501E , CC3551E
Table 3-504 lists the memory-mapped registers for the SCB registers. All register offset addresses not listed in Table 3-504 should be considered as reserved locations and the register contents should not be modified.
| Offset | Acronym | Register Name | Section |
|---|---|---|---|
| 0h | REVIDR | Provides implementation-specific minor revision information | Section 3.9.13.1 |
| 4h | CPUID | Provides identification information for the PE, including an implementer code for the device and a device ID number | Section 3.9.13.2 |
| 8h | ICSR | Controls and provides status information for NMI, PendSV, SysTick and interrupts | Section 3.9.13.3 |
| Ch | VTOR | Indicates the offset of the vector table base address from memory address 0x00000000 | Section 3.9.13.4 |
| 10h | AIRCR | This register is used to determine data endianness, clear all active state information for debug or to recover from a hard failure, execute a system reset, alter the priority grouping position (binary point). | Section 3.9.13.5 |
| 14h | SCR | This register is used for power-management functions, i.e., signaling to the system when the processor can enter a low power state, controlling how the processor enters and exits low power states. | Section 3.9.13.6 |
| 18h | CCR | Sets or returns configuration and control data | Section 3.9.13.7 |
| 1Ch | SHPR1 | Sets or returns priority for system handlers 4 - 7 | Section 3.9.13.8 |
| 20h | SHPR2 | Sets or returns priority for system handlers 8 - 11 | Section 3.9.13.9 |
| 24h | SHPR3 | Sets or returns priority for system handlers 12 - 15 | Section 3.9.13.10 |
| 28h | SHCSR | Provides access to the active and pending status of system exceptions | Section 3.9.13.11 |
| 2Ch | CFSR | Contains the three Configurable Fault Status Registers | Section 3.9.13.12 |
| 30h | HFSR | Shows the cause of any HardFaults | Section 3.9.13.13 |
| 34h | DFSR | Shows which debug event occurred | Section 3.9.13.14 |
| 38h | MMFAR | Shows the address of the memory location that caused an MPU fault | Section 3.9.13.15 |
| 3Ch | BFAR | Shows the address associated with a precise data access BusFault | Section 3.9.13.16 |
| 40h | AFSR | This register is used to determine additional system fault information to software. Single-cycle high level on an auxiliary faults is latched as one. The bit can only be cleared by writing a one to the corresponding bit. Auxiliary fault inputs to the **CPU** are tied to 0. | Section 3.9.13.17 |
| 44h | ID_PFR0 | Gives top-level information about the instruction set supported by the PE | Section 3.9.13.18 |
| 48h | ID_PFR1 | Gives information about the programmers' model and Extensions support | Section 3.9.13.19 |
| 4Ch | ID_DFR0 | Provides top level information about the debug system | Section 3.9.13.20 |
| 50h | ID_AFR0 | Provides information about the IMPLEMENTATION DEFINED features of the PE | Section 3.9.13.21 |
| 54h | ID_MMFR0 | Provides information about the implemented memory model and memory management support | Section 3.9.13.22 |
| 58h | ID_MMFR1 | Provides information about the implemented memory model and memory management support | Section 3.9.13.23 |
| 5Ch | ID_MMFR2 | Provides information about the implemented memory model and memory management support | Section 3.9.13.24 |
| 60h | ID_MMFR3 | Provides information about the implemented memory model and memory management support | Section 3.9.13.25 |
| 64h | ID_ISAR0 | Provides information about the instruction set implemented by the PE | Section 3.9.13.26 |
| 68h | ID_ISAR1 | Provides information about the instruction set implemented by the PE | Section 3.9.13.27 |
| 6Ch | ID_ISAR2 | Provides information about the instruction set implemented by the PE | Section 3.9.13.28 |
| 70h | ID_ISAR3 | Provides information about the instruction set implemented by the PE | Section 3.9.13.29 |
| 74h | ID_ISAR4 | Provides information about the instruction set implemented by the PE | Section 3.9.13.30 |
| 78h | ID_ISAR5 | Provides information about the instruction set implemented by the PE | Section 3.9.13.31 |
| 7Ch | CLIDR | Identifies the type of caches implemented and the level of coherency and unification | Section 3.9.13.32 |
| 80h | CTR | The CTR provides information about the architecture of the currently selected cache | Section 3.9.13.33 |
| 84h | CCSIDR | Provides information about the architecture of the caches. CCSIDR is RES0 if CLIDR is zero. | Section 3.9.13.34 |
| 88h | CSSELR | Selects the current Cache Size ID Register, CCSIDR, by specifying the required cache level and the cache | Section 3.9.13.35 |
| 8Ch | CPACR | Specifies the access privileges for coprocessors and the FP Extension | Section 3.9.13.36 |
| 90h | NSACR | Defines the Non-secure access permissions for both the FP Extension and coprocessors CP0 to CP7 | Section 3.9.13.37 |
Complex bit access types are encoded to fit into small table cells. Table 3-505 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 | |
REVIDR is shown in Table 3-506.
Return to the Summary Table.
Provides implementation-specific minor revision information
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | IMPLEMENTAION_DEFINED | R | 411FD210h | The contents of this field are IMPLEMENTATION DEFINED |
CPUID is shown in Table 3-507.
Return to the Summary Table.
Provides identification information for the PE, including an implementer code for the device and a device ID number
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-24 | Implementer | R | 41h | This field must hold an implementer code that has been assigned by ARM |
| 23-20 | Variant | R | 1h | IMPLEMENTATION DEFINED variant number. Typically, this field is used to distinguish between different product variants, or major revisions of a product |
| 19-16 | Architecture | R | Fh | Defines the Architecture implemented by the PE |
| 15-4 | PartNo | R | D21h | IMPLEMENTATION DEFINED primary part number for the device |
| 3-0 | Revision | R | 0h | IMPLEMENTATION DEFINED revision number for the device |
ICSR is shown in Table 3-508.
Return to the Summary Table.
Controls and provides status information for NMI, PendSV, SysTick and interrupts
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31 | PENDNMISET | R | 0h | Indicates whether the NMI exception is pending |
| 30 | PENDNMICLR | W | 0h | Allows the NMI exception pend state to be cleared |
| 29 | RES0 | R | 0h | Reserved, RES0 |
| 28 | PENDSVSET | R | 0h | Indicates whether the PendSV `FTSSS exception is pending |
| 27 | PENDSVCLR | W | 0h | Allows the PendSV exception pend state to be cleared `FTSSS |
| 26 | PENDSTSET | R | 0h | Indicates whether the SysTick `FTSSS exception is pending |
| 25 | PENDSTCLR | W | 0h | Allows the SysTick exception pend state to be cleared `FTSSS |
| 24 | STTNS | R/W | 0h | Controls whether in a single SysTick implementation, the SysTick is Secure or Non-secure |
| 23 | ISRPREEMPT | R | 0h | Indicates whether a pending exception will be serviced on exit from debug halt state |
| 22 | ISRPENDING | R | 0h | Indicates whether an external interrupt, generated by the NVIC, is pending |
| 21 | RES0_1 | R | 0h | Reserved, RES0 |
| 20-12 | VECTPENDING | R | 0h | The exception number of the highest priority pending and enabled interrupt |
| 11 | RETTOBASE | R | 0h | In Handler mode, indicates whether there is more than one active exception |
| 10-9 | RES0_2 | R | 0h | Reserved, RES0 |
| 8-0 | VECTACTIVE | R | 0h | The exception number of the current executing exception |
VTOR is shown in Table 3-509.
Return to the Summary Table.
Indicates the offset of the vector table base address from memory address 0x00000000
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-7 | TBLOFF | R | 00823FA4h | Bits 31 down to 7 of the vector table base offset. |
| 6-0 | RES0 | R | 10h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
AIRCR is shown in Table 3-510.
Return to the Summary Table.
This register is used to determine data endianness, clear all active state information for debug or to recover from a hard failure, execute a system reset, alter the priority grouping position (binary point).
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | VECTKEY | R/W | FA05h | Register key. Writing to this register (AIRCR) requires 0x05FA in VECTKEY. Otherwise the write value is ignored. Read always returns 0xFA05. |
| 15 | ENDIANESS | R | 0h | Data endianness bit 0 Little-endian. 1 Big-endian. |
| 14 | PRIS | R | 0h | Prioritize Secure exceptions. The value of this bit defines whether Secure exception priority boosting is enabled. |
| 13 | BFHFNMINS | R/W | 0h | BusFault, HardFault, and NMI Non-secure enable. The value of this bit defines whether BusFault and NMI exceptions are Non-secure, and whether exceptions target the Non-secure HardFault exception 0x0 BusFault, HardFault, and NMI are Secure. 0x1 BusFault and NMI are Non-secure and exceptions can target Non-secure HardFault. |
| 12-11 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 10-8 | PRIGROUP | R/W | 0h | Interrupt priority grouping field. This field determines the split of group priority from subpriority |
| 7-4 | RES4 | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 3 | SYSRESETREQS | R/W | 0h | System reset request Secure only. The value of this bit defines whether the SYSRESETREQ bit is functional for Non-secure use |
| 2 | SYSRESETREQ | W | 0h | System reset request. This bit allows software or a debugger to request a system reset: 0 Do not request a system reset. 1 Request a system reset. This bit is not banked between Security states. |
| 1 | VECTCLRACTIVE | W | 0h | Reserved for Debug use. This bit reads as 0. When writing to the register you must write 0 to this bit, otherwise behavior is UNPREDICTABLE. |
| 1 | RESERVED | R | 0h | Reserved |
| 0 | RES0 | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
SCR is shown in Table 3-511.
Return to the Summary Table.
This register is used for power-management functions, i.e., signaling to the system when the processor can enter a low power state, controlling how the processor enters and exits low power states.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-5 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
| 4 | SEVONPEND | R/W | 0h | Send Event on Pending bit: 0 Only enabled interrupts or events can wakeup the processor, disabled interrupts are excluded. 1 Enabled events and all interrupts, including disabled interrupts, can wakeup the processor. When an event or interrupt enters pending state, the event signal wakes up the processor from WFE. If the processor is not waiting for an event, the event is registered and affects the next WFE. The processor also wakes up on execution of an SEV instruction or an external event. This bit is banked between Security states. |
| 3 | SLEEPDEEPS | R/W | 0h | Controls whether the SLEEPDEEP bit is only accessible from the Secure state: 0 The SLEEPDEEP bit accessible from both Security states. 1 The SLEEPDEEP bit behaves as RAZ/WI when accessed from the Non-secure state. This bit in only accessible from the Secure state, and behaves as RAZ/WI when accessed from the Nonsecure state. This bit is not banked between Security states. |
| 2 | SLEEPDEEP | R/W | 0h | Controls whether the processor uses sleep or deep sleep as its low power mode. 0 Sleep. 1 Deep sleep. This bit is not banked between Security states. |
| 1 | SLEEPONEXIT | R/W | 0h | Indicates sleep-on-exit when returning from Handler mode to Thread mode: 0 Do not sleep when returning to Thread mode. 1 Enter sleep, or deep sleep, on return from an ISR. Setting this bit to 1 enables an interrupt driven application to avoid returning to an empty main application. This bit is banked between Security states. |
| 0 | RESERVED | R | 0h | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. |
CCR is shown in Table 3-512.
Return to the Summary Table.
Sets or returns configuration and control data
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-19 | RES0 | R | 0h | Reserved, RES0 |
| 18 | BP | R | 0h | Enables program flow prediction `FTSSS |
| 17 | IC | R | 0h | This is a global enable bit for instruction caches in the selected Security state |
| 16 | DC | R | 0h | Enables data caching of all data accesses to Normal memory `FTSSS |
| 15-11 | RES0_1 | R | 0h | Reserved, RES0 |
| 10 | STKOFHFNMIGN | R/W | 0h | Controls the effect of a stack limit violation while executing at a requested priority less than 0 |
| 9 | RES1 | R | 1h | Reserved, RES1 |
| 8 | BFHFNMIGN | R/W | 0h | Determines the effect of precise BusFaults on handlers running at a requested priority less than 0 |
| 7-5 | RES0_2 | R | 0h | Reserved, RES0 |
| 4 | DIV_0_TRP | R/W | 0h | Controls the generation of a DIVBYZERO UsageFault when attempting to perform integer division by zero |
| 3 | UNALIGN_TRP | R/W | 0h | Controls the trapping of unaligned word or halfword accesses |
| 2 | RES0_3 | R | 0h | Reserved, RES0 |
| 1 | USERSETMPEND | R/W | 0h | Determines whether unprivileged accesses are permitted to pend interrupts via the STIR |
| 0 | RES1_1 | R | 1h | Reserved, RES1 |
SHPR1 is shown in Table 3-513.
Return to the Summary Table.
Sets or returns priority for system handlers 4 - 7
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-24 | PRI_7 | R/W | 0h | Priority of system handler 7, SecureFault |
| 23-16 | PRI_6 | R/W | 0h | Priority of system handler 6, UsageFault |
| 15-8 | PRI_5 | R/W | 0h | Priority of system handler 5, BusFault |
| 7-0 | PRI_4 | R/W | 0h | Priority of system handler 4, MemManage |
SHPR2 is shown in Table 3-514.
Return to the Summary Table.
Sets or returns priority for system handlers 8 - 11
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-24 | PRI_11 | R/W | 0h | Priority of system handler 11, SVCall |
| 23-0 | RES0 | R | Xh | Reserved, RES0 |
SHPR3 is shown in Table 3-515.
Return to the Summary Table.
Sets or returns priority for system handlers 12 - 15
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-24 | PRI_15 | R/W | 0h | Priority of system handler 15, SysTick |
| 23-16 | PRI_14 | R/W | 0h | Priority of system handler 14, PendSV |
| 15-0 | RES0_0 | R | 0h | Reserved, RES0 |
SHCSR is shown in Table 3-516.
Return to the Summary Table.
Provides access to the active and pending status of system exceptions
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-22 | RES0 | R | 0h | Reserved, RES0 |
| 21 | HARDFAULTPENDED | R/W | 0h | `IAAMO the pending state of the HardFault exception `CTTSSS |
| 20 | SECUREFAULTPENDED | R/W | 0h | `IAAMO the pending state of the SecureFault exception |
| 19 | SECUREFAULTENA | R/W | 0h | `DW the SecureFault exception is enabled |
| 18 | USGFAULTENA | R/W | 0h | `DW the UsageFault exception is enabled `FTSSS |
| 17 | BUSFAULTENA | R/W | 0h | `DW the BusFault exception is enabled |
| 16 | MEMFAULTENA | R/W | 0h | `DW the MemManage exception is enabled `FTSSS |
| 15 | SVCALLPENDED | R/W | 0h | `IAAMO the pending state of the SVCall exception `FTSSS |
| 14 | BUSFAULTPENDED | R/W | 0h | `IAAMO the pending state of the BusFault exception |
| 13 | MEMFAULTPENDED | R/W | 0h | `IAAMO the pending state of the MemManage exception `FTSSS |
| 12 | USGFAULTPENDED | R/W | 0h | The UsageFault exception is banked between Security states, `IAAMO the pending state of the UsageFault exception `FTSSS |
| 11 | SYSTICKACT | R/W | 0h | `IAAMO the active state of the SysTick exception `FTSSS |
| 10 | PENDSVACT | R/W | 0h | `IAAMO the active state of the PendSV exception `FTSSS |
| 9 | RES0_1 | R | 0h | Reserved, RES0 |
| 8 | MONITORACT | R/W | 0h | `IAAMO the active state of the DebugMonitor exception |
| 7 | SVCALLACT | R/W | 0h | `IAAMO the active state of the SVCall exception `FTSSS |
| 6 | RES0_2 | R | 0h | Reserved, RES0 |
| 5 | NMIACT | R/W | 0h | `IAAMO the active state of the NMI exception |
| 4 | SECUREFAULTACT | R/W | 0h | `IAAMO the active state of the SecureFault exception |
| 3 | USGFAULTACT | R/W | 0h | `IAAMO the active state of the UsageFault exception `FTSSS |
| 2 | HARDFAULTACT | R/W | 0h | Indicates and allows limited modification of the active state of the HardFault exception `FTSSS |
| 1 | BUSFAULTACT | R/W | 0h | `IAAMO the active state of the BusFault exception |
| 0 | MEMFAULTACT | R/W | 0h | `IAAMO the active state of the MemManage exception `FTSSS |
CFSR is shown in Table 3-517.
Return to the Summary Table.
Contains the three Configurable Fault Status Registers
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-26 | RES0_3 | R | 0h | Reserved, RES0 |
| 25 | DIVBYZERO | R/W | 0h | Sticky flag indicating whether an integer division by zero error has occurred |
| 24 | UNALIGNED | R/W | 0h | Sticky flag indicating whether an unaligned access error has occurred |
| 23-21 | RES0_1_2 | R | 0h | Reserved, RES0 |
| 20 | STKOF | R/W | 0h | Sticky flag indicating whether a stack overflow error has occurred |
| 19 | NOCP | R/W | 0h | Sticky flag indicating whether a coprocessor disabled or not present error has occurred |
| 18 | INVPC | R/W | 0h | Sticky flag indicating whether an integrity check error has occurred |
| 17 | INVSTATE | R/W | 0h | Sticky flag indicating whether an EPSR.T or EPSR.IT validity error has occurred |
| 16 | UNDEFINSTR | R/W | 0h | Sticky flag indicating whether an undefined instruction error has occurred |
| 15 | BFARVALID | R/W | 0h | Indicates validity of the contents of the BFAR register |
| 14 | RES0_2 | R | 0h | Reserved, RES0 |
| 13 | LSPERR | R/W | 0h | Records whether a BusFault occurred during FP lazy state preservation |
| 12 | STKERR | R/W | 0h | Records whether a derived BusFault occurred during exception entry stacking |
| 11 | UNSTKERR | R/W | 0h | Records whether a derived BusFault occurred during exception return unstacking |
| 10 | IMPRECISERR | R/W | 0h | Records whether an imprecise data access error has occurred |
| 9 | PRECISERR | R/W | 0h | Records whether a precise data access error has occurred |
| 8 | IBUSERR | R/W | 0h | Records whether a BusFault on an instruction prefetch has occurred |
| 7 | MMARVALID | R/W | 0h | Indicates validity of the MMFAR register |
| 6 | RES0 | R | 0h | Reserved, RES0 |
| 5 | MLSPERR | R/W | 0h | Records whether a MemManage fault occurred during FP lazy state preservation |
| 4 | MSTKERR | R/W | 0h | Records whether a derived MemManage fault occurred during exception entry stacking |
| 3 | MUNSTKERR | R/W | 0h | Records whether a derived MemManage fault occurred during exception return unstacking |
| 2 | RES0_1 | R | 0h | Reserved, RES0 |
| 1 | DACCVIOL | R/W | 0h | Records whether a data access violation has occurred |
| 0 | IACCVIOL | R/W | 0h | Records whether an instruction related memory access violation has occurred |
HFSR is shown in Table 3-518.
Return to the Summary Table.
Shows the cause of any HardFaults
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31 | DEBUGEVT | R/W | 0h | Indicates when a Debug event has occurred |
| 30 | FORCED | R/W | 0h | Indicates that a fault with configurable priority has been escalated to a HardFault exception, because it could not be made active, because of priority, or because it was disabled |
| 29-2 | RES0 | R | Xh | Reserved, RES0 |
| 1 | VECTTBL | R/W | 0h | Indicates when a fault has occurred because of a vector table read error on exception processing |
| 0 | RES0_1 | R | 0h | Reserved, RES0 |
DFSR is shown in Table 3-519.
Return to the Summary Table.
Shows which debug event occurred
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-5 | RES0 | R | Xh | Reserved, RES0 |
| 4 | EXTERNAL | R/W | 0h | Sticky flag indicating whether an External debug request debug event has occurred |
| 3 | VCATCH | R/W | 0h | Sticky flag indicating whether a Vector catch debug event has occurred |
| 2 | DWTTRAP | R/W | 0h | Sticky flag indicating whether a Watchpoint debug event has occurred |
| 1 | BKPT | R/W | 0h | Sticky flag indicating whether a Breakpoint debug event has occurred |
| 0 | HALTED | R/W | 0h | Sticky flag indicating that a Halt request debug event or Step debug event has occurred |
MMFAR is shown in Table 3-520.
Return to the Summary Table.
Shows the address of the memory location that caused an MPU fault
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | ADDRESS | R/W | 0h | This register is updated with the address of a location that produced a MemManage fault. The MMFSR shows the cause of the fault, and whether this field is valid. This field is valid only when MMFSR.MMARVALID is set, otherwise it is UNKNOWN |
BFAR is shown in Table 3-521.
Return to the Summary Table.
Shows the address associated with a precise data access BusFault
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | ADDRESS | R/W | 0h | This register is updated with the address of a location that produced a BusFault. The BFSR shows the reason for the fault. This field is valid only when BFSR.BFARVALID is set, otherwise it is UNKNOWN |
AFSR is shown in Table 3-522.
Return to the Summary Table.
This register is used to determine additional system fault information to software. Single-cycle high level on an auxiliary faults is latched as one. The bit can only be cleared by writing a one to the corresponding bit. Auxiliary fault inputs to the CPU are tied to 0.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-1 | RESERVED | R | 0h | Reserved |
| 0 | IMPDEF | R/W | 0h | Implementation defined. The bits map directly onto the signal assignment to the auxiliary fault inputs. Tied to 0 |
ID_PFR0 is shown in Table 3-523.
Return to the Summary Table.
Gives top-level information about the instruction set supported by the PE
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-8 | RES0 | R | Xh | Reserved, RES0 |
| 7-4 | State1 | R | 3h | T32 instruction set support |
| 3-0 | State0 | R | 0h | A32 instruction set support |
ID_PFR1 is shown in Table 3-524.
Return to the Summary Table.
Gives information about the programmers' model and Extensions support
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-12 | RES0 | R | Xh | Reserved, RES0 |
| 11-8 | MProgMod | R | 2h | Identifies support for the M-Profile programmers' model support |
| 7-4 | Security | R | 1h | Identifies whether the Security Extension is implemented |
| 3-0 | RES0_1 | R | 0h | Reserved, RES0 |
ID_DFR0 is shown in Table 3-525.
Return to the Summary Table.
Provides top level information about the debug system
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-24 | RES0 | R | 0h | Reserved, RES0 |
| 23-20 | MProfDbg | R | 2h | Indicates the supported M-profile debug architecture |
| 19-0 | RES0_1 | R | Xh | Reserved, RES0 |
ID_AFR0 is shown in Table 3-526.
Return to the Summary Table.
Provides information about the IMPLEMENTATION DEFINED features of the PE
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RES0 | R | 0h | Reserved, RES0 |
| 15-12 | IMPDEF3 | R | 0h | IMPLEMENTATION DEFINED meaning |
| 11-8 | IMPDEF2 | R | 0h | IMPLEMENTATION DEFINED meaning |
| 7-4 | IMPDEF1 | R | 0h | IMPLEMENTATION DEFINED meaning |
| 3-0 | IMPDEF0 | R | 0h | IMPLEMENTATION DEFINED meaning |
ID_MMFR0 is shown in Table 3-527.
Return to the Summary Table.
Provides information about the implemented memory model and memory management support
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-24 | RES0 | R | 0h | Reserved, RES0 |
| 23-20 | AuxReg | R | 1h | Indicates support for Auxiliary Control Registers |
| 19-16 | TCM | R | 0h | Indicates support for tightly coupled memories (TCMs) |
| 15-12 | ShareLvl | R | 1h | Indicates the number of shareability levels implemented |
| 11-8 | OuterShr | R | Fh | Indicates the outermost shareability domain implemented |
| 7-4 | PMSA | R | 4h | Indicates support for the protected memory system architecture (PMSA) |
| 3-0 | RES0_1 | R | 0h | Reserved, RES0 |
ID_MMFR1 is shown in Table 3-528.
Return to the Summary Table.
Provides information about the implemented memory model and memory management support
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | RES0 | R | 0h | Reserved, RES0 |
ID_MMFR2 is shown in Table 3-529.
Return to the Summary Table.
Provides information about the implemented memory model and memory management support
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-28 | RES0 | R | 0h | Reserved, RES0 |
| 27-24 | WFIStall | R | 1h | Indicates the support for Wait For Interrupt (WFI) stalling |
| 23-0 | RES0_1 | R | Xh | Reserved, RES0 |
ID_MMFR3 is shown in Table 3-530.
Return to the Summary Table.
Provides information about the implemented memory model and memory management support
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-12 | RES0 | R | Xh | Reserved, RES0 |
| 11-8 | BPMaint | R | 0h | Indicates the supported branch predictor maintenance |
| 7-4 | CMaintSW | R | 0h | Indicates the supported cache maintenance operations by set/way |
| 3-0 | CMaintVA | R | 0h | Indicates the supported cache maintenance operations by address |
ID_ISAR0 is shown in Table 3-531.
Return to the Summary Table.
Provides information about the instruction set implemented by the PE
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-28 | RES0 | R | 0h | Reserved, RES0 |
| 27-24 | Divide | R | 1h | Indicates the supported Divide instructions |
| 23-20 | Debug | R | 1h | Indicates the implemented Debug instructions |
| 19-16 | Coproc | R | 4h | Indicates the supported Coprocessor instructions |
| 15-12 | CmpBranch | R | 1h | Indicates the supported combined Compare and Branch instructions |
| 11-8 | BitField | R | 1h | Indicates the supported bit field instructions |
| 7-4 | BitCount | R | 1h | Indicates the supported bit count instructions |
| 3-0 | RES0_1 | R | 0h | Reserved, RES0 |
ID_ISAR1 is shown in Table 3-532.
Return to the Summary Table.
Provides information about the instruction set implemented by the PE
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-28 | RES0 | R | 0h | Reserved, RES0 |
| 27-24 | Interwork | R | 2h | Indicates the implemented Interworking instructions |
| 23-20 | Immediate | R | 2h | Indicates the implemented for data-processing instructions with long immediates |
| 19-16 | IfThen | R | 1h | Indicates the implemented If-Then instructions |
| 15-12 | Extend | R | 2h | Indicates the implemented Extend instructions |
| 11-0 | RES0_1 | R | 0h | Reserved, RES0 |
ID_ISAR2 is shown in Table 3-533.
Return to the Summary Table.
Provides information about the instruction set implemented by the PE
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-28 | Reversal | R | 2h | Indicates the implemented Reversal instructions |
| 27-24 | RES0 | R | 0h | Reserved, RES0 |
| 23-20 | MultU | R | 2h | Indicates the implemented advanced unsigned Multiply instructions |
| 19-16 | MultS | R | 3h | Indicates the implemented advanced signed Multiply instructions |
| 15-12 | Mult | R | 2h | Indicates the implemented additional Multiply instructions |
| 11-8 | MultiAccessInt | R | 2h | Indicates the support for interruptible multi-access instructions |
| 7-4 | MemHint | R | 3h | Indicates the implemented Memory Hint instructions |
| 3-0 | LoadStore | R | 2h | Indicates the implemented additional load/store instructions |
ID_ISAR3 is shown in Table 3-534.
Return to the Summary Table.
Provides information about the instruction set implemented by the PE
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-28 | RES0 | R | 0h | Reserved, RES0 |
| 27-24 | TrueNOP | R | 1h | Indicates the implemented true NOP instructions |
| 23-20 | T32Copy | R | 1h | Indicates the support for T32 non flag-setting MOV instructions |
| 19-16 | TabBranch | R | 1h | Indicates the implemented Table Branch instructions |
| 15-12 | SynchPrim | R | 1h | Used in conjunction with ID_ISAR4.SynchPrim_frac to indicate the implemented Synchronization Primitive instructions |
| 11-8 | SVC | R | 1h | Indicates the implemented SVC instructions |
| 7-4 | SIMD | R | 3h | Indicates the implemented SIMD instructions |
| 3-0 | Saturate | R | 1h | Indicates the implemented saturating instructions |
ID_ISAR4 is shown in Table 3-535.
Return to the Summary Table.
Provides information about the instruction set implemented by the PE
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-28 | RES0 | R | 0h | Reserved, RES0 |
| 27-24 | PSR_M | R | 1h | Indicates the implemented M profile instructions to modify the PSRs |
| 23-20 | SyncPrim_frac | R | 3h | Used in conjunction with ID_ISAR3.SynchPrim to indicate the implemented Synchronization Primitive instructions |
| 19-16 | Barrier | R | 1h | Indicates the implemented Barrier instructions |
| 15-12 | RES0_1 | R | 0h | Reserved, RES0 |
| 11-8 | Writeback | R | 1h | Indicates the support for writeback addressing modes |
| 7-4 | WithShifts | R | 3h | Indicates the support for writeback addressing modes |
| 3-0 | Unpriv | R | 2h | Indicates the implemented unprivileged instructions |
ID_ISAR5 is shown in Table 3-536.
Return to the Summary Table.
Provides information about the instruction set implemented by the PE
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | RES0 | R | 0h | Reserved, RES0 |
CLIDR is shown in Table 3-537.
Return to the Summary Table.
Identifies the type of caches implemented and the level of coherency and unification
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-30 | ICB | R | 0h | This field indicates the boundary between inner and outer domain
|
| 29-27 | LoUU | R | 0h | This field indicates the Level of Unification Uniprocessor for the cache hierarchy |
| 26-24 | LoC | R | 0h | This field indicates the Level of Coherence for the cache hierarchy |
| 23-21 | LoUIS | R | 0h | Enables Non-secure access to coprocessor CP0 |
| 20-18 | Ctype7 | R | 0h | Cache type field 7. Indicates the type of cache implemented at level 7.
|
| 17-15 | Ctype6 | R | 0h | Cache type field 6. Indicates the type of cache implemented at level 6.
|
| 14-12 | Ctype5 | R | 0h | Cache type field 5. Indicates the type of cache implemented at level 5.
|
| 11-9 | Ctype4 | R | 0h | Cache type field 4. Indicates the type of cache implemented at level 4.
|
| 8-6 | Ctype3 | R | 0h | Cache type field 3. Indicates the type of cache implemented at level 3.
|
| 5-3 | Ctype2 | R | 0h | Cache type field 2. Indicates the type of cache implemented at level 2.
|
| 2-0 | Ctype1 | R | 0h | Cache type field 1. Indicates the type of cache implemented at level 1.
|
CTR is shown in Table 3-538.
Return to the Summary Table.
The CTR provides information about the architecture of the currently selected cache
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31 | RES1 | R | 1h | Reserved, RES1 |
| 30-28 | RES0 | R | 0h | Reserved, RES0 |
| 27-24 | CWG | R | 0h | Log2 of the number of words of the maximum size of memory that can be overwritten as a result of the eviction of a cache entry that has had a memory location in it modified |
| 23-20 | ERG | R | 0h | Log2 of the number of words of the maximum size of the reservation granule that has been implemented for the Load-Exclusive and Store-Exclusive instructions |
| 19-16 | DminLine | R | 0h | Log2 of the number of words in the smallest cache line of all the data caches and unified caches that are controlled by the PE |
| 15-14 | RES1_1 | R | 3h | Reserved, RES1 |
| 13-4 | RES0_1 | R | 0h | Reserved, RES0 |
| 3-0 | IminLine | R | 0h | Log2 of the number of words in the smallest cache line of all the instruction caches that are controlled by the PE |
CCSIDR is shown in Table 3-539.
Return to the Summary Table.
Provides information about the architecture of the caches. CCSIDR is RES0 if CLIDR is zero.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31 | WT | R | 1h | Indicates whether the currently selected cache level supports Write-Through
|
| 30 | WB | R | 0h | Indicates whether the currently selected cache level supports Write-Back
|
| 29 | RA | R | 0h | Indicates whether the currently selected cache level supports read-allocation
|
| 28 | WA | R | 0h | Indicates whether the currently selected cache level supports write-allocation
|
| 27-13 | NumSets | R | 6h | Indicates (Number of sets in the currently selected cache) - 1. Therefore, a value of 0 indicates that 1 is set in the cache. The number of sets does not have to be a power of 2 |
| 12-3 | Associativity | R | 0h | Indicates (Associativity of cache) - 1. A value of 0 indicates an associativity of 1. The associativity does not have to be a power of 2 |
| 2-0 | LineSize | R | 0h | Indicates (Log2(Number of words per line in the currently selected cache)) - 2. |
CSSELR is shown in Table 3-540.
Return to the Summary Table.
Selects the current Cache Size ID Register, CCSIDR, by specifying the required cache level and the cache
type (either instruction or data cache)
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-4 | Res0 | R | 08000C00h | Reserved,Res0 |
| 3-1 | Level | R | 0h | Selects which cache level is to be identified. Permitted values are from 0b000, indicating Level 1 cache, to 0b110 indicating Level 7 cache
|
| 0 | InD | R | 0h | Selects whether the instruction or the data cache is to be identified
|
CPACR is shown in Table 3-541.
Return to the Summary Table.
Specifies the access privileges for coprocessors and the FP Extension
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-24 | RES0 | R | 0h | Reserved, RES0 |
| 23-22 | CP11 | R/W | 0h | The value in this field is ignored. If the implementation does not include the FP Extension, this field is RAZ/WI. If the value of this bit is not programmed to the same value as the CP10 field, then the value is UNKNOWN |
| 21-20 | CP10 | R/W | 0h | Defines the access rights for the floating-point functionality |
| 19-16 | RES0_1 | R | 0h | Reserved, RES0 |
| 15-14 | CP7 | R/W | 0h | Controls access privileges for coprocessor 7 |
| 13-12 | CP6 | R/W | 0h | Controls access privileges for coprocessor 6 |
| 11-10 | CP5 | R/W | 0h | Controls access privileges for coprocessor 5 |
| 9-8 | CP4 | R/W | 0h | Controls access privileges for coprocessor 4 |
| 7-6 | CP3 | R/W | 0h | Controls access privileges for coprocessor 3 |
| 5-4 | CP2 | R/W | 0h | Controls access privileges for coprocessor 2 |
| 3-2 | CP1 | R/W | 0h | Controls access privileges for coprocessor 1 |
| 1-0 | CP0 | R/W | 0h | Controls access privileges for coprocessor 0 |
NSACR is shown in Table 3-542.
Return to the Summary Table.
Defines the Non-secure access permissions for both the FP Extension and coprocessors CP0 to CP7
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-12 | RES0 | R | Xh | Reserved, RES0 |
| 11 | CP11 | R/W | 0h | Enables Non-secure access to the Floating-point Extension |
| 10 | CP10 | R/W | 0h | Enables Non-secure access to the Floating-point Extension |
| 9-8 | RES0_1 | R | 0h | Reserved, RES0 |
| 7 | CP7 | R/W | 0h | Enables Non-secure access to coprocessor CP7 |
| 6 | CP6 | R/W | 0h | Enables Non-secure access to coprocessor CP6 |
| 5 | CP5 | R/W | 0h | Enables Non-secure access to coprocessor CP5 |
| 4 | CP4 | R/W | 0h | Enables Non-secure access to coprocessor CP4 |
| 3 | CP3 | R/W | 0h | Enables Non-secure access to coprocessor CP3 |
| 2 | CP2 | R/W | 0h | Enables Non-secure access to coprocessor CP2 |
| 1 | CP1 | R/W | 0h | Enables Non-secure access to coprocessor CP1 |
| 0 | CP0 | R/W | 0h | Enables Non-secure access to coprocessor CP0 |