[U-Boot] [PATCH v3] mx6_common: Fix LOADADDR and SYS_TEXT_BASE for MX6SL and MX6SX

Stefano Babic sbabic at denx.de
Mon Jun 8 08:36:28 CEST 2015


On 28/05/2015 17:33, Fabio Estevam wrote:
> 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>
> ---
> 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(-)
> 
> 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 4c93c9b..9c36096 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)
> 
Applied to u-boot-imx, thanks !

Best regards,
Stefano Babic


-- 
=====================================================================
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
=====================================================================


More information about the U-Boot mailing list