Jump to content
  • 0

Mipi-csi2 rx subsys tvalid condition


alex84

Question

Hello, 

I'm using "Mipi-csi2 rx subsys" on KC705 & 0V5640 with FMC Digilent adapter. I obtain data from d-phy (fig1) but I can't obtain TVALID signal from AXIS output.

Mipi-csi2 rx subsys is set to decode YUV422 10 bit signal, on 2 Lanes with LaneRate to 280Mbps.

I modify the Xilinx cfg_init tab from 0V5640.h and set register:

{0x3034 || 0x1A} 10bit 

{0x300e || 0x45 } MIPI enable || Two lane mode

{0x4800 || 0x14} [5]=0 Clock free running, [4]=1 Send line short packet, [3]=0 Use lane1 as default, [2]=1 MIPI bus LP11 when no packet; Default=0x04

{0x4300 || 0x30}  Format Control (YUV)

Edit: I read from ISR=0x00022882: bit2-ErrFrameSync VC0=1 | bit7-ErrFrameSync VC3=1 | bit11-ECC 2-bit error | bit13-SoT error detected bit17-StopState

Q0 How to set 0V5640 register 0to obtain valid frame with YUV10bit config?

Q1 Which condition are needed to generate tvalid on axis output?

Q2 Is there register to set to generate axis transaction from  "Mipi-csi2 rx subsys"?

Regards.

dphy_out_2.png

Edited by alex84
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Hello,

I'm facing the same problem I'm using Xilinx Vivado 2020.1 IP. When I'm trying to import Digilent IP Mipi-CSI & D-PHY are grayed out:

image.png.bf1d237e3fc4808715b6ffbc19b16382.png

I can open them from Zedboard-HW.xpr but not from import in my project. Is there a whay to do it?

Regards

Link to comment
Share on other sites

  • 0

We were working on a demo project for zynq ultrascale+ with the MIPI CSI RX Subsystem however it got postponed indefinitely. But you can check out Adam Taylor's own demo for our Genesys ZU board, he is using it in his block design.

As for why some of our IPs are disabled when adding them to your project's IP Repository there could be multiple answers. What board is your project set to target ? I know for a fact our MIPI IPs are NOT compatible with the zynq ultrascale+ architecture so they're greyed out for me too when trying to add them to a Genesys ZU project.

Or maybe when the source files were packaged into IPs, compatibility for Kintex7 wasn't added. However, I'm pretty sure our MIPI IPs work great on Kintex7 too, we have a FMC-Pcam-Adapter demo project for the Genesys2.

What you can try is to open your Zedboard project, right-click on the IPs that are disabled elsewhere, go to Edit in IP Packager and press OK. It will open a new vivado tab, go to Compatibility and click on the "+" button and choose Add Family Explicitly....

image.thumb.png.60c356ed66f082196d1313f69408d76e.png

From there you can select to add the Kintex7 (Kintex-7) family to IP compatibility, just be aware that our MIPI IPs don't work on ultrascale and ultrascale+ families.

image.thumb.png.1d3131751f20251b575ecced9e46ba3d.png

And that should be it, also make sure to check our Genesys2 FMC-Pcam-Adapter DEMO too, it might literally be exactly what you need for your KC705 board. Here's the wiki page (don't let the un-updated photos fool you). 

 

Link to comment
Share on other sites

  • 0
5 hours ago, thinkthinkthink said:

We were working on a demo project for zynq ultrascale+ with the MIPI CSI RX Subsystem however it got postponed indefinitely. But you can check out Adam Taylor's own demo for our Genesys ZU board, he is using it in his block design.

Thank you for your reply. I've check the A.Taylor's Mipi CSI-2 Rx SubSys config and we have the same parameters except for the lane rate I use 336MBP and he used 280MBPS. A.Taylor's SW project use one config 720p*1280 @ 60fps,  A.Taylor's cam SW init config is the same than Digilent.

The main difference is I config iic cam from PCIe without µBlaze. I readback cam register from iic and it looks ok.

5 hours ago, thinkthinkthink said:

As for why some of our IPs are disabled when adding them to your project's IP Repository there could be multiple answers. What board is your project set to target ? I know for a fact our MIPI IPs are NOT compatible with the zynq ultrascale+ architecture so they're greyed out for me too when trying to add them to a Genesys ZU project.

Or maybe when the source files were packaged into IPs, compatibility for Kintex7 wasn't added. However, I'm pretty sure our MIPI IPs work great on Kintex7 too, we have a FMC-Pcam-Adapter demo project for the Genesys2.

What you can try is to open your Zedboard project, right-click on the IPs that are disabled elsewhere, go to Edit in IP Packager and press OK. It will open a new vivado tab, go to Compatibility and click on the "+" button and choose Add Family Explicitly....

From there you can selectto add the Kintex7 (Kintex-7) family to IP compatibility, just be aware that our MIPI IPs don't work on ultrascale and ultrascale+ families.

You are right Kintex 7 compatibility wasn't added in IP packager. I could instantiate it after add.

Quote

And that should be it, also make sure to check our Genesys2 FMC-Pcam-Adapter DEMO too, it might literally be exactly what you need for your KC705 board. Here's the wiki page (don't let the un-updated photos fool you). 

If I cannot have valid frame with my project I will try to adapt the Genesys2 project to KC705.

Thank's for your detailed explanation.

Regards

 

 

Edited by alex84
Link to comment
Share on other sites

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
×
×
  • Create New...