Convert CONFIG_SPL_GD_ADDR to Kconfig

This converts the following to Kconfig:
   CONFIG_SPL_GD_ADDR

Signed-off-by: Tom Rini <trini@konsulko.com>
diff --git a/board/freescale/p1010rdb/spl.c b/board/freescale/p1010rdb/spl.c
index a78a914..8869500 100644
--- a/board/freescale/p1010rdb/spl.c
+++ b/board/freescale/p1010rdb/spl.c
@@ -63,11 +63,11 @@
 void board_init_r(gd_t *gd, ulong dest_addr)
 {
 	/* Pointer is writable since we allocated a register for it */
-	gd = (gd_t *)CONFIG_SPL_GD_ADDR;
+	gd = (gd_t *)CONFIG_VAL(GD_ADDR);
 	struct bd_info *bd;
 
 	memset(gd, 0, sizeof(gd_t));
-	bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t));
+	bd = (struct bd_info *)(CONFIG_VAL(GD_ADDR) + sizeof(gd_t));
 	memset(bd, 0, sizeof(struct bd_info));
 	gd->bd = bd;
 
diff --git a/board/freescale/p1_p2_rdb_pc/spl.c b/board/freescale/p1_p2_rdb_pc/spl.c
index 580972d..b60027e 100644
--- a/board/freescale/p1_p2_rdb_pc/spl.c
+++ b/board/freescale/p1_p2_rdb_pc/spl.c
@@ -69,11 +69,11 @@
 void board_init_r(gd_t *gd, ulong dest_addr)
 {
 	/* Pointer is writable since we allocated a register for it */
-	gd = (gd_t *)CONFIG_SPL_GD_ADDR;
+	gd = (gd_t *)CONFIG_VAL(GD_ADDR);
 	struct bd_info *bd;
 
 	memset(gd, 0, sizeof(gd_t));
-	bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t));
+	bd = (struct bd_info *)(CONFIG_VAL(GD_ADDR) + sizeof(gd_t));
 	memset(bd, 0, sizeof(struct bd_info));
 	gd->bd = bd;
 
diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index 10d9cdd..027ac42 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -246,6 +246,10 @@
 config SPL_SKIP_RELOCATE
 	bool "Skip relocating SPL"
 
+config SPL_GD_ADDR
+	hex "Address to use for global data (gd) in SPL"
+	depends on !SPL_INIT_MINIMAL
+
 config SPL_RELOC_TEXT_BASE
 	hex "Address to relocate SPL to"
 	default SPL_TEXT_BASE
@@ -272,6 +276,10 @@
 	hex "Size of malloc pool in SPL"
 	depends on SPL_RELOC_MALLOC
 
+config TPL_GD_ADDR
+	hex "Address to use for global data (gd) in TPL"
+	depends on TPL
+
 config TPL_RELOC_TEXT_BASE
 	hex "Address to relocate TPL to"
 	depends on TPL
diff --git a/configs/P1010RDB-PA_36BIT_NAND_defconfig b/configs/P1010RDB-PA_36BIT_NAND_defconfig
index 22b4380..06b4ca7 100644
--- a/configs/P1010RDB-PA_36BIT_NAND_defconfig
+++ b/configs/P1010RDB-PA_36BIT_NAND_defconfig
@@ -35,6 +35,7 @@
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_RELOC_TEXT_BASE=0xd003d000
 CONFIG_SPL_RELOC_STACK=0xd003fff0
+CONFIG_TPL_GD_ADDR=0xd002c000
 CONFIG_TPL_RELOC_TEXT_BASE=0xd0001000
 CONFIG_TPL_RELOC_STACK=0xd0030000
 CONFIG_TPL_RELOC_MALLOC=y
diff --git a/configs/P1010RDB-PA_36BIT_SDCARD_defconfig b/configs/P1010RDB-PA_36BIT_SDCARD_defconfig
index 7406cb2..b116eee 100644
--- a/configs/P1010RDB-PA_36BIT_SDCARD_defconfig
+++ b/configs/P1010RDB-PA_36BIT_SDCARD_defconfig
@@ -30,6 +30,7 @@
 CONFIG_SPL_MMC_BOOT=y
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
+CONFIG_SPL_GD_ADDR=0xd0018000
 CONFIG_SPL_RELOC_TEXT_BASE=0xd0001000
 CONFIG_SPL_RELOC_STACK=0xd001c000
 CONFIG_SPL_RELOC_MALLOC=y
diff --git a/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig b/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
index 41b2f2f..df4caee 100644
--- a/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
+++ b/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
@@ -33,6 +33,7 @@
 CONFIG_SPL_SPI_BOOT=y
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
+CONFIG_SPL_GD_ADDR=0xd0018000
 CONFIG_SPL_RELOC_TEXT_BASE=0xd0001000
 CONFIG_SPL_RELOC_STACK=0xd001c000
 CONFIG_SPL_RELOC_MALLOC=y
diff --git a/configs/P1010RDB-PA_NAND_defconfig b/configs/P1010RDB-PA_NAND_defconfig
index 993a1f8..918a107 100644
--- a/configs/P1010RDB-PA_NAND_defconfig
+++ b/configs/P1010RDB-PA_NAND_defconfig
@@ -34,6 +34,7 @@
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_RELOC_TEXT_BASE=0xd003d000
 CONFIG_SPL_RELOC_STACK=0xd003fff0
+CONFIG_TPL_GD_ADDR=0xd002c000
 CONFIG_TPL_RELOC_TEXT_BASE=0xd0001000
 CONFIG_TPL_RELOC_STACK=0xd0030000
 CONFIG_TPL_RELOC_MALLOC=y
diff --git a/configs/P1010RDB-PA_SDCARD_defconfig b/configs/P1010RDB-PA_SDCARD_defconfig
index 058c87d..41988bb 100644
--- a/configs/P1010RDB-PA_SDCARD_defconfig
+++ b/configs/P1010RDB-PA_SDCARD_defconfig
@@ -29,6 +29,7 @@
 CONFIG_SPL_MMC_BOOT=y
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
+CONFIG_SPL_GD_ADDR=0xd0018000
 CONFIG_SPL_RELOC_TEXT_BASE=0xd0001000
 CONFIG_SPL_RELOC_STACK=0xd001c000
 CONFIG_SPL_RELOC_MALLOC=y
diff --git a/configs/P1010RDB-PA_SPIFLASH_defconfig b/configs/P1010RDB-PA_SPIFLASH_defconfig
index 4c2d726..b4dd81e 100644
--- a/configs/P1010RDB-PA_SPIFLASH_defconfig
+++ b/configs/P1010RDB-PA_SPIFLASH_defconfig
@@ -32,6 +32,7 @@
 CONFIG_SPL_SPI_BOOT=y
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
+CONFIG_SPL_GD_ADDR=0xd0018000
 CONFIG_SPL_RELOC_TEXT_BASE=0xd0001000
 CONFIG_SPL_RELOC_STACK=0xd001c000
 CONFIG_SPL_RELOC_MALLOC=y
diff --git a/configs/P1010RDB-PB_36BIT_NAND_defconfig b/configs/P1010RDB-PB_36BIT_NAND_defconfig
index c38be8f..b69e6cf 100644
--- a/configs/P1010RDB-PB_36BIT_NAND_defconfig
+++ b/configs/P1010RDB-PB_36BIT_NAND_defconfig
@@ -36,6 +36,7 @@
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_RELOC_TEXT_BASE=0xd003d000
 CONFIG_SPL_RELOC_STACK=0xd003fff0
+CONFIG_TPL_GD_ADDR=0xd002c000
 CONFIG_TPL_RELOC_TEXT_BASE=0xd0001000
 CONFIG_TPL_RELOC_STACK=0xd0030000
 CONFIG_TPL_RELOC_MALLOC=y
diff --git a/configs/P1010RDB-PB_36BIT_SDCARD_defconfig b/configs/P1010RDB-PB_36BIT_SDCARD_defconfig
index 9e788ab..21e4e7f 100644
--- a/configs/P1010RDB-PB_36BIT_SDCARD_defconfig
+++ b/configs/P1010RDB-PB_36BIT_SDCARD_defconfig
@@ -31,6 +31,7 @@
 CONFIG_SPL_MMC_BOOT=y
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
+CONFIG_SPL_GD_ADDR=0xd0018000
 CONFIG_SPL_RELOC_TEXT_BASE=0xd0001000
 CONFIG_SPL_RELOC_STACK=0xd001c000
 CONFIG_SPL_RELOC_MALLOC=y
diff --git a/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig b/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
index a762f07..dbbc25d 100644
--- a/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
+++ b/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
@@ -34,6 +34,7 @@
 CONFIG_SPL_SPI_BOOT=y
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
+CONFIG_SPL_GD_ADDR=0xd0018000
 CONFIG_SPL_RELOC_TEXT_BASE=0xd0001000
 CONFIG_SPL_RELOC_STACK=0xd001c000
 CONFIG_SPL_RELOC_MALLOC=y
diff --git a/configs/P1010RDB-PB_NAND_defconfig b/configs/P1010RDB-PB_NAND_defconfig
index 18ba32f..c4e9d59 100644
--- a/configs/P1010RDB-PB_NAND_defconfig
+++ b/configs/P1010RDB-PB_NAND_defconfig
@@ -35,6 +35,7 @@
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_RELOC_TEXT_BASE=0xd003d000
 CONFIG_SPL_RELOC_STACK=0xd003fff0
+CONFIG_TPL_GD_ADDR=0xd002c000
 CONFIG_TPL_RELOC_TEXT_BASE=0xd0001000
 CONFIG_TPL_RELOC_STACK=0xd0030000
 CONFIG_TPL_RELOC_MALLOC=y
diff --git a/configs/P1010RDB-PB_SDCARD_defconfig b/configs/P1010RDB-PB_SDCARD_defconfig
index 1d18f12..c0ea6b9 100644
--- a/configs/P1010RDB-PB_SDCARD_defconfig
+++ b/configs/P1010RDB-PB_SDCARD_defconfig
@@ -30,6 +30,7 @@
 CONFIG_SPL_MMC_BOOT=y
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
+CONFIG_SPL_GD_ADDR=0xd0018000
 CONFIG_SPL_RELOC_TEXT_BASE=0xd0001000
 CONFIG_SPL_RELOC_STACK=0xd001c000
 CONFIG_SPL_RELOC_MALLOC=y
diff --git a/configs/P1010RDB-PB_SPIFLASH_defconfig b/configs/P1010RDB-PB_SPIFLASH_defconfig
index 1a36d6c..c32ccc2 100644
--- a/configs/P1010RDB-PB_SPIFLASH_defconfig
+++ b/configs/P1010RDB-PB_SPIFLASH_defconfig
@@ -33,6 +33,7 @@
 CONFIG_SPL_SPI_BOOT=y
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
+CONFIG_SPL_GD_ADDR=0xd0018000
 CONFIG_SPL_RELOC_TEXT_BASE=0xd0001000
 CONFIG_SPL_RELOC_STACK=0xd001c000
 CONFIG_SPL_RELOC_MALLOC=y
diff --git a/configs/P1020RDB-PC_36BIT_NAND_defconfig b/configs/P1020RDB-PC_36BIT_NAND_defconfig
index 54cd3d2..3e5c044 100644
--- a/configs/P1020RDB-PC_36BIT_NAND_defconfig
+++ b/configs/P1020RDB-PC_36BIT_NAND_defconfig
@@ -36,6 +36,7 @@
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_RELOC_TEXT_BASE=0xf8fbe000
 CONFIG_SPL_RELOC_STACK=0xf8fbfff0
+CONFIG_TPL_GD_ADDR=0xf8fac000
 CONFIG_TPL_RELOC_TEXT_BASE=0xf8f81000
 CONFIG_TPL_RELOC_STACK=0xf8fb0000
 CONFIG_TPL_RELOC_MALLOC=y
diff --git a/configs/P1020RDB-PC_36BIT_SDCARD_defconfig b/configs/P1020RDB-PC_36BIT_SDCARD_defconfig
index 6a36f3b..ddd041c 100644
--- a/configs/P1020RDB-PC_36BIT_SDCARD_defconfig
+++ b/configs/P1020RDB-PC_36BIT_SDCARD_defconfig
@@ -32,6 +32,7 @@
 CONFIG_SPL_MMC_BOOT=y
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
+CONFIG_SPL_GD_ADDR=0xf8f9c000
 CONFIG_SPL_RELOC_STACK=0xf8f9d000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xf8fa5000
diff --git a/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig b/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
index e246a21..9da0248 100644
--- a/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
+++ b/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
@@ -35,6 +35,7 @@
 CONFIG_SPL_SPI_BOOT=y
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
+CONFIG_SPL_GD_ADDR=0xf8f9c000
 CONFIG_SPL_RELOC_STACK=0xf8f9d000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xf8fa5000
diff --git a/configs/P1020RDB-PC_NAND_defconfig b/configs/P1020RDB-PC_NAND_defconfig
index b49cdcb..6a75d6f 100644
--- a/configs/P1020RDB-PC_NAND_defconfig
+++ b/configs/P1020RDB-PC_NAND_defconfig
@@ -35,6 +35,7 @@
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_RELOC_TEXT_BASE=0xf8fbe000
 CONFIG_SPL_RELOC_STACK=0xf8fbfff0
+CONFIG_TPL_GD_ADDR=0xf8fac000
 CONFIG_TPL_RELOC_TEXT_BASE=0xf8f81000
 CONFIG_TPL_RELOC_STACK=0xf8fb0000
 CONFIG_TPL_RELOC_MALLOC=y
diff --git a/configs/P1020RDB-PC_SDCARD_defconfig b/configs/P1020RDB-PC_SDCARD_defconfig
index a86a406..4122d1d 100644
--- a/configs/P1020RDB-PC_SDCARD_defconfig
+++ b/configs/P1020RDB-PC_SDCARD_defconfig
@@ -31,6 +31,7 @@
 CONFIG_SPL_MMC_BOOT=y
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
+CONFIG_SPL_GD_ADDR=0xf8f9c000
 CONFIG_SPL_RELOC_STACK=0xf8f9d000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xf8fa5000
diff --git a/configs/P1020RDB-PC_SPIFLASH_defconfig b/configs/P1020RDB-PC_SPIFLASH_defconfig
index 4c9f1b4..cfd42e4 100644
--- a/configs/P1020RDB-PC_SPIFLASH_defconfig
+++ b/configs/P1020RDB-PC_SPIFLASH_defconfig
@@ -34,6 +34,7 @@
 CONFIG_SPL_SPI_BOOT=y
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
+CONFIG_SPL_GD_ADDR=0xf8f9c000
 CONFIG_SPL_RELOC_STACK=0xf8f9d000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xf8fa5000
diff --git a/configs/P1020RDB-PD_NAND_defconfig b/configs/P1020RDB-PD_NAND_defconfig
index 899d074..bd3d7a3 100644
--- a/configs/P1020RDB-PD_NAND_defconfig
+++ b/configs/P1020RDB-PD_NAND_defconfig
@@ -35,6 +35,7 @@
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_RELOC_TEXT_BASE=0xf8fbe000
 CONFIG_SPL_RELOC_STACK=0xf8fbfff0
+CONFIG_TPL_GD_ADDR=0xf8fac000
 CONFIG_TPL_RELOC_TEXT_BASE=0xf8f81000
 CONFIG_TPL_RELOC_STACK=0xf8fb0000
 CONFIG_TPL_RELOC_MALLOC=y
diff --git a/configs/P1020RDB-PD_SDCARD_defconfig b/configs/P1020RDB-PD_SDCARD_defconfig
index ea91b9e9..43391a9 100644
--- a/configs/P1020RDB-PD_SDCARD_defconfig
+++ b/configs/P1020RDB-PD_SDCARD_defconfig
@@ -31,6 +31,7 @@
 CONFIG_SPL_MMC_BOOT=y
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
+CONFIG_SPL_GD_ADDR=0xf8f9c000
 CONFIG_SPL_RELOC_STACK=0xf8f9d000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xf8fa5000
diff --git a/configs/P1020RDB-PD_SPIFLASH_defconfig b/configs/P1020RDB-PD_SPIFLASH_defconfig
index 9351f00..0915185 100644
--- a/configs/P1020RDB-PD_SPIFLASH_defconfig
+++ b/configs/P1020RDB-PD_SPIFLASH_defconfig
@@ -34,6 +34,7 @@
 CONFIG_SPL_SPI_BOOT=y
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
+CONFIG_SPL_GD_ADDR=0xf8f9c000
 CONFIG_SPL_RELOC_STACK=0xf8f9d000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xf8fa5000
diff --git a/configs/P2020RDB-PC_36BIT_NAND_defconfig b/configs/P2020RDB-PC_36BIT_NAND_defconfig
index ad6c72c..c0f6b6d 100644
--- a/configs/P2020RDB-PC_36BIT_NAND_defconfig
+++ b/configs/P2020RDB-PC_36BIT_NAND_defconfig
@@ -36,6 +36,7 @@
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_RELOC_TEXT_BASE=0xf8ffe000
 CONFIG_SPL_RELOC_STACK=0xf8fffff0
+CONFIG_TPL_GD_ADDR=0xf8fac000
 CONFIG_TPL_RELOC_TEXT_BASE=0xf8f81000
 CONFIG_TPL_RELOC_STACK=0xf8fb0000
 CONFIG_TPL_RELOC_MALLOC=y
diff --git a/configs/P2020RDB-PC_36BIT_SDCARD_defconfig b/configs/P2020RDB-PC_36BIT_SDCARD_defconfig
index d4f82f1..b17346f 100644
--- a/configs/P2020RDB-PC_36BIT_SDCARD_defconfig
+++ b/configs/P2020RDB-PC_36BIT_SDCARD_defconfig
@@ -32,6 +32,7 @@
 CONFIG_SPL_MMC_BOOT=y
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
+CONFIG_SPL_GD_ADDR=0xf8f9c000
 CONFIG_SPL_RELOC_STACK=0xf8f9d000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xf8fa5000
diff --git a/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig b/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
index 7a198e0..041179e 100644
--- a/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
+++ b/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
@@ -35,6 +35,7 @@
 CONFIG_SPL_SPI_BOOT=y
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
+CONFIG_SPL_GD_ADDR=0xf8f9c000
 CONFIG_SPL_RELOC_STACK=0xf8f9d000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xf8fa5000
diff --git a/configs/P2020RDB-PC_NAND_defconfig b/configs/P2020RDB-PC_NAND_defconfig
index f5bd701..f3fa869 100644
--- a/configs/P2020RDB-PC_NAND_defconfig
+++ b/configs/P2020RDB-PC_NAND_defconfig
@@ -35,6 +35,7 @@
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_RELOC_TEXT_BASE=0xf8ffe000
 CONFIG_SPL_RELOC_STACK=0xf8fffff0
+CONFIG_TPL_GD_ADDR=0xf8fac000
 CONFIG_TPL_RELOC_TEXT_BASE=0xf8f81000
 CONFIG_TPL_RELOC_STACK=0xf8fb0000
 CONFIG_TPL_RELOC_MALLOC=y
diff --git a/configs/P2020RDB-PC_SDCARD_defconfig b/configs/P2020RDB-PC_SDCARD_defconfig
index 0e1eb82..ae4b758 100644
--- a/configs/P2020RDB-PC_SDCARD_defconfig
+++ b/configs/P2020RDB-PC_SDCARD_defconfig
@@ -31,6 +31,7 @@
 CONFIG_SPL_MMC_BOOT=y
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
+CONFIG_SPL_GD_ADDR=0xf8f9c000
 CONFIG_SPL_RELOC_STACK=0xf8f9d000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xf8fa5000
diff --git a/configs/P2020RDB-PC_SPIFLASH_defconfig b/configs/P2020RDB-PC_SPIFLASH_defconfig
index 5ffda90..338bbec 100644
--- a/configs/P2020RDB-PC_SPIFLASH_defconfig
+++ b/configs/P2020RDB-PC_SPIFLASH_defconfig
@@ -34,6 +34,7 @@
 CONFIG_SPL_SPI_BOOT=y
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
+CONFIG_SPL_GD_ADDR=0xf8f9c000
 CONFIG_SPL_RELOC_STACK=0xf8f9d000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xf8fa5000
diff --git a/configs/T1024RDB_NAND_defconfig b/configs/T1024RDB_NAND_defconfig
index 93dc0c1..2eb9858 100644
--- a/configs/T1024RDB_NAND_defconfig
+++ b/configs/T1024RDB_NAND_defconfig
@@ -39,6 +39,7 @@
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_SKIP_RELOCATE=y
+CONFIG_SPL_GD_ADDR=0xfffc8000
 CONFIG_SPL_RELOC_STACK=0xfffd8000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xfffcb000
diff --git a/configs/T1024RDB_SDCARD_defconfig b/configs/T1024RDB_SDCARD_defconfig
index dddf742..9daf7fd 100644
--- a/configs/T1024RDB_SDCARD_defconfig
+++ b/configs/T1024RDB_SDCARD_defconfig
@@ -40,6 +40,7 @@
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_SKIP_RELOCATE=y
+CONFIG_SPL_GD_ADDR=0xfffc8000
 CONFIG_SPL_RELOC_STACK=0xfffd8000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xfffcb000
diff --git a/configs/T1024RDB_SPIFLASH_defconfig b/configs/T1024RDB_SPIFLASH_defconfig
index d8e4124..ee9292a 100644
--- a/configs/T1024RDB_SPIFLASH_defconfig
+++ b/configs/T1024RDB_SPIFLASH_defconfig
@@ -43,6 +43,7 @@
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_SKIP_RELOCATE=y
+CONFIG_SPL_GD_ADDR=0xfffc8000
 CONFIG_SPL_RELOC_STACK=0xfffd8000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xfffcb000
diff --git a/configs/T1042D4RDB_NAND_defconfig b/configs/T1042D4RDB_NAND_defconfig
index ccb1a33..91a8300 100644
--- a/configs/T1042D4RDB_NAND_defconfig
+++ b/configs/T1042D4RDB_NAND_defconfig
@@ -35,6 +35,7 @@
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_SKIP_RELOCATE=y
+CONFIG_SPL_GD_ADDR=0xfffc8000
 CONFIG_SPL_RELOC_STACK=0xfffd8000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xfffcb000
diff --git a/configs/T1042D4RDB_SDCARD_defconfig b/configs/T1042D4RDB_SDCARD_defconfig
index 4b3962c..32fed7a 100644
--- a/configs/T1042D4RDB_SDCARD_defconfig
+++ b/configs/T1042D4RDB_SDCARD_defconfig
@@ -36,6 +36,7 @@
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_SKIP_RELOCATE=y
+CONFIG_SPL_GD_ADDR=0xfffc8000
 CONFIG_SPL_RELOC_STACK=0xfffd8000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xfffcb000
diff --git a/configs/T1042D4RDB_SPIFLASH_defconfig b/configs/T1042D4RDB_SPIFLASH_defconfig
index a9668c5..638ed71 100644
--- a/configs/T1042D4RDB_SPIFLASH_defconfig
+++ b/configs/T1042D4RDB_SPIFLASH_defconfig
@@ -39,6 +39,7 @@
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_SKIP_RELOCATE=y
+CONFIG_SPL_GD_ADDR=0xfffc8000
 CONFIG_SPL_RELOC_STACK=0xfffd8000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xfffcb000
diff --git a/configs/T2080QDS_NAND_defconfig b/configs/T2080QDS_NAND_defconfig
index e8b83ed..b71659a 100644
--- a/configs/T2080QDS_NAND_defconfig
+++ b/configs/T2080QDS_NAND_defconfig
@@ -40,6 +40,7 @@
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_SKIP_RELOCATE=y
+CONFIG_SPL_GD_ADDR=0xfffc8000
 CONFIG_SPL_RELOC_STACK=0xfffd8000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xfffcb000
diff --git a/configs/T2080QDS_SDCARD_defconfig b/configs/T2080QDS_SDCARD_defconfig
index 1e9b586..1b8ef0c 100644
--- a/configs/T2080QDS_SDCARD_defconfig
+++ b/configs/T2080QDS_SDCARD_defconfig
@@ -41,6 +41,7 @@
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_SKIP_RELOCATE=y
+CONFIG_SPL_GD_ADDR=0xfffc8000
 CONFIG_SPL_RELOC_STACK=0xfffd8000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xfffcb000
diff --git a/configs/T2080QDS_SPIFLASH_defconfig b/configs/T2080QDS_SPIFLASH_defconfig
index 2967c4e..bcef31a 100644
--- a/configs/T2080QDS_SPIFLASH_defconfig
+++ b/configs/T2080QDS_SPIFLASH_defconfig
@@ -44,6 +44,7 @@
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_SKIP_RELOCATE=y
+CONFIG_SPL_GD_ADDR=0xfffc8000
 CONFIG_SPL_RELOC_STACK=0xfffd8000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xfffcb000
diff --git a/configs/T2080RDB_NAND_defconfig b/configs/T2080RDB_NAND_defconfig
index dd5a3de..9e8e3ea 100644
--- a/configs/T2080RDB_NAND_defconfig
+++ b/configs/T2080RDB_NAND_defconfig
@@ -38,6 +38,7 @@
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_SKIP_RELOCATE=y
+CONFIG_SPL_GD_ADDR=0xfffc8000
 CONFIG_SPL_RELOC_STACK=0xfffd8000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xfffcb000
diff --git a/configs/T2080RDB_SDCARD_defconfig b/configs/T2080RDB_SDCARD_defconfig
index 2c35b80..b6a0b85 100644
--- a/configs/T2080RDB_SDCARD_defconfig
+++ b/configs/T2080RDB_SDCARD_defconfig
@@ -39,6 +39,7 @@
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_SKIP_RELOCATE=y
+CONFIG_SPL_GD_ADDR=0xfffc8000
 CONFIG_SPL_RELOC_STACK=0xfffd8000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xfffcb000
diff --git a/configs/T2080RDB_SPIFLASH_defconfig b/configs/T2080RDB_SPIFLASH_defconfig
index 21e0be3..b0f0d16 100644
--- a/configs/T2080RDB_SPIFLASH_defconfig
+++ b/configs/T2080RDB_SPIFLASH_defconfig
@@ -42,6 +42,7 @@
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_SKIP_RELOCATE=y
+CONFIG_SPL_GD_ADDR=0xfffc8000
 CONFIG_SPL_RELOC_STACK=0xfffd8000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xfffcb000
diff --git a/configs/T2080RDB_revD_NAND_defconfig b/configs/T2080RDB_revD_NAND_defconfig
index d2b8df2..feba8e5 100644
--- a/configs/T2080RDB_revD_NAND_defconfig
+++ b/configs/T2080RDB_revD_NAND_defconfig
@@ -39,6 +39,7 @@
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_SKIP_RELOCATE=y
+CONFIG_SPL_GD_ADDR=0xfffc8000
 CONFIG_SPL_RELOC_STACK=0xfffd8000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xfffcb000
diff --git a/configs/T2080RDB_revD_SDCARD_defconfig b/configs/T2080RDB_revD_SDCARD_defconfig
index 24dea1a..0495786 100644
--- a/configs/T2080RDB_revD_SDCARD_defconfig
+++ b/configs/T2080RDB_revD_SDCARD_defconfig
@@ -40,6 +40,7 @@
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_SKIP_RELOCATE=y
+CONFIG_SPL_GD_ADDR=0xfffc8000
 CONFIG_SPL_RELOC_STACK=0xfffd8000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xfffcb000
diff --git a/configs/T2080RDB_revD_SPIFLASH_defconfig b/configs/T2080RDB_revD_SPIFLASH_defconfig
index a5c397d..bb7c711 100644
--- a/configs/T2080RDB_revD_SPIFLASH_defconfig
+++ b/configs/T2080RDB_revD_SPIFLASH_defconfig
@@ -43,6 +43,7 @@
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_SKIP_RELOCATE=y
+CONFIG_SPL_GD_ADDR=0xfffc8000
 CONFIG_SPL_RELOC_STACK=0xfffd8000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xfffcb000
diff --git a/configs/T4240RDB_SDCARD_defconfig b/configs/T4240RDB_SDCARD_defconfig
index 56eb03b..fb35c83 100644
--- a/configs/T4240RDB_SDCARD_defconfig
+++ b/configs/T4240RDB_SDCARD_defconfig
@@ -37,6 +37,7 @@
 CONFIG_SPL_SYS_CCSR_DO_NOT_RELOCATE=y
 CONFIG_SPL_FLUSH_IMAGE=y
 CONFIG_SPL_SKIP_RELOCATE=y
+CONFIG_SPL_GD_ADDR=0xfffc8000
 CONFIG_SPL_RELOC_STACK=0xfffd8000
 CONFIG_SPL_RELOC_MALLOC=y
 CONFIG_SPL_RELOC_MALLOC_ADDR=0xfffcb000
diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h
index 13f8360..770f396 100644
--- a/include/configs/P1010RDB.h
+++ b/include/configs/P1010RDB.h
@@ -390,14 +390,12 @@
 #define CONFIG_SYS_INIT_L2_ADDR_PHYS	CONFIG_SYS_INIT_L2_ADDR
 #define CONFIG_SYS_L2_SIZE		(256 << 10)
 #define CONFIG_SYS_INIT_L2_END	(CONFIG_SYS_INIT_L2_ADDR + CONFIG_SYS_L2_SIZE)
-#define CONFIG_SPL_GD_ADDR		(CONFIG_SYS_INIT_L2_ADDR + 96 * 1024)
 #elif defined(CONFIG_MTD_RAW_NAND)
 #ifdef CONFIG_TPL_BUILD
 #define CONFIG_SYS_INIT_L2_ADDR		0xD0000000
 #define CONFIG_SYS_INIT_L2_ADDR_PHYS	CONFIG_SYS_INIT_L2_ADDR
 #define CONFIG_SYS_L2_SIZE		(256 << 10)
 #define CONFIG_SYS_INIT_L2_END	(CONFIG_SYS_INIT_L2_ADDR + CONFIG_SYS_L2_SIZE)
-#define CONFIG_SPL_GD_ADDR		(CONFIG_SYS_INIT_L2_ADDR + 176 * 1024)
 #else
 #define CONFIG_SYS_INIT_L2_ADDR		0xD0000000
 #define CONFIG_SYS_INIT_L2_ADDR_PHYS	CONFIG_SYS_INIT_L2_ADDR
diff --git a/include/configs/T102xRDB.h b/include/configs/T102xRDB.h
index 4dcd376..4965471 100644
--- a/include/configs/T102xRDB.h
+++ b/include/configs/T102xRDB.h
@@ -119,7 +119,6 @@
  */
 #define CONFIG_SYS_INIT_L3_ADDR		0xFFFC0000
 #define CONFIG_SYS_L3_SIZE		(256 << 10)
-#define CONFIG_SPL_GD_ADDR		(CONFIG_SYS_INIT_L3_ADDR + 32 * 1024)
 #define SPL_ENV_ADDR			(CONFIG_SPL_GD_ADDR + 4 * 1024)
 
 #ifdef CONFIG_PHYS_64BIT
diff --git a/include/configs/T104xRDB.h b/include/configs/T104xRDB.h
index 07eed3b..a56e3bf 100644
--- a/include/configs/T104xRDB.h
+++ b/include/configs/T104xRDB.h
@@ -106,7 +106,6 @@
  */
 #define CONFIG_SYS_INIT_L3_VADDR	0xFFFC0000
 #define CONFIG_SYS_L3_SIZE		256 << 10
-#define CONFIG_SPL_GD_ADDR		(CONFIG_SYS_INIT_L3_VADDR + 32 * 1024)
 #define SPL_ENV_ADDR			(CONFIG_SPL_GD_ADDR + 4 * 1024)
 
 #define CONFIG_SYS_DCSRBAR		0xf0000000
diff --git a/include/configs/T208xQDS.h b/include/configs/T208xQDS.h
index 16751e5..de81f53 100644
--- a/include/configs/T208xQDS.h
+++ b/include/configs/T208xQDS.h
@@ -92,7 +92,6 @@
  */
 #define CONFIG_SYS_INIT_L3_ADDR		0xFFFC0000
 #define CONFIG_SYS_L3_SIZE		(512 << 10)
-#define CONFIG_SPL_GD_ADDR		(CONFIG_SYS_INIT_L3_ADDR + 32 * 1024)
 #define SPL_ENV_ADDR			(CONFIG_SPL_GD_ADDR + 4 * 1024)
 
 #define CONFIG_SYS_DCSRBAR	0xf0000000
diff --git a/include/configs/T208xRDB.h b/include/configs/T208xRDB.h
index feec2c3..04562bf 100644
--- a/include/configs/T208xRDB.h
+++ b/include/configs/T208xRDB.h
@@ -87,7 +87,6 @@
  */
 #define CONFIG_SYS_INIT_L3_ADDR		0xFFFC0000
 #define CONFIG_SYS_L3_SIZE		(512 << 10)
-#define CONFIG_SPL_GD_ADDR		(CONFIG_SYS_INIT_L3_ADDR + 32 * 1024)
 #define SPL_ENV_ADDR			(CONFIG_SPL_GD_ADDR + 4 * 1024)
 
 #define CONFIG_SYS_DCSRBAR	0xf0000000
diff --git a/include/configs/T4240RDB.h b/include/configs/T4240RDB.h
index 2185413..2ab1b64 100644
--- a/include/configs/T4240RDB.h
+++ b/include/configs/T4240RDB.h
@@ -67,7 +67,6 @@
  */
 #define CONFIG_SYS_INIT_L3_ADDR		0xFFFC0000
 #define CONFIG_SYS_L3_SIZE		(512 << 10)
-#define CONFIG_SPL_GD_ADDR		(CONFIG_SYS_INIT_L3_ADDR + 32 * 1024)
 #define SPL_ENV_ADDR			(CONFIG_SPL_GD_ADDR + 4 * 1024)
 
 #define CONFIG_SYS_DCSRBAR		0xf0000000
diff --git a/include/configs/openpiton-riscv64.h b/include/configs/openpiton-riscv64.h
index 497f0d5..12bd8fb 100644
--- a/include/configs/openpiton-riscv64.h
+++ b/include/configs/openpiton-riscv64.h
@@ -17,10 +17,6 @@
 #define CONFIG_SYS_SDRAM_BASE 0x80000000
 #define CONFIG_SYS_BOOTM_LEN        SZ_256M
 
-#ifdef CONFIG_SPL
-#define CONFIG_SPL_GD_ADDR 0x85000000
-#endif
-
 /* ---------------------------------------------------------------------
  * Board boot configuration
  */
diff --git a/include/configs/p1_p2_rdb_pc.h b/include/configs/p1_p2_rdb_pc.h
index 0b866f4..eb9c78b 100644
--- a/include/configs/p1_p2_rdb_pc.h
+++ b/include/configs/p1_p2_rdb_pc.h
@@ -336,13 +336,11 @@
 #define CONFIG_SYS_INIT_L2_ADDR		0xf8f80000
 #define CONFIG_SYS_INIT_L2_ADDR_PHYS	CONFIG_SYS_INIT_L2_ADDR
 #define CONFIG_SYS_INIT_L2_END	(CONFIG_SYS_INIT_L2_ADDR + CONFIG_SYS_L2_SIZE)
-#define CONFIG_SPL_GD_ADDR		(CONFIG_SYS_INIT_L2_ADDR + 112 * 1024)
 #elif defined(CONFIG_MTD_RAW_NAND)
 #ifdef CONFIG_TPL_BUILD
 #define CONFIG_SYS_INIT_L2_ADDR		0xf8f80000
 #define CONFIG_SYS_INIT_L2_ADDR_PHYS	CONFIG_SYS_INIT_L2_ADDR
 #define CONFIG_SYS_INIT_L2_END	(CONFIG_SYS_INIT_L2_ADDR + CONFIG_SYS_L2_SIZE)
-#define CONFIG_SPL_GD_ADDR		(CONFIG_SYS_INIT_L2_ADDR + 176 * 1024)
 #else
 #define CONFIG_SYS_INIT_L2_ADDR		0xf8f80000
 #define CONFIG_SYS_INIT_L2_ADDR_PHYS	CONFIG_SYS_INIT_L2_ADDR