Hi everybody,
am having a similar problem described in this thread.
I am trying to capture some data from a decoder connected to an imx6 quad board through 1 data lane connection.
The connection is through IPU 0, CSI 1.
The relevant structures are:
static struct fsl_mxc_camera_platform_data mipi_csi2_data = {
.mclk = 108000000,
.mclk_source = 0,
.csi = 1,
.io_init = mx6q_dec_init,
.pwdn = NULL,
};
static struct mipi_csi2_platform_data mipi_csi2_pdata = {
.ipu_id = 0,
.csi_id = 1,
.v_channel = 1,
.lanes = 1,
.init = mx6q_dec_init,
.dphy_clk = "mipi_pllref_clk",
.pixel_clk = "emi_clk",
};
static struct fsl_mxc_capture_platform_data capture_data[] = {
{
.csi = 1,
.ipu = 1,
.mclk_source = 0,
.is_mipi = 0,
},
{
.csi = 1,
.ipu = 0,
.mclk_source = 0,
.is_mipi = 1,
},
};
The problem I am having is:
MIPI_CSI_PHY_STATE register has the value 0x210 ; so the phy_rxclkactivehs is always 0.
The clock that is output from the decoder to the imx module is 108 MHz. I found references in this forum stating that: the MIPI DPHY clock should match the camera sensor clock.
So, I should be setting the CSI2_PHY_TST_CTRL1 register like:
mipi_csi2_write(info, 0x00000040, CSI2_PHY_TST_CTRL1);
But still the phy_rxclkactivehs bit is never set.
Any ideas?
Thank you