TsiChungLiew | 99b037a | 2008-01-14 17:43:33 -0600 | [diff] [blame] | 1 | Freescale MCF52277EVB ColdFire Development Board |
| 2 | ================================================ |
| 3 | |
| 4 | TsiChung Liew(Tsi-Chung.Liew@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 | - cpu/mcf5227x/cpu.c cpu specific code |
| 18 | - cpu/mcf5227x/cpu_init.c FBCS, Mux pins, icache and RTC extra regs |
| 19 | - cpu/mcf5227x/interrupts.c cpu specific interrupt support |
| 20 | - cpu/mcf5227x/speed.c system, flexbus, and cpu clock |
| 21 | - cpu/mcf5227x/Makefile Makefile |
| 22 | - cpu/mcf5227x/config.mk config make |
| 23 | - 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 | - lib_m68k/board.c board init function |
| 57 | - lib_m68k/cache.c |
| 58 | - lib_m68k/interrupts Coldfire common interrupt functions |
| 59 | - lib_m68k/m68k_linux.c |
| 60 | - lib_m68k/time.c Timer functions (Dma timer and PIT) |
| 61 | - lib_m68k/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 | CONFIG_M52277EVB -- define for M52277EVB board |
| 71 | |
| 72 | CONFIG_MCFUART -- define to use common CF Uart driver |
| 73 | CFG_UART_PORT -- define UART port number, start with 0, 1 and 2 |
| 74 | CONFIG_BAUDRATE -- define UART baudrate |
| 75 | |
| 76 | CONFIG_MCFRTC -- define to use common CF RTC driver |
| 77 | CFG_MCFRTC_BASE -- provide base address for RTC in immap.h |
| 78 | CFG_RTC_OSCILLATOR -- define RTC clock frequency |
| 79 | RTC_DEBUG -- define to show RTC debug message |
| 80 | CONFIG_CMD_DATE -- enable to use date feature in u-boot |
| 81 | |
| 82 | CONFIG_MCFTMR -- define to use DMA timer |
| 83 | CONFIG_MCFPIT -- define to use PIT timer |
| 84 | |
| 85 | CONFIG_FSL_I2C -- define to use FSL common I2C driver |
| 86 | CONFIG_HARD_I2C -- define for I2C hardware support |
| 87 | CONFIG_SOFT_I2C -- define for I2C bit-banged |
| 88 | CFG_I2C_SPEED -- define for I2C speed |
| 89 | CFG_I2C_SLAVE -- define for I2C slave address |
| 90 | CFG_I2C_OFFSET -- define for I2C base address offset |
| 91 | CFG_IMMR -- define for MBAR offset |
| 92 | |
| 93 | CFG_MBAR -- define MBAR offset |
| 94 | |
| 95 | CONFIG_MONITOR_IS_IN_RAM -- Not support |
| 96 | |
| 97 | CFG_INIT_RAM_ADDR -- defines the base address of the MCF52277 internal SRAM |
| 98 | |
| 99 | CFG_CSn_BASE -- defines the Chip Select Base register |
| 100 | CFG_CSn_MASK -- defines the Chip Select Mask register |
| 101 | CFG_CSn_CTRL -- defines the Chip Select Control register |
| 102 | |
| 103 | CFG_SDRAM_BASE -- defines the DRAM Base |
| 104 | |
| 105 | CONFIG_LCD and CONFIG_CMD_USB are not supported in this current u-boot, |
| 106 | update will be provided at later time |
| 107 | |
| 108 | 2. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL |
| 109 | =========================================== |
| 110 | 2.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 | |
| 116 | 2.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 | |
| 124 | 3. COMPILATION |
| 125 | ============== |
| 126 | 3.1 To create U-Boot the gcc-4.1-xx compiler set (ColdFire ELF or |
| 127 | uClinux version) from codesourcery.com was used. Download it from: |
| 128 | http://www.codesourcery.com/gnu_toolchains/coldfire/download.html |
| 129 | |
| 130 | 3.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 | |
| 137 | 4. SCREEN DUMP |
| 138 | ============== |
| 139 | 4.1 M52277EVB Development board |
| 140 | (NOTE: May not show exactly the same) |
| 141 | |
| 142 | U-Boot 1.3.1 (Jan 8 2008 - 12:44:08) |
| 143 | |
| 144 | CPU: 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 |
| 147 | Board: Freescale 52277 EVB |
| 148 | I2C: ready |
| 149 | DRAM: 64 MB |
| 150 | FLASH: 16 MB |
| 151 | In: serial |
| 152 | Out: serial |
| 153 | Err: serial |
| 154 | -> print |
| 155 | baudrate=115200 |
| 156 | hostname=M52277EVB |
| 157 | inpclk=16000000 |
| 158 | loadaddr=(0x40000000 + 0x10000) |
| 159 | load=tftp ${loadaddr) ${u-boot} |
| 160 | upd=run load; run prog |
| 161 | prog=prot off 0 3ffff;era 0 3ffff;cp.b ${loadaddr} 0 ${filesize};save |
| 162 | u-boot=u-boot.bin |
| 163 | stdin=serial |
| 164 | stdout=serial |
| 165 | stderr=serial |
| 166 | mem=65024k |
| 167 | |
| 168 | Environment size: 280/32764 bytes |
| 169 | -> bdinfo |
| 170 | memstart = 0x40000000 |
| 171 | memsize = 0x04000000 |
| 172 | flashstart = 0x00000000 |
| 173 | flashsize = 0x01000000 |
| 174 | flashoffset = 0x00000000 |
| 175 | sramstart = 0x80000000 |
| 176 | sramsize = 0x00008000 |
| 177 | mbar = 0xFC000000 |
| 178 | busfreq = 80 MHz |
| 179 | flbfreq = 80 Mhz |
| 180 | inpfreq = 16 Mhz |
| 181 | vcofreq = 480 Mhz |
| 182 | |
| 183 | baudrate = 115200 bps |
| 184 | -> |
| 185 | -> help |
| 186 | ? - alias for 'help' |
| 187 | autoscr - run script from memory |
| 188 | base - print or set address offset |
| 189 | bdinfo - print Board Info structure |
| 190 | boot - boot default, i.e., run 'bootcmd' |
| 191 | bootd - boot default, i.e., run 'bootcmd' |
| 192 | bootelf - Boot from an ELF image in memory |
| 193 | bootm - boot application image from memory |
| 194 | bootp - boot image via network using BootP/TFTP protocol |
| 195 | bootvx - Boot vxWorks from an ELF image |
| 196 | cmp - memory compare |
| 197 | coninfo - print console devices and information |
| 198 | cp - memory copy |
| 199 | crc32 - checksum calculation |
| 200 | date - get/set/reset date & time |
| 201 | dcache - enable or disable data cache |
| 202 | echo - echo args to console |
| 203 | erase - erase FLASH memory |
| 204 | flinfo - print FLASH memory information |
| 205 | go - start application at address 'addr' |
| 206 | help - print online help |
| 207 | icache - enable or disable instruction cache |
| 208 | icrc32 - checksum calculation |
| 209 | iloop - infinite loop on address range |
| 210 | imd - i2c memory display |
| 211 | iminfo - print header information for application image |
| 212 | imls - list all images found in flash |
| 213 | imm - i2c memory modify (auto-incrementing) |
| 214 | imw - memory write (fill) |
| 215 | inm - memory modify (constant address) |
| 216 | iprobe - probe to discover valid I2C chip addresses |
| 217 | itest - return true/false on integer compare |
| 218 | loadb - load binary file over serial line (kermit mode) |
| 219 | loads - load S-Record file over serial line |
| 220 | loady - load binary file over serial line (ymodem mode) |
| 221 | loop - infinite loop on address range |
| 222 | ls - list files in a directory (default /) |
| 223 | md - memory display |
| 224 | mm - memory modify (auto-incrementing) |
| 225 | mtest - simple RAM test |
| 226 | mw - memory write (fill) |
| 227 | nm - memory modify (constant address) |
| 228 | ping - send ICMP ECHO_REQUEST to network host |
| 229 | printenv- print environment variables |
| 230 | protect - enable or disable FLASH write protection |
| 231 | reset - Perform RESET of the CPU |
| 232 | run - run commands in an environment variable |
| 233 | saveenv - save environment variables to persistent storage |
| 234 | setenv - set environment variables |
| 235 | sleep - delay execution for some time |
| 236 | version - print monitor version |
| 237 | -> |