Thread (51 messages) 51 messages, 6 authors, 2025-09-11

Re: [PATCH v1 01/14] media: dt-bindings: Convert MediaTek mt8173-mdp bindings to YAML

From: Krzysztof Kozlowski <krzk@kernel.org>
Date: 2025-08-21 06:46:17
Also in: dri-devel, linux-arm-kernel, linux-clk, linux-devicetree, linux-gpio, linux-media, linux-mediatek, linux-sound, lkml, netdev

On Wed, Aug 20, 2025 at 02:12:49PM -0300, Ariel D'Alessandro wrote:
Convert the existing text-based DT bindings for MediaTek MT8173 Media Data Path
to a YAML schema.
Please wrap commit message according to Linux coding style / submission
process (neither too early nor over the limit):
https://elixir.bootlin.com/linux/v6.4-rc1/source/Documentation/process/submitting-patches.rst#L597
quoted hunk ↗ jump to hunk
Signed-off-by: Ariel D'Alessandro <redacted>
---
 .../bindings/media/mediatek,mt8173-mdp.yaml   | 174 ++++++++++++++++++
 .../bindings/media/mediatek-mdp.txt           |  95 ----------
 2 files changed, 174 insertions(+), 95 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/media/mediatek,mt8173-mdp.yaml
 delete mode 100644 Documentation/devicetree/bindings/media/mediatek-mdp.txt
diff --git a/Documentation/devicetree/bindings/media/mediatek,mt8173-mdp.yaml b/Documentation/devicetree/bindings/media/mediatek,mt8173-mdp.yaml
new file mode 100644
index 0000000000000..f3a08afc305b1
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/mediatek,mt8173-mdp.yaml
@@ -0,0 +1,174 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/mediatek,mt8173-mdp.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek MT8173 Media Data Path
+
+maintainers:
+  - Ariel D'Alessandro <ariel.dalessandro@collabora.com>
+
+description:
+  Media Data Path is used for scaling and color space conversion.
+
+properties:
+  compatible:
+    oneOf:
+      - items:
Just enum, no items here

+          - enum:
+              - mediatek,mt8173-mdp-rdma
+              - mediatek,mt8173-mdp-rsz
+              - mediatek,mt8173-mdp-wdma
+              - mediatek,mt8173-mdp-wrot
+      - items:
+          - enum:
+              - mediatek,mt8173-mdp-rdma
+              - mediatek,mt8173-mdp-rsz
+              - mediatek,mt8173-mdp-wdma
+              - mediatek,mt8173-mdp-wrot
+          - const: mediatek,mt8173-mdp
This makes no sense. How devices can be compatible and can not be
compatible.
+
+  reg:
+    maxItems: 1
+
+  clocks: true
No, there's no such syntax. Look at other bindings.

+
+  power-domains:
+    maxItems: 1
+
+  iommus:
+    description: |
Drop |
+      This property should point to the respective IOMMU block with master port as argument,
+      see Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml for details.
Drop entire description, completely redundant. I don't know why my patch
fixing this was not applied, so you keep repeating same mistakes...
+    maxItems: 1
+
+  mediatek,vpu:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description:
+      Describes point to vpu.
Useless description. We see that from the property name. Explain the
purpose in the hardware.
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - power-domains
+
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: mediatek,mt8173-mdp-rdma
+    then:
+      properties:
+        clocks:
+          items:
+            - description: Main clock
+            - description: Mutex clock
+    else:
+      properties:
+        clocks:
+          items:
+            - description: Main clock
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - mediatek,mt8173-mdp-rdma
+              - mediatek,mt8173-mdp-wdma
+              - mediatek,mt8173-mdp-wrot
+    then:
+      required:
+        - iommus
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: mediatek,mt8173-mdp
This makes no sense either.
+    then:
+      required:
+        - mediatek,vpu
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/mt8173-clk.h>
+    #include <dt-bindings/memory/mt8173-larb-port.h>
+    #include <dt-bindings/power/mt8173-power.h>
+
+    soc {
+        #address-cells = <2>;
+        #size-cells = <2>;
+
+        mdp_rdma0: rdma@14001000 {
One example is enough. Two could be fine if they differ significantly.

Best regards,
Krzysztof
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help