All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/2] dts: add property removal option CONFIG_OF_REMOVE_PROPS
@ 2020-01-12 14:57 Anatolij Gustschin
  2020-01-12 14:57 ` [PATCH v2 2/2] tbs2910: add custom CONFIG_OF_REMOVE_PROPS list to defconfig Anatolij Gustschin
  2020-01-28  0:56 ` [PATCH v2 1/2] dts: add property removal option CONFIG_OF_REMOVE_PROPS Tom Rini
  0 siblings, 2 replies; 5+ messages in thread
From: Anatolij Gustschin @ 2020-01-12 14:57 UTC (permalink / raw)
  To: u-boot

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>
---
Changes in v2:
 - make DT property removal optional (enable it if required
   via OF_DTB_PROPS_REMOVE Kconfig option)
 - don't touch cmd_shipped, use new cmd_fdt_rm_props instead
 - update commit description
 - gitlab CI results:
   https://gitlab.denx.de/u-boot/custodians/u-boot-video/pipelines/1842

 dts/Kconfig          | 20 ++++++++++++++++++++
 dts/Makefile         |  5 +++++
 scripts/Makefile.lib |  8 ++++++++
 3 files changed, 33 insertions(+)

diff --git a/dts/Kconfig b/dts/Kconfig
index 64c98dd723..d73dfb9549 100644
--- a/dts/Kconfig
+++ b/dts/Kconfig
@@ -311,6 +311,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
diff --git a/dts/Makefile b/dts/Makefile
index 1f83e615e8..a20930eb9a 100644
--- a/dts/Makefile
+++ b/dts/Makefile
@@ -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
 
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 4ea898a421..30f392fdfb 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -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)))
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 2/2] tbs2910: add custom CONFIG_OF_REMOVE_PROPS list to defconfig
  2020-01-12 14:57 [PATCH v2 1/2] dts: add property removal option CONFIG_OF_REMOVE_PROPS Anatolij Gustschin
@ 2020-01-12 14:57 ` Anatolij Gustschin
  2020-01-12 16:05   ` Soeren Moch
  2020-01-28  0:56   ` Tom Rini
  2020-01-28  0:56 ` [PATCH v2 1/2] dts: add property removal option CONFIG_OF_REMOVE_PROPS Tom Rini
  1 sibling, 2 replies; 5+ messages in thread
From: Anatolij Gustschin @ 2020-01-12 14:57 UTC (permalink / raw)
  To: u-boot

This shrinks the image size: all -3840.0 text -3840.0

Signed-off-by: Anatolij Gustschin <agust@denx.de>
---
Changes in v2:
 - add CONFIG_OF_DTB_PROPS_REMOVE=y
 - update commit description
 - gitlab CI results:
   https://gitlab.denx.de/u-boot/custodians/u-boot-video/pipelines/1842

NOTE: building with this patch only works when patch [1] is applied.

[1] http://patchwork.ozlabs.org/patch/1219944

 configs/tbs2910_defconfig | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/configs/tbs2910_defconfig b/configs/tbs2910_defconfig
index a42f53e849..9ac78d78b4 100644
--- a/configs/tbs2910_defconfig
+++ b/configs/tbs2910_defconfig
@@ -46,6 +46,8 @@ CONFIG_EFI_PARTITION=y
 CONFIG_OF_CONTROL=y
 CONFIG_OF_EMBED=y
 CONFIG_DEFAULT_DEVICE_TREE="imx6q-tbs2910"
+CONFIG_OF_DTB_PROPS_REMOVE=y
+CONFIG_OF_REMOVE_PROPS="dmas dma-names interrupt-parent interrupts interrupts-extended interrupt-names interrupt-map interrupt-map-mask"
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_DM=y
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 2/2] tbs2910: add custom CONFIG_OF_REMOVE_PROPS list to defconfig
  2020-01-12 14:57 ` [PATCH v2 2/2] tbs2910: add custom CONFIG_OF_REMOVE_PROPS list to defconfig Anatolij Gustschin
@ 2020-01-12 16:05   ` Soeren Moch
  2020-01-28  0:56   ` Tom Rini
  1 sibling, 0 replies; 5+ messages in thread
From: Soeren Moch @ 2020-01-12 16:05 UTC (permalink / raw)
  To: u-boot

On 12.01.20 15:57, Anatolij Gustschin wrote:
> This shrinks the image size: all -3840.0 text -3840.0
>
> Signed-off-by: Anatolij Gustschin <agust@denx.de>
Acked-by: Soeren Moch <smoch@web.de>
> ---
> Changes in v2:
>  - add CONFIG_OF_DTB_PROPS_REMOVE=y
>  - update commit description
>  - gitlab CI results:
>    https://gitlab.denx.de/u-boot/custodians/u-boot-video/pipelines/1842
>
> NOTE: building with this patch only works when patch [1] is applied.
>
> [1] http://patchwork.ozlabs.org/patch/1219944
>
>  configs/tbs2910_defconfig | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/configs/tbs2910_defconfig b/configs/tbs2910_defconfig
> index a42f53e849..9ac78d78b4 100644
> --- a/configs/tbs2910_defconfig
> +++ b/configs/tbs2910_defconfig
> @@ -46,6 +46,8 @@ CONFIG_EFI_PARTITION=y
>  CONFIG_OF_CONTROL=y
>  CONFIG_OF_EMBED=y
>  CONFIG_DEFAULT_DEVICE_TREE="imx6q-tbs2910"
> +CONFIG_OF_DTB_PROPS_REMOVE=y
> +CONFIG_OF_REMOVE_PROPS="dmas dma-names interrupt-parent interrupts interrupts-extended interrupt-names interrupt-map interrupt-map-mask"
>  CONFIG_ENV_IS_IN_MMC=y
>  CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>  CONFIG_DM=y

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2 1/2] dts: add property removal option CONFIG_OF_REMOVE_PROPS
  2020-01-12 14:57 [PATCH v2 1/2] dts: add property removal option CONFIG_OF_REMOVE_PROPS Anatolij Gustschin
  2020-01-12 14:57 ` [PATCH v2 2/2] tbs2910: add custom CONFIG_OF_REMOVE_PROPS list to defconfig Anatolij Gustschin
@ 2020-01-28  0:56 ` Tom Rini
  1 sibling, 0 replies; 5+ messages in thread
From: Tom Rini @ 2020-01-28  0:56 UTC (permalink / raw)
  To: u-boot

On Sun, Jan 12, 2020 at 03:57:42PM +0100, Anatolij Gustschin wrote:

> 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>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200127/1d762c5f/attachment.sig>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2 2/2] tbs2910: add custom CONFIG_OF_REMOVE_PROPS list to defconfig
  2020-01-12 14:57 ` [PATCH v2 2/2] tbs2910: add custom CONFIG_OF_REMOVE_PROPS list to defconfig Anatolij Gustschin
  2020-01-12 16:05   ` Soeren Moch
@ 2020-01-28  0:56   ` Tom Rini
  1 sibling, 0 replies; 5+ messages in thread
From: Tom Rini @ 2020-01-28  0:56 UTC (permalink / raw)
  To: u-boot

On Sun, Jan 12, 2020 at 03:57:43PM +0100, Anatolij Gustschin wrote:

> This shrinks the image size: all -3840.0 text -3840.0
> 
> Signed-off-by: Anatolij Gustschin <agust@denx.de>
> Acked-by: Soeren Moch <smoch@web.de>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200127/265c8aa7/attachment.sig>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-01-28  0:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-12 14:57 [PATCH v2 1/2] dts: add property removal option CONFIG_OF_REMOVE_PROPS Anatolij Gustschin
2020-01-12 14:57 ` [PATCH v2 2/2] tbs2910: add custom CONFIG_OF_REMOVE_PROPS list to defconfig Anatolij Gustschin
2020-01-12 16:05   ` Soeren Moch
2020-01-28  0:56   ` Tom Rini
2020-01-28  0:56 ` [PATCH v2 1/2] dts: add property removal option CONFIG_OF_REMOVE_PROPS Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.