ioasic_addrs.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:3k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  * This file is subject to the terms and conditions of the GNU General Public
  3.  * License.  See the file "COPYING" in the main directory of this archive
  4.  * for more details.
  5.  *
  6.  * Definitions for the address map in the JUNKIO Asic
  7.  *
  8.  * Created with Information from:
  9.  *
  10.  * "DEC 3000 300/400/500/600/700/800/900 AXP Models System Programmer's Manual"
  11.  *
  12.  * and the Mach Sources
  13.  */
  14. #ifndef IOASIC_ADDRS_H
  15. #define IOASIC_ADDRS_H
  16. #define CHUNK_SIZE 0x00040000
  17. #define SYSTEM_ROM  (0*CHUNK_SIZE) /* ??? */
  18. #define IOCTL  (1*CHUNK_SIZE)
  19. #define ESAR  (2*CHUNK_SIZE)
  20. #define LANCE  (3*CHUNK_SIZE)
  21. #define SCC0  (4*CHUNK_SIZE)
  22. #define VDAC_HI (5*CHUNK_SIZE) /* maxine only */
  23. #define SCC1  (6*CHUNK_SIZE)
  24. #define VDAC_LO (7*CHUNK_SIZE) /* maxine only */
  25. #define TOY  (8*CHUNK_SIZE)
  26. #define ISDN  (9*CHUNK_SIZE) /* maxine only */
  27. #define ERRADDR (9*CHUNK_SIZE) /* 3maxplus only */
  28. #define CHKSYN  (10*CHUNK_SIZE) /* 3maxplus only */
  29. #define ACCESS_BUS (10*CHUNK_SIZE) /* maxine only */
  30. #define MCR  (11*CHUNK_SIZE) /* 3maxplus only */
  31. #define FLOPPY  (11*CHUNK_SIZE) /* maxine only */
  32. #define SCSI  (12*CHUNK_SIZE)
  33. #define FLOPPY_DMA  (13*CHUNK_SIZE) /* maxine only */
  34. #define SCSI_DMA  (14*CHUNK_SIZE)
  35. #define RESERVED_4  (15*CHUNK_SIZE)
  36. /*
  37.  * Offsets for IOCTL registers (relative to (system_base + IOCTL))
  38.  */
  39. #define SCSI_DMA_P 0x00 /* SCSI DMA Pointer */
  40. #define SCSI_DMA_BP 0x10 /* SCSI DMA Buffer Pointer */
  41. #define LANCE_DMA_P 0x20 /* LANCE DMA Pointer */
  42. #define SCC0_T_DMA_P 0x30 /* Communication Port 1 Transmit DMA Pointer */
  43. #define SCC0_R_DMA_P 0x40 /* Communication Port 1 Receive DMA Pointer */
  44. #define SCC1_T_DMA_P 0x50 /* Communication Port 2 Transmit DMA Pointer */
  45. #define SCC1_R_DMA_P 0x60 /* Communication Port 2 Receive DMA Pointer */
  46. #define FLOPPY_DMA_P 0x70 /* Floppy DMA Pointer */
  47. #define ISDN_T_DMA_P 0x80 /* ISDN Transmit DMA Pointer */
  48. #define ISDN_T_DMA_BP 0x90 /* ISDN Transmit DMA Buffer Pointer */
  49. #define ISDN_R_DMA_P 0xa0 /* ISDN Receive DMA Pointer */
  50. #define ISDN_R_DMA_BP 0xb0 /* ISDN Receive DMA Buffer Pointer */
  51. #define SSR 0x100 /* System Support Register */
  52. #define SIR 0x110 /* System Interrupt Register */
  53. #define SIMR 0x120 /* System Interrupt Mask Register */
  54. #define FCTR 0x1e0 /* Free-Running Counter */
  55. /*
  56.  * Handle partial word SCSI DMA transfers
  57.  */
  58. #define SCSI_SCR 0x1b0
  59. #define SCSI_SDR0 0x1c0
  60. #define SCSI_SDR1 0x1d0
  61. /*
  62.  * DMA defines for the System Support Register
  63.  */
  64. #define LANCE_DMA_EN (1UL<<16) /* LANCE DMA enable */
  65. #define SCSI_DMA_EN (1UL<<17) /* SCSI DMA enable */
  66. #define SCSI_DMA_DIR (1UL<<18) /* SCSI DMA direction */
  67. #define ISDN_REC_DMA_EN (1UL<<19) /* ISDN receive DMA enable */
  68. #define ISDN_TRN_DMA_EN (1UL<<20) /* ISDN transmit DMA enable */
  69. #define FLOPPY_DMA_EN (1UL<<21) /* Floppy DMA enable */
  70. #define FLOPPY_DMA_DIR (1UL<<22) /* Floppy DMA direction */
  71. #define SCC1A_DMA_EN (1UL<<28) /* SCC1 Channel A DMA enable */
  72. #define SCC1B_DMA_EN (1UL<<29) /* SCC1 Channel B DMA enable */
  73. #define SCC0A_DMA_EN (1UL<<30) /* SCC0 Channel A DMA enable */
  74. #define SCC0B_DMA_EN (1UL<<31) /* Scc0 Channel B DMA enable */
  75. #endif