summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-08-29doc: Add documentation to highlight capsule generation related updatesSughosh Ganu
The EFI capsules can now be generated as part of U-Boot build, through binman. Highlight these changes in the documentation. Signed-off-by: Sughosh Ganu <[email protected]> Acked-by: Heinrich Schuchardt <[email protected]>
2023-08-29test: capsule: Generate EFI capsules through binmanSughosh Ganu
Support has been added for generating the EFI capsules through binman. Make changes in the EFI capsule update testing feature to generate capsules through binman. Signed-off-by: Sughosh Ganu <[email protected]>
2023-08-29binman: capsule: Add support for generating EFI capsulesSughosh Ganu
Add support in binman for generating EFI capsules. The capsule parameters can be specified through the capsule binman entry. Also add test cases in binman for testing capsule generation. Signed-off-by: Sughosh Ganu <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-08-29btool: mkeficapsule: Add a bintool for EFI capsule generationSughosh Ganu
Add a bintool for generating EFI capsules. This calls the mkeficapsule tool which generates the capsules. Signed-off-by: Sughosh Ganu <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-08-29sandbox: capsule: Enable EFI capsule module on sandbox variantsSughosh Ganu
Enable the EFI capsule update code on all sandbox variants. This was already enabled on the sandbox, sandbox64 and sandbox_flattree variants. The rest of the variants also have the EFI capsule update module enabled now. With this commit, the mkeficapsule tool also gets enabled on all variants. Signed-off-by: Sughosh Ganu <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-08-29sandbox: capsule: Add keys and certificates needed for capsule update testingSughosh Ganu
Add the private keys and public key certificates which are to be used for capsule authentication while testing the EFI capsule update functionality. There are two pairs of private and public keys, good and bad. The good key pair will be used for signing capsules, whilst the bad key pair is to be used as malicious keys for testing authentication failure cases. The capsule_pub_key_good.crt is also converted to an EFI Signature List(ESL) file, SIGNER.esl, which is embedded in the platform's device-tree for capsule authentication. Signed-off-by: Sughosh Ganu <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-08-29nuvoton: npcm845-evb: Add a newline at the end of fileSughosh Ganu
Add a newline at the end of the dts, without which the build fails when including a dtsi file. Signed-off-by: Sughosh Ganu <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2023-08-29binman: bintool: Build a tool from a list of commandsSughosh Ganu
Add support to build a tool from source with a list of commands. This is useful when a tool can be built with multiple commands instead of a single command. Signed-off-by: Sughosh Ganu <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-08-29ARM: dts: at91: sam9x60-curiosity: Sync gpio button from LinuxAlexander Dahl
Copied as is from Linux Kernel release v6.4. (dts file is still the same in Linux v6.5-rc7 but was moved to vendor sub-directories with v6.5-rc1.) Button works out of the box now if the following config options are enabled: CONFIG_BUTTON, CONFIG_BUTTON_GPIO, CONFIG_CMD_BUTTON, CONFIG_DM_GPIO. Signed-off-by: Alexander Dahl <[email protected]>
2023-08-29board: sam9x60-curiosity: Let LED subsystem init leds if enabledAlexander Dahl
If CONFIG_LED and CONFIG_LED_GPIO are enabled, it is not necessary to initialize the RGB LED on the board by manually setting hardcoded GPIOs anymore. Everything is well defined in dts and can be used like on boards of other vendors. Keep the old behaviour as fallback, though. With all this in place enabling CONFIG_CMD_LED gives us a working 'led' command on the U-Boot shell. Signed-off-by: Alexander Dahl <[email protected]>
2023-08-29ARM: dts: at91: sam9x60-curiosity: Sync LED nodes from LinuxAlexander Dahl
Copied as is from Linux Kernel release v6.4. (dts file is still the same in Linux v6.5-rc7 but was moved to vendor sub-directories with v6.5-rc1.) Signed-off-by: Alexander Dahl <[email protected]>
2023-08-29configs: at91: sam9x60: Switch to new reset driverAlexander Dahl
Since commit 61040097a9d1 ("reset: at91: Add reset driver for basic assert/deassert operations") the compatible "microchip,sam9x60-rstc" for the sam9x60 reset controller in sam9x60.dtsi is not handled by CONFIG_SYSRESET_AT91 anymore, but by CONFIG_RESET_AT91 now. This resulted in the following error message, when trying to reset from U-Boot shell: U-Boot> reset resetting ... System reset not supported on this platform ### ERROR ### Please RESET the board ### Fixed by enabling the new driver in the relevant defconfigs. Tested on sam9x60-curiosity board. Defconfigs for sam9x60ek adapted in the same way, but without testing. These should be all sam9x60 boards affected in U-Boot here. Signed-off-by: Alexander Dahl <[email protected]>
2023-08-29configs: at91: sam9x60_curiosity: Sync both defconfig variantsAlexander Dahl
The board has two SD card slots and we have two defconfigs for booting from either the first (micro SD) named 'sam9x60_curiosity_mmc_defconfig' or the second (full size SD) named 'sam9x60_curiosity_mmc1_defconfig'. For comparable Microchip boards (sama5d27-som1-ek, sama5d29-curiosity, sama7g5ek) with two card slots the defconfigs only differ in BOOTARGS, BOOTCOMMAND, and ENV_FAT_DEVICE_AND_PART and the same should be the case for sam9x60_curiosity. Here the 'mmc1' config has more options enabled to support the raw NAND flash populated on the board, so the 'mmc' config (for mmc0) was adapted by enabling additional options, instead of removing options from mmc1. The 'mem=128M' argument can be dropped from kernel command line, because it is redundant to memory node in dts in both Linux and U-Boot: memory@20000000 { reg = <0x20000000 0x8000000>; }; Signed-off-by: Alexander Dahl <[email protected]>
2023-08-29Merge branch '2023-08-28-assorted-important-fixes'Tom Rini
- A few platform-specific config/dts updates to fix issues, drop a temporary change in binman, update the MAINTAINERS file to remove Wolfgang Denk, fix a typo, fix a corner case with bootstd, update Azure to not timeout so easily, and fix a case where we would omit some files in SPL.
2023-08-28Revert "arm: imx: mx7: Move CONFIG_OPTEE_TZDRAM_SIZE from lib/optee"Ricardo Salveti
This reverts commit c5b68ef8af3c2f515c1f5b8d63a69359a85d753b. CONFIG_OPTEE_TZDRAM_SIZE is used by imx6-based SoCs as well. Move the option back. Signed-off-by: Ricardo Salveti <[email protected]> Signed-off-by: Oleksandr Suvorov <[email protected]>
2023-08-28Revert "binman: Add a temporary hack for duplicate phandles"Simon Glass
The affected boards have been fixed, so drop this hack. This reverts commit 288ae53cb73605500b7fc01e5919753c878466be. Signed-off-by: Simon Glass <[email protected]> Acked-by: Tim Harvey <[email protected]>
2023-08-28imx: Drop unneeded phandle in FIT templateSimon Glass
Adding a phandle to a template node is not allowed, since when the node is instantiated multiple times, we end up with duplicate phandles. Drop this invalid constructs. Signed-off-by: Simon Glass <[email protected]> Acked-by: Tim Harvey <[email protected]>
2023-08-28MAINTAINERS: remove Wolfgang DenkHeinrich Schuchardt
Signed-off-by: Heinrich Schuchardt <[email protected]>
2023-08-28spl: crypto: fix including SHA* object files in SPLOleksandr Suvorov
If one of SHA* algorithms is disabled in u-boot, its code is not included in SPL even if a given SHA* option is enabled in SPL. Fix this. Fixes: 603d15a572d ("spl: cypto: Bring back SPL_ versions of SHA") Signed-off-by: Oleksandr Suvorov <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-08-28Azure: Set the timeout for jobs to the maximumTom Rini
As per current Azure Pipelines documentation we qualify for 3600 minutes per job, if specified, as the timeout. The default unspecified timeout is 60 minutes. Rework things to specify 0 as the timeout (and so maximum allowed) so that we don't have failures due to running slightly past 60 minutes total. Link: https://learn.microsoft.com/en-us/azure/devops/pipelines/process/phases?view=azure-devops&tabs=yaml#timeouts Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-08-28configs: set CONFIG_LMB_MAX_REGIONS=64 for MT7988 boardsDaniel Golle
Similar to MT7981 and MT7986 also MT7988 can have a high number of reserved-memory regions used by the various hardware offloading subsystems. Raise CONFIG_LMB_MAX_REGIONS to 64 to avoid errors when trying to boot Linux with more then 6 reserved regions: ERROR: reserving fdt memory region failed (addr=4f700000 size=240000 flags=4) ERROR: reserving fdt memory region failed (addr=15194000 size=1000 flags=4) ERROR: reserving fdt memory region failed (addr=15294000 size=1000 flags=4) ERROR: reserving fdt memory region failed (addr=15394000 size=1000 flags=4) ERROR: Failed to allocate 0xb161 bytes below 0x80000000. device tree - allocation error Fixes: bc4adc97cfb ("board: mediatek: add MT7988 reference boards") Reported-by: Lorenzo Bianconi <[email protected]> Signed-off-by: Daniel Golle <[email protected]>
2023-08-28configs: Enable CONFIG_DM_SCSI in am57xx_hs_evm_usbAndrew Davis
This should have already been enabled but was missed when converting the base platform defconfig, fix this here. Fixes: 3c5aa6caccab ("configs: Enable CONFIG_BLK in am57xx_evm and am57xx_hs_evm") Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-08-28bootstd: Adjust the default bootmeth orderSimon Glass
The existing distro scripts check extlinux and scripts before EFI. Adjust the default ordering to do the same, to avoid breaking existing flows. Add some documentation, mentioning that this order will likely change in future. Signed-off-by: Simon Glass <[email protected]> Reported-by: Da Xue <[email protected]>
2023-08-28arm: dts: mediatek: convert gmac link mode to 2500base-x for r3Frank Wunderlich
Ethernet on Bananapi-r3 is broken after commit bd70f3cea353 ("net: mediatek: add support for SGMII 1Gbps auto-negotiation mode") because changes from this commit were not applied to bpi-r3 devicetree too: commit aef54ea16cac ("arm: dts: medaitek: convert gmac link mode to 2500base-x") Signed-off-by: Frank Wunderlich <[email protected]> Reviewed-by: Weijie Gao <[email protected]>
2023-08-28boot: Fix reference to bootmenu docPeter Robinson
The Kconfig references a readme file that's moved and converted to rst so update the reference. Signed-off-by: Peter Robinson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-08-27Merge tag 'efi-2023-10-rc4' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2023-10-rc4 Documentation: * describe TPL/VPL/SPL boot * Add support for sphinx-prompt and convert TI K3 to use it * board: sdm845: Explicitly add boot.img flashing command EFI: * remove handle from events when deleting it Others: * fix gpt sub-commands setenv and enumerate * add a parameter check in hash_calculate()
2023-08-27efi_loader: delete handle from events when a protocol is uninstalledIlias Apalodimas
When a notification event is registered for a protocol the handle of the protocol is added in our event notification list. When all the protocols of the handle are uninstalled we delete the handle but we do not remove it from the event notification list. Clean up the protocol removal functions and add a wrapper which - Removes the to-be deleted handle from any lists it participates - Remove the handle if no more protocols are present Signed-off-by: Ilias Apalodimas <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-08-27doc: describe TPL/VPL/SPL bootHeinrich Schuchardt
This is a stub describing how TPL, VPL, and SPL load the next boot stages on a detail level for users. For sure we will need a few patches on top to catch the whole complexity. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2023-08-27doc: board: ti: k3: Convert to sphinx-promptNishanth Menon
Sphinx-prompt provides a handy scheme to provide documentation that renders nicely and yet provides a scheme to copy paste for users without having to hand-edit the copied text as is the result of code-block [1] https://lore.kernel.org/all/[email protected]/ Reported-by: Simon Glass <[email protected]> Suggested-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Nishanth Menon <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2023-08-27doc: sphinx: Add sphinx-promptNishanth Menon
Sphinx-prompt[1] helps bring-in '.. prompt::' option that allows a better rendered documentation, yet be able to copy paste without picking up the prompt from rendered documentation. [1] https://lore.kernel.org/all/[email protected]/ Suggested-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Nishanth Menon <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-08-27doc: board: sdm845: Explicitly add boot.img flashing commandSumit Garg
Signed-off-by: Sumit Garg <[email protected]> Use code-block. Fix length of two heading underlines. Signed-off-by: Heinrich Schuchardt <[email protected]>
2023-08-27cmd: let gpt_partition_entry be hexadecimalHeinrich Schuchardt
In commands like 'ls mmc 0:f' the partition number is hexadecimal. In command 'gpt setenv' variable gpt_partition_entry needs to be set to a hexadecimal value to allow its use as a parameter in a subsequent command. Fixes: 57f8cf1b9aea ("cmd: fix gpt enumerate") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-08-27cmd: fix gpt enumerateHeinrich Schuchardt
Do not assume that partitions are numbered continuously starting at 1. Only a single partition table type can exist on a block device. If we found a GPT partition table, we must not re-enumerate with the MBR partition driver which would find the protective partition. Fixes: 12fc1f3bb223 ("cmd: gpt: add eMMC and GPT support") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-08-27cmd: fix gpt setenvHeinrich Schuchardt
Do not assume that partitions are continuously numbered starting at 1. Having a partition table with a single partition 63 is valid. Fixes: 12fc1f3bb223 ("cmd: gpt: add eMMC and GPT support") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-08-27lib: parameter check in hash_calculateHeinrich Schuchardt
If hash_calculate is invoked with region_count = 0, it will try to hash INT_MAX regions. We should check this parameter. * Avoid a comparison with different signedness. * Check that region_count is at least 1. * Avoid a superfluous assignment. Fixes: b37b46f042cc ("rsa: Use checksum algorithms from struct hash_algo") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-08-26Merge branch ↵Tom Rini
'2023-08-26-bootstd-chromeos-impreovements-and-move-to-gcc-13.2' into next First, update CI to using gcc-13.2 from 13.1, and rebuild the CI containers. This is needed because the second part adds utilities for tests and provides, to quote the author: This updates the ChromiumOS bootmeth to detect multiple kernel partitions on a disk. It also includes minor code improvements to the partition drivers, including accessors for the optional fields. This series also includes some other related tweaks in testing.
2023-08-26CI: Move to latest Ubuntu "Jammy" tagTom Rini
Move to the latest "Jammy" tag from Ubuntu. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2023-08-26CI: Update to gcc-13.2.0Tom Rini
The latest kernel.org toolchains for gcc are now 13.2.0, so upgrade to that. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2023-08-26CI: Add ChromiumOS utilitiesSimon Glass
We need cgpt and futility for building test images. Add them. Signed-off-by: Simon Glass <[email protected]>
2023-08-26bootstd: cros: Allow detection of any kernel partitionSimon Glass
The existing ChromiumOS bootmeth only supports reading a single kernel partition, either 2 or 4. In fact there are normally two options available. Use the GUID to detect kernel partitions, with the BOOTMETHF_ANY_PART flag, so that bootstd does not require a valid filesystem before calling the bootmeth. Tidy up and improve the logging while we are here. Signed-off-by: Simon Glass <[email protected]> Suggested-by: Alper Nebi Yasak <[email protected]> [trini: Add missing select of PARTITION_TYPE_GUID] Signed-off-by: Tom Rini <[email protected]>
2023-08-25uuid: Add ChromiumOS partition typesSimon Glass
Add some GUIDs for ChromiumOS so we can detect the partitions. Signed-off-by: Simon Glass <[email protected]>
2023-08-25bootstd: Support bootmeths which can scan any partitionSimon Glass
Some bootmeths support scanning a partition without a filesystem on it. Add a flag to support this. This will allow the ChromiumOS bootmeth to find kernel partition, which are stored in a special format, without a filesystem. Signed-off-by: Simon Glass <[email protected]>
2023-08-25part: Add a fallback for part_get_bootable()Simon Glass
This function can be called when partition support is disabled. Add a static inline to handle this. Signed-off-by: Simon Glass <[email protected]>
2023-08-25bootstd: Add a test for bootmeth_crosSimon Glass
The ChromiumOS bootmeth has no tests at present. Before adding more features. add a basic test. This creates a disk which can be scanned by the bootmeth, so make sure things work. It is quite rudimentary, since the kernel is faked, the root disk is missing and there is no cmdline stored. Enable the bootmeth for snow so it can build the unit test. Signed-off-by: Simon Glass <[email protected]>
2023-08-25bootstd: test: Allow binding and using any mmc deviceSimon Glass
We currently use mmc4 for tests. Update the function which sets this up so that it can handle any device. Signed-off-by: Simon Glass <[email protected]>
2023-08-25bootflow: Show an empty filename when there is noneSimon Glass
At present 'bootflow list' shows <NULL> for the filename when it is not present. Show an empty string instead, since that is more user-friendly. Signed-off-by: Simon Glass <[email protected]>
2023-08-25test: Move 1MB.fat32.img and 2MB.ext2.imgSimon Glass
These are currently created in the source directory, which is not ideal. Move them to the persistent-data directory instead. Update the test so skip validating the filename, since it now includes a full path. Signed-off-by: Simon Glass <[email protected]>
2023-08-25sandbox: Add a way to access persistent test filesSimon Glass
Some pytests create files in the persistent-data directory. It is useful to be able to access these files in C tests. Add a function which can locate a file given its leaf name, using the environment variable set up in test/py/conftest.py Signed-off-by: Simon Glass <[email protected]>
2023-08-25uuid: Move function comments to header fileSimon Glass
These should be in the header file for easy browsing, not in the source code. Move them and add a missing Return on one of the functions. Signed-off-by: Simon Glass <[email protected]>
2023-08-25dm: core: Correct error handling when event failsSimon Glass
Follow the correct path in device_probe() when and event handler fails. This avoids getting into a strange state where the device appears to be activated but is not. Signed-off-by: Simon Glass <[email protected]>