README
1 Freescale MCF5373EVB ColdFire Development Board
2 ================================================
3
4 TsiChung Liew(Tsi-Chung.Liew (a] freescale.com)
5 Created 11/08/07
6 ===========================================
7
8
9 Changed files:
10 ==============
11
12 - board/freescale/m5373evb/m5373evb.c Dram setup
13 - board/freescale/m5373evb/mii.c Mii access
14 - board/freescale/m5373evb/Makefile Makefile
15 - board/freescale/m5373evb/config.mk config make
16 - board/freescale/m5373evb/u-boot.lds Linker description
17
18 - arch/m68k/cpu/mcf532x/cpu.c cpu specific code
19 - arch/m68k/cpu/mcf532x/cpu_init.c FBCS, Mux pins, icache and RTC extra regs
20 - arch/m68k/cpu/mcf532x/interrupts.c cpu specific interrupt support
21 - arch/m68k/cpu/mcf532x/speed.c system, pci, flexbus, and cpu clock
22 - arch/m68k/cpu/mcf532x/Makefile Makefile
23 - arch/m68k/cpu/mcf532x/config.mk config make
24 - arch/m68k/cpu/mcf532x/start.S start up assembly code
25
26 - doc/README.m5373evb This readme file
27
28 - drivers/net/mcffec.c ColdFire common FEC driver
29 - drivers/serial/mcfuart.c ColdFire common UART driver
30 - drivers/rtc/mcfrtc.c Realtime clock Driver
31
32 - include/asm-m68k/bitops.h Bit operation function export
33 - include/asm-m68k/byteorder.h Byte order functions
34 - include/asm-m68k/fec.h FEC structure and definition
35 - include/asm-m68k/fsl_i2c.h I2C structure and definition
36 - include/asm-m68k/global_data.h Global data structure
37 - include/asm-m68k/immap.h ColdFire specific header file and driver macros
38 - include/asm-m68k/immap_532x.h mcf532x specific header file
39 - include/asm-m68k/io.h io functions
40 - include/asm-m68k/m532x.h mcf532x specific header file
41 - include/asm-m68k/posix_types.h Posix
42 - include/asm-m68k/processor.h header file
43 - include/asm-m68k/ptrace.h Exception structure
44 - include/asm-m68k/rtc.h Realtime clock header file
45 - include/asm-m68k/string.h String function export
46 - include/asm-m68k/timer.h Timer structure and definition
47 - include/asm-m68k/types.h Data types definition
48 - include/asm-m68k/uart.h Uart structure and definition
49 - include/asm-m68k/u-boot.h U-Boot structure
50
51 - include/configs/M5373EVB.h Board specific configuration file
52
53 - arch/m68k/lib/board.c board init function
54 - arch/m68k/lib/cache.c
55 - arch/m68k/lib/interrupts Coldfire common interrupt functions
56 - arch/m68k/lib/m68k_linux.c
57 - arch/m68k/lib/time.c Timer functions (Dma timer and PIT)
58 - arch/m68k/lib/traps.c Exception init code
59
60 1 MCF5373 specific Options/Settings
61 ====================================
62 1.1 pre-loader is no longer suppoer in thie coldfire family
63
64 1.2 Configuration settings for M5373EVB Development Board
65 CONFIG_MCF532x -- define for all MCF532x CPUs
66 CONFIG_M5373 -- define for all Freescale MCF5373 CPUs
67 CONFIG_M5373EVB -- define for M5373EVB board
68
69 CONFIG_MCFUART -- define to use common CF Uart driver
70 CONFIG_SYS_UART_PORT -- define UART port number, start with 0, 1 and 2
71 CONFIG_BAUDRATE -- define UART baudrate
72
73 CONFIG_MCFRTC -- define to use common CF RTC driver
74 CONFIG_SYS_MCFRTC_BASE -- provide base address for RTC in immap.h
75 CONFIG_SYS_RTC_OSCILLATOR -- define RTC clock frequency
76 RTC_DEBUG -- define to show RTC debug message
77 CONFIG_CMD_DATE -- enable to use date feature in U-Boot
78
79 CONFIG_MCFFEC -- define to use common CF FEC driver
80 CONFIG_MII -- enable to use MII driver
81 CONFIG_CF_DOMII -- enable to use MII feature in cmd_mii.c
82 CONFIG_SYS_DISCOVER_PHY -- enable PHY discovery
83 CONFIG_SYS_RX_ETH_BUFFER -- Set FEC Receive buffer
84 CONFIG_SYS_FAULT_ECHO_LINK_DOWN--
85 CONFIG_SYS_FEC0_PINMUX -- Set FEC0 Pin configuration
86 CONFIG_SYS_FEC0_MIIBASE -- Set FEC0 MII base register
87 MCFFEC_TOUT_LOOP -- set FEC timeout loop
88
89 CONFIG_MCFTMR -- define to use DMA timer
90 CONFIG_MCFPIT -- define to use PIT timer
91
92 CONFIG_SYS_I2C_FSL -- define to use FSL common I2C driver
93 CONFIG_SYS_I2C_SOFT -- define for I2C bit-banged
94 CONFIG_SYS_I2C_SPEED -- define for I2C speed
95 CONFIG_SYS_I2C_SLAVE -- define for I2C slave address
96 CONFIG_SYS_I2C_OFFSET -- define for I2C base address offset
97 CONFIG_SYS_IMMR -- define for MBAR offset
98
99 CONFIG_SYS_MBAR -- define MBAR offset
100
101 CONFIG_MONITOR_IS_IN_RAM -- Not support
102
103 CONFIG_SYS_INIT_RAM_ADDR -- defines the base address of the MCF5373 internal SRAM
104
105 CONFIG_SYS_CSn_BASE -- defines the Chip Select Base register
106 CONFIG_SYS_CSn_MASK -- defines the Chip Select Mask register
107 CONFIG_SYS_CSn_CTRL -- defines the Chip Select Control register
108
109 CONFIG_SYS_SDRAM_BASE -- defines the DRAM Base
110
111 2. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL
112 ===========================================
113 2.1. System memory map:
114 Flash: 0x00000000-0x3FFFFFFF (1024MB)
115 DDR: 0x40000000-0x7FFFFFFF (1024MB)
116 SRAM: 0x80000000-0x8FFFFFFF (256MB)
117 IP: 0xF0000000-0xFFFFFFFF (256MB)
118
119 2.2. For the initial bringup, we adopted a consistent memory scheme between U-Boot and
120 linux kernel, you can customize it based on your system requirements:
121 Flash0: 0x00000000-0x00FFFFFF (16MB)
122
123 DDR: 0x40000000-0x4FFFFFFF (256MB)
124 SRAM: 0x80000000-0x80007FFF (32KB)
125 IP: 0xFC000000-0xFC0FFFFF (64KB)
126
127 3. COMPILATION
128 ==============
129 3.1 To create U-Boot the gcc-4.1-xx compiler set (ColdFire ELF or
130 uClinux version) from codesourcery.com was used. Download it from:
131 http://www.codesourcery.com/gnu_toolchains/coldfire/download.html
132
133 3.2 Compilation
134 export CROSS_COMPILE=cross-compile-prefix
135 cd u-boot-1.x.x
136 make distclean
137 make M5373EVB_config
138 make
139
140 4. SCREEN DUMP
141 ==============
142 4.1 M5373EVB Development board
143 (NOTE: May not show exactly the same)
144
145 U-Boot 1.3.0 (Nov 8 2007 - 12:44:08)
146
147 CPU: Freescale MCF5373 (Mask:65 Version:1)
148 CPU CLK 240 Mhz BUS CLK 80 Mhz
149 Board: Freescale FireEngine 5373 EVB
150 I2C: ready
151 DRAM: 32 MB
152 FLASH: 2 MB
153 In: serial
154 Out: serial
155 Err: serial
156 NAND: 16 MiB
157 Net: FEC0
158 -> print
159 bootdelay=1
160 baudrate=115200
161 ethaddr=00:e0:0c:bc:e5:60
162 hostname=M5373EVB
163 netdev=eth0
164 loadaddr=40010000
165 load=tftp ${loadaddr) ${u-boot}
166 upd=run load; run prog
167 prog=prot off 0 2ffff;era 0 2ffff;cp.b ${loadaddr} 0 ${filesize};save
168 ethact=FEC0
169 u-boot=u-boot.bin
170 gatewayip=192.168.1.1
171 netmask=255.255.255.0
172 ipaddr=192.168.1.3
173 serverip=192.168.1.2
174 stdin=serial
175 stdout=serial
176 stderr=serial
177 mem=261632k
178
179 Environment size: 401/8188 bytes
180 -> bdinfo
181 memstart = 0x40000000
182 memsize = 0x02000000
183 flashstart = 0x00000000
184 flashsize = 0x00200000
185 flashoffset = 0x00000000
186 sramstart = 0x80000000
187 sramsize = 0x00008000
188 mbar = 0xFC000000
189 busfreq = 80 MHz
190 ethaddr = 00:E0:0C:BC:E5:60
191 ip_addr = 192.168.1.3
192 baudrate = 115200 bps
193 ->
194 -> help
195 ? - alias for 'help'
196 base - print or set address offset
197 bdinfo - print Board Info structure
198 boot - boot default, i.e., run 'bootcmd'
199 bootd - boot default, i.e., run 'bootcmd'
200 bootelf - Boot from an ELF image in memory
201 bootm - boot application image from memory
202 bootp - boot image via network using BootP/TFTP protocol
203 bootvx - Boot vxWorks from an ELF image
204 cmp - memory compare
205 coninfo - print console devices and information
206 cp - memory copy
207 crc32 - checksum calculation
208 date - get/set/reset date & time
209 dcache - enable or disable data cache
210 echo - echo args to console
211 erase - erase FLASH memory
212 flinfo - print FLASH memory information
213 go - start application at address 'addr'
214 help - print online help
215 i2c - I2C sub-system
216 icache - enable or disable instruction cache
217 iminfo - print header information for application image
218 imls - list all images found in flash
219 itest - return true/false on integer compare
220 loadb - load binary file over serial line (kermit mode)
221 loads - load S-Record file over serial line
222 loady - load binary file over serial line (ymodem mode)
223 loop - infinite loop on address range
224 ls - list files in a directory (default /)
225 md - memory display
226 mii - MII utility commands
227 mm - memory modify (auto-incrementing)
228 mtest - simple RAM test
229 mw - memory write (fill)
230 nand - NAND sub-system
231 nboot - boot from NAND device
232 nfs - boot image via network using NFS protocol
233 nm - memory modify (constant address)
234 ping - send ICMP ECHO_REQUEST to network host
235 printenv- print environment variables
236 protect - enable or disable FLASH write protection
237 rarpboot- boot image via network using RARP/TFTP protocol
238 reset - Perform RESET of the CPU
239 run - run commands in an environment variable
240 saveenv - save environment variables to persistent storage
241 setenv - set environment variables
242 sleep - delay execution for some time
243 source - run script from memory
244 tftpboot- boot image via network using TFTP protocol
245 version - print monitor version
246 -> tftp 0x40800000 uImage
247 Using FEC0 device
248 TFTP from server 192.168.1.3; our IP address is 192.168.1.3 Filename 'uImage'.
249 Load address: 0x40800000
250 Loading: #################################################################
251 #################################################################
252 ##########
253 done
254 Bytes transferred = 2053270 (1f5496 hex)
255 -> bootm 0x40800000
256 ## Booting image at 40800000 ...
257 Image Name: Linux Kernel Image
258 Created: 2007-11-07 20:33:08 UTC
259 Image Type: M68K Linux Kernel Image (gzip compressed)
260 Data Size: 2053206 Bytes = 2 MB
261 Load Address: 40020000
262 Entry Point: 40020000
263 Verifying Checksum ... OK
264 Uncompressing Kernel Image ... OK
265 Linux version 2.6.22-uc1 (mattw@loa) (gcc version 4.2.1 (Sourcery G++ Lite 4.2-7
266
267
268 uClinux/COLDFIRE(m537x)
269 COLDFIRE port done by Greg Ungerer, gerg (a] snapgear.com Flat model support (C) 1998,1999 Kenneth Albanowski, D. Jeff Dionne Built 1 zonelists. Total pages: 8128 Kernel command line: rootfstype=romfs PID hash table entries: 128 (order: 7, 512 bytes) Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) Memory available: 28092k/32768k RAM, (1788k kernel code, 244k data) Mount-cache hash table entries: 512
270 NET: Registered protocol family 16
271 USB-MCF537x: (HOST module) EHCI device is registered
272 USB-MCF537x: (OTG module) EHCI device is registered
273 USB-MCF537x: (OTG module) UDC device is registered
274 usbcore: registered new interface driver usbfs
275 usbcore: registered new interface driver hub
276 usbcore: registered new device driver usb
277 NET: Registered protocol family 2
278 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 1024 (order: 1, 8192 bytes) TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
279 TCP: Hash tables configured (established 1024 bind 1024) TCP reno registered
280 JFFS2 version 2.2. (NAND) 2001-2006 Red Hat, Inc.
281 io scheduler noop registered
282 io scheduler cfq registered (default)
283 ColdFire internal UART serial driver version 1.00 ttyS0 at 0xfc060000 (irq = 90) is a builtin ColdFire UART
284 ttyS1 at 0xfc064000 (irq = 91) is a builtin ColdFire UART
285 ttyS2 at 0xfc068000 (irq = 92) is a builtin ColdFire UART RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
286 loop: module loaded
287 nbd: registered device at major 43
288 usbcore: registered new interface driver ub FEC ENET Version 0.2
289 fec: PHY @ 0x1, ID 0x20005c90 -- DP83848
290 eth0: ethernet 00:e0:0c:bc:e5:60
291 uclinux[mtd]: RAM probe address=0x4021c22c size=0x22b000 Creating 1 MTD partitions on "RAM":
292 0x00000000-0x0022b000 : "ROMfs"
293 uclinux[mtd]: set ROMfs to be root filesystem NAND device: Manufacturer ID: 0x20, Chip ID: 0x73 (ST Micro NAND 16MiB 3,3V 8-b) Scanning device for bad blocks Creating 1 MTD partitions on "NAND 16MiB 3,3V 8-bit":
294 0x00000000-0x01000000 : "M53xx flash partition 1"
295 QSPI: spi->max_speed_hz 300000
296 QSPI: Baud set to 255
297 SPI: Coldfire master initialized
298 M537x - Disable UART1 when using Audio
299 udc: Freescale MCF53xx UDC driver version 27 October 2006 init
300 udc: MCF53xx USB Device is found. ID=0x5 Rev=0x41 i2c /dev entries driver
301 usbcore: registered new interface driver usbhid
302 drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver TCP cubic registered
303 NET: Registered protocol family 1
304 NET: Registered protocol family 17
305 VFS: Mounted root (romfs filesystem) readonly.
306 Freeing unused kernel memory: 64k freed (0x401f5000 - 0x40204000) init started: BusyBox v1.00 (2007.11.07-19:57+0000) multi-call binary?Setting e Mounting filesystems
307 mount: Mounting devpts on /dev/pts failed: No such device
308 mount: Mounting usbfs on /proc/bus/usb failed: No such file or directory Starting syslogd and klogd Setting up networking on loopback device:
309 Setting up networking on eth0:
310 info, udhcpc (v0.9.9-pre) started
311 eth0: config: auto-negotiation on, 100FDX, 100HDX, 10FDX, 10HDX.
312 debug, Sending discover...
313 debug, Sending discover...
314 debug, Sending select for 172.27.0.130...
315 info, Lease of 172.27.0.130 obtained, lease time 43200 deleting routers
316 route: SIOC[ADD|DEL]RT: No such process
317 adding dns 172.27.0.1
318 Starting the boa webserver:
319 Setting time from ntp server: ntp.cs.strath.ac.uk
320 ntp.cs.strath.ac.uk: Unknown host
321
322
323 BusyBox v1.00 (2007.11.07-19:57+0000) Built-in shell (msh) Enter 'help' for a list of built-in commands.
324
325 #
326