diff mbox

[U-Boot,1/5] arm: spear: Fix booting - relocate vector table to 0 (low-vector)

Message ID 1439882840-31757-1-git-send-email-sr@denx.de
State Accepted
Delegated to: Tom Rini
Headers show

Commit Message

Stefan Roese Aug. 18, 2015, 7:27 a.m. UTC
Booting SPEAr600 eval board doesn't work with current mainline U-Boot. With
this patch the low-vector bit is left to '0'. Resulting in the common
relocation of the vectors to 0 (SDRAM) to work correctly.

Tested on the SPEAr600 EVB.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Vipin Kumar <vk.vipin@gmail.com>
---
 board/spear/common/spr_lowlevel_init.S | 5 -----
 1 file changed, 5 deletions(-)

Comments

Viresh Kumar Aug. 18, 2015, 7:33 a.m. UTC | #1
On 18-08-15, 09:27, Stefan Roese wrote:
> Booting SPEAr600 eval board doesn't work with current mainline U-Boot. With
> this patch the low-vector bit is left to '0'. Resulting in the common
> relocation of the vectors to 0 (SDRAM) to work correctly.
> 
> Tested on the SPEAr600 EVB.
> 
> Signed-off-by: Stefan Roese <sr@denx.de>
> Cc: Viresh Kumar <viresh.kumar@linaro.org>
> Cc: Vipin Kumar <vk.vipin@gmail.com>
> ---
>  board/spear/common/spr_lowlevel_init.S | 5 -----
>  1 file changed, 5 deletions(-)
> 
> diff --git a/board/spear/common/spr_lowlevel_init.S b/board/spear/common/spr_lowlevel_init.S
> index 23a0369..6494883 100644
> --- a/board/spear/common/spr_lowlevel_init.S
> +++ b/board/spear/common/spr_lowlevel_init.S
> @@ -14,11 +14,6 @@
>   */
>  .globl lowlevel_init
>  lowlevel_init:
> -	/* By default, U-Boot switches CPU to low-vector */
> -	/* Revert this as we work in high vector even in U-Boot */
> -	mrc	p15, 0, r0, c1, c0, 0
> -	orr	r0, r0, #0x00002000
> -	mcr	p15, 0, r0, c1, c0, 0
>  	mov	pc, lr
>  
>  /* void setfreq(unsigned int device, unsigned int frequency) */

For the complete series:

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Tom Rini Aug. 28, 2015, 9:03 p.m. UTC | #2
On Tue, Aug 18, 2015 at 09:27:16AM +0200, Stefan Roese wrote:

> Booting SPEAr600 eval board doesn't work with current mainline U-Boot. With
> this patch the low-vector bit is left to '0'. Resulting in the common
> relocation of the vectors to 0 (SDRAM) to work correctly.
> 
> Tested on the SPEAr600 EVB.
> 
> Signed-off-by: Stefan Roese <sr@denx.de>
> Cc: Viresh Kumar <viresh.kumar@linaro.org>
> Cc: Vipin Kumar <vk.vipin@gmail.com>
> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/board/spear/common/spr_lowlevel_init.S b/board/spear/common/spr_lowlevel_init.S
index 23a0369..6494883 100644
--- a/board/spear/common/spr_lowlevel_init.S
+++ b/board/spear/common/spr_lowlevel_init.S
@@ -14,11 +14,6 @@ 
  */
 .globl lowlevel_init
 lowlevel_init:
-	/* By default, U-Boot switches CPU to low-vector */
-	/* Revert this as we work in high vector even in U-Boot */
-	mrc	p15, 0, r0, c1, c0, 0
-	orr	r0, r0, #0x00002000
-	mcr	p15, 0, r0, c1, c0, 0
 	mov	pc, lr
 
 /* void setfreq(unsigned int device, unsigned int frequency) */