plugin.S 2.7 KB

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