README.mpc8641hpcn 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. Freescale MPC8641HPCN board
  2. ===========================
  3. Created 05/24/2006 Haiying Wang
  4. -------------------------------
  5. 1. Building U-Boot
  6. ------------------
  7. The 86xx HPCN code base is known to compile using:
  8. Binutils 2.15, Gcc 3.4.3, Glibc 2.3.3
  9. $ make MPC8641HPCN_config
  10. Configuring for MPC8641HPCN board...
  11. $ make
  12. 2. Switch and Jumper Setting
  13. ----------------------------
  14. Jumpers:
  15. J14 Pins 1-2 (near plcc32 socket)
  16. Switches:
  17. SW1(1-5) = 01100 CFG_COREPLL = 01000 :: CORE = 2:1
  18. 01100 :: CORE = 2.5:1
  19. 10000 :: CORE = 3:1
  20. 11100 :: CORE = 3.5:1
  21. 10100 :: CORE = 4:1
  22. 01110 :: CORE = 4.5:1
  23. SW1(6-8) = 001 CFG_SYSCLK = 000 :: SYSCLK = 33MHz
  24. 001 :: SYSCLK = 40MHz
  25. SW2(1-4) = 1100 CFG_CCBPLL = 0010 :: 2X
  26. 0100 :: 4X
  27. 0110 :: 6X
  28. 1000 :: 8X
  29. 1010 :: 10X
  30. 1100 :: 12X
  31. 1110 :: 14X
  32. 0000 :: 16X
  33. SW2(5-8) = 1110 CFG_BOOTLOC = 1110 :: boot 16-bit localbus
  34. SW3(1-7) = 0011000 CFG_VID = 0011000 :: VCORE = 1.2V
  35. 0100000 :: VCORE = 1.11V
  36. SW3(8) = 0 VCC_PLAT = 0 :: VCC_PLAT = 1.2V
  37. 1 :: VCC_PLAT = 1.0V
  38. SW4(1-2) = 11 CFG_HOSTMODE = 11 :: both prots host/root
  39. SW4(3-4) = 11 CFG_BOOTSEQ = 11 :: no boot seq
  40. SW4(5-8) = 0011 CFG_IOPORT = 0011 :: both PEX
  41. SW5(1) = 1 CFG_FLASHMAP = 1 :: boot from flash
  42. 0 :: boot from PromJet
  43. SW5(2) = 1 CFG_FLASHBANK = 1 :: swap upper/lower
  44. halves (virtual banks)
  45. 0 :: normal
  46. SW5(3) = 0 CFG_FLASHWP = 0 :: not protected
  47. SW5(4) = 0 CFG_PORTDIV = 1 :: 2:1 for PD4
  48. 1:1 for PD6
  49. SW5(5-6) = 11 CFG_PIXISOPT = 11 :: s/w determined
  50. SW5(7-8) = 11 CFG_LADOPT = 11 :: s/w determined
  51. SW6(1) = 1 CFG_CPUBOOT = 1 :: no boot holdoff
  52. SW6(2) = 1 CFG_BOOTADDR = 1 :: no traslation
  53. SW6(3-5) = 000 CFG_REFCLKSEL = 000 :: 100MHZ
  54. SW6(6) = 1 CFG_SERROM_ADDR= 1 ::
  55. SW6(7) = 1 CFG_MEMDEBUG = 1 ::
  56. SW6(8) = 1 CFG_DDRDEBUG = 1 ::
  57. SW8(1) = 1 ACZ_SYNC = 1 :: 48MHz on TP49
  58. SW8(2) = 1 ACB_SYNC = 1 :: THRMTRIP disabled
  59. SW8(3) = 1 ACZ_SDOUT = 1 :: p4 mode
  60. SW8(4) = 1 ACB_SDOUT = 1 :: PATA freq. = 133MHz
  61. SW8(5) = 0 SUSLED = 0 :: SouthBridge Mode
  62. SW8(6) = 0 SPREAD = 0 :: REFCLK SSCG Disabled
  63. SW8(7) = 1 ACPWR = 1 :: non-battery
  64. SW8(8) = 0 CFG_IDWP = 0 :: write enable
  65. 3. Flash U-Boot
  66. ---------------
  67. The flash range 0xFF800000 to 0xFFFFFFFF can be divided into 2 halves.
  68. It is possible to use either half to boot using u-boot. Switch 5 bit 2
  69. is used for this purpose.
  70. 0xFF800000 to 0xFFBFFFFF - 4MB
  71. 0xFFC00000 to 0xFFFFFFFF - 4MB
  72. When this bit is 0, U-Boot is at 0xFFF00000.
  73. When this bit is 1, U-Boot is at 0xFFB00000.
  74. Use the above mentioned flash commands to program the other half, and
  75. use switch 5, bit 2 to alternate between the halves. Note: The booting
  76. version of U-Boot will always be at 0xFFF00000.
  77. To Flash U-Boot into the booting bank (0xFFC00000 - 0xFFFFFFFF):
  78. tftp 1000000 u-boot.bin
  79. protect off all
  80. erase fff00000 +$filesize
  81. cp.b 1000000 fff00000 $filesize
  82. or use tftpflash command:
  83. run tftpflash
  84. To Flash U-boot into the alternative bank (0xFF800000 - 0xFFBFFFFF):
  85. tftp 1000000 u-boot.bin
  86. erase ffb00000 +$filesize
  87. cp.b 1000000 ffb00000 $filesize
  88. 4. Memory Map
  89. -------------
  90. Memory Range Device Size
  91. ------------ ------ ----
  92. 0x0000_0000 0x7fff_ffff DDR 2G
  93. 0x8000_0000 0x9fff_ffff PCI1/PEX1 MEM 512M
  94. 0xa000_0000 0xafff_ffff PCI2/PEX2 MEM 512M
  95. 0xf800_0000 0xf80f_ffff CCSR 1M
  96. 0xf810_0000 0xf81f_ffff PIXIS 1M
  97. 0xf840_0000 0xf840_3fff Stack space 32K
  98. 0xe200_0000 0xe2ff_ffff PCI1/PEX1 IO 16M
  99. 0xe300_0000 0xe3ff_ffff PCI2/PEX2 IO 16M
  100. 0xfe00_0000 0xfeff_ffff Flash(alternate)16M
  101. 0xff00_0000 0xffff_ffff Flash(boot bank)16M
  102. 5. pixis_reset command
  103. --------------------
  104. A new command, "pixis_reset", is introduced to reset mpc8641hpcn board
  105. using the FPGA sequencer. When the board restarts, it has the option
  106. of using either the current or alternate flash bank as the boot
  107. image, with or without the watchdog timer enabled, and finally with
  108. or without frequency changes.
  109. Usage is;
  110. pixis_reset
  111. pixis_reset altbank
  112. pixis_reset altbank wd
  113. pixis_reset altbank cf <SYSCLK freq> <COREPLL ratio> <MPXPLL ratio>
  114. pixis_reset cf <SYSCLK freq> <COREPLL ratio> <MPXPLL ratio>
  115. Examples;
  116. /* reset to current bank, like "reset" command */
  117. pixis_reset
  118. /* reset board but use the to alternate flash bank */
  119. pixis_reset altbank
  120. /* reset board, use alternate flash bank with watchdog timer enabled*/
  121. pixis_reset altbank wd
  122. /* reset board to alternate bank with frequency changed.
  123. * 40 is SYSCLK, 2.5 is COREPLL ratio, 10 is MPXPLL ratio
  124. */
  125. pixis-reset altbank cf 40 2.5 10
  126. Valid clock choices are in the 8641 Reference Manuals.