| |||
| Home > System Control > Register descriptions > L2 Control Register | |||
The L2CTLR characteristics are:
Provides control options for the L2 memory system and ECC/parity support.
The L2CTLR is:
A read/write register
Common to the Secure and Non-secure states
Only accessible from PL1 or higher, with access rights that depend on the mode:
read/write in Secure PL1 modes with some bits that are read-only
read-only and write-ignored in Non-secure PL1 and PL2 modes.
This register can only be written when the L2 memory system is idle. ARM recommends that you write to this register after a power-on reset before the MMU is enabled and before any ACE or ACP traffic has begun.
If the register must be modified after a power-on reset sequence, to idle the L2 memory system, you must take the following steps:
Disable the MMU from each processor followed by an ISB to ensure the MMU disable operation is complete, then followed by a DSB to drain previous memory transactions.
Ensure that the system has no outstanding AC channel coherence requests to the Cortex-A15 MPCore processor.
Ensure that the system has no outstanding ACP requests to the Cortex-A15 MPCore processor.
When the L2 is idle, the processor can update the L2CTLR followed by an ISB. After the L2CTLR is updated, the MMUs can be enabled and normal ACE and ACP traffic can resume.
Available in all configurations.
See the register summary in Table 4.10.
Figure 4.38 shows the L2CTLR bit assignments.
Table 4.69 shows the L2CTLR bit assignments.
Table 4.69. L2CTLR bit assignments
| Bits | Name | Function |
|---|---|---|
| [31] | L2RSTDISABLE monitor | Monitors the L2 hardware reset disable pin, L2RSTDISABLE:
This bit is read-only and the reset value is determined by the primary input, L2RSTDISABLE. |
| [30:26] | - | Reserved, RAZ/WI. |
| [25:24] | Number of processors | Number of processors present:
These bits are read-only and the reset value of this field is set to the number of processors present in the configuration. |
| [23] | Interrupt Controller | Interrupt Controller:
This is a read-only bit and the reset value depends on whether the Interrupt Controller is present. |
| [22] | - | Reserved, RAZ/WI. |
| [21] | ECC and parity enable | ECC and parity enable bit in L1 and L2 caches:
If ECC/parity is not implemented in L1 and L2 caches, this bit is RAZ/WI. |
| [20:13] | - | Reserved, RAZ/WI. |
| [12] | Tag RAM slice | L2 tag RAM slice:
This is a read-only bit and the reset value of this field is set to the number of tag RAM slice present in the configuration. See Register slice support for large cache sizes for more information. |
| [11:10] | Data RAM slice | L2 data RAM slice:
These are read-only bits and the reset value of this field is set to the number of data RAM slice present in the configuration. See Register slice support for large cache sizes for more information. |
| [9] | Tag RAM setup | L2 tag RAM setup:
|
| [8:6] | Tag RAM latency | L2 tag RAM latency:
|
| [5] | Data RAM setup | L2 data RAM setup:
|
| [4:3] | - | Reserved, RAZ/WI. |
| [2:0] | Data RAM latency | L2 data RAM latency:
|
To access the L2CTLR, read or write the CP15 register with:
MRC p15, 1, <Rt>, c9, c0, 2; Read L2 Control Register
MCR p15, 1, <Rt>, c9, c0, 2; Write L2 Control Register