diff options
Diffstat (limited to 'arch/arm/mach-exynos4/mach-origen.c')
-rw-r--r-- | arch/arm/mach-exynos4/mach-origen.c | 21 |
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 | ||
90 | static struct regulator_consumer_supply __initdata ldo3_consumer[] = { | 91 | static 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 | }; |
93 | static struct regulator_consumer_supply __initdata ldo6_consumer[] = { | 96 | static 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 | }; |
99 | static struct regulator_consumer_supply __initdata ldo8_consumer[] = { | 102 | static 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 | }; |
102 | static struct regulator_consumer_supply __initdata ldo9_consumer[] = { | 106 | static 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 | ||
653 | static void __init origen_reserve(void) | ||
654 | { | ||
655 | s5p_mfc_reserve_mem(0x43000000, 8 << 20, 0x51000000, 8 << 20); | ||
656 | } | ||
657 | |||
641 | static void __init origen_machine_init(void) | 658 | static 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, | ||
679 | MACHINE_END | 700 | MACHINE_END |