aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Graf2015-03-07 02:10:09 +0100
committerYork Sun2015-04-20 10:15:29 -0700
commite834975b4b44d4886992f482b261289529f3f7c1 (patch)
tree678fc33c68d2bd59a4838fcae0f6276a9f956805
parentd7c865bdf2588c5f5936cc92fe679c68397196e3 (diff)
qemu-ppce500: Add support for 64bit CCSR map
QEMU 2.3 changes the address layout of the CCSR map in the PV ppce500 machine to reside in higher address space. Unfortunately, this exposed a glitch in u-boot for ppce500: While providing a function to dynamically evaluate the CCSR region's position in physical address space, we never used it. Plus we forgot to support 64bit physical addresses. This patch fixes that mishap, making u-boot work fine with latest QEMU again. Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Scott Wood <scottwood@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
-rw-r--r--include/configs/qemu-ppce500.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/configs/qemu-ppce500.h b/include/configs/qemu-ppce500.h
index 763a47ac3dc..70718497fb3 100644
--- a/include/configs/qemu-ppce500.h
+++ b/include/configs/qemu-ppce500.h
@@ -50,8 +50,14 @@
/* Physical address should be a function call */
#ifndef __ASSEMBLY__
extern unsigned long long get_phys_ccsrbar_addr_early(void);
+#define CONFIG_SYS_CCSRBAR_PHYS_HIGH (get_phys_ccsrbar_addr_early() >> 32)
+#define CONFIG_SYS_CCSRBAR_PHYS_LOW get_phys_ccsrbar_addr_early()
+#else
+#define CONFIG_SYS_CCSRBAR_PHYS_HIGH 0x0
+#define CONFIG_SYS_CCSRBAR_PHYS_LOW CONFIG_SYS_CCSRBAR
#endif
-#define CONFIG_SYS_CCSR_DO_NOT_RELOCATE
+
+#define CONFIG_PHYS_64BIT
/* Virtual address range for PCI region maps */
#define CONFIG_SYS_PCI_MAP_START 0x80000000