3 * Peter De Schrijver (p2@mind.be), Mind Linux Solutions, NV.
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License as
7 * published by the Free Software Foundation; either version 2 of
8 * the License, or (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
22 #include <asm/types.h>
23 #include <asm/u-boot.h>
24 #include <asm/processor.h>
27 #include <configs/ML2.h>
29 #if (defined CFG_INIT_CHAN1) || (defined CFG_INIT_CHAN2)
33 DECLARE_GLOBAL_DATA_PTR;
35 #if (defined CFG_INIT_CHAN1) || (defined CFG_INIT_CHAN2)
36 const NS16550_t COM_PORTS[] = { (NS16550_t) CFG_NS16550_COM1,
37 (NS16550_t) CFG_NS16550_COM2
41 int serial_init (void)
43 int clock_divisor = CFG_NS16550_CLK / 16 / gd->baudrate;
46 (void) NS16550_init (COM_PORTS[0], clock_divisor);
49 (void) NS16550_init (COM_PORTS[1], clock_divisor);
55 void serial_putc (const char c)
58 NS16550_putc (COM_PORTS[CFG_DUART_CHAN], '\r');
60 NS16550_putc (COM_PORTS[CFG_DUART_CHAN], c);
63 int serial_getc (void)
65 return NS16550_getc (COM_PORTS[CFG_DUART_CHAN]);
68 int serial_tstc (void)
70 return NS16550_tstc (COM_PORTS[CFG_DUART_CHAN]);
73 void serial_setbrg (void)
75 int clock_divisor = CFG_NS16550_CLK / 16 / gd->baudrate;
78 NS16550_reinit (COM_PORTS[0], clock_divisor);
81 NS16550_reinit (COM_PORTS[1], clock_divisor);
85 void serial_puts (const char *s)
92 #if defined(CONFIG_CMD_KGDB)
93 void kgdb_serial_init (void)
97 void putDebugChar (int c)
102 void putDebugStr (const char *str)
107 int getDebugChar (void)
109 return serial_getc ();
112 void kgdb_interruptible (int yes)