Commit 4d54b0b4 authored by Rob Herring (Arm)'s avatar Rob Herring (Arm) Committed by Daniel Lezcano
Browse files

dt-bindings: timer: Convert ti,keystone-timer to DT schema



Convert the TI Keystone Timer binding to DT schema format. It's a
straight-forward conversion.

Signed-off-by: default avatarRob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20250506022330.2589598-1-robh@kernel.org


Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
parent 379967d0
Loading
Loading
Loading
Loading
+0 −29
Original line number Diff line number Diff line
* Device tree bindings for Texas instruments Keystone timer

This document provides bindings for the 64-bit timer in the KeyStone
architecture devices. The timer can be configured as a general-purpose 64-bit
timer, dual general-purpose 32-bit timers. When configured as dual 32-bit
timers, each half can operate in conjunction (chain mode) or independently
(unchained mode) of each other.

It is global timer is a free running up-counter and can generate interrupt
when the counter reaches preset counter values.

Documentation:
https://www.ti.com/lit/ug/sprugv5a/sprugv5a.pdf

Required properties:

- compatible : should be "ti,keystone-timer".
- reg : specifies base physical address and count of the registers.
- interrupts : interrupt generated by the timer.
- clocks : the clock feeding the timer clock.

Example:

timer@22f0000 {
	compatible = "ti,keystone-timer";
	reg = <0x022f0000 0x80>;
	interrupts = <GIC_SPI 110 IRQ_TYPE_EDGE_RISING>;
	clocks = <&clktimer15>;
};
+63 −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/ti,keystone-timer.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: TI Keystone timer

maintainers:
  - Alexander A. Klimov <grandmaster@al2klimov.de>
  - Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>

description: >
  A 64-bit timer in the KeyStone architecture devices. The timer can be
  configured as a general-purpose 64-bit timer, dual general-purpose 32-bit
  timers. When configured as dual 32-bit timers, each half can operate in
  conjunction (chain mode) or independently (unchained mode) of each other.

  It is global timer is a free running up-counter and can generate interrupt
  when the counter reaches preset counter values.

  Documentation:
  https://www.ti.com/lit/ug/sprugv5a/sprugv5a.pdf

properties:
  compatible:
    const: ti,keystone-timer

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  interrupt-names:
    items:
      - const: irq

  clocks:
    maxItems: 1

  clock-names:
    items:
      - const: timer

required:
  - compatible
  - reg
  - interrupts
  - clocks

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>

    timer@22f0000 {
        compatible = "ti,keystone-timer";
        reg = <0x022f0000 0x80>;
        interrupts = <110 IRQ_TYPE_EDGE_RISING>;
        clocks = <&clktimer15>;
    };