<?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 Re: i.MX8 MM SPIDev clock issue in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/i-MX8-MM-SPIDev-clock-issue/m-p/1033627#M152556</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for your response. I know how to modify DTS, but it won't work. The frequency measured by oscilloscope is only 12.5MHz。The current spi clock source is only 24MHz, and only 12MHz after frequency division is calculated according to the formula, so it should be modified to the spi clock source.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 06 Jan 2020 01:44:53 GMT</pubDate>
    <dc:creator>mcuBoy</dc:creator>
    <dc:date>2020-01-06T01:44:53Z</dc:date>
    <item>
      <title>i.MX8 MM SPIDev clock issue</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX8-MM-SPIDev-clock-issue/m-p/1033625#M152554</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;We are working on a custom project where we need to configure the i.MX8MM SPIDev (ecspi2 spidev.c spi-imx.c) to 20MHz&amp;nbsp;for a slave chip to work. We are using the Linux 4.14.78 kernel.&lt;/P&gt;&lt;P&gt;We have configured with follow:&lt;/P&gt;&lt;P&gt;ecspi2: &lt;A href="mailto:ecspi@30830000"&gt;ecspi@30830000&lt;/A&gt; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;#address-cells = &amp;lt;1&amp;gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;#size-cells = &amp;lt;0&amp;gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;compatible = "fsl,imx6ul-ecspi";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;reg = &amp;lt;0x0 0x30830000 0x0 0x10000&amp;gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;interrupts = &amp;lt;GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH&amp;gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;clocks = &amp;lt;&amp;amp;clk IMX8MM_CLK_ECSPI2_ROOT&amp;gt;,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&amp;amp;clk IMX8MM_CLK_ECSPI2_ROOT&amp;gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;clock-names = "ipg", "per";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;dmas = &amp;lt;&amp;amp;sdma1 2 7 1&amp;gt;, &amp;lt;&amp;amp;sdma1 3 7 2&amp;gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;dma-names = "rx", "tx";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;status = "okay";&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;A href="mailto:spidev@0"&gt;spidev@0&lt;/A&gt; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;compatible = "myspi,spidev";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg = &amp;lt;0&amp;gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spi-max-frequency = &amp;lt;20000000&amp;gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;};&lt;BR /&gt;&amp;nbsp;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;spi-imx.c&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;static unsigned int mx51_ecspi_clkdiv(struct spi_imx_data *spi_imx,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned int fspi, unsigned int *fres)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;unsigned int pre, post;&lt;BR /&gt;&amp;nbsp;unsigned int fin = spi_imx-&amp;gt;spi_clk;&lt;/P&gt;&lt;P&gt;&amp;nbsp;if (unlikely(fspi &amp;gt; fin))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;return 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;post = fls(fin) - fls(fspi);&lt;BR /&gt;&amp;nbsp;if (fin &amp;gt; fspi &amp;lt;&amp;lt; post)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;post++;&lt;/P&gt;&lt;P&gt;&amp;nbsp;/* now we have: (fin &amp;lt;= fspi &amp;lt;&amp;lt; post) with post being minimal */&lt;/P&gt;&lt;P&gt;&amp;nbsp;post = max(4U, post) - 4;&lt;BR /&gt;&amp;nbsp;if (unlikely(post &amp;gt; 0xf)) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;dev_err(spi_imx-&amp;gt;dev, "cannot set clock freq: %u (base freq: %u)\n",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fspi, fin);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;return 0xff;&lt;BR /&gt;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;pre = DIV_ROUND_UP(fin, fspi &amp;lt;&amp;lt; post) - 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;/* Resulting frequency for the SCLK line. */&lt;BR /&gt;&amp;nbsp;*fres = (fin / (pre + 1)) &amp;gt;&amp;gt; post;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #ff0000;"&gt;//(24/(0 + 1) &amp;gt;&amp;gt; 0)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;return (pre &amp;lt;&amp;lt; MX51_ECSPI_CTRL_PREDIV_OFFSET) |&lt;BR /&gt;&amp;nbsp;&amp;nbsp;(post &amp;lt;&amp;lt; MX51_ECSPI_CTRL_POSTDIV_OFFSET);&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;//here setting the spi clock as 12MHz&lt;/SPAN&gt;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;0、we use the logic analyzer , The actual clock is 12.5MHz&lt;/P&gt;&lt;P&gt;1、why spi source clock aways is 24MHz？we configure it to 20MHz in dts, and will be div to 12MHz&lt;/P&gt;&lt;P&gt;2、clk-imx8mm.c，we donn't konw how to change the spi source clock to another one more than 24MHz&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(static const char *imx8mm_ecspi2_sels[] = {"osc_24m", "sys_pll2_200m", "sys_pll1_40m", "sys_pll1_160m",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "sys_pll1_800m", "sys_pll3_out", "sys_pll2_250m", "audio_pll2_out", };)&lt;/P&gt;&lt;P&gt;3、if we need the spi clock to 15MHz 18MHz 20MHz,how should we modify?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pease help me。thanks very much。&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Jan 2020 03:20:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX8-MM-SPIDev-clock-issue/m-p/1033625#M152554</guid>
      <dc:creator>mcuBoy</dc:creator>
      <dc:date>2020-01-03T03:20:09Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX8 MM SPIDev clock issue</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX8-MM-SPIDev-clock-issue/m-p/1033626#M152555</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;one can look at attached example boundary devices nitrogen8mm board&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_4.14.x_2.0.0_ga/arch/arm64/boot/dts/freescale/imx8mmn-nitrogen8mm.dtsi" title="https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_4.14.x_2.0.0_ga/arch/arm64/boot/dts/freescale/imx8mmn-nitrogen8mm.dtsi"&gt;linux-imx6/imx8mmn-nitrogen8mm.dtsi at boundary-imx_4.14.x_2.0.0_ga · boundarydevices/linux-imx6 · GitHub&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>Sat, 04 Jan 2020 10:47:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX8-MM-SPIDev-clock-issue/m-p/1033626#M152555</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2020-01-04T10:47:58Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX8 MM SPIDev clock issue</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX8-MM-SPIDev-clock-issue/m-p/1033627#M152556</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for your response. I know how to modify DTS, but it won't work. The frequency measured by oscilloscope is only 12.5MHz。The current spi clock source is only 24MHz, and only 12MHz after frequency division is calculated according to the formula, so it should be modified to the spi clock source.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Jan 2020 01:44:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX8-MM-SPIDev-clock-issue/m-p/1033627#M152556</guid>
      <dc:creator>mcuBoy</dc:creator>
      <dc:date>2020-01-06T01:44:53Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX8 MM SPIDev clock issue</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX8-MM-SPIDev-clock-issue/m-p/1033628#M152557</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font: 14px/26px Arial, 'Microsoft YaHei', '微软雅黑', '宋体', 'Malgun Gothic', Meiryo, sans-serif; text-align: justify; color: #333333; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; float: none; display: inline !important; white-space: normal; font-size-adjust: none; font-stretch: normal; background-color: #f7f8fa; -webkit-text-stroke-width: 0px;"&gt;Can someone help me&lt;/SPAN&gt;?&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;Best Wishes!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Jan 2020 05:53:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX8-MM-SPIDev-clock-issue/m-p/1033628#M152557</guid>
      <dc:creator>mcuBoy</dc:creator>
      <dc:date>2020-01-09T05:53:09Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX8 MM SPIDev clock issue</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX8-MM-SPIDev-clock-issue/m-p/1325795#M178690</link>
      <description>&lt;P&gt;If this issue is solved？&lt;/P&gt;</description>
      <pubDate>Wed, 18 Aug 2021 23:37:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX8-MM-SPIDev-clock-issue/m-p/1325795#M178690</guid>
      <dc:creator>Sarajia</dc:creator>
      <dc:date>2021-08-18T23:37:42Z</dc:date>
    </item>
  </channel>
</rss>

