Freescale MCF53017EVB ColdFire Development Board
================================================

TsiChung Liew(Tsi-Chung.Liew@freescale.com)
Created 10/22/08
===========================================


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

- board/freescale/m53017evb/m53017evb.c	Dram setup
- board/freescale/m53017evb/mii.c	Mii access
- board/freescale/m53017evb/Makefile	Makefile
- board/freescale/m53017evb/config.mk	config make
- board/freescale/m53017evb/u-boot.lds	Linker description

- arch/m68k/cpu/mcf532x/cpu.c			cpu specific code
- arch/m68k/cpu/mcf532x/cpu_init.c		FBCS, Mux pins, icache and RTC extra regs
- arch/m68k/cpu/mcf532x/interrupts.c		cpu specific interrupt support
- arch/m68k/cpu/mcf532x/speed.c			system, flexbus, and cpu clock
- arch/m68k/cpu/mcf532x/Makefile			Makefile
- arch/m68k/cpu/mcf532x/config.mk			config make
- arch/m68k/cpu/mcf532x/start.S			start up assembly code

- board/freescale/m53017evb/README	his readme file

- drivers/net/mcffec.c			ColdFire common FEC driver
- drivers/net/mcfmii.c			ColdFire common Mii driver
- drivers/serial/mcfuart.c		ColdFire common UART driver
- drivers/rtc/mcfrtc.c			Realtime clock Driver

- include/asm-m68k/bitops.h		Bit operation function export
- include/asm-m68k/byteorder.h		Byte order functions
- include/asm-m68k/fec.h		FEC structure and definition
- include/asm-m68k/fsl_i2c.h		I2C 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_5301x.h	mcf5301x specific header file
- include/asm-m68k/io.h			io functions
- include/asm-m68k/m532x.h		mcf5301x 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/M53017EVB.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/time.c			Timer functions (Dma timer and PIT)
- arch/m68k/lib/traps.c			Exception init code

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

1.2 Configuration settings for M53017EVB Development Board
CONFIG_MCF5301x			-- define for all MCF5301x CPUs
CONFIG_M53015			-- define for MCF53015 CPUs
CONFIG_M53017EVB		-- define for M53017EVB board

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

CONFIG_MCFRTC			-- define to use common CF RTC driver
CONFIG_SYS_MCFRTC_BASE		-- provide base address for RTC in immap.h
CONFIG_SYS_RTC_OSCILLATOR	-- define RTC clock frequency
RTC_DEBUG			-- define to show RTC debug message
CONFIG_CMD_DATE			-- enable to use date feature in U-Boot

CONFIG_MCFFEC			-- define to use common CF 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_FEC0_MIIBASE		-- Set FEC0 MII base register
MCFFEC_TOUT_LOOP		-- set FEC timeout loop

CFG_MCFTMR			-- define to use DMA timer

CONFIG_SYS_I2C_FSL		-- define to use FSL common I2C driver
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

CFG_SYS_MBAR			-- define MBAR offset

CONFIG_MONITOR_IS_IN_RAM	-- Not support

CFG_SYS_INIT_RAM_ADDR	-- defines the base address of the MCF5301x 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

CFG_SYS_SDRAM_BASE		-- defines the DRAM Base

2. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL
===========================================
2.1. System memory map:
	Flash:		0x00000000-0x3FFFFFFF (1024MB)
	DDR:		0x40000000-0x7FFFFFFF (1024MB)
	SRAM:		0x80000000-0x8FFFFFFF (256MB)
	IP:		0xFC000000-0xFFFFFFFF (256MB)

2.2. 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:
	Flash0:		0x00000000-0x00FFFFFF (16MB)
	DDR:		0x40000000-0x4FFFFFFF (256MB)
	SRAM:		0x80000000-0x80007FFF (32KB)
	IP:		0xFC000000-0xFC0FFFFF (64KB)

3. COMPILATION
==============
3.1	To create U-Boot the gcc-4.x-xx 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
   make distclean
   make M53017EVB_config
   make

4. SCREEN DUMP
==============
4.1 M53017EVB Development board
    (NOTE: May not show exactly the same)

U-Boot 2008.10 (Oct 22 2007 - 11:07:57)

CPU:   Freescale MCF53015 (Mask:76 Version:0)
       CPU CLK 240 Mhz BUS CLK 80 Mhz
Board: Freescale M53017EVB
I2C:   ready
DRAM:  64 MB
FLASH: 16 MB
In:    serial
Out:   serial
Err:   serial
NAND:  16 MiB
Net:   FEC0, FEC1
-> print
bootdelay=1
baudrate=115200
ethaddr=00:e0:0c:bc:e5:60
hostname=M53017EVB
netdev=eth0
loadaddr=40010000
u-boot=u-boot.bin
load=tftp ${loadaddr) ${u-boot}
upd=run load; run prog
prog=prot off 0 3ffff;era 0 3ffff;cp.b ${loadaddr} 0 ${filesize};save
gatewayip=192.168.1.1
netmask=255.255.255.0
ipaddr=192.168.1.3
serverip=192.168.1.2
stdin=serial
stdout=serial
stderr=serial
mem=65024k

Environment size: 437/4092 bytes
->
