arm: spear: Fix booting - relocate vector table to 0 (low-vector)
authorStefan Roese <sr@denx.de>
Tue, 18 Aug 2015 07:27:16 +0000 (09:27 +0200)
committerTom Rini <trini@konsulko.com>
Fri, 28 Aug 2015 16:33:16 +0000 (12:33 -0400)
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>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Vipin Kumar <vk.vipin@gmail.com>
board/spear/common/spr_lowlevel_init.S

index 23a0369cbe8d2b21110a00cce700e281f468dc48..649488399a6a292345b976811f2b7c8e31dd9a50 100644 (file)
  */
 .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) */