diff options
author | Sachin Kamat <sachin.kamat@linaro.org> | 2011-10-13 02:38:21 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2011-10-14 02:15:46 -0400 |
commit | df74a28c7a2e50135a960403025a8934e8c471e4 (patch) | |
tree | ec601ee4fa0df48304ebe36c5c18ea2f72787365 | |
parent | 35cc3cea2c2adb825dbe987000165005d28acaec (diff) |
ARM: EXYNOS4: Enable MFC on ORIGEN
This patch enables multi-format codec (MFC) support on ORIGEN board.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
-rw-r--r-- | arch/arm/mach-exynos4/Kconfig | 3 | ||||
-rw-r--r-- | arch/arm/mach-exynos4/mach-origen.c | 14 |
2 files changed, 16 insertions, 1 deletions
diff --git a/arch/arm/mach-exynos4/Kconfig b/arch/arm/mach-exynos4/Kconfig index dd660eb20204..d7491e1f245f 100644 --- a/arch/arm/mach-exynos4/Kconfig +++ b/arch/arm/mach-exynos4/Kconfig | |||
@@ -251,11 +251,12 @@ config MACH_ORIGEN | |||
251 | select S5P_DEV_FIMC3 | 251 | select S5P_DEV_FIMC3 |
252 | select S5P_DEV_FIMD0 | 252 | select S5P_DEV_FIMD0 |
253 | select S5P_DEV_I2C_HDMIPHY | 253 | select S5P_DEV_I2C_HDMIPHY |
254 | select S5P_DEV_MFC | ||
254 | select S5P_DEV_TV | 255 | select S5P_DEV_TV |
255 | select S5P_DEV_USB_EHCI | 256 | select S5P_DEV_USB_EHCI |
256 | select EXYNOS4_DEV_PD | ||
257 | select SAMSUNG_DEV_BACKLIGHT | 257 | select SAMSUNG_DEV_BACKLIGHT |
258 | select SAMSUNG_DEV_PWM | 258 | select SAMSUNG_DEV_PWM |
259 | select EXYNOS4_DEV_PD | ||
259 | select EXYNOS4_SETUP_FIMD0 | 260 | select EXYNOS4_SETUP_FIMD0 |
260 | select EXYNOS4_SETUP_SDHCI | 261 | select EXYNOS4_SETUP_SDHCI |
261 | select EXYNOS4_SETUP_USB_PHY | 262 | select EXYNOS4_SETUP_USB_PHY |
diff --git a/arch/arm/mach-exynos4/mach-origen.c b/arch/arm/mach-exynos4/mach-origen.c index 311e9db4ddea..f80b563f2be7 100644 --- a/arch/arm/mach-exynos4/mach-origen.c +++ b/arch/arm/mach-exynos4/mach-origen.c | |||
@@ -39,6 +39,7 @@ | |||
39 | #include <plat/backlight.h> | 39 | #include <plat/backlight.h> |
40 | #include <plat/pd.h> | 40 | #include <plat/pd.h> |
41 | #include <plat/fb.h> | 41 | #include <plat/fb.h> |
42 | #include <plat/mfc.h> | ||
42 | 43 | ||
43 | #include <mach/map.h> | 44 | #include <mach/map.h> |
44 | 45 | ||
@@ -601,6 +602,9 @@ static struct platform_device *origen_devices[] __initdata = { | |||
601 | &s5p_device_fimd0, | 602 | &s5p_device_fimd0, |
602 | &s5p_device_hdmi, | 603 | &s5p_device_hdmi, |
603 | &s5p_device_i2c_hdmiphy, | 604 | &s5p_device_i2c_hdmiphy, |
605 | &s5p_device_mfc, | ||
606 | &s5p_device_mfc_l, | ||
607 | &s5p_device_mfc_r, | ||
604 | &s5p_device_mixer, | 608 | &s5p_device_mixer, |
605 | &exynos4_device_pd[PD_LCD0], | 609 | &exynos4_device_pd[PD_LCD0], |
606 | &exynos4_device_pd[PD_TV], | 610 | &exynos4_device_pd[PD_TV], |
@@ -608,6 +612,7 @@ static struct platform_device *origen_devices[] __initdata = { | |||
608 | &exynos4_device_pd[PD_LCD1], | 612 | &exynos4_device_pd[PD_LCD1], |
609 | &exynos4_device_pd[PD_CAM], | 613 | &exynos4_device_pd[PD_CAM], |
610 | &exynos4_device_pd[PD_GPS], | 614 | &exynos4_device_pd[PD_GPS], |
615 | &exynos4_device_pd[PD_MFC], | ||
611 | &origen_device_gpiokeys, | 616 | &origen_device_gpiokeys, |
612 | &origen_lcd_hv070wsa, | 617 | &origen_lcd_hv070wsa, |
613 | }; | 618 | }; |
@@ -645,6 +650,11 @@ static void __init origen_power_init(void) | |||
645 | s3c_gpio_setpull(EXYNOS4_GPX0(4), S3C_GPIO_PULL_NONE); | 650 | s3c_gpio_setpull(EXYNOS4_GPX0(4), S3C_GPIO_PULL_NONE); |
646 | } | 651 | } |
647 | 652 | ||
653 | static void __init origen_reserve(void) | ||
654 | { | ||
655 | s5p_mfc_reserve_mem(0x43000000, 8 << 20, 0x51000000, 8 << 20); | ||
656 | } | ||
657 | |||
648 | static void __init origen_machine_init(void) | 658 | static void __init origen_machine_init(void) |
649 | { | 659 | { |
650 | origen_power_init(); | 660 | origen_power_init(); |
@@ -668,11 +678,14 @@ static void __init origen_machine_init(void) | |||
668 | s5p_fimd0_set_platdata(&origen_lcd_pdata); | 678 | s5p_fimd0_set_platdata(&origen_lcd_pdata); |
669 | 679 | ||
670 | platform_add_devices(origen_devices, ARRAY_SIZE(origen_devices)); | 680 | platform_add_devices(origen_devices, ARRAY_SIZE(origen_devices)); |
681 | |||
671 | s5p_device_fimd0.dev.parent = &exynos4_device_pd[PD_LCD0].dev; | 682 | s5p_device_fimd0.dev.parent = &exynos4_device_pd[PD_LCD0].dev; |
672 | 683 | ||
673 | s5p_device_hdmi.dev.parent = &exynos4_device_pd[PD_TV].dev; | 684 | s5p_device_hdmi.dev.parent = &exynos4_device_pd[PD_TV].dev; |
674 | s5p_device_mixer.dev.parent = &exynos4_device_pd[PD_TV].dev; | 685 | s5p_device_mixer.dev.parent = &exynos4_device_pd[PD_TV].dev; |
675 | 686 | ||
687 | s5p_device_mfc.dev.parent = &exynos4_device_pd[PD_MFC].dev; | ||
688 | |||
676 | samsung_bl_set(&origen_bl_gpio_info, &origen_bl_data); | 689 | samsung_bl_set(&origen_bl_gpio_info, &origen_bl_data); |
677 | } | 690 | } |
678 | 691 | ||
@@ -683,4 +696,5 @@ MACHINE_START(ORIGEN, "ORIGEN") | |||
683 | .map_io = origen_map_io, | 696 | .map_io = origen_map_io, |
684 | .init_machine = origen_machine_init, | 697 | .init_machine = origen_machine_init, |
685 | .timer = &exynos4_timer, | 698 | .timer = &exynos4_timer, |
699 | .reserve = &origen_reserve, | ||
686 | MACHINE_END | 700 | MACHINE_END |