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