ev64120.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  *  This is a direct copy of the ev96100.h file, with a global
  3.  * search and replace.  The numbers are the same.
  4.  *
  5.  *  The reason I'm duplicating this is so that the 64120/96100
  6.  * defines won't be confusing in the source code.
  7.  */
  8. #ifndef _MIPS_EV64120_H
  9. #define _MIPS_EV64120_H
  10. #include <asm/addrspace.h>
  11. /*
  12.  *   GT64120 config space base address
  13.  */
  14. #define GT64120_BASE    (KSEG1ADDR(0x14000000))
  15. #define MIPS_GT_BASE    GT64120_BASE
  16. /*
  17.  *   PCI Bus allocation
  18.  */
  19. #define GT_PCI_MEM_BASE    0x12000000
  20. #define GT_PCI_MEM_SIZE    0x02000000
  21. #define GT_PCI_IO_BASE     0x10000000
  22. #define GT_PCI_IO_SIZE     0x02000000
  23. #define GT_ISA_IO_BASE     PCI_IO_BASE
  24. /*
  25.  *   Duart I/O ports.
  26.  */
  27. #define EV64120_COM1_BASE_ADDR  (0x1d000000 + 0x20)
  28. #define EV64120_COM2_BASE_ADDR  (0x1d000000 + 0x00)
  29. /*
  30.  *   EV64120 interrupt controller register base.
  31.  */
  32. #define EV64120_ICTRL_REGS_BASE   (KSEG1ADDR(0x1f000000))
  33. /*
  34.  *   EV64120 UART register base.
  35.  */
  36. #define EV64120_UART0_REGS_BASE    (KSEG1ADDR(EV64120_COM1_BASE_ADDR))
  37. #define EV64120_UART1_REGS_BASE    (KSEG1ADDR(EV64120_COM2_BASE_ADDR))
  38. #define EV64120_BASE_BAUD ( 3686400 / 16 )
  39. /*
  40.  * Because of an error/peculiarity in the Galileo chip, we need to swap the
  41.  * bytes when running bigendian.
  42.  */
  43. #define GT_WRITE(ofs, data)  
  44.              *(volatile u32 *)(MIPS_GT_BASE+ofs) = cpu_to_le32(data)
  45. #define GT_READ(ofs, data)   
  46.              *data = le32_to_cpu(*(volatile u32 *)(MIPS_GT_BASE+ofs))
  47. #endif /* !(_MIPS_EV64120_H) */