Commit 225ae5fd authored by Ralf Baechle's avatar Ralf Baechle

MIPS: Malta: Fix interupt number of CBUS UART.

The CBUS UART's interrupt number was wrong conflicting with the interrupt
being tied to the Intel PIIX4.  Since the PIIX4's interrupt is registered
before the CBUS UART which is not being used on most systems this would
not be noticed.

Attempts to open the ttyS2 CBUS UART would result in:

genirq: Flags mismatch irq 18. 00000000 (serial) vs. 00010000 (XT-PIC cascade)
serial_link_irq_chain: request failed: -16 for irq: 18

Qemu was written to match the kernel so will need to be fixed also.
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent e97c5b60
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <linux/mtd/physmap.h> #include <linux/mtd/physmap.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <asm/mips-boards/maltaint.h>
#include <mtd/mtd-abi.h> #include <mtd/mtd-abi.h>
#define SMC_PORT(base, int) \ #define SMC_PORT(base, int) \
...@@ -48,7 +49,7 @@ static struct plat_serial8250_port uart8250_data[] = { ...@@ -48,7 +49,7 @@ static struct plat_serial8250_port uart8250_data[] = {
SMC_PORT(0x2F8, 3), SMC_PORT(0x2F8, 3),
{ {
.mapbase = 0x1f000900, /* The CBUS UART */ .mapbase = 0x1f000900, /* The CBUS UART */
.irq = MIPS_CPU_IRQ_BASE + 2, .irq = MIPS_CPU_IRQ_BASE + MIPSCPU_INT_MB2,
.uartclk = 3686400, /* Twice the usual clk! */ .uartclk = 3686400, /* Twice the usual clk! */
.iotype = UPIO_MEM32, .iotype = UPIO_MEM32,
.flags = CBUS_UART_FLAGS, .flags = CBUS_UART_FLAGS,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment