uv_mmrs.h 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  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. * SGI UV MMR definitions
  7. *
  8. * Copyright (C) 2007-2008 Silicon Graphics, Inc. All rights reserved.
  9. */
  10. #ifndef __ASM_IA64_UV_MMRS__
  11. #define __ASM_IA64_UV_MMRS__
  12. /*
  13. * AUTO GENERATED - Do not edit
  14. */
  15. #define UV_MMR_ENABLE (1UL << 63)
  16. /* ========================================================================= */
  17. /* UVH_NODE_ID */
  18. /* ========================================================================= */
  19. #define UVH_NODE_ID 0x0UL
  20. #define UVH_NODE_ID_FORCE1_SHFT 0
  21. #define UVH_NODE_ID_FORCE1_MASK 0x0000000000000001UL
  22. #define UVH_NODE_ID_MANUFACTURER_SHFT 1
  23. #define UVH_NODE_ID_MANUFACTURER_MASK 0x0000000000000ffeUL
  24. #define UVH_NODE_ID_PART_NUMBER_SHFT 12
  25. #define UVH_NODE_ID_PART_NUMBER_MASK 0x000000000ffff000UL
  26. #define UVH_NODE_ID_REVISION_SHFT 28
  27. #define UVH_NODE_ID_REVISION_MASK 0x00000000f0000000UL
  28. #define UVH_NODE_ID_NODE_ID_SHFT 32
  29. #define UVH_NODE_ID_NODE_ID_MASK 0x00007fff00000000UL
  30. #define UVH_NODE_ID_NODES_PER_BIT_SHFT 48
  31. #define UVH_NODE_ID_NODES_PER_BIT_MASK 0x007f000000000000UL
  32. #define UVH_NODE_ID_NI_PORT_SHFT 56
  33. #define UVH_NODE_ID_NI_PORT_MASK 0x0f00000000000000UL
  34. union uvh_node_id_u {
  35. unsigned long v;
  36. struct uvh_node_id_s {
  37. unsigned long force1 : 1; /* RO */
  38. unsigned long manufacturer : 11; /* RO */
  39. unsigned long part_number : 16; /* RO */
  40. unsigned long revision : 4; /* RO */
  41. unsigned long node_id : 15; /* RW */
  42. unsigned long rsvd_47 : 1; /* */
  43. unsigned long nodes_per_bit : 7; /* RW */
  44. unsigned long rsvd_55 : 1; /* */
  45. unsigned long ni_port : 4; /* RO */
  46. unsigned long rsvd_60_63 : 4; /* */
  47. } s;
  48. };
  49. /* ========================================================================= */
  50. /* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR */
  51. /* ========================================================================= */
  52. #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR 0x16000d0UL
  53. #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_SHFT 24
  54. #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_MASK 0x00003fffff000000UL
  55. union uvh_rh_gam_alias210_redirect_config_0_mmr_u {
  56. unsigned long v;
  57. struct uvh_rh_gam_alias210_redirect_config_0_mmr_s {
  58. unsigned long rsvd_0_23 : 24; /* */
  59. unsigned long dest_base : 22; /* RW */
  60. unsigned long rsvd_46_63: 18; /* */
  61. } s;
  62. };
  63. /* ========================================================================= */
  64. /* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR */
  65. /* ========================================================================= */
  66. #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR 0x16000e0UL
  67. #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_SHFT 24
  68. #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_MASK 0x00003fffff000000UL
  69. union uvh_rh_gam_alias210_redirect_config_1_mmr_u {
  70. unsigned long v;
  71. struct uvh_rh_gam_alias210_redirect_config_1_mmr_s {
  72. unsigned long rsvd_0_23 : 24; /* */
  73. unsigned long dest_base : 22; /* RW */
  74. unsigned long rsvd_46_63: 18; /* */
  75. } s;
  76. };
  77. /* ========================================================================= */
  78. /* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR */
  79. /* ========================================================================= */
  80. #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR 0x16000f0UL
  81. #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_SHFT 24
  82. #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_MASK 0x00003fffff000000UL
  83. union uvh_rh_gam_alias210_redirect_config_2_mmr_u {
  84. unsigned long v;
  85. struct uvh_rh_gam_alias210_redirect_config_2_mmr_s {
  86. unsigned long rsvd_0_23 : 24; /* */
  87. unsigned long dest_base : 22; /* RW */
  88. unsigned long rsvd_46_63: 18; /* */
  89. } s;
  90. };
  91. /* ========================================================================= */
  92. /* UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR */
  93. /* ========================================================================= */
  94. #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL
  95. #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28
  96. #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffff0000000UL
  97. #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_GR4_SHFT 46
  98. #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_GR4_MASK 0x0000400000000000UL
  99. #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT 52
  100. #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL
  101. #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
  102. #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
  103. union uvh_rh_gam_gru_overlay_config_mmr_u {
  104. unsigned long v;
  105. struct uvh_rh_gam_gru_overlay_config_mmr_s {
  106. unsigned long rsvd_0_27: 28; /* */
  107. unsigned long base : 18; /* RW */
  108. unsigned long gr4 : 1; /* RW */
  109. unsigned long rsvd_47_51: 5; /* */
  110. unsigned long n_gru : 4; /* RW */
  111. unsigned long rsvd_56_62: 7; /* */
  112. unsigned long enable : 1; /* RW */
  113. } s;
  114. };
  115. /* ========================================================================= */
  116. /* UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR */
  117. /* ========================================================================= */
  118. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL
  119. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26
  120. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL
  121. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_DUAL_HUB_SHFT 46
  122. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_DUAL_HUB_MASK 0x0000400000000000UL
  123. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
  124. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
  125. union uvh_rh_gam_mmr_overlay_config_mmr_u {
  126. unsigned long v;
  127. struct uvh_rh_gam_mmr_overlay_config_mmr_s {
  128. unsigned long rsvd_0_25: 26; /* */
  129. unsigned long base : 20; /* RW */
  130. unsigned long dual_hub : 1; /* RW */
  131. unsigned long rsvd_47_62: 16; /* */
  132. unsigned long enable : 1; /* RW */
  133. } s;
  134. };
  135. /* ========================================================================= */
  136. /* UVH_RTC */
  137. /* ========================================================================= */
  138. #define UVH_RTC 0x28000UL
  139. #define UVH_RTC_REAL_TIME_CLOCK_SHFT 0
  140. #define UVH_RTC_REAL_TIME_CLOCK_MASK 0x00ffffffffffffffUL
  141. union uvh_rtc_u {
  142. unsigned long v;
  143. struct uvh_rtc_s {
  144. unsigned long real_time_clock : 56; /* RW */
  145. unsigned long rsvd_56_63 : 8; /* */
  146. } s;
  147. };
  148. /* ========================================================================= */
  149. /* UVH_SI_ADDR_MAP_CONFIG */
  150. /* ========================================================================= */
  151. #define UVH_SI_ADDR_MAP_CONFIG 0xc80000UL
  152. #define UVH_SI_ADDR_MAP_CONFIG_M_SKT_SHFT 0
  153. #define UVH_SI_ADDR_MAP_CONFIG_M_SKT_MASK 0x000000000000003fUL
  154. #define UVH_SI_ADDR_MAP_CONFIG_N_SKT_SHFT 8
  155. #define UVH_SI_ADDR_MAP_CONFIG_N_SKT_MASK 0x0000000000000f00UL
  156. union uvh_si_addr_map_config_u {
  157. unsigned long v;
  158. struct uvh_si_addr_map_config_s {
  159. unsigned long m_skt : 6; /* RW */
  160. unsigned long rsvd_6_7: 2; /* */
  161. unsigned long n_skt : 4; /* RW */
  162. unsigned long rsvd_12_63: 52; /* */
  163. } s;
  164. };
  165. /* ========================================================================= */
  166. /* UVH_SI_ALIAS0_OVERLAY_CONFIG */
  167. /* ========================================================================= */
  168. #define UVH_SI_ALIAS0_OVERLAY_CONFIG 0xc80008UL
  169. #define UVH_SI_ALIAS0_OVERLAY_CONFIG_BASE_SHFT 24
  170. #define UVH_SI_ALIAS0_OVERLAY_CONFIG_BASE_MASK 0x00000000ff000000UL
  171. #define UVH_SI_ALIAS0_OVERLAY_CONFIG_M_ALIAS_SHFT 48
  172. #define UVH_SI_ALIAS0_OVERLAY_CONFIG_M_ALIAS_MASK 0x001f000000000000UL
  173. #define UVH_SI_ALIAS0_OVERLAY_CONFIG_ENABLE_SHFT 63
  174. #define UVH_SI_ALIAS0_OVERLAY_CONFIG_ENABLE_MASK 0x8000000000000000UL
  175. union uvh_si_alias0_overlay_config_u {
  176. unsigned long v;
  177. struct uvh_si_alias0_overlay_config_s {
  178. unsigned long rsvd_0_23: 24; /* */
  179. unsigned long base : 8; /* RW */
  180. unsigned long rsvd_32_47: 16; /* */
  181. unsigned long m_alias : 5; /* RW */
  182. unsigned long rsvd_53_62: 10; /* */
  183. unsigned long enable : 1; /* RW */
  184. } s;
  185. };
  186. /* ========================================================================= */
  187. /* UVH_SI_ALIAS1_OVERLAY_CONFIG */
  188. /* ========================================================================= */
  189. #define UVH_SI_ALIAS1_OVERLAY_CONFIG 0xc80010UL
  190. #define UVH_SI_ALIAS1_OVERLAY_CONFIG_BASE_SHFT 24
  191. #define UVH_SI_ALIAS1_OVERLAY_CONFIG_BASE_MASK 0x00000000ff000000UL
  192. #define UVH_SI_ALIAS1_OVERLAY_CONFIG_M_ALIAS_SHFT 48
  193. #define UVH_SI_ALIAS1_OVERLAY_CONFIG_M_ALIAS_MASK 0x001f000000000000UL
  194. #define UVH_SI_ALIAS1_OVERLAY_CONFIG_ENABLE_SHFT 63
  195. #define UVH_SI_ALIAS1_OVERLAY_CONFIG_ENABLE_MASK 0x8000000000000000UL
  196. union uvh_si_alias1_overlay_config_u {
  197. unsigned long v;
  198. struct uvh_si_alias1_overlay_config_s {
  199. unsigned long rsvd_0_23: 24; /* */
  200. unsigned long base : 8; /* RW */
  201. unsigned long rsvd_32_47: 16; /* */
  202. unsigned long m_alias : 5; /* RW */
  203. unsigned long rsvd_53_62: 10; /* */
  204. unsigned long enable : 1; /* RW */
  205. } s;
  206. };
  207. /* ========================================================================= */
  208. /* UVH_SI_ALIAS2_OVERLAY_CONFIG */
  209. /* ========================================================================= */
  210. #define UVH_SI_ALIAS2_OVERLAY_CONFIG 0xc80018UL
  211. #define UVH_SI_ALIAS2_OVERLAY_CONFIG_BASE_SHFT 24
  212. #define UVH_SI_ALIAS2_OVERLAY_CONFIG_BASE_MASK 0x00000000ff000000UL
  213. #define UVH_SI_ALIAS2_OVERLAY_CONFIG_M_ALIAS_SHFT 48
  214. #define UVH_SI_ALIAS2_OVERLAY_CONFIG_M_ALIAS_MASK 0x001f000000000000UL
  215. #define UVH_SI_ALIAS2_OVERLAY_CONFIG_ENABLE_SHFT 63
  216. #define UVH_SI_ALIAS2_OVERLAY_CONFIG_ENABLE_MASK 0x8000000000000000UL
  217. union uvh_si_alias2_overlay_config_u {
  218. unsigned long v;
  219. struct uvh_si_alias2_overlay_config_s {
  220. unsigned long rsvd_0_23: 24; /* */
  221. unsigned long base : 8; /* RW */
  222. unsigned long rsvd_32_47: 16; /* */
  223. unsigned long m_alias : 5; /* RW */
  224. unsigned long rsvd_53_62: 10; /* */
  225. unsigned long enable : 1; /* RW */
  226. } s;
  227. };
  228. #endif /* __ASM_IA64_UV_MMRS__ */