diff options
Diffstat (limited to 'arch/arm/plat-omap/devices.c')
-rwxr-xr-x[-rw-r--r--] | arch/arm/plat-omap/devices.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/arch/arm/plat-omap/devices.c b/arch/arm/plat-omap/devices.c index 97a5a7e410fe..2ab6077dd4f8 100644..100755 --- a/arch/arm/plat-omap/devices.c +++ b/arch/arm/plat-omap/devices.c @@ -14,6 +14,7 @@ #include <linux/init.h> #include <linux/platform_device.h> #include <linux/io.h> +#include <linux/bootmem.h> #include <mach/hardware.h> #include <asm/mach-types.h> @@ -90,6 +91,32 @@ EXPORT_SYMBOL(dsp_kfunc_device_register); static inline void omap_init_dsp(void) { } #endif /* CONFIG_OMAP_DSP */ +#if defined(CONFIG_MPU_BRIDGE) || defined(CONFIG_MPU_BRIDGE_MODULE) +static unsigned long dspbridge_phys_mempool_base; +void dspbridge_reserve_sdram(void) +{ + void *va; + unsigned long size = CONFIG_BRIDGE_MEMPOOL_SIZE; + + if (!size) + return; + + va = __alloc_bootmem_nopanic(size, SZ_1M, 0); + if (!va) { + pr_err("%s: Failed to bootmem allocation(%lu bytes)\n", + __func__, size); + return; + } + dspbridge_phys_mempool_base = virt_to_phys(va); +} + +unsigned long dspbridge_get_mempool_base(void) +{ + return dspbridge_phys_mempool_base; +} +EXPORT_SYMBOL(dspbridge_get_mempool_base); +#endif + /*-------------------------------------------------------------------------*/ #if defined(CONFIG_KEYBOARD_OMAP) || defined(CONFIG_KEYBOARD_OMAP_MODULE) |