mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-25 13:14:19 +08:00
m68k: doc: update outdated documentation
Update m68k documentation to reflect the current ColdFire architecture support status. Signed-off-by: Angelo Dureghello <angelo@sysam.it>
This commit is contained in:
parent
8f7102cf6b
commit
6ba2da90de
@ -13,6 +13,8 @@ Changed files:
|
||||
- board/freescale/m54418twr/Makefile Makefile
|
||||
- board/freescale/m54418twr/config.mk config make
|
||||
- board/freescale/m54418twr/u-boot.lds Linker description
|
||||
- board/freescale/m54418twr/sbf_dram_init.S
|
||||
DDR/SDRAM initialization
|
||||
|
||||
- arch/m68k/cpu/mcf5445x/cpu.c cpu specific code
|
||||
- arch/m68k/cpu/mcf5445x/cpu_init.c Flexbus ChipSelect, Mux pins setup, icache and RTC extra regs
|
||||
|
228
doc/README.m68k
228
doc/README.m68k
@ -1,96 +1,90 @@
|
||||
|
||||
U-Boot for Motorola M68K
|
||||
U-Boot for Motorola (or Freescale/NXP) ColdFire processors
|
||||
|
||||
====================================================================
|
||||
===============================================================================
|
||||
History
|
||||
|
||||
August 08,2005; Jens Scharsig <esw@bus-elektronik.de>
|
||||
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>
|
||||
====================================================================
|
||||
January 12, 2004 <josef.baumgartner@telex.de>
|
||||
===============================================================================
|
||||
|
||||
|
||||
This file contains status information for the port of U-Boot to the
|
||||
Motorola M68K series of CPUs.
|
||||
|
||||
1. OVERVIEW
|
||||
-----------
|
||||
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.
|
||||
|
||||
Although this port is intended to cover all M68k processors, only
|
||||
the parts for the Motorola Coldfire MCF5272 and MCF5282 are
|
||||
implemented at the moment. Additional CPUs and boards will be
|
||||
hopefully added soon!
|
||||
Motorola ColdFire series of CPUs.
|
||||
|
||||
|
||||
2. SUPPORTED CPUs
|
||||
-----------------
|
||||
1. Overview
|
||||
|
||||
2.1 Motorola Coldfire MCF5272
|
||||
-----------------------------
|
||||
CPU specific code is located in: arch/m68k/cpu/mcf52x2
|
||||
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.
|
||||
|
||||
|
||||
2.1 Motorola Coldfire MCF5282
|
||||
-----------------------------
|
||||
CPU specific code is located in: arch/m68k/cpu/mcf52x2
|
||||
2. Supported CPU families
|
||||
|
||||
The MCF5282 Port no longer needs a preloader and can place in external or
|
||||
internal FLASH.
|
||||
Please "make menuconfig" with ARCH=m68k, or check arch/m68k/cpu to see the
|
||||
currently supported processor and families.
|
||||
|
||||
|
||||
3. SUPPORTED BOARDs
|
||||
-------------------
|
||||
3. Supported boards
|
||||
|
||||
3.1 Motorola M5272C3 EVB
|
||||
------------------------
|
||||
Board specific code is located in: board/m5272c3
|
||||
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 configure the board, type: make M5272C3_config
|
||||
To know details as memory map, build targets, default setup, etc, of a
|
||||
specific board please check:
|
||||
|
||||
U-Boot Memory Map:
|
||||
------------------
|
||||
0xffe00000 - 0xffe3ffff U-Boot
|
||||
0xffe04000 - 0xffe05fff environment (embedded in U-Boot!)
|
||||
0xffe40000 - 0xffffffff free for linux/applications
|
||||
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
|
||||
|
||||
|
||||
3.2 Motorola M5282 EVB
|
||||
------------------------
|
||||
Board specific code is located in: board/m5282evb
|
||||
3.1. Build U-Boot for a specific board
|
||||
|
||||
To configure the board, type: make M5272C3_config
|
||||
A bash script similar to the one below may be used:
|
||||
|
||||
At the moment the code isn't fully implemented and still needs a pre-loader!
|
||||
The preloader must initialize the processor and then start U-Boot. The board
|
||||
must be configured for a pre-loader (see 4.1)
|
||||
#!/bin/bash
|
||||
|
||||
For the preloader, please see
|
||||
http://mailman.uclinux.org/pipermail/uclinux-dev/2003-December/023384.html
|
||||
export CROSS_COMPILE=/opt/toolchains/m68k/gcc-4.9.0-nolibc/bin/m68k-linux-
|
||||
|
||||
U-Boot is configured to run at 0x20000 at default. This can be configured by
|
||||
change CONFIG_SYS_TEXT_BASE in board/m5282evb/config.mk and CONFIG_SYS_MONITOR_BASE in
|
||||
include/configs/M5282EVB.h.
|
||||
board=M5475DFE
|
||||
|
||||
3.2 BuS EB+MCF-EV123
|
||||
---------------------
|
||||
|
||||
Board specific code is located in: board/bus/EB+MCF-EV123
|
||||
|
||||
To configure the board, type:
|
||||
|
||||
make EB+MCF-EV123_config for external FLASH
|
||||
make EB+MCF-EV123_internal_config for internal FLASH
|
||||
make distclean
|
||||
make ARCH=m68k ${board}_defconfig
|
||||
make ARCH=m68k KBUILD_VERBOSE=1
|
||||
|
||||
|
||||
4. CONFIGURATION OPTIONS/SETTINGS
|
||||
----------------------------------
|
||||
4. Adopted toolchains
|
||||
|
||||
Please check:
|
||||
https://www.denx.de/wiki/U-Boot/ColdFireNotes
|
||||
|
||||
|
||||
5. ColdFire specific configuration options/settings
|
||||
|
||||
|
||||
5.1. Configuration to use a pre-loader
|
||||
|
||||
4.1 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
|
||||
@ -98,69 +92,59 @@ 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.
|
||||
|
||||
4.1 MCF5272 specific Options/Settings
|
||||
-------------------------------------
|
||||
|
||||
5.2 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
|
||||
|
||||
CONFIG_MONITOR_IS_IN_RAM
|
||||
-- defined if U-Boot is loaded by a pre-loader
|
||||
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_INIT_RAM_ADDR
|
||||
-- defines the base address of the MCF5272 internal SRAM
|
||||
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_BRx_PRELIM -- defines the contents of the Chip Select Base Registers
|
||||
CONFIG_SYS_ORx_PRELIM -- defines the contents of the Chip Select Option Registers
|
||||
|
||||
CONFIG_SYS_PxDDR -- defines the contents of the Data Direction Registers
|
||||
CONFIG_SYS_PxDAT -- defines the contents of the Data Registers
|
||||
CONFIG_SYS_PXCNT -- defines the contents of the Port Configuration Registers
|
||||
|
||||
|
||||
4.2 MCF5282 specific Options/Settings
|
||||
-------------------------------------
|
||||
|
||||
CONFIG_MCF52x2 -- defined for all MCF52x2 CPUs
|
||||
CONFIG_M5282 -- defined for all Motorola MCF5282 CPUs
|
||||
|
||||
CONFIG_MONITOR_IS_IN_RAM
|
||||
-- defined if U-Boot is loaded by a pre-loader
|
||||
|
||||
CONFIG_SYS_MBAR -- defines the base address of the MCF5282 internal register space
|
||||
CONFIG_SYS_INIT_RAM_ADDR
|
||||
-- defines the base address of the MCF5282 internal SRAM
|
||||
CONFIG_SYS_INT_FLASH_BASE
|
||||
-- defines the base address of the MCF5282 internal Flash memory
|
||||
CONFIG_SYS_ENET_BD_BASE
|
||||
-- defines the base address of the FEC buffer descriptors
|
||||
|
||||
CONFIG_SYS_MFD
|
||||
-- defines the PLL Multiplication Factor Devider
|
||||
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 Frecuency Devider
|
||||
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_RO -- if set to 0 chip select x is read/wirte
|
||||
else chipselct is read only
|
||||
CONFIG_SYS_CSx_WS -- defines the number of wait states of chip select x
|
||||
|
||||
CONFIG_SYS_PxDDR -- defines the contents of the Data Direction Registers
|
||||
CONFIG_SYS_PxDAT -- defines the contents of the Data Registers
|
||||
CONFIG_SYS_PXCNT -- defines the contents of the Port Configuration Registers
|
||||
|
||||
CONFIG_SYS_PxPAR -- defines the function of ports
|
||||
|
||||
|
||||
5. COMPILER
|
||||
-----------
|
||||
To create U-Boot the gcc-2.95.3 compiler set (m68k-elf-20030314) from uClinux.org was used.
|
||||
You can download it from: http://www.uclinux.org/pub/uClinux/m68k-elf-tools/
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user