Testing SecureBoot without blowing fueses on LS1028a

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Testing SecureBoot without blowing fueses on LS1028a

1,565 Views
pb3
Contributor II

Hi
I've got a question regarding on how to test SecureBoot procedure on LS1028A without CodeWarrior and debugger and also without blowning fuses (except for the OTPMK).

 

Suppose I would like to do the following:

- boot the board

- stop in u-boot

- write OTPMK and fuse it

- write SRKHR mirror registers from u-boot

- set SB_EN in RCW

- reset the board

Is it possible to do a reset (how?) that would allow to retain the values of SRKHR mirror registers without blowing them into fueses persistently, so that the whole SecureBoot procedure will be executed?

I do not have access to CodeWarrior nor to debugger yet, but I need to somehow test te procedure.

0 Kudos
Reply
3 Replies

1,502 Views
yipingwang
NXP TechSupport
NXP TechSupport

It is impossible to write SRKHR mirror registers from u-boot to do secure boot, because after reset SRKHR mirror registers will become to 0.

You have to use CodeWarrior CCS to stop cores to write SRKHR mirror registers then release cores. No need license to use CodeWarrior CCS.

Please refer to the attached procedure to fuse OTPMK and write SRKHR mirror registers through CCS.

0 Kudos
Reply

71 Views
tomzy_0
Contributor I

Hi @yipingwang 

I have similar situation to the one presented in this post.

We also want to test Secure Boot process without fusing registers, but wanted to take a step further and also set OTPMK in registers using CodeWarrior.

Is it possible? What we tested for now is

1. Boot from SD card on ls1028ardb without SB_EN=1 in RCW
2. While U-Boot is booted, replace SD card so now there is an RCW image with SB_EN=1 set
3. Run the tcl script based on the documentation shared by you but also with writing OTPMK to correct registers.

After reset nothing happens on UART plus JTAG is not able to put the processor into RSP state.

This got me thinking that OTPMK needs to be fused even to start the Secure Boot process. Is that correct? What exactly happens when SB_EN=1 in RCW but OTMPK is not fused? Is it possible to use JTAG in that situation to get information from any register? E.g. to check errors listed in 6.1.1.3.2.2 ISBC validation error codes in LSDK documentation.
 

0 Kudos
Reply

1,560 Views
pb3
Contributor II

One additional info - I'm testing it on LS1028ARDB board.

0 Kudos
Reply