Re: [PATCH v5] ARM: EXYNOS: Add MFC device tree support
From: 김승우 <sw0312.kim@samsung.com>
Date: 2012-10-23 07:04:20
Also in:
linux-samsung-soc
Hi Arun, On 2012년 09월 28일 02:09, Arun Kumar K wrote:
This patch adds device tree entry for MFC v6 in the Exynos5 SoC. Makes the required changes in the clock files and adds MFC to the DT device list. Signed-off-by: Naveen Krishna Chatradhi <redacted> Signed-off-by: Arun Kumar K <redacted> --- .../devicetree/bindings/media/s5p-mfc.txt | 23 +++++++++++++ arch/arm/boot/dts/exynos5250-smdk5250.dts | 5 +++ arch/arm/boot/dts/exynos5250.dtsi | 6 +++ arch/arm/mach-exynos/Kconfig | 1 + arch/arm/mach-exynos/clock-exynos5.c | 2 +- arch/arm/mach-exynos/mach-exynos5-dt.c | 16 +++++++++ arch/arm/plat-samsung/devs.c | 1 + arch/arm/plat-samsung/include/plat/mfc.h | 11 ++++++ arch/arm/plat-samsung/s5p-dev-mfc.c | 34 ++++++++++++++++++++ 9 files changed, 98 insertions(+), 1 deletions(-) create mode 100644 Documentation/devicetree/bindings/media/s5p-mfc.txt
<snip>
quoted hunk ↗ jump to hunk
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c index fee9dcd..b4ed43a 100644 --- a/arch/arm/mach-exynos/mach-exynos5-dt.c +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c@@ -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))
of_scan_flat_dt() is called but it does not have __init on its definition. So this causes section mismatch.
quoted hunk ↗ jump to hunk
+ 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 [off-list ref] */ .init_irq = exynos5_init_irq,@@ -102,4 +117,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
<snip> Best Regards, - Seung-Woo Kim -- Seung-Woo Kim Samsung Software R&D Center --