<?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: LPC55S69 : PUF usage in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-PUF-usage/m-p/1053489#M40795</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;As we must&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;reinitialize it after wake-up from power down, you just need initialize it directly.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;It's also ok to reinitialize PUF as your code.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jul 2020 03:39:40 GMT</pubDate>
    <dc:creator>ZhangJennie</dc:creator>
    <dc:date>2020-07-15T03:39:40Z</dc:date>
    <item>
      <title>LPC55S69 : PUF usage</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-PUF-usage/m-p/1053482#M40788</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello !&lt;/P&gt;&lt;P&gt;1.&lt;/P&gt;&lt;P&gt;Do I understand right and PUF can work with CoreClock up to 150 Mhz ?&lt;/P&gt;&lt;P&gt;Or some limitation available&amp;nbsp; like with Flash memory operations ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2.&lt;/P&gt;&lt;P&gt;It is not so clear about recovery of PUF after PowerDown low power mode ?&lt;/P&gt;&lt;P&gt;Should I execute Init and Start again or just enable clock of PUF ?&lt;/P&gt;&lt;P&gt;Does activation code retains in PUF SRAM ? Or it should be reloaded from storage again ?&lt;/P&gt;&lt;P&gt;What is minimal recovery sequence ?&lt;/P&gt;&lt;P&gt;Full PUF initialization might take a lot of time and may be it should not reinit after every PowerDown cycle, only when it really need.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. What kind of Keys should be provisioned and loaded to PUF for activate key wrapping functionality ?&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;I have own keys what need to be wrapped and reconstructed back and look for minimal PUF initialization sequence.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Eugene&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Jul 2020 16:43:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-PUF-usage/m-p/1053482#M40788</guid>
      <dc:creator>EugeneHiihtaja</dc:creator>
      <dc:date>2020-07-01T16:43:12Z</dc:date>
    </item>
    <item>
      <title>Re: LPC55S69 : PUF usage</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-PUF-usage/m-p/1053483#M40789</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&amp;nbsp;&lt;/P&gt;&lt;P&gt;PUF can work under coreclock as 150Mhz.&lt;/P&gt;&lt;P&gt;According to UM, PUF keys for AES and PRINCE, if already loaded, are retained during deep-sleep and power-down but not retained during deep-power down. The CTRL, CFG, KEYLOCK, KEYENABLE, KEYRESET, IDBLK_L/H, IDXBLK__DP/H_DP, SHIFT_STATUS registers are preserved and not reset during power-down.&lt;/P&gt;&lt;P&gt;You want to use PUF to store key, thus the PUF encrypts 64-bit to 4096-bit KEY into KEY CODE&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a nice day,&lt;/P&gt;&lt;P&gt;Jun Zhang&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Jul 2020 10:30:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-PUF-usage/m-p/1053483#M40789</guid>
      <dc:creator>ZhangJennie</dc:creator>
      <dc:date>2020-07-03T10:30:40Z</dc:date>
    </item>
    <item>
      <title>Re: LPC55S69 : PUF usage</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-PUF-usage/m-p/1053484#M40790</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/ZhangJennie"&gt;ZhangJennie&lt;/A&gt;‌ !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But what about minimal reinitialization after PowerDown mode. Looks like re enabling of PUF clock is not enough and PUF_Init API&lt;/P&gt;&lt;P&gt;execute full sequence. If some register preserved, some fast reinitialization can be done.&lt;/P&gt;&lt;P&gt;Is this so ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Eugene&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Jul 2020 10:50:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-PUF-usage/m-p/1053484#M40790</guid>
      <dc:creator>EugeneHiihtaja</dc:creator>
      <dc:date>2020-07-03T10:50:19Z</dc:date>
    </item>
    <item>
      <title>Re: LPC55S69 : PUF usage</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-PUF-usage/m-p/1053485#M40791</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;From&amp;nbsp;comprehension of the UM, enable PUF clock is enough after power down mode. It's not necessary to reinitialize PUF.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Did you make code test it? Could you be more specific about the whole test process?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Jul 2020 10:32:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-PUF-usage/m-p/1053485#M40791</guid>
      <dc:creator>ZhangJennie</dc:creator>
      <dc:date>2020-07-09T10:32:30Z</dc:date>
    </item>
    <item>
      <title>Re: LPC55S69 : PUF usage</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-PUF-usage/m-p/1053486#M40792</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/ZhangJennie"&gt;ZhangJennie&lt;/A&gt;‌ !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is not enough for sure.&lt;/P&gt;&lt;P&gt;If I enable clock and read major registers they all 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PUF VERSION 0x00000000&lt;BR /&gt;PUF STAT 0x00000000, ALLOW 0x00000000, PWRCTRL 0x00000000&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;After full reinitialization there are back and PUF ready for Key Set/Get operations:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PUF VERSION 0x18A70101&lt;BR /&gt;PUF STAT 0x00000002, ALLOW 0x0000000C, PWRCTRL 0x00000003&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I try to skip RESET for example. Nothing helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Only PUF_Init and PUF Start after that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have enrolled PUF via ISP and secure boot and etc is not used yet.&lt;/P&gt;&lt;P&gt;But I should know fast recover sequence after PowerDown mode what dosn't cause any impact for standard intrinsic keys.&lt;/P&gt;&lt;P&gt;I think a lot of peoples might have similar use case.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Eugene&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Jul 2020 11:33:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-PUF-usage/m-p/1053486#M40792</guid>
      <dc:creator>EugeneHiihtaja</dc:creator>
      <dc:date>2020-07-09T11:33:19Z</dc:date>
    </item>
    <item>
      <title>Re: LPC55S69 : PUF usage</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-PUF-usage/m-p/1053487#M40793</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.5pt; color: #51626f; background: white;"&gt;Hi Eugene&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.5pt; color: #51626f; background: white;"&gt;According to Table 280. Power domain supply, Physically Unclonable Function (PUF) is under PD_CORE power domains. According to Table 281. During power down mode, PD_CORE is OFF. Thus we can conclude PUF is off during power down mode. Thus we need reinitialize it after wake-up.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #005042; font-size: 9.0pt; "&gt;&amp;nbsp;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/115607i6FDF28764A31C591/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.5pt; color: #51626f; background: white;"&gt;PUF keys for AES and PRINCE, if already loaded, are retained during deep-sleep and power-down&lt;/SPAN&gt;, but PUF itself is off during power down mode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Jun Zhang&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Jul 2020 02:55:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-PUF-usage/m-p/1053487#M40793</guid>
      <dc:creator>ZhangJennie</dc:creator>
      <dc:date>2020-07-13T02:55:57Z</dc:date>
    </item>
    <item>
      <title>Re: LPC55S69 : PUF usage</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-PUF-usage/m-p/1053488#M40794</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/ZhangJennie"&gt;ZhangJennie&lt;/A&gt;‌ !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think if "&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;PUF keys for AES and PRINCE retained" somewhere, it is not a problem to reinitialize it when PUF is need for user keys.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;But 2 problems appears.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Initialization of PUF might take up to 400 ms in worst ambient conditions what are not specified so well.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;I can see it take quite short time and if it can take so long it can be problem.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;How properly to identify if PUF is not initialized yet ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;I think I can read register as usually, but may be enabling of PUF clock is need as well.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Is this so ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;CLOCK_EnableClock(kCLOCK_Puf);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;if (!PUF_IsGetKeyAllowed(PUF))&lt;BR /&gt; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;// Full PUF reinitialization&lt;BR /&gt;&amp;nbsp; .....&lt;BR /&gt; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Eugene&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Jul 2020 05:59:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-PUF-usage/m-p/1053488#M40794</guid>
      <dc:creator>EugeneHiihtaja</dc:creator>
      <dc:date>2020-07-13T05:59:39Z</dc:date>
    </item>
    <item>
      <title>Re: LPC55S69 : PUF usage</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-PUF-usage/m-p/1053489#M40795</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;As we must&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;reinitialize it after wake-up from power down, you just need initialize it directly.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;It's also ok to reinitialize PUF as your code.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jul 2020 03:39:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S69-PUF-usage/m-p/1053489#M40795</guid>
      <dc:creator>ZhangJennie</dc:creator>
      <dc:date>2020-07-15T03:39:40Z</dc:date>
    </item>
  </channel>
</rss>

