blob: 9d5c08f768ca616ffeb6f6ef496d52f78896cfac [file] [log] [blame]
wdenkbf9e3b32004-02-12 00:47:09 +00001
2U-Boot for Motorola M68K
3
Heiko Schocher9acb6262006-04-20 08:42:42 +02004====================================================================
5History
6
Wolfgang Denk53677ef2008-05-20 16:00:29 +02007August 08,2005; Jens Scharsig <esw@bus-elektronik.de>
Heiko Schocher9acb6262006-04-20 08:42:42 +02008 MCF5282 implementation without preloader
Wolfgang Denk53677ef2008-05-20 16:00:29 +02009January 12, 2004; <josef.baumgartner@telex.de>
wdenkbf9e3b32004-02-12 00:47:09 +000010====================================================================
11
12This file contains status information for the port of U-Boot to the
13Motorola M68K series of CPUs.
14
151. OVERVIEW
16-----------
17Bernhard Kuhn ported U-Boot 0.4.0 to the Motorola Coldfire
18architecture. The patches of Bernhard support the MCF5272 and
19MCF5282. A great disadvantage of these patches was that they needed
Bin Menga1875592016-02-05 19:30:11 -080020a pre-bootloader to start U-Boot. Because of this, a new port was
wdenkbf9e3b32004-02-12 00:47:09 +000021created which no longer needs a first stage booter.
22
23Although this port is intended to cover all M68k processors, only
24the parts for the Motorola Coldfire MCF5272 and MCF5282 are
25implemented at the moment. Additional CPUs and boards will be
26hopefully added soon!
27
28
292. SUPPORTED CPUs
30-----------------
31
322.1 Motorola Coldfire MCF5272
33-----------------------------
Peter Tysera4145532010-04-12 22:28:12 -050034CPU specific code is located in: arch/m68k/cpu/mcf52x2
wdenkbf9e3b32004-02-12 00:47:09 +000035
36
372.1 Motorola Coldfire MCF5282
38-----------------------------
Peter Tysera4145532010-04-12 22:28:12 -050039CPU specific code is located in: arch/m68k/cpu/mcf52x2
wdenkbf9e3b32004-02-12 00:47:09 +000040
Heiko Schocher9acb6262006-04-20 08:42:42 +020041The MCF5282 Port no longer needs a preloader and can place in external or
42internal FLASH.
wdenkbf9e3b32004-02-12 00:47:09 +000043
44
453. SUPPORTED BOARDs
46-------------------
47
483.1 Motorola M5272C3 EVB
49------------------------
50Board specific code is located in: board/m5272c3
51
52To configure the board, type: make M5272C3_config
53
54U-Boot Memory Map:
55------------------
Bin Menga1875592016-02-05 19:30:11 -0800560xffe00000 - 0xffe3ffff U-Boot
570xffe04000 - 0xffe05fff environment (embedded in U-Boot!)
wdenkbf9e3b32004-02-12 00:47:09 +0000580xffe40000 - 0xffffffff free for linux/applications
59
60
613.2 Motorola M5282 EVB
62------------------------
63Board specific code is located in: board/m5282evb
64
65To configure the board, type: make M5272C3_config
66
Heiko Schocher9acb6262006-04-20 08:42:42 +020067At the moment the code isn't fully implemented and still needs a pre-loader!
Bin Menga1875592016-02-05 19:30:11 -080068The preloader must initialize the processor and then start U-Boot. The board
Heiko Schocher9acb6262006-04-20 08:42:42 +020069must be configured for a pre-loader (see 4.1)
70
71For the preloader, please see
72http://mailman.uclinux.org/pipermail/uclinux-dev/2003-December/023384.html
73
Bin Menga1875592016-02-05 19:30:11 -080074U-Boot is configured to run at 0x20000 at default. This can be configured by
Wolfgang Denk14d0a022010-10-07 21:51:12 +020075change CONFIG_SYS_TEXT_BASE in board/m5282evb/config.mk and CONFIG_SYS_MONITOR_BASE in
Heiko Schocher9acb6262006-04-20 08:42:42 +020076include/configs/M5282EVB.h.
77
783.2 BuS EB+MCF-EV123
79---------------------
80
81Board specific code is located in: board/bus/EB+MCF-EV123
82
83To configure the board, type:
84
Wolfgang Denk53677ef2008-05-20 16:00:29 +020085make EB+MCF-EV123_config for external FLASH
86make EB+MCF-EV123_internal_config for internal FLASH
Heiko Schocher9acb6262006-04-20 08:42:42 +020087
wdenkbf9e3b32004-02-12 00:47:09 +000088
894. CONFIGURATION OPTIONS/SETTINGS
90----------------------------------
91
924.1 Configuration to use a pre-loader
93-------------------------------------
Bin Menga1875592016-02-05 19:30:11 -080094If U-Boot should be loaded to RAM and started by a pre-loader
wdenkbf9e3b32004-02-12 00:47:09 +000095CONFIG_MONITOR_IS_IN_RAM must be defined. If it is defined the
96initial vector table and basic processor initialization will not
Bin Menga1875592016-02-05 19:30:11 -080097be compiled in. The start address of U-Boot must be adjusted in
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +020098the boards config header file (CONFIG_SYS_MONITOR_BASE) and Makefile
Wolfgang Denk14d0a022010-10-07 21:51:12 +020099(CONFIG_SYS_TEXT_BASE) to the load address.
wdenkbf9e3b32004-02-12 00:47:09 +0000100
wdenkbf9e3b32004-02-12 00:47:09 +00001014.1 MCF5272 specific Options/Settings
102-------------------------------------
103
104CONFIG_MCF52x2 -- defined for all MCF52x2 CPUs
105CONFIG_M5272 -- defined for all Motorola MCF5272 CPUs
106
107CONFIG_MONITOR_IS_IN_RAM
Bin Menga1875592016-02-05 19:30:11 -0800108 -- defined if U-Boot is loaded by a pre-loader
wdenkbf9e3b32004-02-12 00:47:09 +0000109
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200110CONFIG_SYS_MBAR -- defines the base address of the MCF5272 configuration registers
111CONFIG_SYS_INIT_RAM_ADDR
wdenkbf9e3b32004-02-12 00:47:09 +0000112 -- defines the base address of the MCF5272 internal SRAM
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200113CONFIG_SYS_ENET_BD_BASE
Mike Williams16263082011-07-22 04:01:30 +0000114 -- defines the base address of the FEC buffer descriptors
wdenkbf9e3b32004-02-12 00:47:09 +0000115
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200116CONFIG_SYS_SCR -- defines the contents of the System Configuration Register
117CONFIG_SYS_SPR -- defines the contents of the System Protection Register
118CONFIG_SYS_BRx_PRELIM -- defines the contents of the Chip Select Base Registers
119CONFIG_SYS_ORx_PRELIM -- defines the contents of the Chip Select Option Registers
wdenkbf9e3b32004-02-12 00:47:09 +0000120
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200121CONFIG_SYS_PxDDR -- defines the contents of the Data Direction Registers
122CONFIG_SYS_PxDAT -- defines the contents of the Data Registers
123CONFIG_SYS_PXCNT -- defines the contents of the Port Configuration Registers
wdenkbf9e3b32004-02-12 00:47:09 +0000124
125
1264.2 MCF5282 specific Options/Settings
127-------------------------------------
128
129CONFIG_MCF52x2 -- defined for all MCF52x2 CPUs
130CONFIG_M5282 -- defined for all Motorola MCF5282 CPUs
131
132CONFIG_MONITOR_IS_IN_RAM
Bin Menga1875592016-02-05 19:30:11 -0800133 -- defined if U-Boot is loaded by a pre-loader
wdenkbf9e3b32004-02-12 00:47:09 +0000134
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200135CONFIG_SYS_MBAR -- defines the base address of the MCF5282 internal register space
136CONFIG_SYS_INIT_RAM_ADDR
wdenkbf9e3b32004-02-12 00:47:09 +0000137 -- defines the base address of the MCF5282 internal SRAM
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200138CONFIG_SYS_INT_FLASH_BASE
wdenkbf9e3b32004-02-12 00:47:09 +0000139 -- defines the base address of the MCF5282 internal Flash memory
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200140CONFIG_SYS_ENET_BD_BASE
Mike Williams16263082011-07-22 04:01:30 +0000141 -- defines the base address of the FEC buffer descriptors
wdenkbf9e3b32004-02-12 00:47:09 +0000142
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200143CONFIG_SYS_MFD
Heiko Schocher9acb6262006-04-20 08:42:42 +0200144 -- defines the PLL Multiplication Factor Devider
145 (see table 9-4 of MCF user manual)
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200146CONFIG_SYS_RFD -- defines the PLL Reduce Frecuency Devider
Heiko Schocher9acb6262006-04-20 08:42:42 +0200147 (see table 9-4 of MCF user manual)
148
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200149CONFIG_SYS_CSx_BASE -- defines the base address of chip select x
150CONFIG_SYS_CSx_SIZE -- defines the memory size (address range) of chip select x
151CONFIG_SYS_CSx_WIDTH -- defines the bus with of chip select x
152CONFIG_SYS_CSx_RO -- if set to 0 chip select x is read/wirte
Heiko Schocher9acb6262006-04-20 08:42:42 +0200153 else chipselct is read only
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200154CONFIG_SYS_CSx_WS -- defines the number of wait states of chip select x
Heiko Schocher9acb6262006-04-20 08:42:42 +0200155
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200156CONFIG_SYS_PxDDR -- defines the contents of the Data Direction Registers
157CONFIG_SYS_PxDAT -- defines the contents of the Data Registers
158CONFIG_SYS_PXCNT -- defines the contents of the Port Configuration Registers
Heiko Schocher9acb6262006-04-20 08:42:42 +0200159
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200160CONFIG_SYS_PxPAR -- defines the function of ports
Heiko Schocher9acb6262006-04-20 08:42:42 +0200161
wdenkbf9e3b32004-02-12 00:47:09 +0000162
1635. COMPILER
164-----------
165To create U-Boot the gcc-2.95.3 compiler set (m68k-elf-20030314) from uClinux.org was used.
166You can download it from: http://www.uclinux.org/pub/uClinux/m68k-elf-tools/