Re: [PATCH] dt-bindings: media: convert Mediatek consumer IR to the json-schema

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Il 24/01/24 10:52, Rafał Miłecki ha scritto:
From: Rafał Miłecki <rafal@xxxxxxxxxx>

This helps validating DTS files. Introduced changes:
1. Reworded title
2. Added required #include-s and adjusted "reg" in example

Signed-off-by: Rafał Miłecki <rafal@xxxxxxxxxx>
---
  .../bindings/media/mediatek,mt7622-cir.yaml   | 81 +++++++++++++++++++
  .../devicetree/bindings/media/mtk-cir.txt     | 28 -------
  2 files changed, 81 insertions(+), 28 deletions(-)
  create mode 100644 Documentation/devicetree/bindings/media/mediatek,mt7622-cir.yaml
  delete mode 100644 Documentation/devicetree/bindings/media/mtk-cir.txt

diff --git a/Documentation/devicetree/bindings/media/mediatek,mt7622-cir.yaml b/Documentation/devicetree/bindings/media/mediatek,mt7622-cir.yaml
new file mode 100644
index 000000000000..a2d0eed33292
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/mediatek,mt7622-cir.yaml
@@ -0,0 +1,81 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/mediatek,mt7622-cir.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Mediatek consumer IR on-SoC controller

title: MediaTek Consumer Infrared Receiver on-SoC Controller

+
+maintainers:
+  - Sean Wang <sean.wang@xxxxxxxxxxxx>
+
+properties:
+  compatible:
+    enum:
+      - mediatek,mt7622-cir
+      - mediatek,mt7623-cir
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    minItems: 1
+    maxItems: 2
+
+  clock-names:
+    minItems: 1
+    items:
+      - const: clk
+      - const: bus

The driver says:

	ir->bus = devm_clk_get(dev, "bus");
	if (IS_ERR(ir->bus)) {
		/*
		 * For compatibility with older device trees try unnamed
		 * ir->bus uses the same clock as ir->clock.
		 */
		ir->bus = ir->clk;
	}

This makes me think that requiring *one* clock on MT7623 would be a mistake
and the devicetree should use clk, bus - CLK_INFRA_IRRX_PD, CLK_TOP_F10M_REF_SEL.

Seen that - I'm sure that setting maxItems: 1 on mediatek,mt7623-cir would as
well be a mistake.

+
+required:
+  - reg
+  - interrupts
+  - clocks
+  - clock-names
+
+allOf:
+  - $ref: rc.yaml#
+  - if:

The solution would be to simply delete those if branches and, to keep compatibility
with the already present mt7623.dtsi file, keep min/max items to 1 and 2 (of course
in the case of clock-names, maxItems shall not be declared, as it's dictated by the
consts).

+      properties:
+        compatible:
+          contains:
+            const: mediatek,mt7622-cir
+    then:
+      properties:
+        clocks:
+          minItems: 2
+
+        clock-names:
+          minItems: 2
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: mediatek,mt7623-cir
+    then:
+      properties:
+        clocks:
+          maxItems: 1
+
+        clock-names:
+          maxItems: 1
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/mt2701-clk.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    ir@10013000 {

Please use a common generic name, as seen in gpio-ir-receiver.yaml and in
amlogic,meson6-ir.yaml:

ir-receiver@10013000 {

Cheers,
Angelo





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux