mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
0f89c54be9
The individual i2c commands imd, imm, inm, imw, icrc32, iprobe, iloop, and isdram are no longer available so all references to them have been updated to the new form of "i2c <cmd>". Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
231 lines
7.9 KiB
Text
231 lines
7.9 KiB
Text
Freescale MCF52277EVB ColdFire Development Board
|
|
================================================
|
|
|
|
TsiChung Liew(Tsi-Chung.Liew@freescale.com)
|
|
Created Jan 8, 2008
|
|
===========================================
|
|
|
|
|
|
Changed files:
|
|
==============
|
|
|
|
- board/freescale/m52277evb/m52277evb.c Dram setup
|
|
- board/freescale/m52277evb/Makefile Makefile
|
|
- board/freescale/m52277evb/config.mk config make
|
|
- board/freescale/m52277evb/u-boot.lds Linker description
|
|
|
|
- cpu/mcf5227x/cpu.c cpu specific code
|
|
- cpu/mcf5227x/cpu_init.c FBCS, Mux pins, icache and RTC extra regs
|
|
- cpu/mcf5227x/interrupts.c cpu specific interrupt support
|
|
- cpu/mcf5227x/speed.c system, flexbus, and cpu clock
|
|
- cpu/mcf5227x/Makefile Makefile
|
|
- cpu/mcf5227x/config.mk config make
|
|
- cpu/mcf5227x/start.S start up assembly code
|
|
|
|
- doc/README.m52277evb This readme file
|
|
|
|
- drivers/serial/mcfuart.c ColdFire common UART driver
|
|
- drivers/rtc/mcfrtc.c Realtime clock Driver
|
|
|
|
- include/asm-m68k/bitops.h Bit operation function export
|
|
- include/asm-m68k/byteorder.h Byte order functions
|
|
- include/asm-m68k/crossbar.h CrossBar structure and definition
|
|
- include/asm-m68k/dspi.h DSPI structure and definition
|
|
- include/asm-m68k/edma.h eDMA structure and definition
|
|
- include/asm-m68k/flexbus.h FlexBus structure and definition
|
|
- include/asm-m68k/fsl_i2c.h I2C structure and definition
|
|
- include/asm-m68k/global_data.h Global data structure
|
|
- include/asm-m68k/immap.h ColdFire specific header file and driver macros
|
|
- include/asm-m68k/immap_5227x.h mcf5227x specific header file
|
|
- include/asm-m68k/io.h io functions
|
|
- include/asm-m68k/lcd.h LCD structure and definition
|
|
- include/asm-m68k/m5227x.h mcf5227x specific header file
|
|
- include/asm-m68k/posix_types.h Posix
|
|
- include/asm-m68k/processor.h header file
|
|
- include/asm-m68k/ptrace.h Exception structure
|
|
- include/asm-m68k/rtc.h Realtime clock header file
|
|
- include/asm-m68k/ssi.h SSI structure and definition
|
|
- include/asm-m68k/string.h String function export
|
|
- include/asm-m68k/timer.h Timer structure and definition
|
|
- include/asm-m68k/types.h Data types definition
|
|
- include/asm-m68k/uart.h Uart structure and definition
|
|
- include/asm-m68k/u-boot.h u-boot structure
|
|
|
|
- include/configs/M52277EVB.h Board specific configuration file
|
|
|
|
- lib_m68k/board.c board init function
|
|
- lib_m68k/cache.c
|
|
- lib_m68k/interrupts Coldfire common interrupt functions
|
|
- lib_m68k/m68k_linux.c
|
|
- lib_m68k/time.c Timer functions (Dma timer and PIT)
|
|
- lib_m68k/traps.c Exception init code
|
|
|
|
1 MCF52277 specific Options/Settings
|
|
====================================
|
|
1.1 pre-loader is no longer suppoer in this coldfire family
|
|
|
|
1.2 Configuration settings for M52277EVB Development Board
|
|
CONFIG_MCF5227x -- define for all MCF5227x CPUs
|
|
CONFIG_M52277 -- define for all Freescale MCF52277 CPUs
|
|
CONFIG_M52277EVB -- define for M52277EVB board
|
|
|
|
CONFIG_MCFUART -- define to use common CF Uart driver
|
|
CONFIG_SYS_UART_PORT -- define UART port number, start with 0, 1 and 2
|
|
CONFIG_BAUDRATE -- define UART baudrate
|
|
|
|
CONFIG_MCFRTC -- define to use common CF RTC driver
|
|
CONFIG_SYS_MCFRTC_BASE -- provide base address for RTC in immap.h
|
|
CONFIG_SYS_RTC_OSCILLATOR -- define RTC clock frequency
|
|
RTC_DEBUG -- define to show RTC debug message
|
|
CONFIG_CMD_DATE -- enable to use date feature in u-boot
|
|
|
|
CONFIG_MCFTMR -- define to use DMA timer
|
|
CONFIG_MCFPIT -- define to use PIT timer
|
|
|
|
CONFIG_FSL_I2C -- define to use FSL common I2C driver
|
|
CONFIG_HARD_I2C -- define for I2C hardware support
|
|
CONFIG_SOFT_I2C -- define for I2C bit-banged
|
|
CONFIG_SYS_I2C_SPEED -- define for I2C speed
|
|
CONFIG_SYS_I2C_SLAVE -- define for I2C slave address
|
|
CONFIG_SYS_I2C_OFFSET -- define for I2C base address offset
|
|
CONFIG_SYS_IMMR -- define for MBAR offset
|
|
|
|
CONFIG_SYS_MBAR -- define MBAR offset
|
|
|
|
CONFIG_MONITOR_IS_IN_RAM -- Not support
|
|
|
|
CONFIG_SYS_INIT_RAM_ADDR -- defines the base address of the MCF52277 internal SRAM
|
|
|
|
CONFIG_SYS_CSn_BASE -- defines the Chip Select Base register
|
|
CONFIG_SYS_CSn_MASK -- defines the Chip Select Mask register
|
|
CONFIG_SYS_CSn_CTRL -- defines the Chip Select Control register
|
|
|
|
CONFIG_SYS_SDRAM_BASE -- defines the DRAM Base
|
|
|
|
CONFIG_LCD and CONFIG_CMD_USB are not supported in this current u-boot,
|
|
update will be provided at later time
|
|
|
|
2. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL
|
|
===========================================
|
|
2.1. System memory map:
|
|
Flash: 0x00000000-0x3FFFFFFF (1024MB)
|
|
DDR: 0x40000000-0x7FFFFFFF (1024MB)
|
|
SRAM: 0x80000000-0x8FFFFFFF (256MB)
|
|
IP: 0xF0000000-0xFFFFFFFF (256MB)
|
|
|
|
2.2. For the initial bringup, we adopted a consistent memory scheme between u-boot and
|
|
linux kernel, you can customize it based on your system requirements:
|
|
Flash0: 0x00000000-0x00FFFFFF (16MB)
|
|
|
|
DDR: 0x40000000-0x4FFFFFFF (64MB)
|
|
SRAM: 0x80000000-0x80007FFF (32KB)
|
|
IP: 0xFC000000-0xFC0FFFFF (64KB)
|
|
|
|
3. COMPILATION
|
|
==============
|
|
3.1 To create U-Boot the gcc-4.1-xx compiler set (ColdFire ELF or
|
|
uClinux version) from codesourcery.com was used. Download it from:
|
|
http://www.codesourcery.com/gnu_toolchains/coldfire/download.html
|
|
|
|
3.2 Compilation
|
|
export CROSS_COMPILE=cross-compile-prefix
|
|
cd u-boot-1.x.x
|
|
make distclean
|
|
make M52277EVB_config
|
|
make
|
|
|
|
4. SCREEN DUMP
|
|
==============
|
|
4.1 M52277EVB Development board
|
|
(NOTE: May not show exactly the same)
|
|
|
|
U-Boot 1.3.1 (Jan 8 2008 - 12:44:08)
|
|
|
|
CPU: Freescale MCF52277 (Mask:6c Version:0)
|
|
CPU CLK 160 Mhz BUS CLK 80 Mhz FLB CLK 80 MHZ
|
|
INP CLK 16 Mhz VCO CLK 480 Mhz
|
|
Board: Freescale 52277 EVB
|
|
I2C: ready
|
|
DRAM: 64 MB
|
|
FLASH: 16 MB
|
|
In: serial
|
|
Out: serial
|
|
Err: serial
|
|
-> print
|
|
baudrate=115200
|
|
hostname=M52277EVB
|
|
inpclk=16000000
|
|
loadaddr=(0x40000000 + 0x10000)
|
|
load=tftp ${loadaddr) ${u-boot}
|
|
upd=run load; run prog
|
|
prog=prot off 0 3ffff;era 0 3ffff;cp.b ${loadaddr} 0 ${filesize};save
|
|
u-boot=u-boot.bin
|
|
stdin=serial
|
|
stdout=serial
|
|
stderr=serial
|
|
mem=65024k
|
|
|
|
Environment size: 280/32764 bytes
|
|
-> bdinfo
|
|
memstart = 0x40000000
|
|
memsize = 0x04000000
|
|
flashstart = 0x00000000
|
|
flashsize = 0x01000000
|
|
flashoffset = 0x00000000
|
|
sramstart = 0x80000000
|
|
sramsize = 0x00008000
|
|
mbar = 0xFC000000
|
|
busfreq = 80 MHz
|
|
flbfreq = 80 Mhz
|
|
inpfreq = 16 Mhz
|
|
vcofreq = 480 Mhz
|
|
|
|
baudrate = 115200 bps
|
|
->
|
|
-> help
|
|
? - alias for 'help'
|
|
autoscr - run script from memory
|
|
base - print or set address offset
|
|
bdinfo - print Board Info structure
|
|
boot - boot default, i.e., run 'bootcmd'
|
|
bootd - boot default, i.e., run 'bootcmd'
|
|
bootelf - Boot from an ELF image in memory
|
|
bootm - boot application image from memory
|
|
bootp - boot image via network using BootP/TFTP protocol
|
|
bootvx - Boot vxWorks from an ELF image
|
|
cmp - memory compare
|
|
coninfo - print console devices and information
|
|
cp - memory copy
|
|
crc32 - checksum calculation
|
|
date - get/set/reset date & time
|
|
dcache - enable or disable data cache
|
|
echo - echo args to console
|
|
erase - erase FLASH memory
|
|
flinfo - print FLASH memory information
|
|
go - start application at address 'addr'
|
|
help - print online help
|
|
i2c - I2C sub-system
|
|
icache - enable or disable instruction cache
|
|
iminfo - print header information for application image
|
|
imls - list all images found in flash
|
|
itest - return true/false on integer compare
|
|
loadb - load binary file over serial line (kermit mode)
|
|
loads - load S-Record file over serial line
|
|
loady - load binary file over serial line (ymodem mode)
|
|
loop - infinite loop on address range
|
|
ls - list files in a directory (default /)
|
|
md - memory display
|
|
mm - memory modify (auto-incrementing)
|
|
mtest - simple RAM test
|
|
mw - memory write (fill)
|
|
nm - memory modify (constant address)
|
|
ping - send ICMP ECHO_REQUEST to network host
|
|
printenv- print environment variables
|
|
protect - enable or disable FLASH write protection
|
|
reset - Perform RESET of the CPU
|
|
run - run commands in an environment variable
|
|
saveenv - save environment variables to persistent storage
|
|
setenv - set environment variables
|
|
sleep - delay execution for some time
|
|
version - print monitor version
|
|
->
|