ARM: OMAP3: RX-51: ARM errata 430973 workaround
authorPali Rohár <pali.rohar@gmail.com>
Wed, 18 Sep 2013 19:43:56 +0000 (21:43 +0200)
committerTony Lindgren <tony@atomide.com>
Tue, 8 Oct 2013 18:57:04 +0000 (11:57 -0700)
commit4748a7240284b0f68bd47a66365c2cd561939830
treeafcfc03b29c7aa47fd48acfac02a770bc676d871
parenta33f1788192d13165594f8ec6975dbae34502ec9
ARM: OMAP3: RX-51: ARM errata 430973 workaround

Closed and signed Nokia X-Loader bootloader stored in RX-51 nand does not set
IBE bit in ACTLR and starting kernel in non-secure mode. So direct write to
ACTLR by our kernel does not working and the code for ARM errata 430973 in
commit 7ce236fcd6fd45b0441a2d49acb2ceb2de2e8a47 that sets IBE bit is a noop.

In order to have workaround for ARM errata 430973 from non-secure world on
RX-51 we needs Secure Monitor Call to set IBE BIT in ACTLR.

This patch adds RX-51 specific secure support code and sets IBE bit in ACTLR
during board init code for ARM errata 430973 workaround.

Note that new function rx51_secure_dispatcher() differs from existing
omap_secure_dispatcher(). It calling omap_smc3() and param[0] is nargs+1.

ARM errata 430973 workaround is needed for thumb-2 ISA compiled userspace
binaries. Without this workaround thumb-2 binaries crashing. So with this
patch it is possible to recompile and run applications/binaries with thumb-2
ISA on RX-51.

Signed-off-by: Ivaylo Dimitrov <freemangordon@abv.bg>
Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/board-rx51.c
arch/arm/mach-omap2/omap-secure.c
arch/arm/mach-omap2/omap-secure.h