]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
mx6_common: Fix LOADADDR and SYS_TEXT_BASE for MX6SL and MX6SX
authorFabio Estevam <fabio.estevam at freescale.com>
Thu, 28 May 2015 15:33:34 +0000 (12:33 -0300)
committerLothar Waßmann <LW@KARO-electronics.de>
Tue, 8 Sep 2015 22:42:22 +0000 (00:42 +0200)
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>
include/configs/mx6_common.h
include/configs/tqma6.h

index 50d7038fad00ca43b39c8023e707aead2f940137..b81322ec971b854478f48a4be7b60670352bb537 100644 (file)
 #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
index 355868af173af7de097c04187c0ef80ad3b69a68..6d7aea79ebdde386a1a67155667c6bde6d745652 100644 (file)
 
 /* #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"
 
 #define PHYS_SDRAM_SIZE                        (512u * SZ_1M)
 #define CONFIG_CMD_BMODE
 #define CONFIG_CMD_ITEST
 
-/* place code in last 4 MiB of RAM */
-#define CONFIG_SYS_TEXT_BASE           0x2fc00000
-#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)