plugin.S 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Copyright (C) 2016 Freescale Semiconductor, Inc.
  4. */
  5. #include <config.h>
  6. /* DDR script */
  7. .macro imx6ull_ddr3_evk_setting
  8. ldr r0, =IOMUXC_BASE_ADDR
  9. ldr r1, =0x000C0000
  10. str r1, [r0, #0x4B4]
  11. ldr r1, =0x00000000
  12. str r1, [r0, #0x4AC]
  13. ldr r1, =0x00000030
  14. str r1, [r0, #0x27C]
  15. ldr r1, =0x00000030
  16. str r1, [r0, #0x250]
  17. str r1, [r0, #0x24C]
  18. str r1, [r0, #0x490]
  19. ldr r1, =0x000C0030
  20. str r1, [r0, #0x288]
  21. ldr r1, =0x00000000
  22. str r1, [r0, #0x270]
  23. ldr r1, =0x00000030
  24. str r1, [r0, #0x260]
  25. str r1, [r0, #0x264]
  26. str r1, [r0, #0x4A0]
  27. ldr r1, =0x00020000
  28. str r1, [r0, #0x494]
  29. ldr r1, =0x00000030
  30. str r1, [r0, #0x280]
  31. ldr r1, =0x00000030
  32. str r1, [r0, #0x284]
  33. ldr r1, =0x00020000
  34. str r1, [r0, #0x4B0]
  35. ldr r1, =0x00000030
  36. str r1, [r0, #0x498]
  37. str r1, [r0, #0x4A4]
  38. str r1, [r0, #0x244]
  39. str r1, [r0, #0x248]
  40. ldr r0, =MMDC_P0_BASE_ADDR
  41. ldr r1, =0x00008000
  42. str r1, [r0, #0x1C]
  43. ldr r1, =0xA1390003
  44. str r1, [r0, #0x800]
  45. ldr r1, =0x00000004
  46. str r1, [r0, #0x80C]
  47. ldr r1, =0x41640158
  48. str r1, [r0, #0x83C]
  49. ldr r1, =0x40403237
  50. str r1, [r0, #0x848]
  51. ldr r1, =0x40403C33
  52. str r1, [r0, #0x850]
  53. ldr r1, =0x33333333
  54. str r1, [r0, #0x81C]
  55. str r1, [r0, #0x820]
  56. ldr r1, =0xF3333333
  57. str r1, [r0, #0x82C]
  58. str r1, [r0, #0x830]
  59. ldr r1, =0x00944009
  60. str r1, [r0, #0x8C0]
  61. ldr r1, =0x00000800
  62. str r1, [r0, #0x8B8]
  63. ldr r1, =0x0002002D
  64. str r1, [r0, #0x004]
  65. ldr r1, =0x1B333030
  66. str r1, [r0, #0x008]
  67. ldr r1, =0x676B52F3
  68. str r1, [r0, #0x00C]
  69. ldr r1, =0xB66D0B63
  70. str r1, [r0, #0x010]
  71. ldr r1, =0x01FF00DB
  72. str r1, [r0, #0x014]
  73. ldr r1, =0x00201740
  74. str r1, [r0, #0x018]
  75. ldr r1, =0x00008000
  76. str r1, [r0, #0x01C]
  77. ldr r1, =0x000026D2
  78. str r1, [r0, #0x02C]
  79. ldr r1, =0x006B1023
  80. str r1, [r0, #0x030]
  81. ldr r1, =0x0000004F
  82. str r1, [r0, #0x040]
  83. ldr r1, =0x84180000
  84. str r1, [r0, #0x000]
  85. ldr r1, =0x00400000
  86. str r1, [r0, #0x890]
  87. ldr r1, =0x02008032
  88. str r1, [r0, #0x01C]
  89. ldr r1, =0x00008033
  90. str r1, [r0, #0x01C]
  91. ldr r1, =0x00048031
  92. str r1, [r0, #0x01C]
  93. ldr r1, =0x15208030
  94. str r1, [r0, #0x01C]
  95. ldr r1, =0x04008040
  96. str r1, [r0, #0x01C]
  97. ldr r1, =0x00000800
  98. str r1, [r0, #0x020]
  99. ldr r1, =0x00000227
  100. str r1, [r0, #0x818]
  101. ldr r1, =0x0002552D
  102. str r1, [r0, #0x004]
  103. ldr r1, =0x00011006
  104. str r1, [r0, #0x404]
  105. ldr r1, =0x00000000
  106. str r1, [r0, #0x01C]
  107. .endm
  108. .macro imx6_clock_gating
  109. ldr r0, =CCM_BASE_ADDR
  110. ldr r1, =0xFFFFFFFF
  111. str r1, [r0, #0x68]
  112. str r1, [r0, #0x6C]
  113. str r1, [r0, #0x70]
  114. str r1, [r0, #0x74]
  115. str r1, [r0, #0x78]
  116. str r1, [r0, #0x7C]
  117. str r1, [r0, #0x80]
  118. .endm
  119. .macro imx6_qos_setting
  120. .endm
  121. .macro imx6_ddr_setting
  122. imx6ull_ddr3_evk_setting
  123. .endm
  124. /* include the common plugin code here */
  125. #include <asm/arch/mx6_plugin.S>