I'm trying to capture image data from the MIPI output of an ov7692 VGA camera. We're using an OMAP3530 and linux 2.6.32 from logicPD, and I'm following the structure that I found in board-zoom2-camera for supporting the IMX046. The registers seem to be set up correctly, but all my IRQSTATUS are stubbornly 0x0.
I am seeing is that the CSI2_SYSCONFIG.RESET_DONE bit is not getting set. The existing driver (isp.c) is looking instead at CSI2PHY_CFG1.RESETDONECSI2_96M_FCLK, which is getting set for me as well, but the RESETDONEBYTECLK never does, nor does the CSI2_SYSCONFIG.RESET_DONE. I’ve tried the global reset procedures in TRM sec 12.5.3.3 and the PHY reset in TRM sec 12.5.1.1, but end up with the same result.
I don't have a MIPI spec available. Is there some sort of remote side setup that the PHY is waiting for?
# cat /proc/isp/CSI2PHY
phys: 480BD970 mapped: FA0BD970 Size 8
480bd970:00000012 C002E10E (No resets done)
# cat /proc/isp/CSI2A
phys: 480BD800 mapped: FA0BD800 Size 368
480bd800:00000010 00000000 00000000 00000000
480bd810:00001001 00000001 00000000 00007F01 I force no-standby, Sysstatus.reset_done=1, ERR IRQs and CTX0 on, but nothing
480bd820:00000000 00000000 00000000 00000000
480bd830:00000000 00000000 00000000 00000000
480bd840:00008905 00000000 0000000B 00000000 sending out the VP, and enabled. Yep, 8 contexts.
480bd850:0B000021 00000000 00000000 00000000 power on, status on, but no reset done, and no IRQs
480bd860:07FFFFFF 00000000 00000000 7FFFE1FF show me all the complexio irqs, Force RX is on, and counter stays at reset?
480bd870:000100A9 0000009E 00000000 00000000 FEC is 1, no ping-pong, since VP only. Want EOF and CS, CTX0 is on, and wants YUV-VP
480bd880:00000000 00000003 00000000 00000000 I asked for FS and FE IQRs too, but nothing.
480bd890:00010008 00000000 00000000 00000000
480bd8a0:00000000 00000003 00000000 00000000
480bd8b0:00010008 00000000 00000000 00000000
480bd8c0:00000000 00000003 00000000 00000000
480bd8d0:00010008 00000000 00000000 00000000
480bd8e0:00000000 00000003 00000000 00000000
480bd8f0:00010008 00000000 00000000 00000000
480bd900:00000000 00000003 00000000 00000000
480bd910:00010008 00000000 00000000 00000000
480bd920:00000000 00000003 00000000 00000000
480bd930:00010008 00000000 00000000 00000000
480bd940:00000000 00000003 00000000 00000000
480bd950:00010008 00000000 00000000 00000000
480bd960:00000000 00000003 00000000 00000000
# cat /proc/isp/CCDC
phys: 480BC600 mapped: FA0BC600 Size 168
480bc600:0001FE01 00000001 00031724 00000000 W+VDHD Enabled
480bc610:00000000 0000027F 00000000 000001DF
480bc620:FFFF00FF 00000500 00000000 00001000 iommu address is correct
480bc630:00000010 00000000 00000000 00000000
480bc640:00000000 00000000 01DE0064 00000004
480bc650:00000000 00008100 00004000 00000000
480bc660:00000000 00000000 00000000 00000000
480bc670:00000000 00000000 00000000 00000000
480bc680:00000000 00000000 00000000 00000000
480bc690:00000000 00000000 00006600 00000000
480bc6a0:00000000 00000000
# cat /proc/isp/MAIN
phys: 480BC000 mapped: FA0BC000 Size 112
480bc000:00000020 00001000 00000001 80083311 CSI2_IRQ is on
480bc010:00000000 00000000 00000000 00000000
480bc020:00000000 00000000 00000000 00000000
480bc030:00000000 00000000 00000000 00000000
480bc040:0029C101 00000000 00000000 00000000 CSIA is selected as bridge input
480bc050:00000009 00000000 00000000 00000000
480bc060:00000000 00000000 00000000 00000000
I can see clock and data with an oscilliscope, but I can't get