1186fc4dbSAlison WangFreescale MCF54418TWR ColdFire Development Board 2186fc4dbSAlison Wang================================================ 3186fc4dbSAlison Wang 4186fc4dbSAlison WangTsiChung Liew(Tsi-Chung.Liew@freescale.com) 5186fc4dbSAlison WangCreated Mar 22, 2012 6186fc4dbSAlison Wang=========================================== 7186fc4dbSAlison Wang 8186fc4dbSAlison Wang 9186fc4dbSAlison WangChanged files: 10186fc4dbSAlison Wang============== 11186fc4dbSAlison Wang 12186fc4dbSAlison Wang- board/freescale/m54418twr/m54418twr.c Dram setup 13186fc4dbSAlison Wang- board/freescale/m54418twr/Makefile Makefile 14186fc4dbSAlison Wang- board/freescale/m54418twr/config.mk config make 15186fc4dbSAlison Wang- board/freescale/m54418twr/u-boot.lds Linker description 16*6ba2da90SAngelo Dureghello- board/freescale/m54418twr/sbf_dram_init.S 17*6ba2da90SAngelo Dureghello DDR/SDRAM initialization 18186fc4dbSAlison Wang 19186fc4dbSAlison Wang- arch/m68k/cpu/mcf5445x/cpu.c cpu specific code 20186fc4dbSAlison Wang- arch/m68k/cpu/mcf5445x/cpu_init.c Flexbus ChipSelect, Mux pins setup, icache and RTC extra regs 21186fc4dbSAlison Wang- arch/m68k/cpu/mcf5445x/interrupts.c cpu specific interrupt support 22186fc4dbSAlison Wang- arch/m68k/cpu/mcf5445x/speed.c system, pci, flexbus, and cpu clock 23186fc4dbSAlison Wang- arch/m68k/cpu/mcf5445x/Makefile Makefile 24186fc4dbSAlison Wang- arch/m68k/cpu/mcf5445x/config.mk config make 25186fc4dbSAlison Wang- arch/m68k/cpu/mcf5445x/start.S start up assembly code 26186fc4dbSAlison Wang 27186fc4dbSAlison Wang- doc/README.m54418twr This readme file 28186fc4dbSAlison Wang 29186fc4dbSAlison Wang- drivers/net/mcffec.c ColdFire common FEC driver 30186fc4dbSAlison Wang- drivers/net/mcfmii.c ColdFire common MII driver 31186fc4dbSAlison Wang- drivers/serial/mcfuart.c ColdFire common UART driver 32186fc4dbSAlison Wang 33186fc4dbSAlison Wang- arch/m68k/include/asm/bitops.h Bit operation function export 34186fc4dbSAlison Wang- arch/m68k/include/asm/byteorder.h Byte order functions 35186fc4dbSAlison Wang- arch/m68k/include/asm/fec.h FEC structure and definition 36186fc4dbSAlison Wang- arch/m68k/include/asm/global_data.h Global data structure 37186fc4dbSAlison Wang- arch/m68k/include/asm/immap.h ColdFire specific header file and driver macros 38186fc4dbSAlison Wang- arch/m68k/include/asm/immap_5441x.h mcf5441x specific header file 39186fc4dbSAlison Wang- arch/m68k/include/asm/io.h io functions 40186fc4dbSAlison Wang- arch/m68k/include/asm/m5441x.h mcf5441x specific header file 41186fc4dbSAlison Wang- arch/m68k/include/asm/posix_types.h Posix 42186fc4dbSAlison Wang- arch/m68k/include/asm/processor.h header file 43186fc4dbSAlison Wang- arch/m68k/include/asm/ptrace.h Exception structure 44186fc4dbSAlison Wang- arch/m68k/include/asm/rtc.h Realtime clock header file 45186fc4dbSAlison Wang- arch/m68k/include/asm/string.h String function export 46186fc4dbSAlison Wang- arch/m68k/include/asm/timer.h Timer structure and definition 47186fc4dbSAlison Wang- arch/m68k/include/asm/types.h Data types definition 48186fc4dbSAlison Wang- arch/m68k/include/asm/uart.h Uart structure and definition 49186fc4dbSAlison Wang- arch/m68k/include/asm/u-boot.h u-boot structure 50186fc4dbSAlison Wang 51186fc4dbSAlison Wang- include/configs/M54418TWR.h Board specific configuration file 52186fc4dbSAlison Wang 53186fc4dbSAlison Wang- arch/m68k/lib/board.c board init function 54186fc4dbSAlison Wang- arch/m68k/lib/cache.c 55186fc4dbSAlison Wang- arch/m68k/lib/interrupts.c Coldfire common interrupt functions 56186fc4dbSAlison Wang- arch/m68k/lib/time.c Timer functions (Dma timer and PIT) 57186fc4dbSAlison Wang- arch/m68k/lib/traps.c Exception init code 58186fc4dbSAlison Wang 59186fc4dbSAlison Wang1 MCF5441x specific Options/Settings 60186fc4dbSAlison Wang==================================== 61186fc4dbSAlison Wang1.1 pre-loader is no longer suppoer in thie coldfire family 62186fc4dbSAlison Wang 63186fc4dbSAlison Wang1.2 Configuration settings for M54418TWR Development Board 64186fc4dbSAlison WangCONFIG_MCF5441x -- define for all MCF5441x CPUs 65186fc4dbSAlison WangCONFIG_M54418 -- define for all Freescale MCF54418 CPUs 66186fc4dbSAlison WangCONFIG_M54418TWR -- define for M54418TWR board 67186fc4dbSAlison Wang 68186fc4dbSAlison WangCONFIG_MCFUART -- define to use common CF Uart driver 69186fc4dbSAlison WangCONFIG_SYS_UART_PORT -- define UART port number, start with 0, 1 and 2 70186fc4dbSAlison WangCONFIG_BAUDRATE -- define UART baudrate 71186fc4dbSAlison Wang 72186fc4dbSAlison WangCONFIG_MCFFEC -- define to use common CF FEC driver 73186fc4dbSAlison WangCONFIG_MII -- enable to use MII driver 74186fc4dbSAlison WangCONFIG_SYS_DISCOVER_PHY -- enable PHY discovery 75186fc4dbSAlison WangCONFIG_SYS_RX_ETH_BUFFER -- Set FEC Receive buffer 76186fc4dbSAlison WangCONFIG_SYS_FAULT_ECHO_LINK_DOWN -- 77186fc4dbSAlison WangCONFIG_SYS_FEC0_PINMUX -- Set FEC0 Pin configuration 78186fc4dbSAlison WangCONFIG_SYS_FEC1_PINMUX -- Set FEC1 Pin configuration 79186fc4dbSAlison WangCONFIG_SYS_FEC0_MIIBASE -- Set FEC0 MII base register 80186fc4dbSAlison WangCONFIG_SYS_FEC1_MIIBASE -- Set FEC0 MII base register 81186fc4dbSAlison WangMCFFEC_TOUT_LOOP -- set FEC timeout loop 82186fc4dbSAlison WangCONFIG_HAS_ETH1 -- define to enable second FEC in u-boot 83186fc4dbSAlison Wang 84186fc4dbSAlison WangCONFIG_MCFTMR -- define to use DMA timer 85186fc4dbSAlison Wang 86186fc4dbSAlison WangCONFIG_SYS_IMMR -- define for MBAR offset 87186fc4dbSAlison Wang 88186fc4dbSAlison WangCONFIG_EXTRA_CLOCK -- Enable extra clock such as vco, flexbus, pci, etc 89186fc4dbSAlison Wang 90186fc4dbSAlison WangCONFIG_SYS_MBAR -- define MBAR offset 91186fc4dbSAlison Wang 92186fc4dbSAlison WangCONFIG_MONITOR_IS_IN_RAM -- Not support 93186fc4dbSAlison Wang 94186fc4dbSAlison WangCONFIG_SYS_INIT_RAM_ADDR -- defines the base address of the MCF54455 internal SRAM 95186fc4dbSAlison Wang 96186fc4dbSAlison WangCONFIG_SYS_CSn_BASE -- defines the Chip Select Base register 97186fc4dbSAlison WangCONFIG_SYS_CSn_MASK -- defines the Chip Select Mask register 98186fc4dbSAlison WangCONFIG_SYS_CSn_CTRL -- defines the Chip Select Control register 99186fc4dbSAlison Wang 100186fc4dbSAlison WangCONFIG_SYS_SDRAM_BASE -- defines the DRAM Base 101186fc4dbSAlison Wang 102186fc4dbSAlison Wang2. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL 103186fc4dbSAlison Wang=========================================== 104186fc4dbSAlison Wang2.1. System memory map: 105186fc4dbSAlison Wang MRAM: 0x00000000-0x0003FFFF (256KB) 106186fc4dbSAlison Wang DDR: 0x40000000-0x47FFFFFF (128MB) 107186fc4dbSAlison Wang SRAM: 0x80000000-0x8000FFFF (64KB) 108186fc4dbSAlison Wang IP: 0xE0000000-0xFFFFFFFF (512MB) 109186fc4dbSAlison Wang 110186fc4dbSAlison Wang3. COMPILATION 111186fc4dbSAlison Wang============== 112186fc4dbSAlison Wang3.1 To create U-Boot the gcc-4.x compiler set (ColdFire ELF version) 113186fc4dbSAlison Wangfrom codesourcery.com was used. Download it from: 114186fc4dbSAlison Wanghttp://www.codesourcery.com/gnu_toolchains/coldfire/download.html 115186fc4dbSAlison Wang 116186fc4dbSAlison Wang3.2 Compilation 117186fc4dbSAlison Wang export CROSS_COMPILE=cross-compile-prefix 118186fc4dbSAlison Wang cd u-boot 119186fc4dbSAlison Wang make distclean 120186fc4dbSAlison Wang make M54418TWR_config, or - default to spi serial flash boot, 50Mhz input clock 121186fc4dbSAlison Wang make M54418TWR_nand_mii_config, or - default to nand flash boot, mii mode, 25Mhz input clock 122186fc4dbSAlison Wang make M54418TWR_nand_rmii_config, or - default to nand flash boot, rmii mode, 50Mhz input clock 123186fc4dbSAlison Wang make M54418TWR_nand_rmii_lowfreq_config, or - default to nand flash boot, rmii mode, 50Mhz input clock 124186fc4dbSAlison Wang make M54418TWR_serial_mii_config, or - default to spi serial flash boot, 25Mhz input clock 125186fc4dbSAlison Wang make M54418TWR_serial_rmii_config, or - default to spi serial flash boot, 50Mhz input clock 126186fc4dbSAlison Wang make 127186fc4dbSAlison Wang 128186fc4dbSAlison Wang4. SCREEN DUMP 129186fc4dbSAlison Wang============== 130186fc4dbSAlison Wang4.1 M54418TWR Development board 131186fc4dbSAlison Wang Boot from NAND flash (NOTE: May not show exactly the same) 132186fc4dbSAlison Wang 133186fc4dbSAlison WangU-Boot 2012.10-00209-g12ae1d8-dirty (Oct 18 2012 - 15:54:54) 134186fc4dbSAlison Wang 135186fc4dbSAlison WangCPU: Freescale MCF54418 (Mask:a3 Version:1) 136186fc4dbSAlison Wang CPU CLK 250 MHz BUS CLK 125 MHz FLB CLK 125 MHz 137186fc4dbSAlison Wang INP CLK 50 MHz VCO CLK 500 MHz 138186fc4dbSAlison WangBoard: Freescale MCF54418 Tower System 139186fc4dbSAlison WangSPI: ready 140186fc4dbSAlison WangDRAM: 128 MiB 141186fc4dbSAlison WangNAND: 256 MiB 142186fc4dbSAlison WangIn: serial 143186fc4dbSAlison WangOut: serial 144186fc4dbSAlison WangErr: serial 145186fc4dbSAlison WangNet: FEC0, FEC1 146186fc4dbSAlison Wang-> pri 147186fc4dbSAlison Wangbaudrate=115200 148186fc4dbSAlison Wangbootargs=root=/dev/mtdblock2 rw rootfstype=jffs2 mtdparts=NAND:1M(u-boot)ro,7M(k 149186fc4dbSAlison Wangernel)ro,-(jffs2) console=ttyS0,115200 150186fc4dbSAlison Wangbootdelay=2 151186fc4dbSAlison Wangeth1addr=00:e0:0c:bc:e5:61 152186fc4dbSAlison Wangethact=FEC0 153186fc4dbSAlison Wangethaddr=00:e0:0c:bc:e5:60 154186fc4dbSAlison Wangfileaddr=40010000 155186fc4dbSAlison Wangfilesize=27354 156186fc4dbSAlison Wanggatewayip=192.168.1.1 157186fc4dbSAlison Wanghostname=M54418TWR 158186fc4dbSAlison Wanginpclk=50000000 159186fc4dbSAlison Wangipaddr=192.168.1.2 160186fc4dbSAlison Wangload=tftp ${loadaddr} ${u-boot}; 161186fc4dbSAlison Wangloadaddr=0x40010000 162186fc4dbSAlison Wangmem=129024k 163186fc4dbSAlison Wangnetdev=eth0 164186fc4dbSAlison Wangnetmask=255.255.255.0 165186fc4dbSAlison Wangprog=nand device 0;nand erase 0 40000;nb_update ${loadaddr} ${filesize};save 166186fc4dbSAlison Wangserverip=192.168.1.1 167186fc4dbSAlison Wangstderr=serial 168186fc4dbSAlison Wangstdin=serial 169186fc4dbSAlison Wangstdout=serial 170186fc4dbSAlison Wangu-boot=u-boot.bin 171186fc4dbSAlison Wangupd=run load; run prog 172186fc4dbSAlison Wang 173186fc4dbSAlison WangEnvironment size: 653/131068 bytes 174186fc4dbSAlison Wang-> bdinfo 175186fc4dbSAlison Wangmemstart = 0x40000000 176186fc4dbSAlison Wangmemsize = 0x08000000 177186fc4dbSAlison Wangflashstart = 0x00000000 178186fc4dbSAlison Wangflashsize = 0x00000000 179186fc4dbSAlison Wangflashoffset = 0x00000000 180186fc4dbSAlison Wangsramstart = 0x80000000 181186fc4dbSAlison Wangsramsize = 0x00010000 182186fc4dbSAlison Wangmbar = 0xFC000000 183186fc4dbSAlison Wangcpufreq = 250 MHz 184186fc4dbSAlison Wangbusfreq = 125 MHz 185186fc4dbSAlison Wangflbfreq = 125 MHz 186186fc4dbSAlison Wanginpfreq = 50 MHz 187186fc4dbSAlison Wangvcofreq = 500 MHz 188186fc4dbSAlison Wangethaddr = 00:e0:0c:bc:e5:60 189186fc4dbSAlison Wangeth1addr = 00:e0:0c:bc:e5:61 190186fc4dbSAlison Wangip_addr = 192.168.1.2 191186fc4dbSAlison Wangbaudrate = 115200 bps 192186fc4dbSAlison Wang-> help 193186fc4dbSAlison Wang? - alias for 'help' 194186fc4dbSAlison Wangbase - print or set address offset 195186fc4dbSAlison Wangbdinfo - print Board Info structure 196186fc4dbSAlison Wangboot - boot default, i.e., run 'bootcmd' 197186fc4dbSAlison Wangbootd - boot default, i.e., run 'bootcmd' 198186fc4dbSAlison Wangbootelf - Boot from an ELF image in memory 199186fc4dbSAlison Wangbootm - boot application image from memory 200186fc4dbSAlison Wangbootp - boot image via network using BOOTP/TFTP protocol 201186fc4dbSAlison Wangbootvx - Boot vxWorks from an ELF image 202186fc4dbSAlison Wangcmp - memory compare 203186fc4dbSAlison Wangconinfo - print console devices and information 204186fc4dbSAlison Wangcp - memory copy 205186fc4dbSAlison Wangcrc32 - checksum calculation 206186fc4dbSAlison Wangdcache - enable or disable data cache 207186fc4dbSAlison Wangdhcp - boot image via network using DHCP/TFTP protocol 208186fc4dbSAlison Wangecho - echo args to console 209186fc4dbSAlison Wangeditenv - edit environment variable 210186fc4dbSAlison Wangenv - environment handling commands 211186fc4dbSAlison Wangexit - exit script 212186fc4dbSAlison Wangfalse - do nothing, unsuccessfully 213186fc4dbSAlison Wanggo - start application at address 'addr' 214186fc4dbSAlison Wanghelp - print command description/usage 215186fc4dbSAlison Wangicache - enable or disable instruction cache 216186fc4dbSAlison Wangiminfo - print header information for application image 217186fc4dbSAlison Wangimxtract- extract a part of a multi-image 218186fc4dbSAlison Wangitest - return true/false on integer compare 219186fc4dbSAlison Wangloop - infinite loop on address range 220186fc4dbSAlison Wangmd - memory display 221186fc4dbSAlison Wangmdio - MDIO utility commands 222186fc4dbSAlison Wangmii - MII utility commands 223186fc4dbSAlison Wangmm - memory modify (auto-incrementing address) 224186fc4dbSAlison Wangmtest - simple RAM read/write test 225186fc4dbSAlison Wangmw - memory write (fill) 226186fc4dbSAlison Wangnand - NAND sub-system 227186fc4dbSAlison Wangnb_update- Nand boot update program 228186fc4dbSAlison Wangnboot - boot from NAND device 229186fc4dbSAlison Wangnfs - boot image via network using NFS protocol 230186fc4dbSAlison Wangnm - memory modify (constant address) 231186fc4dbSAlison Wangping - send ICMP ECHO_REQUEST to network host 232186fc4dbSAlison Wangprintenv- print environment variables 233186fc4dbSAlison Wangreginfo - print register information 234186fc4dbSAlison Wangreset - Perform RESET of the CPU 235186fc4dbSAlison Wangrun - run commands in an environment variable 236186fc4dbSAlison Wangsaveenv - save environment variables to persistent storage 237186fc4dbSAlison Wangsetenv - set environment variables 238186fc4dbSAlison Wangsf - SPI flash sub-system 239186fc4dbSAlison Wangshowvar - print local hushshell variables 240186fc4dbSAlison Wangsleep - delay execution for some time 241186fc4dbSAlison Wangsource - run script from memory 242186fc4dbSAlison Wangsspi - SPI utility command 243186fc4dbSAlison Wangtest - minimal test like /bin/sh 244186fc4dbSAlison Wangtftpboot- boot image via network using TFTP protocol 245186fc4dbSAlison Wangtrue - do nothing, successfully 246186fc4dbSAlison Wangversion - print monitor, compiler and linker version 247