aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-davinci/board-dm644x-evm.c3
-rw-r--r--arch/arm/mach-davinci/davinci.h2
-rw-r--r--arch/arm/mach-davinci/dm644x.c27
3 files changed, 17 insertions, 15 deletions
diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c
index 14dd390f6da8..b89bebe01c0f 100644
--- a/arch/arm/mach-davinci/board-dm644x-evm.c
+++ b/arch/arm/mach-davinci/board-dm644x-evm.c
@@ -625,8 +625,6 @@ static struct davinci_uart_config uart_config __initdata = {
625static void __init 625static void __init
626davinci_evm_map_io(void) 626davinci_evm_map_io(void)
627{ 627{
628 /* setup input configuration for VPFE input devices */
629 dm644x_set_vpfe_config(&dm644xevm_capture_cfg);
630 dm644x_init(); 628 dm644x_init();
631} 629}
632 630
@@ -698,6 +696,7 @@ static __init void davinci_evm_init(void)
698 evm_init_i2c(); 696 evm_init_i2c();
699 697
700 davinci_setup_mmc(0, &dm6446evm_mmc_config); 698 davinci_setup_mmc(0, &dm6446evm_mmc_config);
699 dm644x_init_video(&dm644xevm_capture_cfg);
701 700
702 davinci_serial_init(&uart_config); 701 davinci_serial_init(&uart_config);
703 dm644x_init_asp(&dm644x_evm_snd_data); 702 dm644x_init_asp(&dm644x_evm_snd_data);
diff --git a/arch/arm/mach-davinci/davinci.h b/arch/arm/mach-davinci/davinci.h
index b1a52fb30cba..9d708034b57f 100644
--- a/arch/arm/mach-davinci/davinci.h
+++ b/arch/arm/mach-davinci/davinci.h
@@ -83,7 +83,7 @@ void dm365_set_vpfe_config(struct vpfe_config *cfg);
83/* DM644x function declarations */ 83/* DM644x function declarations */
84void __init dm644x_init(void); 84void __init dm644x_init(void);
85void __init dm644x_init_asp(struct snd_platform_data *pdata); 85void __init dm644x_init_asp(struct snd_platform_data *pdata);
86void dm644x_set_vpfe_config(struct vpfe_config *cfg); 86int __init dm644x_init_video(struct vpfe_config *);
87 87
88/* DM646x function declarations */ 88/* DM646x function declarations */
89void __init dm646x_init(void); 89void __init dm646x_init(void);
diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c
index fc48faec57ec..23e81cafba8d 100644
--- a/arch/arm/mach-davinci/dm644x.c
+++ b/arch/arm/mach-davinci/dm644x.c
@@ -659,11 +659,6 @@ static struct platform_device dm644x_vpfe_dev = {
659 }, 659 },
660}; 660};
661 661
662void dm644x_set_vpfe_config(struct vpfe_config *cfg)
663{
664 dm644x_vpfe_dev.dev.platform_data = cfg;
665}
666
667/*----------------------------------------------------------------------*/ 662/*----------------------------------------------------------------------*/
668 663
669static struct map_desc dm644x_io_desc[] = { 664static struct map_desc dm644x_io_desc[] = {
@@ -791,14 +786,26 @@ void __init dm644x_init(void)
791 davinci_map_sysmod(); 786 davinci_map_sysmod();
792} 787}
793 788
794static int __init dm644x_init_devices(void) 789int __init dm644x_init_video(struct vpfe_config *vpfe_cfg)
795{ 790{
796 if (!cpu_is_davinci_dm644x()) 791 dm644x_vpfe_dev.dev.platform_data = vpfe_cfg;
797 return 0;
798 792
799 /* Add ccdc clock aliases */ 793 /* Add ccdc clock aliases */
800 clk_add_alias("master", dm644x_ccdc_dev.name, "vpss_master", NULL); 794 clk_add_alias("master", dm644x_ccdc_dev.name, "vpss_master", NULL);
801 clk_add_alias("slave", dm644x_ccdc_dev.name, "vpss_slave", NULL); 795 clk_add_alias("slave", dm644x_ccdc_dev.name, "vpss_slave", NULL);
796
797 platform_device_register(&dm644x_vpss_device);
798 platform_device_register(&dm644x_ccdc_dev);
799 platform_device_register(&dm644x_vpfe_dev);
800
801 return 0;
802}
803
804static int __init dm644x_init_devices(void)
805{
806 if (!cpu_is_davinci_dm644x())
807 return 0;
808
802 platform_device_register(&dm644x_edma_device); 809 platform_device_register(&dm644x_edma_device);
803 810
804 platform_device_register(&dm644x_mdio_device); 811 platform_device_register(&dm644x_mdio_device);
@@ -806,10 +813,6 @@ static int __init dm644x_init_devices(void)
806 clk_add_alias(NULL, dev_name(&dm644x_mdio_device.dev), 813 clk_add_alias(NULL, dev_name(&dm644x_mdio_device.dev),
807 NULL, &dm644x_emac_device.dev); 814 NULL, &dm644x_emac_device.dev);
808 815
809 platform_device_register(&dm644x_vpss_device);
810 platform_device_register(&dm644x_ccdc_dev);
811 platform_device_register(&dm644x_vpfe_dev);
812
813 return 0; 816 return 0;
814} 817}
815postcore_initcall(dm644x_init_devices); 818postcore_initcall(dm644x_init_devices);