|
@@ -11,6 +11,8 @@
|
|
|
|
|
|
#include <linux/of_platform.h>
|
|
|
#include <linux/serial_core.h>
|
|
|
+#include <linux/memblock.h>
|
|
|
+#include <linux/of_fdt.h>
|
|
|
|
|
|
#include <asm/mach/arch.h>
|
|
|
#include <asm/hardware/gic.h>
|
|
@@ -18,6 +20,7 @@
|
|
|
|
|
|
#include <plat/cpu.h>
|
|
|
#include <plat/regs-serial.h>
|
|
|
+#include <plat/mfc.h>
|
|
|
|
|
|
#include "common.h"
|
|
|
|
|
@@ -72,6 +75,7 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
|
|
|
"exynos-gsc.2", NULL),
|
|
|
OF_DEV_AUXDATA("samsung,exynos5-gsc", EXYNOS5_PA_GSC3,
|
|
|
"exynos-gsc.3", NULL),
|
|
|
+ OF_DEV_AUXDATA("samsung,mfc-v6", 0x11000000, "s5p-mfc-v6", NULL),
|
|
|
{},
|
|
|
};
|
|
|
|
|
@@ -92,6 +96,17 @@ static char const *exynos5250_dt_compat[] __initdata = {
|
|
|
NULL
|
|
|
};
|
|
|
|
|
|
+static void __init exynos5_reserve(void)
|
|
|
+{
|
|
|
+ struct s5p_mfc_dt_meminfo mfc_mem;
|
|
|
+
|
|
|
+ /* Reserve memory for MFC only if it's available */
|
|
|
+ mfc_mem.compatible = "samsung,mfc-v6";
|
|
|
+ if (of_scan_flat_dt(s5p_fdt_find_mfc_mem, &mfc_mem))
|
|
|
+ s5p_mfc_reserve_mem(mfc_mem.roff, mfc_mem.rsize, mfc_mem.loff,
|
|
|
+ mfc_mem.lsize);
|
|
|
+}
|
|
|
+
|
|
|
DT_MACHINE_START(EXYNOS5_DT, "SAMSUNG EXYNOS5 (Flattened Device Tree)")
|
|
|
/* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */
|
|
|
.init_irq = exynos5_init_irq,
|
|
@@ -103,4 +118,5 @@ DT_MACHINE_START(EXYNOS5_DT, "SAMSUNG EXYNOS5 (Flattened Device Tree)")
|
|
|
.timer = &exynos4_timer,
|
|
|
.dt_compat = exynos5250_dt_compat,
|
|
|
.restart = exynos5_restart,
|
|
|
+ .reserve = exynos5_reserve,
|
|
|
MACHINE_END
|