mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-16 09:54:35 +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
|
can be discarded. This option defines the list of properties to
|
||||||
discard.
|
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
|
config SPL_OF_PLATDATA
|
||||||
bool "Generate platform data for use in SPL"
|
bool "Generate platform data for use in SPL"
|
||||||
depends on SPL_OF_CONTROL
|
depends on SPL_OF_CONTROL
|
||||||
|
|
|
@ -19,8 +19,13 @@ endif
|
||||||
$(obj)/dt-spl.dtb: $(DTB) $(objtree)/tools/fdtgrep FORCE
|
$(obj)/dt-spl.dtb: $(DTB) $(objtree)/tools/fdtgrep FORCE
|
||||||
$(call if_changed,fdtgrep)
|
$(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
|
$(obj)/dt.dtb: $(DTB) FORCE
|
||||||
$(call if_changed,shipped)
|
$(call if_changed,shipped)
|
||||||
|
endif
|
||||||
|
|
||||||
targets += dt.dtb dt-spl.dtb
|
targets += dt.dtb dt-spl.dtb
|
||||||
|
|
||||||
|
|
|
@ -544,3 +544,11 @@ quiet_cmd_fdtgrep = FDTGREP $@
|
||||||
$(objtree)/tools/fdtgrep -r -O dtb - -o $@ \
|
$(objtree)/tools/fdtgrep -r -O dtb - -o $@ \
|
||||||
-P u-boot,dm-pre-reloc -P u-boot,dm-spl -P u-boot,dm-tpl \
|
-P u-boot,dm-pre-reloc -P u-boot,dm-spl -P u-boot,dm-tpl \
|
||||||
$(addprefix -P ,$(subst $\",,$(CONFIG_OF_SPL_REMOVE_PROPS)))
|
$(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…
Add table
Reference in a new issue