linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/1] dt-bindings: timer: mediatek: Convert binding to YAML
@ 2022-04-22 13:13 Allen-KH Cheng
  2022-04-22 13:13 ` [PATCH 1/1] " Allen-KH Cheng
  0 siblings, 1 reply; 4+ messages in thread
From: Allen-KH Cheng @ 2022-04-22 13:13 UTC (permalink / raw)
  To: Daniel Lezcano, Thomas Gleixner, Matthias Brugger, Rob Herring,
	Krzysztof Kozlowski
  Cc: Project_Global_Chrome_Upstream_Group, devicetree,
	linux-arm-kernel, linux-kernel, linux-mediatek, Chen-Yu Tsai,
	Ryder Lee, Allen-KH Cheng

Based on tag: next-20220422, linux-next/master + [1],

In [1], mt8186 compatible should be applied, but I don't find this.
I convert binding to YAML base on [1].

[1] https://lore.kernel.org/all/98be733a-62b0-4cf6-ab27-992ea49da5b1@linaro.org/$

Allen-KH Cheng (1):
  dt-bindings: timer: mediatek: Convert binding to YAML

 .../bindings/timer/mediatek,mtk-timer.txt     | 42 ----------
 .../bindings/timer/mediatek,mtk-timer.yaml    | 79 +++++++++++++++++++
 2 files changed, 79 insertions(+), 42 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/timer/mediatek,mtk-timer.txt
 create mode 100644 Documentation/devicetree/bindings/timer/mediatek,mtk-timer.yaml

-- 
2.18.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/1] dt-bindings: timer: mediatek: Convert binding to YAML
  2022-04-22 13:13 [PATCH 0/1] dt-bindings: timer: mediatek: Convert binding to YAML Allen-KH Cheng
@ 2022-04-22 13:13 ` Allen-KH Cheng
  2022-04-22 13:17   ` Matthias Brugger
  2022-04-24 14:51   ` Krzysztof Kozlowski
  0 siblings, 2 replies; 4+ messages in thread
From: Allen-KH Cheng @ 2022-04-22 13:13 UTC (permalink / raw)
  To: Daniel Lezcano, Thomas Gleixner, Matthias Brugger, Rob Herring,
	Krzysztof Kozlowski
  Cc: Project_Global_Chrome_Upstream_Group, devicetree,
	linux-arm-kernel, linux-kernel, linux-mediatek, Chen-Yu Tsai,
	Ryder Lee, Allen-KH Cheng

Convert Mediatek timer devicetree binding to YAML.

Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
---
 .../bindings/timer/mediatek,mtk-timer.txt     | 42 ----------
 .../bindings/timer/mediatek,mtk-timer.yaml    | 79 +++++++++++++++++++
 2 files changed, 79 insertions(+), 42 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/timer/mediatek,mtk-timer.txt
 create mode 100644 Documentation/devicetree/bindings/timer/mediatek,mtk-timer.yaml

diff --git a/Documentation/devicetree/bindings/timer/mediatek,mtk-timer.txt b/Documentation/devicetree/bindings/timer/mediatek,mtk-timer.txt
deleted file mode 100644
index 6f1f9dba6e88..000000000000
--- a/Documentation/devicetree/bindings/timer/mediatek,mtk-timer.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-MediaTek Timers
----------------
-
-MediaTek SoCs have two different timers on different platforms,
-- 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,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)
-
-- 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,mtk-timer.yaml b/Documentation/devicetree/bindings/timer/mediatek,mtk-timer.yaml
new file mode 100644
index 000000000000..be7eb09275f9
--- /dev/null
+++ b/Documentation/devicetree/bindings/timer/mediatek,mtk-timer.yaml
@@ -0,0 +1,79 @@
+# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/timer/mediatek,mtk-timer.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek SoCs timers bindings
+
+description:
+  MediaTek SoCs have two different timers on different platforms,
+  - GPT (General Purpose Timer)
+  - SYST (System Timer)
+
+maintainers:
+  - Fengquan Chen <fengquan.chen@mediatek.com>
+  - Allen-KH Cheng <allen-kh.cheng@mediatek.com>
+
+properties:
+  $nodename:
+    pattern: '^timer@[a-f0-9]+$'
+
+  compatible:
+    oneOf:
+      - const: mediatek,mt6577-timer
+      - const: mediatek,mt6765-timer
+      - 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
+      - items:
+          - enum:
+              - mediatek,mt7629-timer
+              - mediatek,mt8183-timer
+              - mediatek,mt8186-timer
+              - mediatek,mt8192-timer
+              - mediatek,mt8195-timer
+          - const: mediatek,mt6765-timer
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    minItems: 1
+    maxItems: 2
+
+  clock-names:
+    minItems: 1
+    items:
+      - const: clk13m
+      - const: bus
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+additionalProperties: false
+
+examples:
+  - |
+    timer@10008000 {
+        compatible = "mediatek,mt6577-timer";
+        reg = <0xd4014000 0x100>;
+        interrupts = <13>;
+        clocks = <&coreclk 2>;
+    };
+
+...
-- 
2.18.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/1] dt-bindings: timer: mediatek: Convert binding to YAML
  2022-04-22 13:13 ` [PATCH 1/1] " Allen-KH Cheng
@ 2022-04-22 13:17   ` Matthias Brugger
  2022-04-24 14:51   ` Krzysztof Kozlowski
  1 sibling, 0 replies; 4+ messages in thread
From: Matthias Brugger @ 2022-04-22 13:17 UTC (permalink / raw)
  To: Allen-KH Cheng, Daniel Lezcano, Thomas Gleixner, Rob Herring,
	Krzysztof Kozlowski
  Cc: Project_Global_Chrome_Upstream_Group, devicetree,
	linux-arm-kernel, linux-kernel, linux-mediatek, Chen-Yu Tsai,
	Ryder Lee



On 22/04/2022 15:13, Allen-KH Cheng wrote:
> Convert Mediatek timer devicetree binding to YAML.
> 
> Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
> ---
>   .../bindings/timer/mediatek,mtk-timer.txt     | 42 ----------
>   .../bindings/timer/mediatek,mtk-timer.yaml    | 79 +++++++++++++++++++
>   2 files changed, 79 insertions(+), 42 deletions(-)
>   delete mode 100644 Documentation/devicetree/bindings/timer/mediatek,mtk-timer.txt
>   create mode 100644 Documentation/devicetree/bindings/timer/mediatek,mtk-timer.yaml
> 
> diff --git a/Documentation/devicetree/bindings/timer/mediatek,mtk-timer.txt b/Documentation/devicetree/bindings/timer/mediatek,mtk-timer.txt
> deleted file mode 100644
> index 6f1f9dba6e88..000000000000
> --- a/Documentation/devicetree/bindings/timer/mediatek,mtk-timer.txt
> +++ /dev/null
> @@ -1,42 +0,0 @@
> -MediaTek Timers
> ----------------
> -
> -MediaTek SoCs have two different timers on different platforms,
> -- 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,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)
> -
> -- 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,mtk-timer.yaml b/Documentation/devicetree/bindings/timer/mediatek,mtk-timer.yaml
> new file mode 100644
> index 000000000000..be7eb09275f9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/timer/mediatek,mtk-timer.yaml
> @@ -0,0 +1,79 @@
> +# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/timer/mediatek,mtk-timer.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MediaTek SoCs timers bindings
> +
> +description:
> +  MediaTek SoCs have two different timers on different platforms,
> +  - GPT (General Purpose Timer)
> +  - SYST (System Timer)
> +
> +maintainers:
> +  - Fengquan Chen <fengquan.chen@mediatek.com>
> +  - Allen-KH Cheng <allen-kh.cheng@mediatek.com>
> +
> +properties:
> +  $nodename:
> +    pattern: '^timer@[a-f0-9]+$'
> +
> +  compatible:
> +    oneOf:
> +      - const: mediatek,mt6577-timer
> +      - const: mediatek,mt6765-timer
> +      - 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
> +      - items:
> +          - enum:
> +              - mediatek,mt7629-timer
> +              - mediatek,mt8183-timer
> +              - mediatek,mt8186-timer
> +              - mediatek,mt8192-timer
> +              - mediatek,mt8195-timer
> +          - const: mediatek,mt6765-timer
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clocks:
> +    minItems: 1
> +    maxItems: 2
> +
> +  clock-names:
> +    minItems: 1
> +    items:
> +      - const: clk13m
> +      - const: bus
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts

Are we missing clocks here?

Regards,
Matthias

> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    timer@10008000 {
> +        compatible = "mediatek,mt6577-timer";
> +        reg = <0xd4014000 0x100>;
> +        interrupts = <13>;
> +        clocks = <&coreclk 2>;
> +    };
> +
> +...

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/1] dt-bindings: timer: mediatek: Convert binding to YAML
  2022-04-22 13:13 ` [PATCH 1/1] " Allen-KH Cheng
  2022-04-22 13:17   ` Matthias Brugger
@ 2022-04-24 14:51   ` Krzysztof Kozlowski
  1 sibling, 0 replies; 4+ messages in thread
From: Krzysztof Kozlowski @ 2022-04-24 14:51 UTC (permalink / raw)
  To: Allen-KH Cheng, Daniel Lezcano, Thomas Gleixner,
	Matthias Brugger, Rob Herring, Krzysztof Kozlowski
  Cc: Project_Global_Chrome_Upstream_Group, devicetree,
	linux-arm-kernel, linux-kernel, linux-mediatek, Chen-Yu Tsai,
	Ryder Lee

On 22/04/2022 15:13, Allen-KH Cheng wrote:

You should also fix the DTSes to match the new schema.

> +$id: http://devicetree.org/schemas/timer/mediatek,mtk-timer.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MediaTek SoCs timers bindings
> +
> +description:
> +  MediaTek SoCs have two different timers on different platforms,
> +  - GPT (General Purpose Timer)
> +  - SYST (System Timer)
> +
> +maintainers:
> +  - Fengquan Chen <fengquan.chen@mediatek.com>
> +  - Allen-KH Cheng <allen-kh.cheng@mediatek.com>
> +
> +properties:
> +  $nodename:
> +    pattern: '^timer@[a-f0-9]+$'
> +
> +  compatible:
> +    oneOf:
> +      - const: mediatek,mt6577-timer
> +      - const: mediatek,mt6765-timer

These two entries should be an enum.

> +      - 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
> +      - items:
> +          - enum:
> +              - mediatek,mt7629-timer
> +              - mediatek,mt8183-timer
> +              - mediatek,mt8186-timer
> +              - mediatek,mt8192-timer
> +              - mediatek,mt8195-timer
> +          - const: mediatek,mt6765-timer
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clocks:
> +    minItems: 1
> +    maxItems: 2
> +
> +  clock-names:
> +    minItems: 1
> +    items:
> +      - const: clk13m
> +      - const: bus

When is the bus clock optional?

> +
> +required:
> +  - compatible
> +  - reg

clocks are required in the old bindings

> +  - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    timer@10008000 {
> +        compatible = "mediatek,mt6577-timer";
> +        reg = <0xd4014000 0x100>;

reg does not match unit address.


> +        interrupts = <13>;
> +        clocks = <&coreclk 2>;
> +    };
> +
> +...


Best regards,
Krzysztof

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-04-24 14:52 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-22 13:13 [PATCH 0/1] dt-bindings: timer: mediatek: Convert binding to YAML Allen-KH Cheng
2022-04-22 13:13 ` [PATCH 1/1] " Allen-KH Cheng
2022-04-22 13:17   ` Matthias Brugger
2022-04-24 14:51   ` Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).