m68k: doc: update outdated documentation

Update m68k documentation to reflect the current ColdFire
architecture support status.

Signed-off-by: Angelo Dureghello <angelo@sysam.it>
master
Angelo Dureghello 7 years ago committed by Tom Rini
parent 8f7102cf6b
commit 6ba2da90de
  1. 2
      doc/README.m54418twr
  2. 216
      doc/README.m68k

@ -13,6 +13,8 @@ Changed files:
- board/freescale/m54418twr/Makefile Makefile - board/freescale/m54418twr/Makefile Makefile
- board/freescale/m54418twr/config.mk config make - board/freescale/m54418twr/config.mk config make
- board/freescale/m54418twr/u-boot.lds Linker description - 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.c cpu specific code
- arch/m68k/cpu/mcf5445x/cpu_init.c Flexbus ChipSelect, Mux pins setup, icache and RTC extra regs - arch/m68k/cpu/mcf5445x/cpu_init.c Flexbus ChipSelect, Mux pins setup, icache and RTC extra regs

@ -1,96 +1,90 @@
U-Boot for Motorola M68K U-Boot for Motorola (or Freescale/NXP) ColdFire processors
==================================================================== ===============================================================================
History 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 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 This file contains status information for the port of U-Boot to the
Motorola M68K series of CPUs. Motorola ColdFire series of CPUs.
1. Overview
1. OVERVIEW The ColdFire instruction set is "assembly source" compatible but an evolution
----------- of the original 68000 instruction set. Some not much used instructions has
Bernhard Kuhn ported U-Boot 0.4.0 to the Motorola Coldfire been removed. The instructions are only 16, 32, or 48 bits long, a
architecture. The patches of Bernhard support the MCF5272 and simplification compared to the 68000 series.
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 Bernhard Kuhn ported U-Boot 0.4.0 to the Motorola ColdFire architecture.
the parts for the Motorola Coldfire MCF5272 and MCF5282 are The patches of Bernhard support the MCF5272 and MCF5282. A great disadvantage
implemented at the moment. Additional CPUs and boards will be of these patches was that they needed a pre-bootloader to start U-Boot.
hopefully added soon! 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. SUPPORTED CPUs
-----------------
2.1 Motorola Coldfire MCF5272 2. Supported CPU families
-----------------------------
CPU specific code is located in: arch/m68k/cpu/mcf52x2
Please "make menuconfig" with ARCH=m68k, or check arch/m68k/cpu to see the
currently supported processor and families.
2.1 Motorola Coldfire MCF5282
-----------------------------
CPU specific code is located in: arch/m68k/cpu/mcf52x2
The MCF5282 Port no longer needs a preloader and can place in external or 3. Supported boards
internal FLASH.
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.
3. SUPPORTED BOARDs To know details as memory map, build targets, default setup, etc, of a
------------------- specific board please check:
3.1 Motorola M5272C3 EVB include/configs/<boardname>.h
------------------------ and/or
Board specific code is located in: board/m5272c3 configs/<boardname>_defconfig
To configure the board, type: make M5272C3_config It is possible to build all ColdFire boards in a single command-line command,
from u-boot root directory, as:
U-Boot Memory Map: ./tools/buildman/buildman m68k
------------------
0xffe00000 - 0xffe3ffff U-Boot
0xffe04000 - 0xffe05fff environment (embedded in U-Boot!)
0xffe40000 - 0xffffffff free for linux/applications
3.2 Motorola M5282 EVB 3.1. Build U-Boot for a specific board
------------------------
Board specific code is located in: board/m5282evb
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! #!/bin/bash
The preloader must initialize the processor and then start U-Boot. The board
must be configured for a pre-loader (see 4.1)
For the preloader, please see export CROSS_COMPILE=/opt/toolchains/m68k/gcc-4.9.0-nolibc/bin/m68k-linux-
http://mailman.uclinux.org/pipermail/uclinux-dev/2003-December/023384.html
U-Boot is configured to run at 0x20000 at default. This can be configured by board=M5475DFE
change CONFIG_SYS_TEXT_BASE in board/m5282evb/config.mk and CONFIG_SYS_MONITOR_BASE in
include/configs/M5282EVB.h.
3.2 BuS EB+MCF-EV123 make distclean
--------------------- make ARCH=m68k ${board}_defconfig
make ARCH=m68k KBUILD_VERBOSE=1
Board specific code is located in: board/bus/EB+MCF-EV123
To configure the board, type: 4. Adopted toolchains
make EB+MCF-EV123_config for external FLASH Please check:
make EB+MCF-EV123_internal_config for internal FLASH https://www.denx.de/wiki/U-Boot/ColdFireNotes
4. CONFIGURATION OPTIONS/SETTINGS 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 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 CONFIG_MONITOR_IS_IN_RAM must be defined. If it is defined the
initial vector table and basic processor initialization will not 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 the boards config header file (CONFIG_SYS_MONITOR_BASE) and Makefile
(CONFIG_SYS_TEXT_BASE) to the load address. (CONFIG_SYS_TEXT_BASE) to the load address.
4.1 MCF5272 specific Options/Settings
-------------------------------------
CONFIG_MCF52x2 -- defined for all MCF52x2 CPUs 5.2 ColdFire CPU specific options/settings
CONFIG_M5272 -- defined for all Motorola MCF5272 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 MCF5272 configuration registers
CONFIG_SYS_INIT_RAM_ADDR
-- defines the base address of the MCF5272 internal SRAM
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 To specify a CPU model, some defines shoudl be used, i.e.:
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_MCF52x2 -- defined for all MCF52x2 CPUs
CONFIG_M5282 -- defined for all Motorola MCF5282 CPUs CONFIG_M5272 -- defined for all Motorola MCF5272 CPUs
CONFIG_MONITOR_IS_IN_RAM Other options, generally set inside include/configs/<boardname>.h, they may
-- defined if U-Boot is loaded by a pre-loader apply to one or more cpu for the ColdFire family:
CONFIG_SYS_MBAR -- defines the base address of the MCF5282 internal register space CONFIG_SYS_MBAR -- defines the base address of the MCF5272 configuration
CONFIG_SYS_INIT_RAM_ADDR registers
-- 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 CONFIG_SYS_ENET_BD_BASE
-- defines the base address of the FEC buffer descriptors -- defines the base address of the FEC buffer descriptors
CONFIG_SYS_SCR -- defines the contents of the System Configuration Register
CONFIG_SYS_MFD CONFIG_SYS_SPR -- defines the contents of the System Protection Register
-- defines the PLL Multiplication Factor Devider CONFIG_SYS_MFD -- defines the PLL Multiplication Factor Divider
(see table 9-4 of MCF user manual) (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) (see table 9-4 of MCF user manual)
CONFIG_SYS_CSx_BASE
CONFIG_SYS_CSx_BASE -- defines the base address of chip select x -- 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_SIZE
CONFIG_SYS_CSx_WIDTH -- defines the bus with of chip select x -- defines the memory size (address range) of chip select x
CONFIG_SYS_CSx_RO -- if set to 0 chip select x is read/wirte CONFIG_SYS_CSx_WIDTH
else chipselct is read only -- defines the bus with of chip select x
CONFIG_SYS_CSx_WS -- defines the number of wait states of chip select x CONFIG_SYS_CSx_MASK
-- defines the mask for the related chip select x
CONFIG_SYS_PxDDR -- defines the contents of the Data Direction Registers CONFIG_SYS_CSx_RO
CONFIG_SYS_PxDAT -- defines the contents of the Data Registers -- if set to 0 chip select x is read/write else chip select
CONFIG_SYS_PXCNT -- defines the contents of the Port Configuration Registers is read only
CONFIG_SYS_CSx_WS
CONFIG_SYS_PxPAR -- defines the function of ports -- defines the number of wait states of chip select x
CONFIG_SYS_CACHE_ICACR
CONFIG_SYS_CACHE_DCACR
5. COMPILER CONFIG_SYS_CACHE_ACRX
----------- -- cache-related registers config
To create U-Boot the gcc-2.95.3 compiler set (m68k-elf-20030314) from uClinux.org was used. CONFIG_SYS_SDRAM_BASE
You can download it from: http://www.uclinux.org/pub/uClinux/m68k-elf-tools/ 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…
Cancel
Save