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