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 349 subscribers
  • Views 2185 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
  • 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
  • a1234
    a1234 over 4 years ago in reply to pierlum

    Hi Pierluigi Michetti,

     

    Your sdi vcu project run work fine ?

    Can you share your project folder ? I can not run it. I think my problem is .dtsi files

     

    Thanks,

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • a1234
    a1234 over 4 years ago in reply to pierlum

    Hi Pierluigi Michetti,

     

    Your sdi vcu project run work fine ?

    Can you share your project folder ? I can not run it. I think my problem is .dtsi files

     

    Thanks,

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data
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