kwbimage_256M8_1.cfg 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. #
  2. # (C) Copyright 2012
  3. # Stefan Bigler, Keymile AG, stefan.bigler@keymile.com
  4. # Norbert Mayer, Keymile AG, norbert.mayer@keymile.com
  5. # Deepak Patel, XENTECH Limited, deepak.patel@xentech.co.uk
  6. #
  7. # See file CREDITS for list of people who contributed to this
  8. # project.
  9. #
  10. # This program is free software; you can redistribute it and/or
  11. # modify it under the terms of the GNU General Public License as
  12. # published by the Free Software Foundation; either version 2 of
  13. # the License, or (at your option) any later version.
  14. #
  15. # This program is distributed in the hope that it will be useful,
  16. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. # GNU General Public License for more details.
  19. #
  20. # You should have received a copy of the GNU General Public License
  21. # along with this program; if not, write to the Free Software
  22. # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  23. # MA 02110-1301 USA
  24. #
  25. # Refer doc/README.kwbimage for more details about how-to configure
  26. # and create kirkwood boot image
  27. #
  28. # This configuration applies to COGE5 design (ARM-part)
  29. # Two 8-Bit devices are connected on the 16-Bit bus on the same
  30. # chip-select. The supported devices are
  31. # MT47H256M8EB-3IT:C
  32. # MT47H256M8EB-25EIT:C
  33. # Boot Media configurations
  34. BOOT_FROM spi # Boot from SPI flash
  35. DATA 0xFFD10000 0x01112222 # MPP Control 0 Register
  36. # bit 3-0: 2, MPPSel0 SPI_CSn (1=NF_IO[2])
  37. # bit 7-4: 2, MPPSel1 SPI_MOSI (1=NF_IO[3])
  38. # bit 12-8: 2, MPPSel2 SPI_SCK (1=NF_IO[4])
  39. # bit 15-12: 2, MPPSel3 SPI_MISO (1=NF_IO[5])
  40. # bit 19-16: 1, MPPSel4 NF_IO[6]
  41. # bit 23-20: 1, MPPSel5 NF_IO[7]
  42. # bit 27-24: 1, MPPSel6 SYSRST_O
  43. # bit 31-28: 0, MPPSel7 GPO[7]
  44. DATA 0xFFD10004 0x03303300 # MPP Control 1 Register
  45. # bit 3-0: 0, MPPSel8 GPIO[8] CPU_SDA bitbanged
  46. # bit 7-4: 0, MPPSel9 GPIO[9] CPU_SCL bitbanged
  47. # bit 12-8: 3, MPPSel10 UA0_TXD
  48. # bit 15-12: 3, MPPSel11 UA0_RXD
  49. # bit 19-16: 0, MPPSel12 not connected
  50. # bit 23-20: 3, MPPSel13 GPIO[14]
  51. # bit 27-24: 3, MPPSel14 GPIO[15]
  52. # bit 31-28: 0, MPPSel15 GPIO[16] BOOT_FL_SEL (SPI-MUX Signal)
  53. DATA 0xFFD10008 0x00001100 # MPP Control 2 Register
  54. # bit 3-0: 0, MPPSel16 GPIO[16]
  55. # bit 7-4: 0, MPPSel17 not connected
  56. # bit 11-8: 1, MPPSel18 NF_IO[0]
  57. # bit 15-12: 1, MPPSel19 NF_IO[1]
  58. # bit 19-16: 0, MPPSel20 GPIO[20]
  59. # bit 23-20: 0, MPPSel21 GPIO[21]
  60. # bit 27-24: 0, MPPSel22 GPIO[22]
  61. # bit 31-28: 0, MPPSel23 GPIO[23]
  62. # MPP Control 3-6 Register untouched (MPP24-49)
  63. DATA 0xFFD100E0 0x1B1B1B1B # IO Configuration 0 Register
  64. # bit 2-0: 3, Reserved
  65. # bit 5-3: 3, Reserved
  66. # bit 6: 0, Reserved
  67. # bit 7: 0, RGMII-pads voltage = 3.3V
  68. # bit 10-8: 3, Reserved
  69. # bit 13-11: 3, Reserved
  70. # bit 14: 0, Reserved
  71. # bit 15: 0, MPP RGMII-pads voltage = 3.3V
  72. # bit 31-16 0x1B1B, Reserved
  73. DATA 0xFFD20134 0x66666666 # L2 RAM Timing 0 Register
  74. # bit 0-1: 2, Tag RAM RTC RAM0
  75. # bit 3-2: 1, Tag RAM WTC RAM0
  76. # bit 7-4: 6, Reserved
  77. # bit 9-8: 2, Valid RAM RTC RAM
  78. # bit 11-10: 1, Valid RAM WTC RAM
  79. # bit 13-12: 2, Dirty RAM RTC RAM
  80. # bit 15-14: 1, Dirty RAM WTC RAM
  81. # bit 17-16: 2, Data RAM RTC RAM0
  82. # bit 19-18: 1, Data RAM WTC RAM0
  83. # bit 21-20: 2, Data RAM RTC RAM1
  84. # bit 23-22: 1, Data RAM WTC RAM1
  85. # bit 25-24: 2, Data RAM RTC RAM2
  86. # bit 27-26: 1, Data RAM WTC RAM2
  87. # bit 29-28: 2, Data RAM RTC RAM3
  88. # bit 31-30: 1, Data RAM WTC RAM4
  89. DATA 0xFFD20138 0x66666666 # L2 RAM Timing 1 Register
  90. # bit 15-0: ?, Reserved
  91. # bit 17-16: 2, ECC RAM RTC RAM0
  92. # bit 19-18: 1, ECC RAM WTC RAM0
  93. # bit 31-20: ?,Reserved
  94. # NOTE: Don't write on 0x20148 , 0x2014c and 0x20154, leave them untouched!
  95. # If not it could cause KW Exceptions during boot in Fast Corners/High Voltage
  96. # SDRAM initalization
  97. DATA 0xFFD01400 0x430004E0 # SDRAM Configuration Register
  98. # bit 13-0: 0x4E0, DDR2 clks refresh rate
  99. # bit 14: 0, reserved
  100. # bit 15: 0, reserved
  101. # bit 16: 0, CPU to Dram Write buffer policy
  102. # bit 17: 0, Enable Registered DIMM or Equivalent Sampling Logic
  103. # bit 19-18: 0, reserved
  104. # bit 23-20: 0, reserved
  105. # bit 24: 1, enable exit self refresh mode on DDR access
  106. # bit 25: 1, required
  107. # bit 29-26: 0, reserved
  108. # bit 31-30: 1, reserved
  109. DATA 0xFFD01404 0x36543000 # DDR Controller Control Low
  110. # bit 3-0: 0, reserved
  111. # bit 4: 0, 2T mode =addr/cmd in same cycle
  112. # bit 5: 0, clk is driven during self refresh, we don't care for APX
  113. # bit 6: 0, use recommended falling edge of clk for addr/cmd
  114. # bit 7-11: 0, reserved
  115. # bit 12-13: 1, reserved, required 1
  116. # bit 14: 0, input buffer always powered up
  117. # bit 17-15: 0, reserved
  118. # bit 18: 1, cpu lock transaction enabled
  119. # bit 19: 0, reserved
  120. # bit 23-20: 5, recommended value for CL=4 and STARTBURST_DEL disabled bit31=0
  121. # bit 27-24: 6, CL+1, STARTBURST sample stages, freq 200-399MHz, unbuffer DIMM
  122. # bit 30-28: 3, required
  123. # bit 31: 0, no additional STARTBURST delay
  124. DATA 0xFFD01408 0x2202444E # DDR Timing (Low) (active cycles value +1)
  125. # bit 3-0: 0xe, TRAS = 45ns -> 15 clk cycles
  126. # bit 7-4: 0x4, TRCD = 15ns -> 5 clk cycles
  127. # bit 11-8: 0x4, TRP = 15ns -> 5 clk cycles
  128. # bit 15-12: 0x4, TWR = 15ns -> 5 clk cycles
  129. # bit 19-16: 0x2, TWTR = 7,5ns -> 3 clk cycles
  130. # bit 20: 0, extended TRAS msb
  131. # bit 23-21: 0, reserved
  132. # bit 27-24: 0x2, TRRD = 7,5ns -> 3 clk cycles
  133. # bit 31-28: 0x2, TRTP = 7,5ns -> 3 clk cycles
  134. DATA 0xFFD0140C 0x0000003E # DDR Timing (High)
  135. # bit 6-0: 0x3E, TRFC = 195ns -> 63 clk cycles
  136. # bit 8-7: 0, TR2R
  137. # bit 10-9: 0, TR2W
  138. # bit 12-11: 0, TW2W
  139. # bit 31-13: 0, reserved
  140. DATA 0xFFD01410 0x00000000 # DDR Address Control
  141. # bit 1-0: 0, Cs0width=x8 (2 devices)
  142. # bit 3-2: 0, Cs0size=2Gb
  143. # bit 5-4: 0, Cs1width=nonexistent
  144. # bit 7-6: 0, Cs1size =nonexistent
  145. # bit 9-8: 0, Cs2width=nonexistent
  146. # bit 11-10: 0, Cs2size =nonexistent
  147. # bit 13-12: 0, Cs3width=nonexistent
  148. # bit 15-14: 0, Cs3size =nonexistent
  149. # bit 16: 0, Cs0AddrSel
  150. # bit 17: 0, Cs1AddrSel
  151. # bit 18: 0, Cs2AddrSel
  152. # bit 19: 0, Cs3AddrSel
  153. # bit 31-20: 0, required
  154. DATA 0xFFD01414 0x00000000 # DDR Open Pages Control
  155. # bit 0: 0, OpenPage enabled
  156. # bit 31-1: 0, required
  157. DATA 0xFFD01418 0x00000000 # DDR Operation
  158. # bit 3-0: 0, DDR cmd
  159. # bit 31-4: 0, required
  160. DATA 0xFFD0141C 0x00000652 # DDR Mode
  161. # bit 2-0: 2, Burst Length = 4
  162. # bit 3: 0, Burst Type
  163. # bit 6-4: 5, CAS Latency = 5
  164. # bit 7: 0, Test mode
  165. # bit 8: 0, DLL Reset
  166. # bit 11-9: 3, Write recovery for auto-precharge must be 3
  167. # bit 12: 0, Active power down exit time, fast exit
  168. # bit 14-13: 0, reserved
  169. # bit 31-15: 0, reserved
  170. DATA 0xFFD01420 0x00000006 # DDR Extended Mode
  171. # bit 0: 0, DDR DLL enabled
  172. # bit 1: 1, DDR drive strenght reduced
  173. # bit 2: 1, DDR ODT control lsb, 75ohm termination [RTT0]
  174. # bit 5-3: 0, required
  175. # bit 6: 0, DDR ODT control msb, 75ohm termination [RTT1]
  176. # bit 9-7: 0, required
  177. # bit 10: 0, differential DQS enabled
  178. # bit 11: 0, required
  179. # bit 12: 0, DDR output buffer enabled
  180. # bit 31-13: 0 required
  181. DATA 0xFFD01424 0x0000F17F # DDR Controller Control High
  182. # bit 2-0: 7, required
  183. # bit 3: 1, MBUS Burst Chop disabled
  184. # bit 6-4: 7, required
  185. # bit 7: 0, reserved
  186. # bit 8: 1, add sample stage required for > 266Mhz
  187. # bit 9: 0, no half clock cycle addition to dataout
  188. # bit 10: 0, 1/4 clock cycle skew enabled for addr/ctl signals
  189. # bit 11: 0, 1/4 clock cycle skew disabled for write mesh
  190. # bit 15-12:0xf, required
  191. # bit 31-16: 0, required
  192. DATA 0xFFD01428 0x00084520 # DDR2 SDRAM Timing Low
  193. # bit 3-0: 0, required
  194. # bit 7-4: 2, M_ODT assertion 2 cycles after read start command
  195. # bit 11-8: 5, M_ODT de-assertion 5 cycles after read start command
  196. # (ODT turn off delay 2,5 clk cycles)
  197. # bit 15-12: 4, internal ODT time based on bit 7-4
  198. # with the considered SDRAM internal delay
  199. # bit 19-16: 8, internal ODT de-assertion based on bit 11-8
  200. # with the considered SDRAM internal delay
  201. # bit 31-20: 0, required
  202. DATA 0xFFD0147c 0x00008452 # DDR2 SDRAM Timing High
  203. # bit 3-0: 2, M_ODT assertion same as bit 11-8
  204. # bit 7-4: 5, M_ODT de-assertion same as bit 15-12
  205. # bit 11-8: 4, internal ODT assertion 2 cycles after write start command
  206. # with the considered SDRAM internal delay
  207. # bit 15-12: 8, internal ODT de-assertion 5 cycles after write start command
  208. # with the considered SDRAM internal delay
  209. DATA 0xFFD01500 0x00000000 # CS[0]n Base address to 0x0
  210. # bit 23-0: 0, reserved
  211. # bit 31-24: 0, CPU CS Window0 Base Address, addr bits [31:24]
  212. DATA 0xFFD01504 0x1FFFFFF1 # CS[0]n Size
  213. # bit 0: 1, Window enabled
  214. # bit 1: 0, Write Protect disabled
  215. # bit 3-2: 0, CS0 hit selected
  216. # bit 23-4:ones, required
  217. # bit 31-24:0x1F, Size (i.e. 512MB)
  218. DATA 0xFFD0150C 0x00000000 # CS[1]n Size, window disabled
  219. DATA 0xFFD01514 0x00000000 # CS[2]n Size, window disabled
  220. DATA 0xFFD0151C 0x00000000 # CS[3]n Size, window disabled
  221. DATA 0xFFD01494 0x00010000 # DDR ODT Control (Low)
  222. # bit 3-0: 0, ODT0Rd, MODT[0] not asserted during read from DRAM CS0
  223. # bit 7-4: 0, ODT0Rd, MODT[1] not asserted
  224. # bit 11-8: 0, required
  225. # big 15-11: 0, required
  226. # bit 19-16: 1, ODT0Wr, MODT[0] asserted during write to DRAM CS0
  227. # bit 23-20: 0, ODT0Wr, MODT[1] not asserted
  228. # bit 27-24: 0, required
  229. # bit 31-28: 0, required
  230. DATA 0xFFD01498 0x00000004 # DDR ODT Control (High)
  231. # bit 1-0: 0, ODT0 controlled by ODT Control (low) register above
  232. # bit 3-2: 1, ODT1 never active
  233. # bit 31-4: 0, required
  234. DATA 0xFFD0149C 0x0000E801 # CPU ODT Control
  235. # bit 3-0: 1, ODT0Rd, Internal ODT asserted during read from DRAM bank0
  236. # bit 7-4: 0, ODT0Wr, Internal ODT not asserted during write to DRAM bank0
  237. # bit 9-8: 0, ODTEn, controlled by ODT0Rd and ODT0Wr
  238. # bit 11-10: 2, DQ_ODTSel. ODT select turned on, 75 ohm
  239. # bit 13-12: 2, STARTBURST ODT buffer selected, 75 ohm
  240. # bit 14: 1, STARTBURST ODT enabled
  241. # bit 15: 1, Use ODT Block
  242. DATA 0xFFD01480 0x00000001 # DDR Initialization Control
  243. # bit 0: 1, enable DDR init upon this register write
  244. # bit 31-1: 0, reserved
  245. # End of Header extension
  246. DATA 0x0 0x0