diff options
Diffstat (limited to 'arch/arm/mach-exynos')
-rw-r--r-- | arch/arm/mach-exynos/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-exynos/mach-exynos4-dt.c | 17 | ||||
-rw-r--r-- | arch/arm/mach-exynos/mach-exynos5-dt.c | 1 |
3 files changed, 20 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig index 2f45906d6ee5..bc15b9ee8174 100644 --- a/arch/arm/mach-exynos/Kconfig +++ b/arch/arm/mach-exynos/Kconfig | |||
@@ -61,6 +61,7 @@ config SOC_EXYNOS5250 | |||
61 | bool "SAMSUNG EXYNOS5250" | 61 | bool "SAMSUNG EXYNOS5250" |
62 | default y | 62 | default y |
63 | depends on ARCH_EXYNOS5 | 63 | depends on ARCH_EXYNOS5 |
64 | select PM_GENERIC_DOMAINS if PM | ||
64 | select S5P_PM if PM | 65 | select S5P_PM if PM |
65 | select S5P_SLEEP if PM | 66 | select S5P_SLEEP if PM |
66 | select S5P_DEV_MFC | 67 | select S5P_DEV_MFC |
@@ -410,6 +411,7 @@ config MACH_EXYNOS4_DT | |||
410 | select HAVE_SAMSUNG_KEYPAD if INPUT_KEYBOARD | 411 | select HAVE_SAMSUNG_KEYPAD if INPUT_KEYBOARD |
411 | select PINCTRL | 412 | select PINCTRL |
412 | select PINCTRL_EXYNOS | 413 | select PINCTRL_EXYNOS |
414 | select S5P_DEV_MFC | ||
413 | select USE_OF | 415 | select USE_OF |
414 | help | 416 | help |
415 | Machine support for Samsung Exynos4 machine with device tree enabled. | 417 | Machine support for Samsung Exynos4 machine with device tree enabled. |
diff --git a/arch/arm/mach-exynos/mach-exynos4-dt.c b/arch/arm/mach-exynos/mach-exynos4-dt.c index 3358088c822a..fad268f8548c 100644 --- a/arch/arm/mach-exynos/mach-exynos4-dt.c +++ b/arch/arm/mach-exynos/mach-exynos4-dt.c | |||
@@ -12,13 +12,16 @@ | |||
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include <linux/of_platform.h> | 14 | #include <linux/of_platform.h> |
15 | #include <linux/of_fdt.h> | ||
15 | #include <linux/serial_core.h> | 16 | #include <linux/serial_core.h> |
17 | #include <linux/memblock.h> | ||
16 | 18 | ||
17 | #include <asm/mach/arch.h> | 19 | #include <asm/mach/arch.h> |
18 | #include <mach/map.h> | 20 | #include <mach/map.h> |
19 | 21 | ||
20 | #include <plat/cpu.h> | 22 | #include <plat/cpu.h> |
21 | #include <plat/regs-serial.h> | 23 | #include <plat/regs-serial.h> |
24 | #include <plat/mfc.h> | ||
22 | 25 | ||
23 | #include "common.h" | 26 | #include "common.h" |
24 | 27 | ||
@@ -113,6 +116,7 @@ static const struct of_dev_auxdata exynos4_auxdata_lookup[] __initconst = { | |||
113 | "exynos-sysmmu.14", NULL), /* FIMC-LITE0(4x12) */ | 116 | "exynos-sysmmu.14", NULL), /* FIMC-LITE0(4x12) */ |
114 | OF_DEV_AUXDATA("samsung,exynos-sysmmu", 0x123C0000, | 117 | OF_DEV_AUXDATA("samsung,exynos-sysmmu", 0x123C0000, |
115 | "exynos-sysmmu.15", NULL), /* FIMC-LITE1(4x12) */ | 118 | "exynos-sysmmu.15", NULL), /* FIMC-LITE1(4x12) */ |
119 | OF_DEV_AUXDATA("samsung,mfc-v5", 0x13400000, "s5p-mfc", NULL), | ||
116 | {}, | 120 | {}, |
117 | }; | 121 | }; |
118 | 122 | ||
@@ -135,6 +139,18 @@ static char const *exynos4_dt_compat[] __initdata = { | |||
135 | NULL | 139 | NULL |
136 | }; | 140 | }; |
137 | 141 | ||
142 | static void __init exynos4_reserve(void) | ||
143 | { | ||
144 | #ifdef CONFIG_S5P_DEV_MFC | ||
145 | struct s5p_mfc_dt_meminfo mfc_mem; | ||
146 | |||
147 | /* Reserve memory for MFC only if it's available */ | ||
148 | mfc_mem.compatible = "samsung,mfc-v5"; | ||
149 | if (of_scan_flat_dt(s5p_fdt_find_mfc_mem, &mfc_mem)) | ||
150 | s5p_mfc_reserve_mem(mfc_mem.roff, mfc_mem.rsize, mfc_mem.loff, | ||
151 | mfc_mem.lsize); | ||
152 | #endif | ||
153 | } | ||
138 | DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)") | 154 | DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)") |
139 | /* Maintainer: Thomas Abraham <thomas.abraham@linaro.org> */ | 155 | /* Maintainer: Thomas Abraham <thomas.abraham@linaro.org> */ |
140 | .smp = smp_ops(exynos_smp_ops), | 156 | .smp = smp_ops(exynos_smp_ops), |
@@ -145,4 +161,5 @@ DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)") | |||
145 | .init_time = exynos4_timer_init, | 161 | .init_time = exynos4_timer_init, |
146 | .dt_compat = exynos4_dt_compat, | 162 | .dt_compat = exynos4_dt_compat, |
147 | .restart = exynos4_restart, | 163 | .restart = exynos4_restart, |
164 | .reserve = exynos4_reserve, | ||
148 | MACHINE_END | 165 | MACHINE_END |
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c index acaeb14db54b..8ef895745175 100644 --- a/arch/arm/mach-exynos/mach-exynos5-dt.c +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c | |||
@@ -139,6 +139,7 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = { | |||
139 | "exynos-sysmmu.13", NULL), /* FIMC-LITE1 */ | 139 | "exynos-sysmmu.13", NULL), /* FIMC-LITE1 */ |
140 | OF_DEV_AUXDATA("samsung,exynos-sysmmu", 0x10A60000, | 140 | OF_DEV_AUXDATA("samsung,exynos-sysmmu", 0x10A60000, |
141 | "exynos-sysmmu.14", NULL), /* G2D */ | 141 | "exynos-sysmmu.14", NULL), /* G2D */ |
142 | OF_DEV_AUXDATA("samsung,exynos5-dp", 0x145B0000, "exynos-dp", NULL), | ||
142 | {}, | 143 | {}, |
143 | }; | 144 | }; |
144 | 145 | ||