Commit 6ba2da90de9acbdfbc0ad1519fd2905e9548cb34
Committed by
Tom Rini
1 parent
8f7102cf6b
Exists in
smarc_8mq_lf_v2020.04
and in
17 other branches
m68k: doc: update outdated documentation
Update m68k documentation to reflect the current ColdFire architecture support status. Signed-off-by: Angelo Dureghello <angelo@sysam.it>
Showing 2 changed files with 102 additions and 116 deletions Side-by-side Diff
doc/README.m54418twr
... | ... | @@ -13,6 +13,8 @@ |
13 | 13 | - board/freescale/m54418twr/Makefile Makefile |
14 | 14 | - board/freescale/m54418twr/config.mk config make |
15 | 15 | - board/freescale/m54418twr/u-boot.lds Linker description |
16 | +- board/freescale/m54418twr/sbf_dram_init.S | |
17 | + DDR/SDRAM initialization | |
16 | 18 | |
17 | 19 | - arch/m68k/cpu/mcf5445x/cpu.c cpu specific code |
18 | 20 | - arch/m68k/cpu/mcf5445x/cpu_init.c Flexbus ChipSelect, Mux pins setup, icache and RTC extra regs |
doc/README.m68k
1 | 1 | |
2 | -U-Boot for Motorola M68K | |
2 | +U-Boot for Motorola (or Freescale/NXP) ColdFire processors | |
3 | 3 | |
4 | -==================================================================== | |
4 | +=============================================================================== | |
5 | 5 | History |
6 | 6 | |
7 | -August 08,2005; Jens Scharsig <esw@bus-elektronik.de> | |
7 | +November 02, 2017 Angelo Dureghello <angelo@sysam.it> | |
8 | +August 08, 2005 Jens Scharsig <esw@bus-elektronik.de> | |
8 | 9 | MCF5282 implementation without preloader |
9 | -January 12, 2004; <josef.baumgartner@telex.de> | |
10 | -==================================================================== | |
10 | +January 12, 2004 <josef.baumgartner@telex.de> | |
11 | +=============================================================================== | |
11 | 12 | |
13 | + | |
12 | 14 | This file contains status information for the port of U-Boot to the |
13 | -Motorola M68K series of CPUs. | |
15 | +Motorola ColdFire series of CPUs. | |
14 | 16 | |
15 | -1. OVERVIEW | |
16 | ------------ | |
17 | -Bernhard Kuhn ported U-Boot 0.4.0 to the Motorola Coldfire | |
18 | -architecture. The patches of Bernhard support the MCF5272 and | |
19 | -MCF5282. A great disadvantage of these patches was that they needed | |
20 | -a pre-bootloader to start U-Boot. Because of this, a new port was | |
21 | -created which no longer needs a first stage booter. | |
22 | 17 | |
23 | -Although this port is intended to cover all M68k processors, only | |
24 | -the parts for the Motorola Coldfire MCF5272 and MCF5282 are | |
25 | -implemented at the moment. Additional CPUs and boards will be | |
26 | -hopefully added soon! | |
18 | +1. Overview | |
27 | 19 | |
20 | +The ColdFire instruction set is "assembly source" compatible but an evolution | |
21 | +of the original 68000 instruction set. Some not much used instructions has | |
22 | +been removed. The instructions are only 16, 32, or 48 bits long, a | |
23 | +simplification compared to the 68000 series. | |
28 | 24 | |
29 | -2. SUPPORTED CPUs | |
30 | ------------------ | |
25 | +Bernhard Kuhn ported U-Boot 0.4.0 to the Motorola ColdFire architecture. | |
26 | +The patches of Bernhard support the MCF5272 and MCF5282. A great disadvantage | |
27 | +of these patches was that they needed a pre-bootloader to start U-Boot. | |
28 | +Because of this, a new port was created which no longer needs a first stage | |
29 | +booter. | |
31 | 30 | |
32 | -2.1 Motorola Coldfire MCF5272 | |
33 | ------------------------------ | |
34 | -CPU specific code is located in: arch/m68k/cpu/mcf52x2 | |
31 | +Thanks mainly to Freescale but also to several other contributors, U-Boot now | |
32 | +supports nearly the entire range of ColdFire processors and their related | |
33 | +development boards. | |
35 | 34 | |
36 | 35 | |
37 | -2.1 Motorola Coldfire MCF5282 | |
38 | ------------------------------ | |
39 | -CPU specific code is located in: arch/m68k/cpu/mcf52x2 | |
36 | +2. Supported CPU families | |
40 | 37 | |
41 | -The MCF5282 Port no longer needs a preloader and can place in external or | |
42 | -internal FLASH. | |
38 | +Please "make menuconfig" with ARCH=m68k, or check arch/m68k/cpu to see the | |
39 | +currently supported processor and families. | |
43 | 40 | |
44 | 41 | |
45 | -3. SUPPORTED BOARDs | |
46 | -------------------- | |
42 | +3. Supported boards | |
47 | 43 | |
48 | -3.1 Motorola M5272C3 EVB | |
49 | ------------------------- | |
50 | -Board specific code is located in: board/m5272c3 | |
44 | +U-Boot supports actually more than 40 ColdFire based boards. | |
45 | +Board configuration can be done trough include/configs/<boardname>.h but the | |
46 | +current recommended method is to use the new and more friendly approach as | |
47 | +the "make menuconfig" way, very similar to the Linux way. | |
51 | 48 | |
52 | -To configure the board, type: make M5272C3_config | |
49 | +To know details as memory map, build targets, default setup, etc, of a | |
50 | +specific board please check: | |
53 | 51 | |
54 | -U-Boot Memory Map: | |
55 | ------------------- | |
56 | -0xffe00000 - 0xffe3ffff U-Boot | |
57 | -0xffe04000 - 0xffe05fff environment (embedded in U-Boot!) | |
58 | -0xffe40000 - 0xffffffff free for linux/applications | |
52 | +include/configs/<boardname>.h | |
53 | +and/or | |
54 | +configs/<boardname>_defconfig | |
59 | 55 | |
56 | +It is possible to build all ColdFire boards in a single command-line command, | |
57 | +from u-boot root directory, as: | |
60 | 58 | |
61 | -3.2 Motorola M5282 EVB | |
62 | ------------------------- | |
63 | -Board specific code is located in: board/m5282evb | |
59 | +./tools/buildman/buildman m68k | |
64 | 60 | |
65 | -To configure the board, type: make M5272C3_config | |
66 | 61 | |
67 | -At the moment the code isn't fully implemented and still needs a pre-loader! | |
68 | -The preloader must initialize the processor and then start U-Boot. The board | |
69 | -must be configured for a pre-loader (see 4.1) | |
62 | +3.1. Build U-Boot for a specific board | |
70 | 63 | |
71 | -For the preloader, please see | |
72 | -http://mailman.uclinux.org/pipermail/uclinux-dev/2003-December/023384.html | |
64 | +A bash script similar to the one below may be used: | |
73 | 65 | |
74 | -U-Boot is configured to run at 0x20000 at default. This can be configured by | |
75 | -change CONFIG_SYS_TEXT_BASE in board/m5282evb/config.mk and CONFIG_SYS_MONITOR_BASE in | |
76 | -include/configs/M5282EVB.h. | |
66 | +#!/bin/bash | |
77 | 67 | |
78 | -3.2 BuS EB+MCF-EV123 | |
79 | ---------------------- | |
68 | +export CROSS_COMPILE=/opt/toolchains/m68k/gcc-4.9.0-nolibc/bin/m68k-linux- | |
80 | 69 | |
81 | -Board specific code is located in: board/bus/EB+MCF-EV123 | |
70 | +board=M5475DFE | |
82 | 71 | |
83 | -To configure the board, type: | |
72 | +make distclean | |
73 | +make ARCH=m68k ${board}_defconfig | |
74 | +make ARCH=m68k KBUILD_VERBOSE=1 | |
84 | 75 | |
85 | -make EB+MCF-EV123_config for external FLASH | |
86 | -make EB+MCF-EV123_internal_config for internal FLASH | |
87 | 76 | |
77 | +4. Adopted toolchains | |
88 | 78 | |
89 | -4. CONFIGURATION OPTIONS/SETTINGS | |
90 | ----------------------------------- | |
79 | +Please check: | |
80 | +https://www.denx.de/wiki/U-Boot/ColdFireNotes | |
91 | 81 | |
92 | -4.1 Configuration to use a pre-loader | |
93 | -------------------------------------- | |
82 | + | |
83 | +5. ColdFire specific configuration options/settings | |
84 | + | |
85 | + | |
86 | +5.1. Configuration to use a pre-loader | |
87 | + | |
94 | 88 | If U-Boot should be loaded to RAM and started by a pre-loader |
95 | 89 | CONFIG_MONITOR_IS_IN_RAM must be defined. If it is defined the |
96 | 90 | initial vector table and basic processor initialization will not |
97 | 91 | |
98 | 92 | |
99 | 93 | |
100 | 94 | |
101 | 95 | |
102 | 96 | |
103 | 97 | |
104 | 98 | |
105 | 99 | |
... | ... | @@ -98,70 +92,60 @@ |
98 | 92 | the boards config header file (CONFIG_SYS_MONITOR_BASE) and Makefile |
99 | 93 | (CONFIG_SYS_TEXT_BASE) to the load address. |
100 | 94 | |
101 | -4.1 MCF5272 specific Options/Settings | |
102 | -------------------------------------- | |
103 | 95 | |
104 | -CONFIG_MCF52x2 -- defined for all MCF52x2 CPUs | |
105 | -CONFIG_M5272 -- defined for all Motorola MCF5272 CPUs | |
96 | +5.2 ColdFire CPU specific options/settings | |
106 | 97 | |
107 | -CONFIG_MONITOR_IS_IN_RAM | |
108 | - -- defined if U-Boot is loaded by a pre-loader | |
98 | +To specify a CPU model, some defines shoudl be used, i.e.: | |
109 | 99 | |
110 | -CONFIG_SYS_MBAR -- defines the base address of the MCF5272 configuration registers | |
111 | -CONFIG_SYS_INIT_RAM_ADDR | |
112 | - -- defines the base address of the MCF5272 internal SRAM | |
113 | -CONFIG_SYS_ENET_BD_BASE | |
114 | - -- defines the base address of the FEC buffer descriptors | |
115 | - | |
116 | -CONFIG_SYS_SCR -- defines the contents of the System Configuration Register | |
117 | -CONFIG_SYS_SPR -- defines the contents of the System Protection Register | |
118 | -CONFIG_SYS_BRx_PRELIM -- defines the contents of the Chip Select Base Registers | |
119 | -CONFIG_SYS_ORx_PRELIM -- defines the contents of the Chip Select Option Registers | |
120 | - | |
121 | -CONFIG_SYS_PxDDR -- defines the contents of the Data Direction Registers | |
122 | -CONFIG_SYS_PxDAT -- defines the contents of the Data Registers | |
123 | -CONFIG_SYS_PXCNT -- defines the contents of the Port Configuration Registers | |
124 | - | |
125 | - | |
126 | -4.2 MCF5282 specific Options/Settings | |
127 | -------------------------------------- | |
128 | - | |
129 | 100 | CONFIG_MCF52x2 -- defined for all MCF52x2 CPUs |
130 | -CONFIG_M5282 -- defined for all Motorola MCF5282 CPUs | |
101 | +CONFIG_M5272 -- defined for all Motorola MCF5272 CPUs | |
131 | 102 | |
132 | -CONFIG_MONITOR_IS_IN_RAM | |
133 | - -- defined if U-Boot is loaded by a pre-loader | |
103 | +Other options, generally set inside include/configs/<boardname>.h, they may | |
104 | +apply to one or more cpu for the ColdFire family: | |
134 | 105 | |
135 | -CONFIG_SYS_MBAR -- defines the base address of the MCF5282 internal register space | |
136 | -CONFIG_SYS_INIT_RAM_ADDR | |
137 | - -- defines the base address of the MCF5282 internal SRAM | |
138 | -CONFIG_SYS_INT_FLASH_BASE | |
139 | - -- defines the base address of the MCF5282 internal Flash memory | |
106 | +CONFIG_SYS_MBAR -- defines the base address of the MCF5272 configuration | |
107 | + registers | |
140 | 108 | CONFIG_SYS_ENET_BD_BASE |
141 | 109 | -- defines the base address of the FEC buffer descriptors |
142 | - | |
143 | -CONFIG_SYS_MFD | |
144 | - -- defines the PLL Multiplication Factor Devider | |
110 | +CONFIG_SYS_SCR -- defines the contents of the System Configuration Register | |
111 | +CONFIG_SYS_SPR -- defines the contents of the System Protection Register | |
112 | +CONFIG_SYS_MFD -- defines the PLL Multiplication Factor Divider | |
145 | 113 | (see table 9-4 of MCF user manual) |
146 | -CONFIG_SYS_RFD -- defines the PLL Reduce Frecuency Devider | |
114 | +CONFIG_SYS_RFD -- defines the PLL Reduce Frequency Devider | |
147 | 115 | (see table 9-4 of MCF user manual) |
148 | - | |
149 | -CONFIG_SYS_CSx_BASE -- defines the base address of chip select x | |
150 | -CONFIG_SYS_CSx_SIZE -- defines the memory size (address range) of chip select x | |
151 | -CONFIG_SYS_CSx_WIDTH -- defines the bus with of chip select x | |
152 | -CONFIG_SYS_CSx_RO -- if set to 0 chip select x is read/wirte | |
153 | - else chipselct is read only | |
154 | -CONFIG_SYS_CSx_WS -- defines the number of wait states of chip select x | |
155 | - | |
156 | -CONFIG_SYS_PxDDR -- defines the contents of the Data Direction Registers | |
157 | -CONFIG_SYS_PxDAT -- defines the contents of the Data Registers | |
158 | -CONFIG_SYS_PXCNT -- defines the contents of the Port Configuration Registers | |
159 | - | |
160 | -CONFIG_SYS_PxPAR -- defines the function of ports | |
161 | - | |
162 | - | |
163 | -5. COMPILER | |
164 | ------------ | |
165 | -To create U-Boot the gcc-2.95.3 compiler set (m68k-elf-20030314) from uClinux.org was used. | |
166 | -You can download it from: http://www.uclinux.org/pub/uClinux/m68k-elf-tools/ | |
116 | +CONFIG_SYS_CSx_BASE | |
117 | + -- defines the base address of chip select x | |
118 | +CONFIG_SYS_CSx_SIZE | |
119 | + -- defines the memory size (address range) of chip select x | |
120 | +CONFIG_SYS_CSx_WIDTH | |
121 | + -- defines the bus with of chip select x | |
122 | +CONFIG_SYS_CSx_MASK | |
123 | + -- defines the mask for the related chip select x | |
124 | +CONFIG_SYS_CSx_RO | |
125 | + -- if set to 0 chip select x is read/write else chip select | |
126 | + is read only | |
127 | +CONFIG_SYS_CSx_WS | |
128 | + -- defines the number of wait states of chip select x | |
129 | +CONFIG_SYS_CACHE_ICACR | |
130 | +CONFIG_SYS_CACHE_DCACR | |
131 | +CONFIG_SYS_CACHE_ACRX | |
132 | + -- cache-related registers config | |
133 | +CONFIG_SYS_SDRAM_BASE | |
134 | +CONFIG_SYS_SDRAM_SIZE | |
135 | +CONFIG_SYS_SDRAM_BASEX | |
136 | +CONFIG_SYS_SDRAM_CFG1 | |
137 | +CONFIG_SYS_SDRAM_CFG2 | |
138 | +CONFIG_SYS_SDRAM_CTRL | |
139 | +CONFIG_SYS_SDRAM_MODE | |
140 | +CONFIG_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. | |
144 | +CONFIG_MCFUART | |
145 | + -- defines enabling of ColdFire UART driver | |
146 | +CONFIG_SYS_UART_PORT | |
147 | + -- defines the UART port to be used (only a single UART can be | |
148 | + actually enabled) | |
149 | +CONFIG_SYS_SBFHDR_SIZE | |
150 | + -- size of the prepended SBF header, if any |