1 .. SPDX-License-Identifier: GPL-2.0+
8 * November 02, 2017 Angelo Dureghello <angelo@sysam.it>
9 * August 08, 2005 Jens Scharsig <esw@bus-elektronik.de>
10 MCF5282 implementation without preloader
11 * January 12, 2004 <josef.baumgartner@telex.de>
13 This file contains status information for the port of U-Boot to the
14 Motorola ColdFire series of CPUs.
19 The ColdFire instruction set is "assembly source" compatible but an evolution
20 of the original 68000 instruction set. Some not much used instructions has
21 been removed. The instructions are only 16, 32, or 48 bits long, a
22 simplification compared to the 68000 series.
24 Bernhard Kuhn ported U-Boot 0.4.0 to the Motorola ColdFire architecture.
25 The patches of Bernhard support the MCF5272 and MCF5282. A great disadvantage
26 of these patches was that they needed a pre-bootloader to start U-Boot.
27 Because of this, a new port was created which no longer needs a first stage
30 Thanks mainly to Freescale but also to several other contributors, U-Boot now
31 supports nearly the entire range of ColdFire processors and their related
35 Supported CPU families
36 ----------------------
38 Please "make menuconfig" and select "m68k" or check arch/m68k/cpu to see the
39 currently supported processor and families.
45 U-Boot supports actually more than 40 ColdFire based boards.
46 Board configuration can be done trough include/configs/<boardname>.h but the
47 current recommended method is to use the new and more friendly approach as
48 the "make menuconfig" way, very similar to the Linux way.
50 To know details as memory map, build targets, default setup, etc, of a
51 specific board please check:
53 * include/configs/<boardname>.h
57 * configs/<boardname>_defconfig
59 It is possible to build all ColdFire boards in a single command-line command,
60 from u-boot root directory, as::
62 ./tools/buildman/buildman m68k
64 Build U-Boot for a specific board
65 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
67 A bash script similar to the one below may be used:
73 export CROSS_COMPILE=/opt/toolchains/m68k/gcc-4.9.0-nolibc/bin/m68k-linux-
78 make ${board}_defconfig
86 https://www.denx.de/wiki/U-Boot/ColdFireNotes
89 ColdFire specific configuration options/settings
90 ------------------------------------------------
92 Configuration to use a pre-loader
93 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
95 If U-Boot should be loaded to RAM and started by a pre-loader
96 CONFIG_MONITOR_IS_IN_RAM must be defined. If it is defined the
97 initial vector table and basic processor initialization will not
98 be compiled in. The start address of U-Boot must be adjusted in
99 the boards config header file (CONFIG_SYS_MONITOR_BASE) and Makefile
100 (CONFIG_SYS_TEXT_BASE) to the load address.
102 ColdFire CPU specific options/settings
103 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
105 To specify a CPU model, some defines shoudl be used, i.e.:
108 defined for all MCF52x2 CPUs
110 defined for all Motorola MCF5272 CPUs
112 Other options, generally set inside include/configs/<boardname>.h, they may
113 apply to one or more cpu for the ColdFire family:
116 defines the base address of the MCF5272 configuration registers
117 CONFIG_SYS_ENET_BD_BASE:
118 defines the base address of the FEC buffer descriptors
120 defines the contents of the System Configuration Register
122 defines the contents of the System Protection Register
124 defines the PLL Multiplication Factor Divider
125 (see table 9-4 of MCF user manual)
127 defines the PLL Reduce Frequency Devider
128 (see table 9-4 of MCF user manual)
130 defines the base address of chip select x
132 defines the memory size (address range) of chip select x
133 CONFIG_SYS_CSx_WIDTH:
134 defines the bus with of chip select x
136 defines the mask for the related chip select x
138 if set to 0 chip select x is read/write else chip select is read only
140 defines the number of wait states of chip select x
141 CONFIG_SYS_CACHE_ICACR:
142 cache-related registers config
143 CONFIG_SYS_CACHE_DCACR:
144 cache-related registers config
145 CONFIG_SYS_CACHE_ACRX:
146 cache-related registers config
147 CONFIG_SYS_SDRAM_BASE:
148 SDRAM config for SDRAM controller-specific registers
149 CONFIG_SYS_SDRAM_SIZE:
150 SDRAM config for SDRAM controller-specific registers
151 CONFIG_SYS_SDRAM_BASEX:
152 SDRAM config for SDRAM controller-specific registers
153 CONFIG_SYS_SDRAM_CFG1:
154 SDRAM config for SDRAM controller-specific registers
155 CONFIG_SYS_SDRAM_CFG2:
156 SDRAM config for SDRAM controller-specific registers
157 CONFIG_SYS_SDRAM_CTRL:
158 SDRAM config for SDRAM controller-specific registers
159 CONFIG_SYS_SDRAM_MODE:
160 SDRAM config for SDRAM controller-specific registers
161 CONFIG_SYS_SDRAM_EMOD:
162 SDRAM config for SDRAM controller-specific registers, please
163 see arch/m68k/cpu/<specific_cpu>/start.S files to see how
164 these options are used.
166 defines enabling of ColdFire UART driver
167 CONFIG_SYS_UART_PORT:
168 defines the UART port to be used (only a single UART can be actually enabled)
169 CONFIG_SYS_SBFHDR_SIZE:
170 size of the prepended SBF header, if any