Skip to content
Commit bbfb81c1 authored by Martin Townsend's avatar Martin Townsend Committed by Eugen Hristev
Browse files

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: default avatarMartin Townsend <martin@rufilla.com>
Reviewed-by: default avatarEugen Hristev <eugen.hristev@microchip.com>
parent 8bad34a7
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment