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 
 | 
  
 | 
- arch/m68k/cpu/mcf5227x/cpu.c        cpu specific code 
 | 
- arch/m68k/cpu/mcf5227x/cpu_init.c    FBCS, Mux pins, icache and RTC extra regs 
 | 
- arch/m68k/cpu/mcf5227x/interrupts.c    cpu specific interrupt support 
 | 
- arch/m68k/cpu/mcf5227x/speed.c        system, flexbus, and cpu clock 
 | 
- arch/m68k/cpu/mcf5227x/Makefile        Makefile 
 | 
- arch/m68k/cpu/mcf5227x/config.mk    config make 
 | 
- arch/m68k/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 
 | 
  
 | 
- arch/m68k/lib/board.c            board init function 
 | 
- arch/m68k/lib/cache.c 
 | 
- arch/m68k/lib/interrupts            Coldfire common interrupt functions 
 | 
- arch/m68k/lib/m68k_linux.c 
 | 
- arch/m68k/lib/time.c            Timer functions (Dma timer and PIT) 
 | 
- arch/m68k/lib/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_SYS_I2C_FSL    -- define to use FSL common I2C driver 
 | 
CONFIG_SYS_I2C_SOFT    -- 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' 
 | 
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 
 | 
source  - run script from memory 
 | 
version - print monitor version 
 | 
-> 
 |