summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-tegra
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2018-03-07 10:04:07 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2018-03-21 12:22:59 +0100
commita43e2bbc468a71fb8825e8acafb7fac7ad7c6dad (patch)
tree9f250072ef45f63cfabbe85a6fd93a6b87299787 /arch/arm/mach-tegra
parentff7d9b9e97df59d010ca6299b4b96ffef42df935 (diff)
downloadbarebox-a43e2bbc468a71fb8825e8acafb7fac7ad7c6dad.tar.gz
barebox-a43e2bbc468a71fb8825e8acafb7fac7ad7c6dad.tar.xz
ARM: return positive offset in get_runtime_offset()
When we are linked at 0x0 and running at 0x01000000 then get_runtime_offset() should return 0x01000000 and not 0xff000000. This makes get_runtime_offset() more consistent and better understandable. This was tested on a Freescale i.MX53 Quickstart board. Additionally relocate_to_adr() was tested since that is normally not called. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-tegra')
-rw-r--r--arch/arm/mach-tegra/include/mach/lowlevel.h2
-rw-r--r--arch/arm/mach-tegra/tegra_avp_init.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/include/mach/lowlevel.h b/arch/arm/mach-tegra/include/mach/lowlevel.h
index e9ba5ee393..c862778fc4 100644
--- a/arch/arm/mach-tegra/include/mach/lowlevel.h
+++ b/arch/arm/mach-tegra/include/mach/lowlevel.h
@@ -264,7 +264,7 @@ void tegra_cpu_lowlevel_setup(char *fdt)
arm_setup_stack(TEGRA_IRAM_BASE + SZ_256K - 8);
if (tegra_cpu_is_maincomplex())
- tegra_maincomplex_entry(fdt - get_runtime_offset());
+ tegra_maincomplex_entry(fdt + get_runtime_offset());
tegra_ll_delay_setup();
}
diff --git a/arch/arm/mach-tegra/tegra_avp_init.c b/arch/arm/mach-tegra/tegra_avp_init.c
index 16dc65be07..8a11e06c53 100644
--- a/arch/arm/mach-tegra/tegra_avp_init.c
+++ b/arch/arm/mach-tegra/tegra_avp_init.c
@@ -140,7 +140,7 @@ static void init_pllx(void)
conf = &pllx_config_table[chiptype][osc_freq];
/* we are not relocated yet - globals are a bit more tricky here */
- conf = (struct pll_config *)((char *)conf - get_runtime_offset());
+ conf = (struct pll_config *)((char *)conf + get_runtime_offset());
/* set PLL bypass and frequency parameters */
reg = CRC_PLLX_BASE_BYPASS;