Hi all,
We used a ov5640_mipi sensor and connect with mipi-csi interface as is same to imx6dl sabresd reference board.
I just comment out the parrellel 0v5642 from device tree. and move the ov5640 from i2c2 to i2c1. we used i2c1. Other settings are reused the reference design with yocto imx-4.1-krogoth release.
...
ov564x_mipi: ov564x_mipi@3c { /* i2c1 driver */
compatible = "ovti,ov564x_mipi";
reg = <0x3c>;
clocks = <&clks 201>;
clock-names = "csi_mclk";
DOVDD-supply = <&vgen4_reg>; /* 1.8v */
AVDD-supply = <&vgen3_reg>; /* 2.8v, rev C board is VGEN3
rev B board is VGEN5 */
DVDD-supply = <&vgen2_reg>; /* 1.5v*/
pwn-gpios = <&gpio6 0 1>; /* active low: SD1_CLK */
rst-gpios = <&gpio6 1 0>; /* active high: SD1_DAT2 */
csi_id = <1>;
mclk = <24000000>;
mclk_source = <0>;
};
I see the log shows ov564x_mipi is probed, and the clk 24M is readback from DT, but when I use the scope to check the mclk pin, there is no clk here.
What configuration I am lost and any comments on how to check?
Thanks!
Wenming
Hello Wenning,
You settings are no problem, but you should notice that on SabreSD board based on i.mx6dl, 24MHz MCLK was routed through GPIO_0 PAD, so it's IOMUX was degined as :
imx6qdl-sabresd {
pinctrl_hog: hoggrp {
fsl,pins = <
...
MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0
...
>;
};
...
}
So please check your schematic, which PAD was used to output 24MHz clock for MCLK of OV5640!
Have a great day,
TIC Weidong Sun
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Wigros,
Thanks for your quick response.
The schematic we used is below: The MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0 is actived in my DT settings.
Is there any internal connection or settings I need to check with imx6RM document?
Best regards!
Wenming