1 Freescale MCF52277EVB ColdFire Development Board 2 ================================================ 3 4 TsiChung Liew(Tsi-Chung.Liew (a] freescale.com) 5 Created Jan 8, 2008 6 =========================================== 7 8 9 Changed 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 63 1 MCF52277 specific Options/Settings 64 ==================================== 65 1.1 pre-loader is no longer suppoer in this coldfire family 66 67 1.2 Configuration settings for M52277EVB Development Board 68 CONFIG_MCF5227x -- define for all MCF5227x CPUs 69 CONFIG_M52277 -- define for all Freescale MCF52277 CPUs 70 71 CONFIG_MCFUART -- define to use common CF Uart driver 72 CONFIG_SYS_UART_PORT -- define UART port number, start with 0, 1 and 2 73 CONFIG_BAUDRATE -- define UART baudrate 74 75 CONFIG_MCFRTC -- define to use common CF RTC driver 76 CONFIG_SYS_MCFRTC_BASE -- provide base address for RTC in immap.h 77 CONFIG_SYS_RTC_OSCILLATOR -- define RTC clock frequency 78 RTC_DEBUG -- define to show RTC debug message 79 CONFIG_CMD_DATE -- enable to use date feature in U-Boot 80 81 CONFIG_MCFTMR -- define to use DMA timer 82 CONFIG_MCFPIT -- define to use PIT timer 83 84 CONFIG_SYS_I2C_FSL -- define to use FSL common I2C driver 85 CONFIG_SYS_I2C_SOFT -- define for I2C bit-banged 86 CONFIG_SYS_I2C_SPEED -- define for I2C speed 87 CONFIG_SYS_I2C_SLAVE -- define for I2C slave address 88 CONFIG_SYS_I2C_OFFSET -- define for I2C base address offset 89 CONFIG_SYS_IMMR -- define for MBAR offset 90 91 CONFIG_SYS_MBAR -- define MBAR offset 92 93 CONFIG_MONITOR_IS_IN_RAM -- Not support 94 95 CONFIG_SYS_INIT_RAM_ADDR -- defines the base address of the MCF52277 internal SRAM 96 97 CONFIG_SYS_CSn_BASE -- defines the Chip Select Base register 98 CONFIG_SYS_CSn_MASK -- defines the Chip Select Mask register 99 CONFIG_SYS_CSn_CTRL -- defines the Chip Select Control register 100 101 CONFIG_SYS_SDRAM_BASE -- defines the DRAM Base 102 103 CONFIG_LCD and CONFIG_CMD_USB are not supported in this current U-Boot, 104 update will be provided at later time 105 106 2. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL 107 =========================================== 108 2.1. System memory map: 109 Flash: 0x00000000-0x3FFFFFFF (1024MB) 110 DDR: 0x40000000-0x7FFFFFFF (1024MB) 111 SRAM: 0x80000000-0x8FFFFFFF (256MB) 112 IP: 0xF0000000-0xFFFFFFFF (256MB) 113 114 2.2. For the initial bringup, we adopted a consistent memory scheme between U-Boot and 115 linux kernel, you can customize it based on your system requirements: 116 Flash0: 0x00000000-0x00FFFFFF (16MB) 117 118 DDR: 0x40000000-0x4FFFFFFF (64MB) 119 SRAM: 0x80000000-0x80007FFF (32KB) 120 IP: 0xFC000000-0xFC0FFFFF (64KB) 121 122 3. COMPILATION 123 ============== 124 3.1 To create U-Boot the gcc-4.1-xx compiler set (ColdFire ELF or 125 uClinux version) from codesourcery.com was used. Download it from: 126 http://www.codesourcery.com/gnu_toolchains/coldfire/download.html 127 128 3.2 Compilation 129 export CROSS_COMPILE=cross-compile-prefix 130 cd u-boot-1.x.x 131 make distclean 132 make M52277EVB_config 133 make 134 135 4. SCREEN DUMP 136 ============== 137 4.1 M52277EVB Development board 138 (NOTE: May not show exactly the same) 139 140 U-Boot 1.3.1 (Jan 8 2008 - 12:44:08) 141 142 CPU: Freescale MCF52277 (Mask:6c Version:0) 143 CPU CLK 160 Mhz BUS CLK 80 Mhz FLB CLK 80 MHZ 144 INP CLK 16 Mhz VCO CLK 480 Mhz 145 Board: Freescale 52277 EVB 146 I2C: ready 147 DRAM: 64 MB 148 FLASH: 16 MB 149 In: serial 150 Out: serial 151 Err: serial 152 -> print 153 baudrate=115200 154 hostname=M52277EVB 155 inpclk=16000000 156 loadaddr=(0x40000000 + 0x10000) 157 load=tftp ${loadaddr) ${u-boot} 158 upd=run load; run prog 159 prog=prot off 0 3ffff;era 0 3ffff;cp.b ${loadaddr} 0 ${filesize};save 160 u-boot=u-boot.bin 161 stdin=serial 162 stdout=serial 163 stderr=serial 164 mem=65024k 165 166 Environment size: 280/32764 bytes 167 -> bdinfo 168 memstart = 0x40000000 169 memsize = 0x04000000 170 flashstart = 0x00000000 171 flashsize = 0x01000000 172 flashoffset = 0x00000000 173 sramstart = 0x80000000 174 sramsize = 0x00008000 175 mbar = 0xFC000000 176 busfreq = 80 MHz 177 flbfreq = 80 Mhz 178 inpfreq = 16 Mhz 179 vcofreq = 480 Mhz 180 181 baudrate = 115200 bps 182 -> 183 -> help 184 ? - alias for 'help' 185 base - print or set address offset 186 bdinfo - print Board Info structure 187 boot - boot default, i.e., run 'bootcmd' 188 bootd - boot default, i.e., run 'bootcmd' 189 bootelf - Boot from an ELF image in memory 190 bootm - boot application image from memory 191 bootp - boot image via network using BootP/TFTP protocol 192 bootvx - Boot vxWorks from an ELF image 193 cmp - memory compare 194 coninfo - print console devices and information 195 cp - memory copy 196 crc32 - checksum calculation 197 date - get/set/reset date & time 198 dcache - enable or disable data cache 199 echo - echo args to console 200 erase - erase FLASH memory 201 flinfo - print FLASH memory information 202 go - start application at address 'addr' 203 help - print online help 204 i2c - I2C sub-system 205 icache - enable or disable instruction cache 206 iminfo - print header information for application image 207 imls - list all images found in flash 208 itest - return true/false on integer compare 209 loadb - load binary file over serial line (kermit mode) 210 loads - load S-Record file over serial line 211 loady - load binary file over serial line (ymodem mode) 212 loop - infinite loop on address range 213 ls - list files in a directory (default /) 214 md - memory display 215 mm - memory modify (auto-incrementing) 216 mtest - simple RAM test 217 mw - memory write (fill) 218 nm - memory modify (constant address) 219 ping - send ICMP ECHO_REQUEST to network host 220 printenv- print environment variables 221 protect - enable or disable FLASH write protection 222 reset - Perform RESET of the CPU 223 run - run commands in an environment variable 224 saveenv - save environment variables to persistent storage 225 setenv - set environment variables 226 sleep - delay execution for some time 227 source - run script from memory 228 version - print monitor version 229 -> 230