Re: [PATCH] arm: mvebu: Replace hardcoded values 0x0030/0x4030 by proper calculation

2022-01-14 Thread Stefan Roese

On 1/12/22 18:32, Pali Rohár wrote:

These hardcoded values were calculated from CONFIG_SPL_TEXT_BASE macro. Now
this macro is configurable via Kconfig, so calculate values 0x0030/0x4030
at compile time via CONFIG_SPL_TEXT_BASE option. Values 0x0030/0x4030
represents offset of CONFIG_SPL_TEXT_BASE from address 0x4000.

Signed-off-by: Pali Rohár 
---
  include/configs/clearfog.h   | 2 +-
  include/configs/db-88f6720.h | 2 +-
  include/configs/db-88f6820-amc.h | 2 +-
  include/configs/db-88f6820-gp.h  | 2 +-
  include/configs/db-mv784mp-gp.h  | 2 +-
  include/configs/ds414.h  | 2 +-
  include/configs/helios4.h| 2 +-
  include/configs/maxbcm.h | 2 +-
  include/configs/theadorable.h| 2 +-
  include/configs/turris_omnia.h   | 2 +-
  include/configs/x530.h   | 2 +-
  11 files changed, 11 insertions(+), 11 deletions(-)


Applied to u-boot-marvell/master

Thanks,
Stefan



diff --git a/include/configs/clearfog.h b/include/configs/clearfog.h
index a30bca5147a8..c9af5a40cec0 100644
--- a/include/configs/clearfog.h
+++ b/include/configs/clearfog.h
@@ -53,7 +53,7 @@
  
  /* Defines for SPL */

  #define CONFIG_SPL_SIZE   (140 << 10)
-#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 0x0030)
+#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 
(CONFIG_SPL_TEXT_BASE - 0x4000))
  
  #define CONFIG_SPL_BSS_START_ADDR	(0x4000 + CONFIG_SPL_SIZE)

  #define CONFIG_SPL_BSS_MAX_SIZE   (16 << 10)
diff --git a/include/configs/db-88f6720.h b/include/configs/db-88f6720.h
index cf9e44d17c32..16c83a88dace 100644
--- a/include/configs/db-88f6720.h
+++ b/include/configs/db-88f6720.h
@@ -34,7 +34,7 @@
  
  /* SPL */

  /* Defines for SPL */
-#define CONFIG_SPL_MAX_SIZE((128 << 10) - 0x0030)
+#define CONFIG_SPL_MAX_SIZE((128 << 10) - (CONFIG_SPL_TEXT_BASE - 
0x4000))
  
  #define CONFIG_SPL_BSS_START_ADDR	(0x4000 + (128 << 10))

  #define CONFIG_SPL_BSS_MAX_SIZE   (16 << 10)
diff --git a/include/configs/db-88f6820-amc.h b/include/configs/db-88f6820-amc.h
index 1f70c609d234..6538e66052aa 100644
--- a/include/configs/db-88f6820-amc.h
+++ b/include/configs/db-88f6820-amc.h
@@ -41,7 +41,7 @@
  
  /* Defines for SPL */

  #define CONFIG_SPL_SIZE   (140 << 10)
-#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 0x0030)
+#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 
(CONFIG_SPL_TEXT_BASE - 0x4000))
  
  #define CONFIG_SPL_BSS_START_ADDR	(0x4000 + CONFIG_SPL_SIZE)

  #define CONFIG_SPL_BSS_MAX_SIZE   (16 << 10)
diff --git a/include/configs/db-88f6820-gp.h b/include/configs/db-88f6820-gp.h
index 41dadfebb948..5f2611995d35 100644
--- a/include/configs/db-88f6820-gp.h
+++ b/include/configs/db-88f6820-gp.h
@@ -50,7 +50,7 @@
  
  /* Defines for SPL */

  #define CONFIG_SPL_SIZE   (140 << 10)
-#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 0x0030)
+#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 
(CONFIG_SPL_TEXT_BASE - 0x4000))
  
  #define CONFIG_SPL_BSS_START_ADDR	(0x4000 + CONFIG_SPL_SIZE)

  #define CONFIG_SPL_BSS_MAX_SIZE   (16 << 10)
diff --git a/include/configs/db-mv784mp-gp.h b/include/configs/db-mv784mp-gp.h
index dbbc33ebf9c3..449a56753b17 100644
--- a/include/configs/db-mv784mp-gp.h
+++ b/include/configs/db-mv784mp-gp.h
@@ -59,7 +59,7 @@
  
  /* SPL */

  /* Defines for SPL */
-#define CONFIG_SPL_MAX_SIZE((128 << 10) - 0x4030)
+#define CONFIG_SPL_MAX_SIZE((128 << 10) - (CONFIG_SPL_TEXT_BASE - 
0x4000))
  
  #define CONFIG_SPL_BSS_START_ADDR	(0x4000 + (128 << 10))

  #define CONFIG_SPL_BSS_MAX_SIZE   (16 << 10)
diff --git a/include/configs/ds414.h b/include/configs/ds414.h
index 7fba2b4cc427..dbccd46bbdb1 100644
--- a/include/configs/ds414.h
+++ b/include/configs/ds414.h
@@ -45,7 +45,7 @@
  
  /* SPL */

  /* Defines for SPL */
-#define CONFIG_SPL_MAX_SIZE((128 << 10) - 0x4030)
+#define CONFIG_SPL_MAX_SIZE((128 << 10) - (CONFIG_SPL_TEXT_BASE - 
0x4000))
  
  #define CONFIG_SPL_BSS_START_ADDR	(0x4000 + (128 << 10))

  #define CONFIG_SPL_BSS_MAX_SIZE   (16 << 10)
diff --git a/include/configs/helios4.h b/include/configs/helios4.h
index 56d35d6fdbc6..de1ebbf37516 100644
--- a/include/configs/helios4.h
+++ b/include/configs/helios4.h
@@ -53,7 +53,7 @@
  
  /* Defines for SPL */

  #define CONFIG_SPL_SIZE   (140 << 10)
-#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 0x0030)
+#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 
(CONFIG_SPL_TEXT_BASE - 0x4000))
  
  #define CONFIG_SPL_BSS_START_ADDR	(0x4000 + CONFIG_SPL_SIZE)

  #define CONFIG_SPL_BSS_MAX_SIZE   (16 << 10)
diff --git a/include/configs/maxbcm.h b/include/configs/maxbcm.h
index 53ba64909e1f..073c5a57b2c9 100644
--- a/include/configs/maxbcm.h
+++ b/include/configs/maxbcm.h
@@ -

Re: [PATCH] arm: mvebu: Replace hardcoded values 0x0030/0x4030 by proper calculation

2022-01-13 Thread Pali Rohár
On Thursday 13 January 2022 07:51:41 Stefan Roese wrote:
> On 1/12/22 18:32, Pali Rohár wrote:
> > These hardcoded values were calculated from CONFIG_SPL_TEXT_BASE macro. Now
> > this macro is configurable via Kconfig, so calculate values 0x0030/0x4030
> > at compile time via CONFIG_SPL_TEXT_BASE option. Values 0x0030/0x4030
> > represents offset of CONFIG_SPL_TEXT_BASE from address 0x4000.
> > 
> > Signed-off-by: Pali Rohár 
> > ---
> >   include/configs/clearfog.h   | 2 +-
> >   include/configs/db-88f6720.h | 2 +-
> >   include/configs/db-88f6820-amc.h | 2 +-
> >   include/configs/db-88f6820-gp.h  | 2 +-
> >   include/configs/db-mv784mp-gp.h  | 2 +-
> >   include/configs/ds414.h  | 2 +-
> >   include/configs/helios4.h| 2 +-
> >   include/configs/maxbcm.h | 2 +-
> >   include/configs/theadorable.h| 2 +-
> >   include/configs/turris_omnia.h   | 2 +-
> >   include/configs/x530.h   | 2 +-
> >   11 files changed, 11 insertions(+), 11 deletions(-)
> > 
> > diff --git a/include/configs/clearfog.h b/include/configs/clearfog.h
> > index a30bca5147a8..c9af5a40cec0 100644
> > --- a/include/configs/clearfog.h
> > +++ b/include/configs/clearfog.h
> > @@ -53,7 +53,7 @@
> >   /* Defines for SPL */
> >   #define CONFIG_SPL_SIZE   (140 << 10)
> > -#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 0x0030)
> > +#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 
> > (CONFIG_SPL_TEXT_BASE - 0x4000))
> >   #define CONFIG_SPL_BSS_START_ADDR (0x4000 + CONFIG_SPL_SIZE)
> >   #define CONFIG_SPL_BSS_MAX_SIZE   (16 << 10)
> > diff --git a/include/configs/db-88f6720.h b/include/configs/db-88f6720.h
> > index cf9e44d17c32..16c83a88dace 100644
> > --- a/include/configs/db-88f6720.h
> > +++ b/include/configs/db-88f6720.h
> > @@ -34,7 +34,7 @@
> >   /* SPL */
> >   /* Defines for SPL */
> > -#define CONFIG_SPL_MAX_SIZE((128 << 10) - 0x0030)
> > +#define CONFIG_SPL_MAX_SIZE((128 << 10) - 
> > (CONFIG_SPL_TEXT_BASE - 0x4000))
> >   #define CONFIG_SPL_BSS_START_ADDR (0x4000 + (128 << 10))
> 
> Thanks for working on this. Looking at this diff I'm wondering if it
> would be another "improvement" to replace all 0x4000 occurrences by
> some other macro? Perhaps in a follow-up patch.

Yes, adding a new macro for 0x4000 address, perhaps in mv-common.h
in a follow-up patch is a good idea. And now it should be possible to
move more CONFIG_SPL_* macros into mv-common.h file.

> But anyways, for this patch:
> 
> Reviewed-by: Stefan Roese 
> 
> Thanks,
> Stefan
> 
> >   #define CONFIG_SPL_BSS_MAX_SIZE   (16 << 10)
> > diff --git a/include/configs/db-88f6820-amc.h 
> > b/include/configs/db-88f6820-amc.h
> > index 1f70c609d234..6538e66052aa 100644
> > --- a/include/configs/db-88f6820-amc.h
> > +++ b/include/configs/db-88f6820-amc.h
> > @@ -41,7 +41,7 @@
> >   /* Defines for SPL */
> >   #define CONFIG_SPL_SIZE   (140 << 10)
> > -#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 0x0030)
> > +#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 
> > (CONFIG_SPL_TEXT_BASE - 0x4000))
> >   #define CONFIG_SPL_BSS_START_ADDR (0x4000 + CONFIG_SPL_SIZE)
> >   #define CONFIG_SPL_BSS_MAX_SIZE   (16 << 10)
> > diff --git a/include/configs/db-88f6820-gp.h 
> > b/include/configs/db-88f6820-gp.h
> > index 41dadfebb948..5f2611995d35 100644
> > --- a/include/configs/db-88f6820-gp.h
> > +++ b/include/configs/db-88f6820-gp.h
> > @@ -50,7 +50,7 @@
> >   /* Defines for SPL */
> >   #define CONFIG_SPL_SIZE   (140 << 10)
> > -#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 0x0030)
> > +#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 
> > (CONFIG_SPL_TEXT_BASE - 0x4000))
> >   #define CONFIG_SPL_BSS_START_ADDR (0x4000 + CONFIG_SPL_SIZE)
> >   #define CONFIG_SPL_BSS_MAX_SIZE   (16 << 10)
> > diff --git a/include/configs/db-mv784mp-gp.h 
> > b/include/configs/db-mv784mp-gp.h
> > index dbbc33ebf9c3..449a56753b17 100644
> > --- a/include/configs/db-mv784mp-gp.h
> > +++ b/include/configs/db-mv784mp-gp.h
> > @@ -59,7 +59,7 @@
> >   /* SPL */
> >   /* Defines for SPL */
> > -#define CONFIG_SPL_MAX_SIZE((128 << 10) - 0x4030)
> > +#define CONFIG_SPL_MAX_SIZE((128 << 10) - 
> > (CONFIG_SPL_TEXT_BASE - 0x4000))
> >   #define CONFIG_SPL_BSS_START_ADDR (0x4000 + (128 << 10))
> >   #define CONFIG_SPL_BSS_MAX_SIZE   (16 << 10)
> > diff --git a/include/configs/ds414.h b/include/configs/ds414.h
> > index 7fba2b4cc427..dbccd46bbdb1 100644
> > --- a/include/configs/ds414.h
> > +++ b/include/configs/ds414.h
> > @@ -45,7 +45,7 @@
> >   /* SPL */
> >   /* Defines for SPL */
> > -#define CONFIG_SPL_MAX_SIZE((128 << 10) - 0x4030)
> > +#define CONFIG_SPL_MAX_SIZE((128 << 10) - 
> > (CONFIG_SPL_TEXT_BASE - 0x4000))
> >   #define CONFIG_SPL_BSS_START_

Re: [PATCH] arm: mvebu: Replace hardcoded values 0x0030/0x4030 by proper calculation

2022-01-12 Thread Stefan Roese

On 1/12/22 18:32, Pali Rohár wrote:

These hardcoded values were calculated from CONFIG_SPL_TEXT_BASE macro. Now
this macro is configurable via Kconfig, so calculate values 0x0030/0x4030
at compile time via CONFIG_SPL_TEXT_BASE option. Values 0x0030/0x4030
represents offset of CONFIG_SPL_TEXT_BASE from address 0x4000.

Signed-off-by: Pali Rohár 
---
  include/configs/clearfog.h   | 2 +-
  include/configs/db-88f6720.h | 2 +-
  include/configs/db-88f6820-amc.h | 2 +-
  include/configs/db-88f6820-gp.h  | 2 +-
  include/configs/db-mv784mp-gp.h  | 2 +-
  include/configs/ds414.h  | 2 +-
  include/configs/helios4.h| 2 +-
  include/configs/maxbcm.h | 2 +-
  include/configs/theadorable.h| 2 +-
  include/configs/turris_omnia.h   | 2 +-
  include/configs/x530.h   | 2 +-
  11 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/include/configs/clearfog.h b/include/configs/clearfog.h
index a30bca5147a8..c9af5a40cec0 100644
--- a/include/configs/clearfog.h
+++ b/include/configs/clearfog.h
@@ -53,7 +53,7 @@
  
  /* Defines for SPL */

  #define CONFIG_SPL_SIZE   (140 << 10)
-#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 0x0030)
+#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 
(CONFIG_SPL_TEXT_BASE - 0x4000))
  
  #define CONFIG_SPL_BSS_START_ADDR	(0x4000 + CONFIG_SPL_SIZE)

  #define CONFIG_SPL_BSS_MAX_SIZE   (16 << 10)
diff --git a/include/configs/db-88f6720.h b/include/configs/db-88f6720.h
index cf9e44d17c32..16c83a88dace 100644
--- a/include/configs/db-88f6720.h
+++ b/include/configs/db-88f6720.h
@@ -34,7 +34,7 @@
  
  /* SPL */

  /* Defines for SPL */
-#define CONFIG_SPL_MAX_SIZE((128 << 10) - 0x0030)
+#define CONFIG_SPL_MAX_SIZE((128 << 10) - (CONFIG_SPL_TEXT_BASE - 
0x4000))
  
  #define CONFIG_SPL_BSS_START_ADDR	(0x4000 + (128 << 10))


Thanks for working on this. Looking at this diff I'm wondering if it
would be another "improvement" to replace all 0x4000 occurrences by
some other macro? Perhaps in a follow-up patch.

But anyways, for this patch:

Reviewed-by: Stefan Roese 

Thanks,
Stefan


  #define CONFIG_SPL_BSS_MAX_SIZE   (16 << 10)
diff --git a/include/configs/db-88f6820-amc.h b/include/configs/db-88f6820-amc.h
index 1f70c609d234..6538e66052aa 100644
--- a/include/configs/db-88f6820-amc.h
+++ b/include/configs/db-88f6820-amc.h
@@ -41,7 +41,7 @@
  
  /* Defines for SPL */

  #define CONFIG_SPL_SIZE   (140 << 10)
-#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 0x0030)
+#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 
(CONFIG_SPL_TEXT_BASE - 0x4000))
  
  #define CONFIG_SPL_BSS_START_ADDR	(0x4000 + CONFIG_SPL_SIZE)

  #define CONFIG_SPL_BSS_MAX_SIZE   (16 << 10)
diff --git a/include/configs/db-88f6820-gp.h b/include/configs/db-88f6820-gp.h
index 41dadfebb948..5f2611995d35 100644
--- a/include/configs/db-88f6820-gp.h
+++ b/include/configs/db-88f6820-gp.h
@@ -50,7 +50,7 @@
  
  /* Defines for SPL */

  #define CONFIG_SPL_SIZE   (140 << 10)
-#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 0x0030)
+#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 
(CONFIG_SPL_TEXT_BASE - 0x4000))
  
  #define CONFIG_SPL_BSS_START_ADDR	(0x4000 + CONFIG_SPL_SIZE)

  #define CONFIG_SPL_BSS_MAX_SIZE   (16 << 10)
diff --git a/include/configs/db-mv784mp-gp.h b/include/configs/db-mv784mp-gp.h
index dbbc33ebf9c3..449a56753b17 100644
--- a/include/configs/db-mv784mp-gp.h
+++ b/include/configs/db-mv784mp-gp.h
@@ -59,7 +59,7 @@
  
  /* SPL */

  /* Defines for SPL */
-#define CONFIG_SPL_MAX_SIZE((128 << 10) - 0x4030)
+#define CONFIG_SPL_MAX_SIZE((128 << 10) - (CONFIG_SPL_TEXT_BASE - 
0x4000))
  
  #define CONFIG_SPL_BSS_START_ADDR	(0x4000 + (128 << 10))

  #define CONFIG_SPL_BSS_MAX_SIZE   (16 << 10)
diff --git a/include/configs/ds414.h b/include/configs/ds414.h
index 7fba2b4cc427..dbccd46bbdb1 100644
--- a/include/configs/ds414.h
+++ b/include/configs/ds414.h
@@ -45,7 +45,7 @@
  
  /* SPL */

  /* Defines for SPL */
-#define CONFIG_SPL_MAX_SIZE((128 << 10) - 0x4030)
+#define CONFIG_SPL_MAX_SIZE((128 << 10) - (CONFIG_SPL_TEXT_BASE - 
0x4000))
  
  #define CONFIG_SPL_BSS_START_ADDR	(0x4000 + (128 << 10))

  #define CONFIG_SPL_BSS_MAX_SIZE   (16 << 10)
diff --git a/include/configs/helios4.h b/include/configs/helios4.h
index 56d35d6fdbc6..de1ebbf37516 100644
--- a/include/configs/helios4.h
+++ b/include/configs/helios4.h
@@ -53,7 +53,7 @@
  
  /* Defines for SPL */

  #define CONFIG_SPL_SIZE   (140 << 10)
-#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 0x0030)
+#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 
(CONFIG_SPL_TEXT_BASE - 0x4000))
  
  #define CONFIG_SPL_BSS_START_ADDR	(0x4000 + CONFIG_SPL_SIZE)

  #define CONFIG_

Re: [PATCH] arm: mvebu: Replace hardcoded values 0x0030/0x4030 by proper calculation

2022-01-12 Thread Pali Rohár
On Wednesday 12 January 2022 23:27:06 Marek Behún wrote:
> On Wed, 12 Jan 2022 18:32:08 +0100
> Pali Rohár  wrote:
> 
> > These hardcoded values were calculated from CONFIG_SPL_TEXT_BASE macro. Now
> > this macro is configurable via Kconfig, so calculate values 0x0030/0x4030
> > at compile time via CONFIG_SPL_TEXT_BASE option. Values 0x0030/0x4030
> > represents offset of CONFIG_SPL_TEXT_BASE from address 0x4000.
> 
> Is there any point in having these configurable? Can the board boot if
> the user changes it? If not, wouldn't it make more sense to convert
> these to macros in soc.h, and changing their names?

With this patch series it is possible to change CONFIG_SPL_TEXT_BASE and
board would be normally bootable. Build system propagates
CONFIG_SPL_TEXT_BASE to kwbimage and kwbimage then set correct load
address.

So user can change CONFIG_SPL_TEXT_BASE also to other value.

> Or does compilation need CONFIG_SPL_TEXT_BASE to link properly?

And yes, compilation needs CONFIG_SPL_TEXT_BASE for proper linking.
Because U-Boot SPL for 32-bit ARM is not position independent.


Re: [PATCH] arm: mvebu: Replace hardcoded values 0x0030/0x4030 by proper calculation

2022-01-12 Thread Marek Behún
On Wed, 12 Jan 2022 18:32:08 +0100
Pali Rohár  wrote:

> These hardcoded values were calculated from CONFIG_SPL_TEXT_BASE macro. Now
> this macro is configurable via Kconfig, so calculate values 0x0030/0x4030
> at compile time via CONFIG_SPL_TEXT_BASE option. Values 0x0030/0x4030
> represents offset of CONFIG_SPL_TEXT_BASE from address 0x4000.

Is there any point in having these configurable? Can the board boot if
the user changes it? If not, wouldn't it make more sense to convert
these to macros in soc.h, and changing their names?

Or does compilation need CONFIG_SPL_TEXT_BASE to link properly?

Marek


[PATCH] arm: mvebu: Replace hardcoded values 0x0030/0x4030 by proper calculation

2022-01-12 Thread Pali Rohár
These hardcoded values were calculated from CONFIG_SPL_TEXT_BASE macro. Now
this macro is configurable via Kconfig, so calculate values 0x0030/0x4030
at compile time via CONFIG_SPL_TEXT_BASE option. Values 0x0030/0x4030
represents offset of CONFIG_SPL_TEXT_BASE from address 0x4000.

Signed-off-by: Pali Rohár 
---
 include/configs/clearfog.h   | 2 +-
 include/configs/db-88f6720.h | 2 +-
 include/configs/db-88f6820-amc.h | 2 +-
 include/configs/db-88f6820-gp.h  | 2 +-
 include/configs/db-mv784mp-gp.h  | 2 +-
 include/configs/ds414.h  | 2 +-
 include/configs/helios4.h| 2 +-
 include/configs/maxbcm.h | 2 +-
 include/configs/theadorable.h| 2 +-
 include/configs/turris_omnia.h   | 2 +-
 include/configs/x530.h   | 2 +-
 11 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/include/configs/clearfog.h b/include/configs/clearfog.h
index a30bca5147a8..c9af5a40cec0 100644
--- a/include/configs/clearfog.h
+++ b/include/configs/clearfog.h
@@ -53,7 +53,7 @@
 
 /* Defines for SPL */
 #define CONFIG_SPL_SIZE(140 << 10)
-#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 0x0030)
+#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 
(CONFIG_SPL_TEXT_BASE - 0x4000))
 
 #define CONFIG_SPL_BSS_START_ADDR  (0x4000 + CONFIG_SPL_SIZE)
 #define CONFIG_SPL_BSS_MAX_SIZE(16 << 10)
diff --git a/include/configs/db-88f6720.h b/include/configs/db-88f6720.h
index cf9e44d17c32..16c83a88dace 100644
--- a/include/configs/db-88f6720.h
+++ b/include/configs/db-88f6720.h
@@ -34,7 +34,7 @@
 
 /* SPL */
 /* Defines for SPL */
-#define CONFIG_SPL_MAX_SIZE((128 << 10) - 0x0030)
+#define CONFIG_SPL_MAX_SIZE((128 << 10) - (CONFIG_SPL_TEXT_BASE - 
0x4000))
 
 #define CONFIG_SPL_BSS_START_ADDR  (0x4000 + (128 << 10))
 #define CONFIG_SPL_BSS_MAX_SIZE(16 << 10)
diff --git a/include/configs/db-88f6820-amc.h b/include/configs/db-88f6820-amc.h
index 1f70c609d234..6538e66052aa 100644
--- a/include/configs/db-88f6820-amc.h
+++ b/include/configs/db-88f6820-amc.h
@@ -41,7 +41,7 @@
 
 /* Defines for SPL */
 #define CONFIG_SPL_SIZE(140 << 10)
-#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 0x0030)
+#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 
(CONFIG_SPL_TEXT_BASE - 0x4000))
 
 #define CONFIG_SPL_BSS_START_ADDR  (0x4000 + CONFIG_SPL_SIZE)
 #define CONFIG_SPL_BSS_MAX_SIZE(16 << 10)
diff --git a/include/configs/db-88f6820-gp.h b/include/configs/db-88f6820-gp.h
index 41dadfebb948..5f2611995d35 100644
--- a/include/configs/db-88f6820-gp.h
+++ b/include/configs/db-88f6820-gp.h
@@ -50,7 +50,7 @@
 
 /* Defines for SPL */
 #define CONFIG_SPL_SIZE(140 << 10)
-#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 0x0030)
+#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 
(CONFIG_SPL_TEXT_BASE - 0x4000))
 
 #define CONFIG_SPL_BSS_START_ADDR  (0x4000 + CONFIG_SPL_SIZE)
 #define CONFIG_SPL_BSS_MAX_SIZE(16 << 10)
diff --git a/include/configs/db-mv784mp-gp.h b/include/configs/db-mv784mp-gp.h
index dbbc33ebf9c3..449a56753b17 100644
--- a/include/configs/db-mv784mp-gp.h
+++ b/include/configs/db-mv784mp-gp.h
@@ -59,7 +59,7 @@
 
 /* SPL */
 /* Defines for SPL */
-#define CONFIG_SPL_MAX_SIZE((128 << 10) - 0x4030)
+#define CONFIG_SPL_MAX_SIZE((128 << 10) - (CONFIG_SPL_TEXT_BASE - 
0x4000))
 
 #define CONFIG_SPL_BSS_START_ADDR  (0x4000 + (128 << 10))
 #define CONFIG_SPL_BSS_MAX_SIZE(16 << 10)
diff --git a/include/configs/ds414.h b/include/configs/ds414.h
index 7fba2b4cc427..dbccd46bbdb1 100644
--- a/include/configs/ds414.h
+++ b/include/configs/ds414.h
@@ -45,7 +45,7 @@
 
 /* SPL */
 /* Defines for SPL */
-#define CONFIG_SPL_MAX_SIZE((128 << 10) - 0x4030)
+#define CONFIG_SPL_MAX_SIZE((128 << 10) - (CONFIG_SPL_TEXT_BASE - 
0x4000))
 
 #define CONFIG_SPL_BSS_START_ADDR  (0x4000 + (128 << 10))
 #define CONFIG_SPL_BSS_MAX_SIZE(16 << 10)
diff --git a/include/configs/helios4.h b/include/configs/helios4.h
index 56d35d6fdbc6..de1ebbf37516 100644
--- a/include/configs/helios4.h
+++ b/include/configs/helios4.h
@@ -53,7 +53,7 @@
 
 /* Defines for SPL */
 #define CONFIG_SPL_SIZE(140 << 10)
-#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 0x0030)
+#define CONFIG_SPL_MAX_SIZE(CONFIG_SPL_SIZE - 
(CONFIG_SPL_TEXT_BASE - 0x4000))
 
 #define CONFIG_SPL_BSS_START_ADDR  (0x4000 + CONFIG_SPL_SIZE)
 #define CONFIG_SPL_BSS_MAX_SIZE(16 << 10)
diff --git a/include/configs/maxbcm.h b/include/configs/maxbcm.h
index 53ba64909e1f..073c5a57b2c9 100644
--- a/include/configs/maxbcm.h
+++ b/include/configs/maxbcm.h
@@ -48,7 +48,7 @@
 
 /* SPL */
 /* Defines for SPL */
-#define CONFIG_SPL_MAX_SIZE((128 << 10) - 0x4030)