Merge branch 'master' of /home/wd/git/u-boot/master
[platform/kernel/u-boot.git] / doc / README.m5373evb
1 Freescale MCF5373EVB ColdFire Development Board
2 ================================================
3
4 TsiChung Liew(Tsi-Chung.Liew@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_FSL_I2C          -- define to use FSL common I2C driver
93 CONFIG_HARD_I2C         -- define for I2C hardware support
94 CONFIG_SOFT_I2C         -- define for I2C bit-banged
95 CONFIG_SYS_I2C_SPEED            -- define for I2C speed
96 CONFIG_SYS_I2C_SLAVE            -- define for I2C slave address
97 CONFIG_SYS_I2C_OFFSET           -- define for I2C base address offset
98 CONFIG_SYS_IMMR         -- define for MBAR offset
99
100 CONFIG_SYS_MBAR         -- define MBAR offset
101
102 CONFIG_MONITOR_IS_IN_RAM -- Not support
103
104 CONFIG_SYS_INIT_RAM_ADDR        -- defines the base address of the MCF5373 internal SRAM
105
106 CONFIG_SYS_CSn_BASE     -- defines the Chip Select Base register
107 CONFIG_SYS_CSn_MASK     -- defines the Chip Select Mask register
108 CONFIG_SYS_CSn_CTRL     -- defines the Chip Select Control register
109
110 CONFIG_SYS_SDRAM_BASE   -- defines the DRAM Base
111
112 2. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL
113 ===========================================
114 2.1. System memory map:
115         Flash:          0x00000000-0x3FFFFFFF (1024MB)
116         DDR:            0x40000000-0x7FFFFFFF (1024MB)
117         SRAM:           0x80000000-0x8FFFFFFF (256MB)
118         IP:             0xF0000000-0xFFFFFFFF (256MB)
119
120 2.2. For the initial bringup, we adopted a consistent memory scheme between u-boot and
121         linux kernel, you can customize it based on your system requirements:
122         Flash0:         0x00000000-0x00FFFFFF (16MB)
123
124         DDR:            0x40000000-0x4FFFFFFF (256MB)
125         SRAM:           0x80000000-0x80007FFF (32KB)
126         IP:             0xFC000000-0xFC0FFFFF (64KB)
127
128 3. COMPILATION
129 ==============
130 3.1     To create U-Boot the gcc-4.1-xx compiler set (ColdFire ELF or
131 uClinux version) from codesourcery.com was used. Download it from:
132 http://www.codesourcery.com/gnu_toolchains/coldfire/download.html
133
134 3.2 Compilation
135    export CROSS_COMPILE=cross-compile-prefix
136    cd u-boot-1.x.x
137    make distclean
138    make M5373EVB_config
139    make
140
141 4. SCREEN DUMP
142 ==============
143 4.1 M5373EVB Development board
144     (NOTE: May not show exactly the same)
145
146 U-Boot 1.3.0 (Nov 8 2007 - 12:44:08)
147
148 CPU:   Freescale MCF5373 (Mask:65 Version:1)
149        CPU CLK 240 Mhz BUS CLK 80 Mhz
150 Board: Freescale FireEngine 5373 EVB
151 I2C:   ready
152 DRAM:  32 MB
153 FLASH: 2 MB
154 In:    serial
155 Out:   serial
156 Err:   serial
157 NAND:  16 MiB
158 Net:   FEC0
159 -> print
160 bootdelay=1
161 baudrate=115200
162 ethaddr=00:e0:0c:bc:e5:60
163 hostname=M5373EVB
164 netdev=eth0
165 loadaddr=40010000
166 load=tftp ${loadaddr) ${u-boot}
167 upd=run load; run prog
168 prog=prot off 0 2ffff;era 0 2ffff;cp.b ${loadaddr} 0 ${filesize};save
169 ethact=FEC0
170 u-boot=u-boot.bin
171 gatewayip=192.168.1.1
172 netmask=255.255.255.0
173 ipaddr=192.168.1.3
174 serverip=192.168.1.2
175 stdin=serial
176 stdout=serial
177 stderr=serial
178 mem=261632k
179
180 Environment size: 401/8188 bytes
181 -> bdinfo
182 memstart    = 0x40000000
183 memsize     = 0x02000000
184 flashstart  = 0x00000000
185 flashsize   = 0x00200000
186 flashoffset = 0x00000000
187 sramstart   = 0x80000000
188 sramsize    = 0x00008000
189 mbar        = 0xFC000000
190 busfreq     =     80 MHz
191 ethaddr     = 00:E0:0C:BC:E5:60
192 ip_addr     = 192.168.1.3
193 baudrate    = 115200 bps
194 ->
195 -> help
196 ?       - alias for 'help'
197 base    - print or set address offset
198 bdinfo  - print Board Info structure
199 boot    - boot default, i.e., run 'bootcmd'
200 bootd   - boot default, i.e., run 'bootcmd'
201 bootelf - Boot from an ELF image in memory
202 bootm   - boot application image from memory
203 bootp   - boot image via network using BootP/TFTP protocol
204 bootvx  - Boot vxWorks from an ELF image
205 cmp     - memory compare
206 coninfo - print console devices and information
207 cp      - memory copy
208 crc32   - checksum calculation
209 date    - get/set/reset date & time
210 dcache  - enable or disable data cache
211 echo    - echo args to console
212 erase   - erase FLASH memory
213 flinfo  - print FLASH memory information
214 go      - start application at address 'addr'
215 help    - print online help
216 i2c     - I2C sub-system
217 icache  - enable or disable instruction cache
218 iminfo  - print header information for application image
219 imls    - list all images found in flash
220 itest   - return true/false on integer compare
221 loadb   - load binary file over serial line (kermit mode)
222 loads   - load S-Record file over serial line
223 loady   - load binary file over serial line (ymodem mode)
224 loop    - infinite loop on address range
225 ls      - list files in a directory (default /)
226 md      - memory display
227 mii     - MII utility commands
228 mm      - memory modify (auto-incrementing)
229 mtest   - simple RAM test
230 mw      - memory write (fill)
231 nand    - NAND sub-system
232 nboot   - boot from NAND device
233 nfs     - boot image via network using NFS protocol
234 nm      - memory modify (constant address)
235 ping    - send ICMP ECHO_REQUEST to network host
236 printenv- print environment variables
237 protect - enable or disable FLASH write protection
238 rarpboot- boot image via network using RARP/TFTP protocol
239 reset   - Perform RESET of the CPU
240 run     - run commands in an environment variable
241 saveenv - save environment variables to persistent storage
242 setenv  - set environment variables
243 sleep   - delay execution for some time
244 source  - run script from memory
245 tftpboot- boot image via network using TFTP protocol
246 version - print monitor version
247 -> tftp 0x40800000 uImage
248 Using FEC0 device
249 TFTP from server 192.168.1.3; our IP address is 192.168.1.3 Filename 'uImage'.
250 Load address: 0x40800000
251 Loading: #################################################################
252           #################################################################
253           ##########
254 done
255 Bytes transferred = 2053270 (1f5496 hex)
256 -> bootm 0x40800000
257 ## Booting image at 40800000 ...
258     Image Name:   Linux Kernel Image
259     Created:      2007-11-07  20:33:08 UTC
260     Image Type:   M68K Linux Kernel Image (gzip compressed)
261     Data Size:    2053206 Bytes =  2 MB
262     Load Address: 40020000
263     Entry Point:  40020000
264     Verifying Checksum ... OK
265     Uncompressing Kernel Image ... OK
266 Linux version 2.6.22-uc1 (mattw@loa) (gcc version 4.2.1 (Sourcery G++ Lite 4.2-7
267
268
269 uClinux/COLDFIRE(m537x)
270 COLDFIRE port done by Greg Ungerer, gerg@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
271 NET: Registered protocol family 16
272 USB-MCF537x: (HOST module) EHCI device is registered
273 USB-MCF537x: (OTG module) EHCI device is registered
274 USB-MCF537x: (OTG module) UDC device is registered
275 usbcore: registered new interface driver usbfs
276 usbcore: registered new interface driver hub
277 usbcore: registered new device driver usb
278 NET: Registered protocol family 2
279 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)
280 TCP: Hash tables configured (established 1024 bind 1024) TCP reno registered
281 JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
282 io scheduler noop registered
283 io scheduler cfq registered (default)
284 ColdFire internal UART serial driver version 1.00 ttyS0 at 0xfc060000 (irq = 90) is a builtin ColdFire UART
285 ttyS1 at 0xfc064000 (irq = 91) is a builtin ColdFire UART
286 ttyS2 at 0xfc068000 (irq = 92) is a builtin ColdFire UART RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
287 loop: module loaded
288 nbd: registered device at major 43
289 usbcore: registered new interface driver ub FEC ENET Version 0.2
290 fec: PHY @ 0x1, ID 0x20005c90 -- DP83848
291 eth0: ethernet 00:e0:0c:bc:e5:60
292 uclinux[mtd]: RAM probe address=0x4021c22c size=0x22b000 Creating 1 MTD partitions on "RAM":
293 0x00000000-0x0022b000 : "ROMfs"
294 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":
295 0x00000000-0x01000000 : "M53xx flash partition 1"
296 QSPI: spi->max_speed_hz 300000
297 QSPI: Baud set to 255
298 SPI: Coldfire master initialized
299 M537x - Disable UART1 when using Audio
300 udc: Freescale MCF53xx UDC driver version 27 October 2006 init
301 udc: MCF53xx USB Device is found. ID=0x5 Rev=0x41 i2c /dev entries driver
302 usbcore: registered new interface driver usbhid
303 drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver TCP cubic registered
304 NET: Registered protocol family 1
305 NET: Registered protocol family 17
306 VFS: Mounted root (romfs filesystem) readonly.
307 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
308 mount: Mounting devpts on /dev/pts failed: No such device
309 mount: Mounting usbfs on /proc/bus/usb failed: No such file or directory Starting syslogd and klogd Setting up networking on loopback device:
310 Setting up networking on eth0:
311 info, udhcpc (v0.9.9-pre) started
312 eth0: config: auto-negotiation on, 100FDX, 100HDX, 10FDX, 10HDX.
313 debug, Sending discover...
314 debug, Sending discover...
315 debug, Sending select for 172.27.0.130...
316 info, Lease of 172.27.0.130 obtained, lease time 43200 deleting routers
317 route: SIOC[ADD|DEL]RT: No such process
318 adding dns 172.27.0.1
319 Starting the boa webserver:
320 Setting time from ntp server: ntp.cs.strath.ac.uk
321 ntp.cs.strath.ac.uk: Unknown host
322
323
324 BusyBox v1.00 (2007.11.07-19:57+0000) Built-in shell (msh) Enter 'help' for a list of built-in commands.
325
326 #