]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - dts/Kconfig
spl: dm: Kconfig: split OF_CONTROL and OF_PLATDATA between SPL and TPL
[people/ms/u-boot.git] / dts / Kconfig
index 1bc9656faee6565563bac204a29e6efac2320ac1..b4b7ddc1444a0b0b16e275fa0365322f5c05b1c0 100644 (file)
@@ -32,6 +32,14 @@ config SPL_OF_CONTROL
          which is not enough to support device tree. Enable this option to
          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
        bool "Enable use of a live tree"
        depends on OF_CONTROL
@@ -136,4 +144,25 @@ config SPL_OF_PLATDATA
          declarations for each node. See README.platdata for more
          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