1/* 2 * (C) Copyright 2001 3 * Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc. 4 * 5 * modified for marvell db64360 eval board by 6 * Ingo Assmus <ingo.assmus@keymile.com> 7 * 8 * See file CREDITS for list of people who contributed to this 9 * project. 10 * 11 * This program is free software; you can redistribute it and/or 12 * modify it under the terms of the GNU General Public License as 13 * published by the Free Software Foundation; either version 2 of 14 * the License, or (at your option) any later version. 15 * 16 * This program is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * GNU General Public License for more details. 20 * 21 * You should have received a copy of the GNU General Public License 22 * along with this program; if not, write to the Free Software 23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 24 * MA 02111-1307 USA 25 */ 26 27/* serial.h - mostly useful for DUART serial_init in serial.c */ 28 29#ifndef __SERIAL_H__ 30#define __SERIAL_H__ 31 32#if 0 33 34#define B230400 1 35#define B115200 2 36#define B57600 4 37#define B38400 82 38#define B19200 163 39#define B9600 24 40#define B4800 651 41#define B2400 1302 42#define B1200 2604 43#define B600 5208 44#define B300 10417 45#define B150 20833 46#define B110 28409 47#define BDEFAULT B115200 48 49 /* this stuff is important to initialize 50 the DUART channels */ 51 52#define Scale 0x01L /* distance between port addresses */ 53#define COM1 0x000003f8 /* Keyboard */ 54#define COM2 0x000002f8 /* Host */ 55 56 57/* Port Definitions relative to base COM port addresses */ 58#define DataIn (0x00*Scale) /* data input port */ 59#define DataOut (0x00*Scale) /* data output port */ 60#define BaudLsb (0x00*Scale) /* baud rate divisor least significant byte */ 61#define BaudMsb (0x01*Scale) /* baud rate divisor most significant byte */ 62#define Ier (0x01*Scale) /* interrupt enable register */ 63#define Iir (0x02*Scale) /* interrupt identification register */ 64#define Lcr (0x03*Scale) /* line control register */ 65#define Mcr (0x04*Scale) /* modem control register */ 66#define Lsr (0x05*Scale) /* line status register */ 67#define Msr (0x06*Scale) /* modem status register */ 68 69/* Bit Definitions for above ports */ 70#define LcrDlab 0x80 /* b7: enable baud rate divisor registers */ 71#define LcrDflt 0x03 /* b6-0: no parity, 1 stop, 8 data */ 72 73#define McrRts 0x02 /* b1: request to send (I am ready to xmit) */ 74#define McrDtr 0x01 /* b0: data terminal ready (I am alive ready to rcv) */ 75#define McrDflt (McrRts|McrDtr) 76 77#define LsrTxD 0x6000 /* b5: transmit holding register empty (i.e. xmit OK!)*/ 78 /* b6: transmitter empty */ 79#define LsrRxD 0x0100 /* b0: received data ready (i.e. got a byte!) */ 80 81#define MsrRi 0x0040 /* b6: ring indicator (other guy is ready to rcv) */ 82#define MsrDsr 0x0020 /* b5: data set ready (other guy is alive ready to rcv */ 83#define MsrCts 0x0010 /* b4: clear to send (other guy is ready to rcv) */ 84 85#define IerRda 0xf /* b0: Enable received data available interrupt */ 86 87#endif 88 89#endif /* __SERIAL_H__ */ 90