From 0d8ac5644eaf774c52669921ac4152874c6fc4ca Mon Sep 17 00:00:00 2001 From: Andre Przywara Date: Wed, 13 Jul 2022 16:27:57 +0100 Subject: [PATCH] sunxi: h616: (really) lower SPL stack address to avoid BROM data When using the USB OTG FEL mode on the Allwinner H616, the BootROM stores some data at the end of SRAM C. This is also the location where we place the initial SPL stack, so it will overwrite this data. We still need the BROM code after running the SPL, so should leave that area alone. Interestingly this does not seem to have an adverse effect, I guess on the "way out" (when we return to FEL after the SPL has run), this data is not needed by the BROM, for just the trailing end of the USB operation. However this is still wrong, and we should not clobber BROM data. Lower the SPL stack address to be situated right below the swap buffers we use in sunxi-fel: that should be out of the way of everyone else. This obsoletes a previous commit (eb53e7743c8f) with the same name: that one was changing the address in an *unused* macro in sunxi_common.h, so the previous patch didn't have any effect at all. Fixes: eb53e7743c8f ("sunxi: h616: lower SPL stack address to avoid BROM data") Signed-off-by: Andre Przywara --- common/spl/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/spl/Kconfig b/common/spl/Kconfig index 25cd18afda..c521b02f4a 100644 --- a/common/spl/Kconfig +++ b/common/spl/Kconfig @@ -370,7 +370,7 @@ config SPL_STACK default 0x93ffb8 if ARCH_MX6 && MX6_OCRAM_256KB default 0x91ffb8 if ARCH_MX6 && !MX6_OCRAM_256KB default 0x118000 if MACH_SUN50I_H6 - default 0x58000 if MACH_SUN50I_H616 + default 0x52a00 if MACH_SUN50I_H616 default 0x40000 if MACH_SUN8I_R528 default 0x54000 if MACH_SUN50I || MACH_SUN50I_H5 default 0x18000 if MACH_SUN9I -- 2.39.5