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