X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=dts%2FKconfig;h=4b7d8b15cc04d7f3a81ab7edf50268901ee4cf8c;hb=1425a87b1478bdb2620a46f2a23af7ca2e4b6073;hp=957f5c7ffad2a2ab6637024169f84bfdc6489f75;hpb=536266231a340c0c5e571e1012bf3f8fc835b251;p=u-boot diff --git a/dts/Kconfig b/dts/Kconfig index 957f5c7ffa..4b7d8b15cc 100644 --- a/dts/Kconfig +++ b/dts/Kconfig @@ -14,9 +14,9 @@ config OF_CONTROL This feature provides for run-time configuration of U-Boot via a flattened device tree. -config SPL_DISABLE_OF_CONTROL - bool "Disable run-time configuration via Device Tree in SPL" - depends on OF_CONTROL +config SPL_OF_CONTROL + bool "Enable run-time configuration via Device Tree in SPL" + depends on SPL && 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 @@ -37,7 +37,9 @@ config OF_EMBED bool "Embedded DTB for DT control" help If this option is enabled, the device tree will be picked up and - built into the U-Boot image. + built into the U-Boot image. This is suitable for local debugging + and development only and is not recommended for production devices. + Boards in the mainline U-Boot tree should not use it. config OF_HOSTFILE bool "Host filed DTB for DT control" @@ -51,9 +53,57 @@ endchoice config DEFAULT_DEVICE_TREE string "Default Device Tree for DT control" + depends on OF_CONTROL help This option specifies the default Device Tree used for DT control. It can be overridden from the command line: $ make DEVICE_TREE= +config OF_LIST + string "List of device tree files to include for DT control" + depends on SPL_LOAD_FIT + default DEFAULT_DEVICE_TREE + help + This option specifies a list of device tree files to use for DT + control. These will be packaged into a FIT. At run-time, SPL will + select the correct DT to use by examining the hardware (e.g. + reading a board ID value). This is a list of device tree files + (without the directory or .dtb suffix) separated by . + +config OF_SPL_REMOVE_PROPS + string "List of device tree properties to drop for SPL" + depends on SPL_OF_CONTROL + default "interrupt-parent" if SPL_PINCTRL_FULL && SPL_CLK + default "clocks clock-names interrupt-parent" if SPL_PINCTRL_FULL + default "pinctrl-0 pinctrl-names interrupt-parent" if SPL_CLK + default "pinctrl-0 pinctrl-names clocks clock-names interrupt-parent" + help + Since SPL normally runs in a reduced memory space, the device tree + is cut down to only what is needed to load and start U-Boot. Only + nodes marked with the property "u-boot,dm-pre-reloc" will be + included. In addition, some properties are not used by U-Boot and + can be discarded. This option defines the list of properties to + discard. + +config SPL_OF_PLATDATA + bool "Generate platform data for use in SPL" + depends on SPL_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