diff --git a/arch/sparc/kernel/setup.c b/arch/sparc/kernel/setup.c
index f3ea4cc2c496ba9ea1032625ae26f0a31ffd23ec..6cb4a7ea9915c14cb9d21fbfaf46a5ef2dc74ef9 100644
--- a/arch/sparc/kernel/setup.c
+++ b/arch/sparc/kernel/setup.c
@@ -61,8 +61,13 @@ static void reserve_kernel_stack(void)
 
 static void mem_init(void)
 {
+#ifdef CONFIG_MPPB
 	sp_banks[0].base_addr = 0x40000000;
-	sp_banks[0].num_bytes = 0x02800000;
+	sp_banks[0].num_bytes = 0x10000000;
+#else /* e.g. GR712 eval */
+	sp_banks[0].base_addr = 0x40000000;
+	sp_banks[0].num_bytes = 0x00800000;
+#endif
 
 #if (SPARC_PHYS_BANKS > 0)
 	sp_banks[1].base_addr = 0x60000000;