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

嵌入式Linux

开发平台:

Unix_Linux

  1. #ifndef _M68K_MVME16xHW_H_
  2. #define _M68K_MVME16xHW_H_
  3. #include <asm/irq.h>
  4. /* Board ID data structure - pointer to this retrieved from Bug by head.S */
  5. /* Note, bytes 12 and 13 are board no in BCD (0162,0166,0167,0177,etc) */
  6. extern long mvme_bdid_ptr;
  7. typedef struct {
  8. char bdid[4];
  9. u_char rev, mth, day, yr;
  10. u_short size, reserved;
  11. u_short brdno;
  12. char brdsuffix[2];
  13. u_long options;
  14. u_short clun, dlun, ctype, dnum;
  15. u_long option2;
  16. } t_bdid, *p_bdid;
  17. typedef struct {
  18. u_char ack_icr,
  19. flt_icr,
  20. sel_icr,
  21. pe_icr,
  22. bsy_icr,
  23. spare1,
  24. isr,
  25. cr,
  26. spare2,
  27. spare3,
  28. spare4,
  29. data;
  30. } MVMElp, *MVMElpPtr;
  31. #define MVME_LPR_BASE 0xfff42030
  32. #define mvmelp   ((*(volatile MVMElpPtr)(MVME_LPR_BASE)))
  33. typedef struct {
  34. unsigned char
  35. ctrl,
  36. bcd_sec,
  37. bcd_min,
  38. bcd_hr,
  39. bcd_dow,
  40. bcd_dom,
  41. bcd_mth,
  42. bcd_year;
  43. } MK48T08_t, *MK48T08ptr_t;
  44. #define RTC_WRITE 0x80
  45. #define RTC_READ 0x40
  46. #define RTC_STOP 0x20
  47. #define MVME_RTC_BASE 0xfffc1ff8
  48. #define MVME_I596_BASE 0xfff46000
  49. #define MVME_SCC_A_ADDR 0xfff45005
  50. #define MVME_SCC_B_ADDR 0xfff45001
  51. #define MVME_SCC_PCLK 10000000
  52. #define MVME162_IRQ_TYPE_PRIO 0
  53.                 
  54. #define MVME167_IRQ_PRN 0x54
  55. #define MVME16x_IRQ_I596 0x57
  56. #define MVME16x_IRQ_SCSI 0x55
  57. #define MVME16x_IRQ_FLY 0x7f
  58. #define MVME167_IRQ_SER_ERR 0x5c
  59. #define MVME167_IRQ_SER_MODEM 0x5d
  60. #define MVME167_IRQ_SER_TX 0x5e
  61. #define MVME167_IRQ_SER_RX 0x5f
  62. #define MVME16x_IRQ_TIMER 0x59
  63. #define MVME167_IRQ_ABORT 0x6e
  64. #define MVME162_IRQ_ABORT 0x5e
  65. /* SCC interrupts, for MVME162 */
  66. #define MVME162_IRQ_SCC_BASE 0x40
  67. #define MVME162_IRQ_SCCB_TX 0x40
  68. #define MVME162_IRQ_SCCB_STAT 0x42
  69. #define MVME162_IRQ_SCCB_RX 0x44
  70. #define MVME162_IRQ_SCCB_SPCOND 0x46
  71. #define MVME162_IRQ_SCCA_TX 0x48
  72. #define MVME162_IRQ_SCCA_STAT 0x4a
  73. #define MVME162_IRQ_SCCA_RX 0x4c
  74. #define MVME162_IRQ_SCCA_SPCOND 0x4e
  75. /* MVME162 version register */
  76. #define MVME162_VERSION_REG 0xfff4202e
  77. extern unsigned short mvme16x_config;
  78. /* Lower 8 bits must match the revision register in the MC2 chip */
  79. #define MVME16x_CONFIG_SPEED_32 0x0001
  80. #define MVME16x_CONFIG_NO_VMECHIP2 0x0002
  81. #define MVME16x_CONFIG_NO_SCSICHIP 0x0004
  82. #define MVME16x_CONFIG_NO_ETHERNET 0x0008
  83. #define MVME16x_CONFIG_GOT_FPU 0x0010
  84. #define MVME16x_CONFIG_GOT_LP 0x0100
  85. #define MVME16x_CONFIG_GOT_CD2401 0x0200
  86. #define MVME16x_CONFIG_GOT_SCCA 0x0400
  87. #define MVME16x_CONFIG_GOT_SCCB 0x0800
  88. #endif