Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
uart.h
Go to the documentation of this file.
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