summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-07-09mkeficapsule: fix efi_firmware_management_capsule_header data typeMalte Schmidt
The data type of item_offset_list shall be UINT64 according to the UEFI [1] specifications. In include/efi_api.h the correct data type is used. The bug was probably never noticed because of little endianness. [1] https://uefi.org/specs/UEFI/2.10/index.html Signed-off-by: Malte Schmidt <[email protected]> Signed-off-by: Stefan Herbrechtsmeier <[email protected]>
2023-07-09doc: harmonize Linux kernel documentation linksHeinrich Schuchardt
Linux internally uses https://www.kernel.org/doc/html/latest/ for documentation links. When referring to their documentation we should do the same. Signed-off-by: Heinrich Schuchardt <[email protected]>
2023-07-09cmd: efidebug: add missing efi_free_pool for dh subcommandMasahisa Kojima
This adds the missing efi_free_pool call for dh subcommand. Fixes: a80146205d0a ("cmd: efidebug: add dh command") Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-07-09efi_loader: Increase default variable store size to 64KiBAlper Nebi Yasak
Debian's arm64 UEFI Secure Boot shim makes the EFI variable store run out of space while mirroring its MOK database to variables. This can be observed in QEMU like so: $ tools/buildman/buildman -o build/qemu_arm64 --boards=qemu_arm64 -w $ cd build/qemu_arm64 $ curl -L -o debian.iso \ https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-12.0.0-arm64-netinst.iso $ qemu-system-aarch64 \ -nographic -bios u-boot.bin \ -machine virt -cpu cortex-a53 -m 1G -smp 2 \ -drive if=virtio,file=debian.iso,index=0,format=raw,readonly=on,media=cdrom [...] => # interrupt autoboot => env set -e -bs -nv -rt -guid 605dab50-e046-4300-abb6-3dd810dd8b23 SHIM_VERBOSE 1 => boot [...] mok.c:296:mirror_one_esl() SetVariable("MokListXRT43", ... varsz=0x4C) = Out of Resources mok.c:452:mirror_mok_db() esd:0x7DB92D20 adj:0x30 Failed to set MokListXRT: Out of Resources mok.c:767:mirror_one_mok_variable() mirror_mok_db("MokListXRT", datasz=17328) returned Out of Resources mok.c:812:mirror_one_mok_variable() returning Out of Resources Could not create MokListXRT: Out of Resources [...] Welcome to GRUB! This would normally be fine as shim would continue to run grubaa64.efi, but shim's error handling code for this case has a bug [1] that causes a synchronous abort on at least chromebook_kevin (but apparently not on QEMU arm64). Double the default variable store size so the variables fit. There is a note about this value matching PcdFlashNvStorageVariableSize when EFI_MM_COMM_TEE is enabled, so keep the old default in that case. [1] https://github.com/rhboot/shim/pull/577 Signed-off-by: Alper Nebi Yasak <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-07-09efi_loader: Avoid underflow when calculating remaining var store sizeAlper Nebi Yasak
The efi_var_mem_free() function calculates the available size for a new EFI variable by subtracting the occupied buffer size and the overhead for a new variable from the maximum buffer size set in Kconfig. This is then returned as QueryVariableInfo()'s RemainingVariableStorageSize output. This can underflow as the calculation is done in and processed as unsigned integer types. Check for underflow before doing the subtraction and return zero if there's no space. Fixes: f1f990a8c958 ("efi_loader: memory buffer for variables") Signed-off-by: Alper Nebi Yasak <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-07-09x86: Update docs link in bootparam headerPaul Barker
After Linux commit ff61f0791ce9, x86 documentation was moved to arch/x86 and the link in bootparam.h was broken. Signed-off-by: Paul Barker <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-07-08Merge branch '2023-07-07-assorted-build-improvements' into nextTom Rini
- Correct a few dependencies in Kconfig and better handle some generated files so that they are properly cleaned later.
2023-07-07sysreset: Change Kconfig GPIO dependencyMichal Simek
DM_GPIO depends on GPIO to be enabled but select will cause that DM_GPIO is selected without GPIO which ends up in compilation error: undefined reference to `dm_gpio_set_value' undefined reference to `dm_gpio_get_value' undefined reference to `dm_gpio_free' undefined reference to `gpio_request_by_name' Signed-off-by: Michal Simek <[email protected]> [trini: Fix configs which had relied on these select's] Signed-off-by: Tom Rini <[email protected]>
2023-07-07tpl: Kconfig: TPL_BANNER_PRINT depends on DEBUG_UART && TPL_SERIALYing Sun
As implemented in the arch/arm/mach-rockchip/tpl.c file, the CONFIG_TPL_BANNER_PRINT option will not work if either of these options is not enabled. Add dependency constraints to the CONFIG_TPL_BANNER_PRINT option definition to prevent configuration problems where option is enabled but do not take effect. Suggested-by: Yanjie Ren <[email protected]> Signed-off-by: Ying Sun <[email protected]>
2023-07-07common: Kconfig: SYS_CONSOLE_ENV_OVERWRITE depends on SYS_CONSOLE_IS_IN_ENVYing Sun
CONFIG_SYS_CONSOLE_ENV_OVERWRITE is implemented in common/console.c when "#if CONFIG_IS_ENABLED(SYS_CONSOLE_IS_IN_ENV)" is met. It is recommended to add dependency constraints to its definition. Suggested-by: Yanjie Ren <[email protected]> Signed-off-by: Ying Sun <[email protected]>
2023-07-07cmd: CONFIG_CMD_SAVES depends on CONFIG_CMD_LOADSYing Sun
CONFIG_CMD_SAVES is used to enable support for the "saveenv" command and is only implemented in cmd/load.c when "#if defined(CONFIG_CMD_LOADS)" is met. It is recommended to add dependency constraints to its definition. Prevents "saveenv" command from not being supported when "CONFIG_CMD_SAVES=y CONFIG_CMD_LOADS=n". Suggested-by: Yanjie Ren <[email protected]> Signed-off-by: Ying Sun <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-07-07test: Find leftovers after clean/mrproperTobias Deiminger
Docs describe 'make clean' to delete most generated files, 'make mrproper' to delete current configuration and all generated files. This test tries to assert it. Idea is to search remaining files by patterns in copies of the initial out-of-source build, which has two advantages: - looking in an out-of-source build dir allows to tell generated source code from committed source code - copying is fast (compared to rebuilding each time) which allows to do a "world clean" Signed-off-by: Tobias Deiminger <[email protected]>
2023-07-07Kbuild: Fix cleanup of *.dtbo for sandboxTobias Deiminger
sandbox can generate DT overlays, but they were not cleaned. Extend the explicit clean-files list accordingly. Fixes: 95300f203f32 ("pytest: add sandbox test for "extension" command") Signed-off-by: Tobias Deiminger <[email protected]>
2023-07-07Kbuild: Fix cleanup of *.dtb for some archsTobias Deiminger
'make clean' did not descend into arch/$ARCH/dts for arc, m68k, nios2, sh, xtensa. Fix it by adding the missing archs to the explicit clean-dirs list. Signed-off-by: Tobias Deiminger <[email protected]>
2023-07-07Kbuild: Fix cleanup of VPLTobias Deiminger
VPL artifacts like example vpl/u-boot-vpl are currently not removed by 'make clean'. We can clean them just as it's already done for SPL and TPL. Fixes: f86ca5ad8f78 ("Introduce Verifying Program Loader (VPL)") Signed-off-by: Tobias Deiminger <[email protected]>
2023-07-07Adjust gitignore for tools/generated/Tobias Deiminger
Tell git that auto-generated C sources are now exclusively expected under tools/generated/. Signed-off-by: Tobias Deiminger <[email protected]>
2023-07-07Kbuild: Fix cleanup of generated sources in toolsTobias Deiminger
On 'make clean', generated C files in tools/env/ and tools/boot/ are currently not removed, but they should. Auto-generation for shared sources was first introduced with ad80c4a3220b ("kbuild, tools: generate wrapper C sources automatically by Makefile"). Cleanup later regressed (see Fixes:), because shared files were moved out of lib/ and common/, but 'clean-dirs := lib common' was not adjusted accordingly. Further, the generated tools/env/embedded.c became a sibling to project files, which prevents directory-wise cleanup at all. To solve it, we establishe tools/generated/ as the sole place for generated sources. Wrappers are now generated as tools/generated/<orig_dirname>/<orig_filename>, and 'make clean' can remove tools/generated/ as a whole (Linux Makefile.asm-generic headers are cleaned similarly). This way we don't have to maintain separate clean-files or clean-dirs entries for each single added or moved wrapper file. Fixes: 0649cd0d4908 ("Move environment files from common/ to env/") Fixes: 19a91f2464a8 ("Create a new boot/ directory") Signed-off-by: Tobias Deiminger <[email protected]> [trini: Correct mkfwupdate case] Signed-off-by: Tom Rini <[email protected]>
2023-07-07MAINTAINERS: correct at91 tree linkEugen Hristev
This was not done when the tree name was changed, fix it now. Signed-off-by: Eugen Hristev <[email protected]>
2023-07-06Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-usb ↵Tom Rini
into next
2023-07-06Merge branch 'riscv-for-next' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-riscv into next - RISC-V CI OpenSBI version update - Andes ae350 board modification - Sync PolarFire SoC dts with Linux - Support building ubifs
2023-07-06board: ae350: Add missing env variables for bootiYu Chien Peter Lin
The 'booti' command is unable to boot Image.gz due to the absence of required environment variables 'kernel_comp_addr_r' and 'kernel_comp_size'. This commit adds these variables and reorganizes the memory layout to prevent any overlap between binaries and files. Signed-off-by: Yu Chien Peter Lin <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-07-06riscv: andes_plicsw: Fix IPI during OpenSBI invocationYu Chien Peter Lin
On some AE350 boards, we need to explicitly initialize the priority registers to a non-zero value so the boot hart can instruct secondary harts to jump to OpenSBI. This patch also updates the information about PLICSW. Signed-off-by: Yu Chien Peter Lin <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-07-06RISC-V: CONFIG_SPL_OPENSBI_SCRATCH_OPTIONS descriptionHeinrich Schuchardt
Describe which numeric values can be used for as scratch options for OpenSBI. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]> Reviewed-by: Anup Patel <[email protected]>
2023-07-06clk: starfive: pll: Fix to use postdiv1_maskHoegeun Kwon
There is a problem that the rates of PLL0 and PLL1 are set incorrectly because the postdiv1_mask value is incorrectly entered when setting the pll clk reg. Modify postdiv1's mask value to be put correctly. Signed-off-by: Hoegeun Kwon <[email protected]> Reviewed-by: Minkyu Kang <[email protected]>
2023-07-06ci: riscv: Update OpenSBI to v1.2Bin Meng
Use the latest OpenSBI v1.2 release binaries for the RISC-V CI. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-07-06board: microchip: set mac address for ethernet1 on icicleConor Dooley
The dts sync from Linux leaves mac0/ethernet1 enabled on icicle, but U-Boot does not currently set a mac address for it. Expand on the code which currently sets the mac for mac1/ethernet0 to optionally set the mac address for the second ethernet. Reviewed-by: Padmarao Begari <[email protected]> Tested-by: Padmarao Begari <[email protected]> Signed-off-by: Conor Dooley <[email protected]>
2023-07-06riscv: dts: sync mpfs-icicle devicetree with linuxConor Dooley
The "notable" disappearances are: - the pac193x stanza - there's nothing in mainline linux w.r.t. bindings for this & what is going to appear in mainline linux is going to be incompatible with what is currently in U-Boot. - operating points - these operating points should not be set at the soc.dtsi level as they may not be possible depending on the design programmed to the FPGA - clock output names - there are defines for the clock indices, these should not be needed - the dt maintainers in linux NAKed using defines for IRQ numbers - the qspi nand, which is not part of the icicle's default configuration is removed. Reviewed-by: Padmarao Begari <[email protected]> Tested-by: Padmarao Begari <[email protected]> Signed-off-by: Conor Dooley <[email protected]> Reviewed-by: Rick Chen <[email protected]>
2023-07-06riscv: dts: drop microchip from dts filenamesConor Dooley
The original names picked for the DT doesn't match Linux's naming scheme and it was renamed there a while ago. Rename it in U-Boot to allow easily syncing dts between the two projects. Reviewed-by: Rick Chen <[email protected]> Reviewed-by: Padmarao Begari <[email protected]> Signed-off-by: Conor Dooley <[email protected]>
2023-07-06clk: sifive: only build sifive-prci.o for CONFIG_CLK_SIFIVE_PRCIBen Dooks
If we're building non FU540/FU740 SoC drivers, then the sifive-prci.o is not needed. Only build this when CONFIG_CLK_SIFIVE_PRCI is selected. Signed-off-by: Ben Dooks <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-07-06riscv: define test_and_{set,clear}_bit in asm/bitops.hBen Dooks
These seem to be missing, and trying to build ubifs without them is causing errors due to these being missing. Signed-off-by: Ben Dooks <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-07-06riscv: implement local_irq_{save,restore} macrosBen Dooks
Add implementations of the local_irq_{save,restore} macros so that <asm/atomic.h> can be used with riscv. Signed-off-by: Ben Dooks <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-07-06riscv: add generic link for <asm/atomic.h>Ben Dooks
Add a link from <asm/atomic.h> to the generic one to allow things like ubifs to be built. This can be extended with riscv AMO ops at a later date. Signed-off-by: Ben Dooks <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-07-06cmd/sbi: display new extensionsHeinrich Schuchardt
OpenSBI already implements some extensions that are not ratified yet: * Debug Console Extension (DBCN) * System Suspend Extension (SUSP) * Collaborative Processor Performance Control Extension (CPPC) Allow the sbi command to display these. Provide the FID definitions of the Debug Console Extension. We can use that extension for an early debug console driver. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-07-06LFU-544: Kconfig.nxp: Fixed secure boot on LS-CH2 platformsKshitiz Varshney
pimg64 image pointer is dependent on ESBC_ADDR_64BIT config, which is getting disabled, due to dependency on ESBC_HDR_LS. ESBC_HDR_LS is required for LS-CH3 platforms. So, removing the dependency on ESBC_HDR_LS. Signed-off-by: Kshitiz Varshney <[email protected]> Acked-by: Peng Fan <[email protected]> Reviewed-by: Gaurav Jain <[email protected]>
2023-07-06configs: ls1046afrwy: enable DM_SERIALCamelia Groza
As the serial devices are configured in the device tree, enable DM_SERIAL in the ls1046afrwy defconfigs. Signed-off-by: Camelia Groza <[email protected]> Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-07-06configs: ls1046ardb: enable DM_SERIALCamelia Groza
As the serial devices are configured in the device tree, enable DM_SERIAL in the ls1046ardb defconfigs. Signed-off-by: Camelia Groza <[email protected]> Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-07-06arch: arm: dts: ls1046a: tag serial nodes with bootph-allCamelia Groza
Make sure the serial driver is initialized before relocation by tagging the serial nodes with "bootph-all". In order to keep the serial nodes in sync with their representation in the Linux dts, add these u-boot specific properties to *-u-boot.dtsi files. Signed-off-by: Camelia Groza <[email protected]> Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-07-06arch: arm: dts: ls1046a: sync serial nodes with LinuxCamelia Groza
Pick up the serial node descriptions from Linux v6.3 for the ls1046ardb and ls1046afrwy boards and their dependencies. Including the fsl,qoriq-clockgen.h and arm-gic.h headers forces us to change the include directives to explicitly go through the C preprocessor for all boards in the ls1046a SoC family. Signed-off-by: Camelia Groza <[email protected]> Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-07-06configs: ls1043ardb: enable DM_SERIALCamelia Groza
As the serial devices are configured in the device tree, enable DM_SERIAL in the ls1043ardb defconfigs. Signed-off-by: Camelia Groza <[email protected]> Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-07-06arch: arm: dts: ls1043a: tag serial nodes with bootph-allCamelia Groza
Make sure the serial driver is initialized before relocation by tagging the serial nodes with "bootph-all". In order to keep the serial nodes in sync with their representation in the Linux dts, add these u-boot specific properties to *-u-boot.dtsi files. Signed-off-by: Camelia Groza <[email protected]> Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-07-06arch: arm: dts: ls1043a: sync serial nodes with LinuxCamelia Groza
Pick up the serial node descriptions from Linux v6.3 for the ls1043ardb board and its dependencies. Including the fsl,qoriq-clockgen.h and arm-gic.h headers forces us to change the include directives to explicitly go through the C preprocessor for all boards in the ls1043a SoC family. Signed-off-by: Camelia Groza <[email protected]> Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-07-05tools: spkgimage: correct printf specifierHeinrich Schuchardt
Compiling on armv7 results in: tools/renesas_spkgimage.c: In function ‘spkgimage_parse_config_line’: tools/renesas_spkgimage.c:76:66: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘size_t’ {aka ‘unsigned int’} [-Wformat=] 76 | "config error: unknown keyword on line %ld\n", | ~~^ | | | long int | %d 77 | line_num); | ~~~~~~~~ | | | size_t {aka unsigned int} The correct printf specifier for size_t is '%zu'. Fixes: afdfcb11f97c ("tools: spkgimage: add Renesas SPKG format") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-07-05Merge tag 'v2023.07-rc6' into nextTom Rini
Prepare v2023.07-rc6
2023-07-05colibri-imx7: Call fdt_increase_size()Fabio Estevam
For changing the USB OTG node status from "okay" to "disabled" more space is needed, so call fdt_increase_size() to avoid the following error: ``` U-Boot 2023.07-rc5-0.0.0-devel+git.580eb31199be (Jun 27 2023 - 13:39:58 +0000) CPU: Freescale i.MX7S rev1.2 800 MHz (running at 792 MHz) CPU: Extended Commercial temperature grade (-20C to 105C) at 30C Reset cause: POR DRAM: initcall sequence 8786eafc failed at call 8781b351 (err=-3) ### ERROR ### Please RESET the board ### ``` Ideally, fdt_status_disabled() should call fdt_increase_size() internally, so that there would be no need for manually calling it in board code. Do it manually for now to fix the regression. Based on the code from board/CZ.NIC/turris_omnia/turris_omnia.c. Reported-by: Francesco Dolcini <[email protected]> Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]> Tested-by: Francesco Dolcini <[email protected]> # Toradex Colibri iMX7S
2023-07-05git-mailrc: add alias for Eugen HristevEugen Hristev
add my patchwork alias Signed-off-by: Eugen Hristev <[email protected]>
2023-07-04Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-pmic ↵Tom Rini
into next
2023-07-04regulator: handle different error codes in regulator_set_enable_if_allowedEugen Hristev
The regulator core can return different codes which are not considered a real error for this function. Return success in such cases. Signed-off-by: Eugen Hristev <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2023-07-04regulator: rename dev_pdata to platEugen Hristev
Simplify the subsystem by renaming `dev_pdata` to just `plat`. No functional change, just trivial renaming. Suggested-by: Simon Glass <[email protected]> Signed-off-by: Eugen Hristev <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2023-07-04regulator: implement basic reference counterEugen Hristev
Some devices share a regulator supply, when the first one will request regulator disable, the second device will have it's supply cut off before graciously shutting down. Hence there will be timeouts and other failed operations. Implement a reference counter mechanism similar with what is done in Linux, to keep track of enable and disable requests, and only disable the regulator when the last of the consumers has requested shutdown. Signed-off-by: Eugen Hristev <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2023-07-03Prepare v2023.07-rc6v2023.07-rc6Tom Rini
Signed-off-by: Tom Rini <[email protected]>