Freescale MPC8313ERDB Board
-----------------------------------------

1.	Board Switches and Jumpers

	S3 is used to set CFG_RESET_SOURCE.

	To boot the image at 0xFE000000 in NOR flash, use these DIP
	switch settings for S3 S4:

	+------+	+------+
	|      |	| **** |
	| **** |	|      |
	+------+ ON	+------+ ON
	  4321		  4321
	(where the '*' indicates the position of the tab of the switch.)

2.	Memory Map
	The memory map looks like this:

	0x0000_0000	0x07ff_ffff	DDR		 128M
	0x8000_0000	0x8fff_ffff	PCI MEM		 256M
	0x9000_0000	0x9fff_ffff	PCI_MMIO	 256M
	0xe000_0000	0xe00f_ffff	IMMR		 1M
	0xe200_0000	0xe20f_ffff	PCI IO		 16M
	0xe280_0000	0xe280_7fff	NAND FLASH (CS1) 32K
	0xf000_0000	0xf001_ffff	VSC7385 (CS2)	 128K
	0xfa00_0000	0xfa00_7fff	Board Status/	 32K
					LED Control (CS3)
	0xfe00_0000	0xfe7f_ffff	NOR FLASH (CS0)	 8M

3.	Definitions

3.1	Explanation of NEW definitions in:

	include/configs/MPC8313ERDB.h

	CONFIG_MPC83xx		MPC83xx family
	CONFIG_MPC831x		MPC831x specific
	CONFIG_MPC8313ERDB	MPC8313ERDB board specific

4.	Compilation

	Assuming you're using BASH (or similar) as your shell:

	export CROSS_COMPILE=your-cross-compiler-prefix-
	make distclean
	make MPC8313ERDB_33_config
	(or make MPC8313ERDB_66_config, depending on the speed of
	 the oscillator on your board)
	make

5.	Downloading and Flashing Images

5.1	Reflash U-boot Image using U-boot

	=>run tftpflash

	You may want to try
	=>tftpboot $loadaddr $uboot
	first, to make sure that the TFTP load will succeed before it
	goes ahead and wipes out your current firmware.  And of course,
	have an alternate means of programming the flash available
	if the new u-boot doesn't boot.

5.2	Downloading and Booting Linux Kernel

	Ensure that all networking-related environment variables are set
	properly (including ipaddr, serverip, gatewayip (if needed),
	netmask, ethaddr, eth1addr, rootpath (if using NFS root),
	fdtfile, and bootfile).

	Then, do one of the following, depending on whether you
	want an NFS root or a ramdisk root:

	=>run nfsboot
	or
	=>run ramboot

6	Notes

	Booting from NAND flash is not yet supported.
	The console baudrate for MPC8313ERDB is 115200bps.
