patch-2.4.19 linux-2.4.19/include/asm-mips64/serial.h

Next file: linux-2.4.19/include/asm-mips64/sgi/sgihpc.h
Previous file: linux-2.4.19/include/asm-mips64/semaphore.h
Back to the patch index
Back to the overall index

diff -urN linux-2.4.18/include/asm-mips64/serial.h linux-2.4.19/include/asm-mips64/serial.h
@@ -9,6 +9,8 @@
 #ifndef _ASM_SERIAL_H
 #define _ASM_SERIAL_H
 
+#include <linux/config.h>
+
 /*
  * This assumes you have a 1.8432 MHz clock for your UART.
  *
@@ -18,6 +20,8 @@
  */
 #define BASE_BAUD (1843200 / 16)
 
+#ifdef CONFIG_SGI_IP27
+
 /*
  * Note about serial ports and consoles:
  * For console output, everyone uses the IOC3 UARTA (offset 0x178)
@@ -44,10 +48,54 @@
  *
  * The IOC3 serials use a 22MHz clock rate with an additional divider by 3.
  * (IOC3_BAUD = (22000000 / (3*16)))
+ *
+ * At the moment this is only a skeleton definition as we register all serials
+ * at runtime.
  */
 
-#define RS_TABLE_SIZE	64
+#define IP27_SERIAL_PORT_DEFNS
+#else
+#define IP27_SERIAL_PORT_DEFNS
+#endif /* CONFIG_SGI_IP27 */
 
-#define SERIAL_PORT_DFNS
+#ifdef CONFIG_SGI_IP32
+
+#include <asm/ip32/ip32_ints.h>
+
+/*
+ * The IP32 (SGI O2) has standard serial ports (UART 16550A) mapped in memory
+ */
+
+/* Standard COM flags (except for COM4, because of the 8514 problem) */
+#ifdef CONFIG_SERIAL_DETECT_IRQ
+#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST | ASYNC_AUTO_IRQ)
+#define STD_COM4_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_AUTO_IRQ)
+#else
+#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF/* | ASYNC_SKIP_TEST*/)
+#define STD_COM4_FLAGS ASYNC_BOOT_AUTOCONF
+#endif
+
+#define IP32_SERIAL_PORT_DEFNS				\
+        { baud_base: BASE_BAUD,				\
+	  irq: MACEISA_SERIAL1_IRQ,			\
+          flags: STD_COM_FLAGS,				\
+          iomem_base: (u8*)MACE_BASE+MACEISA_SER1_BASE,	\
+          iomem_reg_shift: 8,				\
+          io_type: SERIAL_IO_MEM},                      \
+        { baud_base: BASE_BAUD,				\
+	  irq: MACEISA_SERIAL2_IRQ,			\
+          flags: STD_COM_FLAGS,				\
+          iomem_base: (u8*)MACE_BASE+MACEISA_SER2_BASE,	\
+          iomem_reg_shift: 8,				\
+          io_type: SERIAL_IO_MEM},                      
+#else
+#define IP32_SERIAL_PORT_DEFNS
+#endif /* CONFIG_SGI_IP31 */
+
+#define SERIAL_PORT_DFNS				\
+	IP27_SERIAL_PORT_DEFNS				\
+	IP32_SERIAL_PORT_DEFNS
+
+#define RS_TABLE_SIZE	64
 
 #endif /* _ASM_SERIAL_H */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)