aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-exynos/Kconfig1
-rw-r--r--arch/arm/mach-exynos/mach-origen.c31
2 files changed, 32 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 85fc9ea7870a..fc497b7c6d6a 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -324,6 +324,7 @@ config MACH_ORIGEN
324 select S5P_DEV_USB_EHCI 324 select S5P_DEV_USB_EHCI
325 select SAMSUNG_DEV_BACKLIGHT 325 select SAMSUNG_DEV_BACKLIGHT
326 select SAMSUNG_DEV_PWM 326 select SAMSUNG_DEV_PWM
327 select EXYNOS_DEV_DRM
327 select EXYNOS4_DEV_DMA 328 select EXYNOS4_DEV_DMA
328 select EXYNOS4_DEV_USB_OHCI 329 select EXYNOS4_DEV_USB_OHCI
329 select EXYNOS4_SETUP_FIMD0 330 select EXYNOS4_SETUP_FIMD0
diff --git a/arch/arm/mach-exynos/mach-origen.c b/arch/arm/mach-exynos/mach-origen.c
index e3d594925152..fe9627925846 100644
--- a/arch/arm/mach-exynos/mach-origen.c
+++ b/arch/arm/mach-exynos/mach-origen.c
@@ -45,6 +45,7 @@
45#include <mach/ohci.h> 45#include <mach/ohci.h>
46#include <mach/map.h> 46#include <mach/map.h>
47 47
48#include <drm/exynos_drm.h>
48#include "common.h" 49#include "common.h"
49 50
50/* Following are default values for UCON, ULCON and UFCON UART registers */ 51/* Following are default values for UCON, ULCON and UFCON UART registers */
@@ -583,6 +584,27 @@ static struct platform_device origen_lcd_hv070wsa = {
583 .dev.platform_data = &origen_lcd_hv070wsa_data, 584 .dev.platform_data = &origen_lcd_hv070wsa_data,
584}; 585};
585 586
587#ifdef CONFIG_DRM_EXYNOS
588static struct exynos_drm_fimd_pdata drm_fimd_pdata = {
589 .panel = {
590 .timing = {
591 .left_margin = 64,
592 .right_margin = 16,
593 .upper_margin = 64,
594 .lower_margin = 16,
595 .hsync_len = 48,
596 .vsync_len = 3,
597 .xres = 1024,
598 .yres = 600,
599 },
600 },
601 .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
602 .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC |
603 VIDCON1_INV_VCLK,
604 .default_win = 0,
605 .bpp = 32,
606};
607#else
586static struct s3c_fb_pd_win origen_fb_win0 = { 608static struct s3c_fb_pd_win origen_fb_win0 = {
587 .win_mode = { 609 .win_mode = {
588 .left_margin = 64, 610 .left_margin = 64,
@@ -607,6 +629,7 @@ static struct s3c_fb_platdata origen_lcd_pdata __initdata = {
607 VIDCON1_INV_VCLK, 629 VIDCON1_INV_VCLK,
608 .setup_gpio = exynos4_fimd0_gpio_setup_24bpp, 630 .setup_gpio = exynos4_fimd0_gpio_setup_24bpp,
609}; 631};
632#endif
610 633
611/* Bluetooth rfkill gpio platform data */ 634/* Bluetooth rfkill gpio platform data */
612static struct rfkill_gpio_platform_data origen_bt_pdata = { 635static struct rfkill_gpio_platform_data origen_bt_pdata = {
@@ -646,6 +669,9 @@ static struct platform_device *origen_devices[] __initdata = {
646 &s5p_device_mfc_l, 669 &s5p_device_mfc_l,
647 &s5p_device_mfc_r, 670 &s5p_device_mfc_r,
648 &s5p_device_mixer, 671 &s5p_device_mixer,
672#ifdef CONFIG_DRM_EXYNOS
673 &exynos_device_drm,
674#endif
649 &exynos4_device_ohci, 675 &exynos4_device_ohci,
650 &origen_device_gpiokeys, 676 &origen_device_gpiokeys,
651 &origen_lcd_hv070wsa, 677 &origen_lcd_hv070wsa,
@@ -721,7 +747,12 @@ static void __init origen_machine_init(void)
721 s5p_tv_setup(); 747 s5p_tv_setup();
722 s5p_i2c_hdmiphy_set_platdata(NULL); 748 s5p_i2c_hdmiphy_set_platdata(NULL);
723 749
750#ifdef CONFIG_DRM_EXYNOS
751 s5p_device_fimd0.dev.platform_data = &drm_fimd_pdata;
752 exynos4_fimd0_gpio_setup_24bpp();
753#else
724 s5p_fimd0_set_platdata(&origen_lcd_pdata); 754 s5p_fimd0_set_platdata(&origen_lcd_pdata);
755#endif
725 756
726 platform_add_devices(origen_devices, ARRAY_SIZE(origen_devices)); 757 platform_add_devices(origen_devices, ARRAY_SIZE(origen_devices));
727 758