blob: c563ad99a7cc93183b269b9e56ac0b8598628959 [file] [log] [blame]
TsiChungLiew8ae158c2007-08-16 15:05:11 -05001Freescale MCF54455EVB ColdFire Development Board
2================================================
3
4TsiChung Liew(Tsi-Chung.Liew@freescale.com)
5Created 4/08/07
6===========================================
7
8
9Changed files:
10==============
11
12- board/freescale/m54455evb/m54455evb.c Dram setup, IDE pre init, and PCI init
13- board/freescale/m54455evb/flash.c Atmel and INTEL flash support
14- board/freescale/m54455evb/Makefile Makefile
15- board/freescale/m54455evb/config.mk config make
16- board/freescale/m54455evb/u-boot.lds Linker description
17
18- common/cmd_bdinfo.c Clock frequencies output
19- common/cmd_mii.c mii support
20
Peter Tysera4145532010-04-12 22:28:12 -050021- arch/m68k/cpu/mcf5445x/cpu.c cpu specific code
22- arch/m68k/cpu/mcf5445x/cpu_init.c Flexbus ChipSelect, Mux pins setup, icache and RTC extra regs
23- arch/m68k/cpu/mcf5445x/interrupts.c cpu specific interrupt support
24- arch/m68k/cpu/mcf5445x/speed.c system, pci, flexbus, and cpu clock
25- arch/m68k/cpu/mcf5445x/Makefile Makefile
26- arch/m68k/cpu/mcf5445x/config.mk config make
27- arch/m68k/cpu/mcf5445x/start.S start up assembly code
TsiChungLiew8ae158c2007-08-16 15:05:11 -050028
29- doc/README.m54455evb This readme file
30
31- drivers/net/mcffec.c ColdFire common FEC driver
32- drivers/serial/mcfuart.c ColdFire common UART driver
33
34- include/asm-m68k/bitops.h Bit operation function export
35- include/asm-m68k/byteorder.h Byte order functions
36- include/asm-m68k/fec.h FEC structure and definition
37- include/asm-m68k/fsl_i2c.h I2C structure and definition
38- include/asm-m68k/global_data.h Global data structure
39- include/asm-m68k/immap.h ColdFire specific header file and driver macros
40- include/asm-m68k/immap_5445x.h mcf5445x specific header file
41- include/asm-m68k/io.h io functions
42- include/asm-m68k/m5445x.h mcf5445x specific header file
43- include/asm-m68k/posix_types.h Posix
44- include/asm-m68k/processor.h header file
45- include/asm-m68k/ptrace.h Exception structure
46- include/asm-m68k/rtc.h Realtime clock header file
47- include/asm-m68k/string.h String function export
48- include/asm-m68k/timer.h Timer structure and definition
49- include/asm-m68k/types.h Data types definition
50- include/asm-m68k/uart.h Uart structure and definition
Bin Menga1875592016-02-05 19:30:11 -080051- include/asm-m68k/u-boot.h U-Boot structure
TsiChungLiew8ae158c2007-08-16 15:05:11 -050052
53- include/configs/M54455EVB.h Board specific configuration file
54
Peter Tyserea0364f2010-04-12 22:28:04 -050055- arch/m68k/lib/board.c board init function
56- arch/m68k/lib/cache.c
57- arch/m68k/lib/interrupts Coldfire common interrupt functions
58- arch/m68k/lib/m68k_linux.c
59- arch/m68k/lib/time.c Timer functions (Dma timer and PIT)
60- arch/m68k/lib/traps.c Exception init code
TsiChungLiew8ae158c2007-08-16 15:05:11 -050061
62- rtc/mcfrtc.c Realtime clock Driver
63
641 MCF5445x specific Options/Settings
65====================================
661.1 pre-loader is no longer suppoer in thie coldfire family
67
681.2 Configuration settings for M54455EVB Development Board
69CONFIG_MCF5445x -- define for all MCF5445x CPUs
70CONFIG_M54455 -- define for all Freescale MCF54455 CPUs
71CONFIG_M54455EVB -- define for M54455EVB board
72
73CONFIG_MCFUART -- define to use common CF Uart driver
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +020074CONFIG_SYS_UART_PORT -- define UART port number, start with 0, 1 and 2
TsiChungLiew8ae158c2007-08-16 15:05:11 -050075CONFIG_BAUDRATE -- define UART baudrate
76
77CONFIG_MCFRTC -- define to use common CF RTC driver
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +020078CONFIG_SYS_MCFRTC_BASE -- provide base address for RTC in immap.h
79CONFIG_SYS_RTC_OSCILLATOR -- define RTC clock frequency
TsiChungLiew8ae158c2007-08-16 15:05:11 -050080RTC_DEBUG -- define to show RTC debug message
Bin Menga1875592016-02-05 19:30:11 -080081CONFIG_CMD_DATE -- enable to use date feature in U-Boot
TsiChungLiew8ae158c2007-08-16 15:05:11 -050082
83CONFIG_MCFFEC -- define to use common CF FEC driver
TsiChungLiew8ae158c2007-08-16 15:05:11 -050084CONFIG_MII -- enable to use MII driver
Wolfgang Denk53677ef2008-05-20 16:00:29 +020085CONFIG_CF_DOMII -- enable to use MII feature in cmd_mii.c
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +020086CONFIG_SYS_DISCOVER_PHY -- enable PHY discovery
87CONFIG_SYS_RX_ETH_BUFFER -- Set FEC Receive buffer
88CONFIG_SYS_FAULT_ECHO_LINK_DOWN--
89CONFIG_SYS_FEC0_PINMUX -- Set FEC0 Pin configuration
90CONFIG_SYS_FEC1_PINMUX -- Set FEC1 Pin configuration
91CONFIG_SYS_FEC0_MIIBASE -- Set FEC0 MII base register
92CONFIG_SYS_FEC1_MIIBASE -- Set FEC0 MII base register
TsiChungLiew8ae158c2007-08-16 15:05:11 -050093MCFFEC_TOUT_LOOP -- set FEC timeout loop
Bin Menga1875592016-02-05 19:30:11 -080094CONFIG_HAS_ETH1 -- define to enable second FEC in U-Boot
TsiChungLiew8ae158c2007-08-16 15:05:11 -050095
96CONFIG_ISO_PARTITION -- enable ISO read/write
97CONFIG_DOS_PARTITION -- enable DOS read/write
98CONFIG_IDE_RESET -- define ide_reset()
99CONFIG_IDE_PREINIT -- define ide_preinit()
100CONFIG_ATAPI -- define ATAPI support
101CONFIG_LBA48 -- define LBA48 (larger than 120GB) support
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200102CONFIG_SYS_IDE_MAXBUS -- define max channel
103CONFIG_SYS_IDE_MAXDEVICE -- define max devices per channel
104CONFIG_SYS_ATA_BASE_ADDR -- define ATA base address
105CONFIG_SYS_ATA_IDE0_OFFSET -- define ATA IDE0 offset
106CONFIG_SYS_ATA_DATA_OFFSET -- define ATA data IO
107CONFIG_SYS_ATA_REG_OFFSET -- define for normal register accesses
108CONFIG_SYS_ATA_ALT_OFFSET -- define for alternate registers
109CONFIG_SYS_ATA_STRIDE -- define for Interval between registers
TsiChungLiew8ae158c2007-08-16 15:05:11 -0500110_IO_BASE -- define for IO base address
111
112CONFIG_MCFTMR -- define to use DMA timer
113CONFIG_MCFPIT -- define to use PIT timer
114
Heiko Schocher00f792e2012-10-24 13:48:22 +0200115CONFIG_SYS_FSL_I2C -- define to use FSL common I2C driver
TsiChungLiew8ae158c2007-08-16 15:05:11 -0500116CONFIG_HARD_I2C -- define for I2C hardware support
Heiko Schocherea818db2013-01-29 08:53:15 +0100117CONFIG_SYS_I2C_SOFT -- define for I2C bit-banged
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200118CONFIG_SYS_I2C_SPEED -- define for I2C speed
119CONFIG_SYS_I2C_SLAVE -- define for I2C slave address
120CONFIG_SYS_I2C_OFFSET -- define for I2C base address offset
121CONFIG_SYS_IMMR -- define for MBAR offset
TsiChungLiew8ae158c2007-08-16 15:05:11 -0500122
123CONFIG_PCI -- define for PCI support
124CONFIG_PCI_PNP -- define for Plug n play support
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200125CONFIG_SYS_PCI_MEM_BUS -- PCI memory logical offset
126CONFIG_SYS_PCI_MEM_PHYS -- PCI memory physical offset
127CONFIG_SYS_PCI_MEM_SIZE -- PCI memory size
128CONFIG_SYS_PCI_IO_BUS -- PCI IO logical offset
129CONFIG_SYS_PCI_IO_PHYS -- PCI IO physical offset
130CONFIG_SYS_PCI_IO_SIZE -- PCI IO size
131CONFIG_SYS_PCI_CFG_BUS -- PCI Configuration logical offset
132CONFIG_SYS_PCI_CFG_PHYS -- PCI Configuration physical offset
133CONFIG_SYS_PCI_CFG_SIZE -- PCI Configuration size
TsiChungLiew8ae158c2007-08-16 15:05:11 -0500134
135CONFIG_EXTRA_CLOCK -- Enable extra clock such as vco, flexbus, pci, etc
136
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200137CONFIG_SYS_MBAR -- define MBAR offset
TsiChungLiew8ae158c2007-08-16 15:05:11 -0500138
Bin Menga1875592016-02-05 19:30:11 -0800139CONFIG_SYS_ATMEL_BOOT -- To determine the U-Boot is booted from Atmel or Intel
TsiChungLiew8ae158c2007-08-16 15:05:11 -0500140
141CONFIG_MONITOR_IS_IN_RAM -- Not support
142
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200143CONFIG_SYS_INIT_RAM_ADDR -- defines the base address of the MCF54455 internal SRAM
TsiChungLiew8ae158c2007-08-16 15:05:11 -0500144
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200145CONFIG_SYS_CSn_BASE -- defines the Chip Select Base register
146CONFIG_SYS_CSn_MASK -- defines the Chip Select Mask register
147CONFIG_SYS_CSn_CTRL -- defines the Chip Select Control register
TsiChungLiew8ae158c2007-08-16 15:05:11 -0500148
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200149CONFIG_SYS_ATMEL_BASE -- defines the Atmel Flash base
150CONFIG_SYS_INTEL_BASE -- defines the Intel Flash base
TsiChungLiew8ae158c2007-08-16 15:05:11 -0500151
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200152CONFIG_SYS_SDRAM_BASE -- defines the DRAM Base
153CONFIG_SYS_SDRAM_BASE1 -- defines the DRAM Base 1
TsiChungLiew8ae158c2007-08-16 15:05:11 -0500154
1552. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL
156===========================================
1572.1. System memory map:
158 Flash: 0x00000000-0x3FFFFFFF (1024MB)
159 DDR: 0x40000000-0x7FFFFFFF (1024MB)
160 SRAM: 0x80000000-0x8FFFFFFF (256MB)
161 ATA: 0x90000000-0x9FFFFFFF (256MB)
162 PCI: 0xA0000000-0xBFFFFFFF (512MB)
163 FlexBus: 0xC0000000-0xDFFFFFFF (512MB)
164 IP: 0xF0000000-0xFFFFFFFF (256MB)
165
Bin Menga1875592016-02-05 19:30:11 -08001662.2. For the initial bringup, we adopted a consistent memory scheme between U-Boot and
TsiChungLiew8ae158c2007-08-16 15:05:11 -0500167 linux kernel, you can customize it based on your system requirements:
168 Atmel boot:
169 Flash0: 0x00000000-0x0007FFFF (512KB)
170 Flash1: 0x04000000-0x05FFFFFF (32MB)
171 Intel boot:
172 Flash0: 0x00000000-0x01FFFFFF (32MB)
173 Flash1: 0x04000000-0x0407FFFF (512KB)
174
175 CPLD: 0x08000000-0x08FFFFFF (16MB)
176 FPGA: 0x09000000-0x09FFFFFF (16MB)
177 DDR: 0x40000000-0x4FFFFFFF (256MB)
178 SRAM: 0x80000000-0x80007FFF (32KB)
179 IP: 0xFC000000-0xFC0FFFFF (64KB)
180
1813. SWITCH SETTINGS
182==================
1833.1 SW1 Pin3: 0 - Boot from Atmel or 1 - INTEL
184 SW1 Pin4: 0 - ULPI chip not in reset state or 1 - ULPI chip in reset state
185 SW1 Pin5: 0 - Full ATA Bus enabled, FEC Phy1 powered down
186 1 - Upper 8 bits ATA data bus disabled, FEC PHY1 active
187 SW1 Pin6: 0 - FEC Phy0 active or 1 - FEC Phy0 powered down
188 SW1 Pin3: 0 - Boot from Atmel or 1 - INTEL
189
1904. COMPILATION
191==============
1924.1 To create U-Boot the gcc-4.1-32 compiler set (ColdFire ELF version)
193from codesourcery.com was used. Download it from:
194http://www.codesourcery.com/gnu_toolchains/coldfire/download.html
195
1964.2 Compilation
197 export CROSS_COMPILE=cross-compile-prefix
198 cd u-boot-1.x.x
199 make distclean
200 make M54455EVB_config, or - default to atmel 33Mhz input clock
201 make M54455EVB_atmel_config, or - default to atmel 33Mhz input clock
202 make M54455EVB_a33_config, or - default to atmel 33Mhz input clock
203 make M54455EVB_a66_config, or - default to atmel 66Mhz input clock
204 make M54455EVB_intel_config, or - default to intel 33Mhz input clock
205 make M54455EVB_i33_config, or - default to intel 33Mhz input clock
206 make M54455EVB_i66_config, or - default to intel 66Mhz input clock
207 make
208
2095. SCREEN DUMP
210==============
2115.1 M54455EVB Development board
212 Boot from Atmel (NOTE: May not show exactly the same)
213
214U-Boot 1.2.0-g98c80b46-dirty (Jul 26 2007 - 12:44:08)
215
216CPU: Freescale MCF54455 (Mask:48 Version:1)
217 CPU CLK 266 Mhz BUS CLK 133 Mhz FLB CLK 66 Mhz
218 PCI CLK 33 Mhz INP CLK 33 Mhz VCO CLK 533 Mhz
219Board: Freescale M54455 EVB
220I2C: ready
221DRAM: 256 MB
222FLASH: 16.5 MB
223In: serial
224Out: serial
225Err: serial
226Net: FEC0, FEC1
227IDE: Bus 0: not available
228-> print
229bootargs=root=/dev/ram rw
230bootdelay=1
231baudrate=115200
232ethaddr=00:e0:0c:bc:e5:60
233eth1addr=00:e0:0c:bc:e5:61
234hostname=M54455EVB
235netdev=eth0
236inpclk=33333333
237loadaddr=40010000
238load=tftp ${loadaddr) ${u-boot}
239upd=run load; run prog
240prog=prot off 0 2ffff;era 0 2ffff;cp.b ${loadaddr} 0 ${filesize};save
241ethact=FEC0
242mtdids=nor0=M54455EVB-1
243mtdparts=M54455EVB-1:16m(user)
244u-boot=u-boot54455.bin
245filesize=292b4
246fileaddr=40010000
247gatewayip=192.168.1.1
248netmask=255.255.255.0
249ipaddr=192.168.1.3
250serverip=192.168.1.2
251stdin=serial
252stdout=serial
253stderr=serial
254mem=261632k
255
256Environment size: 563/8188 bytes
257-> bdinfo
258memstart = 0x40000000
259memsize = 0x10000000
260flashstart = 0x00000000
261flashsize = 0x01080000
262flashoffset = 0x00000000
263sramstart = 0x80000000
264sramsize = 0x00008000
265mbar = 0xFC000000
266busfreq = 133.333 MHz
267pcifreq = 33.333 MHz
268flbfreq = 66.666 MHz
269inpfreq = 33.333 MHz
270vcofreq = 533.333 MHz
271ethaddr = 00:E0:0C:BC:E5:60
272eth1addr = 00:E0:0C:BC:E5:61
273ip_addr = 192.168.1.3
274baudrate = 115200 bps
275->
276-> help
277? - alias for 'help'
TsiChungLiew8ae158c2007-08-16 15:05:11 -0500278base - print or set address offset
279bdinfo - print Board Info structure
280boot - boot default, i.e., run 'bootcmd'
281bootd - boot default, i.e., run 'bootcmd'
282bootelf - Boot from an ELF image in memory
283bootm - boot application image from memory
284bootp - boot image via network using BootP/TFTP protocol
285bootvx - Boot vxWorks from an ELF image
286cmp - memory compare
287coninfo - print console devices and information
288cp - memory copy
289crc32 - checksum calculation
290date - get/set/reset date & time
291dcache - enable or disable data cache
292diskboot- boot from IDE device
293echo - echo args to console
294erase - erase FLASH memory
295ext2load- load binary file from a Ext2 filesystem
296ext2ls - list files in a directory (default /)
297fatinfo - print information about filesystem
298fatload - load binary file from a dos filesystem
299fatls - list files in a directory (default /)
300flinfo - print FLASH memory information
301fsinfo - print information about filesystems
302fsload - load binary file from a filesystem image
303go - start application at address 'addr'
304help - print online help
Peter Tyser0f89c542009-04-18 22:34:03 -0500305i2c - I2C sub-system
TsiChungLiew8ae158c2007-08-16 15:05:11 -0500306icache - enable or disable instruction cache
TsiChungLiew8ae158c2007-08-16 15:05:11 -0500307ide - IDE sub-system
TsiChungLiew8ae158c2007-08-16 15:05:11 -0500308iminfo - print header information for application image
309imls - list all images found in flash
TsiChungLiew8ae158c2007-08-16 15:05:11 -0500310itest - return true/false on integer compare
311loadb - load binary file over serial line (kermit mode)
312loads - load S-Record file over serial line
313loady - load binary file over serial line (ymodem mode)
314loop - infinite loop on address range
315ls - list files in a directory (default /)
316md - memory display
317mii - MII utility commands
318mm - memory modify (auto-incrementing)
319mtest - simple RAM test
320mw - memory write (fill)
321nfs - boot image via network using NFS protocol
322nm - memory modify (constant address)
323pci - list and access PCI Configuration Space
324ping - send ICMP ECHO_REQUEST to network host
325printenv- print environment variables
326protect - enable or disable FLASH write protection
327rarpboot- boot image via network using RARP/TFTP protocol
328reset - Perform RESET of the CPU
329run - run commands in an environment variable
330saveenv - save environment variables to persistent storage
331setenv - set environment variables
332sleep - delay execution for some time
Peter Tyser3202d332009-09-16 21:38:10 -0500333source - run script from memory
TsiChungLiew8ae158c2007-08-16 15:05:11 -0500334tftpboot- boot image via network using TFTP protocol
335version - print monitor version
336->bootm 4000000
337
338## Booting image at 04000000 ...
339 Image Name: Linux Kernel Image
340 Created: 2007-08-14 15:13:00 UTC
341 Image Type: M68K Linux Kernel Image (uncompressed)
342 Data Size: 2301952 Bytes = 2.2 MB
343 Load Address: 40020000
344 Entry Point: 40020000
345 Verifying Checksum ... OK
346OK
347Linux version 2.6.20-gfe5136d6-dirty (mattw@kea) (gcc version 4.2.0 20070318 (pr
348erelease) (Sourcery G++ Lite 4.2-20)) #108 Mon Aug 13 13:00:13 MDT 2007
349starting up linux startmem 0xc0254000, endmem 0xcfffffff, size 253MB
350Built 1 zonelists. Total pages: 32624
351Kernel command line: root=/dev/mtdblock1 rw rootfstype=jffs2 ip=none mtdparts=ph
352ysmap-flash.0:5M(kernel)ro,-(jffs2)
353PID hash table entries: 1024 (order: 10, 4096 bytes)
354Console: colour dummy device 80x25
355Dentry cache hash table entries: 32768 (order: 4, 131072 bytes)
356Inode-cache hash table entries: 16384 (order: 3, 65536 bytes)
357Memory: 257496k/262136k available (1864k kernel code, 2440k data, 88k init)
358Mount-cache hash table entries: 1024
359NET: Registered protocol family 16
360SCSI subsystem initialized
361NET: Registered protocol family 2
362IP route cache hash table entries: 2048 (order: 0, 8192 bytes)
363TCP established hash table entries: 8192 (order: 2, 32768 bytes)
364TCP bind hash table entries: 4096 (order: 1, 16384 bytes)
365TCP: Hash tables configured (established 8192 bind 4096)
366TCP reno registered
367JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat, Inc.
368io scheduler noop registered
369io scheduler anticipatory registered
370io scheduler deadline registered
371io scheduler cfq registered (default)
372ColdFire internal UART serial driver version 1.00
373ttyS0 at 0xfc060000 (irq = 90) is a builtin ColdFire UART
374ttyS1 at 0xfc064000 (irq = 91) is a builtin ColdFire UART
375ttyS2 at 0xfc068000 (irq = 92) is a builtin ColdFire UART
376RAMDISK driver initialized: 16 RAM disks of 64000K size 1024 blocksize
377loop: loaded (max 8 devices)
378FEC ENET Version 0.2
379fec: PHY @ 0x0, ID 0x20005ca2 -- DP83849
380eth0: ethernet 00:08:ee:00:e4:19
381physmap platform flash device: 01000000 at 04000000
382physmap-flash.0: Found 1 x16 devices at 0x0 in 8-bit bank
383 Intel/Sharp Extended Query Table at 0x0031
384Using buffer write method
385cfi_cmdset_0001: Erase suspend on write enabled
3862 cmdlinepart partitions found on MTD device physmap-flash.0
387Creating 2 MTD partitions on "physmap-flash.0":
3880x00000000-0x00500000 : "kernel"
389mtd: Giving out device 0 to kernel
3900x00500000-0x01000000 : "jffs2"
391mtd: Giving out device 1 to jffs2
392mice: PS/2 mouse device common for all mice
393i2c /dev entries driver
394TCP cubic registered
395NET: Registered protocol family 1
396NET: Registered protocol family 17
397NET: Registered protocol family 15
398VFS: Mounted root (jffs2 filesystem).
399Setting the hostname to freescale
400Mounting filesystems
401mount: Mounting usbfs on /proc/bus/usb failed: No such file or directory
402Starting syslogd and klogd
403Setting up networking on loopback device:
404Setting up networking on eth0:
405eth0: config: auto-negotiation on, 100FDX, 100HDX, 10FDX, 10HDX.
406Adding static route for default gateway to 172.27.255.254:
407Setting nameserver to 172.27.0.1 in /etc/resolv.conf:
408Starting inetd:
409/ #