xref: /freebsd-src/sys/contrib/device-tree/Bindings/timer/realtek,otto-timer.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*0e8011faSEmmanuel Vadot%YAML 1.2
3*0e8011faSEmmanuel Vadot---
4*0e8011faSEmmanuel Vadot$id: http://devicetree.org/schemas/timer/realtek,otto-timer.yaml#
5*0e8011faSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*0e8011faSEmmanuel Vadot
7*0e8011faSEmmanuel Vadottitle: Realtek Otto SoCs Timer/Counter
8*0e8011faSEmmanuel Vadot
9*0e8011faSEmmanuel Vadotdescription:
10*0e8011faSEmmanuel Vadot  Realtek SoCs support a number of timers/counters. These are used
11*0e8011faSEmmanuel Vadot  as a per CPU clock event generator and an overall CPU clocksource.
12*0e8011faSEmmanuel Vadot
13*0e8011faSEmmanuel Vadotmaintainers:
14*0e8011faSEmmanuel Vadot  - Chris Packham <chris.packham@alliedtelesis.co.nz>
15*0e8011faSEmmanuel Vadot
16*0e8011faSEmmanuel Vadotproperties:
17*0e8011faSEmmanuel Vadot  $nodename:
18*0e8011faSEmmanuel Vadot    pattern: "^timer@[0-9a-f]+$"
19*0e8011faSEmmanuel Vadot
20*0e8011faSEmmanuel Vadot  compatible:
21*0e8011faSEmmanuel Vadot    items:
22*0e8011faSEmmanuel Vadot      - enum:
23*0e8011faSEmmanuel Vadot          - realtek,rtl9302-timer
24*0e8011faSEmmanuel Vadot      - const: realtek,otto-timer
25*0e8011faSEmmanuel Vadot
26*0e8011faSEmmanuel Vadot  reg:
27*0e8011faSEmmanuel Vadot    items:
28*0e8011faSEmmanuel Vadot      - description: timer0 registers
29*0e8011faSEmmanuel Vadot      - description: timer1 registers
30*0e8011faSEmmanuel Vadot      - description: timer2 registers
31*0e8011faSEmmanuel Vadot      - description: timer3 registers
32*0e8011faSEmmanuel Vadot      - description: timer4 registers
33*0e8011faSEmmanuel Vadot
34*0e8011faSEmmanuel Vadot  clocks:
35*0e8011faSEmmanuel Vadot    maxItems: 1
36*0e8011faSEmmanuel Vadot
37*0e8011faSEmmanuel Vadot  interrupts:
38*0e8011faSEmmanuel Vadot    items:
39*0e8011faSEmmanuel Vadot      - description: timer0 interrupt
40*0e8011faSEmmanuel Vadot      - description: timer1 interrupt
41*0e8011faSEmmanuel Vadot      - description: timer2 interrupt
42*0e8011faSEmmanuel Vadot      - description: timer3 interrupt
43*0e8011faSEmmanuel Vadot      - description: timer4 interrupt
44*0e8011faSEmmanuel Vadot
45*0e8011faSEmmanuel Vadotrequired:
46*0e8011faSEmmanuel Vadot  - compatible
47*0e8011faSEmmanuel Vadot  - reg
48*0e8011faSEmmanuel Vadot  - clocks
49*0e8011faSEmmanuel Vadot  - interrupts
50*0e8011faSEmmanuel Vadot
51*0e8011faSEmmanuel VadotadditionalProperties: false
52*0e8011faSEmmanuel Vadot
53*0e8011faSEmmanuel Vadotexamples:
54*0e8011faSEmmanuel Vadot  - |
55*0e8011faSEmmanuel Vadot    timer@3200 {
56*0e8011faSEmmanuel Vadot      compatible = "realtek,rtl9302-timer", "realtek,otto-timer";
57*0e8011faSEmmanuel Vadot      reg = <0x3200 0x10>, <0x3210 0x10>, <0x3220 0x10>,
58*0e8011faSEmmanuel Vadot            <0x3230 0x10>, <0x3240 0x10>;
59*0e8011faSEmmanuel Vadot
60*0e8011faSEmmanuel Vadot      interrupt-parent = <&intc>;
61*0e8011faSEmmanuel Vadot      interrupts = <7>, <8>, <9>, <10>, <11>;
62*0e8011faSEmmanuel Vadot      clocks = <&lx_clk>;
63*0e8011faSEmmanuel Vadot    };
64