]> git.ipfire.org Git - people/ms/u-boot.git/blame - doc/README.m68k
rockchip: video: rk_vop: migrate to livetree
[people/ms/u-boot.git] / doc / README.m68k
CommitLineData
bf9e3b38 1
6ba2da90 2U-Boot for Motorola (or Freescale/NXP) ColdFire processors
bf9e3b38 3
6ba2da90 4===============================================================================
9acb626f
HS
5History
6
6ba2da90
AD
7November 02, 2017 Angelo Dureghello <angelo@sysam.it>
8August 08, 2005 Jens Scharsig <esw@bus-elektronik.de>
9acb626f 9 MCF5282 implementation without preloader
6ba2da90
AD
10January 12, 2004 <josef.baumgartner@telex.de>
11===============================================================================
12
bf9e3b38
WD
13
14This file contains status information for the port of U-Boot to the
6ba2da90
AD
15Motorola ColdFire series of CPUs.
16
17
181. Overview
bf9e3b38 19
6ba2da90
AD
20The ColdFire instruction set is "assembly source" compatible but an evolution
21of the original 68000 instruction set. Some not much used instructions has
22been removed. The instructions are only 16, 32, or 48 bits long, a
23simplification compared to the 68000 series.
bf9e3b38 24
6ba2da90
AD
25Bernhard Kuhn ported U-Boot 0.4.0 to the Motorola ColdFire architecture.
26The patches of Bernhard support the MCF5272 and MCF5282. A great disadvantage
27of these patches was that they needed a pre-bootloader to start U-Boot.
28Because of this, a new port was created which no longer needs a first stage
29booter.
bf9e3b38 30
6ba2da90
AD
31Thanks mainly to Freescale but also to several other contributors, U-Boot now
32supports nearly the entire range of ColdFire processors and their related
33development boards.
bf9e3b38 34
bf9e3b38 35
6ba2da90 362. Supported CPU families
bf9e3b38 37
6ba2da90
AD
38Please "make menuconfig" with ARCH=m68k, or check arch/m68k/cpu to see the
39currently supported processor and families.
bf9e3b38 40
bf9e3b38 41
6ba2da90 423. Supported boards
bf9e3b38 43
6ba2da90
AD
44U-Boot supports actually more than 40 ColdFire based boards.
45Board configuration can be done trough include/configs/<boardname>.h but the
46current recommended method is to use the new and more friendly approach as
47the "make menuconfig" way, very similar to the Linux way.
bf9e3b38 48
6ba2da90
AD
49To know details as memory map, build targets, default setup, etc, of a
50specific board please check:
bf9e3b38 51
6ba2da90
AD
52include/configs/<boardname>.h
53and/or
54configs/<boardname>_defconfig
bf9e3b38 55
6ba2da90
AD
56It is possible to build all ColdFire boards in a single command-line command,
57from u-boot root directory, as:
bf9e3b38 58
6ba2da90 59./tools/buildman/buildman m68k
bf9e3b38
WD
60
61
6ba2da90 623.1. Build U-Boot for a specific board
bf9e3b38 63
6ba2da90 64A bash script similar to the one below may be used:
bf9e3b38 65
6ba2da90 66#!/bin/bash
9acb626f 67
6ba2da90 68export CROSS_COMPILE=/opt/toolchains/m68k/gcc-4.9.0-nolibc/bin/m68k-linux-
9acb626f 69
6ba2da90 70board=M5475DFE
9acb626f 71
6ba2da90
AD
72make distclean
73make ARCH=m68k ${board}_defconfig
74make ARCH=m68k KBUILD_VERBOSE=1
9acb626f 75
9acb626f 76
6ba2da90 774. Adopted toolchains
9acb626f 78
6ba2da90
AD
79Please check:
80https://www.denx.de/wiki/U-Boot/ColdFireNotes
9acb626f 81
bf9e3b38 82
6ba2da90
AD
835. ColdFire specific configuration options/settings
84
85
865.1. Configuration to use a pre-loader
bf9e3b38 87
a187559e 88If U-Boot should be loaded to RAM and started by a pre-loader
bf9e3b38
WD
89CONFIG_MONITOR_IS_IN_RAM must be defined. If it is defined the
90initial vector table and basic processor initialization will not
a187559e 91be compiled in. The start address of U-Boot must be adjusted in
6d0f6bcf 92the boards config header file (CONFIG_SYS_MONITOR_BASE) and Makefile
14d0a02a 93(CONFIG_SYS_TEXT_BASE) to the load address.
bf9e3b38 94
bf9e3b38 95
6ba2da90 965.2 ColdFire CPU specific options/settings
bf9e3b38 97
6ba2da90 98To specify a CPU model, some defines shoudl be used, i.e.:
bf9e3b38
WD
99
100CONFIG_MCF52x2 -- defined for all MCF52x2 CPUs
6ba2da90 101CONFIG_M5272 -- defined for all Motorola MCF5272 CPUs
bf9e3b38 102
6ba2da90
AD
103Other options, generally set inside include/configs/<boardname>.h, they may
104apply to one or more cpu for the ColdFire family:
bf9e3b38 105
6ba2da90
AD
106CONFIG_SYS_MBAR -- defines the base address of the MCF5272 configuration
107 registers
6d0f6bcf 108CONFIG_SYS_ENET_BD_BASE
16263087 109 -- defines the base address of the FEC buffer descriptors
6ba2da90
AD
110CONFIG_SYS_SCR -- defines the contents of the System Configuration Register
111CONFIG_SYS_SPR -- defines the contents of the System Protection Register
112CONFIG_SYS_MFD -- defines the PLL Multiplication Factor Divider
9acb626f 113 (see table 9-4 of MCF user manual)
6ba2da90 114CONFIG_SYS_RFD -- defines the PLL Reduce Frequency Devider
9acb626f 115 (see table 9-4 of MCF user manual)
6ba2da90
AD
116CONFIG_SYS_CSx_BASE
117 -- defines the base address of chip select x
118CONFIG_SYS_CSx_SIZE
119 -- defines the memory size (address range) of chip select x
120CONFIG_SYS_CSx_WIDTH
121 -- defines the bus with of chip select x
122CONFIG_SYS_CSx_MASK
123 -- defines the mask for the related chip select x
124CONFIG_SYS_CSx_RO
125 -- if set to 0 chip select x is read/write else chip select
126 is read only
127CONFIG_SYS_CSx_WS
128 -- defines the number of wait states of chip select x
129CONFIG_SYS_CACHE_ICACR
130CONFIG_SYS_CACHE_DCACR
131CONFIG_SYS_CACHE_ACRX
132 -- cache-related registers config
133CONFIG_SYS_SDRAM_BASE
134CONFIG_SYS_SDRAM_SIZE
135CONFIG_SYS_SDRAM_BASEX
136CONFIG_SYS_SDRAM_CFG1
137CONFIG_SYS_SDRAM_CFG2
138CONFIG_SYS_SDRAM_CTRL
139CONFIG_SYS_SDRAM_MODE
140CONFIG_SYS_SDRAM_EMOD
141 -- SDRAM config for SDRAM controller-specific registers, please
142 see arch/m68k/cpu/<specific_cpu>/start.S files to see how
143 these options are used.
144CONFIG_MCFUART
145 -- defines enabling of ColdFire UART driver
146CONFIG_SYS_UART_PORT
147 -- defines the UART port to be used (only a single UART can be
148 actually enabled)
149CONFIG_SYS_SBFHDR_SIZE
150 -- size of the prepended SBF header, if any