UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Observer mgillott
Observer
6,313 Views
Registered: ‎06-11-2014

Dev Tree - How to specify video/VDMA with no subdevice endpoint ?

Hello

 

Vivado 2015.4 / Petalinux 2015.4 / Zedboard

 

I have a VDMA receiving a video stream from the video TPG and  outputting a AXI-S video stream to a custom core.

 

The custom core requires no Linux driver, and so has no binding in the device tree.

 

This causes a problem because there is no endpoint to specify in the video driver bindings:-

MyVideo {
		compatible = "xlnx,video";
		dmas = <&vdma_2 1>, <&vdma_2 0>;
		dma-names = "port0", "port1";

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;
				direction = "input";
				tpg_in: endpoint {
					remote-endpoint = <&TPGEndPoint>;
				};
			};
			port@1 {
				reg = <1>;
				direction = "output";
				proc_out: endpoint {
					remote-endpoint = <&What_Do_I_Put_Here???>;
				};
			};
		};
	};

I have tried leaving the output endpoint entry blank, but the video driver fails with error broken pipe EPIPE when initialised.

 

 

How can I write bindings for a video driver with no sub-device on the output port?

 

Thanks in advance

mig

0 Kudos
2 Replies
Adventurer
Adventurer
5,318 Views
Registered: ‎11-09-2015

Re: Dev Tree - How to specify video/VDMA with no subdevice endpoint ?

Hi,mgillott

  No need the output port.

 

************************************************************************************

 

tpg_0: tpg@43c00000 {
   compatible = "xlnx,v-tpg-6.0";
   reg = <0x43c00000 0x10000>;
   clocks = <&clkc 16>;

   ports {
        #address-cells = <1>;
        #size-cells = <0>;

         port@0 {
               reg = <0>;

               xlnx,video-format = <XVIP_VF_YUV_422>;
               xlnx,video-width = <8>;

               tpg_out: endpoint {
               remote-endpoint = <&vcap_in>;
                            };
            };
     };
};

axi_vdma_0: axivdma@43000000 {
      compatible = "xlnx,axi-vdma-1.00.a";
      reg = <0x43000000 0x10000>;

      xlnx,flush-fsync = <1>;
      xlnx,num-fstores = <1>;

      #dma-cells = <1>;

      dma-s2mmchannel@43000030 {
      compatible = "xlnx,axi-vdma-s2mm-channel";
      interrupt-parent = <&intc>;
      interrupts = <0 33 4>;
      xlnx,datawidth = <0x40>;
      };
};

video_cap_0 {
      compatible = "xlnx,video";
      dmas = <&axi_vdma_0 1>;
      dma-names = "port0";

      ports {
          #address-cells = <1>;
          #size-cells = <0>;

          port@0 {
               reg = <0>;
               direction = "input";
               vcap_in: endpoint {
                            remote-endpoint = <&tpg_out>;
                            };
                };
             };
         };
};

*********************************************************************************

0 Kudos
Highlighted
Observer shrtique
Observer
4,237 Views
Registered: ‎08-22-2016

Re: Dev Tree - How to specify video/VDMA with no subdevice endpoint ?

Hello, guys!

 

I have little bit different question, how to use VDMA without input sub-dev endpoint...?
I mean, when the input of VDMA is physically connected with my own IP-block which doesn't have Linux Driver and so doesn't have the dev-tree node.

 

0 Kudos