<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX ProcessorsのトピックRe: i.MX535 - CSI0 parallel interface for Camera OV7675</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/i-MX535-CSI0-parallel-interface-for-Camera-OV7675/m-p/291489#M35410</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For your question 1.&amp;nbsp; Changing the IOMUX PAD configuration should be more than enough to do the trick, where are you modifing the PAD?, there is something like &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;arch/arm/mach-mx6/board-mx6q_sabrelite.c,&amp;nbsp; but for the i.MX53 QSB&amp;nbsp; board where it is located all the PADs configurations. You are going to find an structure :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;static struct fsl_mxc_capture_platform_data capture_data[] = {&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; .csi = 0,&lt;BR /&gt;&amp;nbsp; .ipu = 0,&lt;BR /&gt;&amp;nbsp; .mclk_source = 0,&lt;BR /&gt;&amp;nbsp; .is_mipi = 0,&lt;BR /&gt;}, {&lt;BR /&gt;&amp;nbsp; .csi = 1,&lt;BR /&gt;&amp;nbsp; .ipu = 0,&lt;BR /&gt;&amp;nbsp; .mclk_source = 0,&lt;BR /&gt;&amp;nbsp; .is_mipi = 1,&lt;BR /&gt;}, {&lt;BR /&gt;&amp;nbsp; .csi = 1,&lt;BR /&gt;&amp;nbsp; .ipu = 1,&lt;BR /&gt;&amp;nbsp; .mclk_source = 0,&lt;BR /&gt;&amp;nbsp; .is_mipi = 0,&lt;BR /&gt;},&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;static struct mipi_csi2_platform_data mipi_csi2_pdata = {&lt;BR /&gt;.ipu_id&amp;nbsp; = 0,&lt;BR /&gt;.csi_id = 1,&lt;BR /&gt;.v_channel = 0,&lt;BR /&gt;.lanes = 2,&lt;BR /&gt;.dphy_clk = "mipi_pllref_clk",&lt;BR /&gt;.pixel_clk = "emi_clk",&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;static struct fsl_mxc_camera_platform_data mipi_csi2_data = {&lt;BR /&gt;.mclk = 24000000,&lt;BR /&gt;.mclk_source = 0,&lt;BR /&gt;.csi = 1,&lt;BR /&gt;.io_init = mx6q_mipi_sensor_io_init,&lt;BR /&gt;.pwdn = mx6q_mipi_powerdown,&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;static struct fsl_mxc_camera_platform_data camera_data = {&lt;BR /&gt;.mclk = 24000000,&lt;BR /&gt;.mclk_source = 0,&lt;BR /&gt;.csi = 0,&lt;BR /&gt;.io_init = mx6q_csi0_io_init,&lt;BR /&gt;.pwdn = mx6q_csi0_cam_powerdown,&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;static struct fsl_mxc_camera_platform_data camera2_data = {&lt;BR /&gt;.mclk = 24000000,&lt;BR /&gt;.mclk_source = 0,&lt;BR /&gt;.csi = 1,&lt;BR /&gt;.io_init = mx6q_csi1_io_init,&lt;BR /&gt;.pwdn = mx6q_csi1_cam_powerdown,&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;static struct i2c_board_info mxc_i2c0_board_info[] __initdata = {&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; I2C_BOARD_INFO("ov564x", 0x3c),&lt;BR /&gt;&amp;nbsp; .platform_data = (void *)&amp;amp;camera_data,&lt;BR /&gt;},&lt;BR /&gt;};&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;static struct i2c_board_info mxc_i2c1_board_info[] __initdata = {&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; I2C_BOARD_INFO("ov5640_mipi", 0x3c),&lt;BR /&gt;&amp;nbsp; .platform_data = (void *)&amp;amp;mipi_csi2_data,&lt;BR /&gt;},&lt;BR /&gt;};&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;static struct i2c_board_info mxc_i2c2_board_info[] __initdata = {&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; I2C_BOARD_INFO("ov564x", 0x3c),&lt;BR /&gt;&amp;nbsp; .platform_data = (void *)&amp;amp;camera2_data,&lt;BR /&gt;},&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;In function mx6q_mipi_sensor_io_init():&lt;BR /&gt;if (cpu_is_mx6q())&lt;BR /&gt;&amp;nbsp; mxc_iomux_set_gpr_register(1, 19, 1, 1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;In function mx6q_csi0_io_init():&lt;BR /&gt;if (cpu_is_mx6q())&lt;BR /&gt;&amp;nbsp; mxc_iomux_set_gpr_register(1, 19, 1, 1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;In function mx6q_csi1_io_init():&lt;BR /&gt;if (cpu_is_mx6q())&lt;BR /&gt;&amp;nbsp; mxc_iomux_set_gpr_register(1, 20, 1, 1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;In function mx6_sabresd_board_init():&lt;BR /&gt;imx6q_add_v4l2_capture(0, &amp;amp;capture_data[0]);&lt;BR /&gt;imx6q_add_v4l2_capture(1, &amp;amp;capture_data[1]);&lt;BR /&gt;imx6q_add_v4l2_capture(2, &amp;amp;capture_data[2]);&lt;BR /&gt;imx6q_add_mipi_csi2(&amp;amp;mipi_csi2_pdata);&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 04 Dec 2013 23:13:10 GMT</pubDate>
    <dc:creator>jamesbone</dc:creator>
    <dc:date>2013-12-04T23:13:10Z</dc:date>
    <item>
      <title>i.MX535 - CSI0 parallel interface for Camera OV7675</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX535-CSI0-parallel-interface-for-Camera-OV7675/m-p/291488#M35409</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Our custom design is based on i.MX535.&lt;/P&gt;&lt;P&gt;The design is almost based on Sabre Tablet Design with the peripheral changes alone. We are using Android R10.4 BSP as our reference BSP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have interfaced OV7675 Camera sensor via CSI0 interface to i.MX535 similar to the Sabre design. &lt;/P&gt;&lt;P&gt;As per this design CSI0_MCLK pad is used for CSI0_HSYNC functionality.&lt;/P&gt;&lt;P&gt;The only change with respect to Sabre design is that we have used CCM's CSI0_MCLK output @ pad NANDF_CS2 as the Sensor's system clock.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. As soon as the CCM is configured, I find the clock overriding on the pad CSI0_MCLK (which is to be used as CSI0_HSYNC). Changing this pad configuration also did not help. Have anyone come across this issue? Pls advice how this can be avoided.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Why CCM's CSI0_MCLK is not used in Sabre / QSB? Any errata?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sridevi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Nov 2013 04:36:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX535-CSI0-parallel-interface-for-Camera-OV7675/m-p/291488#M35409</guid>
      <dc:creator>SrideviK</dc:creator>
      <dc:date>2013-11-21T04:36:36Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX535 - CSI0 parallel interface for Camera OV7675</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX535-CSI0-parallel-interface-for-Camera-OV7675/m-p/291489#M35410</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For your question 1.&amp;nbsp; Changing the IOMUX PAD configuration should be more than enough to do the trick, where are you modifing the PAD?, there is something like &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;arch/arm/mach-mx6/board-mx6q_sabrelite.c,&amp;nbsp; but for the i.MX53 QSB&amp;nbsp; board where it is located all the PADs configurations. You are going to find an structure :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;static struct fsl_mxc_capture_platform_data capture_data[] = {&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; .csi = 0,&lt;BR /&gt;&amp;nbsp; .ipu = 0,&lt;BR /&gt;&amp;nbsp; .mclk_source = 0,&lt;BR /&gt;&amp;nbsp; .is_mipi = 0,&lt;BR /&gt;}, {&lt;BR /&gt;&amp;nbsp; .csi = 1,&lt;BR /&gt;&amp;nbsp; .ipu = 0,&lt;BR /&gt;&amp;nbsp; .mclk_source = 0,&lt;BR /&gt;&amp;nbsp; .is_mipi = 1,&lt;BR /&gt;}, {&lt;BR /&gt;&amp;nbsp; .csi = 1,&lt;BR /&gt;&amp;nbsp; .ipu = 1,&lt;BR /&gt;&amp;nbsp; .mclk_source = 0,&lt;BR /&gt;&amp;nbsp; .is_mipi = 0,&lt;BR /&gt;},&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;static struct mipi_csi2_platform_data mipi_csi2_pdata = {&lt;BR /&gt;.ipu_id&amp;nbsp; = 0,&lt;BR /&gt;.csi_id = 1,&lt;BR /&gt;.v_channel = 0,&lt;BR /&gt;.lanes = 2,&lt;BR /&gt;.dphy_clk = "mipi_pllref_clk",&lt;BR /&gt;.pixel_clk = "emi_clk",&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;static struct fsl_mxc_camera_platform_data mipi_csi2_data = {&lt;BR /&gt;.mclk = 24000000,&lt;BR /&gt;.mclk_source = 0,&lt;BR /&gt;.csi = 1,&lt;BR /&gt;.io_init = mx6q_mipi_sensor_io_init,&lt;BR /&gt;.pwdn = mx6q_mipi_powerdown,&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;static struct fsl_mxc_camera_platform_data camera_data = {&lt;BR /&gt;.mclk = 24000000,&lt;BR /&gt;.mclk_source = 0,&lt;BR /&gt;.csi = 0,&lt;BR /&gt;.io_init = mx6q_csi0_io_init,&lt;BR /&gt;.pwdn = mx6q_csi0_cam_powerdown,&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;static struct fsl_mxc_camera_platform_data camera2_data = {&lt;BR /&gt;.mclk = 24000000,&lt;BR /&gt;.mclk_source = 0,&lt;BR /&gt;.csi = 1,&lt;BR /&gt;.io_init = mx6q_csi1_io_init,&lt;BR /&gt;.pwdn = mx6q_csi1_cam_powerdown,&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;static struct i2c_board_info mxc_i2c0_board_info[] __initdata = {&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; I2C_BOARD_INFO("ov564x", 0x3c),&lt;BR /&gt;&amp;nbsp; .platform_data = (void *)&amp;amp;camera_data,&lt;BR /&gt;},&lt;BR /&gt;};&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;static struct i2c_board_info mxc_i2c1_board_info[] __initdata = {&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; I2C_BOARD_INFO("ov5640_mipi", 0x3c),&lt;BR /&gt;&amp;nbsp; .platform_data = (void *)&amp;amp;mipi_csi2_data,&lt;BR /&gt;},&lt;BR /&gt;};&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;static struct i2c_board_info mxc_i2c2_board_info[] __initdata = {&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; I2C_BOARD_INFO("ov564x", 0x3c),&lt;BR /&gt;&amp;nbsp; .platform_data = (void *)&amp;amp;camera2_data,&lt;BR /&gt;},&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;In function mx6q_mipi_sensor_io_init():&lt;BR /&gt;if (cpu_is_mx6q())&lt;BR /&gt;&amp;nbsp; mxc_iomux_set_gpr_register(1, 19, 1, 1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;In function mx6q_csi0_io_init():&lt;BR /&gt;if (cpu_is_mx6q())&lt;BR /&gt;&amp;nbsp; mxc_iomux_set_gpr_register(1, 19, 1, 1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;In function mx6q_csi1_io_init():&lt;BR /&gt;if (cpu_is_mx6q())&lt;BR /&gt;&amp;nbsp; mxc_iomux_set_gpr_register(1, 20, 1, 1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-style: inherit; font-family: inherit;"&gt;In function mx6_sabresd_board_init():&lt;BR /&gt;imx6q_add_v4l2_capture(0, &amp;amp;capture_data[0]);&lt;BR /&gt;imx6q_add_v4l2_capture(1, &amp;amp;capture_data[1]);&lt;BR /&gt;imx6q_add_v4l2_capture(2, &amp;amp;capture_data[2]);&lt;BR /&gt;imx6q_add_mipi_csi2(&amp;amp;mipi_csi2_pdata);&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Dec 2013 23:13:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX535-CSI0-parallel-interface-for-Camera-OV7675/m-p/291489#M35410</guid>
      <dc:creator>jamesbone</dc:creator>
      <dc:date>2013-12-04T23:13:10Z</dc:date>
    </item>
  </channel>
</rss>

