u-boot/arch/arm
Martin Townsend bbfb81c187 ARM: mach-at91: arm926ejs: fix data abort in startup returning from lowlevel_init
The startup code in arm/cpu/arm926ejs preserves the link register across
the call to lowlevel_init by using r4:

mov	r4, lr		/* perserve link reg across call */
bl	lowlevel_init	/* go setup pll,mux,memory */
mov	lr, r4		/* restore link */

The lowlevel_init function for at91 machines based on the same CPU uses r4
and hence corrupts it causing a data abort when it returns to the startup
code. This patch fixes this by using r6 instead of r4 in the lowlevel_init
function.

Discovered and the fix was tested on a AT91SAM9261 based board.

Signed-off-by: Martin Townsend <martin@rufilla.com>
Reviewed-by: Eugen Hristev <eugen.hristev@microchip.com>
2021-03-22 10:53:52 +02:00
..
cpu image: Adjust the workings of fit_check_format() 2021-02-15 22:31:52 -05:00
dts - Add USB host boot support in stm32mp1 config 2021-02-26 12:41:06 -05:00
include common: Add "ifndef __ASSEMBLY__" in asm/global_data.h 2021-02-24 16:51:49 -05:00
lib Merge branch '2021-02-02-drop-asm_global_data-when-unused' 2021-02-15 10:16:45 -05:00
mach-aspeed common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-at91 ARM: mach-at91: arm926ejs: fix data abort in startup returning from lowlevel_init 2021-03-22 10:53:52 +02:00
mach-bcm283x common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-bcmstb
mach-cortina board: presidio-asic: Add basic G3 engr. development board support 2020-02-07 16:16:01 -05:00
mach-davinci common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-exynos common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-highbank common: Drop init.h from common header 2020-05-18 17:33:33 -04:00
mach-imx arm: Remove sksimx6 board 2021-02-25 11:59:53 -05:00
mach-integrator
mach-ipq40xx dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
mach-k3 common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-keystone dm: i2c: use CONFIG_IS_ENABLED macro for DM_I2C/DM_I2C_GPIO 2021-02-21 06:08:00 +01:00
mach-kirkwood dm: i2c: use CONFIG_IS_ENABLED macro for DM_I2C/DM_I2C_GPIO 2021-02-21 06:08:00 +01:00
mach-lpc32xx dm: Rename U_BOOT_DEVICE() to U_BOOT_DRVINFO() 2021-01-05 12:26:35 -07:00
mach-mediatek common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-meson ARM: mach-meson: select MMC_PWRSEQ config 2021-02-19 15:11:21 +08:00
mach-mvebu common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-nexell common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-octeontx common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-octeontx2 common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-omap2 dm: i2c: use CONFIG_IS_ENABLED macro for DM_I2C/DM_I2C_GPIO 2021-02-21 06:08:00 +01:00
mach-orion5x common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-owl common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-qemu qemu: arm: Initialise virtio devices in board_late_init 2020-12-31 14:41:31 +01:00
mach-rmobile Merge branch '2021-02-02-drop-asm_global_data-when-unused' 2021-02-15 10:16:45 -05:00
mach-rockchip Merge branch '2021-02-02-drop-asm_global_data-when-unused' 2021-02-15 10:16:45 -05:00
mach-s5pc1xx common: Drop net.h from common header 2020-05-18 17:33:31 -04:00
mach-snapdragon common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-socfpga common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-sti
mach-stm32 treewide: Update email address Patrick Delaunay and Patrice Chotard 2020-12-09 10:57:50 +01:00
mach-stm32mp common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-sunxi dm: i2c: use CONFIG_IS_ENABLED macro for DM_I2C/DM_I2C_GPIO 2021-02-21 06:08:00 +01:00
mach-tegra common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-u8500 common: Drop init.h from common header 2020-05-18 17:33:33 -04:00
mach-uniphier common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-versal common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-versatile
mach-zynq common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mach-zynqmp Xilinx changes for v2021.04-rc3 2021-02-23 10:45:55 -05:00
mach-zynqmp-r5 common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
thumb1/include/asm/proc-armv
config.mk Makefile: Rename ALL-y to INPUTS-y 2020-07-28 19:30:39 -06:00
Kconfig arm: Remove ls2080a_simu board 2021-02-15 10:11:38 -05:00
Kconfig.debug
Makefile arm: octeontx2: Add support for OcteonTX2 SoC platforms 2020-08-25 08:01:16 +02:00