summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-01-09board: rockchip: Fix binman_init failure on EVB-RK3568Jagan Teki
For some newer SoCs like RK3568, the Rockchip has not released any DDR drivers yet so idbloader needs to create manually using DDR binaries offered by rkbin. This indeed no requirement to enable TPL in the U-Boot source code. If we mark TPL disabled and mark BINMAN enabled by default then there would be an issue of binman_init failure during board relocation. This is true as binman failed to find the top-level node like u-boot-tpl here. Here is the boot issue observed in Radxa-CM3 RK3566 board, U-Boot 2023.01-rc4-00057-gac2505d463-dirty (Jan 04 2023 - 23:44:18 +0530) Model: Radxa Compute Module 3(CM3) IO Board DRAM: 2 GiB binman_init failed:-2 initcall sequence 000000007ffd2008 failed at call 0000000000a18cac (err=-2) ### ERROR ### Please RESET the board ### This might be fixed via binman node in rockchip-u-boot.dtsi however disable BINMAN_FDT for evb-rk3568 defconfig for now as we are at the end of the release cycle. Fixes: 05713d570762 ("rockchip: generate u-boot-rockchip.bin with binman for ARM64 boards") Cc: Quentin Schulz <quentin.schulz@theobroma-systems.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2023-01-08distro_bootcmd: Fix copy-paste errorMarek Vasut
The "SCRIPT FAILED" string is copied from scan_dev_for_scripts script, update it so it prints "EXTLINUX FAILED" instead in scan_dev_for_extlinux script. Signed-off-by: Marek Vasut <marex@denx.de>
2023-01-07pylibfdt: Allow version normalization to failTom Rini
In some cases, we might not have the sic portion of setuputils available. Make our import and use of this be done in try/except blocks as this is done to suppress a run-time warning that is otherwise non-fatal. Reported-by: Pali Rohár <pali@kernel.org> Fixes: 141659187667 ("pylibfdt: Fix disable version normalization") Signed-off-by: Tom Rini <trini@konsulko.com>
2023-01-07common/memsize.c: Check for overflow in get_effective_memsize() only for mpc85xxPali Rohár
This reverts commit 777aaaa706bc ("common/memsize.c: Fix get_effective_memsize() to check for overflow") for non-mpc85xx platforms. The changes to this generic function, which is intended to help with 32bit platforms with large amounts of memory has unintended side effects (which in turn lead to boot failures) on other platforms which were previously functional. For now do overflow check only for powerpc mpc85xx platform. It is needed to prevent crashing of P1/P2 boards with 4GB DDR module in 32-bit mode. Fixes: 777aaaa706bc ("common/memsize.c: Fix get_effective_memsize() to check for overflow") Signed-off-by: Pali Rohár <pali@kernel.org>
2023-01-07Merge tag 'efi-2023-01-rc5-4' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2023-01-rc5-4 UEFI: * correct the vexpress loaddr which collides with memory used by EFI * consider the EFI memory map for LMB memory reservation * avoid RWX section warnings for .data section of *_efi.so files
2023-01-06efi_loader: make .data section of *_efi.so files RWHeinrich Schuchardt
When building with binutils 2.39 warnings *_efi.so has a LOAD segment with RWX permissions occur. Use SHF_WRITE | SHF_ALLOC as section flags for the .data section. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-01-06lmb: consider EFI memory mapHeinrich Schuchardt
Add reservations for all EFI memory areas that are not EFI_CONVENTIONAL_MEMORY. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-01-06efi_loader: carve out efi_get_memory_map_alloc()Heinrich Schuchardt
Carve out code from efidebug command used to read the memory map. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-01-06vexpress: adjust loadaddrHeinrich Schuchardt
On the vexpress_ca9x4 $loadaddr points to a memory area used by the EFI sub-system. Use the same value as $kernel_addr_r which is safe. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-01-06Merge tag 'u-boot-stm32-20230106' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-stm - stm32mp: Fix board_get_usable_ram_top(): workaround to avoid issue after the commit 777aaaa706b ("common/memsize.c: Fix get_effective_memsize() to check for overflow") because the effective DDR effective size is reduce by 4KiB and sometime the board hang on boot
2023-01-06Merge branch '2023-01-06-further-regression-fixes'Tom Rini
- Bring in a number of important regression fixes for among others, uniphier, PXE booting, socrates, imx7d-pico, rockchip video and rzg2_beacon as well as making the python version warning fix more portable.
2023-01-06arm: rmobile: rzg2_beacon: Enable alternative Ethernet PHYAdam Ford
Due to the part shortage, the AR8031 PHY was replaced with a Micrel KSZ9131. Enabling both config options keeps backward compatibility with either platform, and both appear to be auto-detected. Signed-off-by: Adam Ford <aford173@gmail.com> Reviewed-by: Marek Vasut <marek.vasut+renesas@gmail.com>
2023-01-06arm: dts: rz-g2-beacon-u-boot: Fix QSPI RegressionAdam Ford
The QSPI is accessed via the RPC-IF, but the compatible flags previously used a different name. This compatibel name was changed which broke the ability to access the QSPI. Fix this by removing the custom naming reference. Fixes: 68083b897b57 ("renesas: Fix RPC-IF compatible values") Signed-off-by: Adam Ford <aford173@gmail.com> Reviewed-by: Marek Vasut <marek.vasut+renesas@gmail.com>
2023-01-06pylibfdt: Fix disable version normalizationPhilippe Schenker
On Arch Linux based systems python setuptools does not contain "setuptools.extern" hence it is failing with the following error-message: " ModuleNotFoundError: No module named 'setuptools.extern' " According to a eschwartz `setuptools.extern` is not a public API and shall not be assumed to be present in the setuptools package. He mentions that the setuptools project anyway wants to drop this. [1] Use the correct solution introduced by python setuptools developers to disable normalization. [2] [1] https://bbs.archlinux.org/viewtopic.php?id=259608 [2] https://github.com/pypa/setuptools/pull/2026 Fixes: 440098c42e73 ("pylibfdt: Fix version normalization warning") Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Reviewed-by: Marek Vasut <marex@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-01-06cmd: pxe_utils: Limit fdtcontroladdr usage to non-fitImageMarek Vasut
Commit d5ba6188dfb ("cmd: pxe_utils: Check fdtcontroladdr in label_boot") forces '$fdtcontroladdr' DT address as a third parameter of bootm command even if the PXE transfer pulls in a fitImage which contains configuration node with its own DT that is preferrable to be passed to Linux. Limit the $fdtcontroladdr fallback utilization to non-fitImages, since it is highly likely a fitImage would come with its own DT, while single-file images do need a separate DT. Fixes: d5ba6188dfb ("cmd: pxe_utils: Check fdtcontroladdr in label_boot") Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> Tested-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Peter Hoyes <peter.hoyes@arm.com> Tested-by: Peter Hoyes <peter.hoyes@arm.com> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-01-06Revert "Revert "cmd: pxe_utils: Check fdtcontroladdr in label_boot""Marek Vasut
This reverts commit ed6251187afabf811a5fd49a44ebd61c53c7b378. Superseded by "cmd: pxe_utils: Limit fdtcontroladdr usage to non-fitImage" which is less heavy-handed approach and retains part of the original behavior for non-fitImage. Signed-off-by: Marek Vasut <marex@denx.de> Acked-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-01-06rockchip: Fix the broken Video out for rk3288 boardsJagan Teki
Video out on RK3288 boards has been broken since from few releases due to the adding of reset support on vop but missed enabling DM_RESET on associated boards. This patch fixes those RK3288 boards. Cc: Simon Glass <sjg@chromium.org> Cc: Lin Huang <hl@rock-chips.com> Cc: Jernej Skrabec <jernej.skrabec@gmail.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Cc: Arnaud Patard (Rtp) <arnaud.patard@rtp-net.org> Fixes: <9749d2ea29e1> ("rockchip: video: vop: Add reset support") Reported-by: Manoj Sai <abbaraju.manojsai@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-01-06i2c: uniphier-f: correct error recoveryDai Okamura
The uniphier i2c block can recognize some handshake errors. But driver handles all error detections as no error if no timeout. So this makes unrecoverable state. This replaces the return values with the right ones to tell the i2c framework the errors: - EDEADLK for arbitration lost error - ENODATA for no answer error Signed-off-by: Dai Okamura <okamura.dai@socionext.com> Acked-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com> Reviewed-by: Heiko Schocher <hs@denx.de>
2023-01-06imx7d-pico: Fix the name of the u-boot.dtsi fileFabio Estevam
Since commit 2f96d4dd95f8 ("imx7s/d: synchronise device trees with linux") the imx7d-pico board no longer boots. The reason is that prior to the above commit there was an explicit inclusion of arch/arm/dts/imx7d-pico-u-boot.dtsi inside imx7d-pico.dtsi. After the syncing with the Linux upstream dtsi, this u-boot.dtsi inclusion is gone and the board fails to boot. U-Boot uses the imx7d-pico-pi.dtb file, so rename the u-boot.dtsi to imx7d-pico-pi-u-boot.dtsi which gets included automatically by U-Boot standard make logic and makes the board boot again. Signed-off-by: Fabio Estevam <festevam@denx.de>
2023-01-06powerpc/mpc85xx: socrates: Re-enable building u-boot-socrates.binPali Rohár
U-Boot build system builds final U-Boot binary for socrates board in custom file u-boot-socrates.bin (instead of standard u-boot.bin). Output target file u-boot-socrates.bin is generated by binman as defined in board binman config file arch/powerpc/dts/socrates-u-boot.dtsi. But binman was disabled in commit 5af42eafd7e1 ("Makefile: Reduce usage of custom mpc85xx u-boot.bin target") for all mpc85xx boards which do not use standard powerpc binman config file arch/powerpc/dts/u-boot.dtsi and boards which do not require binman at all. The only such mpc85xx board is socrates. So since that commit, U-Boot does not final binary for socrates board anymore. Fix this issue by re-enabling binman for socrates board. And build process starts again producing u-boot-socrates.bin binary. Note that build process for this socrates board always produce u-boot.bin binary which is broken and not usable for socrates board. Long term solution should be to disable building broken binary u-boot.bin and then renaming u-boot-socrates.bin to u-boot.bin, or switching to use common powerpc binman config file arch/powerpc/dts/socrates-u-boot.dtsi (if it is possible). Fixes: 5af42eafd7e1 ("Makefile: Reduce usage of custom mpc85xx u-boot.bin target") Signed-off-by: Pali Rohár <pali@kernel.org> Tested-by: Heiko Schocher <hs@denx.de>
2023-01-06arm: stm32mp: Fix board_get_usable_ram_top() againMarek Vasut
Do not access gd->ram_size and assume this is actual valid RAM size. Since commit 777aaaa706b ("common/memsize.c: Fix get_effective_memsize() to check for overflow") the RAM size may be less than gd->ram_size , call get_effective_memsize() to get the limited value instead. The aforementioned commit makes STM32MP15xx boards with 1 GiB of DRAM at 0xc0000000 hang on boot, which is a grave defect. Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2023-01-04Merge tag 'efi-2023-01-rc5-3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request for efi-2023-01-rc5-3 Documentation: * Describe building documentation UEFI: * Add .data section to aarch64 EFI binaries and correct section flags * Correct sorting of capsules when updating * Populate console handles in system table Other: * Fix description of eth_env_[gs]et_enetaddr() return value * Avoid endless loop in sound play command
2023-01-04efi_loader: populate console handles in system tableHeinrich Schuchardt
The fields ConsoleInHandle, ConsoleOutHandle, ConsoleErrHandle must point to the handles with the respective console protocols. Failure to do so leads to an error in the EFI Shell: No SimpleTextInputEx was found. CTRL-based features are not usable. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-01-04efi_loader: adjust sorting of capsulesHeinrich Schuchardt
Up to now we only compared the first letter of the capsule name to sort them alphabetically. Properly sort by the Unicode alphabet. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-01-04test: unit test for u16_strcasecmp()Heinrich Schuchardt
Provide a unit test for u16_strcasecmp(). Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-01-04lib: add function u16_strcasecmp()Heinrich Schuchardt
Provide a function for comparing UTF-16 strings in a case insensitive manner. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-01-04efi_loader: fix building aarch64 EFI binariesHeinrich Schuchardt
While our EFI binaries execute without problems on EDK II they crash on a Lenovo X13s. Let our binaries look more like what EDK II produces: * move all writable data to a .data section * align sections to 4 KiB boundaries (matching EFI page size) * remove IMAGE_SCN_LNK_NRELOC_OVFL from .reloc section flags Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-01-04efi_loader: defines for PE-COFF section flagsHeinrich Schuchardt
Provide constants for the section flags used by binaries. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-01-04doc: Fix eth_env_[gs]et_enetaddr() return valueMarek Vasut
Per env/common.c, eth_env_get_enetaddr() returns the same return values as is_valid_ethaddr(), i.e. true if valid, false otherwise. Per env/common.c, eth_env_set_enetaddr() may return -EEXIST is the ethaddr is already set. Fix both. Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-01-04doc: building documentationHeinrich Schuchardt
Provide a man-page describing how to build the U-Boot documentation. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-01-04cmd: avoid endless loop in sound play commandHeinrich Schuchardt
A parameter starting with a hyphen leads to an endless loop in the sound play command. Leave it to dectoul() to handle the hyphen. It will return 0 for a negative number. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-01-02Merge https://source.denx.de/u-boot/custodians/u-boot-marvellTom Rini
- orion-timer: Fix problem with early static variable (Stefan)
2023-01-02timer: orion-timer: Fix problem with early static variableStefan Roese
We've noticed that at least one Kirkwood board (Pogo v4) has problems with the new orion DM timer implementation. Debugging revealed that this issue is related with the static variable "early_init_done" which does not work correctly before relocation in all cases. This patch removes this static variable and replaces it's functionality via a function that detects if the timer is already initialized. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Pali Rohár <pali@kernel.org> Cc: Michael Walle <michael@walle.cc> Cc: Tony Dinh <mibodhi@gmail.com> Tested-by: Tony Dinh <mibodhi@gmail.com>
2022-12-29configs: Resync with savedefconfigTom Rini
Rsync all defconfig files using moveconfig.py Signed-off-by: Tom Rini <trini@konsulko.com>
2022-12-29Merge tag 'efi-2023-01-rc5-2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request for efi-2023-01-rc5-2 Documentation: * Reorganize existing TI docs and add K3 generation page * Add texinfodocs and infodocs targets * Update qemu-ppce500 documentation * Use "changesets" not "csets" in statistics pages UEFI * Fix merging of preseeded non-volatile variables * Fix a return value in the EFI_HII_DATABASE_PROTOCOL * Set UEFI specification version to 2.10
2022-12-29Merge branch '2022-12-29-assorted-further-fixes'Tom Rini
- Rework Azure CI jobs for Rockchip, minor fixes for wget and correct runtime problems on a number of PowerPC platforms.
2022-12-29PowerPC: Update dependencies on *SYS_MPC85XX_NO_RESETVECTom Rini
In 96699f097a02 ("powerpc: mpc85xx: Use binman to embed dtb inside U-Boot") we introduce CONFIG_MPC85XX_HAVE_RESET_VECTOR and do so via Kconfig. However, much later in de47ff536363 ("Convert CONFIG_SYS_MPC85XX_NO_RESETVEC to Kconfig") I converted the symbol that is the inverse of this to Kconfig. This should have included a dependency on the first symbol as they are logically opposite. The dependency being missing lead to some platforms being broken at runtime due to discarding the require reset vector. Fixes: de47ff536363 ("Convert CONFIG_SYS_MPC85XX_NO_RESETVEC to Kconfig") Reported-by: Pali Rohár <pali@kernel.org> Signed-off-by: Tom Rini <trini@konsulko.com> Tested-by: Pali Rohár <pali@kernel.org>
2022-12-29Merge branch '2022-12-29-assorted-further-fixes'Tom Rini
- Rework Azure CI jobs for Rockchip, minor fixes for wget and correct a one of the runtime problems on a number of PowerPC platforms.
2022-12-29PowerPC: Rework PBL location choiceTom Rini
When converting CONFIG_SDCARD and CONFIG_SPIFLASH to Kconfig, one set of uses wasn't converted correctly. Allow for the case where platforms don't rely on "PBL" to boot but instead use other mechanisms. See the link below for more details. Link: https://lore.kernel.org/all/20220802091338.f4g45ldhc7qbg6hm@pali/ Fixes: d433c74eecdc ("Convert CONFIG_SDCARD et al to Kconfig") Tested-by: Pali Rohár <pali@kernel.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2022-12-29cmd: net: wget: fix Kconfig dependencyMichael Walle
The wget command uses TCP, but fails to select PROT_TCP in Kconfig. Instead it selects the non-existing symbol TCP. Fix the typo. Signed-off-by: Michael Walle <michael@walle.cc>
2022-12-29net: wget: fix implicit declarationMichael Walle
The compiler complains about the missing declaration of print_size(): net/wget.c:415:3: warning: implicit declaration of function ‘print_size’ [-Wimplicit-function-declaration] Fix it. Signed-off-by: Michael Walle <michael@walle.cc>
2022-12-29CI: Rework rockchip jobs in AzureTom Rini
The rockchip job is getting close to the hard time limit in Azure for the free tier. Split this in to 32bit and 64bit board jobs. Signed-off-by: Tom Rini <trini@konsulko.com>
2022-12-29efi_loader: use u16_strlen() in efi_var_mem_ins()Heinrich Schuchardt
Don't duplicate library functionality. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-12-29efi_loader: avoid adding variables twiceIlias Apalodimas
When the efi subsystem starts we restore variables that are both in a file or stored into the .efi_runtime section of U-Boot. However once a variable gets created or changed the preseeded entries will end up in the file. As a consequence on the next boot we will end up adding identical variable entries twice. Fix this by checking if the to be inserted variable already exists. Also swap the restoration order and start with the file instead of the builtin variables, so a user can replace the preseeded ones if needed. Tested-by: Leo Yan <leo.yan@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-12-29efi_loader: typo non-volatile in efi_var_restoreHeinrich Schuchardt
It is volatile variables that we do not allow to be restored from file. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2022-12-29efi_loader: set UEFI specification version to 2.10Heinrich Schuchardt
Claim to implement UEFI 2.10 setting EFI_SPECIFICATION_VERSION accordingly. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2022-12-29efi_loader: set IMAGE_FILE_LARGE_ADDRESS_AWAREHeinrich Schuchardt
For the 64bit EFI binaries that we create set the IMAGE_FILE_LARGE_ADDRESS_AWARE characteristic in the PE-COFF header to indicate that they can handle addresses above 2 GiB. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-12-29efi_loader: fix get_package_list_handle() statusVincent Stehlé
When the HII protocol function get_package_list_handle() is called with an invalid package list handle, it returns EFI_NOT_FOUND but this is not in its list of possible status codes as per the EFI specification. Return EFI_INVALID_PARAMETER instead to fix conformance. Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de> Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-12-29doc: improve wget man-pageHeinrich Schuchardt
* correct formatting of synopsis * improve description of TCP SACK configuration Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-12-29doc: Use "changesets" not "csets" in statistics pagesTom Rini
To make things more human readable, say "changesets from" rather than "csets from" in all our historical pages here. Moving forward this has been changed in our gitdm with b034e399e31a ("gitdm: fix typo csets"). Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>