You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

115 lines
2.8 KiB

  1. #
  2. # Copyright 2010 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
  3. #
  4. # under GPLv2 Only
  5. #
  6. # This is for the "at91rm9200-ek" eval board.
  7. #
  8. #
  9. # It has atmel at91rm9200 chip.
  10. source [find target/at91rm9200.cfg]
  11. reset_config trst_and_srst
  12. $_TARGETNAME configure -event gdb-attach { reset init }
  13. $_TARGETNAME configure -event reset-init { at91rm9200_ek_init }
  14. ## flash bank <name> <driver> <base> <size> <chip_width> <bus_width> <target>
  15. set _FLASHNAME $_CHIPNAME.flash
  16. flash bank $_FLASHNAME cfi 0x10000000 0x00800000 2 2 $_TARGETNAME
  17. # The chip may run @ 32khz, so set a really low JTAG speed
  18. adapter_khz 8
  19. proc at91rm9200_ek_init { } {
  20. # Try to run at 1khz... Yea, that slow!
  21. # Chip is really running @ 32khz
  22. adapter_khz 8
  23. mww 0xfffffc64 0xffffffff
  24. ## disable all clocks but system clock
  25. mww 0xfffffc04 0xfffffffe
  26. ## disable all clocks to pioa and piob
  27. mww 0xfffffc14 0xffffffc3
  28. ## master clock = slow cpu = slow
  29. ## (means the CPU is running at 32khz!)
  30. mww 0xfffffc30 0
  31. ## main osc enable
  32. mww 0xfffffc20 0x0000ff01
  33. ## MC_PUP
  34. mww 0xFFFFFF50 0x00000000
  35. ## MC_PUER: Memory controller protection unit disable
  36. mww 0xFFFFFF54 0x00000000
  37. ## EBI_CFGR
  38. mww 0xFFFFFF64 0x00000000
  39. ## SMC2_CSR[0]: 16bit, 2 TDF, 4 WS
  40. mww 0xFFFFFF70 0x00003284
  41. ## Init Clocks
  42. ## CKGR_PLLAR
  43. mww 0xFFFFFC28 0x2000BF05
  44. ## PLLAR: 179,712000 MHz for PCK
  45. mww 0xFFFFFC28 0x20263E04
  46. sleep 100
  47. ## PMC_MCKR
  48. mww 0xFFFFFC30 0x00000100
  49. sleep 100
  50. ## ;MCKR : PCK/3 = MCK Master Clock = 59,904000MHz from PLLA
  51. mww 0xFFFFFC30 0x00000202
  52. sleep 100
  53. #========================================
  54. # CPU now runs at 180mhz
  55. # SYS runs at 60mhz.
  56. adapter_khz 40000
  57. #========================================
  58. ## Init SDRAM
  59. ## PIOC_ASR: Configure PIOC as peripheral (D16/D31)
  60. mww 0xFFFFF870 0xFFFF0000
  61. ## PIOC_BSR:
  62. mww 0xFFFFF874 0x00000000
  63. ## PIOC_PDR:
  64. mww 0xFFFFF804 0xFFFF0000
  65. ## EBI_CSA : CS1=SDRAM
  66. mww 0xFFFFFF60 0x00000002
  67. ## EBI_CFGR:
  68. mww 0xFFFFFF64 0x00000000
  69. ## SDRC_CR :
  70. mww 0xFFFFFF98 0x2188c155
  71. ## SDRC_MR : Precharge All
  72. mww 0xFFFFFF90 0x00000002
  73. ## access SDRAM
  74. mww 0x20000000 0x00000000
  75. ## SDRC_MR : Refresh
  76. mww 0xFFFFFF90 0x00000004
  77. ## access SDRAM
  78. mww 0x20000000 0x00000000
  79. ## access SDRAM
  80. mww 0x20000000 0x00000000
  81. ## access SDRAM
  82. mww 0x20000000 0x00000000
  83. ## access SDRAM
  84. mww 0x20000000 0x00000000
  85. ## access SDRAM
  86. mww 0x20000000 0x00000000
  87. ## access SDRAM
  88. mww 0x20000000 0x00000000
  89. ## access SDRAM
  90. mww 0x20000000 0x00000000
  91. ## access SDRAM
  92. mww 0x20000000 0x00000000
  93. ## SDRC_MR : Load Mode Register
  94. mww 0xFFFFFF90 0x00000003
  95. ## access SDRAM
  96. mww 0x20000080 0x00000000
  97. ## SDRC_TR : Write refresh rate
  98. mww 0xFFFFFF94 0x000002E0
  99. ## access SDRAM
  100. mww 0x20000000 0x00000000
  101. ## SDRC_MR : Normal Mode
  102. mww 0xFFFFFF90 0x00000000
  103. ## access SDRAM
  104. mww 0x20000000 0x00000000
  105. }