AnsweredAssumed Answered

ADV7280M (MIPI) with i.MX6DQ

Question asked by oliverg on Mar 14, 2017
Latest reply on Jun 18, 2017 by Jason Gaiser

I am working on a custom board with linux-fslc 3.14 and am having trouble receiving a data stream from the adv7280m.


I have a hardware mux which switches the CSI pins to an ov5640 MIPI camera - in this case everything works fine. For the adv7280m, I have a simple driver based on ov5640_mipi.c and from the script file ADV7280M_Cust-VER.4.1.txt from ADV7280 / ADV7280-M Design Support Files | EngineerZone. I'm using the script titled "Color Bars 576p MIPI Out".


As with the ov5640_mipi driver, I'm using IPU0-CSI1 and virtual channel 1. These are currently hard-coded in my driver, and the only change I've made to the commands suggested by the Analog Devices script is to set virtual channel 1 (write 0x04 to register 0x0D in the CSI map)


When running v4ltest from userspace, no frames are received. It looks like we never get an end-of-frame interrupt.


I'm following the debug steps posted here: Debug steps for customer MIPI sensor.docx. I see 0 in both MIPI_CSI_ERR registers, but instead of 0x330 in MIPI_CSI_PHY_STATE I see 0x300. Given that the ADV7280M uses only 1 MIPI lane instead of 2, I expected to see 0x310. Do I need "Data Lane 0 in Stop State"? In any case, how can I debug this further?


Thanks for any advice!