dt-bindings: timer: Convert fsl,gtm to YAML

Convert fsl,gtm.txt to YAML so that device trees using a Freescale
General-purpose Timers Module can be properly validated.

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
Link: https://lore.kernel.org/r/20250412-gtm-yaml-v2-1-e4d2292ffefc@posteo.net
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
This commit is contained in:
J. Neuschäfer 2025-04-12 14:56:20 +02:00 committed by Daniel Lezcano
parent b823905419
commit eb7bc69201
2 changed files with 83 additions and 30 deletions

View File

@ -1,30 +0,0 @@
* Freescale General-purpose Timers Module
Required properties:
- compatible : should be
"fsl,<chip>-gtm", "fsl,gtm" for SOC GTMs
"fsl,<chip>-qe-gtm", "fsl,qe-gtm", "fsl,gtm" for QE GTMs
"fsl,<chip>-cpm2-gtm", "fsl,cpm2-gtm", "fsl,gtm" for CPM2 GTMs
- reg : should contain gtm registers location and length (0x40).
- interrupts : should contain four interrupts.
- clock-frequency : specifies the frequency driving the timer.
Example:
timer@500 {
compatible = "fsl,mpc8360-gtm", "fsl,gtm";
reg = <0x500 0x40>;
interrupts = <90 8 78 8 84 8 72 8>;
interrupt-parent = <&ipic>;
/* filled by u-boot */
clock-frequency = <0>;
};
timer@440 {
compatible = "fsl,mpc8360-qe-gtm", "fsl,qe-gtm", "fsl,gtm";
reg = <0x440 0x40>;
interrupts = <12 13 14 15>;
interrupt-parent = <&qeic>;
/* filled by u-boot */
clock-frequency = <0>;
};

View File

@ -0,0 +1,83 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/timer/fsl,gtm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Freescale General-purpose Timers Module
maintainers:
- J. Neuschäfer <j.ne@posteo.net>
properties:
compatible:
oneOf:
# for SoC GTMs
- items:
- enum:
- fsl,mpc8308-gtm
- fsl,mpc8313-gtm
- fsl,mpc8315-gtm
- fsl,mpc8360-gtm
- const: fsl,gtm
# for QE GTMs
- items:
- enum:
- fsl,mpc8360-qe-gtm
- fsl,mpc8569-qe-gtm
- const: fsl,qe-gtm
- const: fsl,gtm
# for CPM2 GTMs (no known examples)
- items:
# - enum:
# - fsl,<chip>-cpm2-gtm
- const: fsl,cpm2-gtm
- const: fsl,gtm
reg:
maxItems: 1
interrupts:
items:
- description: Interrupt for timer 1 (e.g. GTM1 or GTM5)
- description: Interrupt for timer 2 (e.g. GTM2 or GTM6)
- description: Interrupt for timer 3 (e.g. GTM3 or GTM7)
- description: Interrupt for timer 4 (e.g. GTM4 or GTM8)
clock-frequency: true
required:
- compatible
- reg
- interrupts
- clock-frequency
additionalProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
timer@500 {
compatible = "fsl,mpc8360-gtm", "fsl,gtm";
reg = <0x500 0x40>;
interrupts = <90 IRQ_TYPE_LEVEL_LOW>,
<78 IRQ_TYPE_LEVEL_LOW>,
<84 IRQ_TYPE_LEVEL_LOW>,
<72 IRQ_TYPE_LEVEL_LOW>;
/* filled by u-boot */
clock-frequency = <0>;
};
- |
timer@440 {
compatible = "fsl,mpc8360-qe-gtm", "fsl,qe-gtm", "fsl,gtm";
reg = <0x440 0x40>;
interrupts = <12>, <13>, <14>, <15>;
/* filled by u-boot */
clock-frequency = <0>;
};
...