summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
2022-02-18tools: binman: add ti-secure entry typeRoger Quadros
This entry type is used to create a secured binary for use with K3 High Security (HS) devices. This allows us to no longer depend on k3_fit_atf.sh for A53 SPL and u-boot image generation even for HS devices. We still depend on the availability of an external tool provided by the TI_SECURE_DEV_PKG environment variable to secure the binaries. Signed-off-by: Roger Quadros <rogerq@kernel.org>
2022-02-18tools: binman: Rename atf-bl32 to tee-osRoger Quadros
tee-os is a more appropriate name for OP-TEE binary. Fixes: dd0bb6313c97 ("binman: Add support for TEE BL32") Signed-off-by: Roger Quadros <rogerq@kernel.org>
2022-02-02HACK: Makefile: Use $ATF and $TEE arguments to override $BL31 and $BL32Roger Quadros
Upstream uses $BL31 for ATF blob and will use $BL32 for OP-TEE OS blob. Since our Yocto build scripts and most of the developer build scripts pass $ATF and $TEE, we continue to support those if provided. Their usage should be deprecated. We can then drop this patch once migration to $BL31 and $BL32 is done. Signed-off-by: Roger Quadros <rogerq@kernel.org>
2022-02-02binman: Add support for TEE BL32Roger Quadros
Add an entry for OP-TEE Trusted OS 'BL32' payload. This is required by platforms using Cortex-A cores with TrustZone technology. Signed-off-by: Roger Quadros <rogerq@kernel.org>
2021-01-11Prepare v2021.01Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-01-05Prepare v2021.01-rc5Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-12-21Prepare v2021.01-rc4Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-11-30Prepare v2021.01-rc3Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-11-09Prepare v2021.01-rc2Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-11-06Makefile: Fix calling make with V=1Pali Rohár
Calling 'make V=1 all' on Ubuntu 18.04 with gcc version 9.2.1 and GNU Make version 4.1 fails on error: scripts/Kbuild.include:220: *** Recursive variable 'echo-cmd' references itself (eventually). Stop. As a workaround expand 'echo-cmd' variable via 'call' construction instead of expanding it directly. Signed-off-by: Pali Rohár <pali@kernel.org> Reported-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com> Fixes: ae897022d7bd ("Makefile: Fix u-boot-nodtb.bin target")
2020-10-29dm: test: Make use of CONFIG_UNIT_TESTSimon Glass
At present we always include test/dm from the main Makefile. We have a CONFIG_UNIT_TEST that should control whether the test/ directory is built, so rely on that instead. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-10-28Prepare v2021.01-rc1Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-10-27Makefile: provide constant with seconds since epochHeinrich Schuchardt
Provide a constant U_BOOT_EPOCH with the number of seconds since 1970-01-01. This constant can be used to initialize a software real time clock until it is updated via the 'sntp' command. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-10-23Makefile: Fix u-boot-nodtb.bin targetPali Rohár
This change fixes two issues when building u-boot-nodtb.bin target: * Remove intermediate binary u-boot-nodtb.bin from disk when static_rela call (which modifies u-boot-nodtb.bin binary) failed. It is required because previous objcopy call creates binary and static_rela finish it. * Do not call static_rela cmd when u-boot-nodtb.bin binary was not created/updated by previous objcopy call. Second fix would ensure that u-boot-nodtb.bin binary is not updated when all prerequisites were up-to-date. And therefore final binary u-boot.bin is not updated in case all prerequisites were not modified and were up-to-date. Now running 'make SOURCE_DATE_EPOCH=0 u-boot.bin' second time now does not touch u-boot.bin binary in case nothing was modified, so GNU make can correctly detect that everything is up-to-date. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-10-22Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-sunxiTom Rini
- sun8i emac changes (Andre) - SCP firmware (Samuel)
2020-10-22Kconfig: Use hex values for CONFIG_{SPL,TPL}_SIZE_LIMITOvidiu Panait
CONFIG_{SPL,TPL}_SIZE_LIMIT are defined as hex (SPL_SIZE_LIMIT was converted in b51882d0 ("spl: Convert CONFIG_SPL_SIZE_LIMIT to hex"), but there are still places that reference integer values. Change those to hex as well. Also, update the Makefile to check for 0x0 instead of 0. This also fixes the following build error when CONFIG_SPL_SIZE_LIMIT is set by menuconfig to 0x0: ... spl/u-boot-spl.bin exceeds file size limit: limit: 0 bytes actual: 0x80f0 bytes excess: 0x80f0 bytes Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-10-22binman: Add support for SCP firmwareSamuel Holland
Add an entry type for a firmware blob for a System Control Processor, given by an entry arg. This firmware is a raw binary blob. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Samuel Holland <samuel@sholland.org> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
2020-10-22Makefile: Only define u-boot.itb rule when applicableSamuel Holland
If neither CONFIG_SPL_FIT_SOURCE nor CONFIG_USE_SPL_FIT_GENERATOR is enabled, U_BOOT_ITS will be undefined, and attempting to make u-boot.itb will pass invalid arguments to mkimage, causing it to print its help message. Remove the rule in that case, so it is more obvious that u-boot.itb is not something that can be made. This will reduce confusion as platforms move away from CONFIG_USE_SPL_FIT_GENERATOR, as u-boot.itb was previously a valid goal for those platforms. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Samuel Holland <samuel@sholland.org> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
2020-10-20usb: add MediaTek USB3 DRD driverChunfeng Yun
This patch adds support for the MediaTek USB3 DRD controller, its host side is based on xHCI, this driver supports device mode and host mode. Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com> Acked-by: Bin Meng <bmeng.cn@gmail.com>
2020-10-09Makefile: socfpga: Generate sfp file with 4 SPL imagesChee Hong Ang
Generate 'u-boot-splx4.sfp' which consist of 4 SPL images required for booting up Cyclone5/Arria10. By default, this 'u-boot-splx4.sfp' is generated without extra padding after each SPL image. For Cyclone5, 'u-boot-splx4.sfp' contains: 4 x SPL(64KB) = 256KB For Arria10, 'u-boot-splx4.sfp' contains: 4 x SPL(256KB) = 1024KB For Cyclone5 using NAND flash image layout for 128 KB memory blocks, user can 'make' the following target to generate 4 SPL images with padding: make u-boot-spl-padx4.sfp 'u-boot-spl-padx4.sfp' contains four 128KB SPL images (each 64KB SPL is followed by 64KB of zero-padding). 4 x (SPL(64KB) + zero-padding(64KB)) = 512KB Signed-off-by: Chee Hong Ang <chee.hong.ang@intel.com> Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
2020-10-05Merge branch 'next'Tom Rini
Bring in the assorted changes that have been staged in the 'next' branch prior to release. Signed-off-by: Tom Rini <trini@konsulko.com>
2020-10-05Prepare v2020.10Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-09-22binman: Allow selecting default FIT configurationSimon Glass
Add a new entry argument to the fit entry which allows selection of the default configuration to use. This is the 'default' property in the 'configurations' node. Update the Makefile to pass in the value of DEVICE_TREE or CONFIG_DEFAULT_DEVICE_TREE to provide this information. Signed-off-by: Simon Glass <sjg@chromium.org> Suggested-by: Michal Simek <michal.simek@xilinx.com>
2020-09-22sunxi: Convert 64-bit boards to use binmanSimon Glass
At present 64-bit sunxi boards use the Makefile to create a FIT, using USE_SPL_FIT_GENERATOR. This is deprecated. Update sunxi to use binman instead. Signed-off-by: Simon Glass <sjg@chromium.org> Tested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-09-22Makefile: Support missing external blobs alwaysSimon Glass
At present binman warns about missing external blobs only when the BUILD_ROM is defined. Enable this behaviour always, since many boards are starting to use these (e.g. ARM Trusted Firmware's BL31). Signed-off-by: Simon Glass <sjg@chromium.org>
2020-09-21Prepare v2020.10-rc5Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-09-12Makefile: mrproper shall delete doc/output/Heinrich Schuchardt
HTML documentation is generated in doc/output/. This directory shall be deleted by 'make mrproper' Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-09-07Prepare v2020.10-rc4Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-08-26Prepare v2020.10-rc3Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-08-12Makefile: fix annoying sunxi hack messageFrank Wunderlich
every compilation shows this error Hack for sunxi which doesn't have a proper binman definition for 64-bit boards not only for sunxi-boards/arm64 fix this by changing to real comments Fixes: 9f55ee259d0c ("Makefile: sunxi: Don't use binman to build ATF image") Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
2020-08-10Prepare v2020.10-rc2Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-08-08Makefile: sunxi: Don't use binman to build ATF imageSimon Glass
At present with sunxi 64-bit, the Makefile builds u-boot-sunxi-with-spl.bin and then binman overwrites it with its own version. But the binman definition lacks some parts, in particular BL31. For now, work around this with a hack. Tested-by: Andre Przywara <andre.przywara@arm.com> Tested-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Simon Glass <sjg@chromium.org> Fixes: 42b18df80fd ("x86: Makefile: Drop explicit targets built by binman")
2020-07-28Makefile: Warn against using CONFIG_SPL_FIT_GENERATORSimon Glass
This option is used to run arch-specific shell scripts which produce .its files which are used to produce FIT images. We already have binman which is designed to produce firmware images. It is more powerful and has tests. So this option should be deprecated and not used. Existing uses should be migrated. Mentions of this in code reviews over the last year or so do not seem to have resulted in action, and things are getting worse. So let's add a warning. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2020-07-28Makefile: Allow CONFIG_SPL_FIT_GENERATOR to be emptySimon Glass
At present we use the empty string to indicate that there is no FIT generator, but this doesn't allow an individual board to undefine it. Create a separate bool instead. Update the config of the boards which currently have an empty string. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-07-28Makefile: Fix a long line in cmd_mkfitimageSimon Glass
Fix this line which is over the limit. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2020-07-28Makefile: Move CONFIG_TOOLS_DEBUG check to laterSimon Glass
At present this is checked before the config has been loaded by the Makefile, so it doesn't work. Move the check to later. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2020-07-28mediatek: Makefile: Drop explicit targets built by binmanSimon Glass
On mediatek various files that need to be created by binman. It does not make sense to enumerate these in the Makefile. They are described in the configuration (devicetree) for each board and we can simply run binman (always) to generate them. This avoid sprinkling the Makefile with arch-specific code. Also update the binman definition so that idbloader.img is only needed when SPL is actually being used. Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Simon Glass <sjg@chromium.org>
2020-07-28tegra: Makefile: Drop explicit targets built by binmanSimon Glass
On tegra various files that need to be created by binman. It does not make sense to enumerate these in the Makefile. They are described in the configuration (devicetree) for each board and we can simply run binman (always) to generate them. This avoid sprinkling the Makefile with arch-specific code. Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Simon Glass <sjg@chromium.org>
2020-07-28sunxi: Makefile: Drop explicit targets built by binmanSimon Glass
On sunxi various files that need to be created by binman. It does not make sense to enumerate these in the Makefile. They are described in the configuration (devicetree) for each board and we can simply run binman (always) to generate them. This avoid sprinkling the Makefile with arch-specific code. Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Simon Glass <sjg@chromium.org>
2020-07-28x86: Drop CONFIG_BUILD_ROM and repurpose BUILD_ROMSimon Glass
This Kconfig is not needed anymore since U-Boot will build the ROM if the required binary blobs exist. The BUILD_ROM environment variable used to request that the ROM be built. Now this always happens if the required binary blobs are available. Update it to mean that U-Boot should fail if the ROM cannot be built. This behaviour should be compatible with how it used to work. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2020-07-28x86: Makefile: Drop explicit targets built by binmanSimon Glass
On x86 various files that need to be created by binman. It does not make sense to enumerate these in the Makefile. They are described in the configuration (devicetree) for each board and we can simply run binman (always) to generate them. Update the Makefile to have a separate, final step which runs binman, once all input dependencies are present. This avoid sprinkling the Makefile with arch-specific code. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-07-28Makefile: Rename ALL-y to INPUTS-ySimon Glass
When binman is in use, most of the targets built by the Makefile are inputs to binman. We then need a final rule to run binman to produce the final outputs. Rename the variable to indicate this, and add a new 'inputs' target. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2020-07-28tegra: Drop the unused non-binman codeSimon Glass
This has been in the Makefile long enough to ensure migration is complete. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-07-28Makefile: Allow building .rom files for non-x86 boardsSimon Glass
Some non-x86 devices can use SPI flash to boot and need to produce images of a fixed size to program the flash. Add a way to handle this for non-x86 boards. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-07-28x86: Change how selection of ROMs worksSimon Glass
Most x86 boards build a u-boot.rom which is programmed into SPI flash. But this is not unique to x86. For example some rockchip boards can also boot from SPI flash. Also, at least on x86, binary blobs are sadly quite common. It is not possible to build a functional image without them, and U-Boot needs to know this at build time. Introduce a new CONFIG_HAS_ROM option which selects whether u-boot.rom is built and a new CONFIG_ROM_NEEDS_BLOBS option to indicate whether binary blobs are also needed. If they are not needed, it is safe to build the ROM always. Otherwise we still require the BUILD_ROM environment variable. For now this affects only x86, but future patches will enable this for rockchip too. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-07-27Prepare v2020.10-rc1Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-07-17Makefile: Silence relocate-rela callJan Kiszka
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2020-07-06Merge branch 'next'Tom Rini
Merge all outstanding changes from the current next branch in now that we have released.
2020-07-06Prepare v2020.07Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-07-01Don't start ad-hoc games with -Wno-maybe-initializedTom Rini
Borrowing from Linux commit 78a5255ffb6a ("Stop the ad-hoc games with -Wno-maybe-initialized") move to have maybe-initialized warnings be handled with building with W=2 instead of playing more guessing games with newer compilers. Signed-off-by: Tom Rini <trini@konsulko.com>