summaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
2024-12-24scripts: add volatge to spelling.txtHeinrich Schuchardt
To avoid future misspells add volatge to spelling.txt. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-10-30scripts/dtc/pylibfdt/libfdt.i_shipped: Use SWIG_AppendOutputMarkus Volk
Swig has changed language specific AppendOutput functions. The helper macro SWIG_AppendOutput remains unchanged. Use that instead of SWIG_Python_AppendOutput, which would require an extra parameter since swig 4.3.0. /home/flk/poky/build-test/tmp/work/qemux86_64-poky-linux/u-boot/2024.10/git/arch/x86/cpu/u-boot-64.lds | scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’: | scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’ | 5581 | resultobj = SWIG_Python_AppendOutput(resultobj, val); | | ^~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Markus Volk <f_l_k@t-online.de> Reported-by: Rudi Heitbaum <rudi@heitbaum.com> Link: https://github.com/dgibson/dtc/pull/154
2024-10-18Merge tag 'u-boot-imx-master-20241018a' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/22796 - Switch to using upstream DT on DH i.MX8MP DHCOM PDK2/PDK3. - Add ability to build fallback DTBOs from arch/$(ARCH)/dts. - Remove fdt_high and initrd_high env variables from imx6-dhcom. - Add dummy clk for imx8. - Fix DT corruption in imx8_cpu. - Improve DDR stability on pico-imx7d.
2024-10-18dts: Add ability to build fallback DTBOs from arch/$(ARCH)/dtsMarek Vasut
Currently the enablement of OF_UPSTREAM results on the build system searching for DTs only in dts/upstream/ . There are platforms which use U-Boot specific DTBOs applied on top of U-Boot control DT during SPL stage, and source DTs for these are located in arch/$(ARCH)/dtb. Add dedicated 'dtbos' target which builds only .dtbos and not .dtbs and in case CONFIG_OF_UPSTREAM_INCLUDE_LOCAL_FALLBACK_DTBOS is enabled, build this target for arch/$(ARCH)/dtb to generate local U-Boot specific DTBOs. Adjust top level Makefile so binman would search for .dtb and .dtbo in both OF_UPSTREAM specific paths and arch/$(ARCH)/dtb for the .dtbo case in case CONFIG_OF_UPSTREAM_INCLUDE_LOCAL_FALLBACK_DTBOS is enabled. Reviewed-by: Sumit Garg <sumit.garg@linaro.org> Signed-off-by: Marek Vasut <marex@denx.de>
2024-10-17Extend usage for OF_OVERLAY_LIST beyond SPLJan Kiszka
Allow to use OF_OVERLAY_LIST also for the case that the overlays just need be built, e.g. when they will be picked up by binman as artifacts of the final U-Boot image. The IOT2050 boards have such a need when switching to OF_UPSTREAM. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Reviewed-by: Sumit Garg <sumit.garg@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-10-14dts: Deduplicate dtbs targetMarek Vasut
The dtbs: target is almost identical in all architecture Makefiles. All architecture Makefiles include scripts/Makefile.dts . Deduplicate the dtbs: target into scripts/Makefile.dts . No functional change. Reviewed-by: Sumit Garg <sumit.garg@linaro.org> Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Caleb Connolly <caleb.connolly@linaro.org> #qcom, OF_UPSTREAM
2024-10-11global: Rename SPL_TPL_ to PHASE_Simon Glass
Use PHASE_ as the symbol to select a particular XPL build. This means that SPL_TPL_ is no-longer set. Update the comment in bootstage to refer to this symbol, instead of SPL_ Signed-off-by: Simon Glass <sjg@chromium.org>
2024-10-11global: Rename SPL_ to XPL_Simon Glass
Use XPL_ as the symbol to indicate an SPL build. This means that SPL_ is no-longer set. Signed-off-by: Simon Glass <sjg@chromium.org>
2024-10-11xpl: Define CONFIG_SPL_BUILD only for the SPL buildSimon Glass
Make this define mean SPL only, not TPL, VPL, etc. Signed-off-by: Simon Glass <sjg@chromium.org>
2024-10-11global: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILDSimon Glass
Complete this rename for all directories outside arch/ board/ drivers/ and include/ Use the new symbol to refer to any 'SPL' build, including TPL and VPL Signed-off-by: Simon Glass <sjg@chromium.org>
2024-10-11scripts: Define CONFIG_XPL_BUILD for all xPL buildsSimon Glass
The new name 'xPL' is intended to indicate a build of any phase which is not U-Boot proper. Define it for all such phases. Note that we also define CONFIG_SPL_BUILD for all xPL builds. This preserves existing behaviour, but future patches will adjust that. Signed-off-by: Simon Glass <sjg@chromium.org>
2024-10-11scripts: Add some comments about autoconf.mkSimon Glass
Now that the conversion of all CONFIG options to Kconfig is complete, these files only contain the xPL_BUILD defines. Add a comment to make this clear. Signed-off-by: Simon Glass <sjg@chromium.org>
2024-10-11scripts: Rename Makefile.spl to Makefile.xplSimon Glass
Rename this file to indicate that it refers to any non-U-Boot-proper phase, not just SPL, which is the phase immediately before U-Boot proper. Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-20kbuild: cherry-pick kbuild fdtoverlay changes from linuxPrasad Kummari
Linux commits: 15d16d6dadf6 kbuild: Add generic rule to apply fdtoverlay 44f87191d105 kbuild: parameterize the .o part of suffix-search The Linux commit 15d16d6dadf6 adds a generic rule in Makefile.lib to automatically apply fdtoverlay, so that each platform doesn't need to include a complex rule. This also automatically appends DTC_FLAGS_foo_base += -@ to all base files The platform's Makefile only needs to have this now: foo-dtbs := foo_base.dtb foo_overlay1.dtbo foo_overlay2.dtbo dtb-y := foo.dtb Signed-off-by: Prasad Kummari <prasad.kummari@amd.com> Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/20240906070808.1045991-2-prasad.kummari@amd.com
2024-09-18Merge patch series "Fix various bugs"Tom Rini
Simon Glass <sjg@chromium.org> says: This series includes the patches needed to make make the EFI 'boot' test work. That test has now been split off into a separate series along with the EFI patches. This series fixes these problems: - sandbox memory-mapping conflict with PCI - the fix for that causes the mbr test to crash as it sets up pointers instead of addresses for its 'mmc' commands - the mmc and read commands which cast addresses to pointers - a tricky bug to do with USB keyboard and stdio - a few other minor things
2024-09-18scripts: Update pylint.baseSimon Glass
There have been quite a few changes in the Python scripts, so update the pylint baseline. This was created using: make pylint cp pylint.cur scripts/pylint.base Signed-off-by: Simon Glass <sjg@chromium.org>
2024-09-16Merge tag 'v2024.10-rc5' into nextTom Rini
Prepare v2024.10-rc5
2024-09-10scripts/Makefile.lib: do not include CONFIG_DEVICE_TREE_INCLUDES in ↵Rasmus Villemoes
dtsi_include_list The commit mentioned in Fixes broke the CONFIG_DEVICE_TREE_INCLUDES feature, with the result that any board setting any non-empty value for that fails to build. The parent of the mentioned commit refactoring a bit by introducing the dtsi_include_list variable and changing cmd_dtc to loop over that was fine. However, the .dtsi files mentioned in CONFIG_DEVICE_TREE_INCLUDES are not supposed to be generated via the build system. They are meant for e.g. including a public key for verified boot (generated with the key2dtsi script), or for injecting some stuff to the /config node (say, a bootcmd or a load-environment setting or things like that). The files can either live in-tree in a private branch or completely outside, e.g. in some Yocto metadata. But regardless, U-Boot's build system will never know anything about them, so when the mentioned commit did dtsi_include_list_deps = $(addprefix $(obj)/,$(subst $(quote),,$(dtsi_include_list))) things broke, because if CONFIG_DEVICE_TREE_INCLUDES is for example "/path/to/public_key.dtsi", this would add a dependency on $(obj)//path/to/public_key.dtsi to each $(obj)/*.dtb target, yielding make[3]: *** No rule to make target 'arch/arm/dts/imx6dl-aristainetos2c_7.dtb', needed by 'dtbs'. Stop. To fix that while preserving the introduced CONFIG_EFI_CAPSULE_ESL_FILE behaviour, disentangle CONFIG_DEVICE_TREE_INCLUDES from dtsi_include_list from which dtsi_include_list_deps is built, and instead just add the items directly to the $(foreach) loop. Fixes: a958988b62 ("scripts/Makefile.lib: Add dtsi include files as deps for building DTB") Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Tested-by: Emil Kronborg <emil.kronborg@protonmail.com>
2024-08-27tools/scripts/Kconfig: Update references from kconfig-language.txt to rstHiago De Franco
The Linux kernel documentation has transitioned from using kconfig-language.txt to kconfig-language.rst. Therefore update all occurrences of kconfig-language.txt. Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
2024-08-15scripts/decodecode: update from Linux v6.10Heinrich Schuchardt
For decoding RISC-V dumps we need to update the script. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-07-31Merge patch series "Endian Kconfig improvements"Tom Rini
Jiaxun Yang <jiaxun.yang@flygoat.com> says: This is a subset of my previous arm64_be work. I wish this could be merged first so it would be easier to work against xtensa and arm64 be support.
2024-07-31config: Use CONFIG_SYS_BIG_ENDIAN in code whenever possibleJiaxun Yang
So CONFIG_SYS_BIG_ENDIAN is our cross architecture option for selecting machine endian, while the old CONFIG_CPU_BIG_ENDIAN is defined by Arc only. Use it whenever possible to ensure big endian code path is enabled for all possible big endian machines. Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
2024-07-29fixdep: Support VPLSimon Glass
Add VPL support in this tool. Signed-off-by: Simon Glass <sjg@chromium.org> Fixes: f86ca5ad8f7 ("Introduce Verifying Program Loader (VPL)")
2024-07-26sandbox: Fix LTO to work with STACKPROTECTORAndrew Goodbody
Add the STACKPROTECTOR symbols to the script that generates the symbols that should not be removed by the use of LTO when linking a shared object. This prevents a fail to build due to link errors. https://source.denx.de/u-boot/u-boot/-/issues/35 Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-07-18Merge patch series "finish using .dtso for overlay source files"Tom Rini
Rasmus Villemoes <rasmus.villemoes@prevas.dk> says: This is a followup to the patches that landed in 2024.01 and nearly made sure that source files for producing .dtbo files use the .dtso extension. In the same release, a few new .dts files snuck in, and there was also some test code involving .dtbo -> .dtbo.S -> .dtbo.o I didn't really know how to handle at the time. This should finish the job, bring us in sync with linux (at least in this respect), and drop the .dts -> .dtbo build rule.
2024-07-18kbuild: Disallow DTB overlays to built from .dts named source filesRasmus Villemoes
[equivalent to linux commit 81d362732bac] As a follow up to the series allowing DTB overlays to built from .dtso files. Now that all overlays have been renamed, remove the ability to build from overlays from .dts files to prevent any files with the old name from accidental being added. Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
2024-07-18kbuild: Allow DTB overlays to built into .dtbo.S filesRasmus Villemoes
[linux commit 941214a512d8, modified for U-Boot by removing the include of vmlinux.lds.h and replacing STRUCT_ALIGNMENT by 16.] DTB files can be built into the kernel by converting them to assembly files then assembling them into object files. We extend this here for DTB overlays with the .dtso extensions. We change the start and end delimiting tag prefix to make it clear that this data came from overlay files. Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
2024-07-15Merge patch series "api: Remove duplicate newlines"Tom Rini
This removes a number of duplicate newlines throughout the codebase.
2024-07-15scripts: Remove duplicate newlinesMarek Vasut
Drop all duplicate newlines. No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-07-14scripts/Makefile.lib: EFI: Use capsule CRT instead of ESL fileJonathan Humphreys
The EFI Capsule ESL file (EFI Signature List File) used for authentication is a binary generated from the EFI Capsule public key certificate. Instead of including it in the source repo, automatically generate it from the certificate file during the build process. Currently, sandbox is the only device using this, so removed its ESL file and set the (new) CONFIG_EFI_CAPSULE_CRT_FILE config to point to its public key certificate. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-07-14scripts/Makefile.lib: fixes: Embed capsule public key in platform's dtbJonathan Humphreys
The call to cmd_capsule_esl_gen was made directly rather than using the "cmd,xxx" syntax. Fixes: c7d4dfcd ("scripts/Makefile.lib: Embed capsule public key in platform's dtb") Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-06-26scripts/Makefile.lib: remove bootph-some-ram property from VPL/TPL/SPLQuentin Schulz
The property isn't useful in VPL/SPL/TPL as it is only for U-Boot proper pre-reloc, which has its own DTB. Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-05-21scripts/setlocalversion: sync with linux v6.9Rasmus Villemoes
The changes upstream since the last sync (2ed1b242ab2 "scripts/setlocalversion: sync with linux 5.8") are (5) 548b8b5168c9 scripts/setlocalversion: make git describe output more reliable 77a88274dc1a kbuild: replace LANG=C with LC_ALL=C 2a73cce2dad3 scripts/setlocalversion: remove mercurial, svn and git-svn supports a2be76a352f1 scripts/setlocalversion: remove workaround for old make-kpkg ffaf62a8050b scripts/setlocalversion: add more comments to -dirty flag detection 630ff0faf84e scripts/setlocalversion: factor out 12-chars hash construction 042da426f8eb scripts/setlocalversion: simplify the short version part 5df99bec210a scripts/setlocalversion: fix a bug when LOCALVERSION is empty (1) 7d153696e5db kbuild: do not include include/config/auto.conf from shell scripts (2) 129ab0d2d9f3 kbuild: do not quote string values in include/config/auto.conf f6e09b07cc12 kbuild: do not put .scmversion into the source tarball 992ebfab2a75 setlocalversion: simplify the construction of the short version 75280bdf49b2 setlocalversion: make indentation shallower (3) ec31f868ec67 setlocalversion: absorb $(KERNELVERSION) eed36d775177 setlocalversion: clean up the construction of version output (4) 6ab7e1f95e96 setlocalversion: use only the correct release tag for git-describe 05e96e96a315 kbuild: use git-archive for source package creation 3354c64d4184 scripts/setlocalversion: clean up stale comment 01e89a4acefc scripts/setlocalversion: also consider annotated tags of the form vx.y.z-${file_localversion} The only thing U-Boot has been applying on top was to deal with not sourcing include/config/auto.conf but instead using awk to extract the right value. Commit (1) did a very similar thing upstream, so we no longer need to do that. However, upstream then went a step further (2) and changed the convention for what goes into auto.conf, so RHS no longer contain double-quotes. That commit thus changed the sed pattern to no longer match those quotes, but as U-Boot has not yet adopted that change, we have to deal with that. In order to be a little forward-compatible, I did that in a way that should work both ways: # version string from CONFIG_LOCALVERSION -config_localversion=$(sed -n 's/^CONFIG_LOCALVERSION=\(.*\)$/\1/p' include/config/auto.conf) +config_localversion=$(sed -n 's/^CONFIG_LOCALVERSION=\(.*\)$/\1/p' include/config/auto.conf | tr -d '"') Furthermore, (3) now requires that there is an appropriate KERNELVERSION environment variable set. One way to deal with that would be to just modify the script to use UBOOTVERSION instead, but for now I've instead opted to let the Makefile provide KERNELVERSION=$(UBOOTVERSION) to keep the setlocalversion changes minimal. That variable is further put to use in (4). Note that the logic for mapping *VERSION -> [upstream annotated tag to look for] works unchanged in U-Boot for the current versioning scheme 20XX.YY(-rcN)?. My motivation for wanting to do this sync is to get (4) and (5), in order to get the setlocalversion output both more predictable and consistent across different build environments, i.e. independent of random local .gitconfig settings, total number of git objects and/or existence of unrelated tags (possibly from some tracked fork). Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
2024-05-13scripts: gen_compile_commands: fix invalid escape sequence warningCaleb Connolly
Since Python 3.12 unrecognised escape sequences trigger a SyntaxWarning. Convert the '\#' string to a raw string so the backslash is correctly used as a literal. Ported from Linux commit dae4a0171e25 ("gen_compile_commands: fix invalid escape sequence warning"). This updates the script to be in-line with Linux 6.9-rc6. Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org> Reviewed-by: João Marcos Costa <jmcosta944@gmail.com>
2024-05-07common.h: Remove this file and all referencesTom Rini
With all files that had included this file directly having been updated, we can now remove this file. Signed-off-by: Tom Rini <trini@konsulko.com>
2024-04-29dts: support building all dtb files for a specific vendorCaleb Connolly
This adjusts OF_UPSTREAM to behave more like the kernel by allowing for all the devicetree files for a given vendor to be compiled. This is useful for Qualcomm in particular as most boards are supported by a single U-Boot build just provided with a different DT. Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on Amlogic boards builds
2024-04-17Makefile.lib: find capsule ESL dtsi file with CONFIG_OF_UPSTREAMJonathan Humphreys
When CONFIG_OF_UPSTREAM is enabled, DTS files are in SOC subdirectories (vs the top level dts directory), but when CONFIG_EFI_CAPSULE_AUTHENTICATE is enabled, the dynamically created dtsi file containing the capsule ESL DT node is in the parent directory. This results in a build failure because the #include inserted in the DTS file is local to the current directory. Update Makefile to have the DT preprocessing of #includes search in the parent (dts top level) directory too. Signed-off-by: Jonathan Humphreys <j-humphreys@ti.com>
2024-04-10build: Revive and update LDR format supportGreg Malysa
LDR format files are used primarily by Analog Devices processors but may be of interest to other vendors. Previously support existed for this format as part of the U-Boot build, but it has been unmaintained and unused for a long time. In preparation for adding support for modern ADI processors that use LDR, modernize the LDR support: - Introduce CONFIG_LDR_CPU as the CPU string recognized by the LDR tool may not be the same as CONFIG_CPU - Add an SPL target that repackages u-boot-spl inside an LDR file An almost identical target for packaging u-boot into an LDR file already exists and did not need to be created. Co-developed-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com> Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com> Signed-off-by: Ian Roberts <ian.roberts@timesys.com> Signed-off-by: Greg Malysa <greg.malysa@timesys.com>
2024-04-10scripts/Makefile.spl: Use 'sort' in SHRUNK_ARCH_DTB ruleTom Rini
With configs such as "am64x_evm_a53" or "imx8mp_venice" which list multiple device trees to build we get a warning such as: scripts/Makefile.spl:578: target 'spl/dts/freescale/' given more than once in the same rule If we sort this list first the warning goes away. Tested-by: Michal Simek <michal.simek@amd.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2024-03-13Makefile: Improve generated_defconfig file handlingSam Protsenko
Commit 2027e99e61aa ("Makefile: Run defconfig files through the C preprocessor") adds `generated_defconfig' file, but fails to clean that up. It might be useful to have that file around after `make' is done, but it's better to clean that up on `make clean'. Also we probably want to hide it in `git status' list. This patch makes the described changes, and also adds `-P' parameter to the CPP command that produces the `generated_defconfig' to avoid generating linemarkers. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Fixes: 2027e99e61aa ("Makefile: Run defconfig files through the C preprocessor") Acked-by: Andrew Davis <afd@ti.com>
2024-03-11Merge tag 'v2024.04-rc4' into nextTom Rini
Prepare v2024.04-rc4
2024-03-04Merge branch '2024-03-02-assorted-updates' into nextTom Rini
- Assorted MediaTek, ASPEED, xenguest, s5p4418 and qemu-arm fixes - Assorted test fixes/updates/additions. - A few bootstd/related fixes. - Remove common.h from some files - Drop reiserfs - A few other assorted fixes throughout the tree.
2024-03-04Makefile: remove hardcoded device tree source directoryBryan Brattlof
Some boards that choose to utilize the OF_UPSTREAM directory for their device tree files will need to specify that directory instead of the traditional arch/$(ARCH)/dts/* path. Include the correct path to the board's dtbs depending on if OF_UPSTREAM is selected or not. Signed-off-by: Bryan Brattlof <bb@ti.com> Signed-off-by: Sumit Garg <sumit.garg@linaro.org> Tested-by: Fabio Estevam <festevam@gmail.com>
2024-03-02scripts: dtc-version: Don't show error messagesDragan Simic
Prevent the error messages produced by which(1), such as the one quoted below, from being visible in the build outputs. which: no dtc in (./scripts/dtc) This makes the build outputs look a tiny bit cleaner. Signed-off-by: Dragan Simic <dsimic@manjaro.org> Reviewed-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
2024-03-01pylibfdt: Fix "invalid escape sequence '\w'" in setup.pyFlorian Schmaus
Once u-boot's build system invokes python3 scripts/dtc/pylibfdt/setup.py --quiet build_ext --inplace it may fail with scripts/dtc/pylibfdt/setup.py:40: SyntaxWarning: invalid escape sequence '\w' RE_KEY_VALUE = re.compile('(?P<key>\w+) *(?P<plus>[+])?= *(?P<value>.*)$') depending on the used Python version. Explicitly mark the regex string as raw string to avoid the warning. Signed-off-by: Florian Schmaus <flo@geekplace.eu> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-02-29Makefile: Allow upstream DT subtree to provide DT includesSumit Garg
Allow platforms to reuse DT headers and dtsi includes directly form upstream DT subtree which will be frequently synced with Linux kernel. This will further allow us to drop corresponding DT includes copy from U-Boot tree. Also, since the DT includes from upstream DT subtree are done after DT includes from U-Boot tree, so it shouldn't cause any conflicts. Tested-by: Bryan Brattlof <bb@ti.com> Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
2024-02-29scripts/Makefile.lib: Statically define *-u-boot.dtsi files locationSumit Garg
Allow u-boot to build DTB from a different directory tree such that *-u-boot.dtsi files can be included from a common location. Currently that location is arch/$(ARCH)/dts/, so statically define that common location. This is needed for platform owners to start building DTB files from devicetree-rebasing directory but still being able to include *-u-boot.dtsi files. Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
2024-02-29Makefile: Add support for DT bindings schema checksSumit Garg
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-27kbuild: Allow for CONFIG_SYS_CONFIG_NAME to be unsetTom Rini
It is possible to have a platform which does not require a board.h file to build, but today we need an empty one for our generated config.h file to be valid. Allow for omitting this file if CONFIG_SYS_CONFIG_NAME is not set. Signed-off-by: Tom Rini <trini@konsulko.com>
2024-02-06scripts/gen_compile_commands: update to Linux v6.7Brandon Maier
Adds support for assembly files and updates the LINE_PATTERN so it supports both "cmd" and "savedcmd", which allows reverting the U-Boot modification in commit 97fbb2eb016b ("scripts/gen_compile_commands.py: adapt _LINE_PATTERN"). Upstream commits: - 880946158b011 gen_compile_commands.py: fix path resolve with symlinks in it - 9e56d3be4bfd2 gen_compile_commands: Sort output compile commands by file name - 52c15e7e79285 gen_compile_commands: Allow the line prefix to still be cmd_ - 1c67921444bf6 gen_compile_commands: add assembly files to compilation database Signed-off-by: Brandon Maier <brandon.maier@collins.com> Cc: Joao Marcos Costa <jmcosta944@gmail.com>