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 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 | Freescale MCF5373EVB ColdFire Development Board ================================================ TsiChung Liew(Tsi-Chung.Liew@freescale.com) Created 11/08/07 =========================================== Changed files: ============== - board/freescale/m5373evb/m5373evb.c Dram setup - board/freescale/m5373evb/mii.c Mii access - board/freescale/m5373evb/Makefile Makefile - board/freescale/m5373evb/config.mk config make - board/freescale/m5373evb/u-boot.lds Linker description - cpu/mcf532x/cpu.c cpu specific code - cpu/mcf532x/cpu_init.c FBCS, Mux pins, icache and RTC extra regs - cpu/mcf532x/interrupts.c cpu specific interrupt support - cpu/mcf532x/speed.c system, pci, flexbus, and cpu clock - cpu/mcf532x/Makefile Makefile - cpu/mcf532x/config.mk config make - cpu/mcf532x/start.S start up assembly code - doc/README.m5373evb This readme file - drivers/net/mcffec.c ColdFire common FEC driver - 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/fec.h FEC 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_532x.h mcf532x specific header file - include/asm-m68k/io.h io functions - include/asm-m68k/m532x.h mcf532x 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/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/M5373EVB.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 MCF5373 specific Options/Settings ==================================== 1.1 pre-loader is no longer suppoer in thie coldfire family 1.2 Configuration settings for M5373EVB Development Board CONFIG_MCF532x -- define for all MCF532x CPUs CONFIG_M5373 -- define for all Freescale MCF5373 CPUs CONFIG_M5373EVB -- define for M5373EVB 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_MCFFEC -- define to use common CF FEC driver CONFIG_NET_MULTI -- define to use multi FEC in u-boot CONFIG_MII -- enable to use MII driver CONFIG_CF_DOMII -- enable to use MII feature in cmd_mii.c CFG_DISCOVER_PHY -- enable PHY discovery CFG_RX_ETH_BUFFER -- Set FEC Receive buffer CFG_FAULT_ECHO_LINK_DOWN-- CFG_FEC0_PINMUX -- Set FEC0 Pin configuration CFG_FEC0_MIIBASE -- Set FEC0 MII base register MCFFEC_TOUT_LOOP -- set FEC timeout loop 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 MCF5373 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 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 (256MB) 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 M5373EVB_config make 4. SCREEN DUMP ============== 4.1 M5373EVB Development board (NOTE: May not show exactly the same) U-Boot 1.3.0 (Nov 8 2007 - 12:44:08) CPU: Freescale MCF5373 (Mask:65 Version:1) CPU CLK 240 Mhz BUS CLK 80 Mhz Board: Freescale FireEngine 5373 EVB I2C: ready DRAM: 32 MB FLASH: 2 MB In: serial Out: serial Err: serial NAND: 16 MiB Net: FEC0 -> print bootdelay=1 baudrate=115200 ethaddr=00:e0:0c:bc:e5:60 hostname=M5373EVB netdev=eth0 loadaddr=40010000 load=tftp ${loadaddr) ${u-boot} upd=run load; run prog prog=prot off 0 2ffff;era 0 2ffff;cp.b ${loadaddr} 0 ${filesize};save ethact=FEC0 u-boot=u-boot.bin gatewayip=192.168.1.1 netmask=255.255.255.0 ipaddr=192.168.1.3 serverip=192.168.1.2 stdin=serial stdout=serial stderr=serial mem=261632k Environment size: 401/8188 bytes -> bdinfo memstart = 0x40000000 memsize = 0x02000000 flashstart = 0x00000000 flashsize = 0x00200000 flashoffset = 0x00000000 sramstart = 0x80000000 sramsize = 0x00008000 mbar = 0xFC000000 busfreq = 80 MHz ethaddr = 00:E0:0C:BC:E5:60 ip_addr = 192.168.1.3 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 mii - MII utility commands mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nand - NAND sub-system nboot - boot from NAND device nfs - boot image via network using NFS protocol nm - memory modify (constant address) ping - send ICMP ECHO_REQUEST to network host printenv- print environment variables protect - enable or disable FLASH write protection rarpboot- boot image via network using RARP/TFTP protocol 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 tftpboot- boot image via network using TFTP protocol version - print monitor version -> tftp 0x40800000 uImage Using FEC0 device TFTP from server 192.168.1.3; our IP address is 192.168.1.3 Filename 'uImage'. Load address: 0x40800000 Loading: ################################################################# ################################################################# ########## done Bytes transferred = 2053270 (1f5496 hex) -> bootm 0x40800000 ## Booting image at 40800000 ... Image Name: Linux Kernel Image Created: 2007-11-07 20:33:08 UTC Image Type: M68K Linux Kernel Image (gzip compressed) Data Size: 2053206 Bytes = 2 MB Load Address: 40020000 Entry Point: 40020000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK Linux version 2.6.22-uc1 (mattw@loa) (gcc version 4.2.1 (Sourcery G++ Lite 4.2-7 uClinux/COLDFIRE(m537x) COLDFIRE port done by Greg Ungerer, gerg@snapgear.com Flat model support (C) 1998,1999 Kenneth Albanowski, D. Jeff Dionne Built 1 zonelists. Total pages: 8128 Kernel command line: rootfstype=romfs PID hash table entries: 128 (order: 7, 512 bytes) Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) Memory available: 28092k/32768k RAM, (1788k kernel code, 244k data) Mount-cache hash table entries: 512 NET: Registered protocol family 16 USB-MCF537x: (HOST module) EHCI device is registered USB-MCF537x: (OTG module) EHCI device is registered USB-MCF537x: (OTG module) UDC device is registered usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 1024 (order: 1, 8192 bytes) TCP bind hash table entries: 1024 (order: 0, 4096 bytes) TCP: Hash tables configured (established 1024 bind 1024) TCP reno registered JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc. io scheduler noop registered io scheduler cfq registered (default) ColdFire internal UART serial driver version 1.00 ttyS0 at 0xfc060000 (irq = 90) is a builtin ColdFire UART ttyS1 at 0xfc064000 (irq = 91) is a builtin ColdFire UART ttyS2 at 0xfc068000 (irq = 92) is a builtin ColdFire UART RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize loop: module loaded nbd: registered device at major 43 usbcore: registered new interface driver ub FEC ENET Version 0.2 fec: PHY @ 0x1, ID 0x20005c90 -- DP83848 eth0: ethernet 00:e0:0c:bc:e5:60 uclinux[mtd]: RAM probe address=0x4021c22c size=0x22b000 Creating 1 MTD partitions on "RAM": 0x00000000-0x0022b000 : "ROMfs" uclinux[mtd]: set ROMfs to be root filesystem NAND device: Manufacturer ID: 0x20, Chip ID: 0x73 (ST Micro NAND 16MiB 3,3V 8-b) Scanning device for bad blocks Creating 1 MTD partitions on "NAND 16MiB 3,3V 8-bit": 0x00000000-0x01000000 : "M53xx flash partition 1" QSPI: spi->max_speed_hz 300000 QSPI: Baud set to 255 SPI: Coldfire master initialized M537x - Disable UART1 when using Audio udc: Freescale MCF53xx UDC driver version 27 October 2006 init udc: MCF53xx USB Device is found. ID=0x5 Rev=0x41 i2c /dev entries driver usbcore: registered new interface driver usbhid drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver TCP cubic registered NET: Registered protocol family 1 NET: Registered protocol family 17 VFS: Mounted root (romfs filesystem) readonly. Freeing unused kernel memory: 64k freed (0x401f5000 - 0x40204000) init started: BusyBox v1.00 (2007.11.07-19:57+0000) multi-call binary?Setting e Mounting filesystems mount: Mounting devpts on /dev/pts failed: No such device mount: Mounting usbfs on /proc/bus/usb failed: No such file or directory Starting syslogd and klogd Setting up networking on loopback device: Setting up networking on eth0: info, udhcpc (v0.9.9-pre) started eth0: config: auto-negotiation on, 100FDX, 100HDX, 10FDX, 10HDX. debug, Sending discover... debug, Sending discover... debug, Sending select for 172.27.0.130... info, Lease of 172.27.0.130 obtained, lease time 43200 deleting routers route: SIOC[ADD|DEL]RT: No such process adding dns 172.27.0.1 Starting the boa webserver: Setting time from ntp server: ntp.cs.strath.ac.uk ntp.cs.strath.ac.uk: Unknown host BusyBox v1.00 (2007.11.07-19:57+0000) Built-in shell (msh) Enter 'help' for a list of built-in commands. # |