2 Replies Latest reply on Nov 9, 2018 8:20 PM by kean0048

    AXI TPG 7.0 device tree configuration boot problem



      I am trying to use the AXI TPG 7.0 hooked to a AXI VDMA as shown here

      <blockquote class="imgur-embed-pub" lang="en" data-id="a/Q04M5Nh"><a href="//imgur.com/Q04M5Nh"></a></blockquote><script async src="//s.imgur.com/min/embed.js" charset="utf-8"></script>


      My hardware bitstream generate correctly. When updating petalinux project (2017.4) to use it, the plnx_arm-system.dts has the tpg entry like this

                v_tpg@43c20000 {
                    compatible = "xlnx,v-tpg-7.0";
                    reg = <0x43c20000 0x10000>;
                    xlnx,s-axi-ctrl-addr-width = <0x8>;
                    xlnx,s-axi-ctrl-data-width = <0x20>;

      But that gave me some problem during booting, complaining about non existing node 0, I cannot find the exact error since I update the system-user.dtsi to become (before there wasno entry in system-user.dtsi)

        &v_tpg_0 {
            status = "okay";
            compatible = "xlnx,v-tpg-7.0";
            reg = <0x43c20000 0x10000>;
            ports {
                #address-cells = <1>;
                #size-cells = <0>;
                port@0 {
                    reg = <0>;
                    xlnx,video-format = "yuv422";
                    xlnx,video-width = <8>;
                    tpg_out: endpoint {
                        remote-endpoint = <&axi_vdma_0>;

      I try with and without the tpg_out endpoint with same error, which is

      xilinx-tpg 43c20000.v_tpg: invalid format in DT
      xilinx-tpg: probe of 43c20000.v_tpg failed with error -22
      I understand the device tree should be something like explained here
      But the problem is that I am not using VTC driver (which I really I am unsure too if needed).
      What I am trying to do is to feed the VDMA with a Test Image generated by TPG. I understand the new 7.0 IP is controlled in software (in my case kernel driver) by using kernel module xilinx-tpg.ko
      As far as I understand driver should load correctly so  /dev/v4l-subdev is listed.
      I will appreciate anyone that can share some thoughts about what am I missing here.