Freescale MCF5475EVB ColdFire Development Board
================================================

TsiChung Liew(Tsi-Chung.Liew@freescale.com)
Created Jan 08, 2008
===========================================


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

- board/freescale/m547xevb/m547xevb.c	Dram setup, IDE pre init, and PCI init
- board/freescale/m547xevb/mii.c	MII init
- board/freescale/m547xevb/Makefile	Makefile
- board/freescale/m547xevb/config.mk	config make
- board/freescale/m547xevb/u-boot.lds	Linker description

- cpu/mcf547x_8x/cpu.c			cpu specific code
- cpu/mcf547x_8x/cpu_init.c		Flexbus ChipSelect, Mux pins setup, icache and RTC extra regs
- cpu/mcf547x_8x/interrupts.c		cpu specific interrupt support
- cpu/mcf547x_8x/slicetimer.c		Timer support
- cpu/mcf547x_8x/speed.c		system, pci, flexbus, and cpu clock
- cpu/mcf547x_8x/Makefile		Makefile
- cpu/mcf547x_8x/config.mk		config make
- cpu/mcf547x_8x/start.S		start up assembly code

- doc/README.m5475evb			This readme file

- drivers/dma/MCD_dmaApi.c		DMA API functions
- drivers/dma/MCD_tasks.c		DMA Tasks
- drivers/dma/MCD_tasksInit.c		DMA Tasks Init
- drivers/net/fsl_mcdmafec.c		ColdFire common DMA FEC driver
- drivers/serial/mcfuart.c		ColdFire common UART driver

- include/MCD_dma.h			DMA header file
- include/MCD_progCheck.h		DMA header file
- include/MCD_tasksInit.h		DMA header file
- include/asm-m68k/bitops.h		Bit operation function export
- include/asm-m68k/byteorder.h		Byte order functions
- include/asm-m68k/errno.h		Error Number definition
- include/asm-m68k/fec.h		FEC structure and definition
- include/asm-m68k/fsl_i2c.h		I2C structure and definition
- include/asm-m68k/fsl_mcddmafec.h	DMA FEC structure and definition
- include/asm-m68k/global_data.h	Global data structure
- include/asm-m68k/immap.h		ColdFire specific header file and driver macros
- include/asm-m68k/immap_547x_8x.h	mcf547x_8x specific header file
- include/asm-m68k/io.h			io functions
- include/asm-m68k/m547x_8x.h		mcf547x_8x specific header file
- include/asm-m68k/posix_types.h	Posix
- include/asm-m68k/processor.h		header file
- include/asm-m68k/ptrace.h		Exception structure
- include/asm-m68k/rtc.h		Realtime clock header file
- include/asm-m68k/string.h		String function export
- include/asm-m68k/timer.h		Timer structure and definition
- include/asm-m68k/types.h		Data types definition
- include/asm-m68k/uart.h		Uart structure and definition
- include/asm-m68k/u-boot.h		u-boot structure

- include/configs/M5475EVB.h		Board specific configuration file

- lib_m68k/board.c			board init function
- lib_m68k/cache.c
- lib_m68k/interrupts			Coldfire common interrupt functions
- lib_m68k/m68k_linux.c
- lib_m68k/traps.c			Exception init code

1 MCF547x specific Options/Settings
====================================
1.1 pre-loader is no longer suppoer in thie coldfire family

1.2 Configuration settings for M5475EVB Development Board
CONFIG_MCF547x_8x	-- define for all MCF547x_8x CPUs
CONFIG_M547x		-- define for all Freescale MCF547x CPUs
CONFIG_M5475		-- define for M5475EVB board

CONFIG_MCFUART		-- define to use common CF Uart driver
CFG_UART_PORT		-- define UART port number, start with 0, 1 and 2
CONFIG_BAUDRATE		-- define UART baudrate

CONFIG_FSLDMAFEC	-- define to use common dma FEC driver
CONFIG_NET_MULTI	-- define to use multi FEC in u-boot
CONFIG_MII		-- enable to use MII driver
CONFIG_CF_DOMII		-- enable to use MII feature in cmd_mii.c
CFG_DISCOVER_PHY	-- enable PHY discovery
CFG_RX_ETH_BUFFER	-- Set FEC Receive buffer
CFG_FAULT_ECHO_LINK_DOWN--
CFG_FEC0_PINMUX		-- Set FEC0 Pin configuration
CFG_FEC1_PINMUX		-- Set FEC1 Pin configuration
CFG_FEC0_MIIBASE	-- Set FEC0 MII base register
CFG_FEC1_MIIBASE	-- Set FEC0 MII base register
MCFFEC_TOUT_LOOP	-- set FEC timeout loop
CONFIG_HAS_ETH1		-- define to enable second FEC in u-boot

CONFIG_CMD_USB		-- enable USB commands
CONFIG_USB_OHCI_NEW	-- enable USB OHCI driver
CONFIG_USB_STORAGE	-- enable USB Storage device
CONFIG_DOS_PARTITION	-- enable DOS read/write

CONFIG_SLTTMR		-- define to use SLT timer

CONFIG_FSL_I2C		-- define to use FSL common I2C driver
CONFIG_HARD_I2C		-- define for I2C hardware support
CONFIG_SOFT_I2C		-- define for I2C bit-banged
CFG_I2C_SPEED		-- define for I2C speed
CFG_I2C_SLAVE		-- define for I2C slave address
CFG_I2C_OFFSET		-- define for I2C base address offset
CFG_IMMR		-- define for MBAR offset

CONFIG_PCI              -- define for PCI support
CONFIG_PCI_PNP          -- define for Plug n play support
CONFIG_SKIPPCI_HOSTBRIDGE	-- SKIP PCI Host bridge
CFG_PCI_MEM_BUS		-- PCI memory logical offset
CFG_PCI_MEM_PHYS	-- PCI memory physical offset
CFG_PCI_MEM_SIZE	-- PCI memory size
CFG_PCI_IO_BUS		-- PCI IO logical offset
CFG_PCI_IO_PHYS		-- PCI IO physical offset
CFG_PCI_IO_SIZE		-- PCI IO size
CFG_PCI_CFG_BUS		-- PCI Configuration logical offset
CFG_PCI_CFG_PHYS	-- PCI Configuration physical offset
CFG_PCI_CFG_SIZE	-- PCI Configuration size

CFG_MBAR		-- define MBAR offset

CONFIG_MONITOR_IS_IN_RAM -- Not support

CFG_INIT_RAM_ADDR	-- defines the base address of the MCF547x internal SRAM

CFG_CSn_BASE	-- defines the Chip Select Base register
CFG_CSn_MASK	-- defines the Chip Select Mask register
CFG_CSn_CTRL	-- defines the Chip Select Control register

CFG_SDRAM_BASE	-- defines the DRAM Base

2. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL
===========================================
2.1. System memory map:
	Flash:		0xFF800000-0xFFFFFFFF (8MB)
	DDR:		0x00000000-0x3FFFFFFF (1024MB)
	SRAM:		0xF2000000-0xF2000FFF (4KB)
	PCI:		0x70000000-0x8FFFFFFF (512MB)
	IP:		0xF0000000-0xFFFFFFFF (256MB)

3. COMPILATION
==============
3.1	To create U-Boot the gcc-4.x compiler set (ColdFire ELF or uclinux
        version) from codesourcery.com was used. Download it from:
	http://www.codesourcery.com/gnu_toolchains/coldfire/download.html

3.2 Compilation
   export CROSS_COMPILE=cross-compile-prefix
   cd u-boot-1.x.x
   make distclean
   make M5475AFE_config, or	- boot 2MB, RAM 64MB
   make M5475BFE_config, or	- boot 2MB, code 16MB, RAM 64MB
   make M5475CFE_config, or	- boot 2MB, code 16MB, Video, USB, RAM 64MB
   make M5475DFE_config, or	- boot 2MB, USB, RAM 64MB
   make M5475EFE_config, or	- boot 2MB, Video, USB, RAM 64MB
   make M5475FFE_config, or	- boot 2MB, code 32MB, Video, USB, RAM 128MB
   make M5475GFE_config, or	- boot 2MB, RAM 64MB
   make

5. SCREEN DUMP
==============
5.1

U-Boot 1.3.1 (Jan  8 2008 - 12:47:44)

CPU:   Freescale MCF5475
       CPU CLK 266 Mhz BUS CLK 133 Mhz
Board: Freescale FireEngine 5475 EVB
I2C:   ready
DRAM:  64 MB
FLASH: 18 MB
In:    serial
Out:   serial
Err:   serial
Net:   FEC0, FEC1
-> pri
bootdelay=1
baudrate=115200
ethaddr=00:e0:0c:bc:e5:60
eth1addr=00:e0:0c:bc:e5:61
ipaddr=192.162.1.2
serverip=192.162.1.1
gatewayip=192.162.1.1
netmask=255.255.255.0
hostname=M547xEVB
netdev=eth0
loadaddr=10000
u-boot=u-boot.bin
load=tftp ${loadaddr) ${u-boot}
upd=run load; run prog
prog=prot off bank 1;era ff800000 ff82ffff;cp.b ${loadaddr} ff800000 ${filesize};save
stdin=serial
stdout=serial
stderr=serial
ethact=FEC0
mem=65024k

Environment size: 433/8188 bytes
-> bdin
memstart    = 0x00000000
memsize     = 0x04000000
flashstart  = 0xFF800000
flashsize   = 0x01200000
flashoffset = 0x00000000
sramstart   = 0xF2000000
sramsize    = 0x00001000
mbar        = 0xF0000000
busfreq     = 133.333 MHz
pcifreq     =      0 MHz
ethaddr     = 00:E0:0C:BC:E5:60
eth1addr    = 00:E0:0C:BC:E5:61
ip_addr     = 192.162.1.2
baudrate    = 115200 bps
-> ?
?       - alias for 'help'
autoscr - run script from memory
base    - print or set address offset
bdinfo  - print Board Info structure
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootelf - Boot from an ELF image in memory
bootm   - boot application image from memory
bootp	- boot image via network using BootP/TFTP protocol
bootvx  - Boot vxWorks from an ELF image
cmp     - memory compare
coninfo - print console devices and information
cp      - memory copy
crc32   - checksum calculation
dcache  - enable or disable data cache
echo    - echo args to console
erase   - erase FLASH memory
flinfo  - print FLASH memory information
go      - start application at address 'addr'
help    - print online help
icache  - enable or disable instruction cache
icrc32  - checksum calculation
iloop   - infinite loop on address range
imd     - i2c memory display
iminfo  - print header information for application image
imls    - list all images found in flash
imm     - i2c memory modify (auto-incrementing)
imw     - memory write (fill)
inm     - memory modify (constant address)
iprobe  - probe to discover valid I2C chip addresses
itest	- return true/false on integer compare
loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
md      - memory display
mii     - MII utility commands
mm      - memory modify (auto-incrementing)
mtest   - simple RAM test
mw      - memory write (fill)
nfs	- boot image via network using NFS protocol
nm      - memory modify (constant address)
pci     - list and access PCI Configuration Space
ping	- send ICMP ECHO_REQUEST to network host
printenv- print environment variables
protect - enable or disable FLASH write protection
rarpboot- boot image via network using RARP/TFTP protocol
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv  - set environment variables
sleep   - delay execution for some time
tftpboot- boot image via network using TFTP protocol
usb     - USB sub-system
usbboot - boot from USB device
version - print monitor version
-> usb start
(Re)start USB...
USB:   OHCI pci controller (1131, 1561) found @(0:17:0)
OHCI regs address 0x80000000
scanning bus for devices... 2 USB Device(s) found
       scanning bus for storage devices... 1 Storage Device(s) found
->
