~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/media/renesas,vin.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: GPL-2.0-only
  2 # Copyright (C) 2020 Renesas Electronics Corp.
  3 %YAML 1.2
  4 ---
  5 $id: http://devicetree.org/schemas/media/renesas,vin.yaml#
  6 $schema: http://devicetree.org/meta-schemas/core.yaml#
  7 
  8 title: Renesas R-Car Video Input (VIN)
  9 
 10 maintainers:
 11   - Niklas Söderlund <niklas.soderlund@ragnatech.se>
 12 
 13 description:
 14   The R-Car Video Input (VIN) device provides video input capabilities for the
 15   Renesas R-Car family of devices.
 16 
 17   Each VIN instance has a single parallel input that supports RGB and YUV video,
 18   with both external synchronization and BT.656 synchronization for the latter.
 19   Depending on the instance the VIN input is connected to external SoC pins, or
 20   on Gen3 and RZ/G2 platforms to a CSI-2 receiver.
 21 
 22 properties:
 23   compatible:
 24     oneOf:
 25       - items:
 26           - enum:
 27               - renesas,vin-r8a7742  # RZ/G1H
 28               - renesas,vin-r8a7743  # RZ/G1M
 29               - renesas,vin-r8a7744  # RZ/G1N
 30               - renesas,vin-r8a7745  # RZ/G1E
 31               - renesas,vin-r8a77470 # RZ/G1C
 32               - renesas,vin-r8a7790  # R-Car H2
 33               - renesas,vin-r8a7791  # R-Car M2-W
 34               - renesas,vin-r8a7792  # R-Car V2H
 35               - renesas,vin-r8a7793  # R-Car M2-N
 36               - renesas,vin-r8a7794  # R-Car E2
 37           - const: renesas,rcar-gen2-vin # Generic R-Car Gen2 or RZ/G1
 38 
 39       - items:
 40           - enum:
 41               - renesas,vin-r8a774a1 # RZ/G2M
 42               - renesas,vin-r8a774b1 # RZ/G2N
 43               - renesas,vin-r8a774c0 # RZ/G2E
 44               - renesas,vin-r8a774e1 # RZ/G2H
 45               - renesas,vin-r8a7778  # R-Car M1
 46               - renesas,vin-r8a7779  # R-Car H1
 47               - renesas,vin-r8a7795  # R-Car H3
 48               - renesas,vin-r8a7796  # R-Car M3-W
 49               - renesas,vin-r8a77961 # R-Car M3-W+
 50               - renesas,vin-r8a77965 # R-Car M3-N
 51               - renesas,vin-r8a77970 # R-Car V3M
 52               - renesas,vin-r8a77980 # R-Car V3H
 53               - renesas,vin-r8a77990 # R-Car E3
 54               - renesas,vin-r8a77995 # R-Car D3
 55       - items:
 56           - enum:
 57               - renesas,vin-r8a779a0 # R-Car V3U
 58               - renesas,vin-r8a779g0 # R-Car V4H
 59               - renesas,vin-r8a779h0 # R-Car V4M
 60           - const: renesas,rcar-gen4-vin # Generic R-Car Gen4
 61 
 62   reg:
 63     maxItems: 1
 64 
 65   interrupts:
 66     maxItems: 1
 67 
 68   clocks:
 69     maxItems: 1
 70 
 71   power-domains:
 72     maxItems: 1
 73 
 74   resets:
 75     maxItems: 1
 76 
 77   # The per-board settings for Gen2 and RZ/G1 platforms:
 78   port:
 79     $ref: /schemas/graph.yaml#/$defs/port-base
 80     unevaluatedProperties: false
 81     description:
 82       A node containing a parallel input
 83 
 84     properties:
 85       endpoint:
 86         $ref: video-interfaces.yaml#
 87         unevaluatedProperties: false
 88 
 89         properties:
 90           hsync-active:
 91             description:
 92               If both HSYNC and VSYNC polarities are not specified, embedded
 93               synchronization is selected.
 94             default: 1
 95 
 96           vsync-active:
 97             description:
 98               If both HSYNC and VSYNC polarities are not specified, embedded
 99               synchronization is selected.
100             default: 1
101 
102           field-even-active: true
103 
104           bus-width: true
105 
106           data-shift: true
107 
108           data-enable-active:
109             description: Polarity of CLKENB signal
110             default: 1
111 
112           pclk-sample: true
113 
114           data-active: true
115 
116   # The per-board settings for Gen3 and RZ/G2 platforms:
117   renesas,id:
118     description: VIN channel number
119     $ref: /schemas/types.yaml#/definitions/uint32
120     minimum: 0
121     maximum: 31
122 
123   ports:
124     $ref: /schemas/graph.yaml#/properties/ports
125 
126     properties:
127       port@0:
128         $ref: /schemas/graph.yaml#/$defs/port-base
129         unevaluatedProperties: false
130         description:
131           Input port node, single endpoint describing a parallel input source.
132 
133         properties:
134           endpoint:
135             $ref: video-interfaces.yaml#
136             unevaluatedProperties: false
137 
138             properties:
139               hsync-active:
140                 description:
141                   If both HSYNC and VSYNC polarities are not specified, embedded
142                   synchronization is selected.
143                 default: 1
144 
145               vsync-active:
146                 description:
147                   If both HSYNC and VSYNC polarities are not specified, embedded
148                   synchronization is selected.
149                 default: 1
150 
151               field-even-active: true
152 
153               bus-width: true
154 
155               data-shift: true
156 
157               data-enable-active:
158                 description: Polarity of CLKENB signal
159                 default: 1
160 
161               pclk-sample: true
162 
163               data-active: true
164 
165       port@1:
166         $ref: /schemas/graph.yaml#/properties/port
167         description:
168           Input port node, multiple endpoints describing all the R-Car CSI-2
169           modules connected the VIN.
170 
171         properties:
172           endpoint@0:
173             $ref: /schemas/graph.yaml#/properties/endpoint
174             description: Endpoint connected to CSI20.
175 
176           endpoint@1:
177             $ref: /schemas/graph.yaml#/properties/endpoint
178             description: Endpoint connected to CSI21.
179 
180           endpoint@2:
181             $ref: /schemas/graph.yaml#/properties/endpoint
182             description: Endpoint connected to CSI40.
183 
184           endpoint@3:
185             $ref: /schemas/graph.yaml#/properties/endpoint
186             description: Endpoint connected to CSI41.
187 
188         anyOf:
189           - required:
190               - endpoint@0
191           - required:
192               - endpoint@1
193           - required:
194               - endpoint@2
195           - required:
196               - endpoint@3
197 
198       port@2:
199         $ref: /schemas/graph.yaml#/properties/port
200         description:
201           Input port node, multiple endpoints describing all the R-Car ISP
202           modules connected the VIN.
203 
204         properties:
205           endpoint@0:
206             $ref: /schemas/graph.yaml#/properties/endpoint
207             description: Endpoint connected to ISP0.
208 
209           endpoint@1:
210             $ref: /schemas/graph.yaml#/properties/endpoint
211             description: Endpoint connected to ISP1.
212 
213           endpoint@2:
214             $ref: /schemas/graph.yaml#/properties/endpoint
215             description: Endpoint connected to ISP2.
216 
217           endpoint@3:
218             $ref: /schemas/graph.yaml#/properties/endpoint
219             description: Endpoint connected to ISP3.
220 
221 required:
222   - compatible
223   - reg
224   - interrupts
225   - clocks
226   - power-domains
227 
228 allOf:
229   - if:
230       not:
231         properties:
232           compatible:
233             contains:
234               enum:
235                 - renesas,vin-r8a7778
236                 - renesas,vin-r8a7779
237     then:
238       required:
239         - resets
240 
241   - if:
242       properties:
243         compatible:
244           contains:
245             enum:
246               - renesas,vin-r8a7778
247               - renesas,vin-r8a7779
248               - renesas,rcar-gen2-vin
249     then:
250       required:
251         - port
252     else:
253       required:
254         - renesas,id
255         - ports
256 
257 additionalProperties: false
258 
259 examples:
260   # Device node example for Gen2 platform
261   - |
262     #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
263     #include <dt-bindings/interrupt-controller/arm-gic.h>
264     #include <dt-bindings/power/r8a7790-sysc.h>
265 
266     vin1: vin@e6ef1000 {
267             compatible = "renesas,vin-r8a7790",
268                          "renesas,rcar-gen2-vin";
269             reg = <0xe6ef1000 0x1000>;
270             interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
271             clocks = <&cpg CPG_MOD 810>;
272             power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
273             resets = <&cpg 810>;
274 
275             port {
276                     vin1ep0: endpoint {
277                             remote-endpoint = <&adv7180>;
278                             bus-width = <8>;
279                     };
280             };
281     };
282 
283   # Device node example for Gen3 platform with only CSI-2
284   - |
285     #include <dt-bindings/clock/r8a7795-cpg-mssr.h>
286     #include <dt-bindings/interrupt-controller/arm-gic.h>
287     #include <dt-bindings/power/r8a7795-sysc.h>
288 
289     vin0: video@e6ef0000 {
290             compatible = "renesas,vin-r8a7795";
291             reg = <0xe6ef0000 0x1000>;
292             interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
293             clocks = <&cpg CPG_MOD 811>;
294             power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
295             resets = <&cpg 811>;
296             renesas,id = <0>;
297 
298             ports {
299                     #address-cells = <1>;
300                     #size-cells = <0>;
301 
302                     port@1 {
303                             #address-cells = <1>;
304                             #size-cells = <0>;
305 
306                             reg = <1>;
307 
308                             vin0csi20: endpoint@0 {
309                                     reg = <0>;
310                                     remote-endpoint = <&csi20vin0>;
311                             };
312                             vin0csi40: endpoint@2 {
313                                     reg = <2>;
314                                     remote-endpoint = <&csi40vin0>;
315                             };
316                     };
317             };
318     };
319 
320   # Device node example for Gen3 platform with CSI-2 and parallel
321   - |
322     #include <dt-bindings/clock/r8a77970-cpg-mssr.h>
323     #include <dt-bindings/interrupt-controller/arm-gic.h>
324     #include <dt-bindings/power/r8a77970-sysc.h>
325 
326     vin2: video@e6ef2000 {
327             compatible = "renesas,vin-r8a77970";
328             reg = <0xe6ef2000 0x1000>;
329             interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
330             clocks = <&cpg CPG_MOD 809>;
331             power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
332             resets = <&cpg 809>;
333             renesas,id = <2>;
334 
335             ports {
336                     #address-cells = <1>;
337                     #size-cells = <0>;
338 
339                     port@0 {
340                             reg = <0>;
341 
342                             vin2_in: endpoint {
343                                     remote-endpoint = <&adv7612_out>;
344                                     hsync-active = <0>;
345                                     vsync-active = <0>;
346                             };
347                     };
348 
349                     port@1 {
350                             #address-cells = <1>;
351                             #size-cells = <0>;
352 
353                             reg = <1>;
354 
355                             vin2csi40: endpoint@2 {
356                                     reg = <2>;
357                                     remote-endpoint = <&csi40vin2>;
358                             };
359                     };
360             };
361     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php