aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-exynos4/mach-origen.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-exynos4/mach-origen.c')
-rw-r--r--arch/arm/mach-exynos4/mach-origen.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos4/mach-origen.c b/arch/arm/mach-exynos4/mach-origen.c
index 71db8480bb5a..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
@@ -89,6 +90,8 @@ static struct s3c2410_uartcfg origen_uartcfgs[] __initdata = {
89 90
90static struct regulator_consumer_supply __initdata ldo3_consumer[] = { 91static struct regulator_consumer_supply __initdata ldo3_consumer[] = {
91 REGULATOR_SUPPLY("vdd11", "s5p-mipi-csis.0"), /* MIPI */ 92 REGULATOR_SUPPLY("vdd11", "s5p-mipi-csis.0"), /* MIPI */
93 REGULATOR_SUPPLY("vdd", "exynos4-hdmi"), /* HDMI */
94 REGULATOR_SUPPLY("vdd_pll", "exynos4-hdmi"), /* HDMI */
92}; 95};
93static struct regulator_consumer_supply __initdata ldo6_consumer[] = { 96static struct regulator_consumer_supply __initdata ldo6_consumer[] = {
94 REGULATOR_SUPPLY("vdd18", "s5p-mipi-csis.0"), /* MIPI */ 97 REGULATOR_SUPPLY("vdd18", "s5p-mipi-csis.0"), /* MIPI */
@@ -98,6 +101,7 @@ static struct regulator_consumer_supply __initdata ldo7_consumer[] = {
98}; 101};
99static struct regulator_consumer_supply __initdata ldo8_consumer[] = { 102static struct regulator_consumer_supply __initdata ldo8_consumer[] = {
100 REGULATOR_SUPPLY("vdd", "s5p-adc"), /* ADC */ 103 REGULATOR_SUPPLY("vdd", "s5p-adc"), /* ADC */
104 REGULATOR_SUPPLY("vdd_osc", "exynos4-hdmi"), /* HDMI */
101}; 105};
102static struct regulator_consumer_supply __initdata ldo9_consumer[] = { 106static struct regulator_consumer_supply __initdata ldo9_consumer[] = {
103 REGULATOR_SUPPLY("dvdd", "swb-a31"), /* AR6003 WLAN & CSR 8810 BT */ 107 REGULATOR_SUPPLY("dvdd", "swb-a31"), /* AR6003 WLAN & CSR 8810 BT */
@@ -598,9 +602,17 @@ static struct platform_device *origen_devices[] __initdata = {
598 &s5p_device_fimd0, 602 &s5p_device_fimd0,
599 &s5p_device_hdmi, 603 &s5p_device_hdmi,
600 &s5p_device_i2c_hdmiphy, 604 &s5p_device_i2c_hdmiphy,
605 &s5p_device_mfc,
606 &s5p_device_mfc_l,
607 &s5p_device_mfc_r,
601 &s5p_device_mixer, 608 &s5p_device_mixer,
602 &exynos4_device_pd[PD_LCD0], 609 &exynos4_device_pd[PD_LCD0],
603 &exynos4_device_pd[PD_TV], 610 &exynos4_device_pd[PD_TV],
611 &exynos4_device_pd[PD_G3D],
612 &exynos4_device_pd[PD_LCD1],
613 &exynos4_device_pd[PD_CAM],
614 &exynos4_device_pd[PD_GPS],
615 &exynos4_device_pd[PD_MFC],
604 &origen_device_gpiokeys, 616 &origen_device_gpiokeys,
605 &origen_lcd_hv070wsa, 617 &origen_lcd_hv070wsa,
606}; 618};
@@ -638,6 +650,11 @@ static void __init origen_power_init(void)
638 s3c_gpio_setpull(EXYNOS4_GPX0(4), S3C_GPIO_PULL_NONE); 650 s3c_gpio_setpull(EXYNOS4_GPX0(4), S3C_GPIO_PULL_NONE);
639} 651}
640 652
653static void __init origen_reserve(void)
654{
655 s5p_mfc_reserve_mem(0x43000000, 8 << 20, 0x51000000, 8 << 20);
656}
657
641static void __init origen_machine_init(void) 658static void __init origen_machine_init(void)
642{ 659{
643 origen_power_init(); 660 origen_power_init();
@@ -661,11 +678,14 @@ static void __init origen_machine_init(void)
661 s5p_fimd0_set_platdata(&origen_lcd_pdata); 678 s5p_fimd0_set_platdata(&origen_lcd_pdata);
662 679
663 platform_add_devices(origen_devices, ARRAY_SIZE(origen_devices)); 680 platform_add_devices(origen_devices, ARRAY_SIZE(origen_devices));
681
664 s5p_device_fimd0.dev.parent = &exynos4_device_pd[PD_LCD0].dev; 682 s5p_device_fimd0.dev.parent = &exynos4_device_pd[PD_LCD0].dev;
665 683
666 s5p_device_hdmi.dev.parent = &exynos4_device_pd[PD_TV].dev; 684 s5p_device_hdmi.dev.parent = &exynos4_device_pd[PD_TV].dev;
667 s5p_device_mixer.dev.parent = &exynos4_device_pd[PD_TV].dev; 685 s5p_device_mixer.dev.parent = &exynos4_device_pd[PD_TV].dev;
668 686
687 s5p_device_mfc.dev.parent = &exynos4_device_pd[PD_MFC].dev;
688
669 samsung_bl_set(&origen_bl_gpio_info, &origen_bl_data); 689 samsung_bl_set(&origen_bl_gpio_info, &origen_bl_data);
670} 690}
671 691
@@ -676,4 +696,5 @@ MACHINE_START(ORIGEN, "ORIGEN")
676 .map_io = origen_map_io, 696 .map_io = origen_map_io,
677 .init_machine = origen_machine_init, 697 .init_machine = origen_machine_init,
678 .timer = &exynos4_timer, 698 .timer = &exynos4_timer,
699 .reserve = &origen_reserve,
679MACHINE_END 700MACHINE_END