mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-06-30 02:21:34 +00:00
mkconfig: add support for SPL CPU
Add support for specifying a differnt CPU for main u-boot and SPL u-boot builds. This is done by adding an optional SPL CPU after the main CPU in boards.cfg as follows: normal_cpu:spl_cpu This this case CPU will be set to "normal_cpu" during the main u-boot build and "spl_cpu" during the SPL build. Signed-off-by: Allen Martin <amartin@nvidia.com>
This commit is contained in:
parent
f28e26951a
commit
d22650afab
3 changed files with 31 additions and 1 deletions
|
@ -11,6 +11,11 @@
|
||||||
# Lines starting with '#' are comments.
|
# Lines starting with '#' are comments.
|
||||||
# Blank lines are ignored.
|
# Blank lines are ignored.
|
||||||
#
|
#
|
||||||
|
# The CPU field takes the form:
|
||||||
|
# cpu[:spl_cpu]
|
||||||
|
# If spl_cpu is specified the make variable CPU will be set to this
|
||||||
|
# during the SPL build.
|
||||||
|
#
|
||||||
# The options field takes the form:
|
# The options field takes the form:
|
||||||
# <board config name>[:comma separated config options]
|
# <board config name>[:comma separated config options]
|
||||||
# Each config option has the form (value defaults to "1"):
|
# Each config option has the form (value defaults to "1"):
|
||||||
|
|
|
@ -66,3 +66,15 @@ CONFIG_SPL_DMA_SUPPORT (drivers/dma/libdma.o)
|
||||||
CONFIG_SPL_POST_MEM_SUPPORT (post/drivers/memory.o)
|
CONFIG_SPL_POST_MEM_SUPPORT (post/drivers/memory.o)
|
||||||
CONFIG_SPL_NAND_LOAD (drivers/mtd/nand/nand_spl_load.o)
|
CONFIG_SPL_NAND_LOAD (drivers/mtd/nand/nand_spl_load.o)
|
||||||
CONFIG_SPL_SPI_LOAD (drivers/mtd/spi/spi_spl_load.o)
|
CONFIG_SPL_SPI_LOAD (drivers/mtd/spi/spi_spl_load.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 this case CPU will be set to "normal_cpu" during the main u-boot
|
||||||
|
build and "spl_cpu" during the SPL build.
|
||||||
|
|
13
mkconfig
13
mkconfig
|
@ -60,6 +60,11 @@ CONFIG_NAME="${1%_config}"
|
||||||
|
|
||||||
arch="$2"
|
arch="$2"
|
||||||
cpu="$3"
|
cpu="$3"
|
||||||
|
tmp="${cpu#*:}"
|
||||||
|
if [ "$tmp" != "$cpu" ] ; then
|
||||||
|
spl_cpu=$tmp
|
||||||
|
cpu="${cpu%:*}"
|
||||||
|
fi
|
||||||
if [ "$4" = "-" ] ; then
|
if [ "$4" = "-" ] ; then
|
||||||
board=${BOARD_NAME}
|
board=${BOARD_NAME}
|
||||||
else
|
else
|
||||||
|
@ -131,7 +136,15 @@ fi
|
||||||
# Create include file for Make
|
# Create include file for Make
|
||||||
#
|
#
|
||||||
echo "ARCH = ${arch}" > config.mk
|
echo "ARCH = ${arch}" > config.mk
|
||||||
|
if [ ! -z "$spl_cpu" ] ; then
|
||||||
|
echo 'ifeq ($(CONFIG_SPL_BUILD),y)' >> config.mk
|
||||||
|
echo "CPU = ${spl_cpu}" >> config.mk
|
||||||
|
echo "else" >> config.mk
|
||||||
echo "CPU = ${cpu}" >> config.mk
|
echo "CPU = ${cpu}" >> config.mk
|
||||||
|
echo "endif" >> config.mk
|
||||||
|
else
|
||||||
|
echo "CPU = ${cpu}" >> config.mk
|
||||||
|
fi
|
||||||
echo "BOARD = ${board}" >> config.mk
|
echo "BOARD = ${board}" >> config.mk
|
||||||
|
|
||||||
[ "${vendor}" ] && echo "VENDOR = ${vendor}" >> config.mk
|
[ "${vendor}" ] && echo "VENDOR = ${vendor}" >> config.mk
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue