Nikil Thapa
Published

Petalinux vs. Baremetal: Run Your FPGA Video Design!

Know the difference between Petalinux and Baremetal Designs

IntermediateProtip4 hours1,161
Petalinux vs. Baremetal: Run Your FPGA Video Design!

Things used in this project

Hardware components

AMD ZCU102 Zynq MPSoC FPGA Development Board
×1

Software apps and online services

AMD Baremetal OS
PetaLinux
AMD PetaLinux
Vitis Unified Software Platform
AMD Vitis Unified Software Platform

Story

Read more

Code

pl.dtsi

C/C++
/*
* CAUTION: This file is automatically generated by Xilinx.
* Version:
*/
/ {
  amba_pl: amba_pl@0 {
  #address-cells = <2>;
  #size-cells = <2>;
  compatible = "simple-bus";
  ranges ;
  v_frmbuf_wr_0: v_frmbuf_wr@a0000000 {
    #dma-cells = <1>;
    clock-names = "ap_clk";
    clocks = <&zynqmp_clk 71>;
    compatible = "xlnx,v-frmbuf-wr-2.2", "xlnx,axi-frmbuf-wr-v2.1";
    interrupt-names = "interrupt";
    interrupt-parent = <&gic>;
    interrupts = <0 89 4>;
    reg = <0x0 0xa0000000 0x0 0x10000>;
    reset-gpios = <&gpio 78 1>;
    xlnx,dma-addr-width = <32>;
    xlnx,dma-align = <16>;
    xlnx,max-height = <2160>;
    xlnx,max-width = <3840>;
    xlnx,pixels-per-clock = <2>;
    xlnx,s-axi-ctrl-addr-width = <0x7>;
    xlnx,s-axi-ctrl-data-width = <0x20>;
    xlnx,vid-formats = "rgb888", "bgr888", "xbgr8888", "xrgb8888", "uyvy", "y8", "vuy888", "xvuy8888", "yuyv", "nv12", "nv16";
    xlnx,video-width = <8>;
  };
  v_tpg_0: v_tpg@a0010000 {
    clock-names = "ap_clk";
    clocks = <&zynqmp_clk 71>;
    compatible = "xlnx,v-tpg-8.1", "xlnx,v-tpg-8.0";
    reg = <0x0 0xa0010000 0x0 0x10000>;
    reset-gpios = <&gpio 79 1>;
    xlnx,max-height = <2160>;
    xlnx,max-width = <4096>;
    xlnx,ppc = <2>;
    xlnx,s-axi-ctrl-addr-width = <8>;
    xlnx,s-axi-ctrl-data-width = <32>;
    tpg_portsv_tpg_0: ports {
      #address-cells = <1>;
      #size-cells = <0>;
      tpg_port1v_tpg_0: port@1 {
        /* Fill the field xlnx,video-format based on user requirement */
        reg = <1>;
        xlnx,video-format = <2>;
        xlnx,video-width = <8>;
        tpg_outv_tpg_0: endpoint {
          remote-endpoint = <&v_frmbuf_wr_0v_tpg_0>;
        };
      };
      tpg_port0v_tpg_0: port@0 {
      /* Fill the field xlnx,video-format based on user requirement */
        reg = <0>;
        xlnx,video-format = <2>;
        xlnx,video-width = <8>;
      };
    };
  };
  vcap_v_tpg_0 {
    compatible = "xlnx,video";
    dma-names = "port0";
    dmas = <&v_frmbuf_wr_0 0>;
    vcap_portsv_tpg_0: ports {
      #address-cells = <1>;
      #size-cells = <0>;
      vcap_portv_tpg_0: port@0 {
        direction = "input";
        reg = <0>;
        v_frmbuf_wr_0v_tpg_0: endpoint {
            remote-endpoint = <&tpg_outv_tpg_0>;
          };
        };
      };
    };
  };
};

Credits

Nikil Thapa
9 projects • 43 followers
AMD-Xilinx FPGA Product Design Expert.

Comments