From: Bin Meng Date: Thu, 18 Jul 2019 07:34:31 +0000 (-0700) Subject: doc: arch: Convert README.m68k to reST X-Git-Tag: v2019.10-rc1~16^2~4 X-Git-Url: https://git.librecmc.org/?p=oweals%2Fu-boot.git;a=commitdiff_plain;h=86f60a411d64efdac0c4abd81a47a2f25f98b1be doc: arch: Convert README.m68k to reST Convert plain text documentation to reStructuredText format and add it to Sphinx TOC tree. No essential content change. Signed-off-by: Bin Meng --- diff --git a/doc/README.m68k b/doc/README.m68k deleted file mode 100644 index f867ca1fbb..0000000000 --- a/doc/README.m68k +++ /dev/null @@ -1,150 +0,0 @@ - -U-Boot for Motorola (or Freescale/NXP) ColdFire processors - -=============================================================================== -History - -November 02, 2017 Angelo Dureghello -August 08, 2005 Jens Scharsig - MCF5282 implementation without preloader -January 12, 2004 -=============================================================================== - - -This file contains status information for the port of U-Boot to the -Motorola ColdFire series of CPUs. - - -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 -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. Supported CPU families - -Please "make menuconfig" with ARCH=m68k, or check arch/m68k/cpu to see the -currently supported processor and families. - - -3. Supported boards - -U-Boot supports actually more than 40 ColdFire based boards. -Board configuration can be done trough include/configs/.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 know details as memory map, build targets, default setup, etc, of a -specific board please check: - -include/configs/.h -and/or -configs/_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.1. Build U-Boot for a specific board - -A bash script similar to the one below may be used: - -#!/bin/bash - -export CROSS_COMPILE=/opt/toolchains/m68k/gcc-4.9.0-nolibc/bin/m68k-linux- - -board=M5475DFE - -make distclean -make ARCH=m68k ${board}_defconfig -make ARCH=m68k KBUILD_VERBOSE=1 - - -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 - -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 -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. - - -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 - -Other options, generally set inside include/configs/.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_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_MFD -- defines the PLL Multiplication Factor Divider - (see table 9-4 of MCF user manual) -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_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//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 diff --git a/doc/arch/index.rst b/doc/arch/index.rst index 93fbb7ea66..ee90ec15be 100644 --- a/doc/arch/index.rst +++ b/doc/arch/index.rst @@ -8,6 +8,7 @@ Architecture-specific doc arc arm64 + m68k mips nds32 nios2 diff --git a/doc/arch/m68k.rst b/doc/arch/m68k.rst new file mode 100644 index 0000000000..34b2593eb8 --- /dev/null +++ b/doc/arch/m68k.rst @@ -0,0 +1,170 @@ +.. SPDX-License-Identifier: GPL-2.0+ + +M68K / ColdFire +=============== + +History +------- +* November 02, 2017 Angelo Dureghello +* August 08, 2005 Jens Scharsig + MCF5282 implementation without preloader +* January 12, 2004 + +This file contains status information for the port of U-Boot to the +Motorola ColdFire series of CPUs. + +Overview +-------- + +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. + + +Supported CPU families +---------------------- + +Please "make menuconfig" with ARCH=m68k, or check arch/m68k/cpu to see the +currently supported processor and families. + + +Supported boards +---------------- + +U-Boot supports actually more than 40 ColdFire based boards. +Board configuration can be done trough include/configs/.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 know details as memory map, build targets, default setup, etc, of a +specific board please check: + +* include/configs/.h + +and/or + +* configs/_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 + +Build U-Boot for a specific board +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +A bash script similar to the one below may be used: + +.. code-block:: shell + + #!/bin/bash + + export CROSS_COMPILE=/opt/toolchains/m68k/gcc-4.9.0-nolibc/bin/m68k-linux- + + board=M5475DFE + + make distclean + make ARCH=m68k ${board}_defconfig + make ARCH=m68k KBUILD_VERBOSE=1 + + +Adopted toolchains +------------------ + +Please check: +https://www.denx.de/wiki/U-Boot/ColdFireNotes + + +ColdFire specific configuration options/settings +------------------------------------------------ + +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 +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. + +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 + +Other options, generally set inside include/configs/.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_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_MFD: + defines the PLL Multiplication Factor Divider + (see table 9-4 of MCF user manual) +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_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: + cache-related registers config +CONFIG_SYS_CACHE_DCACR: + cache-related registers config +CONFIG_SYS_CACHE_ACRX: + cache-related registers config +CONFIG_SYS_SDRAM_BASE: + SDRAM config for SDRAM controller-specific registers +CONFIG_SYS_SDRAM_SIZE: + SDRAM config for SDRAM controller-specific registers +CONFIG_SYS_SDRAM_BASEX: + SDRAM config for SDRAM controller-specific registers +CONFIG_SYS_SDRAM_CFG1: + SDRAM config for SDRAM controller-specific registers +CONFIG_SYS_SDRAM_CFG2: + SDRAM config for SDRAM controller-specific registers +CONFIG_SYS_SDRAM_CTRL: + SDRAM config for SDRAM controller-specific registers +CONFIG_SYS_SDRAM_MODE: + SDRAM config for SDRAM controller-specific registers +CONFIG_SYS_SDRAM_EMOD: + SDRAM config for SDRAM controller-specific registers, please + see arch/m68k/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