CNTCR, Counter Control Register
The CNTCR characteristics are:
Purpose
Enables the counter, controls the counter frequency setting, and controls counter behavior during debug.
Configuration
The power domain of CNTCR is IMPLEMENTATION DEFINED.
For more information, see 'Power and reset domains for the system level implementation of the Generic Timer'.
Attributes
CNTCR is a 32-bit register.
Field descriptions
The CNTCR bit assignments are:
Bits [31:18]
Reserved, RES0.
FCREQ, bits [17:8]
Frequency change request. Indicates the number of the entry in the Frequency modes table to select.
Selecting an unimplemented entry, or an entry that contains 0, has no effect on the counter.
The maximum number of entries in the Frequency modes table is IMPLEMENTATION DEFINED up to a maximum of 1004 entries, see 'The Frequency modes table'. An implementation is only required to implement an FCREQ field that can hold values from 0 to the highest supported Frequency modes table entry. Any unrequired most-significant bits of FCREQ can be implemented as RES0.
This field resets to 0.
Bits [7:3]
Reserved, RES0.
SCEN, bit [2]
When FEAT_CNTSC is implemented:
When FEAT_CNTSC is implemented:
Scale Enable.
SCEN | Meaning |
---|---|
0b0 |
Scaling is not enabled. The counter value is incremented by 0x1.0000000 for each counter tick. |
0b1 |
Scaling is enabled. The counter is incremented by CNTSCR.ScaleVal for each counter tick. |
The SCEN bit can only be changed when the counter is disabled, when CNTCR.EN == 0.
If the value of CNTCR.SCEN changes when CNTCR.EN == 1 then:
- The counter value becomes UNKNOWN.
- The counter value remains UNKNOWN on future ticks of the clock.
When the CNTCV register in the CNTControlBase frame of the memory mapped counter module is written to, the accumulated fraction information is reset to zero.
This field resets to an architecturally UNKNOWN value.
Otherwise:
Otherwise:
Reserved, RES0.
HDBG, bit [1]
Halt-on-debug. Controls whether a Halt-on-debug signal halts the system counter:
HDBG | Meaning |
---|---|
0b0 |
System counter ignores Halt-on-debug. |
0b1 |
Asserted Halt-on-debug signal halts system counter update. |
This field resets to an architecturally UNKNOWN value.
EN, bit [0]
Enables the counter:
EN | Meaning |
---|---|
0b0 |
System counter disabled. |
0b1 |
System counter enabled. |
This field resets to 0.
Accessing the CNTCR
In a system that supports Secure and Non-secure memory maps the CNTControlBase frame, that includes this register, is implemented only in the Secure memory map.
CNTCR can be accessed through the memory-mapped interfaces:
Component | Frame | Offset | Instance |
---|---|---|---|
Timer | CNTControlBase | 0x000 | CNTCR |
Accesses on this interface are RW.