Skip to content
Snippets Groups Projects
README.m68k 5.64 KiB
Newer Older
  • Learn to ignore specific revisions
  • Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    U-Boot for Motorola M68K
    
    
    ====================================================================
    History
    
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    August 08,2005;		Jens Scharsig <esw@bus-elektronik.de>
    
    			MCF5282 implementation without preloader
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    January 12, 2004;	<josef.baumgartner@telex.de>
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    ====================================================================
    
    This file contains status information for the port of U-Boot to the
    Motorola M68K series of CPUs.
    
    1. OVERVIEW
    -----------
    Bernhard Kuhn ported U-Boot 0.4.0 to the Motorola Coldfire
    architecture. The patches of Bernhard support the MCF5272 and
    MCF5282. A great disadvantage of these patches was that they needed
    
    a pre-bootloader to start U-Boot. Because of this, a new port was
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    created which no longer needs a first stage booter.
    
    Although this port is intended to cover all M68k processors, only
    the parts for the Motorola Coldfire MCF5272 and MCF5282 are
    implemented at the moment. Additional CPUs and boards will be
    hopefully added soon!
    
    
    2. SUPPORTED CPUs
    -----------------
    
    2.1 Motorola Coldfire MCF5272
    -----------------------------
    
    CPU specific code is located in: arch/m68k/cpu/mcf52x2
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    
    2.1 Motorola Coldfire MCF5282
    -----------------------------
    
    CPU specific code is located in: arch/m68k/cpu/mcf52x2
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    
    The MCF5282 Port no longer needs a preloader and can place in external or
    internal FLASH.
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    
    3. SUPPORTED BOARDs
    -------------------
    
    3.1 Motorola M5272C3 EVB
    ------------------------
    Board specific code is located in: board/m5272c3
    
    To configure the board, type: make M5272C3_config
    
    U-Boot Memory Map:
    ------------------
    
    0xffe00000 - 0xffe3ffff		U-Boot
    0xffe04000 - 0xffe05fff		environment (embedded in U-Boot!)
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    0xffe40000 - 0xffffffff		free for linux/applications
    
    
    3.2 Motorola M5282 EVB
    ------------------------
    Board specific code is located in: board/m5282evb
    
    To configure the board, type: make M5272C3_config
    
    
    At the moment the code isn't fully implemented and still needs a pre-loader!
    
    The preloader must initialize the processor and then start U-Boot. The board
    
    must be configured for a pre-loader (see 4.1)
    
    For the preloader, please see
    http://mailman.uclinux.org/pipermail/uclinux-dev/2003-December/023384.html
    
    
    U-Boot is configured to run at 0x20000 at default. This can be configured by
    
    change CONFIG_SYS_TEXT_BASE in board/m5282evb/config.mk and CONFIG_SYS_MONITOR_BASE in
    
    include/configs/M5282EVB.h.
    
    3.2 BuS EB+MCF-EV123
    ---------------------
    
    Board specific code is located in: board/bus/EB+MCF-EV123
    
    To configure the board, type:
    
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    make EB+MCF-EV123_config		for external FLASH
    make EB+MCF-EV123_internal_config	for internal FLASH
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    4. CONFIGURATION OPTIONS/SETTINGS
    ----------------------------------
    
    4.1 Configuration to use a pre-loader
    -------------------------------------
    
    If U-Boot should be loaded to RAM and started by a pre-loader
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    CONFIG_MONITOR_IS_IN_RAM must be defined. If it is defined the
    initial vector table and basic processor initialization will not
    
    be compiled in. The start address of U-Boot must be adjusted in
    
    the boards config header file (CONFIG_SYS_MONITOR_BASE) and Makefile
    
    (CONFIG_SYS_TEXT_BASE) to the load address.
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    4.1 MCF5272 specific Options/Settings
    -------------------------------------
    
    CONFIG_MCF52x2	-- defined for all MCF52x2 CPUs
    CONFIG_M5272	-- defined for all Motorola MCF5272 CPUs
    
    CONFIG_MONITOR_IS_IN_RAM
    
    		-- defined if U-Boot is loaded by a pre-loader
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    
    CONFIG_SYS_MBAR	-- defines the base address of the MCF5272 configuration registers
    CONFIG_SYS_INIT_RAM_ADDR
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    		-- defines the base address of the MCF5272 internal SRAM
    
    CONFIG_SYS_ENET_BD_BASE
    
    		-- defines the base address of the FEC buffer descriptors
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    
    CONFIG_SYS_SCR		-- defines the contents of the System Configuration Register
    CONFIG_SYS_SPR		-- defines the contents of the System Protection Register
    CONFIG_SYS_BRx_PRELIM	-- defines the contents of the Chip Select Base Registers
    CONFIG_SYS_ORx_PRELIM	-- defines the contents of the Chip Select Option Registers
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    
    CONFIG_SYS_PxDDR	-- defines the contents of the Data Direction Registers
    CONFIG_SYS_PxDAT	-- defines the contents of the Data Registers
    CONFIG_SYS_PXCNT	-- defines the contents of the Port Configuration Registers
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    
    4.2 MCF5282 specific Options/Settings
    -------------------------------------
    
    CONFIG_MCF52x2	-- defined for all MCF52x2 CPUs
    CONFIG_M5282	-- defined for all Motorola MCF5282 CPUs
    
    CONFIG_MONITOR_IS_IN_RAM
    
    		-- defined if U-Boot is loaded by a pre-loader
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    
    CONFIG_SYS_MBAR	-- defines the base address of the MCF5282 internal register space
    CONFIG_SYS_INIT_RAM_ADDR
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    		-- defines the base address of the MCF5282 internal SRAM
    
    CONFIG_SYS_INT_FLASH_BASE
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    		-- defines the base address of the MCF5282 internal Flash memory
    
    CONFIG_SYS_ENET_BD_BASE
    
    		-- defines the base address of the FEC buffer descriptors
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    
    		-- defines the PLL Multiplication Factor Devider
    		   (see table 9-4 of MCF user manual)
    
    CONFIG_SYS_RFD		-- defines the PLL Reduce Frecuency Devider
    
    		   (see table 9-4 of MCF user manual)
    
    
    CONFIG_SYS_CSx_BASE	-- defines the base address of chip select x
    CONFIG_SYS_CSx_SIZE	-- defines the memory size (address range) of chip select x
    CONFIG_SYS_CSx_WIDTH	-- defines the bus with of chip select x
    CONFIG_SYS_CSx_RO	-- if set to 0 chip select x is read/wirte
    
    			else chipselct is read only
    
    CONFIG_SYS_CSx_WS	-- defines the number of wait states  of chip select x
    
    CONFIG_SYS_PxDDR	-- defines the contents of the Data Direction Registers
    CONFIG_SYS_PxDAT	-- defines the contents of the Data Registers
    CONFIG_SYS_PXCNT	-- defines the contents of the Port Configuration Registers
    
    CONFIG_SYS_PxPAR	-- defines the function of ports
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    
    5. COMPILER
    -----------
    To create U-Boot the gcc-2.95.3 compiler set (m68k-elf-20030314) from uClinux.org was used.
    You can download it from: http://www.uclinux.org/pub/uClinux/m68k-elf-tools/