aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-davinci/dm644x.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-davinci/dm644x.c')
-rw-r--r--arch/arm/mach-davinci/dm644x.c54
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
816static struct plat_serial8250_port dm644x_serial_platform_data[] = { 817static 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};
830static 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};
843static 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
846static struct platform_device dm644x_serial_device = { 857struct 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
854static struct davinci_soc_info davinci_soc_info_dm644x = { 883static 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}