Alison Wang | 186fc4d | 2012-10-18 19:25:52 +0000 | [diff] [blame] | 1 | Freescale MCF54418TWR ColdFire Development Board |
| 2 | ================================================ |
| 3 | |
| 4 | TsiChung Liew(Tsi-Chung.Liew@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 | |
| 17 | - arch/m68k/cpu/mcf5445x/cpu.c cpu specific code |
| 18 | - arch/m68k/cpu/mcf5445x/cpu_init.c Flexbus ChipSelect, Mux pins setup, icache and RTC extra regs |
| 19 | - arch/m68k/cpu/mcf5445x/interrupts.c cpu specific interrupt support |
| 20 | - arch/m68k/cpu/mcf5445x/speed.c system, pci, flexbus, and cpu clock |
| 21 | - arch/m68k/cpu/mcf5445x/Makefile Makefile |
| 22 | - arch/m68k/cpu/mcf5445x/config.mk config make |
| 23 | - arch/m68k/cpu/mcf5445x/start.S start up assembly code |
| 24 | |
| 25 | - doc/README.m54418twr This readme file |
| 26 | |
| 27 | - drivers/net/mcffec.c ColdFire common FEC driver |
| 28 | - drivers/net/mcfmii.c ColdFire common MII driver |
| 29 | - drivers/serial/mcfuart.c ColdFire common UART driver |
| 30 | |
| 31 | - arch/m68k/include/asm/bitops.h Bit operation function export |
| 32 | - arch/m68k/include/asm/byteorder.h Byte order functions |
| 33 | - arch/m68k/include/asm/fec.h FEC structure and definition |
| 34 | - arch/m68k/include/asm/global_data.h Global data structure |
| 35 | - arch/m68k/include/asm/immap.h ColdFire specific header file and driver macros |
| 36 | - arch/m68k/include/asm/immap_5441x.h mcf5441x specific header file |
| 37 | - arch/m68k/include/asm/io.h io functions |
| 38 | - arch/m68k/include/asm/m5441x.h mcf5441x specific header file |
| 39 | - arch/m68k/include/asm/posix_types.h Posix |
| 40 | - arch/m68k/include/asm/processor.h header file |
| 41 | - arch/m68k/include/asm/ptrace.h Exception structure |
| 42 | - arch/m68k/include/asm/rtc.h Realtime clock header file |
| 43 | - arch/m68k/include/asm/string.h String function export |
| 44 | - arch/m68k/include/asm/timer.h Timer structure and definition |
| 45 | - arch/m68k/include/asm/types.h Data types definition |
| 46 | - arch/m68k/include/asm/uart.h Uart structure and definition |
| 47 | - arch/m68k/include/asm/u-boot.h u-boot structure |
| 48 | |
| 49 | - include/configs/M54418TWR.h Board specific configuration file |
| 50 | |
| 51 | - arch/m68k/lib/board.c board init function |
| 52 | - arch/m68k/lib/cache.c |
| 53 | - arch/m68k/lib/interrupts.c Coldfire common interrupt functions |
| 54 | - arch/m68k/lib/time.c Timer functions (Dma timer and PIT) |
| 55 | - arch/m68k/lib/traps.c Exception init code |
| 56 | |
| 57 | 1 MCF5441x specific Options/Settings |
| 58 | ==================================== |
| 59 | 1.1 pre-loader is no longer suppoer in thie coldfire family |
| 60 | |
| 61 | 1.2 Configuration settings for M54418TWR Development Board |
| 62 | CONFIG_MCF5441x -- define for all MCF5441x CPUs |
| 63 | CONFIG_M54418 -- define for all Freescale MCF54418 CPUs |
| 64 | CONFIG_M54418TWR -- define for M54418TWR board |
| 65 | |
| 66 | CONFIG_MCFUART -- define to use common CF Uart driver |
| 67 | CONFIG_SYS_UART_PORT -- define UART port number, start with 0, 1 and 2 |
| 68 | CONFIG_BAUDRATE -- define UART baudrate |
| 69 | |
| 70 | CONFIG_MCFFEC -- define to use common CF FEC driver |
| 71 | CONFIG_MII -- enable to use MII driver |
| 72 | CONFIG_SYS_DISCOVER_PHY -- enable PHY discovery |
| 73 | CONFIG_SYS_RX_ETH_BUFFER -- Set FEC Receive buffer |
| 74 | CONFIG_SYS_FAULT_ECHO_LINK_DOWN -- |
| 75 | CONFIG_SYS_FEC0_PINMUX -- Set FEC0 Pin configuration |
| 76 | CONFIG_SYS_FEC1_PINMUX -- Set FEC1 Pin configuration |
| 77 | CONFIG_SYS_FEC0_MIIBASE -- Set FEC0 MII base register |
| 78 | CONFIG_SYS_FEC1_MIIBASE -- Set FEC0 MII base register |
| 79 | MCFFEC_TOUT_LOOP -- set FEC timeout loop |
| 80 | CONFIG_HAS_ETH1 -- define to enable second FEC in u-boot |
| 81 | |
| 82 | CONFIG_MCFTMR -- define to use DMA timer |
| 83 | |
| 84 | CONFIG_SYS_IMMR -- define for MBAR offset |
| 85 | |
| 86 | CONFIG_EXTRA_CLOCK -- Enable extra clock such as vco, flexbus, pci, etc |
| 87 | |
| 88 | CONFIG_SYS_MBAR -- define MBAR offset |
| 89 | |
| 90 | CONFIG_MONITOR_IS_IN_RAM -- Not support |
| 91 | |
| 92 | CONFIG_SYS_INIT_RAM_ADDR -- defines the base address of the MCF54455 internal SRAM |
| 93 | |
| 94 | CONFIG_SYS_CSn_BASE -- defines the Chip Select Base register |
| 95 | CONFIG_SYS_CSn_MASK -- defines the Chip Select Mask register |
| 96 | CONFIG_SYS_CSn_CTRL -- defines the Chip Select Control register |
| 97 | |
| 98 | CONFIG_SYS_SDRAM_BASE -- defines the DRAM Base |
| 99 | |
| 100 | 2. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL |
| 101 | =========================================== |
| 102 | 2.1. System memory map: |
| 103 | MRAM: 0x00000000-0x0003FFFF (256KB) |
| 104 | DDR: 0x40000000-0x47FFFFFF (128MB) |
| 105 | SRAM: 0x80000000-0x8000FFFF (64KB) |
| 106 | IP: 0xE0000000-0xFFFFFFFF (512MB) |
| 107 | |
| 108 | 3. COMPILATION |
| 109 | ============== |
| 110 | 3.1 To create U-Boot the gcc-4.x compiler set (ColdFire ELF version) |
| 111 | from codesourcery.com was used. Download it from: |
| 112 | http://www.codesourcery.com/gnu_toolchains/coldfire/download.html |
| 113 | |
| 114 | 3.2 Compilation |
| 115 | export CROSS_COMPILE=cross-compile-prefix |
| 116 | cd u-boot |
| 117 | make distclean |
| 118 | make M54418TWR_config, or - default to spi serial flash boot, 50Mhz input clock |
| 119 | make M54418TWR_nand_mii_config, or - default to nand flash boot, mii mode, 25Mhz input clock |
| 120 | make M54418TWR_nand_rmii_config, or - default to nand flash boot, rmii mode, 50Mhz input clock |
| 121 | make M54418TWR_nand_rmii_lowfreq_config, or - default to nand flash boot, rmii mode, 50Mhz input clock |
| 122 | make M54418TWR_serial_mii_config, or - default to spi serial flash boot, 25Mhz input clock |
| 123 | make M54418TWR_serial_rmii_config, or - default to spi serial flash boot, 50Mhz input clock |
| 124 | make |
| 125 | |
| 126 | 4. SCREEN DUMP |
| 127 | ============== |
| 128 | 4.1 M54418TWR Development board |
| 129 | Boot from NAND flash (NOTE: May not show exactly the same) |
| 130 | |
| 131 | U-Boot 2012.10-00209-g12ae1d8-dirty (Oct 18 2012 - 15:54:54) |
| 132 | |
| 133 | CPU: Freescale MCF54418 (Mask:a3 Version:1) |
| 134 | CPU CLK 250 MHz BUS CLK 125 MHz FLB CLK 125 MHz |
| 135 | INP CLK 50 MHz VCO CLK 500 MHz |
| 136 | Board: Freescale MCF54418 Tower System |
| 137 | SPI: ready |
| 138 | DRAM: 128 MiB |
| 139 | NAND: 256 MiB |
| 140 | In: serial |
| 141 | Out: serial |
| 142 | Err: serial |
| 143 | Net: FEC0, FEC1 |
| 144 | -> pri |
| 145 | baudrate=115200 |
| 146 | bootargs=root=/dev/mtdblock2 rw rootfstype=jffs2 mtdparts=NAND:1M(u-boot)ro,7M(k |
| 147 | ernel)ro,-(jffs2) console=ttyS0,115200 |
| 148 | bootdelay=2 |
| 149 | eth1addr=00:e0:0c:bc:e5:61 |
| 150 | ethact=FEC0 |
| 151 | ethaddr=00:e0:0c:bc:e5:60 |
| 152 | fileaddr=40010000 |
| 153 | filesize=27354 |
| 154 | gatewayip=192.168.1.1 |
| 155 | hostname=M54418TWR |
| 156 | inpclk=50000000 |
| 157 | ipaddr=192.168.1.2 |
| 158 | load=tftp ${loadaddr} ${u-boot}; |
| 159 | loadaddr=0x40010000 |
| 160 | mem=129024k |
| 161 | netdev=eth0 |
| 162 | netmask=255.255.255.0 |
| 163 | prog=nand device 0;nand erase 0 40000;nb_update ${loadaddr} ${filesize};save |
| 164 | serverip=192.168.1.1 |
| 165 | stderr=serial |
| 166 | stdin=serial |
| 167 | stdout=serial |
| 168 | u-boot=u-boot.bin |
| 169 | upd=run load; run prog |
| 170 | |
| 171 | Environment size: 653/131068 bytes |
| 172 | -> bdinfo |
| 173 | memstart = 0x40000000 |
| 174 | memsize = 0x08000000 |
| 175 | flashstart = 0x00000000 |
| 176 | flashsize = 0x00000000 |
| 177 | flashoffset = 0x00000000 |
| 178 | sramstart = 0x80000000 |
| 179 | sramsize = 0x00010000 |
| 180 | mbar = 0xFC000000 |
| 181 | cpufreq = 250 MHz |
| 182 | busfreq = 125 MHz |
| 183 | flbfreq = 125 MHz |
| 184 | inpfreq = 50 MHz |
| 185 | vcofreq = 500 MHz |
| 186 | ethaddr = 00:e0:0c:bc:e5:60 |
| 187 | eth1addr = 00:e0:0c:bc:e5:61 |
| 188 | ip_addr = 192.168.1.2 |
| 189 | baudrate = 115200 bps |
| 190 | -> help |
| 191 | ? - alias for 'help' |
| 192 | base - print or set address offset |
| 193 | bdinfo - print Board Info structure |
| 194 | boot - boot default, i.e., run 'bootcmd' |
| 195 | bootd - boot default, i.e., run 'bootcmd' |
| 196 | bootelf - Boot from an ELF image in memory |
| 197 | bootm - boot application image from memory |
| 198 | bootp - boot image via network using BOOTP/TFTP protocol |
| 199 | bootvx - Boot vxWorks from an ELF image |
| 200 | cmp - memory compare |
| 201 | coninfo - print console devices and information |
| 202 | cp - memory copy |
| 203 | crc32 - checksum calculation |
| 204 | dcache - enable or disable data cache |
| 205 | dhcp - boot image via network using DHCP/TFTP protocol |
| 206 | echo - echo args to console |
| 207 | editenv - edit environment variable |
| 208 | env - environment handling commands |
| 209 | exit - exit script |
| 210 | false - do nothing, unsuccessfully |
| 211 | go - start application at address 'addr' |
| 212 | help - print command description/usage |
| 213 | icache - enable or disable instruction cache |
| 214 | iminfo - print header information for application image |
| 215 | imxtract- extract a part of a multi-image |
| 216 | itest - return true/false on integer compare |
| 217 | loop - infinite loop on address range |
| 218 | md - memory display |
| 219 | mdio - MDIO utility commands |
| 220 | mii - MII utility commands |
| 221 | mm - memory modify (auto-incrementing address) |
| 222 | mtest - simple RAM read/write test |
| 223 | mw - memory write (fill) |
| 224 | nand - NAND sub-system |
| 225 | nb_update- Nand boot update program |
| 226 | nboot - boot from NAND device |
| 227 | nfs - boot image via network using NFS protocol |
| 228 | nm - memory modify (constant address) |
| 229 | ping - send ICMP ECHO_REQUEST to network host |
| 230 | printenv- print environment variables |
| 231 | reginfo - print register information |
| 232 | reset - Perform RESET of the CPU |
| 233 | run - run commands in an environment variable |
| 234 | saveenv - save environment variables to persistent storage |
| 235 | setenv - set environment variables |
| 236 | sf - SPI flash sub-system |
| 237 | showvar - print local hushshell variables |
| 238 | sleep - delay execution for some time |
| 239 | source - run script from memory |
| 240 | sspi - SPI utility command |
| 241 | test - minimal test like /bin/sh |
| 242 | tftpboot- boot image via network using TFTP protocol |
| 243 | true - do nothing, successfully |
| 244 | version - print monitor, compiler and linker version |