Hello,
I am trying to set up #secure boot for #LS1046FRWY platform.
I am finding a great deal of documentation and experiencing difficulties in matching document contents and in mapping steps to actual implementation.
More specifically.
CONTEXT
- I am trying to set up a prototyping flow to avoid bricking my board due to wrong fuse programming.
- I have installed CodeWarrior Development Studio for QorIQ LS Series - ARM V8 ISA
- I have downloaded the Layerscape SDK (lsdk1909_update_311219) and successfully built all targets for ls1046afrwy (flashed the non-secure composite images to QSPI NOR and booted successfully)
- I have downloaded https://www.nxp.com/docs/en/user-guide/LSDKUG_Rev19.09.pdf and I am referring to chapter 6 (Security - flow for PBL-based platforms)
UNDERSTANDING
in the prototyping flow I see as suggested the following steps, which I now need to try out on actual board.
- skip ITS fuse programming
- Set RCW with SB_EN = 1 and BOOT_HO = 1
- Set OTPMK (actually fuse values ti OTPMK) - I understand that fuses can be written to either using uBoot commands OR using CCS commands.
- Set SRKH to mirror registers (without fusing to SRKH) - I understand that SRKH mirror registers can only be written using CCS.
- Release the boot hold off by writing to the "Core Release" register in DCFG
QUESTIONS/ISSUES ENCOUNTERED
- can someone confirm/correct each step of my understanding above?
- Is there a CCS script available for performing the steps above, or a how-to document that provides the list of commands, that I can refer to?
- how do I modify SB_EN and BOOT_HO? (I assume that there is more than one way. Starting with the prototyping flow, I am guessing that this can be done via CCS?)
note: I have found many, many documents, community questions and application notes on subjects close to this, but each time I try to follow one, the commands listed seem to be somewhat inconsistent w.r.t. the tools I am using (different names for command windows, commands not recognized, scripts not found in installation directories etc) - Example: AN5227 - Configuring LS1 Processors for Secure Boot and Secure Debug using CodeWarrior for ARMv7 - I am really struggling to find some reliable reference point to guide development for the specific case I am targeting. Thanks if you can provide one (or a few).