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.

The ISP Vdint interupt on DM8127 IPNC

Hi,all

We are using DM8127 IPNC to develop a snapshot camera,and I want to config the dm8127 isp to invoke 2 interrupts while receive a frame, that means I want to invoke the vdint1 on the middle of the frame, and invoke the vdint0 at the end of the frame.

I checked the DM8127 IPNC source code,and find the following code in the Iss_captCreate function:

tCallbackRegCfg.eInterruptId = MSP_ISS_DRV_ISIF_VD_ISR;
eMSP = MSP_ISP_config(gIss_captCommonObj.pModuleInstance->hIspHandle,
(MSP_INDEXTYPE) MSP_ISP_CFG_REG_CALLBACK,&tCallbackRegCfg);

isif_reg->VDINT0 = isif_reg->VDINT1 = isif_reg->VDINT2 = pObj->createArgs.scParams[0].inHeight - 5;
*(MSP_U32 *) (0x5505002C) |= 1; // isp IRQ set register

In the code,we can see all the three interrupts(vdint0,vdint1,vdint2) have been configed,buf only the vdint0 is enabled,this should be the function of the 0x5505002C register.

so I want to konw if i want to enable vdint1 interrupt, how can I write the 0x5505002C register? I can't find the detailed description of the register.

Thank you very much!

  • Which ipnc release you are using? it looks like it is old release.

     

    0x5505002C is interrupt enable register, add below two lines to enabled vdint1 on the middle of the frame

    isif_reg->VDINT1 pObj->createArgs.scParams[0].inHeight/2
    *(MSP_U32 *) (0x5505002C) |= 2; // isp IRQ set register

     

    Regards,

    Brijesh

  • OK,Thank you very much for your kindly reply!

    My ipnc release is V3.5.

    The next question is: if I enable the vdint0 and vdint1 interrupt at the same time,how can I know the interrupt is invoked by vdint0 or vdint1? From the ipnc code, I can see when the interrupt happens, the two interrupt will both callback the isp_isif_linenum_handle function, but I don't know which interrupt happens.Is there any interrupt status register?

    Thank you!

  • Hi,

     

    In this callback, you can get the id of the event, you could identify the even by that id. The id for this even should be something like VD_INT0/1.

     

    Regards,

    Brijesh

  • Pavel,

    You can also use the VDINT interrupt for the middle frame and RSZ-DMA-END interrupt for end of frame. Both are implemented and in use in the latest IPNC RDK release.

    Regards

    Rajat