diff options
Diffstat (limited to 'arch/arm/mach-davinci/dm644x.c')
-rw-r--r-- | arch/arm/mach-davinci/dm644x.c | 54 |
1 files changed, 40 insertions, 14 deletions
diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c index a49d18246fe9..4f74682293d6 100644 --- a/arch/arm/mach-davinci/dm644x.c +++ b/arch/arm/mach-davinci/dm644x.c | |||
@@ -303,10 +303,11 @@ static struct clk_lookup dm644x_clks[] = { | |||
303 | CLK("vpss", "master", &vpss_master_clk), | 303 | CLK("vpss", "master", &vpss_master_clk), |
304 | CLK("vpss", "slave", &vpss_slave_clk), | 304 | CLK("vpss", "slave", &vpss_slave_clk), |
305 | CLK(NULL, "arm", &arm_clk), | 305 | CLK(NULL, "arm", &arm_clk), |
306 | CLK(NULL, "uart0", &uart0_clk), | 306 | CLK("serial8250.0", NULL, &uart0_clk), |
307 | CLK(NULL, "uart1", &uart1_clk), | 307 | CLK("serial8250.1", NULL, &uart1_clk), |
308 | CLK(NULL, "uart2", &uart2_clk), | 308 | CLK("serial8250.2", NULL, &uart2_clk), |
309 | CLK("davinci_emac.1", NULL, &emac_clk), | 309 | CLK("davinci_emac.1", NULL, &emac_clk), |
310 | CLK("davinci_mdio.0", "fck", &emac_clk), | ||
310 | CLK("i2c_davinci.1", NULL, &i2c_clk), | 311 | CLK("i2c_davinci.1", NULL, &i2c_clk), |
311 | CLK("palm_bk3710", NULL, &ide_clk), | 312 | CLK("palm_bk3710", NULL, &ide_clk), |
312 | CLK("davinci-mcbsp", NULL, &asp_clk), | 313 | CLK("davinci-mcbsp", NULL, &asp_clk), |
@@ -813,7 +814,7 @@ static struct davinci_timer_info dm644x_timer_info = { | |||
813 | .clocksource_id = T0_TOP, | 814 | .clocksource_id = T0_TOP, |
814 | }; | 815 | }; |
815 | 816 | ||
816 | static struct plat_serial8250_port dm644x_serial_platform_data[] = { | 817 | static struct plat_serial8250_port dm644x_serial0_platform_data[] = { |
817 | { | 818 | { |
818 | .mapbase = DAVINCI_UART0_BASE, | 819 | .mapbase = DAVINCI_UART0_BASE, |
819 | .irq = IRQ_UARTINT0, | 820 | .irq = IRQ_UARTINT0, |
@@ -823,6 +824,11 @@ static struct plat_serial8250_port dm644x_serial_platform_data[] = { | |||
823 | .regshift = 2, | 824 | .regshift = 2, |
824 | }, | 825 | }, |
825 | { | 826 | { |
827 | .flags = 0, | ||
828 | } | ||
829 | }; | ||
830 | static struct plat_serial8250_port dm644x_serial1_platform_data[] = { | ||
831 | { | ||
826 | .mapbase = DAVINCI_UART1_BASE, | 832 | .mapbase = DAVINCI_UART1_BASE, |
827 | .irq = IRQ_UARTINT1, | 833 | .irq = IRQ_UARTINT1, |
828 | .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | | 834 | .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | |
@@ -831,6 +837,11 @@ static struct plat_serial8250_port dm644x_serial_platform_data[] = { | |||
831 | .regshift = 2, | 837 | .regshift = 2, |
832 | }, | 838 | }, |
833 | { | 839 | { |
840 | .flags = 0, | ||
841 | } | ||
842 | }; | ||
843 | static struct plat_serial8250_port dm644x_serial2_platform_data[] = { | ||
844 | { | ||
834 | .mapbase = DAVINCI_UART2_BASE, | 845 | .mapbase = DAVINCI_UART2_BASE, |
835 | .irq = IRQ_UARTINT2, | 846 | .irq = IRQ_UARTINT2, |
836 | .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | | 847 | .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | |
@@ -839,16 +850,34 @@ static struct plat_serial8250_port dm644x_serial_platform_data[] = { | |||
839 | .regshift = 2, | 850 | .regshift = 2, |
840 | }, | 851 | }, |
841 | { | 852 | { |
842 | .flags = 0 | 853 | .flags = 0, |
843 | }, | 854 | } |
844 | }; | 855 | }; |
845 | 856 | ||
846 | static struct platform_device dm644x_serial_device = { | 857 | struct platform_device dm644x_serial_device[] = { |
847 | .name = "serial8250", | 858 | { |
848 | .id = PLAT8250_DEV_PLATFORM, | 859 | .name = "serial8250", |
849 | .dev = { | 860 | .id = PLAT8250_DEV_PLATFORM, |
850 | .platform_data = dm644x_serial_platform_data, | 861 | .dev = { |
862 | .platform_data = dm644x_serial0_platform_data, | ||
863 | } | ||
851 | }, | 864 | }, |
865 | { | ||
866 | .name = "serial8250", | ||
867 | .id = PLAT8250_DEV_PLATFORM1, | ||
868 | .dev = { | ||
869 | .platform_data = dm644x_serial1_platform_data, | ||
870 | } | ||
871 | }, | ||
872 | { | ||
873 | .name = "serial8250", | ||
874 | .id = PLAT8250_DEV_PLATFORM2, | ||
875 | .dev = { | ||
876 | .platform_data = dm644x_serial2_platform_data, | ||
877 | } | ||
878 | }, | ||
879 | { | ||
880 | } | ||
852 | }; | 881 | }; |
853 | 882 | ||
854 | static struct davinci_soc_info davinci_soc_info_dm644x = { | 883 | static struct davinci_soc_info davinci_soc_info_dm644x = { |
@@ -872,7 +901,6 @@ static struct davinci_soc_info davinci_soc_info_dm644x = { | |||
872 | .gpio_base = DAVINCI_GPIO_BASE, | 901 | .gpio_base = DAVINCI_GPIO_BASE, |
873 | .gpio_num = 71, | 902 | .gpio_num = 71, |
874 | .gpio_irq = IRQ_GPIOBNK0, | 903 | .gpio_irq = IRQ_GPIOBNK0, |
875 | .serial_dev = &dm644x_serial_device, | ||
876 | .emac_pdata = &dm644x_emac_pdata, | 904 | .emac_pdata = &dm644x_emac_pdata, |
877 | .sram_dma = 0x00008000, | 905 | .sram_dma = 0x00008000, |
878 | .sram_len = SZ_16K, | 906 | .sram_len = SZ_16K, |
@@ -923,8 +951,6 @@ static int __init dm644x_init_devices(void) | |||
923 | 951 | ||
924 | platform_device_register(&dm644x_mdio_device); | 952 | platform_device_register(&dm644x_mdio_device); |
925 | platform_device_register(&dm644x_emac_device); | 953 | platform_device_register(&dm644x_emac_device); |
926 | clk_add_alias(NULL, dev_name(&dm644x_mdio_device.dev), | ||
927 | NULL, &dm644x_emac_device.dev); | ||
928 | 954 | ||
929 | return 0; | 955 | return 0; |
930 | } | 956 | } |