[PATCH v2] media: dt-bindings: ti,da850-vpif: Convert to dt-schema
From: Bhargav Joshi
Date: Wed Aug 12 2026 - 19:40:28 EST
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@xxxxxxxxx>
---
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@xxxxxxxxx
---
.../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@xxxxxxxxx>
+
+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