summaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* envtools lack extra settings since commit 86b9c3e4e4 ("env: Allow U-Boot ↵Christophe Leroy2023-05-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | scripts to be placed in After converting my targets from CFG_EXTRA_ENV_SETTINGS to CONFIG_EXTRA_ENV_TEXT as suggested by Tom, I discovered that fw_setenv doesn't set the entire defaut environment anymore. I tried to fix it with the below patch, but it fails qemu-x86 CI test, see https://source.denx.de/u-boot/custodians/u-boot-mpc8xx/-/pipelines/16326 That's the only CI test that fails AFAICS. Could you help with a solution ? This needs to be fixed. Thanks Christophe ---- >8 ---- From: Christophe Leroy <christophe.leroy@csgroup.eu> Subject: [RFC PATCH] envtools: Fix default environment After converting some targets from CFG_EXTRA_ENV_SETTINGS to CONFIG_EXTRA_ENV_TEXT, default environment embedded in fw_env tool missed all extra settings. Commit 86b9c3e4e4 ("env: Allow U-Boot scripts to be placed in a .env file") restricted the inclusion of the content of that file to builds without USE_HOSTCC. But as mentionned in commit 79fc0c5f49 ("tools/env: cross-compile fw_printenv without setting HOSTCC"), HOSTCC and USE_HOSTCC are kept for code re-use. Remove the restricting so that settings included in a .env file are also added to fw_env tool. Fixes: 86b9c3e4e4 ("env: Allow U-Boot scripts to be placed in a .env file") Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
* Prepare v2023.07-rc2v2023.07-rc2Tom Rini2023-05-081-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Prepare v2023.07-rc1v2023.07-rc1Tom Rini2023-05-011-2/+2
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* clang: Don't look for libgccTom Rini2023-04-251-0/+2
| | | | | | | | | In the case of using clang to build, and having not already enabled the private libgcc, do not look for it, as it will not be found nor required. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* clang: Add $(CLANG_TARGET) to LDPPFLAGSTom Rini2023-04-251-0/+1
| | | | | | | | | | When we invoke $(CPP) to make u-boot.lds we have LDPPFLAGS available to set other required flags here. As this file is for the target and not the host, we must ensure that CPP knows what the target architecture is. For this, pass in $(CLANG_TARGET). Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* makefile: riscv: Drop useless argument of prelink-riscvBin Meng2023-04-201-1/+1
| | | | | | | The argv[2] is never used in prelink-riscv. Drop it. Signed-off-by: Bin Meng <bmeng@tinylab.org> Reviewed-by: Rick Chen <rick@andestech.com>
* Merge tag 'u-boot-imx-next-20230404' of ↵Tom Rini2023-04-041-0/+3
|\ | | | | | | | | | | | | | | | | | | | | https://gitlab.denx.de/u-boot/custodians/u-boot-imx u-boot-imx-next-20230404 ------------------------ CI : https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/15887 - boards : DH-Electronics, Toradex, imx8mp-beacon-kit
| * arm: imx: add u-boot-nand.imx to boot from NAND without SPLLuca Ceresoli2023-04-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | U-Boot can be booted from NAND without SPL by prepending the DCD header to the actual U-Boot binary. However this requires prepending 1024 bytes to u-boot.imx (DCD + u-boot.bin). There is already a similar target to build spl/u-boot-nand-spl.imx, add the same option for no-SPL boot. Tested on i.MX6ULL. The resulting layout of u-boot-nand.imx is: - Offset 0x0000 (0 KiB): padding - Offset 0x0400 (1 KiB): DCD header - Offset 0x1000 (4 KiB): u-boot.bin Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
* | Merge branch 'next'Tom Rini2023-04-031-2/+22
|\ \ | |/ | | | | Signed-off-by: Tom Rini <trini@konsulko.com>
| * Merge branch 'master' into nextTom Rini2023-03-271-1/+1
| |\
| * | global: Disable deprecated-non-prototype warning with clangTom Rini2023-03-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have a number of places in the code which use the following syntax: void func(a, b, c) int a; /* Does a */ something_t *b; /* Pointer to b */ int c; /* Does c */ { ... } Which while not what we document as our coding style, this is also code which we have imported from other projects, and would like to re-sync with in the future. While the biggest example of this is the zlib code, there are other places as well. For now, we will silence this warning. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | Merge tag 'v2023.04-rc4' into nextTom Rini2023-03-141-1/+2
| |\ \ | | | | | | | | | | | | | | | | | | | | Prepare v2023.04-rc4 Signed-off-by: Tom Rini <trini@konsulko.com>
| * | | binman: Add support for building a binmanu PyPi packageSimon Glass2023-03-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create the necessary files to build this new package. It is not actually clear whether this is useful, since buildman has no purpose outside U-Boot. Move the main program into a function so that it can easily be called by the PyPi-created script. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | | dtoc: Add support for building a dtoc PyPi packageSimon Glass2023-03-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create the necessary files to build this new package. This is needed for binman. Move the main program into a function so that it can easily be called by the PyPi-created script. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | | buildman: Add support for building a buildman PyPi packageSimon Glass2023-03-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create the necessary files to build this new package. It is not actually clear whether this is useful, since buildman has no purpose outside U-Boot. It is included for completeness, since adding this later would be more trouble. Move the main program into a function so that it can easily be called by the PyPi-created script. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | | patman: Add support for building a patman PyPi packageSimon Glass2023-03-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Create the necessary files to build this new package. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | | patman: Add support for building a u_boot_tools PyPi packageSimon Glass2023-03-081-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | Create the necessary files to build this new package. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | | mtd: Drop unused CONFIG_ONENAND_U_BOOTSimon Glass2023-03-021-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | This option does not exist, so the Makefile rule does nothing. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
* | | | Prepare v2023.04v2023.04Tom Rini2023-04-031-1/+1
| |_|/ |/| | | | | | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* | | Prepare v2023.04-rc5v2023.04-rc5Tom Rini2023-03-271-1/+1
| |/ |/| | | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* | Prepare v2023.04-rc4v2023.04-rc4Tom Rini2023-03-131-1/+1
| | | | | | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* | rockchip: Use an external TPL binary on RK3568Jonas Karlman2023-02-281-0/+1
|/ | | | | | | | | | | | | | | | | | | Rockchip SoCs typically use U-Boot TPL to initialize DRAM, then jumps back to BootRom to load next stage, U-Boot SPL, into DRAM. BootRom then jumps to U-Boot SPL to continue the normal boot flow. However, there is no support to initialize DRAM on RK35xx SoCs using U-Boot TPL and instead an external TPL binary must be used to generate a bootable u-boot-rockchip.bin image. Add CONFIG_ROCKCHIP_EXTERNAL_TPL to indicate that an external TPL should be used. Build U-Boot with ROCKCHIP_TPL=/path/to/ddr.bin to generate a bootable u-boot-rockchip.bin image for RK3568. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Tested-by: Eugen Hristev <eugen.hristev@collabora.com>
* Prepare v2023.04-rc3v2023.04-rc3Tom Rini2023-02-271-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Makefile: Link with -z noexectackTom Rini2023-02-231-0/+1
| | | | | | | | | | | | When moving to gcc-12.2 we started trying to quiet some of the new linker warnings, that are not relevant to us. However, a misunderstanding of the mechanics at play meant that I intentionally omitted passing -z noexecstack to the linker, when we do need to. Add this flag and in turn remove warnings from the linker. Fixes: 1e1c51f8ace8 ("Makefile: link with --no-warn-rwx-segments") Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* Prepare v2023.04-rc2v2023.04-rc2Tom Rini2023-02-131-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* ppc: Makefile: Drop unused ppc4xx codeSimon Glass2023-02-071-11/+0
| | | | | | | CONFIG_UBOOT_PAD_TO is not defined anywhere. Drop this dead code. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stefan Roese <sr@denx.de>
* Drop ubsha1 toolSimon Glass2023-02-071-3/+0
| | | | | | | This seems to have been used by ppc4xx which was removed a while back. The Kconfig does not exist so it is never built. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
* Makefile: Drop CONFIG_OF_EARLY_FLATTREESimon Glass2023-02-071-4/+0
| | | | | | This option does not exist, so drop the dead code. Signed-off-by: Simon Glass <sjg@chromium.org>
* Makefile: Avoid use of invalid CONFIG_ optionSimon Glass2023-02-071-1/+1
| | | | | | This appears in a comment but is not a real option. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
* Makefile: Drop CONFIG_AIS_CONFIG_FILESimon Glass2023-02-071-2/+1
| | | | | | This is not defined anywhere. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
* powerpc/mpc85xx: socrates: rework build processHeiko Schocher2023-02-061-4/+7
| | | | | | | | | | | U-Boot build process for socrates board produces final U-Boot binary in file u-boot-socrates.bin (by binman) And as a bonus it produces two unusable broken binaries u-boot-dtb.bin and u-boot.bin (by Makefile). Clean this up, so final U-Boot binary is in u-boot-dtb.bin Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Heiko Schocher <hs@denx.de>
* Makefile: fix shell error for darwin major/minor version checkChristian Marangi2023-02-061-2/+2
| | | | | | | | | | | | | | Fix shell error: /bin/sh: line 0: [: too many arguments for the darwin major/minor version check. It seems for os_x_before for some reason DARWIN_MAJOR_VERSION and DARWIN_MINOR_VERSION are empty. To fix this set DARWIN_MAJOR_VERSION and DARWIN_MINOR_VERSION to be evaluated once so the value is retained. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* Prepare v2023.04-rc1v2023.04-rc1Tom Rini2023-01-301-2/+2
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Merge tag 'xilinx-for-v2023.04-rc1' of ↵Tom Rini2023-01-271-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://source.denx.de/u-boot/custodians/u-boot-microblaze Xilinx chnages for v2023.04-rc1 makefile: - Add multi_dtb_fit dependency clk: - Handle error cases microblaze: - Disable falcon mode and cleanup code around xilinx: - Enable regular expression matching in board_fit_config_name_match() - Fix FRU handling for 0xC1 format - Fix Xilinx legacy format eeprom parsing zynqmp: - Some DT updates/cleanups - Fix IDcode for xck24 - Remove empty mini config files - Add support for k24 versal: - Remove empty mini config files versal_net: - Setup timer when runs in EL3 - Build u-boot.elf for mini configurations zynq-gem: - Add support for new compatible strings - Remove support for Avnet Ultrazedev SOM - Handle SGMII with PCS phy spi: - Add support for gigadevice parts misc: - Remove CONFIG_TARGET_VENUS ifdef - Add missing headers to remove sparse warnings
| * makefile: add multi_dtb_fit depNeal Frager2023-01-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | With certain gcc compilers, the u-boot.itb is built immediately after dtb generation. If CONFIG_MULTI_DTB_FIT is used, it is possible that the fit-dtb.blob is not finished in time. This patch adds a necessary dependency to guarantee that the fit-dtb.blob is built before attempting to build the u-boot.itb. Signed-off-by: Neal Frager <neal.frager@amd.com> Reviewed-by: Simon Glass <sjg@chromium.org> Link: https://lore.kernel.org/r/20221221075446.47141-1-neal.frager@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
* | rockchip: Drop the FIT generator scriptSimon Glass2023-01-181-3/+0
| | | | | | | | | | | | This is not used anymore. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
* | rockchip: Convert all boards to use binmanSimon Glass2023-01-181-7/+1
|/ | | | | | | | | | | | | | | | | | | | Instead of the bash script, use binman to generate the FIT for arm64. For 32-bit boards, use binman for all images, dropping the intermediate files. With this change, only Zynq is now using SPL_FIT_GENERATOR so update the Kconfig rule accordingly. Clean up the Makefile to the extent possible. Unfortunately, two boards do not use SPL_FRAMEWORK so don't enable the u-boot.img rule: evb-rk3036 kylin-rk3036 So a small remnant remains. Signed-off-by: Simon Glass <sjg@chromium.org>
* Merge branch 'next'Tom Rini2023-01-091-22/+18
|\ | | | | | | Signed-off-by: Tom Rini <trini@konsulko.com>
| * kbuild: Remove checking for adhoc CONFIG symbolsTom Rini2022-12-231-8/+0
| | | | | | | | | | | | | | | | | | | | At this point all listed adhoc CONFIG symbols have been migrated to Kconfig or removed from the tree or renamed to CFG (or similar). We also now have CI tests that will error on any new introductions, and checkpatch.pl also looks. We can now remove these hooks and related scripts. Signed-off-by: Tom Rini <trini@konsulko.com>
| * Merge tag 'v2023.01-rc4' into nextTom Rini2022-12-211-2/+2
| |\ | | | | | | | | | | | | | | | Prepare v2023.01-rc4 Signed-off-by: Tom Rini <trini@konsulko.com>
| * | Makefile: link with --no-warn-rwx-segmentsTom Rini2022-12-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We borrow from the Linux Kernel 0d362be5b142 ("Makefile: link with -z noexecstack --no-warn-rwx-segments") here to disable the RWX segment linking warnings. We do not also bring in -z noexecstack as that requires auditing and using ".note.GNU-stack" on assembly functions which do need this feature. Further, we now introduce KBUILD_EFILDFLAGS so that we can also pass --no-warn-rwx-segments when linking EFI applications, and those do explicitly pass -z execstack. Cc: Heinrich Schuchardt <xypron.glpk@gmx.de> Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
| * | u-boot-initial-env: rework make targetMax Krummenacher2022-12-081-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With LTO enabled the U-Boot initial environment is no longer stored in an easy accessible section in env/common.o. I.e. the section name changes from build to build, its content maybe compressed and it is annotated with additional data. Drop trying to read the initial env with elf tools from the compiler specific object file in favour of adding and using a host tool with the only functionality of printing the initial env to stdout. See also: https://lore.kernel.org/all/927b122e-1f62-e790-f5ca-30bae4332c77@foss.st.com/ Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Pali Rohár <pali@kernel.org> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | Makefile: Enforce DWARF4 outputTom Rini2022-12-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At this point in time, using DWARF-5 format isn't easy to do by default with all toolchains that we support. And relying on the implicit default can lead to mixing 4 and 5 and then the debug info not being useful to tools. For now, enforce using DWARF-4 only. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | global: Move remaining CONFIG_SYS_* to CFG_SYS_*Tom Rini2022-12-051-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The rest of the unmigrated CONFIG symbols in the CONFIG_SYS namespace do not easily transition to Kconfig. In many cases they likely should come from the device tree instead. Move these out of CONFIG namespace and in to CFG namespace. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* | | Prepare v2023.01v2023.01Tom Rini2023-01-091-1/+1
| | | | | | | | | | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* | | doc: add texinfodocs and infodocs targetsMaxim Cournoyer2022-12-291-1/+1
| |/ |/| | | | | | | | | | | | | | | | | | | Sphinx supports generating Texinfo sources and Info documentation, which can be navigated easily and is convenient to search (via the indexed nodes or anchors, for example). This is basically the same as 1f050e904dd6f2955eecbd22031d912ccb2e7683, which was recently applied to the Linux kernel. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
* | Prepare v2023.01-rc4v2023.01-rc4Tom Rini2022-12-191-1/+1
| | | | | | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* | Makefile: With BINMAN_ALLOW_MISSING=1 don't error on missingTom Rini2022-12-181-1/+1
|/ | | | | | | | | | | When the user builds with BINMAN_ALLOW_MISSING=1 they're explicitly setting the flag to allow for additional binaries to be missing and so have acknowledged the output might not work. In this case we want to default to not passing a non-zero exit code. Cc: Simon Glass <sjg@chromium.org> Reported-by: Peter Robinson <pbrobinson@gmail.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* Prepare v2023.01-rc3v2023.01-rc3Tom Rini2022-12-051-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* global: Do not default to faking missing binaries for buildmanTom Rini2022-11-221-2/+2
| | | | | | | | | | | | | While it is possible and documented on how to re-run buildman to replace faked required binary files after the fact, this behavior ends up being more confusing than helpful in practice. Switch to requiring BINMAN_ALLOW_MISSING=1 to be passed on the 'make' line to enable this behavior. Cc: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Cc: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com> Signed-off-by: Simon Glass <sjg@chromium.org>