sunxi: change RMR64's RVBAR address for H6

Allwinner H6 has a different RVBAR address with A64/H5.

Add conditional RVBAR configuration into the code which does RMR switch.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
Tested-by: Jagan Teki <jagan@amarulasolutions.com>
lime2-spi
Icenowy Zheng 6 years ago committed by Jagan Teki
parent e77b7496c6
commit 80197801f4
  1. 4
      arch/arm/include/asm/arch-sunxi/boot0.h
  2. 6
      arch/arm/mach-sunxi/rmr_switch.S

@ -26,7 +26,11 @@
.word 0xf57ff06f // isb sy .word 0xf57ff06f // isb sy
.word 0xe320f003 // wfi .word 0xe320f003 // wfi
.word 0xeafffffd // b @wfi .word 0xeafffffd // b @wfi
#ifndef CONFIG_MACH_SUN50I_H6
.word 0x017000a0 // writeable RVBAR mapping address .word 0x017000a0 // writeable RVBAR mapping address
#else
.word 0x09010040 // writeable RVBAR mapping address
#endif
#ifdef CONFIG_SPL_BUILD #ifdef CONFIG_SPL_BUILD
.word CONFIG_SPL_TEXT_BASE .word CONFIG_SPL_TEXT_BASE
#else #else

@ -26,9 +26,15 @@
@ reference and to be able to regenerate a (probably fixed) version of this @ reference and to be able to regenerate a (probably fixed) version of this
@ code found in encoded form in boot0.h. @ code found in encoded form in boot0.h.
#include <config.h>
.text .text
#ifndef CONFIG_MACH_SUN50I_H6
ldr r1, =0x017000a0 @ MMIO mapped RVBAR[0] register ldr r1, =0x017000a0 @ MMIO mapped RVBAR[0] register
#else
ldr r1, =0x09010040 @ MMIO mapped RVBAR[0] register
#endif
ldr r0, =0x57aA7add @ start address, to be replaced ldr r0, =0x57aA7add @ start address, to be replaced
str r0, [r1] str r0, [r1]
dsb sy dsb sy

Loading…
Cancel
Save