fdt: Create a new OF_REAL Kconfig

The condition to indicate whether there is a runtime devicetree available
is OF_CONTROL && !OF_PLATDATA. This is a bit unweidly and is repeated in
a lot of places.

Add a new OF_REAL Kconfig which provides this information directly.

Note: This is similar in effect to LIBFDT. We might consider dropping
LIBFDT and using this instead, but this is left for now as we also have
OF_LIBFDT_OVERLAY which it would not make sense to change.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2021-08-07 07:24:02 -06:00
parent 7de8bd03c3
commit eaad01a3d0

View File

@ -48,6 +48,14 @@ config OF_CONTROL
This feature provides for run-time configuration of U-Boot
via a flattened device tree.
config OF_REAL
def_bool y
help
Indicates that a real devicetree is available which can be accessed
at runtime. This means that dev_read_...() functions can be used to
read data from the devicetree for each device. This is true if
OF_CONTROL is enabled in U-Boot proper.
config OF_BOARD_FIXUP
bool "Board-specific manipulation of Device Tree"
help
@ -62,6 +70,7 @@ config SPL_OF_CONTROL
bool "Enable run-time configuration via Device Tree in SPL"
depends on SPL && OF_CONTROL
select SPL_OF_LIBFDT if !SPL_OF_PLATDATA
select SPL_OF_REAL if !SPL_OF_PLATDATA
help
Some boards use device tree in U-Boot but only have 4KB of SRAM
which is not enough to support device tree. Disable this option to
@ -71,6 +80,7 @@ config TPL_OF_CONTROL
bool "Enable run-time configuration via Device Tree in TPL"
depends on TPL && OF_CONTROL
select TPL_OF_LIBFDT if !TPL_OF_PLATDATA
select TPL_OF_REAL if !TPL_OF_PLATDATA
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
@ -236,7 +246,7 @@ config MULTI_DTB_FIT
config SPL_MULTI_DTB_FIT
depends on SPL_LOAD_FIT && SPL_OF_CONTROL && !SPL_OF_PLATDATA
depends on SPL_LOAD_FIT && SPL_OF_REAL
bool "Support embedding several DTBs in a FIT image for the SPL"
help
This option provides the SPL with the ability to select its own
@ -374,6 +384,14 @@ config SPL_OF_PLATDATA
compatible string, then adding platform data and U_BOOT_DRVINFO
declarations for each node. See of-plat.txt for more information.
config SPL_OF_REAL
bool
help
Indicates that a real devicetree is available which can be accessed
at runtime. This means that dev_read_...() functions can be used to
read data from the devicetree for each device. This is true if
SPL_OF_CONTROL is enabled and not SPL_OF_PLATDATA
if SPL_OF_PLATDATA
config SPL_OF_PLATDATA_PARENT
@ -421,6 +439,14 @@ config SPL_OF_PLATDATA_DRIVER_RT
endif
config TPL_OF_REAL
bool
help
Indicates that a real devicetree is available which can be accessed
at runtime. This means that dev_read_...() functions can be used to
read data from the devicetree for each device. This is true if
TPL_OF_CONTROL is enabled and not TPL_OF_PLATDATA
config TPL_OF_PLATDATA
bool "Generate platform data for use in TPL"
depends on TPL_OF_CONTROL