shub_mmr.h 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500
  1. /*
  2. *
  3. * This file is subject to the terms and conditions of the GNU General Public
  4. * License. See the file "COPYING" in the main directory of this archive
  5. * for more details.
  6. *
  7. * Copyright (c) 2001-2005 Silicon Graphics, Inc. All rights reserved.
  8. */
  9. #ifndef _ASM_IA64_SN_SHUB_MMR_H
  10. #define _ASM_IA64_SN_SHUB_MMR_H
  11. /* ==================================================================== */
  12. /* Register "SH_IPI_INT" */
  13. /* SHub Inter-Processor Interrupt Registers */
  14. /* ==================================================================== */
  15. #define SH1_IPI_INT 0x0000000110000380
  16. #define SH2_IPI_INT 0x0000000010000380
  17. /* SH_IPI_INT_TYPE */
  18. /* Description: Type of Interrupt: 0=INT, 2=PMI, 4=NMI, 5=INIT */
  19. #define SH_IPI_INT_TYPE_SHFT 0
  20. #define SH_IPI_INT_TYPE_MASK 0x0000000000000007
  21. /* SH_IPI_INT_AGT */
  22. /* Description: Agent, must be 0 for SHub */
  23. #define SH_IPI_INT_AGT_SHFT 3
  24. #define SH_IPI_INT_AGT_MASK 0x0000000000000008
  25. /* SH_IPI_INT_PID */
  26. /* Description: Processor ID, same setting as on targeted McKinley */
  27. #define SH_IPI_INT_PID_SHFT 4
  28. #define SH_IPI_INT_PID_MASK 0x00000000000ffff0
  29. /* SH_IPI_INT_BASE */
  30. /* Description: Optional interrupt vector area, 2MB aligned */
  31. #define SH_IPI_INT_BASE_SHFT 21
  32. #define SH_IPI_INT_BASE_MASK 0x0003ffffffe00000
  33. /* SH_IPI_INT_IDX */
  34. /* Description: Targeted McKinley interrupt vector */
  35. #define SH_IPI_INT_IDX_SHFT 52
  36. #define SH_IPI_INT_IDX_MASK 0x0ff0000000000000
  37. /* SH_IPI_INT_SEND */
  38. /* Description: Send Interrupt Message to PI, This generates a puls */
  39. #define SH_IPI_INT_SEND_SHFT 63
  40. #define SH_IPI_INT_SEND_MASK 0x8000000000000000
  41. /* ==================================================================== */
  42. /* Register "SH_EVENT_OCCURRED" */
  43. /* SHub Interrupt Event Occurred */
  44. /* ==================================================================== */
  45. #define SH1_EVENT_OCCURRED 0x0000000110010000
  46. #define SH1_EVENT_OCCURRED_ALIAS 0x0000000110010008
  47. #define SH2_EVENT_OCCURRED 0x0000000010010000
  48. #define SH2_EVENT_OCCURRED_ALIAS 0x0000000010010008
  49. /* ==================================================================== */
  50. /* Register "SH_PI_CAM_CONTROL" */
  51. /* CRB CAM MMR Access Control */
  52. /* ==================================================================== */
  53. #define SH1_PI_CAM_CONTROL 0x0000000120050300
  54. /* ==================================================================== */
  55. /* Register "SH_SHUB_ID" */
  56. /* SHub ID Number */
  57. /* ==================================================================== */
  58. #define SH1_SHUB_ID 0x0000000110060580
  59. #define SH1_SHUB_ID_REVISION_SHFT 28
  60. #define SH1_SHUB_ID_REVISION_MASK 0x00000000f0000000
  61. /* ==================================================================== */
  62. /* Register "SH_RTC" */
  63. /* Real-time Clock */
  64. /* ==================================================================== */
  65. #define SH1_RTC 0x00000001101c0000
  66. #define SH2_RTC 0x00000002101c0000
  67. #define SH_RTC_MASK 0x007fffffffffffff
  68. /* ==================================================================== */
  69. /* Register "SH_PIO_WRITE_STATUS_0|1" */
  70. /* PIO Write Status for CPU 0 & 1 */
  71. /* ==================================================================== */
  72. #define SH1_PIO_WRITE_STATUS_0 0x0000000120070200
  73. #define SH1_PIO_WRITE_STATUS_1 0x0000000120070280
  74. #define SH2_PIO_WRITE_STATUS_0 0x0000000020070200
  75. #define SH2_PIO_WRITE_STATUS_1 0x0000000020070280
  76. #define SH2_PIO_WRITE_STATUS_2 0x0000000020070300
  77. #define SH2_PIO_WRITE_STATUS_3 0x0000000020070380
  78. /* SH_PIO_WRITE_STATUS_0_WRITE_DEADLOCK */
  79. /* Description: Deadlock response detected */
  80. #define SH_PIO_WRITE_STATUS_WRITE_DEADLOCK_SHFT 1
  81. #define SH_PIO_WRITE_STATUS_WRITE_DEADLOCK_MASK 0x0000000000000002
  82. /* SH_PIO_WRITE_STATUS_0_PENDING_WRITE_COUNT */
  83. /* Description: Count of currently pending PIO writes */
  84. #define SH_PIO_WRITE_STATUS_PENDING_WRITE_COUNT_SHFT 56
  85. #define SH_PIO_WRITE_STATUS_PENDING_WRITE_COUNT_MASK 0x3f00000000000000
  86. /* ==================================================================== */
  87. /* Register "SH_PIO_WRITE_STATUS_0_ALIAS" */
  88. /* ==================================================================== */
  89. #define SH1_PIO_WRITE_STATUS_0_ALIAS 0x0000000120070208
  90. #define SH2_PIO_WRITE_STATUS_0_ALIAS 0x0000000020070208
  91. /* ==================================================================== */
  92. /* Register "SH_EVENT_OCCURRED" */
  93. /* SHub Interrupt Event Occurred */
  94. /* ==================================================================== */
  95. /* SH_EVENT_OCCURRED_UART_INT */
  96. /* Description: Pending Junk Bus UART Interrupt */
  97. #define SH_EVENT_OCCURRED_UART_INT_SHFT 20
  98. #define SH_EVENT_OCCURRED_UART_INT_MASK 0x0000000000100000
  99. /* SH_EVENT_OCCURRED_IPI_INT */
  100. /* Description: Pending IPI Interrupt */
  101. #define SH_EVENT_OCCURRED_IPI_INT_SHFT 28
  102. #define SH_EVENT_OCCURRED_IPI_INT_MASK 0x0000000010000000
  103. /* SH_EVENT_OCCURRED_II_INT0 */
  104. /* Description: Pending II 0 Interrupt */
  105. #define SH_EVENT_OCCURRED_II_INT0_SHFT 29
  106. #define SH_EVENT_OCCURRED_II_INT0_MASK 0x0000000020000000
  107. /* SH_EVENT_OCCURRED_II_INT1 */
  108. /* Description: Pending II 1 Interrupt */
  109. #define SH_EVENT_OCCURRED_II_INT1_SHFT 30
  110. #define SH_EVENT_OCCURRED_II_INT1_MASK 0x0000000040000000
  111. /* SH2_EVENT_OCCURRED_EXTIO_INT2 */
  112. /* Description: Pending SHUB 2 EXT IO INT2 */
  113. #define SH2_EVENT_OCCURRED_EXTIO_INT2_SHFT 33
  114. #define SH2_EVENT_OCCURRED_EXTIO_INT2_MASK 0x0000000200000000
  115. /* SH2_EVENT_OCCURRED_EXTIO_INT3 */
  116. /* Description: Pending SHUB 2 EXT IO INT3 */
  117. #define SH2_EVENT_OCCURRED_EXTIO_INT3_SHFT 34
  118. #define SH2_EVENT_OCCURRED_EXTIO_INT3_MASK 0x0000000400000000
  119. #define SH_ALL_INT_MASK \
  120. (SH_EVENT_OCCURRED_UART_INT_MASK | SH_EVENT_OCCURRED_IPI_INT_MASK | \
  121. SH_EVENT_OCCURRED_II_INT0_MASK | SH_EVENT_OCCURRED_II_INT1_MASK | \
  122. SH_EVENT_OCCURRED_II_INT1_MASK | SH2_EVENT_OCCURRED_EXTIO_INT2_MASK | \
  123. SH2_EVENT_OCCURRED_EXTIO_INT3_MASK)
  124. /* ==================================================================== */
  125. /* LEDS */
  126. /* ==================================================================== */
  127. #define SH1_REAL_JUNK_BUS_LED0 0x7fed00000UL
  128. #define SH1_REAL_JUNK_BUS_LED1 0x7fed10000UL
  129. #define SH1_REAL_JUNK_BUS_LED2 0x7fed20000UL
  130. #define SH1_REAL_JUNK_BUS_LED3 0x7fed30000UL
  131. #define SH2_REAL_JUNK_BUS_LED0 0xf0000000UL
  132. #define SH2_REAL_JUNK_BUS_LED1 0xf0010000UL
  133. #define SH2_REAL_JUNK_BUS_LED2 0xf0020000UL
  134. #define SH2_REAL_JUNK_BUS_LED3 0xf0030000UL
  135. /* ==================================================================== */
  136. /* Register "SH1_PTC_0" */
  137. /* Puge Translation Cache Message Configuration Information */
  138. /* ==================================================================== */
  139. #define SH1_PTC_0 0x00000001101a0000
  140. /* SH1_PTC_0_A */
  141. /* Description: Type */
  142. #define SH1_PTC_0_A_SHFT 0
  143. /* SH1_PTC_0_PS */
  144. /* Description: Page Size */
  145. #define SH1_PTC_0_PS_SHFT 2
  146. /* SH1_PTC_0_RID */
  147. /* Description: Region ID */
  148. #define SH1_PTC_0_RID_SHFT 8
  149. /* SH1_PTC_0_START */
  150. /* Description: Start */
  151. #define SH1_PTC_0_START_SHFT 63
  152. /* ==================================================================== */
  153. /* Register "SH1_PTC_1" */
  154. /* Puge Translation Cache Message Configuration Information */
  155. /* ==================================================================== */
  156. #define SH1_PTC_1 0x00000001101a0080
  157. /* SH1_PTC_1_START */
  158. /* Description: PTC_1 Start */
  159. #define SH1_PTC_1_START_SHFT 63
  160. /* ==================================================================== */
  161. /* Register "SH2_PTC" */
  162. /* Puge Translation Cache Message Configuration Information */
  163. /* ==================================================================== */
  164. #define SH2_PTC 0x0000000170000000
  165. /* SH2_PTC_A */
  166. /* Description: Type */
  167. #define SH2_PTC_A_SHFT 0
  168. /* SH2_PTC_PS */
  169. /* Description: Page Size */
  170. #define SH2_PTC_PS_SHFT 2
  171. /* SH2_PTC_RID */
  172. /* Description: Region ID */
  173. #define SH2_PTC_RID_SHFT 4
  174. /* SH2_PTC_START */
  175. /* Description: Start */
  176. #define SH2_PTC_START_SHFT 63
  177. /* SH2_PTC_ADDR_RID */
  178. /* Description: Region ID */
  179. #define SH2_PTC_ADDR_SHFT 4
  180. #define SH2_PTC_ADDR_MASK 0x1ffffffffffff000
  181. /* ==================================================================== */
  182. /* Register "SH_RTC1_INT_CONFIG" */
  183. /* SHub RTC 1 Interrupt Config Registers */
  184. /* ==================================================================== */
  185. #define SH1_RTC1_INT_CONFIG 0x0000000110001480
  186. #define SH2_RTC1_INT_CONFIG 0x0000000010001480
  187. #define SH_RTC1_INT_CONFIG_MASK 0x0ff3ffffffefffff
  188. #define SH_RTC1_INT_CONFIG_INIT 0x0000000000000000
  189. /* SH_RTC1_INT_CONFIG_TYPE */
  190. /* Description: Type of Interrupt: 0=INT, 2=PMI, 4=NMI, 5=INIT */
  191. #define SH_RTC1_INT_CONFIG_TYPE_SHFT 0
  192. #define SH_RTC1_INT_CONFIG_TYPE_MASK 0x0000000000000007
  193. /* SH_RTC1_INT_CONFIG_AGT */
  194. /* Description: Agent, must be 0 for SHub */
  195. #define SH_RTC1_INT_CONFIG_AGT_SHFT 3
  196. #define SH_RTC1_INT_CONFIG_AGT_MASK 0x0000000000000008
  197. /* SH_RTC1_INT_CONFIG_PID */
  198. /* Description: Processor ID, same setting as on targeted McKinley */
  199. #define SH_RTC1_INT_CONFIG_PID_SHFT 4
  200. #define SH_RTC1_INT_CONFIG_PID_MASK 0x00000000000ffff0
  201. /* SH_RTC1_INT_CONFIG_BASE */
  202. /* Description: Optional interrupt vector area, 2MB aligned */
  203. #define SH_RTC1_INT_CONFIG_BASE_SHFT 21
  204. #define SH_RTC1_INT_CONFIG_BASE_MASK 0x0003ffffffe00000
  205. /* SH_RTC1_INT_CONFIG_IDX */
  206. /* Description: Targeted McKinley interrupt vector */
  207. #define SH_RTC1_INT_CONFIG_IDX_SHFT 52
  208. #define SH_RTC1_INT_CONFIG_IDX_MASK 0x0ff0000000000000
  209. /* ==================================================================== */
  210. /* Register "SH_RTC1_INT_ENABLE" */
  211. /* SHub RTC 1 Interrupt Enable Registers */
  212. /* ==================================================================== */
  213. #define SH1_RTC1_INT_ENABLE 0x0000000110001500
  214. #define SH2_RTC1_INT_ENABLE 0x0000000010001500
  215. #define SH_RTC1_INT_ENABLE_MASK 0x0000000000000001
  216. #define SH_RTC1_INT_ENABLE_INIT 0x0000000000000000
  217. /* SH_RTC1_INT_ENABLE_RTC1_ENABLE */
  218. /* Description: Enable RTC 1 Interrupt */
  219. #define SH_RTC1_INT_ENABLE_RTC1_ENABLE_SHFT 0
  220. #define SH_RTC1_INT_ENABLE_RTC1_ENABLE_MASK 0x0000000000000001
  221. /* ==================================================================== */
  222. /* Register "SH_RTC2_INT_CONFIG" */
  223. /* SHub RTC 2 Interrupt Config Registers */
  224. /* ==================================================================== */
  225. #define SH1_RTC2_INT_CONFIG 0x0000000110001580
  226. #define SH2_RTC2_INT_CONFIG 0x0000000010001580
  227. #define SH_RTC2_INT_CONFIG_MASK 0x0ff3ffffffefffff
  228. #define SH_RTC2_INT_CONFIG_INIT 0x0000000000000000
  229. /* SH_RTC2_INT_CONFIG_TYPE */
  230. /* Description: Type of Interrupt: 0=INT, 2=PMI, 4=NMI, 5=INIT */
  231. #define SH_RTC2_INT_CONFIG_TYPE_SHFT 0
  232. #define SH_RTC2_INT_CONFIG_TYPE_MASK 0x0000000000000007
  233. /* SH_RTC2_INT_CONFIG_AGT */
  234. /* Description: Agent, must be 0 for SHub */
  235. #define SH_RTC2_INT_CONFIG_AGT_SHFT 3
  236. #define SH_RTC2_INT_CONFIG_AGT_MASK 0x0000000000000008
  237. /* SH_RTC2_INT_CONFIG_PID */
  238. /* Description: Processor ID, same setting as on targeted McKinley */
  239. #define SH_RTC2_INT_CONFIG_PID_SHFT 4
  240. #define SH_RTC2_INT_CONFIG_PID_MASK 0x00000000000ffff0
  241. /* SH_RTC2_INT_CONFIG_BASE */
  242. /* Description: Optional interrupt vector area, 2MB aligned */
  243. #define SH_RTC2_INT_CONFIG_BASE_SHFT 21
  244. #define SH_RTC2_INT_CONFIG_BASE_MASK 0x0003ffffffe00000
  245. /* SH_RTC2_INT_CONFIG_IDX */
  246. /* Description: Targeted McKinley interrupt vector */
  247. #define SH_RTC2_INT_CONFIG_IDX_SHFT 52
  248. #define SH_RTC2_INT_CONFIG_IDX_MASK 0x0ff0000000000000
  249. /* ==================================================================== */
  250. /* Register "SH_RTC2_INT_ENABLE" */
  251. /* SHub RTC 2 Interrupt Enable Registers */
  252. /* ==================================================================== */
  253. #define SH1_RTC2_INT_ENABLE 0x0000000110001600
  254. #define SH2_RTC2_INT_ENABLE 0x0000000010001600
  255. #define SH_RTC2_INT_ENABLE_MASK 0x0000000000000001
  256. #define SH_RTC2_INT_ENABLE_INIT 0x0000000000000000
  257. /* SH_RTC2_INT_ENABLE_RTC2_ENABLE */
  258. /* Description: Enable RTC 2 Interrupt */
  259. #define SH_RTC2_INT_ENABLE_RTC2_ENABLE_SHFT 0
  260. #define SH_RTC2_INT_ENABLE_RTC2_ENABLE_MASK 0x0000000000000001
  261. /* ==================================================================== */
  262. /* Register "SH_RTC3_INT_CONFIG" */
  263. /* SHub RTC 3 Interrupt Config Registers */
  264. /* ==================================================================== */
  265. #define SH1_RTC3_INT_CONFIG 0x0000000110001680
  266. #define SH2_RTC3_INT_CONFIG 0x0000000010001680
  267. #define SH_RTC3_INT_CONFIG_MASK 0x0ff3ffffffefffff
  268. #define SH_RTC3_INT_CONFIG_INIT 0x0000000000000000
  269. /* SH_RTC3_INT_CONFIG_TYPE */
  270. /* Description: Type of Interrupt: 0=INT, 2=PMI, 4=NMI, 5=INIT */
  271. #define SH_RTC3_INT_CONFIG_TYPE_SHFT 0
  272. #define SH_RTC3_INT_CONFIG_TYPE_MASK 0x0000000000000007
  273. /* SH_RTC3_INT_CONFIG_AGT */
  274. /* Description: Agent, must be 0 for SHub */
  275. #define SH_RTC3_INT_CONFIG_AGT_SHFT 3
  276. #define SH_RTC3_INT_CONFIG_AGT_MASK 0x0000000000000008
  277. /* SH_RTC3_INT_CONFIG_PID */
  278. /* Description: Processor ID, same setting as on targeted McKinley */
  279. #define SH_RTC3_INT_CONFIG_PID_SHFT 4
  280. #define SH_RTC3_INT_CONFIG_PID_MASK 0x00000000000ffff0
  281. /* SH_RTC3_INT_CONFIG_BASE */
  282. /* Description: Optional interrupt vector area, 2MB aligned */
  283. #define SH_RTC3_INT_CONFIG_BASE_SHFT 21
  284. #define SH_RTC3_INT_CONFIG_BASE_MASK 0x0003ffffffe00000
  285. /* SH_RTC3_INT_CONFIG_IDX */
  286. /* Description: Targeted McKinley interrupt vector */
  287. #define SH_RTC3_INT_CONFIG_IDX_SHFT 52
  288. #define SH_RTC3_INT_CONFIG_IDX_MASK 0x0ff0000000000000
  289. /* ==================================================================== */
  290. /* Register "SH_RTC3_INT_ENABLE" */
  291. /* SHub RTC 3 Interrupt Enable Registers */
  292. /* ==================================================================== */
  293. #define SH1_RTC3_INT_ENABLE 0x0000000110001700
  294. #define SH2_RTC3_INT_ENABLE 0x0000000010001700
  295. #define SH_RTC3_INT_ENABLE_MASK 0x0000000000000001
  296. #define SH_RTC3_INT_ENABLE_INIT 0x0000000000000000
  297. /* SH_RTC3_INT_ENABLE_RTC3_ENABLE */
  298. /* Description: Enable RTC 3 Interrupt */
  299. #define SH_RTC3_INT_ENABLE_RTC3_ENABLE_SHFT 0
  300. #define SH_RTC3_INT_ENABLE_RTC3_ENABLE_MASK 0x0000000000000001
  301. /* SH_EVENT_OCCURRED_RTC1_INT */
  302. /* Description: Pending RTC 1 Interrupt */
  303. #define SH_EVENT_OCCURRED_RTC1_INT_SHFT 24
  304. #define SH_EVENT_OCCURRED_RTC1_INT_MASK 0x0000000001000000
  305. /* SH_EVENT_OCCURRED_RTC2_INT */
  306. /* Description: Pending RTC 2 Interrupt */
  307. #define SH_EVENT_OCCURRED_RTC2_INT_SHFT 25
  308. #define SH_EVENT_OCCURRED_RTC2_INT_MASK 0x0000000002000000
  309. /* SH_EVENT_OCCURRED_RTC3_INT */
  310. /* Description: Pending RTC 3 Interrupt */
  311. #define SH_EVENT_OCCURRED_RTC3_INT_SHFT 26
  312. #define SH_EVENT_OCCURRED_RTC3_INT_MASK 0x0000000004000000
  313. /* ==================================================================== */
  314. /* Register "SH_IPI_ACCESS" */
  315. /* CPU interrupt Access Permission Bits */
  316. /* ==================================================================== */
  317. #define SH1_IPI_ACCESS 0x0000000110060480
  318. #define SH2_IPI_ACCESS0 0x0000000010060c00
  319. #define SH2_IPI_ACCESS1 0x0000000010060c80
  320. #define SH2_IPI_ACCESS2 0x0000000010060d00
  321. #define SH2_IPI_ACCESS3 0x0000000010060d80
  322. /* ==================================================================== */
  323. /* Register "SH_INT_CMPB" */
  324. /* RTC Compare Value for Processor B */
  325. /* ==================================================================== */
  326. #define SH1_INT_CMPB 0x00000001101b0080
  327. #define SH2_INT_CMPB 0x00000000101b0080
  328. #define SH_INT_CMPB_MASK 0x007fffffffffffff
  329. #define SH_INT_CMPB_INIT 0x0000000000000000
  330. /* SH_INT_CMPB_REAL_TIME_CMPB */
  331. /* Description: Real Time Clock Compare */
  332. #define SH_INT_CMPB_REAL_TIME_CMPB_SHFT 0
  333. #define SH_INT_CMPB_REAL_TIME_CMPB_MASK 0x007fffffffffffff
  334. /* ==================================================================== */
  335. /* Register "SH_INT_CMPC" */
  336. /* RTC Compare Value for Processor C */
  337. /* ==================================================================== */
  338. #define SH1_INT_CMPC 0x00000001101b0100
  339. #define SH2_INT_CMPC 0x00000000101b0100
  340. #define SH_INT_CMPC_MASK 0x007fffffffffffff
  341. #define SH_INT_CMPC_INIT 0x0000000000000000
  342. /* SH_INT_CMPC_REAL_TIME_CMPC */
  343. /* Description: Real Time Clock Compare */
  344. #define SH_INT_CMPC_REAL_TIME_CMPC_SHFT 0
  345. #define SH_INT_CMPC_REAL_TIME_CMPC_MASK 0x007fffffffffffff
  346. /* ==================================================================== */
  347. /* Register "SH_INT_CMPD" */
  348. /* RTC Compare Value for Processor D */
  349. /* ==================================================================== */
  350. #define SH1_INT_CMPD 0x00000001101b0180
  351. #define SH2_INT_CMPD 0x00000000101b0180
  352. #define SH_INT_CMPD_MASK 0x007fffffffffffff
  353. #define SH_INT_CMPD_INIT 0x0000000000000000
  354. /* SH_INT_CMPD_REAL_TIME_CMPD */
  355. /* Description: Real Time Clock Compare */
  356. #define SH_INT_CMPD_REAL_TIME_CMPD_SHFT 0
  357. #define SH_INT_CMPD_REAL_TIME_CMPD_MASK 0x007fffffffffffff
  358. /* ==================================================================== */
  359. /* Register "SH_MD_DQLP_MMR_DIR_PRIVEC0" */
  360. /* privilege vector for acc=0 */
  361. /* ==================================================================== */
  362. #define SH1_MD_DQLP_MMR_DIR_PRIVEC0 0x0000000100030300
  363. /* ==================================================================== */
  364. /* Register "SH_MD_DQRP_MMR_DIR_PRIVEC0" */
  365. /* privilege vector for acc=0 */
  366. /* ==================================================================== */
  367. #define SH1_MD_DQRP_MMR_DIR_PRIVEC0 0x0000000100050300
  368. /* ==================================================================== */
  369. /* Some MMRs are functionally identical (or close enough) on both SHUB1 */
  370. /* and SHUB2 that it makes sense to define a geberic name for the MMR. */
  371. /* It is acceptible to use (for example) SH_IPI_INT to reference the */
  372. /* the IPI MMR. The value of SH_IPI_INT is determined at runtime based */
  373. /* on the type of the SHUB. Do not use these #defines in performance */
  374. /* critical code or loops - there is a small performance penalty. */
  375. /* ==================================================================== */
  376. #define shubmmr(a,b) (is_shub2() ? a##2_##b : a##1_##b)
  377. #define SH_REAL_JUNK_BUS_LED0 shubmmr(SH, REAL_JUNK_BUS_LED0)
  378. #define SH_IPI_INT shubmmr(SH, IPI_INT)
  379. #define SH_EVENT_OCCURRED shubmmr(SH, EVENT_OCCURRED)
  380. #define SH_EVENT_OCCURRED_ALIAS shubmmr(SH, EVENT_OCCURRED_ALIAS)
  381. #define SH_RTC shubmmr(SH, RTC)
  382. #define SH_RTC1_INT_CONFIG shubmmr(SH, RTC1_INT_CONFIG)
  383. #define SH_RTC1_INT_ENABLE shubmmr(SH, RTC1_INT_ENABLE)
  384. #define SH_RTC2_INT_CONFIG shubmmr(SH, RTC2_INT_CONFIG)
  385. #define SH_RTC2_INT_ENABLE shubmmr(SH, RTC2_INT_ENABLE)
  386. #define SH_RTC3_INT_CONFIG shubmmr(SH, RTC3_INT_CONFIG)
  387. #define SH_RTC3_INT_ENABLE shubmmr(SH, RTC3_INT_ENABLE)
  388. #define SH_INT_CMPB shubmmr(SH, INT_CMPB)
  389. #define SH_INT_CMPC shubmmr(SH, INT_CMPC)
  390. #define SH_INT_CMPD shubmmr(SH, INT_CMPD)
  391. /* ========================================================================== */
  392. /* Register "SH2_BT_ENG_CSR_0" */
  393. /* Engine 0 Control and Status Register */
  394. /* ========================================================================== */
  395. #define SH2_BT_ENG_CSR_0 0x0000000030040000
  396. #define SH2_BT_ENG_SRC_ADDR_0 0x0000000030040080
  397. #define SH2_BT_ENG_DEST_ADDR_0 0x0000000030040100
  398. #define SH2_BT_ENG_NOTIF_ADDR_0 0x0000000030040180
  399. /* ========================================================================== */
  400. /* BTE interfaces 1-3 */
  401. /* ========================================================================== */
  402. #define SH2_BT_ENG_CSR_1 0x0000000030050000
  403. #define SH2_BT_ENG_CSR_2 0x0000000030060000
  404. #define SH2_BT_ENG_CSR_3 0x0000000030070000
  405. #endif /* _ASM_IA64_SN_SHUB_MMR_H */