.. SPDX-License-Identifier: GPL-2.0+

M68K / ColdFire
===============

History
-------
* November 02, 2017	Angelo Dureghello <angelo@sysam.it>
* 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 ColdFire series of CPUs.

Overview
--------

The ColdFire instruction set is "assembly source" compatible but an evolution
of the original 68000 instruction set. Some not much used instructions has
been removed. The instructions are only 16, 32, or 48 bits long, a
simplification compared to the 68000 series.

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.

Thanks mainly to Freescale but also to several other contributors, U-Boot now
supports nearly the entire range of ColdFire processors and their related
development boards.


Supported CPU families
----------------------

Please "make menuconfig" with ARCH=m68k, or check arch/m68k/cpu to see the
currently supported processor and families.


Supported boards
----------------

U-Boot supports actually more than 40 ColdFire based boards.
Board configuration can be done trough include/configs/<boardname>.h but the
current recommended method is to use the new and more friendly approach as
the "make menuconfig" way, very similar to the Linux way.

To know details as memory map, build targets, default setup, etc, of a
specific board please check:

* include/configs/<boardname>.h

and/or

* configs/<boardname>_defconfig

It is possible to build all ColdFire boards in a single command-line command,
from u-boot root directory, as::

   ./tools/buildman/buildman m68k

Build U-Boot for a specific board
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

A bash script similar to the one below may be used:

.. code-block:: shell

   #!/bin/bash

   export CROSS_COMPILE=/opt/toolchains/m68k/gcc-4.9.0-nolibc/bin/m68k-linux-

   board=M5475DFE

   make distclean
   make ARCH=m68k ${board}_defconfig
   make ARCH=m68k KBUILD_VERBOSE=1


Adopted toolchains
------------------

Please check:
https://www.denx.de/wiki/U-Boot/ColdFireNotes


ColdFire specific configuration options/settings
------------------------------------------------

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.

ColdFire CPU specific options/settings
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

To specify a CPU model, some defines shoudl be used, i.e.:

CONFIG_MCF52x2:
  defined for all MCF52x2 CPUs
CONFIG_M5272:
  defined for all Motorola MCF5272 CPUs

Other options, generally set inside include/configs/<boardname>.h, they may
apply to one or more cpu for the ColdFire family:

CONFIG_SYS_MBAR:
  defines the base address of the MCF5272 configuration registers
CONFIG_SYS_ENET_BD_BASE:
  defines the base address 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_MFD:
  defines the PLL Multiplication Factor Divider
  (see table 9-4 of MCF user manual)
CONFIG_SYS_RFD:
  defines the PLL Reduce Frequency 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_MASK:
  defines the mask for the related chip select x
CONFIG_SYS_CSx_RO:
  if set to 0 chip select x is read/write else chip select is read only
CONFIG_SYS_CSx_WS:
  defines the number of wait states  of chip select x
CONFIG_SYS_CACHE_ICACR:
  cache-related registers config
CONFIG_SYS_CACHE_DCACR:
  cache-related registers config
CONFIG_SYS_CACHE_ACRX:
  cache-related registers config
CONFIG_SYS_SDRAM_BASE:
  SDRAM config for SDRAM controller-specific registers
CONFIG_SYS_SDRAM_SIZE:
  SDRAM config for SDRAM controller-specific registers
CONFIG_SYS_SDRAM_BASEX:
  SDRAM config for SDRAM controller-specific registers
CONFIG_SYS_SDRAM_CFG1:
  SDRAM config for SDRAM controller-specific registers
CONFIG_SYS_SDRAM_CFG2:
  SDRAM config for SDRAM controller-specific registers
CONFIG_SYS_SDRAM_CTRL:
  SDRAM config for SDRAM controller-specific registers
CONFIG_SYS_SDRAM_MODE:
  SDRAM config for SDRAM controller-specific registers
CONFIG_SYS_SDRAM_EMOD:
  SDRAM config for SDRAM controller-specific registers, please
  see arch/m68k/cpu/<specific_cpu>/start.S files to see how
  these options are used.
CONFIG_MCFUART:
  defines enabling of ColdFire UART driver
CONFIG_SYS_UART_PORT:
  defines the UART port to be used (only a single UART can be actually enabled)
CONFIG_SYS_SBFHDR_SIZE:
  size of the prepended SBF header, if any
