summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-06-16Merge tag 'u-boot-rockchip-20240614' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-rockchip CI: https://source.denx.de/u-boot/custodians/u-boot-rockchip/-/pipelines/21111 - pmic fix for rk8xx; - pinctrl fix for rk3188/rv1126/rk3588; - mkimage fix for rockcihp "-l" option;
2024-06-16powerpc: mpc85xx: remove dead watchdog-related codeRasmus Villemoes
Nothing in-tree calls watchdog_reset() anymore (that stopped two years ago with the removal of the WATCHDOG_RESET macro). So that function is dead code. That was the only caller of reset_85xx_watchdog(), so that can obviously also be removed. Finally, init_85xx_watchdog() is/was also not called from anywhere, so that can go away as well, which nicely also removes a bit of arch-specific code from the generic watchdog.h header. Cc: Christophe Leroy <[email protected]> Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2024-06-16powerpc: mpc83xx: remove unused watchdog_reset() functionRasmus Villemoes
There is no longer any code in tree that calls a watchdog_reset() function. The macro WATCHDOG_RESET, which used to emit a call to watchdog_reset(), got removed two years ago. Cc: Christophe Leroy <[email protected]> Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2024-06-16sh4: remove watchdog.c fileRasmus Villemoes
The external functions defined here are not called from anywhere. So they, and consequently the whole file, can be dropped. Cc: Nobuhiro Iwamatsu <[email protected]> Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2024-06-16sh4: move reset_cpu() from watchdog.c to cpu.cRasmus Villemoes
The next patch will remove all the other code from watchdog.c, which would leave just this function in there. It seems just as natural for this function to be defined in cpu.c, allowing us to delete watchdog.c completely. Cc: Nobuhiro Iwamatsu <[email protected]> Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2024-06-16serial: ns16550: fix comment to mention schedule instead of watchdog_resetRasmus Villemoes
watchdog_reset() is no more. Make the comments match the code and today's reality. Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2024-06-16wdt-uclass: watchdog_reset cleanupRasmus Villemoes
watchdog_reset() is no longer called from anywhere, so we do not need to define a dummy no-op function. Remove that definition, and update references to say schedule() instead. Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2024-06-16m68k: remove dead codeRasmus Villemoes
There are no calls of "watchdog_reset()" anymore anywhere in the tree since the WATCHDOG_RESET macro got removed in 942d07df0e79 ("watchdog: Remove WATCHDOG_RESET macro"). The only places the identifiers watchdog_disable and watchdog_init are called are in arch/arm/mach-omap2/, so those can obviously not refer to these instances. Hence these functions are not actually used at all and can be removed. As a bonus, this also removes two leftover references to WATCHDOG_RESET. Cc: Huan Wang <[email protected]> Cc: Angelo Dureghello <[email protected]> Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2024-06-16cyclic: make clients embed a struct cyclic_info in their own data structureRasmus Villemoes
There are of course not a whole lot of examples in-tree yet, but before they appear, let's make this API change: Instead of separately allocating a 'struct cyclic_info', make the users embed such an instance in their own structure, and make the convention that the callback simply receives the 'struct cyclic_info *', from which the clients can get their own data using the container_of() macro. This has a number of advantages. First, it means cyclic_register() simply cannot fail, simplifying the code. The necessary storage will simply be allocated automatically when the client's own structure is allocated (often via uclass_priv_auto or similar). Second, code for which CONFIG_CYCLIC is just an option can more easily be written without #ifdefs, if we just provide an empty struct cyclic_info {}. For example, the nested CONFIG_IS_ENABLED()s in https://lore.kernel.org/u-boot/[email protected]/ are mostly due to the existence of the 'struct cyclic_info *' member being guarded by #ifdef CONFIG_CYCLIC. And we do probably want to avoid the extra memory overhead of that member when !CONFIG_CYCLIC. But that is automatic if, instead of a 'struct cyclic_info *', one simply embeds a 'struct cyclic_info', which will have size 0 when !CONFIG_CYCLIC. Also, the no-op cyclic_register() function can just unconditionally be called, and the compiler will see that (1) the callback is referenced, so not emit a warning for a maybe-unused function and (2) see that it can actually never be reached, so not emit any code for it. Reviewed-by: Stefan Roese <[email protected]> Signed-off-by: Rasmus Villemoes <[email protected]>
2024-06-16wdt-uclass: prevent multiple cyclic_register callsRasmus Villemoes
Currently, the cyclic_register() done in wdt_start() is not undone in wdt_stop(). Moreover, calling wdt_start multiple times (which is perfectly allowed on an already started device, e.g. to change the timeout value) will result in another struct cyclic_info being registered, referring to the same watchdog device. This can easily be seen on e.g. a wandboard: => cyclic list function: watchdog@20bc000, cpu-time: 22 us, frequency: 1.01 times/s => wdt list watchdog@20bc000 (imx_wdt) => wdt dev watchdog@20bc000 => wdt start 50000 WDT: Started watchdog@20bc000 with servicing every 1000ms (50s timeout) => cyclic list function: watchdog@20bc000, cpu-time: 37 us, frequency: 1.03 times/s function: watchdog@20bc000, cpu-time: 241 us, frequency: 1.01 times/s => wdt start 12345 WDT: Started watchdog@20bc000 with servicing every 1000ms (12s timeout) => cyclic list function: watchdog@20bc000, cpu-time: 36 us, frequency: 1.03 times/s function: watchdog@20bc000, cpu-time: 100 us, frequency: 1.04 times/s function: watchdog@20bc000, cpu-time: 299 us, frequency: 1.00 times/s So properly unregister the watchdog device from the cyclic framework in wdt_stop(). In wdt_start(), we cannot just skip the registration, as the (new) timeout value may mean that we have to ask the cyclic framework to call us more often. So if we're already running, first unregister the old cyclic instance. Reviewed-by: Stefan Roese <[email protected]> Signed-off-by: Rasmus Villemoes <[email protected]>
2024-06-16cyclic: stop strdup'ing name in cyclic_register()Rasmus Villemoes
We are not checking the return value of strdup(), nor freeing the string in cyclic_unregister(). However, all current users either pass a string literal or the dev->name of the client device. So in all cases the name string will live at least as long as the cyclic_info is registered, so just make that a requirement. Reviewed-by: Stefan Roese <[email protected]> Signed-off-by: Rasmus Villemoes <[email protected]>
2024-06-16doc: Fix link reference to general verified boot docsAlexander Dahl
Fixes: ad29e08b79fd ("doc: Bring in FIT signature files") Signed-off-by: Alexander Dahl <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-06-16doc: describe UEFI measured bootIlias Apalodimas
We currently only describe the process to enable measured boot using bootm. Describe the UEFI requirements as well which predate bootm. Signed-off-by: Ilias Apalodimas <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2024-06-16tpm: measure DTB in PCR1 instead of PCR0Ilias Apalodimas
The PC client spec [0], doesn't describe measurements for DTBs. It does describe what do to for ACPI tables though. There is a description for ACPI in 3.3.4.1 PCR[0] – SRTM, POST BIOS, and Embedded Drivers and they explicitly mention ACPI in there. There's no mention of ACPI in 3.3.4.2 PCR[1] – Host Platform Configuration. However, in Figure 6 -- PCR Mapping of UEFI Components ACPI is shown in PCR1. The general description also mentions PCR0 is for code and PCR1 is for data such as ACPI and SMBIOS. So let's switch over the DTB measurements to PCR1 which seems a better fit. [0] https://trustedcomputinggroup.org/resource/pc-client-specific-platform-firmware-profile-specification Reported-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]> Reviewed-by: Eddie James <[email protected]>
2024-06-16doc: board: phytec: phycore-am64: Fix phyBOARD NameDaniel Schultz
The Carrier-Board for the pyhCORE-AM64x is called phyBOARD-Electra. Signed-off-by: Daniel Schultz <[email protected]>
2024-06-16doc: board: phytec: phycore-am64x: Fix Link to DocumentationDaniel Schultz
We moved our documentation to another hoster and therefore the URL changed. Point to the latest documentation instead of release versions to not link out-dated documentation. Signed-off-by: Daniel Schultz <[email protected]>
2024-06-16doc: board: phytec: phycore-am62x: Fix Link to DocumentationDaniel Schultz
We moved our documentation to another hoster and therefore the URL changed. Point to the latest documentation instead of release versions to not link out-dated documentation. Signed-off-by: Daniel Schultz <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
2024-06-16bootstd: Fix a handful of doc typos in bootmethMattijs Korpershoek
Fix some trivial typos found by browsing the code. Done with flyspell. Reviewed-by: Quentin Schulz <[email protected]> Signed-off-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Guillaume La Roque<[email protected]> Reviewed-by: Julien Masson <[email protected]>
2024-06-14cmd: move ELF load and boot to lib/elf.cMaxim Moskalets
Loading and running the ELF image is the responsibility of the library and should not be associated with the command line interface. It is also required to run ELF images from FIT with the bootm command so as not to depend on the command line interface. Signed-off-by: Maxim Moskalets <[email protected]>
2024-06-14fs/erofs: fix an overflow issue of unmapped extentsJianan Huang
Here the size should be `length - skip`, otherwise it could cause the destination buffer overflow. Reported-by: jianqiang wang <[email protected]> Fixes: 65cb73057b65 ("fs/erofs: add lz4 decompression support") Signed-off-by: Jianan Huang <[email protected]> Reviewed-by: Gao Xiang <[email protected]>
2024-06-14arm: dts: k3-am625-verdin: add combined binariesAndrejs Cainikovs
Add combined binaries for all Verdin AM62 variants. These binaries can be used to flash the U-Boot via single binary instead of few as it is done at the moment. Signed-off-by: Andrejs Cainikovs <[email protected]>
2024-06-14Merge patch series "introduce basic support for TI's am625-lp-sk"Tom Rini
Bryan Brattlof <[email protected]> says: Hello Again Everyone! The am625-lp-sk is a variant of the am625-sk showcasing the low-power features of the am625 SoC Family. Because it's essentially a board and package spin of the am625-sk I've inherited the am625 configuration and overridden what was needed. This is a new spin of Nitin's original work which has been updated significantly since October 2023 https://lore.kernel.org/u-boot/[email protected]/ For those of us interested here is proof of life using buildroot: https://paste.sr.ht/~bryanb/40f7787f7760bee383aa8fbc342a29e8544dbdab This also works around a buildman issue not following #include directives. To get around this I've redefined the variables it's looking for inside the lp-sk defconfig to keep it happy for now. I made a pull request on github and everything seems like it's happy https://dev.azure.com/u-boot/u-boot/_build/results?buildId=8634&view=results
2024-06-14Merge patch series "binman: am62a/62p: add support for signing TIFSStub"Tom Rini
Dhruva Gole <[email protected]> says: Add support for signing of TIFSSTUB images for HSSE, HSFS and GP devices and include them in tispl.bin and tispl.bin_unsigned in AM62A. AM62P doesn't have any GP support, hence not applicable. These changes are required for Low Power Mode features to work on these SoCs as this TIFS Stub gets used in the Low Power Exit sequences. Boot tested on both platforms that are being touched: [0] AM62A, [1] AM62P [0] https://gist.github.com/DhruvaG2000/d5f2a46818d8025a540efe9289feacb4 [1] https://gist.github.com/DhruvaG2000/ce29f6e9315a78d3e9e5810f55f17f43
2024-06-14Merge patch series "arm: dts: am625/am62a7: Switch over to OF_UPSTREAM"Tom Rini
Nishanth Menon <[email protected]> says: Cleanup am625 on by switching over the last two platforms (SK and beagleplay) over to OF_UPSTREAM, and while at it, switch over am62a7 (last of the am62* family) over as well. This superscedes the previous version of beagleplay only patch[1] Test logs: https://gist.github.com/nmenon/ba310d3750a80789aca6a4fd90190135
2024-06-14arm: dts: k3: binman: am62p: add support for signing TIFSStub imagesDhruva Gole
Adds TIFS stub binaries, this is required for deepsleep functionality. This implements the same change as commit 128f81290b7d ("arm: dts: k3: binman: am625: add support for signing TIFSSTUB Images") did for TI AM62 SK board. Signed-off-by: Vibhore Vardhan <[email protected]> Signed-off-by: Dhruva Gole <[email protected]>
2024-06-14Merge patch series "efi_loader: select BLK not depends on BLK"Tom Rini
Tom Rini <[email protected]> says: Rework how the BLK symbol is used now that so much DM migration has been completed.
2024-06-14arm: dts: k3: binman: am62a: add support for signing TIFSStub ImagesDhruva Gole
Add support for signing of TIFSSTUB images for HSSE, HSFS and GP devices and include them in tispl.bin and tispl.bin_unsigned. This implements the same change as commit 128f81290b7d ("arm: dts: k3: binman: am625: add support for signing TIFSSTUB Images") did for TI AM62 SK board. Signed-off-by: Vibhore Vardhan <[email protected]> Signed-off-by: Dhruva Gole <[email protected]>
2024-06-14Merge patch series "binman: ti: create binman nodes for EFI capsules"Tom Rini
Jonathan Humphreys <[email protected]> says: Add binman nodes for EFI capsules of firmware components so that capsules are automatically created during the UBoot builds. This is enabled for several TI SoC based platforms: AM64, AM62, AM62p, BeaglePlay, AM69, J7, and BeagleboneAI.
2024-06-14dts: j784s4: binman: Include firmware capsules binman nodesJonathan Humphreys
Fill in the AM69 SK's capsule GUID properties of the base binman capsule nodes. Signed-off-by: Jonathan Humphreys <[email protected]>
2024-06-14dts: beagleboneai64: binman: Include firmware capsules binman nodesJonathan Humphreys
Fill in the BeagleBoneAI64's capsule GUID properties of the base binman capsule nodes. Also add it's SYSFW binman capsule node. Signed-off-by: Jonathan Humphreys <[email protected]>
2024-06-14dts: am62x: binman: Include firmware capsules binman nodesJonathan Humphreys
Fill in the am62x SK's capsule GUID properties of the base binman capsule nodes. Signed-off-by: Jonathan Humphreys <[email protected]>
2024-06-14dts: am62px: binman: Include firmware capsules binman nodesJonathan Humphreys
Fill in the am62px SK's capsule GUID properties of the base binman capsule nodes. Signed-off-by: Jonathan Humphreys <[email protected]>
2024-06-14dts: beagleplay: binman: Include firmware capsules binman nodesJonathan Humphreys
Fill in the BeaglePlay's capsule GUID properties of the base binman capsule nodes. Signed-off-by: Jonathan Humphreys <[email protected]>
2024-06-14dts: j721e: binman: Include firmware capsules binman nodesJonathan Humphreys
Fill in the J721e SK's capsule GUID properties of the base binman capsule nodes. Also add it's SYSFW binman capsule node. Signed-off-by: Jonathan Humphreys <[email protected]>
2024-06-14dts: am64x: binman: Include firmware capsules binman nodesJonathan Humphreys
Fill in the am64x SK's capsule GUID properties of the base binman capsule nodes. Signed-off-by: Jonathan Humphreys <[email protected]>
2024-06-14dts: ti: binman: Add base K3 firmware capsule nodesJonathan Humphreys
Create capsule files for tiboot3.bin, tispl.bin, and u-boot.img. Signed-off-by: Jonathan Humphreys <[email protected]>
2024-06-14tools: Build mkeficapsule tool by default if EFI_LOADER is setJonathan Humphreys
Trigger the building of the mkeficapsule tool if EFI_LOADER is enabled. Previously it was triggered on EFI_CAPSULE_ON_DISK, but mkeficapsule is needed when a capsule is being generated for a bootloader stage, not just from the stage applying them. EFI_LOADER is a more accurate approximation of when a capsule may need to be generated. Signed-off-by: Jonathan Humphreys <[email protected]>
2024-06-14configs: add defconfigs for the am625-lp-skBryan Brattlof
The am62x-lp-sk is a package and reference board spin of the am62x-sk to showcase the low-power features of the am62x SoC family. Because it so closely resembles the am62x-sk board, use the preprocessor to inherit its configuration making the needed changes for this board where necessary. Reviewed-by: Dhruva Gole <[email protected]> Signed-off-by: Bryan Brattlof <[email protected]>
2024-06-14arm: dts: add U-Boot dtbs for the am625-lp-skNitin Yadav
Add the U-Boot device tree overrides for the am62x-lp-sk reference board. Signed-off-by: Nitin Yadav <[email protected]> Reviewed-by: Dhruva Gole <[email protected]> Signed-off-by: Bryan Brattlof <[email protected]>
2024-06-14arm: dts: am62a7_sk: Switch to OF_UPSTREAMNishanth Menon
Enable OF_UPSTREAM for am62a7-sk board. Remove DT files that are now available in dts/upstream. Update the appended files based on version of latest OF_UPSTREAM sync point (v6.10-rc1). Signed-off-by: Nishanth Menon <[email protected]> Reviewed-by: Bryan Brattlof <[email protected]> Reviewed-by: Dhruva Gole <[email protected]>
2024-06-14arm: dts: am625_sk: Switch to OF_UPSTREAMNishanth Menon
Enable OF_UPSTREAM for am625-sk board. Remove DT files that are now available in dts/upstream. Update the appended files based on version of latest OF_UPSTREAM sync point (v6.10-rc1). Signed-off-by: Nishanth Menon <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Tested-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Bryan Brattlof <[email protected]> Reviewed-by: Dhruva Gole <[email protected]>
2024-06-14arm: dts: am625_beagleplay: Switch to OF_UPSTREAMNishanth Menon
Enable OF_UPSTREAM for AM625-beagleplay board. Remove DT files that are now available in dts/upstream. Update the appended files based on version of latest OF_UPSTREAM sync point (v6.10-rc1). Signed-off-by: Nishanth Menon <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Bryan Brattlof <[email protected]> Reviewed-by: Dhruva Gole <[email protected]>
2024-06-14block: Update BLK to be def_boolTom Rini
At this point in the DM migration, all platforms enable DM. BLK requires DM. Make BLK "def_bool y" in the cases it had been "default y" to make this clearer. Now remove the symbol requirement from other places as it is redundant here. Signed-off-by: Tom Rini <[email protected]>
2024-06-14spl: nvme: Make this depend on SPL_BLKTom Rini
As this is an SPL related driver, and in SPL enabling SPL_BLK is optional, make this depend on the correct symbol. Signed-off-by: Tom Rini <[email protected]>
2024-06-14efi_loader: select BLK not depends on BLKTom Rini
The BLK symbol is used both for "we have a block device subsystem enabled" and "we need to utilize the block device library functions". In the case of efi_loader, it is the case of "we need to utilize the block device library", so select rather than depends on it. In turn, also disable EFI_LOADER on platforms which did not have it on previously due to a lack of block devices. They can enable it themselves if desired. Acked-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-06-14Merge tag 'u-boot-imx-master-20240614' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/21125 - Update imx8mn_s2 DDR initialization to fix USB boot.
2024-06-14board: imx8mn_s2: Update timing with production oneMichael Trimarchi
The timing upstream was wrong corresponding to the production. This come evident after commit b614ddb5d33 (ddr: imx: Save the FW loading if it hasn't changed). This change fix booting from usb Signed-off-by: Michael Trimarchi <[email protected]>
2024-06-14Merge tag 'u-boot-stm32-20240614' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm STM32MP1: _ Fix spl compilation warning _ Fix optee_get_reserved_memory() _ Fix livetree conversion on STM32MP15xx DHSOM
2024-06-14ARM: stm32: Fix livetree conversion on STM32MP15xx DHSOMMarek Vasut
Unlike fdt_node_check_compatible() which returns 0 if node is compatible, ofnode_device_is_compatible() return true which is non-zero if node is compatible. The intention of the code is to exit from the function in case the node is not compatible with "micrel,ks8851-mll". Add the missing invert into the conditional to reinstate original behavior. This exposes a follow up problem caused by conversion to DM based FMC2 EBI driver, where the FMC2 EBI is not configured when accessed by this code. Probe the KS8851 MAC, which also configures the FMC2 EBI as a dependency, so that the KS8851 MAC CCR register can be accessed over the FMC2 EBI bus and checked for EEPROM present bit. Fixes: 5a605b7c8615 ("board: dhelectronics: stm32mp1: convert to livetree") Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2024-06-14stm32mp1: spl: Update optee_get_reserved_memory() return valuePatrice Chotard
In case node "/reserved-memory/optee" is not found, return -ENOENT instead of 0. Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>