mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 07:04:28 +00:00
dts: add property removal option CONFIG_OF_REMOVE_PROPS
This can be used for device tree size reduction similar as CONFIG_OF_SPL_REMOVE_PROPS option. Some boards must pass the built-in DTB unchanged to the kernel, thus we may not cut it down unconditionally. Therefore enable the property removal list option only if CONFIG_OF_DTB_PROPS_REMOVE is selected. Signed-off-by: Anatolij Gustschin <agust@denx.de>
This commit is contained in:
parent
051e03c0d7
commit
43b6e38b27
3 changed files with 33 additions and 0 deletions
20
dts/Kconfig
20
dts/Kconfig
|
@ -314,6 +314,26 @@ config OF_SPL_REMOVE_PROPS
|
|||
can be discarded. This option defines the list of properties to
|
||||
discard.
|
||||
|
||||
config OF_DTB_PROPS_REMOVE
|
||||
bool "Enable removal of device tree properties"
|
||||
depends on OF_CONTROL
|
||||
help
|
||||
Some boards have restricted amount of storage for U-Boot image.
|
||||
If the generated binary doesn't fit into available image storage,
|
||||
the built-in device tree could probably be cut down by removing
|
||||
some not required device tree properties to reduce the image size.
|
||||
Enable this option and define the properties to be removed in the
|
||||
CONFIG_OF_REMOVE_PROPS list. Do not enable this option if you must
|
||||
pass the built-in DTB directly to the kernel!
|
||||
|
||||
config OF_REMOVE_PROPS
|
||||
string "List of device tree properties to drop"
|
||||
depends on OF_DTB_PROPS_REMOVE
|
||||
default "interrupt-parent interrupts" if PINCTRL
|
||||
help
|
||||
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
|
||||
|
|
|
@ -19,8 +19,13 @@ endif
|
|||
$(obj)/dt-spl.dtb: $(DTB) $(objtree)/tools/fdtgrep FORCE
|
||||
$(call if_changed,fdtgrep)
|
||||
|
||||
ifeq ($(CONFIG_OF_DTB_PROPS_REMOVE),y)
|
||||
$(obj)/dt.dtb: $(DTB) $(objtree)/tools/fdtgrep FORCE
|
||||
$(call if_changed,fdt_rm_props)
|
||||
else
|
||||
$(obj)/dt.dtb: $(DTB) FORCE
|
||||
$(call if_changed,shipped)
|
||||
endif
|
||||
|
||||
targets += dt.dtb dt-spl.dtb
|
||||
|
||||
|
|
|
@ -544,3 +544,11 @@ quiet_cmd_fdtgrep = FDTGREP $@
|
|||
$(objtree)/tools/fdtgrep -r -O dtb - -o $@ \
|
||||
-P u-boot,dm-pre-reloc -P u-boot,dm-spl -P u-boot,dm-tpl \
|
||||
$(addprefix -P ,$(subst $\",,$(CONFIG_OF_SPL_REMOVE_PROPS)))
|
||||
|
||||
# fdt_rm_props
|
||||
# ---------------------------------------------------------------------------
|
||||
# Pass the original device tree file through fdtgrep. This removes various
|
||||
# unused properties. The output is typically a smaller device tree file.
|
||||
quiet_cmd_fdt_rm_props = FDTGREP $@
|
||||
cmd_fdt_rm_props = cat $< | $(objtree)/tools/fdtgrep -r -O dtb - -o $@ \
|
||||
$(addprefix -P ,$(subst $\",,$(CONFIG_OF_REMOVE_PROPS)))
|
||||
|
|
Loading…
Reference in a new issue