dt-bindings: timer: Convert marvell,armada-370-timer to DT schema

Convert the Marvell Armada 37x/380/XP Timer binding to DT schema format.
Update the compatible entries to match what is in use.
"marvell,armada-380-timer" in particular was missing.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20250506022301.2588282-1-robh@kernel.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
This commit is contained in:
Rob Herring (Arm) 2025-05-05 21:23:00 -05:00 committed by Daniel Lezcano
parent 4d54b0b401
commit 4334d83904
2 changed files with 88 additions and 44 deletions

View file

@ -0,0 +1,88 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/timer/marvell,armada-370-timer.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Marvell Armada 370, 375, 380 and XP Timers
maintainers:
- Andrew Lunn <andrew@lunn.ch>
- Gregory Clement <gregory.clement@bootlin.com>
properties:
compatible:
oneOf:
- items:
- const: marvell,armada-380-timer
- const: marvell,armada-xp-timer
- items:
- const: marvell,armada-375-timer
- const: marvell,armada-370-timer
- enum:
- marvell,armada-370-timer
- marvell,armada-xp-timer
reg:
items:
- description: Global timer registers
- description: Local/private timer registers
interrupts:
items:
- description: Global timer interrupt 0
- description: Global timer interrupt 1
- description: Global timer interrupt 2
- description: Global timer interrupt 3
- description: First private timer interrupt
- description: Second private timer interrupt
clocks:
minItems: 1
maxItems: 2
clock-names:
items:
- const: nbclk
- const: fixed
required:
- compatible
- reg
- interrupts
- clocks
additionalProperties: false
allOf:
- if:
properties:
compatible:
contains:
enum:
- marvell,armada-375-timer
- marvell,armada-xp-timer
then:
properties:
clocks:
minItems: 2
clock-names:
minItems: 2
required:
- clock-names
else:
properties:
clocks:
maxItems: 1
clock-names:
maxItems: 1
examples:
- |
timer@20300 {
compatible = "marvell,armada-xp-timer";
reg = <0x20300 0x30>, <0x21040 0x30>;
interrupts = <37>, <38>, <39>, <40>, <5>, <6>;
clocks = <&coreclk 2>, <&refclk>;
clock-names = "nbclk", "fixed";
};

View file

@ -1,44 +0,0 @@
Marvell Armada 370 and Armada XP Timers
---------------------------------------
Required properties:
- compatible: Should be one of the following
"marvell,armada-370-timer",
"marvell,armada-375-timer",
"marvell,armada-xp-timer".
- interrupts: Should contain the list of Global Timer interrupts and
then local timer interrupts
- reg: Should contain location and length for timers register. First
pair for the Global Timer registers, second pair for the
local/private timers.
Clocks required for compatible = "marvell,armada-370-timer":
- clocks : Must contain a single entry describing the clock input
Clocks required for compatibles = "marvell,armada-xp-timer",
"marvell,armada-375-timer":
- clocks : Must contain an entry for each entry in clock-names.
- clock-names : Must include the following entries:
"nbclk" (L2/coherency fabric clock),
"fixed" (Reference 25 MHz fixed-clock).
Examples:
- Armada 370:
timer {
compatible = "marvell,armada-370-timer";
reg = <0x20300 0x30>, <0x21040 0x30>;
interrupts = <37>, <38>, <39>, <40>, <5>, <6>;
clocks = <&coreclk 2>;
};
- Armada XP:
timer {
compatible = "marvell,armada-xp-timer";
reg = <0x20300 0x30>, <0x21040 0x30>;
interrupts = <37>, <38>, <39>, <40>, <5>, <6>;
clocks = <&coreclk 2>, <&refclk>;
clock-names = "nbclk", "fixed";
};