arm: mach-keystone: Updates mon_install for K2G HS
authorMadan Srinivas <madans@ti.com>
Mon, 17 Jul 2017 17:59:15 +0000 (12:59 -0500)
committerTom Rini <trini@konsulko.com>
Wed, 26 Jul 2017 15:26:51 +0000 (11:26 -0400)
commit1d73ce6f68f2799735d65448f8211de3f83110fd
tree64a836e3699cd52242780d713d21566a203a031d
parent3f5651a72480c5fec3f846b604bfb3aeb532213c
arm: mach-keystone: Updates mon_install for K2G HS

On early K2 devices (eg. K2HK) the secure ROM code does not support
loading secure code to firewall protected memory, before decrypting,
authenticating and executing it.

To load the boot monitor on these devices, it is necessary to first
authenticate and run a copy loop from non-secure memory that copies
the boot monitor behind firewall protected memory, before decrypting
and executing it.

On K2G, the secure ROM does not allow secure code executing from
unprotected memory. Further, ROM first copies the signed and encrypted
image into firewall protected memory, then decrypts, authenticates
and executes it.

As a result of this, we cannot use the copy loop for K2G. The
mon_install has to be modified to pass the address the signed and
encrypted secure boot monitor image to the authentication API.

For backward compatibility with other K2 devices and K2G GP,
the mon_install API still supports a single argument. In this case
the second argument is set to 0 by u-boot and is ignored by ROM

Signed-off-by: Thanh Tran <thanh-tran@ti.com>
Signed-off-by: Madan Srinivas <madans@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
arch/arm/mach-keystone/cmd_mon.c
arch/arm/mach-keystone/include/mach/mon.h
arch/arm/mach-keystone/mon.c