Commit 89b199c3 authored by Simon Glass's avatar Simon Glass Committed by Tom Rini

Remove/update old generic-board documentation and warning

Remove the warning from the Makefile, since boards that do not use generic
board will no longer build. Also update documentation.
Signed-off-by: default avatarSimon Glass <>
Reviewed-by: default avatarAndreas Bießmann <>
parent feee28f7
......@@ -801,13 +801,6 @@ quiet_cmd_pad_cat = CAT $@
cmd_pad_cat = $(cmd_objcopy) && $(append) || rm -f $@
all: $(ALL-y)
@echo "===================== WARNING ======================"
@echo "Please convert this board to generic board."
@echo "Otherwise it will be removed by the end of 2014."
@echo "See doc/README.generic-board for further information"
@echo "===================================================="
ifeq ($(CONFIG_DM_I2C_COMPAT),y)
@echo "===================== WARNING ======================"
@echo "This board uses CONFIG_DM_I2C_COMPAT. Please remove"
......@@ -1257,13 +1250,6 @@ prepare2: prepare3 outputmakefile
prepare1: prepare2 $(version_h) $(timestamp_h) \
@echo >&2 " Your architecture does not support generic board."
@echo >&2 " Please undefine CONFIG_SYS_GENERIC_BOARD in your board config file."
ifeq ($(wildcard $(LDSCRIPT)),)
@echo >&2 " Could not find linker script."
......@@ -4048,16 +4048,6 @@ Configuration Settings:
If defined, don't allow the -f switch to env set override variable
access flags.
This selects the architecture-generic board system instead of the
architecture-specific board files. It is intended to move boards
to this new framework over time. Defining this will disable the
arch/foo/lib/board.c file and use common/board_f.c and
common/board_r.c instead. To use this option your architecture
must support it (i.e. must select HAVE_GENERIC_BOARD in arch/Kconfig).
If you find problems enabling this option on your board please report
the problem and send patches!
This is set by OMAP boards for the max time that reset should
be asserted. See doc/README.omap-reset-time for details on how
......@@ -186,8 +186,7 @@ U-Boot sandbox supports these emulations:
A wide range of commands is implemented. Filesystems which use a block
device are supported.
Also sandbox uses generic board (CONFIG_SYS_GENERIC_BOARD) and supports
driver model (CONFIG_DM) and associated commands.
Also sandbox supports driver model (CONFIG_DM) and associated commands.
Linux RAW Networking Bridge
......@@ -33,12 +33,6 @@ the features of each board in the device tree file, and have a single
generic source base.
To enable this feature, add CONFIG_OF_CONTROL to your board config file.
It is currently supported on ARM, x86 and Microblaze - other architectures
will need to add code to their arch/xxx/lib/board.c file to locate the
FDT. Alternatively you can enable generic board support on your board
(with CONFIG_SYS_GENERIC_BOARD) if this is available (as it is for
PowerPC). For ARM, Tegra and Exynos5 have device trees available for
common devices.
What is a Flat Device Tree?
......@@ -5,29 +5,22 @@
# SPDX-License-Identifier: GPL-2.0+
DEPRECATION NOTICE FOR arch/<arch>/lib/board.c
For board maintainers: Please submit patches for boards you maintain before
July 2014, to make them use generic board.
For architecture maintainers: Please submit patches to remove your
architecture-specific board.c file before October 2014.
U-Boot has traditionally had a board.c file for each architecture. This has
introduced quite a lot of duplication, with each architecture tending to do
U-Boot traditionally had a board.c file for each architecture. This introduced
quite a lot of duplication, with each architecture tending to do
initialisation slightly differently. To address this, a new 'generic board
init' feature was introduced a year ago in March 2013 (further motivation is
init' feature was introduced in March 2013 (further motivation is
provided in the cover letter below).
All boards and architectures have moved to this as of mid 2016.
What has changed?
The main change is that the arch/<arch>/lib/board.c file is being removed in
The main change is that the arch/<arch>/lib/board.c file is removed in
favour of common/board_f.c (for pre-relocation init) and common/board_r.c
(for post-relocation init).
......@@ -36,55 +29,6 @@ fields which are common to all architectures. Architecture-specific fields
have been moved to separate structures.
Supported Architectures
If you are unlucky then your architecture may not support generic board.
The following architectures are supported now:
If your architecture is not supported, you need to select
HAVE_GENERIC_BOARD in arch/Kconfig
and test it with a suitable board, as follows.
Adding Support for your Board
To enable generic board for your board, define CONFIG_SYS_GENERIC_BOARD in
your board config header file.
Test that U-Boot still functions correctly on your board, and fix any
problems you find. Don't be surprised if there are no problems - generic
board has had a reasonable amount of testing with common boards.
Please don't take this the wrong way - there is no intent to make your life
miserable, and we have the greatest respect and admiration for U-Boot users.
However, with any migration there has to be a period where the old way is
deprecated and removed. Every patch to the deprecated code introduces a
potential breakage in the new unused code. Therefore:
Boards or architectures not converted over to general board by the
end of 2014 may be forcibly changed over (potentially causing run-time
breakage) or removed.
Further Background
......@@ -190,3 +134,4 @@ convenience.
Simon Glass,
March 2014
Updated after final removal, May 2016
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment