diff options
Diffstat (limited to 'arch/arm/mach-omap1/board-generic.c')
-rw-r--r-- | arch/arm/mach-omap1/board-generic.c | 33 |
1 files changed, 9 insertions, 24 deletions
diff --git a/arch/arm/mach-omap1/board-generic.c b/arch/arm/mach-omap1/board-generic.c index c209c7172a9a..4b292e93fbe2 100644 --- a/arch/arm/mach-omap1/board-generic.c +++ b/arch/arm/mach-omap1/board-generic.c | |||
@@ -15,7 +15,7 @@ | |||
15 | 15 | ||
16 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
18 | #include <linux/device.h> | 18 | #include <linux/platform_device.h> |
19 | 19 | ||
20 | #include <asm/hardware.h> | 20 | #include <asm/hardware.h> |
21 | #include <asm/mach-types.h> | 21 | #include <asm/mach-types.h> |
@@ -28,8 +28,6 @@ | |||
28 | #include <asm/arch/board.h> | 28 | #include <asm/arch/board.h> |
29 | #include <asm/arch/common.h> | 29 | #include <asm/arch/common.h> |
30 | 30 | ||
31 | static int __initdata generic_serial_ports[OMAP_MAX_NR_PORTS] = {1, 1, 1}; | ||
32 | |||
33 | static void __init omap_generic_init_irq(void) | 31 | static void __init omap_generic_init_irq(void) |
34 | { | 32 | { |
35 | omap_init_irq(); | 33 | omap_init_irq(); |
@@ -37,7 +35,7 @@ static void __init omap_generic_init_irq(void) | |||
37 | 35 | ||
38 | /* assume no Mini-AB port */ | 36 | /* assume no Mini-AB port */ |
39 | 37 | ||
40 | #ifdef CONFIG_ARCH_OMAP1510 | 38 | #ifdef CONFIG_ARCH_OMAP15XX |
41 | static struct omap_usb_config generic1510_usb_config __initdata = { | 39 | static struct omap_usb_config generic1510_usb_config __initdata = { |
42 | .register_host = 1, | 40 | .register_host = 1, |
43 | .register_dev = 1, | 41 | .register_dev = 1, |
@@ -76,21 +74,19 @@ static struct omap_mmc_config generic_mmc_config __initdata = { | |||
76 | 74 | ||
77 | #endif | 75 | #endif |
78 | 76 | ||
77 | static struct omap_uart_config generic_uart_config __initdata = { | ||
78 | .enabled_uarts = ((1 << 0) | (1 << 1) | (1 << 2)), | ||
79 | }; | ||
80 | |||
79 | static struct omap_board_config_kernel generic_config[] = { | 81 | static struct omap_board_config_kernel generic_config[] = { |
80 | { OMAP_TAG_USB, NULL }, | 82 | { OMAP_TAG_USB, NULL }, |
81 | { OMAP_TAG_MMC, &generic_mmc_config }, | 83 | { OMAP_TAG_MMC, &generic_mmc_config }, |
84 | { OMAP_TAG_UART, &generic_uart_config }, | ||
82 | }; | 85 | }; |
83 | 86 | ||
84 | static void __init omap_generic_init(void) | 87 | static void __init omap_generic_init(void) |
85 | { | 88 | { |
86 | const struct omap_uart_config *uart_conf; | 89 | #ifdef CONFIG_ARCH_OMAP15XX |
87 | |||
88 | /* | ||
89 | * Make sure the serial ports are muxed on at this point. | ||
90 | * You have to mux them off in device drivers later on | ||
91 | * if not needed. | ||
92 | */ | ||
93 | #ifdef CONFIG_ARCH_OMAP1510 | ||
94 | if (cpu_is_omap1510()) { | 90 | if (cpu_is_omap1510()) { |
95 | generic_config[0].data = &generic1510_usb_config; | 91 | generic_config[0].data = &generic1510_usb_config; |
96 | } | 92 | } |
@@ -101,20 +97,9 @@ static void __init omap_generic_init(void) | |||
101 | } | 97 | } |
102 | #endif | 98 | #endif |
103 | 99 | ||
104 | uart_conf = omap_get_config(OMAP_TAG_UART, struct omap_uart_config); | ||
105 | if (uart_conf != NULL) { | ||
106 | unsigned int enabled_ports, i; | ||
107 | |||
108 | enabled_ports = uart_conf->enabled_uarts; | ||
109 | for (i = 0; i < 3; i++) { | ||
110 | if (!(enabled_ports & (1 << i))) | ||
111 | generic_serial_ports[i] = 0; | ||
112 | } | ||
113 | } | ||
114 | |||
115 | omap_board_config = generic_config; | 100 | omap_board_config = generic_config; |
116 | omap_board_config_size = ARRAY_SIZE(generic_config); | 101 | omap_board_config_size = ARRAY_SIZE(generic_config); |
117 | omap_serial_init(generic_serial_ports); | 102 | omap_serial_init(); |
118 | } | 103 | } |
119 | 104 | ||
120 | static void __init omap_generic_map_io(void) | 105 | static void __init omap_generic_map_io(void) |