Freescale MCF53017EVB ColdFire Development Board ================================================ TsiChung Liew(Tsi-Chung.Liew@freescale.com) Created 10/22/08 =========================================== Changed files: ============== - board/freescale/m53017evb/m53017evb.c Dram setup - board/freescale/m53017evb/mii.c Mii access - board/freescale/m53017evb/Makefile Makefile - board/freescale/m53017evb/config.mk config make - board/freescale/m53017evb/u-boot.lds Linker description - arch/m68k/cpu/mcf532x/cpu.c cpu specific code - arch/m68k/cpu/mcf532x/cpu_init.c FBCS, Mux pins, icache and RTC extra regs - arch/m68k/cpu/mcf532x/interrupts.c cpu specific interrupt support - arch/m68k/cpu/mcf532x/speed.c system, flexbus, and cpu clock - arch/m68k/cpu/mcf532x/Makefile Makefile - arch/m68k/cpu/mcf532x/config.mk config make - arch/m68k/cpu/mcf532x/start.S start up assembly code - doc/README.m53017evb 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 - drivers/rtc/mcfrtc.c Realtime clock Driver - include/asm-m68k/bitops.h Bit operation function export - include/asm-m68k/byteorder.h Byte order functions - include/asm-m68k/fec.h FEC structure and definition - include/asm-m68k/fsl_i2c.h I2C structure and definition - include/asm-m68k/global_data.h Global data structure - include/asm-m68k/immap.h ColdFire specific header file and driver macros - include/asm-m68k/immap_5301x.h mcf5301x specific header file - include/asm-m68k/io.h io functions - include/asm-m68k/m532x.h mcf5301x specific header file - include/asm-m68k/posix_types.h Posix - include/asm-m68k/processor.h header file - include/asm-m68k/ptrace.h Exception structure - include/asm-m68k/rtc.h Realtime clock header file - include/asm-m68k/string.h String function export - include/asm-m68k/timer.h Timer structure and definition - include/asm-m68k/types.h Data types definition - include/asm-m68k/uart.h Uart structure and definition - include/asm-m68k/u-boot.h U-Boot structure - include/configs/M53017EVB.h Board specific configuration file - arch/m68k/lib/board.c board init function - arch/m68k/lib/cache.c - arch/m68k/lib/interrupts Coldfire common interrupt functions - arch/m68k/lib/m68k_linux.c - arch/m68k/lib/time.c Timer functions (Dma timer and PIT) - arch/m68k/lib/traps.c Exception init code 1 MCF5301x specific Options/Settings ==================================== 1.1 pre-loader is no longer suppoer in thie coldfire family 1.2 Configuration settings for M53017EVB Development Board CONFIG_MCF5301x -- define for all MCF5301x CPUs CONFIG_M53015 -- define for MCF53015 CPUs CONFIG_M53017EVB -- define for M53017EVB 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_MCFRTC -- define to use common CF RTC driver CONFIG_SYS_MCFRTC_BASE -- provide base address for RTC in immap.h CONFIG_SYS_RTC_OSCILLATOR -- define RTC clock frequency RTC_DEBUG -- define to show RTC debug message CONFIG_CMD_DATE -- enable to use date feature in U-Boot CONFIG_MCFFEC -- define to use common CF FEC driver CONFIG_MII -- enable to use MII driver CONFIG_CF_DOMII -- enable to use MII feature in cmd_mii.c 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_FEC0_MIIBASE -- Set FEC0 MII base register MCFFEC_TOUT_LOOP -- set FEC timeout loop CONFIG_MCFTMR -- define to use DMA timer CONFIG_MCFPIT -- define to use PIT timer CONFIG_SYS_I2C_FSL -- define to use FSL common I2C driver CONFIG_SYS_I2C_SOFT -- define for I2C bit-banged CONFIG_SYS_I2C_SPEED -- define for I2C speed CONFIG_SYS_I2C_SLAVE -- define for I2C slave address CONFIG_SYS_I2C_OFFSET -- define for I2C base address offset CONFIG_SYS_IMMR -- define for MBAR offset CONFIG_SYS_MBAR -- define MBAR offset CONFIG_MONITOR_IS_IN_RAM -- Not support CONFIG_SYS_INIT_RAM_ADDR -- defines the base address of the MCF5301x 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: Flash: 0x00000000-0x3FFFFFFF (1024MB) DDR: 0x40000000-0x7FFFFFFF (1024MB) SRAM: 0x80000000-0x8FFFFFFF (256MB) IP: 0xFC000000-0xFFFFFFFF (256MB) 2.2. For the initial bringup, we adopted a consistent memory scheme between U-Boot and linux kernel, you can customize it based on your system requirements: Flash0: 0x00000000-0x00FFFFFF (16MB) DDR: 0x40000000-0x4FFFFFFF (256MB) SRAM: 0x80000000-0x80007FFF (32KB) IP: 0xFC000000-0xFC0FFFFF (64KB) 3. COMPILATION ============== 3.1 To create U-Boot the gcc-4.x-xx compiler set (ColdFire ELF or uClinux 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 M53017EVB_config make 4. SCREEN DUMP ============== 4.1 M53017EVB Development board (NOTE: May not show exactly the same) U-Boot 2008.10 (Oct 22 2007 - 11:07:57) CPU: Freescale MCF53015 (Mask:76 Version:0) CPU CLK 240 Mhz BUS CLK 80 Mhz Board: Freescale M53017EVB I2C: ready DRAM: 64 MB FLASH: 16 MB In: serial Out: serial Err: serial NAND: 16 MiB Net: FEC0, FEC1 -> print bootdelay=1 baudrate=115200 ethaddr=00:e0:0c:bc:e5:60 hostname=M53017EVB netdev=eth0 loadaddr=40010000 u-boot=u-boot.bin load=tftp ${loadaddr) ${u-boot} upd=run load; run prog prog=prot off 0 3ffff;era 0 3ffff;cp.b ${loadaddr} 0 ${filesize};save gatewayip=192.168.1.1 netmask=255.255.255.0 ipaddr=192.168.1.3 serverip=192.168.1.2 stdin=serial stdout=serial stderr=serial mem=65024k Environment size: 437/4092 bytes ->