Hi,
Im using LF6.1.1 Yocto code base for my IMX8MPLUS SoC. I am using camera module with 4 lanes MIPI CIS2, 1350Mbps / lane.
With such baud rate - I can't get data. But if I lower it down to 750Mbps - the camera works fine.
HSSettle settings are correct - I tried another settle value for 1350Mbps - it doesn't help.
MIPI_CSI controller reports about ERR_SOT_HS errors. in 750Mbps mode - no errors.
Should I increase input CLK for MIPI PHY or MIPI CSI controller?
Thank you in advance.
Solved! Go to Solution.
how about setting hssettle to 29 or 30? and set CLKSETTLECTL to 0 which is depends on what mipi phy version you use, you can try 0 firstly
what lane do you set? and how do you get 1350Mbps / lane? by tools? and what HSSETTLE do you set? ERR_SOT_HS error, need to set HSSETTLE to correct it
Lane count set to 4.
1350Mbps steam comes from the sensor. Clock measured by an oscilloscope.
HSSETTLE tried 2, 7, 15 - no luck.
how about setting hssettle to 29 or 30? and set CLKSETTLECTL to 0 which is depends on what mipi phy version you use, you can try 0 firstly
value 0x30 works fine for 1.5Gbps/lane
After testing, we found that the video still not stable.
after adding in device tree:
csis-hs-settle = <0x30>;
Still can't get a valid video.
Only way to make it work is to change the HSSETTLE value during streaming.
Correct sequence during streaming:
0x32E40024 w 0x5000001F
0x32E40024 w 0x3000001F
Do I need to enable RX skew calibration?
Only way to make it work is to change the HSSETTLE value during streaming.
> what do you mean? do you mean need to set hssettle in the dts to 0x30,when streaming the video, you need change the hssettle to 0x5 and 0x3?
when you set 0x32E40024 during video streaming, you need measure what clock you can get, then to check the timing settings, and I still don't know how you get stable video, you set 0x30 in the dts, then set 0x32E40024 to 0x5000001F, after that, you need set 0x32E40024 to 0x3000001F again?