|
@@ -114,7 +114,7 @@ static struct plat_serial8250_port serial_platform_data2[] = {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
-#ifdef CONFIG_ARCH_OMAP4
|
|
|
+#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4)
|
|
|
static struct plat_serial8250_port serial_platform_data3[] = {
|
|
|
{
|
|
|
.irq = 70,
|
|
@@ -126,6 +126,15 @@ static struct plat_serial8250_port serial_platform_data3[] = {
|
|
|
.flags = 0
|
|
|
}
|
|
|
};
|
|
|
+
|
|
|
+static inline void omap2_set_globals_uart4(struct omap_globals *omap2_globals)
|
|
|
+{
|
|
|
+ serial_platform_data3[0].mapbase = omap2_globals->uart4_phys;
|
|
|
+}
|
|
|
+#else
|
|
|
+static inline void omap2_set_globals_uart4(struct omap_globals *omap2_globals)
|
|
|
+{
|
|
|
+}
|
|
|
#endif
|
|
|
|
|
|
void __init omap2_set_globals_uart(struct omap_globals *omap2_globals)
|
|
@@ -133,9 +142,8 @@ void __init omap2_set_globals_uart(struct omap_globals *omap2_globals)
|
|
|
serial_platform_data0[0].mapbase = omap2_globals->uart1_phys;
|
|
|
serial_platform_data1[0].mapbase = omap2_globals->uart2_phys;
|
|
|
serial_platform_data2[0].mapbase = omap2_globals->uart3_phys;
|
|
|
-#ifdef CONFIG_ARCH_OMAP4
|
|
|
- serial_platform_data3[0].mapbase = omap2_globals->uart4_phys;
|
|
|
-#endif
|
|
|
+ if (cpu_is_omap3630() || cpu_is_omap44xx())
|
|
|
+ omap2_set_globals_uart4(omap2_globals);
|
|
|
}
|
|
|
|
|
|
static inline unsigned int __serial_read_reg(struct uart_port *up,
|
|
@@ -581,7 +589,7 @@ static struct omap_uart_state omap_uart[] = {
|
|
|
},
|
|
|
},
|
|
|
},
|
|
|
-#ifdef CONFIG_ARCH_OMAP4
|
|
|
+#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4)
|
|
|
{
|
|
|
.pdev = {
|
|
|
.name = "serial8250",
|
|
@@ -728,8 +736,13 @@ void __init omap_serial_init_port(int port)
|
|
|
*/
|
|
|
void __init omap_serial_init(void)
|
|
|
{
|
|
|
- int i;
|
|
|
+ int i, nr_ports;
|
|
|
+
|
|
|
+ if (!(cpu_is_omap3630() || cpu_is_omap4430()))
|
|
|
+ nr_ports = 3;
|
|
|
+ else
|
|
|
+ nr_ports = ARRAY_SIZE(omap_uart);
|
|
|
|
|
|
- for (i = 0; i < ARRAY_SIZE(omap_uart); i++)
|
|
|
+ for (i = 0; i < nr_ports; i++)
|
|
|
omap_serial_init_port(i);
|
|
|
}
|