summaryrefslogtreecommitdiffstats
path: root/arch/arm/boards
diff options
context:
space:
mode:
authorAlexander Kurz <akurz@blala.de>2016-06-26 16:19:35 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2016-06-27 11:04:14 +0200
commitdb77cf34864e6a4acc10f8e398db0d71075e6447 (patch)
tree965b3b3ebc39e32a5cdfb5b760a4d84aae2bb233 /arch/arm/boards
parentc3bf921125e0719a2785cd018c4cc4fb44477280 (diff)
downloadbarebox-db77cf34864e6a4acc10f8e398db0d71075e6447.tar.gz
barebox-db77cf34864e6a4acc10f8e398db0d71075e6447.tar.xz
ARM iMX53: avoid magic number addressing for internal RAM
The imx53 SOC features 128kB of internal SRAM which is commonly used in early stages of barebox to store the stack. Avoid magic numbers while addressing this RAM. Signed-off-by: Alexander Kurz <akurz@blala.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/boards')
-rw-r--r--arch/arm/boards/ccxmx53/lowlevel.c5
-rw-r--r--arch/arm/boards/freescale-mx53-qsb/lowlevel.c5
-rw-r--r--arch/arm/boards/freescale-mx53-smd/lowlevel.c3
-rw-r--r--arch/arm/boards/guf-vincell/lowlevel.c2
-rw-r--r--arch/arm/boards/karo-tx53/lowlevel.c3
-rw-r--r--arch/arm/boards/tqma53/lowlevel.c5
6 files changed, 14 insertions, 9 deletions
diff --git a/arch/arm/boards/ccxmx53/lowlevel.c b/arch/arm/boards/ccxmx53/lowlevel.c
index 55f6f366ac..22492140d8 100644
--- a/arch/arm/boards/ccxmx53/lowlevel.c
+++ b/arch/arm/boards/ccxmx53/lowlevel.c
@@ -17,6 +17,7 @@
#include <common.h>
#include <linux/sizes.h>
#include <io.h>
+#include <mach/imx53-regs.h>
#include <mach/esdctl.h>
#include <mach/generic.h>
#include <image-metadata.h>
@@ -36,7 +37,7 @@ ENTRY_FUNCTION(start_ccxmx53_512mb, r0, r1, r2)
void *fdt;
imx5_cpu_lowlevel_init();
- arm_setup_stack(0xf8020000 - 8);
+ arm_setup_stack(MX53_IRAM_BASE_ADDR + MX53_IRAM_SIZE - 8);
IMD_USED(ccxmx53_memsize_SZ_512M);
@@ -50,7 +51,7 @@ ENTRY_FUNCTION(start_ccxmx53_1gib, r0, r1, r2)
void *fdt;
imx5_cpu_lowlevel_init();
- arm_setup_stack(0xf8020000 - 8);
+ arm_setup_stack(MX53_IRAM_BASE_ADDR + MX53_IRAM_SIZE - 8);
IMD_USED(ccxmx53_memsize_SZ_1G);
diff --git a/arch/arm/boards/freescale-mx53-qsb/lowlevel.c b/arch/arm/boards/freescale-mx53-qsb/lowlevel.c
index ce6a290ca2..bed886357c 100644
--- a/arch/arm/boards/freescale-mx53-qsb/lowlevel.c
+++ b/arch/arm/boards/freescale-mx53-qsb/lowlevel.c
@@ -1,4 +1,5 @@
#include <common.h>
+#include <mach/imx53-regs.h>
#include <mach/esdctl.h>
#include <mach/generic.h>
#include <asm/barebox-arm-head.h>
@@ -12,7 +13,7 @@ ENTRY_FUNCTION(start_imx53_loco, r0, r1, r2)
void *fdt;
imx5_cpu_lowlevel_init();
- arm_setup_stack(0xf8020000 - 8);
+ arm_setup_stack(MX53_IRAM_BASE_ADDR + MX53_IRAM_SIZE - 8);
fdt = __dtb_imx53_qsb_start - get_runtime_offset();
@@ -26,7 +27,7 @@ ENTRY_FUNCTION(start_imx53_loco_r, r0, r1, r2)
void *fdt;
imx5_cpu_lowlevel_init();
- arm_setup_stack(0xf8020000 - 8);
+ arm_setup_stack(MX53_IRAM_BASE_ADDR + MX53_IRAM_SIZE - 8);
fdt = __dtb_imx53_qsrb_start - get_runtime_offset();
diff --git a/arch/arm/boards/freescale-mx53-smd/lowlevel.c b/arch/arm/boards/freescale-mx53-smd/lowlevel.c
index 5ad0312e82..88c461da73 100644
--- a/arch/arm/boards/freescale-mx53-smd/lowlevel.c
+++ b/arch/arm/boards/freescale-mx53-smd/lowlevel.c
@@ -1,4 +1,5 @@
#include <common.h>
+#include <mach/imx53-regs.h>
#include <mach/esdctl.h>
#include <mach/generic.h>
#include <asm/barebox-arm-head.h>
@@ -6,6 +7,6 @@
void __naked barebox_arm_reset_vector(void)
{
imx5_cpu_lowlevel_init();
- arm_setup_stack(0xf8020000 - 8);
+ arm_setup_stack(MX53_IRAM_BASE_ADDR + MX53_IRAM_SIZE - 8);
imx53_barebox_entry(NULL);
}
diff --git a/arch/arm/boards/guf-vincell/lowlevel.c b/arch/arm/boards/guf-vincell/lowlevel.c
index a72eaf8b81..af7c65d9be 100644
--- a/arch/arm/boards/guf-vincell/lowlevel.c
+++ b/arch/arm/boards/guf-vincell/lowlevel.c
@@ -129,7 +129,7 @@ static noinline void imx53_guf_vincell_init(void *fdt)
u32 r;
imx5_cpu_lowlevel_init();
- arm_setup_stack(0xf8020000 - 8);
+ arm_setup_stack(MX53_IRAM_BASE_ADDR + MX53_IRAM_SIZE - 8);
writel(0x0088494c, ccm + MX5_CCM_CBCDR);
writel(0x02b12f0a, ccm + MX5_CCM_CSCMR2);
diff --git a/arch/arm/boards/karo-tx53/lowlevel.c b/arch/arm/boards/karo-tx53/lowlevel.c
index fdfb1b7573..9f584fa256 100644
--- a/arch/arm/boards/karo-tx53/lowlevel.c
+++ b/arch/arm/boards/karo-tx53/lowlevel.c
@@ -2,13 +2,14 @@
#include <asm/barebox-arm-head.h>
#include <asm/barebox-arm.h>
#include <mach/imx5.h>
+#include <mach/imx53-regs.h>
#include <mach/esdctl.h>
#include <mach/generic.h>
void __naked barebox_arm_reset_vector(void)
{
imx5_cpu_lowlevel_init();
- arm_setup_stack(0xf8020000 - 8);
+ arm_setup_stack(MX53_IRAM_BASE_ADDR + MX53_IRAM_SIZE - 8);
/*
* For the TX53 rev 8030 the SDRAM setup is not stable without
diff --git a/arch/arm/boards/tqma53/lowlevel.c b/arch/arm/boards/tqma53/lowlevel.c
index 4e129e49f6..0cb5952608 100644
--- a/arch/arm/boards/tqma53/lowlevel.c
+++ b/arch/arm/boards/tqma53/lowlevel.c
@@ -5,6 +5,7 @@
#include <asm/barebox-arm-head.h>
#include <asm/barebox-arm.h>
#include <mach/imx5.h>
+#include <mach/imx53-regs.h>
#include <mach/generic.h>
#include <image-metadata.h>
@@ -44,7 +45,7 @@ ENTRY_FUNCTION(start_imx53_mba53_512mib, r0, r1, r2)
imx5_cpu_lowlevel_init();
- arm_setup_stack(0xf8020000 - 8);
+ arm_setup_stack(MX53_IRAM_BASE_ADDR + MX53_IRAM_SIZE - 8);
IMD_USED(tqma53_memsize_512M);
@@ -63,7 +64,7 @@ ENTRY_FUNCTION(start_imx53_mba53_1gib, r0, r1, r2)
imx5_cpu_lowlevel_init();
- arm_setup_stack(0xf8020000 - 8);
+ arm_setup_stack(MX53_IRAM_BASE_ADDR + MX53_IRAM_SIZE - 8);
IMD_USED(tqma53_memsize_1G);