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.

Iss driver halted at csi2_wait_phy_reset(), What’s DM38x/TI814x CSI2 complex IO reset sequence?

Other Parts Discussed in Thread: DM388, SYSCONFIG

I have connected OV2740 sensor to Appro_DM388IPNC_IMX185 demo board through J1 connector and I writed the iss drivers.

But when the board booting up, it halted at csi2_wait_phy_reset()….
I have checked the following link:
use ISP on pandaboard(‘CSI2A –> IPIPEIF –> MEM’)
OMAP4 CSI2 PHY config issue
OMAP4460 ISS: CSI2_COMPLEXIO_CFG (RESET_DONE) always remain low
But none of them working….

I tested as following:
1. using IMX185 image, connecting imx185 sensor -> everything ok.
2. using IMX185 image, connecting ov2740 sensor or not connecting sensor -> halt at csi2_wait_phy_reset().
3. using myself ov2740 image, connecting ov2740 sensor -> halt at csi2_wait_phy_reset().

But ov2740 board working ok.
1. When power-up, CSI_DX/DY[0-2] is 1.2V LP high.
2. When Iss_Ov2740EnableStreaming(), ov2740 working on . The oscillator output is following….

And I compared ISS and CSI register between test 2(IMX185 image + not connect sensor) and test3(OV2740 image + ov2740 sensor). There’re some difference but none of them is related …..

My question is “What’s DM38x/TI814x CSI2 complex IO reset sequence? Which’s the influence factors?”

 

 

 

My enviroments: CPU=DM388, ipnc 3.8 rdk

The register difference is following ….

OV2740 image +OV2740 sensorimx185 image + not connecting sensor
ISS_CLKCTRL (5c000084)=F0000017 ISS_CLKCTRL (5c000084)=F0000017
ISS_CTRL (5c000080)=FFFF000C ISS_CTRL (5c000080)=FFFF000C
ISS_HL_SYSCONFIG (5c000010)=00000028 ISS_HL_SYSCONFIG (5c000010)=00000028
REGISTER0 (5c001170)=00000427 REGISTER0 (5c001170)=00000000
REGISTER1 (5c001174)=C002E10E REGISTER1 (5c001174)=E002E10E
REGISTER2 (5c001178)=000000FF REGISTER2 (5c001178)=000000FF
ISS_HL_REVISION (5c000000)=40000103 ISS_HL_REVISION (5c000000)=40000103
ISS_HL_HWINFO (5c000004)=00000003 ISS_HL_HWINFO (5c000004)=00000003
ISS_HL_SYSCONFIG (5c000010)=00000028 ISS_HL_SYSCONFIG (5c000010)=00000028
ISS_HL_IRQSTATUS_RAW_0 (5c000020)=00020000 ISS_HL_IRQSTATUS_RAW_0 (5c000020)=00020000
ISS_HL_IRQSTATUS_RAW_1 (5c000030)=00020000 ISS_HL_IRQSTATUS_RAW_1 (5c000030)=00020000
ISS_HL_IRQSTATUS_RAW_2 (5c000040)=00020000 ISS_HL_IRQSTATUS_RAW_2 (5c000040)=00020000
ISS_HL_IRQSTATUS_RAW_3 (5c000050)=00020000 ISS_HL_IRQSTATUS_RAW_3 (5c000050)=00020000
ISS_HL_IRQSTATUS_RAW_4 (5c000060)=00020000 ISS_HL_IRQSTATUS_RAW_4 (5c000060)=00020000
ISS_HL_IRQSTATUS_RAW_5 (5c000070)=00020000 ISS_HL_IRQSTATUS_RAW_5 (5c000070)=00020000
ISS_HL_IRQSTATUS_0 (5c000024)=00000000 ISS_HL_IRQSTATUS_0 (5c000024)=00000000
ISS_HL_IRQSTATUS_1 (5c000034)=00000000 ISS_HL_IRQSTATUS_1 (5c000034)=00000000
ISS_HL_IRQSTATUS_2 (5c000044)=00000000 ISS_HL_IRQSTATUS_2 (5c000044)=00000000
ISS_HL_IRQSTATUS_3 (5c000054)=00000000 ISS_HL_IRQSTATUS_3 (5c000054)=00000000
ISS_HL_IRQSTATUS_4 (5c000064)=00000000 ISS_HL_IRQSTATUS_4 (5c000064)=00000000
ISS_HL_IRQSTATUS_5 (5c000074)=00000000 ISS_HL_IRQSTATUS_5 (5c000074)=00000000
ISS_CTRL (5c000080)=FFFF000C ISS_CTRL (5c000080)=FFFF000C
ISS_CLKCTRL (5c000084)=F0000017 ISS_CLKCTRL (5c000084)=F0000017
ISS_CLKSTAT (5c000088)=F0000017 ISS_CLKSTAT (5c000088)=F0000017
ISS_PM_STATUS (5c00008c)=00002822 ISS_PM_STATUS (5c00008c)=00002822
CSI2_REVISION (5c001000)=00000030 CSI2_REVISION (5c001000)=00000030
CSI2_SYSCONFIG (5c001010)=00001000 CSI2_SYSCONFIG (5c001010)=00001000
CSI2_SYSSTATUS (5c001014)=00000001 CSI2_SYSSTATUS (5c001014)=00000001
CSI2_IRQSTATUS (5c001018)=00000000 CSI2_IRQSTATUS (5c001018)=00000000
CSI2_IRQENABLE (5c00101c)=00006C60 CSI2_IRQENABLE (5c00101c)=00000000
CSI2_CTRL (5C001040)=0029A868 CSI2_CTRL (5C001040)=0029A868
CSI2_DBG_H (5C001044)=00000000 CSI2_DBG_H (5C001044)=00000000
CSI2_COMPLEXIO_CFG (5c001050)=49000321 CSI2_COMPLEXIO_CFG (5c001050)=4B054321
CSI2_COMPLEXIO_IRQSTATUS (5c001054)=00000000 CSI2_COMPLEXIO_IRQSTATUS (5c001054)=00000000
CSI2_SHORT_PACKET (5c00105C)=00000000 CSI2_SHORT_PACKET (5c00105C)=00000000
CSI2_COMPLEXIO_IRQENABLE (5c001060)=00000000 CSI2_COMPLEXIO_IRQENABLE (5c001060)=00000000
CSI2_DBG_P (5c001068)=00000000 CSI2_DBG_P (5c001068)=00000000
CSI2_TIMING (5c00106C)=7FFF7FFF CSI2_TIMING (5c00106C)=7FFF7FFF
CSI2_CTX_CTRL1_0 (5c001070)=0001008C CSI2_CTX_CTRL1_0 (5c001070)=00010008
CSI2_CTX_CTRL2_0 (5c001074)=0000452F CSI2_CTX_CTRL2_0 (5c001074)=00000000
CSI2_CTX_DAT_OFST_0 (5c001078)=00000000 CSI2_CTX_DAT_OFST_0 (5c001078)=00000000
CSI2_CTX_DAT_PING_ADDR_0 (5c00107C)=00000000 CSI2_CTX_DAT_PING_ADDR_0 (5c00107C)=00000000
CSI2_CTX_DAT_PONG_ADDR_0 (5c001080)=00000000 CSI2_CTX_DAT_PONG_ADDR_0 (5c001080)=00000000
CSI2_CTX_IRQENABLE_0 (5c001084)=00000000 CSI2_CTX_IRQENABLE_0 (5c001084)=00000000
CSI2_CTX_IRQSTATUS_0 (5c001088)=00000000 CSI2_CTX_IRQSTATUS_0 (5c001088)=00000000
CSI2_CTX_CTRL3_0 (5c00108C)=000000C8 CSI2_CTX_CTRL3_0 (5c00108C)=00000000
CSI2_CTX_TRANSCODEH_0 (5c0011C0)=00000000 CSI2_CTX_TRANSCODEH_0 (5c0011C0)=00000000
CSI2_CTX_TRANSCODEV_0 (5c0011C4)=00000000 CSI2_CTX_TRANSCODEV_0 (5c0011C4)=00000000
  • Hello,

    Can you also check the below e2e thread:
    e2e.ti.com/.../1380841

    I will notify our IPNC RDK team for help.

    BR
    Pavel
  • Hi,

    When your data lines and clock line connections and configurations are correct then CSI2 receiver will starts receiving the data with the default reset configurations.

    So pl. check your sensor configurations and the lane connections.

    regards,

    Anand

  • For the connection ov2740 to Appro DM388 IPNC though J1:
    Vcc3.3VD------------------------------> ov2740 board power
    SI2C2_SDA----------------------------> ov2740 SDA
    SI2C2_SCL----------------------------->ov2740 SCL
    LVDS_D0P----------------------------->ov2740 MDP0
    LVDS_D0N---------------------------->ov2740 MDN0
    LVDS_D1P---------------------------->ov2740 MDP1
    LVDS_D1N---------------------------->ov2740 MDN1
    LVDS_CKP---------------------------->ov2740 MCP
    LVDS_CLN---------------------------->ov2740 MCN
    EXT_CLK ----------------------------->NC (ov2740 use in board 24M oscillator)
    other pins(IO_1.8V,LVDSD3P/D3N,LVDSD4P/D4N,AFE_RESET,PIC_SDAT,PIC_SCLK,SPI_SDATA,SPI_SCLK,SPI_SEN)---------> NC

    1. For ov2740 board, it works ok when tested using Image Testing Board form DuXin Inc.
    2. For DM388 IPNC, it works ok when connected IMX185,and using IMX185 image.


    For the sensor and lane cofiguration:
    1. Pin Mux. For CSI2_DX/DY[0-4] pins, are used only for MIPI CSI input. So don't need configuration.
    2. For lane configuration, is ok.
    CSI2_COMPLEXIO_CFG(0x5c001050) = 49000321
    Clock position is 1 , Data1 position is 2, Data2 postion is 3 , Data3/4 is not used.

  • to Anand:

    When CSI2 reseting, it will wait for correct CSI2 data..........

    Can you explain in more detail? For example, it will wait for "LP to HS mode transition sequence" or Line Synchronization Packets or others?

    Can I check it using oscilloscope?

  • to Anand:

    When CSI2 reseting, it will wait for correct CSI2 data..........

    Can you explain in more detail? For example, it will wait for "LP to HS mode transition sequence" or Line Synchronization Packets or others?

    Can I check it using oscilloscope?

  • Hi,

    I have not checked the CSI2 reset sequence, but i have verified that if the data format and the lane configuations are correct then it will come out of 'csi2_wait_phy_reset()' function.

    So pl. check the lane confguration and the data format in the '..\ti_tools\iss_03_80_00_00\packages\ti\psp\iss\core\src\iss_comp.c' file.

    regards,

    Anand

  • Anand, thanks a lot!

     It's a hardware problem.

    I use a resistance divider circuit , dividing MIPI to two branch , one for DM388, one for oscilloscope. But the circuit not work properly, when I bypass it, the ISS driver booting up, and outputing images.

  • hi jianfeng:
    i meet the same problem , i used the imx185 sensor first, can you give me the imx185 configure? i donnt know where is the problem between the dm8127 and imx185 configure.
    my email is 231065322@qq.com

    thanks
  • jianfeng,

    你好,我现在也是遇到的phy reset 不成功的问题,目前平台是DM8127, sensor 是imx214  目前用是4 lanes配置

    对了下你的寄存器有如下不一致的地方:

    REG yours mine
    ISS_CLKCTRL 0xF0000017 0xF0000006
    ISS_CTRL 0xFFF0000C 0xFFF00000
    ISS_HL_IRQSTATUS_RAW_1(2,3,4,5) 0x00020000 0x00000000
    ISS_CTRL 0xFFF0000C 0xF0000006
    ISS_CLKCTRL 0xF0000017 0xF0000006
    ISS_CLKSTAT

    0xF0000017

    0xF0000006
    ISS_PM_STATUS 0x00002822 0x00002802
    CSI2_IRQENABLE 0x00006C60 0x00007FFF
    CSI2_COMPLEXIOI_CFG 0x49000321 0x49054321
    CSI2_TIMING 0x7FFF7FFF 0x7FFFC1D6

    能否给些建议或思路,其中有些疑惑

    1.ISS_CTRL 中你设置ISP输入怎么是Parallel interface?

    2.中断不enbale是否不影响CSI2工作

    还望解答,不甚感激!

    johnson

  • Hello Johnson,

    Could you use English language, please?

    BR
    Margarita
  • hello  Margarita,

    Sorry for that. I am working on DM8127 soc. I also meet the problem that halted at csi2_wait_phy_reset();

    there is a different from others. I debug my project at A8 core on CCS5.4 without running BIOS system.

    I just debug the ISS drivers. After a few days, i finally find the bug in my project. Before configure the CSI2

    I lost the code "   *(unsigned int *) 0x4814069C = 0xfc;"  this register is not found in TRM of ISS. But in the reference project.

    Thanks,

    BR

    Johnson