1Freescale MCF54418TWR ColdFire Development Board 2================================================ 3 4TsiChung Liew(Tsi-Chung.Liew@freescale.com) 5Created Mar 22, 2012 6=========================================== 7 8 9Changed files: 10============== 11 12- board/freescale/m54418twr/m54418twr.c Dram setup 13- board/freescale/m54418twr/Makefile Makefile 14- board/freescale/m54418twr/config.mk config make 15- board/freescale/m54418twr/u-boot.lds Linker description 16 17- arch/m68k/cpu/mcf5445x/cpu.c cpu specific code 18- arch/m68k/cpu/mcf5445x/cpu_init.c Flexbus ChipSelect, Mux pins setup, icache and RTC extra regs 19- arch/m68k/cpu/mcf5445x/interrupts.c cpu specific interrupt support 20- arch/m68k/cpu/mcf5445x/speed.c system, pci, flexbus, and cpu clock 21- arch/m68k/cpu/mcf5445x/Makefile Makefile 22- arch/m68k/cpu/mcf5445x/config.mk config make 23- arch/m68k/cpu/mcf5445x/start.S start up assembly code 24 25- doc/README.m54418twr This readme file 26 27- drivers/net/mcffec.c ColdFire common FEC driver 28- drivers/net/mcfmii.c ColdFire common MII driver 29- drivers/serial/mcfuart.c ColdFire common UART driver 30 31- arch/m68k/include/asm/bitops.h Bit operation function export 32- arch/m68k/include/asm/byteorder.h Byte order functions 33- arch/m68k/include/asm/fec.h FEC structure and definition 34- arch/m68k/include/asm/global_data.h Global data structure 35- arch/m68k/include/asm/immap.h ColdFire specific header file and driver macros 36- arch/m68k/include/asm/immap_5441x.h mcf5441x specific header file 37- arch/m68k/include/asm/io.h io functions 38- arch/m68k/include/asm/m5441x.h mcf5441x specific header file 39- arch/m68k/include/asm/posix_types.h Posix 40- arch/m68k/include/asm/processor.h header file 41- arch/m68k/include/asm/ptrace.h Exception structure 42- arch/m68k/include/asm/rtc.h Realtime clock header file 43- arch/m68k/include/asm/string.h String function export 44- arch/m68k/include/asm/timer.h Timer structure and definition 45- arch/m68k/include/asm/types.h Data types definition 46- arch/m68k/include/asm/uart.h Uart structure and definition 47- arch/m68k/include/asm/u-boot.h u-boot structure 48 49- include/configs/M54418TWR.h Board specific configuration file 50 51- arch/m68k/lib/board.c board init function 52- arch/m68k/lib/cache.c 53- arch/m68k/lib/interrupts.c Coldfire common interrupt functions 54- arch/m68k/lib/time.c Timer functions (Dma timer and PIT) 55- arch/m68k/lib/traps.c Exception init code 56 571 MCF5441x specific Options/Settings 58==================================== 591.1 pre-loader is no longer suppoer in thie coldfire family 60 611.2 Configuration settings for M54418TWR Development Board 62CONFIG_MCF5441x -- define for all MCF5441x CPUs 63CONFIG_M54418 -- define for all Freescale MCF54418 CPUs 64CONFIG_M54418TWR -- define for M54418TWR board 65 66CONFIG_MCFUART -- define to use common CF Uart driver 67CONFIG_SYS_UART_PORT -- define UART port number, start with 0, 1 and 2 68CONFIG_BAUDRATE -- define UART baudrate 69 70CONFIG_MCFFEC -- define to use common CF FEC driver 71CONFIG_MII -- enable to use MII driver 72CONFIG_SYS_DISCOVER_PHY -- enable PHY discovery 73CONFIG_SYS_RX_ETH_BUFFER -- Set FEC Receive buffer 74CONFIG_SYS_FAULT_ECHO_LINK_DOWN -- 75CONFIG_SYS_FEC0_PINMUX -- Set FEC0 Pin configuration 76CONFIG_SYS_FEC1_PINMUX -- Set FEC1 Pin configuration 77CONFIG_SYS_FEC0_MIIBASE -- Set FEC0 MII base register 78CONFIG_SYS_FEC1_MIIBASE -- Set FEC0 MII base register 79MCFFEC_TOUT_LOOP -- set FEC timeout loop 80CONFIG_HAS_ETH1 -- define to enable second FEC in u-boot 81 82CONFIG_MCFTMR -- define to use DMA timer 83 84CONFIG_SYS_IMMR -- define for MBAR offset 85 86CONFIG_EXTRA_CLOCK -- Enable extra clock such as vco, flexbus, pci, etc 87 88CONFIG_SYS_MBAR -- define MBAR offset 89 90CONFIG_MONITOR_IS_IN_RAM -- Not support 91 92CONFIG_SYS_INIT_RAM_ADDR -- defines the base address of the MCF54455 internal SRAM 93 94CONFIG_SYS_CSn_BASE -- defines the Chip Select Base register 95CONFIG_SYS_CSn_MASK -- defines the Chip Select Mask register 96CONFIG_SYS_CSn_CTRL -- defines the Chip Select Control register 97 98CONFIG_SYS_SDRAM_BASE -- defines the DRAM Base 99 1002. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL 101=========================================== 1022.1. System memory map: 103 MRAM: 0x00000000-0x0003FFFF (256KB) 104 DDR: 0x40000000-0x47FFFFFF (128MB) 105 SRAM: 0x80000000-0x8000FFFF (64KB) 106 IP: 0xE0000000-0xFFFFFFFF (512MB) 107 1083. COMPILATION 109============== 1103.1 To create U-Boot the gcc-4.x compiler set (ColdFire ELF version) 111from codesourcery.com was used. Download it from: 112http://www.codesourcery.com/gnu_toolchains/coldfire/download.html 113 1143.2 Compilation 115 export CROSS_COMPILE=cross-compile-prefix 116 cd u-boot 117 make distclean 118 make M54418TWR_config, or - default to spi serial flash boot, 50Mhz input clock 119 make M54418TWR_nand_mii_config, or - default to nand flash boot, mii mode, 25Mhz input clock 120 make M54418TWR_nand_rmii_config, or - default to nand flash boot, rmii mode, 50Mhz input clock 121 make M54418TWR_nand_rmii_lowfreq_config, or - default to nand flash boot, rmii mode, 50Mhz input clock 122 make M54418TWR_serial_mii_config, or - default to spi serial flash boot, 25Mhz input clock 123 make M54418TWR_serial_rmii_config, or - default to spi serial flash boot, 50Mhz input clock 124 make 125 1264. SCREEN DUMP 127============== 1284.1 M54418TWR Development board 129 Boot from NAND flash (NOTE: May not show exactly the same) 130 131U-Boot 2012.10-00209-g12ae1d8-dirty (Oct 18 2012 - 15:54:54) 132 133CPU: Freescale MCF54418 (Mask:a3 Version:1) 134 CPU CLK 250 MHz BUS CLK 125 MHz FLB CLK 125 MHz 135 INP CLK 50 MHz VCO CLK 500 MHz 136Board: Freescale MCF54418 Tower System 137SPI: ready 138DRAM: 128 MiB 139NAND: 256 MiB 140In: serial 141Out: serial 142Err: serial 143Net: FEC0, FEC1 144-> pri 145baudrate=115200 146bootargs=root=/dev/mtdblock2 rw rootfstype=jffs2 mtdparts=NAND:1M(u-boot)ro,7M(k 147ernel)ro,-(jffs2) console=ttyS0,115200 148bootdelay=2 149eth1addr=00:e0:0c:bc:e5:61 150ethact=FEC0 151ethaddr=00:e0:0c:bc:e5:60 152fileaddr=40010000 153filesize=27354 154gatewayip=192.168.1.1 155hostname=M54418TWR 156inpclk=50000000 157ipaddr=192.168.1.2 158load=tftp ${loadaddr} ${u-boot}; 159loadaddr=0x40010000 160mem=129024k 161netdev=eth0 162netmask=255.255.255.0 163prog=nand device 0;nand erase 0 40000;nb_update ${loadaddr} ${filesize};save 164serverip=192.168.1.1 165stderr=serial 166stdin=serial 167stdout=serial 168u-boot=u-boot.bin 169upd=run load; run prog 170 171Environment size: 653/131068 bytes 172-> bdinfo 173memstart = 0x40000000 174memsize = 0x08000000 175flashstart = 0x00000000 176flashsize = 0x00000000 177flashoffset = 0x00000000 178sramstart = 0x80000000 179sramsize = 0x00010000 180mbar = 0xFC000000 181cpufreq = 250 MHz 182busfreq = 125 MHz 183flbfreq = 125 MHz 184inpfreq = 50 MHz 185vcofreq = 500 MHz 186ethaddr = 00:e0:0c:bc:e5:60 187eth1addr = 00:e0:0c:bc:e5:61 188ip_addr = 192.168.1.2 189baudrate = 115200 bps 190-> help 191? - alias for 'help' 192base - print or set address offset 193bdinfo - print Board Info structure 194boot - boot default, i.e., run 'bootcmd' 195bootd - boot default, i.e., run 'bootcmd' 196bootelf - Boot from an ELF image in memory 197bootm - boot application image from memory 198bootp - boot image via network using BOOTP/TFTP protocol 199bootvx - Boot vxWorks from an ELF image 200cmp - memory compare 201coninfo - print console devices and information 202cp - memory copy 203crc32 - checksum calculation 204dcache - enable or disable data cache 205dhcp - boot image via network using DHCP/TFTP protocol 206echo - echo args to console 207editenv - edit environment variable 208env - environment handling commands 209exit - exit script 210false - do nothing, unsuccessfully 211go - start application at address 'addr' 212help - print command description/usage 213icache - enable or disable instruction cache 214iminfo - print header information for application image 215imxtract- extract a part of a multi-image 216itest - return true/false on integer compare 217loop - infinite loop on address range 218md - memory display 219mdio - MDIO utility commands 220mii - MII utility commands 221mm - memory modify (auto-incrementing address) 222mtest - simple RAM read/write test 223mw - memory write (fill) 224nand - NAND sub-system 225nb_update- Nand boot update program 226nboot - boot from NAND device 227nfs - boot image via network using NFS protocol 228nm - memory modify (constant address) 229ping - send ICMP ECHO_REQUEST to network host 230printenv- print environment variables 231reginfo - print register information 232reset - Perform RESET of the CPU 233run - run commands in an environment variable 234saveenv - save environment variables to persistent storage 235setenv - set environment variables 236sf - SPI flash sub-system 237showvar - print local hushshell variables 238sleep - delay execution for some time 239source - run script from memory 240sspi - SPI utility command 241test - minimal test like /bin/sh 242tftpboot- boot image via network using TFTP protocol 243true - do nothing, successfully 244version - print monitor, compiler and linker version 245