2021-05-21 14:28:37

by Geert Uytterhoeven

[permalink] [raw]
Subject: [PATCH] dt-bindings: timer: arm,twd: Convert to json-schema

Convert the ARM Timer-Watchdog Device Tree binding documentation to
json-schema. As the old binding document actually contained two
bindings, it is split in two document: one for the timer part, and one
for the watchdog part.

Document missing properties.
Update examples to match reality.

Signed-off-by: Geert Uytterhoeven <[email protected]>
---
I have listed Marc as the maintainer, as he wrote the original bindings.
Marc: Please scream if this is inappropriate ;-)
---
.../bindings/timer/arm,twd-timer.yaml | 56 +++++++++++++++++++
.../devicetree/bindings/timer/arm,twd.txt | 53 ------------------
.../bindings/watchdog/arm,twd-wdt.yaml | 50 +++++++++++++++++
3 files changed, 106 insertions(+), 53 deletions(-)
create mode 100644 Documentation/devicetree/bindings/timer/arm,twd-timer.yaml
delete mode 100644 Documentation/devicetree/bindings/timer/arm,twd.txt
create mode 100644 Documentation/devicetree/bindings/watchdog/arm,twd-wdt.yaml

diff --git a/Documentation/devicetree/bindings/timer/arm,twd-timer.yaml b/Documentation/devicetree/bindings/timer/arm,twd-timer.yaml
new file mode 100644
index 0000000000000000..7521353fb4b021ad
--- /dev/null
+++ b/Documentation/devicetree/bindings/timer/arm,twd-timer.yaml
@@ -0,0 +1,56 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/timer/arm,twd-timer.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ARM Timer-Watchdog Timer
+
+maintainers:
+ - Marc Zyngier <[email protected]>
+
+description:
+ ARM 11MP, Cortex-A5 and Cortex-A9 are often associated with a per-core
+ Timer-Watchdog (aka TWD), which provides both a per-cpu local timer
+ and watchdog.
+
+ The TWD is usually attached to a GIC to deliver its two per-processor
+ interrupts.
+
+properties:
+ compatible:
+ enum:
+ - arm,cortex-a9-twd-timer
+ - arm,cortex-a5-twd-timer
+ - arm,arm11mp-twd-timer
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ always-on:
+ description:
+ If present, the timer is powered through an always-on power domain,
+ therefore it never loses context.
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+ twd-timer@2c000600 {
+ compatible = "arm,arm11mp-twd-timer";
+ reg = <0x2c000600 0x20>;
+ interrupts = <GIC_PPI 13 0xf01>;
+ };
diff --git a/Documentation/devicetree/bindings/timer/arm,twd.txt b/Documentation/devicetree/bindings/timer/arm,twd.txt
deleted file mode 100644
index 383ea19c2bf0073e..0000000000000000
--- a/Documentation/devicetree/bindings/timer/arm,twd.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-* ARM Timer Watchdog
-
-ARM 11MP, Cortex-A5 and Cortex-A9 are often associated with a per-core
-Timer-Watchdog (aka TWD), which provides both a per-cpu local timer
-and watchdog.
-
-The TWD is usually attached to a GIC to deliver its two per-processor
-interrupts.
-
-** Timer node required properties:
-
-- compatible : Should be one of:
- "arm,cortex-a9-twd-timer"
- "arm,cortex-a5-twd-timer"
- "arm,arm11mp-twd-timer"
-
-- interrupts : One interrupt to each core
-
-- reg : Specify the base address and the size of the TWD timer
- register window.
-
-Optional
-
-- always-on : a boolean property. If present, the timer is powered through
- an always-on power domain, therefore it never loses context.
-
-Example:
-
- twd-timer@2c000600 {
- compatible = "arm,arm11mp-twd-timer"";
- reg = <0x2c000600 0x20>;
- interrupts = <1 13 0xf01>;
- };
-
-** Watchdog node properties:
-
-- compatible : Should be one of:
- "arm,cortex-a9-twd-wdt"
- "arm,cortex-a5-twd-wdt"
- "arm,arm11mp-twd-wdt"
-
-- interrupts : One interrupt to each core
-
-- reg : Specify the base address and the size of the TWD watchdog
- register window.
-
-Example:
-
- twd-watchdog@2c000620 {
- compatible = "arm,arm11mp-twd-wdt";
- reg = <0x2c000620 0x20>;
- interrupts = <1 14 0xf01>;
- };
diff --git a/Documentation/devicetree/bindings/watchdog/arm,twd-wdt.yaml b/Documentation/devicetree/bindings/watchdog/arm,twd-wdt.yaml
new file mode 100644
index 0000000000000000..6d50892c96a3154b
--- /dev/null
+++ b/Documentation/devicetree/bindings/watchdog/arm,twd-wdt.yaml
@@ -0,0 +1,50 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/watchdog/arm,twd-wdt.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ARM Timer-Watchdog Watchdog
+
+maintainers:
+ - Marc Zyngier <[email protected]>
+
+description:
+ ARM 11MP, Cortex-A5 and Cortex-A9 are often associated with a per-core
+ Timer-Watchdog (aka TWD), which provides both a per-cpu local timer
+ and watchdog.
+
+ The TWD is usually attached to a GIC to deliver its two per-processor
+ interrupts.
+
+properties:
+ compatible:
+ enum:
+ - arm,cortex-a9-twd-wdt
+ - arm,cortex-a5-twd-wdt
+ - arm,arm11mp-twd-wdt
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+ twd-watchdog@2c000620 {
+ compatible = "arm,arm11mp-twd-wdt";
+ reg = <0x2c000620 0x20>;
+ interrupts = <GIC_PPI 14 0xf01>;
+ };
--
2.25.1


2021-05-21 14:35:39

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: timer: arm,twd: Convert to json-schema

On Thu, May 20, 2021 at 4:45 PM Geert Uytterhoeven
<[email protected]> wrote:
> Convert the ARM Timer-Watchdog Device Tree binding documentation to
> json-schema. As the old binding document actually contained two
> bindings, it is split in two document: one for the timer part, and one
> for the watchdog part.
>
> Document missing properties.
> Update examples to match reality.
>
> Signed-off-by: Geert Uytterhoeven <[email protected]>
> ---
> I have listed Marc as the maintainer, as he wrote the original bindings.
> Marc: Please scream if this is inappropriate ;-)
> ---
> .../bindings/timer/arm,twd-timer.yaml | 56 +++++++++++++++++++
> .../devicetree/bindings/timer/arm,twd.txt | 53 ------------------
> .../bindings/watchdog/arm,twd-wdt.yaml | 50 +++++++++++++++++

Bummer, forgot to update a reference. Feel free to apply this fix

--- a/Documentation/devicetree/bindings/arm/ux500/boards.txt
+++ b/Documentation/devicetree/bindings/arm/ux500/boards.txt
@@ -26,7 +26,7 @@ interrupt-controller:
see binding for interrupt-controller/arm,gic.txt

timer:
- see binding for timer/arm,twd.txt
+ see binding for timer/arm,twd-timer.yaml

clocks:
see binding for clocks/ux500.txt

or wait for v2.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2021-05-21 19:38:20

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: timer: arm,twd: Convert to json-schema

On Thu, May 20, 2021 at 04:45:23PM +0200, Geert Uytterhoeven wrote:
> Convert the ARM Timer-Watchdog Device Tree binding documentation to
> json-schema. As the old binding document actually contained two
> bindings, it is split in two document: one for the timer part, and one
> for the watchdog part.
>
> Document missing properties.
> Update examples to match reality.
>
> Signed-off-by: Geert Uytterhoeven <[email protected]>
> ---
> I have listed Marc as the maintainer, as he wrote the original bindings.
> Marc: Please scream if this is inappropriate ;-)

I don't think Marc cares... So I'll put myself.

I've done that and fixed up the node names and applied.

> ---
> .../bindings/timer/arm,twd-timer.yaml | 56 +++++++++++++++++++
> .../devicetree/bindings/timer/arm,twd.txt | 53 ------------------
> .../bindings/watchdog/arm,twd-wdt.yaml | 50 +++++++++++++++++
> 3 files changed, 106 insertions(+), 53 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/timer/arm,twd-timer.yaml
> delete mode 100644 Documentation/devicetree/bindings/timer/arm,twd.txt
> create mode 100644 Documentation/devicetree/bindings/watchdog/arm,twd-wdt.yaml