idmac eof interrupt

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

idmac eof interrupt

1,273 Views
kurkinalexandr
Contributor III

Hi All. I am working on driver integration for ADV7280-m(mipi-csi2).

mipi stat register is 0x300. Err registers are zero. So as I understand I was managed to catch clk and data from the sensor on dphy level.

Adv7280-m pass 480i template signal(free run mode) virtual channel=0(1 data lane).

I read mipi debug steps documents.

I set IPU=0, CSI=0, GPR 1 bit 19 to zero for virtual channel 0. And all ipu, csi registers look correct.

But I can`t get idmac eof interrupt still.

Can anybody advice my what settings could I check?

Here is my debug output:

<7>In MVC: mxc_v4l_open

<7>   device name is Mxc Camera

<7>v4l test0

<7>v4l test1

<7>v4l test2

<7>v4l test4

<7>adv7280 3-0021: adv7280:ioctl_g_ifparm

<7>adv7280 3-0021: adv7280:ioctl_g_fmt_cap

<7>   Returning size of 720x525

<7>End of mxc_v4l_open: v2f pix widthxheight 288 x 352

<7>End of mxc_v4l_open: crop_bounds widthxheight 720 x 525

<7>End of mxc_v4l_open: crop_defrect widthxheight 720 x 525

<7>End of mxc_v4l_open: crop_current widthxheight 720 x 525

<7>On Open: Input to ipu size is 720 x 525

<7>imx-ipuv3 imx-ipuv3.0: CSI_SENS_CONF = 0x00000A02

<7>imx-ipuv3 imx-ipuv3.0: CSI_ACT_FRM_SIZE = 0x020C02CF

<7>adv7280 3-0021: adv7280:ioctl_s_power:1

<7>adv7280 3-0021: In adv7280:ioctl_init

<7>ehci_fsl_bus_suspend begins, Host 1

<7>adv7280:ioctl_dev_init

<7>   Setting mclk to 24 MHz

<7>ehci_fsl_bus_suspend ends, Host 1

<7>mipi csi2 status:300

<3>mipi_err1:0

<3>mipi_err1:0

<3>mipi_err1:0

<3>mipi_err1:0

<3>mipi_err1:0

<3>mipi_err1:0

<3>mipi_err1:0

<3>mipi_err1:0

<3>mipi_err1:0

<3>mipi_err1:0

<3>mipi csi2 can not reveive data correctly1:0!

<3>mipi_err2:0

<3>mipi_err2:0

<3>mipi_err2:0

<3>mipi_err2:0

<3>mipi_err2:0

<3>mipi_err2:0

<3>mipi_err2:0

<3>mipi_err2:0

<3>mipi_err2:0

<3>mipi_err2:0

<3>mipi csi2 can not reveive data correctly2:0!

<7>mipi ok

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl c02c5651

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl c02c564a

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl c02c564a

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl c0405602

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl c0cc5616

<7>   case VIDIOC_S_PARM

<7>In mxc_v4l2_s_param

<7>   Current capabilities are cdad

<7>   Current capturemode is 52653  change to 0

<7>   Current framerate is 61189  change to 30

<7>adv7280 3-0021: In adv7280:ioctl_s_parm

<7>adv7280 3-0021: adv7280:ioctl_g_ifparm

<7>   clock_curr=mclk=24000000

<7>adv7280 3-0021: adv7280:ioctl_g_fmt_cap

<7>   Returning size of 720x525

<7>   g_fmt_cap returns widthxheight of input as 720 x 525

<7>imx-ipuv3 imx-ipuv3.0: CSI_SENS_CONF = 0x00000A02

<7>imx-ipuv3 imx-ipuv3.0: CSI_ACT_FRM_SIZE = 0x020C02CF

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl c0045627

<7>   case VIDIOC_S_INPUT

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl c014563b

<7>   case VIDIOC_G_CROP

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl 4014563c

<7>   case VIDIOC_S_CROP

<7>   Cropping Input to ipu size 176 x 144

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl c0cc5605

<7>   case VIDIOC_S_FMT

<7>In MVC: mxc_v4l2_s_fmt

<7>   type=V4L2_BUF_TYPE_VIDEO_CAPTURE

<7>End of mxc_v4l2_s_fmt: v2f pix widthxheight 176 x 144

<7>End of mxc_v4l2_s_fmt: crop_bounds widthxheight 720 x 525

<7>End of mxc_v4l2_s_fmt: crop_defrect widthxheight 720 x 525

<7>End of mxc_v4l2_s_fmt: crop_current widthxheight 176 x 144

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl c008561c

<7>   case VIDIOC_S_CTRL

<7>In MVC:mxc_v4l2_s_ctrl

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl c0145608

<7>   case VIDIOC_REQBUFS

<7>In MVC:mxc_streamoff

<7>MVC: In mxc_free_frame_buf

<7>In MVC:mxc_allocate_frame_buf - size=38016

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl c0cc5604

<7>   case VIDIOC_G_FMT

<7>In MVC: mxc_v4l2_g_fmt type=1

<7>   type is V4L2_BUF_TYPE_VIDEO_CAPTURE

<7>End of mxc_v4l2_g_fmt: v2f pix widthxheight 176 x 144

<7>End of mxc_v4l2_g_fmt: crop_bounds widthxheight 720 x 525

<7>End of mxc_v4l2_g_fmt: crop_defrect widthxheight 720 x 525

<7>End of mxc_v4l2_g_fmt: crop_current widthxheight 176 x 144

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl c0445609

<7>   case VIDIOC_QUERYBUF

<7>In MVC:mxc_v4l2_buffer_status

<7>In MVC:mxc_mmap

<7>   pgoff=0x22f30, start=0x40215000, end=0x4021f000

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl c0445609

<7>   case VIDIOC_QUERYBUF

<7>In MVC:mxc_v4l2_buffer_status

<7>In MVC:mxc_mmap

<7>   pgoff=0x22f40, start=0x402d6000, end=0x402e0000

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl c0445609

<7>   case VIDIOC_QUERYBUF

<7>In MVC:mxc_v4l2_buffer_status

<7>In MVC:mxc_mmap

<7>   pgoff=0x22f50, start=0x40357000, end=0x40361000

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl c044560f

<7>   case VIDIOC_QBUF

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl c044560f

<7>   case VIDIOC_QBUF

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl c044560f

<7>   case VIDIOC_QBUF

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl 40045612

<7>   case VIDIOC_STREAMON

<7>In MVC:mxc_streamon

<4>IPU:In csi_enc_enabling_tasks

<4>In csi_enc_setup

<3>mipi csi test:0-0!

<3>mipi csi test0!

<7>imx-ipuv3 imx-ipuv3.0: init channel3 = 15

<7>imx-ipuv3 imx-ipuv3.0: mipi enable

<7>imx-ipuv3 imx-ipuv3.0: mipi enable0

<7>imx-ipuv3 imx-ipuv3.0: initializing idma ch 0 @ d98c0000

<7>imx-ipuv3 imx-ipuv3.0: ch 0 word 0 - 00000000 03180000 0000F780 E0020000 00023C15

<7>imx-ipuv3 imx-ipuv3.0: ch 0 word 1 - 04F00000 589E0000 0047C000 000057C0 00000057

<7>imx-ipuv3 imx-ipuv3.0: PFS 0x2,

<7>imx-ipuv3 imx-ipuv3.0: BPP 0x0,

<7>imx-ipuv3 imx-ipuv3.0: NPB 0x1f

<7>imx-ipuv3 imx-ipuv3.0: FW 175,

<7>imx-ipuv3 imx-ipuv3.0: FH 143,

<7>imx-ipuv3 imx-ipuv3.0: EBA0 0x27800000

<7>imx-ipuv3 imx-ipuv3.0: EBA1 0x27800000

<7>imx-ipuv3 imx-ipuv3.0: Stride 351

<7>imx-ipuv3 imx-ipuv3.0: scan_order 1

<7>imx-ipuv3 imx-ipuv3.0: uv_stride 87

<7>imx-ipuv3 imx-ipuv3.0: u_offset 0x6300

<7>imx-ipuv3 imx-ipuv3.0: v_offset 0x7bc0

<7>imx-ipuv3 imx-ipuv3.0: Width0 0+1,

<7>imx-ipuv3 imx-ipuv3.0: Width1 0+1,

<7>imx-ipuv3 imx-ipuv3.0: Width2 0+1,

<7>imx-ipuv3 imx-ipuv3.0: Width3 0+1,

<7>imx-ipuv3 imx-ipuv3.0: Offset0 23,

<7>imx-ipuv3 imx-ipuv3.0: Offset1 2,

<7>imx-ipuv3 imx-ipuv3.0: Offset2 0,

<7>imx-ipuv3 imx-ipuv3.0: Offset3 0

<7>imx-ipuv3 imx-ipuv3.0: channel:f-out:0-in:3f

<7>imx-ipuv3 imx-ipuv3.0: IPU_CONF =    0x10000761

<7>imx-ipuv3 imx-ipuv3.0: IDMAC_CONF =  0x0000002F

<7>imx-ipuv3 imx-ipuv3.0: IDMAC_CHA_EN1 =       0x00800001

<7>imx-ipuv3 imx-ipuv3.0: IDMAC_CHA_EN2 =       0x00000000

<7>imx-ipuv3 imx-ipuv3.0: IDMAC_CHA_PRI1 =      0x18800001

<7>imx-ipuv3 imx-ipuv3.0: IDMAC_CHA_PRI2 =      0x00000000

<7>imx-ipuv3 imx-ipuv3.0: IDMAC_BAND_EN1 =      0x00000000

<7>imx-ipuv3 imx-ipuv3.0: IDMAC_BAND_EN2 =      0x00000000

<7>imx-ipuv3 imx-ipuv3.0: IPU_CHA_DB_MODE_SEL0 =        0x00000001

<7>imx-ipuv3 imx-ipuv3.0: IPU_CHA_DB_MODE_SEL1 =        0x00000000

<7>imx-ipuv3 imx-ipuv3.0: IPU_CHA_TRB_MODE_SEL0 =       0x00800000

<7>imx-ipuv3 imx-ipuv3.0: IPU_CHA_TRB_MODE_SEL1 =       0x00000000

<7>imx-ipuv3 imx-ipuv3.0: DMFC_WR_CHAN =        0x00000090

<7>imx-ipuv3 imx-ipuv3.0: DMFC_WR_CHAN_DEF =    0x202020F6

<7>imx-ipuv3 imx-ipuv3.0: DMFC_DP_CHAN =        0x00009694

<7>imx-ipuv3 imx-ipuv3.0: DMFC_DP_CHAN_DEF =    0x2020F6F6

<7>imx-ipuv3 imx-ipuv3.0: DMFC_IC_CTRL =        0x00000002

<7>imx-ipuv3 imx-ipuv3.0: IPU_FS_PROC_FLOW1 =   0x00000000

<7>imx-ipuv3 imx-ipuv3.0: IPU_FS_PROC_FLOW2 =   0x00000000

<7>imx-ipuv3 imx-ipuv3.0: IPU_FS_PROC_FLOW3 =   0x00000000

<7>imx-ipuv3 imx-ipuv3.0: IPU_FS_DISP_FLOW1 =   0x00000000

<7>imx-ipuv3 imx-ipuv3.0: IPU_VDIC_VDI_FSIZE =  0x00000000

<7>imx-ipuv3 imx-ipuv3.0: IPU_VDIC_VDI_C =      0x00000000

<7>imx-ipuv3 imx-ipuv3.0: IPU_IC_CONF =         0x00000000

<7>imx-ipuv3 imx-ipuv3.0: IPU_INT_STAT =        0x00800000

<7>imx-ipuv3 imx-ipuv3.0: CSI_MIPI_DI =         0xFFFFFF1E

<7>imx-ipuv3 imx-ipuv3.0: CSI_SENS_CONF =       0x04000A02

<7>imx-ipuv3 imx-ipuv3.0: CSI_SENS_FRM_SIZE =   0x020C02CF

<7>imx-ipuv3 imx-ipuv3.0: CSI_ACT_FRM_SIZE =    0x008F00AF

<7>imx-ipuv3 imx-ipuv3.0: CSI_OUT_FRM_CTRL =    0x00000000

<7>imx-ipuv3 imx-ipuv3.0: IPU_INT_CTRL1 =       0x80000001

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl c0445611

<7>   case VIDIOC_DQBUF

<7>In MVC:mxc_v4l_dqueue

<3>ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl c044560f

<7>   case VIDIOC_QBUF

<3>ERROR: v4l2 capture: VIDIOC_QBUF: buffer already queued

<7>In MVC:mxc_v4l_ioctl

<7>In MVC: mxc_v4l_do_ioctl 40045613

<7>   case VIDIOC_STREAMOFF

<7>In MVC:mxc_streamoff

<7>imx-ipuv3 imx-ipuv3.0: CSI stop timeout - 5 * 10ms

<7>In MVC:mxc_free_frames

<7>In MVC:mxc_v4l_close

<7>In MVC:mxc_streamoff

<7>adv7280 3-0021: adv7280:ioctl_s_power:0

<7>mxc_v4l_close: release resource

<7>MVC: In mxc_free_frame_buf

<7>In MVC:mxc_free_frames

0 Kudos
5 Replies

671 Views
kurkinalexandr
Contributor III

The issue resolved.  Great thanks freescale technical experts.

0 Kudos

671 Views
karina_valencia
NXP Apps Support
NXP Apps Support

igorpadykov​ can you continue with the follow up?

0 Kudos

671 Views
igorpadykov
NXP Employee
NXP Employee

Hi Fan

please try attached patch and check:

1. the adv7280 should be enabled after mipi_csi2_reset().

2. For MIPI CSI input, the clock mode in IPU_CSI_SENS_CONF must be gated clock mode.

          p->u.bt656.clock_curr = 1;

3. For interlaced input, IDMAC 0 should be set to interlaced mode: "params.csi_mem.interlaced = true;"

For progressive input, IDMAC 0 shoudl be set to progressive mode: "params.csi_mem.interlaced = false;"

          case IPU_CSI_CLK_MODE_GATED_CLK: in file

drivers\media\video\mxc\capture\ipu_csi_enc.c, function csi_enc_setup().

4. For device type:

    adv7280_data.sen.pix.priv = 1;  /* 1 is used to indicate TV in */

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos

671 Views
kurkinalexandr
Contributor III

Hi  Igor.

Sorry for the long feedback, just got back from vacation.

I checked your patch. My driver has been made according to your recomendations. But I have the same status still. See my debug dump above.

As I said, It looks like my Dphy work correct(there are no any errors in mipi csi2 registers), but I cant get EOF interrupt.

Could you look at my registers dump and give advice about configuration.

Thanks.

Update:

Attached my files

0 Kudos

671 Views
igorpadykov
NXP Employee
NXP Employee

Hi Fan

NXP has Professional Services for helping customers with porting own drivers

http://www.nxp.com/support/nxp-professional-services:PROFESSIONAL-SERVICE

Pro-Support contact www.nxp.com/prosupport

alternatively you can elevate your requests through local fae channel,

note project info may be required.

Best regards

igor

0 Kudos