summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2021-10-04Prepare v2021.10Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-09-27Prepare v2021.10-rc5Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-09-15Prepare v2021.10-rc4Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-08-30Prepare v2021.10-rc3Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-08-27Merge tag 'xilinx-for-v2021.10-rc3' of ↵Tom Rini1-0/+3
https://gitlab.denx.de/u-boot/custodians/u-boot-microblaze Xilinx changes for v2021.10-rc3 xilinx: - Disable CONFIG_ARCH_FIXUP_FDT_MEMORY - Print information about cpu via soc drivers and enable DISPLAY_CPUINFO - Wire infrastructure for DTB_RESELECT and MULTI_DTB_FIT zynq: - Wire single QSPI - Use power-source instead of io-standard properties - Enable nor on zc770-xm012 zynqmp: - Change handling around multi_boot() - Setup offset for u-boot.itb in spi - Generate run time dfu_alt_info for capsule update - Use explicit values for enums (zynqmp_firmware.h) - Enable RTC/SHA1/BUTTON/BUTTON_GPIO command - Disable WDT driver by default - Bind usb/scsi via preboot because of EFI - DT updates/fixes - Add soc driver - Fix SPL SPI boot mode versal: - Add soc driver sdhci: - Update tap delay programming for zynq_sdhci driver cmd: - Fix RTC uclass handling in date command - Update pwm help message - Update reset help message watchdog: - Fix wwdt compilation rtc: - Deal with seq alias in rtc uclass - Add zynqmp RTC driver fdt: - Add kernel-doc for fdt_fixup_memory_banks()
2021-08-26Makefile: Align fit-dtb.blob and u-boot.itb by 64bitsMichal Simek1-0/+3
Enabling MULTI_DTB_FIT and DTB_RESELECT can end up with multi DTBs in FIT image placed and aligned only by 32bits (4bytes). Based on device tree specification: "Specifically, the memory reservation block shall be aligned to an 8-byte boundary and the structure block to a 4-byte boundary." is 64bit (8bytes) alignment required. That's why make sure that fit-dtb.blob and u-boot.itb as our primary target images for Xilinx ZynqMP are all 64bit aligned. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Andre Przywara <andre.przywara@arm.com>
2021-08-16Prepare v2021.10-rc2Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-07-31arm: mvebu: Remove legacy U-Boot header from kwbimage v1 filesPali Rohár1-2/+2
The SPL code now already parses kwbimage v1 headers where all necessary information about how to load and execute U-Boot proper is present. The legacy 64-byte U-Boot header is not used anymore. Remove this 64-byte header by putting u-boot.bin binary (instead of u-boot.img) into kwbimage v1 and let SPL code or BootROM to load U-Boot directly at its execution address. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Chris Packham <judge.packham@gmail.com> Reviewed-by: Stefan Roese <sr@denx.de>
2021-07-31tools: kwbimage: Use -a parameter (load address) for v1 imagesPali Rohár1-1/+1
The data part of v1 kwbimage currently contains U-Boot binary prepended by 64 bytes long Legacy U-Boot image header. This means that the load address is currently substracted by 64 bytes to ensure that U-Boot's entry point is at specified execution address. As mkimage has already separate arguments for load (-a) and execution (-e) address, there is no need to derive fixed load address from execution address. Therefore remove this load address hack from the kwbimage tool and support generating v1 kwbimage with arbitrary addresses for load and execution. Finally, calculate correct load address by caller for mkimage tool in Makefile. File u-boot-spl.kwb is always a v1 kwbimage and it is the only v1 kwbimage which U-Boot's build system generates. Remove also useless overwriting of destaddr for /binary.0 to the value which is already set on previous lines. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Stefan Roese <sr@denx.de> Reviewed-by: Chris Packham <judge.packham@gmail.com> Tested-by: Chris Packham <judge.packham@gmail.com>
2021-07-29build: remove the variable NM in gen_ll_addressable_symbols.shPatrick Delaunay1-1/+1
With LTO activated, the buildman tools failed with an error on my configuration (Ubuntu 20.04, stm32mp15_trusted_defconfig) with the error: ../arm-linux-gnueabi/bin/nm: scripts/gen_ll_addressable_symbols.sh: file format not recognized It seems the shell variable initialization NM=$(NM) is not correctly interpreted when shell is started in the Makefile, but I have not this issue when I compile the same target without buildman. I don't found the root reason of the problem but I solve it by providing $(NM) as script parameter instead using a shell variable. The command executed is identical: cmd_keep-syms-lto.c := NM=arm-none-linux-gnueabihf-gcc-nm \ u-boot/scripts/gen_ll_addressable_symbols.sh arch/arm/cpu/built-in.o \ .... net/built-in.o >keep-syms-lto.c cmd_keep-syms-lto.c := u-boot/scripts/gen_ll_addressable_symbols.sh \ arm-none-linux-gnueabihf-gcc-nm arch/arm/cpu/built-in.o \ ... net/built-in.o > keep-syms-lto.c Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2021-07-28Makefile: Move drivers/i2c/ into drivers/MakefileSimon Glass1-1/+0
This rule should not be in the top-level Makefile. Now that we have a consistent set of I2C Kconfigs for U-Boot proper, SPL and TPL, we can move it. Make use of the existing SPL/TPL rule in drivers/Makefile instead. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-07-28i2c: Fix the migration warningSimon Glass1-1/+1
While there is a CONFIG_I2C it does not really mean anything and is defined by only a few dozen boards. This should key off CONFIG_SYS_I2C_LEGACY instead. Fix it. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heiko Schocher <hs@denx.de>
2021-07-28Makefile: Sort the subdirectoriesSimon Glass1-5/+5
Adjust the subdirectories included in this file so that they are in alphabetical order. This makes it easier to follow. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-07-28Makefile: Drop include/asm directory as well as symlinkSimon Glass1-1/+1
At present when using 'make mrproper' on an out-of-tree build, a warning is shown about include/asm being a directory. With old versions of U-Boot it is a file, but more recently it has become a directory. Remove this directory first, since that covers both cases. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-07-27Prepare v2021.10-rc1Tom Rini1-2/+2
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-07-24smbios: Fix calculating BIOS Release DatePali Rohár1-2/+0
BIOS Release Date must be in format mm/dd/yyyy and must be release date. U-Boot currently sets BIOS Release Date from U_BOOT_DMI_DATE macro which is generated from current build timestamp. Fix this issue by setting U_BOOT_DMI_DATE macro to U-Boot version which is better approximation of U-Boot release date than current build timestamp. Current U-Boot versioning is in format yyyy.mm so as a day choose 01. Some operating systems are using BIOS Release Date for detecting when was SMBIOS table filled or if it could support some feature (e.g. BIOS from 1990 cannot support features invented in 2000). So this change also ensures that recompiling U-Boot from same sources but in different year does not change behavior of some operating systems. Macro U_BOOT_DMI_DATE is not used in other file than lib/smbios.c so remove it from global autogenerated files and also from Makefile. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-07-19Makefile: Remove DM_VIDEO and DM_SPI_FLASH checksTom Rini1-4/+0
As we have now completed the DM_VIDEO and DM_SPI_FLASH migrations we can remove the checks. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-07-19pci: Require DM_PCITom Rini1-1/+0
As the migration deadline has passed, require that DM_PCI be used. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-07-19usb: Enforce DM_USB migration for USB_HOST devices.Tom Rini1-2/+0
As the deadline for migration to DM_USB, when using a USB host controller has now gone two years past the deadline, enforce migration. This is done by: - Ensuring that all host controller options (other than the very legacy old MUSB ones) now select USB_HOST. USB_HOST now enforces DM_USB and OF_CONTROL. - Remove other parts of Kconfig logic that had platforms pick DM_USB. - To keep Kconfig happy, have some select statements test for USB_HOST as well. - Re-order some Kconfig entries and menus so that we can cleanly pick host or gadget roles. For the various HCD options that have platform glue options, group them together and update dependencies in some cases. - As SPL_DM_USB is not required, on platforms that had not yet enabled it, disable it. Cc: Marek Vasut <marex@denx.de> Cc: Icenowy Zheng <icenowy@aosc.io> Cc: Samuel Holland <samuel@sholland.org> Cc: FUKAUMI Naoki <naobsd@gmail.com> Cc: Andre Przywara <andre.przywara@arm.com> Cc: Jagan Teki <jagan@amarulasolutions.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2021-07-14Makefile: Conditionally add defaultenv_h to envtools targetJoel Stanley1-0/+2
When building the envtools target with CONFIG_USE_DEFAULT_ENV_FILE=y, the tools require generated/defaultenv_autogenerated.h. In file included from tools/env/fw_env.c:126: include/env_default.h:115:10: fatal error: generated/defaultenv_autogenerated.h: No such file or directory 115 | #include "generated/defaultenv_autogenerated.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Joel Stanley <joel@jms.id.au>
2021-07-14kconfig / kbuild: Re-sync with Linux 4.20Tom Rini1-14/+49
Align Kconfig and Kbuild logic to Linux 4.20 release with minimal impact on files outside of this scope. Our previous Kconfig sync was done by commit 587e4a429698 ("kconfig / kbuild: Re-sync with Linux 4.19"). As part of this re-sync, a few related changes from previous Linux releases were found to have been missed and merged in, and are not in the following list. The imported Linux commits are: [From prior to v4.19] b1e0d8b70fa3 kbuild: Fix gcc -x syntax a4353898980c kconfig: add CC_IS_GCC and GCC_VERSION 469cb7376c06 kconfig: add CC_IS_CLANG and CLANG_VERSION [From v4.19 to v4.20] 487c7c7702ab kbuild: prefix Makefile.dtbinst path with $(srctree) unconditionally 0d91bf584fe5 kbuild: remove old check for CFLAGS use 25815cf5ffec kbuild: hide most of targets when running config or mixed targets 00d78ab2ba75 kbuild: remove dead code in cmd_files calculation in top Makefile 23066c3f4e21 Compiler Attributes: enable -Wstringop-truncation on W=1 (gcc >= 8) 37c8a5fafa3b kbuild: consolidate Devicetree dtb build rules 80463f1b7bf9 kbuild: add --include-dir flag only for out-of-tree build 77ec0c20c7e0 kbuild: remove VERSION and PATCHLEVEL from $(objtree)/Makefile 74bc0c09b2da kbuild: remove user ID check in scripts/mkmakefile 4fd61277f662 kbuild: do not pass $(objtree) to scripts/mkmakefile 80d0dda3a4e5 kbuild: simplify command line creation in scripts/mkmakefile fb073a4b473e kbuild: add -Wno-pointer-sign flag unconditionally 9df3e7a7d7d6 kbuild: add -Wno-unused-but-set-variable flag unconditionally 69ea912fda74 kbuild: remove unneeded link_multi_deps 7d0ea2524202 kbuild: use 'else ifeq' for checksrc to improve readability 04c459d20448 kconfig: remove oldnoconfig target 0085b4191f3e kconfig: remove silentoldconfig target 3f80babd9ca4 kbuild: remove unused cc-fullversion variable 2cd3faf87d2d merge_config.sh: Allow to define config prefix 076f421da5d4 kbuild: replace cc-name test with CONFIG_CC_IS_CLANG 6bbe4385d035 kconfig: merge_config: avoid false positive matches from comment lines [From post v4.20] 885480b08469 Makefile: Move -Wno-unused-but-set-variable out of GCC only block There are a number of changes related to additional warnings as well as being able to drop cc-name entirely that have been omitted for now as additional work is required first. Cc: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2021-07-08arm: Remove spear600 boards and the rest of SPEAr supportTom Rini1-11/+0
These boards have not been converted to CONFIG_DM_USB by the deadline and is also missing conversion to CONFIG_DM. Remove them. As this is the last of the SPEAr platforms, so remove the rest of the remaining support as well. Cc: Vipin Kumar <vipin.kumar@st.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2021-07-07Makefile: Disable gcc-10.0 introduced warningsTom Rini1-0/+4
Follow what the Linux Kernel does here and disable the 'zero-length-bounds', 'array-bounds' and 'stringop-overflow' warnings here. This brings in commits 5c45de21a2223, 44720996e2d79 and 5a76021c2eff7 from the Linux Kernel. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-07-05Prepare v2021.07Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-06-30Revert "TEST: USB_HOST not USB"Tom Rini1-2/+2
This reverts commit 4e1903a645453deab5ec5dd1cf4f0061469b99c3. This local commit was not intended to be pushed out. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-06-30TEST: USB_HOST not USBTom Rini1-2/+2
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-06-28Prepare v2021.07-rc5Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-06-22Makefile: Adjust indention of GENENV quiet outputJan Kiszka1-1/+1
The column width for a command name is 8. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2021-06-07Prepare v2021.07-rc4Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-05-25Prepare v2021.07-rc3Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-05-24build: link with --build-id=noneMarek Behún1-0/+2
Some toolchains are compiled so that they pass a --build-id=something parameter to the linker implicitly. This causes U-Boot LTO linking to fail with something like: ld: section .note.gnu.build-id LMA ... overlaps section .text LMA ... because U-Boot's link scripts do not currently handle .note.gnu.build-id section. Fix this by explicitly disabling build-id. Signed-off-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-05-24build: support building with Link Time OptimizationsMarek Behún1-2/+65
Add plumbing for building U-Boot with Link Time Optimizations. When building with LTO, $(PLATFORM_LIBS) has to be in --whole-archive / --no-whole-archive group, otherwise some functions declared in assembly may not be resolved and linking may fail. Note: clang may throw away linker list symbols it thinks are unused when compiling with LTO. To force these symbols to be included, we refer to them via the __ADDRESSABLE macro in a C file generated from compiled built-in.o files before linking. Signed-off-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-05-24build: use thin archives instead of incremental linkingMarek Behún1-2/+2
Currently we use incremental linking (ld -r) to link several object files from one directory into one built-in.o object file containing the linked code from that directory (and its subdirectories). Linux has, some time ago, moved to thin archives instead. Thin archives are archives (.a) that do not really contain the object files, only references to them. Using thin archives instead of incremental linking - saves disk space - apparently works better with dead code elimination - makes things easier for LTO The third point is the important one for us. With incremental linking there are several options how to do LTO, and that would unnecessarily complicate things. We have to use the --whole-archive/--no-whole-archive linking option instead of --start-group/--end-group, otherwise linking may fail because of unresolved symbols, or the resulting binary will be unusable. We also need to use the P flag for ar, otherwise final linking may fail. Signed-off-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-05-24Makefile, Makefile.spl: cosmetic changeMarek Behún1-5/+7
Indent the linking commands so that they look cosmetically better. Signed-off-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-05-19binman: Support packaging U-Boot for scenarios like OF_BOARD or OF_PRIOR_STAGEBin Meng1-1/+2
For scenarios like OF_BOARD or OF_PRIOR_STAGE, no device tree blob is provided in the U-Boot build phase hence the binman node information is not available. In order to support such use case, a new Kconfig option BINMAN_STANDALONE_FDT is introduced, to tell the build system that a device tree blob containing binman node is explicitly required when using binman to package U-Boot. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-05-19makefile: Pass OpenSBI blob to binman make rulesBin Meng1-0/+1
This updates the make rules to pass OpenSBI blob to binman. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-05-18Makefile: Handle building in a very old build directorySimon Glass1-1/+3
Versions of U-Boot before 2014.01 created a symlink from include/asm to the architecture-specific header directory. If an ARM board is build with that old version, then sandbox is built on a more recent version (both with in-tree builds), the include/asm symlink confuses the build system. It picks up the ARM headers when it should be using the sandbox ones. Since 2014 U-Boot has only created a symlink inside the include/asm/ directory and only for out-of-tree builds. So for in-tree builds it does not expect to see an include/asm symlink. It is not removed by 'make mrproper'. It does show up with 'git status' but is easy enough to miss. Add include/asm to the files to remove with 'make mkproper'. For recent U-Boot builds this has no effect, since include/asm is a directory, not a file. If the include/asm symlink is there, it will be removed. Reported-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Simon Glass <sjg@chromium.org>
2021-05-18Makefile: allow to override python3Andrey Zhizhikin1-1/+1
Python3 taken from the PATH causes build issues when pylibfdt bindings are generated with Yocto SDK. Python3 provided as a part of SDK is not compatible with host Python3, therefore binding build breaks with following errors: scripts/dtc/pylibfdt/libfdt_wrap.c:154:11: fatal error: Python.h: No such file or directory 154 | # include <Python.h> | ^~~~~~~~~~ Do not enforce the python3 from the PATH and make it conditionally-assigned so it can be overridden from outside of build system. Keep the default assignment to point to version that is taken from the PATH. Similar fix has been introduced in b48bfc74ee ("tools: allow to override python"), where conditional assignment is used for python executable to address similar build errors. Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com> Cc: Simon Glass <sjg@chromium.org> Fixes: e91610da7c ("kconfig: re-sync with Linux 4.17-rc4") Reviewed-by: Simon Glass <sjg@chromium.org>
2021-05-11Merge tag 'u-boot-imx-20210502' of ↵Tom Rini1-0/+6
https://gitlab.denx.de/u-boot/custodians/u-boot-imx u-boot-imx-20210502 ------------------- - mx6: fixes for Ventana - local fixes from maintainer - imx7d: Ronetix's iMX7-CM - imx8: Ronetix iMX8MQ-CM Engicam i.Core MX8M Compulab iot-gate-imx8 - Fixes i.MX8 documentation - Fixes phy usage with fec
2021-05-11DM: DM_MMC migration is now mandatory for non-SPLTom Rini1-1/+0
As it has been now two years past the migration deadline, it is required to have migrated. Remove the check from the Makefile and rework some of the Kconfig logic slightly to get the functional dependencies of DM_MMC / BLK right in both the SPL and non-SPL case. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-05-11ata: Make LIBATA means AHCI is enabled mandatory.Tom Rini1-1/+0
The migration deadline for having LIBATA mean that AHCI is also enabled was v2019.07. As that has long since passed, adjust the Kconfig dependencies. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-05-11Prepare v2021.07-rc2Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-05-02Makefile: Fix generation of flash.bin u-boot.itb with binmanMarek Vasut1-0/+6
In case binman is enabled, the u-boot.itb is generated using this tool and there is no direct u-boot.itb target, but instead the binman tool must be invoked. Add support for this case. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
2021-04-27Makefile: fix generation of defaultenv.h from empty initial fileRasmus Villemoes1-3/+2
When CONFIG_USE_DEFAULT_ENV_FILE=y and the file CONFIG_DEFAULT_ENV_FILE is empty (or at least doesn't contain any non-comment, non-empty lines), we end up feeding nothing into xxd, which in turn then outputs nothing. Then blindly appending ", 0x00" means that we end up trying to compile (roughly) const char defaultenv[] = { , 0x00 } which is of course broken. To fix that, change the frobbing of the text file so that we always end up printing an extra empty line (which gets turned into that extra nul byte we need) - that corresponds better to the binary format consisting of a series of key=val nul terminated strings, terminated by an empty string. Reported-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2021-04-27Prepare v2021.07-rc1Tom Rini1-2/+2
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-04-20Add support for stack-protectorJoel Peshkin1-0/+5
Add support for stack protector for UBOOT, SPL, and TPL as well as new pytest for stackprotector Signed-off-by: Joel Peshkin <joel.peshkin@broadcom.com> Adjust UEFI build flags. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2021-04-10drivers: ata: Remove mvsata_ide driverTom Rini1-2/+0
The mvsata_ide driver was due for DM conversion by v2019.07. As that has long passed, remove the driver and disable it in the boards which had enabled it. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-04-05Merge branch 'next'Tom Rini1-3/+19
2021-04-05Prepare v2021.04Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-04-01Makefile: Silence the deprecation scriptSimon Glass1-1/+1
This bash code is currently showing up in the build unless 'make -s' is used. We don't normally show these sorts of things as they are confusing. Also this code was not shown before the recent refactoring of how these messages are displayed. Add an '@' to silence it. Suggested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Simon Glass <sjg@chromium.org> Reported-by: Bin Meng <bmeng.cn@gmail.com> Fixes: 13732528516 ("Makefile: Add common code to report deprecation")