summaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* sandbox: allow cross-compiling sandboxHeinrich Schuchardt2021-03-221-3/+7
| | | | | | | | | | | | | | | | | UEFI test files like helloworld.efi require an architecture specific PE-COFF header. Currently this does not work for cross compiling. If $CROSS_COMPILE is set, use the first part of the architecture triplet from the variable to choose the PE-COFF header. Now we can cross-compile the sandbox, e.g. make sandbox_defconfig NO_SDL=1 CROSS_COMPILE=/opt/bin/aarch64-linux-gnu- NO_SDL=1 MK_ARCH=aarch64 make Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
* board: mt7629: enable compression of u-boot to reduce the size of final imageWeijie Gao2021-03-201-0/+3
| | | | | | | This patch makes use of the decompression mechanism implemented for mt7628 previously to reduce the total image size. Binman will be also removed. Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
* Merge tag 'v2021.04-rc4' into nextTom Rini2021-03-151-7/+12
|\ | | | | | | Prepare v2021.04-rc4
| * Prepare v2021.04-rc4Tom Rini2021-03-151-1/+1
| | | | | | | | Signed-off-by: Tom Rini <trini@konsulko.com>
| * Makefile: socfpga: Add target to generate hex output for combined spl and dtbDalon Westergreen2021-03-081-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | Add target to Makefile to generate "u-boot-spl-dtb.hex" for Intel SOCFPGA SOC64 devices (Stratix 10 and Agilex). "u-boot-spl-dtb.hex" is hex formatted spl with and offset of CONFIG_SPL_TEXT_BASE. It combines the spl image and dtb. "u-boot-spl-dtb.hex" is needed to generate the final configuration bitstream for Intel SOCFPGA SOC64 devices. Signed-off-by: Dalon Westergreen <dalon.westergreen@intel.com> Signed-off-by: Siew Chin Lim <elly.siew.chin.lim@intel.com>
| * Merge tag 'u-boot-imx-20210303' of ↵Tom Rini2021-03-031-1/+4
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://gitlab.denx.de/u-boot/custodians/u-boot-imx i.MX for 2021.04 ---------------- - new boards: - i.MX8MN Beacon EmbeddedWorks (2GB) - Gateworks Venice imx8mm - convert to DM: - imx53-qsb, mx53loco, mx51evk, mx23-evk - Fixes : - Network : FEC ethernet quirks - DH dh-imx6 CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/6597
| | * ARM: imx: Include u-boot.img in u-boot-with-spl.imx if OF_SEPARATE=yMarek Vasut2021-03-011-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The u-boot-with-spl.imx is a concatenation of SPL and u-boot.uim. The u-boot.uim is u-boot.bin wrapped in uImage. In case OF_SEPARATE is enabled, the u-boot.bin does not contain control DT for U-Boot, and so u-boot.uim does not contain the DT, and so u-boot-with-spl.imx does not contain the DT, and a system where u-boot-with-spl.imx is written to offset 1024B to the start of storage no longer boots, as it is missing DT. In case OF_SEPARATE is enabled, u-boot.img contains both u-boot.bin and the necessary DTs. Therefore, use u-boot.img instead of u-boot.uim to generate u-boot-with-spl.imx when OF_SEPARATE is enabled. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Christoph Niedermaier <cniedermaier@dh-electronics.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: Peng Fan <peng.fan@nxp.com> Cc: Simon Glass <sjg@chromium.org> Cc: Stefano Babic <sbabic@denx.de> Cc: Ye Li <ye.li@nxp.com> Cc: uboot-imx <uboot-imx@nxp.com>
| * | usb: musb: Fix compilation of gadget codePali Rohár2021-03-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | musb udc code depends on usb gadget code provided by CONFIG_USB_DEVICE as defined in drivers/usb/gadget/Makefile. But this Makefile is not included into U-Boot build when CONFIG_USB_GADGET is not set. As CONFIG_USB_DEVICE cannot be enabled together with CONFIG_USB_GADGET it means that dependency for musb udc code is not compiled during build. Fix it by including drivers/usb/gadget dependency also when CONFIG_USB_DEVICE is set. This patch fixes compile errors: arm-linux-gnueabi-ld.bfd: drivers/usb/musb/built-in.o: in function `musb_peri_ep0_rx': u-boot/drivers/usb/musb/musb_udc.c: undefined reference to `ep0_recv_setup' arm-linux-gnueabi-ld.bfd: drivers/usb/musb/built-in.o: in function `musb_peri_ep0_idle': u-boot/drivers/usb/musb/musb_udc.c: undefined reference to `ep0_recv_setup' arm-linux-gnueabi-ld.bfd: drivers/usb/musb/built-in.o: in function `musb_peri_ep0_zero_data_request': u-boot/drivers/usb/musb/musb_udc.c: undefined reference to `usbd_device_event_irq' arm-linux-gnueabi-ld.bfd: drivers/usb/musb/built-in.o: in function `musb_peri_ep0_idle': u-boot/drivers/usb/musb/musb_udc.c: undefined reference to `ep0_recv_setup' arm-linux-gnueabi-ld.bfd: drivers/usb/musb/built-in.o: in function `musb_peri_ep0_rx': u-boot/drivers/usb/musb/musb_udc.c: undefined reference to `usbd_rcv_complete' arm-linux-gnueabi-ld.bfd: drivers/usb/musb/built-in.o: in function `musb_peri_rx_ep': u-boot/drivers/usb/musb/musb_udc.c: undefined reference to `usbd_rcv_complete' arm-linux-gnueabi-ld.bfd: drivers/usb/musb/built-in.o: in function `udc_endpoint_write': u-boot/drivers/usb/musb/musb_udc.c: undefined reference to `usbd_tx_complete' arm-linux-gnueabi-ld.bfd: drivers/usb/musb/built-in.o: in function `udc_irq': u-boot/drivers/usb/musb/musb_udc.c: undefined reference to `usbd_device_event_irq' arm-linux-gnueabi-ld.bfd: u-boot/drivers/usb/musb/musb_udc.c: undefined reference to `usbd_device_event_irq' arm-linux-gnueabi-ld.bfd: u-boot/drivers/usb/musb/musb_udc.c: undefined reference to `usbd_device_event_irq' arm-linux-gnueabi-ld.bfd: u-boot/drivers/usb/musb/musb_udc.c: undefined reference to `usbd_device_event_irq' arm-linux-gnueabi-ld.bfd: u-boot/drivers/usb/musb/musb_udc.c: undefined reference to `usbd_device_event_irq' arm-linux-gnueabi-ld.bfd: drivers/usb/musb/built-in.o:u-boot/drivers/usb/musb/musb_udc.c: more undefined references to `usbd_device_event_irq' follow arm-linux-gnueabi-ld.bfd: drivers/usb/musb/built-in.o: in function `udc_setup_ep': u-boot/drivers/usb/musb/musb_udc.c: undefined reference to `usbd_alloc_urb' arm-linux-gnueabi-ld.bfd: drivers/usb/musb/built-in.o: in function `udc_startup_events': u-boot/drivers/usb/musb/musb_udc.c: undefined reference to `usbd_device_event_irq' arm-linux-gnueabi-ld.bfd: u-boot/drivers/usb/musb/musb_udc.c: undefined reference to `usbd_device_event_irq' arm-linux-gnueabi-ld.bfd: u-boot/drivers/usb/musb/musb_udc.c: undefined reference to `usbd_device_event_irq' make: *** [Makefile:1762: u-boot] Error 1 Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Lukasz Majewski <lukma@denx.de> Acked-by: Pavel Machek <pavel@ucw.cz>
* | | binman: Indicate how to make binman verboseSimon Glass2021-03-021-0/+1
|/ / | | | | | | | | | | | | | | Add notes about how to make binman produce verbose logging when building. Add a comment on how to do this. Signed-off-by: Simon Glass <sjg@chromium.org>
* / Prepare v2021.04-rc3Tom Rini2021-03-011-1/+1
|/ | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Makefile: Add (default) DEVICE_TREE to SPL FITKlaus Heinrich Kiwi2021-02-241-0/+1
| | | | | | | | | | | | | U-boot allows the default device tree to be overridden from the build environment using the DEVICE_TREE variable. Make sure that we include it in the SPL FIT mkimage build step. This also fixes a broken image in case CONFIG_OF_LIST and CONFIG_OF_OVERLAY_LIST are unset (i.e., expected to be supplied by the DEVICE_TREE env var). Signed-off-by: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com>
* Prepare v2021.04-rc2Tom Rini2021-02-151-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Makefile: Provide numeric versionsSimon Glass2021-02-061-0/+4
| | | | | | | | | For SMBIOS we want to store the numeric version numbers in the tables. It does not make sense to parse the strings. Instead, add new #defines with the version and patchlevel. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* Prepare v2021.04-rc1Tom Rini2021-02-011-2/+2
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Makefile: Do not call useless command 'true'Pali Rohár2021-01-271-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>
* tools: socfpgaimage: update padding flowLey Foon Tan2021-01-151-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>
* Merge branch 'next'Tom Rini2021-01-111-6/+6
|\ | | | | | | Signed-off-by: Tom Rini <trini@konsulko.com>
| * Merge tag 'v2021.01-rc5' into nextTom Rini2021-01-051-1/+1
| |\ | | | | | | | | | | | | | | | Prepare v2021.01-rc5 Signed-off-by: Tom Rini <trini@konsulko.com>
| * | Makefile: Correctly propagate failure when removing targetPali Rohár2020-12-011-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>
* | | Prepare v2021.01Tom Rini2021-01-111-1/+1
| |/ |/| | | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* | Prepare v2021.01-rc5Tom Rini2021-01-051-1/+1
| | | | | | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* | Prepare v2021.01-rc4Tom Rini2020-12-211-1/+1
|/ | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Prepare v2021.01-rc3Tom Rini2020-11-301-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Prepare v2021.01-rc2Tom Rini2020-11-091-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Makefile: Fix calling make with V=1Pali Rohár2020-11-061-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")
* dm: test: Make use of CONFIG_UNIT_TESTSimon Glass2020-10-291-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>
* Prepare v2021.01-rc1Tom Rini2020-10-281-3/+3
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Makefile: provide constant with seconds since epochHeinrich Schuchardt2020-10-271-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>
* Makefile: Fix u-boot-nodtb.bin targetPali Rohár2020-10-231-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>
* Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-sunxiTom Rini2020-10-221-0/+3
|\ | | | | | | | | - sun8i emac changes (Andre) - SCP firmware (Samuel)
| * binman: Add support for SCP firmwareSamuel Holland2020-10-221-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>
| * Makefile: Only define u-boot.itb rule when applicableSamuel Holland2020-10-221-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>
* | Kconfig: Use hex values for CONFIG_{SPL,TPL}_SIZE_LIMITOvidiu Panait2020-10-221-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>
* | usb: add MediaTek USB3 DRD driverChunfeng Yun2020-10-201-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>
* Makefile: socfpga: Generate sfp file with 4 SPL imagesChee Hong Ang2020-10-091-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>
* Merge branch 'next'Tom Rini2020-10-051-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>
| * binman: Allow selecting default FIT configurationSimon Glass2020-09-221-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>
| * sunxi: Convert 64-bit boards to use binmanSimon Glass2020-09-221-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>
| * Makefile: Support missing external blobs alwaysSimon Glass2020-09-221-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>
* | Prepare v2020.10Tom Rini2020-10-051-1/+1
|/ | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Prepare v2020.10-rc5Tom Rini2020-09-211-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Makefile: mrproper shall delete doc/output/Heinrich Schuchardt2020-09-121-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>
* Prepare v2020.10-rc4Tom Rini2020-09-071-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Prepare v2020.10-rc3Tom Rini2020-08-261-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Makefile: fix annoying sunxi hack messageFrank Wunderlich2020-08-121-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>
* Prepare v2020.10-rc2Tom Rini2020-08-101-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Makefile: sunxi: Don't use binman to build ATF imageSimon Glass2020-08-081-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")
* Makefile: Warn against using CONFIG_SPL_FIT_GENERATORSimon Glass2020-07-281-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>
* Makefile: Allow CONFIG_SPL_FIT_GENERATOR to be emptySimon Glass2020-07-281-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>
* Makefile: Fix a long line in cmd_mkfitimageSimon Glass2020-07-281-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>