aboutsummaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2021-02-01Prepare v2021.04-rc1v2021.04-rc1Tom Rini1-2/+2
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-01-27Makefile: Do not call useless command 'true'Pali Rohár1-1/+5
Macro 'cmd_objcopy_uboot' currently does not work with passed empty command expanded from 'cmd_static_rela' and therefore dummy command 'true' is set in 'cmd_static_rela' to workaround this issue. Eliminate it now by fixing 'cmd_objcopy_uboot' macro to work also with empty 'cmd_static_rela' macro and remove useless invocation of command 'true'. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-01-15tools: socfpgaimage: update padding flowLey Foon Tan1-1/+4
The existing socfpgaimage always pads the image to the maximum size of OCRAM size. This will break in the encryption flow where it expects the image to be un-padded. The encryption tool will do the encryption for the whole image and append the signature key at end of the image. The signature key will append to beyond the size of OCRAM if the image is padded with the maximum size before encryption. Move the padding step from socfpgaimage to Makefile and pads with objcopy command. socfpgaimage will pad the image with 16 bytes aligned (including CRC word), this is a requirement in encryption flow. Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
2021-01-11Merge branch 'next'Tom Rini1-6/+6
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-01-11Prepare v2021.01v2021.01Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-01-05Merge tag 'v2021.01-rc5' into nextTom Rini1-1/+1
Prepare v2021.01-rc5 Signed-off-by: Tom Rini <trini@konsulko.com>
2021-01-05Prepare v2021.01-rc5v2021.01-rc5Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-12-21Prepare v2021.01-rc4v2021.01-rc4Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-12-01Makefile: Correctly propagate failure when removing targetPali Rohár1-6/+6
On more places is used pattern 'command > $@ || rm -f $@'. But it does not propagate failure from 'command' as 'rm -f' returns success. Fix it by calling 'false' to correctly propagate failure after 'rm -f'. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2020-11-30Prepare v2021.01-rc3v2021.01-rc3Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-11-09Prepare v2021.01-rc2v2021.01-rc2Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-11-06Makefile: Fix calling make with V=1Pali Rohár1-1/+1
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 Glass1-1/+1
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-rc1v2021.01-rc1Tom Rini1-3/+3
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-10-27Makefile: provide constant with seconds since epochHeinrich Schuchardt1-0/+2
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ár1-3/+7
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-sunxiWIP/22Oct2020Tom Rini1-0/+3
- sun8i emac changes (Andre) - SCP firmware (Samuel)
2020-10-22Kconfig: Use hex values for CONFIG_{SPL,TPL}_SIZE_LIMITOvidiu Panait1-2/+2
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 Holland1-0/+1
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 Holland1-0/+2
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 Yun1-0/+1
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 Ang1-9/+18
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 Rini1-18/+5
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.10v2020.10Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-09-22binman: Allow selecting default FIT configurationSimon Glass1-0/+2
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 Glass1-16/+2
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 Glass1-2/+1
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-rc5v2020.10-rc5Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-09-12Makefile: mrproper shall delete doc/output/Heinrich Schuchardt1-1/+1
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-rc4v2020.10-rc4Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-08-26Prepare v2020.10-rc3v2020.10-rc3Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-08-12Makefile: fix annoying sunxi hack messageFrank Wunderlich1-2/+2
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 Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-08-08Makefile: sunxi: Don't use binman to build ATF imageSimon Glass1-0/+4
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 Glass1-0/+9
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 Glass1-1/+1
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 Glass1-1/+2
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 Glass1-1/+3
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 Glass1-8/+16
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 Glass1-12/+0
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 Glass1-5/+2
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 Glass1-1/+2
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 Glass1-49/+14
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 Glass1-28/+32
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 Glass1-15/+1
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 Glass1-0/+14
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 Glass1-5/+13
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-rc1v2020.10-rc1Tom Rini1-2/+2
Signed-off-by: Tom Rini <trini@konsulko.com>
2020-07-17Makefile: Silence relocate-rela callJan Kiszka1-6/+8
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2020-07-06Merge branch 'next'Tom Rini1-2/+11
Merge all outstanding changes from the current next branch in now that we have released.