mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-24 22:36:05 +00:00
spl: dm: Kconfig: split OF_CONTROL and OF_PLATDATA between SPL and TPL
For the RK3368, we want to use OF_PLATDATA in TPL, but full OF_CONTROL in SPL: this requires the introduction of a new family of configuration options to decouple SPL_OF_CONTROL and SPL_OF_PLATDATA from TPL. Consequently, Makefile.spl needs to be adjusted to test for these configuration items through the $(SPL_TPL_) macro instead of hard-coding the SPL variant. Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
7c819e7f22
commit
f291ce1298
3 changed files with 33 additions and 3 deletions
3
Makefile
3
Makefile
|
@ -1400,7 +1400,8 @@ u-boot.lds: $(LDSCRIPT) prepare FORCE
|
||||||
spl/u-boot-spl.bin: spl/u-boot-spl
|
spl/u-boot-spl.bin: spl/u-boot-spl
|
||||||
@:
|
@:
|
||||||
spl/u-boot-spl: tools prepare \
|
spl/u-boot-spl: tools prepare \
|
||||||
$(if $(CONFIG_OF_SEPARATE)$(CONFIG_SPL_OF_PLATDATA),dts/dt.dtb)
|
$(if $(CONFIG_OF_SEPARATE)$(CONFIG_SPL_OF_PLATDATA),dts/dt.dtb) \
|
||||||
|
$(if $(CONFIG_OF_SEPARATE)$(CONFIG_TPL_OF_PLATDATA),dts/dt.dtb)
|
||||||
$(Q)$(MAKE) obj=spl -f $(srctree)/scripts/Makefile.spl all
|
$(Q)$(MAKE) obj=spl -f $(srctree)/scripts/Makefile.spl all
|
||||||
|
|
||||||
spl/sunxi-spl.bin: spl/u-boot-spl
|
spl/sunxi-spl.bin: spl/u-boot-spl
|
||||||
|
|
29
dts/Kconfig
29
dts/Kconfig
|
@ -32,6 +32,14 @@ config SPL_OF_CONTROL
|
||||||
which is not enough to support device tree. Enable this option to
|
which is not enough to support device tree. Enable this option to
|
||||||
allow such boards to be supported by U-Boot SPL.
|
allow such boards to be supported by U-Boot SPL.
|
||||||
|
|
||||||
|
config TPL_OF_CONTROL
|
||||||
|
bool "Enable run-time configuration via Device Tree in TPL"
|
||||||
|
depends on TPL && OF_CONTROL
|
||||||
|
help
|
||||||
|
Some boards use device tree in U-Boot but only have 4KB of SRAM
|
||||||
|
which is not enough to support device tree. Enable this option to
|
||||||
|
allow such boards to be supported by U-Boot TPL.
|
||||||
|
|
||||||
config OF_LIVE
|
config OF_LIVE
|
||||||
bool "Enable use of a live tree"
|
bool "Enable use of a live tree"
|
||||||
depends on OF_CONTROL
|
depends on OF_CONTROL
|
||||||
|
@ -136,4 +144,25 @@ config SPL_OF_PLATDATA
|
||||||
declarations for each node. See README.platdata for more
|
declarations for each node. See README.platdata for more
|
||||||
information.
|
information.
|
||||||
|
|
||||||
|
config TPL_OF_PLATDATA
|
||||||
|
bool "Generate platform data for use in TPL"
|
||||||
|
depends on TPL_OF_CONTROL
|
||||||
|
help
|
||||||
|
For very constrained SPL environments the overhead of decoding
|
||||||
|
device tree nodes and converting their contents into platform data
|
||||||
|
is too large. This overhead includes libfdt code as well as the
|
||||||
|
device tree contents itself. The latter is fairly compact, but the
|
||||||
|
former can add 3KB or more to a Thumb 2 Image.
|
||||||
|
|
||||||
|
This option enables generation of platform data from the device
|
||||||
|
tree as C code. This code creates devices using U_BOOT_DEVICE()
|
||||||
|
declarations. The benefit is that it allows driver code to access
|
||||||
|
the platform data directly in C structures, avoidin the libfdt
|
||||||
|
overhead.
|
||||||
|
|
||||||
|
This option works by generating C structure declarations for each
|
||||||
|
compatible string, then adding platform data and U_BOOT_DEVICE
|
||||||
|
declarations for each node. See README.platdata for more
|
||||||
|
information.
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
|
@ -98,7 +98,7 @@ endif
|
||||||
|
|
||||||
u-boot-spl-init := $(head-y)
|
u-boot-spl-init := $(head-y)
|
||||||
u-boot-spl-main := $(libs-y)
|
u-boot-spl-main := $(libs-y)
|
||||||
ifdef CONFIG_SPL_OF_PLATDATA
|
ifdef CONFIG_$(SPL_TPL_)OF_PLATDATA
|
||||||
u-boot-spl-platdata := $(obj)/dts/dt-platdata.o
|
u-boot-spl-platdata := $(obj)/dts/dt-platdata.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -202,7 +202,7 @@ cmd_cat = cat $(filter-out $(PHONY), $^) > $@
|
||||||
quiet_cmd_copy = COPY $@
|
quiet_cmd_copy = COPY $@
|
||||||
cmd_copy = cp $< $@
|
cmd_copy = cp $< $@
|
||||||
|
|
||||||
ifeq ($(CONFIG_SPL_OF_CONTROL)$(CONFIG_OF_SEPARATE)$(CONFIG_SPL_OF_PLATDATA),yy)
|
ifeq ($(CONFIG_$(SPL_TPL_)OF_CONTROL)$(CONFIG_OF_SEPARATE)$(CONFIG_$(SPL_TPL_)OF_PLATDATA),yy)
|
||||||
$(obj)/$(SPL_BIN)-dtb.bin: $(obj)/$(SPL_BIN)-nodtb.bin \
|
$(obj)/$(SPL_BIN)-dtb.bin: $(obj)/$(SPL_BIN)-nodtb.bin \
|
||||||
$(if $(CONFIG_SPL_SEPARATE_BSS),,$(obj)/$(SPL_BIN)-pad.bin) \
|
$(if $(CONFIG_SPL_SEPARATE_BSS),,$(obj)/$(SPL_BIN)-pad.bin) \
|
||||||
$(obj)/$(SPL_BIN).dtb FORCE
|
$(obj)/$(SPL_BIN).dtb FORCE
|
||||||
|
|
Loading…
Add table
Reference in a new issue