summaryrefslogtreecommitdiff
path: root/scripts/Makefile.xpl
AgeCommit message (Collapse)Author
2026-02-14Replace TARGET namespace and cleanup properlyTien Fong Chee
TARGET namespace is for machines / boards / what-have-you that building U-Boot for. Simply replace from TARGET to ARCH make things more clear and proper for ALL SoCFPGA. Signed-off-by: Brian Sune <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]> # Conflicts: # drivers/ddr/altera/Makefile
2026-02-03tools: sunxi-spl-image-builder: support H6/H616 NAND bootRichard Genoud
The H6/H616 boot ROM doesn't expect a SPL scrambled the same way as older SoCs. It doesn't use a specific seeds table, it expects a maximized ECC (BCH-80), a specific BBM (FF000301) and doesn't work if empty pages are skipped (it needs its specific BBM, even in the padding). So, add a --soc=h6 option to support H6/616 with: - more ECC strengths - specific BBM - default_scrambler_seeds[] with all values - no empty pages skip In Kconfig, select BCH-80 by default for SUNXI_SPL_ECC_STRENGTH to make BROM happy. And in scripts/Makefile.xpl, use --soc=h6 option when building for a SUN50I_GEN_H6 SoC. Tested on Whatsminer H616 board, booting from NAND. Reviewed-by: Miquel Raynal <[email protected]> Co-developed-by: James Hilliard <[email protected]> Signed-off-by: James Hilliard <[email protected]> Signed-off-by: Richard Genoud <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2026-01-27Revert a number of incorrect commitsTom Rini
As part of debugging the appended device tree failure, I inadvertently committed some changes as I was debugging to master, and not a private branch, and pushed them as part of the release. This reverts commit dc2d8423b19d30472b02e02b41504226908a4291 through 380ddb473c6bdf87e66c0fb93e256d1e233c6f5b. Signed-off-by: Tom Rini <[email protected]>
2026-01-26count rel_dynTom Rini
Signed-off-by: Tom Rini <[email protected]>
2026-01-02kbuild: Bump the build system to 6.1Sughosh Ganu
Our last sync with the kernel was 5.1. We are so out of sync now, that tracking the patches and backporting them one by one makes little sense and it's going to take ages. This is an attempt to sync up Makefiles to 6.1. Unfortunately due to sheer amount of patches this is not easy to review, but that's what we decided during a community call for the bump to 5.1, so we are following the same guidelines here. Signed-off-by: Sughosh Ganu <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>a #rebased on -next
2025-10-27Makefile: pass KEYDIR when set to sunxi-spl.bin mkimageJames Hilliard
Currently we pass this for u-boot-spl.kwb targets, however when building sunxi-spl.bin in the TOC0 format we may also need to specify a KEYDIR, as such we should also pass this when set to mkimage for the sunxi-spl.bin target. Signed-off-by: James Hilliard <[email protected]> Reviewed-by: Andre Przywara <[email protected]>
2025-08-04Makefile: Remove expansion of undefined variablePhilip Molloy
The U-Boot environment was previously stored in the boot loader stream using ldr, but it has been replaced by the default environment built into the U-Boot executable or an environment on external storage Fixes: ea3310e8aafa ("Blackfin: Remove") Signed-off-by: Philip Molloy <[email protected]> Reviewed-by: Greg Malysa <[email protected]>
2025-07-08kbuild: Bump the build system to 5.1Ilias Apalodimas
Our last sync with the kernel was 5.1. Even that was a partial one as some patches from 4.x kernels were already missing making the transition to a modern kbuild infeasible. We are so out of sync now, that tracking the patches and backporting them one by one makes little sense and it's going to take ages. This is an attempt to sync up Makefile[.lib/.kbuild]. Unfortunately due to sheer amount of patches this is not easy to review, but that's what we decided during a community call. One of the biggest changes is get rid of partial linking entirely and build .a archives isntead of .o. We diaviate from the kernel on that. Instead of calling a custom script to create the archive symbol table, we call ar with rcTP (isntead of rcSTP) since we want a resulting archive that's sauble with the linker. The only affected platforms are PPC ones. Unfortunately I don't have any of them around to test, but the objdump of the resulting files -- arch/powerpc/lib/built-in.[oa] looks identical. Signed-off-by: Ilias Apalodimas <[email protected]>
2025-04-11Kbuild: Always use $(PHASE_)Tom Rini
It is confusing to have both "$(PHASE_)" and "$(XPL_)" be used in our Makefiles as part of the macros to determine when to do something in our Makefiles based on what phase of the build we are in. For consistency, bring this down to a single macro and use "$(PHASE_)" only. Signed-off-by: Tom Rini <[email protected]>
2025-01-18Makefile: Make sure all linker input objects existMarek Vasut
In case the build system builds a directory with empty Makefile, one which does not contain any obj-y entries, the build fails to link due to missing built-in.o . This happens because of this part of scripts/Makefile.build 81 ifneq ($(strip $(obj-y) $(obj-m) $(obj-) $(subdir-m) $(lib-target)),) 82 builtin-target := $(obj)/built-in.o 83 endif which does not assign builtin-target in case obj-y is empty. The built-in target is then not built at all, and built-in.o is not generated by this part of scripts/Makefile.build 325 ifdef builtin-target 326 quiet_cmd_link_o_target = AR $@ 327 # If the list of objects to link is empty, just create an empty built-in.o ... 335 targets += $(builtin-target) 336 endif # builtin-target This is the correct behavior. The final link however expects the built-in.o to exist in every directory included in the build, even in those where the aforementioned code skipped generation of built-in.o . Make sure the built-in.o does exist for every directory used in final link simply by doing touch on every built-in.o used for the link, which will create empty built-in.o in case any built-in.o is missing. A possible alternative fix is the always define the builtin-target and always generate built-in.o . Signed-off-by: Marek Vasut <[email protected]> Tested-by: Quentin Schulz <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>