Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a3a9b36e authored by Tony Lindgren's avatar Tony Lindgren
Browse files

omap2/3/4: Fix mach-omap2/serial.c for multiboot



Initialize UART4 only for 3630 and 44xx.

Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 3f1686a9
Loading
Loading
Loading
Loading
+20 −7
Original line number Diff line number Diff line
@@ -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);
}