diff options
author | Arun Kumar K <arun.kk@samsung.com> | 2012-10-23 15:51:33 +0200 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2012-10-19 03:26:31 +0200 |
commit | 2eae613b95a786714bd1b5825ea3abc78d229d3f (patch) | |
tree | 01999929d439e632ee08e1f3ec79bf5cd1ba3d28 /arch/arm/plat-samsung/s5p-dev-mfc.c | |
parent | ARM: dts: Enable serial controllers on Origen and SMDKV310 (diff) | |
download | linux-2eae613b95a786714bd1b5825ea3abc78d229d3f.tar.xz linux-2eae613b95a786714bd1b5825ea3abc78d229d3f.zip |
ARM: EXYNOS: Add MFC device tree support
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 <ch.naveen@samsung.com>
Signed-off-by: Arun Kumar K <arun.kk@samsung.com>
[kgene.kim@samsung.com: fixed section mismatches Seung-Woo Kim reported]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/plat-samsung/s5p-dev-mfc.c')
-rw-r--r-- | arch/arm/plat-samsung/s5p-dev-mfc.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/arch/arm/plat-samsung/s5p-dev-mfc.c b/arch/arm/plat-samsung/s5p-dev-mfc.c index ad6089465e2a..5ec104b5408b 100644 --- a/arch/arm/plat-samsung/s5p-dev-mfc.c +++ b/arch/arm/plat-samsung/s5p-dev-mfc.c @@ -14,6 +14,8 @@ #include <linux/dma-mapping.h> #include <linux/memblock.h> #include <linux/ioport.h> +#include <linux/of_fdt.h> +#include <linux/of.h> #include <mach/map.h> #include <plat/devs.h> @@ -69,3 +71,35 @@ static int __init s5p_mfc_memory_init(void) return 0; } device_initcall(s5p_mfc_memory_init); + +#ifdef CONFIG_OF +int __init s5p_fdt_find_mfc_mem(unsigned long node, const char *uname, + int depth, void *data) +{ + __be32 *prop; + unsigned long len; + struct s5p_mfc_dt_meminfo *mfc_mem = data; + + if (!data) + return 0; + + if (!of_flat_dt_is_compatible(node, mfc_mem->compatible)) + return 0; + + prop = of_get_flat_dt_prop(node, "samsung,mfc-l", &len); + if (!prop || (len != 2 * sizeof(unsigned long))) + return 0; + + mfc_mem->loff = be32_to_cpu(prop[0]); + mfc_mem->lsize = be32_to_cpu(prop[1]); + + prop = of_get_flat_dt_prop(node, "samsung,mfc-r", &len); + if (!prop || (len != 2 * sizeof(unsigned long))) + return 0; + + mfc_mem->roff = be32_to_cpu(prop[0]); + mfc_mem->rsize = be32_to_cpu(prop[1]); + + return 1; +} +#endif |