47 lines
1.8 KiB
Diff
47 lines
1.8 KiB
Diff
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)))
|