in I.MX8MQuad , as a Mipi CSI2 driver , we use fsl,mxc-mipi-csi2_yav ( mxc-mipi-csi2_yav.c )
This Mipi-CSI2 driver is used for OV5640 camera.
but, in I.MX8M mini , to connect Sony IMX219 Camera sensor , they used fsl,imx8mm-mipi-csi driver ( drivers/media/platform/mxc/capture/mxc_mipi_csi.c )
How can use fsl,imx8mm-mipi-csi as a I.MX8MQuad Mipi CSI2 driver?
==== fsl,imx8mm-mipi-csi in IMX8M mini =====
mipi_csi_1: mipi_csi@32e30000 {
compatible = "fsl,imx8mm-mipi-csi";
reg = <0x32e30000 0x1000>;
interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
clock-frequency = <333000000>;
clocks = <&clk IMX8MM_CLK_CSI1_CORE>,
<&clk IMX8MM_CLK_CSI1_PHY_REF>,
<&clk IMX8MM_CLK_DISP_AXI_ROOT>,
<&clk IMX8MM_CLK_DISP_APB_ROOT>;
clock-names = "mipi_clk", "phy_clk", "disp_axi", "disp_apb";
bus-width = <4>;
power-domains = <&mipi_pd>;
status = "disabled";
};
===== fsl,mxc-mipi-csi2_yav in I.MX8MQ =========
mipi_csi_1: mipi_csi1@30a70000 {
compatible = "fsl,mxc-mipi-csi2_yav";
reg = <0x30a70000 0x1000>;
interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk IMX8MQ_CLK_CSI1_CORE>,
<&clk IMX8MQ_CLK_CSI1_ESC>,
<&clk IMX8MQ_CLK_CSI1_PHY_REF>;
clock-names = "clk_core", "clk_esc", "clk_pxl";
assigned-clocks = <&clk IMX8MQ_CLK_CSI1_CORE>,
<&clk IMX8MQ_CLK_CSI1_PHY_REF>,
<&clk IMX8MQ_CLK_CSI1_ESC>;
#ifdef PIXEL_RAW // sony
assigned-clock-rates = <133000000>, <100000000>, <66000000>;
#else
assigned-clock-rates = <266000000>, <150000000>, <66000000>;
#endif
/*
assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_266M>,
<&clk IMX8MQ_SYS2_PLL_1000M>,
<&clk IMX8MQ_SYS1_PLL_800M>;
*/
power-domains = <&pgc_mipi_csi1>;
csis-phy-reset = <&src 0x4c 7>;
phy-gpr = <&iomuxc_gpr 0x88>;
status = "disabled";
};