mx31ads: Use the new relocation scheme
PATCH v2 1/1 mx31ads: Use the new relocation scheme
This fixes the MX31ADS build by using the new relocation scheme.
---
Changes since v1:
- Fixed lines over 80 characters.
Build tested only.
Do not have the hardware handy to test.
board/freescale/mx31ads/mx31ads.c | 19 ++++++++++++--- board/freescale/mx31ads/u-boot.lds | 42 ++++++++++++++++++++++++++++------- include/configs/mx31ads.h | 9 +++++++ 3 files changed, 57 insertions(+), 13 deletions(-)
board/freescale/mx31ads/mx31ads.c +15 -4
@@ -28,15 +28,21 @@DECLARE_GLOBAL_DATA_PTR ; -int dram_init (void ) +int dram_init (void ) +{ +/* 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 ; +} + +void dram_init_banksize (void ) { gd->bd->bi_dram[0 ].start =PHYS_SDRAM_1 ; gd->bd->bi_dram[0 ].size =PHYS_SDRAM_1_SIZE ; - -return 0 ; } -int board_init (void ) +int board_early_init_f (void ) {int i;
@@ -94,6 +100,11 @@ int board_init (void)readb (CS4_BASE +8 );readb (CS4_BASE +7 ); +return 0 ; +} + +int board_init (void ) +{ gd->bd->bi_arch_number =MACH_TYPE_MX31ADS ;/* board id for linux */ gd->bd->bi_boot_params =0x80000100 ;/* adress of boot parameters */
board/freescale/mx31ads/u-boot.lds +33 -9
56 lines not on this page · raw message
include/configs/mx31ads.h +9 -0
@@ -160,6 +160,15 @@#define CONFIG_NR_DRAM_BANKS 1#define PHYS_SDRAM_1 CSD0_BASE#define PHYS_SDRAM_1_SIZE (128 * 1024 * 1024) +#define CONFIG_BOARD_EARLY_INIT_F + +#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_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - \ + GENERATED_GBL_DATA_SIZE) +#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \ + CONFIG_SYS_GBL_DATA_OFFSET)/*----------------------------------------------------------------------- * FLASH and environment organization
Signature · 1 line
1.6.0.4
PATCH v2 1/1 mx31ads: Use the new relocation scheme
Quoted 3 lines · Fabio Estevam
This fixes the MX31ADS build by using the new relocation scheme.
Signed-off-by Fabio Estevam <[email protected]> ---
Hi Fabio,
Quoted 7 lines
Changes since v1:
- Fixed lines over 80 characters.
Build tested only.
Do not have the hardware handy to test.
Maybe someone can help on this topic ;-)
Quoted 3 lines
-int
dram_init(void) +intdram_init(void)+{ + /*dram_initmust
store complete ramsize ingd->ram_size*/ +gd->ram_size=
get_ram_size((volatile void *)CONFIG_SYS_SDRAM_BASE,
I know it is the same, but if you use PHYS_SDRAM_1 instead of CONFIG_SYS_SDRAM_BASE (as most boards do), the reader understands easier that the start address and the size are strictly connected.
Quoted 3 lines
---
a/board/freescale/mx31ads/u-boot.lds+++b/board/freescale/mx31ads/u-boot.lds@@ -48,23 +48,47 @@ SECTIONS
Can we get rid of this file ? We do not need anymore, and you can also remove config.mk as well.
Your patch makes u-boot.lds in board directory identical (if I have not missed something) to arch/arm/cpu/arm1136/u-boot.lds.
Best regards,
Stefano
Signature · 5 lines
===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de =====================================================================
PATCH v2 1/1 mx31ads: Use the new relocation scheme
Hi Stefano,
On Thu, Jun 2, 2011 at 3:28 AM, Stefano Babic <[email protected]> wrote:
...
Quoted 3 lines
I know it is the same, but if you use
PHYS_SDRAM_1instead ofCONFIG_SYS_SDRAM_BASE(as most boards do), the reader understands easier that the start address and the size are strictly connected.
OK.
Quoted 7 lines
Quoted 4 lines
---
a/board/freescale/mx31ads/u-boot.lds+++b/board/freescale/mx31ads/u-boot.lds@@ -48,23 +48,47 @@ SECTIONSCan we get rid of this file ? We do not need anymore, and you can also remove config.mk as well.
If I remove the board/freescale/mx31ads/u-boot.ld then I get the following error:
010q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/armv4t -lgcc -Map u-boot.map -o u-boot
common/libcommon.o:(.data+0x80c): undefined reference to `environment'
and I think that is due to the fact that board/freescale/mx31ads/u-boot.ld is a bit customized as per the comment below:
.text :
{
/* WARNING - the following is hand-optimized to fit within */
/* the sector layout of our flash chips! XXX FIXME XXX */
arch/arm/cpu/arm1136/start.o (.text)
board/freescale/mx31ads/libmx31ads.o (.text)
arch/arm/lib/libarm.o (.text)
net/libnet.o (.text)
drivers/mtd/libmtd.o (.text)
. = DEFINED(env_offset) ? env_offset : .;
common/env_embedded.o(.text)My intention on this patch was to fix the MX31ADS build so that this board does not get removed from U-boot.
Would it be OK if I resend a new patch taking in consideration your other comments, except the removal of board/freescale/mx31ads/u-boot.ld ?
Or would you have any other suggestion?
Regards,
Fabio Estevam
PATCH v2 1/1 mx31ads: Use the new relocation scheme
Quoted 2 lines · Fabio Estevam
Hi Stefano,
Hi Fabio,
Quoted 3 lines
My intention on this patch was to fix the MX31ADS build so that this board does not get removed from U-boot.
Sure. This is the first goal.
Quoted 4 lines
Would it be OK if I resend a new patch taking in consideration your other comments, except the removal of board/freescale/mx31ads/u-boot.ld ?
Agree.
Best regards,
Stefano Babic
Signature · 5 lines
===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de =====================================================================