<?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>topic How to use PLL to generate precise clock frequency, with Linux, devicetree? in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/How-to-use-PLL-to-generate-precise-clock-frequency-with-Linux/m-p/1018129#M150600</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, I am creating a camera driver for IMX296 for the i.MX 8 MQ. I am struggling with generating the appropriate clock signal for the image sensor, which is either 37.125, 74.25 or 54 MHz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I base my devicetree on the&amp;nbsp;&lt;SPAN style="color: #24292e; background-color: #ffffff;"&gt;ov5640, and the devicetree for the imx296 looks like this:&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV style="color: #bbbbbb; background-color: #1e1e1e; font-weight: normal; font-size: 14px;"&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;imx296_mipi:&amp;nbsp;imx296_mipi@1a&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;compatible&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #8f9d6a;"&gt;"sony,imx296_mipi"&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reg&amp;nbsp;=&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;0x1a&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;status&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #8f9d6a;"&gt;"okay"&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pinctrl-names&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #8f9d6a;"&gt;"default"&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pinctrl-0&amp;nbsp;=&amp;nbsp;&amp;lt;&amp;amp;pinctrl_csi1&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clocks&amp;nbsp;=&amp;nbsp;&amp;lt;&amp;amp;clk&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;IMX8MQ_CLK_CLKO1_DIV&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clock-names&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #8f9d6a;"&gt;"csi_mclk"&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assigned-clocks&amp;nbsp;=&amp;nbsp;&amp;lt;&amp;amp;clk&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;IMX8MQ_CLK_CLKO1_SRC&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;,&amp;nbsp;&amp;lt;&amp;amp;clk&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;IMX8MQ_CLK_CLKO1_DIV&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assigned-clock-parents&amp;nbsp;=&amp;nbsp;&amp;lt;&amp;amp;clk&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;IMX8MQ_SYS1_PLL_200M&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assigned-clock-rates&amp;nbsp;=&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;,&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;54000000&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;csi_id&amp;nbsp;=&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rst-gpios&amp;nbsp;=&amp;nbsp;&amp;lt;&amp;amp;gpio1&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;7&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;GPIO_ACTIVE_LOW&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mclk&amp;nbsp;=&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;54000000&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mclk_source&amp;nbsp;=&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;port&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ov5640_mipi1_ep:&amp;nbsp;endpoint&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;remote-endpoint&amp;nbsp;=&amp;nbsp;&amp;lt;&amp;amp;mipi1_sensor_ep&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;};&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;SPAN style="color: #24292e; background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #24292e; background-color: #ffffff;"&gt;I try an ask for 54MHz, but the output become&amp;nbsp;&lt;SPAN&gt;50MHz which indicates that the clock divider used here is rounded to nearest integer, 4.&lt;BR /&gt;&lt;BR /&gt;Is it possible to increase the accuracy of the PLL here, so that I can get these above mentioned frequencies? &lt;BR /&gt;&lt;BR /&gt;I have tried to change assigned-clock-parents to&amp;nbsp;&amp;lt;&amp;amp;clk IMX8MQ_SYS1_PLL_266M&amp;gt; which should be able to get close enough to 54MHz, dividing by 5, but this results in an error: "clk: failed to reparent clko1_div to sys1_pll_266m: -22".&lt;BR /&gt;&lt;BR /&gt;What can I do to achieve the&amp;nbsp;&lt;SPAN style="background-color: #ffffff;"&gt;above mentioned frequencies?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 30 Jan 2020 12:04:43 GMT</pubDate>
    <dc:creator>nrch</dc:creator>
    <dc:date>2020-01-30T12:04:43Z</dc:date>
    <item>
      <title>How to use PLL to generate precise clock frequency, with Linux, devicetree?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-use-PLL-to-generate-precise-clock-frequency-with-Linux/m-p/1018129#M150600</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, I am creating a camera driver for IMX296 for the i.MX 8 MQ. I am struggling with generating the appropriate clock signal for the image sensor, which is either 37.125, 74.25 or 54 MHz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I base my devicetree on the&amp;nbsp;&lt;SPAN style="color: #24292e; background-color: #ffffff;"&gt;ov5640, and the devicetree for the imx296 looks like this:&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV style="color: #bbbbbb; background-color: #1e1e1e; font-weight: normal; font-size: 14px;"&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;imx296_mipi:&amp;nbsp;imx296_mipi@1a&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;compatible&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #8f9d6a;"&gt;"sony,imx296_mipi"&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reg&amp;nbsp;=&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;0x1a&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;status&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #8f9d6a;"&gt;"okay"&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pinctrl-names&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #8f9d6a;"&gt;"default"&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pinctrl-0&amp;nbsp;=&amp;nbsp;&amp;lt;&amp;amp;pinctrl_csi1&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clocks&amp;nbsp;=&amp;nbsp;&amp;lt;&amp;amp;clk&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;IMX8MQ_CLK_CLKO1_DIV&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clock-names&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #8f9d6a;"&gt;"csi_mclk"&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assigned-clocks&amp;nbsp;=&amp;nbsp;&amp;lt;&amp;amp;clk&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;IMX8MQ_CLK_CLKO1_SRC&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;,&amp;nbsp;&amp;lt;&amp;amp;clk&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;IMX8MQ_CLK_CLKO1_DIV&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assigned-clock-parents&amp;nbsp;=&amp;nbsp;&amp;lt;&amp;amp;clk&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;IMX8MQ_SYS1_PLL_200M&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assigned-clock-rates&amp;nbsp;=&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;,&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;54000000&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;csi_id&amp;nbsp;=&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rst-gpios&amp;nbsp;=&amp;nbsp;&amp;lt;&amp;amp;gpio1&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;7&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;GPIO_ACTIVE_LOW&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mclk&amp;nbsp;=&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;54000000&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mclk_source&amp;nbsp;=&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="color: #78cf8a;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;port&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ov5640_mipi1_ep:&amp;nbsp;endpoint&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;remote-endpoint&amp;nbsp;=&amp;nbsp;&amp;lt;&amp;amp;mipi1_sensor_ep&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="color: #bbbbbb;"&gt;&amp;nbsp;&amp;nbsp;};&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;SPAN style="color: #24292e; background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #24292e; background-color: #ffffff;"&gt;I try an ask for 54MHz, but the output become&amp;nbsp;&lt;SPAN&gt;50MHz which indicates that the clock divider used here is rounded to nearest integer, 4.&lt;BR /&gt;&lt;BR /&gt;Is it possible to increase the accuracy of the PLL here, so that I can get these above mentioned frequencies? &lt;BR /&gt;&lt;BR /&gt;I have tried to change assigned-clock-parents to&amp;nbsp;&amp;lt;&amp;amp;clk IMX8MQ_SYS1_PLL_266M&amp;gt; which should be able to get close enough to 54MHz, dividing by 5, but this results in an error: "clk: failed to reparent clko1_div to sys1_pll_266m: -22".&lt;BR /&gt;&lt;BR /&gt;What can I do to achieve the&amp;nbsp;&lt;SPAN style="background-color: #ffffff;"&gt;above mentioned frequencies?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Jan 2020 12:04:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-use-PLL-to-generate-precise-clock-frequency-with-Linux/m-p/1018129#M150600</guid>
      <dc:creator>nrch</dc:creator>
      <dc:date>2020-01-30T12:04:43Z</dc:date>
    </item>
    <item>
      <title>Re: How to use PLL to generate precise clock frequency, with Linux, devicetree?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-use-PLL-to-generate-precise-clock-frequency-with-Linux/m-p/1018130#M150601</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Nicolai&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I believe only reprogramming properly some pll necessary precise clock&lt;/P&gt;&lt;P&gt;may be produced. One can try this in uboot. As for &lt;SPAN style="color: #24292e; background-color: #ffffff;"&gt;&lt;SPAN&gt;error: "clk: failed to reparent clko1&lt;/SPAN&gt;&lt;/SPAN&gt;.."&lt;/P&gt;&lt;P&gt;seems this parent pll is already used by some other clock, so it can not be used.&lt;/P&gt;&lt;P&gt;May be useful to look at linux clock documentation:&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://www.kernel.org/doc/Documentation/clk.txt" title="https://www.kernel.org/doc/Documentation/clk.txt"&gt;https://www.kernel.org/doc/Documentation/clk.txt&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 31 Jan 2020 00:13:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-use-PLL-to-generate-precise-clock-frequency-with-Linux/m-p/1018130#M150601</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2020-01-31T00:13:55Z</dc:date>
    </item>
  </channel>
</rss>

