element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Benefits of Membership
    • Achievement Levels
    • Members Area
    • Personal Blogs
    • Feedback and Support
    • What's New on element14
  • Learn
    Learn
    • Learning Center
    • eBooks
    • STEM Academy
    • Webinars, Training and Events
    • More
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • More
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • More
  • Products
    Products
    • Arduino
    • Dev Tools
    • Manufacturers
    • Raspberry Pi
    • RoadTests & Reviews
    • Avnet Boards Community
    • More
  • 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
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
ZedBoard Hardware Design zedboard + fmc + pcam
  • Forums
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Avnet Boards Forums requires membership for participation - click to join
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 0 replies
  • Subscribers 40 subscribers
  • Views 325 views
  • Users 0 members are here
Related

zedboard + fmc + pcam

oussvision
oussvision over 1 year ago

hello all.

Background work: v2019.1 for image processing, video pipeline. I was successfully had it working in the old version. my target is linux based application.

Issue: upgraded recently to v2020.1 for the same project.

Hardware design attaching below for reference. mipi -> demosaic -> frame_write -> frame_read

 

I am bit puzzled with the changes in the new version.

Question1 -> on the pl.dtsi, there are no ports generating like in v2019.1. I am attaching both files for reference. Do I need to worry about the ports missing? can someone verify if it's normal in the new version?

pl.dtsi

 

 

/* this is for v2020.1*/

/ {

amba_pl: amba_pl {

#address-cells = <1>;

#size-cells = <1>;

compatible = "simple-bus";

ranges ;

axi_cama_bta: gpio@41200000 {

#gpio-cells = <3>;

clock-names = "s_axi_aclk";

clocks = <&misc_clk_0>;

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

gpio-controller ;

reg = <0x41200000 0x10000>;

xlnx,all-inputs = <0x0>;

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 = <0x4>;

xlnx,gpio2-width = <0x20>;

xlnx,interrupt-present = <0x0>;

xlnx,is-dual = <0x0>;

xlnx,tri-default = <0xFFFFFFFF>;

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

};

misc_clk_0: misc_clk_0 {

#clock-cells = <0>;

clock-frequency = <150000000>;

compatible = "fixed-clock";

};

axi_cama_gpio: gpio@41210000 {

#gpio-cells = <3>;

clock-names = "s_axi_aclk";

clocks = <&misc_clk_0>;

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

gpio-controller ;

reg = <0x41210000 0x10000>;

xlnx,all-inputs = <0x0>;

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 = <0x4>;

xlnx,gpio2-width = <0x20>;

xlnx,interrupt-present = <0x0>;

xlnx,is-dual = <0x0>;

xlnx,tri-default = <0xFFFFFFFF>;

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

};

mipi_csi2_rx_subsyst_0: mipi_csi2_rx_subsystem@43c40000 {

clock-names = "lite_aclk", "dphy_clk_200M", "video_aclk";

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

compatible = "xlnx,mipi-csi2-rx-subsystem-5.0";

interrupt-names = "csirxss_csi_irq";

interrupt-parent = <&intc>;

interrupts = <0 29 4>;

reg = <0x43c40000 0x1000>;

xlnx,axis-tdata-width = <32>;

xlnx,cal-mode = "NONE";

xlnx,clk-io-swap = "false";

xlnx,clk-lane-io-position = <0x0>;

xlnx,clk-lp-io-swap = "false";

xlnx,csi-en-activelanes = "true";

xlnx,csi-en-crc = "true";

xlnx,csi-filter-userdatatype = "false";

xlnx,csi-opt1-regs = "false";

xlnx,csi-pxl-format = "RAW10";

xlnx,csi2rx-dbg = <0x0>;

xlnx,data-lane0-io-position = <0x2>;

xlnx,data-lane1-io-position = <0x4>;

xlnx,data-lane2-io-position = <0x6>;

xlnx,data-lane3-io-position = <0x8>;

xlnx,dl0-io-swap = "false";

xlnx,dl0-lp-io-swap = "false";

xlnx,dl1-io-swap = "false";

xlnx,dl1-lp-io-swap = "false";

xlnx,dl2-io-swap = "false";

xlnx,dl2-lp-io-swap = "false";

xlnx,dl3-io-swap = "false";

xlnx,dl3-lp-io-swap = "false";

xlnx,dphy-lanes = <0x2>;

xlnx,dphy-mode = "SLAVE";

xlnx,en-active-lanes ;

xlnx,en-bg0-pin0 = "false";

xlnx,en-bg0-pin6 = "false";

xlnx,en-bg1-pin0 = "false";

xlnx,en-bg1-pin6 = "false";

xlnx,en-bg2-pin0 = "false";

xlnx,en-bg2-pin6 = "false";

xlnx,en-bg3-pin0 = "false";

xlnx,en-bg3-pin6 = "false";

xlnx,en-clk300m = "false";

xlnx,en-cnts-byte-clk = "false";

xlnx,en-csi-v2-0 = "false";

xlnx,en-exdesigns = "false";

xlnx,en-timeout-regs = "false";

xlnx,en-vcx = "false";

xlnx,esc-timeout = <0x6400>;

xlnx,exdes-board = "ZCU102";

xlnx,exdes-config = "MIPI_Video_Pipe_Camera_to_Display";

xlnx,exdes-fmc = "LI-IMX274MIPI-FMC V1.0 Single Sensor";

xlnx,fifo-rd-en-control = "true";

xlnx,hs-line-rate = <0x118>;

xlnx,hs-settle-ns = <0xaa>;

xlnx,hs-timeout = <0x10005>;

xlnx,idly-tap = <0x1>;

xlnx,init = <0x186a0>;

xlnx,is-7series = "true";

xlnx,is-versal = "false";

xlnx,lprx-disable-extport = <0x0>;

xlnx,max-lanes = <2>;

xlnx,mipi-slv-int = <0x0>;

xlnx,ooc-vid-clk = "6.666";

xlnx,ppc = <1>;

xlnx,rcve-alt-deskew-seq = "false";

xlnx,rcve-deskew-seq = "false";

xlnx,share-idlyctrl = "false";

xlnx,stretch-line-rate = <0xdac>;

xlnx,vc = <4>;

xlnx,vfb ;

};

misc_clk_1: misc_clk_1 {

#clock-cells = <0>;

clock-frequency = <200000000>;

compatible = "fixed-clock";

};

v_demosaic_0: v_demosaic@43c00000 {

clock-names = "ap_clk";

clocks = <&misc_clk_0>;

compatible = "xlnx,v-demosaic-1.0", "xlnx,v-demosaic";

interrupt-names = "interrupt";

interrupt-parent = <&intc>;

interrupts = <0 30 4>;

reg = <0x43c00000 0x10000>;

xlnx,s-axi-ctrl-addr-width = <0x6>;

xlnx,s-axi-ctrl-data-width = <0x20>;

};

v_frmbuf_rd_0: v_frmbuf_rd@43c10000 {

#dma-cells = <1>;

clock-names = "ap_clk";

clocks = <&misc_clk_0>;

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

interrupt-names = "interrupt";

interrupt-parent = <&intc>;

interrupts = <0 32 4>;

reg = <0x43c10000 0x10000>;

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

xlnx,dma-align = <8>;

xlnx,max-height = <1024>;

xlnx,max-width = <2048>;

xlnx,pixels-per-clock = <1>;

xlnx,s-axi-ctrl-addr-width = <0x7>;

xlnx,s-axi-ctrl-data-width = <0x20>;

xlnx,vid-formats = "bgr888";

xlnx,video-width = <8>;

};

v_frmbuf_wr_0: v_frmbuf_wr@43c20000 {

#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 = <&intc>;

interrupts = <0 31 4>;

reg = <0x43c20000 0x10000>;

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

xlnx,dma-align = <8>;

xlnx,max-height = <1024>;

xlnx,max-width = <2048>;

xlnx,pixels-per-clock = <1>;

xlnx,s-axi-ctrl-addr-width = <0x7>;

xlnx,s-axi-ctrl-data-width = <0x20>;

xlnx,vid-formats = "bgr888";

xlnx,video-width = <8>;

};

v_tc_0: v_tc@43c30000 {

clock-names = "clk", "s_axi_aclk";

clocks = <&misc_clk_2>, <&misc_clk_0>;

compatible = "xlnx,v-tc-6.2", "xlnx,v-tc-6.1";

interrupt-names = "irq";

interrupt-parent = <&intc>;

interrupts = <0 33 4>;

reg = <0x43c30000 0x10000>;

xlnx,generator ;

};

misc_clk_2: misc_clk_2 {

#clock-cells = <0>;

clock-frequency = <74250000>;

compatible = "fixed-clock";

};

};

};

 

pl.dtsi v2019.1

/ {

amba_pl: amba_pl {

#address-cells = <1>;

#size-cells = <1>;

compatible = "simple-bus";

ranges ;

axi_cama_bta: gpio@41200000 {

#gpio-cells = <3>;

clock-names = "s_axi_aclk";

clocks = <&misc_clk_0>;

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

gpio-controller ;

reg = <0x41200000 0x10000>;

xlnx,all-inputs = <0x0>;

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 = <0x4>;

xlnx,gpio2-width = <0x20>;

xlnx,interrupt-present = <0x0>;

xlnx,is-dual = <0x0>;

xlnx,tri-default = <0xFFFFFFFF>;

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

};

misc_clk_0: misc_clk_0 {

#clock-cells = <0>;

clock-frequency = <150000000>;

compatible = "fixed-clock";

};

axi_cama_gpio: gpio@41210000 {

#gpio-cells = <3>;

clock-names = "s_axi_aclk";

clocks = <&misc_clk_0>;

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

gpio-controller ;

reg = <0x41210000 0x10000>;

xlnx,all-inputs = <0x0>;

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 = <0x4>;

xlnx,gpio2-width = <0x20>;

xlnx,interrupt-present = <0x0>;

xlnx,is-dual = <0x0>;

xlnx,tri-default = <0xFFFFFFFF>;

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

};

mipi_csi2_rx_subsyst_0: mipi_csi2_rx_subsystem@43c00000 {

clock-names = "lite_aclk", "dphy_clk_200M", "video_aclk";

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

compatible = "xlnx,mipi-csi2-rx-subsystem-4.0", "xlnx,mipi-csi2-rx-subsystem-4.0";

interrupt-names = "csirxss_csi_irq";

interrupt-parent = <&intc>;

interrupts = <0 29 4>;

reg = <0x43c00000 0x10000>;

xlnx,axis-tdata-width = <32>;

xlnx,cal-mode = "NONE";

xlnx,clk-io-swap = "false";

xlnx,clk-lane-io-position = <0x0>;

xlnx,clk-lp-io-swap = "false";

xlnx,csi-en-activelanes = "true";

xlnx,csi-en-crc = "true";

xlnx,csi-filter-userdatatype = "false";

xlnx,csi-opt1-regs = "false";

xlnx,csi-pxl-format = "RAW10";

xlnx,csi2rx-dbg = <0x0>;

xlnx,data-lane0-io-position = <0x2>;

xlnx,data-lane1-io-position = <0x4>;

xlnx,data-lane2-io-position = <0x6>;

xlnx,data-lane3-io-position = <0x8>;

xlnx,dl0-io-swap = "false";

xlnx,dl0-lp-io-swap = "false";

xlnx,dl1-io-swap = "false";

xlnx,dl1-lp-io-swap = "false";

xlnx,dl2-io-swap = "false";

xlnx,dl2-lp-io-swap = "false";

xlnx,dl3-io-swap = "false";

xlnx,dl3-lp-io-swap = "false";

xlnx,dphy-lanes = <0x2>;

xlnx,dphy-mode = "SLAVE";

xlnx,en-active-lanes ;

xlnx,en-bg0-pin0 = "false";

xlnx,en-bg0-pin6 = "false";

xlnx,en-bg1-pin0 = "false";

xlnx,en-bg1-pin6 = "false";

xlnx,en-bg2-pin0 = "false";

xlnx,en-bg2-pin6 = "false";

xlnx,en-bg3-pin0 = "false";

xlnx,en-bg3-pin6 = "false";

xlnx,en-clk300m = "false";

xlnx,en-csi-v2-0 = "true";

xlnx,en-exdesigns = "false";

xlnx,en-timeout-regs = "false";

xlnx,en-vcx = "false";

xlnx,esc-timeout = <0x6400>;

xlnx,exdes-board = "ZCU102";

xlnx,exdes-config = "MIPI_Video_Pipe_Camera_to_Display";

xlnx,exdes-fmc = "LI-IMX274MIPI-FMC V1.0 Single Sensor";

xlnx,fifo-rd-en-control = "true";

xlnx,hs-line-rate = <0x320>;

xlnx,hs-settle-ns = <0x93>;

xlnx,hs-timeout = <0x10005>;

xlnx,idly-tap = <0x1>;

xlnx,init = <0x186a0>;

xlnx,is-7series = "true";

xlnx,is-versal = "false";

xlnx,max-lanes = <2>;

xlnx,mipi-slv-int = <0x0>;

xlnx,ppc = <1>;

xlnx,share-idlyctrl = "false";

xlnx,stretch-line-rate = <0x5dc>;

xlnx,vfb ;

csiss_ports: ports {

#address-cells = <1>;

#size-cells = <0>;

csiss_port0: port@0 {

/* Fill cfa-pattern=rggb for raw data types, other fields video-format and video-width user needs to fill */

reg = <0>;

xlnx,cfa-pattern = "rggb";

xlnx,video-format = <12>;

xlnx,video-width = <8>;

csiss_out: endpoint {

remote-endpoint = <&demosaic_in>;

};

};

csiss_port1: port@1 {

/* Fill cfa-pattern=rggb for raw data types, other fields video-format,video-width user needs to fill */

/* User need to add something like remote-endpoint=<&out> under the node csiss_in:endpoint */

reg = <1>;

xlnx,cfa-pattern = "rggb";

xlnx,video-format = <12>;

xlnx,video-width = <8>;

csiss_in: endpoint {

};

};

};

};

misc_clk_1: misc_clk_1 {

#clock-cells = <0>;

clock-frequency = <200000000>;

compatible = "fixed-clock";

};

v_demosaic_0: v_demosaic@43c10000 {

clock-names = "ap_clk";

clocks = <&misc_clk_0>;

compatible = "xlnx,v-demosaic-1.0", "xlnx,v-demosaic";

interrupt-names = "interrupt";

interrupt-parent = <&intc>;

interrupts = <0 30 4>;

reg = <0x43c10000 0x10000>;

xlnx,max-height = <1024>;

xlnx,max-width = <2048>;

xlnx,s-axi-ctrl-addr-width = <6>;

xlnx,s-axi-ctrl-data-width = <32>;

demosaic_ports: ports {

#address-cells = <1>;

#size-cells = <0>;

demosaic_port0: port@0 {

/* For cfa-pattern=rggb user needs to fill as per BAYER format */

reg = <0>;

xlnx,cfa-pattern = "rggb";

xlnx,video-width = <8>;

demosaic_in: endpoint {

remote-endpoint = <&csiss_out>;

};

};

};

};

v_frmbuf_rd_0: v_frmbuf_rd@43c30000 {

#dma-cells = <1>;

clock-names = "ap_clk";

clocks = <&misc_clk_0>;

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

interrupt-names = "interrupt";

interrupt-parent = <&intc>;

interrupts = <0 33 4>;

reg = <0x43c30000 0x10000>;

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

xlnx,dma-align = <8>;

xlnx,max-height = <1024>;

xlnx,max-width = <2048>;

xlnx,pixels-per-clock = <1>;

xlnx,s-axi-ctrl-addr-width = <0x7>;

xlnx,s-axi-ctrl-data-width = <0x20>;

xlnx,vid-formats = "bgr888";

xlnx,video-width = <8>;

};

v_frmbuf_wr_0: v_frmbuf_wr@43c20000 {

#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 = <&intc>;

interrupts = <0 31 4>;

reg = <0x43c20000 0x10000>;

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

xlnx,dma-align = <8>;

xlnx,max-height = <1024>;

xlnx,max-width = <2048>;

xlnx,pixels-per-clock = <1>;

xlnx,s-axi-ctrl-addr-width = <0x7>;

xlnx,s-axi-ctrl-data-width = <0x20>;

xlnx,vid-formats = "bgr888";

xlnx,video-width = <8>;

};

v_tc_0: v_tc@43c40000 {

clock-names = "clk", "s_axi_aclk";

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

compatible = "xlnx,v-tc-6.1", "xlnx,v-tc-6.1";

interrupt-names = "irq";

interrupt-parent = <&intc>;

interrupts = <0 32 4>;

reg = <0x43c40000 0x10000>;

xlnx,generator ;

};

};

};

 

systemuser.dtsi

/include/ "system-conf.dtsi"

#include <dt-bindings/gpio/gpio.h>

#include <dt-bindings/media/xilinx-vip.h>

 

 

/{

xlnk {

compatible = "xlnx,xlnk-1.0";

};

};

 

 

/{

    model = "Zynq Zed Development Board";

    compatible = "xlnx,zynq-zed", "xlnx,zynq-7000";

 

     usb_phy0: phy0@e0002000 {

        compatible = "ulpi-phy";

        #phy-cells = <0>;

        reg = <0xe0002000 0x1000>;

        view-port = <0x0170>;

        drv-vbus;

    };

};

 

 

 

 

&v_tc_0 {

    compatible = "xlnx,bridge-v-tc-6.1";

    xlnx,pixels-per-clock = <1>;

};

 

 

 

 

&usb0 {

dr_mode = "host";

usb-phy = <&usb_phy0>;

};

 

 

&sdhci0 {

u-boot,dm-pre-reloc;

};

 

 

&uart1 {

u-boot,dm-pre-reloc;

};

 

 

&qspi {

u-boot,dm-pre-reloc;

};

 

 

 

 

&flash0 {

compatible = "micron,m25p80", "s25fl128s", "spi-flash";

};

 

 

 

 

 

 

&mipi_csi2_rx_subsyst_0 {

 

        xlnx,vc = <0x4>;

xlnx,max-height = <1024>;

    xlnx,max-width = <2048>;

        csiss_ports: ports {

        #address-cells = <1>;

        #size-cells = <0>;

        csiss_port0: port@0 {

            reg = <0>;

 

            xlnx,video-format = <0>;

            xlnx,video-width = <8>;

            mipi_csi2_rx_0_to_demosaic_0: endpoint {

                remote-endpoint = <&demosaic_0_from_mipi_csi2_rx_0>;

            };

        };

        csiss_port1: port@1 {

            reg = <1>;

 

            xlnx,video-format = <12>;

            xlnx,video-width = <8>;

            csiss_in: endpoint {

data-lanes = <1 2>;

        remote-endpoint = <&ov5640_to_mipi_csi2>;

            };

        };

    };

};

&v_demosaic_0 {

    reset-gpios = <&gpio0 57 GPIO_ACTIVE_LOW>;  

    compatible = "xlnx,v-demosaic";  

    xlnx,max-height = <1024>;

    xlnx,max-width = <2048>;

    ports {

        #address-cells = <1>;

        #size-cells = <0>;

        port@0 {

            reg = <0>;

 

            xlnx,video-width = <8>;

            demosaic_0_from_mipi_csi2_rx_0: endpoint {

                remote-endpoint = <&mipi_csi2_rx_0_to_demosaic_0>;

            };

        };

port@1 {

            reg = <1>;

  

            xlnx,video-width = <8>;

 

 

            demosaic_0_to_fb: endpoint {

                remote-endpoint = <&vcap_in>;

            };

        };

     

    };

};

 

 

/ {

    pcam_clk:pcam_clk {

        #clock-cells = <0>;

        compatible = "fixed-clock";

        clock-frequency = <20000000>;

    };

    cam_reg_1v8: regulator-1v8 {

compatible = "regulator-fixed";

regulator-name = "1v8";

regulator-min-microvolt = <1800000>;

regulator-max-microvolt = <1800000>;

                startup-delay-us = <50000>;

enable-active-high;

};

cam_reg_2v8: regulator-1v8 {

compatible = "regulator-fixed";

regulator-name = "2v8";

regulator-min-microvolt = <2800000>;

regulator-max-microvolt = <2800000>;

 

};

cam_reg_1v5: regulator-1v8 {

compatible = "regulator-fixed";

regulator-name = "1v5";

regulator-min-microvolt = <1500000>;

regulator-max-microvolt = <1500000>;

};

 

};

 

 

&i2c0 {

    clock-frequency = <100000>;

    status = "okay";

    i2c-switch@70{ /* U3 on FMC */

        compatible = "nxp,pca9546";

        #address-cells = <1>;

        #size-cells = <0>;

        reg = <0x70>;

        i2csw_0: i2c@0 { /* cam 1 */

            #address-cells = <1>;

            #size-cells = <0>;

            reg = <0>;

            /* I2C0 */

             };

        i2csw_1: i2c@1 { /* cam 2 */

            #address-cells = <1>;

            #size-cells = <0>;

            reg = <1>;

            /* I2C1 */

            };

        i2csw_2: i2c@2 { /* cam 3*/

            #address-cells = <1>;

            #size-cells = <0>;

            reg = <2>;

             /* I2C2 */

            };

        i2csw_3: i2c@3 { /* cam 4 */

            #address-cells = <1>;

            #size-cells = <0>;

            reg = <3>;

            /* I2C3 */

            };

    };

};

 

 

&i2csw_0 {

ov5640: camera@3c {

        compatible = "ovti,ov5640";

        reg = <0x3c>;

        clocks = <&pcam_clk >;

        clock-names = "xclk";

        vdddo-supply = <&cam_reg_1v8>;

vdda-supply = <&cam_reg_2v8>;

vddd-supply = <&cam_reg_1v5>;

      

        port {

        ov5640_to_mipi_csi2: endpoint {

                remote-endpoint = <&csiss_in>;

                clock-lanes = <0>;

                data-lanes = <1 2>;

            };

        };

    };

};

 

 

&v_frmbuf_wr_0 {

#dma-cells = <1>;

reset-gpios = <&gpio0 56 GPIO_ACTIVE_LOW>;

xlnx,vid-formats = "rgb888", "bgr888", "xbgr8888", "xrgb8888", "uyvy", "vuy888", "xvuy8888", "yuyv";

xlnx,video-width = <8>;

xlnx,max-height = <1024>;

xlnx,max-width = <2048>;

interrupt-parent = <&intc>;

        interrupts = <0 31 4>;

};

&v_frmbuf_rd_0 {

#dma-cells = <1>;

reset-gpios = <&gpio0 58 GPIO_ACTIVE_LOW>;

xlnx,vid-formats = "rgb888", "bgr888", "xbgr8888", "xrgb8888", "uyvy", "vuy888", "xvuy8888", "yuyv";

xlnx,video-width = <8>;

xlnx,max-height = <1024>;

xlnx,max-width = <2048>;

interrupt-parent = <&intc>;

        interrupts = <0 31 4>;

};

 

 

 

 

&csiss_port0 {

xlnx,video-format = <XVIP_VF_YUV_422>;

};

 

 

&csiss_port1 {

xlnx,video-format = <XVIP_VF_YUV_422>;

};

 

 

&csiss_in {

data-lanes = <1 2>;

remote-endpoint = <&ov5640_to_mipi_csi2>;

};

 

 

&amba_pl {

    video_in: video_cap {

        compatible = "xlnx,video";

 

        dmas = <&v_frmbuf_wr_0 0>;

       dma-names = "port0";

 

 

       ports {

            #address-cells = <1>;

            #size-cells = <0>;

 

 

             port@0 {

                reg = <0>;

                direction = "input";

                vcap_in: endpoint {

                    remote-endpoint = <&demosaic_0_to_fb>;

                };

            };          

        };

    };

};

 

 

 

 

Question2 -> on some research I could find somewhere to force set the settings in the systemuser.dtsi file. I tried to do this as well. I have error as below :-

Header 1

xilinx-frmbuf 43c10000.v_frmbuf_rd: Unable to locate reset property in dt

xilinx-frmbuf: probe of 43c10000.v_frmbuf_rd failed with error -2

xilinx-frmbuf 43c20000.v_frmbuf_wr: Unable to locate reset property in dt

xilinx-frmbuf: probe of 43c20000.v_frmbuf_wr failed with error -2

hub 1-0:1.0: 1 port detected

i2c /dev entries driver

cdns-i2c e0004000.i2c: 400 kHz mmio e0004000 irq 22

xilinx-csi2rxss 43c40000.mipi_csi2_rx_subsystem: invalid number of ports 0

xilinx-csi2rxss: probe of 43c40000.mipi_csi2_rx_subsystem failed with error -22

xilinx-demosaic 43c00000.v_demosaic: missing xlnx,max-height property!

xilinx-demosaic: probe of 43c00000.v_demosaic failed with error -22

xilinx-vtc 43c30000.v_tc: device found, version 6.020

cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer with timeout 10s

 

 

could someone help me way out for this issue?

  • Reply
  • Cancel
  • Cancel
Element14

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 © 2022 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

  • Facebook
  • Twitter
  • linkedin
  • YouTube