CNTP_CTL, Counter-timer Physical Timer Control
The CNTP_CTL characteristics are:
Purpose
Control register for the EL1 physical timer.
Configuration
The power domain of CNTP_CTL is IMPLEMENTATION DEFINED.
For more information, see 'Power and reset domains for the system level implementation of the Generic Timer'.
Attributes
CNTP_CTL is a 32-bit register.
Field descriptions
The CNTP_CTL bit assignments are:
Bits [31:3]
Reserved, RES0.
ISTATUS, bit [2]
The status of the timer. This bit indicates whether the timer condition is met:
ISTATUS | Meaning |
---|---|
0b0 |
Timer condition is not met. |
0b1 |
Timer condition is met. |
When the value of the ENABLE bit is 1, ISTATUS indicates whether the timer condition is met. ISTATUS takes no account of the value of the IMASK bit. If the value of ISTATUS is 1 and the value of IMASK is 0 then the timer interrupt is asserted.
When the value of the ENABLE bit is 0, the ISTATUS field is UNKNOWN.
This bit is read-only.
IMASK, bit [1]
Timer interrupt mask bit. Permitted values are:
IMASK | Meaning |
---|---|
0b0 |
Timer interrupt is not masked by the IMASK bit. |
0b1 |
Timer interrupt is masked by the IMASK bit. |
For more information, see the description of the ISTATUS bit.
On a Warm reset, this field resets to an architecturally UNKNOWN value.
ENABLE, bit [0]
Enables the timer. Permitted values are:
ENABLE | Meaning |
---|---|
0b0 |
Timer disabled. |
0b1 |
Timer enabled. |
Setting this bit to 0 disables the timer output signal, but the timer value accessible from CNTP_TVAL continues to count down.
Disabling the output signal might be a power-saving option.
On a Warm reset, this field resets to an architecturally UNKNOWN value.
Accessing the CNTP_CTL
CNTP_CTL can be implemented in any implemented CNTBaseN frame, and in the corresponding CNTEL0BaseN frame.
'CNTCTLBase status and control fields for the CNTBaseN and CNTEL0BaseN frames' describes the status fields that identify whether a CNTBaseN frame is implemented, and for an implemented frame:
- Whether the CNTBaseN frame has virtual timer capability.
- Whether the corresponding CNTEL0BaseN frame is implemented.
- For an implementation that recognizes two Security states, whether the CNTBaseN frame, and any corresponding CNTEL0BaseN frame, is accessible by Non-secure accesses.
For an implemented CNTBaseN frame:
- CNTP_CTL is accessible in that frame if the value of CNTACR<n>.RWPT is 1.
- Otherwise, the CNTP_CTL address in that frame is RAZ/WI.
For an implemented CNTEL0BaseN frame:
- CNTP_CTL is accessible in that frame if both:
- CNTP_CTL is accessible in the corresponding CNTBaseN frame:
- The value of CNTEL0ACR.EL0PTEN is 1.
- Otherwise, the CNTP_CTL address in that frame is RAZ/WI.
CNTP_CTL can be accessed through the memory-mapped interfaces:
Component | Frame | Offset | Instance |
---|---|---|---|
Timer | CNTBaseN | 0x02C | CNTP_CTL |
Accesses on this interface are RW.
Component | Frame | Offset | Instance |
---|---|---|---|
Timer | CNTEL0BaseN | 0x02C | CNTP_CTL |
Accesses on this interface are RW.