<?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: Clock Setting to Run a K22 at 120 MHz in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Clock-Setting-to-Run-a-K22-at-120-MHz/m-p/987840#M55571</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for the suggestion but changing to "HSRUN" doesn't change the Core Clock rate.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;myke&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 22 Jan 2020 01:31:06 GMT</pubDate>
    <dc:creator>myke_predko</dc:creator>
    <dc:date>2020-01-22T01:31:06Z</dc:date>
    <item>
      <title>Clock Setting to Run a K22 at 120 MHz</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Clock-Setting-to-Run-a-K22-at-120-MHz/m-p/987838#M55569</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hiya,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hopefully a quick and easy one.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using MCUXpressor and the clocking tool to setup my parts and I'm working with a K22 (prototyping with a FRDM-K22F).&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I use the clocking tool with an 8 MHz crystal and then selecting "PEE" (PLL Engaged External), I get a default of 80 MHz.&amp;nbsp;&amp;nbsp;What is the correct value to change the PLL in the "MCG" block to get 120 MHz, "/2 * 30" will do it (the default is "/4 * 40") but I want to make sure this is the right/best way of doing it.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can't seem to find this documented anywhere.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanx!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;myke&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jan 2020 16:48:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Clock-Setting-to-Run-a-K22-at-120-MHz/m-p/987838#M55569</guid>
      <dc:creator>myke_predko</dc:creator>
      <dc:date>2020-01-21T16:48:09Z</dc:date>
    </item>
    <item>
      <title>Re: Clock Setting to Run a K22 at 120 MHz</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Clock-Setting-to-Run-a-K22-at-120-MHz/m-p/987839#M55570</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;The K22 on the FRDM/K22F board has a maximum RUN mode speed of 80MHz and a maximum High Speed RUN mode speed of 120MHz (with some restrictions, such as Flash programming is not possible).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Probably you need to select HSRUN mode to allow the tool to configure faster than 80MHz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P&gt;&lt;EM&gt;[uTasker project developer for Kinetis and i.MX RT]&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jan 2020 21:16:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Clock-Setting-to-Run-a-K22-at-120-MHz/m-p/987839#M55570</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2020-01-21T21:16:52Z</dc:date>
    </item>
    <item>
      <title>Re: Clock Setting to Run a K22 at 120 MHz</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Clock-Setting-to-Run-a-K22-at-120-MHz/m-p/987840#M55571</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for the suggestion but changing to "HSRUN" doesn't change the Core Clock rate.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;myke&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Jan 2020 01:31:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Clock-Setting-to-Run-a-K22-at-120-MHz/m-p/987840#M55571</guid>
      <dc:creator>myke_predko</dc:creator>
      <dc:date>2020-01-22T01:31:06Z</dc:date>
    </item>
    <item>
      <title>Re: Clock Setting to Run a K22 at 120 MHz</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Clock-Setting-to-Run-a-K22-at-120-MHz/m-p/987841#M55572</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Myke&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't use the configuration tools, but these are the HSRUN mode settings I use on the FRDM-K22F for 120MHz CPU speed:&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #define CRYSTAL_FREQUENCY&amp;nbsp;&amp;nbsp;&amp;nbsp; 8000000&amp;nbsp;&amp;nbsp; // 8 MHz crystal on board&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #define USE_HIGH_SPEED_RUN_MODE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // operate in high speed RUN mode - note that flash programing is not possible in this mode so NO_FLASH_SUPPORT should be enabled in config.h&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #define CLOCK_DIV&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // input must be divided to 2MHz..4MHz range (/1 to /24)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #define CLOCK_MUL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30&amp;nbsp;&amp;nbsp;&amp;nbsp; // the PLL multiplication factor to achieve operating frequency of 120MHz (x24 to x55 possible) - &amp;gt; 80MHz requires high speed run mode, which doesn't allow flash programming&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #define FLEX_CLOCK_DIVIDE&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 120/3 to give 40MHz&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #define FLASH_CLOCK_DIVIDE&amp;nbsp;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 120/5 to give 24MHz&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #define BUS_CLOCK_DIVIDE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 120/2 to give 60MHz&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;So if you are presently getting 80MHz you need to find a way to change the clock multiplication value (within its possible range). Probably it is giving you an input divide of 4 and multiplication of 40&amp;nbsp; so you need to change the divider to 2 and mul to 30 as above. See the following if you are not familiar with the MCG:&lt;BR /&gt;&lt;A href="https://www.utasker.com/kinetis/MCG.html" target="test_blank"&gt;https://www.utasker.com/kinetis/MCG.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P&gt;&lt;EM&gt;[uTasker project developer for Kinetis and i.MX RT]&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Jan 2020 02:53:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Clock-Setting-to-Run-a-K22-at-120-MHz/m-p/987841#M55572</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2020-01-22T02:53:20Z</dc:date>
    </item>
    <item>
      <title>Re: Clock Setting to Run a K22 at 120 MHz</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Clock-Setting-to-Run-a-K22-at-120-MHz/m-p/987842#M55573</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for the information - I think we're talking about the same thing.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the screen shot below, you can see you get a pop-up when you hover over the "PLL" Module (which seems to incorporate the "PRDIV" and "MCG_C6 (VDIV0) PLL" in the utasker page you referenced).&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="2020.01.21 - Clocking Diagram showing K20 Clocking - 2.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/99682i401236015624402B/image-size/large?v=v2&amp;amp;px=999" role="button" title="2020.01.21 - Clocking Diagram showing K20 Clocking - 2.jpg" alt="2020.01.21 - Clocking Diagram showing K20 Clocking - 2.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I look in the K22 reference manual, I guess I go by "Figure 5-1. Clocking Diagram " in which there is the "PLL" box (same as the MCUXpresso diagram above) which corresponds to nothing I can cross reference in the document BUT, if I look at the utasker diagram, I can see registers MCG_5 (which houses the PRDIV0 "PLL External Reference Divider" bits) and MCG_6 (which houses the VIVO "VC0 Divider" bits which is unfortunately described as a divider when in&amp;nbsp;it actually multiplies the signal coming in).&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, if I'm correctly comprehending what's provided by the reference manual, MCUXpresso and the utasker web page, the PRDIV0 bits divide the clock coming from XTAL0/EXTAL0 to 1 to 1/25th of its frequency, BUT the output must be between 2 MHz and 4 MHz (which means that for an 8 MHz crystal, like what's used on the FRDM-K22F, this can be 2 or 4), and the VDIV0 bits provide a multiplication factor of 24 to 55.&amp;nbsp; The output of the "PLL" module (as NXP calls it) must be between 48 MHz and 120 MHz.&amp;nbsp; Along with this, the "lock" symbol indicates that the timing is only accurate when the "LOCK0" bit is set in the MCG_S register - looking at the SDK code, the LOCK0 bit is polled in "CLOCK_EnablePll0" before it returns, where you would expect it to be.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As I will be using an 8 MHz clock in my K22 based product, like the FRDM-K22F, that means that I want to run in "PEE" mode with the PRDIV0 at 2 and the VDIV0 at 30, like was discussed before.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anything you can see that is missing here?&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for providing the link to the utasker page - that really helped cement what is happening here.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;myke&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Jan 2020 05:08:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Clock-Setting-to-Run-a-K22-at-120-MHz/m-p/987842#M55573</guid>
      <dc:creator>myke_predko</dc:creator>
      <dc:date>2020-01-22T05:08:06Z</dc:date>
    </item>
    <item>
      <title>Re: Clock Setting to Run a K22 at 120 MHz</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Clock-Setting-to-Run-a-K22-at-120-MHz/m-p/987843#M55574</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Myke&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yes, all looks to match. Note that the divider in the PLL is in the "feedback path" and this has the effect of a multiplier on the output frequency. I think you just need to somehow get the PLL to multiple by 30.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the code that I use for HSRUN at 120MHz on this board and I have written the exact hex values written to the registers as reference:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;MCG_C2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;MCG_C2_FREQ_RANGE &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; MCG_C2_GAIN_MODE &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; MCG_C2_EREFS &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; MCG_C2_LOCRE0&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// [0x94] select crystal oscillator and select a suitable range&lt;/SPAN&gt;
MCG_C1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;MCG_C1_CLKS_EXTERN_CLK &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; MCG_C1_FRDIV_VALUE&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;              &lt;SPAN class="comment token"&gt;// [0x98] switch to external source (the FLL input clock is set to as close to its input range as possible, although this is not absolutely necessary if the FLL will not be used)&lt;/SPAN&gt;
&lt;SPAN class="token function"&gt;_WAIT_REGISTER_FALSE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;MCG_S&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; MCG_S_OSCINIT&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                          &lt;SPAN class="comment token"&gt;// loop until the crystal source has been selected&lt;/SPAN&gt;
&lt;SPAN class="token function"&gt;_WAIT_REGISTER_TRUE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;MCG_S&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; MCG_S_IREFST&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                            &lt;SPAN class="comment token"&gt;// loop until the FLL source is no longer the internal reference clock&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;while&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;MCG_S &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt; MCG_S_CLKST_MASK&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;!=&lt;/SPAN&gt; MCG_S_CLKST_EXTERN_CLK&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;      &lt;SPAN class="comment token"&gt;// loop until the external reference clock source is valid&lt;/SPAN&gt;
MCG_C5 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CLOCK_DIV &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; MCG_C5_PLLSTEN0&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                        &lt;SPAN class="comment token"&gt;// [0x21] now move from state FEE to state PBE (or FBE) PLL remains enabled in normal stop modes&lt;/SPAN&gt;
MCG_C6 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CLOCK_MUL &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt; MCG_C6_VDIV0_LOWEST&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; MCG_C6_PLLS&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;          &lt;SPAN class="comment token"&gt;// [0x46] set the PLL multiplication factor&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;while&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;MCG_S &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt; MCG_S_PLLST&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;                                &lt;SPAN class="comment token"&gt;// loop until the PLLS clock source becomes valid&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;while&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;MCG_S &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt; MCG_S_LOCK&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;                                 &lt;SPAN class="comment token"&gt;// loop until PLL locks&lt;/SPAN&gt;
SIM_CLKDIV1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;SYSTEM_CLOCK_DIVIDE &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;28&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;BUS_CLOCK_DIVIDE &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;24&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;FLEX_CLOCK_DIVIDE &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;20&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;FLASH_CLOCK_DIVIDE &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;16&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// [0x01240000] prepare bus clock divides&lt;/SPAN&gt;
SMC_PMCTRL &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; SMC_PMCTRL_RUNM_HSRUN&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                                  &lt;SPAN class="comment token"&gt;// [0x60] set high speed run mode (restrictions apply) so that the clock speeds can be obtained  &lt;/SPAN&gt;
MCG_C1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;MCG_C1_CLKS_PLL_FLL &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; MCG_C1_FRDIV_1024&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                  &lt;SPAN class="comment token"&gt;// [0x28] finally move from PBE to PEE mode - switch to PLL clock&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;while&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;MCG_S &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt; MCG_S_CLKST_MASK&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;!=&lt;/SPAN&gt; MCG_S_CLKST_PLL&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;             &lt;SPAN class="comment token"&gt;// loop until the PLL clock is selected&lt;/SPAN&gt;
‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Simulation below showing the frequencies that result.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Attached is a reference binary for board (it has a memory debugger on its VCOM UART connection at 115k so you can also display register values being used).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Probably by comparing the generated code with the above you can find it more or less is equivalent and identify the value needing change, even if it can't be set in the generation tool.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P&gt;&lt;EM&gt;[uTasker project developer for Kinetis and i.MX RT]&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;IMG alt="pastedImage_1.png" src="https://community.nxp.com/t5/image/serverpage/image-id/98618iCB06D505C863ADD1/image-size/large?v=v2&amp;amp;px=999" title="pastedImage_1.png" /&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 14:31:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Clock-Setting-to-Run-a-K22-at-120-MHz/m-p/987843#M55574</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2020-11-02T14:31:21Z</dc:date>
    </item>
    <item>
      <title>Re: Clock Setting to Run a K22 at 120 MHz</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Clock-Setting-to-Run-a-K22-at-120-MHz/m-p/987844#M55575</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanx!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Jan 2020 17:32:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Clock-Setting-to-Run-a-K22-at-120-MHz/m-p/987844#M55575</guid>
      <dc:creator>myke_predko</dc:creator>
      <dc:date>2020-01-22T17:32:41Z</dc:date>
    </item>
  </channel>
</rss>

