| Freescale MCF54418TWR ColdFire Development Board | 
| ================================================ | 
|   | 
| TsiChung Liew(Tsi-Chung.Liew@freescale.com) | 
| Created Mar 22, 2012 | 
| =========================================== | 
|   | 
|   | 
| Changed files: | 
| ============== | 
|   | 
| - board/freescale/m54418twr/m54418twr.c    Dram setup | 
| - board/freescale/m54418twr/Makefile    Makefile | 
| - board/freescale/m54418twr/config.mk    config make | 
| - board/freescale/m54418twr/u-boot.lds    Linker description | 
|   | 
| - arch/m68k/cpu/mcf5445x/cpu.c        cpu specific code | 
| - arch/m68k/cpu/mcf5445x/cpu_init.c    Flexbus ChipSelect, Mux pins setup, icache and RTC extra regs | 
| - arch/m68k/cpu/mcf5445x/interrupts.c    cpu specific interrupt support | 
| - arch/m68k/cpu/mcf5445x/speed.c    system, pci, flexbus, and cpu clock | 
| - arch/m68k/cpu/mcf5445x/Makefile    Makefile | 
| - arch/m68k/cpu/mcf5445x/config.mk    config make | 
| - arch/m68k/cpu/mcf5445x/start.S    start up assembly code | 
|   | 
| - doc/README.m54418twr            This readme file | 
|   | 
| - drivers/net/mcffec.c            ColdFire common FEC driver | 
| - drivers/net/mcfmii.c            ColdFire common MII driver | 
| - drivers/serial/mcfuart.c        ColdFire common UART driver | 
|   | 
| - arch/m68k/include/asm/bitops.h    Bit operation function export | 
| - arch/m68k/include/asm/byteorder.h    Byte order functions | 
| - arch/m68k/include/asm/fec.h        FEC structure and definition | 
| - arch/m68k/include/asm/global_data.h    Global data structure | 
| - arch/m68k/include/asm/immap.h        ColdFire specific header file and driver macros | 
| - arch/m68k/include/asm/immap_5441x.h    mcf5441x specific header file | 
| - arch/m68k/include/asm/io.h        io functions | 
| - arch/m68k/include/asm/m5441x.h    mcf5441x specific header file | 
| - arch/m68k/include/asm/posix_types.h    Posix | 
| - arch/m68k/include/asm/processor.h    header file | 
| - arch/m68k/include/asm/ptrace.h    Exception structure | 
| - arch/m68k/include/asm/rtc.h        Realtime clock header file | 
| - arch/m68k/include/asm/string.h    String function export | 
| - arch/m68k/include/asm/timer.h        Timer structure and definition | 
| - arch/m68k/include/asm/types.h        Data types definition | 
| - arch/m68k/include/asm/uart.h        Uart structure and definition | 
| - arch/m68k/include/asm/u-boot.h    u-boot structure | 
|   | 
| - include/configs/M54418TWR.h        Board specific configuration file | 
|   | 
| - arch/m68k/lib/board.c            board init function | 
| - arch/m68k/lib/cache.c | 
| - arch/m68k/lib/interrupts.c        Coldfire common interrupt functions | 
| - arch/m68k/lib/time.c            Timer functions (Dma timer and PIT) | 
| - arch/m68k/lib/traps.c            Exception init code | 
|   | 
| 1 MCF5441x specific Options/Settings | 
| ==================================== | 
| 1.1 pre-loader is no longer suppoer in thie coldfire family | 
|   | 
| 1.2 Configuration settings for M54418TWR Development Board | 
| CONFIG_MCF5441x            -- define for all MCF5441x CPUs | 
| CONFIG_M54418            -- define for all Freescale MCF54418 CPUs | 
| CONFIG_M54418TWR        -- define for M54418TWR board | 
|   | 
| CONFIG_MCFUART            -- define to use common CF Uart driver | 
| CONFIG_SYS_UART_PORT        -- define UART port number, start with 0, 1 and 2 | 
| CONFIG_BAUDRATE            -- define UART baudrate | 
|   | 
| CONFIG_MCFFEC            -- define to use common CF FEC driver | 
| CONFIG_MII            -- enable to use MII driver | 
| CONFIG_SYS_DISCOVER_PHY        -- enable PHY discovery | 
| CONFIG_SYS_RX_ETH_BUFFER    -- Set FEC Receive buffer | 
| CONFIG_SYS_FAULT_ECHO_LINK_DOWN    -- | 
| CONFIG_SYS_FEC0_PINMUX        -- Set FEC0 Pin configuration | 
| CONFIG_SYS_FEC1_PINMUX        -- Set FEC1 Pin configuration | 
| CONFIG_SYS_FEC0_MIIBASE        -- Set FEC0 MII base register | 
| CONFIG_SYS_FEC1_MIIBASE        -- Set FEC0 MII base register | 
| MCFFEC_TOUT_LOOP        -- set FEC timeout loop | 
| CONFIG_HAS_ETH1            -- define to enable second FEC in u-boot | 
|   | 
| CONFIG_MCFTMR            -- define to use DMA timer | 
|   | 
| CONFIG_SYS_IMMR            -- define for MBAR offset | 
|   | 
| CONFIG_EXTRA_CLOCK        -- Enable extra clock such as vco, flexbus, pci, etc | 
|   | 
| CONFIG_SYS_MBAR            -- define MBAR offset | 
|   | 
| CONFIG_MONITOR_IS_IN_RAM     -- Not support | 
|   | 
| CONFIG_SYS_INIT_RAM_ADDR    -- defines the base address of the MCF54455 internal SRAM | 
|   | 
| CONFIG_SYS_CSn_BASE        -- defines the Chip Select Base register | 
| CONFIG_SYS_CSn_MASK        -- defines the Chip Select Mask register | 
| CONFIG_SYS_CSn_CTRL        -- defines the Chip Select Control register | 
|   | 
| CONFIG_SYS_SDRAM_BASE        -- defines the DRAM Base | 
|   | 
| 2. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL | 
| =========================================== | 
| 2.1. System memory map: | 
|     MRAM:        0x00000000-0x0003FFFF (256KB) | 
|     DDR:        0x40000000-0x47FFFFFF (128MB) | 
|     SRAM:        0x80000000-0x8000FFFF (64KB) | 
|     IP:        0xE0000000-0xFFFFFFFF (512MB) | 
|   | 
| 3. COMPILATION | 
| ============== | 
| 3.1    To create U-Boot the gcc-4.x compiler set (ColdFire ELF version) | 
| from codesourcery.com was used. Download it from: | 
| http://www.codesourcery.com/gnu_toolchains/coldfire/download.html | 
|   | 
| 3.2 Compilation | 
|    export CROSS_COMPILE=cross-compile-prefix | 
|    cd u-boot | 
|    make distclean | 
|    make M54418TWR_config, or            - default to spi serial flash boot, 50Mhz input clock | 
|    make M54418TWR_nand_mii_config, or        - default to nand flash boot, mii mode, 25Mhz input clock | 
|    make M54418TWR_nand_rmii_config, or        - default to nand flash boot, rmii mode, 50Mhz input clock | 
|    make M54418TWR_nand_rmii_lowfreq_config, or    - default to nand flash boot, rmii mode, 50Mhz input clock | 
|    make M54418TWR_serial_mii_config, or        - default to spi serial flash boot, 25Mhz input clock | 
|    make M54418TWR_serial_rmii_config, or    - default to spi serial flash boot, 50Mhz input clock | 
|    make | 
|   | 
| 4. SCREEN DUMP | 
| ============== | 
| 4.1 M54418TWR Development board | 
|     Boot from NAND flash (NOTE: May not show exactly the same) | 
|   | 
| U-Boot 2012.10-00209-g12ae1d8-dirty (Oct 18 2012 - 15:54:54) | 
|   | 
| CPU:   Freescale MCF54418 (Mask:a3 Version:1) | 
|        CPU CLK 250 MHz BUS CLK 125 MHz FLB CLK 125 MHz | 
|        INP CLK 50 MHz VCO CLK 500 MHz | 
| Board: Freescale MCF54418 Tower System | 
| SPI:   ready | 
| DRAM:  128 MiB | 
| NAND:  256 MiB | 
| In:    serial | 
| Out:   serial | 
| Err:   serial | 
| Net:   FEC0, FEC1 | 
| -> pri | 
| baudrate=115200 | 
| bootargs=root=/dev/mtdblock2 rw rootfstype=jffs2 mtdparts=NAND:1M(u-boot)ro,7M(k | 
| ernel)ro,-(jffs2) console=ttyS0,115200 | 
| bootdelay=2 | 
| eth1addr=00:e0:0c:bc:e5:61 | 
| ethact=FEC0 | 
| ethaddr=00:e0:0c:bc:e5:60 | 
| fileaddr=40010000 | 
| filesize=27354 | 
| gatewayip=192.168.1.1 | 
| hostname=M54418TWR | 
| inpclk=50000000 | 
| ipaddr=192.168.1.2 | 
| load=tftp ${loadaddr} ${u-boot}; | 
| loadaddr=0x40010000 | 
| mem=129024k | 
| netdev=eth0 | 
| netmask=255.255.255.0 | 
| prog=nand device 0;nand erase 0 40000;nb_update ${loadaddr} ${filesize};save | 
| serverip=192.168.1.1 | 
| stderr=serial | 
| stdin=serial | 
| stdout=serial | 
| u-boot=u-boot.bin | 
| upd=run load; run prog | 
|   | 
| Environment size: 653/131068 bytes | 
| -> bdinfo | 
| memstart    = 0x40000000 | 
| memsize     = 0x08000000 | 
| flashstart  = 0x00000000 | 
| flashsize   = 0x00000000 | 
| flashoffset = 0x00000000 | 
| sramstart   = 0x80000000 | 
| sramsize    = 0x00010000 | 
| mbar        = 0xFC000000 | 
| cpufreq     =    250 MHz | 
| busfreq     =    125 MHz | 
| flbfreq     =    125 MHz | 
| inpfreq     =     50 MHz | 
| vcofreq     =    500 MHz | 
| ethaddr     = 00:e0:0c:bc:e5:60 | 
| eth1addr    = 00:e0:0c:bc:e5:61 | 
| ip_addr     = 192.168.1.2 | 
| baudrate    = 115200 bps | 
| -> help | 
| ?       - alias for 'help' | 
| base    - print or set address offset | 
| bdinfo  - print Board Info structure | 
| boot    - boot default, i.e., run 'bootcmd' | 
| bootd   - boot default, i.e., run 'bootcmd' | 
| bootelf - Boot from an ELF image in memory | 
| bootm   - boot application image from memory | 
| bootp   - boot image via network using BOOTP/TFTP protocol | 
| bootvx  - Boot vxWorks from an ELF image | 
| cmp     - memory compare | 
| coninfo - print console devices and information | 
| cp      - memory copy | 
| crc32   - checksum calculation | 
| dcache  - enable or disable data cache | 
| dhcp    - boot image via network using DHCP/TFTP protocol | 
| echo    - echo args to console | 
| editenv - edit environment variable | 
| env     - environment handling commands | 
| exit    - exit script | 
| false   - do nothing, unsuccessfully | 
| go      - start application at address 'addr' | 
| help    - print command description/usage | 
| icache  - enable or disable instruction cache | 
| iminfo  - print header information for application image | 
| imxtract- extract a part of a multi-image | 
| itest   - return true/false on integer compare | 
| loop    - infinite loop on address range | 
| md      - memory display | 
| mdio    - MDIO utility commands | 
| mii     - MII utility commands | 
| mm      - memory modify (auto-incrementing address) | 
| mtest   - simple RAM read/write test | 
| mw      - memory write (fill) | 
| nand    - NAND sub-system | 
| nb_update- Nand boot update  program | 
| nboot   - boot from NAND device | 
| nfs     - boot image via network using NFS protocol | 
| nm      - memory modify (constant address) | 
| ping    - send ICMP ECHO_REQUEST to network host | 
| printenv- print environment variables | 
| reginfo - print register information | 
| reset   - Perform RESET of the CPU | 
| run     - run commands in an environment variable | 
| saveenv - save environment variables to persistent storage | 
| setenv  - set environment variables | 
| sf      - SPI flash sub-system | 
| showvar - print local hushshell variables | 
| sleep   - delay execution for some time | 
| source  - run script from memory | 
| sspi    - SPI utility command | 
| test    - minimal test like /bin/sh | 
| tftpboot- boot image via network using TFTP protocol | 
| true    - do nothing, successfully | 
| version - print monitor, compiler and linker version |