• 0

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


Question

Posted (edited)

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: [email protected] {
/* 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: [email protected] {
/* 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: [email protected] {
/* 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: [email protected] {
            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: [email protected] {
            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 post
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