element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet & Tria Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
Avnet Boards General Ultrazed vcu trd 2019.2 add SDI RX problem
  • Forum
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Avnet Boards Forums to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 15 replies
  • Subscribers 350 subscribers
  • Views 2191 views
  • Users 0 members are here
Related

Ultrazed vcu trd 2019.2 add SDI RX problem

pierlum
pierlum over 5 years ago

Hello,

I follow the flow from impleting to building petalinux images of ultrazed vcu trd 2019.2 design and it works. I modified the vivado project adding the SDI RX part from zcu106 vcu trd design and I edited device tree adding the entryn for sdi rx part. But in petalinux running on the board I can't find the sdi rx devices. What's I'm wrong?

Thank you very much.

 

https://xterra2.avnet.com/xilinx/zedboard/ultrazed-ev/vcu-trd-ports/rdf0428-uz7ev-vcu-trd-2019-2

  • Sign in to reply
  • Cancel

Top Replies

  • drozwood90
    drozwood90 over 5 years ago +1
    Have you included this in the device tree? --Dan
  • drozwood90
    drozwood90 over 5 years ago in reply to pierlum +1
    The SDI device. I've not personally built the 2019.2 design at this time, but PetaLinux always needs devices to be defined. For example, in SDSoC you have to add: /{ xlnk { compatible = "xlnx,xlnk-1.0…
  • drozwood90
    drozwood90 over 5 years ago in reply to pierlum +1
    HI there, Next time, try using "Quote" or "Syntax Highlighting". That will make this more clear to read. Second, have you compared that to the files that come as part of the example? --Dan
Parents
  • drozwood90
    drozwood90 over 5 years ago

    Have you included this in the device tree?

     

    --Dan

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • drozwood90
    drozwood90 over 5 years ago

    Have you included this in the device tree?

     

    --Dan

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
Children
  • pierlum
    pierlum over 5 years ago in reply to drozwood90

    Hi Dan,

    thanks for the help. What are you referring with "this"?

    Thanks.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • drozwood90
    drozwood90 over 5 years ago in reply to pierlum

    The SDI device.  I've not personally built the 2019.2 design at this time, but PetaLinux always needs devices to be defined.

    For example, in SDSoC you have to add:

    /{

    xlnk {

    compatible = "xlnx,xlnk-1.0";

    };

    };

    into: project-spec/meta-user/recipes-bsp/devicetree/files/sytem-user.dtsi

     

    You would need to do similar with the SDI device.

     

    --Dan

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • pierlum
    pierlum over 5 years ago in reply to drozwood90

    Hi Dan,

    yes I have inserted SDI device in device tree I think. This is my system-user.dtsi:

     

     

    #include "system-conf.dtsi"

    #include "uz7ev_evcc.dtsi"

    #include "common.dtsi"

    #include "apm.dtsi"

    #include "xlnk.dtsi"

     

     

    / {

    amba_pl: amba_pl@0 {

    #address-cells = <2>;

    #size-cells = <2>;

    compatible = "simple-bus";

    ranges ;

    axi_gpio_0: gpio@a0000000 {

    #gpio-cells = <3>;

    clock-names = "s_axi_aclk";

    clocks = <&zynqmp_clk 71>;

    compatible = "xlnx,axi-gpio-2.0", "xlnx,xps-gpio-1.00.a";

    gpio-controller ;

    reg = <0x0 0xa0000000 0x0 0x1000>;

    xlnx,all-inputs = <0x1>;

    xlnx,all-inputs-2 = <0x0>;

    xlnx,all-outputs = <0x0>;

    xlnx,all-outputs-2 = <0x0>;

    xlnx,dout-default = <0x00000000>;

    xlnx,dout-default-2 = <0x00000000>;

    xlnx,gpio-width = <0x8>;

    xlnx,gpio2-width = <0x20>;

    xlnx,interrupt-present = <0x0>;

    xlnx,is-dual = <0x0>;

    xlnx,tri-default = <0xFFFFFFFF>;

    xlnx,tri-default-2 = <0xFFFFFFFF>;

    };

    axi_gpio_1: gpio@a0001000 {

    #gpio-cells = <3>;

    clock-names = "s_axi_aclk";

    clocks = <&zynqmp_clk 71>;

    compatible = "xlnx,axi-gpio-2.0", "xlnx,xps-gpio-1.00.a";

    gpio-controller ;

    reg = <0x0 0xa0001000 0x0 0x1000>;

    xlnx,all-inputs = <0x0>;

    xlnx,all-inputs-2 = <0x0>;

    xlnx,all-outputs = <0x1>;

    xlnx,all-outputs-2 = <0x0>;

    xlnx,dout-default = <0x00000000>;

    xlnx,dout-default-2 = <0x00000000>;

    xlnx,gpio-width = <0x8>;

    xlnx,gpio2-width = <0x20>;

    xlnx,interrupt-present = <0x0>;

    xlnx,is-dual = <0x0>;

    xlnx,tri-default = <0xFFFFFFFF>;

    xlnx,tri-default-2 = <0xFFFFFFFF>;

    };

    axi_gpio_2: gpio@a0002000 {

    #gpio-cells = <3>;

    clock-names = "s_axi_aclk";

    clocks = <&zynqmp_clk 71>;

    compatible = "xlnx,axi-gpio-2.0", "xlnx,xps-gpio-1.00.a";

    gpio-controller ;

    reg = <0x0 0xa0002000 0x0 0x1000>;

    xlnx,all-inputs = <0x1>;

    xlnx,all-inputs-2 = <0x0>;

    xlnx,all-outputs = <0x0>;

    xlnx,all-outputs-2 = <0x0>;

    xlnx,dout-default = <0x00000000>;

    xlnx,dout-default-2 = <0x00000000>;

    xlnx,gpio-width = <0x3>;

    xlnx,gpio2-width = <0x20>;

    xlnx,interrupt-present = <0x0>;

    xlnx,is-dual = <0x0>;

    xlnx,tri-default = <0xFFFFFFFF>;

    xlnx,tri-default-2 = <0xFFFFFFFF>;

    };

    axi_gpio_3: gpio@a0062000 {

    #gpio-cells = <3>;

    clock-names = "s_axi_aclk";

    clocks = <&zynqmp_clk 71>;

    compatible = "xlnx,axi-gpio-2.0", "xlnx,xps-gpio-1.00.a";

    gpio-controller ;

    reg = <0x0 0xa0062000 0x0 0x1000>;

    xlnx,all-inputs = <0x0>;

    xlnx,all-inputs-2 = <0x0>;

    xlnx,all-outputs = <0x1>;

    xlnx,all-outputs-2 = <0x0>;

    xlnx,dout-default = <0x00000001>;

    xlnx,dout-default-2 = <0x00000000>;

    xlnx,gpio-width = <0x1>;

    xlnx,gpio2-width = <0x20>;

    xlnx,interrupt-present = <0x0>;

    xlnx,is-dual = <0x0>;

    xlnx,tri-default = <0xFFFFFFFF>;

    xlnx,tri-default-2 = <0xFFFFFFFF>;

    };

    sdi_rx_input_v_frmbuf_wr: v_frmbuf_wr@a0070000 {

    #dma-cells = <1>;

    clock-names = "ap_clk";

    clocks = <&misc_clk_0>;

    compatible = "xlnx,v-frmbuf-wr-2.1", "xlnx,axi-frmbuf-wr-v2.1";

    interrupt-names = "interrupt";

    interrupt-parent = <&gic>;

    interrupts = <0 92 4>;

    reg = <0x0 0xa0070000 0x0 0x10000>;

    xlnx,dma-addr-width = <32>;

    xlnx,dma-align = <16>;

    xlnx,fid ;

    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", "xbgr2101010", "uyvy", "y8", "y10", "vuy888", "xvuy8888", "yuvx2101010", "yuyv", "nv12", "nv16", "xv20", "xv15";

    xlnx,video-width = <10>;

    };

    misc_clk_0: misc_clk_0 {

    #clock-cells = <0>;

    clock-frequency = <300681818>;

    compatible = "fixed-clock";

    };

    sdi_rx_input_v_proc_ss_0: v_proc_ss@a0080000 {

    clock-names = "aclk_axis", "aclk_ctrl";

    clocks = <&misc_clk_0>, <&zynqmp_clk 71>;

    compatible = "xlnx,v-proc-ss-2.2", "xlnx,v-vpss-scaler-1.0", "xlnx,vpss-scaler";

    reg = <0x0 0xa0080000 0x0 0x40000>;

    xlnx,colorspace-support = <0>;

    xlnx,csc-enable-window = "true";

    xlnx,enable-csc = "true";

    xlnx,h-scaler-phases = <64>;

    xlnx,h-scaler-taps = <8>;

    xlnx,max-height = <2160>;

    xlnx,max-num-phases = <64>;

    xlnx,max-width = <3840>;

    xlnx,num-hori-taps = <8>;

    xlnx,num-vert-taps = <8>;

    xlnx,pix-per-clk = <2>;

    xlnx,samples-per-clk = <2>;

    xlnx,scaler-algorithm = <2>;

    xlnx,topology = <0>;

    xlnx,use-uram = <0>;

    xlnx,v-scaler-phases = <64>;

    xlnx,v-scaler-taps = <8>;

    xlnx,video-width = <10>;

    scaler_ports: ports {

    #address-cells = <1>;

    #size-cells = <0>;

    scaler_port0: port@0 {

    /* For xlnx,video-format user needs to fill as per their requirement */

    reg = <0>;

    xlnx,video-format = <3>;

    xlnx,video-width = <10>;

    scaler_in: endpoint {

    remote-endpoint = <&sdi_rx_out>;

    };

    };

    scaler_port1: port@1 {

    /* For xlnx,video-format user needs to fill as per their requirement */

    reg = <1>;

    xlnx,video-format = <3>;

    xlnx,video-width = <10>;

    scaler_out: endpoint {

    remote-endpoint = <&vcap_csi_in>;

    };

    };

    };

    };

    sdi_rx_input_v_smpte_uhdsdi_rx_ss: v_smpte_uhdsdi_rx_ss@a0030000 {

    clock-names = "sdi_rx_clk", "video_out_clk", "s_axi_aclk";

    clocks = <&misc_clk_1>, <&misc_clk_0>, <&zynqmp_clk 71>;

    compatible = "xlnx,v-smpte-uhdsdi-rx-ss-2.0", "xlnx,v-smpte-uhdsdi-rx-ss";

    interrupt-names = "sdi_rx_irq";

    interrupt-parent = <&gic>;

    interrupts = <0 89 4>;

    reg = <0x0 0xa0030000 0x0 0x10000>;

    xlnx,exdes-board = "ZCU106";

    xlnx,exdes-config = "Pass-Through";

    xlnx,include-adv-features = "true";

    xlnx,include-axilite = "true";

    xlnx,include-edh = "true";

    xlnx,line-rate = "12G_SDI_8DS";

    xlnx,pixels-per-clock = <0x2>;

    xlnx,video-intf = "AXI4_Stream";

    sdirx_ports: ports {

    #address-cells = <1>;

    #size-cells = <0>;

    sdirx_port: port@0 {

    /* Fill the fields xlnx,video-format and xlnx,video-width based on user requirement */

    reg = <0>;

    xlnx,video-format = <0>;

    xlnx,video-width = <10>;

    sdi_rx_out: endpoint {

    remote-endpoint = <&scaler_in>;

    };

    };

    };

    };

    misc_clk_1: misc_clk_1 {

    #clock-cells = <0>;

    clock-frequency = <148500000>;

    compatible = "fixed-clock";

    };

    vcu_0: vcu@a0100000 {

    #address-cells = <2>;

    #clock-cells = <1>;

    #size-cells = <2>;

    clock-names = "pll_ref", "aclk", "vcu_core_enc", "vcu_core_dec", "vcu_mcu_enc", "vcu_mcu_dec";

    clocks = <&misc_clk_2>, <&zynqmp_clk 71>, <&vcu_0 1>, <&vcu_0 2>, <&vcu_0 3>, <&vcu_0 4>;

    compatible = "xlnx,vcu-1.2", "xlnx,vcu";

    interrupt-names = "vcu_host_interrupt";

    interrupt-parent = <&gic>;

    interrupts = <0 96 4>;

    ranges ;

    reg = <0x0 0xa0140000 0x0 0x1000>, <0x0 0xa0141000 0x0 0x1000>;

    reg-names = "vcu_slcr", "logicore";

    reset-gpios = <&gpio 119 0>;

    encoder: al5e@a0100000 {

    compatible = "al,al5e-1.2", "al,al5e";

    interrupt-parent = <&gic>;

    interrupts = <0 96 4>;

    reg = <0x0 0xa0100000 0x0 0x10000>;

    };

    decoder: al5d@a0120000 {

    compatible = "al,al5d-1.2", "al,al5d";

    interrupt-parent = <&gic>;

    interrupts = <0 96 4>;

    reg = <0x0 0xa0120000 0x0 0x10000>;

    };

    };

    misc_clk_2: misc_clk_2 {

    #clock-cells = <0>;

    clock-frequency = <33316544>;

    compatible = "fixed-clock";

    };

    vcap_sdi {

    compatible = "xlnx,video";

    dma-names = "port0";

    dmas = <&sdi_rx_input_v_frmbuf_wr 0>;

    vcap_ports: ports {

    #address-cells = <1>;

    #size-cells = <0>;

    vcap_port: port@0 {

    direction = "input";

    reg = <0>;

    vcap_csi_in: endpoint {

    remote-endpoint = <&scaler_out>;

    };

    };

    };

    };

    };

    };

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • drozwood90
    drozwood90 over 5 years ago in reply to pierlum

    HI there,

     

    Next time, try using "Quote" or "Syntax Highlighting".  That will make this more clear to read.

    Second, have you compared that to the files that come as part of the example?

     

    --Dan

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • pierlum
    pierlum over 5 years ago in reply to drozwood90

    Hi Dan,

    sorry. Next time I'll follow your advices. Is there a way to attach a file to an answer?

    The system-user.dtsi is the same of the example (the included files)  but in addition I added in the queue the content of pl.dtsi file generated using petalinux-build -c device-tree -x configure.

    Thank you.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 4 years ago in reply to drozwood90

    Hello,

     

    I create a project with Vivado. And export xsa file. I need a .bsp file.

    I am using Vivado/Vitis 2019.2. How can I create a .bsp file ? Should I write it myself ?

    I want to use this .bsp file with petalinux-create command.

     

    Thanks for reply.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • narrucmot
    narrucmot over 4 years ago in reply to Former Member

    The .bsp file is a product of the petalinux-package command, which is run after first successfully completing the steps to create, configure, and build the PetaLinux project.

     

    You can get an idea of the steps involved by looking at the BSP build scripts for the Avnet UZ7EV SOM (with EV carrier) in Avnet's petalinux github repository:

    https://github.com/Avnet/petalinux/blob/2020.2/scripts/make_uz7ev_evcc_base.sh

    https://github.com/Avnet/petalinux/blob/2020.2/scripts/common.sh

     

    You may also want to look at Xilinx UG1144 - PetaLinux Tools Documentation Reference Guide

     

    --Tom

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 4 years ago in reply to narrucmot

    Hello,

     

    But there is command like    petalinux-create -t project -s .....bsp

    if I dont have .bsp file i can not use this command.

     

    Thanks,

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • narrucmot
    narrucmot over 4 years ago in reply to Former Member

    Use the "petalinux-create -t project -s <PATH-TO-BSP>" command only when using a pre-built BSP as the starting point of your PetaLinux development.

     

    When starting a PetaLinux project from scratch the command is more like:

    $ petalinux-create --type project --template zynqMP --name <petalinux_project_name>"

     

    Followed by the command to import the .xsa file for your Vivado hw project:

    $ petalinux-config --silentconfig --get-hw-description=<path/to/xsa_file> -p </path/to/petalinux_project>

     

    Then follow the rest of the steps described in Xilinx UG1144 and in the Avnet build scripts to build the OS image and package the PetaLinux project into a .bsp file.

     

    --Tom

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 4 years ago in reply to narrucmot

    Hello,

     

    According to UG1144, I've done

    petalinux-create --type project --template zynqMP --name <project_name>"

    petalinux-config --silentconfig --get-hw-description=<path/to/xsa_file>

    petalinux-build

    petalinux-package --boot  ....

     

    After these commands all images/linux folder files cretaed. That's ok. But when I boot from SD card (putting BOOT.bin and image.ub), Then I look in serial port with TeraTerm, there is no written lines, and after a while ps_err_out led is red.

     

    Also when I look at the "/project-spec/meta-user/recipes-bsp/device-tree/files/" folder and in this folder there is 2 empty files (pl-custom.dtsi & system-user.dtsi). Should I write anything to dtsi files before any petalinux commands

     

     

    Thanks,

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube