All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/2] ARM: omap3: Set SPL stack size to 8KB, image to 54KB.
@ 2012-05-08 17:29 Tom Rini
  2012-05-08 17:29 ` [U-Boot] [PATCH 2/2] ARM: omap3: Add CONFIG_SPL_BOARD_INIT for CONFIG_SPL_MMC_SUPPORT Tom Rini
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Tom Rini @ 2012-05-08 17:29 UTC (permalink / raw)
  To: u-boot

With older toolchains it is possible to not fit entirely into the 45KB
that we had assigned to SPL.  Adjust to allow for 8KB of stack (which
should be more than required) and 54KB of text/data.

Cc: Vaibhav Hiremath <hvaibhav@ti.com>
Cc: Nagendra T S <nagendra@mistralsolutions.com>
Cc: Thomas Weber <weber@corscience.de>
Cc: Ilya Yanok <yanok@emcraft.com>
Cc: Steve Sakoman <sakoman@gmail.com>
Cc: Stefano Babic <sbabic@denx.de>
Signed-off-by: Tom Rini <trini@ti.com>
---
 doc/SPL/README.omap3               |    4 ++--
 include/configs/am3517_crane.h     |    2 +-
 include/configs/am3517_evm.h       |    2 +-
 include/configs/devkit8000.h       |    2 +-
 include/configs/mcx.h              |    2 +-
 include/configs/omap3_beagle.h     |    2 +-
 include/configs/omap3_evm_common.h |    2 +-
 include/configs/omap3_overo.h      |    2 +-
 include/configs/tam3517-common.h   |    2 +-
 include/configs/tricorder.h        |    2 +-
 10 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/doc/SPL/README.omap3 b/doc/SPL/README.omap3
index cc5d5c0..a543e65 100644
--- a/doc/SPL/README.omap3
+++ b/doc/SPL/README.omap3
@@ -34,14 +34,14 @@ DDR1: 0x80000000 - 0xBFFFFFFF
 
 Option 1 (SPL only):
 0x40200800 - 0x4020BBFF: Area for SPL text, data and rodata
-0x4020BC00 - 0x4020FFFC: Area for the SPL stack.
+0x4020E000 - 0x4020FFFC: Area for the SPL stack.
 0x80000000 - 0x8007FFFF: Area for the SPL BSS.
 0x80100000: CONFIG_SYS_TEXT_BASE of U-Boot
 0x80208000 - 0x80307FFF: malloc() pool available to SPL.
 
 Option 2 (SPL or X-Loader):
 0x40200800 - 0x4020BBFF: Area for SPL text, data and rodata
-0x4020BC00 - 0x4020FFFC: Area for the SPL stack.
+0x4020E000 - 0x4020FFFC: Area for the SPL stack.
 0x80008000: CONFIG_SYS_TEXT_BASE of U-Boot
 0x87000000 - 0x8707FFFF: Area for the SPL BSS.
 0x87080000 - 0x870FFFFF: malloc() pool available to SPL.
diff --git a/include/configs/am3517_crane.h b/include/configs/am3517_crane.h
index b0dd2f0..9843eae 100644
--- a/include/configs/am3517_crane.h
+++ b/include/configs/am3517_crane.h
@@ -326,7 +326,7 @@
 #define CONFIG_SPL
 #define CONFIG_SPL_NAND_SIMPLE
 #define CONFIG_SPL_TEXT_BASE		0x40200800
-#define CONFIG_SPL_MAX_SIZE		(45 * 1024)
+#define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
 
 #define CONFIG_SPL_BSS_START_ADDR	0x80000000
diff --git a/include/configs/am3517_evm.h b/include/configs/am3517_evm.h
index b5f75d1..49e665d 100644
--- a/include/configs/am3517_evm.h
+++ b/include/configs/am3517_evm.h
@@ -326,7 +326,7 @@
 #define CONFIG_SPL
 #define CONFIG_SPL_NAND_SIMPLE
 #define CONFIG_SPL_TEXT_BASE		0x40200800
-#define CONFIG_SPL_MAX_SIZE		(45 * 1024)
+#define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
 
 #define CONFIG_SPL_BSS_START_ADDR	0x80000000
diff --git a/include/configs/devkit8000.h b/include/configs/devkit8000.h
index eb7c376..248a5b2 100644
--- a/include/configs/devkit8000.h
+++ b/include/configs/devkit8000.h
@@ -324,7 +324,7 @@
 #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */
 
 #define CONFIG_SPL_TEXT_BASE		0x40200000 /*CONFIG_SYS_SRAM_START*/
-#define CONFIG_SPL_MAX_SIZE		0xB400  /* 45 K */
+#define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
 
 #define CONFIG_SPL_BSS_START_ADDR       0x80000500 /* leave space for bootargs*/
diff --git a/include/configs/mcx.h b/include/configs/mcx.h
index 1315c3c..fd6a435 100644
--- a/include/configs/mcx.h
+++ b/include/configs/mcx.h
@@ -327,7 +327,7 @@
 #define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/omap-common/u-boot-spl.lds"
 
 #define CONFIG_SPL_TEXT_BASE		0x40200000 /*CONFIG_SYS_SRAM_START*/
-#define CONFIG_SPL_MAX_SIZE		(45 << 10)
+#define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
 
 /* move malloc and bss high to prevent clashing with the main image */
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
index ddeb414..6bdc2c3 100644
--- a/include/configs/omap3_beagle.h
+++ b/include/configs/omap3_beagle.h
@@ -399,7 +399,7 @@
 #define CONFIG_SPL
 #define CONFIG_SPL_NAND_SIMPLE
 #define CONFIG_SPL_TEXT_BASE		0x40200800
-#define CONFIG_SPL_MAX_SIZE		(45 * 1024)
+#define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
 
 #define CONFIG_SPL_BSS_START_ADDR	0x80000000
diff --git a/include/configs/omap3_evm_common.h b/include/configs/omap3_evm_common.h
index 4910dda..47ebbef 100644
--- a/include/configs/omap3_evm_common.h
+++ b/include/configs/omap3_evm_common.h
@@ -282,7 +282,7 @@
 /* Defines for SPL */
 #define CONFIG_SPL
 #define CONFIG_SPL_TEXT_BASE		0x40200800
-#define CONFIG_SPL_MAX_SIZE		(45 * 1024)	/* 45 KB */
+#define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
 
 #define CONFIG_SPL_BSS_START_ADDR	0x80000000
diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h
index 64adc74..b0d144f 100644
--- a/include/configs/omap3_overo.h
+++ b/include/configs/omap3_overo.h
@@ -303,7 +303,7 @@
 #define CONFIG_SPL
 #define CONFIG_SPL_NAND_SIMPLE
 #define CONFIG_SPL_TEXT_BASE		0x40200800
-#define CONFIG_SPL_MAX_SIZE		(45 * 1024)
+#define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
 
 /* move malloc and bss high to prevent clashing with the main image */
diff --git a/include/configs/tam3517-common.h b/include/configs/tam3517-common.h
index 4c4321d..de10f4f 100644
--- a/include/configs/tam3517-common.h
+++ b/include/configs/tam3517-common.h
@@ -258,7 +258,7 @@
 #define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/omap-common/u-boot-spl.lds"
 
 #define CONFIG_SPL_TEXT_BASE		0x40200000 /*CONFIG_SYS_SRAM_START*/
-#define CONFIG_SPL_MAX_SIZE		(45 << 10)	/* 45 K */
+#define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
 
 #define CONFIG_SYS_SPL_MALLOC_START	0x8f000000
diff --git a/include/configs/tricorder.h b/include/configs/tricorder.h
index 801a24f..ab911aa 100644
--- a/include/configs/tricorder.h
+++ b/include/configs/tricorder.h
@@ -293,7 +293,7 @@
 #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */
 
 #define CONFIG_SPL_TEXT_BASE		0x40200000 /*CONFIG_SYS_SRAM_START*/
-#define CONFIG_SPL_MAX_SIZE		0xB400  /* 45 K */
+#define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
 
 #define CONFIG_SPL_BSS_START_ADDR	0x80000000 /*CONFIG_SYS_SDRAM_BASE*/
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH 2/2] ARM: omap3: Add CONFIG_SPL_BOARD_INIT for CONFIG_SPL_MMC_SUPPORT
  2012-05-08 17:29 [U-Boot] [PATCH 1/2] ARM: omap3: Set SPL stack size to 8KB, image to 54KB Tom Rini
@ 2012-05-08 17:29 ` Tom Rini
  2012-05-09  7:44   ` Thomas Weber
  2012-05-08 17:40 ` [U-Boot] [PATCH 1/2] ARM: omap3: Set SPL stack size to 8KB, image to 54KB Hiremath, Vaibhav
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 11+ messages in thread
From: Tom Rini @ 2012-05-08 17:29 UTC (permalink / raw)
  To: u-boot

As originally reported against beagleboard we currently have the
following error message reported in SPL:

U-Boot SPL 2012.04-00020-gb8310b9-dirty (Apr 25 2012 - 18:49:57)
Texas Instruments Revision detection unimplemented
OMAP SD/MMC: 0
timed out in wait_for_bb: I2C_STAT=1000
reading u-boot.img
....

The reason for above message is that when booting from MMC, I2C needs to
be initialized to talk with the TWL4030.  On OMAP3 I2C is only
initalized in SPL if CONFIG_SPL_BOARD_INIT is set.

Cc: Thomas Weber <weber@corscience.de>
Cc: Steve Sakoman <sakoman@gmail.com>

Original patch for Beagleboard is:
Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>

Extended to cover all other boards:
Signed-off-by: Tom Rini <trini@ti.com>
---
 include/configs/omap3_beagle.h     |    1 +
 include/configs/omap3_evm_common.h |    1 +
 include/configs/omap3_overo.h      |    1 +
 include/configs/tricorder.h        |    1 +
 4 files changed, 4 insertions(+)

diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
index 6bdc2c3..b891ee4 100644
--- a/include/configs/omap3_beagle.h
+++ b/include/configs/omap3_beagle.h
@@ -410,6 +410,7 @@
 #define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION	1
 #define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME	"u-boot.img"
 
+#define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBDISK_SUPPORT
 #define CONFIG_SPL_I2C_SUPPORT
diff --git a/include/configs/omap3_evm_common.h b/include/configs/omap3_evm_common.h
index 47ebbef..7b21a5c 100644
--- a/include/configs/omap3_evm_common.h
+++ b/include/configs/omap3_evm_common.h
@@ -288,6 +288,7 @@
 #define CONFIG_SPL_BSS_START_ADDR	0x80000000
 #define CONFIG_SPL_BSS_MAX_SIZE		0x80000		/* 512 KB */
 
+#define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBDISK_SUPPORT
 #define CONFIG_SPL_I2C_SUPPORT
diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h
index b0d144f..a0a7a1c 100644
--- a/include/configs/omap3_overo.h
+++ b/include/configs/omap3_overo.h
@@ -317,6 +317,7 @@
 #define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION	1
 #define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME	"u-boot.img"
 
+#define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBDISK_SUPPORT
 #define CONFIG_SPL_I2C_SUPPORT
diff --git a/include/configs/tricorder.h b/include/configs/tricorder.h
index ab911aa..9955fca 100644
--- a/include/configs/tricorder.h
+++ b/include/configs/tricorder.h
@@ -278,6 +278,7 @@
 #define CONFIG_SPL
 #define CONFIG_SPL_NAND_SIMPLE
 
+#define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBDISK_SUPPORT
 #define CONFIG_SPL_I2C_SUPPORT
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH 1/2] ARM: omap3: Set SPL stack size to 8KB, image to 54KB.
  2012-05-08 17:29 [U-Boot] [PATCH 1/2] ARM: omap3: Set SPL stack size to 8KB, image to 54KB Tom Rini
  2012-05-08 17:29 ` [U-Boot] [PATCH 2/2] ARM: omap3: Add CONFIG_SPL_BOARD_INIT for CONFIG_SPL_MMC_SUPPORT Tom Rini
@ 2012-05-08 17:40 ` Hiremath, Vaibhav
  2012-05-08 18:15   ` Tom Rini
  2012-05-09  6:51 ` R, Sricharan
  2012-05-09  9:45 ` Stefano Babic
  3 siblings, 1 reply; 11+ messages in thread
From: Hiremath, Vaibhav @ 2012-05-08 17:40 UTC (permalink / raw)
  To: u-boot

On Tue, May 08, 2012 at 22:59:31, Rini, Tom wrote:
> With older toolchains it is possible to not fit entirely into the 45KB
> that we had assigned to SPL.  Adjust to allow for 8KB of stack (which
> should be more than required) and 54KB of text/data.
> 

Tom,

Can you provide more details on why 45Kb is not sufficient for SPL?
You may have done some memory analysis on this; can you share that here? 
Also, do we know how much ROM code is using out of 64KB of RAM?

Thanks,
Vaibhav


> Cc: Vaibhav Hiremath <hvaibhav@ti.com>
> Cc: Nagendra T S <nagendra@mistralsolutions.com>
> Cc: Thomas Weber <weber@corscience.de>
> Cc: Ilya Yanok <yanok@emcraft.com>
> Cc: Steve Sakoman <sakoman@gmail.com>
> Cc: Stefano Babic <sbabic@denx.de>
> Signed-off-by: Tom Rini <trini@ti.com>
> ---
>  doc/SPL/README.omap3               |    4 ++--
>  include/configs/am3517_crane.h     |    2 +-
>  include/configs/am3517_evm.h       |    2 +-
>  include/configs/devkit8000.h       |    2 +-
>  include/configs/mcx.h              |    2 +-
>  include/configs/omap3_beagle.h     |    2 +-
>  include/configs/omap3_evm_common.h |    2 +-
>  include/configs/omap3_overo.h      |    2 +-
>  include/configs/tam3517-common.h   |    2 +-
>  include/configs/tricorder.h        |    2 +-
>  10 files changed, 11 insertions(+), 11 deletions(-)
> 
> diff --git a/doc/SPL/README.omap3 b/doc/SPL/README.omap3
> index cc5d5c0..a543e65 100644
> --- a/doc/SPL/README.omap3
> +++ b/doc/SPL/README.omap3
> @@ -34,14 +34,14 @@ DDR1: 0x80000000 - 0xBFFFFFFF
>  
>  Option 1 (SPL only):
>  0x40200800 - 0x4020BBFF: Area for SPL text, data and rodata
> -0x4020BC00 - 0x4020FFFC: Area for the SPL stack.
> +0x4020E000 - 0x4020FFFC: Area for the SPL stack.
>  0x80000000 - 0x8007FFFF: Area for the SPL BSS.
>  0x80100000: CONFIG_SYS_TEXT_BASE of U-Boot
>  0x80208000 - 0x80307FFF: malloc() pool available to SPL.
>  
>  Option 2 (SPL or X-Loader):
>  0x40200800 - 0x4020BBFF: Area for SPL text, data and rodata
> -0x4020BC00 - 0x4020FFFC: Area for the SPL stack.
> +0x4020E000 - 0x4020FFFC: Area for the SPL stack.
>  0x80008000: CONFIG_SYS_TEXT_BASE of U-Boot
>  0x87000000 - 0x8707FFFF: Area for the SPL BSS.
>  0x87080000 - 0x870FFFFF: malloc() pool available to SPL.
> diff --git a/include/configs/am3517_crane.h b/include/configs/am3517_crane.h
> index b0dd2f0..9843eae 100644
> --- a/include/configs/am3517_crane.h
> +++ b/include/configs/am3517_crane.h
> @@ -326,7 +326,7 @@
>  #define CONFIG_SPL
>  #define CONFIG_SPL_NAND_SIMPLE
>  #define CONFIG_SPL_TEXT_BASE		0x40200800
> -#define CONFIG_SPL_MAX_SIZE		(45 * 1024)
> +#define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
>  #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
>  
>  #define CONFIG_SPL_BSS_START_ADDR	0x80000000
> diff --git a/include/configs/am3517_evm.h b/include/configs/am3517_evm.h
> index b5f75d1..49e665d 100644
> --- a/include/configs/am3517_evm.h
> +++ b/include/configs/am3517_evm.h
> @@ -326,7 +326,7 @@
>  #define CONFIG_SPL
>  #define CONFIG_SPL_NAND_SIMPLE
>  #define CONFIG_SPL_TEXT_BASE		0x40200800
> -#define CONFIG_SPL_MAX_SIZE		(45 * 1024)
> +#define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
>  #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
>  
>  #define CONFIG_SPL_BSS_START_ADDR	0x80000000
> diff --git a/include/configs/devkit8000.h b/include/configs/devkit8000.h
> index eb7c376..248a5b2 100644
> --- a/include/configs/devkit8000.h
> +++ b/include/configs/devkit8000.h
> @@ -324,7 +324,7 @@
>  #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */
>  
>  #define CONFIG_SPL_TEXT_BASE		0x40200000 /*CONFIG_SYS_SRAM_START*/
> -#define CONFIG_SPL_MAX_SIZE		0xB400  /* 45 K */
> +#define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
>  #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
>  
>  #define CONFIG_SPL_BSS_START_ADDR       0x80000500 /* leave space for bootargs*/
> diff --git a/include/configs/mcx.h b/include/configs/mcx.h
> index 1315c3c..fd6a435 100644
> --- a/include/configs/mcx.h
> +++ b/include/configs/mcx.h
> @@ -327,7 +327,7 @@
>  #define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/omap-common/u-boot-spl.lds"
>  
>  #define CONFIG_SPL_TEXT_BASE		0x40200000 /*CONFIG_SYS_SRAM_START*/
> -#define CONFIG_SPL_MAX_SIZE		(45 << 10)
> +#define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
>  #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
>  
>  /* move malloc and bss high to prevent clashing with the main image */
> diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
> index ddeb414..6bdc2c3 100644
> --- a/include/configs/omap3_beagle.h
> +++ b/include/configs/omap3_beagle.h
> @@ -399,7 +399,7 @@
>  #define CONFIG_SPL
>  #define CONFIG_SPL_NAND_SIMPLE
>  #define CONFIG_SPL_TEXT_BASE		0x40200800
> -#define CONFIG_SPL_MAX_SIZE		(45 * 1024)
> +#define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
>  #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
>  
>  #define CONFIG_SPL_BSS_START_ADDR	0x80000000
> diff --git a/include/configs/omap3_evm_common.h b/include/configs/omap3_evm_common.h
> index 4910dda..47ebbef 100644
> --- a/include/configs/omap3_evm_common.h
> +++ b/include/configs/omap3_evm_common.h
> @@ -282,7 +282,7 @@
>  /* Defines for SPL */
>  #define CONFIG_SPL
>  #define CONFIG_SPL_TEXT_BASE		0x40200800
> -#define CONFIG_SPL_MAX_SIZE		(45 * 1024)	/* 45 KB */
> +#define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
>  #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
>  
>  #define CONFIG_SPL_BSS_START_ADDR	0x80000000
> diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h
> index 64adc74..b0d144f 100644
> --- a/include/configs/omap3_overo.h
> +++ b/include/configs/omap3_overo.h
> @@ -303,7 +303,7 @@
>  #define CONFIG_SPL
>  #define CONFIG_SPL_NAND_SIMPLE
>  #define CONFIG_SPL_TEXT_BASE		0x40200800
> -#define CONFIG_SPL_MAX_SIZE		(45 * 1024)
> +#define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
>  #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
>  
>  /* move malloc and bss high to prevent clashing with the main image */
> diff --git a/include/configs/tam3517-common.h b/include/configs/tam3517-common.h
> index 4c4321d..de10f4f 100644
> --- a/include/configs/tam3517-common.h
> +++ b/include/configs/tam3517-common.h
> @@ -258,7 +258,7 @@
>  #define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/omap-common/u-boot-spl.lds"
>  
>  #define CONFIG_SPL_TEXT_BASE		0x40200000 /*CONFIG_SYS_SRAM_START*/
> -#define CONFIG_SPL_MAX_SIZE		(45 << 10)	/* 45 K */
> +#define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
>  #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
>  
>  #define CONFIG_SYS_SPL_MALLOC_START	0x8f000000
> diff --git a/include/configs/tricorder.h b/include/configs/tricorder.h
> index 801a24f..ab911aa 100644
> --- a/include/configs/tricorder.h
> +++ b/include/configs/tricorder.h
> @@ -293,7 +293,7 @@
>  #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */
>  
>  #define CONFIG_SPL_TEXT_BASE		0x40200000 /*CONFIG_SYS_SRAM_START*/
> -#define CONFIG_SPL_MAX_SIZE		0xB400  /* 45 K */
> +#define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
>  #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
>  
>  #define CONFIG_SPL_BSS_START_ADDR	0x80000000 /*CONFIG_SYS_SDRAM_BASE*/
> -- 
> 1.7.9.5
> 
> 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH 1/2] ARM: omap3: Set SPL stack size to 8KB, image to 54KB.
  2012-05-08 17:40 ` [U-Boot] [PATCH 1/2] ARM: omap3: Set SPL stack size to 8KB, image to 54KB Hiremath, Vaibhav
@ 2012-05-08 18:15   ` Tom Rini
  2012-05-09 10:03     ` Hiremath, Vaibhav
  0 siblings, 1 reply; 11+ messages in thread
From: Tom Rini @ 2012-05-08 18:15 UTC (permalink / raw)
  To: u-boot

On 05/08/2012 10:40 AM, Hiremath, Vaibhav wrote:
> On Tue, May 08, 2012 at 22:59:31, Rini, Tom wrote:
>> With older toolchains it is possible to not fit entirely into the 45KB
>> that we had assigned to SPL.  Adjust to allow for 8KB of stack (which
>> should be more than required) and 54KB of text/data.
>>
>
> Tom,
>
> Can you provide more details on why 45Kb is not sufficient for SPL?

A combination of toolchains and enabled options will break this limit 
(for example, beagle is size-broken once we enable i2c to whack the 
twl4030 with ELDK4.2).  Rather than giving just one more KB to fix the 
problem today, but run into it tomorrow, I'm pushing towards the biggest 
split we can use.

> You may have done some memory analysis on this; can you share that here?
> Also, do we know how much ROM code is using out of 64KB of RAM?

We know that ROM loads us to 0x40200800 and we're allowed from there to 
the end of SRAM to do as we please.  This is just adjusting the split 
SPL makes into text+data and stack.

-- 
Tom

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH 1/2] ARM: omap3: Set SPL stack size to 8KB, image to 54KB.
  2012-05-08 17:29 [U-Boot] [PATCH 1/2] ARM: omap3: Set SPL stack size to 8KB, image to 54KB Tom Rini
  2012-05-08 17:29 ` [U-Boot] [PATCH 2/2] ARM: omap3: Add CONFIG_SPL_BOARD_INIT for CONFIG_SPL_MMC_SUPPORT Tom Rini
  2012-05-08 17:40 ` [U-Boot] [PATCH 1/2] ARM: omap3: Set SPL stack size to 8KB, image to 54KB Hiremath, Vaibhav
@ 2012-05-09  6:51 ` R, Sricharan
  2012-05-09 14:05   ` Tom Rini
  2012-05-09  9:45 ` Stefano Babic
  3 siblings, 1 reply; 11+ messages in thread
From: R, Sricharan @ 2012-05-09  6:51 UTC (permalink / raw)
  To: u-boot

Hi Tom,
[snip]
>
> ?Option 1 (SPL only):
> ?0x40200800 - 0x4020BBFF: Area for SPL text, data and rodata

     You wanted to change the above comment to
          0x40200800 - 0x4020DFFC as well ?

> -0x4020BC00 - 0x4020FFFC: Area for the SPL stack.
> +0x4020E000 - 0x4020FFFC: Area for the SPL stack.
> ?0x80000000 - 0x8007FFFF: Area for the SPL BSS.
> ?0x80100000: CONFIG_SYS_TEXT_BASE of U-Boot
> ?0x80208000 - 0x80307FFF: malloc() pool available to SPL.
>
> ?Option 2 (SPL or X-Loader):
> ?0x40200800 - 0x4020BBFF: Area for SPL text, data and rodata
> -0x4020BC00 - 0x4020FFFC: Area for the SPL stack.
> +0x4020E000 - 0x4020FFFC: Area for the SPL stack.
> ?0x80008000: CONFIG_SYS_TEXT_BASE of U-Boot
> ?0x87000000 - 0x8707FFFF: Area for the SPL BSS.
> ?0x87080000 - 0x870FFFFF: malloc() pool available to SPL.

Thanks,
 Sricharan

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH 2/2] ARM: omap3: Add CONFIG_SPL_BOARD_INIT for CONFIG_SPL_MMC_SUPPORT
  2012-05-08 17:29 ` [U-Boot] [PATCH 2/2] ARM: omap3: Add CONFIG_SPL_BOARD_INIT for CONFIG_SPL_MMC_SUPPORT Tom Rini
@ 2012-05-09  7:44   ` Thomas Weber
  2012-05-09 14:13     ` Tom Rini
  2012-05-09 18:54     ` Tom Rini
  0 siblings, 2 replies; 11+ messages in thread
From: Thomas Weber @ 2012-05-09  7:44 UTC (permalink / raw)
  To: u-boot

Hello Tom & Peter,

On 05/08/12 19:29, Tom Rini wrote:
> As originally reported against beagleboard we currently have the
> following error message reported in SPL:
>
> U-Boot SPL 2012.04-00020-gb8310b9-dirty (Apr 25 2012 - 18:49:57)
> Texas Instruments Revision detection unimplemented
> OMAP SD/MMC: 0
> timed out in wait_for_bb: I2C_STAT=1000
> reading u-boot.img
> ....
>
> The reason for above message is that when booting from MMC, I2C needs to
> be initialized to talk with the TWL4030.  On OMAP3 I2C is only
> initalized in SPL if CONFIG_SPL_BOARD_INIT is set.
On Tricorder there is no such message. I thought the I2C to TWL4030 is 
initialized by the ROM code.
And why can the SPL read the u-boot.img in the  next step?

Thomas
> Cc: Thomas Weber<weber@corscience.de>
> Cc: Steve Sakoman<sakoman@gmail.com>
>
> Original patch for Beagleboard is:
> Signed-off-by: Peter Meerwald<p.meerwald@bct-electronic.com>
>
> Extended to cover all other boards:
> Signed-off-by: Tom Rini<trini@ti.com>
> ---
>   include/configs/omap3_beagle.h     |    1 +
>   include/configs/omap3_evm_common.h |    1 +
>   include/configs/omap3_overo.h      |    1 +
>   include/configs/tricorder.h        |    1 +
>   4 files changed, 4 insertions(+)
>
> diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
> index 6bdc2c3..b891ee4 100644
> --- a/include/configs/omap3_beagle.h
> +++ b/include/configs/omap3_beagle.h
> @@ -410,6 +410,7 @@
>   #define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION	1
>   #define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME	"u-boot.img"
>
> +#define CONFIG_SPL_BOARD_INIT
>   #define CONFIG_SPL_LIBCOMMON_SUPPORT
>   #define CONFIG_SPL_LIBDISK_SUPPORT
>   #define CONFIG_SPL_I2C_SUPPORT
> diff --git a/include/configs/omap3_evm_common.h b/include/configs/omap3_evm_common.h
> index 47ebbef..7b21a5c 100644
> --- a/include/configs/omap3_evm_common.h
> +++ b/include/configs/omap3_evm_common.h
> @@ -288,6 +288,7 @@
>   #define CONFIG_SPL_BSS_START_ADDR	0x80000000
>   #define CONFIG_SPL_BSS_MAX_SIZE		0x80000		/* 512 KB */
>
> +#define CONFIG_SPL_BOARD_INIT
>   #define CONFIG_SPL_LIBCOMMON_SUPPORT
>   #define CONFIG_SPL_LIBDISK_SUPPORT
>   #define CONFIG_SPL_I2C_SUPPORT
> diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h
> index b0d144f..a0a7a1c 100644
> --- a/include/configs/omap3_overo.h
> +++ b/include/configs/omap3_overo.h
> @@ -317,6 +317,7 @@
>   #define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION	1
>   #define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME	"u-boot.img"
>
> +#define CONFIG_SPL_BOARD_INIT
>   #define CONFIG_SPL_LIBCOMMON_SUPPORT
>   #define CONFIG_SPL_LIBDISK_SUPPORT
>   #define CONFIG_SPL_I2C_SUPPORT
> diff --git a/include/configs/tricorder.h b/include/configs/tricorder.h
> index ab911aa..9955fca 100644
> --- a/include/configs/tricorder.h
> +++ b/include/configs/tricorder.h
> @@ -278,6 +278,7 @@
>   #define CONFIG_SPL
>   #define CONFIG_SPL_NAND_SIMPLE
>
> +#define CONFIG_SPL_BOARD_INIT
>   #define CONFIG_SPL_LIBCOMMON_SUPPORT
>   #define CONFIG_SPL_LIBDISK_SUPPORT
>   #define CONFIG_SPL_I2C_SUPPORT

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH 1/2] ARM: omap3: Set SPL stack size to 8KB, image to 54KB.
  2012-05-08 17:29 [U-Boot] [PATCH 1/2] ARM: omap3: Set SPL stack size to 8KB, image to 54KB Tom Rini
                   ` (2 preceding siblings ...)
  2012-05-09  6:51 ` R, Sricharan
@ 2012-05-09  9:45 ` Stefano Babic
  3 siblings, 0 replies; 11+ messages in thread
From: Stefano Babic @ 2012-05-09  9:45 UTC (permalink / raw)
  To: u-boot

On 08/05/2012 19:29, Tom Rini wrote:
> With older toolchains it is possible to not fit entirely into the 45KB
> that we had assigned to SPL.  Adjust to allow for 8KB of stack (which
> should be more than required) and 54KB of text/data.
> 
> Cc: Vaibhav Hiremath <hvaibhav@ti.com>
> Cc: Nagendra T S <nagendra@mistralsolutions.com>
> Cc: Thomas Weber <weber@corscience.de>
> Cc: Ilya Yanok <yanok@emcraft.com>
> Cc: Steve Sakoman <sakoman@gmail.com>
> Cc: Stefano Babic <sbabic@denx.de>
> Signed-off-by: Tom Rini <trini@ti.com>
> ---


Acked-by: Stefano Babic <sbabic@denx.de>

Best regards,
Stefano Babic


-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
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
=====================================================================

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH 1/2] ARM: omap3: Set SPL stack size to 8KB, image to 54KB.
  2012-05-08 18:15   ` Tom Rini
@ 2012-05-09 10:03     ` Hiremath, Vaibhav
  0 siblings, 0 replies; 11+ messages in thread
From: Hiremath, Vaibhav @ 2012-05-09 10:03 UTC (permalink / raw)
  To: u-boot

On Tue, May 08, 2012 at 23:45:19, Rini, Tom wrote:
> On 05/08/2012 10:40 AM, Hiremath, Vaibhav wrote:
> > On Tue, May 08, 2012 at 22:59:31, Rini, Tom wrote:
> >> With older toolchains it is possible to not fit entirely into the 45KB
> >> that we had assigned to SPL.  Adjust to allow for 8KB of stack (which
> >> should be more than required) and 54KB of text/data.
> >>
> >
> > Tom,
> >
> > Can you provide more details on why 45Kb is not sufficient for SPL?
> 
> A combination of toolchains and enabled options will break this limit 
> (for example, beagle is size-broken once we enable i2c to whack the 
> twl4030 with ELDK4.2).  Rather than giving just one more KB to fix the 
> problem today, but run into it tomorrow, I'm pushing towards the biggest 
> split we can use.
> 

Exactly, I understand the need here. Can you please update the commit 
description with above details, the original patch commit description only 
talks about toolchain, but it is not only the toolchain, right?

Else looks ok to me.

Acked-by: Vaibhav Hiremath <hvaibhav@ti.com>

Thanks,
Vaibhav

> > You may have done some memory analysis on this; can you share that here?
> > Also, do we know how much ROM code is using out of 64KB of RAM?
> 
> We know that ROM loads us to 0x40200800 and we're allowed from there to 
> the end of SRAM to do as we please.  This is just adjusting the split 
> SPL makes into text+data and stack.
> 
> -- 
> Tom
> 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH 1/2] ARM: omap3: Set SPL stack size to 8KB, image to 54KB.
  2012-05-09  6:51 ` R, Sricharan
@ 2012-05-09 14:05   ` Tom Rini
  0 siblings, 0 replies; 11+ messages in thread
From: Tom Rini @ 2012-05-09 14:05 UTC (permalink / raw)
  To: u-boot

On 05/08/2012 11:51 PM, R, Sricharan wrote:
> Hi Tom,
> [snip]
>>
>>   Option 1 (SPL only):
>>   0x40200800 - 0x4020BBFF: Area for SPL text, data and rodata
>
>       You wanted to change the above comment to
>            0x40200800 - 0x4020DFFC as well ?

Ah yes, thanks for catching that.

-- 
Tom

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH 2/2] ARM: omap3: Add CONFIG_SPL_BOARD_INIT for CONFIG_SPL_MMC_SUPPORT
  2012-05-09  7:44   ` Thomas Weber
@ 2012-05-09 14:13     ` Tom Rini
  2012-05-09 18:54     ` Tom Rini
  1 sibling, 0 replies; 11+ messages in thread
From: Tom Rini @ 2012-05-09 14:13 UTC (permalink / raw)
  To: u-boot

On 05/09/2012 12:44 AM, Thomas Weber wrote:
> Hello Tom & Peter,
>
> On 05/08/12 19:29, Tom Rini wrote:
>> As originally reported against beagleboard we currently have the
>> following error message reported in SPL:
>>
>> U-Boot SPL 2012.04-00020-gb8310b9-dirty (Apr 25 2012 - 18:49:57)
>> Texas Instruments Revision detection unimplemented
>> OMAP SD/MMC: 0
>> timed out in wait_for_bb: I2C_STAT=1000
>> reading u-boot.img
>> ....
>>
>> The reason for above message is that when booting from MMC, I2C needs to
>> be initialized to talk with the TWL4030. On OMAP3 I2C is only
>> initalized in SPL if CONFIG_SPL_BOARD_INIT is set.
> On Tricorder there is no such message. I thought the I2C to TWL4030 is
> initialized by the ROM code.
> And why can the SPL read the u-boot.img in the next step?

Things must be setup to a certain extent or we couldn't have been loaded 
by ROM, yes.  Since am35x parts are a different family from the omap3 
boards, I'll double check what the am3517 evm I have says here as well. 
  For correctness however, we currently are turning on the i2c support 
in SPL and then not using it.  So something should be changed :)

-- 
Tom

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot] [PATCH 2/2] ARM: omap3: Add CONFIG_SPL_BOARD_INIT for CONFIG_SPL_MMC_SUPPORT
  2012-05-09  7:44   ` Thomas Weber
  2012-05-09 14:13     ` Tom Rini
@ 2012-05-09 18:54     ` Tom Rini
  1 sibling, 0 replies; 11+ messages in thread
From: Tom Rini @ 2012-05-09 18:54 UTC (permalink / raw)
  To: u-boot

On 05/09/2012 12:44 AM, Thomas Weber wrote:
> Hello Tom & Peter,
>
> On 05/08/12 19:29, Tom Rini wrote:
>> As originally reported against beagleboard we currently have the
>> following error message reported in SPL:
>>
>> U-Boot SPL 2012.04-00020-gb8310b9-dirty (Apr 25 2012 - 18:49:57)
>> Texas Instruments Revision detection unimplemented
>> OMAP SD/MMC: 0
>> timed out in wait_for_bb: I2C_STAT=1000
>> reading u-boot.img
>> ....
>>
>> The reason for above message is that when booting from MMC, I2C needs to
>> be initialized to talk with the TWL4030. On OMAP3 I2C is only
>> initalized in SPL if CONFIG_SPL_BOARD_INIT is set.
> On Tricorder there is no such message. I thought the I2C to TWL4030 is
> initialized by the ROM code.
> And why can the SPL read the u-boot.img in the next step?

I think we need this still, on correctness grounds.  We include the i2c 
code (and twl4030 code) to have the MMC driver link and behave as in 
full U-Boot.  I don't see this timed out message on my am3517 evm nor my 
"omap3evm" with an am37x SOM (iirc anyhow).  I do see it on cold power 
on, on my beagle however, but not warm (which might be why I missed this 
before).

-- 
Tom

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2012-05-09 18:54 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-08 17:29 [U-Boot] [PATCH 1/2] ARM: omap3: Set SPL stack size to 8KB, image to 54KB Tom Rini
2012-05-08 17:29 ` [U-Boot] [PATCH 2/2] ARM: omap3: Add CONFIG_SPL_BOARD_INIT for CONFIG_SPL_MMC_SUPPORT Tom Rini
2012-05-09  7:44   ` Thomas Weber
2012-05-09 14:13     ` Tom Rini
2012-05-09 18:54     ` Tom Rini
2012-05-08 17:40 ` [U-Boot] [PATCH 1/2] ARM: omap3: Set SPL stack size to 8KB, image to 54KB Hiremath, Vaibhav
2012-05-08 18:15   ` Tom Rini
2012-05-09 10:03     ` Hiremath, Vaibhav
2012-05-09  6:51 ` R, Sricharan
2012-05-09 14:05   ` Tom Rini
2012-05-09  9:45 ` Stefano Babic

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.