Skip to contentSkip to conversation

arm1136: Fix NAND boot

PATCH New Fabio Estevam 4 participants 10 messages Feb 9, 2011 – Feb 17, 2011 Arm (32-bit)

lore
Share & tools
lore
#0 lore raw

PATCH 1/3 arm1136: Fix NAND boot

---
 arch/arm/cpu/arm1136/start.S |   16 ++++------------
 1 files changed, 4 insertions(+), 12 deletions(-)
arch/arm/cpu/arm1136/start.S +4 -12
index b771d31..bab2868 100644
@@ -163,15 +163,7 @@ call_board_init_f:
 	bic	sp, sp, #7 /* 8-byte alignment for ABI compliance */
 	ldr	r0,=0x00000000
 
-#ifdef CONFIG_NAND_SPL
-	bl	nand_boot
-#else
-#ifdef CONFIG_ONENAND_IPL
-	bl	start_oneboot
-#else
 	bl	board_init_f
-#endif /* CONFIG_ONENAND_IPL */
-#endif /* CONFIG_NAND_SPL */
 
 /*------------------------------------------------------------------------------*/
 
@@ -267,10 +259,10 @@ clbss_l:str	r2, [r0]		/* clear loop...		    */
  */
 #ifdef CONFIG_NAND_SPL
 	ldr     r0, _nand_boot_ofs
-	adr	r1, _start
-	add	pc, r0, r1
-_nand_boot_ofs
-	: .word nand_boot - _start
+	mov	pc, r0
+
+_nand_boot_ofs:
+	.word nand_boot
 #else
 jump_2_ram:
 	ldr	r0, _board_init_r_ofs
Signature · 1 line
1.6.0.4
#1 lore raw

PATCH 2/3 mx31pdk: Use the new relocation scheme

---
 board/freescale/mx31pdk/mx31pdk.c           |   10 ++++-
 include/configs/mx31pdk.h                   |    6 +++
 nand_spl/board/freescale/mx31pdk/u-boot.lds |   59 +++++++++++++++++++++++---
 3 files changed, 66 insertions(+), 9 deletions(-)
board/freescale/mx31pdk/mx31pdk.c +8 -2
index 9f47169..2756e5a 100644
@@ -33,10 +33,16 @@ DECLARE_GLOBAL_DATA_PTR;
 
 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)
include/configs/mx31pdk.h +6 -0
index 3b90a01..d7286c0 100644
@@ -155,6 +155,12 @@
 #define PHYS_SDRAM_1		CSD0_BASE
 #define PHYS_SDRAM_1_SIZE	(128 * 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_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
  */
nand_spl/board/freescale/mx31pdk/u-boot.lds +52 -7

73 lines not on this page · raw message

Signature · 1 line
1.6.0.4
#2 lore raw

PATCH 3/3 mx31pdk: Make the full boot log visible

Use board_early_init_f so that the full boot log output can be displayed.

---
 board/freescale/mx31pdk/mx31pdk.c |    7 ++++++-
 include/configs/mx31pdk.h         |    1 +
 2 files changed, 7 insertions(+), 1 deletions(-)
board/freescale/mx31pdk/mx31pdk.c +6 -1
index 2756e5a..a9f0fb4 100644
@@ -45,7 +45,7 @@ void dram_init_banksize(void)
 	gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
 }
 
-int board_init(void)
+int board_early_init_f(void)
 {
 	/* CS5: CPLD incl. network controller */
 	__REG(CSCR_U(5)) = 0x0000d843;
@@ -56,6 +56,11 @@ int board_init(void)
 	mx31_uart1_hw_init();
 	mx31_spi2_hw_init();
 
+	return 0;
+}
+
+int board_init(void)
+{
 	gd->bd->bi_arch_number = MACH_TYPE_MX31_3DS; /* board id for linux */
 	/* adress of boot parameters */
 	gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
include/configs/mx31pdk.h +1 -0
index d7286c0..86c758f 100644
@@ -154,6 +154,7 @@
 #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	1
 
 #define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM_1
 #define CONFIG_SYS_INIT_RAM_ADDR	IRAM_BASE_ADDR
Signature · 1 line
1.6.0.4
#3 lore raw

PATCH 3/3 mx31pdk: Make the full boot log visible

board/freescale/mx31pdk/mx31pdk.c

Quoted 10 lines · Fabio Estevam

Use board_early_init_f so that the full boot log output can be displayed.

---
 board/freescale/mx31pdk/mx31pdk.c |    7 ++++++-
 include/configs/mx31pdk.h         |    1 +
 2 files changed, 7 insertions(+), 1 deletions(-)
board/freescale/mx31pdk/mx31pdk.c +0 -0
index 2756e5a..a9f0fb4 100644

Applied to u-boot-imx, thanks.

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
=====================================================================
#4 lore raw

PATCH 2/3 mx31pdk: Use the new relocation scheme

In reply to Fabio Estevam

board/freescale/mx31pdk/mx31pdk.c DECLARE_GLOBAL_DATA_PTR;

Quoted 12 lines · Fabio Estevam
---
 board/freescale/mx31pdk/mx31pdk.c           |   10 ++++-
 include/configs/mx31pdk.h                   |    6 +++
 nand_spl/board/freescale/mx31pdk/u-boot.lds |   59 +++++++++++++++++++++++---
 3 files changed, 66 insertions(+), 9 deletions(-)
board/freescale/mx31pdk/mx31pdk.c +0 -0
index 9f47169..2756e5a 100644
@@ -33,10 +33,16 @@ DECLARE_GLOBAL_DATA_PTR;

Applied to u-boot-imx, thanks.

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
=====================================================================
#5 lore raw

PATCH 1/3 arm1136: Fix NAND boot

In reply to Fabio Estevam

Hi

I've tested Fabio's patch series and it makes the i.MX31 PDK boot nicely from NAND again. So from my point of view I recommend to use these patches.

Best regards, Magnus

Quoted 41 lines · Fabio Estevam
---
 arch/arm/cpu/arm1136/start.S |   16 ++++------------
 1 files changed, 4 insertions(+), 12 deletions(-)
arch/arm/cpu/arm1136/start.S +4 -12
index b771d31..bab2868 100644
@@ -163,15 +163,7 @@ call_board_init_f:
 	bic	sp, sp, #7 /* 8-byte alignment for ABI compliance */
 	ldr	r0,=0x00000000
 
-#ifdef CONFIG_NAND_SPL
-	bl	nand_boot
-#else
-#ifdef CONFIG_ONENAND_IPL
-	bl	start_oneboot
-#else
 	bl	board_init_f
-#endif /* CONFIG_ONENAND_IPL */
-#endif /* CONFIG_NAND_SPL */
 
 /*------------------------------------------------------------------------------*/
 
@@ -267,10 +259,10 @@ clbss_l:str	r2, [r0]		/* clear loop...		    */
  */
 #ifdef CONFIG_NAND_SPL
 	ldr     r0, _nand_boot_ofs
-	adr	r1, _start
-	add	pc, r0, r1
-_nand_boot_ofs
-	: .word nand_boot - _start
+	mov	pc, r0
+
+_nand_boot_ofs:
+	.word nand_boot
 #else
 jump_2_ram:
 	ldr	r0, _board_init_r_ofs
#6 lore raw

PATCH 1/3 arm1136: Fix NAND boot

Le 11/02/2011 19:58, Magnus Lilja a ?crit :

Quoted 4 lines

Hi

I've tested Fabio's patch series and it makes the i.MX31 PDK boot nicely from NAND again. So from my point of view I recommend to use these patches.

Which is the ideal case for sending out a "Tested-By:" line. :)

Quoted 1 line

Best regards, Magnus

Amicalement,

Signature · 1 line
Albert.
#7 lore raw

PATCH 1/3 arm1136: Fix NAND boot

Quoted 7 lines · Albert ARIBAUD

Le 11/02/2011 19:58, Magnus Lilja a ?crit :

Quoted 4 lines

Hi

I've tested Fabio's patch series and it makes the i.MX31 PDK boot nicely from NAND again. So from my point of view I recommend to use these patches.

Which is the ideal case for sending out a "Tested-By:" line. :)

Regards, Magnus

#8 lore raw

PATCH 1/3 arm1136: Fix NAND boot

Hi Albert,

Quoted 4 lines · Magnus Lilja
Quoted 3 lines · Albert ARIBAUD

Le 11/02/2011 19:58, Magnus Lilja a ?crit :

Quoted 2 lines

Hi

Quoted 9 lines
Quoted 4 lines
Quoted 2 lines

I've tested Fabio's patch series and it makes the i.MX31 PDK boot nicely from NAND again. So from my point of view I recommend to use these patches.

Which is the ideal case for sending out a "Tested-By:" line. :)

Regards, Magnus

Ping?

Stefano has already applied the patches 2/3 and 3/3 from this series, but without 1/3 MX31PDK boot is still broken.

Regards,

Fabio Estevam

#9 lore raw

PATCH 1/3 arm1136: Fix NAND boot

Le 16/02/2011 12:58, Fabio Estevam a ?crit :

Quoted 16 lines

Hi Albert,

Quoted 4 lines · Magnus Lilja
Quoted 3 lines · Albert ARIBAUD

Le 11/02/2011 19:58, Magnus Lilja a ?crit :

Quoted 2 lines

Hi

Quoted 9 lines
Quoted 4 lines
Quoted 2 lines

I've tested Fabio's patch series and it makes the i.MX31 PDK boot nicely from NAND again. So from my point of view I recommend to use these patches.

Which is the ideal case for sending out a "Tested-By:" line. :)

Regards, Magnus

Quoted 7 lines

Ping?

Stefano has already applied the patches 2/3 and 3/3 from this series, but without 1/3 MX31PDK boot is still broken.

Regards,

Fabio Estevam

Applied to u-boot-arm/master, thanks.

Amicalement,

Signature · 1 line
Albert.