/***************************************************************************
 *     Copyright (c) 1999-2010, Broadcom Corporation
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 *
 * Module Description:
 *                     DO NOT EDIT THIS FILE DIRECTLY
 *
 * This module was generated magically with RDB from a source description
 * file. You must edit the source file for changes to be made to this file.
 *
 *
 * Date:           Generated on         Mon May 17 03:30:38 2010
 *                 MD5 Checksum         48de0819069cffb1a27afe66f66cd920
 *
 * Compiled with:  RDB Utility          combo_header.pl
 *                 RDB Parser           3.0
 *                 unknown              unknown
 *                 Perl Interpreter     5.008008
 *                 Operating System     linux
 *
 * Revision History:
 *
 * $brcm_Log: $
 *
 ***************************************************************************/

#ifndef BCHP_UARTC_H__
#define BCHP_UARTC_H__

/***************************************************************************
 *UARTC - UART C
 ***************************************************************************/
#define BCHP_UARTC_RBR                           0x00406980 /* Receive Buffer Register */
#define BCHP_UARTC_THR                           0x00406980 /* Transmit Holding Register */
#define BCHP_UARTC_DLH                           0x00406984 /* Divisor Latch High */
#define BCHP_UARTC_DLL                           0x00406980 /* Divisor Latch Low */
#define BCHP_UARTC_IER                           0x00406984 /* Interrupt Enable Register */
#define BCHP_UARTC_IIR                           0x00406988 /* Interrupt Identity Register */
#define BCHP_UARTC_FCR                           0x00406988 /* FIFO Control Register */
#define BCHP_UARTC_LCR                           0x0040698c /* Line Control Register */
#define BCHP_UARTC_MCR                           0x00406990 /* Modem Control Register */
#define BCHP_UARTC_LSR                           0x00406994 /* Line Status Register */
#define BCHP_UARTC_MSR                           0x00406998 /* Modem Status Register */
#define BCHP_UARTC_SCR                           0x0040699c /* Scratchpad Register */

#endif /* #ifndef BCHP_UARTC_H__ */

/* End of File */
