* ip22zilog resurrection
2004-06-17 21:47 ` Kumba
@ 2004-06-21 14:20 ` Peter Fuerst
0 siblings, 0 replies; 3+ messages in thread
From: Peter Fuerst @ 2004-06-21 14:20 UTC (permalink / raw)
To: Kumba; +Cc: linux-mips
[-- Attachment #1: Type: TEXT/PLAIN, Size: 771 bytes --]
Hello !
Switch back the channels according to PROM/documentation/case numbering,
do some other small changes (patch attached), and you should have serial
console available again.
However, i couldn't test this fully. On my IP28, when entering userland
in 2.6 (no matter whether /sbin/init or /bin/sh), the output in the
console-window becomes slower and slower, asymptotically reaching a
standstill, before the login prompt appears (while the machine still can
be ping'ed over ethernet without degradation) :-(
Good luck
peter
On Thu, 17 Jun 2004, Kumba wrote:
> Date: Thu, 17 Jun 2004 17:47:56 -0400
> From: Kumba <kumba@gentoo.org>
> To: linux-mips@linux-mips.org
> Subject: Re: Swap and 2.6
>
> ..., and ip22zilog is shot dead in
> 2.6.x, ...
>
> --Kumba
[-- Attachment #2: Type: TEXT/PLAIN, Size: 2332 bytes --]
diff -Naur linux-2.6.x-cvsweb/arch/mips/sgi-ip22/ip22-setup.c linux-2.6.x-local/arch/mips/sgi-ip22/ip22-setup.c
--- linux-2.6.x-cvsweb/arch/mips/sgi-ip22/ip22-setup.c Thu Apr 29 14:37:10 2004
+++ linux-2.6.x-local/arch/mips/sgi-ip22/ip22-setup.c Wed Jun 16 23:23:07 2004
@@ -99,6 +99,9 @@
strcpy(options, baud);
add_preferred_console("ttyS", *(ctype + 1) == '2' ? 1 : 0,
baud ? options : NULL);
+#ifdef CONFIG_SERIAL_IP22_ZILOG_CONSOLE
+ serial_console = *(ctype + 1) == '2' ? 2 : 1;
+#endif
} else if (!ctype || *ctype != 'g') {
/* Use ARC if we don't want serial ('d') or Newport ('g'). */
prom_flags |= PROM_FLAG_USE_AS_CONSOLE;
@@ -150,3 +153,7 @@
}
early_initcall(ip22_setup);
+/*
+ * Revision 1.38, Thu Apr 29 14:37:10 2004 UTC
+ * Wed Jun 16 23:23:07 2004
+ */
diff -Naur linux-2.6.x-cvsweb/drivers/serial/ip22zilog.c linux-2.6.x-local/drivers/serial/ip22zilog.c
--- linux-2.6.x-cvsweb/drivers/serial/ip22zilog.c Tue Dec 23 16:02:13 2003
+++ linux-2.6.x-local/drivers/serial/ip22zilog.c Wed Jun 16 23:22:37 2004
@@ -62,7 +62,7 @@
#define NUM_IP22ZILOG 1
#define NUM_CHANNELS (NUM_IP22ZILOG * 2)
-#define ZS_CLOCK 4915200 /* Zilog input clock rate. */
+#define ZS_CLOCK 3672000 /* Zilog input clock rate */
#define ZS_CLOCK_DIVISOR 16 /* Divisor this driver uses. */
/*
@@ -955,6 +955,7 @@
.driver_name = "ttyS",
.devfs_name = "tty/",
.major = TTY_MAJOR,
+ .dev_name = "ttyS",
};
static void * __init alloc_one_table(unsigned long size)
@@ -1169,8 +1170,11 @@
if (!ip22zilog_chip_regs[chip]) {
ip22zilog_chip_regs[chip] = rp = get_zs(chip);
- up[(chip * 2) + 0].port.membase = (char *) &rp->channelA;
- up[(chip * 2) + 1].port.membase = (char *) &rp->channelB;
+ up[(chip * 2) + 0].port.membase = (char *) &rp->channelB;
+ up[(chip * 2) + 1].port.membase = (char *) &rp->channelA;
+
+ up[(chip * 2) + 0].port.mapbase = CPHYSADDR(&rp->channelB);
+ up[(chip * 2) + 1].port.mapbase = CPHYSADDR(&rp->channelA);
}
/* Channel A */
@@ -1305,3 +1309,7 @@
MODULE_AUTHOR("Ralf Baechle <ralf@linux-mips.org>");
MODULE_DESCRIPTION("SGI Zilog serial port driver");
MODULE_LICENSE("GPL");
+/*
+ * Revision 1.11, Tue Dec 23 16:02:13 2003 UTC
+ * Wed Jun 16 23:22:37 2004 (1087420957)
+ */
^ permalink raw reply [flat|nested] 3+ messages in thread