ddr3_a38x_mc_static.h 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Copyright (C) Marvell International Ltd. and its affiliates
  4. */
  5. #ifndef _DDR3_A38X_MC_STATIC_H
  6. #define _DDR3_A38X_MC_STATIC_H
  7. #include "ddr3_a38x.h"
  8. #ifdef SUPPORT_STATIC_DUNIT_CONFIG
  9. #ifdef CONFIG_CUSTOMER_BOARD_SUPPORT
  10. static struct reg_data ddr3_customer_800[] = {
  11. /* parameters for customer board (based on 800MHZ) */
  12. {0x1400, 0x7b00cc30, 0xffffffff},
  13. {0x1404, 0x36301820, 0xffffffff},
  14. {0x1408, 0x5415baab, 0xffffffff},
  15. {0x140c, 0x38411def, 0xffffffff},
  16. {0x1410, 0x18300000, 0xffffffff},
  17. {0x1414, 0x00000700, 0xffffffff},
  18. {0x1424, 0x0060f3ff, 0xffffffff},
  19. {0x1428, 0x0011a940, 0xffffffff},
  20. {0x142c, 0x28c5134, 0xffffffff},
  21. {0x1474, 0x00000000, 0xffffffff},
  22. {0x147c, 0x0000d771, 0xffffffff},
  23. {0x1494, 0x00030000, 0xffffffff},
  24. {0x149c, 0x00000300, 0xffffffff},
  25. {0x14a8, 0x00000000, 0xffffffff},
  26. {0x14cc, 0xbd09000d, 0xffffffff},
  27. {0x1504, 0xfffffff1, 0xffffffff},
  28. {0x150c, 0xffffffe5, 0xffffffff},
  29. {0x1514, 0x00000000, 0xffffffff},
  30. {0x151c, 0x00000000, 0xffffffff},
  31. {0x1538, 0x00000b0b, 0xffffffff},
  32. {0x153c, 0x00000c0c, 0xffffffff},
  33. {0x15d0, 0x00000670, 0xffffffff},
  34. {0x15d4, 0x00000046, 0xffffffff},
  35. {0x15d8, 0x00000010, 0xffffffff},
  36. {0x15dc, 0x00000000, 0xffffffff},
  37. {0x15e0, 0x00000023, 0xffffffff},
  38. {0x15e4, 0x00203c18, 0xffffffff},
  39. {0x15ec, 0xf8000019, 0xffffffff},
  40. {0x16a0, 0xcc000006, 0xffffffff}, /* Clock Delay */
  41. {0xe4124, 0x08008073, 0xffffffff}, /* AVS BG default */
  42. {0, 0, 0}
  43. };
  44. #else /* CONFIG_CUSTOMER_BOARD_SUPPORT */
  45. struct reg_data ddr3_a38x_933[MV_MAX_DDR3_STATIC_SIZE] = {
  46. /* parameters for 933MHZ */
  47. {0x1400, 0x7b00ce3a, 0xffffffff},
  48. {0x1404, 0x36301820, 0xffffffff},
  49. {0x1408, 0x7417eccf, 0xffffffff},
  50. {0x140c, 0x3e421f98, 0xffffffff},
  51. {0x1410, 0x1a300000, 0xffffffff},
  52. {0x1414, 0x00000700, 0xffffffff},
  53. {0x1424, 0x0060f3ff, 0xffffffff},
  54. {0x1428, 0x0013ca50, 0xffffffff},
  55. {0x142c, 0x028c5165, 0xffffffff},
  56. {0x1474, 0x00000000, 0xffffffff},
  57. {0x147c, 0x0000e871, 0xffffffff},
  58. {0x1494, 0x00010000, 0xffffffff},
  59. {0x149c, 0x00000001, 0xffffffff},
  60. {0x14a8, 0x00000000, 0xffffffff},
  61. {0x14cc, 0xbd09000d, 0xffffffff},
  62. {0x1504, 0xffffffe1, 0xffffffff},
  63. {0x150c, 0xffffffe5, 0xffffffff},
  64. {0x1514, 0x00000000, 0xffffffff},
  65. {0x151c, 0x00000000, 0xffffffff},
  66. {0x1538, 0x00000d0d, 0xffffffff},
  67. {0x153c, 0x00000d0d, 0xffffffff},
  68. {0x15d0, 0x00000608, 0xffffffff},
  69. {0x15d4, 0x00000044, 0xffffffff},
  70. {0x15d8, 0x00000020, 0xffffffff},
  71. {0x15dc, 0x00000000, 0xffffffff},
  72. {0x15e0, 0x00000021, 0xffffffff},
  73. {0x15e4, 0x00203c18, 0xffffffff},
  74. {0x15ec, 0xf8000019, 0xffffffff},
  75. {0x16a0, 0xcc000006, 0xffffffff}, /* Clock Delay */
  76. {0xe4124, 0x08008073, 0xffffffff}, /* AVS BG default */
  77. {0, 0, 0}
  78. };
  79. static struct reg_data ddr3_a38x_800[] = {
  80. /* parameters for 800MHZ */
  81. {0x1400, 0x7b00cc30, 0xffffffff},
  82. {0x1404, 0x36301820, 0xffffffff},
  83. {0x1408, 0x5415baab, 0xffffffff},
  84. {0x140c, 0x38411def, 0xffffffff},
  85. {0x1410, 0x18300000, 0xffffffff},
  86. {0x1414, 0x00000700, 0xffffffff},
  87. {0x1424, 0x0060f3ff, 0xffffffff},
  88. {0x1428, 0x0011a940, 0xffffffff},
  89. {0x142c, 0x28c5134, 0xffffffff},
  90. {0x1474, 0x00000000, 0xffffffff},
  91. {0x147c, 0x0000d771, 0xffffffff},
  92. {0x1494, 0x00030000, 0xffffffff},
  93. {0x149c, 0x00000300, 0xffffffff},
  94. {0x14a8, 0x00000000, 0xffffffff},
  95. {0x14cc, 0xbd09000d, 0xffffffff},
  96. {0x1504, 0xfffffff1, 0xffffffff},
  97. {0x150c, 0xffffffe5, 0xffffffff},
  98. {0x1514, 0x00000000, 0xffffffff},
  99. {0x151c, 0x00000000, 0xffffffff},
  100. {0x1538, 0x00000b0b, 0xffffffff},
  101. {0x153c, 0x00000c0c, 0xffffffff},
  102. {0x15d0, 0x00000670, 0xffffffff},
  103. {0x15d4, 0x00000046, 0xffffffff},
  104. {0x15d8, 0x00000010, 0xffffffff},
  105. {0x15dc, 0x00000000, 0xffffffff},
  106. {0x15e0, 0x00000023, 0xffffffff},
  107. {0x15e4, 0x00203c18, 0xffffffff},
  108. {0x15ec, 0xf8000019, 0xffffffff},
  109. {0x16a0, 0xcc000006, 0xffffffff}, /* Clock Delay */
  110. {0xe4124, 0x08008073, 0xffffffff}, /* AVS BG default */
  111. {0, 0, 0}
  112. };
  113. static struct reg_data ddr3_a38x_667[] = {
  114. /* parameters for 667MHZ */
  115. /* DDR SDRAM Configuration Register */
  116. {0x1400, 0x7b00ca28, 0xffffffff},
  117. /* Dunit Control Low Register - kw28 bit12 low (disable CLK1) */
  118. {0x1404, 0x36301820, 0xffffffff},
  119. /* DDR SDRAM Timing (Low) Register */
  120. {0x1408, 0x43149997, 0xffffffff},
  121. /* DDR SDRAM Timing (High) Register */
  122. {0x140c, 0x38411bc7, 0xffffffff},
  123. /* DDR SDRAM Address Control Register */
  124. {0x1410, 0x14330000, 0xffffffff},
  125. /* DDR SDRAM Open Pages Control Register */
  126. {0x1414, 0x00000700, 0xffffffff},
  127. /* Dunit Control High Register (2 :1 - bits 15:12 = 0xd) */
  128. {0x1424, 0x0060f3ff, 0xffffffff},
  129. /* Dunit Control High Register */
  130. {0x1428, 0x000f8830, 0xffffffff},
  131. /* Dunit Control High Register (2:1 - bit 29 = '1') */
  132. {0x142c, 0x28c50f8, 0xffffffff},
  133. {0x147c, 0x0000c671, 0xffffffff},
  134. /* DDR SDRAM ODT Control (Low) Register */
  135. {0x1494, 0x00030000, 0xffffffff},
  136. /* DDR SDRAM ODT Control (High) Register, will be configured at WL */
  137. {0x1498, 0x00000000, 0xffffffff},
  138. /* DDR Dunit ODT Control Register */
  139. {0x149c, 0x00000300, 0xffffffff},
  140. {0x14a8, 0x00000000, 0xffffffff}, /* */
  141. {0x14cc, 0xbd09000d, 0xffffffff}, /* */
  142. {0x1474, 0x00000000, 0xffffffff},
  143. /* Read Data Sample Delays Register */
  144. {0x1538, 0x00000009, 0xffffffff},
  145. /* Read Data Ready Delay Register */
  146. {0x153c, 0x0000000c, 0xffffffff},
  147. {0x1504, 0xfffffff1, 0xffffffff}, /* */
  148. {0x150c, 0xffffffe5, 0xffffffff}, /* */
  149. {0x1514, 0x00000000, 0xffffffff}, /* */
  150. {0x151c, 0x0, 0xffffffff}, /* */
  151. {0x15d0, 0x00000650, 0xffffffff}, /* MR0 */
  152. {0x15d4, 0x00000046, 0xffffffff}, /* MR1 */
  153. {0x15d8, 0x00000010, 0xffffffff}, /* MR2 */
  154. {0x15dc, 0x00000000, 0xffffffff}, /* MR3 */
  155. {0x15e0, 0x23, 0xffffffff}, /* */
  156. {0x15e4, 0x00203c18, 0xffffffff}, /* ZQC Configuration Register */
  157. {0x15ec, 0xf8000019, 0xffffffff}, /* DDR PHY */
  158. {0x16a0, 0xcc000006, 0xffffffff}, /* Clock Delay */
  159. {0xe4124, 0x08008073, 0xffffffff}, /* AVS BG default */
  160. {0, 0, 0}
  161. };
  162. static struct reg_data ddr3_a38x_533[] = {
  163. /* parameters for 533MHZ */
  164. /* DDR SDRAM Configuration Register */
  165. {0x1400, 0x7b00d040, 0xffffffff},
  166. /* Dunit Control Low Register - kw28 bit12 low (disable CLK1) */
  167. {0x1404, 0x36301820, 0xffffffff},
  168. /* DDR SDRAM Timing (Low) Register */
  169. {0x1408, 0x33137772, 0xffffffff},
  170. /* DDR SDRAM Timing (High) Register */
  171. {0x140c, 0x3841199f, 0xffffffff},
  172. /* DDR SDRAM Address Control Register */
  173. {0x1410, 0x10330000, 0xffffffff},
  174. /* DDR SDRAM Open Pages Control Register */
  175. {0x1414, 0x00000700, 0xffffffff},
  176. /* Dunit Control High Register (2 :1 - bits 15:12 = 0xd) */
  177. {0x1424, 0x0060f3ff, 0xffffffff},
  178. /* Dunit Control High Register */
  179. {0x1428, 0x000d6720, 0xffffffff},
  180. /* Dunit Control High Register (2:1 - bit 29 = '1') */
  181. {0x142c, 0x028c50c3, 0xffffffff},
  182. {0x147c, 0x0000b571, 0xffffffff},
  183. /* DDR SDRAM ODT Control (Low) Register */
  184. {0x1494, 0x00030000, 0xffffffff},
  185. /* DDR SDRAM ODT Control (High) Register, will be configured at WL */
  186. {0x1498, 0x00000000, 0xffffffff},
  187. /* DDR Dunit ODT Control Register */
  188. {0x149c, 0x00000003, 0xffffffff},
  189. {0x14a8, 0x00000000, 0xffffffff}, /* */
  190. {0x14cc, 0xbd09000d, 0xffffffff}, /* */
  191. {0x1474, 0x00000000, 0xffffffff},
  192. /* Read Data Sample Delays Register */
  193. {0x1538, 0x00000707, 0xffffffff},
  194. /* Read Data Ready Delay Register */
  195. {0x153c, 0x00000707, 0xffffffff},
  196. {0x1504, 0xffffffe1, 0xffffffff}, /* */
  197. {0x150c, 0xffffffe5, 0xffffffff}, /* */
  198. {0x1514, 0x00000000, 0xffffffff}, /* */
  199. {0x151c, 0x00000000, 0xffffffff}, /* */
  200. {0x15d0, 0x00000630, 0xffffffff}, /* MR0 */
  201. {0x15d4, 0x00000046, 0xffffffff}, /* MR1 */
  202. {0x15d8, 0x00000008, 0xffffffff}, /* MR2 */
  203. {0x15dc, 0x00000000, 0xffffffff}, /* MR3 */
  204. {0x15e0, 0x00000023, 0xffffffff}, /* */
  205. {0x15e4, 0x00203c18, 0xffffffff}, /* ZQC Configuration Register */
  206. {0x15ec, 0xf8000019, 0xffffffff}, /* DDR PHY */
  207. {0x16a0, 0xcc000006, 0xffffffff}, /* Clock Delay */
  208. {0xe4124, 0x08008073, 0xffffffff}, /* AVS BG default */
  209. {0, 0, 0}
  210. };
  211. #endif /* CONFIG_CUSTOMER_BOARD_SUPPORT */
  212. #endif /* SUPPORT_STATIC_DUNIT_CONFIG */
  213. #endif /* _DDR3_A38X_MC_STATIC_H */