summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-tegra/tegra_avp_init.c
diff options
context:
space:
mode:
authorLucas Stach <dev@lynxeye.de>2013-09-29 21:59:31 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-10-02 10:24:04 +0200
commit02568520ee4626840f37acfb612e060b13f01dfc (patch)
treebe38a6a88dc0eab6026ce28b9d6c859acb3055d0 /arch/arm/mach-tegra/tegra_avp_init.c
parent5163280d655d95e5ac6f8764dbdef9f10c6578e2 (diff)
downloadbarebox-02568520ee4626840f37acfb612e060b13f01dfc.tar.gz
barebox-02568520ee4626840f37acfb612e060b13f01dfc.tar.xz
tegra: start maincomplex execution at correct offset
Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-tegra/tegra_avp_init.c')
-rw-r--r--arch/arm/mach-tegra/tegra_avp_init.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/arch/arm/mach-tegra/tegra_avp_init.c b/arch/arm/mach-tegra/tegra_avp_init.c
index 5099e913a9..ba275ad1f6 100644
--- a/arch/arm/mach-tegra/tegra_avp_init.c
+++ b/arch/arm/mach-tegra/tegra_avp_init.c
@@ -19,6 +19,7 @@
#include <common.h>
#include <asm/barebox-arm-head.h>
+#include <asm/barebox-arm.h>
#include <mach/lowlevel.h>
#include <mach/tegra20-car.h>
#include <mach/tegra20-pmc.h>
@@ -194,13 +195,6 @@ void barebox_arm_reset_vector(void)
/* minimal initialization, OK for both ARMv4 and ARMv7 */
tegra_cpu_lowlevel_setup();
- /*
- * If we are already running on the main CPU complex jump straight
- * to the maincomplex entry point.
- */
- if (tegra_cpu_is_maincomplex())
- tegra_maincomplex_entry();
-
/* get the number of cores in the main CPU complex of the current SoC */
num_cores = tegra_get_num_cores();
if (!num_cores)
@@ -212,7 +206,8 @@ void barebox_arm_reset_vector(void)
stop_maincomplex_clocks(num_cores);
/* set start address for the main CPU complex processors */
- writel(barebox_arm_head, TEGRA_EXCEPTION_VECTORS_BASE + 0x100);
+ writel(tegra_maincomplex_entry - get_runtime_offset(),
+ TEGRA_EXCEPTION_VECTORS_BASE + 0x100);
/* bring up main CPU complex */
start_cpu0_clocks();