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

Windows CE

开发平台:

Windows_Unix

  1. ;++
  2. ;Copyright (c) 1999-2000 Microsoft Corporation.  All rights reserved.
  3. ;
  4. ; Module Name:
  5. ;
  6. ;    sh3.inc
  7. ;
  8. ; Abstract:
  9. ;
  10. ;    This module defines names for the SH-3's on-chip control and status
  11. ;    registers, and their fields.  It is directly based on the SH-3 Hardware
  12. ;    Reference Manual.
  13. ;
  14. ; Author:
  15. ;
  16. ;    David Neff (dneff) 5-Jul-1996
  17. ;
  18. ; Environment:
  19. ;
  20. ;    SH-3 privileged mode.
  21. ;
  22. ; Revision History:
  23. ;
  24. ;--
  25. ; SH-3 register definitions.  The prefix of each register name is derived from
  26. ; the module name in table A.1 of the SH-3 Hardware Reference Manual.
  27. ;
  28. ; Bus state controller registers.
  29. ;
  30. BCN_BCR1: .equ 0xffffff60 ; Bus control register 1
  31. BCN_BCR2: .equ 0xffffff62 ; Bus control register 2
  32. BCN_WCR1: .equ 0xffffff64 ; Wait state control register 1
  33. BCN_WCR2: .equ 0xffffff66 ; Wait state control register 2
  34. BCN_MCR: .equ 0xffffff68 ; Individual memory control register
  35. BCN_DCR: .equ 0xffffff6a ; DRAM control register
  36. BCN_PCR: .equ 0xffffff6c ; PCMCIA control register
  37. BCN_RTCSR: .equ 0xffffff6e ; Refresh timer control/status register
  38. BCN_RTCNT: .equ 0xffffff70 ; Refresh timer counter
  39. BCN_RTCOR: .equ 0xffffff72 ; Refresh time constant register
  40. BCN_RFCR: .equ 0xffffff74 ; Refresh count register
  41. ; BCR1: bus control register 1 fields (function and bus cycle status for each
  42. ; area).
  43. BCN_BCR1_ENDIAN: .equ 0x0800 ; 1 <=> little endian
  44. BCN_BCR1_A0BST: .equ 0x0600 ; Area 0 burst mask
  45. BCN_BCR1_A0BST_N: .equ 0x0000 ; Area 0 ordinary memory
  46. BCN_BCR1_A0BST_4: .equ 0x0200 ; Area 0 burst (4 consecutive accesses)
  47. BCN_BCR1_A0BST_8: .equ 0x0400 ; Area 0 burst (8 consecutive accesses)
  48. BCN_BCR1_A0BST_16: .equ 0x0600 ; Area 0 burst (16 consecutive accesses)
  49. BCN_BCR1_A5BST: .equ 0x0180 ; Area 5 burst mask
  50. BCN_BCR1_A5BST_N: .equ 0x0000 ; Area 5 ordinary memory
  51. BCN_BCR1_A5BST_4: .equ 0x0080 ; Area 5 burst (4 consecutive accesses)
  52. BCN_BCR1_A5BST_8: .equ 0x0100 ; Area 5 burst (8 consecutive accesses)
  53. BCN_BCR1_A5BST_16: .equ 0x0180 ; Area 5 burst (16 consecutive accesses)
  54. BCN_BCR1_A6BST: .equ 0x0060 ; Area 6 burst mask
  55. BCN_BCR1_A6BST_N: .equ 0x0000 ; Area 6 ordinary memory
  56. BCN_BCR1_A6BST_4: .equ 0x0020 ; Area 6 burst (4 consecutive accesses)
  57. BCN_BCR1_A6BST_8: .equ 0x0040 ; Area 6 burst (8 consecutive accesses)
  58. BCN_BCR1_A6BST_16: .equ 0x0060 ; Area 6 burst (16 consecutive accesses)
  59. BCN_BCR1_DRAM: .equ 0x001c ; Areas 2 & 3 mask
  60. BCN_BCR1_DRAM_A2N3N: .equ 0x0000 ; Area 2 normal, Area 3 normal
  61. BCN_BCR1_DRAM_A2N3P: .equ 0x0004 ; Area 2 normal, Area 3 PSRAM
  62. BCN_BCR1_DRAM_A2N3S: .equ 0x0008 ; Area 2 normal, Area 3 SDRAM
  63. BCN_BCR1_DRAM_A2S3S: .equ 0x000c ; Area 2 SDRAM, Area 3 SDRAM
  64. BCN_BCR1_DRAM_A2N3D: .equ 0x0010 ; Area 2 normal, Area 3 DRAM
  65. BCN_BCR1_DRAM_A2D3D: .equ 0x0014 ; Area 2 DRAM, Area 3 DRAM
  66. BCN_BCR1_A5PCM: .equ 0x0002 ; Area 5 is PCMCIA access
  67. BCN_BCR1_A6PCM: .equ 0x0001 ; Area 6 is PCMCIA access
  68. ; BCR2: bus control register 2 fields (bus size width of each area).
  69. BCN_BCR2_A6SZ: .equ 0x3000 ; Area 6 mask
  70. BCN_BCR2_A6SZ_8: .equ 0x1000 ; Area 6 is  8-bit memory
  71. BCN_BCR2_A6SZ_16: .equ 0x2000 ; Area 6 is 16-bit memory
  72. BCN_BCR2_A6SZ_32: .equ 0x3000 ; Area 6 is 32-bit memory
  73. BCN_BCR2_A5SZ: .equ 0x0c00 ; Area 5 mask
  74. BCN_BCR2_A5SZ_8: .equ 0x0400 ; Area 5 is  8-bit memory
  75. BCN_BCR2_A5SZ_16: .equ 0x0800 ; Area 5 is 16-bit memory
  76. BCN_BCR2_A5SZ_32: .equ 0x0c00 ; Area 5 is 32-bit memory
  77. BCN_BCR2_A4SZ: .equ 0x0300 ; Area 4 mask
  78. BCN_BCR2_A4SZ_8: .equ 0x0100 ; Area 4 is  8-bit memory
  79. BCN_BCR2_A4SZ_16: .equ 0x0200 ; Area 4 is 16-bit memory
  80. BCN_BCR2_A4SZ_32: .equ 0x0300 ; Area 4 is 32-bit memory
  81. BCN_BCR2_A3SZ: .equ 0x00c0 ; Area 3 mask
  82. BCN_BCR2_A3SZ_8: .equ 0x0040 ; Area 3 is  8-bit memory
  83. BCN_BCR2_A3SZ_16: .equ 0x0080 ; Area 3 is 16-bit memory
  84. BCN_BCR2_A3SZ_32: .equ 0x00c0 ; Area 3 is 32-bit memory
  85. BCN_BCR2_A2SZ: .equ 0x0030 ; Area 2 mask
  86. BCN_BCR2_A2SZ_8: .equ 0x0010 ; Area 2 is  8-bit memory
  87. BCN_BCR2_A2SZ_16: .equ 0x0020 ; Area 2 is 16-bit memory
  88. BCN_BCR2_A2SZ_32: .equ 0x0030 ; Area 2 is 32-bit memory
  89. BCN_BCR2_A1SZ: .equ 0x000c ; Area 1 mask
  90. BCN_BCR2_A1SZ_8: .equ 0x0004 ; Area 1 is  8-bit memory
  91. BCN_BCR2_A1SZ_16: .equ 0x0008 ; Area 1 is 16-bit memory
  92. BCN_BCR2_A1SZ_32: .equ 0x000c ; Area 1 is 32-bit memory
  93. BCN_BCR2_PORTEN: .equ 0x0001 ; Port enable
  94. ; WCR1: Wait (idle) state control register 1 fields.
  95. BCN_WCR1_A6IW: .equ 0x3000 ; Area 6 mask
  96. BCN_WCR1_A6IW_0: .equ 0x0000 ; Area 6 has 0 idle states
  97. BCN_WCR1_A6IW_1: .equ 0x1000 ; Area 6 has 1 idle states
  98. BCN_WCR1_A6IW_2: .equ 0x2000 ; Area 6 has 2 idle states
  99. BCN_WCR1_A6IW_3: .equ 0x3000 ; Area 6 has 3 idle states
  100. BCN_WCR1_A5IW: .equ 0x0c00 ; Area 5 mask
  101. BCN_WCR1_A5IW_0: .equ 0x0000 ; Area 5 has 0 idle states
  102. BCN_WCR1_A5IW_1: .equ 0x0400 ; Area 5 has 1 idle states
  103. BCN_WCR1_A5IW_2: .equ 0x0800 ; Area 5 has 2 idle states
  104. BCN_WCR1_A5IW_3: .equ 0x0c00 ; Area 5 has 3 idle states
  105. BCN_WCR1_A4IW: .equ 0x0300 ; Area 4 mask
  106. BCN_WCR1_A4IW_0: .equ 0x0000 ; Area 4 has 0 idle states
  107. BCN_WCR1_A4IW_1: .equ 0x0100 ; Area 4 has 1 idle states
  108. BCN_WCR1_A4IW_2: .equ 0x0200 ; Area 4 has 2 idle states
  109. BCN_WCR1_A4IW_3: .equ 0x0300 ; Area 4 has 3 idle states
  110. BCN_WCR1_A3IW: .equ 0x00c0 ; Area 3 mask
  111. BCN_WCR1_A3IW_0: .equ 0x0000 ; Area 3 has 0 idle states
  112. BCN_WCR1_A3IW_1: .equ 0x0040 ; Area 3 has 1 idle states
  113. BCN_WCR1_A3IW_2: .equ 0x0080 ; Area 3 has 2 idle states
  114. BCN_WCR1_A3IW_3: .equ 0x00c0 ; Area 3 has 3 idle states
  115. BCN_WCR1_A2IW: .equ 0x0030 ; Area 2 mask
  116. BCN_WCR1_A2IW_0: .equ 0x0000 ; Area 2 has 0 idle states
  117. BCN_WCR1_A2IW_1: .equ 0x0010 ; Area 2 has 1 idle states
  118. BCN_WCR1_A2IW_2: .equ 0x0020 ; Area 2 has 2 idle states
  119. BCN_WCR1_A2IW_3: .equ 0x0030 ; Area 2 has 3 idle states
  120. BCN_WCR1_A1IW: .equ 0x000c ; Area 1 mask
  121. BCN_WCR1_A1IW_0: .equ 0x0000 ; Area 1 has 0 idle states
  122. BCN_WCR1_A1IW_1: .equ 0x0004 ; Area 1 has 1 idle states
  123. BCN_WCR1_A1IW_2: .equ 0x0008 ; Area 1 has 2 idle states
  124. BCN_WCR1_A1IW_3: .equ 0x000c ; Area 1 has 3 idle states
  125. BCN_WCR1_A0IW: .equ 0x0003 ; Area 0 mask
  126. BCN_WCR1_A0IW_0: .equ 0x0000 ; Area 0 has 0 idle states
  127. BCN_WCR1_A0IW_1: .equ 0x0001 ; Area 0 has 1 idle states
  128. BCN_WCR1_A0IW_2: .equ 0x0002 ; Area 0 has 2 idle states
  129. BCN_WCR1_A0IW_3: .equ 0x0003 ; Area 0 has 3 idle states
  130. ; WCR2: Wait state control register 2 fields.
  131. BCN_WCR2_A6W: .equ 0xe000 ; Area 6 wait state mask
  132. BCN_WCR2_A6W_0: .equ 0x0000 ; Area 6 has 0 wait states
  133. BCN_WCR2_A6W_1: .equ 0x2000 ; Area 6 has 1 wait states
  134. BCN_WCR2_A6W_2: .equ 0x4000 ; Area 6 has 2 wait states
  135. BCN_WCR2_A6W_3: .equ 0x6000 ; Area 6 has 3 wait states
  136. BCN_WCR2_A6W_4: .equ 0x8000 ; Area 6 has 4 wait states
  137. BCN_WCR2_A6W_6: .equ 0xa000 ; Area 6 has 6 wait states
  138. BCN_WCR2_A6W_8: .equ 0xc000 ; Area 6 has 8 wait states
  139. BCN_WCR2_A6W_10: .equ 0xe000 ; Area 6 has 10 wait states
  140. BCN_WCR2_A5W: .equ 0x1c00 ; Area 5 wait state mask
  141. BCN_WCR2_A5W_0: .equ 0x0000 ; Area 5 has 0 wait states
  142. BCN_WCR2_A5W_1: .equ 0x0400 ; Area 5 has 1 wait states
  143. BCN_WCR2_A5W_2: .equ 0x0800 ; Area 5 has 2 wait states
  144. BCN_WCR2_A5W_3: .equ 0x0c00 ; Area 5 has 3 wait states
  145. BCN_WCR2_A5W_4: .equ 0x1000 ; Area 5 has 4 wait states
  146. BCN_WCR2_A5W_6: .equ 0x1400 ; Area 5 has 6 wait states
  147. BCN_WCR2_A5W_8: .equ 0x1800 ; Area 5 has 8 wait states
  148. BCN_WCR2_A5W_10: .equ 0x1c00 ; Area 5 has 10 wait states
  149. BCN_WCR2_A4W: .equ 0x0380 ; Area 4 wait state mask
  150. BCN_WCR2_A4W_0: .equ 0x0000 ; Area 4 has 0 wait states
  151. BCN_WCR2_A4W_1: .equ 0x0080 ; Area 4 has 1 wait states
  152. BCN_WCR2_A4W_2: .equ 0x0100 ; Area 4 has 2 wait states
  153. BCN_WCR2_A4W_3: .equ 0x0180 ; Area 4 has 3 wait states
  154. BCN_WCR2_A4W_4: .equ 0x0200 ; Area 4 has 4 wait states
  155. BCN_WCR2_A4W_6: .equ 0x0280 ; Area 4 has 6 wait states
  156. BCN_WCR2_A4W_8: .equ 0x0300 ; Area 4 has 8 wait states
  157. BCN_WCR2_A4W_10: .equ 0x0380 ; Area 4 has 10 wait states
  158. BCN_WCR2_A3W: .equ 0x0060 ; Area 3 wait state mask
  159. BCN_WCR2_A3W_0: .equ 0x0000 ; Area 3 has 0 wait states
  160. BCN_WCR2_A3W_1: .equ 0x0020 ; Area 3 has 1 wait states
  161. BCN_WCR2_A3W_2: .equ 0x0040 ; Area 3 has 2 wait states
  162. BCN_WCR2_A3W_3: .equ 0x0060 ; Area 3 has 3 wait states
  163. BCN_WCR2_A12W: .equ 0x0018 ; Areas 1, 2 wait state mask
  164. BCN_WCR2_A12W_0: .equ 0x0000 ; Areas 1, 2 have 0 wait states
  165. BCN_WCR2_A12W_1: .equ 0x0008 ; Areas 1, 2 have 1 wait states
  166. BCN_WCR2_A12W_2: .equ 0x0010 ; Areas 1, 2 have 2 wait states
  167. BCN_WCR2_A12W_3: .equ 0x0018 ; Areas 1, 2 have 3 wait states
  168. BCN_WCR2_A0W: .equ 0x0007 ; Area 0 wait state mask
  169. BCN_WCR2_A0W_0: .equ 0x0000 ; Area 0 has 0 wait states
  170. BCN_WCR2_A0W_1: .equ 0x0001 ; Area 0 has 1 wait states
  171. BCN_WCR2_A0W_2: .equ 0x0002 ; Area 0 has 2 wait states
  172. BCN_WCR2_A0W_3: .equ 0x0003 ; Area 0 has 3 wait states
  173. BCN_WCR2_A0W_4: .equ 0x0004 ; Area 0 has 4 wait states
  174. BCN_WCR2_A0W_6: .equ 0x0005 ; Area 0 has 6 wait states
  175. BCN_WCR2_A0W_8: .equ 0x0006 ; Area 0 has 8 wait states
  176. BCN_WCR2_A0W_10: .equ 0x0007 ; Area 0 has 10 wait states
  177. ; MCR: Individual memory control register (RAS/CAS timing and burst control for
  178. ; DRAM, SRAM and PSRAM, address multiplexing, and refresh control.
  179. BCN_MCR_TPC: .equ 0xc000 ; RAS precharge time mask
  180. BCN_MCR_TPC_1: .equ 0x0000 ; 1 cycle
  181. BCN_MCR_TPC_2: .equ 0x4000 ; 2 cycles
  182. BCN_MCR_TPC_3: .equ 0x8000 ; 3 cycles
  183. BCN_MCR_TPC_4: .equ 0xc000 ; 4 cycles
  184. BCN_MCR_RCD: .equ 0x3000 ; RAS-CAS delay mask
  185. BCN_MCR_RCD_1: .equ 0x0000 ; 1 cycle
  186. BCN_MCR_RCD_2: .equ 0x1000 ; 2 cycles
  187. BCN_MCR_RCD_3: .equ 0x2000 ; 3 cycles
  188. BCN_MCR_RCD_4: .equ 0x3000 ; 4 cycles
  189. BCN_MCR_TRWL: .equ 0x0c00 ; Write-precharge delay
  190. BCN_MCR_TRWL_1: .equ 0x0000 ; 1 cycle
  191. BCN_MCR_TRWL_2: .equ 0x0400 ; 2 cycles
  192. BCN_MCR_TRWL_3: .equ 0x0800 ; 3 cycles
  193. BCN_MCR_TRAS: .equ 0x0300 ; RAS precharge time mask
  194. BCN_MCR_TRAS_2: .equ 0x0000 ; 2 cycles
  195. BCN_MCR_TRAS_3: .equ 0x0100 ; 3 cycles
  196. BCN_MCR_TRAS_4: .equ 0x0200 ; 4 cycles
  197. BCN_MCR_TRAS_5: .equ 0x0300 ; 5 cycles
  198. BCN_MCR_BE: .equ 0x0040 ; Burst enable
  199. BCN_MCR_SZ: .equ 0x0020 ; Memory data size, 0 => 16, 1 => 32
  200. BCN_MCR_AMX: .equ 0x0018 ; Address multiplex mask
  201. BCN_MCR_AMX_9: .equ 0x0000 ; Row addr begins with A9
  202. BCN_MCR_AMX_10: .equ 0x0008 ; Row addr begins with A10
  203. BCN_MCR_AMX_11: .equ 0x0010 ; Row addr begins with A11
  204. BCN_MCR_AMX_12: .equ 0x0018 ; Row addr begins with A12 (9 for SDRAM)
  205. BCN_MCR_RFSH: .equ 0x0004 ; Refresh enable
  206. BCN_MCR_RMODE: .equ 0x0002 ; Refresh mode, 0 => ordinary, 1 => self
  207. BCN_MCR_HSMODE: .equ 0x0001 ; High speed mode
  208. ; Values that will be written to many of the following registers must be ORed
  209. ; with their corresponding *_*_COOKIE value before writing the register.
  210. ; Otherwise, the hardware will reject (ignore) the write.
  211. ; RTCSR: Refresh timer control/status register (refresh cycle, interrupt enable,
  212. ; and the interrupt's cycle).
  213. BCN_RTCSR_COOKIE: .equ 0xa500 ; OR with new value before writing
  214. BCN_RTCSR_CMF: .equ 0x0080 ; Predicate, RTCNT == RTCOR
  215. BCN_RTCSR_CMIE: .equ 0x0040 ; Enable an interrupt via CMF
  216. BCN_RTCSR_CKS: .equ 0x0038 ; Clock select mask
  217. BCN_RTCSR_CKS_DISABLE: .equ 0x0000 ; Disable clock input
  218. BCN_RTCSR_CKS_4: .equ 0x0008 ; CKIO/4
  219. BCN_RTCSR_CKS_16: .equ 0x0010 ; CKIO/16
  220. BCN_RTCSR_CKS_64: .equ 0x0018 ; CKIO/64
  221. BCN_RTCSR_CKS_256: .equ 0x0020 ; CKIO/256
  222. BCN_RTCSR_CKS_1024: .equ 0x0028 ; CKIO/1024
  223. BCN_RTCSR_CKS_2048: .equ 0x0030 ; CKIO/2048
  224. BCN_RTCSR_CKS_4096: .equ 0x0038 ; CKIO/4096
  225. BCN_RTCSR_OVF: .equ 0x0004 ; RFCR has exceeded count limit in LMTS
  226. BCN_RTCSR_OVIE: .equ 0x0002 ; Enable an interrupt via OVF
  227. BCN_RTCSR_LMTS: .equ 0x0001 ; Count limit: 0 => 1024, 1 => 512
  228. ; RTCNT: Refresh timer counter.
  229. BCN_RTCNT_COOKIE: .equ 0xa500 ; OR with new value before writing
  230. BCN_RTCNT_COUNT: .equ 0x00ff ; Refresh timer counter mask
  231. ; RTCOR: Refresh time constant register.
  232. BCN_RTCOR_COOKIE: .equ 0xa500 ; OR with new value before writing
  233. BCN_RTCOR_COUNT: .equ 0x00ff ; Refresh time constant mask
  234. ; RFCR: Refresh count register.
  235. BCN_RFCR_COOKIE: .equ 0xa400 ; OR with new value before writing
  236. BCN_RFCR_COUNT: .equ 0x03ff ; Refresh count mask
  237. ;
  238. ; Clock pulse generator registers.
  239. ;
  240. CPG_FRQCR: .equ 0xffffff80 ; Frequency control register
  241. CPG_WTCNT: .equ 0xffffff84 ; Watchdog timer counter
  242. CPG_WTCSR: .equ 0xffffff86 ; Watchdog timer control/status register
  243. ; Frequency control register.
  244. CPG_FRQCR_CKOEN: .equ 0x0100 ; Clock enable
  245. CPG_FRQCR_PLLEN: .equ 0x0080 ; PLL circuit 1 enable
  246. CPG_FRQCR_PSTBY: .equ 0x0040 ; PLL 1 standby
  247. CPG_FRQCR_STC: .equ 0x0030 ; PLL 1 frequency multiplication rate
  248. CPG_FRQCR_STC_1: .equ 0x0000 ; x1
  249. CPG_FRQCR_STC_2: .equ 0x0010 ; x2
  250. CPG_FRQCR_STC_4: .equ 0x0020 ; x4
  251. CPG_FRQCR_IFC: .equ 0x000c ; Internal clock freq divider 1 rate
  252. CPG_FRQCR_IFC_1: .equ 0x0000 ; /1
  253. CPG_FRQCR_IFC_2: .equ 0x0004 ; /2
  254. CPG_FRQCR_IFC_4: .equ 0x0008 ; /4
  255. CPG_FRQCR_PFC: .equ 0x0003 ; Peripheral clock freq divider 2 rate
  256. CPG_FRQCR_PFC_1: .equ 0x0000 ; /1
  257. CPG_FRQCR_PFC_2: .equ 0x0001 ; /2
  258. CPG_FRQCR_PFC_4: .equ 0x0002 ; /4
  259. ; Watchdog timer counter.
  260. CPG_WTCNT_COOKIE: .equ 0x5a00 ; OR with new value before writing
  261. CPG_WTCNT_COUNT: .equ 0x00ff ; Watchdog timer counter mask
  262. ; Watchdog timer control/status register.
  263. CPG_WTCSR_COOKIE: .equ 0xa500 ; OR with new value before writing
  264. CPG_WTCSR_TME: .equ 0x0080 ; Timer enable
  265. CPG_WTCSR_WT: .equ 0x0040 ; Timer mode select, 1 <=> watchdog
  266. CPG_WTCSR_RSTS: .equ 0x0020 ; Reset select
  267. CPG_WTCSR_WOVF: .equ 0x0010 ; Watchdog timer overflow
  268. CPG_WTCSR_IOVF: .equ 0x0008 ; Interval timer overflow
  269. CPG_WTCSR_CKS: .equ 0x0007 ; Clock select, periph clock div ratio
  270. CPG_WTCSR_CKS_1: .equ 0x0000 ; /1
  271. CPG_WTCSR_CKS_4: .equ 0x0001 ; /4
  272. CPG_WTCSR_CKS_16: .equ 0x0002 ; /16
  273. CPG_WTCSR_CKS_32: .equ 0x0003 ; /32
  274. CPG_WTCSR_CKS_64: .equ 0x0004 ; /64
  275. CPG_WTCSR_CKS_256: .equ 0x0005 ; /256
  276. CPG_WTCSR_CKS_1024: .equ 0x0006 ; /1024
  277. CPG_WTCSR_CKS_4096: .equ 0x0007 ; /4096
  278. ;
  279. ; Cache controller registers (though most aren't).
  280. ;
  281. CCN_TRA: .equ 0xffffffd0 ; TRAPA exception register
  282. CCN_EXPEVT: .equ 0xffffffd4 ; Exception event register
  283. CCN_INTEVT: .equ 0xffffffd8 ; Interrupt event register
  284. CCN_CCR: .equ 0xffffffec ; Cache control register
  285. ; Cache control register.
  286. CCN_CCR_RA: .equ 0x00000020 ; RAM mode (1/2 of cache acts as RAM)
  287. CCN_CCR_CF: .equ 0x00000008 ; Cache flush
  288. CCN_CCR_CB: .equ 0x00000004 ; P1 Mode: 0 => write-thru, 1 => write-back
  289. CCN_CCR_WT: .equ 0x00000002 ; Mode: 0 => write-back, 1 => write-thru
  290. CCN_CCR_CE: .equ 0x00000001 ; Cache enable
  291. ;* SH3 Timer unit registers
  292. TMU_BASE: .equ  h'fffffe90
  293. TMU_OCR: .equ   h'00    ; timer output control (8 bit)
  294. TMU_STR: .equ   h'02    ; timer start register (8 bit)
  295. TMU_START0: .equ h'01
  296. TMU_START1: .equ h'02
  297. TMU_START2: .equ h'04
  298. TMU_COR0: .equ  h'04    ; timer constant 0 (32 bit)
  299. TMU_CNT0: .equ  h'08    ; timer count 0 (32 bit)
  300. TMU_CR0: .equ   h'0c    ; timer control 0 (16 bit)
  301. TMU_COR1: .equ  h'10    ; timer constant 1 (32 bit)
  302. TMU_CNT1: .equ  h'14    ; timer count 1 (32 bit)
  303. TMU_CR1: .equ   h'18    ; timer control 1 (16 bit)
  304. TMU_COR2: .equ  h'1c    ; timer constant 2 (32 bit)
  305. TMU_CNT2: .equ  h'20    ; timer count 2 (32 bit)
  306. TMU_CR2: .equ   h'24    ; timer control 2 (16 bit)
  307. TMU_CPR2: .equ  h'28    ; input capture 2 (32 bit)
  308. TMUCR_UNF: .equ h'100   ; counter underflowed
  309. TMUCR_UNIE: .equ h'20   ; underflow interrupt enable
  310. TMUCR_RISE: .equ h'00   ; count on rising edge of clock
  311. TMUCR_FALL: .equ h'08   ; count on falling edge of clock
  312. TMUCR_BOTH: .equ h'10   ; count on both edges of clock
  313. TMUCR_D4:   .equ h'00   ; PERIPHERAL clock / 4
  314. TMUCR_D16:  .equ h'01   ; PERIPHERAL clock / 16
  315. TMUCR_D64:  .equ h'02   ; PERIPHERAL clock / 64
  316. TMUCR_D256: .equ h'03   ; PERIPHERAL clock / 256
  317. TMUCR_RTC:  .equ h'04   ; real time clock output (16 kHz)
  318. TMUCR_EXT:  .equ h'05   ; external clock input
  319. ;RTC
  320. RTC_BASE        .equ    h'FFFFFEC0
  321. RTC_64CNT       .equ    h'0000          ;8
  322. RTC_SECCNT      .equ    h'0002          ;8
  323. RTC_MINCNT      .equ    h'0004          ;8
  324. RTC_HRCNT       .equ    h'0006          ;8
  325. RTC_WKCNT       .equ    h'0008          ;8
  326. RTC_DAYCNT      .equ    h'000a          ;8
  327. RTC_MONCNT      .equ    h'000c          ;8
  328. RTC_YRCNT       .equ    h'000e          ;8
  329. RTC_SECAR       .equ    h'0010          ;8
  330. RTC_MINAR       .equ    h'0012          ;8
  331. RTC_HRAR        .equ    h'0014          ;8
  332. RTC_WKAR        .equ    h'0016          ;8
  333. RTC_DAYAR       .equ    h'0018          ;8
  334. RTC_MONAR       .equ    h'001a          ;8
  335. RTC_CR1         .equ    h'001c          ;8
  336. RTC_CR2         .equ    h'001e          ;8
  337. ; Power control registers
  338. STBCR       .equ   0xFFFFFF82    ;   Standby control register