[U-Boot] Cortex-A72 hangs after jumping from ARM Trusted Firmware to U-Boot?
Masahiro Yamada
yamada.masahiro at socionext.com
Thu May 11 08:51:33 UTC 2017
Hi.
When booting from ARM Trusted Firmware, U-Boot runs in EL1-NS.
The boot flow is as follows:
BL1 -> BL2 -> BL31 -> BL33 (i.e. U-Boot)
My UniPhier LD20 SoC (primary CPU = CA72) hangs in U-Boot.
The same boot sequence works fine on a similar SoC, LD11 (primary CPU = CA53).
I do not know why.
Do you have a clue? A CA72-specific problem (errata)?
After a while, I found a solution to make it work for CA72.
Insert the following two lines in early boot stage of U-Boot.
mrs x0, sctlr_el1
msr sctlr_el1, x0
The code above seems no effect because it just reads sctlr_el1 register,
then writes back the value immediately. Surprisingly enough,
it fixes the problem. I do not know why.
I sent the following patch for my SoC:
http://patchwork.ozlabs.org/patch/760988/
I am not sure if this is good.
Anybody who has a clue?
Thanks!
--
Best Regards
Masahiro Yamada
More information about the U-Boot
mailing list