media: dt-bindings: ti,da850-vpif: Convert to dt-schema

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>
This commit is contained in:
Bhargav Joshi 2026-08-13 05:09:08 +05:30 committed by Rob Herring (Arm)
parent 7f1e3dd7c8
commit 3cb36d5626
2 changed files with 168 additions and 106 deletions

View File

@ -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>;
};
};
};

View File

@ -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>;
};
};
};