xref: /linux/Documentation/devicetree/bindings/media/ti,da850-vpif.yaml (revision c6cf4441a3a05bb7273ed022f3e56c4fc591da08)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/ti,da850-vpif.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Texas Instruments DA850/AM18x Video Port Interface (VPIF)
8
9maintainers:
10  - Lad, Prabhakar <prabhakar.csengg@gmail.com>
11
12description:
13  The Video Port Interface (VPIF) is the primary component for video capture
14  and display on the DA850/AM18x family of TI DaVinci/Sitara SoCs.
15
16  TI Document reference:- SPRUH82C, Chapter 35
17  https://www.ti.com/lit/pdf/spruh82
18
19properties:
20  compatible:
21    const: ti,da850-vpif
22
23  reg:
24    maxItems: 1
25
26  interrupts:
27    maxItems: 1
28
29  power-domains:
30    maxItems: 1
31
32  '#address-cells':
33    const: 1
34
35  '#size-cells':
36    const: 0
37
38  port:
39    $ref: /schemas/graph.yaml#/$defs/port-base
40    unevaluatedProperties: false
41    description:
42      VPIF port when the bus is configured as a single 16-bit input
43
44    properties:
45      endpoint:
46        $ref: video-interfaces.yaml#
47        unevaluatedProperties: false
48
49        properties:
50          bus-width:
51            enum: [8, 16]
52
53patternProperties:
54  ^port@[0-1]$:
55    $ref: /schemas/graph.yaml#/$defs/port-base
56    unevaluatedProperties: false
57    description:
58      VPIF has a 16-bit parallel bus input, supporting 2 8-bit channels or a
59      single 16-bit channel. It should contain one or two port child nodes
60      with child 'endpoint' node. If there are two ports then port@0 must
61      describe the input and port@1 output channels.
62
63    properties:
64      endpoint:
65        $ref: video-interfaces.yaml#
66        unevaluatedProperties: false
67
68        properties:
69          bus-width:
70            enum: [8, 16]
71
72      endpoint@0:
73        $ref: video-interfaces.yaml#
74        unevaluatedProperties: false
75        description:
76          First 8-bit channel using the lower data lines [7:0].
77
78        properties:
79          bus-width:
80            const: 8
81
82          data-shift:
83            const: 0
84
85      endpoint@1:
86        $ref: video-interfaces.yaml#
87        unevaluatedProperties: false
88        description:
89          Second 8-bit channel using the upper data lines [15:8].
90
91        properties:
92          bus-width:
93            const: 8
94
95          data-shift:
96            const: 8
97
98    anyOf:
99      - properties:
100          endpoint@0: false
101          endpoint@1: false
102      - properties:
103          endpoint: false
104
105required:
106  - compatible
107  - reg
108  - interrupts
109
110oneOf:
111  - properties:
112      port@0: false
113      port@1: false
114  - properties:
115      port: false
116
117additionalProperties: false
118
119examples:
120  - |
121    vpif@217000 {
122        compatible = "ti,da850-vpif";
123        reg = <0x217000 0x1000>;
124        interrupts = <92>;
125
126        #address-cells = <1>;
127        #size-cells = <0>;
128
129        port@0 {
130            reg = <0>;
131            #address-cells = <1>;
132            #size-cells = <0>;
133
134            vpif_input_ch0: endpoint@0 {
135                reg = <0>;
136                bus-width = <8>;
137                remote-endpoint = <&composite_in>;
138            };
139
140            vpif_input_ch1: endpoint@1 {
141                reg = <1>;
142                bus-width = <8>;
143                data-shift = <8>;
144            };
145        };
146
147        port@1 {
148            reg = <1>;
149
150            vpif_output_ch0: endpoint {
151                bus-width = <8>;
152                remote-endpoint = <&composite_out>;
153            };
154        };
155    };
156
157  - |
158    vpif@217000 {
159        compatible = "ti,da850-vpif";
160        reg = <0x217000 0x1000>;
161        interrupts = <92>;
162
163        port {
164            vpif_ch0: endpoint {
165                bus-width = <16>;
166            };
167        };
168    };
169