u-boot/scripts
Sumit Garg 4be3fe9d80 Makefile: Add support for DT bindings schema checks
This adds the build infrastructure for checking DT binding schema
documents and validating dtb files using the binding schema. Here we use
devicetree-rebasing subtree to provide the DT bindings. Along with that
adapt dts/upstream/Bindings/Makefile to align with old U-Boot Kbuild
infrastructure.

Dependency:
-----------

The DT schema project must be installed in order to validate the DT schema
binding documents and validate DTS files using the DT schema. The DT schema
project can be installed with pip::

    pip3 install dtschema

Note that 'dtschema' installation requires 'swig' and Python development
files installed first. On Debian/Ubuntu systems::

    apt install swig python3-dev

Testing:
--------

Build dts files and check using DT binding schema:
$ make dtbs_check

Optionally, DT_SCHEMA_FILES can be passed in with a schema file(s) to
use for validation. This makes it easier to find and fix errors
generated by a specific schema.

Note, at this point dtbs_check is an optional build target as there are
many warnings generated due to custom DT properties used by many
platforms in u-boot. It is expected with these checks that compliance
with DT bindings to take place. Once that's done it can be added to CI
builds to remain compliant with DT bindings.

Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
2024-02-29 22:24:05 -05:00
..
basic WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
coccinelle scripts: ensure the cocci script for miiphy_register does not leak the MDIO bus 2021-09-28 18:50:57 +03:00
dtc Allow Python packages to be dropped 2023-09-22 06:03:46 +08:00
kconfig Makefile: Run defconfig files through the C preprocessor 2024-01-12 08:34:19 -05:00
.gitignore
bin2c.c
binutils-version.sh
build-cb.sh x86: coreboot: Add a sample script to build a qemu image 2021-12-26 23:33:28 +01:00
build-efi.sh efI: Allow packaging a kernel in the debugging script 2023-03-25 11:07:22 +01:00
build_OID_registry lib: add oid registry utility 2019-12-06 16:44:20 -05:00
check-of.sh fdt: Makefile: Ensure that OF_BOARD is used when needed 2021-12-23 11:19:39 -05:00
checkpatch.pl checkpatch.pl: Make common.h check boarder 2023-10-24 16:34:45 -04:00
checkstack.pl
clang-version.sh kconfig / kbuild: Re-sync with Linux 4.20 2021-07-14 16:57:35 -04:00
cleanpatch
coccicheck Use grep -E or plain grep instead of egrep 2023-01-11 15:02:24 -05:00
config scripts/config: pick config script from kernel scripts 2022-08-10 13:46:55 -04:00
const_structs.checkpatch
coreboot.sed
decodecode
documentation-file-ref-check scripts: add documentation-file-ref-check 2020-04-17 12:32:36 -04:00
dtc-version.sh scripts: dtc-version: support git version strings too 2023-05-15 14:08:44 -04:00
env2string.awk env: Allow text-env tests to run with awk 2022-04-07 16:50:53 -04:00
event_dump.py event: Support a simple spy record 2023-08-31 13:16:54 -04:00
gcc-stack-usage.sh
gcc-version.sh kconfig / kbuild: Re-sync with Linux 4.20 2021-07-14 16:57:35 -04:00
gen_compile_commands.py scripts/gen_compile_commands: update to Linux v6.7 2024-02-06 16:31:06 -05:00
gen_ll_addressable_symbols.sh treewide: Fix Marek's name and change my e-mail address 2022-07-21 10:14:04 +02:00
get_default_envs.sh scripts/get_default_envs.sh: Remove blank lines 2022-04-07 16:50:53 -04:00
get_maintainer.pl get_maintainer.pl: slightly modify penguin_chief 2024-01-18 20:24:13 -05:00
Kbuild.include doc: Correct the path to the Makefile documentation 2022-11-22 15:13:34 -07:00
Kconfig.include tests: Build correct sandbox configuration on 32bit 2022-10-29 07:36:33 -06:00
kernel-doc doc: update Kernel documentation build system 2021-01-27 12:52:57 +01:00
ld-version.sh
Lindent
mailmapper scripts/mailmapper: enable running with Python 3 2021-09-28 18:50:55 +03:00
make_pip.sh tools/make_pip: Add mention of u_boot_pylib in tool list 2023-12-13 18:39:06 -05:00
Makefile scripts: Makefile: also clean subdir dtc 2022-02-03 12:15:36 -05:00
Makefile.autoconf kbuild: Allow for CONFIG_SYS_CONFIG_NAME to be unset 2024-02-27 14:18:30 -05:00
Makefile.build kbuild: Remove uncmd_spl logic 2022-12-23 10:15:13 -05:00
Makefile.clean kconfig / kbuild: Re-sync with Linux 4.19 2020-04-10 11:18:32 -04:00
Makefile.dts scripts/Makefile.dts: tweak logic for deciding which dtbs to build 2023-05-15 14:08:44 -04:00
Makefile.extrawarn kconfig / kbuild: Re-sync with Linux 4.20 2021-07-14 16:57:35 -04:00
Makefile.host kbuild: add KBUILD_HOSTLDFLAGS to cmd_host-csingle 2022-08-31 12:16:01 -04:00
Makefile.lib Makefile: Add support for DT bindings schema checks 2024-02-29 22:24:05 -05:00
Makefile.spl sandbox: Correct SPL condition for building devicetree 2023-12-31 07:21:02 -07:00
mkmakefile kconfig / kbuild: Re-sync with Linux 4.20 2021-07-14 16:57:35 -04:00
objdiff
of_allowlist.txt fdt: Makefile: Ensure that OF_BOARD is used when needed 2021-12-23 11:19:39 -05:00
pylint.base dtoc: Correct remaining pylint problems in test_fdt 2022-08-09 11:55:41 -06:00
setlocalversion scripts: setlocalversion: remove quotes around localversion from config 2022-02-14 13:04:39 -05:00
show-gnu-make
spdxcheck.py scripts/checkpatch.pl: Resync with v5.16 2022-02-03 12:16:00 -05:00
spelling.txt scripts: update spelling.txt from upstream Linux 2021-11-20 10:53:00 +01:00
style.py RFC: tools: Add a camel-case conversion script 2023-03-01 11:22:27 -07:00
u-boot.supp malloc: Annotate allocator for valgrind 2022-04-11 10:00:30 -04:00