README.m54418twr 8.68 KB
Newer Older
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 232 233 234 235 236 237 238 239 240 241 242 243 244
Freescale MCF54418TWR ColdFire Development Board
================================================

TsiChung Liew(Tsi-Chung.Liew@freescale.com)
Created Mar 22, 2012
===========================================


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

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

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

- doc/README.m54418twr			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

- arch/m68k/include/asm/bitops.h	Bit operation function export
- arch/m68k/include/asm/byteorder.h	Byte order functions
- arch/m68k/include/asm/fec.h		FEC structure and definition
- arch/m68k/include/asm/global_data.h	Global data structure
- arch/m68k/include/asm/immap.h		ColdFire specific header file and driver macros
- arch/m68k/include/asm/immap_5441x.h	mcf5441x specific header file
- arch/m68k/include/asm/io.h		io functions
- arch/m68k/include/asm/m5441x.h	mcf5441x specific header file
- arch/m68k/include/asm/posix_types.h	Posix
- arch/m68k/include/asm/processor.h	header file
- arch/m68k/include/asm/ptrace.h	Exception structure
- arch/m68k/include/asm/rtc.h		Realtime clock header file
- arch/m68k/include/asm/string.h	String function export
- arch/m68k/include/asm/timer.h		Timer structure and definition
- arch/m68k/include/asm/types.h		Data types definition
- arch/m68k/include/asm/uart.h		Uart structure and definition
- arch/m68k/include/asm/u-boot.h	u-boot structure

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

- arch/m68k/lib/board.c			board init function
- arch/m68k/lib/cache.c
- arch/m68k/lib/interrupts.c		Coldfire common interrupt functions
- arch/m68k/lib/time.c			Timer functions (Dma timer and PIT)
- arch/m68k/lib/traps.c			Exception init code

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

1.2 Configuration settings for M54418TWR Development Board
CONFIG_MCF5441x			-- define for all MCF5441x CPUs
CONFIG_M54418			-- define for all Freescale MCF54418 CPUs
CONFIG_M54418TWR		-- define for M54418TWR 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_MCFFEC			-- define to use common CF FEC driver
CONFIG_MII			-- enable to use MII driver
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_MCFTMR			-- define to use DMA timer

CONFIG_SYS_IMMR			-- define for MBAR offset

CONFIG_EXTRA_CLOCK		-- Enable extra clock such as vco, flexbus, pci, etc

CONFIG_SYS_MBAR			-- define MBAR offset

CONFIG_MONITOR_IS_IN_RAM 	-- Not support

CONFIG_SYS_INIT_RAM_ADDR	-- defines the base address of the MCF54455 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:
	MRAM:		0x00000000-0x0003FFFF (256KB)
	DDR:		0x40000000-0x47FFFFFF (128MB)
	SRAM:		0x80000000-0x8000FFFF (64KB)
	IP:		0xE0000000-0xFFFFFFFF (512MB)

3. COMPILATION
==============
3.1	To create U-Boot the gcc-4.x compiler set (ColdFire ELF 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 M54418TWR_config, or			- default to spi serial flash boot, 50Mhz input clock
   make M54418TWR_nand_mii_config, or		- default to nand flash boot, mii mode, 25Mhz input clock
   make M54418TWR_nand_rmii_config, or		- default to nand flash boot, rmii mode, 50Mhz input clock
   make M54418TWR_nand_rmii_lowfreq_config, or	- default to nand flash boot, rmii mode, 50Mhz input clock
   make M54418TWR_serial_mii_config, or		- default to spi serial flash boot, 25Mhz input clock
   make M54418TWR_serial_rmii_config, or	- default to spi serial flash boot, 50Mhz input clock
   make

4. SCREEN DUMP
==============
4.1 M54418TWR Development board
    Boot from NAND flash (NOTE: May not show exactly the same)

U-Boot 2012.10-00209-g12ae1d8-dirty (Oct 18 2012 - 15:54:54)

CPU:   Freescale MCF54418 (Mask:a3 Version:1)
       CPU CLK 250 MHz BUS CLK 125 MHz FLB CLK 125 MHz
       INP CLK 50 MHz VCO CLK 500 MHz
Board: Freescale MCF54418 Tower System
SPI:   ready
DRAM:  128 MiB
NAND:  256 MiB
In:    serial
Out:   serial
Err:   serial
Net:   FEC0, FEC1
-> pri
baudrate=115200
bootargs=root=/dev/mtdblock2 rw rootfstype=jffs2 mtdparts=NAND:1M(u-boot)ro,7M(k
ernel)ro,-(jffs2) console=ttyS0,115200
bootdelay=2
eth1addr=00:e0:0c:bc:e5:61
ethact=FEC0
ethaddr=00:e0:0c:bc:e5:60
fileaddr=40010000
filesize=27354
gatewayip=192.168.1.1
hostname=M54418TWR
inpclk=50000000
ipaddr=192.168.1.2
load=tftp ${loadaddr} ${u-boot};
loadaddr=0x40010000
mem=129024k
netdev=eth0
netmask=255.255.255.0
prog=nand device 0;nand erase 0 40000;nb_update ${loadaddr} ${filesize};save
serverip=192.168.1.1
stderr=serial
stdin=serial
stdout=serial
u-boot=u-boot.bin
upd=run load; run prog

Environment size: 653/131068 bytes
-> bdinfo
memstart    = 0x40000000
memsize     = 0x08000000
flashstart  = 0x00000000
flashsize   = 0x00000000
flashoffset = 0x00000000
sramstart   = 0x80000000
sramsize    = 0x00010000
mbar        = 0xFC000000
cpufreq     =    250 MHz
busfreq     =    125 MHz
flbfreq     =    125 MHz
inpfreq     =     50 MHz
vcofreq     =    500 MHz
ethaddr     = 00:e0:0c:bc:e5:60
eth1addr    = 00:e0:0c:bc:e5:61
ip_addr     = 192.168.1.2
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
dcache  - enable or disable data cache
dhcp    - boot image via network using DHCP/TFTP protocol
echo    - echo args to console
editenv - edit environment variable
env     - environment handling commands
exit    - exit script
false   - do nothing, unsuccessfully
go      - start application at address 'addr'
help    - print command description/usage
icache  - enable or disable instruction cache
iminfo  - print header information for application image
imxtract- extract a part of a multi-image
itest   - return true/false on integer compare
loop    - infinite loop on address range
md      - memory display
mdio    - MDIO utility commands
mii     - MII utility commands
mm      - memory modify (auto-incrementing address)
mtest   - simple RAM read/write test
mw      - memory write (fill)
nand    - NAND sub-system
nb_update- Nand boot update  program
nboot   - boot from NAND device
nfs     - boot image via network using NFS protocol
nm      - memory modify (constant address)
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
reginfo - print register information
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv  - set environment variables
sf      - SPI flash sub-system
showvar - print local hushshell variables
sleep   - delay execution for some time
source  - run script from memory
sspi    - SPI utility command
test    - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
true    - do nothing, successfully
version - print monitor, compiler and linker version