]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
dt-bindings: timer: mediatek: Convert to json-schema
authorAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Thu, 29 Sep 2022 12:29:01 +0000 (14:29 +0200)
committerRob Herring <robh@kernel.org>
Thu, 7 Mar 2024 18:17:52 +0000 (12:17 -0600)
Convert the MediaTek SoC timer txt binding to json-schema.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20220929122901.614315-3-angelogioacchino.delregno@collabora.com
[robh: Add mt8365 compatible, drop duplicate mediatek,mt6795-systimer, drop quotes]
Signed-off-by: Rob Herring <robh@kernel.org>
Documentation/devicetree/bindings/timer/mediatek,mtk-timer.txt [deleted file]
Documentation/devicetree/bindings/timer/mediatek,timer.yaml [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/timer/mediatek,mtk-timer.txt b/Documentation/devicetree/bindings/timer/mediatek,mtk-timer.txt
deleted file mode 100644 (file)
index b3e797e..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-MediaTek Timers
----------------
-
-MediaTek SoCs have different timers on different platforms,
-- CPUX (ARM/ARM64 System Timer)
-- GPT (General Purpose Timer)
-- SYST (System Timer)
-
-The proper timer will be selected automatically by driver.
-
-Required properties:
-- compatible should contain:
-       For those SoCs that use GPT
-       * "mediatek,mt2701-timer" for MT2701 compatible timers (GPT)
-       * "mediatek,mt6580-timer" for MT6580 compatible timers (GPT)
-       * "mediatek,mt6582-timer" for MT6582 compatible timers (GPT)
-       * "mediatek,mt6589-timer" for MT6589 compatible timers (GPT)
-       * "mediatek,mt7623-timer" for MT7623 compatible timers (GPT)
-       * "mediatek,mt8127-timer" for MT8127 compatible timers (GPT)
-       * "mediatek,mt8135-timer" for MT8135 compatible timers (GPT)
-       * "mediatek,mt8173-timer" for MT8173 compatible timers (GPT)
-       * "mediatek,mt8516-timer" for MT8516 compatible timers (GPT)
-       * "mediatek,mt6577-timer" for MT6577 and all above compatible timers (GPT)
-
-       For those SoCs that use SYST
-       * "mediatek,mt8183-timer" for MT8183 compatible timers (SYST)
-       * "mediatek,mt8186-timer" for MT8186 compatible timers (SYST)
-       * "mediatek,mt8188-timer" for MT8188 compatible timers (SYST)
-       * "mediatek,mt8192-timer" for MT8192 compatible timers (SYST)
-       * "mediatek,mt8195-timer" for MT8195 compatible timers (SYST)
-       * "mediatek,mt7629-timer" for MT7629 compatible timers (SYST)
-       * "mediatek,mt6765-timer" for MT6765 and all above compatible timers (SYST)
-
-       For those SoCs that use CPUX
-       * "mediatek,mt6795-systimer" for MT6795 compatible timers (CPUX)
-       * "mediatek,mt8365-systimer" for MT8365 compatible timers (CPUX)
-
-- reg: Should contain location and length for timer register.
-- clocks: Should contain system clock.
-
-Examples:
-
-       timer@10008000 {
-               compatible = "mediatek,mt6577-timer";
-               reg = <0x10008000 0x80>;
-               interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_LOW>;
-               clocks = <&system_clk>;
-       };
diff --git a/Documentation/devicetree/bindings/timer/mediatek,timer.yaml b/Documentation/devicetree/bindings/timer/mediatek,timer.yaml
new file mode 100644 (file)
index 0000000..f68fc70
--- /dev/null
@@ -0,0 +1,84 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/timer/mediatek,timer.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek SoC timers
+
+maintainers:
+  - Matthias Brugger <matthias.bgg@gmail.com>
+
+description:
+  MediaTek SoCs have different timers on different platforms,
+  CPUX (ARM/ARM64 System Timer), GPT (General Purpose Timer)
+  and SYST (System Timer).
+
+properties:
+  compatible:
+    oneOf:
+      - items:
+          - enum:
+              - mediatek,mt6577-timer
+              - mediatek,mt6765-timer
+              - mediatek,mt6795-systimer
+      # GPT Timers
+      - items:
+          - enum:
+              - mediatek,mt2701-timer
+              - mediatek,mt6580-timer
+              - mediatek,mt6582-timer
+              - mediatek,mt6589-timer
+              - mediatek,mt7623-timer
+              - mediatek,mt8127-timer
+              - mediatek,mt8135-timer
+              - mediatek,mt8173-timer
+              - mediatek,mt8516-timer
+          - const: mediatek,mt6577-timer
+      # SYST Timers
+      - items:
+          - enum:
+              - mediatek,mt7629-timer
+              - mediatek,mt8183-timer
+              - mediatek,mt8186-timer
+              - mediatek,mt8188-timer
+              - mediatek,mt8192-timer
+              - mediatek,mt8195-timer
+              - mediatek,mt8365-systimer
+          - const: mediatek,mt6765-timer
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    minItems: 1
+    items:
+      - description: Timer clock
+      - description: RTC or bus clock
+
+  clock-names:
+    minItems: 1
+    maxItems: 2
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    timer@10008000 {
+      compatible = "mediatek,mt6577-timer";
+      reg = <0x10008000 0x80>;
+      interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_LOW>;
+      clocks = <&system_clk>;
+    };