Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * This file is subject to the terms and conditions of the GNU General Public | |
3 | * License. See the file "COPYING" in the main directory of this archive | |
4 | * for more details. | |
5 | * | |
6 | * Copyright (C) 2001, 2002 Ralf Baechle | |
7 | */ | |
8 | #include <linux/init.h> | |
1da177e4 LT |
9 | |
10 | #include <asm/page.h> | |
1da177e4 LT |
11 | #include <asm/sn/addrs.h> |
12 | #include <asm/sn/sn0/hub.h> | |
13 | #include <asm/sn/klconfig.h> | |
14 | #include <asm/sn/ioc3.h> | |
15 | #include <asm/sn/sn_private.h> | |
16 | ||
17 | #include <linux/serial.h> | |
18 | #include <linux/serial_core.h> | |
19 | ||
20 | #define IOC3_CLK (22000000 / 3) | |
21 | #define IOC3_FLAGS (0) | |
22 | ||
23 | static inline struct ioc3_uartregs *console_uart(void) | |
24 | { | |
25 | struct ioc3 *ioc3; | |
01d42abd | 26 | nasid_t nasid; |
1da177e4 | 27 | |
01d42abd RB |
28 | nasid = (master_nasid == INVALID_NASID) ? get_nasid() : master_nasid; |
29 | ioc3 = (struct ioc3 *)KL_CONFIG_CH_CONS_INFO(nasid)->memory_base; | |
1da177e4 LT |
30 | |
31 | return &ioc3->sregs.uarta; | |
32 | } | |
33 | ||
36a88530 | 34 | void __init prom_putchar(char c) |
1da177e4 LT |
35 | { |
36 | struct ioc3_uartregs *uart = console_uart(); | |
37 | ||
38 | while ((uart->iu_lsr & 0x20) == 0); | |
39 | uart->iu_thr = c; | |
40 | } |