xref: /OK3568_Linux_fs/u-boot/board/freescale/m547xevb/README (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunFreescale MCF5475EVB ColdFire Development Board
2*4882a593Smuzhiyun================================================
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunTsiChung Liew(Tsi-Chung.Liew@freescale.com)
5*4882a593SmuzhiyunCreated Jan 08, 2008
6*4882a593Smuzhiyun===========================================
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunChanged files:
10*4882a593Smuzhiyun==============
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun- board/freescale/m547xevb/m547xevb.c	Dram setup, IDE pre init, and PCI init
13*4882a593Smuzhiyun- board/freescale/m547xevb/mii.c	MII init
14*4882a593Smuzhiyun- board/freescale/m547xevb/Makefile	Makefile
15*4882a593Smuzhiyun- board/freescale/m547xevb/config.mk	config make
16*4882a593Smuzhiyun- board/freescale/m547xevb/u-boot.lds	Linker description
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun- arch/m68k/cpu/mcf547x_8x/cpu.c			cpu specific code
19*4882a593Smuzhiyun- arch/m68k/cpu/mcf547x_8x/cpu_init.c		Flexbus ChipSelect, Mux pins setup, icache and RTC extra regs
20*4882a593Smuzhiyun- arch/m68k/cpu/mcf547x_8x/interrupts.c		cpu specific interrupt support
21*4882a593Smuzhiyun- arch/m68k/cpu/mcf547x_8x/slicetimer.c		Timer support
22*4882a593Smuzhiyun- arch/m68k/cpu/mcf547x_8x/speed.c		system, pci, flexbus, and cpu clock
23*4882a593Smuzhiyun- arch/m68k/cpu/mcf547x_8x/Makefile		Makefile
24*4882a593Smuzhiyun- arch/m68k/cpu/mcf547x_8x/config.mk		config make
25*4882a593Smuzhiyun- arch/m68k/cpu/mcf547x_8x/start.S		start up assembly code
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun- doc/README.m5475evb			This readme file
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun- drivers/dma/MCD_dmaApi.c		DMA API functions
30*4882a593Smuzhiyun- drivers/dma/MCD_tasks.c		DMA Tasks
31*4882a593Smuzhiyun- drivers/dma/MCD_tasksInit.c		DMA Tasks Init
32*4882a593Smuzhiyun- drivers/net/fsl_mcdmafec.c		ColdFire common DMA FEC driver
33*4882a593Smuzhiyun- drivers/serial/mcfuart.c		ColdFire common UART driver
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun- include/MCD_dma.h			DMA header file
36*4882a593Smuzhiyun- include/MCD_progCheck.h		DMA header file
37*4882a593Smuzhiyun- include/MCD_tasksInit.h		DMA header file
38*4882a593Smuzhiyun- include/asm-m68k/bitops.h		Bit operation function export
39*4882a593Smuzhiyun- include/asm-m68k/byteorder.h		Byte order functions
40*4882a593Smuzhiyun- include/asm-m68k/errno.h		Error Number definition
41*4882a593Smuzhiyun- include/asm-m68k/fec.h		FEC structure and definition
42*4882a593Smuzhiyun- include/asm-m68k/fsl_i2c.h		I2C structure and definition
43*4882a593Smuzhiyun- include/asm-m68k/fsl_mcddmafec.h	DMA FEC structure and definition
44*4882a593Smuzhiyun- include/asm-m68k/global_data.h	Global data structure
45*4882a593Smuzhiyun- include/asm-m68k/immap.h		ColdFire specific header file and driver macros
46*4882a593Smuzhiyun- include/asm-m68k/immap_547x_8x.h	mcf547x_8x specific header file
47*4882a593Smuzhiyun- include/asm-m68k/io.h			io functions
48*4882a593Smuzhiyun- include/asm-m68k/m547x_8x.h		mcf547x_8x specific header file
49*4882a593Smuzhiyun- include/asm-m68k/posix_types.h	Posix
50*4882a593Smuzhiyun- include/asm-m68k/processor.h		header file
51*4882a593Smuzhiyun- include/asm-m68k/ptrace.h		Exception structure
52*4882a593Smuzhiyun- include/asm-m68k/rtc.h		Realtime clock header file
53*4882a593Smuzhiyun- include/asm-m68k/string.h		String function export
54*4882a593Smuzhiyun- include/asm-m68k/timer.h		Timer structure and definition
55*4882a593Smuzhiyun- include/asm-m68k/types.h		Data types definition
56*4882a593Smuzhiyun- include/asm-m68k/uart.h		Uart structure and definition
57*4882a593Smuzhiyun- include/asm-m68k/u-boot.h		U-Boot structure
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun- include/configs/M5475EVB.h		Board specific configuration file
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun- arch/m68k/lib/board.c			board init function
62*4882a593Smuzhiyun- arch/m68k/lib/cache.c
63*4882a593Smuzhiyun- arch/m68k/lib/interrupts			Coldfire common interrupt functions
64*4882a593Smuzhiyun- arch/m68k/lib/m68k_linux.c
65*4882a593Smuzhiyun- arch/m68k/lib/traps.c			Exception init code
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun1 MCF547x specific Options/Settings
68*4882a593Smuzhiyun====================================
69*4882a593Smuzhiyun1.1 pre-loader is no longer suppoer in thie coldfire family
70*4882a593Smuzhiyun
71*4882a593Smuzhiyun1.2 Configuration settings for M5475EVB Development Board
72*4882a593SmuzhiyunCONFIG_MCF547x_8x	-- define for all MCF547x_8x CPUs
73*4882a593SmuzhiyunCONFIG_M547x		-- define for all Freescale MCF547x CPUs
74*4882a593SmuzhiyunCONFIG_M5475		-- define for M5475EVB board
75*4882a593Smuzhiyun
76*4882a593SmuzhiyunCONFIG_MCFUART		-- define to use common CF Uart driver
77*4882a593SmuzhiyunCONFIG_SYS_UART_PORT		-- define UART port number, start with 0, 1 and 2
78*4882a593SmuzhiyunCONFIG_BAUDRATE		-- define UART baudrate
79*4882a593Smuzhiyun
80*4882a593SmuzhiyunCONFIG_FSLDMAFEC	-- define to use common dma FEC driver
81*4882a593SmuzhiyunCONFIG_MII		-- enable to use MII driver
82*4882a593SmuzhiyunCONFIG_CF_DOMII		-- enable to use MII feature in cmd_mii.c
83*4882a593SmuzhiyunCONFIG_SYS_DISCOVER_PHY	-- enable PHY discovery
84*4882a593SmuzhiyunCONFIG_SYS_RX_ETH_BUFFER	-- Set FEC Receive buffer
85*4882a593SmuzhiyunCONFIG_SYS_FAULT_ECHO_LINK_DOWN--
86*4882a593SmuzhiyunCONFIG_SYS_FEC0_PINMUX		-- Set FEC0 Pin configuration
87*4882a593SmuzhiyunCONFIG_SYS_FEC1_PINMUX		-- Set FEC1 Pin configuration
88*4882a593SmuzhiyunCONFIG_SYS_FEC0_MIIBASE	-- Set FEC0 MII base register
89*4882a593SmuzhiyunCONFIG_SYS_FEC1_MIIBASE	-- Set FEC0 MII base register
90*4882a593SmuzhiyunMCFFEC_TOUT_LOOP	-- set FEC timeout loop
91*4882a593SmuzhiyunCONFIG_HAS_ETH1		-- define to enable second FEC in U-Boot
92*4882a593Smuzhiyun
93*4882a593SmuzhiyunCONFIG_CMD_USB		-- enable USB commands
94*4882a593SmuzhiyunCONFIG_USB_OHCI_NEW	-- enable USB OHCI driver
95*4882a593SmuzhiyunCONFIG_USB_STORAGE	-- enable USB Storage device
96*4882a593SmuzhiyunCONFIG_DOS_PARTITION	-- enable DOS read/write
97*4882a593Smuzhiyun
98*4882a593SmuzhiyunCONFIG_SLTTMR		-- define to use SLT timer
99*4882a593Smuzhiyun
100*4882a593SmuzhiyunCONFIG_SYS_I2C_FSL	-- define to use FSL common I2C driver
101*4882a593SmuzhiyunCONFIG_SYS_I2C_SOFT	-- define for I2C bit-banged
102*4882a593SmuzhiyunCONFIG_SYS_I2C_SPEED		-- define for I2C speed
103*4882a593SmuzhiyunCONFIG_SYS_I2C_SLAVE		-- define for I2C slave address
104*4882a593SmuzhiyunCONFIG_SYS_I2C_OFFSET		-- define for I2C base address offset
105*4882a593SmuzhiyunCONFIG_SYS_IMMR		-- define for MBAR offset
106*4882a593Smuzhiyun
107*4882a593SmuzhiyunCONFIG_PCI		-- define for PCI support
108*4882a593SmuzhiyunCONFIG_PCI_PNP		-- define for Plug n play support
109*4882a593SmuzhiyunCONFIG_SKIPPCI_HOSTBRIDGE	-- SKIP PCI Host bridge
110*4882a593SmuzhiyunCONFIG_SYS_PCI_MEM_BUS		-- PCI memory logical offset
111*4882a593SmuzhiyunCONFIG_SYS_PCI_MEM_PHYS	-- PCI memory physical offset
112*4882a593SmuzhiyunCONFIG_SYS_PCI_MEM_SIZE	-- PCI memory size
113*4882a593SmuzhiyunCONFIG_SYS_PCI_IO_BUS		-- PCI IO logical offset
114*4882a593SmuzhiyunCONFIG_SYS_PCI_IO_PHYS		-- PCI IO physical offset
115*4882a593SmuzhiyunCONFIG_SYS_PCI_IO_SIZE		-- PCI IO size
116*4882a593SmuzhiyunCONFIG_SYS_PCI_CFG_BUS		-- PCI Configuration logical offset
117*4882a593SmuzhiyunCONFIG_SYS_PCI_CFG_PHYS	-- PCI Configuration physical offset
118*4882a593SmuzhiyunCONFIG_SYS_PCI_CFG_SIZE	-- PCI Configuration size
119*4882a593Smuzhiyun
120*4882a593SmuzhiyunCONFIG_SYS_MBAR		-- define MBAR offset
121*4882a593Smuzhiyun
122*4882a593SmuzhiyunCONFIG_MONITOR_IS_IN_RAM -- Not support
123*4882a593Smuzhiyun
124*4882a593SmuzhiyunCONFIG_SYS_INIT_RAM_ADDR	-- defines the base address of the MCF547x internal SRAM
125*4882a593Smuzhiyun
126*4882a593SmuzhiyunCONFIG_SYS_CSn_BASE	-- defines the Chip Select Base register
127*4882a593SmuzhiyunCONFIG_SYS_CSn_MASK	-- defines the Chip Select Mask register
128*4882a593SmuzhiyunCONFIG_SYS_CSn_CTRL	-- defines the Chip Select Control register
129*4882a593Smuzhiyun
130*4882a593SmuzhiyunCONFIG_SYS_SDRAM_BASE	-- defines the DRAM Base
131*4882a593Smuzhiyun
132*4882a593Smuzhiyun2. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL
133*4882a593Smuzhiyun===========================================
134*4882a593Smuzhiyun2.1. System memory map:
135*4882a593Smuzhiyun	Flash:		0xFF800000-0xFFFFFFFF (8MB)
136*4882a593Smuzhiyun	DDR:		0x00000000-0x3FFFFFFF (1024MB)
137*4882a593Smuzhiyun	SRAM:		0xF2000000-0xF2000FFF (4KB)
138*4882a593Smuzhiyun	PCI:		0x70000000-0x8FFFFFFF (512MB)
139*4882a593Smuzhiyun	IP:		0xF0000000-0xFFFFFFFF (256MB)
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun3. COMPILATION
142*4882a593Smuzhiyun==============
143*4882a593Smuzhiyun3.1	To create U-Boot the gcc-4.x compiler set (ColdFire ELF or uclinux
144*4882a593Smuzhiyun	version) from codesourcery.com was used. Download it from:
145*4882a593Smuzhiyun	http://www.codesourcery.com/gnu_toolchains/coldfire/download.html
146*4882a593Smuzhiyun
147*4882a593Smuzhiyun3.2 Compilation
148*4882a593Smuzhiyun   export CROSS_COMPILE=cross-compile-prefix
149*4882a593Smuzhiyun   cd u-boot-1.x.x
150*4882a593Smuzhiyun   make distclean
151*4882a593Smuzhiyun   make M5475AFE_config, or	- boot 2MB, RAM 64MB
152*4882a593Smuzhiyun   make M5475BFE_config, or	- boot 2MB, code 16MB, RAM 64MB
153*4882a593Smuzhiyun   make M5475CFE_config, or	- boot 2MB, code 16MB, Video, USB, RAM 64MB
154*4882a593Smuzhiyun   make M5475DFE_config, or	- boot 2MB, USB, RAM 64MB
155*4882a593Smuzhiyun   make M5475EFE_config, or	- boot 2MB, Video, USB, RAM 64MB
156*4882a593Smuzhiyun   make M5475FFE_config, or	- boot 2MB, code 32MB, Video, USB, RAM 128MB
157*4882a593Smuzhiyun   make M5475GFE_config, or	- boot 2MB, RAM 64MB
158*4882a593Smuzhiyun   make
159*4882a593Smuzhiyun
160*4882a593Smuzhiyun5. SCREEN DUMP
161*4882a593Smuzhiyun==============
162*4882a593Smuzhiyun5.1
163*4882a593Smuzhiyun
164*4882a593SmuzhiyunU-Boot 1.3.1 (Jan  8 2008 - 12:47:44)
165*4882a593Smuzhiyun
166*4882a593SmuzhiyunCPU:   Freescale MCF5475
167*4882a593Smuzhiyun       CPU CLK 266 Mhz BUS CLK 133 Mhz
168*4882a593SmuzhiyunBoard: Freescale FireEngine 5475 EVB
169*4882a593SmuzhiyunI2C:   ready
170*4882a593SmuzhiyunDRAM:  64 MB
171*4882a593SmuzhiyunFLASH: 18 MB
172*4882a593SmuzhiyunIn:    serial
173*4882a593SmuzhiyunOut:   serial
174*4882a593SmuzhiyunErr:   serial
175*4882a593SmuzhiyunNet:   FEC0, FEC1
176*4882a593Smuzhiyun-> pri
177*4882a593Smuzhiyunbootdelay=1
178*4882a593Smuzhiyunbaudrate=115200
179*4882a593Smuzhiyunethaddr=00:e0:0c:bc:e5:60
180*4882a593Smuzhiyuneth1addr=00:e0:0c:bc:e5:61
181*4882a593Smuzhiyunipaddr=192.162.1.2
182*4882a593Smuzhiyunserverip=192.162.1.1
183*4882a593Smuzhiyungatewayip=192.162.1.1
184*4882a593Smuzhiyunnetmask=255.255.255.0
185*4882a593Smuzhiyunhostname=M547xEVB
186*4882a593Smuzhiyunnetdev=eth0
187*4882a593Smuzhiyunloadaddr=10000
188*4882a593Smuzhiyunu-boot=u-boot.bin
189*4882a593Smuzhiyunload=tftp ${loadaddr) ${u-boot}
190*4882a593Smuzhiyunupd=run load; run prog
191*4882a593Smuzhiyunprog=prot off bank 1;era ff800000 ff82ffff;cp.b ${loadaddr} ff800000 ${filesize};save
192*4882a593Smuzhiyunstdin=serial
193*4882a593Smuzhiyunstdout=serial
194*4882a593Smuzhiyunstderr=serial
195*4882a593Smuzhiyunethact=FEC0
196*4882a593Smuzhiyunmem=65024k
197*4882a593Smuzhiyun
198*4882a593SmuzhiyunEnvironment size: 433/8188 bytes
199*4882a593Smuzhiyun-> bdin
200*4882a593Smuzhiyunmemstart    = 0x00000000
201*4882a593Smuzhiyunmemsize     = 0x04000000
202*4882a593Smuzhiyunflashstart  = 0xFF800000
203*4882a593Smuzhiyunflashsize   = 0x01200000
204*4882a593Smuzhiyunflashoffset = 0x00000000
205*4882a593Smuzhiyunsramstart   = 0xF2000000
206*4882a593Smuzhiyunsramsize    = 0x00001000
207*4882a593Smuzhiyunmbar	    = 0xF0000000
208*4882a593Smuzhiyunbusfreq     = 133.333 MHz
209*4882a593Smuzhiyunpcifreq     =	   0 MHz
210*4882a593Smuzhiyunethaddr     = 00:E0:0C:BC:E5:60
211*4882a593Smuzhiyuneth1addr    = 00:E0:0C:BC:E5:61
212*4882a593Smuzhiyunip_addr     = 192.162.1.2
213*4882a593Smuzhiyunbaudrate    = 115200 bps
214*4882a593Smuzhiyun-> ?
215*4882a593Smuzhiyun?	- alias for 'help'
216*4882a593Smuzhiyunbase	- print or set address offset
217*4882a593Smuzhiyunbdinfo	- print Board Info structure
218*4882a593Smuzhiyunboot	- boot default, i.e., run 'bootcmd'
219*4882a593Smuzhiyunbootd	- boot default, i.e., run 'bootcmd'
220*4882a593Smuzhiyunbootelf - Boot from an ELF image in memory
221*4882a593Smuzhiyunbootm	- boot application image from memory
222*4882a593Smuzhiyunbootp	- boot image via network using BootP/TFTP protocol
223*4882a593Smuzhiyunbootvx	- Boot vxWorks from an ELF image
224*4882a593Smuzhiyuncmp	- memory compare
225*4882a593Smuzhiyunconinfo - print console devices and information
226*4882a593Smuzhiyuncp	- memory copy
227*4882a593Smuzhiyuncrc32	- checksum calculation
228*4882a593Smuzhiyundcache	- enable or disable data cache
229*4882a593Smuzhiyunecho	- echo args to console
230*4882a593Smuzhiyunerase	- erase FLASH memory
231*4882a593Smuzhiyunflinfo	- print FLASH memory information
232*4882a593Smuzhiyungo	- start application at address 'addr'
233*4882a593Smuzhiyunhelp	- print online help
234*4882a593Smuzhiyuni2c	- I2C sub-system
235*4882a593Smuzhiyunicache	- enable or disable instruction cache
236*4882a593Smuzhiyuniminfo	- print header information for application image
237*4882a593Smuzhiyunimls	- list all images found in flash
238*4882a593Smuzhiyunitest	- return true/false on integer compare
239*4882a593Smuzhiyunloadb	- load binary file over serial line (kermit mode)
240*4882a593Smuzhiyunloads	- load S-Record file over serial line
241*4882a593Smuzhiyunloady	- load binary file over serial line (ymodem mode)
242*4882a593Smuzhiyunloop	- infinite loop on address range
243*4882a593Smuzhiyunmd	- memory display
244*4882a593Smuzhiyunmii	- MII utility commands
245*4882a593Smuzhiyunmm	- memory modify (auto-incrementing)
246*4882a593Smuzhiyunmtest	- simple RAM test
247*4882a593Smuzhiyunmw	- memory write (fill)
248*4882a593Smuzhiyunnfs	- boot image via network using NFS protocol
249*4882a593Smuzhiyunnm	- memory modify (constant address)
250*4882a593Smuzhiyunpci	- list and access PCI Configuration Space
251*4882a593Smuzhiyunping	- send ICMP ECHO_REQUEST to network host
252*4882a593Smuzhiyunprintenv- print environment variables
253*4882a593Smuzhiyunprotect - enable or disable FLASH write protection
254*4882a593Smuzhiyunrarpboot- boot image via network using RARP/TFTP protocol
255*4882a593Smuzhiyunreset	- Perform RESET of the CPU
256*4882a593Smuzhiyunrun	- run commands in an environment variable
257*4882a593Smuzhiyunsaveenv - save environment variables to persistent storage
258*4882a593Smuzhiyunsetenv	- set environment variables
259*4882a593Smuzhiyunsleep	- delay execution for some time
260*4882a593Smuzhiyunsource	- run script from memory
261*4882a593Smuzhiyuntftpboot- boot image via network using TFTP protocol
262*4882a593Smuzhiyunusb	- USB sub-system
263*4882a593Smuzhiyunusbboot - boot from USB device
264*4882a593Smuzhiyunversion - print monitor version
265*4882a593Smuzhiyun-> usb start
266*4882a593Smuzhiyun(Re)start USB...
267*4882a593SmuzhiyunUSB:   OHCI pci controller (1131, 1561) found @(0:17:0)
268*4882a593SmuzhiyunOHCI regs address 0x80000000
269*4882a593Smuzhiyunscanning bus for devices... 2 USB Device(s) found
270*4882a593Smuzhiyun       scanning bus for storage devices... 1 Storage Device(s) found
271*4882a593Smuzhiyun->
272