<?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: Set MCGOUTCLK as 120 Mhz in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Set-MCGOUTCLK-as-120-Mhz/m-p/1788734#M65945</link>
    <description>&lt;P&gt;The problem is finally solved.&lt;BR /&gt;&lt;BR /&gt;The main problem came from the primary frequency.&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;The crystal on the TWRKV58F220M delivers a frequency of 24 MHz&lt;/STRONG&gt; and not 8 Mhz, thats why it didn't worked, my calculations were not correct.&lt;BR /&gt;&lt;BR /&gt;Now it works, perfectly.&lt;BR /&gt;&lt;BR /&gt;Thank you&lt;/P&gt;</description>
    <pubDate>Mon, 15 Jan 2024 10:58:52 GMT</pubDate>
    <dc:creator>Devyy</dc:creator>
    <dc:date>2024-01-15T10:58:52Z</dc:date>
    <item>
      <title>Set MCGOUTCLK as 120 Mhz</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Set-MCGOUTCLK-as-120-Mhz/m-p/1785281#M65910</link>
      <description>&lt;P&gt;Hello everyone !&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;I'm asking your help today to configure the MCG module of my Kinetis KV58xxx.&lt;BR /&gt;&lt;STRONG&gt;I'm trying to set the MCGOUTCLK at 120 MHz.&lt;/STRONG&gt; At reset it's set at 21 Mhz.&lt;BR /&gt;&lt;BR /&gt;I'm using the board TWR-KV58220M with a crystal (external clock ?) at 8 MHz.&lt;BR /&gt;&lt;BR /&gt;The reference manual of the mcu gives an example of how to do it from an external clock equal to 16 Mhz. (32.6.3.1&amp;nbsp; &amp;nbsp;page 708).&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Devyy_0-1704805485616.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/257298i70D2349116C92CD2/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Devyy_0-1704805485616.png" alt="Devyy_0-1704805485616.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I followed the steps and lauched my program. Every registers changes works but after the last line, my code crashes.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;So, I tried to debug it and this is how I found that my crystal was 8 MHz and not 16 MHz.&lt;BR /&gt;I changed the first line of the code (from 0x2C to 0x1C) to enter the correct range but it's still not working.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;I dont exactly understand how the clock distribution works and still learning. That's why i'm not using pre-made functions. I'm modifying every registers without functions.&lt;BR /&gt;&lt;BR /&gt;Thank you in advance for your help,&lt;BR /&gt;&lt;BR /&gt;Devyy&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Jan 2024 13:10:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Set-MCGOUTCLK-as-120-Mhz/m-p/1785281#M65910</guid>
      <dc:creator>Devyy</dc:creator>
      <dc:date>2024-01-09T13:10:34Z</dc:date>
    </item>
    <item>
      <title>Re: Set MCGOUTCLK as 120 Mhz</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Set-MCGOUTCLK-as-120-Mhz/m-p/1785891#M65919</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;The TWR-KV58220M board embeds the 50MHz clock source, so you can use the 50MHz clock source to get high clock frequency based on PLL.&lt;/P&gt;
&lt;P&gt;After Reset, the default is FBI mode, following up a state machine, we can get PEE mode.&lt;/P&gt;
&lt;P&gt;The SDK package provides the api function to get high clock frequency with PEE mode.&lt;/P&gt;
&lt;P&gt;I post the&amp;nbsp; functions, you can call &lt;SPAN&gt;BOARD_BootClockRUN&lt;/SPAN&gt;() to get 150MHz core clock frequency.&lt;/P&gt;
&lt;P&gt;If you do want to write the MCG register to be familiar with the clock module, pls update the ticket.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hope it can help you&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;XiangJun Rong&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;DIV style="background-color: #ffffff; padding: 0px 0px 0px 2px;"&gt;
&lt;DIV style="color: #000000; background-color: #ffffff; font-family: 'Consolas'; font-size: 10pt; white-space: nowrap;"&gt;
&lt;P&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;mcg_config_t&lt;/SPAN&gt;&lt;SPAN&gt; mcgConfig_BOARD_BootClockRUN = {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; .mcgMode = &lt;/SPAN&gt;&lt;SPAN&gt;kMCG_ModePEE&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;/* PEE - PLL Engaged External */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; .irclkEnableMode = &lt;/SPAN&gt;&lt;SPAN&gt;kMCG_IrclkEnable&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;/* MCGIRCLK enabled, MCGIRCLK disabled in STOP mode */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; .ircs = &lt;/SPAN&gt;&lt;SPAN&gt;kMCG_IrcSlow&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;/* Slow internal reference clock selected */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; .fcrdiv = 0x0U, &lt;/SPAN&gt;&lt;SPAN&gt;/* Fast IRC divider: divided by 1 */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; .frdiv = 0x0U, &lt;/SPAN&gt;&lt;SPAN&gt;/* FLL reference clock divider: divided by 32 */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; .drs = &lt;/SPAN&gt;&lt;SPAN&gt;kMCG_DrsHigh&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;/* High frequency range */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; .dmx32 = &lt;/SPAN&gt;&lt;SPAN&gt;kMCG_Dmx32Default&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;/* DCO has a default range of 25% */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; .pll0Config =&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; .enableMode = MCG_PLL_DISABLE, &lt;/SPAN&gt;&lt;SPAN&gt;/* MCGPLLCLK disabled */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; .prdiv = 0x3U, &lt;/SPAN&gt;&lt;SPAN&gt;/* PLL Reference divider: divided by 4 */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; .vdiv = 0x8U, &lt;/SPAN&gt;&lt;SPAN&gt;/* VCO divider: multiplied by 24 */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; },&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;};&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;sim_clock_config_t&lt;/SPAN&gt;&lt;SPAN&gt; simConfig_BOARD_BootClockRUN = {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; .pllFllSel = SIM_PLLFLLSEL_MCGPLLCLK_CLK, &lt;/SPAN&gt;&lt;SPAN&gt;/* PLLFLL select: MCGPLLCLK clock */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; .er32ksrc=SIM_OSC32KSEL_LPO_CLK, &lt;/SPAN&gt;&lt;SPAN&gt;/* OSC32KSEL select: LPO clock */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; .clkdiv1 = 0x01150000U, &lt;/SPAN&gt;&lt;SPAN&gt;/* SIM_CLKDIV1 - OUTDIV1: /1, OUTDIV2: /2, OUTDIV3: /2, OUTDIV4: /6 */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;};&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;osc_config_t&lt;/SPAN&gt;&lt;SPAN&gt; oscConfig_BOARD_BootClockRUN = {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; .freq = 50000000U, &lt;/SPAN&gt;&lt;SPAN&gt;/* Oscillator frequency: 48000000Hz */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; .capLoad = (OSC_CAP0P), &lt;/SPAN&gt;&lt;SPAN&gt;/* Oscillator capacity load: 0pF */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; .workMode = &lt;/SPAN&gt;&lt;SPAN&gt;kOSC_ModeExt&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;/* Use external clock */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; .oscerConfig = {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; .enableMode =&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;kOSC_ErClkEnable&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;/* Enable external reference clock, disable external reference clock in STOP mode */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; .erclkDiv = 0, &lt;/SPAN&gt;&lt;SPAN&gt;/* Divider for OSCERCLK: divided by 1 */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; }};&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/*******************************************************************************&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; * Code for BOARD_BootClockRUN configuration&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; ******************************************************************************/&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;void&lt;/SPAN&gt; &lt;SPAN&gt;BOARD_BootClockRUN&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;void&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/* Set the system clock dividers in SIM to safe value. */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; CLOCK_CONFIG_SetSimSafeDivs();&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/* Initializes OSC0 according to board configuration. */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; CLOCK_InitOsc0(&amp;amp;oscConfig_BOARD_BootClockRUN);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; CLOCK_SetXtal0Freq(oscConfig_BOARD_BootClockRUN.&lt;/SPAN&gt;&lt;SPAN&gt;freq&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/* Configure FLL external reference divider (FRDIV). */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; CLOCK_CONFIG_SetFllExtRefDiv(mcgConfig_BOARD_BootClockRUN.&lt;/SPAN&gt;&lt;SPAN&gt;frdiv&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/* Set MCG to PEE mode. */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; CLOCK_BootToPeeMode(&lt;/SPAN&gt;&lt;SPAN&gt;kMCG_OscselOsc&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;kMCG_PllClkSelPll0&lt;/SPAN&gt;&lt;SPAN&gt;, &amp;amp;mcgConfig_BOARD_BootClockRUN.&lt;/SPAN&gt;&lt;SPAN&gt;pll0Config&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/* Configure the Internal Reference clock (MCGIRCLK). */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; CLOCK_SetInternalRefClkConfig(mcgConfig_BOARD_BootClockRUN.&lt;/SPAN&gt;&lt;SPAN&gt;irclkEnableMode&lt;/SPAN&gt;&lt;SPAN&gt;, mcgConfig_BOARD_BootClockRUN.&lt;/SPAN&gt;&lt;SPAN&gt;ircs&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; mcgConfig_BOARD_BootClockRUN.&lt;/SPAN&gt;&lt;SPAN&gt;fcrdiv&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/* Set the clock configuration in SIM module. */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; CLOCK_SetSimConfig(&amp;amp;simConfig_BOARD_BootClockRUN);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;/* Set SystemCoreClock variable. */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; SystemCoreClock = &lt;/SPAN&gt;&lt;SPAN&gt;BOARD_BOOTCLOCKRUN_CORE_CLOCK&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Wed, 10 Jan 2024 08:26:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Set-MCGOUTCLK-as-120-Mhz/m-p/1785891#M65919</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2024-01-10T08:26:12Z</dc:date>
    </item>
    <item>
      <title>Re: Set MCGOUTCLK as 120 Mhz</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Set-MCGOUTCLK-as-120-Mhz/m-p/1785912#M65921</link>
      <description>Hey, first of all thank you for your answer.&lt;BR /&gt;&lt;BR /&gt;Honestly I already had that function, but I would like to manually configure MCG registers.&lt;BR /&gt;&lt;BR /&gt;Additionally I have a question, you're saying that the defaut mode is FBI, isnt the default mode FEI ?&lt;BR /&gt;The documentation says that to reach PEE mode from reset, I have to go through FEI (reset mode) -&amp;gt; FBE -&amp;gt; PBE -&amp;gt; PEE.&lt;BR /&gt;&lt;BR /&gt;Thank</description>
      <pubDate>Wed, 10 Jan 2024 08:54:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Set-MCGOUTCLK-as-120-Mhz/m-p/1785912#M65921</guid>
      <dc:creator>Devyy</dc:creator>
      <dc:date>2024-01-10T08:54:46Z</dc:date>
    </item>
    <item>
      <title>Re: Set MCGOUTCLK as 120 Mhz</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Set-MCGOUTCLK-as-120-Mhz/m-p/1785946#M65922</link>
      <description>&lt;P&gt;Hi, &lt;BR /&gt;I am sorry, this is typo, after Reset, the default mode is FEI instead of FBI.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="xiangjun_rong_0-1704878912579.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/257508iECCD9556094B4CD3/image-size/medium?v=v2&amp;amp;px=400" role="button" title="xiangjun_rong_0-1704878912579.png" alt="xiangjun_rong_0-1704878912579.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Pls refer to the clock configuration attached in similar register writing.&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;XiangJun Rong&lt;/P&gt;</description>
      <pubDate>Wed, 10 Jan 2024 09:35:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Set-MCGOUTCLK-as-120-Mhz/m-p/1785946#M65922</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2024-01-10T09:35:40Z</dc:date>
    </item>
    <item>
      <title>Re: Set MCGOUTCLK as 120 Mhz</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Set-MCGOUTCLK-as-120-Mhz/m-p/1788734#M65945</link>
      <description>&lt;P&gt;The problem is finally solved.&lt;BR /&gt;&lt;BR /&gt;The main problem came from the primary frequency.&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;The crystal on the TWRKV58F220M delivers a frequency of 24 MHz&lt;/STRONG&gt; and not 8 Mhz, thats why it didn't worked, my calculations were not correct.&lt;BR /&gt;&lt;BR /&gt;Now it works, perfectly.&lt;BR /&gt;&lt;BR /&gt;Thank you&lt;/P&gt;</description>
      <pubDate>Mon, 15 Jan 2024 10:58:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Set-MCGOUTCLK-as-120-Mhz/m-p/1788734#M65945</guid>
      <dc:creator>Devyy</dc:creator>
      <dc:date>2024-01-15T10:58:52Z</dc:date>
    </item>
  </channel>
</rss>

