Skip to content
Snippets Groups Projects
Commit c01f87c8 authored by Masahiro Yamada's avatar Masahiro Yamada Committed by Tom Rini
Browse files

doc: README.SPL: adjust for Kbuild and Kconfig


Reflect the latest build system to doc/README.SPL.

Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
parent e8e6d2a9
No related branches found
No related tags found
No related merge requests found
......@@ -13,34 +13,29 @@ can be reused. No code duplication or symlinking is necessary anymore.
How it works
------------
There is a new directory $(srctree)/spl which contains only a Makefile.
The object files are built separately for SPL and placed in this directory.
The object files for SPL are built separately and placed in the "spl" directory.
The final binaries which are generated are u-boot-spl, u-boot-spl.bin and
u-boot-spl.map.
During the SPL build a variable named CONFIG_SPL_BUILD is exported
in the make environment and also appended to CPPFLAGS with -DCONFIG_SPL_BUILD.
A config option named CONFIG_SPL_BUILD is enabled by Kconfig for SPL.
Source files can therefore be compiled for SPL with different settings.
ARM-based boards have previously used the option CONFIG_PRELOADER for it.
For example:
ifeq ($(CONFIG_SPL_BUILD),y)
COBJS-y += board_spl.o
obj-y += board_spl.o
else
COBJS-y += board.o
obj-y += board.o
endif
COBJS-$(CONFIG_SPL_BUILD) += foo.o
obj-$(CONFIG_SPL_BUILD) += foo.o
#ifdef CONFIG_SPL_BUILD
foo();
#endif
The building of SPL images can be with:
#define CONFIG_SPL 1
The building of SPL images can be enabled by CONFIG_SPL option in Kconfig.
Because SPL images normally have a different text base, one has to be
configured by defining CONFIG_SPL_TEXT_BASE. The linker script has to be
......@@ -70,17 +65,6 @@ CONFIG_SPL_SPI_LOAD (drivers/mtd/spi/spi_spl_load.o)
CONFIG_SPL_RAM_DEVICE (common/spl/spl.c)
CONFIG_SPL_WATCHDOG_SUPPORT (drivers/watchdog/libwatchdog.o)
Normally CPU is assumed to be the same between the SPL and normal
u-boot build. However it is possible to specify a different CPU for
the SPL build for cases where the SPL is expected to run on a
different CPU model from the main u-boot. This is done by specifying
an SPL CPU in boards.cfg as follows:
normal_cpu:spl_cpu
This case CPU will be set to "normal_cpu" during the main u-boot
build and "spl_cpu" during the SPL build.
Debugging
---------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment