X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=dts%2FKconfig;h=4b7d8b15cc04d7f3a81ab7edf50268901ee4cf8c;hb=b443c88b1a8dd74a63993d0fee0bec0aaca0d96e;hp=09cfefbd35358adb5335fea0f2dc53eda94be99e;hpb=3c9cc70d7153da442575112d9a2643eecd17d534;p=oweals%2Fu-boot.git diff --git a/dts/Kconfig b/dts/Kconfig index 09cfefbd35..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,14 +53,29 @@ 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 OF_CONTROL && 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 @@ -68,4 +85,25 @@ config OF_SPL_REMOVE_PROPS 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