Jump to content
  • 0

MIPI CS2 + Video Frame Buffer: Device Tree pl.dtsi generated with no port definitions


iyer25
 Share

Question

Hello folks, Software v2020.1 Hardware: Zedboard + FMC + PCAM for Port A 

I am trying to get an example setup running with the MIPI CSI 2 RX subsystem connected to the Video Frame Buffer to read it. 

See the following diagram large.1763712064_Screenshotfrom2021-05-1318-16-49.png.9d29b8a44f02039672a3c2d44e129c7e.png

 

As I export the hardware to Vitis to create the device tree files, the pl.dtsi is generated as shown below. It can be seen that in mipi_csi2_rx_subsystem_0 the ports entry is  not created.

What I would expect are entries like:

Quote

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 {
};
};
};
};


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>;

};

};

};

};

 

What I have is 

Quote

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>;
        };

What went wrong? however as it is autogenerated and the hardware design will be used later for PetaLinux.

does anyone has worked with new version mipi core to help me on understanding the issue? 

Thank you in advance!
 

Edited by iyer25
mistake on the post
Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...