[U-Boot] [PATCH v2] mx51evk: support new relocation scheme

Jason Liu liu.h.jason at gmail.com
Wed Oct 27 13:29:30 CEST 2010


2010/10/27 Shawn Guo <shawn.gsc at gmail.com>:
> This patch is to fix build breakage and support new relocatoin
> scheme for mx51evk.

What's change is for the build breakage fix? Please state it clearly.

>
> - Correct IRAM base address and add size definition
>
>  The IRAM starts from 0x1FFE0000 on final revsion i.mx51 than
>  0x1FFE8000 which is for older revision.
>
> - Include imx-regs.h in mx51evk.h
>
>  Definitions like CSD0_BASE_ADDR and IRAM_BASE_ADDR can be
>  referred to.
>
> - Define CONFIG_SYS_INIT_RAM_ADDR and CONFIG_SYS_INIT_RAM_SIZE
>
>  This is something suggested by Wolfgang, and for automatic
>  calculation of macros like CONFIG_SYS_GBL_DATA_SIZE (done) and
>  CONFIG_SYS_INIT_SP_ADDR (later).
>
> - Remove comment for CONFIG_SYS_GBL_DATA_SIZE which has been
>  buried by Wolfgang's commit below
>
>  25ddd1fb: Replace CONFIG_SYS_GBL_DATA_SIZE by auto-generated value
>
> Signed-off-by: Shawn Guo <shawn.gsc at gmail.com>
> ---
> Changes for v2:
>  - Combine two patches before into one, as the separation is not
>   so logical.
>  - Define init stack at the end of init RAM to address comments
>   from Stefano, Heiko and Wolfgang.
>
>  arch/arm/include/asm/arch-mx5/imx-regs.h |    3 ++-
>  board/freescale/mx51evk/mx51evk.c        |    6 +++---
>  include/configs/mx51evk.h                |    9 +++++++--
>  3 files changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/include/asm/arch-mx5/imx-regs.h b/arch/arm/include/asm/arch-mx5/imx-regs.h
> index 3ddda40..0b6249a 100644
> --- a/arch/arm/include/asm/arch-mx5/imx-regs.h
> +++ b/arch/arm/include/asm/arch-mx5/imx-regs.h
> @@ -26,7 +26,8 @@
>  /*
>  * IRAM
>  */
> -#define IRAM_BASE_ADDR         0x1FFE8000      /* internal ram */
> +#define IRAM_BASE_ADDR         0x1FFE0000      /* internal ram */
> +#define IRAM_SIZE              0x00020000      /* 128 KB */
>  /*
>  * Graphics Memory of GPU
>  */
> diff --git a/board/freescale/mx51evk/mx51evk.c b/board/freescale/mx51evk/mx51evk.c
> index c8d7d39..8820698 100644
> --- a/board/freescale/mx51evk/mx51evk.c
> +++ b/board/freescale/mx51evk/mx51evk.c
> @@ -52,9 +52,9 @@ u32 get_board_rev(void)
>
>  int dram_init(void)
>  {
> -       gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
> -       gd->bd->bi_dram[0].size = get_ram_size((long *)PHYS_SDRAM_1,
> -                       PHYS_SDRAM_1_SIZE);
> +       /* dram_init must store complete ramsize in gd->ram_size */
> +       gd->ram_size = get_ram_size((volatile void *)CONFIG_SYS_SDRAM_BASE,
> +                               PHYS_SDRAM_1_SIZE);
>        return 0;
>  }
>
> diff --git a/include/configs/mx51evk.h b/include/configs/mx51evk.h
> index f31fc4e..6dc1ffc 100644
> --- a/include/configs/mx51evk.h
> +++ b/include/configs/mx51evk.h
> @@ -24,11 +24,11 @@
>  #ifndef __CONFIG_H
>  #define __CONFIG_H
>
> +#include <asm/arch/imx-regs.h>
>
>  /* High Level Configuration Options */
>
>  #define CONFIG_MX51    /* in a mx51 */
> -#define CONFIG_SKIP_RELOCATE_UBOOT
>
>  #define CONFIG_SYS_MX5_HCLK    24000000
>  #define CONFIG_SYS_MX5_CLK32           32768
> @@ -51,7 +51,6 @@
>  * Size of malloc() pool
>  */
>  #define CONFIG_SYS_MALLOC_LEN          (CONFIG_ENV_SIZE + 2 * 1024 * 1024)
> -/* size in bytes reserved for initial data */
>
>  #define BOARD_LATE_INIT
>
> @@ -174,6 +173,12 @@
>  #define PHYS_SDRAM_1           CSD0_BASE_ADDR
>  #define PHYS_SDRAM_1_SIZE      (512 * 1024 * 1024)
>
> +#define CONFIG_SYS_SDRAM_BASE          (PHYS_SDRAM_1)
> +#define CONFIG_SYS_INIT_RAM_ADDR       (IRAM_BASE_ADDR)
> +#define CONFIG_SYS_INIT_RAM_SIZE       (IRAM_SIZE)
> +#define CONFIG_SYS_INIT_SP_ADDR        \
> +       (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE)
> +
>  #define CONFIG_SYS_DDR_CLKSEL  0
>  #define CONFIG_SYS_CLKTL_CBCDR 0x59E35100
>
> --
> 1.7.1
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>


More information about the U-Boot mailing list