summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-09-17version: Remove global macro U_BOOT_VERSION_STRING from version.hPali Rohár3-12/+15
Version string is available in global variable char version_string[]. Macro U_BOOT_VERSION_STRING is not used by any other file, so remove it completely from version.h. Other files were already converted to use variable version_string[]. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2021-09-17x86: quark: MRC: Remove U_BOOT_DATE and U_BOOT_TIME from debug logPali Rohár1-3/+1
U_BOOT_DATE and U_BOOT_TIME are updated on every run of make command. Therefore mrc.c file is recompiled every time when running make which means that whole U-Boot binary is recompiled on every run of make command. Simplify it and do not recompile U-Boot binary on every run of make command by not depending on macros U_BOOT_DATE and U_BOOT_TIME. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-09-17version: Do not make version_string[] variable as a weakPali Rohár1-1/+1
There is no platform which needs to overload version_string[] variable, so remove weak symbol mark. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2021-09-17powerpc: Drop version_string placement optimizationTom Rini3-16/+0
As explained by Wolfgang, historically PowerPC would do a number of things to hand-optimize placement of the binary on NOR flash in order to maximize utilization of very scarce resources. These days, we simply aren't optimizing our binary layout for NOR flash placement and it's quite likely this wasn't working as intended. Furthermore, this level of optimization makes it difficult to have version_string be a global, instead of a weak and overridden value, and so make more progress on reproducible builds, which is a current concern. Move to having PowerPC no longer store version_string in the early part of text so that it might be part of the first page of NOR and instead use the same declaration everyone else does. Link: https://lore.kernel.org/r/96716.1629798400@gemini.denx.de/ Signed-off-by: Tom Rini <trini@konsulko.com>
2021-09-17m68k: mcf: Remove overloading version_stringPali Rohár6-26/+0
There is no need to overload version_string at the end of start.S files. Common implementation of version_string should be fine. Signed-off-by: Pali Rohár <pali@kernel.org> [trini: Keep the align, it's important for the rest of linkage] Signed-off-by: Tom Rini <trini@konsulko.com>
2021-09-17version: Move version_string[] from version.h to version_string.hPali Rohár11-12/+17
More C files do not use compile time timestamp macros and do not have to be recompiled every time when SOURCE_DATE_EPOCH changes. This patch moves version_string[] from version.h to version_string.h and updates other C files which only needs version_string[] string to include version_string.h instead of version.h. After applying this patch these files are not recompiled every time when SOURCE_DATE_EPOCH changes. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2021-09-17efi_loader: Use directly version_string variablePali Rohár1-2/+3
Macro U_BOOT_VERSION_STRING is already stored in variable version_string. So use directly this variable instead of storing U_BOOT_VERSION_STRING into temporary variable. Signed-off-by: Pali Rohár <pali@kernel.org> [trini: This area was reworked since posted, what is here is now really inspired by the previous version, so drop Ilias' Acked-by] Signed-off-by: Tom Rini <trini@konsulko.com>
2021-09-17Remove #include <version.h> from files which do not need itPali Rohár8-8/+0
Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2021-09-17Remove #include <timestamp.h> from files which do not need itPali Rohár2-4/+0
Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2021-09-17m68k: Add missing ENTRY entry in linker scriptTom Rini1-0/+1
Currently, there is no ENTRY() entry in the m68k linker script. However, since they currently contain a version_string symbol, which then overrides the default weak version_string symbol, the linker decides we must keep start.o in the resulting link. Add an ENTRY() line so that the linker will know to keep this, even when version_string is no longer provided in start.S Cc: Huan Wang <alison.wang@nxp.com> Cc: Angelo Dureghello <angelo@sysam.it> Signed-off-by: Tom Rini <trini@konsulko.com>
2021-09-16test: Add a way to skip console checking until a string matchesSimon Glass2-0/+50
Some tests produce a lot of output that does not need to be individually checked by an assertion. Add a macro to handle this. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-09-16sandbox: Add a way to map a file into memorySimon Glass2-0/+42
It is useful to map a file into memory so that it can be accessed using simple pointers. Add a function to support this. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-09-16sandbox: Add a way to find the size of a fileSimon Glass2-6/+24
Add a function to return the size of a file. This is useful in situations where we need to allocate memory for it before reading it. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Behún <marek.behun@nic.cz>
2021-09-16dm: core: Fix a few incorrect comments on first/next functionsSimon Glass2-3/+3
Tighten up these comments to make the behaviour clearer. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-09-16test: Tidy a comment in the bloblist testSimon Glass1-1/+1
Fix up a copy error. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-09-16sqfs: Suppress the message about missing filesystemSimon Glass1-1/+1
This message comes up a lot when scanning filesystems. It suggests to the user that there is some sort of error, but in fact there is no reason to expect that a particular partition has a sqfs filesystem. Other filesystems don't print this error. Turn it into a debug message. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
2021-09-16btrfs: Suppress the message about missing filesystemSimon Glass1-2/+6
This message comes up a lot when scanning filesystems. It suggests to the user that there is some sort of error, but in fact there is no reason to expect that a particular partition has a btrfs filesystem. Other filesystems don't print this error. Turn it into a debug message. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Qu Wenruo <wqu@suse.com>
2021-09-16sandbox: Add license headers to the dts filesSimon Glass6-0/+29
Many of these files are missing a header. Fix this. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-09-16sandbox: Correct handling of --rm_memorySimon Glass1-1/+0
This option has no argument so we should not trip to skip one. Fix it. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-09-16dtoc: Further improve documentation about warningsSimon Glass1-4/+88
Split this information into subsections and expand it. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-09-16scripts/config_whitelist.txt: Fix after mergingTom Rini1-0/+1
CONFIG_SPIFLASH is manually re-added as it is not a new symbol, but now only exists in CONFIG_SYS_EXTRA_OPTIONS. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-09-16pci: Fix mismerge with v2021.10-rc4Tom Rini2-7/+1
With legacy PCI code removed and thus DM_PCI also removed, a few places did not get correctly updated with the merge to next and thus broke. Remove now extraneous dependencies on DM_PCI. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-09-16Merge tag 'v2021.10-rc4' into nextTom Rini215-3317/+1078
Prepare v2021.10-rc4 Signed-off-by: Tom Rini <trini@konsulko.com> # gpg: Signature made Tue 14 Sep 2021 06:58:32 PM EDT # gpg: using RSA key 1A3C7F70E08FAB1707809BBF147C39FF9634B72C # gpg: Good signature from "Thomas Rini <trini@konsulko.com>" [ultimate] # Conflicts: # board/Arcturus/ucp1020/spl.c # cmd/mvebu/Kconfig # common/Kconfig.boot # common/image-fit.c # configs/UCP1020_defconfig # configs/sifive_unmatched_defconfig # drivers/pci/Kconfig # include/configs/UCP1020.h # include/configs/sifive-unmatched.h # lib/Makefile # scripts/config_whitelist.txt
2021-09-14Prepare v2021.10-rc4Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-09-14configs: Resync with savedefconfigTom Rini27-48/+5
Rsync all defconfig files using moveconfig.py Signed-off-by: Tom Rini <trini@konsulko.com>
2021-09-14image: Avoid erroneous double byte-swap in CRC valueAlexandru Gagniuc1-9/+0
The hash algorithm selection was streamlined in commit 92055e138f28 ("image: Drop if/elseif hash selection in calculate_hash()"). Said commit kept the call to cpu_to_uimage() to convert the CRC to big endian format. This would have been correct when calling crc32_wd(). However, the ->hash_func_ws member of crc32 points to crc32_wd_buf(), which already converts the CRC to big endian. On a little endian host, doing both conversions results in a little-endian CRC. This is incorrect. To remedy this, simply drop the call to cpu_to_uimage(), thus only doing the byte-order conversion once. Fixes: 92055e138f28 ("image: Drop if/elseif hash selection in calculate_hash()") Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2021-09-14Merge branch '2021-09-14-assorted-fixes'Tom Rini6-21/+29
- Assorted bugfixes
2021-09-14image: rsa: Move padding_algos to linker listsAlexandru Gagniuc3-17/+25
We are not guaranteed to have the padding_pkcs_15_verify symbol since commit 92c960bc1d ("lib: rsa: Remove #ifdefs from rsa.h"), and commit 61416fe9df ("Kconfig: FIT_SIGNATURE should not select RSA_VERIFY") The padding_algos only make sense with RSA verification, which can now be disabled in lieu of ECDSA. In fact this will lead to build failures because of the missing symbol mentioned earlier. To resolve this, move the padding_algos to a linker list, with declarations moved to rsa_verify.c. This is consistent with commit 6909edb4ce ("image: rsa: Move verification algorithm to a linker list") One could argue that the added #ifdef USE_HOSTCC is ugly, and should be hidden within the U_BOOT_PADDING_ALGO() macro. However, this would be inconsistent with the "cryptos" list. This logic for was not previously explored: Without knowledge of the U_BOOT_PADDING_ALGO() macro, its use is similar to something being declared. However, should #ifndef USE_HOSTCC be part of the macro, it would not be obvious that it behaves differently on host code and target code. Having the #ifndef outside the macro makes this obvious. Also, the #ifdef is not always necessary. For example ecda-verify makes use of U_BOOT_CRYPTO_ALGO() without any accompanying #ifdefs. The fundamental issue is a lack of separation of host and target code in rsa_verify. Therefore, the declaration of a padding algo with the external #ifdef is more readable and consistent. Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2021-09-14pinctrl: fix typoYuan Fang1-1/+1
fix typo in pinctrl Kconfig file to avoid git commit failure on some commit hooks check. Signed-off-by: Yuan Fang <fangyuanseu@gmail.com>
2021-09-14lib: fix typos in KconfigOleksandr Suvorov1-2/+2
There are trivial typos in the Kconfig file. Fixed them. Also, fixed grammar in the descriptions with typos. Fixes: d56b4b1974 ("configs: Migrate RBTREE, LZO, CMD_MTDPARTS, CMD_UBI and CMD_UBIFS") Fixes: 7264f2928b ("spl: fit: Eanble GZIP support for image decompression") Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-09-14lib/rsa: don't use NULL as key_idHeinrich Schuchardt1-1/+1
If keydir is not provided but name is we want to use name as key_id. But with the current coding name is only used on its own if it is NULL and keydir is provided which never occurs. Fixes: 824ee745fbca ("lib/rsa: Use the 'keyfile' argument from mkimage") Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-09-13Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sunxiTom Rini1-3/+7
- a fix for U-Boot 2021.10 to bring back MMC boot on older boards.
2021-09-14sunxi: mmc: A20: Fix MMC optimisationAndre Przywara1-3/+7
Some SoCs (as seen on A20) seem to misreport the MMC FIFO level if the FIFO is completely full: the level size reads as zero, but the FIFO_FULL bit is set. We won't do a single iteration of the read loop in this case, so will be stuck forever. Check for this situation and use a safe minimal FIFO size instead when we hit this case. This fixes MMC boot on A20 devices after the MMC FIFO optimisation (9faae5457f52). Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2021-09-13Merge branch '2021-09-09-finish-pre-DM_PCI-removal'Tom Rini44-2605/+36
- Finish removing the non-DM_PCI legacy code.
2021-09-13pci: Drop DM_PCISimon Glass15-54/+14
This option has not effect now. Drop it, using PCI instead where needed. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-09-13pci: Drop PCI_INDIRECT_BRIDGESimon Glass10-92/+0
This does not work with driver model so can be removed. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-09-13net: Drop DM_PCI check from designware driverSimon Glass1-12/+10
We don't need this check anymore since when PCI is enabled, driver model is always used. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-09-13pci: acpi: Drop DM_PCI check from ahciSimon Glass2-59/+0
We don't need these checks anymore since when PCI is enabled, driver model is always used. Drop them. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-09-13pci: Drop DM_PCI check from fdtdecSimon Glass1-2/+8
We don't need this check anymore since when PCI is enabled, driver model is always used. Sadly this doesn't work with nds32 for some reason to do with the toolchain. Add a work-around for that. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-09-13pci: Drop old code from header fileSimon Glass1-57/+3
We don't need this code anymore since when PCI is enabled, driver model is always used. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-09-13ppc: Remove UCP1020 boardSimon Glass16-2329/+1
This board has not been converted to CONFIG_DM_PCI by the deadline. Remove it. Note that we have to add CONFIG_SPIFLASH to scripts/config_whitelist.txt because it's not really migrated at this point. Acked-by: Michael Durrant <mdurrant@arcturusnetworks.com> Acked-by: Oleksandr Zhadan <oleks@arcturusnetworks.com> Acked-by: Oleksandr Zhadan and Michael Durrant <arcsupport@arcturusnetworks.com> Signed-off-by: Simon Glass <sjg@chromium.org> [trini: Handle CONFIG_SPIFLASH differently and delete Kconfig file] Signed-off-by: Tom Rini <trini@konsulko.com>
2021-09-13Merge tag 'mmc-2021-9-13' of https://source.denx.de/u-boot/custodians/u-boot-mmcTom Rini8-25/+135
Support using mmc command for enumerating mmc card in a given mode Fix device_remove in mmc Fix switch issue with send_status disabled Drop 1ms delay in fsl_esdhc command sending Revert "mmc: sdhci: set to INT_DATA_END when there are data"
2021-09-13mmc: fsl_esdhc: remove 1ms sleep in esdhc_send_cmd_common()Michael Walle1-7/+0
Since the beginning of this driver which was initially for the MPC8379 and MPC8536 SoCs, there is this spurious 1ms delay. According to the comment it should actually be only 8 clock cycles. Esp. during EFI block transfers, this 1ms add up to a significant delay and slows down EFI boot. I couldn't find any mention in the MPC8536 that there should be a delay of 8 clock cycles between commands. The SD card specification mentions that the clock has to be left enabled for 8 cycles after a command or response. But I don't see how this delay will help with this. Go ahead and just remove it. If there will ever be any regression we can introduce a compile time flag, but for now I'd like to keep it simple. In the split off imx driver this delay was also removed in commit 9098682200e6 ("mmc: fsl_esdhc_imx: remove the 1ms delay before sending command"). Signed-off-by: Michael Walle <michael@walle.cc>
2021-09-12Merge tag 'efi-2021-10-rc4-2' of ↵Tom Rini12-40/+88
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request for efi-2021-10-rc4-2 Documentation: * improve documentation of U-Boot for /config DT node * integrate bloblist documentation UEFI: * correct usage of EFI_CALL() * code tidy up
2021-09-11Merge branch '2021-09-11-update-docker-container' into nextTom Rini5-6/+101
- Update to latest Docker container images for CI. This includes QEMU 6.1.0 and support for SiFive Unleashed being tested.
2021-09-11CI: Update to latest container imagesTom Rini2-2/+2
- Current Ubuntu/Focal tag - QEMU 6.1.0 - genimage tool added Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2021-09-11azure/gitlab: Add tests for SiFive Unleashed boardBin Meng2-2/+44
This adds CI tests for SiFive Unleashed board. QEMU supports booting exact the same images as used on the real hardware out of the box, that U-Boot SPL loads U-Boot proper from either an SD card or the SPI NOR flash, hence we can easily set up CI to cover these 2 boot flows of SiFive Unleashed board. With this, now we can have regression testing of mmc-spi-slot and sifive spi drivers, as well as mmc and spi-nor subsystems. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2021-09-11riscv: sifive: unleashed: Add genimage config filesBin Meng2-0/+38
This adds genimage [1] config files for generating SD card and spi-nor images, which can be programmed to an SD card or SPI flash and boot from there. The same images will be used for U-Boot CI testing for this board. [1] https://github.com/pengutronix/genimage Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2021-09-11tools: docker: Build and install genimageBin Meng1-0/+9
genimage [1] is a tool to create flash/disk images. This is required by some targets, e.g.: sifive_unleashed, to generate sdcard or spi-nor images for real hardware, as well as U-Boot CI testing. [1] https://github.com/pengutronix/genimage Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2021-09-11tools: docker: Bump up QEMU version to 6.1.0Bin Meng1-1/+7
At present U-Boot CI testing is still using QEMU 4.2.0 which is pretty old. Let's bump up to QEMU 6.1.0. ninja-build is added as the prerequisite required by QEMU 6.1.0. Note there is a bug in QEMU 6.1.0 Xilinx Zynq UART emulation codes. A quick fix [1] was posted on QEMU mailing list but it it too late for 6.1.0 release. Let's manually apply the bug fix on top of the v6.1.0 release tag at the time being. [1] http://patchwork.ozlabs.org/project/qemu-devel/patch/20210823020813.25192-2-bmeng.cn@gmail.com/ Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>