Freescale MPC8641HPCN board
===========================

Created 05/24/2006 Haiying Wang
-------------------------------

1. Building U-Boot
------------------
The 86xx HPCN code base is known to compile using:
    Binutils 2.15, Gcc 3.4.3, Glibc 2.3.3

    $ make MPC8641HPCN_config
    Configuring for MPC8641HPCN board...

    $ make


2. Switch and Jumper Setting
----------------------------
Jumpers:
	J14 Pins 1-2 (near plcc32 socket)

Switches:
	SW1(1-5) = 01100	CONFIG_SYS_COREPLL	= 01000 :: CORE =   2:1
						  01100 :: CORE = 2.5:1
						  10000 :: CORE =   3:1
						  11100 :: CORE = 3.5:1
						  10100 :: CORE =   4:1
						  01110 :: CORE = 4.5:1
	SW1(6-8) = 001		CONFIG_SYS_SYSCLK	= 000	:: SYSCLK = 33MHz
						  001	:: SYSCLK = 40MHz

	SW2(1-4) = 1100		CONFIG_SYS_CCBPLL	= 0010	:: 2X
						  0100	:: 4X
						  0110	:: 6X
						  1000	:: 8X
						  1010	:: 10X
						  1100	:: 12X
						  1110	:: 14X
						  0000	:: 16X
	SW2(5-8) = 1110		CONFIG_SYS_BOOTLOC	= 1110	:: boot 16-bit localbus

	SW3(1-7) = 0011000	CONFIG_SYS_VID		= 0011000 :: VCORE = 1.2V
						  0100000 :: VCORE = 1.11V
	SW3(8)	 = 0		VCC_PLAT	= 0	:: VCC_PLAT = 1.2V
						  1	:: VCC_PLAT = 1.0V

	SW4(1-2) = 11		CONFIG_SYS_HOSTMODE	= 11	:: both prots host/root
	SW4(3-4) = 11		CONFIG_SYS_BOOTSEQ	= 11	:: no boot seq
	SW4(5-8) = 0011		CONFIG_SYS_IOPORT	= 0011	:: both PEX

	SW5(1)	 = 1		CONFIG_SYS_FLASHMAP	= 1	:: boot from flash
						  0	:: boot from PromJet
	SW5(2)	 = 1		CONFIG_SYS_FLASHBANK	= 1	:: swap upper/lower
							 halves (virtual banks)
						  0	:: normal
	SW5(3)	 = 0		CONFIG_SYS_FLASHWP	= 0	:: not protected
	SW5(4)	 = 0		CONFIG_SYS_PORTDIV	= 1	:: 2:1 for PD4
							   1:1 for PD6
	SW5(5-6) = 11		CONFIG_SYS_PIXISOPT	= 11	:: s/w determined
	SW5(7-8) = 11		CONFIG_SYS_LADOPT	= 11	:: s/w determined

	SW6(1)	 = 1		CONFIG_SYS_CPUBOOT	= 1	:: no boot holdoff
	SW6(2)	 = 1		CONFIG_SYS_BOOTADDR	= 1	:: no traslation
	SW6(3-5) = 000		CONFIG_SYS_REFCLKSEL	= 000	:: 100MHZ
	SW6(6)	 = 1		CONFIG_SYS_SERROM_ADDR= 1	::
	SW6(7)	 = 1		CONFIG_SYS_MEMDEBUG	= 1	::
	SW6(8)	 = 1		CONFIG_SYS_DDRDEBUG	= 1	::

	SW8(1)	 = 1		ACZ_SYNC	= 1	:: 48MHz on TP49
	SW8(2)	 = 1		ACB_SYNC	= 1	:: THRMTRIP disabled
	SW8(3)	 = 1		ACZ_SDOUT	= 1	:: p4 mode
	SW8(4)	 = 1		ACB_SDOUT	= 1	:: PATA freq. = 133MHz
	SW8(5)	 = 0		SUSLED		= 0	:: SouthBridge Mode
	SW8(6)	 = 0		SPREAD		= 0	:: REFCLK SSCG Disabled
	SW8(7)	 = 1		ACPWR		= 1	:: non-battery
	SW8(8)	 = 0		CONFIG_SYS_IDWP	= 0	:: write enable


3. Flash U-Boot
---------------
The flash range 0xEF800000 to 0xEFFFFFFF can be divided into 2 halves.
It is possible to use either half to boot using u-boot.  Switch 5 bit 2
is used for this purpose.

0xEF800000 to 0xEFBFFFFF - 4MB
0xEFC00000 to 0xEFFFFFFF - 4MB
When this bit is 0, U-Boot is at 0xEFF00000.
When this bit is 1, U-Boot is at 0xEFB00000.

Use the above mentioned flash commands to program the other half, and
use switch 5, bit 2 to alternate between the halves.  Note: The booting
version of U-Boot will always be at 0xEFF00000.

To Flash U-Boot into the booting bank (0xEFC00000 - 0xEFFFFFFF):

	tftp 1000000 u-boot.bin
	protect off all
	erase eff00000 +$filesize
	cp.b 1000000 eff00000 $filesize

or use tftpflash command:
	run tftpflash

To Flash U-boot into the alternative bank (0xEF800000 - 0xEFBFFFFF):

	tftp 1000000 u-boot.bin
	erase efb00000 +$filesize
	cp.b 1000000 efb00000 $filesize


4. Memory Map
-------------
NOTE:  RIO and PCI are mutually exclusive, so they share an address

For 32-bit u-boot, devices are mapped so that the virtual address ==
the physical address, and the map looks liks this:

	Memory Range			Device		Size
	------------			------		----
	0x0000_0000	0x7fff_ffff	DDR		2G
	0x8000_0000	0x9fff_ffff	RIO MEM		512M
	0x8000_0000	0x9fff_ffff	PCI1/PEX1 MEM	512M
	0xa000_0000	0xbfff_ffff	PCI2/PEX2 MEM	512M
	0xffe0_0000	0xffef_ffff	CCSR		1M
	0xffdf_0000	0xffdf_7fff	PIXIS		8K
	0xffdf_8000	0xffdf_ffff	CF		8K
	0xf840_0000	0xf840_3fff	Stack space	32K
	0xffc0_0000	0xffc0_ffff	PCI1/PEX1 IO	64K
	0xffc1_0000	0xffc1_ffff	PCI2/PEX2 IO	64K
	0xef80_0000	0xefff_ffff	Flash		8M

For 36-bit-enabled u-boot, the virtual map is the same as for 32-bit.
However, the physical map is altered to reside in 36-bit space, as follows.
Addresses are no longer mapped with VA == PA.  All accesses from
software use the VA; the PA is only used for setting up windows
and mappings. Note that with the exception of PCI MEM and RIO, the low
 32 bits are the same as the VA above; only the top 4 bits vary:

	Memory Range			Device		Size
	------------			------		----
	0x0_0000_0000	0x0_7fff_ffff	DDR		2G
	0xc_0000_0000	0xc_1fff_ffff	RIO MEM		512M
	0xc_0000_0000	0xc_1fff_ffff	PCI1/PEX1 MEM	512M
	0xc_2000_0000	0xc_3fff_ffff	PCI2/PEX2 MEM	512M
	0xf_ffe0_0000	0xf_ffef_ffff	CCSR		1M
	0xf_ffdf_0000	0xf_ffdf_7fff	PIXIS		8K
	0xf_ffdf_8000	0xf_ffdf_ffff	CF		8K
	0x0_f840_0000	0xf_f840_3fff	Stack space	32K
	0xf_ffc0_0000	0xf_ffc0_ffff	PCI1/PEX1 IO	64K
	0xf_ffc1_0000	0xf_ffc1_ffff	PCI2/PEX2 IO	64K
	0xf_ef80_0000	0xf_efff_ffff	Flash		8M

5. pixis_reset command
--------------------
A new command, "pixis_reset", is introduced to reset mpc8641hpcn board
using the FPGA sequencer.  When the board restarts, it has the option
of using either the current or alternate flash bank as the boot
image, with or without the watchdog timer enabled, and finally with
or without frequency changes.

Usage is;

	pixis_reset
	pixis_reset altbank
	pixis_reset altbank wd
	pixis_reset altbank cf <SYSCLK freq> <COREPLL ratio> <MPXPLL ratio>
	pixis_reset cf <SYSCLK freq> <COREPLL ratio> <MPXPLL ratio>

Examples;

	/* reset to current bank, like "reset" command */
	pixis_reset

	/* reset board but use the to alternate flash bank */
	pixis_reset altbank

	/* reset board, use alternate flash bank with watchdog timer enabled*/
	pixis_reset altbank wd

	/* reset board to alternate bank with frequency changed.
	 * 40 is SYSCLK, 2.5 is COREPLL ratio, 10 is MPXPLL ratio
	 */
	pixis-reset altbank cf 40 2.5 10

Valid clock choices are in the 8641 Reference Manuals.
