1df330515SLaurent PinchartXilinx Video IP Pipeline (VIPP) 2df330515SLaurent Pinchart------------------------------- 3df330515SLaurent Pinchart 4df330515SLaurent PinchartGeneral concept 5df330515SLaurent Pinchart--------------- 6df330515SLaurent Pinchart 7df330515SLaurent PinchartXilinx video IP pipeline processes video streams through one or more Xilinx 8df330515SLaurent Pinchartvideo IP cores. Each video IP core is represented as documented in video.txt 9df330515SLaurent Pinchartand IP core specific documentation, xlnx,v-*.txt, in this directory. The DT 10df330515SLaurent Pinchartnode of the VIPP represents as a top level node of the pipeline and defines 11df330515SLaurent Pinchartmappings between DMAs and the video IP cores. 12df330515SLaurent Pinchart 13df330515SLaurent PinchartRequired properties: 14df330515SLaurent Pinchart 15df330515SLaurent Pinchart- compatible: Must be "xlnx,video". 16df330515SLaurent Pinchart 17df330515SLaurent Pinchart- dmas, dma-names: List of one DMA specifier and identifier string (as defined 18df330515SLaurent Pinchart in Documentation/devicetree/bindings/dma/dma.txt) per port. Each port 19df330515SLaurent Pinchart requires a DMA channel with the identifier string set to "port" followed by 20df330515SLaurent Pinchart the port index. 21df330515SLaurent Pinchart 22df330515SLaurent Pinchart- ports: Video port, using the DT bindings defined in ../video-interfaces.txt. 23df330515SLaurent Pinchart 24df330515SLaurent PinchartRequired port properties: 25df330515SLaurent Pinchart 26df330515SLaurent Pinchart- direction: should be either "input" or "output" depending on the direction 27df330515SLaurent Pinchart of stream. 28df330515SLaurent Pinchart 29df330515SLaurent PinchartExample: 30df330515SLaurent Pinchart 31df330515SLaurent Pinchart video_cap { 32df330515SLaurent Pinchart compatible = "xlnx,video"; 33df330515SLaurent Pinchart dmas = <&vdma_1 1>, <&vdma_3 1>; 34df330515SLaurent Pinchart dma-names = "port0", "port1"; 35df330515SLaurent Pinchart 36df330515SLaurent Pinchart ports { 37df330515SLaurent Pinchart #address-cells = <1>; 38df330515SLaurent Pinchart #size-cells = <0>; 39df330515SLaurent Pinchart 40df330515SLaurent Pinchart port@0 { 41df330515SLaurent Pinchart reg = <0>; 42df330515SLaurent Pinchart direction = "input"; 43df330515SLaurent Pinchart vcap0_in0: endpoint { 44df330515SLaurent Pinchart remote-endpoint = <&scaler0_out>; 45df330515SLaurent Pinchart }; 46df330515SLaurent Pinchart }; 47df330515SLaurent Pinchart port@1 { 48df330515SLaurent Pinchart reg = <1>; 49df330515SLaurent Pinchart direction = "input"; 50df330515SLaurent Pinchart vcap0_in1: endpoint { 51df330515SLaurent Pinchart remote-endpoint = <&switch_out1>; 52df330515SLaurent Pinchart }; 53df330515SLaurent Pinchart }; 54df330515SLaurent Pinchart }; 55df330515SLaurent Pinchart }; 56