Commit df8cad68 authored by Anson Huang's avatar Anson Huang Committed by Rob Herring
Browse files

dt-bindings: timer: Convert i.MX GPT to json-schema



Convert the i.MX GPT binding to DT schema format using json-schema.

Signed-off-by: default avatarAnson Huang <Anson.Huang@nxp.com>
Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent fafcc40f
Loading
Loading
Loading
Loading
+0 −45
Original line number Diff line number Diff line
Freescale i.MX General Purpose Timer (GPT)

Required properties:

- compatible : should be one of following:
  for i.MX1:
  - "fsl,imx1-gpt";
  for i.MX21:
  - "fsl,imx21-gpt";
  for i.MX27:
  - "fsl,imx27-gpt", "fsl,imx21-gpt";
  for i.MX31:
  - "fsl,imx31-gpt";
  for i.MX25:
  - "fsl,imx25-gpt", "fsl,imx31-gpt";
  for i.MX50:
  - "fsl,imx50-gpt", "fsl,imx31-gpt";
  for i.MX51:
  - "fsl,imx51-gpt", "fsl,imx31-gpt";
  for i.MX53:
  - "fsl,imx53-gpt", "fsl,imx31-gpt";
  for i.MX6Q:
  - "fsl,imx6q-gpt", "fsl,imx31-gpt";
  for i.MX6DL:
  - "fsl,imx6dl-gpt";
  for i.MX6SL:
  - "fsl,imx6sl-gpt", "fsl,imx6dl-gpt";
  for i.MX6SX:
  - "fsl,imx6sx-gpt", "fsl,imx6dl-gpt";
- reg : specifies base physical address and size of the registers.
- interrupts : should be the gpt interrupt.
- clocks : the clocks provided by the SoC to drive the timer, must contain
           an entry for each entry in clock-names.
- clock-names : must include "ipg" entry first, then "per" entry.

Example:

gpt1: timer@10003000 {
	compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
	reg = <0x10003000 0x1000>;
	interrupts = <26>;
	clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
		 <&clks IMX27_CLK_PER1_GATE>;
	clock-names = "ipg", "per";
};
+72 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/timer/fsl,imxgpt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale i.MX General Purpose Timer (GPT)

maintainers:
  - Sascha Hauer <s.hauer@pengutronix.de>

properties:
  compatible:
    oneOf:
      - const: fsl,imx1-gpt
      - const: fsl,imx21-gpt
      - items:
          - const: fsl,imx27-gpt
          - const: fsl,imx21-gpt
      - const: fsl,imx31-gpt
      - items:
          - enum:
            - fsl,imx25-gpt
            - fsl,imx50-gpt
            - fsl,imx51-gpt
            - fsl,imx53-gpt
            - fsl,imx6q-gpt
          - const: fsl,imx31-gpt
      - const: fsl,imx6dl-gpt
      - items:
          - enum:
            - fsl,imx6sl-gpt
            - fsl,imx6sx-gpt
          - const: fsl,imx6dl-gpt

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    items:
      - description: SoC GPT ipg clock
      - description: SoC GPT per clock

  clock-names:
    items:
      - const: ipg
      - const: per

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/imx27-clock.h>

    timer@10003000 {
        compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
        reg = <0x10003000 0x1000>;
        interrupts = <26>;
        clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
                 <&clks IMX27_CLK_PER1_GATE>;
        clock-names = "ipg", "per";
    };