ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / include / asm-mips / mips-boards / saa9730_uart.h
1 /*
2  * Carsten Langgaard, carstenl@mips.com
3  * Copyright (C) 2000 MIPS Technologies, Inc.  All rights reserved.
4  *
5  * ########################################################################
6  *
7  *  This program is free software; you can distribute it and/or modify it
8  *  under the terms of the GNU General Public License (Version 2) as
9  *  published by the Free Software Foundation.
10  *
11  *  This program is distributed in the hope it will be useful, but WITHOUT
12  *  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  *  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14  *  for more details.
15  *
16  *  You should have received a copy of the GNU General Public License along
17  *  with this program; if not, write to the Free Software Foundation, Inc.,
18  *  59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
19  *
20  * ########################################################################
21  *
22  * Register definitions for the UART part of the Philips SAA9730 chip.
23  *
24  */
25
26 #ifndef SAA9730_UART_H
27 #define SAA9730_UART_H
28
29 /* The SAA9730 UART register map, as seen via the PCI bus */
30
31 #define SAA9730_UART_REGS_ADDR  0x21800
32
33 struct uart_saa9730_regmap {
34         volatile unsigned char Thr_Rbr;
35         volatile unsigned char Ier;
36         volatile unsigned char Iir_Fcr;
37         volatile unsigned char Lcr;
38         volatile unsigned char Mcr;
39         volatile unsigned char Lsr;
40         volatile unsigned char Msr;
41         volatile unsigned char Scr;
42         volatile unsigned char BaudDivLsb;
43         volatile unsigned char BaudDivMsb;
44         volatile unsigned char Junk0;
45         volatile unsigned char Junk1;
46         volatile unsigned int Config;           /* 0x2180c */
47         volatile unsigned int TxStart;          /* 0x21810 */
48         volatile unsigned int TxLength;         /* 0x21814 */
49         volatile unsigned int TxCounter;        /* 0x21818 */
50         volatile unsigned int RxStart;          /* 0x2181c */
51         volatile unsigned int RxLength;         /* 0x21820 */
52         volatile unsigned int RxCounter;        /* 0x21824 */
53 };
54 typedef volatile struct uart_saa9730_regmap t_uart_saa9730_regmap;
55
56 /*
57  * Only a subset of the UART control bits are defined here,
58  * enough to make the serial debug port work.
59  */
60
61 #define SAA9730_LCR_DATA8       0x03
62
63 #define SAA9730_MCR_DTR         0x01
64 #define SAA9730_MCR_RTS         0x02
65
66 #define SAA9730_LSR_DR          0x01
67 #define SAA9730_LSR_THRE        0x20
68
69 #endif /* !(SAA9730_UART_H) */