summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabio Estevam <fabio.estevam at freescale.com>2015-05-28 12:33:34 -0300
committerStefano Babic <sbabic@denx.de>2015-06-08 08:35:59 +0200
commitcd6ddc48134297497d226209a4e6ea72b71c87c5 (patch)
tree2776e01ab81cd5a89b23c683380f5837f65975c4
parent9a8804a85e37d774419ee6452a90cc6e57d925f3 (diff)
downloadu-boot-imx-cd6ddc48134297497d226209a4e6ea72b71c87c5.zip
u-boot-imx-cd6ddc48134297497d226209a4e6ea72b71c87c5.tar.gz
u-boot-imx-cd6ddc48134297497d226209a4e6ea72b71c87c5.tar.bz2
mx6_common: Fix LOADADDR and SYS_TEXT_BASE for MX6SL and MX6SX
Commit 8183058188cd2d942 ("imx6: centralise common boot options in mx6_common.h") broke boot on mx6sl and mx6sx by assuming that all mx6 SoCs use the same LOADADDR/SYS_TEXT_BASE range, which is not correct. DDR on mx6sx/mx6sl starts at 0x80000000. Adjust LOADADDR/SYS_TEXT_BASE to the proper values for mx6sx/mx6sl, so that these SoCs can boot again. Also, TQMA6 requires a custom CONFIG_SYS_TEXT_BASE value, so move its setting prior to the inclusion of mx6_common.h. Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
-rw-r--r--include/configs/mx6_common.h10
-rw-r--r--include/configs/tqma6.h14
2 files changed, 16 insertions, 8 deletions
diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h
index 233c6d2..50370e1 100644
--- a/include/configs/mx6_common.h
+++ b/include/configs/mx6_common.h
@@ -53,11 +53,19 @@
#define CONFIG_REVISION_TAG
/* Boot options */
+#if (defined(CONFIG_MX6SX) || defined(CONFIG_MX6SL))
+#define CONFIG_LOADADDR 0x82000000
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0x87800000
+#endif
+#else
#define CONFIG_LOADADDR 0x12000000
-#define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
#ifndef CONFIG_SYS_TEXT_BASE
#define CONFIG_SYS_TEXT_BASE 0x17800000
#endif
+#endif
+#define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
+
#ifndef CONFIG_BOOTDELAY
#define CONFIG_BOOTDELAY 3
#endif
diff --git a/include/configs/tqma6.h b/include/configs/tqma6.h
index a091184..e46c580 100644
--- a/include/configs/tqma6.h
+++ b/include/configs/tqma6.h
@@ -22,6 +22,13 @@
/* #endif */
+/* place code in last 4 MiB of RAM */
+#if defined(CONFIG_MX6DL) || defined(CONFIG_MX6S)
+#define CONFIG_SYS_TEXT_BASE 0x2fc00000
+#elif defined(CONFIG_MX6Q) || defined(CONFIG_MX6D)
+#define CONFIG_SYS_TEXT_BASE 0x4fc00000
+#endif
+
#include "mx6_common.h"
#if defined(CONFIG_MX6DL) || defined(CONFIG_MX6S)
@@ -118,13 +125,6 @@
#define CONFIG_CMD_ITEST
#define CONFIG_CMD_SETEXPR
-/* place code in last 4 MiB of RAM */
-#if defined(CONFIG_MX6DL) || defined(CONFIG_MX6S)
-#define CONFIG_SYS_TEXT_BASE 0x2fc00000
-#elif defined(CONFIG_MX6Q) || defined(CONFIG_MX6D)
-#define CONFIG_SYS_TEXT_BASE 0x4fc00000
-#endif
-
#define CONFIG_ENV_SIZE (SZ_8K)
/* Size of malloc() pool */
#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 2 * SZ_1M)