Advertisement
Guest User

Evan Black

a guest
Nov 30th, 2010
646
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.70 KB | None | 0 0
  1. # Marvell SheevaPlug
  2.  
  3. source [find interface/sheevaplug.cfg]
  4. source [find target/feroceon.cfg]
  5.  
  6. $_TARGETNAME configure \
  7. -work-area-phys 0x10000000 \
  8. -work-area-size 65536 \
  9. -work-area-backup 0
  10.  
  11. arm7_9 dcc_downloads enable
  12.  
  13. # this assumes the hardware default peripherals location before u-Boot moves it
  14. set _FLASHNAME $_CHIPNAME.flash
  15. nand device $_FLASHNAME orion 0 0xd8000000
  16.  
  17. proc sheevaplug_init { } {
  18.  
  19. # We need to assert DBGRQ while holding nSRST down.
  20. # However DBGACK will be set only when nSRST is released.
  21. # Furthermore, the JTAG interface doesn't respond at all when
  22. # the CPU is in the WFI (wait for interrupts) state, so it is
  23. # possible that initial tap examination failed. So let's
  24. # re-examine the target again here when nSRST is asserted which
  25. # should then succeed.
  26. jtag_reset 0 1
  27. feroceon.cpu arp_examine
  28. halt 0
  29. jtag_reset 0 0
  30. wait_halt
  31.  
  32. arm mcr 15 0 0 1 0 0x00052078
  33.  
  34. mww 0xD0001400 0x43000C30 # DDR SDRAM Configuration Register
  35. mww 0xD0001404 0x39543000 # Dunit Control Low Register
  36. mww 0xD0001408 0x22125451 # DDR SDRAM Timing (Low) Register
  37. mww 0xD000140C 0x00000833 # DDR SDRAM Timing (High) Register
  38. mww 0xD0001410 0x000000CC # DDR SDRAM Address Control Register
  39. mww 0xD0001414 0x00000000 # DDR SDRAM Open Pages Control Register
  40. mww 0xD0001418 0x00000000 # DDR SDRAM Operation Register
  41. mww 0xD000141C 0x00000C52 # DDR SDRAM Mode Register
  42. mww 0xD0001420 0x00000042 # DDR SDRAM Extended Mode Register
  43. mww 0xD0001424 0x0000F17F # Dunit Control High Register
  44. mww 0xD0001428 0x00085520 # Dunit Control High Register
  45. mww 0xD000147c 0x00008552 # Dunit Control High Register
  46. mww 0xD0001504 0x0FFFFFF1 # CS0n Size Register
  47. mww 0xD0001508 0x10000000 # CS1n Base Register
  48. mww 0xD000150C 0x0FFFFFF5 # CS1n Size Register
  49. mww 0xD0001514 0x00000000 # CS2n Size Register
  50. mww 0xD000151C 0x00000000 # CS3n Size Register
  51. mww 0xD0001494 0x003C0000 # DDR2 SDRAM ODT Control (Low) Register
  52. mww 0xD0001498 0x00000000 # DDR2 SDRAM ODT Control (High) REgister
  53. mww 0xD000149C 0x0000F80F # DDR2 Dunit ODT Control Register
  54. mww 0xD0001480 0x00000001 # DDR SDRAM Initialization Control Register
  55. mww 0xD0020204 0x00000000 # Main IRQ Interrupt Mask Register
  56. mww 0xD0020204 0x00000000 # "
  57. mww 0xD0020204 0x00000000 # "
  58. mww 0xD0020204 0x00000000 # "
  59. mww 0xD0020204 0x00000000 # "
  60. mww 0xD0020204 0x00000000 # "
  61. mww 0xD0020204 0x00000000 # "
  62. mww 0xD0020204 0x00000000 # "
  63. mww 0xD0020204 0x00000000 # "
  64. mww 0xD0020204 0x00000000 # "
  65. mww 0xD0020204 0x00000000 # "
  66. mww 0xD0020204 0x00000000 # "
  67. mww 0xD0020204 0x00000000 # "
  68. mww 0xD0020204 0x00000000 # "
  69. mww 0xD0020204 0x00000000 # "
  70. mww 0xD0020204 0x00000000 # "
  71. mww 0xD0020204 0x00000000 # "
  72. mww 0xD0020204 0x00000000 # "
  73. mww 0xD0020204 0x00000000 # "
  74. mww 0xD0020204 0x00000000 # "
  75. mww 0xD0020204 0x00000000 # "
  76. mww 0xD0020204 0x00000000 # "
  77. mww 0xD0020204 0x00000000 # "
  78. mww 0xD0020204 0x00000000 # "
  79. mww 0xD0020204 0x00000000 # "
  80. mww 0xD0020204 0x00000000 # "
  81. mww 0xD0020204 0x00000000 # "
  82. mww 0xD0020204 0x00000000 # "
  83. mww 0xD0020204 0x00000000 # "
  84. mww 0xD0020204 0x00000000 # "
  85. mww 0xD0020204 0x00000000 # "
  86. mww 0xD0020204 0x00000000 # "
  87. mww 0xD0020204 0x00000000 # "
  88. mww 0xD0020204 0x00000000 # "
  89. mww 0xD0020204 0x00000000 # "
  90. mww 0xD0020204 0x00000000 # "
  91. mww 0xD0020204 0x00000000 # "
  92.  
  93. mww 0xD0010000 0x01111111 # MPP 0 to 7
  94. mww 0xD0010004 0x11113322 # MPP 8 to 15
  95. mww 0xD0010008 0x00001111 # MPP 16 to 23
  96.  
  97. mww 0xD0010418 0x003E07CF # NAND Read Parameters REgister
  98. mww 0xD001041C 0x000F0F0F # NAND Write Parameters Register
  99. mww 0xD0010470 0x01C7D943 # NAND Flash Control Register
  100.  
  101. }
  102.  
  103. proc sheevaplug_reflash_uboot { } {
  104.  
  105. # reflash the u-Boot binary and reboot into it
  106. sheevaplug_init
  107. nand probe 0
  108. nand erase 0 0x0 0xa0000
  109. nand write 0 uboot.bin 0 oob_softecc_kw
  110. resume
  111.  
  112. }
  113.  
  114. proc sheevaplug_reflash_uboot_env { } {
  115.  
  116. # reflash the u-Boot environment variables area
  117. sheevaplug_init
  118. nand probe 0
  119. nand erase 0 0xa0000 0x40000
  120. nand write 0 uboot-env.bin 0xa0000 oob_softecc_kw
  121. resume
  122.  
  123. }
  124.  
  125. proc sheevaplug_load_uboot { } {
  126.  
  127. # load u-Boot into RAM and execute it
  128. sheevaplug_init
  129. load_image uboot.elf
  130. verify_image uboot.elf
  131. resume 0x00600000
  132.  
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement