
U-Boot for Motorola M68K

====================================================================
History

August 08,2005;		Jens Scharsig <esw@bus-elektronik.de>
			MCF5282 implementation without preloader
January 12, 2004;	<josef.baumgartner@telex.de>
====================================================================

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
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


2.1 Motorola Coldfire MCF5282
-----------------------------
CPU specific code is located in: arch/m68k/cpu/mcf52x2

The MCF5282 Port no longer needs a preloader and can place in external or
internal FLASH.


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!)
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:

make EB+MCF-EV123_config		for external FLASH
make EB+MCF-EV123_internal_config	for internal FLASH


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
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.

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

CONFIG_SYS_MBAR	-- defines the base address of the MCF5272 configuration registers
CONFIG_SYS_INIT_RAM_ADDR
		-- defines the base address of the MCF5272 internal SRAM
CONFIG_SYS_ENET_BD_BASE
		-- defines the base address of the FEC buffer descriptors

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

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


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

CONFIG_SYS_MBAR	-- defines the base address of the MCF5282 internal register space
CONFIG_SYS_INIT_RAM_ADDR
		-- defines the base address of the MCF5282 internal SRAM
CONFIG_SYS_INT_FLASH_BASE
		-- defines the base address of the MCF5282 internal Flash memory
CONFIG_SYS_ENET_BD_BASE
		-- defines the base address of the FEC buffer descriptors

CONFIG_SYS_MFD
		-- 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


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/
