This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

how connect camera to DM3730 via CSI2

Other Parts Discussed in Thread: SYSCONFIG

I use linux-2.6.37 from DVSDK-4.6

I have camera OV5640.
And I can get image from this pipeline:
Sencor->CCDC->MEM

But  I can't get image when pipeline:
Sensor->CSI2a->MEM

I compared implantation of omap3-isp driver from linux-2.6.37 and linux-3.11.
In linux-3.11 csiphy configuration is different.
I modify implementation csiphy(linux-2.6.37)  like in linux-3.11.

But image can't be capture. Any CSI 2 interrupts doesn't occur

What I need to do to capture image via CSI2?

  • Hi Michael,

    As I read the description of your issue I can't find the exact reason for unsuccessful image receiving via CSI2A but I suggest you to check up the connectivity schematic of the CSI2A. Is it correct according to description in the Technical Reference manual section 6 Camera Image Signal Processor. Also check the registers configuration in the section 6.5 Camera ISP Basic Programming Model.

    BR

    Tsvetolin Shulev

  • register  dump after start stream:

    omap3isp omap3isp: -------------CSI2 Register dump-------------
    [  445.166564] omap3isp omap3isp: ###CSI2 SYSCONFIG=0x00002001
    [  445.166564] omap3isp omap3isp: ###CSI2 SYSSTATUS=0x00000001
    [  445.166595] omap3isp omap3isp: ###CSI2 IRQENABLE=0x00007f01
    [  445.166595] omap3isp omap3isp: ###CSI2 IRQSTATUS=0x00000000
    [  445.166625] omap3isp omap3isp: ###CSI2 CTRL=0x00000201
    [  445.166625] omap3isp omap3isp: ###CSI2 DBG_H=0x00000000
    [  445.166656] omap3isp omap3isp: ###CSI2 GNQ=0x0000001b
    [  445.166656] omap3isp omap3isp: ###CSI2 PHY_CFG=0x4b000321
    [  445.166687] omap3isp omap3isp: ###CSI2 PHY_IRQSTATUS=0x00000000
    [  445.166717] omap3isp omap3isp: ###CSI2 SHORT_PACKET=0x00000000
    [  445.166717] omap3isp omap3isp: ###CSI2 PHY_IRQENABLE=0x07ffffff
    [  445.166748] omap3isp omap3isp: ###CSI2 DBG_P=0x00000000
    [  445.166748] omap3isp omap3isp: ###CSI2 TIMING=0x7fffe1ff
    [  445.166778] omap3isp omap3isp: ###CSI2 CTX_CTRL1(0)=0x00010189
    [  445.166778] omap3isp omap3isp: ###CSI2 CTX_CTRL2(0)=0x0000001e
    [  445.166809] omap3isp omap3isp: ###CSI2 CTX_DAT_OFST(0)=0x00000000
    [  445.166839] omap3isp omap3isp: ###CSI2 CTX_DAT_PING_ADDR(0)=0x00097000
    [  445.166839] omap3isp omap3isp: ###CSI2 CTX_DAT_PONG_ADDR(0)=0x00097000
    [  445.166870] omap3isp omap3isp: ###CSI2 CTX_IRQENABLE(0)=0x00000002
    [  445.166870] omap3isp omap3isp: ###CSI2 CTX_IRQSTATUS(0)=0x00000000
    [  445.166900] omap3isp omap3isp: ###CSI2 CTX_CTRL3(0)=0x00000000
    [  445.166931] omap3isp omap3isp: --------------------------------------------

    maybe pinmux configuration incorrect.

    I followed by instruction in TRM 6.5.2.1 Camera ISP CSIPHY Initialization for Work With CSI2 Receiver 

    But step 2.g failed. CSI2_TIMING[15] FORCE_RX_MODE_IO1 always = 0x1

    I can't find this steps in omap3-isp driver? Does it need to do?

  • Hi,

    Is your Camera sensor driver is correct? Can you probe sensor & confirm that it is sending out data  and other signals?

  • Hi

    I use sensor driver from linux-ixm6.
    When I start stream I can see signals on oscilloscope.
    Maybe timing of signals are incorrect. I  think some interrupts must occur. But don't.

  • I find that I used incorrect data in mux init:
    omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
    on my board DM3730CBP100,
    I changedmux init to  omap3_mux_init(board_mux, OMAP_PACKAGE_CBP);
    Now CSI2 interrupts occur.

    But now I have another problem.
    When I start stream, I always recive error:
    [   83.435546] omap3isp omap3isp: CSI2: ComplexIO Error IRQ 10000
    [   83.491149] omap3isp omap3isp: CSI2: ComplexIO Error IRQ 30000
    [   83.544158] omap3isp omap3isp: CSI2: ComplexIO Error IRQ 10000
    [   83.600830] omap3isp omap3isp: CSI2: ComplexIO Error IRQ 20000
    .....

    What is this error mean?

  • Hi Michael,

    I suggest you to start debugging the IRQ error values using as start point "Failure case" of isp_csi2_isr function in the ./drivers/media/video/isp/ispcsi2.c file. Then check the conditions when the isp_reg_readl function returns non zero value.

    BR

    Tsvetolin Shulev