I use forlinx imx8MP OKMX8MP-C.
I change dts i2c2 part ov5645 to :
&i2c2 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c2>;
status = "okay";
jh1mp_0: jh1mp_mipi1@32 {
compatible = "ti,jh1mp";
reg = <0x32>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_csi0_pwn>, <&pinctrl_csi0_rst>;
clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;
clock-names = "xclk";
assigned-clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;
assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_200M>;
assigned-clock-rates = <20000000>;
csi_id = <0>;
enable-gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>;
clock-frequency = <20000000>;
mclk = <20000000>;
mclk_source = <0>;
mipi_csi;
virtual-channel;
status = "okay";
port {
jh1mp_mipi_0_ep: endpoint {
remote-endpoint = <&mipi_csi0_ep>;
data-lanes = <1 2 3 4>;
clock-lanes = <0>;
link-frequencies = /bits/ 64 <336000000>;
};
};
};
};