<?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>MCUXpresso Config ToolsのトピックValid clock settings unaccessible in Config Tools</title>
    <link>https://community.nxp.com/t5/MCUXpresso-Config-Tools/Valid-clock-settings-unaccessible-in-Config-Tools/m-p/1689069#M1701</link>
    <description>&lt;P&gt;For iMXRT1176, I'm using Config Tools to configure the system clocks.&lt;BR /&gt;For ARM PLL, I can select a PREDIV (only option: /1) and a VDIV (options: [52, 104], step by 1).&lt;BR /&gt;Then, after the ARM_PLL_BYPASS, there is ARM_PLL_POST_DIV, selectable from {/1, /2, /4, /8}.&lt;/P&gt;&lt;P&gt;However, the SDK libraries have these parameters organized a bit differently (also in the code generated by the Config Tools, in "clock_config.c").&lt;BR /&gt;The relevant parameters are:&lt;BR /&gt;typedef struct _clock_arm_pll_config&lt;BR /&gt;{&lt;BR /&gt;clock_pll_post_div_t postDivider; /*!&amp;lt; Post divider. */&lt;BR /&gt;uint32_t loopDivider; /*!&amp;lt; PLL loop divider. Valid range: 104-208. */&lt;BR /&gt;} clock_arm_pll_config_t;&lt;BR /&gt;typedef enum _clock_pll_post_div&lt;BR /&gt;{&lt;BR /&gt;kCLOCK_PllPostDiv2 = 0U, /*!&amp;lt; Divide by 2. */&lt;BR /&gt;kCLOCK_PllPostDiv4 = 1U, /*!&amp;lt; Divide by 4. */&lt;BR /&gt;kCLOCK_PllPostDiv8 = 2U, /*!&amp;lt; Divide by 8. */&lt;BR /&gt;kCLOCK_PllPostDiv1 = 3U, /*!&amp;lt; Divide by 1. */&lt;BR /&gt;} clock_pll_post_div_t;&lt;/P&gt;&lt;P&gt;(note: the "loop divider" actually multiplies the frequency, e.g. if it is set to 100, the frequency is multiplied from 24MHz to 2.4GHz)&lt;BR /&gt;So, as you can see, the post divider has the same options, but the loop divider is in the range [104, 208] instead of [52, 104]. They are actually equivalent, because the Config Tools already take into account a fixed /2 division that is intrinsic in the PLL, whereas the relevant register bits ARM_PLL_CTRL[DIV_SELECT] do indeed take a value in [104, 208].&lt;BR /&gt;The reference manual (IMXRT1179RM, Rev. 2, 06/2023, p.1626) states the following:&lt;BR /&gt;DIV_SELECT&lt;BR /&gt;This field controls the pll loop divider. Valid range for divider value: 104-208.&lt;BR /&gt;Fout = Fin * div_select/2.0&lt;/P&gt;&lt;P&gt;In the end, all the calculations are correct, but the Config Tools prevents you from choosing all possible frequencies.&lt;BR /&gt;The actual range is:&lt;BR /&gt;[104, 208]/2 = {52, 52.5, 53, ..., 103.5, 104}&lt;BR /&gt;Whereas the Config Tools only allow the integer values to be selected: [52, 104]&lt;/P&gt;&lt;P&gt;It would be better, and also less confusing, to have Config Tools let you select a value in [104, 208], and have a fixed "/2" block drawn in series with the ARM_PLL block, in the graphical "Clocks diagram" tab of "Config Tools | Clocks".&lt;BR /&gt;See the attached picture for the proposed changes.&lt;/P&gt;</description>
    <pubDate>Thu, 20 Jul 2023 07:07:07 GMT</pubDate>
    <dc:creator>stefano-quantic</dc:creator>
    <dc:date>2023-07-20T07:07:07Z</dc:date>
    <item>
      <title>Valid clock settings unaccessible in Config Tools</title>
      <link>https://community.nxp.com/t5/MCUXpresso-Config-Tools/Valid-clock-settings-unaccessible-in-Config-Tools/m-p/1689069#M1701</link>
      <description>&lt;P&gt;For iMXRT1176, I'm using Config Tools to configure the system clocks.&lt;BR /&gt;For ARM PLL, I can select a PREDIV (only option: /1) and a VDIV (options: [52, 104], step by 1).&lt;BR /&gt;Then, after the ARM_PLL_BYPASS, there is ARM_PLL_POST_DIV, selectable from {/1, /2, /4, /8}.&lt;/P&gt;&lt;P&gt;However, the SDK libraries have these parameters organized a bit differently (also in the code generated by the Config Tools, in "clock_config.c").&lt;BR /&gt;The relevant parameters are:&lt;BR /&gt;typedef struct _clock_arm_pll_config&lt;BR /&gt;{&lt;BR /&gt;clock_pll_post_div_t postDivider; /*!&amp;lt; Post divider. */&lt;BR /&gt;uint32_t loopDivider; /*!&amp;lt; PLL loop divider. Valid range: 104-208. */&lt;BR /&gt;} clock_arm_pll_config_t;&lt;BR /&gt;typedef enum _clock_pll_post_div&lt;BR /&gt;{&lt;BR /&gt;kCLOCK_PllPostDiv2 = 0U, /*!&amp;lt; Divide by 2. */&lt;BR /&gt;kCLOCK_PllPostDiv4 = 1U, /*!&amp;lt; Divide by 4. */&lt;BR /&gt;kCLOCK_PllPostDiv8 = 2U, /*!&amp;lt; Divide by 8. */&lt;BR /&gt;kCLOCK_PllPostDiv1 = 3U, /*!&amp;lt; Divide by 1. */&lt;BR /&gt;} clock_pll_post_div_t;&lt;/P&gt;&lt;P&gt;(note: the "loop divider" actually multiplies the frequency, e.g. if it is set to 100, the frequency is multiplied from 24MHz to 2.4GHz)&lt;BR /&gt;So, as you can see, the post divider has the same options, but the loop divider is in the range [104, 208] instead of [52, 104]. They are actually equivalent, because the Config Tools already take into account a fixed /2 division that is intrinsic in the PLL, whereas the relevant register bits ARM_PLL_CTRL[DIV_SELECT] do indeed take a value in [104, 208].&lt;BR /&gt;The reference manual (IMXRT1179RM, Rev. 2, 06/2023, p.1626) states the following:&lt;BR /&gt;DIV_SELECT&lt;BR /&gt;This field controls the pll loop divider. Valid range for divider value: 104-208.&lt;BR /&gt;Fout = Fin * div_select/2.0&lt;/P&gt;&lt;P&gt;In the end, all the calculations are correct, but the Config Tools prevents you from choosing all possible frequencies.&lt;BR /&gt;The actual range is:&lt;BR /&gt;[104, 208]/2 = {52, 52.5, 53, ..., 103.5, 104}&lt;BR /&gt;Whereas the Config Tools only allow the integer values to be selected: [52, 104]&lt;/P&gt;&lt;P&gt;It would be better, and also less confusing, to have Config Tools let you select a value in [104, 208], and have a fixed "/2" block drawn in series with the ARM_PLL block, in the graphical "Clocks diagram" tab of "Config Tools | Clocks".&lt;BR /&gt;See the attached picture for the proposed changes.&lt;/P&gt;</description>
      <pubDate>Thu, 20 Jul 2023 07:07:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-Config-Tools/Valid-clock-settings-unaccessible-in-Config-Tools/m-p/1689069#M1701</guid>
      <dc:creator>stefano-quantic</dc:creator>
      <dc:date>2023-07-20T07:07:07Z</dc:date>
    </item>
    <item>
      <title>Re: Valid clock settings unaccessible in Config Tools</title>
      <link>https://community.nxp.com/t5/MCUXpresso-Config-Tools/Valid-clock-settings-unaccessible-in-Config-Tools/m-p/1695165#M1708</link>
      <description>&lt;P class="lia-align-justify"&gt;Hello &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/219981"&gt;@stefano-quantic&lt;/a&gt;,&lt;/P&gt;
&lt;P class="lia-align-justify"&gt;Thanks for your complete feedback and suggestion, as you point out ConfigTools not use all frequencies supported mentioned in IMXRT1170RM Rev. 2 using [52, 104] range instead of [104, 208].&lt;/P&gt;
&lt;P class="lia-align-justify"&gt;We are going to let this known to the team in charge.&lt;/P&gt;
&lt;P class="lia-align-justify"&gt;Thanks again for the feedback.&lt;/P&gt;
&lt;P class="lia-align-justify"&gt;Best regards, Raul.&lt;/P&gt;</description>
      <pubDate>Fri, 28 Jul 2023 18:32:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-Config-Tools/Valid-clock-settings-unaccessible-in-Config-Tools/m-p/1695165#M1708</guid>
      <dc:creator>RaRo</dc:creator>
      <dc:date>2023-07-28T18:32:23Z</dc:date>
    </item>
  </channel>
</rss>

