TsiChungLiew | 8cb946d | 2008-01-15 14:15:46 -0600 | [diff] [blame] | 1 | Freescale MCF5475EVB ColdFire Development Board |
| 2 | ================================================ |
| 3 | |
| 4 | TsiChung Liew(Tsi-Chung.Liew@freescale.com) |
| 5 | Created Jan 08, 2008 |
| 6 | =========================================== |
| 7 | |
| 8 | |
| 9 | Changed files: |
| 10 | ============== |
| 11 | |
| 12 | - board/freescale/m547xevb/m547xevb.c Dram setup, IDE pre init, and PCI init |
| 13 | - board/freescale/m547xevb/mii.c MII init |
| 14 | - board/freescale/m547xevb/Makefile Makefile |
| 15 | - board/freescale/m547xevb/config.mk config make |
| 16 | - board/freescale/m547xevb/u-boot.lds Linker description |
| 17 | |
| 18 | - cpu/mcf547x_8x/cpu.c cpu specific code |
| 19 | - cpu/mcf547x_8x/cpu_init.c Flexbus ChipSelect, Mux pins setup, icache and RTC extra regs |
| 20 | - cpu/mcf547x_8x/interrupts.c cpu specific interrupt support |
| 21 | - cpu/mcf547x_8x/slicetimer.c Timer support |
| 22 | - cpu/mcf547x_8x/speed.c system, pci, flexbus, and cpu clock |
| 23 | - cpu/mcf547x_8x/Makefile Makefile |
| 24 | - cpu/mcf547x_8x/config.mk config make |
| 25 | - cpu/mcf547x_8x/start.S start up assembly code |
| 26 | |
| 27 | - doc/README.m5475evb This readme file |
| 28 | |
| 29 | - drivers/dma/MCD_dmaApi.c DMA API functions |
| 30 | - drivers/dma/MCD_tasks.c DMA Tasks |
| 31 | - drivers/dma/MCD_tasksInit.c DMA Tasks Init |
| 32 | - drivers/net/fsl_mcdmafec.c ColdFire common DMA FEC driver |
| 33 | - drivers/serial/mcfuart.c ColdFire common UART driver |
| 34 | |
| 35 | - include/MCD_dma.h DMA header file |
| 36 | - include/MCD_progCheck.h DMA header file |
| 37 | - include/MCD_tasksInit.h DMA header file |
| 38 | - include/asm-m68k/bitops.h Bit operation function export |
| 39 | - include/asm-m68k/byteorder.h Byte order functions |
| 40 | - include/asm-m68k/errno.h Error Number definition |
| 41 | - include/asm-m68k/fec.h FEC structure and definition |
| 42 | - include/asm-m68k/fsl_i2c.h I2C structure and definition |
| 43 | - include/asm-m68k/fsl_mcddmafec.h DMA FEC structure and definition |
| 44 | - include/asm-m68k/global_data.h Global data structure |
| 45 | - include/asm-m68k/immap.h ColdFire specific header file and driver macros |
| 46 | - include/asm-m68k/immap_547x_8x.h mcf547x_8x specific header file |
| 47 | - include/asm-m68k/io.h io functions |
| 48 | - include/asm-m68k/m547x_8x.h mcf547x_8x specific header file |
| 49 | - include/asm-m68k/posix_types.h Posix |
| 50 | - include/asm-m68k/processor.h header file |
| 51 | - include/asm-m68k/ptrace.h Exception structure |
| 52 | - include/asm-m68k/rtc.h Realtime clock header file |
| 53 | - include/asm-m68k/string.h String function export |
| 54 | - include/asm-m68k/timer.h Timer structure and definition |
| 55 | - include/asm-m68k/types.h Data types definition |
| 56 | - include/asm-m68k/uart.h Uart structure and definition |
| 57 | - include/asm-m68k/u-boot.h u-boot structure |
| 58 | |
| 59 | - include/configs/M5475EVB.h Board specific configuration file |
| 60 | |
| 61 | - lib_m68k/board.c board init function |
| 62 | - lib_m68k/cache.c |
| 63 | - lib_m68k/interrupts Coldfire common interrupt functions |
| 64 | - lib_m68k/m68k_linux.c |
| 65 | - lib_m68k/traps.c Exception init code |
| 66 | |
| 67 | 1 MCF547x specific Options/Settings |
| 68 | ==================================== |
| 69 | 1.1 pre-loader is no longer suppoer in thie coldfire family |
| 70 | |
| 71 | 1.2 Configuration settings for M5475EVB Development Board |
| 72 | CONFIG_MCF547x_8x -- define for all MCF547x_8x CPUs |
| 73 | CONFIG_M547x -- define for all Freescale MCF547x CPUs |
| 74 | CONFIG_M5475 -- define for M5475EVB board |
| 75 | |
| 76 | CONFIG_MCFUART -- define to use common CF Uart driver |
| 77 | CFG_UART_PORT -- define UART port number, start with 0, 1 and 2 |
| 78 | CONFIG_BAUDRATE -- define UART baudrate |
| 79 | |
| 80 | CONFIG_FSLDMAFEC -- define to use common dma FEC driver |
| 81 | CONFIG_NET_MULTI -- define to use multi FEC in u-boot |
| 82 | CONFIG_MII -- enable to use MII driver |
| 83 | CONFIG_CF_DOMII -- enable to use MII feature in cmd_mii.c |
| 84 | CFG_DISCOVER_PHY -- enable PHY discovery |
| 85 | CFG_RX_ETH_BUFFER -- Set FEC Receive buffer |
| 86 | CFG_FAULT_ECHO_LINK_DOWN-- |
| 87 | CFG_FEC0_PINMUX -- Set FEC0 Pin configuration |
| 88 | CFG_FEC1_PINMUX -- Set FEC1 Pin configuration |
| 89 | CFG_FEC0_MIIBASE -- Set FEC0 MII base register |
| 90 | CFG_FEC1_MIIBASE -- Set FEC0 MII base register |
| 91 | MCFFEC_TOUT_LOOP -- set FEC timeout loop |
| 92 | CONFIG_HAS_ETH1 -- define to enable second FEC in u-boot |
| 93 | |
| 94 | CONFIG_CMD_USB -- enable USB commands |
| 95 | CONFIG_USB_OHCI_NEW -- enable USB OHCI driver |
| 96 | CONFIG_USB_STORAGE -- enable USB Storage device |
| 97 | CONFIG_DOS_PARTITION -- enable DOS read/write |
| 98 | |
| 99 | CONFIG_SLTTMR -- define to use SLT timer |
| 100 | |
| 101 | CONFIG_FSL_I2C -- define to use FSL common I2C driver |
| 102 | CONFIG_HARD_I2C -- define for I2C hardware support |
| 103 | CONFIG_SOFT_I2C -- define for I2C bit-banged |
| 104 | CFG_I2C_SPEED -- define for I2C speed |
| 105 | CFG_I2C_SLAVE -- define for I2C slave address |
| 106 | CFG_I2C_OFFSET -- define for I2C base address offset |
| 107 | CFG_IMMR -- define for MBAR offset |
| 108 | |
Wolfgang Denk | 3595e61 | 2008-01-23 14:31:17 +0100 | [diff] [blame^] | 109 | CONFIG_PCI -- define for PCI support |
| 110 | CONFIG_PCI_PNP -- define for Plug n play support |
TsiChungLiew | 8cb946d | 2008-01-15 14:15:46 -0600 | [diff] [blame] | 111 | CONFIG_SKIPPCI_HOSTBRIDGE -- SKIP PCI Host bridge |
| 112 | CFG_PCI_MEM_BUS -- PCI memory logical offset |
| 113 | CFG_PCI_MEM_PHYS -- PCI memory physical offset |
| 114 | CFG_PCI_MEM_SIZE -- PCI memory size |
| 115 | CFG_PCI_IO_BUS -- PCI IO logical offset |
| 116 | CFG_PCI_IO_PHYS -- PCI IO physical offset |
| 117 | CFG_PCI_IO_SIZE -- PCI IO size |
| 118 | CFG_PCI_CFG_BUS -- PCI Configuration logical offset |
| 119 | CFG_PCI_CFG_PHYS -- PCI Configuration physical offset |
| 120 | CFG_PCI_CFG_SIZE -- PCI Configuration size |
| 121 | |
| 122 | CFG_MBAR -- define MBAR offset |
| 123 | |
| 124 | CONFIG_MONITOR_IS_IN_RAM -- Not support |
| 125 | |
| 126 | CFG_INIT_RAM_ADDR -- defines the base address of the MCF547x internal SRAM |
| 127 | |
| 128 | CFG_CSn_BASE -- defines the Chip Select Base register |
| 129 | CFG_CSn_MASK -- defines the Chip Select Mask register |
| 130 | CFG_CSn_CTRL -- defines the Chip Select Control register |
| 131 | |
| 132 | CFG_SDRAM_BASE -- defines the DRAM Base |
| 133 | |
| 134 | 2. MEMORY MAP UNDER U-BOOT AND LINUX KERNEL |
| 135 | =========================================== |
| 136 | 2.1. System memory map: |
| 137 | Flash: 0xFF800000-0xFFFFFFFF (8MB) |
| 138 | DDR: 0x00000000-0x3FFFFFFF (1024MB) |
| 139 | SRAM: 0xF2000000-0xF2000FFF (4KB) |
| 140 | PCI: 0x70000000-0x8FFFFFFF (512MB) |
| 141 | IP: 0xF0000000-0xFFFFFFFF (256MB) |
| 142 | |
| 143 | 3. COMPILATION |
| 144 | ============== |
| 145 | 3.1 To create U-Boot the gcc-4.x compiler set (ColdFire ELF or uclinux |
Wolfgang Denk | 3595e61 | 2008-01-23 14:31:17 +0100 | [diff] [blame^] | 146 | version) from codesourcery.com was used. Download it from: |
TsiChungLiew | 8cb946d | 2008-01-15 14:15:46 -0600 | [diff] [blame] | 147 | http://www.codesourcery.com/gnu_toolchains/coldfire/download.html |
| 148 | |
| 149 | 3.2 Compilation |
| 150 | export CROSS_COMPILE=cross-compile-prefix |
| 151 | cd u-boot-1.x.x |
| 152 | make distclean |
| 153 | make M5475AFE_config, or - boot 2MB, RAM 64MB |
| 154 | make M5475BFE_config, or - boot 2MB, code 16MB, RAM 64MB |
| 155 | make M5475CFE_config, or - boot 2MB, code 16MB, Video, USB, RAM 64MB |
| 156 | make M5475DFE_config, or - boot 2MB, USB, RAM 64MB |
| 157 | make M5475EFE_config, or - boot 2MB, Video, USB, RAM 64MB |
| 158 | make M5475FFE_config, or - boot 2MB, code 32MB, Video, USB, RAM 128MB |
| 159 | make M5475GFE_config, or - boot 2MB, RAM 64MB |
| 160 | make |
| 161 | |
| 162 | 5. SCREEN DUMP |
| 163 | ============== |
| 164 | 5.1 |
| 165 | |
| 166 | U-Boot 1.3.1 (Jan 8 2008 - 12:47:44) |
| 167 | |
| 168 | CPU: Freescale MCF5475 |
| 169 | CPU CLK 266 Mhz BUS CLK 133 Mhz |
| 170 | Board: Freescale FireEngine 5475 EVB |
| 171 | I2C: ready |
| 172 | DRAM: 64 MB |
| 173 | FLASH: 18 MB |
| 174 | In: serial |
| 175 | Out: serial |
| 176 | Err: serial |
| 177 | Net: FEC0, FEC1 |
| 178 | -> pri |
| 179 | bootdelay=1 |
| 180 | baudrate=115200 |
| 181 | ethaddr=00:e0:0c:bc:e5:60 |
| 182 | eth1addr=00:e0:0c:bc:e5:61 |
| 183 | ipaddr=192.162.1.2 |
| 184 | serverip=192.162.1.1 |
| 185 | gatewayip=192.162.1.1 |
| 186 | netmask=255.255.255.0 |
| 187 | hostname=M547xEVB |
| 188 | netdev=eth0 |
| 189 | loadaddr=10000 |
| 190 | u-boot=u-boot.bin |
| 191 | load=tftp ${loadaddr) ${u-boot} |
| 192 | upd=run load; run prog |
| 193 | prog=prot off bank 1;era ff800000 ff82ffff;cp.b ${loadaddr} ff800000 ${filesize};save |
| 194 | stdin=serial |
| 195 | stdout=serial |
| 196 | stderr=serial |
| 197 | ethact=FEC0 |
| 198 | mem=65024k |
| 199 | |
| 200 | Environment size: 433/8188 bytes |
| 201 | -> bdin |
| 202 | memstart = 0x00000000 |
| 203 | memsize = 0x04000000 |
| 204 | flashstart = 0xFF800000 |
| 205 | flashsize = 0x01200000 |
| 206 | flashoffset = 0x00000000 |
| 207 | sramstart = 0xF2000000 |
| 208 | sramsize = 0x00001000 |
Wolfgang Denk | 3595e61 | 2008-01-23 14:31:17 +0100 | [diff] [blame^] | 209 | mbar = 0xF0000000 |
TsiChungLiew | 8cb946d | 2008-01-15 14:15:46 -0600 | [diff] [blame] | 210 | busfreq = 133.333 MHz |
Wolfgang Denk | 3595e61 | 2008-01-23 14:31:17 +0100 | [diff] [blame^] | 211 | pcifreq = 0 MHz |
TsiChungLiew | 8cb946d | 2008-01-15 14:15:46 -0600 | [diff] [blame] | 212 | ethaddr = 00:E0:0C:BC:E5:60 |
| 213 | eth1addr = 00:E0:0C:BC:E5:61 |
| 214 | ip_addr = 192.162.1.2 |
| 215 | baudrate = 115200 bps |
| 216 | -> ? |
Wolfgang Denk | 3595e61 | 2008-01-23 14:31:17 +0100 | [diff] [blame^] | 217 | ? - alias for 'help' |
TsiChungLiew | 8cb946d | 2008-01-15 14:15:46 -0600 | [diff] [blame] | 218 | autoscr - run script from memory |
Wolfgang Denk | 3595e61 | 2008-01-23 14:31:17 +0100 | [diff] [blame^] | 219 | base - print or set address offset |
| 220 | bdinfo - print Board Info structure |
| 221 | boot - boot default, i.e., run 'bootcmd' |
| 222 | bootd - boot default, i.e., run 'bootcmd' |
TsiChungLiew | 8cb946d | 2008-01-15 14:15:46 -0600 | [diff] [blame] | 223 | bootelf - Boot from an ELF image in memory |
Wolfgang Denk | 3595e61 | 2008-01-23 14:31:17 +0100 | [diff] [blame^] | 224 | bootm - boot application image from memory |
TsiChungLiew | 8cb946d | 2008-01-15 14:15:46 -0600 | [diff] [blame] | 225 | bootp - boot image via network using BootP/TFTP protocol |
Wolfgang Denk | 3595e61 | 2008-01-23 14:31:17 +0100 | [diff] [blame^] | 226 | bootvx - Boot vxWorks from an ELF image |
| 227 | cmp - memory compare |
TsiChungLiew | 8cb946d | 2008-01-15 14:15:46 -0600 | [diff] [blame] | 228 | coninfo - print console devices and information |
Wolfgang Denk | 3595e61 | 2008-01-23 14:31:17 +0100 | [diff] [blame^] | 229 | cp - memory copy |
| 230 | crc32 - checksum calculation |
| 231 | dcache - enable or disable data cache |
| 232 | echo - echo args to console |
| 233 | erase - erase FLASH memory |
| 234 | flinfo - print FLASH memory information |
| 235 | go - start application at address 'addr' |
| 236 | help - print online help |
| 237 | icache - enable or disable instruction cache |
| 238 | icrc32 - checksum calculation |
| 239 | iloop - infinite loop on address range |
| 240 | imd - i2c memory display |
| 241 | iminfo - print header information for application image |
| 242 | imls - list all images found in flash |
| 243 | imm - i2c memory modify (auto-incrementing) |
| 244 | imw - memory write (fill) |
| 245 | inm - memory modify (constant address) |
| 246 | iprobe - probe to discover valid I2C chip addresses |
TsiChungLiew | 8cb946d | 2008-01-15 14:15:46 -0600 | [diff] [blame] | 247 | itest - return true/false on integer compare |
Wolfgang Denk | 3595e61 | 2008-01-23 14:31:17 +0100 | [diff] [blame^] | 248 | loadb - load binary file over serial line (kermit mode) |
| 249 | loads - load S-Record file over serial line |
| 250 | loady - load binary file over serial line (ymodem mode) |
| 251 | loop - infinite loop on address range |
| 252 | md - memory display |
| 253 | mii - MII utility commands |
| 254 | mm - memory modify (auto-incrementing) |
| 255 | mtest - simple RAM test |
| 256 | mw - memory write (fill) |
TsiChungLiew | 8cb946d | 2008-01-15 14:15:46 -0600 | [diff] [blame] | 257 | nfs - boot image via network using NFS protocol |
Wolfgang Denk | 3595e61 | 2008-01-23 14:31:17 +0100 | [diff] [blame^] | 258 | nm - memory modify (constant address) |
| 259 | pci - list and access PCI Configuration Space |
TsiChungLiew | 8cb946d | 2008-01-15 14:15:46 -0600 | [diff] [blame] | 260 | ping - send ICMP ECHO_REQUEST to network host |
| 261 | printenv- print environment variables |
| 262 | protect - enable or disable FLASH write protection |
| 263 | rarpboot- boot image via network using RARP/TFTP protocol |
Wolfgang Denk | 3595e61 | 2008-01-23 14:31:17 +0100 | [diff] [blame^] | 264 | reset - Perform RESET of the CPU |
| 265 | run - run commands in an environment variable |
TsiChungLiew | 8cb946d | 2008-01-15 14:15:46 -0600 | [diff] [blame] | 266 | saveenv - save environment variables to persistent storage |
Wolfgang Denk | 3595e61 | 2008-01-23 14:31:17 +0100 | [diff] [blame^] | 267 | setenv - set environment variables |
| 268 | sleep - delay execution for some time |
TsiChungLiew | 8cb946d | 2008-01-15 14:15:46 -0600 | [diff] [blame] | 269 | tftpboot- boot image via network using TFTP protocol |
Wolfgang Denk | 3595e61 | 2008-01-23 14:31:17 +0100 | [diff] [blame^] | 270 | usb - USB sub-system |
TsiChungLiew | 8cb946d | 2008-01-15 14:15:46 -0600 | [diff] [blame] | 271 | usbboot - boot from USB device |
| 272 | version - print monitor version |
| 273 | -> usb start |
| 274 | (Re)start USB... |
| 275 | USB: OHCI pci controller (1131, 1561) found @(0:17:0) |
| 276 | OHCI regs address 0x80000000 |
| 277 | scanning bus for devices... 2 USB Device(s) found |
| 278 | scanning bus for storage devices... 1 Storage Device(s) found |
| 279 | -> |