reg4300.h
上传用户:qiulin1960
上传日期:2013-10-16
资源大小:2844k
文件大小:6k
源码类别:

Windows CE

开发平台:

Windows_Unix

  1. // Copyright (c) 1999-2000 Microsoft Corporation.  All rights reserved.
  2. /* Defines for Reference Platform control registers ( Read-only ) */
  3. /* File Specific to Mips R4300 Cpu    */
  4. #if defined(R4300) || defined(IDT32364)
  5. //
  6. // Definition of ASIC register base address
  7. //
  8. #define REGISTERBASE       0xab000000      // ASIC I/O register base address
  9. #define RTC_BASE           0xa8000000      // RTC register base address
  10. // Defines for DS 1685/1687 RTC chip used for R4300 Cpu board
  11. #define RTC_SECS           (RTC_BASE+0x00)      // Seconds (0-59)
  12. #define RTC_SECS_ALARM     (RTC_BASE+0x01)      // Seconds Alarm (0-59)
  13. #define RTC_MINUTES        (RTC_BASE+0x02)      // Minutes (0-59)
  14. #define RTC_MINUTES_ALARM  (RTC_BASE+0x03)      // Minutes Alarm (0-59)
  15. #define RTC_HOURS          (RTC_BASE+0x04)      // Hours (1-12)
  16. #define RTC_HOURS_ALARM    (RTC_BASE+0x05)      // Hours Alarm (1-12)
  17.                                                 //    or (0-23)
  18. #define RTC_DAYOFWEEK      (RTC_BASE+0x06)      // Day of week (1-7)
  19. #define RTC_DAYOFMONTH     (RTC_BASE+0x07)      // Day of Month (1-31)
  20. #define RTC_MONTH          (RTC_BASE+0x08)      // Month (1-12)
  21. #define RTC_YEAR           (RTC_BASE+0x09)      // Day of Year (0-99)
  22. #define RTC_REG_A          (RTC_BASE+0x0A)      // Register A
  23. #define RTC_REG_B          (RTC_BASE+0x0B)      // Register B
  24. #define RTC_REG_C          (RTC_BASE+0x0C)      // Register C - READ-ONLY
  25. #define RTC_REG_D          (RTC_BASE+0x0D)      // Register D - READ-ONLY
  26. #define RTC_EXT_REG_A      (RTC_BASE+0x4A)      // Extended Register A
  27. #define RTC_EXT_REG_B      (RTC_BASE+0x4B)      // Extended Register B
  28. // RTC Register A bit map masks
  29. #define RTC_CNTDOWN_CHAIN_ON    0x00            // (DV2) reset count down chain
  30.                                                 // 0x40 - reset, 00-enabled
  31. #define RTC_OSC_ON              0x20            // (DV1) 1 - Osc ON , 0 - OFF
  32. #define RTC_EXT_BANKSEL         0x10            // (DV0) Extended bank select
  33. #define RTC_EXT_BANKUNSEL       0xEF            // (DV0) Extended bank Unselect
  34. #define RTC_BANK0_SEL           0x00            // (DV0) 0 - BANK0
  35. #define RTC_1msRATE_SEL         0x06            // (RS3-RS0) 976 Us,EREGB-0
  36. #define RTC_15msRATE_SEL        0x0A            // (RS3-RS0) 15.625 ms,EREGB-0
  37. #define RTC_31msRATE_SEL        0x0B            // ( -"-)  31.25ms      EREGB-0
  38. // RTC Register B bit map masks
  39. #define RTC_UPDATE_INHIBIT      0x80            // (SET) while reading time
  40.                                                 //   inhibit updates
  41. #define RTC_PERDIC_INT_ENB      0x40            // (PIE) Peridic Int Enable
  42. #define RTC_ALARM_INT_ENB       0x20            // (AIE) Alarm Int Enable
  43. #define RTC_Update_INT_ENB      0x10            // (UIE) Update Int Enable
  44. #define RTC_SQUAREWAVE_ENB      0x08            // (SQWE) Square Wave Enable
  45. #define RTC_DATA_MODE_BIN       0x04            // (DM) Calender info in BCD
  46. #define RTC_DATA_MODE_BCD       0x00            // (DM) Calender info in Binary
  47. #define RTC_24HR_MODE           0x02            // (24/12) 24 hr mode
  48. #define RTC_12HR_MODE           0x00            // (24/12) 12 hr mode
  49. #define RTC_DAYLIGHT_SAV_ENB    0x01            // (DSE) Day light savings enb
  50. // RTC Register C bit map masks
  51. #define RTC_IRQF                0x80
  52. #define RTC_PERDIC_INT_FLAG     0x40
  53. #define RTC_ALARM_INT_FLAG      0x20
  54. #define RTC_UPDTE_ENDEDINT_FLAG 0x10
  55. // RTC Extended Bank Reg's - set DV0=1
  56. #define RTC_CENTURY             (RTC_BASE+0x48) // 0-99
  57. #define RTC_DATE_ALARM          (RTC_BASE+0x49) // Alarm on a certain day [1-31]
  58. /* PCMCIA Contoroller registers */
  59. #define PCMCIA_BASE4102  0xb40003e0      //  PCMCIA control register base address
  60. #define INDEXREG         0x00           // PCMCIA index register
  61. #define DATAREG          0x01           // DATA write register for PCMCIA
  62. // SOFT interrupt
  63. // #define SoftIntr         0x0001  /* INTB interrupt  :rename or not? */
  64. // NMI
  65. #define NMIorINT         0x0001     /* BatIntr is NMI or INTB */
  66. //
  67. // ROSE Interrupt Clear Register & Bit  (W1C)
  68. //
  69. // Software interrupt
  70. #define SoftIntr_clr         0x0000    // SOFTINTREG(0xab00009a) writing
  71. // args for ROSE_InitGA()
  72. #define COLDBOOT     0
  73. #define WARMBOOT     1
  74. // CPU registers
  75. #define REGCPU_AT       0x00
  76. #define REGCPU_V0       0x04
  77. #define REGCPU_V1       0x08
  78. #define REGCPU_A0       0x0C
  79. #define REGCPU_A1       0x10
  80. #define REGCPU_A2       0x14
  81. #define REGCPU_A3       0x18
  82. #define REGCPU_T0       0x1C
  83. #define REGCPU_T1       0x20
  84. #define REGCPU_T2       0x24
  85. #define REGCPU_T3       0x28
  86. #define REGCPU_T4       0x2C
  87. #define REGCPU_T5       0x30
  88. #define REGCPU_T6       0x34
  89. #define REGCPU_T7       0x38
  90. #define REGCPU_S0       0x3C
  91. #define REGCPU_S1       0x40
  92. #define REGCPU_S2       0x44
  93. #define REGCPU_S3       0x48
  94. #define REGCPU_S4       0x4C
  95. #define REGCPU_S5       0x50
  96. #define REGCPU_S6       0x54
  97. #define REGCPU_S7       0x58
  98. #define REGCPU_T8       0x5C
  99. #define REGCPU_T9       0x60
  100. #define REGCPU_K0       0x64
  101. #define REGCPU_K1       0x68
  102. #define REGCPU_GP       0x6C
  103. #define REGCPU_SP       0x70
  104. #define REGCPU_S8       0x74
  105. #define REGCPU_RA       0x78
  106. // CP0 registers
  107. #define REGCP0_INDEX        0x80
  108. #define REGCP0_RANDOM       0x84
  109. #define REGCP0_ENTRYLO0     0x88
  110. #define REGCP0_ENTRYLO1     0x8C
  111. #define REGCP0_CONTEXT      0x90
  112. #define REGCP0_PAGEMASK     0x94
  113. #define REGCP0_WIRED        0x98
  114. #define REGCP0_COUNT        0x9C
  115. #define REGCP0_ENTRYHI      0xA0
  116. #define REGCP0_COMPARE      0xA4
  117. #define REGCP0_PSR      0xA8
  118. #define REGCP0_CAUSE        0xAC
  119. #define REGCP0_EPC      0xB0
  120. #define REGCP0_CONFIG       0xB4
  121. #define REGCP0_LLADDR       0xB8
  122. #define REGCP0_WATCHLO      0xBC
  123. #define REGCP0_XCONTEXT     0xC0
  124. #define REGCP0_PERR     0xC4
  125. #define REGCP0_TAGLO        0xC8
  126. #define REGCP0_TAGHI        0xCC
  127. #define REGCP0_ERROREPC     0xD0
  128. #endif //R4300