|
@@ -24,6 +24,7 @@
|
|
|
|
|
|
#include <plat/irqs.h>
|
|
|
#include <plat/sram.h>
|
|
|
+#include <plat/omap-secure.h>
|
|
|
|
|
|
#include <mach/hardware.h>
|
|
|
#include <mach/omap-wakeupgen.h>
|
|
@@ -43,6 +44,9 @@ static void __iomem *sar_ram_base;
|
|
|
|
|
|
void __iomem *dram_sync, *sram_sync;
|
|
|
|
|
|
+static phys_addr_t paddr;
|
|
|
+static u32 size;
|
|
|
+
|
|
|
void omap_bus_sync(void)
|
|
|
{
|
|
|
if (dram_sync && sram_sync) {
|
|
@@ -52,18 +56,20 @@ void omap_bus_sync(void)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-static int __init omap_barriers_init(void)
|
|
|
+/* Steal one page physical memory for barrier implementation */
|
|
|
+int __init omap_barrier_reserve_memblock(void)
|
|
|
{
|
|
|
- struct map_desc dram_io_desc[1];
|
|
|
- phys_addr_t paddr;
|
|
|
- u32 size;
|
|
|
-
|
|
|
- if (!cpu_is_omap44xx())
|
|
|
- return -ENODEV;
|
|
|
|
|
|
size = ALIGN(PAGE_SIZE, SZ_1M);
|
|
|
paddr = arm_memblock_steal(size, SZ_1M);
|
|
|
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+void __init omap_barriers_init(void)
|
|
|
+{
|
|
|
+ struct map_desc dram_io_desc[1];
|
|
|
+
|
|
|
dram_io_desc[0].virtual = OMAP4_DRAM_BARRIER_VA;
|
|
|
dram_io_desc[0].pfn = __phys_to_pfn(paddr);
|
|
|
dram_io_desc[0].length = size;
|
|
@@ -75,9 +81,10 @@ static int __init omap_barriers_init(void)
|
|
|
pr_info("OMAP4: Map 0x%08llx to 0x%08lx for dram barrier\n",
|
|
|
(long long) paddr, dram_io_desc[0].virtual);
|
|
|
|
|
|
- return 0;
|
|
|
}
|
|
|
-core_initcall(omap_barriers_init);
|
|
|
+#else
|
|
|
+void __init omap_barriers_init(void)
|
|
|
+{}
|
|
|
#endif
|
|
|
|
|
|
void __init gic_init_irq(void)
|