1Freescale MCF52277EVB ColdFire Development Board 2================================================ 3 4TsiChung Liew(Tsi-Chung.Liew@freescale.com) 5Created Jan 8, 2008 6=========================================== 7 8 9Changed files: 10============== 11 12- board/freescale/m52277evb/m52277evb.c Dram setup 13- board/freescale/m52277evb/Makefile Makefile 14- board/freescale/m52277evb/config.mk config make 15- board/freescale/m52277evb/u-boot.lds Linker description 16 17- arch/m68k/cpu/mcf5227x/cpu.c cpu specific code 18- arch/m68k/cpu/mcf5227x/cpu_init.c FBCS, Mux pins, icache and RTC extra regs 19- arch/m68k/cpu/mcf5227x/interrupts.c cpu specific interrupt support 20- arch/m68k/cpu/mcf5227x/speed.c system, flexbus, and cpu clock 21- arch/m68k/cpu/mcf5227x/Makefile Makefile 22- arch/m68k/cpu/mcf5227x/config.mk config make 23- arch/m68k/cpu/mcf5227x/start.S start up assembly code 24 25- doc/README.m52277evb This readme file 26 27- drivers/serial/mcfuart.c ColdFire common UART driver 28- drivers/rtc/mcfrtc.c Realtime clock Driver 29 30- include/asm-m68k/bitops.h Bit operation function export 31- include/asm-m68k/byteorder.h Byte order functions 32- include/asm-m68k/crossbar.h CrossBar structure and definition 33- include/asm-m68k/dspi.h DSPI structure and definition 34- include/asm-m68k/edma.h eDMA structure and definition 35- include/asm-m68k/flexbus.h FlexBus structure and definition 36- include/asm-m68k/fsl_i2c.h I2C structure and definition 37- include/asm-m68k/global_data.h Global data structure 38- include/asm-m68k/immap.h ColdFire specific header file and driver macros 39- include/asm-m68k/immap_5227x.h mcf5227x specific header file 40- include/asm-m68k/io.h io functions 41- include/asm-m68k/lcd.h LCD structure and definition 42- include/asm-m68k/m5227x.h mcf5227x 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/ssi.h SSI structure and definition 48- include/asm-m68k/string.h String function export 49- include/asm-m68k/timer.h Timer structure and definition 50- include/asm-m68k/types.h Data types definition 51- include/asm-m68k/uart.h Uart structure and definition 52- include/asm-m68k/u-boot.h u-boot structure 53 54- include/configs/M52277EVB.h Board specific configuration file 55 56- arch/m68k/lib/board.c board init function 57- arch/m68k/lib/cache.c 58- arch/m68k/lib/interrupts Coldfire common interrupt functions 59- arch/m68k/lib/m68k_linux.c 60- arch/m68k/lib/time.c Timer functions (Dma timer and PIT) 61- arch/m68k/lib/traps.c Exception init code 62 631 MCF52277 specific Options/Settings 64==================================== 651.1 pre-loader is no longer suppoer in this coldfire family 66 671.2 Configuration settings for M52277EVB Development Board 68CONFIG_MCF5227x -- define for all MCF5227x CPUs 69CONFIG_M52277 -- define for all Freescale MCF52277 CPUs 70CONFIG_M52277EVB -- define for M52277EVB board 71 72CONFIG_MCFUART -- define to use common CF Uart driver 73CONFIG_SYS_UART_PORT -- define UART port number, start with 0, 1 and 2 74CONFIG_BAUDRATE -- define UART baudrate 75 76CONFIG_MCFRTC -- define to use common CF RTC driver 77CONFIG_SYS_MCFRTC_BASE -- provide base address for RTC in immap.h 78CONFIG_SYS_RTC_OSCILLATOR -- define RTC clock frequency 79RTC_DEBUG -- define to show RTC debug message 80CONFIG_CMD_DATE -- enable to use date feature in u-boot 81 82CONFIG_MCFTMR -- define to use DMA timer 83CONFIG_MCFPIT -- define to use PIT timer 84 85CONFIG_FSL_I2C -- define to use FSL common I2C driver 86CONFIG_HARD_I2C -- define for I2C hardware support 87CONFIG_SYS_I2C_SOFT -- define for I2C bit-banged 88CONFIG_SYS_I2C_SPEED -- define for I2C speed 89CONFIG_SYS_I2C_SLAVE -- define for I2C slave address 90CONFIG_SYS_I2C_OFFSET -- define for I2C base address offset 91CONFIG_SYS_IMMR -- define for MBAR offset 92 93CONFIG_SYS_MBAR -- define MBAR offset 94 95CONFIG_MONITOR_IS_IN_RAM -- Not support 96 97CONFIG_SYS_INIT_RAM_ADDR -- defines the base address of the MCF52277 internal SRAM 98 99CONFIG_SYS_CSn_BASE -- defines the Chip Select Base register 100CONFIG_SYS_CSn_MASK -- defines the Chip Select Mask register 101CONFIG_SYS_CSn_CTRL -- defines the Chip Select Control register 102 103CONFIG_SYS_SDRAM_BASE -- defines the DRAM Base 104 105CONFIG_LCD and CONFIG_CMD_USB are not supported in this current u-boot, 106update will be provided at later time 107 1082. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL 109=========================================== 1102.1. System memory map: 111 Flash: 0x00000000-0x3FFFFFFF (1024MB) 112 DDR: 0x40000000-0x7FFFFFFF (1024MB) 113 SRAM: 0x80000000-0x8FFFFFFF (256MB) 114 IP: 0xF0000000-0xFFFFFFFF (256MB) 115 1162.2. For the initial bringup, we adopted a consistent memory scheme between u-boot and 117 linux kernel, you can customize it based on your system requirements: 118 Flash0: 0x00000000-0x00FFFFFF (16MB) 119 120 DDR: 0x40000000-0x4FFFFFFF (64MB) 121 SRAM: 0x80000000-0x80007FFF (32KB) 122 IP: 0xFC000000-0xFC0FFFFF (64KB) 123 1243. COMPILATION 125============== 1263.1 To create U-Boot the gcc-4.1-xx compiler set (ColdFire ELF or 127uClinux version) from codesourcery.com was used. Download it from: 128http://www.codesourcery.com/gnu_toolchains/coldfire/download.html 129 1303.2 Compilation 131 export CROSS_COMPILE=cross-compile-prefix 132 cd u-boot-1.x.x 133 make distclean 134 make M52277EVB_config 135 make 136 1374. SCREEN DUMP 138============== 1394.1 M52277EVB Development board 140 (NOTE: May not show exactly the same) 141 142U-Boot 1.3.1 (Jan 8 2008 - 12:44:08) 143 144CPU: Freescale MCF52277 (Mask:6c Version:0) 145 CPU CLK 160 Mhz BUS CLK 80 Mhz FLB CLK 80 MHZ 146 INP CLK 16 Mhz VCO CLK 480 Mhz 147Board: Freescale 52277 EVB 148I2C: ready 149DRAM: 64 MB 150FLASH: 16 MB 151In: serial 152Out: serial 153Err: serial 154-> print 155baudrate=115200 156hostname=M52277EVB 157inpclk=16000000 158loadaddr=(0x40000000 + 0x10000) 159load=tftp ${loadaddr) ${u-boot} 160upd=run load; run prog 161prog=prot off 0 3ffff;era 0 3ffff;cp.b ${loadaddr} 0 ${filesize};save 162u-boot=u-boot.bin 163stdin=serial 164stdout=serial 165stderr=serial 166mem=65024k 167 168Environment size: 280/32764 bytes 169-> bdinfo 170memstart = 0x40000000 171memsize = 0x04000000 172flashstart = 0x00000000 173flashsize = 0x01000000 174flashoffset = 0x00000000 175sramstart = 0x80000000 176sramsize = 0x00008000 177mbar = 0xFC000000 178busfreq = 80 MHz 179flbfreq = 80 Mhz 180inpfreq = 16 Mhz 181vcofreq = 480 Mhz 182 183baudrate = 115200 bps 184-> 185-> help 186? - alias for 'help' 187base - print or set address offset 188bdinfo - print Board Info structure 189boot - boot default, i.e., run 'bootcmd' 190bootd - boot default, i.e., run 'bootcmd' 191bootelf - Boot from an ELF image in memory 192bootm - boot application image from memory 193bootp - boot image via network using BootP/TFTP protocol 194bootvx - Boot vxWorks from an ELF image 195cmp - memory compare 196coninfo - print console devices and information 197cp - memory copy 198crc32 - checksum calculation 199date - get/set/reset date & time 200dcache - enable or disable data cache 201echo - echo args to console 202erase - erase FLASH memory 203flinfo - print FLASH memory information 204go - start application at address 'addr' 205help - print online help 206i2c - I2C sub-system 207icache - enable or disable instruction cache 208iminfo - print header information for application image 209imls - list all images found in flash 210itest - return true/false on integer compare 211loadb - load binary file over serial line (kermit mode) 212loads - load S-Record file over serial line 213loady - load binary file over serial line (ymodem mode) 214loop - infinite loop on address range 215ls - list files in a directory (default /) 216md - memory display 217mm - memory modify (auto-incrementing) 218mtest - simple RAM test 219mw - memory write (fill) 220nm - memory modify (constant address) 221ping - send ICMP ECHO_REQUEST to network host 222printenv- print environment variables 223protect - enable or disable FLASH write protection 224reset - Perform RESET of the CPU 225run - run commands in an environment variable 226saveenv - save environment variables to persistent storage 227setenv - set environment variables 228sleep - delay execution for some time 229source - run script from memory 230version - print monitor version 231-> 232