xref: /freebsd/sys/contrib/device-tree/Bindings/timer/fsl,imxgpt.yaml (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/timer/fsl,imxgpt.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Freescale i.MX General Purpose Timer (GPT)
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Sascha Hauer <s.hauer@pengutronix.de>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadotproperties:
13c66ec88fSEmmanuel Vadot  compatible:
14c66ec88fSEmmanuel Vadot    oneOf:
15c66ec88fSEmmanuel Vadot      - const: fsl,imx1-gpt
16c66ec88fSEmmanuel Vadot      - const: fsl,imx21-gpt
17c66ec88fSEmmanuel Vadot      - items:
18c66ec88fSEmmanuel Vadot          - const: fsl,imx27-gpt
19c66ec88fSEmmanuel Vadot          - const: fsl,imx21-gpt
20c66ec88fSEmmanuel Vadot      - const: fsl,imx31-gpt
21c66ec88fSEmmanuel Vadot      - items:
22c66ec88fSEmmanuel Vadot          - enum:
23c66ec88fSEmmanuel Vadot              - fsl,imx25-gpt
24c66ec88fSEmmanuel Vadot              - fsl,imx50-gpt
25c66ec88fSEmmanuel Vadot              - fsl,imx51-gpt
26c66ec88fSEmmanuel Vadot              - fsl,imx53-gpt
27c66ec88fSEmmanuel Vadot              - fsl,imx6q-gpt
28c66ec88fSEmmanuel Vadot          - const: fsl,imx31-gpt
29c66ec88fSEmmanuel Vadot      - const: fsl,imx6dl-gpt
30c66ec88fSEmmanuel Vadot      - items:
31c66ec88fSEmmanuel Vadot          - enum:
32c66ec88fSEmmanuel Vadot              - fsl,imx6sl-gpt
33c66ec88fSEmmanuel Vadot              - fsl,imx6sx-gpt
34f126890aSEmmanuel Vadot              - fsl,imx8mp-gpt
358bab661aSEmmanuel Vadot              - fsl,imxrt1050-gpt
368bab661aSEmmanuel Vadot              - fsl,imxrt1170-gpt
37c66ec88fSEmmanuel Vadot          - const: fsl,imx6dl-gpt
38f126890aSEmmanuel Vadot      - items:
39*84943d6fSEmmanuel Vadot          - enum:
40*84943d6fSEmmanuel Vadot              - fsl,imx6ul-gpt
41*84943d6fSEmmanuel Vadot              - fsl,imx7d-gpt
42f126890aSEmmanuel Vadot          - const: fsl,imx6sx-gpt
43c66ec88fSEmmanuel Vadot
44c66ec88fSEmmanuel Vadot  reg:
45c66ec88fSEmmanuel Vadot    maxItems: 1
46c66ec88fSEmmanuel Vadot
47c66ec88fSEmmanuel Vadot  interrupts:
48c66ec88fSEmmanuel Vadot    maxItems: 1
49c66ec88fSEmmanuel Vadot
50c66ec88fSEmmanuel Vadot  clocks:
51*84943d6fSEmmanuel Vadot    minItems: 2
52c66ec88fSEmmanuel Vadot    items:
53c66ec88fSEmmanuel Vadot      - description: SoC GPT ipg clock
54c66ec88fSEmmanuel Vadot      - description: SoC GPT per clock
55*84943d6fSEmmanuel Vadot      - description: SoC GPT osc per clock
56c66ec88fSEmmanuel Vadot
57c66ec88fSEmmanuel Vadot  clock-names:
58*84943d6fSEmmanuel Vadot    minItems: 2
59c66ec88fSEmmanuel Vadot    items:
60c66ec88fSEmmanuel Vadot      - const: ipg
61c66ec88fSEmmanuel Vadot      - const: per
62*84943d6fSEmmanuel Vadot      - const: osc_per
63c66ec88fSEmmanuel Vadot
64c66ec88fSEmmanuel Vadotrequired:
65c66ec88fSEmmanuel Vadot  - compatible
66c66ec88fSEmmanuel Vadot  - reg
67c66ec88fSEmmanuel Vadot  - interrupts
68c66ec88fSEmmanuel Vadot  - clocks
69c66ec88fSEmmanuel Vadot  - clock-names
70c66ec88fSEmmanuel Vadot
71*84943d6fSEmmanuel VadotallOf:
72*84943d6fSEmmanuel Vadot  - if:
73*84943d6fSEmmanuel Vadot      properties:
74*84943d6fSEmmanuel Vadot        compatible:
75*84943d6fSEmmanuel Vadot          contains:
76*84943d6fSEmmanuel Vadot            enum:
77*84943d6fSEmmanuel Vadot              - fsl,imx6dl-gpt
78*84943d6fSEmmanuel Vadot              - fsl,imx6q-gpt
79*84943d6fSEmmanuel Vadot    then:
80*84943d6fSEmmanuel Vadot      properties:
81*84943d6fSEmmanuel Vadot        clocks:
82*84943d6fSEmmanuel Vadot          minItems: 2
83*84943d6fSEmmanuel Vadot          maxItems: 3
84*84943d6fSEmmanuel Vadot        clock-names:
85*84943d6fSEmmanuel Vadot          minItems: 2
86*84943d6fSEmmanuel Vadot          maxItems: 3
87*84943d6fSEmmanuel Vadot    else:
88*84943d6fSEmmanuel Vadot      properties:
89*84943d6fSEmmanuel Vadot        clocks:
90*84943d6fSEmmanuel Vadot          maxItems: 2
91*84943d6fSEmmanuel Vadot        clock-names:
92*84943d6fSEmmanuel Vadot          maxItems: 2
93*84943d6fSEmmanuel Vadot
94c66ec88fSEmmanuel VadotadditionalProperties: false
95c66ec88fSEmmanuel Vadot
96c66ec88fSEmmanuel Vadotexamples:
97c66ec88fSEmmanuel Vadot  - |
98c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/imx27-clock.h>
99c66ec88fSEmmanuel Vadot
100c66ec88fSEmmanuel Vadot    timer@10003000 {
101c66ec88fSEmmanuel Vadot        compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
102c66ec88fSEmmanuel Vadot        reg = <0x10003000 0x1000>;
103c66ec88fSEmmanuel Vadot        interrupts = <26>;
104c66ec88fSEmmanuel Vadot        clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
105c66ec88fSEmmanuel Vadot                 <&clks IMX27_CLK_PER1_GATE>;
106c66ec88fSEmmanuel Vadot        clock-names = "ipg", "per";
107c66ec88fSEmmanuel Vadot    };
108