Warning to those expecting ov5645 camera on Dragonboard410


#1

After digging through all the specifications and obtaining the NDA’d data sheet for the ov5645 camera I have determined that the Dragonboard 410 and the ov5645 are incompatible. due to MIPI CSI signalling voltage mismatches

It looks like the kernel developers are developing on the Variscite DART-SD410 using the VAR-EXT-CB410 camera board.

This camera board has a IO Voltage for the MIPI interface of 1.8V

The Dragonboard 410, as per the 96boards CE specification has a 1.2V MIPI reference voltage. (LDO2 on the PM8916)

The ov5645 camera sensor, supports 1.8V VDD IO voltages and does not support 1.2V signalling voltages.

Those expecting ov5645 support on any mezzanine boards supporting 96boards CE specification will be disappointed. as it is very difficult to level translate at MIPI speeds.

Sorry to be the bearer of bad news. This is another reason why NDA’s and tightly held specifications are a bad idea.

I’m surprised I am the first to publicly announce this.


#2

Thanks for your information.

Could the 96boards team make and keep updated a list of known compatible 1.2v MIPI devices, i.e. a super wiki table with device and datasheet link, probably a DEFINITELY/should do/unknown (for similar chipsets) column? With suggestion of pull request for user additions…

Think we’d all win with that one!


#3

Hey, is it really the end of the world? There must be a voltage translator that can handle this.


#4

Hi @VTXTech:

MIPI signals do NOT operate ‘rail-to-rail’ like regular logic, a MIPI signal is a differential signal (hence the data is always sent over a pair of wires), and the differential signal level is only 100mV peak-to-peak. the Drivers (and receivers) can easily generate a 100mV signal from either a 1.2V supply, or from a 1.8V supply. Just because the IO voltages are different does not mean that the signals are incompatible. The MIPI signals DO NOT need level translation.

I can also assure you that the OV5645 camera is already working with the 410c without any MIPI level translators. (Technically there are level translators on the I2C signals, but those are trivial to translate).

Full Disclosure, I am an employee of Qualcomm Canada, any opinions I may have expressed may not reflect the opinions of my employer.


#5

Thanks ljking for your answer!
Answer definitely helps us out!


#6

Thanks ljking,

Upon further reading this may be feasible, Again I don’t know how the 96boards foundation could expect that a “maker” could pay $8000 USD for a MIPI Alliance “Adopter” membership to actually get the MIPI CSI spec.

The NVIDIA Tegra dev kit reference below leaks some of the MIPI length match specifications, if you convert ps to length http://developer.download.nvidia.com/embedded/jetson/TK1/docs/3_HWDesignDev/TegraK1_Embedded_DG_v03.pdf

This is assuming you can get the ov5645 data sheet, which despite efforts OmniVision has been reluctant to provide. Lucky for me chinese vendors are not as tight with their NDA’s.

All up, without these key elements it’s going to be very difficult for a company of less than 250 million to implement MIPI interfaces on a mezzanine board, this is probably why we haven’t seen any camera interface boards yet and is something 96boards and linaro will need to think about if they want widespread support for this platform.

I won’t venture into the debate around closed source ISP binary blobs.

Thanks again


#7

Hi @VXTech

FYI - I have now published a guideline on how to design a MIPI camera module for use with 96Boards, it is available here: https://developer.qualcomm.com/download/db410c/creating-camera-mezzanine-and-camera-flex-circuit-dragonboard.pdf

Full Disclosure, I am an employee of Qualcomm Canada, any opinions I may have expressed may not reflect the opinions of my employer.


#8

Thanks ljking. I have just sent my mezzanine board off to fab. I am using the Kai lap module. I put powersupplies on for 2.8 and 1.5 but planned to use the 1.8 from the dragon board. This was an bit of a risk as the datasheet for the ov5645 didn’t have any power consumption figures. This was inline with what the variscite board looked like it was doing. I matched the differential pair specs to the Nvidia datasheet which appear the same as yours. I’ll let you know when it works. Thanks again