u-boot-brain/scripts
Maxime Ripard 5ed2dc5623 dtc: add ability to make nodes conditional on them being referenced
This is needed when importing mainline DTs into U-Boot, as some started
using this /omit-if-no-ref/ tag, so won't compile with U-Boot's current
dtc copy. This is just a cherry-pick of the patch introducing this
feature.
Original commit message from Maxime:
------------------
A number of platforms have a need to reduce the number of DT nodes,
mostly because of two similar constraints: the size of the DT blob, and
the time it takes to parse it.

As the DT is used in more and more SoCs, and by more projects, some
constraints start to appear in bootloaders running from SRAM with an
order of magnitude of 10kB. A typical DT is in the same order of
magnitude, so any effort to reduce the blob size is welcome in such an
environment.

Some platforms also want to reach very fast boot time, and the time it
takes to parse a typical DT starts to be noticeable.

Both of these issues can be mitigated by reducing the number of nodes in
the DT. The biggest provider of nodes is usually the pin controller and
its subnodes, usually one for each valid pin configuration in a given
SoC.

Obviously, a single, fixed, set of these nodes will be used by a given
board, so we can introduce a node property that will tell the DT
compiler to drop the nodes when they are not referenced in the tree, and
as such wouldn't be useful in the targetted system.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2020-02-05 19:33:46 -07:00
..
basic SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
coccinelle scripts/coccinelle: add some more coccinelle tests 2018-03-09 12:31:07 -05:00
dtc dtc: add ability to make nodes conditional on them being referenced 2020-02-05 19:33:46 -07:00
kconfig kconfig: Avoid format overflow warning from GCC 8.1 2018-07-25 08:47:52 +09:00
.gitignore docproc: Remove 2018-08-03 19:53:54 -04:00
bin2c.c scripts: import bin2c.c from Linux 4.10-rc6 2017-02-08 15:56:19 -05:00
binutils-version.sh scripts: fix binutils-version.sh for 'as' without a package. 2015-01-08 11:00:45 -05:00
build_OID_registry lib: add oid registry utility 2019-12-06 16:44:20 -05:00
build-whitelist.sh sunxi: Fix CONFIG_SUNXI_GMAC references 2017-09-01 20:48:27 +05:30
check-config.sh scripts/check-config.sh: Add usage() 2018-12-26 18:24:26 -05:00
checkpatch.pl tools: checkpatch: Restore 'debug' and 'printf' to logFunctions list 2019-11-23 10:28:56 -05:00
checkstack.pl avr32: Retire AVR32 for good 2017-07-06 16:17:19 -04:00
cleanpatch Makefile: Move some scripts imported from Linux 2013-12-13 09:18:45 -05:00
coccicheck Makefile: add coccicheck target 2017-11-20 20:18:38 -05:00
config_whitelist.txt arm/km: remove unmaintained board kmsuv31 2020-01-23 07:29:58 -05:00
const_structs.checkpatch checkpatch: update from Linux v4.13-rc6 2017-09-14 21:33:00 -04:00
coreboot.sed SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
decodecode scripts: add decodecode from Linux 2018-05-23 22:06:41 -04:00
dtc-version.sh Makefile: Update minimum dtc version to 1.4.3 2017-09-22 07:40:05 -04:00
gcc-stack-usage.sh SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gcc-version.sh kbuild: Make scripts executable 2014-11-12 13:25:42 -05:00
get_default_envs.sh script: Make get_default_envs.sh script exclude tools/env 2018-06-07 20:06:29 -04:00
get_maintainer.pl get_maintainer.pl: update from Linux kernel v4.16 2018-04-10 15:19:14 -04:00
Kbuild.include kbuild: add .SECONDARY special target to scripts/Kbuild.include 2019-01-15 15:28:53 -05:00
kernel-doc scripts/kernel-doc: fix parsing of function pointers 2019-07-24 14:15:36 -04:00
ld-version.sh scripts/ld-version.sh: regular expression compile fails 2017-11-20 20:18:37 -05:00
Lindent scripts/Lindent: import from Linux 3.16 2014-08-21 12:01:29 -04:00
mailmapper scripts: mailmapper: SPDX license identifier 2018-06-04 11:25:30 -04:00
Makefile docproc: Remove 2018-08-03 19:53:54 -04:00
Makefile.autoconf SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Makefile.build lib: crypto: add pkcs7 message parser 2019-12-06 16:44:20 -05:00
Makefile.clean SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Makefile.extrawarn scripts/Makefile.extrawarn: Silence more DTC warnings 2019-03-25 11:44:12 -04:00
Makefile.host SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Makefile.lib dts: add property removal option CONFIG_OF_REMOVE_PROPS 2020-01-27 19:54:20 -05:00
Makefile.spl spl: separate SPL_FRAMEWORK config for spl and tpl 2019-11-17 17:22:53 +08:00
Makefile.uncmd_spl dm: gpio: Allow control of GPIO uclass in SPL 2019-12-15 08:52:29 +08:00
mkmakefile kbuild: Make scripts executable 2014-11-12 13:25:42 -05:00
objdiff scripts: objdiff: Ignore debug info when comparing 2017-08-26 14:56:14 -04:00
setlocalversion scripts: setlocalversion: safely extract variables from auto.conf using awk 2017-08-13 17:15:08 +02:00
show-gnu-make SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
spelling.txt scripts/spelling.txt: Sync script with kernel 4.16-rc4 2018-03-05 10:16:30 -05:00