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