.analog_regulator = "DA9052_LDO7",
.core_regulator = "DA9052_LDO9",
.mclk = 24000000,
+ .mclk_source = 0,
.csi = 0,
.io_init = mx6_csi0_io_init,
};
mxc_iomux_v3_setup_multiple_pads(mipi_sensor_pads,
mipi_sensor_pads_cnt);
- if (cpu_is_mx6q())
- mxc_iomux_set_gpr_register(1, 19, 1, 0);
+ /*for mx6dl, mipi virtual channel 1 connect to csi 1*/
if (cpu_is_mx6dl())
- mxc_iomux_set_gpr_register(13, 0, 3, 0);
+ mxc_iomux_set_gpr_register(13, 3, 3, 1);
}
static struct fsl_mxc_camera_platform_data ov5640_mipi_data = {
.mclk = 24000000,
- .csi = 0,
+ .csi = 1,
+ .mclk_source = 0,
.io_init = mx6_mipi_sensor_io_init,
};
.pixel_clk = "emi_clk",
};
+static struct fsl_mxc_capture_platform_data capture_data[] = {
+ {
+ .csi = 0,
+ .ipu = 0,
+ .mclk_source = 0,
+ .is_mipi = 0,
+ }, {
+ .csi = 1,
+ .ipu = 0,
+ .mclk_source = 0,
+ .is_mipi = 1,
+ },
+};
+
+
static void arm2_suspend_enter(void)
{
/* suspend preparation */
imx6q_add_lcdif(&lcdif_data);
imx6q_add_ldb(&ldb_data);
imx6q_add_v4l2_output(0);
- imx6q_add_v4l2_capture(0);
+ imx6q_add_v4l2_capture(0, &capture_data[0]);
+ imx6q_add_v4l2_capture(1, &capture_data[1]);
imx6q_add_imx_snvs_rtc();
.spdif_clk = NULL, /* spdif bus clk */
};
+static struct fsl_mxc_capture_platform_data capture_data[] = {
+ {
+ .csi = 0,
+ .ipu = 0,
+ .mclk_source = 0,
+ .is_mipi = 0,
+ }, {
+ .csi = 1,
+ .ipu = 0,
+ .mclk_source = 0,
+ .is_mipi = 1,
+ },
+};
+
+
/*!
* Board specific initialization.
*/
imx6q_add_lcdif(&lcdif_data);
imx6q_add_ldb(&ldb_data);
imx6q_add_v4l2_output(0);
- imx6q_add_v4l2_capture(0);
+ imx6q_add_v4l2_capture(0, &capture_data[0]);
+ imx6q_add_v4l2_capture(1, &capture_data[1]);
imx6q_add_android_device_buttons();
imx6q_add_imx_snvs_rtc();
static struct fsl_mxc_camera_platform_data camera_data = {
.mclk = 24000000,
+ .mclk_source = 0,
.csi = 0,
.io_init = mx6q_csi0_io_init,
};
},
};
+static struct fsl_mxc_capture_platform_data capture_data[] = {
+ {
+ .csi = 0,
+ .ipu = 0,
+ .mclk_source = 0,
+ .is_mipi = 0,
+ }, {
+ .csi = 1,
+ .ipu = 0,
+ .mclk_source = 0,
+ .is_mipi = 1,
+ },
+};
+
+
static void sabrelite_suspend_enter(void)
{
/* suspend preparation */
imx6q_add_lcdif(&lcdif_data);
imx6q_add_ldb(&ldb_data);
imx6q_add_v4l2_output(0);
- imx6q_add_v4l2_capture(0);
+ imx6q_add_v4l2_capture(0, &capture_data[0]);
+ imx6q_add_v4l2_capture(1, &capture_data[1]);
imx6q_add_mipi_csi2(&mipi_csi2_pdata);
imx6q_add_imx_snvs_rtc();
static struct fsl_mxc_camera_platform_data camera_data = {
.mclk = 22000000,
+ .mclk_source = 0,
.csi = 0,
.io_init = mx6q_csi0_io_init,
.pwdn = mx6q_csi0_cam_powerdown,
msleep(1);
gpio_set_value(SABRESD_MIPICSI_PWN, 0);
- if (cpu_is_mx6q())
- mxc_iomux_set_gpr_register(1, 19, 1, 0);
- if (cpu_is_mx6dl()) {
- mxc_iomux_set_gpr_register(13, 0, 3, 0);
- }
+ /*for mx6dl, mipi virtual channel 1 connect to csi 1*/
+ if (cpu_is_mx6dl())
+ mxc_iomux_set_gpr_register(13, 3, 3, 1);
}
static struct fsl_mxc_camera_platform_data mipi_csi2_data = {
.mclk = 24000000,
- .csi = 0,
+ .mclk_source = 0,
+ .csi = 1,
.io_init = mx6q_mipi_sensor_io_init,
.pwdn = mx6q_mipi_powerdown,
};
},
};
+static struct fsl_mxc_capture_platform_data capture_data[] = {
+ {
+ .csi = 0,
+ .ipu = 0,
+ .mclk_source = 0,
+ .is_mipi = 0,
+ }, {
+ .csi = 1,
+ .ipu = 0,
+ .mclk_source = 0,
+ .is_mipi = 1,
+ },
+};
+
+
static void sabresd_suspend_enter(void)
{
/* suspend preparation */
static struct mipi_csi2_platform_data mipi_csi2_pdata = {
.ipu_id = 0,
- .csi_id = 0,
+ .csi_id = 1,
.v_channel = 0,
.lanes = 2,
.dphy_clk = "mipi_pllref_clk",
imx6q_add_lcdif(&lcdif_data);
imx6q_add_ldb(&ldb_data);
imx6q_add_v4l2_output(0);
- imx6q_add_v4l2_capture(0);
+ imx6q_add_v4l2_capture(0, &capture_data[0]);
+ imx6q_add_v4l2_capture(1, &capture_data[1]);
imx6q_add_mipi_csi2(&mipi_csi2_pdata);
imx6q_add_imx_snvs_rtc();
platform_device_register_resndata(NULL, "mxc_v4l2_output",\
id, NULL, 0, NULL, 0);
-#define imx6q_add_v4l2_capture(id) \
+#define imx6q_add_v4l2_capture(id, pdata) \
platform_device_register_resndata(NULL, "mxc_v4l2_capture",\
- id, NULL, 0, NULL, 0);
+ id, NULL, 0, pdata, sizeof(*pdata));
extern const struct imx_mxc_hdmi_data imx6q_mxc_hdmi_data __initconst;
#define imx6q_add_mxc_hdmi(pdata) \