diff options
author | Marek Vasut <marek.vasut+renesas@gmail.com> | 2019-03-08 16:06:55 +0100 |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2019-04-09 18:19:10 +0200 |
commit | 95f4bbd581cfde45d4bd1fa5e56c2d880dae7ced (patch) | |
tree | fdf036ff9026bfcae64afd553105b60dcac6f382 /dts | |
parent | 1fd303543aef9c4641bd578e6e52284f5a69df67 (diff) | |
download | u-boot-95f4bbd581cfde45d4bd1fa5e56c2d880dae7ced.tar.gz u-boot-95f4bbd581cfde45d4bd1fa5e56c2d880dae7ced.tar.bz2 u-boot-95f4bbd581cfde45d4bd1fa5e56c2d880dae7ced.zip |
lib: fdt: Allow LZO and GZIP DT compression in U-Boot
Add required Kconfig symbols, Makefile bits and macro fixes in a
few places to support LZO and DT compression in U-Boot. This can
save a lot of space with multi-DTB fitImages.
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Diffstat (limited to 'dts')
-rw-r--r-- | dts/Kconfig | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/dts/Kconfig b/dts/Kconfig index 3e85914d11..a5f30c8fd0 100644 --- a/dts/Kconfig +++ b/dts/Kconfig @@ -130,6 +130,63 @@ config OF_LIST device tree files (without the directory or .dtb suffix) separated by <space>. +choice + prompt "SPL 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" |