1 /*
2  * Wrap-around code for a console using the
3  * SGI PROM io-routines.
4  *
5  * Copyright (c) 1999 Ulf Carlsson
6  *
7  * Derived from DECstation promcon.c
8  * Copyright (c) 1998 Harald Koerfgen
9  */
10 #include <linux/tty.h>
11 #include <linux/major.h>
12 #include <linux/ptrace.h>
13 #include <linux/init.h>
14 #include <linux/console.h>
15 #include <linux/fs.h>
16 
prom_console_write(struct console * co,const char * s,unsigned count)17 static void prom_console_write(struct console *co, const char *s,
18 			       unsigned count)
19 {
20 	extern int CONSOLE_CHANNEL;	// The default serial port
21 	unsigned i;
22 
23 	for (i = 0; i < count; i++) {
24 		if (*s == 10)
25 			serial_putc(CONSOLE_CHANNEL, 13);
26 		serial_putc(CONSOLE_CHANNEL, *s++);
27 	}
28 }
29 
prom_getchar(void)30 int prom_getchar(void)
31 {
32 	return 0;
33 }
34 
prom_console_device(struct console * c)35 static kdev_t prom_console_device(struct console *c)
36 {
37 	return MKDEV(TTY_MAJOR, 64 + c->index);
38 }
39 
40 static struct console sercons = {
41     .name	= "ttyS",
42     .write	= prom_console_write,
43     .device	= prom_console_device,
44     .flags	= CON_PRINTBUFFER,
45     .index	= -1,
46 };
47 
48 /*
49  *    Register console.
50  */
51 
gal_serial_console_init(void)52 void gal_serial_console_init(void)
53 {
54 	//  serial_init();
55 	//serial_set(115200);
56 
57 	register_console(&sercons);
58 }
59