dts: Add support for adding DT overlays in u-boot.img
[oweals/u-boot.git] / dts / Kconfig
index a1a92f2bbd4144bf708a73a677d95bb995e79822..64c98dd7237bf2a8dbf06da928336842d13d46c5 100644 (file)
@@ -44,7 +44,7 @@ config SPL_OF_CONTROL
        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
+         which is not enough to support device tree. Disable this option to
          allow such boards to be supported by U-Boot SPL.
 
 config TPL_OF_CONTROL
@@ -61,7 +61,7 @@ config OF_LIVE
        help
          Normally U-Boot uses a flat device tree which saves space and
          avoids the need to unpack the tree before use. However a flat
-         tree does not support modifcation from within U-Boot since it
+         tree does not support modification from within U-Boot since it
          can invalidate driver-model device tree offsets. This option
          enables a live tree which is available after relocation,
          and can be adjusted as needed.
@@ -130,6 +130,71 @@ config OF_LIST
          device tree files (without the directory or .dtb suffix)
          separated by <space>.
 
+config OF_OVERLAY_LIST
+       string "List of device tree overlays to include for DT control"
+       depends on SPL_LOAD_FIT_APPLY_OVERLAY
+       help
+         This option specifies a list of device tree overlays to use for DT
+         control. This option can then be used by a FIT generator to include
+         the overlays in the FIT image.
+
+choice
+       prompt "OF LIST compression"
+       depends on MULTI_DTB_FIT
+       default MULTI_DTB_FIT_NO_COMPRESSION
+
+config MULTI_DTB_FIT_LZO
+       bool "LZO"
+       depends on SYS_MALLOC_F
+       select LZO
+       help
+         Compress the FIT image containing the DTBs available for the SPL
+         using LZO compression. (requires lzop on host).
+
+config MULTI_DTB_FIT_GZIP
+       bool "GZIP"
+       depends on SYS_MALLOC_F
+       select GZIP
+       help
+         Compress the FIT image containing the DTBs available for the SPL
+         using GZIP compression. (requires gzip on host)
+
+config MULTI_DTB_FIT_NO_COMPRESSION
+       bool "No compression"
+       help
+         Do not compress the FIT image containing the DTBs available for the SPL.
+         Use this options only if LZO is not available and the DTBs are very small.
+endchoice
+
+choice
+       prompt "Location of uncompressed DTBs"
+       depends on (MULTI_DTB_FIT_GZIP || MULTI_DTB_FIT_LZO)
+       default MULTI_DTB_FIT_DYN_ALLOC if SYS_MALLOC_F
+
+config MULTI_DTB_FIT_DYN_ALLOC
+       bool "Dynamically allocate the memory"
+       depends on SYS_MALLOC_F
+
+config MULTI_DTB_FIT_USER_DEFINED_AREA
+       bool "User-defined location"
+endchoice
+
+config MULTI_DTB_FIT_UNCOMPRESS_SZ
+       hex "Size of memory reserved to uncompress the DTBs"
+       depends on (MULTI_DTB_FIT_GZIP || MULTI_DTB_FIT_LZO)
+       default 0x8000
+       help
+          This is the size of this area where the DTBs are uncompressed.
+          If this area is dynamically allocated, make sure that
+          SYS_MALLOC_F_LEN is big enough to contain it.
+
+config MULTI_DTB_FIT_USER_DEF_ADDR
+       hex "Address of memory where dtbs are uncompressed"
+       depends on MULTI_DTB_FIT_USER_DEFINED_AREA
+       help
+          the FIT image containing the DTBs is uncompressed in an area defined
+          at compilation time. This is the address of this area. It must be
+          aligned on 2-byte boundary.
 
 config DTB_RESELECT
        bool "Support swapping dtbs at a later point in boot"
@@ -202,7 +267,7 @@ config SPL_MULTI_DTB_FIT_NO_COMPRESSION
 endchoice
 
 choice
-       prompt "Location of uncompressed DTBs "
+       prompt "Location of uncompressed DTBs"
        depends on (SPL_MULTI_DTB_FIT_GZIP || SPL_MULTI_DTB_FIT_LZO)
        default SPL_MULTI_DTB_FIT_DYN_ALLOC if SYS_MALLOC_F
 
@@ -234,10 +299,10 @@ config SPL_MULTI_DTB_FIT_USER_DEF_ADDR
 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 && SPL_CLK
-       default "clocks clock-names interrupt-parent" if SPL_PINCTRL
-       default "pinctrl-0 pinctrl-names interrupt-parent" if SPL_CLK
-       default "pinctrl-0 pinctrl-names clocks clock-names interrupt-parent"
+       default "interrupt-parent interrupts" if SPL_PINCTRL && SPL_CLK
+       default "clocks clock-names interrupt-parent interrupts" if SPL_PINCTRL
+       default "pinctrl-0 pinctrl-names interrupt-parent interrupts" if SPL_CLK
+       default "pinctrl-0 pinctrl-names clocks clock-names interrupt-parent interrupts"
        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
@@ -265,8 +330,7 @@ config SPL_OF_PLATDATA
 
          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.
+         declarations for each node. See of-plat.txt for more information.
 
 config TPL_OF_PLATDATA
        bool "Generate platform data for use in TPL"
@@ -287,8 +351,7 @@ config TPL_OF_PLATDATA
 
          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.
+         declarations for each node. See of-plat.txt for more information.
 
 endmenu