summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-12-06risc-v: qemu: imply NVME_PCIHeinrich Schuchardt
CONFIG_NVME=y without CONFIG_NVME_PCI=y does not provide working NVMe support. Instead of implying CONFIG_NVME we must imply CONFIG_NVME_PCI which will select CONFIG_NVME. Fixes: e64db0d92e32 ("riscv: qemu: Enable e1000 and nvme support") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Mark Kettenis <[email protected]>
2023-12-05configs: visionfive2: Enable watchdog driverChanho Park
Enables StarFive Watchdog driver and WDT command. Signed-off-by: Chanho Park <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-12-05riscv: dts: jh7110: Add watchdog device tree nodeChanho Park
Adds jh7110 watchdog device tree node. Signed-off-by: Chanho Park <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-12-05watchdog: Add StarFive Watchdog driverChanho Park
Add to support StarFive watchdog driver. The driver is imported from linux kernel's drivers/watchdog/starfive-wdt.c without jh7100 support because there is no support of jh7100 SoC in u-boot yet. Howver, this patch has been kept the variant coding style because JH7100 can be added later and have a consistency with the linux driver. Signed-off-by: Chanho Park <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-12-05clk: starfive: jh7110: Add watchdog clocksChanho Park
Add JH7110_SYSCLK_WDT_APB and JH7110_SYSCLK_WDT_CORE clocks for JH7110 watchdog device. Signed-off-by: Chanho Park <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-12-04Merge tag 'v2024.01-rc4' into nextTom Rini
Prepare v2024.01-rc4 # -----BEGIN PGP SIGNATURE----- # # iQGzBAABCgAdFiEEGjx/cOCPqxcHgJu/FHw5/5Y0tywFAmVuHrwACgkQFHw5/5Y0 # tyy3Tgv+LB/X0ZR3IHnu1mvQ7kpOFvAjjKr0BUpcEEzsrDZeJnS6sy06m+REez2E # UmuLeKFj5NUCYXNKtxn2+gVnJt8Tk6ftxhMTiZHmR4Y4NVc5aPtqYmVsv6Q29j0U # mcg7AGcZTniu9/naNM+ZcDeHzLDAB0whmE9eVfixXVgyitILoLHNdFiQ7W4oR7Kh # /mBgdMDBS3rqiRi6CuqKUnl4ADX8T3AXaSfi3hqOC5Pj+HPkZSUfyWx31mu9mN1D # wXTHASZX06Dop25fm/ZSdWk1blBw29WqRiJBdwNatvyC5pqMsotTvAfH2AcHBEYg # tpoper+WDOBAipt6b6Y1B7q4VPvJ97L9dFCAYqN0nGCe+rkdi+k+cly7M6Ye9xLt # e7rVUfnKgIMP8jkLcVBYoWkFY5FiJ82O5qjoF5N3dAuHeWacDFsB5TugDTOQvblH # LWCmcIyU1N9Ma/Ib0rTvNduvpBUYBKXYlD1+rjPZUbTUnfc79mf+ReFpcoW6Kxh+ # bkz81p8P # =ebIZ # -----END PGP SIGNATURE----- # gpg: Signature made Mon 04 Dec 2023 01:47:24 PM EST # gpg: using RSA key 1A3C7F70E08FAB1707809BBF147C39FF9634B72C # gpg: Good signature from "Thomas Rini <[email protected]>" [ultimate]
2023-12-05efi_loader: Make DisconnectController follow the EFI specIlias Apalodimas
commit 239d59a65e20 ("efi_loader: reconnect drivers on failure") tried to fix the UninstallProtocol interface which must reconnect any controllers it disconnected by calling ConnectController() in case of failure. However, the reconnect functionality was wired in efi_disconnect_all_drivers() instead of efi_uninstall_protocol(). As a result some SCT tests started failing. Specifically, BBTestOpenProtocolInterfaceTest333CheckPoint3() test - Calls ConnectController for DriverImageHandle1 - Calls DisconnectController for DriverImageHandle1 which will disconnect everything apart from TestProtocol4. That will remain open on purpose. - Calls ConnectController for DriverImageHandle2. TestProtocol4 which was explicitly preserved was installed wth BY_DRIVER attributes. The new protocol will call DisconnectController since its attributes are BY_DRIVER|EXCLUSIVE, but TestProtocol4 will not be removed. The test expects EFI_ACCESS_DENIED which works fine. The problem is that DisconnectController, will eventually call EFI_DRIVER_BINDING_PROTOCOL.Stop(). But on the aforementioned test this will call CloseProtocol -- the binding protocol is defined in 'DBindingDriver3.c' and the .Stop function uses CloseProtocol. If that close protocol call fails with EFI_NOT_FOUND, the current code will try to mistakenly reconnect all drivers and the subsequent tests that rely on the device being disconnected will fail. Move the reconnection in efi_uninstall_protocol() were it belongs. Fixes: commit 239d59a65e20 ("efi_loader: reconnect drivers on failure") Signed-off-by: Ilias Apalodimas <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-12-05efi_loader: create memory reservations in ACPI caseHeinrich Schuchardt
ACPI tables cannot convey memory reservations for ARM and RISC-V. x86 uses the BIOS E820 table for this purpose. We cannot simply ignore the device-tree when booting via ACPI. We have to assign EfiReservedMemory according to the prior stage device-tree ($fdtaddr) or as fallback the control device-tree ($fdtcontroladdr). Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-12-05efi: Correct display of table GUIDsSimon Glass
The printf() %pU option decodes GUIDs so it is not necessary to do this first. Drop the incorrect code. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-12-05efi: Collect the ACPI tables in the appSimon Glass
Locate these so that they can be displayed using the 'acpi' command. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-12-05scripts/Makefile.lib: print error when no public key is specifiedMasahisa Kojima
The current build system embeds the EFI Signature List(ESL) into the dtb to be used in the EFI capsule authentication. This ESL file is specified through the CONFIG_EFI_CAPSULE_ESL_FILE Kconfig option. If CONFIG_EFI_CAPSULE_ESL_FILE is not specified, U-boot build ends up with failure but the cause of failure is not easily understandable. Current error message is as follows. FATAL ERROR: Error reading file into data: Is a directoryCheck /home/ubuntu/src/ledge/u-boot/arch/arm/dts/.synquacer-sc2a11-developerbox.dtb.pre.tmp for errors make[2]: *** [scripts/Makefile.lib:355: arch/arm/dts/synquacer-sc2a11-developerbox.dtb] Error 1 make[1]: *** [dts/Makefile:44: arch-dtbs] Error 2 make: *** [Makefile:1165: dts/dt.dtb] Error 2 make: *** Waiting for unfinished jobs.... This commit shows the error message that CONFIG_EFI_CAPSULE_ESL_FILE must be specified when the EFI capsule authentication is enabled, then terminate the build with error. Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Weizhao Ouyang <[email protected]>
2023-12-05doc: sending_patches.rst: s/Superseeded/SupersededMattijs Korpershoek
This is a common typo listed in scripts/spelling.txt. Fix it to match the patchwork status, which is superseded. Signed-off-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2023-12-05doc: clang: Update and correct support notesTom Rini
At this point, clang can be used on both 32bit and 64bit targets without issue. Make note of logic we have that will inform clang of the architecture to build for. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-12-05sandbox: Fix VPL instructionsSimon Glass
Fix the devicetree used with sandbox. This is needed because the default (full) devicetree must be used by all phases of boot, with sandbox. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-12-04Prepare v2024.01-rc4v2024.01-rc4Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2023-12-04efi_loader: generated SMBIOS table below 4 GiBHeinrich Schuchardt
We currently use an outdated format 32-bit format for SMBIOS tables. So we must allocate SMBIOS tables below 4 GiB. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Tested-by: Ilias Apalodimas <[email protected]>
2023-12-04Merge branch 'master' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-watchdog - Correct watchdog timeout print message (Chanho Park)
2023-12-04watchdog: Correct watchdog timeout print messageChanho Park
The wdt_start function takes timeout_ms as a parameter and starts the watchdog with this value. However, when you output the message, it shows the default timeout value for the watchdog device. So this patch fixes that part to output the correct timeout value. Before --> StarFive # wdt start 3000 WDT: Started watchdog@13070000 without servicing (60s timeout) After --> StarFive # wdt start 3000 WDT: Started watchdog@13070000 without servicing (3s timeout) Fixes: c2fd0ca1a822 ("watchdog: Integrate watchdog triggering into the cyclic framework") Signed-off-by: Chanho Park <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2023-12-03Merge branch 'master-rpc-off' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-sh
2023-12-02Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-usbTom Rini
- USB XHCI fixes
2023-12-02ARM: dts: renesas: Disable RPC driver on R8A779G0 V4H White Hawk boardCong Dang
As requirement of CR side, QSPI Flash usage via RPC driver shall be disabled and leaving the control of this module to CR side. Perform DT modification to disable the RPC SPI. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Cong Dang <[email protected]> Signed-off-by: Marek Vasut <[email protected]> [Marek: Do not modify defconfig, modify the DT instead, this way the RPC SPI can be enabled without recompiling the U-Boot itself. Update commit message accordingly.]
2023-12-02ARM: dts: renesas: Clean up R8A779G0 V4H RPC SPI DT nodeMarek Vasut
Use the phandle reference to &rpc node in arch/arm/dts/r8a779g0.dtsi and remove properties which are already in arch/arm/dts/r8a779g0.dtsi. No functional change and no resulting DT change. Signed-off-by: Marek Vasut <[email protected]>
2023-12-01usb: USB_XHCI_PCI depends on PCIHeinrich Schuchardt
Compiling with CONFIG_USB_XHCI_PCI and CONFIG_PCI=n results in usb/host/xhci-pci.c:48:(.text.xhci_pci_probe+0x44): undefined reference to `dm_pci_write_config32 Add the missing Kconfig dependency. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Mark Kettenis <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-12-01usb: dwc3-generic: Use combined glue and ctrl node for RK3588Jonas Karlman
Like Rockchip RK3328 and RK3568, the RK3588 also have a single node to represent the glue and ctrl for USB 3.0. Use rk_ops as driver data to select correct ctrl node for RK3588 DWC3. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-12-01usb: storage: Use the correct CBW lengthsHector Martin
USB UFI uses fixed 12-byte commands (as does RBC, which is not supported), but SCSI does not have this limitation. Use the correct command block lengths depending on the subclass. Signed-off-by: Hector Martin <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-12-01usb: hub: Add missing reset recovery delayHector Martin
Some devices like YubiKeys need more time before SET_ADDRESS. The spec says we need to wait 10ms. Signed-off-by: Hector Martin <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-12-01usb: xhci: Fix DMA address calculation in queue_trbHector Martin
We need to get the DMA address before incrementing the pointer, as that might move us onto another segment. Signed-off-by: Hector Martin <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-12-01usb: xhci: Do not panic on event timeoutsHector Martin
Now that we always check the return value, just return NULL on timeouts. We can still log the error since this is a problem, but it's not reason to panic. Signed-off-by: Hector Martin <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-12-01usb: xhci: Fail on attempt to queue TRBs to a halted endpointHector Martin
This isn't going to work, don't pretend it will and then end up timing out. Signed-off-by: Hector Martin <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-12-01usb: xhci: Recover from halted bulk endpointsHector Martin
There is currently no codepath to recover from this case. In principle we could require that the upper layer do this explicitly, but let's just do it in xHCI when the next bulk transfer is started, since that reasonably implies whatever caused the problem has been dealt with. Signed-off-by: Hector Martin <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-12-01usb: xhci: Allow context state errors when halting an endpointHector Martin
There is a race where an endpoint may halt by itself while we are trying to halt it, which results in a context state error. See xHCI 4.6.9 which mentions this case. This also avoids BUGging when we attempt to stop an endpoint which was already stopped to begin with, which is probably a bug elsewhere but not a good reason to crash. Signed-off-by: Hector Martin <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-12-01usb: xhci: Better error handling in abort_td()Hector Martin
If the xHC has a problem with our STOP ENDPOINT command, it is likely to return a completion directly instead of first a transfer event for the in-progress transfer. Handle that more gracefully. We still BUG() on the error code, but at least we don't end up timing out on the event and ending up with unexpected event errors. Signed-off-by: Hector Martin <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-12-01usb: xhci: Guard all calls to xhci_wait_for_eventHector Martin
xhci_wait_for_event returns NULL on timeout, so the caller always has to check for that. This addresses immediate explosions in this part of the code when timeouts happen, but not the root cause for the timeout. Signed-off-by: Hector Martin <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-11-30Merge branch 'staging' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-tegra into next Device tree improvents for Paz00 and DM PMIC convertion of recently merged Tegra boards.
2023-11-29Merge branch '2023-11-29-assorted-platform-updates' into nextTom Rini
- Add a TFTP put test, a few TI Keystone 2 updates, fix stack-protector for PowerPC, fixes in lib/slre, timer-uclass and pvblock.
2023-11-29ARM: keystone2: Remove unneeded inclusions of common.hAndrew Davis
Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-11-29configs: keystone2: Do not include hardware.hAndrew Davis
This is a hacky way to have this file included in all source files that include common.h, instead just include from the files that need it. Signed-off-by: Andrew Davis <[email protected]>
2023-11-29configs: keystone2: Remove unused SPL_MALLOC_F_SIZE and KEYSTONE_SPL_STACK_SIZEAndrew Davis
These are leftover definitions. While here cleanup some leftover comments. Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-11-29Fix stack-protector for powerpcChristophe Leroy
On powerpc, stack protector expects a function called __stack_chk_fail_local() instead of __stack_chk_fail() And some versions of GCC for powerpc default to TLS canary instead of global canary, so always force GCC to use global canary with -mstack-protector-guard=global Cc: Joel Peshkin <[email protected]> Fixes: 4e9bce12432 ("Add support for stack-protector") Signed-off-by: Christophe Leroy <[email protected]>
2023-11-29xen: pvblock: fix the maximum io size in one operationAKASHI Takahiro
The current implementation may cause BUG_ON() in blkfront_aio() BUG_ON(n > BLKIF_MAX_SEGMENTS_PER_REQUEST); In pvblock_iop(), a read/write operation will be split into smaller chunks of data so that the size in one access (aio_nbytes) is limited to, at the maximum, BLKIF_MAX_SEGMENTS_PER_REQUEST * PAGE_SIZE But this works only if when the *buffer* passed in to pvblock_io() is page-aligned. If not, the given data region may stand across (BLKIF_MAX_SEGMENTS_PER_REQUEST + 1) pages. See the logic in blkfront_aio(): start = (uintptr_t)aiocbp->aio_buf & PAGE_MASK; end = ((uintptr_t)aiocbp->aio_buf + aiocbp->aio_nbytes + PAGE_SIZE - 1) & PAGE_MASK; Then this will lead to BUG_ON() above. This can be fixed by decreasing the maximum size of aio_nbytes. Signed-off-by: AKASHI Takahiro <[email protected]> Fixes: commit 3a739cc6c948 ("xen: pvblock: Implement front-back protocol and do IO")
2023-11-29timer-uclass: Always use "clock-frequency" property as fallbackAlex Bee
Currently the "clock-frequency" DT property is only being considered as an fallback if either there is no clock driver, the clock driver implements the request-op correctly or there is no clock defined for the timer at all. This patch makes "clock-frequency" also being picked as a fallback if getting the clock-rate fails, since clk_get(_by_index) will return no error, if a clock driver does not implement the request-op and does also not support getting the rate of the clock in question. timer_post_probe will take care if the property does not exist in the DT or is defined as 0. Signed-off-by: Alex Bee <[email protected]>
2023-11-29lib/slre: Fix memory leak if regex compilation failsFrancois Berder
Signed-off-by: Francois Berder <[email protected]>
2023-11-29test/py: net: Add a TFTP put testLove Kumar
Execute tftpput command for uploading files to a server and validate its size & CRC32. Signed-off-by: Love Kumar <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2023-11-28Merge patch series "cmd: add scmi command"Tom Rini
To quote the author: "Scmi" command will be re-introduced per Michal's request. The functionality is the same as I put it in my patch set of adding SCMI base protocol support, but made some tweak to make UT, "ut dm scmi_cmd," more flexible and tolerable when enabling/disabling a specific SCMI protocol for test purpose. Each commit may have some change history inherited from the preceding patch series. Test ==== The patch series was tested on the following platforms: * sandbox
2023-11-28test: dm: add scmi command testAKASHI Takahiro
In this test, "scmi" command is tested against different sub-commands. Please note that scmi command is for debug purpose and is not intended in production system. Signed-off-by: AKASHI Takahiro <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Etienne Carriere <[email protected]>
2023-11-28doc: cmd: add documentation for scmiAKASHI Takahiro
This is a help text for scmi command. Signed-off-by: AKASHI Takahiro <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Etienne Carriere <[email protected]>
2023-11-28cmd: add scmi command for SCMI firmwareAKASHI Takahiro
This command, "scmi", may provide a command line interface to various SCMI protocols. It supports at least initially SCMI base protocol and is intended mainly for debug purpose. Signed-off-by: AKASHI Takahiro <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Etienne Carriere <[email protected]>
2023-11-28firmware: scmi: support protocols on sandbox only if enabledAKASHI Takahiro
This change will be useful when we manually test SCMI on sandbox by enabling/disabling a specific SCMI protocol. Signed-off-by: AKASHI Takahiro <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-11-28test: dm: skip scmi tests against disabled protocolsAKASHI Takahiro
This is a precautionary change to make scmi tests workable whether or not a specific protocol be enabled. If a given protocol is not configured, we skip the test by returning -EAGAIN. Signed-off-by: AKASHI Takahiro <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-11-28Merge patch series "fs: fat: calculate FAT type based on cluster count"Tom Rini
To quote the author: This series fixes an issue where the FAT type (FAT12, FAT16) is not correctly detected, e.g. when the BPB field BS_FilSysType contains the valid value "FAT ". This issue occures, for example, if a partition is formatted by swupdate using its diskformat handler. swupdate uses the FAT library from http://elm-chan.org/fsw/ff/ internally. See https://groups.google.com/g/swupdate/c/7Yc3NupjXx8 for a discussion in the swupdate mailing list. Please refer to the commit messages for more details. 1. Added bootsector checks Most tests from https://www.win.tue.nl/~aeb/linux/fs/fat/fat-2.html are added in the commit 'fs: fat: add bootsector validity check'. Only the tests VIII, IX and X are not implemented. I also checked the Linux kernel code (v6.6) and did not find any checks on 'vistart->fs_type'. This is the reason why is skipped them here. See section '2. Size comparisons' for the impact on the binary size. 2. Size comparisons I executed bloat-o-meter from the Linux kernel for an arm64 target (config xilinx_zynqmp_mini_emmc0_defconfig): Comparison of the binary spl/u-boot-spl between master (rev e17d174773e9ba9447596708e702b7382e47a6cf) and this patch series (including the added validity checks of the boot sector): add/remove: 0/0 grow/shrink: 1/1 up/down: 100/-12 (88) Function old new delta read_bootsectandvi 308 408 +100 fat_itr_root 444 432 -12 Total: Before=67977, After=68065, chg +0.13% When compare the size of the binary spl/u-boot-spl between master this series without the the validity checks of the boot sector: add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-24 (-24) Function old new delta read_bootsectandvi 308 296 -12 fat_itr_root 444 432 -12 Total: Before=67977, After=67953, chg -0.04% So the size of the spl on this arm64 target increases by 88 bytes for this series. When i remove the validity check the size decreases by 24 bytes.