xref: /freebsd/sys/contrib/device-tree/Bindings/timer/nxp,s32g2-stm.yaml (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
1*ae5de77eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*ae5de77eSEmmanuel Vadot%YAML 1.2
3*ae5de77eSEmmanuel Vadot---
4*ae5de77eSEmmanuel Vadot$id: http://devicetree.org/schemas/timer/nxp,s32g2-stm.yaml#
5*ae5de77eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*ae5de77eSEmmanuel Vadot
7*ae5de77eSEmmanuel Vadottitle: NXP System Timer Module (STM)
8*ae5de77eSEmmanuel Vadot
9*ae5de77eSEmmanuel Vadotmaintainers:
10*ae5de77eSEmmanuel Vadot  - Daniel Lezcano <daniel.lezcano@kernel.org>
11*ae5de77eSEmmanuel Vadot
12*ae5de77eSEmmanuel Vadotdescription:
13*ae5de77eSEmmanuel Vadot  The System Timer Module supports commonly required system and application
14*ae5de77eSEmmanuel Vadot  software timing functions. STM includes a 32-bit count-up timer and four
15*ae5de77eSEmmanuel Vadot  32-bit compare channels with a separate interrupt source for each channel.
16*ae5de77eSEmmanuel Vadot  The timer is driven by the STM module clock divided by an 8-bit prescale
17*ae5de77eSEmmanuel Vadot  value.
18*ae5de77eSEmmanuel Vadot
19*ae5de77eSEmmanuel Vadotproperties:
20*ae5de77eSEmmanuel Vadot  compatible:
21*ae5de77eSEmmanuel Vadot    oneOf:
22*ae5de77eSEmmanuel Vadot      - const: nxp,s32g2-stm
23*ae5de77eSEmmanuel Vadot      - items:
24*ae5de77eSEmmanuel Vadot          - const: nxp,s32g3-stm
25*ae5de77eSEmmanuel Vadot          - const: nxp,s32g2-stm
26*ae5de77eSEmmanuel Vadot
27*ae5de77eSEmmanuel Vadot  reg:
28*ae5de77eSEmmanuel Vadot    maxItems: 1
29*ae5de77eSEmmanuel Vadot
30*ae5de77eSEmmanuel Vadot  interrupts:
31*ae5de77eSEmmanuel Vadot    maxItems: 1
32*ae5de77eSEmmanuel Vadot
33*ae5de77eSEmmanuel Vadot  clocks:
34*ae5de77eSEmmanuel Vadot    items:
35*ae5de77eSEmmanuel Vadot      - description: Counter clock
36*ae5de77eSEmmanuel Vadot      - description: Module clock
37*ae5de77eSEmmanuel Vadot      - description: Register clock
38*ae5de77eSEmmanuel Vadot
39*ae5de77eSEmmanuel Vadot  clock-names:
40*ae5de77eSEmmanuel Vadot    items:
41*ae5de77eSEmmanuel Vadot      - const: counter
42*ae5de77eSEmmanuel Vadot      - const: module
43*ae5de77eSEmmanuel Vadot      - const: register
44*ae5de77eSEmmanuel Vadot
45*ae5de77eSEmmanuel Vadotrequired:
46*ae5de77eSEmmanuel Vadot  - compatible
47*ae5de77eSEmmanuel Vadot  - reg
48*ae5de77eSEmmanuel Vadot  - interrupts
49*ae5de77eSEmmanuel Vadot  - clocks
50*ae5de77eSEmmanuel Vadot  - clock-names
51*ae5de77eSEmmanuel Vadot
52*ae5de77eSEmmanuel VadotadditionalProperties: false
53*ae5de77eSEmmanuel Vadot
54*ae5de77eSEmmanuel Vadotexamples:
55*ae5de77eSEmmanuel Vadot  - |
56*ae5de77eSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
57*ae5de77eSEmmanuel Vadot
58*ae5de77eSEmmanuel Vadot    timer@4011c000 {
59*ae5de77eSEmmanuel Vadot        compatible = "nxp,s32g2-stm";
60*ae5de77eSEmmanuel Vadot        reg = <0x4011c000 0x3000>;
61*ae5de77eSEmmanuel Vadot        interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
62*ae5de77eSEmmanuel Vadot        clocks = <&clks 0x3b>, <&clks 0x3c>, <&clks 0x3c>;
63*ae5de77eSEmmanuel Vadot        clock-names = "counter", "module", "register";
64*ae5de77eSEmmanuel Vadot    };
65