xref: /OK3568_Linux_fs/u-boot/doc/README.m54418twr (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunFreescale MCF54418TWR ColdFire Development Board
2*4882a593Smuzhiyun================================================
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunTsiChung Liew(Tsi-Chung.Liew@freescale.com)
5*4882a593SmuzhiyunCreated Mar 22, 2012
6*4882a593Smuzhiyun===========================================
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunChanged files:
10*4882a593Smuzhiyun==============
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun- board/freescale/m54418twr/m54418twr.c	Dram setup
13*4882a593Smuzhiyun- board/freescale/m54418twr/Makefile	Makefile
14*4882a593Smuzhiyun- board/freescale/m54418twr/config.mk	config make
15*4882a593Smuzhiyun- board/freescale/m54418twr/u-boot.lds	Linker description
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun- arch/m68k/cpu/mcf5445x/cpu.c		cpu specific code
18*4882a593Smuzhiyun- arch/m68k/cpu/mcf5445x/cpu_init.c	Flexbus ChipSelect, Mux pins setup, icache and RTC extra regs
19*4882a593Smuzhiyun- arch/m68k/cpu/mcf5445x/interrupts.c	cpu specific interrupt support
20*4882a593Smuzhiyun- arch/m68k/cpu/mcf5445x/speed.c	system, pci, flexbus, and cpu clock
21*4882a593Smuzhiyun- arch/m68k/cpu/mcf5445x/Makefile	Makefile
22*4882a593Smuzhiyun- arch/m68k/cpu/mcf5445x/config.mk	config make
23*4882a593Smuzhiyun- arch/m68k/cpu/mcf5445x/start.S	start up assembly code
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun- doc/README.m54418twr			This readme file
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun- drivers/net/mcffec.c			ColdFire common FEC driver
28*4882a593Smuzhiyun- drivers/net/mcfmii.c			ColdFire common MII driver
29*4882a593Smuzhiyun- drivers/serial/mcfuart.c		ColdFire common UART driver
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun- arch/m68k/include/asm/bitops.h	Bit operation function export
32*4882a593Smuzhiyun- arch/m68k/include/asm/byteorder.h	Byte order functions
33*4882a593Smuzhiyun- arch/m68k/include/asm/fec.h		FEC structure and definition
34*4882a593Smuzhiyun- arch/m68k/include/asm/global_data.h	Global data structure
35*4882a593Smuzhiyun- arch/m68k/include/asm/immap.h		ColdFire specific header file and driver macros
36*4882a593Smuzhiyun- arch/m68k/include/asm/immap_5441x.h	mcf5441x specific header file
37*4882a593Smuzhiyun- arch/m68k/include/asm/io.h		io functions
38*4882a593Smuzhiyun- arch/m68k/include/asm/m5441x.h	mcf5441x specific header file
39*4882a593Smuzhiyun- arch/m68k/include/asm/posix_types.h	Posix
40*4882a593Smuzhiyun- arch/m68k/include/asm/processor.h	header file
41*4882a593Smuzhiyun- arch/m68k/include/asm/ptrace.h	Exception structure
42*4882a593Smuzhiyun- arch/m68k/include/asm/rtc.h		Realtime clock header file
43*4882a593Smuzhiyun- arch/m68k/include/asm/string.h	String function export
44*4882a593Smuzhiyun- arch/m68k/include/asm/timer.h		Timer structure and definition
45*4882a593Smuzhiyun- arch/m68k/include/asm/types.h		Data types definition
46*4882a593Smuzhiyun- arch/m68k/include/asm/uart.h		Uart structure and definition
47*4882a593Smuzhiyun- arch/m68k/include/asm/u-boot.h	u-boot structure
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun- include/configs/M54418TWR.h		Board specific configuration file
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun- arch/m68k/lib/board.c			board init function
52*4882a593Smuzhiyun- arch/m68k/lib/cache.c
53*4882a593Smuzhiyun- arch/m68k/lib/interrupts.c		Coldfire common interrupt functions
54*4882a593Smuzhiyun- arch/m68k/lib/time.c			Timer functions (Dma timer and PIT)
55*4882a593Smuzhiyun- arch/m68k/lib/traps.c			Exception init code
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun1 MCF5441x specific Options/Settings
58*4882a593Smuzhiyun====================================
59*4882a593Smuzhiyun1.1 pre-loader is no longer suppoer in thie coldfire family
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun1.2 Configuration settings for M54418TWR Development Board
62*4882a593SmuzhiyunCONFIG_MCF5441x			-- define for all MCF5441x CPUs
63*4882a593SmuzhiyunCONFIG_M54418			-- define for all Freescale MCF54418 CPUs
64*4882a593SmuzhiyunCONFIG_M54418TWR		-- define for M54418TWR board
65*4882a593Smuzhiyun
66*4882a593SmuzhiyunCONFIG_MCFUART			-- define to use common CF Uart driver
67*4882a593SmuzhiyunCONFIG_SYS_UART_PORT		-- define UART port number, start with 0, 1 and 2
68*4882a593SmuzhiyunCONFIG_BAUDRATE			-- define UART baudrate
69*4882a593Smuzhiyun
70*4882a593SmuzhiyunCONFIG_MCFFEC			-- define to use common CF FEC driver
71*4882a593SmuzhiyunCONFIG_MII			-- enable to use MII driver
72*4882a593SmuzhiyunCONFIG_SYS_DISCOVER_PHY		-- enable PHY discovery
73*4882a593SmuzhiyunCONFIG_SYS_RX_ETH_BUFFER	-- Set FEC Receive buffer
74*4882a593SmuzhiyunCONFIG_SYS_FAULT_ECHO_LINK_DOWN	--
75*4882a593SmuzhiyunCONFIG_SYS_FEC0_PINMUX		-- Set FEC0 Pin configuration
76*4882a593SmuzhiyunCONFIG_SYS_FEC1_PINMUX		-- Set FEC1 Pin configuration
77*4882a593SmuzhiyunCONFIG_SYS_FEC0_MIIBASE		-- Set FEC0 MII base register
78*4882a593SmuzhiyunCONFIG_SYS_FEC1_MIIBASE		-- Set FEC0 MII base register
79*4882a593SmuzhiyunMCFFEC_TOUT_LOOP		-- set FEC timeout loop
80*4882a593SmuzhiyunCONFIG_HAS_ETH1			-- define to enable second FEC in u-boot
81*4882a593Smuzhiyun
82*4882a593SmuzhiyunCONFIG_MCFTMR			-- define to use DMA timer
83*4882a593Smuzhiyun
84*4882a593SmuzhiyunCONFIG_SYS_IMMR			-- define for MBAR offset
85*4882a593Smuzhiyun
86*4882a593SmuzhiyunCONFIG_EXTRA_CLOCK		-- Enable extra clock such as vco, flexbus, pci, etc
87*4882a593Smuzhiyun
88*4882a593SmuzhiyunCONFIG_SYS_MBAR			-- define MBAR offset
89*4882a593Smuzhiyun
90*4882a593SmuzhiyunCONFIG_MONITOR_IS_IN_RAM 	-- Not support
91*4882a593Smuzhiyun
92*4882a593SmuzhiyunCONFIG_SYS_INIT_RAM_ADDR	-- defines the base address of the MCF54455 internal SRAM
93*4882a593Smuzhiyun
94*4882a593SmuzhiyunCONFIG_SYS_CSn_BASE		-- defines the Chip Select Base register
95*4882a593SmuzhiyunCONFIG_SYS_CSn_MASK		-- defines the Chip Select Mask register
96*4882a593SmuzhiyunCONFIG_SYS_CSn_CTRL		-- defines the Chip Select Control register
97*4882a593Smuzhiyun
98*4882a593SmuzhiyunCONFIG_SYS_SDRAM_BASE		-- defines the DRAM Base
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun2. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL
101*4882a593Smuzhiyun===========================================
102*4882a593Smuzhiyun2.1. System memory map:
103*4882a593Smuzhiyun	MRAM:		0x00000000-0x0003FFFF (256KB)
104*4882a593Smuzhiyun	DDR:		0x40000000-0x47FFFFFF (128MB)
105*4882a593Smuzhiyun	SRAM:		0x80000000-0x8000FFFF (64KB)
106*4882a593Smuzhiyun	IP:		0xE0000000-0xFFFFFFFF (512MB)
107*4882a593Smuzhiyun
108*4882a593Smuzhiyun3. COMPILATION
109*4882a593Smuzhiyun==============
110*4882a593Smuzhiyun3.1	To create U-Boot the gcc-4.x compiler set (ColdFire ELF version)
111*4882a593Smuzhiyunfrom codesourcery.com was used. Download it from:
112*4882a593Smuzhiyunhttp://www.codesourcery.com/gnu_toolchains/coldfire/download.html
113*4882a593Smuzhiyun
114*4882a593Smuzhiyun3.2 Compilation
115*4882a593Smuzhiyun   export CROSS_COMPILE=cross-compile-prefix
116*4882a593Smuzhiyun   cd u-boot
117*4882a593Smuzhiyun   make distclean
118*4882a593Smuzhiyun   make M54418TWR_config, or			- default to spi serial flash boot, 50Mhz input clock
119*4882a593Smuzhiyun   make M54418TWR_nand_mii_config, or		- default to nand flash boot, mii mode, 25Mhz input clock
120*4882a593Smuzhiyun   make M54418TWR_nand_rmii_config, or		- default to nand flash boot, rmii mode, 50Mhz input clock
121*4882a593Smuzhiyun   make M54418TWR_nand_rmii_lowfreq_config, or	- default to nand flash boot, rmii mode, 50Mhz input clock
122*4882a593Smuzhiyun   make M54418TWR_serial_mii_config, or		- default to spi serial flash boot, 25Mhz input clock
123*4882a593Smuzhiyun   make M54418TWR_serial_rmii_config, or	- default to spi serial flash boot, 50Mhz input clock
124*4882a593Smuzhiyun   make
125*4882a593Smuzhiyun
126*4882a593Smuzhiyun4. SCREEN DUMP
127*4882a593Smuzhiyun==============
128*4882a593Smuzhiyun4.1 M54418TWR Development board
129*4882a593Smuzhiyun    Boot from NAND flash (NOTE: May not show exactly the same)
130*4882a593Smuzhiyun
131*4882a593SmuzhiyunU-Boot 2012.10-00209-g12ae1d8-dirty (Oct 18 2012 - 15:54:54)
132*4882a593Smuzhiyun
133*4882a593SmuzhiyunCPU:   Freescale MCF54418 (Mask:a3 Version:1)
134*4882a593Smuzhiyun       CPU CLK 250 MHz BUS CLK 125 MHz FLB CLK 125 MHz
135*4882a593Smuzhiyun       INP CLK 50 MHz VCO CLK 500 MHz
136*4882a593SmuzhiyunBoard: Freescale MCF54418 Tower System
137*4882a593SmuzhiyunSPI:   ready
138*4882a593SmuzhiyunDRAM:  128 MiB
139*4882a593SmuzhiyunNAND:  256 MiB
140*4882a593SmuzhiyunIn:    serial
141*4882a593SmuzhiyunOut:   serial
142*4882a593SmuzhiyunErr:   serial
143*4882a593SmuzhiyunNet:   FEC0, FEC1
144*4882a593Smuzhiyun-> pri
145*4882a593Smuzhiyunbaudrate=115200
146*4882a593Smuzhiyunbootargs=root=/dev/mtdblock2 rw rootfstype=jffs2 mtdparts=NAND:1M(u-boot)ro,7M(k
147*4882a593Smuzhiyunernel)ro,-(jffs2) console=ttyS0,115200
148*4882a593Smuzhiyunbootdelay=2
149*4882a593Smuzhiyuneth1addr=00:e0:0c:bc:e5:61
150*4882a593Smuzhiyunethact=FEC0
151*4882a593Smuzhiyunethaddr=00:e0:0c:bc:e5:60
152*4882a593Smuzhiyunfileaddr=40010000
153*4882a593Smuzhiyunfilesize=27354
154*4882a593Smuzhiyungatewayip=192.168.1.1
155*4882a593Smuzhiyunhostname=M54418TWR
156*4882a593Smuzhiyuninpclk=50000000
157*4882a593Smuzhiyunipaddr=192.168.1.2
158*4882a593Smuzhiyunload=tftp ${loadaddr} ${u-boot};
159*4882a593Smuzhiyunloadaddr=0x40010000
160*4882a593Smuzhiyunmem=129024k
161*4882a593Smuzhiyunnetdev=eth0
162*4882a593Smuzhiyunnetmask=255.255.255.0
163*4882a593Smuzhiyunprog=nand device 0;nand erase 0 40000;nb_update ${loadaddr} ${filesize};save
164*4882a593Smuzhiyunserverip=192.168.1.1
165*4882a593Smuzhiyunstderr=serial
166*4882a593Smuzhiyunstdin=serial
167*4882a593Smuzhiyunstdout=serial
168*4882a593Smuzhiyunu-boot=u-boot.bin
169*4882a593Smuzhiyunupd=run load; run prog
170*4882a593Smuzhiyun
171*4882a593SmuzhiyunEnvironment size: 653/131068 bytes
172*4882a593Smuzhiyun-> bdinfo
173*4882a593Smuzhiyunmemstart    = 0x40000000
174*4882a593Smuzhiyunmemsize     = 0x08000000
175*4882a593Smuzhiyunflashstart  = 0x00000000
176*4882a593Smuzhiyunflashsize   = 0x00000000
177*4882a593Smuzhiyunflashoffset = 0x00000000
178*4882a593Smuzhiyunsramstart   = 0x80000000
179*4882a593Smuzhiyunsramsize    = 0x00010000
180*4882a593Smuzhiyunmbar        = 0xFC000000
181*4882a593Smuzhiyuncpufreq     =    250 MHz
182*4882a593Smuzhiyunbusfreq     =    125 MHz
183*4882a593Smuzhiyunflbfreq     =    125 MHz
184*4882a593Smuzhiyuninpfreq     =     50 MHz
185*4882a593Smuzhiyunvcofreq     =    500 MHz
186*4882a593Smuzhiyunethaddr     = 00:e0:0c:bc:e5:60
187*4882a593Smuzhiyuneth1addr    = 00:e0:0c:bc:e5:61
188*4882a593Smuzhiyunip_addr     = 192.168.1.2
189*4882a593Smuzhiyunbaudrate    = 115200 bps
190*4882a593Smuzhiyun-> help
191*4882a593Smuzhiyun?       - alias for 'help'
192*4882a593Smuzhiyunbase    - print or set address offset
193*4882a593Smuzhiyunbdinfo  - print Board Info structure
194*4882a593Smuzhiyunboot    - boot default, i.e., run 'bootcmd'
195*4882a593Smuzhiyunbootd   - boot default, i.e., run 'bootcmd'
196*4882a593Smuzhiyunbootelf - Boot from an ELF image in memory
197*4882a593Smuzhiyunbootm   - boot application image from memory
198*4882a593Smuzhiyunbootp   - boot image via network using BOOTP/TFTP protocol
199*4882a593Smuzhiyunbootvx  - Boot vxWorks from an ELF image
200*4882a593Smuzhiyuncmp     - memory compare
201*4882a593Smuzhiyunconinfo - print console devices and information
202*4882a593Smuzhiyuncp      - memory copy
203*4882a593Smuzhiyuncrc32   - checksum calculation
204*4882a593Smuzhiyundcache  - enable or disable data cache
205*4882a593Smuzhiyundhcp    - boot image via network using DHCP/TFTP protocol
206*4882a593Smuzhiyunecho    - echo args to console
207*4882a593Smuzhiyuneditenv - edit environment variable
208*4882a593Smuzhiyunenv     - environment handling commands
209*4882a593Smuzhiyunexit    - exit script
210*4882a593Smuzhiyunfalse   - do nothing, unsuccessfully
211*4882a593Smuzhiyungo      - start application at address 'addr'
212*4882a593Smuzhiyunhelp    - print command description/usage
213*4882a593Smuzhiyunicache  - enable or disable instruction cache
214*4882a593Smuzhiyuniminfo  - print header information for application image
215*4882a593Smuzhiyunimxtract- extract a part of a multi-image
216*4882a593Smuzhiyunitest   - return true/false on integer compare
217*4882a593Smuzhiyunloop    - infinite loop on address range
218*4882a593Smuzhiyunmd      - memory display
219*4882a593Smuzhiyunmdio    - MDIO utility commands
220*4882a593Smuzhiyunmii     - MII utility commands
221*4882a593Smuzhiyunmm      - memory modify (auto-incrementing address)
222*4882a593Smuzhiyunmtest   - simple RAM read/write test
223*4882a593Smuzhiyunmw      - memory write (fill)
224*4882a593Smuzhiyunnand    - NAND sub-system
225*4882a593Smuzhiyunnb_update- Nand boot update  program
226*4882a593Smuzhiyunnboot   - boot from NAND device
227*4882a593Smuzhiyunnfs     - boot image via network using NFS protocol
228*4882a593Smuzhiyunnm      - memory modify (constant address)
229*4882a593Smuzhiyunping    - send ICMP ECHO_REQUEST to network host
230*4882a593Smuzhiyunprintenv- print environment variables
231*4882a593Smuzhiyunreginfo - print register information
232*4882a593Smuzhiyunreset   - Perform RESET of the CPU
233*4882a593Smuzhiyunrun     - run commands in an environment variable
234*4882a593Smuzhiyunsaveenv - save environment variables to persistent storage
235*4882a593Smuzhiyunsetenv  - set environment variables
236*4882a593Smuzhiyunsf      - SPI flash sub-system
237*4882a593Smuzhiyunshowvar - print local hushshell variables
238*4882a593Smuzhiyunsleep   - delay execution for some time
239*4882a593Smuzhiyunsource  - run script from memory
240*4882a593Smuzhiyunsspi    - SPI utility command
241*4882a593Smuzhiyuntest    - minimal test like /bin/sh
242*4882a593Smuzhiyuntftpboot- boot image via network using TFTP protocol
243*4882a593Smuzhiyuntrue    - do nothing, successfully
244*4882a593Smuzhiyunversion - print monitor, compiler and linker version
245