[iMX8MP] Debug MIPI2 issue

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

[iMX8MP] Debug MIPI2 issue

Jump to solution
1,760 Views
khang_letruong
Senior Contributor III

Dear Community,

We are facing a critical issue with custom iMX8MP based hardware comprising CPU/SoM board + Baseboard and dual camera board. With the same firmware (including same camera driver), we observe that :

1. Some combo works 10/10 with the the launching of individual pipeline of the dual camera configuration (i.e we tested 2 pipelines, each at a time).

2. Some combo works 9/10 or 10/10 for the 1st pipeline,  6/10 or 7/10 for the second pipeline.

3. Most of the rest of the hardware combo do not work at all.

We already ruled out the cause of :

a. Shared MCLK by adding a 24MHz oscillator fo each,

b. The incorrect power sequence of the sensor,

c. The timing of the power down signal of the sensor

Observation :

1. In the case of successful gst-launch (working) :

a. There was initial "Lost Frame Start Error" :

 

[ 3110.715703] enter jxf355_query_supports
[ 3110.715727] enter jxf355_get_clk
[ 3110.715737] enter jxf355_set_sensor_mode
[ 3110.715744] jxf355_set_sensor_mode: Setting mode 0
[ 3110.715749] enter jxf355_get_sensor_mode
[ 3110.715755] enter jxf355_query_supports
[ 3110.715867] enter isp_mi_stop
[ 3110.721285] enter jxf355_set_fmt
[ 3110.742698] enter jxf355_write_reg_arry
[ 3110.840174] jxf355_set_fmt: sync. registers before : 0xa7=00; 0x1e=04; 0x80=22
[ 3110.852305] jxf355_set_fmt: sync. registers after : 0xa7=04; 0x1e=1c; 0x80=22
[ 3110.852311] enter jxf355_get_format_code
[ 3110.852318] jxf355_set_fmt: sensor format = {.width=1920, .height=1080, .code=3007}
[ 3110.852338] enter jxf355_set_test_pattern
[ 3110.852343] jxf355_set_test_pattern: disabled
[ 3110.852368] enter jxf355_set_fps(fps=30720)
[ 3110.861377] jxf355_set_fps : current frame length: 1126, current line length: 1280
[ 3110.868971] enter jxf355_get_sensor_mode
[ 3110.869204] enter jxf355_set_exp(exp=151)
[ 3110.875656] enter jxf355_set_gain(gain=4096)
[ 3110.875820] mxc-mipi-csi2.0: fmt: 0x2008, 1920 x 1080
[ 3110.875916] mxc-mipi-csi2.0: csis_s_hdr: 0
[ 3110.876017] enter isp_s_comp
[ 3110.878926] enter isp_s_comp
[ 3110.881808] enter isp_s_comp
[ 3110.884802] mxc-mipi-csi2.0: mipi_csis_s_stream: 1, state: 0x0
[ 3110.884830] mxc-mipi-csi2.0: fmt: 0x2008, 1920 x 1080
[ 3110.884865] mxc-mipi-csi2.0: Lost Frame Start Error: 1
[ 3110.884869] mxc-mipi-csi2.0: status: 00001000
[ 3110.884896] mxc-mipi-csi2.0: Lost Frame Start Error: 2
[ 3110.884899] mxc-mipi-csi2.0: status: 00001000
[ 3110.884929] mxc-mipi-csi2.0: Lost Frame Start Error: 3
[ 3110.884932] mxc-mipi-csi2.0: status: 00001000
[ 3110.884962] mxc-mipi-csi2.0: Lost Frame Start Error: 4
[ 3110.884965] mxc-mipi-csi2.0: status: 00001000
[ 3110.884995] mxc-mipi-csi2.0: Lost Frame Start Error: 5
[ 3110.885000] mxc-mipi-csi2.0: status: 00001000
[ 3110.885028] mxc-mipi-csi2.0: Lost Frame Start Error: 6
[ 3110.885031] mxc-mipi-csi2.0: status: 00001000
[ 3110.885062] mxc-mipi-csi2.0: Lost Frame Start Error: 7
[ 3110.885064] mxc-mipi-csi2.0: status: 00001000
[ 3110.885095] mxc-mipi-csi2.0: Lost Frame Start Error: 8
[ 3110.885098] mxc-mipi-csi2.0: status: 00001000
[ 3110.885128] mxc-mipi-csi2.0: Lost Frame Start Error: 9
[ 3110.885134] mxc-mipi-csi2.0: status: 00001000
[ 3110.885162] mxc-mipi-csi2.0: Lost Frame Start Error: 10
[ 3110.885166] mxc-mipi-csi2.0: status: 00001000
[ 3110.885196] mxc-mipi-csi2.0: Lost Frame Start Error: 11
[ 3110.885199] mxc-mipi-csi2.0: status: 00001000
[ 3110.885230] mxc-mipi-csi2.0: Lost Frame Start Error: 12
[ 3110.885233] mxc-mipi-csi2.0: status: 00001000
[ 3110.885262] mxc-mipi-csi2.0: Lost Frame Start Error: 13

 

 

 

Then Lost Frame Start Error disappears :

 

[ 3110.899829] mxc-mipi-csi2.0: Lost Frame Start Error: 450
[ 3110.899833] mxc-mipi-csi2.0: status: 00001000
[ 3110.899862] mxc-mipi-csi2.0: Lost Frame Start Error: 451
[ 3110.899866] mxc-mipi-csi2.0: status: 00001000
[ 3110.899896] mxc-mipi-csi2.0: Lost Frame Start Error: 452
[ 3110.899900] mxc-mipi-csi2.0: status: 00001000
[ 3110.899930] mxc-mipi-csi2.0: Frame End: 1
[ 3110.899935] mxc-mipi-csi2.0: status: 00100000
[ 3110.901430] mxc-mipi-csi2.0: Frame Start: 1
[ 3110.901433] mxc-mipi-csi2.0: status: 01000000
[ 3110.902414] mxc-mipi-csi2.0: --- mipi_csis_s_stream ---
[ 3110.902420] mxc-mipi-csi2.0:         CSIS_VERSION[0]: 0x03060301
[ 3110.902424] mxc-mipi-csi2.0:        CSIS_CMN_CTRL[4]: 0x00004905
[ 3110.902427] mxc-mipi-csi2.0:        CSIS_CLK_CTRL[8]: 0x000f0000
[ 3110.902433] mxc-mipi-csi2.0:          CSIS_INTMSK[10]: 0x0fffff1f
[ 3110.902437] mxc-mipi-csi2.0:          CSIS_INTSRC[14]: 0x00000000
[ 3110.902440] mxc-mipi-csi2.0:      CSIS_DPHYSTATUS[20]: 0x000000c0
[ 3110.902443] mxc-mipi-csi2.0:        CSIS_DPHYCTRL[24]: 0x05000007
[ 3110.902447] mxc-mipi-csi2.0:     CSIS_DPHYBCTRL_L[30]: 0x000001f4
[ 3110.902451] mxc-mipi-csi2.0:     CSIS_DPHYBCTRL_H[34]: 0x00000000
[ 3110.902455] mxc-mipi-csi2.0:     CSIS_DPHYSCTRL_L[38]: 0x00000000
[ 3110.902461] mxc-mipi-csi2.0:     CSIS_DPHYSCTRL_H[3c]: 0x00000000
[ 3110.902467] mxc-mipi-csi2.0:   CSIS_ISPCONFIG_CH0[40]: 0x000000ac
[ 3110.902471] mxc-mipi-csi2.0:   CSIS_ISPCONFIG_CH1[50]: 0x000008fd
[ 3110.902474] mxc-mipi-csi2.0:   CSIS_ISPCONFIG_CH2[60]: 0x000008fe
[ 3110.902477] mxc-mipi-csi2.0:   CSIS_ISPCONFIG_CH3[70]: 0x000008ff
[ 3110.902480] mxc-mipi-csi2.0:    CSIS_ISPRESOL_CH0[44]: 0x04380780
[ 3110.902486] mxc-mipi-csi2.0:    CSIS_ISPRESOL_CH1[54]: 0x80008000
[ 3110.902489] mxc-mipi-csi2.0:    CSIS_ISPRESOL_CH2[64]: 0x80008000
[ 3110.902493] mxc-mipi-csi2.0:    CSIS_ISPRESOL_CH3[74]: 0x80008000
[ 3110.902496] mxc-mipi-csi2.0:     CSIS_ISPSYNC_CH0[48]: 0x00000000
[ 3110.902500] mxc-mipi-csi2.0:     CSIS_ISPSYNC_CH1[58]: 0x00000000
[ 3110.902503] mxc-mipi-csi2.0:     CSIS_ISPSYNC_CH2[68]: 0x00000000
[ 3110.902509] mxc-mipi-csi2.0:     CSIS_ISPSYNC_CH3[78]: 0x00000000
[ 3110.902512] mxc-mipi-csi2.0: --- mipi_csis_s_stream ---
[ 3110.902519] mxc-mipi-csi2.0:    GPR_GASKET_0_CTRL[60]: 0xffff8000
[ 3110.902523] mxc-mipi-csi2.0:   GPR_GASKET_0_HSIZE[64]: 0xffff8000
[ 3110.902526] mxc-mipi-csi2.0:   GPR_GASKET_0_VSIZE[68]: 0xffff8000
[ 3110.902926] enter wdr3_hw_init
[ 3110.905985] wdr3 res: 1920 1080
[ 3110.909254] [RT7] wdr3_hw_init: Force WDR3 disabled by default
[ 3110.915126] [RT7] isp_enable_wdr3: Force WDR3 disabled in all cases
[ 3110.921933] enter isp_mi_start
[ 3110.925443] enter jxf355_s_stream
[ 3110.927603] jxf355_set_tpg: unsupported pattern -1
[ 3110.937470] mxc-mipi-csi2.0: Frame End: 2
[ 3110.937476] mxc-mipi-csi2.0: status: 00100000
[ 3110.938964] mxc-mipi-csi2.0: Frame Start: 2
[ 3110.938968] mxc-mipi-csi2.0: status: 01000000
[ 3110.975003] mxc-mipi-csi2.0: Frame End: 3
[ 3110.975010] mxc-mipi-csi2.0: status: 00100000
[ 3110.976499] mxc-mipi-csi2.0: Frame Start: 3
[ 3110.976503] mxc-mipi-csi2.0: status: 01000000
[ 3110.985430] enter jxf355_set_exp(exp=112)
[ 3111.012535] mxc-mipi-csi2.0: Frame End: 4
[ 3111.012541] mxc-mipi-csi2.0: status: 00100000
[ 3111.014031] mxc-mipi-csi2.0: Frame Start: 4
[ 3111.014035] mxc-mipi-csi2.0: status: 01000000
[ 3111.050075] mxc-mipi-csi2.0: Frame End: 5
[ 3111.050084] mxc-mipi-csi2.0: status: 00100000
[ 3111.051584] mxc-mipi-csi2.0: Frame Start: 5
[ 3111.051598] mxc-mipi-csi2.0: status: 01000000
[ 3111.087897] mxc-mipi-csi2.0: Frame End: 6
[ 3111.087906] mxc-mipi-csi2.0: status: 00100000
[ 3111.089451] mxc-mipi-csi2.0: Frame Start: 6
[ 3111.089474] mxc-mipi-csi2.0: status: 01000000
[ 3111.125139] mxc-mipi-csi2.0: Frame End: 7
[ 3111.125150] mxc-mipi-csi2.0: status: 00100000
[ 3111.126995] mxc-mipi-csi2.0: Frame Start: 7
[ 3111.127013] mxc-mipi-csi2.0: status: 01000000
[ 3111.162959] mxc-mipi-csi2.0: Frame End: 8
[ 3111.162966] mxc-mipi-csi2.0: status: 00100000
[ 3111.164521] mxc-mipi-csi2.0: Frame Start: 8
[ 3111.164539] mxc-mipi-csi2.0: status: 01000000
[ 3111.177435] enter jxf355_set_exp(exp=83)
[ 3111.200504] mxc-mipi-csi2.0: Frame End: 9
[ 3111.200510] mxc-mipi-csi2.0: status: 00100000
[ 3111.201695] mxc-mipi-csi2.0: Frame Start: 9
[ 3111.201699] mxc-mipi-csi2.0: status: 01000000
[ 3111.238048] mxc-mipi-csi2.0: Frame End: 10
[ 3111.238055] mxc-mipi-csi2.0: status: 00100000
[ 3111.239520] mxc-mipi-csi2.0: Frame Start: 10
[ 3111.239526] mxc-mipi-csi2.0: status: 01000000
[ 3111.275572] mxc-mipi-csi2.0: Frame End: 11
[ 3111.275579] mxc-mipi-csi2.0: status: 00100000

...

[ 3112.401260] mxc-mipi-csi2.0: Frame End: 41
[ 3112.401266] mxc-mipi-csi2.0: status: 00100000
[ 3112.403064] mxc-mipi-csi2.0: Frame Start: 41
[ 3112.403070] mxc-mipi-csi2.0: status: 01000000
[ 3112.439073] mxc-mipi-csi2.0: Frame End: 42
[ 3112.439079] mxc-mipi-csi2.0: status: 00100000
[ 3112.440288] mxc-mipi-csi2.0: Frame Start: 42
[ 3112.440292] mxc-mipi-csi2.0: status: 01000000
[ 3112.472710] mxc-mipi-csi2.0: mipi_csis_s_stream: 0, state: 0x0
[ 3112.472725] mxc-mipi-csi2.0: Frame End events: 42
[ 3112.477431] mxc-mipi-csi2.0: Frame Start events: 42
[ 3112.482307] mxc-mipi-csi2.0: Non-image data after odd frame events: 0
[ 3112.488747] mxc-mipi-csi2.0: Non-image data before odd frame events: 0
[ 3112.495273] mxc-mipi-csi2.0: Non-image data after even frame events: 0
[ 3112.501798] mxc-mipi-csi2.0: Non-image data before even frame events: 0
[ 3112.508411] mxc-mipi-csi2.0: Unknown Error events: 0
[ 3112.513374] mxc-mipi-csi2.0: CRC Error events: 0
[ 3112.517989] mxc-mipi-csi2.0: ECC Error events: 0
[ 3112.522604] mxc-mipi-csi2.0: FIFO Overflow Error events: 0
[ 3112.528088] mxc-mipi-csi2.0: Lost Frame End Error events: 0
[ 3112.533659] mxc-mipi-csi2.0: Lost Frame Start Error events: 452
[ 3112.539576] mxc-mipi-csi2.0: SOT Error events: 0
[ 3112.563200] enter jxf355_s_stream
[ 3112.565458] enter jxf355_get_clk
[ 3112.570500] enter isp_mi_stop

 

2. In the case of unsuccessful gst-launch (not working) :gst-launch is pending and nothing (neither errors not status) is received :

 

[  332.732628] enter jxf355_query_capability
[  332.772212] enter isp_mi_stop
[  332.911221] enter jxf355_query_supports
[  332.911247] enter jxf355_get_clk
[  332.911259] enter jxf355_set_sensor_mode
[  332.911265] jxf355_set_sensor_mode: Setting mode 0
[  332.911272] enter jxf355_get_sensor_mode
[  332.911281] enter jxf355_query_supports
[  332.911406] enter isp_mi_stop
[  332.916892] enter jxf355_set_fmt
[  332.940073] enter jxf355_write_reg_arry
[  333.025824] jxf355_set_fmt: sync. registers before : 0xa7=00; 0x1e=04; 0x80=22
[  333.043601] jxf355_set_fmt: sync. registers after : 0xa7=00; 0x1e=18; 0x80=a2
[  333.043607] enter jxf355_get_format_code
[  333.043613] jxf355_set_fmt: sensor format = {.width=1920, .height=1080, .code=3007}
[  333.043634] enter jxf355_set_test_pattern
[  333.043639] jxf355_set_test_pattern: disabled
[  333.043663] enter jxf355_set_fps(fps=30720)
[  333.070910] jxf355_set_fps : current frame length: 1126, current line length: 1280
[  333.078559] enter jxf355_get_sensor_mode
[  333.078819] enter jxf355_set_exp(exp=151)
[  333.086716] enter jxf355_set_gain(gain=4096)
[  333.086888] mxc-mipi-csi2.1: fmt: 0x2008, 1920 x 1080
[  333.086987] mxc-mipi-csi2.1: csis_s_hdr: 0
[  333.087090] enter isp_s_comp
[  333.090099] enter isp_s_comp
[  333.093027] enter isp_s_comp
[  333.096137] mxc-mipi-csi2.1: mipi_csis_s_stream: 1, state: 0x0
[  333.096168] mxc-mipi-csi2.1: fmt: 0x2008, 1920 x 1080
[  333.116069] mxc-mipi-csi2.1: --- mipi_csis_s_stream ---
[  333.116078] mxc-mipi-csi2.1:         CSIS_VERSION[0]: 0x03060301
[  333.116083] mxc-mipi-csi2.1:        CSIS_CMN_CTRL[4]: 0x00004905
[  333.116088] mxc-mipi-csi2.1:        CSIS_CLK_CTRL[8]: 0x000f0000
[  333.116092] mxc-mipi-csi2.1:          CSIS_INTMSK[10]: 0x0fffff1f
[  333.116097] mxc-mipi-csi2.1:          CSIS_INTSRC[14]: 0x00000000
[  333.116101] mxc-mipi-csi2.1:      CSIS_DPHYSTATUS[20]: 0x000000c2
[  333.116106] mxc-mipi-csi2.1:        CSIS_DPHYCTRL[24]: 0x05000007
[  333.116110] mxc-mipi-csi2.1:     CSIS_DPHYBCTRL_L[30]: 0x000001f4
[  333.116115] mxc-mipi-csi2.1:     CSIS_DPHYBCTRL_H[34]: 0x00000000
[  333.116120] mxc-mipi-csi2.1:     CSIS_DPHYSCTRL_L[38]: 0x00000000
[  333.116124] mxc-mipi-csi2.1:     CSIS_DPHYSCTRL_H[3c]: 0x00000000
[  333.116129] mxc-mipi-csi2.1:   CSIS_ISPCONFIG_CH0[40]: 0x000000ac
[  333.116133] mxc-mipi-csi2.1:   CSIS_ISPCONFIG_CH1[50]: 0x000008fd
[  333.116138] mxc-mipi-csi2.1:   CSIS_ISPCONFIG_CH2[60]: 0x000008fe
[  333.116142] mxc-mipi-csi2.1:   CSIS_ISPCONFIG_CH3[70]: 0x000008ff
[  333.116147] mxc-mipi-csi2.1:    CSIS_ISPRESOL_CH0[44]: 0x04380780
[  333.116151] mxc-mipi-csi2.1:    CSIS_ISPRESOL_CH1[54]: 0x80008000
[  333.116156] mxc-mipi-csi2.1:    CSIS_ISPRESOL_CH2[64]: 0x80008000
[  333.116160] mxc-mipi-csi2.1:    CSIS_ISPRESOL_CH3[74]: 0x80008000
[  333.116165] mxc-mipi-csi2.1:     CSIS_ISPSYNC_CH0[48]: 0x00000000
[  333.116169] mxc-mipi-csi2.1:     CSIS_ISPSYNC_CH1[58]: 0x00000000
[  333.116174] mxc-mipi-csi2.1:     CSIS_ISPSYNC_CH2[68]: 0x00000000
[  333.116178] mxc-mipi-csi2.1:     CSIS_ISPSYNC_CH3[78]: 0x00000000
[  333.116182] mxc-mipi-csi2.1: --- mipi_csis_s_stream ---
[  333.116188] mxc-mipi-csi2.1:    GPR_GASKET_0_CTRL[60]: 0xffff8000
[  333.116193] mxc-mipi-csi2.1:   GPR_GASKET_0_HSIZE[64]: 0xffff8000
[  333.116197] mxc-mipi-csi2.1:   GPR_GASKET_0_VSIZE[68]: 0xffff8000
[  333.116951] enter wdr3_hw_init
[  333.120011] wdr3 res: 1920 1080
[  333.123323] [RT7] wdr3_hw_init: Force WDR3 disabled by default
[  333.129217] [RT7] isp_enable_wdr3: Force WDR3 disabled in all cases
[  333.136187] enter isp_mi_start
[  333.139914] enter jxf355_s_stream
[  333.141752] jxf355_set_tpg: unsupported pattern -1
[  336.805322] enter isp_mi_stop
[  336.914388] mxc-mipi-csi2.1: mipi_csis_s_stream: 0, state: 0x0
[  336.914403] mxc-mipi-csi2.1: Frame End events: 0
[  336.919023] mxc-mipi-csi2.1: Frame Start events: 0
[  336.923813] mxc-mipi-csi2.1: Non-image data after odd frame events: 0
[  336.930252] mxc-mipi-csi2.1: Non-image data before odd frame events: 0
[  336.936777] mxc-mipi-csi2.1: Non-image data after even frame events: 0
[  336.943302] mxc-mipi-csi2.1: Non-image data before even frame events: 0
[  336.949914] mxc-mipi-csi2.1: Unknown Error events: 0
[  336.954877] mxc-mipi-csi2.1: CRC Error events: 0
[  336.959492] mxc-mipi-csi2.1: ECC Error events: 0
[  336.964108] mxc-mipi-csi2.1: FIFO Overflow Error events: 0
[  336.969592] mxc-mipi-csi2.1: Lost Frame End Error events: 0
[  336.975162] mxc-mipi-csi2.1: Lost Frame Start Error events: 0
[  336.980906] mxc-mipi-csi2.1: SOT Error events: 0
[  337.004263] enter jxf355_s_stream
[  337.009782] enter jxf355_get_clk
[  337.014641] enter isp_mi_stop

 

 

 

I would like to know if the MIPI-CSI2 should be switched to non-continuous clock mode? And is below the way to do that (adding clock-noncontinuous property) ? 

 

 

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-viper-jxf355.dts b/arch/arm64/boot/dts/freescale/imx8mp-viper-jxf355.dts
index cd0438d05ad4..508c239cd4ab 100755
--- a/arch/arm64/boot/dts/freescale/imx8mp-viper-jxf355.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-viper-jxf355.dts
@@ -38,6 +38,7 @@
                                remote-endpoint = <&mipi_csi0_ep>;
                                data-lanes = <1 2>;
                                clock-lanes = <0>;
+                               clock-noncontinuous;
                        };
                };
        };
-- 

 

 

 

We are using the BSP 5.10.72.

Best Regards,

Khang

 

 

0 Kudos
Reply
1 Solution
1,606 Views
joanxie
NXP TechSupport
NXP TechSupport

yes, correct, you can refer to this, the customer fix this issue change to the non-continuous clock mode

https://community.nxp.com/t5/i-MX-Processors/i-MX8M-Plus-dual-MIPI-camera-CSI-2-1-not-leaving-ULPS-s...

View solution in original post

10 Replies
1,755 Views
joanxie
NXP TechSupport
NXP TechSupport

if you use continuous clock mode, before enable dphy, the camera needs enter LP mode, otherwise you couldn't detect the HS mode

0 Kudos
Reply
1,745 Views
khang_letruong
Senior Contributor III

Hi @joanxie ,

Do you know when exactly the dphy is enabled, please? When its driver is loaded or when the capture command (v4l2-ctl or gst-launch) starts running?

Best Regards,

Khang

0 Kudos
Reply
1,689 Views
khang_letruong
Senior Contributor III

Hi again @joanxie ,

With the DPHY_STATUS register as below :

MIPI_CSIx_DPHY_STATUS.png

In the case of failure to capture, I observe that :

[  333.116101] mxc-mipi-csi2.1:      CSIS_DPHYSTATUS[20]: 0x000000c2
c2 = 1100 0010 ==> I think CSIS_DPHYSTATUS[1] should NOT be 1 during the streaming.  Do you agree? If yes, what caused this?
 
Best Regards,
Khang

 

0 Kudos
Reply
1,673 Views
khang_letruong
Senior Contributor III

Hi @joanxie ,

We tested again on the same pipeline and also observed that DPHY_STATUS of that pipeline was sometimes 0x000000c0 (working), 0x000000c1 (not working) and 0x000000c2 (not working).

Even in the case of working, there's still certain Lost Frame Start Error from the beginning of streaming.

What is your comment, please ?

Thanks in advance,

Khang

 

0 Kudos
Reply
1,647 Views
joanxie
NXP TechSupport
NXP TechSupport

how about to use non-continuous mode? In non-continuous clock mode, the clock lane will have a LP to HS transition for every frame.

 

0 Kudos
Reply
1,643 Views
khang_letruong
Senior Contributor III

Hi @joanxie ,

I tested the non-continuous clock mode by adding the clock-noncontinuous property to the sensor node in the device-tree (as in the initial message of this thead) but the intermittent behavior did not seem to change.

We re-checked the initial I2C settings of the sensor shared by the vendor then found that they seemed to use 27MHz MCLK (and potentially the initial I2C settings relevant to timing was for that frequency), while we used default 24MHz (initially generated from the SoC and later with 24MHz oscillator to rule out the assumption of shared MCLK).

With 24MHz MCLK, it has been working quite stable with the EVK but it does not the case with different combinations of custom SoM + Baseboard + camera board.

We will test with 27MHz MCLK to rule out this,  but firstly by firmware way I would like to know how to generate a(n approximate or accurate) 27MHz MCLK from the SoC. That why I created the following ticket for support : https://community.nxp.com/t5/i-MX-Processors/iMX8MP-27MHz-on-CSI-MCLK/m-p/1730048

Best Regards,

Khang

Khang

0 Kudos
Reply
1,613 Views
joanxie
NXP TechSupport
NXP TechSupport

try to change the source of CLKO2, pls check the mail I sent to you, I will take local holiday next week, any update, I will reply to you ASAP when I come back to office

0 Kudos
Reply
1,609 Views
khang_letruong
Senior Contributor III

Hi @joanxie ,

Thanks very for your support. I will check and apply your suggestion. By the way, I would like to have another question : In order to use the non-continuous clock mode, the sensor should also support that mode. Is that correct ?

Best Regards,

Khang

Tags (1)
0 Kudos
Reply
1,607 Views
joanxie
NXP TechSupport
NXP TechSupport

yes, correct, you can refer to this, the customer fix this issue change to the non-continuous clock mode

https://community.nxp.com/t5/i-MX-Processors/i-MX8M-Plus-dual-MIPI-camera-CSI-2-1-not-leaving-ULPS-s...

1,601 Views
khang_letruong
Senior Contributor III

Hi @joanxie ,

Thank you. I followed that discussion and already switched to non-continuous clock mode on the SoC side but it did not have any effect. It seems that we need to ask for the modification from the vendor for the sensor side as well (currently the sensor is still in continuous clock mode).

Best Regards,

Khang

0 Kudos
Reply