uart.h 1.3 KB

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