media: dt-bindings: ti,da850-vpif: Convert to dt-schema
authorBhargav Joshi <j.bhargav.u@gmail.com>
Wed, 12 Aug 2026 23:39:08 +0000 (05:09 +0530)
committerRob Herring (Arm) <robh@kernel.org>
Fri, 14 Aug 2026 20:43:23 +0000 (15:43 -0500)
Convert the Texas Instruments DA850/AM18x Video Port Interface (VPIF)
device tree binding from text format to YAML dt-schema.
Add power-domains property missing from text.

Signed-off-by: Bhargav Joshi <j.bhargav.u@gmail.com>
Link: https://patch.msgid.link/20260813-ti-da850-vpif-v2-1-80ba62ca53d0@gmail.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Documentation/devicetree/bindings/media/ti,da850-vpif.txt [deleted file]
Documentation/devicetree/bindings/media/ti,da850-vpif.yaml [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/media/ti,da850-vpif.txt b/Documentation/devicetree/bindings/media/ti,da850-vpif.txt
deleted file mode 100644 (file)
index e47c7cc..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-Texas Instruments VPIF
-----------------------
-
-The TI Video Port InterFace (VPIF) is the primary component for video
-capture and display on the DA850/AM18x family of TI DaVinci/Sitara
-SoCs.
-
-TI Document reference: SPRUH82C, Chapter 35
-http://www.ti.com/lit/pdf/spruh82
-
-Required properties:
-- compatible: must be "ti,da850-vpif"
-- reg: physical base address and length of the registers set for the device;
-- interrupts: should contain IRQ line for the VPIF
-
-Video Capture:
-
-VPIF has a 16-bit parallel bus input, supporting 2 8-bit channels or a
-single 16-bit channel. It should contain one or two port child nodes
-with child 'endpoint' node. If there are two ports then port@0 must
-describe the input and port@1 output channels. Please refer to the
-bindings defined in
-Documentation/devicetree/bindings/media/video-interfaces.txt.
-
-Example using 2 8-bit input channels, one of which is connected to an
-I2C-connected TVP5147 decoder:
-
-       vpif: vpif@217000 {
-               compatible = "ti,da850-vpif";
-               reg = <0x217000 0x1000>;
-               interrupts = <92>;
-
-               port@0 {
-                       vpif_input_ch0: endpoint@0 {
-                               reg = <0>;
-                               bus-width = <8>;
-                               remote-endpoint = <&composite_in>;
-                       };
-
-                       vpif_input_ch1: endpoint@1 {
-                               reg = <1>;
-                               bus-width = <8>;
-                               data-shift = <8>;
-                       };
-               };
-
-               port@1 {
-                       vpif_output_ch0: endpoint {
-                               bus-width = <8>;
-                               remote-endpoint = <&composite_out>;
-                       };
-               };
-       };
-
-[ ... ]
-
-&i2c0 {
-
-       tvp5147@5d {
-               compatible = "ti,tvp5147";
-               reg = <0x5d>;
-
-               port {
-                       composite_in: endpoint {
-                               hsync-active = <1>;
-                               vsync-active = <1>;
-                               pclk-sample = <0>;
-
-                               /* VPIF channel 0 (lower 8-bits) */
-                               remote-endpoint = <&vpif_input_ch0>;
-                               bus-width = <8>;
-                       };
-               };
-       };
-
-       adv7343@2a {
-               compatible = "adi,adv7343";
-               reg = <0x2a>;
-
-               port {
-                       composite_out: endpoint {
-                               adi,dac-enable = <1 1 1>;
-                               adi,sd-dac-enable = <1>;
-
-                               remote-endpoint = <&vpif_output_ch0>;
-                               bus-width = <8>;
-                       };
-               };
-       };
-};
-
-
-Alternatively, an example when the bus is configured as a single
-16-bit input (e.g. for raw-capture mode):
-
-       vpif: vpif@217000 {
-               compatible = "ti,da850-vpif";
-               reg = <0x217000 0x1000>;
-               interrupts = <92>;
-
-               port {
-                       vpif_ch0: endpoint {
-                                 bus-width = <16>;
-                       };
-               };
-       };
diff --git a/Documentation/devicetree/bindings/media/ti,da850-vpif.yaml b/Documentation/devicetree/bindings/media/ti,da850-vpif.yaml
new file mode 100644 (file)
index 0000000..77de70b
--- /dev/null
@@ -0,0 +1,168 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/ti,da850-vpif.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments DA850/AM18x Video Port Interface (VPIF)
+
+maintainers:
+  - Lad, Prabhakar <prabhakar.csengg@gmail.com>
+
+description:
+  The Video Port Interface (VPIF) is the primary component for video capture
+  and display on the DA850/AM18x family of TI DaVinci/Sitara SoCs.
+
+  TI Document reference:- SPRUH82C, Chapter 35
+  https://www.ti.com/lit/pdf/spruh82
+
+properties:
+  compatible:
+    const: ti,da850-vpif
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  power-domains:
+    maxItems: 1
+
+  '#address-cells':
+    const: 1
+
+  '#size-cells':
+    const: 0
+
+  port:
+    $ref: /schemas/graph.yaml#/$defs/port-base
+    unevaluatedProperties: false
+    description:
+      VPIF port when the bus is configured as a single 16-bit input
+
+    properties:
+      endpoint:
+        $ref: video-interfaces.yaml#
+        unevaluatedProperties: false
+
+        properties:
+          bus-width:
+            enum: [8, 16]
+
+patternProperties:
+  ^port@[0-1]$:
+    $ref: /schemas/graph.yaml#/$defs/port-base
+    unevaluatedProperties: false
+    description:
+      VPIF has a 16-bit parallel bus input, supporting 2 8-bit channels or a
+      single 16-bit channel. It should contain one or two port child nodes
+      with child 'endpoint' node. If there are two ports then port@0 must
+      describe the input and port@1 output channels.
+
+    properties:
+      endpoint:
+        $ref: video-interfaces.yaml#
+        unevaluatedProperties: false
+
+        properties:
+          bus-width:
+            enum: [8, 16]
+
+      endpoint@0:
+        $ref: video-interfaces.yaml#
+        unevaluatedProperties: false
+        description:
+          First 8-bit channel using the lower data lines [7:0].
+
+        properties:
+          bus-width:
+            const: 8
+
+          data-shift:
+            const: 0
+
+      endpoint@1:
+        $ref: video-interfaces.yaml#
+        unevaluatedProperties: false
+        description:
+          Second 8-bit channel using the upper data lines [15:8].
+
+        properties:
+          bus-width:
+            const: 8
+
+          data-shift:
+            const: 8
+
+    anyOf:
+      - properties:
+          endpoint@0: false
+          endpoint@1: false
+      - properties:
+          endpoint: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+oneOf:
+  - properties:
+      port@0: false
+      port@1: false
+  - properties:
+      port: false
+
+additionalProperties: false
+
+examples:
+  - |
+    vpif@217000 {
+        compatible = "ti,da850-vpif";
+        reg = <0x217000 0x1000>;
+        interrupts = <92>;
+
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        port@0 {
+            reg = <0>;
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            vpif_input_ch0: endpoint@0 {
+                reg = <0>;
+                bus-width = <8>;
+                remote-endpoint = <&composite_in>;
+            };
+
+            vpif_input_ch1: endpoint@1 {
+                reg = <1>;
+                bus-width = <8>;
+                data-shift = <8>;
+            };
+        };
+
+        port@1 {
+            reg = <1>;
+
+            vpif_output_ch0: endpoint {
+                bus-width = <8>;
+                remote-endpoint = <&composite_out>;
+            };
+        };
+    };
+
+  - |
+    vpif@217000 {
+        compatible = "ti,da850-vpif";
+        reg = <0x217000 0x1000>;
+        interrupts = <92>;
+
+        port {
+            vpif_ch0: endpoint {
+                bus-width = <16>;
+            };
+        };
+    };