cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer
Observer
6,672 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
Highlighted
Explorer
Explorer
5,677 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
Participant
Participant
4,596 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