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

- doc/README.m53017evb			This 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
CONFIG_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

CONFIG_MCFTMR			-- define to use DMA timer
CONFIG_MCFPIT			-- define to use PIT 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_SYS_MBAR			-- define MBAR offset

CONFIG_MONITOR_IS_IN_RAM 	-- Not support

CONFIG_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

CONFIG_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
->
