diff options
author | Eddie C. Dost <ecd@brainaid.de> | 2006-01-18 14:54:31 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-01-18 14:54:31 -0800 |
commit | c126cf80d450a4d0aac3de7162d4c14b5c971b24 (patch) | |
tree | dfac36b98cd1ff6d05d2a15482c39c2ecedc5cb3 /arch/sparc64 | |
parent | c07a8475ddcadb55b11379c35c9586971a9cedbf (diff) | |
download | linux-c126cf80d450a4d0aac3de7162d4c14b5c971b24.tar.gz linux-c126cf80d450a4d0aac3de7162d4c14b5c971b24.tar.bz2 linux-c126cf80d450a4d0aac3de7162d4c14b5c971b24.zip |
[SPARC64]: Serial Console for E250 Patch
From: Eddie C. Dost <ecd@brainaid.de>
I have the following patch for serial console over the RSC
(remote system controller) on my E250 machine. It basically adds
support for input-device=rsc and output-device=rsc from OBP, and
allows 115200,8,n,1,- serial mode setting.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64')
-rw-r--r-- | arch/sparc64/kernel/setup.c | 2 | ||||
-rw-r--r-- | arch/sparc64/prom/console.c | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/arch/sparc64/kernel/setup.c b/arch/sparc64/kernel/setup.c index 250745896aee..054461e6946d 100644 --- a/arch/sparc64/kernel/setup.c +++ b/arch/sparc64/kernel/setup.c @@ -561,6 +561,8 @@ static int __init set_preferred_console(void) serial_console = 1; } else if (idev == PROMDEV_ITTYB && odev == PROMDEV_OTTYB) { serial_console = 2; + } else if (idev == PROMDEV_IRSC && odev == PROMDEV_ORSC) { + serial_console = 3; } else { prom_printf("Inconsistent console: " "input %d, output %d\n", diff --git a/arch/sparc64/prom/console.c b/arch/sparc64/prom/console.c index eae5db8dda56..ac6d035dd150 100644 --- a/arch/sparc64/prom/console.c +++ b/arch/sparc64/prom/console.c @@ -99,8 +99,12 @@ prom_query_input_device(void) if (!strncmp(propb, "keyboard", 8)) return PROMDEV_ITTYA; + if (!strncmp (propb, "rsc", 3)) + return PROMDEV_IRSC; + if (strncmp (propb, "tty", 3) || !propb[3]) return PROMDEV_I_UNK; + switch (propb[3]) { case 'a': return PROMDEV_ITTYA; case 'b': return PROMDEV_ITTYB; @@ -136,8 +140,12 @@ prom_query_output_device(void) if (!strncmp(propb, "screen", 6)) return PROMDEV_OTTYA; + if (!strncmp (propb, "rsc", 3)) + return PROMDEV_ORSC; + if (strncmp (propb, "tty", 3) || !propb[3]) return PROMDEV_O_UNK; + switch (propb[3]) { case 'a': return PROMDEV_OTTYA; case 'b': return PROMDEV_OTTYB; |