Based on kernel version 7.2. Page generated on 2026-08-20 08:41 EST.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | # SPDX-License-Identifier: GPL-2.0 %YAML 1.2 --- $id: http://devicetree.org/schemas/timer/arm,arch_timer.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: ARM architected timer maintainers: - Marc Zyngier <marc.zyngier@arm.com> - Mark Rutland <mark.rutland@arm.com> description: |+ The per-core architected timer is expected to deliver per-CPU interrupts (commonly to a GIC to deliver its per-processor interrupts as PPIs). properties: compatible: oneOf: - items: - const: arm,cortex-a15-timer - const: arm,armv7-timer - items: - enum: - arm,armv7-timer - arm,armv8-timer - items: - const: arm,armv8-timer - const: arm,armv7-timer interrupts: minItems: 2 items: - description: EL1 secure physical timer irq, if EL3 is implemented - description: EL1 non-secure physical timer irq - description: EL1 virtual timer irq - description: EL2 physical timer irq, if EL2 is implemented - description: EL2 virtual timer irq, if FEAT_VHE is implemented interrupt-names: oneOf: - minItems: 2 items: - const: phys - const: virt - const: hyp-phys - const: hyp-virt - minItems: 3 items: - const: sec-phys - const: phys - const: virt - const: hyp-phys - const: hyp-virt clock-frequency: description: The frequency of the main counter, in Hz. Should be present only where necessary to work around broken firmware which does not configure CNTFRQ on all CPUs to a uniform correct value. Use of this property is strongly discouraged; fix your firmware unless absolutely impossible. always-on: type: boolean description: If present, the timer is powered through an always-on power domain, therefore it never loses context. allwinner,erratum-unknown1: type: boolean description: Indicates the presence of an erratum found in Allwinner SoCs, where reading certain values from the counter is unreliable. This also affects writes to the tval register, due to the implicit counter read. fsl,erratum-a008585: type: boolean description: Indicates the presence of QorIQ erratum A-008585, which says that reading the counter is unreliable unless the same value is returned by back-to-back reads. This also affects writes to the tval register, due to the implicit counter read. hisilicon,erratum-161010101: type: boolean description: Indicates the presence of Hisilicon erratum 161010101, which says that reading the counters is unreliable in some cases, and reads may return a value 32 beyond the correct value. This also affects writes to the tval registers, due to the implicit counter read. arm,cpu-registers-not-fw-configured: type: boolean description: Firmware does not initialize any of the generic timer CPU registers, which contain their architecturally-defined reset values. Only supported for 32-bit systems which follow the ARMv7 architected reset values. arm,no-tick-in-suspend: type: boolean description: The main counter does not tick when the system is in low-power system suspend on some SoCs. This behavior does not match the Architecture Reference Manual's specification that the system counter "must be implemented in an always-on power domain." required: - compatible additionalProperties: false oneOf: - required: - interrupts - required: - interrupts-extended examples: - | timer { compatible = "arm,cortex-a15-timer", "arm,armv7-timer"; interrupts = <1 13 0xf08>, <1 14 0xf08>, <1 11 0xf08>, <1 10 0xf08>; clock-frequency = <100000000>; }; ... |