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) |
