aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-exynos/Kconfig9
-rw-r--r--arch/arm/mach-exynos/mach-nuri.c33
-rw-r--r--arch/arm/mach-exynos/mach-origen.c35
-rw-r--r--arch/arm/mach-exynos/mach-smdk4x12.c16
-rw-r--r--arch/arm/mach-exynos/mach-smdkv310.c30
-rw-r--r--arch/arm/mach-exynos/mach-universal_c210.c33
-rw-r--r--arch/arm/mach-s3c64xx/mach-crag6410.c18
7 files changed, 173 insertions, 1 deletions
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index e81c35f936b5..366daff79458 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -200,6 +200,7 @@ config MACH_SMDKV310
200 select S3C_DEV_HSMMC2 200 select S3C_DEV_HSMMC2
201 select S3C_DEV_HSMMC3 201 select S3C_DEV_HSMMC3
202 select SAMSUNG_DEV_BACKLIGHT 202 select SAMSUNG_DEV_BACKLIGHT
203 select EXYNOS_DEV_DRM
203 select EXYNOS4_DEV_AHCI 204 select EXYNOS4_DEV_AHCI
204 select SAMSUNG_DEV_KEYPAD 205 select SAMSUNG_DEV_KEYPAD
205 select EXYNOS4_DEV_DMA 206 select EXYNOS4_DEV_DMA
@@ -252,6 +253,7 @@ config MACH_UNIVERSAL_C210
252 select S5P_DEV_ONENAND 253 select S5P_DEV_ONENAND
253 select S5P_DEV_TV 254 select S5P_DEV_TV
254 select EXYNOS4_DEV_DMA 255 select EXYNOS4_DEV_DMA
256 select EXYNOS_DEV_DRM
255 select EXYNOS4_SETUP_FIMD0 257 select EXYNOS4_SETUP_FIMD0
256 select EXYNOS4_SETUP_I2C1 258 select EXYNOS4_SETUP_I2C1
257 select EXYNOS4_SETUP_I2C3 259 select EXYNOS4_SETUP_I2C3
@@ -288,6 +290,7 @@ config MACH_NURI
288 select S5P_DEV_USB_EHCI 290 select S5P_DEV_USB_EHCI
289 select S5P_SETUP_MIPIPHY 291 select S5P_SETUP_MIPIPHY
290 select EXYNOS4_DEV_DMA 292 select EXYNOS4_DEV_DMA
293 select EXYNOS_DEV_DRM
291 select EXYNOS4_SETUP_FIMC 294 select EXYNOS4_SETUP_FIMC
292 select EXYNOS4_SETUP_FIMD0 295 select EXYNOS4_SETUP_FIMD0
293 select EXYNOS4_SETUP_I2C1 296 select EXYNOS4_SETUP_I2C1
@@ -322,6 +325,7 @@ config MACH_ORIGEN
322 select S5P_DEV_USB_EHCI 325 select S5P_DEV_USB_EHCI
323 select SAMSUNG_DEV_BACKLIGHT 326 select SAMSUNG_DEV_BACKLIGHT
324 select SAMSUNG_DEV_PWM 327 select SAMSUNG_DEV_PWM
328 select EXYNOS_DEV_DRM
325 select EXYNOS4_DEV_DMA 329 select EXYNOS4_DEV_DMA
326 select EXYNOS4_DEV_USB_OHCI 330 select EXYNOS4_DEV_USB_OHCI
327 select EXYNOS4_SETUP_FIMD0 331 select EXYNOS4_SETUP_FIMD0
@@ -342,6 +346,11 @@ config MACH_SMDK4212
342 select S3C_DEV_I2C7 346 select S3C_DEV_I2C7
343 select S3C_DEV_RTC 347 select S3C_DEV_RTC
344 select S3C_DEV_WDT 348 select S3C_DEV_WDT
349 select S5P_DEV_FIMC0
350 select S5P_DEV_FIMC1
351 select S5P_DEV_FIMC2
352 select S5P_DEV_FIMC3
353 select S5P_DEV_MFC
345 select SAMSUNG_DEV_BACKLIGHT 354 select SAMSUNG_DEV_BACKLIGHT
346 select SAMSUNG_DEV_KEYPAD 355 select SAMSUNG_DEV_KEYPAD
347 select SAMSUNG_DEV_PWM 356 select SAMSUNG_DEV_PWM
diff --git a/arch/arm/mach-exynos/mach-nuri.c b/arch/arm/mach-exynos/mach-nuri.c
index ed90aef404c3..0fcbb2e162e3 100644
--- a/arch/arm/mach-exynos/mach-nuri.c
+++ b/arch/arm/mach-exynos/mach-nuri.c
@@ -25,6 +25,7 @@
25#include <linux/mmc/host.h> 25#include <linux/mmc/host.h>
26#include <linux/fb.h> 26#include <linux/fb.h>
27#include <linux/pwm_backlight.h> 27#include <linux/pwm_backlight.h>
28#include <drm/exynos_drm.h>
28 29
29#include <video/platform_lcd.h> 30#include <video/platform_lcd.h>
30#include <media/m5mols.h> 31#include <media/m5mols.h>
@@ -213,6 +214,29 @@ static struct platform_device nuri_gpio_keys = {
213 }, 214 },
214}; 215};
215 216
217#ifdef CONFIG_DRM_EXYNOS
218static struct exynos_drm_fimd_pdata drm_fimd_pdata = {
219 .panel = {
220 .timing = {
221 .xres = 1024,
222 .yres = 600,
223 .hsync_len = 40,
224 .left_margin = 79,
225 .right_margin = 200,
226 .vsync_len = 10,
227 .upper_margin = 10,
228 .lower_margin = 11,
229 .refresh = 60,
230 },
231 },
232 .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB |
233 VIDCON0_CLKSEL_LCD,
234 .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
235 .default_win = 3,
236 .bpp = 32,
237};
238
239#else
216/* Frame Buffer */ 240/* Frame Buffer */
217static struct s3c_fb_pd_win nuri_fb_win0 = { 241static struct s3c_fb_pd_win nuri_fb_win0 = {
218 .win_mode = { 242 .win_mode = {
@@ -239,6 +263,7 @@ static struct s3c_fb_platdata nuri_fb_pdata __initdata = {
239 .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, 263 .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
240 .setup_gpio = exynos4_fimd0_gpio_setup_24bpp, 264 .setup_gpio = exynos4_fimd0_gpio_setup_24bpp,
241}; 265};
266#endif
242 267
243static void nuri_lcd_power_on(struct plat_lcd_data *pd, unsigned int power) 268static void nuri_lcd_power_on(struct plat_lcd_data *pd, unsigned int power)
244{ 269{
@@ -1302,6 +1327,9 @@ static struct platform_device *nuri_devices[] __initdata = {
1302 &cam_vdda_fixed_rdev, 1327 &cam_vdda_fixed_rdev,
1303 &cam_8m_12v_fixed_rdev, 1328 &cam_8m_12v_fixed_rdev,
1304 &exynos4_bus_devfreq, 1329 &exynos4_bus_devfreq,
1330#ifdef CONFIG_DRM_EXYNOS
1331 &exynos_device_drm,
1332#endif
1305}; 1333};
1306 1334
1307static void __init nuri_map_io(void) 1335static void __init nuri_map_io(void)
@@ -1334,7 +1362,12 @@ static void __init nuri_machine_init(void)
1334 i2c_register_board_info(9, i2c9_devs, ARRAY_SIZE(i2c9_devs)); 1362 i2c_register_board_info(9, i2c9_devs, ARRAY_SIZE(i2c9_devs));
1335 s3c_i2c6_set_platdata(&nuri_i2c6_platdata); 1363 s3c_i2c6_set_platdata(&nuri_i2c6_platdata);
1336 1364
1365#ifdef CONFIG_DRM_EXYNOS
1366 s5p_device_fimd0.dev.platform_data = &drm_fimd_pdata;
1367 exynos4_fimd0_gpio_setup_24bpp();
1368#else
1337 s5p_fimd0_set_platdata(&nuri_fb_pdata); 1369 s5p_fimd0_set_platdata(&nuri_fb_pdata);
1370#endif
1338 1371
1339 nuri_camera_init(); 1372 nuri_camera_init();
1340 1373
diff --git a/arch/arm/mach-exynos/mach-origen.c b/arch/arm/mach-exynos/mach-origen.c
index 878d4c99142d..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,
@@ -596,6 +618,8 @@ static struct s3c_fb_pd_win origen_fb_win0 = {
596 }, 618 },
597 .max_bpp = 32, 619 .max_bpp = 32,
598 .default_bpp = 24, 620 .default_bpp = 24,
621 .virtual_x = 1024,
622 .virtual_y = 2 * 600,
599}; 623};
600 624
601static struct s3c_fb_platdata origen_lcd_pdata __initdata = { 625static struct s3c_fb_platdata origen_lcd_pdata __initdata = {
@@ -605,9 +629,10 @@ static struct s3c_fb_platdata origen_lcd_pdata __initdata = {
605 VIDCON1_INV_VCLK, 629 VIDCON1_INV_VCLK,
606 .setup_gpio = exynos4_fimd0_gpio_setup_24bpp, 630 .setup_gpio = exynos4_fimd0_gpio_setup_24bpp,
607}; 631};
632#endif
608 633
609/* Bluetooth rfkill gpio platform data */ 634/* Bluetooth rfkill gpio platform data */
610struct rfkill_gpio_platform_data origen_bt_pdata = { 635static struct rfkill_gpio_platform_data origen_bt_pdata = {
611 .reset_gpio = EXYNOS4_GPX2(2), 636 .reset_gpio = EXYNOS4_GPX2(2),
612 .shutdown_gpio = -1, 637 .shutdown_gpio = -1,
613 .type = RFKILL_TYPE_BLUETOOTH, 638 .type = RFKILL_TYPE_BLUETOOTH,
@@ -644,6 +669,9 @@ static struct platform_device *origen_devices[] __initdata = {
644 &s5p_device_mfc_l, 669 &s5p_device_mfc_l,
645 &s5p_device_mfc_r, 670 &s5p_device_mfc_r,
646 &s5p_device_mixer, 671 &s5p_device_mixer,
672#ifdef CONFIG_DRM_EXYNOS
673 &exynos_device_drm,
674#endif
647 &exynos4_device_ohci, 675 &exynos4_device_ohci,
648 &origen_device_gpiokeys, 676 &origen_device_gpiokeys,
649 &origen_lcd_hv070wsa, 677 &origen_lcd_hv070wsa,
@@ -719,7 +747,12 @@ static void __init origen_machine_init(void)
719 s5p_tv_setup(); 747 s5p_tv_setup();
720 s5p_i2c_hdmiphy_set_platdata(NULL); 748 s5p_i2c_hdmiphy_set_platdata(NULL);
721 749
750#ifdef CONFIG_DRM_EXYNOS
751 s5p_device_fimd0.dev.platform_data = &drm_fimd_pdata;
752 exynos4_fimd0_gpio_setup_24bpp();
753#else
722 s5p_fimd0_set_platdata(&origen_lcd_pdata); 754 s5p_fimd0_set_platdata(&origen_lcd_pdata);
755#endif
723 756
724 platform_add_devices(origen_devices, ARRAY_SIZE(origen_devices)); 757 platform_add_devices(origen_devices, ARRAY_SIZE(origen_devices));
725 758
diff --git a/arch/arm/mach-exynos/mach-smdk4x12.c b/arch/arm/mach-exynos/mach-smdk4x12.c
index d00e4f016a68..7fca248efd32 100644
--- a/arch/arm/mach-exynos/mach-smdk4x12.c
+++ b/arch/arm/mach-exynos/mach-smdk4x12.c
@@ -31,6 +31,7 @@
31#include <plat/gpio-cfg.h> 31#include <plat/gpio-cfg.h>
32#include <plat/iic.h> 32#include <plat/iic.h>
33#include <plat/keypad.h> 33#include <plat/keypad.h>
34#include <plat/mfc.h>
34#include <plat/regs-serial.h> 35#include <plat/regs-serial.h>
35#include <plat/sdhci.h> 36#include <plat/sdhci.h>
36 37
@@ -244,6 +245,14 @@ static struct platform_device *smdk4x12_devices[] __initdata = {
244 &s3c_device_i2c7, 245 &s3c_device_i2c7,
245 &s3c_device_rtc, 246 &s3c_device_rtc,
246 &s3c_device_wdt, 247 &s3c_device_wdt,
248 &s5p_device_fimc0,
249 &s5p_device_fimc1,
250 &s5p_device_fimc2,
251 &s5p_device_fimc3,
252 &s5p_device_fimc_md,
253 &s5p_device_mfc,
254 &s5p_device_mfc_l,
255 &s5p_device_mfc_r,
247 &samsung_device_keypad, 256 &samsung_device_keypad,
248}; 257};
249 258
@@ -256,6 +265,11 @@ static void __init smdk4x12_map_io(void)
256 s3c24xx_init_uarts(smdk4x12_uartcfgs, ARRAY_SIZE(smdk4x12_uartcfgs)); 265 s3c24xx_init_uarts(smdk4x12_uartcfgs, ARRAY_SIZE(smdk4x12_uartcfgs));
257} 266}
258 267
268static void __init smdk4x12_reserve(void)
269{
270 s5p_mfc_reserve_mem(0x43000000, 8 << 20, 0x51000000, 8 << 20);
271}
272
259static void __init smdk4x12_machine_init(void) 273static void __init smdk4x12_machine_init(void)
260{ 274{
261 s3c_i2c0_set_platdata(NULL); 275 s3c_i2c0_set_platdata(NULL);
@@ -293,6 +307,7 @@ MACHINE_START(SMDK4212, "SMDK4212")
293 .init_machine = smdk4x12_machine_init, 307 .init_machine = smdk4x12_machine_init,
294 .timer = &exynos4_timer, 308 .timer = &exynos4_timer,
295 .restart = exynos4_restart, 309 .restart = exynos4_restart,
310 .reserve = &smdk4x12_reserve,
296MACHINE_END 311MACHINE_END
297 312
298MACHINE_START(SMDK4412, "SMDK4412") 313MACHINE_START(SMDK4412, "SMDK4412")
@@ -305,4 +320,5 @@ MACHINE_START(SMDK4412, "SMDK4412")
305 .init_machine = smdk4x12_machine_init, 320 .init_machine = smdk4x12_machine_init,
306 .timer = &exynos4_timer, 321 .timer = &exynos4_timer,
307 .restart = exynos4_restart, 322 .restart = exynos4_restart,
323 .reserve = &smdk4x12_reserve,
308MACHINE_END 324MACHINE_END
diff --git a/arch/arm/mach-exynos/mach-smdkv310.c b/arch/arm/mach-exynos/mach-smdkv310.c
index 83b91fa777c1..afe7554d4ef5 100644
--- a/arch/arm/mach-exynos/mach-smdkv310.c
+++ b/arch/arm/mach-exynos/mach-smdkv310.c
@@ -44,6 +44,7 @@
44#include <mach/map.h> 44#include <mach/map.h>
45#include <mach/ohci.h> 45#include <mach/ohci.h>
46 46
47#include <drm/exynos_drm.h>
47#include "common.h" 48#include "common.h"
48 49
49/* Following are default values for UCON, ULCON and UFCON UART registers */ 50/* Following are default values for UCON, ULCON and UFCON UART registers */
@@ -160,6 +161,26 @@ static struct platform_device smdkv310_lcd_lte480wv = {
160 .dev.platform_data = &smdkv310_lcd_lte480wv_data, 161 .dev.platform_data = &smdkv310_lcd_lte480wv_data,
161}; 162};
162 163
164#ifdef CONFIG_DRM_EXYNOS
165static struct exynos_drm_fimd_pdata drm_fimd_pdata = {
166 .panel = {
167 .timing = {
168 .left_margin = 13,
169 .right_margin = 8,
170 .upper_margin = 7,
171 .lower_margin = 5,
172 .hsync_len = 3,
173 .vsync_len = 1,
174 .xres = 800,
175 .yres = 480,
176 },
177 },
178 .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
179 .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
180 .default_win = 0,
181 .bpp = 32,
182};
183#else
163static struct s3c_fb_pd_win smdkv310_fb_win0 = { 184static struct s3c_fb_pd_win smdkv310_fb_win0 = {
164 .win_mode = { 185 .win_mode = {
165 .left_margin = 13, 186 .left_margin = 13,
@@ -181,6 +202,7 @@ static struct s3c_fb_platdata smdkv310_lcd0_pdata __initdata = {
181 .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, 202 .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
182 .setup_gpio = exynos4_fimd0_gpio_setup_24bpp, 203 .setup_gpio = exynos4_fimd0_gpio_setup_24bpp,
183}; 204};
205#endif
184 206
185static struct resource smdkv310_smsc911x_resources[] = { 207static struct resource smdkv310_smsc911x_resources[] = {
186 [0] = { 208 [0] = {
@@ -273,6 +295,9 @@ static struct platform_device *smdkv310_devices[] __initdata = {
273 &s5p_device_fimc_md, 295 &s5p_device_fimc_md,
274 &s5p_device_g2d, 296 &s5p_device_g2d,
275 &s5p_device_jpeg, 297 &s5p_device_jpeg,
298#ifdef CONFIG_DRM_EXYNOS
299 &exynos_device_drm,
300#endif
276 &exynos4_device_ac97, 301 &exynos4_device_ac97,
277 &exynos4_device_i2s0, 302 &exynos4_device_i2s0,
278 &exynos4_device_ohci, 303 &exynos4_device_ohci,
@@ -364,7 +389,12 @@ static void __init smdkv310_machine_init(void)
364 samsung_keypad_set_platdata(&smdkv310_keypad_data); 389 samsung_keypad_set_platdata(&smdkv310_keypad_data);
365 390
366 samsung_bl_set(&smdkv310_bl_gpio_info, &smdkv310_bl_data); 391 samsung_bl_set(&smdkv310_bl_gpio_info, &smdkv310_bl_data);
392#ifdef CONFIG_DRM_EXYNOS
393 s5p_device_fimd0.dev.platform_data = &drm_fimd_pdata;
394 exynos4_fimd0_gpio_setup_24bpp();
395#else
367 s5p_fimd0_set_platdata(&smdkv310_lcd0_pdata); 396 s5p_fimd0_set_platdata(&smdkv310_lcd0_pdata);
397#endif
368 398
369 smdkv310_ehci_init(); 399 smdkv310_ehci_init();
370 smdkv310_ohci_init(); 400 smdkv310_ohci_init();
diff --git a/arch/arm/mach-exynos/mach-universal_c210.c b/arch/arm/mach-exynos/mach-universal_c210.c
index cb2b027f09a6..a6959bbfef89 100644
--- a/arch/arm/mach-exynos/mach-universal_c210.c
+++ b/arch/arm/mach-exynos/mach-universal_c210.c
@@ -23,6 +23,7 @@
23#include <linux/i2c-gpio.h> 23#include <linux/i2c-gpio.h>
24#include <linux/i2c/mcs.h> 24#include <linux/i2c/mcs.h>
25#include <linux/i2c/atmel_mxt_ts.h> 25#include <linux/i2c/atmel_mxt_ts.h>
26#include <drm/exynos_drm.h>
26 27
27#include <asm/mach/arch.h> 28#include <asm/mach/arch.h>
28#include <asm/hardware/gic.h> 29#include <asm/hardware/gic.h>
@@ -812,6 +813,29 @@ static struct i2c_board_info i2c1_devs[] __initdata = {
812 /* Gyro, To be updated */ 813 /* Gyro, To be updated */
813}; 814};
814 815
816#ifdef CONFIG_DRM_EXYNOS
817static struct exynos_drm_fimd_pdata drm_fimd_pdata = {
818 .panel = {
819 .timing = {
820 .left_margin = 16,
821 .right_margin = 16,
822 .upper_margin = 2,
823 .lower_margin = 28,
824 .hsync_len = 2,
825 .vsync_len = 1,
826 .xres = 480,
827 .yres = 800,
828 .refresh = 55,
829 },
830 },
831 .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB |
832 VIDCON0_CLKSEL_LCD,
833 .vidcon1 = VIDCON1_INV_VCLK | VIDCON1_INV_VDEN
834 | VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
835 .default_win = 3,
836 .bpp = 32,
837};
838#else
815/* Frame Buffer */ 839/* Frame Buffer */
816static struct s3c_fb_pd_win universal_fb_win0 = { 840static struct s3c_fb_pd_win universal_fb_win0 = {
817 .win_mode = { 841 .win_mode = {
@@ -839,6 +863,7 @@ static struct s3c_fb_platdata universal_lcd_pdata __initdata = {
839 | VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, 863 | VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
840 .setup_gpio = exynos4_fimd0_gpio_setup_24bpp, 864 .setup_gpio = exynos4_fimd0_gpio_setup_24bpp,
841}; 865};
866#endif
842 867
843static struct regulator_consumer_supply cam_vt_dio_supply = 868static struct regulator_consumer_supply cam_vt_dio_supply =
844 REGULATOR_SUPPLY("vdd_core", "0-003c"); 869 REGULATOR_SUPPLY("vdd_core", "0-003c");
@@ -1048,6 +1073,9 @@ static struct platform_device *universal_devices[] __initdata = {
1048 &s5p_device_onenand, 1073 &s5p_device_onenand,
1049 &s5p_device_fimd0, 1074 &s5p_device_fimd0,
1050 &s5p_device_jpeg, 1075 &s5p_device_jpeg,
1076#ifdef CONFIG_DRM_EXYNOS
1077 &exynos_device_drm,
1078#endif
1051 &s5p_device_mfc, 1079 &s5p_device_mfc,
1052 &s5p_device_mfc_l, 1080 &s5p_device_mfc_l,
1053 &s5p_device_mfc_r, 1081 &s5p_device_mfc_r,
@@ -1094,7 +1122,12 @@ static void __init universal_machine_init(void)
1094 s5p_i2c_hdmiphy_set_platdata(NULL); 1122 s5p_i2c_hdmiphy_set_platdata(NULL);
1095 i2c_register_board_info(5, i2c5_devs, ARRAY_SIZE(i2c5_devs)); 1123 i2c_register_board_info(5, i2c5_devs, ARRAY_SIZE(i2c5_devs));
1096 1124
1125#ifdef CONFIG_DRM_EXYNOS
1126 s5p_device_fimd0.dev.platform_data = &drm_fimd_pdata;
1127 exynos4_fimd0_gpio_setup_24bpp();
1128#else
1097 s5p_fimd0_set_platdata(&universal_lcd_pdata); 1129 s5p_fimd0_set_platdata(&universal_lcd_pdata);
1130#endif
1098 1131
1099 universal_touchkey_init(); 1132 universal_touchkey_init();
1100 i2c_register_board_info(I2C_GPIO_BUS_12, i2c_gpio12_devs, 1133 i2c_register_board_info(I2C_GPIO_BUS_12, i2c_gpio12_devs,
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410.c b/arch/arm/mach-s3c64xx/mach-crag6410.c
index e20bf5835365..7dce84b61a27 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410.c
@@ -306,6 +306,24 @@ static struct regulator_consumer_supply wallvdd_consumers[] = {
306 REGULATOR_SUPPLY("SPKVDD2", "1-001a"), 306 REGULATOR_SUPPLY("SPKVDD2", "1-001a"),
307 REGULATOR_SUPPLY("SPKVDDL", "1-001a"), 307 REGULATOR_SUPPLY("SPKVDDL", "1-001a"),
308 REGULATOR_SUPPLY("SPKVDDR", "1-001a"), 308 REGULATOR_SUPPLY("SPKVDDR", "1-001a"),
309
310 REGULATOR_SUPPLY("DC1VDD", "0-0034"),
311 REGULATOR_SUPPLY("DC2VDD", "0-0034"),
312 REGULATOR_SUPPLY("DC3VDD", "0-0034"),
313 REGULATOR_SUPPLY("LDO1VDD", "0-0034"),
314 REGULATOR_SUPPLY("LDO2VDD", "0-0034"),
315 REGULATOR_SUPPLY("LDO4VDD", "0-0034"),
316 REGULATOR_SUPPLY("LDO5VDD", "0-0034"),
317 REGULATOR_SUPPLY("LDO6VDD", "0-0034"),
318 REGULATOR_SUPPLY("LDO7VDD", "0-0034"),
319 REGULATOR_SUPPLY("LDO8VDD", "0-0034"),
320 REGULATOR_SUPPLY("LDO9VDD", "0-0034"),
321 REGULATOR_SUPPLY("LDO10VDD", "0-0034"),
322 REGULATOR_SUPPLY("LDO11VDD", "0-0034"),
323
324 REGULATOR_SUPPLY("DC1VDD", "1-0034"),
325 REGULATOR_SUPPLY("DC2VDD", "1-0034"),
326 REGULATOR_SUPPLY("DC3VDD", "1-0034"),
309}; 327};
310 328
311static struct regulator_init_data wallvdd_data = { 329static struct regulator_init_data wallvdd_data = {