@@ -17,7 +17,12 @@
#include <mach/spear.h>
/* Vitual to physical translation of statically mapped space */
-#define IO_ADDRESS(x) (x | 0xF0000000)
+/*
+ * if phy_addr is 0x8...,.... and above then map it to 0xF...,....
+ * else map it to 0xE...,....
+ */
+
+#define IO_ADDRESS(x) ((x) | ((((x) >> 31) << 28) | 0xE0000000))
/* typesafe io address */
#define __io_address(n) __io(IO_ADDRESS(n))
@@ -13,6 +13,6 @@
#ifndef __MACH_VMALLOC_H
#define __MACH_VMALLOC_H
-#include <plat/vmalloc.h>
+#define VMALLOC_END 0xEC800000
#endif /* __MACH_VMALLOC_H */
@@ -582,6 +582,14 @@ struct map_desc spear13xx_io_desc[] __initdata = {
.pfn = __phys_to_pfn(SPEAR13XX_SYSRAM1_BASE),
.length = SZ_1M,
.type = MT_MEMORY_NONCACHED
+#ifdef CONFIG_MACH_SPEAR1310
+ }, {
+ .virtual = IO_ADDRESS(SPEAR1310_RAS_BASE),
+ .pfn = __phys_to_pfn(SPEAR1310_RAS_BASE),
+ .length = SZ_4K,
+ .type = MT_DEVICE
+
+#endif
},
};