tegra20.c 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. /*
  2. * Copyright (C) 2012 NVIDIA CORPORATION. All rights reserved.
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License version 2 as
  6. * published by the Free Software Foundation.
  7. */
  8. #include "mc.h"
  9. static const struct tegra_mc_client tegra20_mc_clients[] = {
  10. {
  11. .id = 0x00,
  12. .name = "display0a",
  13. }, {
  14. .id = 0x01,
  15. .name = "display0ab",
  16. }, {
  17. .id = 0x02,
  18. .name = "display0b",
  19. }, {
  20. .id = 0x03,
  21. .name = "display0bb",
  22. }, {
  23. .id = 0x04,
  24. .name = "display0c",
  25. }, {
  26. .id = 0x05,
  27. .name = "display0cb",
  28. }, {
  29. .id = 0x06,
  30. .name = "display1b",
  31. }, {
  32. .id = 0x07,
  33. .name = "display1bb",
  34. }, {
  35. .id = 0x08,
  36. .name = "eppup",
  37. }, {
  38. .id = 0x09,
  39. .name = "g2pr",
  40. }, {
  41. .id = 0x0a,
  42. .name = "g2sr",
  43. }, {
  44. .id = 0x0b,
  45. .name = "mpeunifbr",
  46. }, {
  47. .id = 0x0c,
  48. .name = "viruv",
  49. }, {
  50. .id = 0x0d,
  51. .name = "avpcarm7r",
  52. }, {
  53. .id = 0x0e,
  54. .name = "displayhc",
  55. }, {
  56. .id = 0x0f,
  57. .name = "displayhcb",
  58. }, {
  59. .id = 0x10,
  60. .name = "fdcdrd",
  61. }, {
  62. .id = 0x11,
  63. .name = "g2dr",
  64. }, {
  65. .id = 0x12,
  66. .name = "host1xdmar",
  67. }, {
  68. .id = 0x13,
  69. .name = "host1xr",
  70. }, {
  71. .id = 0x14,
  72. .name = "idxsrd",
  73. }, {
  74. .id = 0x15,
  75. .name = "mpcorer",
  76. }, {
  77. .id = 0x16,
  78. .name = "mpe_ipred",
  79. }, {
  80. .id = 0x17,
  81. .name = "mpeamemrd",
  82. }, {
  83. .id = 0x18,
  84. .name = "mpecsrd",
  85. }, {
  86. .id = 0x19,
  87. .name = "ppcsahbdmar",
  88. }, {
  89. .id = 0x1a,
  90. .name = "ppcsahbslvr",
  91. }, {
  92. .id = 0x1b,
  93. .name = "texsrd",
  94. }, {
  95. .id = 0x1c,
  96. .name = "vdebsevr",
  97. }, {
  98. .id = 0x1d,
  99. .name = "vdember",
  100. }, {
  101. .id = 0x1e,
  102. .name = "vdemcer",
  103. }, {
  104. .id = 0x1f,
  105. .name = "vdetper",
  106. }, {
  107. .id = 0x20,
  108. .name = "eppu",
  109. }, {
  110. .id = 0x21,
  111. .name = "eppv",
  112. }, {
  113. .id = 0x22,
  114. .name = "eppy",
  115. }, {
  116. .id = 0x23,
  117. .name = "mpeunifbw",
  118. }, {
  119. .id = 0x24,
  120. .name = "viwsb",
  121. }, {
  122. .id = 0x25,
  123. .name = "viwu",
  124. }, {
  125. .id = 0x26,
  126. .name = "viwv",
  127. }, {
  128. .id = 0x27,
  129. .name = "viwy",
  130. }, {
  131. .id = 0x28,
  132. .name = "g2dw",
  133. }, {
  134. .id = 0x29,
  135. .name = "avpcarm7w",
  136. }, {
  137. .id = 0x2a,
  138. .name = "fdcdwr",
  139. }, {
  140. .id = 0x2b,
  141. .name = "host1xw",
  142. }, {
  143. .id = 0x2c,
  144. .name = "ispw",
  145. }, {
  146. .id = 0x2d,
  147. .name = "mpcorew",
  148. }, {
  149. .id = 0x2e,
  150. .name = "mpecswr",
  151. }, {
  152. .id = 0x2f,
  153. .name = "ppcsahbdmaw",
  154. }, {
  155. .id = 0x30,
  156. .name = "ppcsahbslvw",
  157. }, {
  158. .id = 0x31,
  159. .name = "vdebsevw",
  160. }, {
  161. .id = 0x32,
  162. .name = "vdembew",
  163. }, {
  164. .id = 0x33,
  165. .name = "vdetpmw",
  166. },
  167. };
  168. const struct tegra_mc_soc tegra20_mc_soc = {
  169. .clients = tegra20_mc_clients,
  170. .num_clients = ARRAY_SIZE(tegra20_mc_clients),
  171. .num_address_bits = 32,
  172. .client_id_mask = 0x3f,
  173. .intmask = MC_INT_SECURITY_VIOLATION | MC_INT_INVALID_GART_PAGE |
  174. MC_INT_DECERR_EMEM,
  175. };