<?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>LPC MicrocontrollersのトピックRe: can not configure PLL for sysCLK=30MHz by set_pll() ROM-API</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/can-not-configure-PLL-for-sysCLK-30MHz-by-set-pll-ROM-API/m-p/565611#M17134</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by NXP_Paul on Wed Oct 22 11:44:04 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I confirmed your findings, and am now investigating why a 30MHz system clock cannot be obtained using the set_pll() ROM-API function.&amp;nbsp; While I investigate this, you can obtain the 30 MHz clock by using the following values in system_LPC8xx.c:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define CLOCK_SETUP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define SYSOSCCTRL_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Reset: 0x000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define WDTOSCCTRL_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Reset: 0x000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define SYSPLLCTRL_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000024&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Reset: 0x000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define SYSPLLCLKSEL_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Reset: 0x000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define MAINCLKSEL_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000003&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Reset: 0x000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define SYSAHBCLKDIV_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000002&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Reset: 0x001&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Paul&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 20:04:33 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T20:04:33Z</dc:date>
    <item>
      <title>can not configure PLL for sysCLK=30MHz by set_pll() ROM-API</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/can-not-configure-PLL-for-sysCLK-30MHz-by-set-pll-ROM-API/m-p/565610#M17133</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by uratan on Tue Oct 21 07:37:55 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi all.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am trying LPC810, it is fun to handle this powerfull small-package-computer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I am evaluating Power-profile-API-ROM-driver Now, and I have found a problem.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;With IRC:12MHz and set_pll() API,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I can tune system-clock to 24MHz/36MHz, but 30MHz.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;Parameters like below returns status: 0x03
&amp;nbsp; cmd[0] = 12 * 1000;
&amp;nbsp; cmd[1] = 30 * 1000;
&amp;nbsp; cmd[2] = CPU_FREQ_EQU;
&amp;nbsp; cmd[3] = 0;
&amp;nbsp; LPC_PWRD_API-&amp;gt;set_pll(cmd, resp);
&amp;nbsp;&amp;nbsp; ==&amp;gt; resp[0] is: 0x03 (PLL_FREQ_NOT_FOUND)
&amp;nbsp;&amp;nbsp; ==&amp;gt; resp[1] is: 12*1000
&amp;nbsp;&amp;nbsp; ==&amp;gt; 00000000 =SYSPLLCTRL
&amp;nbsp;&amp;nbsp; ==&amp;gt; 00000000 =SYSPLLSTAT
&amp;nbsp;&amp;nbsp; ==&amp;gt; 00000001 =SYSAHBCLKDIV
&amp;nbsp;&amp;nbsp; ==&amp;gt; 0000EDF0 =PDRUNCFG

Parameters like below returns status: 0x00, and the PLL is set to 24MHz.
&amp;nbsp; cmd[0] = 12 * 1000;
&amp;nbsp; cmd[1] = 30 * 1000;
&amp;nbsp; cmd[2] = CPU_FREQ_LTE;
&amp;nbsp; cmd[3] = 0;
&amp;nbsp; LPC_PWRD_API-&amp;gt;set_pll(cmd, resp);
&amp;nbsp;&amp;nbsp; ==&amp;gt; resp[0] is: 0x00 (PLL_CMD_SUCCESS)
&amp;nbsp;&amp;nbsp; ==&amp;gt; resp[1] is: 24*1000
&amp;nbsp;&amp;nbsp; ==&amp;gt; 00000041 =SYSPLLCTRL
&amp;nbsp;&amp;nbsp; ==&amp;gt; 00000001 =SYSPLLSTAT
&amp;nbsp;&amp;nbsp; ==&amp;gt; 00000001 =SYSAHBCLKDIV
&amp;nbsp;&amp;nbsp; ==&amp;gt; 0000ED70 =PDRUNCFG

Parameters like below returns status: 0x00, and the PLL is set to 36MHz !!.
&amp;nbsp; cmd[0] = 12 * 1000;
&amp;nbsp; cmd[1] = 30 * 1000;
&amp;nbsp; cmd[2] = CPU_FREQ_GTE;
&amp;nbsp; cmd[3] = 0;
&amp;nbsp; LPC_PWRD_API-&amp;gt;set_pll(cmd, resp);
&amp;nbsp;&amp;nbsp; ==&amp;gt; resp[0] is: 0x00 (PLL_CMD_SUCCESS)
&amp;nbsp;&amp;nbsp; ==&amp;gt; resp[1] is: 36*1000
&amp;nbsp;&amp;nbsp; ==&amp;gt; 00000042 =SYSPLLCTRL
&amp;nbsp;&amp;nbsp; ==&amp;gt; 00000001 =SYSPLLSTAT
&amp;nbsp;&amp;nbsp; ==&amp;gt; 00000001 =SYSAHBCLKDIV
&amp;nbsp;&amp;nbsp; ==&amp;gt; 0000ED70 =PDRUNCFG
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I confirmed the result by that I can communicate by uart correctly&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;and register values dumped thru the uart.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My LPC810 is:&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; +------------+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; | LPC810&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; ) P&amp;nbsp; M021F&amp;nbsp;&amp;nbsp; |
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; ) X&amp;nbsp; 1M28603 |
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; | N&amp;nbsp; +D3414C | ... year 3, week 41, 4C' ver.13.4
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; +------------+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | Dev.ID:&amp;nbsp; 0x00008100
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | B.L.Ver: 13.4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;-- by FlashMagic
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt;And referecing:&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; UM10601: LPC81x User manual Rev.1.6
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; LPC81xM: Product data sheet Rev.4.3
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; lpcopen_2_01_lpcxpresso_nxp_lpcxpresso_812.zip
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I want to use sysCLK=30MHz from IRC:12MHz, shall I not use set_pll() ROM-API ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; - * - * -&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;p.s.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Some mistakes in UM10601(Rev.1.6) are found, please confirm these.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(1) Page.127 of 370: PINENABLE0 description&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; wrong:&amp;nbsp;&amp;nbsp; ACMP_I0/ACMP_I1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; correct: ACMP_I1/ACMP_I2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(2) Page.27 of 370: Reset value of WDTOSCCTRL&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; wrong:&amp;nbsp;&amp;nbsp; 0x0A0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; correct: 0x000&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 20:04:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/can-not-configure-PLL-for-sysCLK-30MHz-by-set-pll-ROM-API/m-p/565610#M17133</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T20:04:32Z</dc:date>
    </item>
    <item>
      <title>Re: can not configure PLL for sysCLK=30MHz by set_pll() ROM-API</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/can-not-configure-PLL-for-sysCLK-30MHz-by-set-pll-ROM-API/m-p/565611#M17134</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by NXP_Paul on Wed Oct 22 11:44:04 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I confirmed your findings, and am now investigating why a 30MHz system clock cannot be obtained using the set_pll() ROM-API function.&amp;nbsp; While I investigate this, you can obtain the 30 MHz clock by using the following values in system_LPC8xx.c:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define CLOCK_SETUP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define SYSOSCCTRL_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Reset: 0x000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define WDTOSCCTRL_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Reset: 0x000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define SYSPLLCTRL_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000024&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Reset: 0x000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define SYSPLLCLKSEL_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Reset: 0x000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define MAINCLKSEL_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000003&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Reset: 0x000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define SYSAHBCLKDIV_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000002&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Reset: 0x001&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Paul&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 20:04:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/can-not-configure-PLL-for-sysCLK-30MHz-by-set-pll-ROM-API/m-p/565611#M17134</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T20:04:33Z</dc:date>
    </item>
    <item>
      <title>Re: can not configure PLL for sysCLK=30MHz by set_pll() ROM-API</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/can-not-configure-PLL-for-sysCLK-30MHz-by-set-pll-ROM-API/m-p/565612#M17135</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by uratan on Sun Oct 26 05:49:55 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you for your comment.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I will continue to evaluate 'set_power' ROM-API function, with your advice.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 20:04:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/can-not-configure-PLL-for-sysCLK-30MHz-by-set-pll-ROM-API/m-p/565612#M17135</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T20:04:33Z</dc:date>
    </item>
  </channel>
</rss>

