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

- arch/m68k/cpu/mcf547x_8x/cpu.c			cpu specific code
- arch/m68k/cpu/mcf547x_8x/cpu_init.c		Flexbus ChipSelect, Mux pins setup, icache and RTC extra regs
- arch/m68k/cpu/mcf547x_8x/interrupts.c		cpu specific interrupt support
- arch/m68k/cpu/mcf547x_8x/slicetimer.c		Timer support
- arch/m68k/cpu/mcf547x_8x/speed.c		system, pci, flexbus, and cpu clock
- arch/m68k/cpu/mcf547x_8x/Makefile		Makefile
- arch/m68k/cpu/mcf547x_8x/config.mk		config make
- arch/m68k/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

- arch/m68k/lib/board.c			board init function
- arch/m68k/lib/cache.c
- arch/m68k/lib/interrupts			Coldfire common interrupt functions
- arch/m68k/lib/m68k_linux.c
- arch/m68k/lib/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
CONFIG_SYS_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_MII		-- enable to use MII driver
CONFIG_CF_DOMII		-- enable to use MII feature in cmd_mii.c
CONFIG_SYS_DISCOVER_PHY	-- enable PHY discovery
CONFIG_SYS_RX_ETH_BUFFER	-- Set FEC Receive buffer
CONFIG_SYS_FAULT_ECHO_LINK_DOWN--
CONFIG_SYS_FEC0_PINMUX		-- Set FEC0 Pin configuration
CONFIG_SYS_FEC1_PINMUX		-- Set FEC1 Pin configuration
CONFIG_SYS_FEC0_MIIBASE	-- Set FEC0 MII base register
CONFIG_SYS_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_SYS_I2C_FSL	-- define to use FSL common I2C driver
CONFIG_HARD_I2C		-- define for I2C hardware support
CONFIG_SYS_I2C_SOFT	-- define for I2C bit-banged
CONFIG_SYS_I2C_SPEED		-- define for I2C speed
CONFIG_SYS_I2C_SLAVE		-- define for I2C slave address
CONFIG_SYS_I2C_OFFSET		-- define for I2C base address offset
CONFIG_SYS_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
CONFIG_SYS_PCI_MEM_BUS		-- PCI memory logical offset
CONFIG_SYS_PCI_MEM_PHYS	-- PCI memory physical offset
CONFIG_SYS_PCI_MEM_SIZE	-- PCI memory size
CONFIG_SYS_PCI_IO_BUS		-- PCI IO logical offset
CONFIG_SYS_PCI_IO_PHYS		-- PCI IO physical offset
CONFIG_SYS_PCI_IO_SIZE		-- PCI IO size
CONFIG_SYS_PCI_CFG_BUS		-- PCI Configuration logical offset
CONFIG_SYS_PCI_CFG_PHYS	-- PCI Configuration physical offset
CONFIG_SYS_PCI_CFG_SIZE	-- PCI Configuration size

CONFIG_SYS_MBAR		-- define MBAR offset

CONFIG_MONITOR_IS_IN_RAM -- Not support

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

CONFIG_SYS_CSn_BASE	-- defines the Chip Select Base register
CONFIG_SYS_CSn_MASK	-- defines the Chip Select Mask register
CONFIG_SYS_CSn_CTRL	-- defines the Chip Select Control register

CONFIG_SYS_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'
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
i2c	- I2C sub-system
icache	- enable or disable instruction cache
iminfo	- print header information for application image
imls	- list all images found in flash
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
source	- run script from memory
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
->
