tree: 8494edf8e74f5c335ba693bfe769ebc4ccf36f1b [path history] [tgz]
  1. .github/
  2. src/
  3. .gitignore
  4. Cargo.lock
  5. Cargo.toml
  6. dco.txt
  7. LICENSE-Apache-2.0
  8. LICENSE-MIT
  9. README.md
README.md

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:
      • CNTControlBase
      • CNTCTLBase
      • CNTReadBase
      • CNTBaseN
      • CNTEL0BaseN
  • 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.

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.