xref: /linux/Documentation/devicetree/bindings/media/i2c/adi,adv7180.yaml (revision 59b24c0047a2e662325fdffeea4d9c9db2d31916)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/i2c/adi,adv7180.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Analog Devices ADV7180 analog video decoder family
8
9maintainers:
10  - Lars-Peter Clausen <lars@metafoo.de>
11
12description:
13  The adv7180 family devices are used to capture analog video to different
14  digital interfaces like MIPI CSI-2 or parallel video.
15
16properties:
17  compatible:
18    items:
19      - enum:
20          - adi,adv7180
21          - adi,adv7180cp
22          - adi,adv7180st
23          - adi,adv7182
24          - adi,adv7280
25          - adi,adv7280-m
26          - adi,adv7281
27          - adi,adv7281-m
28          - adi,adv7281-ma
29          - adi,adv7282
30          - adi,adv7282-m
31
32  reg:
33    maxItems: 1
34
35  powerdown-gpios:
36    maxItems: 1
37
38  reset-gpios:
39    maxItems: 1
40
41  adv,force-bt656-4:
42    deprecated: true
43    description:
44      Indicates that the output is a BT.656-4 compatible stream.
45    type: boolean
46
47  adi,force-bt656-4:
48    description:
49      Indicates that the output is a BT.656-4 compatible stream.
50    type: boolean
51
52  interrupts:
53    items:
54      - description: The GPIO connected to the INTRQ pin.
55
56  port:
57    $ref: /schemas/graph.yaml#/$defs/port-base
58    unevaluatedProperties: false
59
60    properties:
61      endpoint:
62        $ref: /schemas/media/video-interfaces.yaml#
63        unevaluatedProperties: false
64
65  ports: true
66
67additionalProperties: false
68
69required:
70  - compatible
71  - reg
72
73allOf:
74  - if:
75      properties:
76        compatible:
77          enum:
78            - adi,adv7180
79            - adi,adv7182
80            - adi,adv7280
81            - adi,adv7280-m
82            - adi,adv7281
83            - adi,adv7281-m
84            - adi,adv7281-ma
85            - adi,adv7282
86            - adi,adv7282-m
87    then:
88      required:
89        - port
90
91  - if:
92      properties:
93        compatible:
94          contains:
95            const: adi,adv7180cp
96    then:
97      properties:
98        ports:
99          $ref: /schemas/graph.yaml#/properties/ports
100          properties:
101            port@3:
102              $ref: /schemas/graph.yaml#/properties/port
103              description: Output port
104
105          patternProperties:
106            "^port@[0-2]$":
107              $ref: /schemas/graph.yaml#/properties/port
108              description: Input port
109
110          required:
111            - port@3
112
113      required:
114        - ports
115
116  - if:
117      properties:
118        compatible:
119          contains:
120            const: adi,adv7180st
121    then:
122      properties:
123        ports:
124          $ref: /schemas/graph.yaml#/properties/ports
125          properties:
126            port@6:
127              $ref: /schemas/graph.yaml#/properties/port
128              description: Output port
129
130          patternProperties:
131            "^port@[0-5]$":
132              $ref: /schemas/graph.yaml#/properties/port
133              description: Input port
134
135          required:
136            - port@6
137
138      required:
139        - ports
140
141examples:
142  - |
143    i2c {
144            #address-cells = <1>;
145            #size-cells = <0>;
146
147            composite-in@20 {
148                    compatible = "adi,adv7180";
149                    reg = <0x20>;
150
151                    port {
152                            adv7180: endpoint {
153                                    bus-width = <8>;
154                                    remote-endpoint = <&vin1ep>;
155                            };
156                    };
157            };
158
159    };
160
161  - |
162    i2c {
163            #address-cells = <1>;
164            #size-cells = <0>;
165
166            composite-in@20 {
167                    compatible = "adi,adv7180cp";
168                    reg = <0x20>;
169
170                    ports {
171                            #address-cells = <1>;
172                            #size-cells = <0>;
173
174                            port@0 {
175                                    reg = <0>;
176                                    adv7180_in: endpoint {
177                                            remote-endpoint = <&composite_con_in>;
178                                    };
179                            };
180
181                            port@3 {
182                                    reg = <3>;
183                                    adv7180_out: endpoint {
184                                            remote-endpoint = <&vin4_in>;
185                                    };
186                            };
187                    };
188            };
189    };
190