Expand description
§Arm Generic Timer driver
Driver implementation for the memory mapped and system register based Generic Timer peripheral of the Arm A-profile architecture. The implementation is based on the following sections of the Arm Architecture Reference Manual for A-profile architecture.
- D24.10 Generic Timer registers
- I2.2.3 Counter module control and status register summary
- I2.3 Memory-mapped timer components
- I5.6 Generic Timer memory-mapped registers overview
- I5.7 Generic Timer memory-mapped register descriptions
§Implemented features
- Memory mapped generic timer
- Register descriptions and drivers for the following frames:
CNTControlBaseCNTCTLBaseCNTReadBaseCNTBaseNCNTEL0BaseN
- Register descriptions and drivers for the following frames:
- System register based generic timer
- Physical Secure Timer
- Hypervisor Physical Timer
- Secure EL2 Physical Timer
- EL2 Virtual Timer
- Secure EL2 Virtual Timer
- Physical Timer
- Virtual Timer
- Generic delay timer logic
§Feature flags
el1: Enables system register based timers which relies on EL1 system registers.el2: Enables system register based timers which relies on EL2 system registers.fakes: Accesses fake system registers rather than the real ones, for running tests on the host.
§License
The project is MIT and Apache-2.0 dual licensed, see LICENSE-APACHE and LICENSE-MIT.
§Maintainers
arm-generic-timer is a trustedfirmware.org maintained project. All contributions are ultimately merged by the maintainers listed below.
- Bálint Dobszay balint.dobszay@arm.com balint-dobszay-arm
- Imre Kis imre.kis@arm.com imre-kis-arm
- Sandrine Afsa sandrine.afsa@arm.com sandrine-bailleux-arm
§Contributing
Please follow the directions of the Trusted Firmware Processes
Contributions are handled through review.trustedfirmware.org.
§Arm trademark notice
Arm is a registered trademark of Arm Limited (or its subsidiaries or affiliates).
This project uses some of the Arm product, service or technology trademarks, as listed in the Trademark List, in accordance with the Arm Trademark Use Guidelines.
Subsequent uses of these trademarks throughout this repository do not need to be prefixed with the Arm word trademark.
Copyright The arm-generic-timer Contributors.
Modules§
- memory_
mapped - Memory mapped timer driver implementations.
- sysreg
fakesor AArch64 - System register based timer driver implementations.
Structs§
- Timer
- Generic timer object allowing blocking wait and interrupt enablement.
Traits§
- Timer
Interface - Interface for accessing common timer registers.