/***********************************************************************/ /* */ /* MODULE: bcmuart.h */ /* DATE: 02/15/02 */ /* PURPOSE: Definitions for UART block */ /* */ /***********************************************************************/ #ifndef _BCMUART_H #define _BCMUART_H #include "bcmmips.h" #include "boardcfg.h" #include "bchp_common.h" #include "bchp_uarta.h" #include "bchp_uartb.h" #if !defined _ASMLANGUAGE #if __cplusplus extern "C" { #endif #endif /* UART register base addresses */ #define UARTA_ADR_BASE BCM_PHYS_TO_K1(BCHP_PHYSICAL_OFFSET+BCHP_UARTA_RBR) #define UARTB_ADR_BASE BCM_PHYS_TO_K1(BCHP_PHYSICAL_OFFSET+BCHP_UARTA_RBR) #define UART_ADR_BASE UARTA_ADR_BASE #define console_out _writeasm /* UART registers */ #define UART_RXSTAT 0x00 #define UART_RXDATA 0x04 #define UART_CONTROL 0x0c #define UART_BAUDHI 0x10 #define UART_BAUDLO 0x14 #define UART_TXSTAT 0x18 #define UART_TXDATA 0x1c /* RXSTAT bit definitions */ #define PARERR 0x20 #define FRAMEERR 0x10 #define OVERRUNERR 0x08 #define RXDATARDY 0x04 #define RXINTEN 0x02 /* CONTROL bit definitions */ #define BITM8 0x10 #define PAREN 0x08 #define TXEN 0x04 #define RXEN 0x02 #define PODD 0x01 /* TXSTAT bit definitions */ #define TXINTEN 0x04 #define TXIDLE 0x02 #define TXDREGEMT 0x01 #if !defined _ASMLANGUAGE /********************************************************************** Uart Register Structure **********************************************************************/ typedef struct UartChannel { volatile unsigned long rxstat; volatile unsigned long rxdata; volatile unsigned long unused; volatile unsigned long control; volatile unsigned long baudh; /* When divide SysClk/2/(1+baudword) we should get 32*bit-rate */ volatile unsigned long baudl; volatile unsigned long txstat; volatile unsigned long txdata; } UartChannel; #define UARTA ((volatile UartChannel *) UARTA_ADR_BASE) #define UARTB ((volatile UartChannel *) UARTB_ADR_BASE) #define UART ((volatile UartChannel *) UART_ADR_BASE) #endif /* _ASMLANGUAGE */ /****************************************************************** * Baud Rate Table * XTALFREQ / baud rate / 16 ******************************************************************/ #define XTALFREQ 27000000 #if !defined _ASMLANGUAGE #if __cplusplus } #endif #endif #endif /* _BCMUART_H */