README.m68k 5.64 KB
Newer Older
wdenk's avatar
wdenk committed
1 2 3

U-Boot for Motorola M68K

4 5 6
====================================================================
History

Wolfgang Denk's avatar
Wolfgang Denk committed
7
August 08,2005;		Jens Scharsig <esw@bus-elektronik.de>
8
			MCF5282 implementation without preloader
Wolfgang Denk's avatar
Wolfgang Denk committed
9
January 12, 2004;	<josef.baumgartner@telex.de>
wdenk's avatar
wdenk committed
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
====================================================================

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
-----------------------------
34
CPU specific code is located in: arch/m68k/cpu/mcf52x2
wdenk's avatar
wdenk committed
35 36 37 38


2.1 Motorola Coldfire MCF5282
-----------------------------
39
CPU specific code is located in: arch/m68k/cpu/mcf52x2
wdenk's avatar
wdenk committed
40

41 42
The MCF5282 Port no longer needs a preloader and can place in external or
internal FLASH.
wdenk's avatar
wdenk committed
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66


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

67 68 69 70 71 72 73 74
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
75
change CONFIG_SYS_TEXT_BASE in board/m5282evb/config.mk and CONFIG_SYS_MONITOR_BASE in
76 77 78 79 80 81 82 83 84
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
85 86
make EB+MCF-EV123_config		for external FLASH
make EB+MCF-EV123_internal_config	for internal FLASH
87

wdenk's avatar
wdenk committed
88 89 90 91 92 93 94 95 96 97

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
98
the boards config header file (CONFIG_SYS_MONITOR_BASE) and Makefile
99
(CONFIG_SYS_TEXT_BASE) to the load address.
wdenk's avatar
wdenk committed
100 101 102 103 104 105 106 107 108 109

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

110 111
CONFIG_SYS_MBAR	-- defines the base address of the MCF5272 configuration registers
CONFIG_SYS_INIT_RAM_ADDR
wdenk's avatar
wdenk committed
112
		-- defines the base address of the MCF5272 internal SRAM
113
CONFIG_SYS_ENET_BD_BASE
114
		-- defines the base address of the FEC buffer descriptors
wdenk's avatar
wdenk committed
115

116 117 118 119
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
wdenk's avatar
wdenk committed
120

121 122 123
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
wdenk's avatar
wdenk committed
124 125 126 127 128 129 130 131 132 133 134


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

135 136
CONFIG_SYS_MBAR	-- defines the base address of the MCF5282 internal register space
CONFIG_SYS_INIT_RAM_ADDR
wdenk's avatar
wdenk committed
137
		-- defines the base address of the MCF5282 internal SRAM
138
CONFIG_SYS_INT_FLASH_BASE
wdenk's avatar
wdenk committed
139
		-- defines the base address of the MCF5282 internal Flash memory
140
CONFIG_SYS_ENET_BD_BASE
141
		-- defines the base address of the FEC buffer descriptors
wdenk's avatar
wdenk committed
142

143
CONFIG_SYS_MFD
144 145
		-- defines the PLL Multiplication Factor Devider
		   (see table 9-4 of MCF user manual)
146
CONFIG_SYS_RFD		-- defines the PLL Reduce Frecuency Devider
147 148
		   (see table 9-4 of MCF user manual)

149 150 151 152
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
153
			else chipselct is read only
154
CONFIG_SYS_CSx_WS	-- defines the number of wait states  of chip select x
155

156 157 158
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
159

160
CONFIG_SYS_PxPAR	-- defines the function of ports
161

wdenk's avatar
wdenk committed
162 163 164 165 166

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/