aboutsummaryrefslogtreecommitdiff
path: root/arch/mips/sgi-ip22/ip22-setup.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2006-01-30 17:48:27 +0000
committerRalf Baechle <ralf@linux-mips.org>2006-02-07 13:30:25 +0000
commite9feeb207e55373f718b33e0d6cb0c2f8b58f3c1 (patch)
treeac2471665c7eb808a15150364bec6bfa8e8d1b38 /arch/mips/sgi-ip22/ip22-setup.c
parentc5033d780310ddc5b679ed37ccefcdb87a30ef0c (diff)
[MIPS] IP22: Fix serial console detection
From: Kaj-Michael Lang <milang@tal.org> In ip22-setup.c the checks for serial/graphics console logic does not check if ARCS console=g but the machine is using serial console, as it does if no keyboard is attached. This patch adds a check if ConsoleOut is serial. There might also be support for other graphics than Newport soon... Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/sgi-ip22/ip22-setup.c')
-rw-r--r--arch/mips/sgi-ip22/ip22-setup.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/mips/sgi-ip22/ip22-setup.c b/arch/mips/sgi-ip22/ip22-setup.c
index 5e59b4c8876..7018e1833e8 100644
--- a/arch/mips/sgi-ip22/ip22-setup.c
+++ b/arch/mips/sgi-ip22/ip22-setup.c
@@ -56,6 +56,7 @@ extern void ip22_time_init(void) __init;
void __init plat_setup(void)
{
char *ctype;
+ char *cserial;
board_be_init = ip22_be_init;
ip22_time_init();
@@ -81,9 +82,14 @@ void __init plat_setup(void)
/* ARCS console environment variable is set to "g?" for
* graphics console, it is set to "d" for the first serial
* line and "d2" for the second serial line.
+ *
+ * Need to check if the case is 'g' but no keyboard:
+ * (ConsoleIn/Out = serial)
*/
ctype = ArcGetEnvironmentVariable("console");
- if (ctype && *ctype == 'd') {
+ cserial = ArcGetEnvironmentVariable("ConsoleOut");
+
+ if ((ctype && *ctype == 'd') || (cserial && *cserial == 's')) {
static char options[8];
char *baud = ArcGetEnvironmentVariable("dbaud");
if (baud)
@@ -91,7 +97,7 @@ void __init plat_setup(void)
add_preferred_console("ttyS", *(ctype + 1) == '2' ? 1 : 0,
baud ? options : NULL);
} else if (!ctype || *ctype != 'g') {
- /* Use ARC if we don't want serial ('d') or Newport ('g'). */
+ /* Use ARC if we don't want serial ('d') or graphics ('g'). */
prom_flags |= PROM_FLAG_USE_AS_CONSOLE;
add_preferred_console("arc", 0, NULL);
}