Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Many functions in Linux kernel need time management, such as periodic scheduler, delay program and timer. The hardware timer provides the clock source. The frequency of the clock source can be set. After setting, the timing interrupt will be generated periodically. The system uses the timing interrupt to time. The frequency generated periodically by interrupts is the system frequency, also known as the tick rate.

HW requirement

For a Arm Linux system, it require HW support generic timer for system scheduler, and external timer for CPU idle requirement.

System counter generate event (Arm system ready recommend it to 1GHz) to CPU private timer (called as local timer), or to external timer (can be acted as global timer)

...

For NXP i.MX8MP platform, it integrates 6 GPT external timers, which can be registered as system global timer. And, the system counter in i.MX8MP also support compare function that means it can be registered as one clock event. Since system counter is in always-on domain, so the clock event can be used as system global timer. Once cpu enter idle, system can switch cpu private timer to the system counter.

...

ACPI requirement

For ACPI on arm64, tables also fall into the following categories:

  • Required: DSDT, FADT, GTDT, MADT, MCFG, RSDP, SPCR, XSDT

...

Generic Timer Description Table (GTDT) provides OSPM with information about a system’s Generic Timers configuration. The Generic Timer (GT) is a standard timer interface implemented on ARM processor-based systems. The GT hardware specification can be found at Links to ACPI-Related Documents (http://uefi.org/acpi ) under the heading ARM Architecture.
The GTDT provides OSPM with information about a system's GT interrupt configurations, for both perprocessor timers, and platform (memory-mapped) timers.


The GT specification defines the following per-processor timers:

  • Secure EL1 timer,

  • Non-Secure EL1 timer,

  • EL2 timer,

  • Virtual EL1 timer,

  • Virtual EL2 timer,

and defines the following memory-mapped Platform timers:

  • GT Block,

  • Server Base System Architecture (SBSA) Generic Watchdog.

GTDT table structure

...

SW Status

Code for ACPI