ps7_init_gpl.c 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * (c) Copyright 2010-2014 Xilinx, Inc. All rights reserved.
  4. */
  5. #include <asm/arch/ps7_init_gpl.h>
  6. static unsigned long ps7_pll_init_data_3_0[] = {
  7. EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
  8. EMIT_MASKWRITE(0XF8000110, 0x003FFFF0U, 0x000FA220U),
  9. EMIT_MASKWRITE(0XF8000100, 0x0007F000U, 0x00028000U),
  10. EMIT_MASKWRITE(0XF8000100, 0x00000010U, 0x00000010U),
  11. EMIT_MASKWRITE(0XF8000100, 0x00000001U, 0x00000001U),
  12. EMIT_MASKWRITE(0XF8000100, 0x00000001U, 0x00000000U),
  13. EMIT_MASKPOLL(0XF800010C, 0x00000001U),
  14. EMIT_MASKWRITE(0XF8000100, 0x00000010U, 0x00000000U),
  15. EMIT_MASKWRITE(0XF8000120, 0x1F003F30U, 0x1F000200U),
  16. EMIT_MASKWRITE(0XF8000114, 0x003FFFF0U, 0x0012C220U),
  17. EMIT_MASKWRITE(0XF8000104, 0x0007F000U, 0x00020000U),
  18. EMIT_MASKWRITE(0XF8000104, 0x00000010U, 0x00000010U),
  19. EMIT_MASKWRITE(0XF8000104, 0x00000001U, 0x00000001U),
  20. EMIT_MASKWRITE(0XF8000104, 0x00000001U, 0x00000000U),
  21. EMIT_MASKPOLL(0XF800010C, 0x00000002U),
  22. EMIT_MASKWRITE(0XF8000104, 0x00000010U, 0x00000000U),
  23. EMIT_MASKWRITE(0XF8000124, 0xFFF00003U, 0x0C200003U),
  24. EMIT_MASKWRITE(0XF8000118, 0x003FFFF0U, 0x001452C0U),
  25. EMIT_MASKWRITE(0XF8000108, 0x0007F000U, 0x0001E000U),
  26. EMIT_MASKWRITE(0XF8000108, 0x00000010U, 0x00000010U),
  27. EMIT_MASKWRITE(0XF8000108, 0x00000001U, 0x00000001U),
  28. EMIT_MASKWRITE(0XF8000108, 0x00000001U, 0x00000000U),
  29. EMIT_MASKPOLL(0XF800010C, 0x00000004U),
  30. EMIT_MASKWRITE(0XF8000108, 0x00000010U, 0x00000000U),
  31. EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
  32. EMIT_EXIT(),
  33. };
  34. static unsigned long ps7_clock_init_data_3_0[] = {
  35. EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
  36. EMIT_MASKWRITE(0XF8000128, 0x03F03F01U, 0x00302301U),
  37. EMIT_MASKWRITE(0XF8000138, 0x00000011U, 0x00000001U),
  38. EMIT_MASKWRITE(0XF8000140, 0x03F03F71U, 0x00100801U),
  39. EMIT_MASKWRITE(0XF800014C, 0x00003F31U, 0x00000501U),
  40. EMIT_MASKWRITE(0XF8000150, 0x00003F33U, 0x00000A02U),
  41. EMIT_MASKWRITE(0XF8000154, 0x00003F33U, 0x00000A01U),
  42. EMIT_MASKWRITE(0XF8000168, 0x00003F31U, 0x00000501U),
  43. EMIT_MASKWRITE(0XF8000170, 0x03F03F30U, 0x00100A00U),
  44. EMIT_MASKWRITE(0XF8000180, 0x03F03F30U, 0x00101400U),
  45. EMIT_MASKWRITE(0XF8000190, 0x03F03F30U, 0x00101400U),
  46. EMIT_MASKWRITE(0XF80001A0, 0x03F03F30U, 0x00101400U),
  47. EMIT_MASKWRITE(0XF80001C4, 0x00000001U, 0x00000001U),
  48. EMIT_MASKWRITE(0XF800012C, 0x01FFCCCDU, 0x01DC084DU),
  49. EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
  50. EMIT_EXIT(),
  51. };
  52. static unsigned long ps7_ddr_init_data_3_0[] = {
  53. EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU, 0x00000080U),
  54. EMIT_MASKWRITE(0XF8006004, 0x0007FFFFU, 0x00001081U),
  55. EMIT_MASKWRITE(0XF8006008, 0x03FFFFFFU, 0x03C0780FU),
  56. EMIT_MASKWRITE(0XF800600C, 0x03FFFFFFU, 0x02001001U),
  57. EMIT_MASKWRITE(0XF8006010, 0x03FFFFFFU, 0x00014001U),
  58. EMIT_MASKWRITE(0XF8006014, 0x001FFFFFU, 0x0004159BU),
  59. EMIT_MASKWRITE(0XF8006018, 0xF7FFFFFFU, 0x452460D2U),
  60. EMIT_MASKWRITE(0XF800601C, 0xFFFFFFFFU, 0x720238E5U),
  61. EMIT_MASKWRITE(0XF8006020, 0x7FDFFFFCU, 0x270872D0U),
  62. EMIT_MASKWRITE(0XF8006024, 0x0FFFFFC3U, 0x00000000U),
  63. EMIT_MASKWRITE(0XF8006028, 0x00003FFFU, 0x00002007U),
  64. EMIT_MASKWRITE(0XF800602C, 0xFFFFFFFFU, 0x00000008U),
  65. EMIT_MASKWRITE(0XF8006030, 0xFFFFFFFFU, 0x00040930U),
  66. EMIT_MASKWRITE(0XF8006034, 0x13FF3FFFU, 0x000116D4U),
  67. EMIT_MASKWRITE(0XF8006038, 0x00000003U, 0x00000000U),
  68. EMIT_MASKWRITE(0XF800603C, 0x000FFFFFU, 0x00000777U),
  69. EMIT_MASKWRITE(0XF8006040, 0xFFFFFFFFU, 0xFFF00000U),
  70. EMIT_MASKWRITE(0XF8006044, 0x0FFFFFFFU, 0x0FF66666U),
  71. EMIT_MASKWRITE(0XF8006048, 0x0003F03FU, 0x0003C008U),
  72. EMIT_MASKWRITE(0XF8006050, 0xFF0F8FFFU, 0x77010800U),
  73. EMIT_MASKWRITE(0XF8006058, 0x00010000U, 0x00000000U),
  74. EMIT_MASKWRITE(0XF800605C, 0x0000FFFFU, 0x00005003U),
  75. EMIT_MASKWRITE(0XF8006060, 0x000017FFU, 0x0000003EU),
  76. EMIT_MASKWRITE(0XF8006064, 0x00021FE0U, 0x00020000U),
  77. EMIT_MASKWRITE(0XF8006068, 0x03FFFFFFU, 0x00284141U),
  78. EMIT_MASKWRITE(0XF800606C, 0x0000FFFFU, 0x00001610U),
  79. EMIT_MASKWRITE(0XF8006078, 0x03FFFFFFU, 0x00466111U),
  80. EMIT_MASKWRITE(0XF800607C, 0x000FFFFFU, 0x00032222U),
  81. EMIT_MASKWRITE(0XF80060A4, 0xFFFFFFFFU, 0x10200802U),
  82. EMIT_MASKWRITE(0XF80060A8, 0x0FFFFFFFU, 0x0690CB73U),
  83. EMIT_MASKWRITE(0XF80060AC, 0x000001FFU, 0x000001FEU),
  84. EMIT_MASKWRITE(0XF80060B0, 0x1FFFFFFFU, 0x1CFFFFFFU),
  85. EMIT_MASKWRITE(0XF80060B4, 0x00000200U, 0x00000200U),
  86. EMIT_MASKWRITE(0XF80060B8, 0x01FFFFFFU, 0x00200066U),
  87. EMIT_MASKWRITE(0XF80060C4, 0x00000003U, 0x00000003U),
  88. EMIT_MASKWRITE(0XF80060C4, 0x00000003U, 0x00000000U),
  89. EMIT_MASKWRITE(0XF80060C8, 0x000000FFU, 0x00000000U),
  90. EMIT_MASKWRITE(0XF80060DC, 0x00000001U, 0x00000000U),
  91. EMIT_MASKWRITE(0XF80060F0, 0x0000FFFFU, 0x00000000U),
  92. EMIT_MASKWRITE(0XF80060F4, 0x0000000FU, 0x00000008U),
  93. EMIT_MASKWRITE(0XF8006114, 0x000000FFU, 0x00000000U),
  94. EMIT_MASKWRITE(0XF8006118, 0x7FFFFFCFU, 0x40000001U),
  95. EMIT_MASKWRITE(0XF800611C, 0x7FFFFFCFU, 0x40000001U),
  96. EMIT_MASKWRITE(0XF8006120, 0x7FFFFFCFU, 0x40000001U),
  97. EMIT_MASKWRITE(0XF8006124, 0x7FFFFFCFU, 0x40000001U),
  98. EMIT_MASKWRITE(0XF800612C, 0x000FFFFFU, 0x0002880BU),
  99. EMIT_MASKWRITE(0XF8006130, 0x000FFFFFU, 0x0002840CU),
  100. EMIT_MASKWRITE(0XF8006134, 0x000FFFFFU, 0x00025804U),
  101. EMIT_MASKWRITE(0XF8006138, 0x000FFFFFU, 0x00026004U),
  102. EMIT_MASKWRITE(0XF8006140, 0x000FFFFFU, 0x00000035U),
  103. EMIT_MASKWRITE(0XF8006144, 0x000FFFFFU, 0x00000035U),
  104. EMIT_MASKWRITE(0XF8006148, 0x000FFFFFU, 0x00000035U),
  105. EMIT_MASKWRITE(0XF800614C, 0x000FFFFFU, 0x00000035U),
  106. EMIT_MASKWRITE(0XF8006154, 0x000FFFFFU, 0x0000008BU),
  107. EMIT_MASKWRITE(0XF8006158, 0x000FFFFFU, 0x0000008CU),
  108. EMIT_MASKWRITE(0XF800615C, 0x000FFFFFU, 0x00000084U),
  109. EMIT_MASKWRITE(0XF8006160, 0x000FFFFFU, 0x00000084U),
  110. EMIT_MASKWRITE(0XF8006168, 0x001FFFFFU, 0x000000F7U),
  111. EMIT_MASKWRITE(0XF800616C, 0x001FFFFFU, 0x000000F6U),
  112. EMIT_MASKWRITE(0XF8006170, 0x001FFFFFU, 0x000000EBU),
  113. EMIT_MASKWRITE(0XF8006174, 0x001FFFFFU, 0x000000EDU),
  114. EMIT_MASKWRITE(0XF800617C, 0x000FFFFFU, 0x000000CBU),
  115. EMIT_MASKWRITE(0XF8006180, 0x000FFFFFU, 0x000000CCU),
  116. EMIT_MASKWRITE(0XF8006184, 0x000FFFFFU, 0x000000C4U),
  117. EMIT_MASKWRITE(0XF8006188, 0x000FFFFFU, 0x000000C4U),
  118. EMIT_MASKWRITE(0XF8006190, 0x6FFFFEFEU, 0x00040080U),
  119. EMIT_MASKWRITE(0XF8006194, 0x000FFFFFU, 0x0001FC82U),
  120. EMIT_MASKWRITE(0XF8006204, 0xFFFFFFFFU, 0x00000000U),
  121. EMIT_MASKWRITE(0XF8006208, 0x000703FFU, 0x000003FFU),
  122. EMIT_MASKWRITE(0XF800620C, 0x000703FFU, 0x000003FFU),
  123. EMIT_MASKWRITE(0XF8006210, 0x000703FFU, 0x000003FFU),
  124. EMIT_MASKWRITE(0XF8006214, 0x000703FFU, 0x000003FFU),
  125. EMIT_MASKWRITE(0XF8006218, 0x000F03FFU, 0x000003FFU),
  126. EMIT_MASKWRITE(0XF800621C, 0x000F03FFU, 0x000003FFU),
  127. EMIT_MASKWRITE(0XF8006220, 0x000F03FFU, 0x000003FFU),
  128. EMIT_MASKWRITE(0XF8006224, 0x000F03FFU, 0x000003FFU),
  129. EMIT_MASKWRITE(0XF80062A8, 0x00000FF5U, 0x00000000U),
  130. EMIT_MASKWRITE(0XF80062AC, 0xFFFFFFFFU, 0x00000000U),
  131. EMIT_MASKWRITE(0XF80062B0, 0x003FFFFFU, 0x00005125U),
  132. EMIT_MASKWRITE(0XF80062B4, 0x0003FFFFU, 0x000012A8U),
  133. EMIT_MASKPOLL(0XF8000B74, 0x00002000U),
  134. EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU, 0x00000081U),
  135. EMIT_MASKPOLL(0XF8006054, 0x00000007U),
  136. EMIT_EXIT(),
  137. };
  138. static unsigned long ps7_mio_init_data_3_0[] = {
  139. EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
  140. EMIT_MASKWRITE(0XF8000B40, 0x00000FFFU, 0x00000600U),
  141. EMIT_MASKWRITE(0XF8000B44, 0x00000FFFU, 0x00000600U),
  142. EMIT_MASKWRITE(0XF8000B48, 0x00000FFFU, 0x00000672U),
  143. EMIT_MASKWRITE(0XF8000B4C, 0x00000FFFU, 0x00000672U),
  144. EMIT_MASKWRITE(0XF8000B50, 0x00000FFFU, 0x00000674U),
  145. EMIT_MASKWRITE(0XF8000B54, 0x00000FFFU, 0x00000674U),
  146. EMIT_MASKWRITE(0XF8000B58, 0x00000FFFU, 0x00000600U),
  147. EMIT_MASKWRITE(0XF8000B5C, 0xFFFFFFFFU, 0x0018C61CU),
  148. EMIT_MASKWRITE(0XF8000B60, 0xFFFFFFFFU, 0x00F9861CU),
  149. EMIT_MASKWRITE(0XF8000B64, 0xFFFFFFFFU, 0x00F9861CU),
  150. EMIT_MASKWRITE(0XF8000B68, 0xFFFFFFFFU, 0x00F9861CU),
  151. EMIT_MASKWRITE(0XF8000B6C, 0x00007FFFU, 0x00000260U),
  152. EMIT_MASKWRITE(0XF8000B70, 0x00000001U, 0x00000001U),
  153. EMIT_MASKWRITE(0XF8000B70, 0x00000021U, 0x00000020U),
  154. EMIT_MASKWRITE(0XF8000B70, 0x07FEFFFFU, 0x00000823U),
  155. EMIT_MASKWRITE(0XF8000700, 0x00003FFFU, 0x00001600U),
  156. EMIT_MASKWRITE(0XF8000704, 0x00003FFFU, 0x00001602U),
  157. EMIT_MASKWRITE(0XF8000708, 0x00003FFFU, 0x00000602U),
  158. EMIT_MASKWRITE(0XF800070C, 0x00003FFFU, 0x00000602U),
  159. EMIT_MASKWRITE(0XF8000710, 0x00003FFFU, 0x00000602U),
  160. EMIT_MASKWRITE(0XF8000714, 0x00003FFFU, 0x00000602U),
  161. EMIT_MASKWRITE(0XF8000718, 0x00003FFFU, 0x00000602U),
  162. EMIT_MASKWRITE(0XF800071C, 0x00003FFFU, 0x00000600U),
  163. EMIT_MASKWRITE(0XF8000720, 0x00003FFFU, 0x00000602U),
  164. EMIT_MASKWRITE(0XF8000724, 0x00003FFFU, 0x00001600U),
  165. EMIT_MASKWRITE(0XF8000728, 0x00003FFFU, 0x00001680U),
  166. EMIT_MASKWRITE(0XF800072C, 0x00003FFFU, 0x00001680U),
  167. EMIT_MASKWRITE(0XF8000730, 0x00003FFFU, 0x00001680U),
  168. EMIT_MASKWRITE(0XF8000734, 0x00003FFFU, 0x00001680U),
  169. EMIT_MASKWRITE(0XF8000738, 0x00003FFFU, 0x00001680U),
  170. EMIT_MASKWRITE(0XF800073C, 0x00003FFFU, 0x00001680U),
  171. EMIT_MASKWRITE(0XF8000740, 0x00003FFFU, 0x00001202U),
  172. EMIT_MASKWRITE(0XF8000744, 0x00003FFFU, 0x00001202U),
  173. EMIT_MASKWRITE(0XF8000748, 0x00003FFFU, 0x00001202U),
  174. EMIT_MASKWRITE(0XF800074C, 0x00003FFFU, 0x00001202U),
  175. EMIT_MASKWRITE(0XF8000750, 0x00003FFFU, 0x00001202U),
  176. EMIT_MASKWRITE(0XF8000754, 0x00003FFFU, 0x00001202U),
  177. EMIT_MASKWRITE(0XF8000758, 0x00003FFFU, 0x00001203U),
  178. EMIT_MASKWRITE(0XF800075C, 0x00003FFFU, 0x00001203U),
  179. EMIT_MASKWRITE(0XF8000760, 0x00003FFFU, 0x00001203U),
  180. EMIT_MASKWRITE(0XF8000764, 0x00003FFFU, 0x00001203U),
  181. EMIT_MASKWRITE(0XF8000768, 0x00003FFFU, 0x00001203U),
  182. EMIT_MASKWRITE(0XF800076C, 0x00003FFFU, 0x00001203U),
  183. EMIT_MASKWRITE(0XF8000770, 0x00003FFFU, 0x00001204U),
  184. EMIT_MASKWRITE(0XF8000774, 0x00003FFFU, 0x00001205U),
  185. EMIT_MASKWRITE(0XF8000778, 0x00003FFFU, 0x00001204U),
  186. EMIT_MASKWRITE(0XF800077C, 0x00003FFFU, 0x00001205U),
  187. EMIT_MASKWRITE(0XF8000780, 0x00003FFFU, 0x00001204U),
  188. EMIT_MASKWRITE(0XF8000784, 0x00003FFFU, 0x00001204U),
  189. EMIT_MASKWRITE(0XF8000788, 0x00003FFFU, 0x00001204U),
  190. EMIT_MASKWRITE(0XF800078C, 0x00003FFFU, 0x00001204U),
  191. EMIT_MASKWRITE(0XF8000790, 0x00003FFFU, 0x00001205U),
  192. EMIT_MASKWRITE(0XF8000794, 0x00003FFFU, 0x00001204U),
  193. EMIT_MASKWRITE(0XF8000798, 0x00003FFFU, 0x00001204U),
  194. EMIT_MASKWRITE(0XF800079C, 0x00003FFFU, 0x00001204U),
  195. EMIT_MASKWRITE(0XF80007A0, 0x00003FFFU, 0x00001204U),
  196. EMIT_MASKWRITE(0XF80007A4, 0x00003FFFU, 0x00001205U),
  197. EMIT_MASKWRITE(0XF80007A8, 0x00003FFFU, 0x00001204U),
  198. EMIT_MASKWRITE(0XF80007AC, 0x00003FFFU, 0x00001205U),
  199. EMIT_MASKWRITE(0XF80007B0, 0x00003FFFU, 0x00001204U),
  200. EMIT_MASKWRITE(0XF80007B4, 0x00003FFFU, 0x00001204U),
  201. EMIT_MASKWRITE(0XF80007B8, 0x00003FFFU, 0x00001204U),
  202. EMIT_MASKWRITE(0XF80007BC, 0x00003FFFU, 0x00001204U),
  203. EMIT_MASKWRITE(0XF80007C0, 0x00003FFFU, 0x00001205U),
  204. EMIT_MASKWRITE(0XF80007C4, 0x00003FFFU, 0x00001204U),
  205. EMIT_MASKWRITE(0XF80007C8, 0x00003FFFU, 0x00001204U),
  206. EMIT_MASKWRITE(0XF80007CC, 0x00003FFFU, 0x00001204U),
  207. EMIT_MASKWRITE(0XF80007D0, 0x00003FFFU, 0x00001280U),
  208. EMIT_MASKWRITE(0XF80007D4, 0x00003FFFU, 0x00001280U),
  209. EMIT_MASKWRITE(0XF8000834, 0x003F003FU, 0x003A0039U),
  210. EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
  211. EMIT_EXIT(),
  212. };
  213. static unsigned long ps7_peripherals_init_data_3_0[] = {
  214. EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
  215. EMIT_MASKWRITE(0XF8000B48, 0x00000180U, 0x00000180U),
  216. EMIT_MASKWRITE(0XF8000B4C, 0x00000180U, 0x00000180U),
  217. EMIT_MASKWRITE(0XF8000B50, 0x00000180U, 0x00000180U),
  218. EMIT_MASKWRITE(0XF8000B54, 0x00000180U, 0x00000180U),
  219. EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
  220. EMIT_MASKWRITE(0XE000D000, 0x00080000U, 0x00080000U),
  221. EMIT_MASKWRITE(0XF8007000, 0x20000000U, 0x00000000U),
  222. EMIT_MASKDELAY(0XF8F00200, 1),
  223. EMIT_MASKDELAY(0XF8F00200, 1),
  224. EMIT_MASKDELAY(0XF8F00200, 1),
  225. EMIT_MASKDELAY(0XF8F00200, 1),
  226. EMIT_MASKDELAY(0XF8F00200, 1),
  227. EMIT_MASKDELAY(0XF8F00200, 1),
  228. EMIT_EXIT(),
  229. };
  230. static unsigned long ps7_post_config_3_0[] = {
  231. EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
  232. EMIT_MASKWRITE(0XF8000900, 0x0000000FU, 0x0000000FU),
  233. EMIT_MASKWRITE(0XF8000240, 0xFFFFFFFFU, 0x00000000U),
  234. EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
  235. EMIT_EXIT(),
  236. };
  237. static unsigned long ps7_pll_init_data_2_0[] = {
  238. EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
  239. EMIT_MASKWRITE(0XF8000110, 0x003FFFF0U, 0x000FA220U),
  240. EMIT_MASKWRITE(0XF8000100, 0x0007F000U, 0x00028000U),
  241. EMIT_MASKWRITE(0XF8000100, 0x00000010U, 0x00000010U),
  242. EMIT_MASKWRITE(0XF8000100, 0x00000001U, 0x00000001U),
  243. EMIT_MASKWRITE(0XF8000100, 0x00000001U, 0x00000000U),
  244. EMIT_MASKPOLL(0XF800010C, 0x00000001U),
  245. EMIT_MASKWRITE(0XF8000100, 0x00000010U, 0x00000000U),
  246. EMIT_MASKWRITE(0XF8000120, 0x1F003F30U, 0x1F000200U),
  247. EMIT_MASKWRITE(0XF8000114, 0x003FFFF0U, 0x0012C220U),
  248. EMIT_MASKWRITE(0XF8000104, 0x0007F000U, 0x00020000U),
  249. EMIT_MASKWRITE(0XF8000104, 0x00000010U, 0x00000010U),
  250. EMIT_MASKWRITE(0XF8000104, 0x00000001U, 0x00000001U),
  251. EMIT_MASKWRITE(0XF8000104, 0x00000001U, 0x00000000U),
  252. EMIT_MASKPOLL(0XF800010C, 0x00000002U),
  253. EMIT_MASKWRITE(0XF8000104, 0x00000010U, 0x00000000U),
  254. EMIT_MASKWRITE(0XF8000124, 0xFFF00003U, 0x0C200003U),
  255. EMIT_MASKWRITE(0XF8000118, 0x003FFFF0U, 0x001452C0U),
  256. EMIT_MASKWRITE(0XF8000108, 0x0007F000U, 0x0001E000U),
  257. EMIT_MASKWRITE(0XF8000108, 0x00000010U, 0x00000010U),
  258. EMIT_MASKWRITE(0XF8000108, 0x00000001U, 0x00000001U),
  259. EMIT_MASKWRITE(0XF8000108, 0x00000001U, 0x00000000U),
  260. EMIT_MASKPOLL(0XF800010C, 0x00000004U),
  261. EMIT_MASKWRITE(0XF8000108, 0x00000010U, 0x00000000U),
  262. EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
  263. EMIT_EXIT(),
  264. };
  265. static unsigned long ps7_clock_init_data_2_0[] = {
  266. EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
  267. EMIT_MASKWRITE(0XF8000128, 0x03F03F01U, 0x00302301U),
  268. EMIT_MASKWRITE(0XF8000138, 0x00000011U, 0x00000001U),
  269. EMIT_MASKWRITE(0XF8000140, 0x03F03F71U, 0x00100801U),
  270. EMIT_MASKWRITE(0XF800014C, 0x00003F31U, 0x00000501U),
  271. EMIT_MASKWRITE(0XF8000150, 0x00003F33U, 0x00000A02U),
  272. EMIT_MASKWRITE(0XF8000154, 0x00003F33U, 0x00000A01U),
  273. EMIT_MASKWRITE(0XF8000168, 0x00003F31U, 0x00000501U),
  274. EMIT_MASKWRITE(0XF8000170, 0x03F03F30U, 0x00100A00U),
  275. EMIT_MASKWRITE(0XF8000180, 0x03F03F30U, 0x00101400U),
  276. EMIT_MASKWRITE(0XF8000190, 0x03F03F30U, 0x00101400U),
  277. EMIT_MASKWRITE(0XF80001A0, 0x03F03F30U, 0x00101400U),
  278. EMIT_MASKWRITE(0XF80001C4, 0x00000001U, 0x00000001U),
  279. EMIT_MASKWRITE(0XF800012C, 0x01FFCCCDU, 0x01DC084DU),
  280. EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
  281. EMIT_EXIT(),
  282. };
  283. static unsigned long ps7_ddr_init_data_2_0[] = {
  284. EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU, 0x00000080U),
  285. EMIT_MASKWRITE(0XF8006004, 0x1FFFFFFFU, 0x00081081U),
  286. EMIT_MASKWRITE(0XF8006008, 0x03FFFFFFU, 0x03C0780FU),
  287. EMIT_MASKWRITE(0XF800600C, 0x03FFFFFFU, 0x02001001U),
  288. EMIT_MASKWRITE(0XF8006010, 0x03FFFFFFU, 0x00014001U),
  289. EMIT_MASKWRITE(0XF8006014, 0x001FFFFFU, 0x0004159BU),
  290. EMIT_MASKWRITE(0XF8006018, 0xF7FFFFFFU, 0x452460D2U),
  291. EMIT_MASKWRITE(0XF800601C, 0xFFFFFFFFU, 0x720238E5U),
  292. EMIT_MASKWRITE(0XF8006020, 0xFFFFFFFCU, 0x272872D0U),
  293. EMIT_MASKWRITE(0XF8006024, 0x0FFFFFFFU, 0x0000003CU),
  294. EMIT_MASKWRITE(0XF8006028, 0x00003FFFU, 0x00002007U),
  295. EMIT_MASKWRITE(0XF800602C, 0xFFFFFFFFU, 0x00000008U),
  296. EMIT_MASKWRITE(0XF8006030, 0xFFFFFFFFU, 0x00040930U),
  297. EMIT_MASKWRITE(0XF8006034, 0x13FF3FFFU, 0x000116D4U),
  298. EMIT_MASKWRITE(0XF8006038, 0x00001FC3U, 0x00000000U),
  299. EMIT_MASKWRITE(0XF800603C, 0x000FFFFFU, 0x00000777U),
  300. EMIT_MASKWRITE(0XF8006040, 0xFFFFFFFFU, 0xFFF00000U),
  301. EMIT_MASKWRITE(0XF8006044, 0x0FFFFFFFU, 0x0FF66666U),
  302. EMIT_MASKWRITE(0XF8006048, 0x3FFFFFFFU, 0x0003C248U),
  303. EMIT_MASKWRITE(0XF8006050, 0xFF0F8FFFU, 0x77010800U),
  304. EMIT_MASKWRITE(0XF8006058, 0x0001FFFFU, 0x00000101U),
  305. EMIT_MASKWRITE(0XF800605C, 0x0000FFFFU, 0x00005003U),
  306. EMIT_MASKWRITE(0XF8006060, 0x000017FFU, 0x0000003EU),
  307. EMIT_MASKWRITE(0XF8006064, 0x00021FE0U, 0x00020000U),
  308. EMIT_MASKWRITE(0XF8006068, 0x03FFFFFFU, 0x00284141U),
  309. EMIT_MASKWRITE(0XF800606C, 0x0000FFFFU, 0x00001610U),
  310. EMIT_MASKWRITE(0XF8006078, 0x03FFFFFFU, 0x00466111U),
  311. EMIT_MASKWRITE(0XF800607C, 0x000FFFFFU, 0x00032222U),
  312. EMIT_MASKWRITE(0XF80060A0, 0x00FFFFFFU, 0x00008000U),
  313. EMIT_MASKWRITE(0XF80060A4, 0xFFFFFFFFU, 0x10200802U),
  314. EMIT_MASKWRITE(0XF80060A8, 0x0FFFFFFFU, 0x0690CB73U),
  315. EMIT_MASKWRITE(0XF80060AC, 0x000001FFU, 0x000001FEU),
  316. EMIT_MASKWRITE(0XF80060B0, 0x1FFFFFFFU, 0x1CFFFFFFU),
  317. EMIT_MASKWRITE(0XF80060B4, 0x000007FFU, 0x00000200U),
  318. EMIT_MASKWRITE(0XF80060B8, 0x01FFFFFFU, 0x00200066U),
  319. EMIT_MASKWRITE(0XF80060C4, 0x00000003U, 0x00000003U),
  320. EMIT_MASKWRITE(0XF80060C4, 0x00000003U, 0x00000000U),
  321. EMIT_MASKWRITE(0XF80060C8, 0x000000FFU, 0x00000000U),
  322. EMIT_MASKWRITE(0XF80060DC, 0x00000001U, 0x00000000U),
  323. EMIT_MASKWRITE(0XF80060F0, 0x0000FFFFU, 0x00000000U),
  324. EMIT_MASKWRITE(0XF80060F4, 0x0000000FU, 0x00000008U),
  325. EMIT_MASKWRITE(0XF8006114, 0x000000FFU, 0x00000000U),
  326. EMIT_MASKWRITE(0XF8006118, 0x7FFFFFFFU, 0x40000001U),
  327. EMIT_MASKWRITE(0XF800611C, 0x7FFFFFFFU, 0x40000001U),
  328. EMIT_MASKWRITE(0XF8006120, 0x7FFFFFFFU, 0x40000001U),
  329. EMIT_MASKWRITE(0XF8006124, 0x7FFFFFFFU, 0x40000001U),
  330. EMIT_MASKWRITE(0XF800612C, 0x000FFFFFU, 0x0002880BU),
  331. EMIT_MASKWRITE(0XF8006130, 0x000FFFFFU, 0x0002840CU),
  332. EMIT_MASKWRITE(0XF8006134, 0x000FFFFFU, 0x00025804U),
  333. EMIT_MASKWRITE(0XF8006138, 0x000FFFFFU, 0x00026004U),
  334. EMIT_MASKWRITE(0XF8006140, 0x000FFFFFU, 0x00000035U),
  335. EMIT_MASKWRITE(0XF8006144, 0x000FFFFFU, 0x00000035U),
  336. EMIT_MASKWRITE(0XF8006148, 0x000FFFFFU, 0x00000035U),
  337. EMIT_MASKWRITE(0XF800614C, 0x000FFFFFU, 0x00000035U),
  338. EMIT_MASKWRITE(0XF8006154, 0x000FFFFFU, 0x0000008BU),
  339. EMIT_MASKWRITE(0XF8006158, 0x000FFFFFU, 0x0000008CU),
  340. EMIT_MASKWRITE(0XF800615C, 0x000FFFFFU, 0x00000084U),
  341. EMIT_MASKWRITE(0XF8006160, 0x000FFFFFU, 0x00000084U),
  342. EMIT_MASKWRITE(0XF8006168, 0x001FFFFFU, 0x000000F7U),
  343. EMIT_MASKWRITE(0XF800616C, 0x001FFFFFU, 0x000000F6U),
  344. EMIT_MASKWRITE(0XF8006170, 0x001FFFFFU, 0x000000EBU),
  345. EMIT_MASKWRITE(0XF8006174, 0x001FFFFFU, 0x000000EDU),
  346. EMIT_MASKWRITE(0XF800617C, 0x000FFFFFU, 0x000000CBU),
  347. EMIT_MASKWRITE(0XF8006180, 0x000FFFFFU, 0x000000CCU),
  348. EMIT_MASKWRITE(0XF8006184, 0x000FFFFFU, 0x000000C4U),
  349. EMIT_MASKWRITE(0XF8006188, 0x000FFFFFU, 0x000000C4U),
  350. EMIT_MASKWRITE(0XF8006190, 0xFFFFFFFFU, 0x10040080U),
  351. EMIT_MASKWRITE(0XF8006194, 0x000FFFFFU, 0x0001FC82U),
  352. EMIT_MASKWRITE(0XF8006204, 0xFFFFFFFFU, 0x00000000U),
  353. EMIT_MASKWRITE(0XF8006208, 0x000F03FFU, 0x000803FFU),
  354. EMIT_MASKWRITE(0XF800620C, 0x000F03FFU, 0x000803FFU),
  355. EMIT_MASKWRITE(0XF8006210, 0x000F03FFU, 0x000803FFU),
  356. EMIT_MASKWRITE(0XF8006214, 0x000F03FFU, 0x000803FFU),
  357. EMIT_MASKWRITE(0XF8006218, 0x000F03FFU, 0x000003FFU),
  358. EMIT_MASKWRITE(0XF800621C, 0x000F03FFU, 0x000003FFU),
  359. EMIT_MASKWRITE(0XF8006220, 0x000F03FFU, 0x000003FFU),
  360. EMIT_MASKWRITE(0XF8006224, 0x000F03FFU, 0x000003FFU),
  361. EMIT_MASKWRITE(0XF80062A8, 0x00000FF7U, 0x00000000U),
  362. EMIT_MASKWRITE(0XF80062AC, 0xFFFFFFFFU, 0x00000000U),
  363. EMIT_MASKWRITE(0XF80062B0, 0x003FFFFFU, 0x00005125U),
  364. EMIT_MASKWRITE(0XF80062B4, 0x0003FFFFU, 0x000012A8U),
  365. EMIT_MASKPOLL(0XF8000B74, 0x00002000U),
  366. EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU, 0x00000081U),
  367. EMIT_MASKPOLL(0XF8006054, 0x00000007U),
  368. EMIT_EXIT(),
  369. };
  370. static unsigned long ps7_mio_init_data_2_0[] = {
  371. EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
  372. EMIT_MASKWRITE(0XF8000B40, 0x00000FFFU, 0x00000600U),
  373. EMIT_MASKWRITE(0XF8000B44, 0x00000FFFU, 0x00000600U),
  374. EMIT_MASKWRITE(0XF8000B48, 0x00000FFFU, 0x00000672U),
  375. EMIT_MASKWRITE(0XF8000B4C, 0x00000FFFU, 0x00000672U),
  376. EMIT_MASKWRITE(0XF8000B50, 0x00000FFFU, 0x00000674U),
  377. EMIT_MASKWRITE(0XF8000B54, 0x00000FFFU, 0x00000674U),
  378. EMIT_MASKWRITE(0XF8000B58, 0x00000FFFU, 0x00000600U),
  379. EMIT_MASKWRITE(0XF8000B5C, 0xFFFFFFFFU, 0x0018C61CU),
  380. EMIT_MASKWRITE(0XF8000B60, 0xFFFFFFFFU, 0x00F9861CU),
  381. EMIT_MASKWRITE(0XF8000B64, 0xFFFFFFFFU, 0x00F9861CU),
  382. EMIT_MASKWRITE(0XF8000B68, 0xFFFFFFFFU, 0x00F9861CU),
  383. EMIT_MASKWRITE(0XF8000B6C, 0x00007FFFU, 0x00000260U),
  384. EMIT_MASKWRITE(0XF8000B70, 0x00000021U, 0x00000021U),
  385. EMIT_MASKWRITE(0XF8000B70, 0x00000021U, 0x00000020U),
  386. EMIT_MASKWRITE(0XF8000B70, 0x07FFFFFFU, 0x00000823U),
  387. EMIT_MASKWRITE(0XF8000700, 0x00003FFFU, 0x00001600U),
  388. EMIT_MASKWRITE(0XF8000704, 0x00003FFFU, 0x00001602U),
  389. EMIT_MASKWRITE(0XF8000708, 0x00003FFFU, 0x00000602U),
  390. EMIT_MASKWRITE(0XF800070C, 0x00003FFFU, 0x00000602U),
  391. EMIT_MASKWRITE(0XF8000710, 0x00003FFFU, 0x00000602U),
  392. EMIT_MASKWRITE(0XF8000714, 0x00003FFFU, 0x00000602U),
  393. EMIT_MASKWRITE(0XF8000718, 0x00003FFFU, 0x00000602U),
  394. EMIT_MASKWRITE(0XF800071C, 0x00003FFFU, 0x00000600U),
  395. EMIT_MASKWRITE(0XF8000720, 0x00003FFFU, 0x00000602U),
  396. EMIT_MASKWRITE(0XF8000724, 0x00003FFFU, 0x00001600U),
  397. EMIT_MASKWRITE(0XF8000728, 0x00003FFFU, 0x00001680U),
  398. EMIT_MASKWRITE(0XF800072C, 0x00003FFFU, 0x00001680U),
  399. EMIT_MASKWRITE(0XF8000730, 0x00003FFFU, 0x00001680U),
  400. EMIT_MASKWRITE(0XF8000734, 0x00003FFFU, 0x00001680U),
  401. EMIT_MASKWRITE(0XF8000738, 0x00003FFFU, 0x00001680U),
  402. EMIT_MASKWRITE(0XF800073C, 0x00003FFFU, 0x00001680U),
  403. EMIT_MASKWRITE(0XF8000740, 0x00003FFFU, 0x00001202U),
  404. EMIT_MASKWRITE(0XF8000744, 0x00003FFFU, 0x00001202U),
  405. EMIT_MASKWRITE(0XF8000748, 0x00003FFFU, 0x00001202U),
  406. EMIT_MASKWRITE(0XF800074C, 0x00003FFFU, 0x00001202U),
  407. EMIT_MASKWRITE(0XF8000750, 0x00003FFFU, 0x00001202U),
  408. EMIT_MASKWRITE(0XF8000754, 0x00003FFFU, 0x00001202U),
  409. EMIT_MASKWRITE(0XF8000758, 0x00003FFFU, 0x00001203U),
  410. EMIT_MASKWRITE(0XF800075C, 0x00003FFFU, 0x00001203U),
  411. EMIT_MASKWRITE(0XF8000760, 0x00003FFFU, 0x00001203U),
  412. EMIT_MASKWRITE(0XF8000764, 0x00003FFFU, 0x00001203U),
  413. EMIT_MASKWRITE(0XF8000768, 0x00003FFFU, 0x00001203U),
  414. EMIT_MASKWRITE(0XF800076C, 0x00003FFFU, 0x00001203U),
  415. EMIT_MASKWRITE(0XF8000770, 0x00003FFFU, 0x00001204U),
  416. EMIT_MASKWRITE(0XF8000774, 0x00003FFFU, 0x00001205U),
  417. EMIT_MASKWRITE(0XF8000778, 0x00003FFFU, 0x00001204U),
  418. EMIT_MASKWRITE(0XF800077C, 0x00003FFFU, 0x00001205U),
  419. EMIT_MASKWRITE(0XF8000780, 0x00003FFFU, 0x00001204U),
  420. EMIT_MASKWRITE(0XF8000784, 0x00003FFFU, 0x00001204U),
  421. EMIT_MASKWRITE(0XF8000788, 0x00003FFFU, 0x00001204U),
  422. EMIT_MASKWRITE(0XF800078C, 0x00003FFFU, 0x00001204U),
  423. EMIT_MASKWRITE(0XF8000790, 0x00003FFFU, 0x00001205U),
  424. EMIT_MASKWRITE(0XF8000794, 0x00003FFFU, 0x00001204U),
  425. EMIT_MASKWRITE(0XF8000798, 0x00003FFFU, 0x00001204U),
  426. EMIT_MASKWRITE(0XF800079C, 0x00003FFFU, 0x00001204U),
  427. EMIT_MASKWRITE(0XF80007A0, 0x00003FFFU, 0x00001204U),
  428. EMIT_MASKWRITE(0XF80007A4, 0x00003FFFU, 0x00001205U),
  429. EMIT_MASKWRITE(0XF80007A8, 0x00003FFFU, 0x00001204U),
  430. EMIT_MASKWRITE(0XF80007AC, 0x00003FFFU, 0x00001205U),
  431. EMIT_MASKWRITE(0XF80007B0, 0x00003FFFU, 0x00001204U),
  432. EMIT_MASKWRITE(0XF80007B4, 0x00003FFFU, 0x00001204U),
  433. EMIT_MASKWRITE(0XF80007B8, 0x00003FFFU, 0x00001204U),
  434. EMIT_MASKWRITE(0XF80007BC, 0x00003FFFU, 0x00001204U),
  435. EMIT_MASKWRITE(0XF80007C0, 0x00003FFFU, 0x00001205U),
  436. EMIT_MASKWRITE(0XF80007C4, 0x00003FFFU, 0x00001204U),
  437. EMIT_MASKWRITE(0XF80007C8, 0x00003FFFU, 0x00001204U),
  438. EMIT_MASKWRITE(0XF80007CC, 0x00003FFFU, 0x00001204U),
  439. EMIT_MASKWRITE(0XF80007D0, 0x00003FFFU, 0x00001280U),
  440. EMIT_MASKWRITE(0XF80007D4, 0x00003FFFU, 0x00001280U),
  441. EMIT_MASKWRITE(0XF8000834, 0x003F003FU, 0x003A0039U),
  442. EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
  443. EMIT_EXIT(),
  444. };
  445. static unsigned long ps7_peripherals_init_data_2_0[] = {
  446. EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
  447. EMIT_MASKWRITE(0XF8000B48, 0x00000180U, 0x00000180U),
  448. EMIT_MASKWRITE(0XF8000B4C, 0x00000180U, 0x00000180U),
  449. EMIT_MASKWRITE(0XF8000B50, 0x00000180U, 0x00000180U),
  450. EMIT_MASKWRITE(0XF8000B54, 0x00000180U, 0x00000180U),
  451. EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
  452. EMIT_MASKWRITE(0XE000D000, 0x00080000U, 0x00080000U),
  453. EMIT_MASKWRITE(0XF8007000, 0x20000000U, 0x00000000U),
  454. EMIT_MASKDELAY(0XF8F00200, 1),
  455. EMIT_MASKDELAY(0XF8F00200, 1),
  456. EMIT_MASKDELAY(0XF8F00200, 1),
  457. EMIT_MASKDELAY(0XF8F00200, 1),
  458. EMIT_MASKDELAY(0XF8F00200, 1),
  459. EMIT_MASKDELAY(0XF8F00200, 1),
  460. EMIT_EXIT(),
  461. };
  462. static unsigned long ps7_post_config_2_0[] = {
  463. EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
  464. EMIT_MASKWRITE(0XF8000900, 0x0000000FU, 0x0000000FU),
  465. EMIT_MASKWRITE(0XF8000240, 0xFFFFFFFFU, 0x00000000U),
  466. EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
  467. EMIT_EXIT(),
  468. };
  469. static unsigned long ps7_pll_init_data_1_0[] = {
  470. EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
  471. EMIT_MASKWRITE(0XF8000110, 0x003FFFF0U, 0x000FA220U),
  472. EMIT_MASKWRITE(0XF8000100, 0x0007F000U, 0x00028000U),
  473. EMIT_MASKWRITE(0XF8000100, 0x00000010U, 0x00000010U),
  474. EMIT_MASKWRITE(0XF8000100, 0x00000001U, 0x00000001U),
  475. EMIT_MASKWRITE(0XF8000100, 0x00000001U, 0x00000000U),
  476. EMIT_MASKPOLL(0XF800010C, 0x00000001U),
  477. EMIT_MASKWRITE(0XF8000100, 0x00000010U, 0x00000000U),
  478. EMIT_MASKWRITE(0XF8000120, 0x1F003F30U, 0x1F000200U),
  479. EMIT_MASKWRITE(0XF8000114, 0x003FFFF0U, 0x0012C220U),
  480. EMIT_MASKWRITE(0XF8000104, 0x0007F000U, 0x00020000U),
  481. EMIT_MASKWRITE(0XF8000104, 0x00000010U, 0x00000010U),
  482. EMIT_MASKWRITE(0XF8000104, 0x00000001U, 0x00000001U),
  483. EMIT_MASKWRITE(0XF8000104, 0x00000001U, 0x00000000U),
  484. EMIT_MASKPOLL(0XF800010C, 0x00000002U),
  485. EMIT_MASKWRITE(0XF8000104, 0x00000010U, 0x00000000U),
  486. EMIT_MASKWRITE(0XF8000124, 0xFFF00003U, 0x0C200003U),
  487. EMIT_MASKWRITE(0XF8000118, 0x003FFFF0U, 0x001452C0U),
  488. EMIT_MASKWRITE(0XF8000108, 0x0007F000U, 0x0001E000U),
  489. EMIT_MASKWRITE(0XF8000108, 0x00000010U, 0x00000010U),
  490. EMIT_MASKWRITE(0XF8000108, 0x00000001U, 0x00000001U),
  491. EMIT_MASKWRITE(0XF8000108, 0x00000001U, 0x00000000U),
  492. EMIT_MASKPOLL(0XF800010C, 0x00000004U),
  493. EMIT_MASKWRITE(0XF8000108, 0x00000010U, 0x00000000U),
  494. EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
  495. EMIT_EXIT(),
  496. };
  497. static unsigned long ps7_clock_init_data_1_0[] = {
  498. EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
  499. EMIT_MASKWRITE(0XF8000128, 0x03F03F01U, 0x00302301U),
  500. EMIT_MASKWRITE(0XF8000138, 0x00000011U, 0x00000001U),
  501. EMIT_MASKWRITE(0XF8000140, 0x03F03F71U, 0x00100801U),
  502. EMIT_MASKWRITE(0XF800014C, 0x00003F31U, 0x00000501U),
  503. EMIT_MASKWRITE(0XF8000150, 0x00003F33U, 0x00000A02U),
  504. EMIT_MASKWRITE(0XF8000154, 0x00003F33U, 0x00000A01U),
  505. EMIT_MASKWRITE(0XF8000168, 0x00003F31U, 0x00000501U),
  506. EMIT_MASKWRITE(0XF8000170, 0x03F03F30U, 0x00100A00U),
  507. EMIT_MASKWRITE(0XF8000180, 0x03F03F30U, 0x00101400U),
  508. EMIT_MASKWRITE(0XF8000190, 0x03F03F30U, 0x00101400U),
  509. EMIT_MASKWRITE(0XF80001A0, 0x03F03F30U, 0x00101400U),
  510. EMIT_MASKWRITE(0XF80001C4, 0x00000001U, 0x00000001U),
  511. EMIT_MASKWRITE(0XF800012C, 0x01FFCCCDU, 0x01DC084DU),
  512. EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
  513. EMIT_EXIT(),
  514. };
  515. static unsigned long ps7_ddr_init_data_1_0[] = {
  516. EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU, 0x00000080U),
  517. EMIT_MASKWRITE(0XF8006004, 0x1FFFFFFFU, 0x00081081U),
  518. EMIT_MASKWRITE(0XF8006008, 0x03FFFFFFU, 0x03C0780FU),
  519. EMIT_MASKWRITE(0XF800600C, 0x03FFFFFFU, 0x02001001U),
  520. EMIT_MASKWRITE(0XF8006010, 0x03FFFFFFU, 0x00014001U),
  521. EMIT_MASKWRITE(0XF8006014, 0x001FFFFFU, 0x0004159BU),
  522. EMIT_MASKWRITE(0XF8006018, 0xF7FFFFFFU, 0x452460D2U),
  523. EMIT_MASKWRITE(0XF800601C, 0xFFFFFFFFU, 0x720238E5U),
  524. EMIT_MASKWRITE(0XF8006020, 0xFFFFFFFCU, 0x272872D0U),
  525. EMIT_MASKWRITE(0XF8006024, 0x0FFFFFFFU, 0x0000003CU),
  526. EMIT_MASKWRITE(0XF8006028, 0x00003FFFU, 0x00002007U),
  527. EMIT_MASKWRITE(0XF800602C, 0xFFFFFFFFU, 0x00000008U),
  528. EMIT_MASKWRITE(0XF8006030, 0xFFFFFFFFU, 0x00040930U),
  529. EMIT_MASKWRITE(0XF8006034, 0x13FF3FFFU, 0x000116D4U),
  530. EMIT_MASKWRITE(0XF8006038, 0x00001FC3U, 0x00000000U),
  531. EMIT_MASKWRITE(0XF800603C, 0x000FFFFFU, 0x00000777U),
  532. EMIT_MASKWRITE(0XF8006040, 0xFFFFFFFFU, 0xFFF00000U),
  533. EMIT_MASKWRITE(0XF8006044, 0x0FFFFFFFU, 0x0FF66666U),
  534. EMIT_MASKWRITE(0XF8006048, 0x3FFFFFFFU, 0x0003C248U),
  535. EMIT_MASKWRITE(0XF8006050, 0xFF0F8FFFU, 0x77010800U),
  536. EMIT_MASKWRITE(0XF8006058, 0x0001FFFFU, 0x00000101U),
  537. EMIT_MASKWRITE(0XF800605C, 0x0000FFFFU, 0x00005003U),
  538. EMIT_MASKWRITE(0XF8006060, 0x000017FFU, 0x0000003EU),
  539. EMIT_MASKWRITE(0XF8006064, 0x00021FE0U, 0x00020000U),
  540. EMIT_MASKWRITE(0XF8006068, 0x03FFFFFFU, 0x00284141U),
  541. EMIT_MASKWRITE(0XF800606C, 0x0000FFFFU, 0x00001610U),
  542. EMIT_MASKWRITE(0XF80060A0, 0x00FFFFFFU, 0x00008000U),
  543. EMIT_MASKWRITE(0XF80060A4, 0xFFFFFFFFU, 0x10200802U),
  544. EMIT_MASKWRITE(0XF80060A8, 0x0FFFFFFFU, 0x0690CB73U),
  545. EMIT_MASKWRITE(0XF80060AC, 0x000001FFU, 0x000001FEU),
  546. EMIT_MASKWRITE(0XF80060B0, 0x1FFFFFFFU, 0x1CFFFFFFU),
  547. EMIT_MASKWRITE(0XF80060B4, 0x000007FFU, 0x00000200U),
  548. EMIT_MASKWRITE(0XF80060B8, 0x01FFFFFFU, 0x00200066U),
  549. EMIT_MASKWRITE(0XF80060C4, 0x00000003U, 0x00000003U),
  550. EMIT_MASKWRITE(0XF80060C4, 0x00000003U, 0x00000000U),
  551. EMIT_MASKWRITE(0XF80060C8, 0x000000FFU, 0x00000000U),
  552. EMIT_MASKWRITE(0XF80060DC, 0x00000001U, 0x00000000U),
  553. EMIT_MASKWRITE(0XF80060F0, 0x0000FFFFU, 0x00000000U),
  554. EMIT_MASKWRITE(0XF80060F4, 0x0000000FU, 0x00000008U),
  555. EMIT_MASKWRITE(0XF8006114, 0x000000FFU, 0x00000000U),
  556. EMIT_MASKWRITE(0XF8006118, 0x7FFFFFFFU, 0x40000001U),
  557. EMIT_MASKWRITE(0XF800611C, 0x7FFFFFFFU, 0x40000001U),
  558. EMIT_MASKWRITE(0XF8006120, 0x7FFFFFFFU, 0x40000001U),
  559. EMIT_MASKWRITE(0XF8006124, 0x7FFFFFFFU, 0x40000001U),
  560. EMIT_MASKWRITE(0XF800612C, 0x000FFFFFU, 0x0002880BU),
  561. EMIT_MASKWRITE(0XF8006130, 0x000FFFFFU, 0x0002840CU),
  562. EMIT_MASKWRITE(0XF8006134, 0x000FFFFFU, 0x00025804U),
  563. EMIT_MASKWRITE(0XF8006138, 0x000FFFFFU, 0x00026004U),
  564. EMIT_MASKWRITE(0XF8006140, 0x000FFFFFU, 0x00000035U),
  565. EMIT_MASKWRITE(0XF8006144, 0x000FFFFFU, 0x00000035U),
  566. EMIT_MASKWRITE(0XF8006148, 0x000FFFFFU, 0x00000035U),
  567. EMIT_MASKWRITE(0XF800614C, 0x000FFFFFU, 0x00000035U),
  568. EMIT_MASKWRITE(0XF8006154, 0x000FFFFFU, 0x0000008BU),
  569. EMIT_MASKWRITE(0XF8006158, 0x000FFFFFU, 0x0000008CU),
  570. EMIT_MASKWRITE(0XF800615C, 0x000FFFFFU, 0x00000084U),
  571. EMIT_MASKWRITE(0XF8006160, 0x000FFFFFU, 0x00000084U),
  572. EMIT_MASKWRITE(0XF8006168, 0x001FFFFFU, 0x000000F7U),
  573. EMIT_MASKWRITE(0XF800616C, 0x001FFFFFU, 0x000000F6U),
  574. EMIT_MASKWRITE(0XF8006170, 0x001FFFFFU, 0x000000EBU),
  575. EMIT_MASKWRITE(0XF8006174, 0x001FFFFFU, 0x000000EDU),
  576. EMIT_MASKWRITE(0XF800617C, 0x000FFFFFU, 0x000000CBU),
  577. EMIT_MASKWRITE(0XF8006180, 0x000FFFFFU, 0x000000CCU),
  578. EMIT_MASKWRITE(0XF8006184, 0x000FFFFFU, 0x000000C4U),
  579. EMIT_MASKWRITE(0XF8006188, 0x000FFFFFU, 0x000000C4U),
  580. EMIT_MASKWRITE(0XF8006190, 0xFFFFFFFFU, 0x10040080U),
  581. EMIT_MASKWRITE(0XF8006194, 0x000FFFFFU, 0x0001FC82U),
  582. EMIT_MASKWRITE(0XF8006204, 0xFFFFFFFFU, 0x00000000U),
  583. EMIT_MASKWRITE(0XF8006208, 0x000F03FFU, 0x000803FFU),
  584. EMIT_MASKWRITE(0XF800620C, 0x000F03FFU, 0x000803FFU),
  585. EMIT_MASKWRITE(0XF8006210, 0x000F03FFU, 0x000803FFU),
  586. EMIT_MASKWRITE(0XF8006214, 0x000F03FFU, 0x000803FFU),
  587. EMIT_MASKWRITE(0XF8006218, 0x000F03FFU, 0x000003FFU),
  588. EMIT_MASKWRITE(0XF800621C, 0x000F03FFU, 0x000003FFU),
  589. EMIT_MASKWRITE(0XF8006220, 0x000F03FFU, 0x000003FFU),
  590. EMIT_MASKWRITE(0XF8006224, 0x000F03FFU, 0x000003FFU),
  591. EMIT_MASKWRITE(0XF80062A8, 0x00000FF7U, 0x00000000U),
  592. EMIT_MASKWRITE(0XF80062AC, 0xFFFFFFFFU, 0x00000000U),
  593. EMIT_MASKWRITE(0XF80062B0, 0x003FFFFFU, 0x00005125U),
  594. EMIT_MASKWRITE(0XF80062B4, 0x0003FFFFU, 0x000012A8U),
  595. EMIT_MASKPOLL(0XF8000B74, 0x00002000U),
  596. EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU, 0x00000081U),
  597. EMIT_MASKPOLL(0XF8006054, 0x00000007U),
  598. EMIT_EXIT(),
  599. };
  600. static unsigned long ps7_mio_init_data_1_0[] = {
  601. EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
  602. EMIT_MASKWRITE(0XF8000B40, 0x00000FFFU, 0x00000600U),
  603. EMIT_MASKWRITE(0XF8000B44, 0x00000FFFU, 0x00000600U),
  604. EMIT_MASKWRITE(0XF8000B48, 0x00000FFFU, 0x00000672U),
  605. EMIT_MASKWRITE(0XF8000B4C, 0x00000FFFU, 0x00000672U),
  606. EMIT_MASKWRITE(0XF8000B50, 0x00000FFFU, 0x00000674U),
  607. EMIT_MASKWRITE(0XF8000B54, 0x00000FFFU, 0x00000674U),
  608. EMIT_MASKWRITE(0XF8000B58, 0x00000FFFU, 0x00000600U),
  609. EMIT_MASKWRITE(0XF8000B5C, 0xFFFFFFFFU, 0x0018C61CU),
  610. EMIT_MASKWRITE(0XF8000B60, 0xFFFFFFFFU, 0x00F9861CU),
  611. EMIT_MASKWRITE(0XF8000B64, 0xFFFFFFFFU, 0x00F9861CU),
  612. EMIT_MASKWRITE(0XF8000B68, 0xFFFFFFFFU, 0x00F9861CU),
  613. EMIT_MASKWRITE(0XF8000B6C, 0x000073FFU, 0x00000260U),
  614. EMIT_MASKWRITE(0XF8000B70, 0x00000021U, 0x00000021U),
  615. EMIT_MASKWRITE(0XF8000B70, 0x00000021U, 0x00000020U),
  616. EMIT_MASKWRITE(0XF8000B70, 0x07FFFFFFU, 0x00000823U),
  617. EMIT_MASKWRITE(0XF8000700, 0x00003FFFU, 0x00001600U),
  618. EMIT_MASKWRITE(0XF8000704, 0x00003FFFU, 0x00001602U),
  619. EMIT_MASKWRITE(0XF8000708, 0x00003FFFU, 0x00000602U),
  620. EMIT_MASKWRITE(0XF800070C, 0x00003FFFU, 0x00000602U),
  621. EMIT_MASKWRITE(0XF8000710, 0x00003FFFU, 0x00000602U),
  622. EMIT_MASKWRITE(0XF8000714, 0x00003FFFU, 0x00000602U),
  623. EMIT_MASKWRITE(0XF8000718, 0x00003FFFU, 0x00000602U),
  624. EMIT_MASKWRITE(0XF800071C, 0x00003FFFU, 0x00000600U),
  625. EMIT_MASKWRITE(0XF8000720, 0x00003FFFU, 0x00000602U),
  626. EMIT_MASKWRITE(0XF8000724, 0x00003FFFU, 0x00001600U),
  627. EMIT_MASKWRITE(0XF8000728, 0x00003FFFU, 0x00001680U),
  628. EMIT_MASKWRITE(0XF800072C, 0x00003FFFU, 0x00001680U),
  629. EMIT_MASKWRITE(0XF8000730, 0x00003FFFU, 0x00001680U),
  630. EMIT_MASKWRITE(0XF8000734, 0x00003FFFU, 0x00001680U),
  631. EMIT_MASKWRITE(0XF8000738, 0x00003FFFU, 0x00001680U),
  632. EMIT_MASKWRITE(0XF800073C, 0x00003FFFU, 0x00001680U),
  633. EMIT_MASKWRITE(0XF8000740, 0x00003FFFU, 0x00001202U),
  634. EMIT_MASKWRITE(0XF8000744, 0x00003FFFU, 0x00001202U),
  635. EMIT_MASKWRITE(0XF8000748, 0x00003FFFU, 0x00001202U),
  636. EMIT_MASKWRITE(0XF800074C, 0x00003FFFU, 0x00001202U),
  637. EMIT_MASKWRITE(0XF8000750, 0x00003FFFU, 0x00001202U),
  638. EMIT_MASKWRITE(0XF8000754, 0x00003FFFU, 0x00001202U),
  639. EMIT_MASKWRITE(0XF8000758, 0x00003FFFU, 0x00001203U),
  640. EMIT_MASKWRITE(0XF800075C, 0x00003FFFU, 0x00001203U),
  641. EMIT_MASKWRITE(0XF8000760, 0x00003FFFU, 0x00001203U),
  642. EMIT_MASKWRITE(0XF8000764, 0x00003FFFU, 0x00001203U),
  643. EMIT_MASKWRITE(0XF8000768, 0x00003FFFU, 0x00001203U),
  644. EMIT_MASKWRITE(0XF800076C, 0x00003FFFU, 0x00001203U),
  645. EMIT_MASKWRITE(0XF8000770, 0x00003FFFU, 0x00001204U),
  646. EMIT_MASKWRITE(0XF8000774, 0x00003FFFU, 0x00001205U),
  647. EMIT_MASKWRITE(0XF8000778, 0x00003FFFU, 0x00001204U),
  648. EMIT_MASKWRITE(0XF800077C, 0x00003FFFU, 0x00001205U),
  649. EMIT_MASKWRITE(0XF8000780, 0x00003FFFU, 0x00001204U),
  650. EMIT_MASKWRITE(0XF8000784, 0x00003FFFU, 0x00001204U),
  651. EMIT_MASKWRITE(0XF8000788, 0x00003FFFU, 0x00001204U),
  652. EMIT_MASKWRITE(0XF800078C, 0x00003FFFU, 0x00001204U),
  653. EMIT_MASKWRITE(0XF8000790, 0x00003FFFU, 0x00001205U),
  654. EMIT_MASKWRITE(0XF8000794, 0x00003FFFU, 0x00001204U),
  655. EMIT_MASKWRITE(0XF8000798, 0x00003FFFU, 0x00001204U),
  656. EMIT_MASKWRITE(0XF800079C, 0x00003FFFU, 0x00001204U),
  657. EMIT_MASKWRITE(0XF80007A0, 0x00003FFFU, 0x00001204U),
  658. EMIT_MASKWRITE(0XF80007A4, 0x00003FFFU, 0x00001205U),
  659. EMIT_MASKWRITE(0XF80007A8, 0x00003FFFU, 0x00001204U),
  660. EMIT_MASKWRITE(0XF80007AC, 0x00003FFFU, 0x00001205U),
  661. EMIT_MASKWRITE(0XF80007B0, 0x00003FFFU, 0x00001204U),
  662. EMIT_MASKWRITE(0XF80007B4, 0x00003FFFU, 0x00001204U),
  663. EMIT_MASKWRITE(0XF80007B8, 0x00003FFFU, 0x00001204U),
  664. EMIT_MASKWRITE(0XF80007BC, 0x00003FFFU, 0x00001204U),
  665. EMIT_MASKWRITE(0XF80007C0, 0x00003FFFU, 0x00001205U),
  666. EMIT_MASKWRITE(0XF80007C4, 0x00003FFFU, 0x00001204U),
  667. EMIT_MASKWRITE(0XF80007C8, 0x00003FFFU, 0x00001204U),
  668. EMIT_MASKWRITE(0XF80007CC, 0x00003FFFU, 0x00001204U),
  669. EMIT_MASKWRITE(0XF80007D0, 0x00003FFFU, 0x00001280U),
  670. EMIT_MASKWRITE(0XF80007D4, 0x00003FFFU, 0x00001280U),
  671. EMIT_MASKWRITE(0XF8000834, 0x003F003FU, 0x003A0039U),
  672. EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
  673. EMIT_EXIT(),
  674. };
  675. static unsigned long ps7_peripherals_init_data_1_0[] = {
  676. EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
  677. EMIT_MASKWRITE(0XF8000B48, 0x00000180U, 0x00000180U),
  678. EMIT_MASKWRITE(0XF8000B4C, 0x00000180U, 0x00000180U),
  679. EMIT_MASKWRITE(0XF8000B50, 0x00000180U, 0x00000180U),
  680. EMIT_MASKWRITE(0XF8000B54, 0x00000180U, 0x00000180U),
  681. EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
  682. EMIT_MASKWRITE(0XE000D000, 0x00080000U, 0x00080000U),
  683. EMIT_MASKWRITE(0XF8007000, 0x20000000U, 0x00000000U),
  684. EMIT_MASKDELAY(0XF8F00200, 1),
  685. EMIT_MASKDELAY(0XF8F00200, 1),
  686. EMIT_MASKDELAY(0XF8F00200, 1),
  687. EMIT_MASKDELAY(0XF8F00200, 1),
  688. EMIT_MASKDELAY(0XF8F00200, 1),
  689. EMIT_MASKDELAY(0XF8F00200, 1),
  690. EMIT_EXIT(),
  691. };
  692. static unsigned long ps7_post_config_1_0[] = {
  693. EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
  694. EMIT_MASKWRITE(0XF8000900, 0x0000000FU, 0x0000000FU),
  695. EMIT_MASKWRITE(0XF8000240, 0xFFFFFFFFU, 0x00000000U),
  696. EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
  697. EMIT_EXIT(),
  698. };
  699. int ps7_post_config(void)
  700. {
  701. unsigned long si_ver = ps7GetSiliconVersion();
  702. int ret = -1;
  703. if (si_ver == PCW_SILICON_VERSION_1) {
  704. ret = ps7_config(ps7_post_config_1_0);
  705. if (ret != PS7_INIT_SUCCESS)
  706. return ret;
  707. } else if (si_ver == PCW_SILICON_VERSION_2) {
  708. ret = ps7_config(ps7_post_config_2_0);
  709. if (ret != PS7_INIT_SUCCESS)
  710. return ret;
  711. } else {
  712. ret = ps7_config(ps7_post_config_3_0);
  713. if (ret != PS7_INIT_SUCCESS)
  714. return ret;
  715. }
  716. return PS7_INIT_SUCCESS;
  717. }
  718. int ps7_init(void)
  719. {
  720. unsigned long si_ver = ps7GetSiliconVersion();
  721. unsigned long *ps7_mio_init_data;
  722. unsigned long *ps7_pll_init_data;
  723. unsigned long *ps7_clock_init_data;
  724. unsigned long *ps7_ddr_init_data;
  725. unsigned long *ps7_peripherals_init_data;
  726. int ret;
  727. if (si_ver == PCW_SILICON_VERSION_1) {
  728. ps7_mio_init_data = ps7_mio_init_data_1_0;
  729. ps7_pll_init_data = ps7_pll_init_data_1_0;
  730. ps7_clock_init_data = ps7_clock_init_data_1_0;
  731. ps7_ddr_init_data = ps7_ddr_init_data_1_0;
  732. ps7_peripherals_init_data = ps7_peripherals_init_data_1_0;
  733. } else if (si_ver == PCW_SILICON_VERSION_2) {
  734. ps7_mio_init_data = ps7_mio_init_data_2_0;
  735. ps7_pll_init_data = ps7_pll_init_data_2_0;
  736. ps7_clock_init_data = ps7_clock_init_data_2_0;
  737. ps7_ddr_init_data = ps7_ddr_init_data_2_0;
  738. ps7_peripherals_init_data = ps7_peripherals_init_data_2_0;
  739. } else {
  740. ps7_mio_init_data = ps7_mio_init_data_3_0;
  741. ps7_pll_init_data = ps7_pll_init_data_3_0;
  742. ps7_clock_init_data = ps7_clock_init_data_3_0;
  743. ps7_ddr_init_data = ps7_ddr_init_data_3_0;
  744. ps7_peripherals_init_data = ps7_peripherals_init_data_3_0;
  745. }
  746. ret = ps7_config(ps7_mio_init_data);
  747. if (ret != PS7_INIT_SUCCESS)
  748. return ret;
  749. ret = ps7_config(ps7_pll_init_data);
  750. if (ret != PS7_INIT_SUCCESS)
  751. return ret;
  752. ret = ps7_config(ps7_clock_init_data);
  753. if (ret != PS7_INIT_SUCCESS)
  754. return ret;
  755. ret = ps7_config(ps7_ddr_init_data);
  756. if (ret != PS7_INIT_SUCCESS)
  757. return ret;
  758. ret = ps7_config(ps7_peripherals_init_data);
  759. if (ret != PS7_INIT_SUCCESS)
  760. return ret;
  761. return PS7_INIT_SUCCESS;
  762. }