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.

Why I can not get ipipe & resizerA interrupt?



I am developing a digital camera using DM365 with CMOS Sensor, the resolution is 1280*720, and raw data in.

The IPIPE is set to continous mode. I can get one picture each time atfer power up. but after that, no pics again, and no ipipe interrupt and resizerA interrupt come out any more. How can I fix this problem?

And as I look into the ISR in linux, I can not found any interrupt handle program. should I add these program manully?

  • Hi Clark,

    What is the mode of operation of your IPIPE and RSZ? Are you using in continuous (on-the-fly) mode or are you using single-shot/oneshot mode? I tihnk what might be happening is that for the first frame you got the output but after that the IPIPE/RSZ was never enabled. If you are using one-shot mode, you need to set IPIPE and RSZ enable bit everytime.

    BTW, are you using linux (LSP) drivers or have you got your own driver? Have you written the sensor driver for your CMOS sensor or using one present in LSP for the Aptina sensor?

    Regards,

    Anshuman

  • Hi Anshuman,

    The IPIPE and RSZ are all set to continuous mode, and the following is the list of register values.

    RSZ Regs:

    addr[1c70400] = [1]
    addr[1c70404] = [0]
    addr[1c70408] = [0]
    addr[1c7040c] = [0]
    addr[1c70410] = [0]
    addr[1c70414] = [2cf]
    addr[1c70418] = [0]
    addr[1c7041c] = [4ff]
    addr[1c70420] = [0]
    addr[1c70424] = [0]
    addr[1c70428] = [0]
    addr[1c7042c] = [1]
    addr[1c70430] = [0]
    addr[1c70434] = [1]
    addr[1c70438] = [1fff]
    addr[1c7043c] = [1fff]
    addr[1c70440] = [0]
    addr[1c70444] = [ff]
    addr[1c70448] = [0]
    addr[1c7044c] = [ff]
    addr[1c70450] = [0]
    addr[1c70454] = [0]
    addr[1c70458] = [1]
    addr[1c7045c] = [0]
    addr[1c70460] = [3]
    addr[1c70464] = [0]
    addr[1c70468] = [0]
    addr[1c7046c] = [2cf]
    addr[1c70470] = [4ff]
    addr[1c70474] = [0]
    addr[1c70478] = [0]
    addr[1c7047c] = [100]
    addr[1c70480] = [0]
    addr[1c70484] = [0]
    addr[1c70488] = [0]
    addr[1c7048c] = [0]
    addr[1c70490] = [100]
    addr[1c70494] = [0]
    addr[1c70498] = [0]
    addr[1c7049c] = [0]
    addr[1c704a0] = [0]
    addr[1c704a4] = [0]
    addr[1c704a8] = [0]
    addr[1c704ac] = [0]
    addr[1c704b0] = [8705]
    addr[1c704b4] = [c000]
    addr[1c704b8] = [8705]
    addr[1c704bc] = [c000]
    addr[1c704c0] = [500]
    addr[1c704c4] = [0]
    addr[1c704c8] = [2d0]
    addr[1c704cc] = [8713]
    addr[1c704d0] = [d000]
    addr[1c704d4] = [8713]
    addr[1c704d8] = [d000]
    addr[1c704dc] = [500]
    addr[1c704e0] = [0]
    addr[1c704e4] = [168]
    addr[1c704e8] = [0]
    addr[1c704ec] = [0]
    addr[1c704f0] = [0]
    addr[1c704f4] = [0]
    addr[1c704f8] = [0]
    addr[1c704fc] = [0]
    addr[1c70500] = [1]
    addr[1c70504] = [0]
    addr[1c70508] = [0]
    addr[1c7050c] = [100]
    addr[1c70510] = [0]
    addr[1c70514] = [0]
    addr[1c70518] = [0]
    addr[1c7051c] = [0]
    addr[1c70520] = [100]
    addr[1c70524] = [0]
    addr[1c70528] = [0]
    addr[1c7052c] = [0]
    addr[1c70530] = [0]
    addr[1c70534] = [0]
    addr[1c70538] = [0]
    addr[1c7053c] = [0]
    addr[1c70540] = [0]
    addr[1c70544] = [0]
    addr[1c70548] = [0]
    addr[1c7054c] = [0]
    addr[1c70550] = [0]
    addr[1c70554] = [0]
    addr[1c70558] = [1fff]
    addr[1c7055c] = [0]
    addr[1c70560] = [0]
    addr[1c70564] = [0]
    addr[1c70568] = [0]
    addr[1c7056c] = [0]
    addr[1c70570] = [0]
    addr[1c70574] = [1fff]

    IPIPE Regs:

    addr[1c70800] = [1]
    addr[1c70804] = [0]
    addr[1c70808] = [0]
    addr[1c7080c] = [b1]
    addr[1c70810] = [1]
    addr[1c70814] = [2cf]
    addr[1c70818] = [0]
    addr[1c7081c] = [4ff]
    addr[1c70820] = [0]
    addr[1c70824] = [0]
    addr[1c70828] = [1]
    addr[1c7082c] = [e]
    addr[1c70830] = [0]
    addr[1c70834] = [0]
    addr[1c70838] = [0]
    addr[1c7083c] = [0]
    addr[1c70840] = [0]
    addr[1c70844] = [0]
    addr[1c70848] = [0]
    addr[1c7084c] = [0]
    addr[1c70850] = [0]
    addr[1c70854] = [0]
    addr[1c70858] = [0]
    addr[1c7085c] = [0]
    addr[1c70860] = [0]
    addr[1c70864] = [0]
    addr[1c70868] = [0]
    addr[1c7086c] = [0]
    addr[1c70870] = [0]
    addr[1c70874] = [0]
    addr[1c70878] = [0]
    addr[1c7087c] = [0]
    addr[1c70880] = [0]
    addr[1c70884] = [0]
    addr[1c70888] = [0]
    addr[1c7088c] = [0]
    addr[1c70890] = [0]
    addr[1c70894] = [0]
    addr[1c70898] = [0]
    addr[1c7089c] = [0]
    addr[1c708a0] = [0]
    addr[1c708a4] = [0]
    addr[1c708a8] = [0]
    addr[1c708ac] = [0]
    addr[1c708b0] = [0]
    addr[1c708b4] = [0]
    addr[1c708b8] = [0]
    addr[1c708bc] = [0]
    addr[1c708c0] = [0]
    addr[1c708c4] = [0]
    addr[1c708c8] = [0]
    addr[1c708cc] = [0]
    addr[1c708d0] = [0]
    addr[1c708d4] = [0]
    addr[1c708d8] = [0]
    addr[1c708dc] = [0]
    addr[1c708e0] = [0]
    addr[1c708e4] = [0]
    addr[1c708e8] = [0]
    addr[1c708ec] = [0]
    addr[1c708f0] = [0]
    addr[1c708f4] = [0]
    addr[1c708f8] = [0]
    addr[1c708fc] = [0]
    addr[1c70900] = [0]
    addr[1c70904] = [0]
    addr[1c70908] = [0]
    addr[1c7090c] = [0]
    addr[1c70910] = [0]
    addr[1c70914] = [0]
    addr[1c70918] = [0]
    addr[1c7091c] = [0]
    addr[1c70920] = [0]
    addr[1c70924] = [0]
    addr[1c70928] = [0]
    addr[1c7092c] = [0]
    addr[1c70930] = [0]
    addr[1c70934] = [0]
    addr[1c70938] = [0]
    addr[1c7093c] = [0]
    addr[1c70940] = [0]
    addr[1c70944] = [0]
    addr[1c70948] = [0]
    addr[1c7094c] = [0]
    addr[1c70950] = [0]
    addr[1c70954] = [0]
    addr[1c70958] = [0]
    addr[1c7095c] = [0]
    addr[1c70960] = [0]
    addr[1c70964] = [0]
    addr[1c70968] = [0]
    addr[1c7096c] = [0]
    addr[1c70970] = [0]
    addr[1c70974] = [0]
    addr[1c70978] = [0]
    addr[1c7097c] = [0]
    addr[1c70980] = [0]
    addr[1c70984] = [0]
    addr[1c70988] = [0]
    addr[1c7098c] = [0]
    addr[1c70990] = [0]
    addr[1c70994] = [0]
    addr[1c70998] = [0]
    addr[1c7099c] = [0]
    addr[1c709a0] = [0]
    addr[1c709a4] = [0]
    addr[1c709a8] = [0]
    addr[1c709ac] = [0]
    addr[1c709b0] = [0]
    addr[1c709b4] = [0]
    addr[1c709b8] = [0]
    addr[1c709bc] = [0]
    addr[1c709c0] = [0]
    addr[1c709c4] = [0]
    addr[1c709c8] = [0]
    addr[1c709cc] = [0]
    addr[1c709d0] = [0]
    addr[1c709d4] = [0]
    addr[1c709d8] = [0]
    addr[1c709dc] = [0]
    addr[1c709e0] = [200]
    addr[1c709e4] = [200]
    addr[1c709e8] = [200]
    addr[1c709ec] = [200]
    addr[1c709f0] = [0]
    addr[1c709f4] = [0]
    addr[1c709f8] = [0]
    addr[1c709fc] = [0]
    addr[1c70a00] = [0]
    addr[1c70a04] = [0]
    addr[1c70a08] = [0]
    addr[1c70a0c] = [0]
    addr[1c70a10] = [0]
    addr[1c70a14] = [0]
    addr[1c70a18] = [0]
    addr[1c70a1c] = [0]
    addr[1c70a20] = [0]
    addr[1c70a24] = [0]
    addr[1c70a28] = [0]
    addr[1c70a2c] = [100]
    addr[1c70a30] = [0]
    addr[1c70a34] = [0]
    addr[1c70a38] = [0]
    addr[1c70a3c] = [100]
    addr[1c70a40] = [0]
    addr[1c70a44] = [0]
    addr[1c70a48] = [0]
    addr[1c70a4c] = [100]
    addr[1c70a50] = [0]
    addr[1c70a54] = [0]
    addr[1c70a58] = [0]
    addr[1c70a5c] = [67]
    addr[1c70a60] = [100]
    addr[1c70a64] = [0]
    addr[1c70a68] = [0]
    addr[1c70a6c] = [0]
    addr[1c70a70] = [100]
    addr[1c70a74] = [0]
    addr[1c70a78] = [0]
    addr[1c70a7c] = [0]
    addr[1c70a80] = [100]
    addr[1c70a84] = [0]
    addr[1c70a88] = [0]
    addr[1c70a8c] = [0]
    addr[1c70a90] = [0]
    addr[1c70a94] = [10]
    addr[1c70a98] = [4d]
    addr[1c70a9c] = [96]
    addr[1c70aa0] = [1d]
    addr[1c70aa4] = [fd5]
    addr[1c70aa8] = [fab]
    addr[1c70aac] = [80]
    addr[1c70ab0] = [80]
    addr[1c70ab4] = [f95]
    addr[1c70ab8] = [feb]
    addr[1c70abc] = [0]
    addr[1c70ac0] = [80]
    addr[1c70ac4] = [80]
    addr[1c70ac8] = [0]
    addr[1c70acc] = [0]
    addr[1c70ad0] = [0]
    addr[1c70ad4] = [0]
    addr[1c70ad8] = [0]
    addr[1c70adc] = [0]
    addr[1c70ae0] = [0]
    addr[1c70ae4] = [0]
    addr[1c70ae8] = [0]
    addr[1c70aec] = [0]
    addr[1c70af0] = [0]
    addr[1c70af4] = [0]
    addr[1c70af8] = [0]
    addr[1c70afc] = [0]

    Our driver are modified from LSP driver, and I change VPFE register setting to fit current cmos sensor.

  • Hello Clark, how did you get this values?

  • I read from the registers directlly.

  • Hi Anshuman,

    What's the value of ONESHOT bit in one shot mode?

    We found that the if I set '0' to the bit, IPIPE entered one shot mode, and '1' to continous mode, just on the contrary of the datasheet sprufg8b.pdf. How could this happen?

  • Clark Wang said:
    I read from the registers directlly.

    Where can I found source this programm?

     

  • Hi Clark,

    The documentation for ONESHOT bit in MODE register for IPIPE/RSZ is correct. Why do you think setting "1" is taking it to continuous mode?

    The registers look ok from IPIPE and RSZ point of view. Can you check if you are able to capture raw data on DDR directly from ISIF? For this you would have to configure the capture driver in single-shot mode.

    Regards,

    Anshuman

  • I don't have the source, you can use this MOCRO:

    #define MemoryRead(A) (*(volatile int*)(A))
    #define MemoryWrite(A,V) *(volatile int*)(A)=(V)

  • Hi Anshuman,

    I could get full pics continously now, but the ONESHOT bit was '1', can you give me an example list of register values for IPIPE and ISIF?

    Now the image path should be IPIPEIF->ISIF->IPIPE->DDR, and ONESHOT bit set to '1'.