README.m52277evb 7.86 KB
Newer Older
Alexander Yurtsev's avatar
Alexander Yurtsev committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231
Freescale MCF52277EVB ColdFire Development Board
================================================

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


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

- board/freescale/m52277evb/m52277evb.c	Dram setup
- board/freescale/m52277evb/Makefile	Makefile
- board/freescale/m52277evb/config.mk	config make
- board/freescale/m52277evb/u-boot.lds	Linker description

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

- doc/README.m52277evb		This readme file

- 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/crossbar.h		CrossBar structure and definition
- include/asm-m68k/dspi.h		DSPI structure and definition
- include/asm-m68k/edma.h		eDMA structure and definition
- include/asm-m68k/flexbus.h		FlexBus 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_5227x.h	mcf5227x specific header file
- include/asm-m68k/io.h			io functions
- include/asm-m68k/lcd.h		LCD structure and definition
- include/asm-m68k/m5227x.h		mcf5227x 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/ssi.h		SSI structure and definition
- 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/M52277EVB.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/time.c			Timer functions (Dma timer and PIT)
- lib_m68k/traps.c			Exception init code

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

1.2 Configuration settings for M52277EVB Development Board
CONFIG_MCF5227x		-- define for all MCF5227x CPUs
CONFIG_M52277		-- define for all Freescale MCF52277 CPUs
CONFIG_M52277EVB	-- define for M52277EVB 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_MCFTMR		-- define to use DMA timer
CONFIG_MCFPIT		-- define to use PIT 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
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 MCF52277 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

CONFIG_LCD and CONFIG_CMD_USB are not supported in this current u-boot,
update will be provided at later time

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:		0xF0000000-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 (64MB)
	SRAM:		0x80000000-0x80007FFF (32KB)
	IP:		0xFC000000-0xFC0FFFFF (64KB)

3. COMPILATION
==============
3.1	To create U-Boot the gcc-4.1-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-1.x.x
   make distclean
   make M52277EVB_config
   make

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

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

CPU:   Freescale MCF52277 (Mask:6c Version:0)
       CPU CLK 160 Mhz BUS CLK 80 Mhz FLB CLK 80 MHZ
       INP CLK 16 Mhz VCO CLK 480 Mhz
Board: Freescale 52277 EVB
I2C:   ready
DRAM:  64 MB
FLASH: 16 MB
In:    serial
Out:   serial
Err:   serial
-> print
baudrate=115200
hostname=M52277EVB
inpclk=16000000
loadaddr=(0x40000000 + 0x10000)
load=tftp ${loadaddr) ${u-boot}
upd=run load; run prog
prog=prot off 0 3ffff;era 0 3ffff;cp.b ${loadaddr} 0 ${filesize};save
u-boot=u-boot.bin
stdin=serial
stdout=serial
stderr=serial
mem=65024k

Environment size: 280/32764 bytes
-> bdinfo
memstart    = 0x40000000
memsize     = 0x04000000
flashstart  = 0x00000000
flashsize   = 0x01000000
flashoffset = 0x00000000
sramstart   = 0x80000000
sramsize    = 0x00008000
mbar        = 0xFC000000
busfreq     =     80 MHz
flbfreq     =     80 Mhz
inpfreq     =     16 Mhz
vcofreq     =    480 Mhz

baudrate    = 115200 bps
->
-> help
?       - 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
date    - get/set/reset date & time
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
ls	- list files in a directory (default /)
md      - memory display
mm      - memory modify (auto-incrementing)
mtest   - simple RAM test
mw      - memory write (fill)
nm      - memory modify (constant address)
ping	- send ICMP ECHO_REQUEST to network host
printenv- print environment variables
protect - enable or disable FLASH write protection
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
version - print monitor version
->