18c2ecf20Sopenharmony_ciXilinx Video IP Pipeline (VIPP)
28c2ecf20Sopenharmony_ci-------------------------------
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ciGeneral concept
58c2ecf20Sopenharmony_ci---------------
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciXilinx video IP pipeline processes video streams through one or more Xilinx
88c2ecf20Sopenharmony_civideo IP cores. Each video IP core is represented as documented in video.txt
98c2ecf20Sopenharmony_ciand IP core specific documentation, xlnx,v-*.txt, in this directory. The DT
108c2ecf20Sopenharmony_cinode of the VIPP represents as a top level node of the pipeline and defines
118c2ecf20Sopenharmony_cimappings between DMAs and the video IP cores.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciRequired properties:
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci- compatible: Must be "xlnx,video".
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci- dmas, dma-names: List of one DMA specifier and identifier string (as defined
188c2ecf20Sopenharmony_ci  in Documentation/devicetree/bindings/dma/dma.txt) per port. Each port
198c2ecf20Sopenharmony_ci  requires a DMA channel with the identifier string set to "port" followed by
208c2ecf20Sopenharmony_ci  the port index.
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci- ports: Video port, using the DT bindings defined in ../video-interfaces.txt.
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciRequired port properties:
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci- direction: should be either "input" or "output" depending on the direction
278c2ecf20Sopenharmony_ci  of stream.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciExample:
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci	video_cap {
328c2ecf20Sopenharmony_ci		compatible = "xlnx,video";
338c2ecf20Sopenharmony_ci		dmas = <&vdma_1 1>, <&vdma_3 1>;
348c2ecf20Sopenharmony_ci		dma-names = "port0", "port1";
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci		ports {
378c2ecf20Sopenharmony_ci			#address-cells = <1>;
388c2ecf20Sopenharmony_ci			#size-cells = <0>;
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci			port@0 {
418c2ecf20Sopenharmony_ci				reg = <0>;
428c2ecf20Sopenharmony_ci				direction = "input";
438c2ecf20Sopenharmony_ci				vcap0_in0: endpoint {
448c2ecf20Sopenharmony_ci					remote-endpoint = <&scaler0_out>;
458c2ecf20Sopenharmony_ci				};
468c2ecf20Sopenharmony_ci			};
478c2ecf20Sopenharmony_ci			port@1 {
488c2ecf20Sopenharmony_ci				reg = <1>;
498c2ecf20Sopenharmony_ci				direction = "input";
508c2ecf20Sopenharmony_ci				vcap0_in1: endpoint {
518c2ecf20Sopenharmony_ci					remote-endpoint = <&switch_out1>;
528c2ecf20Sopenharmony_ci				};
538c2ecf20Sopenharmony_ci			};
548c2ecf20Sopenharmony_ci		};
558c2ecf20Sopenharmony_ci	};
56