Hello all,
I'm developing the driver for the IMX715 image sensor in a custom board based on IMX8MN processor to capture with 4 lanes, 720Mbps to obtain RAW10 output frames.
I'm able to get a first capture correctly, where the MIPI register get information. In this case, the MIPI enables and disables the stream.
However, when I try to capture again, the capture process does not finish and registers are empty as follows.
# v4l2-ctl -d /dev/video0 --set-fmt-video=width=3864,height=2192,pixelformat='BA10' --stream-mmap --verbose --stream-count=1 --stream-to=/home/root/frame.raw
[ 581.821868] imx715_s_power: On 1 Streaming: 0
VIDIOC_QUERYCAP: ok[ 581.826702] isi-capture 32e20000.isi:cap_device: mxc_isi_cap_g_fmt_mplane
[ 581.834994] mxc_isi_cap_g_fmt_mplane: 865 width 3864 height 2192 num_planes 1
[ 581.842352] mxc_isi_cap_g_fmt_mplane: 870 plane 0 bytesperline 7728 sizeimage 16939776
VIDIOC_G_FMT: ok[ 581.850415] mxc_isi_cap_s_fmt_mplane: 1009: height 2192 width 3864
[ 581.850419] mxc_isi_cap_s_fmt_mplane: 1027: sizeimage 16939776
[ 581.858026] mxc_isi_cap_s_fmt_mplane: 1028: sizeimage 7728
VIDIOC_S_FMT: ok
Format Video Capture Multiplanar:
Width/Height : 3864/2192
Pixel Format : 'BA10' (10-bit Bayer GRGR/BGBG)
Field : None
Number of planes : 1
Flags :
Colorspace : Raw
Transfer Function : Default
YCbCr/HSV Encoding: Default
Quantization : Default
Plane 0 :
Bytes per Line : 7728
Size Image : 16939776
[ 581.864056] mxc_isi_cap_s_fmt_mplane: 1040: bytesperline 7728 sizeimage 16939776
[ 581.920017] alloc_contig_range: [79500, 7a528) PFNs busy
[ 581.939355] alloc_contig_range: [79600, 7a628) PFNs busy
[ 581.948100] alloc_contig_range: [79600, 7a728) PFNs busy
[ 581.956790] alloc_contig_range: [79800, 7a828) PFNs busy
[ 581.965149] alloc_contig_range: [79800, 7a928) PFNs busy
[ 581.973491] alloc_contig_range: [79800, 7aa28) PFNs busy
[ 581.981942] alloc_contig_range: [79800, 7ab28) PFNs busy
[ 581.990505] alloc_contig_range: [79800, 7ac28) PFNs busy
[ 581.998899] alloc_contig_range: [79800, 7ad28) PFNs busy
[ 582.007163] alloc_contig_range: [79800, 7ae28) PFNs busy
[ 582.037306] isi-capture 32e20000.isi:cap_device: mxc_isi_cap_g_fmt_mplane
[ 582.044160] mxc_isi_cap_g_fmt_mplane: 865 width 3864 height 2192 num_planes 1
[ 582.053073] mxc_isi_cap_g_fmt_mplane: 870 plane 0 bytesperline 7728 sizeimage 16939776
[ 582.062364] mxc-mipi-csi2.0: mipi_csis_set_fmt
[ 582.067299] call_get_fmt: 162 ++++++++++++++
[ 582.067318] mxc-mipi-csi2.0: mipi_csis_get_fmt
[ 582.076501] call_get_fmt: 162 ++++++++++++++
[ 582.076527] imx715_get_pad_format width 3864 height 2192 field 1
[ 582.087840] mxc-mipi-csi2.0: mipi_csis_get_fmt width 3864 height 2192 colorspace 0
[ 582.096289] isi-capture 32e20000.isi:cap_device: mxc_isi_get_src_fmt: MEDIA_BUS_FMT_SGRBG10_1X10
[ 582.110940] bypass csc
[ 582.113649] input fmt BA10
[ 582.116546] output fmt BA10
[ 582.119692] mxc-isi 32e20000.isi: INTERFACE_MIPI0_CSI2
[ 582.982126] mxc-mipi-csi2.0: mipi_csis_s_stream: 1, state: 0x0
[ 583.052909] mxc-mipi-csi2.0: --- mipi_csis_s_stream ---
[ 583.058529] mxc-mipi-csi2.0: CSIS_VERSION[0]: 0x00000000
[ 583.066173] mxc-mipi-csi2.0: CSIS_CMN_CTRL[4]: 0x00000000
[ 583.072846] mxc-mipi-csi2.0: CSIS_CLK_CTRL[8]: 0x00000000
[ 583.079845] mxc-mipi-csi2.0: CSIS_INTMSK[10]: 0x00000000
[ 583.086363] mxc-mipi-csi2.0: CSIS_INTSRC[14]: 0x00000000
[ 583.092735] mxc-mipi-csi2.0: CSIS_DPHYSTATUS[20]: 0x00000000
[ 583.099328] mxc-mipi-csi2.0: CSIS_DPHYCTRL[24]: 0x00000000
[ 583.105756] mxc-mipi-csi2.0: CSIS_DPHYBCTRL_L[30]: 0x00000000
[ 583.112260] mxc-mipi-csi2.0: CSIS_DPHYBCTRL_H[34]: 0x00000000
[ 583.118584] mxc-mipi-csi2.0: CSIS_DPHYSCTRL_L[38]: 0x00000000
[ 583.124940] mxc-mipi-csi2.0: CSIS_DPHYSCTRL_H[3c]: 0x00000000
[ 583.131571] mxc-mipi-csi2.0: CSIS_ISPCONFIG_CH0[40]: 0x00000000
[ 583.138126] mxc-mipi-csi2.0: CSIS_ISPCONFIG_CH1[50]: 0x00000000
[ 583.144589] mxc-mipi-csi2.0: CSIS_ISPCONFIG_CH2[60]: 0x00000000
[ 583.150894] mxc-mipi-csi2.0: CSIS_ISPCONFIG_CH3[70]: 0x00000000
[ 583.157259] mxc-mipi-csi2.0: CSIS_ISPRESOL_CH0[44]: 0x00000000
[ 583.163686] mxc-mipi-csi2.0: CSIS_ISPRESOL_CH1[54]: 0x00000000
[ 583.170101] mxc-mipi-csi2.0: CSIS_ISPRESOL_CH2[64]: 0x00000000
[ 583.176498] mxc-mipi-csi2.0: CSIS_ISPRESOL_CH3[74]: 0x00000000
[ 583.182869] mxc-mipi-csi2.0: CSIS_ISPSYNC_CH0[48]: 0x00000000
[ 583.189411] mxc-mipi-csi2.0: CSIS_ISPSYNC_CH1[58]: 0x00000000
[ 583.195938] mxc-mipi-csi2.0: CSIS_ISPSYNC_CH2[68]: 0x00000000
[ 583.202428] mxc-mipi-csi2.0: CSIS_ISPSYNC_CH3[78]: 0x00000000
[ 583.208802] mxc-mipi-csi2.0: --- mipi_csis_s_stream ---
[ 583.214325] mxc-mipi-csi2.0:
[ 583.217457] mxc-mipi-csi2.0: MIPI_CSIS_CMN_CTRL: 0x00000000
[ 583.223317] mxc-mipi-csi2.0: LANE_NUMBER: 1
[ 583.227684] mxc-mipi-csi2.0: CSI_EN: Disabled
[ 583.232302] mxc-mipi-csi2.0: MIPI_CSIS_INTSRC: 0x00000000
[ 583.237991] mxc-mipi-csi2.0: FRAME_START: -
[ 583.242492] mxc-mipi-csi2.0: FRAME_END: -
[ 583.246727] mxc-mipi-csi2.0: ERR_LOST_FS: -
[ 583.251101] mxc-mipi-csi2.0: ERR_LOST_FE: -
[ 583.255475] mxc-mipi-csi2.0: Start of transmission error lane: - - - -
[ 583.262230] mxc-mipi-csi2.0: ERROR: - - - - -
[ 583.266949] mxc-mipi-csi2.0: MIPI_CSIS_FRAME_COUNTER_CH0: 0
[ 583.272845] mxc-mipi-csi2.0: MIPI_CSIS_DPHYSTATUS: 0x00000000
[ 583.278937] mxc-mipi-csi2.0: Data Lane 0: Not ULPS
[ 583.283940] mxc-mipi-csi2.0: Data Lane 1: Not ULPS
[ 583.288955] mxc-mipi-csi2.0: Data Lane 2: Not ULPS
[ 583.294134] mxc-mipi-csi2.0: Data Lane 3: Not ULPS
[ 583.299889] mxc-mipi-csi2.0: Data Lane 0: Not Stop state
[ 583.305619] mxc-mipi-csi2.0: Data Lane 1: Not Stop state
[ 583.311295] mxc-mipi-csi2.0: Data Lane 2: Not Stop state
[ 583.316807] mxc-mipi-csi2.0: Data Lane 3: Not Stop state
[ 583.322313] mxc-mipi-csi2.0: ULPSCLK: Not ULPS
[ 583.327093] mxc-mipi-csi2.0: STOPSTATECLK: Not Stop state
[ 583.332771] mxc-mipi-csi2.0: --- mipi_csis_log_status_v2 ---
Thanks for your help
Solved! Go to Solution.
Dear @s_arevalo ,
Dear @s_arevalo ,
1. Resolution supported by i.MX8MN isi module.
imx8mn isi module supports max 2K resolution, you can test it starting 640x480, then 800x600,1280x800 etc.
2. About RAW10 data
--Default linux bsp doesn't support RAW10 data capture.
--Have you already added the feature to isi driver?
If not, let me know.
3. About Linux bsp version
Could you please provide information of bsp version?
Thanks!
Regards,
weidong
Hello @weidong_sun, thank you very much for four quick response.
1. Resolution supported by i.MX8MN isi module.
imx8mn isi module supports max 2K resolution, you can test it starting 640x480, then 800x600,1280x800 etc.
The resolution tha I am using is 3864x2192. All the frames that I manage to capture have this resolution.
The problem comes when I try to capture two frames in a row with the "v4l2-ctl" command, because I have to stop the second proccess with "^C". After this, it can be recaptured corectly and then start again.
2. About RAW10 data
--Default linux bsp doesn't support RAW10 data capture.
--Have you already added the feature to isi driver?
Yes, I have added this feature to the ISI capture driver.
3. About Linux bsp version
Could you please provide information of bsp version?
I'm working with a Linux Yocto Project BSP 5.4.70_2.3.6
Thanks,
Regards.
Dear @s_arevalo ,