<?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: Setting  IMx8MQ Mipi CSI2 clock  for OV5640 RAW8 BIT Bayer</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Setting-IMx8MQ-Mipi-CSI2-clock-for-OV5640-RAW8-BIT-Bayer/m-p/1363692#M182306</link>
    <description>&lt;P&gt;Hi JungHwan&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;for raw8 one can look at example below&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.nxp.com/t5/i-MX-Processors/iMX8M-MIPI-CSI-4-lane-configuration/m-p/875755" target="_blank"&gt;https://community.nxp.com/t5/i-MX-Processors/iMX8M-MIPI-CSI-4-lane-configuration/m-p/875755&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;</description>
    <pubDate>Fri, 29 Oct 2021 06:15:10 GMT</pubDate>
    <dc:creator>igorpadykov</dc:creator>
    <dc:date>2021-10-29T06:15:10Z</dc:date>
    <item>
      <title>Setting  IMx8MQ Mipi CSI2 clock  for OV5640 RAW8 BIT Bayer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Setting-IMx8MQ-Mipi-CSI2-clock-for-OV5640-RAW8-BIT-Bayer/m-p/1363531#M182286</link>
      <description>&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ov5640_clock.PNG" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/160637i9B1919D51F008176/image-size/large?v=v2&amp;amp;px=999" role="button" title="ov5640_clock.PNG" alt="ov5640_clock.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1.&amp;nbsp; From above OV5640 Clock pipeline,&amp;nbsp; &amp;nbsp; we'd like to change&amp;nbsp; MIPISCLK - 672 MHz to 456 MHz ,&lt;/P&gt;&lt;P&gt;&amp;nbsp; then How to setup MIPI CSI2 DPhy&amp;nbsp; Clcok ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Below is for i.MX6 MPU ,&amp;nbsp; how to setup DPHY Clock for&amp;nbsp; i.Mx8M Quad?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do we modify mipi_csi_1: &lt;A href="mailto:mipi_csi1@30a70000" target="_blank" rel="noopener"&gt;mipi_csi1@30a70000&amp;nbsp;&lt;/A&gt; device tree ?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;from&amp;nbsp; &amp;nbsp;&lt;A href="https://www.nxp.com/docs/en/application-note/AN5305.pdf" target="_blank" rel="noopener"&gt;https://www.nxp.com/docs/en/application-note/AN5305.pdf&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;MIPI D-PHY Clock for i.MX6&amp;nbsp; MPU.&lt;/P&gt;&lt;P&gt;3.4. MIPI D-PHY clock&lt;BR /&gt;The camera sensor (the sensor output differential clock) drives and controls the MIPI D-PHY clock.&lt;BR /&gt;The MIPI D-PHY clock must be calibrated to the actual clock range of the camera sensor’s D-PHY&lt;BR /&gt;clock and the calibrated value must be equal to or greater than the camera sensor clock. This frequency&lt;BR /&gt;ranges from 80 MHz to 1000 MHz.&lt;BR /&gt;The MIPI D-PHY clock must be set according to a known value of the camera sensor’s pixel clock. This&lt;BR /&gt;must be a known value or a value measured with an oscilloscope during a high-speed burst.&lt;BR /&gt;To calculate the MIPI data rate, use these equations:&lt;BR /&gt;MIPI data rate = (MIPI clock * 2) * Number of lanes &amp;gt;= Pixel clock * Bits-per-pixel&lt;BR /&gt;MIPI clock = (Pixel clock * Bits-per-pixel) / (Number of lanes) / 2&lt;BR /&gt;For example, a video input of 720p, 59.94 fps, and YUV422 is calculated as follows:&lt;BR /&gt;Pixel clock = 1280 * 720 * 59.94 fps * 1 cycle/pixel * 1.35 blank interval = 74.57 MHz&lt;BR /&gt;Total MIPI data rate is 74.25 M * 16 bits = 1193 Mb/s.&lt;BR /&gt;The frame blank intervals and the interface packaging overhead were added as the 1.35 factor in the&lt;BR /&gt;pixel clock equation above.&lt;BR /&gt;For a 2-lane interface:&lt;BR /&gt;MIPI clock = 1193 / 2 / 2 = 298.25 MHz&lt;BR /&gt;MIPI_CSI2_PHY_TST_CTRL1 setting = 298.25 MHz * 2 (DDR mode) = 596.5 MHz&lt;BR /&gt;According to Table 2, MIPI_CSI2_PHY_TST_CTRL1 = 0x2E.&lt;BR /&gt;For a 4-lane interface:&lt;BR /&gt;MIPI clock = 1193 / 4 / 2 = 149.12 MHz&lt;BR /&gt;MIPI_CSI2_PHY_TST_CTRL1 setting = 149.12 MHz * 2 (DDR mode) = 298.24 MHz&lt;BR /&gt;According to Table 2, MIPI_CSI2_PHY_TST_CTRL1 = 0x28.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-- device tree file --&lt;/P&gt;&lt;P&gt;mipi_csi_1: mipi_csi1@30a70000 {&lt;BR /&gt;compatible = "fsl,mxc-mipi-csi2_yav";&lt;BR /&gt;reg = &amp;lt;0x30a70000 0x1000&amp;gt;;&lt;BR /&gt;interrupts = &amp;lt;GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH&amp;gt;;&lt;BR /&gt;clocks = &amp;lt;&amp;amp;clk IMX8MQ_CLK_CSI1_CORE&amp;gt;,&lt;BR /&gt;&amp;lt;&amp;amp;clk IMX8MQ_CLK_CSI1_ESC&amp;gt;,&lt;BR /&gt;&amp;lt;&amp;amp;clk IMX8MQ_CLK_CSI1_PHY_REF&amp;gt;;&lt;BR /&gt;clock-names = "clk_core", "clk_esc", "clk_pxl";&lt;BR /&gt;assigned-clocks = &amp;lt;&amp;amp;clk IMX8MQ_CLK_CSI1_CORE&amp;gt;,&lt;BR /&gt;&amp;lt;&amp;amp;clk IMX8MQ_CLK_CSI1_PHY_REF&amp;gt;,&lt;BR /&gt;&amp;lt;&amp;amp;clk IMX8MQ_CLK_CSI1_ESC&amp;gt;;&lt;BR /&gt;#ifndef PIXEL_RAW&lt;BR /&gt;assigned-clock-rates = &amp;lt;133000000&amp;gt;, &amp;lt;100000000&amp;gt;, &amp;lt;66000000&amp;gt;;&lt;BR /&gt;#else&lt;BR /&gt;assigned-clock-rates = &amp;lt;266000000&amp;gt;, &amp;lt;150000000&amp;gt;, &amp;lt;66000000&amp;gt;;&lt;BR /&gt;#endif&lt;BR /&gt;/*&lt;BR /&gt;assigned-clock-parents = &amp;lt;&amp;amp;clk IMX8MQ_SYS1_PLL_266M&amp;gt;,&lt;BR /&gt;&amp;lt;&amp;amp;clk IMX8MQ_SYS2_PLL_1000M&amp;gt;,&lt;BR /&gt;&amp;lt;&amp;amp;clk IMX8MQ_SYS1_PLL_800M&amp;gt;;&lt;BR /&gt;*/&lt;BR /&gt;power-domains = &amp;lt;&amp;amp;pgc_mipi_csi1&amp;gt;;&lt;BR /&gt;csis-phy-reset = &amp;lt;&amp;amp;src 0x4c 7&amp;gt;;&lt;BR /&gt;phy-gpr = &amp;lt;&amp;amp;iomuxc_gpr 0x88&amp;gt;;&lt;BR /&gt;status = "disabled";&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;csi1_bridge: csi1_bridge@30a90000 {&lt;BR /&gt;compatible = "fsl,imx8mq-csi", "fsl,imx6s-csi";&lt;BR /&gt;reg = &amp;lt;0x30a90000 0x10000&amp;gt;;&lt;BR /&gt;interrupts = &amp;lt;GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH&amp;gt;;&lt;BR /&gt;clocks = &amp;lt;&amp;amp;clk IMX8MQ_CLK_DUMMY&amp;gt;,&lt;BR /&gt;&amp;lt;&amp;amp;clk IMX8MQ_CLK_CSI1_ROOT&amp;gt;,&lt;BR /&gt;&amp;lt;&amp;amp;clk IMX8MQ_CLK_DUMMY&amp;gt;;&lt;BR /&gt;clock-names = "disp-axi", "csi_mclk", "disp_dcic";&lt;BR /&gt;status = "disabled";&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2. what is link-frequency from above picture ?&lt;/P&gt;&lt;P&gt;&amp;nbsp; is it a&amp;nbsp; MIPI_CLK or MIPISCLK?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;3.&amp;nbsp; To set&amp;nbsp; link frequency other&amp;nbsp; MHZ ( ex, 300Mhz ) , then how should we modify&amp;nbsp; MIPI CSI2 host Controller -&amp;nbsp; mxc-mipi-csi2_yav.c ?&lt;/P&gt;&lt;P&gt;static void mxc_mipi_csi2_hc_config(struct mxc_mipi_csi2_dev *csi2dev)&lt;BR /&gt;{&lt;BR /&gt;u32 val0, val1;&lt;BR /&gt;u32 i;&lt;/P&gt;&lt;P&gt;val0 = 0;&lt;/P&gt;&lt;P&gt;/* Lanes */&lt;BR /&gt;writel(csi2dev-&amp;gt;num_lanes - 1,&lt;BR /&gt;csi2dev-&amp;gt;base_regs + CSI2RX_CFG_NUM_LANES);&lt;/P&gt;&lt;P&gt;for (i = 0; i &amp;lt; csi2dev-&amp;gt;num_lanes; i++)&lt;BR /&gt;val0 |= (1 &amp;lt;&amp;lt; (csi2dev-&amp;gt;data_lanes[i] - 1));&lt;/P&gt;&lt;P&gt;val1 = 0xF &amp;amp; ~val0;&lt;BR /&gt;writel(val1, csi2dev-&amp;gt;base_regs + CSI2RX_CFG_DISABLE_DATA_LANES);&lt;/P&gt;&lt;P&gt;/* Mask interrupt */&lt;BR /&gt;writel(0x1FF, csi2dev-&amp;gt;base_regs + CSI2RX_IRQ_MASK);&lt;/P&gt;&lt;P&gt;writel(1, csi2dev-&amp;gt;base_regs + 0x180);&lt;BR /&gt;/* vid_vc */&lt;BR /&gt;writel(1, csi2dev-&amp;gt;base_regs + 0x184);&lt;BR /&gt;writel(csi2dev-&amp;gt;send_level, csi2dev-&amp;gt;base_regs + 0x188);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;static int mipi_csi2_clk_init(struct mxc_mipi_csi2_dev *csi2dev)&lt;BR /&gt;{&lt;BR /&gt;struct device *dev = &amp;amp;csi2dev-&amp;gt;pdev-&amp;gt;dev;&lt;/P&gt;&lt;P&gt;csi2dev-&amp;gt;clk_core = devm_clk_get(dev, "clk_core");&lt;BR /&gt;if (IS_ERR(csi2dev-&amp;gt;clk_core)) {&lt;BR /&gt;dev_err(dev, "failed to get csi core clk\n");&lt;BR /&gt;return PTR_ERR(csi2dev-&amp;gt;clk_core);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;csi2dev-&amp;gt;clk_esc = devm_clk_get(dev, "clk_esc");&lt;BR /&gt;if (IS_ERR(csi2dev-&amp;gt;clk_esc)) {&lt;BR /&gt;dev_err(dev, "failed to get csi esc clk\n");&lt;BR /&gt;return PTR_ERR(csi2dev-&amp;gt;clk_esc);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;csi2dev-&amp;gt;clk_pxl = devm_clk_get(dev, "clk_pxl");&lt;BR /&gt;if (IS_ERR(csi2dev-&amp;gt;clk_pxl)) {&lt;BR /&gt;dev_err(dev, "failed to get csi pixel link clk\n");&lt;BR /&gt;return PTR_ERR(csi2dev-&amp;gt;clk_pxl);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;return 0;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PHY_GPR.PNG" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/160660iC336CB456AD09DD6/image-size/large?v=v2&amp;amp;px=999" role="button" title="PHY_GPR.PNG" alt="PHY_GPR.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; can you inform me DPHY Register setting&amp;nbsp; on IMX8M Quad ?&lt;/P&gt;&lt;P&gt;&amp;nbsp; do we modify&amp;nbsp; mipi_csi_1 clock setting&amp;nbsp; from&amp;nbsp; above mx8mq device tree ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;FONT color="#FF0000"&gt;assigned-clock-rates = &amp;lt;133000000&amp;gt;, &amp;lt;100000000&amp;gt;, &amp;lt;66000000&amp;gt;;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;4.&amp;nbsp; finally, if we'd like to Raw8 bit from OV5640 ,&amp;nbsp; then should we modify&amp;nbsp; capture driver&amp;nbsp; &amp;nbsp;- ov5640_mipi_v2.c ?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; It seems to support&amp;nbsp; RAW8Bit&amp;nbsp; Bayer&amp;nbsp; ( SBGGR8)&amp;nbsp; by default .&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;cant you inform me how to setup&amp;nbsp; CSICR1, CSICR2, CSICR3,&amp;nbsp; CSI_CSIIMAG_PARA , CSICR18&amp;nbsp; registers ?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;5.&amp;nbsp; For CSICR2 setting,&amp;nbsp; can you inform me how to set&amp;nbsp; BTS (Bayer tile Start)&amp;nbsp; at&amp;nbsp; 5005 page from Reference manual ?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BTS.PNG" style="width: 886px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/160657i8903224507A587B4/image-size/large?v=v2&amp;amp;px=999" role="button" title="BTS.PNG" alt="BTS.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;6. For CSICR18 setting , how to setup Mask_option ( 19-18 Bits )&amp;nbsp; at 5019 page from Reference Manual ?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MASK.PNG" style="width: 901px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/160658i12131F3567E934A3/image-size/large?v=v2&amp;amp;px=999" role="button" title="MASK.PNG" alt="MASK.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Thanks .&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 29 Oct 2021 03:57:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Setting-IMx8MQ-Mipi-CSI2-clock-for-OV5640-RAW8-BIT-Bayer/m-p/1363531#M182286</guid>
      <dc:creator>jhpark_vine</dc:creator>
      <dc:date>2021-10-29T03:57:06Z</dc:date>
    </item>
    <item>
      <title>Re: Setting  IMx8MQ Mipi CSI2 clock  for OV5640 RAW8 BIT Bayer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Setting-IMx8MQ-Mipi-CSI2-clock-for-OV5640-RAW8-BIT-Bayer/m-p/1363692#M182306</link>
      <description>&lt;P&gt;Hi JungHwan&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;for raw8 one can look at example below&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.nxp.com/t5/i-MX-Processors/iMX8M-MIPI-CSI-4-lane-configuration/m-p/875755" target="_blank"&gt;https://community.nxp.com/t5/i-MX-Processors/iMX8M-MIPI-CSI-4-lane-configuration/m-p/875755&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;</description>
      <pubDate>Fri, 29 Oct 2021 06:15:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Setting-IMx8MQ-Mipi-CSI2-clock-for-OV5640-RAW8-BIT-Bayer/m-p/1363692#M182306</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2021-10-29T06:15:10Z</dc:date>
    </item>
    <item>
      <title>Re: Setting  IMx8MQ Mipi CSI2 clock  for OV5640 RAW8 BIT Bayer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Setting-IMx8MQ-Mipi-CSI2-clock-for-OV5640-RAW8-BIT-Bayer/m-p/1364808#M182449</link>
      <description>&lt;P&gt;Link Frequency is&amp;nbsp;&amp;nbsp;MIPI Clock from Tovalds.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;/* Calculate the line rate from the pixel rate. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;link_freq&lt;/SPAN&gt; &lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;v4l2_get_link_freq&lt;/SPAN&gt;&lt;SPAN class=""&gt;(&lt;/SPAN&gt;&lt;SPAN class=""&gt;state&lt;/SPAN&gt;&lt;SPAN class=""&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN class=""&gt;src_sd&lt;/SPAN&gt;&lt;SPAN class=""&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN class=""&gt;ctrl_handler&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;state&lt;/SPAN&gt;&lt;SPAN class=""&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN class=""&gt;csi2_fmt&lt;/SPAN&gt;&lt;SPAN class=""&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN class=""&gt;width&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt; &lt;SPAN class=""&gt;state&lt;/SPAN&gt;&lt;SPAN class=""&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN class=""&gt;bus&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;SPAN class=""&gt;num_data_lanes&lt;/SPAN&gt; &lt;SPAN class=""&gt;*&lt;/SPAN&gt; &lt;SPAN class=""&gt;2&lt;/SPAN&gt;&lt;SPAN class=""&gt;); &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;s64 v4l2_get_link_freq(struct v4l2_ctrl_handler *handler, unsigned int mul,&lt;BR /&gt;unsigned int div)&lt;BR /&gt;{&lt;BR /&gt;struct v4l2_ctrl *ctrl;&lt;BR /&gt;s64 freq;&lt;/P&gt;&lt;P&gt;ctrl = v4l2_ctrl_find(handler, V4L2_CID_LINK_FREQ);&lt;BR /&gt;if (ctrl) {&lt;BR /&gt;struct v4l2_querymenu qm = { .id = V4L2_CID_LINK_FREQ };&lt;BR /&gt;int ret;&lt;/P&gt;&lt;P&gt;qm.index = v4l2_ctrl_g_ctrl(ctrl);&lt;/P&gt;&lt;P&gt;ret = v4l2_querymenu(handler, &amp;amp;qm);&lt;BR /&gt;if (ret)&lt;BR /&gt;return -ENOENT;&lt;/P&gt;&lt;P&gt;freq = qm.value;&lt;BR /&gt;} else {&lt;BR /&gt;if (!mul || !div)&lt;BR /&gt;return -ENOENT;&lt;/P&gt;&lt;P&gt;ctrl = v4l2_ctrl_find(handler, V4L2_CID_PIXEL_RATE);&lt;BR /&gt;if (!ctrl)&lt;BR /&gt;return -ENOENT;&lt;/P&gt;&lt;P&gt;freq = div_u64(v4l2_ctrl_g_ctrl_int64(ctrl) * mul, div);&lt;/P&gt;&lt;P&gt;pr_warn("%s: Link frequency estimated using pixel rate: result might be inaccurate\n",&lt;BR /&gt;__func__);&lt;BR /&gt;pr_warn("%s: Consider implementing support for V4L2_CID_LINK_FREQ in the transmitter driver\n",&lt;BR /&gt;__func__);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;return freq &amp;gt; 0 ? freq : -EINVAL;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Then how do we set&amp;nbsp; MIPI D-PHY Clock ?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 02 Nov 2021 04:15:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Setting-IMx8MQ-Mipi-CSI2-clock-for-OV5640-RAW8-BIT-Bayer/m-p/1364808#M182449</guid>
      <dc:creator>jhpark_vine</dc:creator>
      <dc:date>2021-11-02T04:15:14Z</dc:date>
    </item>
  </channel>
</rss>

