<?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>CodeWarrior Development ToolsのトピックRe: LS1021a-iot board secure boot ?</title>
    <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/LS1021a-iot-board-secure-boot/m-p/607187#M5053</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello&amp;nbsp;&lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/yipingwang"&gt;yipingwang&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It does validate images as shown below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Hit any key to stop autoboot: 0&lt;BR /&gt;esbc_validate command successful&lt;BR /&gt;## Executing script at 40001000&lt;BR /&gt;4328352 bytes read in 401 ms (10.3 MiB/s)&lt;BR /&gt;18481 bytes read in 158 ms (113.3 KiB/s)&lt;BR /&gt;esbc_validate command successful&lt;BR /&gt;esbc_validate command successful&lt;BR /&gt;01e90014: 8000ab00 00002000 00000000 00000000 ..... ..........&lt;BR /&gt;01ee0204: 41030000 00000000 00000000 00000000 ...A............&lt;BR /&gt;Disabling PAM watchdog&lt;BR /&gt;## Booting kernel from Legacy Image at 80008000 ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But after validating status SecMon status is non-secure and SCRATCHWR2 shows error code but system still boot to linux. Few things to not here is that we have our rootfs stored in emmc. On our system emmc is partitioned into 3. Each partition has a rootfs. Images (uImage and dtb) are loaded from active partition by bootscript and then validated. We don't have ramfs file system. Will that impact anything ?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;P&gt;Dhruval&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 30 Mar 2017 15:56:08 GMT</pubDate>
    <dc:creator>dhruvalkumarpat</dc:creator>
    <dc:date>2017-03-30T15:56:08Z</dc:date>
    <item>
      <title>LS1021a-iot board secure boot ?</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/LS1021a-iot-board-secure-boot/m-p/607185#M5051</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;I was trying to do a secure boot on ls1021aiot based board. It progressed really well but I have following question during the process.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) On our board we have PBL, Bootscript, U-boot and all the secure headers for bootscript, u-boot, dtb &amp;nbsp;and uImage are stored on QSPI based flash. We have eMMC with 3 partition, which has a rootfs on it. At /boot mount point on each partition on emmc emmc we have uImage and devicetree.dtb file. For verification I fetch those images to DDR in bootscript.&lt;/P&gt;&lt;P&gt;Logs for secure boot at u-boot looks as shown below.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;U-Boot 2015.01+ls1+QCAFS_3.1.2.20170223.2106.ga (Mar 16 2017 - 10:23:55)&lt;/P&gt;&lt;P&gt;CPU: Freescale LayerScape LS1020E, Version: 2.0, (0x87081020)&lt;BR /&gt;Clock Configuration:&lt;BR /&gt; CPU0(ARMV7):800 MHz,&lt;BR /&gt; Bus:300 MHz, DDR:600 MHz (1200 MT/s data rate),&lt;BR /&gt;Reset Configuration Word (RCW):&lt;BR /&gt; 00000000: 06060010 00000000 00000000 10000000&lt;BR /&gt; 00000010: 20000000 0840b920 50610a00 20046000&lt;BR /&gt; 00000020: 00000000 00000000 00000000 0002ef00&lt;BR /&gt; 00000030: 20004d00 24849340 00000000 00000000&lt;BR /&gt;Board: Cromwell&lt;BR /&gt;I2C: ready&lt;BR /&gt;DRAM: 512 MiB&lt;BR /&gt;Using SERDES1 Protocol: 32 (0x20)&lt;BR /&gt;MMC: FSL_SDHC: 0&lt;BR /&gt;Using default environment&lt;/P&gt;&lt;P&gt;EEPROM: Invalid ID (ff ff ff ff)&lt;BR /&gt;PCIe1: Root Complex no link, regs @ 0x3400000&lt;BR /&gt;PCIe2: Root Complex x1 gen1, regs @ 0x3500000&lt;BR /&gt; 01:00.0 - 168c:0033 - Network controller&lt;BR /&gt;PCIe2: Bus 00 - 01&lt;BR /&gt;In: serial&lt;BR /&gt;Out: serial&lt;BR /&gt;Err: serial&lt;BR /&gt;PAM:&lt;BR /&gt; Version: PAM VER 40.08&lt;BR /&gt; Setting MAC address from PAM&lt;BR /&gt; ethaddr: 2C:A5:39:00:18:90&lt;BR /&gt; eth1addr: 2C:A5:39:00:18:91&lt;BR /&gt;SEC0: RNG instantiated&lt;BR /&gt;SATA link 0 timeout.&lt;BR /&gt;AHCI 0001.0300 1 slots 1 ports ? Gbps 0x1 impl SATA mode&lt;BR /&gt;flags: 64bit ncq pm clo only pmp fbss pio slum part ccc&lt;BR /&gt;scanning bus for devices...&lt;BR /&gt;Found 0 device(s).&lt;BR /&gt;SCSI: Net: eTSEC1 is in sgmii mode.&lt;BR /&gt;eTSEC2 is in sgmii mode.&lt;BR /&gt;eTSEC1, eTSEC2&lt;BR /&gt;Diags: Initializing "pdiag" executor&lt;/P&gt;&lt;P&gt;================================================================================&lt;BR /&gt;Power-On Self Test&lt;BR /&gt;Parallel Wireless, Inc.&lt;BR /&gt;(c) Copyright 2014&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Power-On Self Test Complete&lt;BR /&gt;================================================================================&lt;/P&gt;&lt;P&gt;Hit any key to stop autoboot: 0&lt;BR /&gt;esbc_validate command successful&lt;BR /&gt;## Executing script at 40001000&lt;BR /&gt;4328352 bytes read in 295 ms (14 MiB/s)&lt;BR /&gt;18481 bytes read in 105 ms (171.9 KiB/s)&lt;BR /&gt;esbc_validate command successful&lt;BR /&gt;esbc_validate command successful&lt;BR /&gt;## Booting kernel from Legacy Image at 80008000 ...&lt;BR /&gt; Image Name: Linux-3.12.37-rt51+ls1+ga86bdb4&lt;BR /&gt; Created: 2017-02-11 15:21:18 UTC&lt;BR /&gt; Image Type: ARM Linux Kernel Image (uncompressed)&lt;BR /&gt; Data Size: 4328288 Bytes = 4.1 MiB&lt;BR /&gt; Load Address: 80008000&lt;BR /&gt; Entry Point: 80008000&lt;BR /&gt; Verifying Checksum ... OK&lt;BR /&gt;## Flattened Device Tree blob at 82800000&lt;BR /&gt; Booting using the fdt blob at 0x82800000&lt;BR /&gt; Loading Kernel Image ... OK&lt;BR /&gt; Loading Device Tree to 9ef26000, end 9ef2d830 ... OK&lt;/P&gt;&lt;P&gt;Starting kernel ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Currently I am using Boot Hold to load SRKH and CCS logs are as shown below&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(bin) 1 % source FUSE_SRKH.tcl&lt;BR /&gt;Chain Position 0: LS1020A&lt;BR /&gt;Chain Position 1: CoreSight ATB Funnel&lt;BR /&gt;Chain Position 2: CoreSight TMC&lt;BR /&gt;Chain Position 3: CoreSight TMC&lt;BR /&gt;Chain Position 4: CoreSight TMC&lt;BR /&gt;Chain Position 5: CoreSight CTI&lt;BR /&gt;Chain Position 6: CoreSight CTI&lt;BR /&gt;Chain Position 7: CoreSight CTI&lt;BR /&gt;Chain Position 8: CoreSight ATB Funnel&lt;BR /&gt;Chain Position 9: Cortex-A7&lt;BR /&gt;Chain Position 10: Cortex-A7 PMU&lt;BR /&gt;Chain Position 11: Cortex-A7&lt;BR /&gt;Chain Position 12: Cortex-A7 PMU&lt;BR /&gt;Chain Position 13: CoreSight CTI&lt;BR /&gt;Chain Position 14: CoreSight CTI&lt;BR /&gt;Chain Position 15: Cortex-A7 ETM&lt;BR /&gt;Chain Position 16: Cortex-A7 ETM&lt;BR /&gt;Chain Position 17: DAP&lt;BR /&gt;Chain Position 18: SAP2&lt;BR /&gt; +0 +4 +8 +C&lt;BR /&gt;[0x01E90014] 8000A900 80000000 00000000 00000000&lt;BR /&gt; +0 +4 +8 +C&lt;BR /&gt;[0x01EE0200] 00300040 00000000 00000000 00000000&lt;BR /&gt; +0 +4 +8 +C&lt;BR /&gt;***&lt;/P&gt;&lt;P&gt;Programming SRKH&lt;/P&gt;&lt;P&gt;***&lt;BR /&gt;[0x01E90014] 8000A900 80000000 00000000 00000000&lt;BR /&gt; +0 +4 +8 +C&lt;BR /&gt;[0x01EE0200] 00300040&lt;BR /&gt; +0 +4 +8 +C&lt;BR /&gt;[0x01EE0204] 00000000&lt;BR /&gt; +0 +4 +8 +C&lt;BR /&gt;[0x01E90014] 8000A900 80000000 00000000 00000000&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My Question is once I get to linux and If I check HPSR I can see SSM is in non-secure mode is it expected ?&amp;nbsp;&lt;/P&gt;&lt;P&gt;(bin) 40 % ccs::display_mem 18 0x1e90014 4 0 4&lt;/P&gt;&lt;P&gt;+0 +4 +8 +C&lt;BR /&gt;[0x01E90014] 8000AB00 00002000 00000000 00000000&lt;BR /&gt;(bin) 41 %&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) We do lot of testing at u-boot but with secure boot the console won't be available for diagnostics. Is there a way to get console access at u-boot during secure boot ?&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Mar 2017 19:32:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/LS1021a-iot-board-secure-boot/m-p/607185#M5051</guid>
      <dc:creator>dhruvalkumarpat</dc:creator>
      <dc:date>2017-03-21T19:32:57Z</dc:date>
    </item>
    <item>
      <title>Re: LS1021a-iot board secure boot ?</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/LS1021a-iot-board-secure-boot/m-p/607186#M5052</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello &lt;A _jive_internal="true" data-content-finding="Community" data-userid="271938" data-username="dhruvalkumarpatel" href="https://community.nxp.com/people/dhruvalkumarpatel"&gt;Dhruvalkumar Patel&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. The value of "0x01E90014" is not totally correct,&amp;nbsp; SSM bit is&amp;nbsp;Non Secure State (0xb) should be abnormal status.&amp;nbsp; Please refer to the document &lt;A href="https://community.nxp.com/docs/DOC-329649"&gt;Secure Boot/Debug Configuration for LS1&lt;/A&gt;. After program OTPMK, please check whether SecMon_HP Status register value is valid, after write SRKH mirror registers through CCS, please check DCFG_CCSR_SCRATCHRW2. In addition, please refer to the trouble shooting section in the document &lt;A href="https://community.nxp.com/docs/DOC-332248"&gt;Setting up Secure Boot on PBL Based Platforms in Prototype Stage&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. In secure boot mode, u-boot cannot be stopped, please use CCS to connection to the target board to read SecMon_HP and SCRATCHRW2 to do troubling shooting step by step.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If further assistance is needed, please feel free to let me know.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Yiping&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Mar 2017 11:16:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/LS1021a-iot-board-secure-boot/m-p/607186#M5052</guid>
      <dc:creator>yipingwang</dc:creator>
      <dc:date>2017-03-30T11:16:46Z</dc:date>
    </item>
    <item>
      <title>Re: LS1021a-iot board secure boot ?</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/LS1021a-iot-board-secure-boot/m-p/607187#M5053</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello&amp;nbsp;&lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/yipingwang"&gt;yipingwang&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It does validate images as shown below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Hit any key to stop autoboot: 0&lt;BR /&gt;esbc_validate command successful&lt;BR /&gt;## Executing script at 40001000&lt;BR /&gt;4328352 bytes read in 401 ms (10.3 MiB/s)&lt;BR /&gt;18481 bytes read in 158 ms (113.3 KiB/s)&lt;BR /&gt;esbc_validate command successful&lt;BR /&gt;esbc_validate command successful&lt;BR /&gt;01e90014: 8000ab00 00002000 00000000 00000000 ..... ..........&lt;BR /&gt;01ee0204: 41030000 00000000 00000000 00000000 ...A............&lt;BR /&gt;Disabling PAM watchdog&lt;BR /&gt;## Booting kernel from Legacy Image at 80008000 ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But after validating status SecMon status is non-secure and SCRATCHWR2 shows error code but system still boot to linux. Few things to not here is that we have our rootfs stored in emmc. On our system emmc is partitioned into 3. Each partition has a rootfs. Images (uImage and dtb) are loaded from active partition by bootscript and then validated. We don't have ramfs file system. Will that impact anything ?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;P&gt;Dhruval&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Mar 2017 15:56:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/LS1021a-iot-board-secure-boot/m-p/607187#M5053</guid>
      <dc:creator>dhruvalkumarpat</dc:creator>
      <dc:date>2017-03-30T15:56:08Z</dc:date>
    </item>
    <item>
      <title>Re: LS1021a-iot board secure boot ?</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/LS1021a-iot-board-secure-boot/m-p/607188#M5054</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Also, in LS1020A referance manual HPSR status for&amp;nbsp;&lt;SPAN&gt;SYS_SECURITY_CFG should be 011 while in my case its 010 &amp;nbsp;which I don't understand.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;SYS_SECURITY_CFG will normally reset to 011b in a chip in the field. It will reset to 000b only in a chip in the Fabrication&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;facility. After the Freescale-programmable fuses have been blown at the Fabrication facility SYS_SECURITY_CFG will&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;reset to 001b. The OEM is expected to blow the OEM-programmable fuses, after which SYS_SECURITY_CFG will reset&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;to 011b.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As I am in development phase I haven't fused ITS instead I am using SB_EN and BO in rcw to do my development. Do you know which are the mandatory fuses for secure boot other than programming OTPMKn ?&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Mar 2017 17:51:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/LS1021a-iot-board-secure-boot/m-p/607188#M5054</guid>
      <dc:creator>dhruvalkumarpat</dc:creator>
      <dc:date>2017-03-30T17:51:30Z</dc:date>
    </item>
  </channel>
</rss>

