linux-mips
[Top] [All Lists]

[PATCH] bcm1480 serial build fix

To: linux-mips@linux-mips.org
Subject: [PATCH] bcm1480 serial build fix
From: Thiemo Seufer <ths@networkno.de>
Date: Sun, 22 Jul 2007 08:55:15 +0100
Cc: ralf@linux-mips.org
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.16 (2007-06-11)
The appended patch restores serial functionality for the bcm1480.

I glued this together without reading documentation, so I'm not sure if
it is fully correct. It is good enough to build a kernel and have a
working serial console.


Signed-Off-By: Thiemo Seufer <ths@networkno.de>

diff --git a/drivers/serial/sb1250-duart.c b/drivers/serial/sb1250-duart.c
index 1d9d728..e7f5c0e 100644
--- a/drivers/serial/sb1250-duart.c
+++ b/drivers/serial/sb1250-duart.c
@@ -57,6 +57,12 @@
 #define SBD_CTRLREGS(line)     A_BCM1480_DUART_CTRLREG((line), 0)
 #define SBD_INT(line)          (K_BCM1480_INT_UART_0 + (line))
 
+#define DUART_CHANREG_SPACING  BCM1480_DUART_CHANREG_SPACING
+
+#define R_DUART_IMRREG(line)   R_BCM1480_DUART_IMRREG(line)
+#define R_DUART_INCHREG(line)  R_BCM1480_DUART_INCHREG(line)
+#define R_DUART_ISRREG(line)   R_BCM1480_DUART_ISRREG(line)
+
 #elif defined(CONFIG_SIBYTE_SB1250) || defined(CONFIG_SIBYTE_BCM112X)
 #include <asm/sibyte/sb1250_regs.h>
 #include <asm/sibyte/sb1250_int.h>
diff --git a/include/asm-mips/sibyte/bcm1480_regs.h 
b/include/asm-mips/sibyte/bcm1480_regs.h
index 2738c13..c34d36b 100644
--- a/include/asm-mips/sibyte/bcm1480_regs.h
+++ b/include/asm-mips/sibyte/bcm1480_regs.h
@@ -227,10 +227,15 @@
        (A_BCM1480_DUART(chan) +                                        \
         BCM1480_DUART_CHANREG_SPACING * 3 + (reg))
 
+#define DUART_IMRISR_SPACING       0x20
+#define DUART_INCHNG_SPACING       0x10
+
 #define R_BCM1480_DUART_IMRREG(chan)                                   \
        (R_DUART_IMR_A + ((chan) & 1) * DUART_IMRISR_SPACING)
 #define R_BCM1480_DUART_ISRREG(chan)                                   \
        (R_DUART_ISR_A + ((chan) & 1) * DUART_IMRISR_SPACING)
+#define R_BCM1480_DUART_INCHREG(chan)                                  \
+       (R_DUART_IN_CHNG_A + ((chan) & 1) * DUART_INCHNG_SPACING)
 
 #define A_BCM1480_DUART_IMRREG(chan)                                   \
        (A_BCM1480_DUART_CTRLREG((chan), R_BCM1480_DUART_IMRREG(chan)))

<Prev in Thread] Current Thread [Next in Thread>