summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/media/ti,da850-vpif.yaml
blob: 77de70be807a595a24f2a7903115021ba195b640 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
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>;
            };
        };
    };