===============================================================================
Instructions for board bringup and using SIMPC8313
-------------------------------------------------------------------------------


Introduction
-------------------------------------------------------------------------------
The SIMPC8313 is preloaded with 4 different flash images.  U-boot (a bootloader), the Linux kernel, a dtb (device tree blob), and a JFFS2 filesystem.

U-boot is the bootloader.  U-boot is not an operating system, but rather a monitor.  When the board is powered on, u-boot brings the board up and performs certain specific tasks similar to a BIOS.

The Linux kernel is pre compiled by default to have certain settings.  Most of these settings will be invisible to the user and are required by the MPC8313 chip.  However there are some configurations that are specific to the SIMPC8313.  Perhaps, the most visible of these is host/gadget mode USB support.  As of current, OTG support is not implimented.  The SIMPC8313 is currently only able to operate as either a gadget or a host, but not both simultaneously.

The .dtb file is a description of the hardware for the system as well as a description of the way certain hardware is supposed to act.  As Linux supports several different modes of operation for different pieces of hardware these need to be communicated to the kernel.  The .dtb file is the way this occurs.  As a side note, most of these modes are not dynamic.  If a change is to occur to the way some hardware operates this usually requires a change to the kernel and .dtb file.

The JFFS2 file system is an image containing all pertinent files, scripts, drivers, and libraries for operation of the SIMPC8313.


Connecting and Powering the Board
-------------------------------------------------------------------------------
1) Connect the 24 pin ATX Power supply connector to the SI-PCI104-PWR power board on the bottom of the stack.
Note: If shipped separately, place the SI-MPC8313 on top of the SI-CPI104-PWR by mating the 2mm4x30 (120 pin) PCI connector, thereby creating a multicard stack.

2) Attach data cables to host PC.
  2a) Connect the serial port cable to the IDC2x5 (10 pin header) labeled RS232, designated P8.
  2b) Connect the Ethernet cable to the RJ45 port, designated P11.
Note: The Ethernet connection uses a standard cable.  A crossover cable is unnecessary since the onboard Marvell 88E1118 Ethernet PHY has an automatic crossover feature which detects this need.
  2c) Connect the USB cable to microUSB port, designated P10.

3) Power system on.
After all cables are connected, power on the power supply and you should see the LED labeled 5VSB illuminate.  Press the power ON button and you should see the 4 LEDs labeled 5VSB, PWR_GOOD, 5V, and 3V all illuminate.


Host Serial Port Configurations
-------------------------------------------------------------------------------
Baud: 115200
8 - data bits
N - no parity
1 - stop bit

Device Name: (can vary)
/dev/ttyS0 - Linux device
COM3 - Windows device

We recommend using Minicom (Linux) or Hyperterminal (Windows) to communicate using the serial port.  To configure Minicom, in a terminal window, after starting Minicom (minicom), type Ctrl-A O and select "Serial Port Setup".  Windows will prompt you to configure Hyperterminal when you open the program.

===============================================================================
U-BOOT
-------------------------------------------------------------------------------
After powering on the board (assuming you have connected and configured the serial port correctly) you will see a U-boot print a message similar to the following:

*******************************************************************************
NAND boot... transfering control


U-Boot 2010.03 (Jun 01 2010 - 10:08:22) MPC83XX

Reset Status:

CPU:   e300c3, MPC8313E, Rev: 1.0 at 333.333 MHz, CSB: 133.333 MHz
Board: Sheldon Instrument SIMPC8313
I2C:   ready
DRAM:  256 MiB
NAND:  256 MiB
Bad block table found at page 131008, version 0x01
Bad block table found at page 130944, version 0x01
*** Warning - bad CRC or NAND, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   TSEC0
Hit any key to stop autoboot:  0
=>
*******************************************************************************

U-boot has an automatically configured countdown that will automatically boot the Linux kernel after 5 seconds.  Press any key to stop U-boot from autobooting the kernel.  Type 'boot' to boot the Linux Kernel.


Burning U-boot
-------------------------------------------------------------------------------
If the board has a working version of U-boot running, you can simply use the tftp command in U-boot.
(In u-boot)
=> tftp 100000 u-boot-nand.bin

after the file has transfered, run the following commands to burn the new version of U-boot into the NAND flash.

(erase only U-boot image and leave environment variables undisturbed.  Do this if you are making changes to the current U-boot version on the board)
=> nand erase u-boot 80000
or
(erase U-boot image and all environment variables.  Do this if you are updating to a new version of U-boot or you wish to erase the environment variables).
=> nand erase u-boot

then write the image to the NAND flash.

(filesize should be rounded up to the nearest 0x800.  So a file size of 61ef0 should be rounded up to 62000.  The size of the file will be told to you during the tftp tranfer.)
=> nand write 100000 u-boot filesize

at this point your current u-boot will still be running, but your new u-boot will be in NAND and will boot the next time the SIMPC is reset or powered on.  Type reset or toggle power button.
=> reset

After resetting the board it is possible that you have overwritten U-boot's environment variables.  Type 'printenv' and check for any of the following environment variables: ethaddr, ipaddr, or serverip.  If any one of these exists the others exist as well.  To set these variable type the following commands.
=> setenv ethaddr 00:E0:0C:00:95:01
=> setenv ipaddr 10.196.31.84
=> setenv serverip 10.196.31.85
=> saveenv

If after loading a new version of u-boot to NAND there are issues and it is not possible to burn another version of u-boot to the board, you will need to use the supplied driver and sample application to reburn u-boot.


Developing U-boot (advanced users only)
-------------------------------------------------------------------------------
Before you can compile U-boot you will need to have a cross compiler installed.  Building any code for the SIMPC8313 is done using the cross compile toolchain provided by Denx software engineering.  Follow the instructions in the ELDK section to install the ELDK (Embedded Linux Development Kit).  Also, you will need to have a tftp server running on your Linux PC.  Details for installing a tftp server are described below as well.

PATH=$PATH:/opt/eldk/usr/bin
cd /your/u-boot/path
export CROSS_COMPILE=ppc_6xx-
make SIMPC8313_**_config
make
cp u-boot-nand.bin /tftpboot/

** above stands for LP (large page NAND flash) or SP (small page NAND flash)

NOTE:
1. U-boot may not have the correct PHYID by default.  Change the following line in the file include/configs/SIMPC8313.h if necessary:
#define TSEC1_PHY_ADDR			0x0
to:
#define TSEC1_PHY_ADDR			0x8

2. The environment settings under the "#define CONFIG_EXTRA_ENV_SETTINGS" section may also be included:
"ethaddr=00:E0:0C:00:95:01\0"
"ipaddr=10.196.31.84\0"
"serverip=10.196.31.85\0"


===============================================================================
LINUX KERNEL
-------------------------------------------------------------------------------
You should have been provided with two different versions of the Linux kernel and two different versions of the .dtb file.  The first set of files are configured for using the SIMPC8313 USB as a gadget device (used to communicate with a host PC over USB).  The second set of files are configured for using the SIMPC8313 USB as a host (used to plug in various devices, such as mass storage devices, cameras, etc.).

There is no login required for the SIMPC8313 board currently, however there is a default username and password of 'root'.  These will be used when establishing telnet, ssh, or ftp connections.


Burning the Linux Kernel and .dtb File
-------------------------------------------------------------------------------
(In u-boot)
tftp 100000 linux-<kernel_version>
nand erase kernel 400000
(filesize can be determined again by stats given at the end of a successful tftp transfer and should be rounded up to the nearest 0x800)
nand write 100000 kernel filesize

The kernel will not be able to boot appropriately without the associated .dtb file.

(In u-boot)
tftp 100000 simpc8313_<kernel-version>.dtb
nand erase 7e0000 20000
nand write 100000 7e0000 2000


Boot Messages
-------------------------------------------------------------------------------
After typing the boot command in U-boot or letting the autoboot timer expire you will see a log similar to the one below as the kernel is inflated and begins running.  'Using MPC831x RDB machine description' is the first line that is printed by the Linux kernel.  The previous lines are printed while still under control of U-boot.  'SI-DDK SIServer_NET Application Ver1.0-Rev10.05.10' is the first line printed by the SIServer application.

*******************************************************************************
=> boot

NAND read: device 0 offset 0x200000, size 0x600000
 6291456 bytes read: OK
## Booting kernel from Legacy Image at 00500000 ...
   Image Name:   Linux-2.6.33
   Created:      2010-05-28  23:51:51 UTC
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1901051 Bytes = 1.8 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 00ae0000
   Booting using the fdt blob at 0xae0000
   Uncompressing Kernel Image ... OK
   Loading Device Tree to 007fb000, end 007fffff ... OK
Using MPC831x RDB machine description
Linux version 2.6.33 (ron@ron-desktop) (gcc version 4.2.2) #13 Fri May 28 16:51:49 PDT 2010
bootconsole [udbg0] enabled
setup_arch: bootmem
mpc831x_rdb_setup_arch()
Found FSL PCI host bridge at 0x00000000e0008500. Firmware bus number: 0->0
PCI host bridge /sleep-nexus/pci@e0008500 (primary) ranges:
 MEM 0x0000000090000000..0x000000009fffffff -> 0x0000000090000000
 MEM 0x0000000080000000..0x000000008fffffff -> 0x0000000080000000 Prefetch
  IO 0x00000000e2000000..0x00000000e20fffff -> 0x0000000000000000
arch: exit
Zone PFN ranges:
  DMA      0x00000000 -> 0x00010000
  Normal   0x00010000 -> 0x00010000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00010000
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
Kernel command line: root=/dev/mtdblock2 rootfstype=jffs2 rw console=ttyS0,115200
PID hash table entries: 1024 (order: 0, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 255616k/262144k available (3756k kernel code, 6296k reserved, 168k data, 89k bss, 168k init)
Kernel virtual memory layout:
  * 0xfffdf000..0xfffff000  : fixmap
  * 0xfdefb000..0xfe000000  : early ioremap
  * 0xd1000000..0xfdefb000  : vmalloc & ioremap
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:512 nr_irqs:512
IPIC (128 IRQ sources) at d1000700
clocksource: timebase mult[7800001] shift[22] registered
Mount-cache hash table entries: 512
NET: Registered protocol family 16

PCI: Probing PCI hardware
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switching to clocksource timebase
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Slow work thread pool: Starting up
Slow work thread pool: Ready
JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
msgmni has been set to 499
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0xe0004500 (irq = 16) is a 16550A
console [ttyS0] enabled, bootconsole disabled
console [ttyS0] enabled, bootconsole disabled
serial8250.0: ttyS1 at MMIO 0xe0004600 (irq = 17) is a 16550A
brd: module loaded
loop: module loaded
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron NAND 256MiB 3,3V 8-bit)
cmdlinepart partition parsing not available
RedBoot partition parsing not available
Creating 3 MTD partitions on "e2800000.flash":
0x000000000000-0x000000200000 : "u-boot"
0x000000200000-0x000000800000 : "kernel"
0x000000800000-0x000009000000 : "fs"
eLBC NAND device at 0xe2800000, bank 0
Fixed MDIO Bus: probed
eth0: Gianfar Ethernet Controller Version 1.2, 00:e0:0c:00:95:01
eth0: Running with NAPI enabled
eth0: :RX BD ring size for Q[0]: 256
eth0:TX BD ring size for Q[0]: 256
Freescale PowerQUICC MII Bus: probed
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci.0: irq 38, io base 0xe0023000
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
i2c /dev entries driver
md: linear personality registered for level -1
md: raid0 personality registered for level 0
md: raid1 personality registered for level 1
TCP cubic registered
NET: Registered protocol family 17
md: Waiting for all devices to be available before autodetect
md: If you don't use raid, use raid=noautodetect
md: Autodetecting RAID arrays.
md: Scanned 0 and added 0 devices.
md: autorun ...
md: ... autorun DONE.
VFS: Mounted root (jffs2 filesystem) on device 31:2.
Freeing unused kernel memory: 168k init
init started: BusyBox v1.7.1 (2009-02-25 11:23:17 PST)
starting pid 860, tty '': '/etc/rc.sh'
starting pid 875, tty '': '/bin/sh'
PHY: mdio@e0024520:08 - Link is Up - 1000/Full
                                                                                
SI-DDK SIServer_NET Application Ver1.0-Rev10.05.10
Sheldon Instruments, Inc. 2010
Supporting the MPC83xx Family
Using Device Number 0

~ # TCP/IP-Checking Done bit 1
FPGA Done line LOW
TCP/IP-Checking Done bit 2
FPGA Done line HI
TCP/IP-PrepBoard
TCP/IP-Loading /home/si/bin/mpc_top.bit and /home/si/bin/mod66xx.bit
FPGA Done line LOW
Loading FPGA
FPGA Done line HI
FPGA Done line HI
Done did not go low.
TCP/IP-Some FPGAs were not loaded. The board might not function.
*******************************************************************************


Linux Kernel Development (advanced users only)
-------------------------------------------------------------------------------
linux-2.6.33.tar.gz
Move to an appropriate directory and unpackage

PATH=$PATH:/opt/eldk/usr/bin
export ARCH=powerpc CROSS_COMPILE=ppc_6xx- KBUILD_OUTPUT=/home/si/build/kernel/<kernel_version>
cd /your/kernel/location/
make 83xx/simpc8313_defconfig
make
cp /home/si/build/kernel/<kernel_version>/arch/powerpc/boot/uImage /tftpboot/linux-<kernel_version>

To make configuration changes to the kernel, after typing 'make 83xx/simpc8313_defconfig', type 'make menuconfig'.  Navigate the menu and enable any and all configurations needed for your particular application.


Building the .dtb File (advanced users only)
-------------------------------------------------------------------------------
Navigate to http://www.jdl.com/software/
Download latest dtc application and install
All it should take is a 'make' command and then a 'make install' command.

cd /home/si/develop/dtc-v1.2.0
./dtc -I dts -O dtb -o simpc8313_<kernel-version>.dtb -S 0x2000 /home/si/develop/linux-<kernel-version>/arch/powerpc/boot/dts/simpc8313.dts
cp simpc8313_<kernel-version>.dtb /tftpboot/


===============================================================================
THE JFFS2 File System
-------------------------------------------------------------------------------
The JFFS2 file system comes in two different image formats.  One is for large page NAND and the other is for small page NAND.  It is very important that you burn the proper image to the NAND flash as the incorrect image will yield a great number of errors and warnings within the JFFS2 drivers.

Startup Script:
The file /etc/rc.sh is where any user scripts should be installed or implemented.  Either place your shell script into this file or create your own script and have it be initiated within this script file.

/home/si Directory:
This directory is where all SI binaries and utilities are stored.  Inside /home/si/bin/ is where the two siserver applications reside.  Also stored there are a few FPGA bitfiles, drivers, and other utilities.  /home/si/dsp is where the COFF file for the C6711 DSP is located.  /home/si/usr is a good location to place your own applications or utilities, but not the only place.

/dev Directory:
Here resides the simpc0 device.  It is hardwired to MAJOR_NUM 254.

(In u-boot)
tftp 100000 linux-<kernel_version>
nand erase kernel 400000
(filesize can be determined again by stats given at the end of a successful tftp transfer and should be rounded up to the nearest 0x800)
nand write 100000 kernel filesize


Building the JFFS2 File System (advanced users only)
-------------------------------------------------------------------------------
Get the file system image from ELDK:
PATH=$PATH:/opt/eldk/usr/bin
cd /opt/eldk/ppc_6xx/images
gzip -d -c -v ramdisk_image.gz >/root/Desktop/temp/rootfs/ramdisk_image
cd /root/Desktop/temp/rootfs/
mount -o loop ramdisk_image /root/Desktop/temp_mount/
cd /root/Desktop/temp_mount
tar -zc --exclude='dev/*' -f /home/si/build/rootfs/rootfs.tar.gz *
tar -zcf /home/si/build/rootfs/devices.tar.gz dev/
umount /root/Desktop/temp_mount

Get the file system image from server:
S(Server_E):\Develop\_binaries\_Latest_Working\Sample and Samplib\mpc_C67x\bsp_downloads\rootfs.tar.gz
PATH=$PATH:/opt/eldk/usr/bin
tar -zc --exclude='dev/*' -f /home/si/build/rootfs/rootfs.tar.gz *
tar -zcf /home/si/build/rootfs/devices.tar.gz dev/

<add/remove packages/files/directories>
mkfs.jffs2 -r rootfs -n --pad -s 0x800 -e 0x20000 -b -D rootfs_devices.tab -o simpc_lp.jffs2
or
mkfs.jffs2 -r rootfs -n --pad -s 0x200 -e 0x4000 -b -D rootfs_devices.tab -o simpc_sp.jffs2
tar -zcf rootfs.tar.gz rootfs/*


RFSB (Root File System Builder) Configuration
-------------------------------------------------------------------------------
The RFSB is the preferred method of building the root filesystem.  Currently the RFSB cannont be downloaded in a direct way.  It should be downloaded and installed by git.  More details about git can be found at http://git-scm.com/.  Installing git is distribution specific but is often very easy.  'yum install git-core' for Fedora; Ubuntu Software Center for Ubuntu.  After git has been successfully installed you can proceed with downloading the latest version of the rfsb.

git clone git://git.denx.de/rfsb.git

PATH=$PATH:/opt/eldk/usr/bin:/opt/eldk/bin
export CROSS_COMPILE=ppc_6xx-
cp rfsb.config rfsb/.config
cp root_devices.tab rfsb/config/
cp inittab rfsb/custom/rootfs/etc/
cp passwd rfsb/custom/rootfs/etc/
cp rc.sh rfsb/custom/rootfs/etc/
mkdir rfsb/custom/rootfs/home
mkdir rfsb/custom/rootfs/home/si
mkdir rfsb/custom/rootfs/home/si/bin
mkdir rfsb/custom/rootfs/home/si/doc
mkdir rfsb/custom/rootfs/home/si/dsp
mkdir rfsb/custom/rootfs/home/si/tmp
mkdir rfsb/custom/rootfs/home/si/usr
Copy all of the following files to rfsb/custom/rootfs/home/si/bin:
	fpgalock
	fsl_usb2_udc.ko
	g_ether.ko
	g_serial.ko
	g_zero.ko
	mod66xx.bit
	mpc_top_12e.bit
	mpc_sisample.out
	mpc_siserver_net.out
	mpc_siserver_usb.out
	mpc_top.bit
	simpc.ko
	sisample.out
	siserver_net.out
	siserver_usb.out
cp c6711mpcini.out rfsb/custom/rootfs/home/si/dsp
cd rfsb
make menuconfig
make

Resultant image file will be found at rfsb/build/images.
NOTE:
'cpio: etc/security/opasswd: Cannot open: Permission denied'

errors like this can be solved by 'chmod +r /opt/eldk/ppc_6xx/etc/security/opasswd'


Adding Packages to the File System Manually(advanced users only)
-------------------------------------------------------------------------------
PATH=/opt/eldk/usr/ppc-linux/bin:$PATH:/opt/eldk/usr/bin:/opt/eldk/bin
export CROSS_COMPILE=ppc_6xx-
mount -o loop /your/dowload/location/ppc_*-src.iso /mnt/temp
NOTE: ppc_*-src.iso was downloaded with ELDK, see ELDK section below for instruction on downloading the sources for libraries and utilities
ppc_6xx-rpm -iv /mnt/temp/target/SRPMS/<package>.src.rpm
ppc_6xx-rpmbuild -ba /opt/eldk/usr/src/denx/SPECS/<package>.spec
<add appropriate files to filesystem location - varies for packages>

List of packages added to the file system (possibly more)
libpthread
libcap
libcom_err
libgcc
libssl
libstdc++
libz
busybox (reconfigured):
	addgroup
	adduser
vsftpd
telnetd


*******************************************************************************
REGARDING BOARD STARTUP - Blank Flash or Corrupted U-boot Image
*******************************************************************************
Starting with a bare board there are a few steps which must be taken in order to have the board be in normal working order.  The first of these is to boot the board inside of the PCI as an agent using one of the hardcoded reset configuration source options.  SI recommends S2 have the value 0x80 or from left to right 0b10000000.  Once S2 has been set appropriately you can then plug the SIMPC8313 card into the PCI bus and start the PC.  Please take caution as the board has been known to start certain PCs upon insertion into the PCI bus.  To guard against this you can switch off the power supply on your PC while inserting the board into the PCI bus.

Once the PC has finished its boot process you can start the sample application.  The sample application should recognize that the boot sequencer has not been initialized.  The application should then configure an appropriate boot sequencer in the I2C located at (I2C bus) address 0x50.  Once this is finished the board must be restarted in order for written values to take effect.

After restarting the board and restarting the sample application all should run as "normal".  In order to appropriately use the NAND options you must first bitload the FPGA.  After the FPGA has been successfully bitloaded you can write u-boot to the NAND flash.  First, erase the u-boot region of the flash with option '5'.  The erase size on the first time should be the entire u-boot range (0x0 - 0x200000).  After you have erased the flash you can program u-boot into the NAND using option '6'.

After u-boot has been burned into the NAND flash the board should be able to operate in the stand alone (host) mode.


===============================================================================
BUILDING THE HOST DRIVER (Linux)
-------------------------------------------------------------------------------
cd /home/si/sidev/siddk/siddk_mpc/drivers/linux/0206
make


===============================================================================
BUILDING THE EMBEDDED DRIVER (Linux only (?))
-------------------------------------------------------------------------------
cd /home/si/sidev/siddk/siddk_mpc/drivers/linux/mpc_embedded
PATH=$PATH:/opt/eldk/usr/bin
**also you need to have a configured kernel located at /home/si/build/kernel/2_6
make


===============================================================================
BUILDING SAMPLE (Linux)
-------------------------------------------------------------------------------
cd /home/si/sidev/siddk/siddk_mpc/apps/sample/linux
make
or
make embedded


===============================================================================
INSTALLING ELDK (on Linux PC)
-------------------------------------------------------------------------------
In an internet browser window, navigate to ftp://ftp.denx.de/pub/eldk/
Select the most current version of the ELDK ~4.2
Select ppc-linux-x86
Select iso
Select ppc_*_freescale.iso
Save the file to your machine
Select ppc_*-src.iso
Save the file to your machine
(Inside terminal window)
cd /your/dowload/location
mount -o loop /your/dowload/location/ppc_*_freescale.iso /your/mount/location
cd /your/mount/location
./install -d /opt/eldk ppc_6xx

connecting to the board and transferring files while u-boot is running on the MPC is accomplished through tftp.  Your PC will be the tftp server and u-boot will act as the client making requests of the server.  Below are the instructions for installing the TFTP server on your Linux box.


===============================================================================
INSTALLING TFTP SERVER (on PC)
-------------------------------------------------------------------------------
yum install tftp-server (or similar for other distributions of Linux, the yum command is for Fedora)
vi /etc/xinet.d/tftp
Change the disable setting from 'yes' to 'no'
service tftp
{
	protocol = udp
	port = 69
	socket_type = dgram
	wait = yes
	user = nobody
	server = /usr/sbin/in.tftpd
	server_args = /tftpboot
	disable = no
}
/sbin/service xinetd start
mkdir /tftpboot
*****Don't forget to check the linux security firewall
make sure that your PC IP address is set to 10.196.31.85
The MPC IP address is set to 10.196.31.84
