[PATCH v2] media: dt-bindings: ti,da850-vpif: Convert to dt-schema

Bhargav Joshi posted 1 patch 1 month, 2 weeks ago
.../devicetree/bindings/media/ti,da850-vpif.txt    | 106 -------------
.../devicetree/bindings/media/ti,da850-vpif.yaml   | 168 +++++++++++++++++++++
2 files changed, 168 insertions(+), 106 deletions(-)
[PATCH v2] media: dt-bindings: ti,da850-vpif: Convert to dt-schema
Posted by Bhargav Joshi 1 month, 2 weeks ago
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>
---
Changes in v2:
- Removed old text binding that wasn't removed in v1
- Link to v1: https://lore.kernel.org/r/20260813-ti-da850-vpif-v1-1-275fd0363341@gmail.com
---
 .../devicetree/bindings/media/ti,da850-vpif.txt    | 106 -------------
 .../devicetree/bindings/media/ti,da850-vpif.yaml   | 168 +++++++++++++++++++++
 2 files changed, 168 insertions(+), 106 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/ti,da850-vpif.txt b/Documentation/devicetree/bindings/media/ti,da850-vpif.txt
deleted file mode 100644
index e47c7ccc57f1..000000000000
--- a/Documentation/devicetree/bindings/media/ti,da850-vpif.txt
+++ /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
index 000000000000..77de70be807a
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/ti,da850-vpif.yaml
@@ -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>;
+            };
+        };
+    };

---
base-commit: 3d6d817622b0a9721e3cc404df3469171582be13
change-id: 20260813-ti-da850-vpif-092787a17379

Best regards,
-- 
Bhargav
Re: [PATCH v2] media: dt-bindings: ti,da850-vpif: Convert to dt-schema
Posted by Rob Herring (Arm) 1 month, 2 weeks ago
On Thu, 13 Aug 2026 05:09:08 +0530, Bhargav Joshi wrote:
> 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>
> ---
> Changes in v2:
> - Removed old text binding that wasn't removed in v1
> - Link to v1: https://lore.kernel.org/r/20260813-ti-da850-vpif-v1-1-275fd0363341@gmail.com
> ---
>  .../devicetree/bindings/media/ti,da850-vpif.txt    | 106 -------------
>  .../devicetree/bindings/media/ti,da850-vpif.yaml   | 168 +++++++++++++++++++++
>  2 files changed, 168 insertions(+), 106 deletions(-)
> 

Applied, thanks!