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 Wang 67186fc4dbSAlison WangCONFIG_MCFUART -- define to use common CF Uart driver 68186fc4dbSAlison WangCONFIG_SYS_UART_PORT -- define UART port number, start with 0, 1 and 2 69186fc4dbSAlison WangCONFIG_BAUDRATE -- define UART baudrate 70186fc4dbSAlison Wang 71186fc4dbSAlison WangCONFIG_MCFFEC -- define to use common CF FEC driver 72186fc4dbSAlison WangCONFIG_MII -- enable to use MII driver 73186fc4dbSAlison WangCONFIG_SYS_DISCOVER_PHY -- enable PHY discovery 74186fc4dbSAlison WangCONFIG_SYS_RX_ETH_BUFFER -- Set FEC Receive buffer 75186fc4dbSAlison WangCONFIG_SYS_FAULT_ECHO_LINK_DOWN -- 76186fc4dbSAlison WangCONFIG_SYS_FEC0_PINMUX -- Set FEC0 Pin configuration 77186fc4dbSAlison WangCONFIG_SYS_FEC1_PINMUX -- Set FEC1 Pin configuration 78186fc4dbSAlison WangCONFIG_SYS_FEC0_MIIBASE -- Set FEC0 MII base register 79186fc4dbSAlison WangCONFIG_SYS_FEC1_MIIBASE -- Set FEC0 MII base register 80186fc4dbSAlison WangMCFFEC_TOUT_LOOP -- set FEC timeout loop 81186fc4dbSAlison WangCONFIG_HAS_ETH1 -- define to enable second FEC in u-boot 82186fc4dbSAlison Wang 83186fc4dbSAlison WangCONFIG_MCFTMR -- define to use DMA timer 84186fc4dbSAlison Wang 85186fc4dbSAlison WangCONFIG_SYS_IMMR -- define for MBAR offset 86186fc4dbSAlison Wang 87186fc4dbSAlison WangCONFIG_EXTRA_CLOCK -- Enable extra clock such as vco, flexbus, pci, etc 88186fc4dbSAlison Wang 89186fc4dbSAlison WangCONFIG_SYS_MBAR -- define MBAR offset 90186fc4dbSAlison Wang 91186fc4dbSAlison WangCONFIG_MONITOR_IS_IN_RAM -- Not support 92186fc4dbSAlison Wang 93186fc4dbSAlison WangCONFIG_SYS_INIT_RAM_ADDR -- defines the base address of the MCF54455 internal SRAM 94186fc4dbSAlison Wang 95186fc4dbSAlison WangCONFIG_SYS_CSn_BASE -- defines the Chip Select Base register 96186fc4dbSAlison WangCONFIG_SYS_CSn_MASK -- defines the Chip Select Mask register 97186fc4dbSAlison WangCONFIG_SYS_CSn_CTRL -- defines the Chip Select Control register 98186fc4dbSAlison Wang 99186fc4dbSAlison WangCONFIG_SYS_SDRAM_BASE -- defines the DRAM Base 100186fc4dbSAlison Wang 101186fc4dbSAlison Wang2. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL 102186fc4dbSAlison Wang=========================================== 103186fc4dbSAlison Wang2.1. System memory map: 104186fc4dbSAlison Wang MRAM: 0x00000000-0x0003FFFF (256KB) 105186fc4dbSAlison Wang DDR: 0x40000000-0x47FFFFFF (128MB) 106186fc4dbSAlison Wang SRAM: 0x80000000-0x8000FFFF (64KB) 107186fc4dbSAlison Wang IP: 0xE0000000-0xFFFFFFFF (512MB) 108186fc4dbSAlison Wang 109186fc4dbSAlison Wang3. COMPILATION 110186fc4dbSAlison Wang============== 111186fc4dbSAlison Wang3.1 To create U-Boot the gcc-4.x compiler set (ColdFire ELF version) 112186fc4dbSAlison Wangfrom codesourcery.com was used. Download it from: 113186fc4dbSAlison Wanghttp://www.codesourcery.com/gnu_toolchains/coldfire/download.html 114186fc4dbSAlison Wang 115186fc4dbSAlison Wang3.2 Compilation 116186fc4dbSAlison Wang export CROSS_COMPILE=cross-compile-prefix 117186fc4dbSAlison Wang cd u-boot 118186fc4dbSAlison Wang make distclean 119186fc4dbSAlison Wang make M54418TWR_config, or - default to spi serial flash boot, 50Mhz input clock 120186fc4dbSAlison Wang make M54418TWR_nand_mii_config, or - default to nand flash boot, mii mode, 25Mhz input clock 121186fc4dbSAlison Wang make M54418TWR_nand_rmii_config, or - default to nand flash boot, rmii mode, 50Mhz input clock 122186fc4dbSAlison Wang make M54418TWR_nand_rmii_lowfreq_config, or - default to nand flash boot, rmii mode, 50Mhz input clock 123186fc4dbSAlison Wang make M54418TWR_serial_mii_config, or - default to spi serial flash boot, 25Mhz input clock 124186fc4dbSAlison Wang make M54418TWR_serial_rmii_config, or - default to spi serial flash boot, 50Mhz input clock 125186fc4dbSAlison Wang make 126186fc4dbSAlison Wang 127186fc4dbSAlison Wang4. SCREEN DUMP 128186fc4dbSAlison Wang============== 129186fc4dbSAlison Wang4.1 M54418TWR Development board 130186fc4dbSAlison Wang Boot from NAND flash (NOTE: May not show exactly the same) 131186fc4dbSAlison Wang 132186fc4dbSAlison WangU-Boot 2012.10-00209-g12ae1d8-dirty (Oct 18 2012 - 15:54:54) 133186fc4dbSAlison Wang 134186fc4dbSAlison WangCPU: Freescale MCF54418 (Mask:a3 Version:1) 135186fc4dbSAlison Wang CPU CLK 250 MHz BUS CLK 125 MHz FLB CLK 125 MHz 136186fc4dbSAlison Wang INP CLK 50 MHz VCO CLK 500 MHz 137186fc4dbSAlison WangBoard: Freescale MCF54418 Tower System 138186fc4dbSAlison WangSPI: ready 139186fc4dbSAlison WangDRAM: 128 MiB 140186fc4dbSAlison WangNAND: 256 MiB 141186fc4dbSAlison WangIn: serial 142186fc4dbSAlison WangOut: serial 143186fc4dbSAlison WangErr: serial 144186fc4dbSAlison WangNet: FEC0, FEC1 145186fc4dbSAlison Wang-> pri 146186fc4dbSAlison Wangbaudrate=115200 147186fc4dbSAlison Wangbootargs=root=/dev/mtdblock2 rw rootfstype=jffs2 mtdparts=NAND:1M(u-boot)ro,7M(k 148186fc4dbSAlison Wangernel)ro,-(jffs2) console=ttyS0,115200 149186fc4dbSAlison Wangbootdelay=2 150186fc4dbSAlison Wangeth1addr=00:e0:0c:bc:e5:61 151186fc4dbSAlison Wangethact=FEC0 152186fc4dbSAlison Wangethaddr=00:e0:0c:bc:e5:60 153186fc4dbSAlison Wangfileaddr=40010000 154186fc4dbSAlison Wangfilesize=27354 155186fc4dbSAlison Wanggatewayip=192.168.1.1 156186fc4dbSAlison Wanghostname=M54418TWR 157186fc4dbSAlison Wanginpclk=50000000 158186fc4dbSAlison Wangipaddr=192.168.1.2 159186fc4dbSAlison Wangload=tftp ${loadaddr} ${u-boot}; 160186fc4dbSAlison Wangloadaddr=0x40010000 161186fc4dbSAlison Wangmem=129024k 162186fc4dbSAlison Wangnetdev=eth0 163186fc4dbSAlison Wangnetmask=255.255.255.0 164186fc4dbSAlison Wangprog=nand device 0;nand erase 0 40000;nb_update ${loadaddr} ${filesize};save 165186fc4dbSAlison Wangserverip=192.168.1.1 166186fc4dbSAlison Wangstderr=serial 167186fc4dbSAlison Wangstdin=serial 168186fc4dbSAlison Wangstdout=serial 169186fc4dbSAlison Wangu-boot=u-boot.bin 170186fc4dbSAlison Wangupd=run load; run prog 171186fc4dbSAlison Wang 172186fc4dbSAlison WangEnvironment size: 653/131068 bytes 173186fc4dbSAlison Wang-> bdinfo 174186fc4dbSAlison Wangmemstart = 0x40000000 175186fc4dbSAlison Wangmemsize = 0x08000000 176186fc4dbSAlison Wangflashstart = 0x00000000 177186fc4dbSAlison Wangflashsize = 0x00000000 178186fc4dbSAlison Wangflashoffset = 0x00000000 179186fc4dbSAlison Wangsramstart = 0x80000000 180186fc4dbSAlison Wangsramsize = 0x00010000 181186fc4dbSAlison Wangmbar = 0xFC000000 182186fc4dbSAlison Wangcpufreq = 250 MHz 183186fc4dbSAlison Wangbusfreq = 125 MHz 184186fc4dbSAlison Wangflbfreq = 125 MHz 185186fc4dbSAlison Wanginpfreq = 50 MHz 186186fc4dbSAlison Wangvcofreq = 500 MHz 187186fc4dbSAlison Wangethaddr = 00:e0:0c:bc:e5:60 188186fc4dbSAlison Wangeth1addr = 00:e0:0c:bc:e5:61 189186fc4dbSAlison Wangip_addr = 192.168.1.2 190186fc4dbSAlison Wangbaudrate = 115200 bps 191186fc4dbSAlison Wang-> help 192186fc4dbSAlison Wang? - alias for 'help' 193186fc4dbSAlison Wangbase - print or set address offset 194186fc4dbSAlison Wangbdinfo - print Board Info structure 195186fc4dbSAlison Wangboot - boot default, i.e., run 'bootcmd' 196186fc4dbSAlison Wangbootd - boot default, i.e., run 'bootcmd' 197186fc4dbSAlison Wangbootelf - Boot from an ELF image in memory 198186fc4dbSAlison Wangbootm - boot application image from memory 199186fc4dbSAlison Wangbootp - boot image via network using BOOTP/TFTP protocol 200186fc4dbSAlison Wangbootvx - Boot vxWorks from an ELF image 201186fc4dbSAlison Wangcmp - memory compare 202186fc4dbSAlison Wangconinfo - print console devices and information 203186fc4dbSAlison Wangcp - memory copy 204186fc4dbSAlison Wangcrc32 - checksum calculation 205186fc4dbSAlison Wangdcache - enable or disable data cache 206186fc4dbSAlison Wangdhcp - boot image via network using DHCP/TFTP protocol 207186fc4dbSAlison Wangecho - echo args to console 208186fc4dbSAlison Wangeditenv - edit environment variable 209186fc4dbSAlison Wangenv - environment handling commands 210186fc4dbSAlison Wangexit - exit script 211186fc4dbSAlison Wangfalse - do nothing, unsuccessfully 212186fc4dbSAlison Wanggo - start application at address 'addr' 213186fc4dbSAlison Wanghelp - print command description/usage 214186fc4dbSAlison Wangicache - enable or disable instruction cache 215186fc4dbSAlison Wangiminfo - print header information for application image 216186fc4dbSAlison Wangimxtract- extract a part of a multi-image 217186fc4dbSAlison Wangitest - return true/false on integer compare 218186fc4dbSAlison Wangloop - infinite loop on address range 219186fc4dbSAlison Wangmd - memory display 220186fc4dbSAlison Wangmdio - MDIO utility commands 221186fc4dbSAlison Wangmii - MII utility commands 222186fc4dbSAlison Wangmm - memory modify (auto-incrementing address) 223186fc4dbSAlison Wangmtest - simple RAM read/write test 224186fc4dbSAlison Wangmw - memory write (fill) 225186fc4dbSAlison Wangnand - NAND sub-system 226186fc4dbSAlison Wangnb_update- Nand boot update program 227186fc4dbSAlison Wangnboot - boot from NAND device 228186fc4dbSAlison Wangnfs - boot image via network using NFS protocol 229186fc4dbSAlison Wangnm - memory modify (constant address) 230186fc4dbSAlison Wangping - send ICMP ECHO_REQUEST to network host 231186fc4dbSAlison Wangprintenv- print environment variables 232186fc4dbSAlison Wangreginfo - print register information 233186fc4dbSAlison Wangreset - Perform RESET of the CPU 234186fc4dbSAlison Wangrun - run commands in an environment variable 235186fc4dbSAlison Wangsaveenv - save environment variables to persistent storage 236186fc4dbSAlison Wangsetenv - set environment variables 237186fc4dbSAlison Wangsf - SPI flash sub-system 238186fc4dbSAlison Wangshowvar - print local hushshell variables 239186fc4dbSAlison Wangsleep - delay execution for some time 240186fc4dbSAlison Wangsource - run script from memory 241186fc4dbSAlison Wangsspi - SPI utility command 242186fc4dbSAlison Wangtest - minimal test like /bin/sh 243186fc4dbSAlison Wangtftpboot- boot image via network using TFTP protocol 244186fc4dbSAlison Wangtrue - do nothing, successfully 245186fc4dbSAlison Wangversion - print monitor, compiler and linker version 246