
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: cpu/mcf52x2


2.1 Motorola Coldfire MCF5282
-----------------------------
CPU specific code is located in: 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 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
(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/
