aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2021-12-26efi_loader: Don't limit the StMM buffer size explicitlyIlias Apalodimas
Currently we allow and explicitly check a single shared page with StandAloneMM. This is dictated by OP-TEE which runs the application. However there's no way for us dynamically discover the number of pages we are allowed to use. Since writing big EFI signature list variable requires more than a page, OP-TEE has bumped the number of shared pages to four. Let's remove our explicit check and allow the request to reach OP-TEE even if it's bigger than what it supports. There's no need to sanitize the number of pages internally. OP-TEE will fail if we try to write more than it's allowed. The error will just trigger later on, during the StMM access. While at it add an error message to help users figure out what failed. Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Tested-by: Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org> Signed-off-by: Ilias Apalodimas <apalos@gmail.com>
2021-12-26efi: fix typo in description of struct efi_entry_hdrHeinrich Schuchardt
Add missing colon. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-18dm: fix an 'undefined' error in some macrosAKASHI Takahiro
Due to a non-existing parameter name in macro's, use of those macro's will cause a compiler error of "undefined reference". Unfortunately, dm test doesn't fail because a wrong name ("&dev", hence it is accidentally a valid name in the context of a caller site) is passed on. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Fixes: f262d4ca4b2b ("dm: core: Add a way to read platdata for all child devices") Fixes: 903e83ee8464 ("dm: core: Add a way to iterate through children, probing each") Reviewed-by: Simon Glass <sjg@chromium.org>
2021-12-18blk: add a helper function, blk_probe_or_unbind()AKASHI Takahiro
This function will be commonly used in block device drivers in the succeeding patches. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-15Merge tag 'clk-2022.01-rc3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-clk Clock patches for v2022.01-rc3 This adds better logging support for many CCF drivers, and clarifies some documentation regarding clk_get_rate.
2021-12-15clk: fix clk_get_rate() documentationGiulio Benetti
Improve clk_get_rate() @return documentation that otherwise is a bit ambiguous. At the moment I expect to return 0 as error since the return type is 'ulong', instead the function really returns negative value in case the corresponding function pointer is null and returns 0 if the clock is invalid. Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com> Reviewed-by: Sean Anderson <seanga2@gmail.com>
2021-12-15Merge tag 'rpi-next-2022.01' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-raspberrypi - enable RPi Zero 2 W - fix MMC numbering issue - Update link to documentation
2021-12-13Merge tag 'u-boot-stm32-20211213' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm - enable KSZ90x1 PHY driver on DHCOR - DHSOM boards: - increase USB power-good delay - add update_sf script to install U-Boot into SF - increase PHY auto-negotiation timeout to 20 seconds - fix SoM and board coding strap GPIO handling # gpg verification failed.
2021-12-13ARM: stm32: Increase PHY auto-negotiation timeout to 20s on DHSOMMarek Vasut
The Micrel PHYs on known DHSOM based boards take a while to come out of reset, increase the auto-negotiation timeout to prevent it from timing out in case the ethernet is used right after the board was reset. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Patrice Chotard <patrice.chotard@foss.st.com> Cc: Patrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2021-12-13ARM: stm32: Add update_sf script to install U-Boot into SF on DHSOMMarek Vasut
Add script to read U-Boot from SD card and write it to matching locations in the SPI NOR, thus making the SPI NOR bootable. The script erases the entire SPI NOR, including U-Boot environment, to make sure the installation is clean. To retain environment from current running U-Boot, run 'saveenv' after running the 'update_sf' script. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Patrice Chotard <patrice.chotard@foss.st.com> Cc: Patrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2021-12-13ARM: stm32: Increase USB power-good delay on DHSOMMarek Vasut
The USB hub on STM32MP1 DHCOM boards needs to wait a bit longer until the USB Vbus is stable. Increase the USB power-good delay to 1 s. This adds default-undefined STM32MP_BOARD_EXTRA_ENV variable into stm32mp15_common.h to reduce duplication in board-specific config files adding custom environment. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Patrice Chotard <patrice.chotard@foss.st.com> Cc: Patrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2021-12-13configs: beacon-rzg2m: Config to address new aliasesAdam Ford
The resync of the device trees from Linux 5.16-rc3 caused aliases to appear on the MMC devices which changed the numbering. This changed the default boot device and caused boot failure. Update the mmcdev variable to reflect the new aliases. Signed-off-by: Adam Ford <aford173@gmail.com>
2021-12-09efi: Add a media/block driver for EFI block devicesSimon Glass
Add a block driver which handles read/write for EFI block devices. This driver actually already exists ('efi_block') but is not really suitable for use as a real U-Boot driver: - The operations do not provide a udevice - The code is designed for running as part of EFI loader, so uses EFI_PRINT() and EFI_CALL(). - The bind method probes the device, which is not permitted - It uses 'EFI' as its parent device The new driver is more 'normal', just requiring its platform data be set up in advance. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-09efi: Add uclass for devices provided by UEFI firmwareSimon Glass
UCLASS_EFI_LOADER is used for devices created by applications and drivers loaded by U-Boots UEFI implementation. This patch provides a new uclass (UCLASS_EFI_MEDIA) to be used for devices that provided by a UEFI firmware calling U-Boot as an EFI application. If the two uclasses can be unified, is left to future redesign. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-09efi: Rename UCLASS_EFI and IF_TYPE_EFISimon Glass
These names are better used for access to devices provided by an EFI layer. Use EFI_LOADER instead here, since these are only available in U-Boot's EFI_LOADER layer. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-12-09efi_loader: efi_tcg2_register returns appropriate errorMasahisa Kojima
This commit modify efi_tcg2_register() to return the appropriate error. With this fix, sandbox will not boot because efi_tcg2_register() fails due to some missing feature in GetCapabilities. So disable sandbox if EFI_TCG2_PROTOCOL is enabled. UEFI secure boot variable measurement is not directly related to TCG2 protocol installation, tcg2_measure_secure_boot_variable() is moved to the separate function. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2021-12-02riscv: dts: Split Microchip device treePadmarao Begari
The device tree split into .dtsi and .dts files, common device node for eMMC/SD, enable I2C1, UART1 for console instead of UART0, enable the DDR 2GB memory and in that 288MB memory is reserved for fabric buffer. Signed-off-by: Padmarao Begari <padmarao.begari@microchip.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2021-12-02board: ae350: Support autoboot from RAMLeo Yu-Chi Liang
Add boot command "bootcmd_ram" to support autoboot from RAM. This feature could be useful at the very initial state of chip design when there is only a minimal set of peripheral. (e.g. without mmc and mac ..etc) The kernel image is default to be loaded at 0x2000000 via debug port, and the following script serves as an example: spl() { cmd="riscv64-linux-gdb -q \ -ex \"target remote $host:$port\" \ -ex \"load\" \ -ex \"thread apply all set \\\$pc=&_start\" \ -ex \"thread apply all set \\\$a0=\\\$mhartid\" \ -ex \"thread apply all set \\\$a1=<dtb address>\" \ -ex \"restore u-boot.itb binary 0x200000\" \ -ex \"restore Image binary 0x2000000\" \ -ex \"c\" \ spl/u-boot-spl " echo $cmd eval $cmd } The address where the kernel is loaded can be altered by changing the value of KERNEL_IMAGE_ADDR. Signed-off-by: Leo Yu-Chi Liang <ycliang@andestech.com> Reviewed-by: Rick Chen <rick@andestech.com>
2021-11-30Fix MMC numbering issue for Raspberry Pi 3Mike Karels
Using mmc.dtbo from rpi-firmware to switch the controller for the SD card slot from sdhci to sdhost causes the numbering to change; the SD card is then not recognized at boot. Add to the range checked. Signed-off-by: Matthias Brugger <mbrugger@suse.com>
2021-11-30tpm: use more algorithms than sha256 on pcr_readRuchika Gupta
The current tpm2_pcr_read is hardcoded using SHA256. Make the actual command to TPM configurable to use wider range of algorithms. The current command line is kept as is i.e limited to SHA-256 only. Signed-off-by: Ruchika Gupta <ruchika.gupta@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2021-11-30efi_loader: Add check for event log passed from firmwareRuchika Gupta
Platforms may have support to measure their initial firmware components and pass the event log to u-boot. The event log address can be passed in property tpm_event_log_addr and tpm_event_log_size of the tpm node. Platforms may choose their own specific mechanism to do so. A weak function is added to check if even log has been passed to u-boot from earlier firmware components. If available, the eventlog is parsed to check for its correctness and further event logs are appended to the passed log. Signed-off-by: Ruchika Gupta <ruchika.gupta@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Tested-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2021-11-20efi_loader: bump EFI_SPECIFICATION_VERSION to 2.9Heinrich Schuchardt
We have implemented all what is new in UEFI specification 2.9 and relevant for U-Boot. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-11-20efi_loader: EFI_EVENT_GROUP_BEFORE_EXIT_BOOT_SERVICESHeinrich Schuchardt
Implement the EFI_EVENT_GROUP_BEFORE_EXIT_BOOT_SERVICES event group handling. Add the definition of EFI_EVENT_GROUP_AFTER_READY_TO_BOOT. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2021-11-20efi_loader: Sphinx comments in efi_api.hHeinrich Schuchardt
Fix incorrect Sphinx comments in efi_api.h: * add missing 'struct' * correct indentation Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2021-11-20efi: add comment for efi_system_table and efi_configuration_tableMasahisa Kojima
This commit adds the comment for efi_system_table and efi_configuration_table structure. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2021-11-20lmb: drop unused lmb_size_bytes()Heinrich Schuchardt
lmb_size_bytes() is unused. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2021-11-20lmb: remove extern keyword in lmb.hHeinrich Schuchardt
The extern keyword is not needed in include/lmb.h to declare functions. Remove it. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2021-11-20doc: add include/lmb.h to the HTML documentationHeinrich Schuchardt
Correct Sphinx style comments in include/lmb.h Add the logical memory block API to the HTML documentation. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2021-11-20lmb: remove lmb_is_nomap() from includeHeinrich Schuchardt
Defining static functions in includes should be avoided. Function lmb_is_nomap() is only used in the unit test. So move it to the unit test. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2021-11-19configs: meson64_android: add PANIC stage for SYSTEM failsNeil Armstrong
If bootloader was updated without running oem format, reboot will cause boot loop because the SYSTEM stage fails. Add a final PANIC stage running fastboot to permit recovery. Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2021-11-19configs: meson64_android: bypass other checks on run_fastboot=1Neil Armstrong
This can lead to GPT and BCB errors even if fastboot was selected early by usb rom boot and the eMMC is blank/invalid. Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2021-11-15image: Explicitly declare do_bdinfo()Andy Shevchenko
Compiler is not happy: common/image-board.c: In function ‘boot_get_kbd’: common/image-board.c:902:17: warning: implicit declaration of function ‘do_bdinfo’ [-Wimplicit-function-declaration] 902 | do_bdinfo(NULL, 0, 0, NULL); | ^~~~~~~~~ Move the forward declaration to a header. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-11-15configs: synquacer: Fix dfu_alt_info to use nor1Masami Hiramatsu
Fix dfu_alt_info to use nor1 instead of the device name. This reverts a part of commit 59bd18d4c4d7 ("configs: synquacer: Remove mtdparts settings and update DFU setting") because the commit a4f2d8341455 ("mtd: spi: nor: force mtd name to "nor%d"") changed the mtd device naming scheme to nor%d. Signed-off-by: Masami Hiramatsu <masami.hiramatsu@linaro.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2021-11-15board: tq: fix spelling of "TQ-Systems"Matthias Schiffer
"TQ-Systems" is written with a dash. Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
2021-11-13Merge tag 'efi-2022-01-rc2-2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request for efi-2022-01-rc2-2 UEFI: * fix measurement of BootOrder variable for TCG2 protocol TPM: * TIS mmio driver. This driver supports QEMU's emulated TPM.
2021-11-12Convert CONFIG_LAST_STAGE_INIT to KconfigTom Rini
This converts the following to Kconfig: CONFIG_LAST_STAGE_INIT Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-12Remove CONFIG_SERIAL_MULTITom Rini
This symbol has been functionally dead for a long time. Remove the last and recent re-introductions of setting it, and update the whitelist so it will not be re-introduced again. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-12Convert CONFIG_PL011_SERIAL et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_PL011_SERIAL CONFIG_PL01X_SERIAL Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-12Convert CONFIG_MACB to KconfigTom Rini
This converts the following to Kconfig: CONFIG_MACB Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-12Convert CONFIG_MD5 to KconfigTom Rini
This converts the following to Kconfig: CONFIG_MD5 Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-12Convert CONFIG_MX6 et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_MX6 CONFIG_MX7 Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-12Convert CONFIG_IMX_BOOTAUX et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_IMX_BOOTAUX CONFIG_IMX_THERMAL Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-12Convert CONFIG_SYS_PROMPT et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SYS_PROMPT CONFIG_SYS_PROMPT_HUSH_PS2 Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-12Convert CONFIG_I2C_EDID et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_I2C_EDID CONFIG_I2C_EEPROM Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-12Convert CONFIG_PHYLIB et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_PHYLIB CONFIG_PHY_ATHEROS CONFIG_PHY_GIGE CONFIG_MII Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-12Convert CONFIG_MISC_INIT_F et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_MISC_INIT_F CONFIG_MISC_INIT_R Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-12Convert CONFIG_TRACE et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_TRACE CONFIG_TRACE_BUFFER_SIZE CONFIG_TRACE_EARLY CONFIG_TRACE_EARLY_ADDR CONFIG_TRACE_EARLY_SIZE Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-12Convert CONFIG_SYS_CONSOLE_IS_IN_ENV to KconfigTom Rini
This converts the following to Kconfig: CONFIG_SYS_CONSOLE_IS_IN_ENV Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-12Convert CONFIG_ENV_IS_IN_SPI_FLASH et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_ENV_IS_IN_SPI_FLASH CONFIG_ENV_IS_NOWHERE CONFIG_ENV_OFFSET CONFIG_ENV_OVERWRITE CONFIG_ENV_SECT_SIZE CONFIG_SYS_MMC_ENV_DEV CONFIG_SYS_MMC_ENV_PART Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-12Convert CONFIG_FSL_USDHC to KconfigTom Rini
This converts the following to Kconfig: CONFIG_FSL_USDHC Signed-off-by: Tom Rini <trini@konsulko.com>