mx6_common: Fix LOADADDR and SYS_TEXT_BASE for MX6SL and MX6SX
PATCH v3 1/1 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.
---
Build tested only
Changes since v2:
- Move the custom CONFIG_SYS_TEXT_BASE from tqma6.h prior to including mx6_common.h
include/configs/mx6_common.h | 10 +++++++++- include/configs/tqma6.h | 14 +++++++------- 2 files changed, 16 insertions(+), 8 deletions(-)
include/configs/mx6_common.h +9 -1
@@ -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
include/configs/tqma6.h +7 -7
@@ -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)
Signature · 1 line
1.9.1
PATCH v3 1/1 mx6_common: Fix LOADADDR and SYS_TEXT_BASE for MX6SL and MX6SX
On 05/28/2015 05:33 PM, Fabio Estevam wrote:
..
Quoted 1 line
Build tested only
Hi Fabio,
Thank you for that fix. I did not realize you had a patch "on-going" when sending mine; sorry. Your solution is cleaner and more generic than mine anyway :)
This works fine for me and does indeed repair the boot on i.MX6 SoloX Sabre SD.
Best regards,
V.
PATCH v3 1/1 mx6_common: Fix LOADADDR and SYS_TEXT_BASE for MX6SL and MX6SX
Hi Stefano,
Quoted 6 lines · Vincent Stehl?
On 05/28/2015 05:33 PM, Fabio Estevam wrote:
..Quoted 1 line
Build tested only
Hi Fabio,
Quoted 8 lines
Thank you for that fix. I did not realize you had a patch "on-going" when sending mine; sorry. Your solution is cleaner and more generic than mine anyway :)
This works fine for me and does indeed repair the boot on i.MX6 SoloX Sabre SD.
Tested-by Vincent Stehl? <[email protected]>
Can this one be applied so that we can have mx6solo and mx6solox booting again?
Thanks,
Fabio Estevam
PATCH v3 1/1 mx6_common: Fix LOADADDR and SYS_TEXT_BASE for MX6SL and MX6SX
Forgot to add Stefano on Cc.
Quoted 24 lines · Fabio Estevam
Hi Stefano,
Quoted 6 lines · Vincent Stehl?
On 05/28/2015 05:33 PM, Fabio Estevam wrote:
..Quoted 1 line
Build tested only
Hi Fabio,
Quoted 8 lines
Thank you for that fix. I did not realize you had a patch "on-going" when sending mine; sorry. Your solution is cleaner and more generic than mine anyway :)
This works fine for me and does indeed repair the boot on i.MX6 SoloX Sabre SD.
Tested-by Vincent Stehl? <[email protected]>Can this one be applied so that we can have mx6solo and mx6solox booting again?
Thanks,
Fabio Estevam
PATCH v3 1/1 mx6_common: Fix LOADADDR and SYS_TEXT_BASE for MX6SL and MX6SX
In reply to Fabio EstevamQuoted 72 lines · Fabio Estevam
Commit
8183058188cd2d942("imx6: centralise common boot options inmx6_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_BASEvalue, so move its setting prior to the inclusion ofmx6_common.h.Signed-off-by Fabio Estevam <[email protected]>---
Build tested onlyChanges since v2:
- Move the customCONFIG_SYS_TEXT_BASEfromtqma6.hprior to includingmx6_common.hinclude/configs/mx6_common.h | 10 +++++++++- include/configs/tqma6.h | 14 +++++++------- 2 files changed, 16 insertions(+), 8 deletions(-)include/configs/mx6_common.h +9
-1@@ -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 include/configs/tqma6.h +7
-0@@ -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
include/configs/tqma6.h line 130
Quoted 10 lines
include/configs/tqma6.h +0
-7-/* 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)
Applied to u-boot-imx, thanks !
Best regards,
Stefano Babic
Signature · 5 lines
===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de =====================================================================