Hello @igorpadykov ,
Thank you for your reply last time. The tool, mxc_secureboot, you gave is awesome. I can generate singed u-boot.imx smoothly.
Then I used the MFG tool to download this signed u-boot.imx.
I got some confuses here. I followed the i.MX_6_Linux_High_Assurance_Boot_(HAB)_User's_Guide.pdf. And it says I have to write down the data of SRK_1_2_3_4_fuse.bin in /sys/fsl_opt/HW_OCOTP_SRK[0-7] if I want to enable the HAB.
I actually write the data into HW_OCOTP_SRK. But I'm not able to read the data from HW_OCOTP_SRK. It always return 0x0 so that I always get the data improperly.
Then I checked the kernel_imx/drivers/char/fsl_otp.c. There is a function which was called fsl_otp_show. I noticed that otp_wait_busy in the fsl_otp_show function is only working fine in the first execution. After that It will be 0x0 because otp_wait_busy always give me the value less than 0. This is weird.
So I tried to find another way to write down the fuse data. There is a method I can use in u-boot command prompt which is call fuse.
Here is my example of fuse command in u-boot.
fuse prog -y 3 0 0xFBC3C52B fuse prog -y 3 1 0xA5A76254 fuse prog -y 3 2 0x2339D2A3 fuse prog -y 3 3 0xFB867DC3 fuse prog -y 3 4 0x875E8370 fuse prog -y 3 5 0xE5F3D5DB fuse prog -y 3 6 0xF8A9B441 fuse prog -y 3 7 0xB211C8C1 |
I assume all of data have been written properly. And I blowed the fuse from eMMC.
fuse prog -y 0 5 0x1060 fuse prog -y 0 6 0x10 |
Then I turned off the and turned on the power again. The board becomes a brick...I can't recover it by MFG tool anymore.
I don't understand if I do any improper instructions. What if I'd like to enable the HAB in u-boot with eMMC? Is there any latest version of HAB enabling for reference?