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 66 67CONFIG_MCFUART -- define to use common CF Uart driver 68CONFIG_SYS_UART_PORT -- define UART port number, start with 0, 1 and 2 69CONFIG_BAUDRATE -- define UART baudrate 70 71CONFIG_MCFFEC -- define to use common CF FEC driver 72CONFIG_MII -- enable to use MII driver 73CONFIG_SYS_DISCOVER_PHY -- enable PHY discovery 74CONFIG_SYS_RX_ETH_BUFFER -- Set FEC Receive buffer 75CONFIG_SYS_FAULT_ECHO_LINK_DOWN -- 76CONFIG_SYS_FEC0_PINMUX -- Set FEC0 Pin configuration 77CONFIG_SYS_FEC1_PINMUX -- Set FEC1 Pin configuration 78CONFIG_SYS_FEC0_MIIBASE -- Set FEC0 MII base register 79CONFIG_SYS_FEC1_MIIBASE -- Set FEC0 MII base register 80MCFFEC_TOUT_LOOP -- set FEC timeout loop 81CONFIG_HAS_ETH1 -- define to enable second FEC in u-boot 82 83CONFIG_MCFTMR -- define to use DMA timer 84 85CONFIG_SYS_IMMR -- define for MBAR offset 86 87CONFIG_EXTRA_CLOCK -- Enable extra clock such as vco, flexbus, pci, etc 88 89CONFIG_SYS_MBAR -- define MBAR offset 90 91CONFIG_MONITOR_IS_IN_RAM -- Not support 92 93CONFIG_SYS_INIT_RAM_ADDR -- defines the base address of the MCF54455 internal SRAM 94 95CONFIG_SYS_CSn_BASE -- defines the Chip Select Base register 96CONFIG_SYS_CSn_MASK -- defines the Chip Select Mask register 97CONFIG_SYS_CSn_CTRL -- defines the Chip Select Control register 98 99CONFIG_SYS_SDRAM_BASE -- defines the DRAM Base 100 1012. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL 102=========================================== 1032.1. System memory map: 104 MRAM: 0x00000000-0x0003FFFF (256KB) 105 DDR: 0x40000000-0x47FFFFFF (128MB) 106 SRAM: 0x80000000-0x8000FFFF (64KB) 107 IP: 0xE0000000-0xFFFFFFFF (512MB) 108 1093. COMPILATION 110============== 1113.1 To create U-Boot the gcc-4.x compiler set (ColdFire ELF version) 112from codesourcery.com was used. Download it from: 113http://www.codesourcery.com/gnu_toolchains/coldfire/download.html 114 1153.2 Compilation 116 export CROSS_COMPILE=cross-compile-prefix 117 cd u-boot 118 make distclean 119 make M54418TWR_config, or - default to spi serial flash boot, 50Mhz input clock 120 make M54418TWR_nand_mii_config, or - default to nand flash boot, mii mode, 25Mhz input clock 121 make M54418TWR_nand_rmii_config, or - default to nand flash boot, rmii mode, 50Mhz input clock 122 make M54418TWR_nand_rmii_lowfreq_config, or - default to nand flash boot, rmii mode, 50Mhz input clock 123 make M54418TWR_serial_mii_config, or - default to spi serial flash boot, 25Mhz input clock 124 make M54418TWR_serial_rmii_config, or - default to spi serial flash boot, 50Mhz input clock 125 make 126 1274. SCREEN DUMP 128============== 1294.1 M54418TWR Development board 130 Boot from NAND flash (NOTE: May not show exactly the same) 131 132U-Boot 2012.10-00209-g12ae1d8-dirty (Oct 18 2012 - 15:54:54) 133 134CPU: Freescale MCF54418 (Mask:a3 Version:1) 135 CPU CLK 250 MHz BUS CLK 125 MHz FLB CLK 125 MHz 136 INP CLK 50 MHz VCO CLK 500 MHz 137Board: Freescale MCF54418 Tower System 138SPI: ready 139DRAM: 128 MiB 140NAND: 256 MiB 141In: serial 142Out: serial 143Err: serial 144Net: FEC0, FEC1 145-> pri 146baudrate=115200 147bootargs=root=/dev/mtdblock2 rw rootfstype=jffs2 mtdparts=NAND:1M(u-boot)ro,7M(k 148ernel)ro,-(jffs2) console=ttyS0,115200 149bootdelay=2 150eth1addr=00:e0:0c:bc:e5:61 151ethact=FEC0 152ethaddr=00:e0:0c:bc:e5:60 153fileaddr=40010000 154filesize=27354 155gatewayip=192.168.1.1 156hostname=M54418TWR 157inpclk=50000000 158ipaddr=192.168.1.2 159load=tftp ${loadaddr} ${u-boot}; 160loadaddr=0x40010000 161mem=129024k 162netdev=eth0 163netmask=255.255.255.0 164prog=nand device 0;nand erase 0 40000;nb_update ${loadaddr} ${filesize};save 165serverip=192.168.1.1 166stderr=serial 167stdin=serial 168stdout=serial 169u-boot=u-boot.bin 170upd=run load; run prog 171 172Environment size: 653/131068 bytes 173-> bdinfo 174memstart = 0x40000000 175memsize = 0x08000000 176flashstart = 0x00000000 177flashsize = 0x00000000 178flashoffset = 0x00000000 179sramstart = 0x80000000 180sramsize = 0x00010000 181mbar = 0xFC000000 182cpufreq = 250 MHz 183busfreq = 125 MHz 184flbfreq = 125 MHz 185inpfreq = 50 MHz 186vcofreq = 500 MHz 187ethaddr = 00:e0:0c:bc:e5:60 188eth1addr = 00:e0:0c:bc:e5:61 189ip_addr = 192.168.1.2 190baudrate = 115200 bps 191-> help 192? - alias for 'help' 193base - print or set address offset 194bdinfo - print Board Info structure 195boot - boot default, i.e., run 'bootcmd' 196bootd - boot default, i.e., run 'bootcmd' 197bootelf - Boot from an ELF image in memory 198bootm - boot application image from memory 199bootp - boot image via network using BOOTP/TFTP protocol 200bootvx - Boot vxWorks from an ELF image 201cmp - memory compare 202coninfo - print console devices and information 203cp - memory copy 204crc32 - checksum calculation 205dcache - enable or disable data cache 206dhcp - boot image via network using DHCP/TFTP protocol 207echo - echo args to console 208editenv - edit environment variable 209env - environment handling commands 210exit - exit script 211false - do nothing, unsuccessfully 212go - start application at address 'addr' 213help - print command description/usage 214icache - enable or disable instruction cache 215iminfo - print header information for application image 216imxtract- extract a part of a multi-image 217itest - return true/false on integer compare 218loop - infinite loop on address range 219md - memory display 220mdio - MDIO utility commands 221mii - MII utility commands 222mm - memory modify (auto-incrementing address) 223mtest - simple RAM read/write test 224mw - memory write (fill) 225nand - NAND sub-system 226nb_update- Nand boot update program 227nboot - boot from NAND device 228nfs - boot image via network using NFS protocol 229nm - memory modify (constant address) 230ping - send ICMP ECHO_REQUEST to network host 231printenv- print environment variables 232reginfo - print register information 233reset - Perform RESET of the CPU 234run - run commands in an environment variable 235saveenv - save environment variables to persistent storage 236setenv - set environment variables 237sf - SPI flash sub-system 238showvar - print local hushshell variables 239sleep - delay execution for some time 240source - run script from memory 241sspi - SPI utility command 242test - minimal test like /bin/sh 243tftpboot- boot image via network using TFTP protocol 244true - do nothing, successfully 245version - print monitor, compiler and linker version 246