[U-Boot] [PATCH] mx6: repair sl and slx load addresses

Vincent Stehlé vincent.stehle at laposte.net
Thu May 28 16:03:20 CEST 2015


Commit 8183058188cd ("imx6: centralise common boot options in
mx6_common.h") changed the LOADADDR and SYS_TEXT_BASE for all mx6
boards, setting them to 0x12000000 and 0x17800000 respectively.

This does not work for i.MX6SL and i.MX6 SoloX based boards, which have
their DDR starting at 0x80000000.

We allow to override LOADADDR from mx6_common.h and restore previous
LOADADDR and SYS_TEXT_BASE for SL and SoloX based boards.

This repairs the boot for i.MX6 SoloX Sabre SD, and should also repair
SL EVK and Warp board.

Signed-off-by: Vincent Stehlé <vincent.stehle at laposte.net>
Cc: Peter Robinson <pbrobinson at gmail.com>
Cc: Fabio Estevam <fabio.estevam at freescale.com>
Cc: Otavio Salvador <otavio at ossystems.com.br>
---

Hi,

This patch repairs for sure mx6sxsabresd with latest u-boot.

I am pretty sure that mx6slevk and warp are broken in current u-boot and
are repaired by this patch, but I cannot test, only compile.

Also, I noticed that the following boards have different LOADADDR and/or
SYS_TEST_BASE after the aforementioned commit:

- cm_fx6
- novena
- tbs2910

The current patch does not touch those and assumes they still work with
latest u-boot. Maybe a test or two to confirm would not harm...

Testers welcome!

Best regards,

V.

 include/configs/mx6_common.h   | 2 ++
 include/configs/mx6slevk.h     | 3 +++
 include/configs/mx6sxsabresd.h | 3 +++
 include/configs/warp.h         | 3 +++
 4 files changed, 11 insertions(+)

diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h
index 233c6d2..2367374 100644
--- a/include/configs/mx6_common.h
+++ b/include/configs/mx6_common.h
@@ -53,7 +53,9 @@
 #define CONFIG_REVISION_TAG
 
 /* Boot options */
+#ifndef CONFIG_LOADADDR
 #define CONFIG_LOADADDR		0x12000000
+#endif
 #define CONFIG_SYS_LOAD_ADDR	CONFIG_LOADADDR
 #ifndef CONFIG_SYS_TEXT_BASE
 #define CONFIG_SYS_TEXT_BASE	0x17800000
diff --git a/include/configs/mx6slevk.h b/include/configs/mx6slevk.h
index 2b8bb2a..52f2442 100644
--- a/include/configs/mx6slevk.h
+++ b/include/configs/mx6slevk.h
@@ -9,6 +9,9 @@
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
+#define CONFIG_LOADADDR			0x82000000
+#define CONFIG_SYS_TEXT_BASE		0x87800000
+
 #include "mx6_common.h"
 
 #define MACH_TYPE_MX6SLEVK		4307
diff --git a/include/configs/mx6sxsabresd.h b/include/configs/mx6sxsabresd.h
index 46e1262..d62b3bf 100644
--- a/include/configs/mx6sxsabresd.h
+++ b/include/configs/mx6sxsabresd.h
@@ -10,6 +10,9 @@
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
+#define CONFIG_LOADADDR			0x80800000
+#define CONFIG_SYS_TEXT_BASE		0x87800000
+
 #include "mx6_common.h"
 
 #ifdef CONFIG_SPL
diff --git a/include/configs/warp.h b/include/configs/warp.h
index 2673948..25f24c1 100644
--- a/include/configs/warp.h
+++ b/include/configs/warp.h
@@ -13,6 +13,9 @@
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
+#define CONFIG_LOADADDR			0x82000000
+#define CONFIG_SYS_TEXT_BASE		0x87800000
+
 #include "mx6_common.h"
 
 /* Size of malloc() pool */
-- 
2.1.4



More information about the U-Boot mailing list