[U-Boot] [PATCH] m68k: doc: update outdated documentation

Angelo Dureghello angelo at sysam.it
Fri Nov 3 00:35:34 UTC 2017


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

Signed-off-by: Angelo Dureghello <angelo at sysam.it>
---
 doc/README.m54418twr |   2 +
 doc/README.m68k      | 216 ++++++++++++++++++++++++---------------------------
 2 files changed, 102 insertions(+), 116 deletions(-)

diff --git a/doc/README.m54418twr b/doc/README.m54418twr
index f69ae01912..1d90fccbcf 100644
--- a/doc/README.m54418twr
+++ b/doc/README.m54418twr
@@ -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
diff --git a/doc/README.m68k b/doc/README.m68k
index 9d5c08f768..f867ca1fbb 100644
--- a/doc/README.m68k
+++ b/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 at bus-elektronik.de>
+November 02, 2017	Angelo Dureghello <angelo at sysam.it>
+August   08, 2005	Jens Scharsig <esw at bus-elektronik.de>
 			MCF5282 implementation without preloader
-January 12, 2004;	<josef.baumgartner at telex.de>
-====================================================================
+January  12, 2004	<josef.baumgartner at telex.de>
+===============================================================================
+
 
 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
------------
-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.
+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.
 
-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!
+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. SUPPORTED CPUs
------------------
 
-2.1 Motorola Coldfire MCF5272
------------------------------
-CPU specific code is located in: arch/m68k/cpu/mcf52x2
+2. Supported CPU families
 
+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
-internal FLASH.
+3. Supported boards
 
+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
-------------------------
-Board specific code is located in: board/m5272c3
+include/configs/<boardname>.h
+and/or
+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:
-------------------
-0xffe00000 - 0xffe3ffff		U-Boot
-0xffe04000 - 0xffe05fff		environment (embedded in U-Boot!)
-0xffe40000 - 0xffffffff		free for linux/applications
+./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
----------------------
+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
-make EB+MCF-EV123_internal_config	for internal FLASH
+Please check:
+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
 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
--------------------------------------
 
-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
-
-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
+5.2 ColdFire CPU specific options/settings
 
-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
--------------------------------------
+To specify a CPU model, some defines shoudl be used, i.e.:
 
 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
-		-- 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 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_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_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
-- 
2.14.1



More information about the U-Boot mailing list