~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/timer/arm,arch_timer_mmio.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: GPL-2.0
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/timer/arm,arch_timer_mmio.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: ARM memory mapped architected timer
  8 
  9 maintainers:
 10   - Marc Zyngier <marc.zyngier@arm.com>
 11   - Mark Rutland <mark.rutland@arm.com>
 12 
 13 description: |+
 14   ARM cores may have a memory mapped architected timer, which provides up to 8
 15   frames with a physical and optional virtual timer per frame.
 16 
 17   The memory mapped timer is attached to a GIC to deliver its interrupts via SPIs.
 18 
 19 properties:
 20   compatible:
 21     items:
 22       - enum:
 23           - arm,armv7-timer-mem
 24 
 25   reg:
 26     maxItems: 1
 27     description: The control frame base address
 28 
 29   '#address-cells':
 30     enum: [1, 2]
 31 
 32   '#size-cells':
 33     const: 1
 34 
 35   ranges: true
 36 
 37   clock-frequency:
 38     description: The frequency of the main counter, in Hz. Should be present
 39       only where necessary to work around broken firmware which does not configure
 40       CNTFRQ on all CPUs to a uniform correct value. Use of this property is
 41       strongly discouraged; fix your firmware unless absolutely impossible.
 42 
 43   always-on:
 44     type: boolean
 45     description: If present, the timer is powered through an always-on power
 46       domain, therefore it never loses context.
 47 
 48   arm,cpu-registers-not-fw-configured:
 49     type: boolean
 50     description: Firmware does not initialize any of the generic timer CPU
 51       registers, which contain their architecturally-defined reset values. Only
 52       supported for 32-bit systems which follow the ARMv7 architected reset
 53       values.
 54 
 55   arm,no-tick-in-suspend:
 56     type: boolean
 57     description: The main counter does not tick when the system is in
 58       low-power system suspend on some SoCs. This behavior does not match the
 59       Architecture Reference Manual's specification that the system counter "must
 60       be implemented in an always-on power domain."
 61 
 62 patternProperties:
 63   '^frame@[0-9a-f]+$':
 64     type: object
 65     additionalProperties: false
 66     description: A timer node has up to 8 frame sub-nodes, each with the following properties.
 67     properties:
 68       frame-number:
 69         $ref: /schemas/types.yaml#/definitions/uint32
 70         minimum: 0
 71         maximum: 7
 72 
 73       interrupts:
 74         minItems: 1
 75         items:
 76           - description: physical timer irq
 77           - description: virtual timer irq
 78 
 79       reg:
 80         minItems: 1
 81         items:
 82           - description: 1st view base address
 83           - description: 2nd optional view base address
 84 
 85     required:
 86       - frame-number
 87       - interrupts
 88       - reg
 89 
 90 required:
 91   - compatible
 92   - reg
 93   - '#address-cells'
 94   - '#size-cells'
 95 
 96 additionalProperties: false
 97 
 98 examples:
 99   - |
100     timer@f0000000 {
101       compatible = "arm,armv7-timer-mem";
102       #address-cells = <1>;
103       #size-cells = <1>;
104       ranges = <0 0xf0001000 0x1000>;
105       reg = <0xf0000000 0x1000>;
106       clock-frequency = <50000000>;
107 
108       frame@0 {
109         frame-number = <0>;
110         interrupts = <0 13 0x8>,
111                <0 14 0x8>;
112         reg = <0x0000 0x1000>,
113               <0x1000 0x1000>;
114       };
115 
116       frame@2000 {
117         frame-number = <1>;
118         interrupts = <0 15 0x8>;
119         reg = <0x2000 0x1000>;
120       };
121     };
122 
123 ...

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php