Blame view
doc/README.m68k
4.76 KB
bf9e3b38f * Some code cleanup |
1 |
|
6ba2da90d m68k: doc: update... |
2 |
U-Boot for Motorola (or Freescale/NXP) ColdFire processors |
bf9e3b38f * Some code cleanup |
3 |
|
6ba2da90d m68k: doc: update... |
4 |
=============================================================================== |
9acb626fc Add MCF5282 suppo... |
5 |
History |
6ba2da90d m68k: doc: update... |
6 7 |
November 02, 2017 Angelo Dureghello <angelo@sysam.it> August 08, 2005 Jens Scharsig <esw@bus-elektronik.de> |
9acb626fc Add MCF5282 suppo... |
8 |
MCF5282 implementation without preloader |
6ba2da90d m68k: doc: update... |
9 10 |
January 12, 2004 <josef.baumgartner@telex.de> =============================================================================== |
bf9e3b38f * Some code cleanup |
11 12 |
This file contains status information for the port of U-Boot to the |
6ba2da90d m68k: doc: update... |
13 14 15 16 |
Motorola ColdFire series of CPUs. 1. Overview |
bf9e3b38f * Some code cleanup |
17 |
|
6ba2da90d m68k: doc: update... |
18 19 20 21 |
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. |
bf9e3b38f * Some code cleanup |
22 |
|
6ba2da90d m68k: doc: update... |
23 24 25 26 27 |
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. |
bf9e3b38f * Some code cleanup |
28 |
|
6ba2da90d m68k: doc: update... |
29 30 31 |
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. |
bf9e3b38f * Some code cleanup |
32 |
|
bf9e3b38f * Some code cleanup |
33 |
|
6ba2da90d m68k: doc: update... |
34 |
2. Supported CPU families |
bf9e3b38f * Some code cleanup |
35 |
|
6ba2da90d m68k: doc: update... |
36 37 |
Please "make menuconfig" with ARCH=m68k, or check arch/m68k/cpu to see the currently supported processor and families. |
bf9e3b38f * Some code cleanup |
38 |
|
bf9e3b38f * Some code cleanup |
39 |
|
6ba2da90d m68k: doc: update... |
40 |
3. Supported boards |
bf9e3b38f * Some code cleanup |
41 |
|
6ba2da90d m68k: doc: update... |
42 43 44 45 |
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. |
bf9e3b38f * Some code cleanup |
46 |
|
6ba2da90d m68k: doc: update... |
47 48 |
To know details as memory map, build targets, default setup, etc, of a specific board please check: |
bf9e3b38f * Some code cleanup |
49 |
|
6ba2da90d m68k: doc: update... |
50 51 52 |
include/configs/<boardname>.h and/or configs/<boardname>_defconfig |
bf9e3b38f * Some code cleanup |
53 |
|
6ba2da90d m68k: doc: update... |
54 55 |
It is possible to build all ColdFire boards in a single command-line command, from u-boot root directory, as: |
bf9e3b38f * Some code cleanup |
56 |
|
6ba2da90d m68k: doc: update... |
57 |
./tools/buildman/buildman m68k |
bf9e3b38f * Some code cleanup |
58 |
|
6ba2da90d m68k: doc: update... |
59 |
3.1. Build U-Boot for a specific board |
bf9e3b38f * Some code cleanup |
60 |
|
6ba2da90d m68k: doc: update... |
61 |
A bash script similar to the one below may be used: |
bf9e3b38f * Some code cleanup |
62 |
|
6ba2da90d m68k: doc: update... |
63 |
#!/bin/bash |
9acb626fc Add MCF5282 suppo... |
64 |
|
6ba2da90d m68k: doc: update... |
65 |
export CROSS_COMPILE=/opt/toolchains/m68k/gcc-4.9.0-nolibc/bin/m68k-linux- |
9acb626fc Add MCF5282 suppo... |
66 |
|
6ba2da90d m68k: doc: update... |
67 |
board=M5475DFE |
9acb626fc Add MCF5282 suppo... |
68 |
|
6ba2da90d m68k: doc: update... |
69 70 71 |
make distclean make ARCH=m68k ${board}_defconfig make ARCH=m68k KBUILD_VERBOSE=1 |
9acb626fc Add MCF5282 suppo... |
72 |
|
9acb626fc Add MCF5282 suppo... |
73 |
|
6ba2da90d m68k: doc: update... |
74 |
4. Adopted toolchains |
9acb626fc Add MCF5282 suppo... |
75 |
|
6ba2da90d m68k: doc: update... |
76 77 |
Please check: https://www.denx.de/wiki/U-Boot/ColdFireNotes |
9acb626fc Add MCF5282 suppo... |
78 |
|
bf9e3b38f * Some code cleanup |
79 |
|
6ba2da90d m68k: doc: update... |
80 81 82 83 |
5. ColdFire specific configuration options/settings 5.1. Configuration to use a pre-loader |
bf9e3b38f * Some code cleanup |
84 |
|
a187559e3 Use correct spell... |
85 |
If U-Boot should be loaded to RAM and started by a pre-loader |
bf9e3b38f * Some code cleanup |
86 87 |
CONFIG_MONITOR_IS_IN_RAM must be defined. If it is defined the initial vector table and basic processor initialization will not |
a187559e3 Use correct spell... |
88 |
be compiled in. The start address of U-Boot must be adjusted in |
6d0f6bcf3 rename CFG_ macro... |
89 |
the boards config header file (CONFIG_SYS_MONITOR_BASE) and Makefile |
14d0a02a1 Rename TEXT_BASE ... |
90 |
(CONFIG_SYS_TEXT_BASE) to the load address. |
bf9e3b38f * Some code cleanup |
91 |
|
bf9e3b38f * Some code cleanup |
92 |
|
6ba2da90d m68k: doc: update... |
93 |
5.2 ColdFire CPU specific options/settings |
bf9e3b38f * Some code cleanup |
94 |
|
6ba2da90d m68k: doc: update... |
95 |
To specify a CPU model, some defines shoudl be used, i.e.: |
bf9e3b38f * Some code cleanup |
96 97 |
CONFIG_MCF52x2 -- defined for all MCF52x2 CPUs |
6ba2da90d m68k: doc: update... |
98 |
CONFIG_M5272 -- defined for all Motorola MCF5272 CPUs |
bf9e3b38f * Some code cleanup |
99 |
|
6ba2da90d m68k: doc: update... |
100 101 |
Other options, generally set inside include/configs/<boardname>.h, they may apply to one or more cpu for the ColdFire family: |
bf9e3b38f * Some code cleanup |
102 |
|
6ba2da90d m68k: doc: update... |
103 104 |
CONFIG_SYS_MBAR -- defines the base address of the MCF5272 configuration registers |
6d0f6bcf3 rename CFG_ macro... |
105 |
CONFIG_SYS_ENET_BD_BASE |
162630879 cleanup: Fix typo... |
106 |
-- defines the base address of the FEC buffer descriptors |
6ba2da90d m68k: doc: update... |
107 108 109 |
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 |
9acb626fc Add MCF5282 suppo... |
110 |
(see table 9-4 of MCF user manual) |
6ba2da90d m68k: doc: update... |
111 |
CONFIG_SYS_RFD -- defines the PLL Reduce Frequency Devider |
9acb626fc Add MCF5282 suppo... |
112 |
(see table 9-4 of MCF user manual) |
6ba2da90d m68k: doc: update... |
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
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 CONFIG_SYS_CACHE_DCACR CONFIG_SYS_CACHE_ACRX -- cache-related registers config CONFIG_SYS_SDRAM_BASE CONFIG_SYS_SDRAM_SIZE CONFIG_SYS_SDRAM_BASEX CONFIG_SYS_SDRAM_CFG1 CONFIG_SYS_SDRAM_CFG2 CONFIG_SYS_SDRAM_CTRL CONFIG_SYS_SDRAM_MODE 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 |