I am validating ov5640 camera in Debian 12 for imx8mp .
&i2c3 { /* MIPI_CSI0: OV5640 Camera */
ov5640_0: ov5640_mipi@3c {
compatible = "ovti,ov5640";
reg = <0x3c>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_csi0_rst>, <&pinctrl_csi_mclk>;
clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO1>;
clock-names = "xclk";
assigned-clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO1>;
assigned-clock-parents = <&clk IMX8MP_CLK_24M>;
assigned-clock-rates = <24000000>;
csi_id = <0>;
reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
mclk = <24000000>;
mclk_source = <0>;
mipi_csi;
status = "okay";
port {
ov5640_mipi_0_ep: endpoint {
remote-endpoint = <&mipi_csi0_ep>;
data-lanes = <1 2>;
clock-lanes = <0>;
};
};
};
};
&i2c2 {
sgtl5000_codec: sgtl5000@a { /* SGTL5000: Audio Codec */
compatible = "fsl,sgtl5000";
reg = <0xa>;
#sound-dai-cells = <0>;
clocks = <&audioclk>;
VDDA-supply = <®_1p8v>;
VDDIO-supply = <®_1p8v>;
VDDD-supply = <®_1p5v>;
status = "okay";
};
ov5640_1: ov5640_mipi@3c {
compatible = "ovti,ov5640";
reg = <0x3c>;
clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO1>;
clock-names = "xclk";
assigned-clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO1>;
assigned-clock-parents = <&clk IMX8MP_CLK_24M>;
assigned-clock-rates = <24000000>;
csi_id = <0>;
mclk = <24000000>;
mclk_source = <0>;
mipi_csi;
status = "okay";
port {
ov5640_mipi_1_ep: endpoint {
remote-endpoint = <&mipi_csi1_ep>;
data-lanes = <1 2>;
clock-lanes = <0>;
};
};
};
};
i have added the dts nodes
in my debug terminal below prints are observed
root@unknown:~# dmesg | grep "csi"
[ 0.064823] platform 32e40000.csi: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a40000/ov5640_mipi@3c
[ 0.065165] platform 32e50000.csi: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a30000/ov5640_mipi@3c
[ 1.996245] mxc-mipi-csi2-sam 32e40000.csi: supply mipi-phy not found, using dummy regulator
[ 2.005128] : mipi_csis_imx8mp_phy_reset, No remote pad found!
[ 2.017646] mxc-mipi-csi2-sam 32e40000.csi: lanes: 2, hs_settle: 13, clk_settle: 2, wclk: 1, freq: 500000000
[ 2.027763] mxc-mipi-csi2-sam 32e50000.csi: supply mipi-phy not found, using dummy regulator
[ 2.036544] : mipi_csis_imx8mp_phy_reset, No remote pad found!
[ 2.042435] mxc-mipi-csi2-sam 32e50000.csi: lanes: 2, hs_settle: 13, clk_settle: 2, wclk: 1, freq: 266000000
root@unknown:~# dmesg | grep "ov56"
[ 0.064823] platform 32e40000.csi: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a40000/ov5640_mipi@3c
[ 0.065165] platform 32e50000.csi: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a30000/ov5640_mipi@3c
[ 2.474968] ov5640 1-003c: supply DOVDD not found, using dummy regulator
[ 2.481826] ov5640 1-003c: supply AVDD not found, using dummy regulator
[ 2.488491] ov5640 1-003c: supply DVDD not found, using dummy regulator
[ 2.495702] ov5640 1-003c: ov5640_write_reg: error: reg=3008, val=82
[ 2.528236] ov5640 1-003c: ov5640_read_reg: error: reg=300a
[ 2.533833] ov5640 1-003c: ov5640_check_chip_id: failed to read chip identifier
[ 2.548572] ov5640 2-003c: supply DOVDD not found, using dummy regulator
[ 2.555433] ov5640 2-003c: supply AVDD not found, using dummy regulator
[ 2.562095] ov5640 2-003c: supply DVDD not found, using dummy regulator
[ 2.569525] ov5640 2-003c: ov5640_write_reg: error: reg=3008, val=82
[ 2.602054] ov5640 2-003c: ov5640_read_reg: error: reg=300a
[ 2.607645] ov5640 2-003c: ov5640_check_chip_id: failed to read chip identifier
root@unknown:~#
even in the i2c the camera slave is not detecting