Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 | 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 CFG_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 CFG_MCFRTC_BASE -- provide base address for RTC in immap.h CFG_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 CFG_I2C_SPEED -- define for I2C speed CFG_I2C_SLAVE -- define for I2C slave address CFG_I2C_OFFSET -- define for I2C base address offset CFG_IMMR -- define for MBAR offset CFG_MBAR -- define MBAR offset CONFIG_MONITOR_IS_IN_RAM -- Not support CFG_INIT_RAM_ADDR -- defines the base address of the MCF52277 internal SRAM CFG_CSn_BASE -- defines the Chip Select Base register CFG_CSn_MASK -- defines the Chip Select Mask register CFG_CSn_CTRL -- defines the Chip Select Control register CFG_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 icache - enable or disable instruction cache icrc32 - checksum calculation iloop - infinite loop on address range imd - i2c memory display iminfo - print header information for application image imls - list all images found in flash imm - i2c memory modify (auto-incrementing) imw - memory write (fill) inm - memory modify (constant address) iprobe - probe to discover valid I2C chip addresses 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 -> |