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