Linux 2.6.31-rc6
[linux-2.6] / arch / mips / include / asm / mach-pnx8550 / uart.h
1 #ifndef __IP3106_UART_H
2 #define __IP3106_UART_H
3
4 #include <int.h>
5
6 /* early macros for kgdb use. fixme: clean this up */
7
8 #define UART_BASE               0xbbe4a000      /* PNX8550 */
9
10 #define PNX8550_UART_PORT0      (UART_BASE)
11 #define PNX8550_UART_PORT1      (UART_BASE + 0x1000)
12
13 #define PNX8550_UART_INT(x)             (PNX8550_INT_GIC_MIN+19+x)
14 #define IRQ_TO_UART(x)                  (x-PNX8550_INT_GIC_MIN-19)
15
16 /* early macros needed for prom/kgdb */
17
18 #define ip3106_lcr(base, port)    *(volatile u32 *)(base+(port*0x1000) + 0x000)
19 #define ip3106_mcr(base, port)   *(volatile u32 *)(base+(port*0x1000) + 0x004)
20 #define ip3106_baud(base, port)  *(volatile u32 *)(base+(port*0x1000) + 0x008)
21 #define ip3106_cfg(base, port)   *(volatile u32 *)(base+(port*0x1000) + 0x00C)
22 #define ip3106_fifo(base, port)  *(volatile u32 *)(base+(port*0x1000) + 0x028)
23 #define ip3106_istat(base, port) *(volatile u32 *)(base+(port*0x1000) + 0xFE0)
24 #define ip3106_ien(base, port)   *(volatile u32 *)(base+(port*0x1000) + 0xFE4)
25 #define ip3106_iclr(base, port)  *(volatile u32 *)(base+(port*0x1000) + 0xFE8)
26 #define ip3106_iset(base, port)  *(volatile u32 *)(base+(port*0x1000) + 0xFEC)
27 #define ip3106_pd(base, port)    *(volatile u32 *)(base+(port*0x1000) + 0xFF4)
28 #define ip3106_mid(base, port)   *(volatile u32 *)(base+(port*0x1000) + 0xFFC)
29
30 #endif