<?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>i.MX ProcessorsのトピックBurning/Checking OTPMK fuses for HAB on I.MX6</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Burning-Checking-OTPMK-fuses-for-HAB-on-I-MX6/m-p/223661#M15374</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;Hello,&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;I'm working on HAB. I'm using a SabreSD board with i.MX6quad processor.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;According to “i.MX_6_High_Assurance_Boot_Linux_User_Guide” I burned the SRK to the corresponding fuses and verified it. Following I tried to check if the OTPMK is already burned.&lt;BR /&gt; &lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;I tried to read out the key with the MFG-Toll and the commands as followed.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;...&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;&amp;lt;CMD&amp;gt; state=”Updater” type=”push” body=”$ cat /sys/fsl_otp/HW_OCOTP_OTPMK0”&amp;gt;cat word 0 of OTPMK field &amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;&amp;lt;CMD&amp;gt; state=”Updater” type=”push” body=”$ cat /sys/fsl_otp/HW_OCOTP_OTPMK1”&amp;gt;cat word 1 of OTPMK field &amp;lt;/CMD&amp;gt; &lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;&amp;lt;CMD&amp;gt; state=”Updater” type=”push” body=”$ cat /sys/fsl_otp/HW_OCOTP_OTPMK2”&amp;gt;cat word 2 of OTPMK field &amp;lt;/CMD&amp;gt; &lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;…&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;I only got this output.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;...&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: sending Success to kernel for command $ ls /sys/fsl_otp. &lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: received command '$ cat /sys/fsl_otp/HW_OCOTP_OTPMK0'&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: executing "cat /sys/fsl_otp/HW_OCOTP_OTPMK0"&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;0xbadabada&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: sending Success to kernel for command $ cat /sys/fsl_otp/HW_OCOTP_OTPMK0.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;utp_poll: pass returned.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: received command '$ cat /sys/fsl_otp/HW_OCOTP_OTPMK1'&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: executing "cat /sys/fsl_otp/HW_OCOTP_OTPMK1"&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: sending Success to kernel for command $ cat /sys/fsl_otp/HW_OCOTP_OTPMK1.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;utp_poll: pass returned.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: received command '$ cat /sys/fsl_otp/HW_OCOTP_OTPMK2'&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: executing "cat /sys/fsl_otp/HW_OCOTP_OTPMK2"&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: sending Success to kernel for command $ cat /sys/fsl_otp/HW_OCOTP_OTPMK2.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;utp_poll: pass returned.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: received command '$ cat /sys/fsl_otp/HW_OCOTP_OTPMK3'&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;...&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;I tried to burn the OTPMK but also without success.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;I have a few questions:&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;1) Is the OTPMK already fused?&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;2) Why do I get 0xbadabada at HW_OCOTP_OTPMK0 and no values for the other fuses?&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;3) Is it possible to read the OTPMK anyway?&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;4) Am I doing anything wrong?&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;5) If I still have to fuse the OTPMK how can I do it?&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;Thanks …&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;Florian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 22 Oct 2013 11:26:58 GMT</pubDate>
    <dc:creator>n0n</dc:creator>
    <dc:date>2013-10-22T11:26:58Z</dc:date>
    <item>
      <title>Burning/Checking OTPMK fuses for HAB on I.MX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Burning-Checking-OTPMK-fuses-for-HAB-on-I-MX6/m-p/223661#M15374</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;Hello,&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;I'm working on HAB. I'm using a SabreSD board with i.MX6quad processor.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;According to “i.MX_6_High_Assurance_Boot_Linux_User_Guide” I burned the SRK to the corresponding fuses and verified it. Following I tried to check if the OTPMK is already burned.&lt;BR /&gt; &lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;I tried to read out the key with the MFG-Toll and the commands as followed.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;...&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;&amp;lt;CMD&amp;gt; state=”Updater” type=”push” body=”$ cat /sys/fsl_otp/HW_OCOTP_OTPMK0”&amp;gt;cat word 0 of OTPMK field &amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;&amp;lt;CMD&amp;gt; state=”Updater” type=”push” body=”$ cat /sys/fsl_otp/HW_OCOTP_OTPMK1”&amp;gt;cat word 1 of OTPMK field &amp;lt;/CMD&amp;gt; &lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;&amp;lt;CMD&amp;gt; state=”Updater” type=”push” body=”$ cat /sys/fsl_otp/HW_OCOTP_OTPMK2”&amp;gt;cat word 2 of OTPMK field &amp;lt;/CMD&amp;gt; &lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;…&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;I only got this output.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;...&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: sending Success to kernel for command $ ls /sys/fsl_otp. &lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: received command '$ cat /sys/fsl_otp/HW_OCOTP_OTPMK0'&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: executing "cat /sys/fsl_otp/HW_OCOTP_OTPMK0"&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;0xbadabada&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: sending Success to kernel for command $ cat /sys/fsl_otp/HW_OCOTP_OTPMK0.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;utp_poll: pass returned.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: received command '$ cat /sys/fsl_otp/HW_OCOTP_OTPMK1'&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: executing "cat /sys/fsl_otp/HW_OCOTP_OTPMK1"&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: sending Success to kernel for command $ cat /sys/fsl_otp/HW_OCOTP_OTPMK1.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;utp_poll: pass returned.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: received command '$ cat /sys/fsl_otp/HW_OCOTP_OTPMK2'&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: executing "cat /sys/fsl_otp/HW_OCOTP_OTPMK2"&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: sending Success to kernel for command $ cat /sys/fsl_otp/HW_OCOTP_OTPMK2.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;utp_poll: pass returned.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;UTP: received command '$ cat /sys/fsl_otp/HW_OCOTP_OTPMK3'&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm; padding-left: 30px;"&gt;...&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;I tried to burn the OTPMK but also without success.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;I have a few questions:&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;1) Is the OTPMK already fused?&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;2) Why do I get 0xbadabada at HW_OCOTP_OTPMK0 and no values for the other fuses?&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;3) Is it possible to read the OTPMK anyway?&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;4) Am I doing anything wrong?&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;5) If I still have to fuse the OTPMK how can I do it?&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;Thanks …&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;Florian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Oct 2013 11:26:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Burning-Checking-OTPMK-fuses-for-HAB-on-I-MX6/m-p/223661#M15374</guid>
      <dc:creator>n0n</dc:creator>
      <dc:date>2013-10-22T11:26:58Z</dc:date>
    </item>
    <item>
      <title>Re: Burning/Checking OTPMK fuses for HAB on I.MX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Burning-Checking-OTPMK-fuses-for-HAB-on-I-MX6/m-p/223662#M15375</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can somebody help me with this problem?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Florian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Oct 2013 08:11:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Burning-Checking-OTPMK-fuses-for-HAB-on-I-MX6/m-p/223662#M15375</guid>
      <dc:creator>n0n</dc:creator>
      <dc:date>2013-10-25T08:11:20Z</dc:date>
    </item>
    <item>
      <title>Re: Burning/Checking OTPMK fuses for HAB on I.MX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Burning-Checking-OTPMK-fuses-for-HAB-on-I-MX6/m-p/223663#M15376</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There is the next comment in "i.MX_6_High_Assurance_Boot_Linux_User_Guide.pdf" &lt;/P&gt;&lt;P&gt;in Linux documentation &lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;regarding&amp;nbsp; OTPMK burning :&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;"This step is only required for preproduction parts where the fuses that are&lt;/P&gt;&lt;P&gt;normally programmed by Freescale are not programmed. On production&lt;/P&gt;&lt;P&gt;parts, the OTPMK are be burned by Freescale prior to shipping the device.&lt;/P&gt;&lt;P&gt;The value burned by Freescale is random and not recorded. The intent of the&lt;/P&gt;&lt;P&gt;OTPMK is to be a secret key that is only known to CAAM so the value&lt;/P&gt;&lt;P&gt;below is only meant for testing purposes. In order to use HAB, these fuses&lt;/P&gt;&lt;P&gt;should be programmed. One can determine if a valid OTPMK has been&lt;/P&gt;&lt;P&gt;burned by checking the OTPMK_ZERO bit in the SNVS_HP Status Register."&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 29 Oct 2013 10:09:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Burning-Checking-OTPMK-fuses-for-HAB-on-I-MX6/m-p/223663#M15376</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2013-10-29T10:09:38Z</dc:date>
    </item>
    <item>
      <title>Re: Burning/Checking OTPMK fuses for HAB on I.MX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Burning-Checking-OTPMK-fuses-for-HAB-on-I-MX6/m-p/223664#M15377</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;Hey,&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;thank you. I've already seen this comment but I thought perhaps the OTPMK is not burned because on the SabreSD board there is a „PCIMX6Q...“ processor and not a „MCIMX6..“.&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;Thanks&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;&lt;/P&gt;&lt;P lang="en-US" style="margin-bottom: 0cm;"&gt;Florian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Oct 2013 06:42:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Burning-Checking-OTPMK-fuses-for-HAB-on-I-MX6/m-p/223664#M15377</guid>
      <dc:creator>n0n</dc:creator>
      <dc:date>2013-10-31T06:42:48Z</dc:date>
    </item>
    <item>
      <title>Re: Burning/Checking OTPMK fuses for HAB on I.MX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Burning-Checking-OTPMK-fuses-for-HAB-on-I-MX6/m-p/223665#M15378</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Yuri,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you please explain how can we determine if OTPMK has been burned in user space. Is there any interface for caam to test this register "SNVS_HP Status Register" or any log file? Do i have to write a kernel module to check the value of the OPTMK_ZERO bit or you please provide any user space solution/command.&lt;/P&gt;&lt;P&gt;I have tested that my files HW_OCOTP_OTPMK[0-7] and these are empty. Sorry I am just new to i.MX6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your help.&lt;/P&gt;&lt;P&gt;-Huz&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Jul 2016 11:00:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Burning-Checking-OTPMK-fuses-for-HAB-on-I-MX6/m-p/223665#M15378</guid>
      <dc:creator>huzaifahcs</dc:creator>
      <dc:date>2016-07-18T11:00:32Z</dc:date>
    </item>
    <item>
      <title>Re: Burning/Checking OTPMK fuses for HAB on I.MX6</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Burning-Checking-OTPMK-fuses-for-HAB-on-I-MX6/m-p/223666#M15379</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; NXP Linux BSP checks CAAM during boot. In case of empty OTPMK&lt;/P&gt;&lt;P&gt;boot log will contain corresponding error message.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jul 2016 09:34:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Burning-Checking-OTPMK-fuses-for-HAB-on-I-MX6/m-p/223666#M15379</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2016-07-19T09:34:29Z</dc:date>
    </item>
  </channel>
</rss>

