Freescale Alaska MPC8220 board
==============================

TsiChung Liew(Tsi-Chung.Liew@freescale.com)
Created 9/21/04
===========================================


Changed files:
==============

- Makefile		    added MPC8220 and Alaska8220_config
- MAKEALL		    added MPC8220 and Alaska8220
- README		    added CONFIG_MPC8220, Alaska8220_config

- common/cmd_bdinfo.c	    added board information members for MPC8220
- common/cmd_bootm.c	    added clocks for MPC8220 in do_bootm_linux()

- include/common.h	    added CONFIG_MPC8220

- include/asm-ppc/u-boot.h  added board information members for MPC8220
- include/asm-ppc/global_data.h added global variables - inp_clk, pci_clk,
			    vco_clk, pev_clk, flb_clk, and bExtUart

- arch/ppc/lib/board.c	    added CONFIG_MPC8220 support

- net/eth.c		    added FEC support for MPC8220

Added files:
============
- board/alaska		    directory for Alaska MPC8220
- board/alaska/alaska.c	    Alaska dram and BATs setup
- board/alaska/extserial.c  external serial (debug card serial) support
- board/alaska/flash.c	    Socket (AMD) and Onboard (INTEL) flash support
- board/alaska/serial.c	    to determine which int/ext serial to use
- board/alaska/Makefile	    Makefile
- board/alaska/config.mk    config make
- board/alaska/u-boot.lds   Linker description

- arch/ppc/cpu/mpc8220/dma.h	    multi-channel dma header file
- arch/ppc/cpu/mpc8220/dramSetup.h   dram setup header file
- arch/ppc/cpu/mpc8220/fec.h	    MPC8220 FEC header file
- arch/ppc/cpu/mpc8220/cpu.c	    cpu specific code
- arch/ppc/cpu/mpc8220/cpu_init.c    Flexbus ChipSelect and Mux pins setup
- arch/ppc/cpu/mpc8220/dramSetup.c   MPC8220 DDR SDRAM setup
- arch/ppc/cpu/mpc8220/fec.c	    MPC8220 FEC driver
- arch/ppc/cpu/mpc8220/i2c.c	    MPC8220 I2C driver
- arch/ppc/cpu/mpc8220/interrupts.c  interrupt support (not enable)
- arch/ppc/cpu/mpc8220/loadtask.c    load dma
- arch/ppc/cpu/mpc8220/speed.c	    system, pci, flexbus, pev, and cpu clock
- arch/ppc/cpu/mpc8220/traps.c	    exception
- arch/ppc/cpu/mpc8220/uart.c	    MPC8220 UART driver
- arch/ppc/cpu/mpc8220/Makefile	    Makefile
- arch/ppc/cpu/mpc8220/config.mk	    config make
- arch/ppc/cpu/mpc8220/fec_dma_task.S MPC8220 FEC multi-channel dma program
- arch/ppc/cpu/mpc8220/io.S	    io functions
- arch/ppc/cpu/mpc8220/start.S	    start up

- include/mpc8220.h

- include/asm-ppc/immap_8220.h

- include/configs/Alaska8220.h


1. SWITCH SETTINGS
==================
1.1 SW1: 0 - Boot from Socket Flash (AMD) or 1 - Onboard Flash (INTEL)
    SW2: 0 - Select MPC8220 UART or 1 - Debug Card UART
    SW3: unsed
    SW4: 0 - 1284 or 1 - FEC1
    SW5: 0 - PEV or 1 - FEC2


2. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL
===========================================
2.1. For the initial bringup, we adopted a consistent memory scheme between u-boot and
     linux kernel, you can customize it based on your system requirements:
      DDR:	    0x00000000-0x1fffffff (max 512MB)
      MBAR:	    0xf0000000-0xf0027fff (128KB)
      CPLD:	    0xf1000000-0xf103ffff (256KB)
      FPGA:	    0xf2000000-0xf203ffff (256KB)
      Flash:	    0xfe000000-0xffffffff (max 32MB)

3. DEFINITIONS AND COMPILATION
==============================
3.1 Explanation on NEW definitions in include/configs/alaska8220.h
    CONFIG_MPC8220	    MPC8220 specific
    CONFIG_ALASKA8220	    Alaska board specific
    CONFIG_SYS_MPC8220_CLKIN	    Define Alaska Input Clock
    CONFIG_PSC_CONSOLE	    Enable MPC8220 UART
    CONFIG_EXTUART_CONSOLE  Enable External 16552 UART
    CONFIG_SYS_AMD_BOOT	    To determine the u-boot is booted from AMD or Intel
    CONFIG_SYS_MBAR		    MBAR base address
    CONFIG_SYS_DEFAULT_MBAR	    Reset MBAR base address

3.2 Compilation
   export CROSS_COMPILE=cross-compile-prefix
   cd u-boot-1-1-x
   make distclean
   make Alaska8220_config
   make


4. SCREEN DUMP
==============
4.1 Alaska MPC8220 board
    Boot from AMD (NOTE: May not show exactly the same)

U-Boot 1.1.1 (Sep 22 2004 - 22:14:41)

CPU:   MPC8220 (JTAG ID 1640301d) at 300 MHz
       Bus 120 MHz, CPU 300 MHz, PCI 30 MHz, VCO 480 MHz
Board: Alaska MPC8220 Evaluation Board
I2C:   93 kHz, ready
DRAM:  256 MB
Reserving 167k for U-Boot at: 0ffd6000
FLASH: 16.5 MB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   FEC ETHERNET
=> flinfo

Bank # 1: INTEL 28F128J3A
  Size: 8 MB in 64 Sectors
  Sector Start Addresses:
    FE000000	  FE020000	FE040000      FE060000	    FE080000
    FE0A0000	  FE0C0000	FE0E0000      FE100000	    FE120000
    FE140000	  FE160000	FE180000      FE1A0000	    FE1C0000
    FE1E0000	  FE200000	FE220000      FE240000	    FE260000
    FE280000	  FE2A0000	FE2C0000      FE2E0000	    FE300000
    FE320000	  FE340000	FE360000      FE380000	    FE3A0000
    FE3C0000	  FE3E0000	FE400000      FE420000	    FE440000
    FE460000	  FE480000	FE4A0000      FE4C0000	    FE4E0000
    FE500000	  FE520000	FE540000      FE560000	    FE580000
    FE5A0000	  FE5C0000	FE5E0000      FE600000	    FE620000
    FE640000	  FE660000	FE680000      FE6A0000	    FE6C0000
    FE6E0000	  FE700000	FE720000      FE740000	    FE760000
    FE780000	  FE7A0000	FE7C0000      FE7E0000

Bank # 2: INTEL 28F128J3A
  Size: 8 MB in 64 Sectors
  Sector Start Addresses:
    FE800000	  FE820000	FE840000      FE860000	    FE880000
    FE8A0000	  FE8C0000	FE8E0000      FE900000	    FE920000
    FE940000	  FE960000	FE980000      FE9A0000	    FE9C0000
    FE9E0000	  FEA00000	FEA20000      FEA40000	    FEA60000
    FEA80000	  FEAA0000	FEAC0000      FEAE0000	    FEB00000
    FEB20000	  FEB40000	FEB60000      FEB80000	    FEBA0000
    FEBC0000	  FEBE0000	FEC00000      FEC20000	    FEC40000
    FEC60000	  FEC80000	FECA0000      FECC0000	    FECE0000
    FED00000	  FED20000	FED40000      FED60000	    FED80000
    FEDA0000	  FEDC0000	FEDE0000      FEE00000	    FEE20000
    FEE40000	  FEE60000	FEE80000      FEEA0000	    FEEC0000
    FEEE0000	  FEF00000 (RO) FEF20000 (RO) FEF40000	    FEF60000
    FEF80000	  FEFA0000	FEFC0000      FEFE0000 (RO)

Bank # 3: AMD AMD29F040B
  Size: 0 MB in 7 Sectors
  Sector Start Addresses:
    FFF00000 (RO) FFF10000 (RO) FFF20000 (RO) FFF30000	    FFF40000
    FFF50000	  FFF60000

Bank # 4: AMD AMD29F040B
  Size: 0 MB in 1 Sectors
  Sector Start Addresses:
    FFF70000 (RO)
=> bdinfo

memstart    = 0xF0009800
memsize	    = 0x10000000
flashstart  = 0xFFF00000
flashsize   = 0x01080000
flashoffset = 0x00025000
sramstart   = 0xF0020000
sramsize    = 0x00008000
bootflags   = 0x00000001
intfreq	    =	 300 MHz
busfreq	    =	 120 MHz
inpfreq	    =	  30 MHz
flbfreq	    =	  30 MHz
pcifreq	    =	  30 MHz
vcofreq	    =	 480 MHz
pevfreq	    =	  81 MHz
ethaddr	    = 00:E0:0C:BC:E0:60
eth1addr    = 00:E0:0C:BC:E0:61
IP addr	    = 192.162.1.2
baudrate    = 115200 bps
=> printenv
bootargs=root=/dev/ram rw
bootdelay=5
baudrate=115200
ethaddr=00:e0:0c:bc:e0:60
eth1addr=00:e0:0c:bc:e0:61
ipaddr=192.162.1.2
serverip=192.162.1.1
gatewayip=192.162.1.1
netmask=255.255.255.0
hostname=Alaska
stdin=serial
stdout=serial
stderr=serial
ethact=FEC ETHERNET

Environment size: 268/65532 bytes
=> setenv ipaddr 192.160.1.2
=> setenv serverip 192.160.1.1
=> setenv gatewayip 192.160.1.1
=> saveenv
Saving Environment to Flash...

.
Un-Protected 1 sectors
Erasing Flash...
Erasing sector	0 ...  done
Erased 1 sectors
Writing to Flash... done

.
Protected 1 sectors
=> tftp 0x10000 linux.elf
Using FEC ETHERNET device
TFTP from server 192.160.1.1; our IP address is 192.160.1.2; sending through gateway 192.160.1.1
Filename 'linux.elf'.
Load address: 0x10000
Loading: invalid RARP header
#################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 ##################################################
done
Bytes transferred = 2917494 (2c8476 hex)
=> bootelf
Loading .text @ 0x00a00000 (23820 bytes)
Loading .data @ 0x00a06000 (2752512 bytes)
Clearing .bss @ 0x00ca6000 (12764 bytes)
## Starting application at 0x00a00000 ...

Collect some entropy from RAM........done
loaded at:     00A00000 00CA91DC
zimage at:     00A06A93 00AD7756
initrd at:     00AD8000 00CA5565
avail ram:     00CAA000 014AA000

Linux/PPC load: ip=off console=ttyS0,115200
Uncompressing Linux...done.
Now booting the kernel
Total memory in system: 256 MB
Memory BAT mapping: BAT2=256Mb, BAT3=0Mb, residual: 0Mb
Linux version 2.4.21-rc1 (r61688@bluesocks.sps.mot.com) (gcc version 3.3.1) #17 Wed Sep 8 11:49:16 CDT 2004
Motorola Alaska port (C) 2003 Motorola, Inc.
CPLD rev 3
CPLD switches 0x1b
Set Pin Mux for FEC1
Set Pin Mux for FEC2
Alaska Pin Multiplexing:
Port Configuration Register 0 = 0
Port Configuration Register 1 = 0
Port Configuration Register 2 = 0
Port Configuration Register 3 = 50000000
Port Configuration Register 3 - PCI = 51400180
Setup Alaska FPGA PIC:
Interrupt Enable Register *(u32) = 0
Interrupt Status Register = 2f0000
Interrupt Enable Register in_be32 = 0
Interrupt Status Register = 2f0000
Interrupt Enable Register in_le32 = 0
Interrupt Status Register = 2f00
Interrupt Enable Register readl = 0
Interrupt Status Register = 2f00
Interrupt Enable Register = 0
Interrupt Status Register = 2f0000
Setup Alaska PCI Controller:
On node 0 totalpages: 65536
zone(0): 65536 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: ip=off console=ttyS0,115200
Using XLB clock (120.00 MHz) to set up decrementer
Calibrating delay loop... 199.88 BogoMIPS
Memory: 254792k available (1476k kernel code, 708k data, 228k init, 0k highmem)
Dentry cache hash table entries: 32768 (order: 6, 262144 bytes)
Inode cache hash table entries: 16384 (order: 5, 131072 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 16384 (order: 4, 65536 bytes)
Page-cache hash table entries: 65536 (order: 6, 262144 bytes)
POSIX conformance testing by UNIFIX
PCI: Probing PCI hardware
PCI: (pcibios_init) Global-Hose = 0xc029d000
Scanning bus 00
Fixups for bus 00
Bus scan for 00 returning with max=00
PCI: (pcibios_init) finished pci_scan_bus(hose->first_busno = 0, hose->ops = c01a1a74, hose = c029d000)
PCI: (pcibios_init) PCI Bus Count = 0 =?= Next Bus# = 1
PCI: (pcibios_init@pci_fixup_irqs) finished machine dependent PCI interrupt routing!
PCI: bridge rsrc 81000000..81ffffff (100), parent c01a7f88
PCI: bridge rsrc 84000000..87ffffff (200), parent c01a7fa4
PCI: (pcibios_init) finished allocating and assigning resources!
initDma!
Using 90 DMA buffer descriptors
descUsed f0023600, descriptors f002360c freeSram f0024140
unmask SDMA tasks: 0xf0008018 = 0x6f000000
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
Journalled Block Device driver loaded
JFFS version 1.0, (C) 1999, 2000  Axis Communications AB
JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis Communications AB.
pty: 256 Unix98 ptys configured
tracek: Copyright (C) Motorola, 2003.
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0xf1001008 (irq = 73) is a ST16650
ttyS01 at 0xf1001010 (irq = 74) is a ST16650
elp-fpanel: Copyright (C) Motorola, 2003.
fpanel: fpanelWait timeout
elp-engine: Copyright (C) Motorola, 2003.
Video disabled due to configuration switch 4
Alpine 1284 driver: Copyright (C) Motorola, 2003.
1284 disabled due to configuration switch 5
Alpine USB driver: Copyright (C) Motorola, 2003.
OK
USB: Descriptor download completed OK
enable_irq(41) unbalanced
enable_irq(75) unbalanced
elp-dmaram: Copyright (C) Motorola, 2003.
Total memory in system: 256 MB
elp_dmaram: offset is 0x10000000, size is 0
Xicor NVRAM driver: Copyright (C) Motorola, 2003.
elp-video: Copyright (C) Motorola, 2003.
Video disabled due to configuration switch 4
elp-pfm: Copyright (C) Motorola, 2003.
paddle: Copyright (C) Motorola, 2001, present.
RAMDISK driver initialized: 16 RAM disks of 12288K size 1024 blocksize
loop: loaded (max 8 devices)
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
Uniform Multi-Platform E-IDE driver Revision: 7.00beta-2.4
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
init_alaska_mtd: chip probing count 0
cfi_cmdset_0001: Erase suspend on write enabled
Using buffer write method
init_alaska_mtd: bank1, name:ALASKA0, size:16777216bytes
ALASKA flash0: Using Static image partition definition
Creating 3 MTD partitions on "ALASKA0":
0x00000000-0x00280000 : "kernel"
0x00280000-0x00fe0000 : "user"
0x00fe0000-0x01000000 : "signature"
mgt_fec_module_init
mgt_fec_init()
mgt_fec_init
mgt_init_fec_dev(0xc05f6000,0)
dev c05f6000 fec_priv c05f6160 fec f0009000
mgt_init_fec_dev(0xc05f6800,1)
dev c05f6800 fec_priv c05f6960 fec f0009800
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 16384 bind 32768)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 1845k freed
JFFS: Trying to mount a non-mtd device.
VFS: Mounted root (romfs filesystem) readonly.
Freeing unused kernel memory: 228k init
INIT: version 2.78 booting
INIT: Entering runlevel: 1
"Space, a great big place of unknown stuff."  -Dexter, for our MotD.
[01/Jan/1970:00:00:01 +0000] boa: server version Boa/0.94.8.3
[01/Jan/1970:00:00:01 +0000] boa: server built Sep  7 2004 at 17:40:55.
[01/Jan/1970:00:00:01 +0000] boa: starting server pid=28, port 80
Mounting flash filesystem, will take a minute...
/etc/rc: line 30: /dev/lp0: No such devish-2.05b#
sh-2.05b# ifup eth0
client (v0.9.9-pre) started
adapter index 2
adapter hardware address 00:e0:0c:bc:e0:60
execle'ing /usr/share/udhcpc/default.script
/sbin/ifconfig eth0
eth0	  Link encap:Ethernet  HWaddr 00:E0:0C:BC:E0:60
	  BROADCAST MULTICAST  MTU:1500	 Metric:1
	 mgt_fec_open
 Rfec request irq
X fec_open: rcv_ring_size 8, xmt_ring_size 8
packmgt_fec_open(): call netif_start_queue()
ets:0 errors:0 dropped:0 overruns:0 frame:0
	  TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
	  collisions:0 txqueuelen:100
	  RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
	  Base address:0x9000

/sbin/ifconfig eth0 up
entering raw listen mode
Opening raw socket on ifindex 2
adding option 0x35
adding option 0x3d
adding option 0x3c
Sending discover...
Waiting on select...
unrelated/bogus packet
Waiting on select...
oooooh!!! got some!
adding option 0x35
adding option 0x3d
adding option 0x3c
adding option 0x32
adding option 0x36
Sending select for 163.12.48.146...
Waiting on select...
oooooh!!! got some!
Waiting on select...
oooooh!!! got some!
Lease of 163.12.48.146 obtained, lease time 345600
execle'ing /usr/share/udhcpc/default.script
/sbin/ifconfig eth0 163.12.48.146 netmask 255.255.254.0
/sbin/ifconfig eth0 up
deleting routers
/sbin/route del default
/sbin/route add default gw 163.12.49.254 dev eth0
adding dns 163.12.252.230
adding dns 192.55.22.4
adding dns 192.5.249.4
entering none listen mode
sh-2.05b#

5. REPROGRAM U-BOOT
===================
5.1 Reprogram u-boot (boot from AMD)
    1. Unprotect the boot sector
    => protect off bank 3
    2. Download new u-boot binary file
    => tftp 0x10000 u-boot.bin
    3. Erase bootsector (max 7 sectors)
    => erase 0xfff00000 0xfff6ffff
    4. Program the u-boot to flash
    => cp.b 0x10000 0xfff00000
    5. Reset for the new u-boot to take place
    => reset

5.2 Reprogram u-boot (boot from AMD program at INTEL)
    1. Unprotect the boot sector
    => protect off bank 2
    2. Download new u-boot binary file
    => tftp 0x10000 u-boot.bin
    3. Erase bootsector (max 7 sectors)
    => erase 0xfef00000 0xfefdffff
    4. Program the u-boot to flash
    => cp.b 0x10000 0xfef00000
    5. Reset for the new u-boot to take place
    => reset

5.3 Reprogram u-boot (boot from INTEL)
    1. Unprotect the boot sector
    => protect off bank 4
    2. Download new u-boot binary file
    => tftp 0x10000 u-boot.bin
    3. Erase bootsector (max 7 sectors)
    => erase 0xfff00000 0xfffdffff
    4. Program the u-boot to flash
    => cp.b 0x10000 0xfff00000
    5. Reset for the new u-boot to take place
    => reset

5.4 Reprogram u-boot (boot from INTEL program at AMD)
    1. Unprotect the boot sector
    => protect off bank 1
    2. Download new u-boot binary file
    => tftp 0x10000 u-boot.bin
    3. Erase bootsector (max 7 sectors)
    => erase 0xfe080000 0xfe0effff
    4. Program the u-boot to flash
    => cp.b 0x10000 0xfe080000
    5. Reset for the new u-boot to take place
    => reset
