Post TP2850 driver on i.MX8M Plus

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

Post TP2850 driver on i.MX8M Plus

6,932 Views
simonlin
Contributor II

Hi All

I try to post TP2850 on i.MX8M Plus

TP2850 created link to mxc-mipi-csi2.1, and  registered mxc_isi.1.capture as /dev/video1 as below

[ 8.616588] mx8-img-md: Registered mxc_isi.0.capture as /dev/video0
[ 8.634974] mx8-img-md: Registered mxc_isi.1.capture as /dev/video1
[ 8.641319] mx8-img-md: Registered sensor subdevice: tp2850_mipi 2-0045 (1)
[ 8.651709] mx8-img-md: created link [mxc_isi.0] => [mxc_isi.0.capture]
[ 8.661796] mx8-img-md: created link [mxc_isi.1] => [mxc_isi.1.capture]
[ 8.671865] mx8-img-md: created link [mxc-mipi-csi2.1] => [mxc_isi.1]
[ 8.678323] mx8-img-md: created link [tp2850_mipi 2-0045] => [mxc-mipi-csi2.1]


I use below command to record raw data but fail

mx8_v4l2_cap_drm -cam 1 -d "/dev/video1" -fmt YUYV -ow 640 -oh 480 -of
(v4l2_setup_dev:1138): channel[0] VIDIOC_S_PARM failed ret = -1


So I check imx8-isi-cap.c and imx8-mipi-csi2.c

[ 15.784978] mxc_isi.0: is_entity_link_setup, No remote pad found!
[ 15.787546] -->mxc_get_remote_subdev
[ 15.793461] -->mxc_isi_cap_querycap
[ 15.793467] tp2850 tp2850_s_power#1686
[ 15.793482] -->mxc_isi_cap_querycap
[ 15.793495] -->mxc_isi_capture_release
[ 15.793496] -->mxc_get_remote_subdev
[ 15.793497] -->mxc_isi_get_remote_source_pad
[ 15.793501] tp2850 tp2850_s_power#1686
[ 15.793551] -->mxc_isi_capture_open
[ 15.797018] -->mxc_isi_get_remote_source_pad
[ 15.800638] -->is_entity_link_setup
[ 15.804373] tp2850 tp2850_s_power#1686
[ 15.807931] -->mxc_get_remote_subdev
[ 15.807934] -->mxc_isi_get_remote_source_pad
[ 15.807936] mxc_isi.0: is_entity_link_setup, No remote pad found!
[ 15.807975] -->mxc_isi_cap_querycap
[ 15.808089] -->mxc_isi_capture_release
[ 15.808091] -->mxc_isi_capture_release !isi_cap->is_link_setup
[ 15.811896] -->mxc_isi_cap_querycap
[ 15.815547] -->mxc_isi_capture_release
[ 15.815549] -->mxc_isi_capture_release !isi_cap->is_link_setup
[ 15.880522] -->mxc_isi_capture_release
[ 15.884415] -->mxc_get_remote_subdev
[ 15.889367] -->mxc_isi_get_remote_source_pad
[ 15.894748] tp2850 tp2850_s_power#1686
[ 15.899929] -->mxc_isi_capture_open
[ 15.903779] -->is_entity_link_setup
[ 15.909582] -->mxc_get_remote_subdev
[ 15.913436] -->mxc_isi_get_remote_source_pad
[ 15.918548] mxc_isi.0: is_entity_link_setup, No remote pad found!

mxc_isi.0 is mepty on my system, is this related to my tv driver fail?

Can anyone provide some advices?

0 Kudos
Reply
8 Replies

6,901 Views
simonlin
Contributor II

Hi @qiang_li-mpu_se 

I have two tp2850 chips, they are registered as /dev/video0 and/dev/video1

[ 15.853112] mx8-img-md: Registered mxc_isi.0.capture as /dev/video0
[ 15.859435] -->mxc_isi_subdev_registered
[ 15.863462] -->mxc_isi_register_cap_device
[ 15.867664] -->mxc_isi_ctrls_create
[ 15.871343] mx8-img-md: Registered mxc_isi.1.capture as /dev/video1
[ 15.877711] mx8-img-md: Registered sensor subdevice: tp2850_mipi_0 2-0044 (1)
[ 15.884863] mx8-img-md: Registered sensor subdevice: tp28502_mipi_1 2-0045 (2)
[ 15.892155] -->mxc_isi_link_setup
[ 15.895590] mx8-img-md: created link [mxc_isi.0] => [mxc_isi.0.capture]
[ 15.902238] -->mxc_isi_link_setup
[ 15.905656] mx8-img-md: created link [mxc-mipi-csi2.0] => [mxc_isi.0]
[ 15.912113] -->mxc_isi_link_setup
[ 15.915555] mx8-img-md: created link [mxc_isi.1] => [mxc_isi.1.capture]
[ 15.922223] -->mxc_isi_link_setup
[ 15.925663] mx8-img-md: created link [mxc-mipi-csi2.1] => [mxc_isi.1]
[ 15.932146] usb 1-1: New USB device found, idVendor=0424, idProduct=2514, bcdDevice= b.b3
[ 15.932883] mx8-img-md: created link [tp2850_mipi_0 2-0044] => [mxc-mipi-csi2.0]
[ 15.940343] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 15.947765] mx8-img-md: created link [tp28502_mipi_1 2-0045] => [mxc-mipi-csi2.1]

 

Here is my ISI register 


[ 1151.809583] ISI CHNLC register dump, isi1
[ 1151.813603] CHNL_CTRL[0x00]: e0000001
[ 1151.818225] CHNL_IMG_CTRL[0x04]: 20000001
[ 1151.822850] CHNL_OUT_BUF_CTRL[0x08]: 70707
[ 1151.827211] CHNL_IMG_CFG[0x0c]: 1e002d0
[ 1151.831753] CHNL_IER[0x10]: 3cfc0000
[ 1151.839236] CHNL_STS[0x14]: 100
[ 1151.843431] CHNL_SCALE_FACTOR[0x18]: 10001000
[ 1151.848055] CHNL_SCALE_OFFSET[0x1c]: 00
[ 1151.852161] CHNL_CROP_ULC[0x20]: 00
[ 1151.856265] CHNL_CROP_LRC[0x24]: 00
[ 1151.860374] CHNL_CSC_COEFF0[0x28]: 00
[ 1151.867322] CHNL_CSC_COEFF1[0x2c]: 00
[ 1151.871426] CHNL_CSC_COEFF2[0x30]: 00
[ 1151.875526] CHNL_CSC_COEFF3[0x34]: 00
[ 1151.879636] CHNL_CSC_COEFF4[0x38]: 00
[ 1151.886589] CHNL_CSC_COEFF5[0x3c]: 00
[ 1151.893539] CHNL_ROI_0_ALPHA[0x40]: 00
[ 1151.897645] CHNL_ROI_0_ULC[0x44]: 00
[ 1151.904599] CHNL_ROI_0_LRC[0x48]: 00
[ 1151.908702] CHNL_ROI_1_ALPHA[0x4c]: 00
[ 1151.912825] CHNL_ROI_1_ULC[0x50]: 00
[ 1151.916930] CHNL_ROI_1_LRC[0x54]: 00
[ 1151.921035] CHNL_ROI_2_ALPHA[0x58]: 00
[ 1151.925135] CHNL_ROI_2_ULC[0x5c]: 00
[ 1151.929242] CHNL_ROI_2_LRC[0x60]: 00
[ 1151.936206] CHNL_ROI_3_ALPHA[0x64]: 00
[ 1151.940309] CHNL_ROI_3_ULC[0x68]: 00
[ 1151.944422] CHNL_ROI_3_LRC[0x6c]: 00
[ 1151.948532] CHNL_OUT_BUF1_ADDR_Y[0x70]: 00
[ 1151.952636] CHNL_OUT_BUF1_ADDR_U[0x74]: 00
[ 1151.956740] CHNL_OUT_BUF1_ADDR_V[0x78]: 00
[ 1151.963704] CHNL_OUT_BUF_PITCH[0x7c]: 5a0
[ 1151.970745] CHNL_IN_BUF_ADDR[0x80]: 00
[ 1151.977712] CHNL_IN_BUF_PITCH[0x84]: 00
[ 1151.981816] CHNL_MEM_RD_CTRL[0x88]: 00
[ 1151.985917] CHNL_OUT_BUF2_ADDR_Y[0x8c]: 00
[ 1151.990021] CHNL_OUT_BUF2_ADDR_U[0x90]: 00
[ 1151.994123 CHNL_OUT_BUF2_ADDR_V[0x94]: 00
[ 1151.998229] CHNL_SCL_IMG_CFG[0x98]: 1e002d0
[ 1152.002765] CHNL_FLOW_CTRL[0x9c]: 00

(v4l2_setup_dev:1084): channel[0] VIDIOC_S_PARM failed
(v4l2_setup_dev:1162): planes=1 WxH@fps = 720x480@30
(v4l2_create_buffer:1242): chanel[0] VIDIOC_REQBUFS failed ret = -1
(v4l2_device_prepare:1401): video_ch[0] create buffer fail
(media_device_prepare:1471): v4l2_device_prepare ret=-1

1156.432874] --- mipi_csis_s_stream ---
[ 1156.436624] CSIS_VERSION[0]: 0x03060301
[ 1156.441167] CSIS_CMN_CTRL[4]: 0x00004805
[ 1156.445705] CSIS_CLK_CTRL[8]: 0x000f0000
[ 1156.450243] CSIS_INTMSK[10]: 0x0fffff1f
[ 1156.454864] CSIS_INTSRC[14]: 0x00000000
[ 1156.459488] CSIS_DPHYSTATUS[20]: 0x000000e0
[ 1156.464110] CSIS_DPHYCTRL[24]: 0x00000003
[ 1156.468735] CSIS_DPHYBCTRL_L[30]: 0x000001f4
[ 1156.473355] CSIS_DPHYBCTRL_H[34]: 0x00000000
[ 1156.477980] CSIS_DPHYSCTRL_L[38]: 0x00000000
[ 1156.482600] CSIS_DPHYSCTRL_H[3c]: 0x00000000
[ 1156.487223] CSIS_ISPCONFIG_CH0[40]: 0x00001078
[ 1156.491846] CSIS_ISPCONFIG_CH1[50]: 0x000008fd
[ 1156.496471] CSIS_ISPCONFIG_CH2[60]: 0x000008fe
[ 1156.501091] CSIS_ISPCONFIG_CH3[70]: 0x000008ff
[ 1156.505728] CSIS_ISPRESOL_CH0[44]: 0x01e002d0
[ 1156.510349] CSIS_ISPRESOL_CH1[54]: 0x80008000
[ 1156.514979] CSIS_ISPRESOL_CH2[64]: 0x80008000
[ 1156.519599] CSIS_ISPRESOL_CH3[74]: 0x80008000
[ 1156.524226] CSIS_ISPSYNC_CH0[48]: 0x00000000
[ 1156.528848] CSIS_ISPSYNC_CH1[58]: 0x00000000
[ 1156.533473] CSIS_ISPSYNC_CH2[68]: 0x00000000
[ 1156.538093] CSIS_ISPSYNC_CH3[78]: 0x00000000
FMT fail
(v4l2_setup_dev:1084): channel[0] VIDIOC_S_PARM failed
(v4l2_setup_dev:1162): planes=1 WxH@fps = 720x480@30
[ 1156.547398] -->mxc_isi_cap_streamoff
[ 1156.553840] -->mxc_isi_pipeline_enable
[ 1156.574856] mxc_isi.1.capture is no v4l2 subdev

Finally I saw "mxc_isi.1.capture is no v4l2 subdev", but it should be registered as /dev/video1

Do you have any advices?

Thanks

 

 

 

0 Kudos
Reply

6,891 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

Device tree setting should be related to your issue.

0 Kudos
Reply

6,887 Views
simonlin
Contributor II

Hi @qiang_li-mpu_se 

Here is my device tree setting

Thanks for your reply

tp2850_mipi_0: tp2850_mipi_0@44 {
    compatible = "ovti,tp2850_mipi_0";
    reg = <0x44>;
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_TVI1_IRQ>;
    //tv1_irq = <&gpio3 21 GPIO_ACTIVE_HIGH>;
    clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;
    clock-names = "csi_mclk";
    assigned-clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;
    assigned-clock-parents = <&clk IMX8MP_CLK_24M>;
    assigned-clock-rates = <24000000>;
    csi_id = <0>;
    mipi_csi;
    mclk = <27000000>;
    mclk_source = <0>;
    //virtual-channel;
    interrupt-parent = <&gpio3>;
    interrupts = <21 8>;
    status = "okay";
    port {
      tp2850_mipi_0_ep: endpoint {
      remote-endpoint = <&mipi_csi0_ep>;

      };
    };

};

tp28502_mipi_1: tp28502_mipi_1@45 {
    compatible = "ovti,tp28502_mipi_1";
    reg = <0x45>;
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_TVI2_IRQ>;
    //tv2_irq = <&gpio1 7 GPIO_ACTIVE_HIGH>;
    clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;
    clock-names = "csi_mclk";
    assigned-clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;
    assigned-clock-parents = <&clk IMX8MP_CLK_24M>;
    assigned-clock-rates = <24000000>;
    csi_id = <1>;
    mipi_csi;
    mclk = <27000000>;
    mclk_source = <0>;
    //virtual-channel;
    interrupt-parent = <&gpio1>;
    interrupts = <07 8>;
    status = "okay";
    port {
      tp2850_mipi_1_ep: endpoint {
      remote-endpoint = <&mipi_csi1_ep>;

      };
    };

};

pinctrl_TVI1_IRQ: TVI1_IRQ_grp {
    fsl,pins = <
        MX8MP_IOMUXC_SAI5_RXD0__GPIO3_IO21 0xd6
    >;
};
pinctrl_TVI2_IRQ: TVI2_IRQ_grp {
    fsl,pins = <
        MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07 0xd6
    >;
};

&mipi_csi_0 {
    #address-cells = <1>;
    #size-cells = <0>;
    //virtual-channel;
    status = "okay";

    port@0 {
      reg = <0>;
      mipi_csi0_ep: endpoint {
        remote-endpoint = <&tp2850_mipi_0_ep>;
        data-lanes = <1>;
        //csis-hs-settle = <13>;
        //csis-clk-settle = <2>;
        //csis-wclk;
      };
    };
};

&mipi_csi_1 {
    #address-cells = <1>;
    #size-cells = <0>;
    //virtual-channel;
    status = "okay";

    port@1 {
      reg = <1>;
      mipi_csi1_ep: endpoint {
      remote-endpoint = <&tp2850_mipi_1_ep>;
      data-lanes = <1>;
      //csis-hs-settle = <13>;
      //csis-clk-settle = <2>;
      //csis-wclk;
      };
    };
};

&isi_0 {
    status = "okay";

    cap_device {
      status = "okay";
    };

    m2m_device {
      status = "disabled";
    };
};

&isi_1 {
    status = "okay";

    cap_device {
      status = "okay";
    };
};

0 Kudos
Reply

6,882 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

From the attached device tree, I can't find which I2C bus are the two TP2850 connected, and how about the hardware I2C connection for them?

0 Kudos
Reply

6,877 Views
simonlin
Contributor II

Hi @qiang_li-mpu_se 

My OS is android10.0.0_2.6.0

I mount two TP2850 on I2C3 as attachment freescale.7z

Hardware I2C connection is OK, I can read chip ID from register by I2C, log file as attachment teraterm_TP2850.7z

I also try the test application "mx8_v4l2_cap_drm", but get ioctrl error

mx8_v4l2_cap_drm -cam 1 -d "/dev/video1" -fmt YUYV -ow 640 -oh 480 -of.

(init_video_channel:497): init channel[0] save_file_name=0.YUYV
(init_video_channel:504): init channel[0] v4l2_dev_name=/dev/video1 w/h=(640,480)
(open_save_file:577): open 0.YUYV success
(open_v4l2_device:641): open /dev/video1 success
(v4l2_setup_dev:1071): get chip ident fail
(v4l2_enum_fmt:1021): index=0 pixelformat=RGBP
(v4l2_enum_fmt:1021): index=1 pixelformat=RGB3
(v4l2_enum_fmt:1021): index=2 pixelformat=BGR3
(v4l2_enum_fmt:1021): index=3 pixelformat=YUYV
(v4l2_enum_fmt:1021): index=4 pixelformat=YUV4
(v4l2_enum_fmt:1021): index=5 pixelformat=NV12
(v4l2_enum_fmt:1021): index=6 pixelformat=YM24
(v4l2_enum_fmt:1021): index=7 pixelformat=XR24
(v4l2_enum_fmt:1021): index=8 pixelformat=AR24
(v4l2_enum_fmt:1017): channel VIDIOC_ENUM_FMT fail
(v4l2_setup_dev:1084): channel[0] VIDIOC_S_PARM failed
(v4l2_setup_dev:1110): channel[0] VIDIOC_S_FMT fail
(v4l2_device_prepare:1395): video_ch[0] setup fail
(media_device_prepare:1471): v4l2_device_prepare ret=-1

I provide imx8 isi files for reference as attachment imx.7z

Thanks

0 Kudos
Reply

6,862 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

That means your tp2850 driver has issue. 

0 Kudos
Reply

6,814 Views
simonlin
Contributor II

Hi @qiang_li-mpu_se 

I take the ov5640.c for reference that in NXP bsp  , then modify TP2850

The ioctrl function work well

I still try this command--> mx8_v4l2_cap_drm -cam 1 -d "/dev/video1" -fmt YUYV -ow 640 -oh 480 -of

It show -EINVAL when run mxc_isi_update_buf_paddr, because memplanes is 0

But I check YUYV output format as below, the memplanes should be 1
{

.name = "YUYV-16",
.fourcc = V4L2_PIX_FMT_YUYV,
.depth = { 16 },
.color = MXC_ISI_OUT_FMT_YUV422_1P8P,
.memplanes = 1,
.colplanes = 1,
.mbus_code = MEDIA_BUS_FMT_YUYV8_1X16,
},

Finally it run mxc_isi_cap_streamon and start capturing, but 0.YUYV file size is 0, I think it's releated above issue

Do you have any advice?

Thanks

evk_8mp:/mnt/media_rw #
evk_8mp:/mnt/media_rw #
evk_8mp:/mnt/media_rw # [ 77.940546] read descriptors
[ 77.943451] read strings
[ 78.080191] healthd: battery l=85 v=3 t=35.0 h=2 st=2 c=400 fc=4000000 cc=32 chg=a
[ 78.243172] healthd: battery l=85 v=3 t=35.0 h=2 st=2 c=400 fc=4000000 cc=32 chg=a
x8_v4l2_cap_drm -cam 1 -d "/dev/video1" -fmt YUYV -ow 640 -oh 480 -of[ 78.988844] read descriptors
[ 78.991751] read strings

(init_video_channel:497): in[ 79.541820] --> mxc_isi_get_hostdata
[ 79.548227] ==> tp2850_s_power on = 1
[ 79.548230] tp2850 tp2850_check_stable_decoder#4045
it channel[0] save_file_name=0.YUYV
(init_video_channel:504): init channel[0] v4l2_dev_name=/dev/video1 w/h=(640,480)
(open_save_file:577): open 0.YUYV success

[ 83.474060] tp2850_init_controls ret = 0
[ 83.477994] ==> tp2850_set_power on = 1
[ 93.104696] mxc_isi_cap_enum_fmt
[ 93.111182] mxc_isi_cap_enum_fmt
(open_v4l2_device:641): [ 93.114438] mxc_isi_cap_enum_fmt
open /dev/video1 success
(v4[ 93.120520] mxc_isi_cap_enum_fmt
l2_enum_fmt:1021): index=0 p[ 93.126618] mxc_isi_cap_enum_fmt
ixelformat=RGBP
(v4l2_enum_f[ 93.132696] mxc_isi_cap_enum_fmt
mt:1021): index=1 pixelforma[ 93.138784] mxc_isi_cap_enum_fmt
[ 93.144863] mxc_isi_cap_enum_fmt
t=RGB3
(v4l2_enum_fmt:1021):[ 93.148118] mxc_isi_cap_enum_fmt
[ 93.154203] mxc_isi_cap_enum_fmt
index=2 pixelformat=BGR3
--> tp2850_s_frame_interval start
[ 93.164652] ==> tp2850_try_frame_interval start
[0m(v4l2_enum_fmt:1021): ind[ 93.164654] ==>fi->numerator= 1
ex=3 pixelformat=YUYV
(v4l2_[ 93.169197] ==> tp2850_try_frame_interval best_fps=30
[ 93.175194] ==> tp2850_find_mode
[ 93.186419] ==> width = 640
[ 93.189223] ==> height = 480
[ 93.192110] ==> tp2850_try_frame_interval end
[ 93.192111] ==> tp2850_find_mode
[ 93.199696] ==> width = 640
[ 93.202499] ==> height = 480
[ 93.205397] --> tp2850_s_frame_interval end
enum_fmt:1021): index=4 pixe[ 93.209607] -->mxc_isi_cap_enum_framesizes
[ 93.216629] -->mxc_isi_find_format start
[ 93.220650] --> tp2850_enum_frame_size
lformat=YUV4
(v4l2_enum_fmt:[ 93.224406] --> fse->min_width 176
1021): index=5 pixelformat=N[ 93.230673] --> fse->max_height 144
V12
(v4l2_enum_fmt:1021): 93.237039] -->mxc_isi_cap_s_fmt_mplane
33mindex=6 pixelformat=YM24
[ 93.243800] mxc_isi_cap_s_fmt_mplane, fmt=0x56595559
(v4l2_enum_fmt:1021): index=[ 93.251617] format = YUYV
7 pixelformat=XR24
(v4l2_enu[ 93.257186] -->mxc_isi_cap_s_fmt_mplane i = 3
[ 93.264397] -->mxc_isi_cap_g_fmt_mplane
[ 93.268328] dst_f->o_width= 640
m_fmt:1021): index=8 pixelfo[ 93.271466] dst_f->o_height = 480
rmat=AR24
(v4l2_enum_fmt:101[ 93.277662] --> tp2850_g_frame_interval
7): channel VIDIOC_ENUM_FMT [ 93.284378] cap_vb2_queue_setup, buf_n=3, size=614400
fail
(adjust_width_height_for_one_sensor:1040): frmsiz[ 93.296521] -->cap_vb2_buffer_prepare start
[ 93.302093] cap_vb2_buffer_prepare
[ 93.305509] -->cap_vb2_buffer_prepare end
[ 93.309548] -->cap_vb2_buffer_prepare start
[ 93.313835] cap_vb2_buffer_prepare
[ 93.317245] -->cap_vb2_buffer_prepare end
[ 93.321269] -->cap_vb2_buffer_prepare start
[ 93.325547] cap_vb2_buffer_prepare
[ 93.328957] -->cap_vb2_buffer_prepare end
[ 93.332991] --> mxc_isi_get_hostdata
[ 93.336577] -->mxc_isi_cap_streamon
[ 93.340161] mxc_isi_cap_streamon
[ 93.343386] mxc_isi_cap_streamon 1063
[ 93.347057] --> mxc_isi_get_hostdata
[ 93.350638] --> mxc_isi_config_parm 1014
[ 93.354569] mxc_isi_source_fmt_init 874
[ 93.358410] mxc_isi_source_fmt_init 882
[ 93.362255] mxc_isi_source_fmt_init 888
[ 93.366097] @@@ mipi_csis_set_fmt 958
[ 93.369855] --> tp2850_set_fmt
[ 93.372914] --> tp2850_try_fmt_internal 111 fmt->width = 640 fmt->height = 480
[ 93.380406] ==> tp2850_find_mode
[ 93.383631] ==> width = 640
[ 93.386432] ==> height = 480
[ 93.389320] --> tp2850_try_fmt_internal 222 fmt->width = 640 fmt->height = 480
[ 93.396814] ==> tp2850_get_fmt
[ 93.396816] -->mxc_isi_get_src_fmt start
[ 93.403878] -->mxc_isi_get_src_fmt end index=1
e.discrete.width = 176
(adju[ 93.408332] mxc_isi_config_parm 1020
[ 93.414776] mxc_isi_channel_init
[ 93.418019] -->mxc_isi_channel_sw_reset
st_width_height_for_one_sensor:1041): frmsize.discrete.height[ 93.426949] mxc_isi_config_parm 1022
[ 93.431373] mxc_isi_channel_config
[ 93.434785] -->chain_buf
[ 93.437409] -->mxc_isi_channel_set_csc
[ 93.441254] bypass csc
[ 93.443612] input fmt YUV4
[ 93.446327] output fmt YUYV
[ 93.449127] -->mxc_isi_channel_set_scaling
[ 93.453319] -->mxc_isi_channel_clear_scaling
[ 93.457681] -->mxc_isi_channel_source_config
[ 93.462047] -->mxc_isi_channel_set_flip
[ 93.465976] -->mxc_isi_channel_set_alpha
[ 93.469994] -->mxc_isi_channel_set_panic_threshold
[ 93.474878] -->cap_vb2_buffer_queue start
[ 93.478898] isi_cap->dst_f.fmt->name = YUYV-16
[ 93.483340] -->mxc_isi_update_buf_paddr start
[ 93.487694] -->mxc_isi_update_buf_paddr -EINVAL memplanes 0
[ 93.493280] -->cap_vb2_buffer_queue start
[ 93.497292] isi_cap->dst_f.fmt->name = YUYV-16
[ 93.501733] -->mxc_isi_update_buf_paddr start
[ 93.506088] -->mxc_isi_update_buf_paddr -EINVAL memplanes 0
[ 93.511668] -->cap_vb2_buffer_queue start
[ 93.515679] isi_cap->dst_f.fmt->name = YUYV-16
[ 93.520121] -->mxc_isi_update_buf_paddr start
[ 93.524477] -->mxc_isi_update_buf_paddr -EINVAL memplanes 0
= 144
(v4l2_setup_dev:1163)[ 93.530072] --> mxc_isi_get_hostdata
[ 93.536489] -->cap_vb2_start_streaming
: planes=1 WxH@fps = 640x4[ 93.540338] cap_vb2_start_streaming
80@30
(get_memory_map_info:1[ 93.548471] cap_vb2_start_streaming: num_plane=0 discard_size=614400 discard_buffer=00000000c52f3121
[ 93.558676] -->mxc_isi_channel_set_outbuf
[ 93.562772] -->mxc_isi_channel_set_outbuf
[ 93.566881] mxc_isi_cap_streamon 1070
[ 93.570548] --> mxc_isi_channel_enable
[ 93.574309] -->mxc_isi_clean_registers
[ 93.578149] -->mxc_isi_get_irq_status
[ 93.581909] -->mxc_isi_clean_irq_status
[ 93.585837] --> mxc_isi_enable_irq
[ 93.589251] --> dump_isi_regs
[ 93.592223] ISI CHNLC register dump, isi0
[ 93.596246] CHNL_CTRL[0x00]: e0000000
[ 93.600871] CHNL_IMG_CTRL[0x04]: 20000001
[ 93.605500] CHNL_OUT_BUF_CTRL[0x08]: 7c707
[ 93.609862] CHNL_IMG_CFG[0x0c]: 1e00280
[ 93.614405] CHNL_IER[0x10]: 3cfc0000
[ 93.619025] CHNL_STS[0x14]: 100
[ 93.623215] CHNL_SCALE_FACTOR[0x18]: 10001000
[ 93.627840] CHNL_SCALE_OFFSET[0x1c]: 00
[ 93.631945] CHNL_CROP_ULC[0x20]: 00
[ 93.636060] CHNL_CROP_LRC[0x24]: 00
[ 93.640165] CHNL_CSC_COEFF0[0x28]: 00
[ 93.644267] CHNL_CSC_COEFF1[0x2c]: 00
[ 93.648370] CHNL_CSC_COEFF2[0x30]: 00
[ 93.652470] CHNL_CSC_COEFF3[0x34]: 00
213): V4L2 buffer[0]->planes[ 93.656577] CHNL_CSC_COEFF4[0x38]: 00
[0]:startAddr=0x0xe23d8be36000, o[ 93.663533] CHNL_CSC_COEFF5[0x3c]: 00
[ 93.670490] CHNL_ROI_0_ALPHA[0x40]: 00
[ 93.674592] CHNL_ROI_0_ULC[0x44]: 00
[ 93.678695] CHNL_ROI_0_LRC[0x48]: 00
[ 93.682799] CHNL_ROI_1_ALPHA[0x4c]: 00
[ 93.686909] CHNL_ROI_1_ULC[0x50]: 00
[ 93.691011] CHNL_ROI_1_LRC[0x54]: 00
[ 93.695115] CHNL_ROI_2_ALPHA[0x58]: 00
[ 93.699217] CHNL_ROI_2_ULC[0x5c]: 00
[ 93.703323] CHNL_ROI_2_LRC[0x60]: 00
[ 93.707430] CHNL_ROI_3_ALPHA[0x64]: 00
[ 93.711531] CHNL_ROI_3_ULC[0x68]: 00
[ 93.715637] CHNL_ROI_3_LRC[0x6c]: 00
[ 93.719738] CHNL_OUT_BUF1_ADDR_Y[0x70]: 73400000
[ 93.724364] CHNL_OUT_BUF1_ADDR_U[0x74]: 00
[ 93.728467] CHNL_OUT_BUF1_ADDR_V[0x78]: 00
[ 93.732572] CHNL_OUT_BUF_PITCH[0x7c]: 500
[ 93.736758] CHNL_IN_BUF_ADDR[0x80]: 00
[ 93.740873] CHNL_IN_BUF_PITCH[0x84]: 00
[ 93.744976] CHNL_MEM_RD_CTRL[0x88]: 00
[ 93.749082] CHNL_OUT_BUF2_ADDR_Y[0x8c]: 73100000
[ 93.753704] CHNL_OUT_BUF2_ADDR_U[0x90]: 00
[ 93.757808] CHNL_OUT_BUF2_ADDR_V[0x94]: 00
[ 93.761907] CHNL_SCL_IMG_CFG[0x98]: 1e00280
[ 93.766445] CHNL_FLOW_CTRL[0x9c]: 00
ffset=0x0, buf_size=614400
(get_memory_map_info:1213): V4L2 buffer[1]->planes[0]:startAddr=0x0xe23d8a46d000, offset=0x96000, buf_size=614400
(get_memory_map_info:1213): V4L2 buffer[2]->planes[0]:startAddr=0x0xe23d8a3d7000, offset=0x12c000, buf_size=614400
(v4l2_create_buffer:1255): channel[0] w/h=(640,480) alloc buffer success
(media_device_prepare:1472): v4l2_device_prepare ret=0
[ 93.952857] read descriptors
[ 93.955763] read strings
[ 94.092381] mxc_isi_cap_streamon 1072
[ 94.096070] mxc_isi_pipeline_enable start --> 1
[ 94.100631] --> tp2850_s_stream enable = 1
[ 94.104736] ==> tp2850_check_valid_mode
[ 94.104738] ==> tp2850_set_stream_mipi
[ 94.108583] ==> tp2850_write_reg
[ 94.114007] ==> tp2850_write_reg
[ 94.118853] ==> tp2850_write_reg
[ 94.228375] tp2850_set_stream_mipi ret= 0
[ 94.235716] tp2850_set_stream end enable 1
[ 94.256357] --- mipi_csis_s_stream ---
[ 94.260141] CSIS_VERSION[0]: 0x03060301
[ 94.264695] CSIS_CMN_CTRL[4]: 0x00004005
[ 94.269238] CSIS_CLK_CTRL[8]: 0x000f0000
[ 94.273787] CSIS_INTMSK[10]: 0x0fffff1f
[ 94.278415] CSIS_INTSRC[14]: 0x00000000
[ 94.283052] CSIS_DPHYSTATUS[20]: 0x000000e1
[ 94.287680] CSIS_DPHYCTRL[24]: 0x0d800003
[ 94.292314] CSIS_DPHYBCTRL_L[30]: 0x000001f4
[ 94.296947] CSIS_DPHYBCTRL_H[34]: 0x00000000
[ 94.301581] CSIS_DPHYSCTRL_L[38]: 0x00000000
[ 94.306220] CSIS_DPHYSCTRL_H[3c]: 0x00000000
[ 94.310856] CSIS_ISPCONFIG_CH0[40]: 0x00001078
[ 94.315483] CSIS_ISPCONFIG_CH1[50]: 0x000008fd
[ 94.320120] CSIS_ISPCONFIG_CH2[60]: 0x000008fe
[ 94.324751] CSIS_ISPCONFIG_CH3[70]: 0x000008ff
[ 94.329379] CSIS_ISPRESOL_CH0[44]: 0x01e00280
[ 94.334012] CSIS_ISPRESOL_CH1[54]: 0x80008000
[ 94.338645] CSIS_ISPRESOL_CH2[64]: 0x80008000
[ 94.343269] CSIS_ISPRESOL_CH3[74]: 0x80008000
[ 94.347894] CSIS_ISPSYNC_CH0[48]: 0x00000000
[ 94.352519] CSIS_ISPSYNC_CH1[58]: 0x00000000
[ 94.357146] CSIS_ISPSYNC_CH2[68]: 0x00000000
[ 94.361769] CSIS_ISPSYNC_CH3[78]: 0x00000000
[ 94.366405] --- mipi_csis_s_stream ---
[ 94.370163] GPR_GASKET_0_CTRL[60]: 0x00001e02
[ 94.374788] GPR_GASKET_0_HSIZE[64]: 0x00001e02
[ 94.379409] GPR_GASKET_0_VSIZE[68]: 0x00001e02
[ 94.388578] mxc_isi_cap_streamon 1074
(media_device_start:1517): v4l2_device_streamon start(v4l2_device_streamon:1434): channel[0] v4l_dev=0x4 start capturing
[ 94.997152] read descriptors
[ 95.000086] read strings
[ 96.036851] read descriptors
[ 96.039760] read strings

 

 

0 Kudos
Reply

6,809 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

"memplanes 0" means no memory to use, so no video will be captured.

0 Kudos
Reply