I am in the process of porting the face detect driver included in the DVSDK 2.10 for the DM365 device to the DVSDK 4.02. When I run my sample application which uses the face detect driver (and worked with the 2.10 DVSDK), the face detect interrupt fails to fire. My guess is that I have something improperly configured for the VPSS interrupt and I was hoping someone could look over my configuration registers to ensure everything is set up properly.
I am copying all of the registers that I think are relevant, but please let me know if you need to see additional registers and I will provide values. All register snapshots are taken right before I set the “run” bit in the face detect control register.
EINT0 = [0x04831168]
PCCR = [0x0000007f]
INTSEL1 = [0x0b1f0000]
INTSEL2 = [0x1f0a1300]
INTSEL3 = [0x00000015]
FDIF_INTEN = [0x00000001]
FDIF_PICADDR = [0x00000000]
FDIF_WKADDR = [0x00012c00]
FD_CTRL = [0x00000001]
FD_DNUM = [0x00000000]
FD_DCOND = [0x00000000]
FD_STARTX = [0x00000000]
FD_STARTY = [0x00000000]
FD_SIZEX = [0x00000140]
FD_SIZEY = [0x000000F0]
FD_LHIT = [0x00000004]
A couple of other notes:
- The face detect datasheet states that the SIZE_Y register must be initialized to 192, but the old face detect driver which worked with the MontaVista kernel used 240. Is there an error in the datasheet because the 240 worked on the old MontaVista kernel.
- After I start my facedetect user space application, I can 'cat /proc/interrupts' and my interrupt is listed as registered with the kernel.