summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-01-05cmd: efidebug: update output of memory attributesHeinrich Schuchardt
* add EFI_MEMORY_CPU_CRYPTO, EFI_MEMORY_HOT_PLUGGABLE * correct output for EFI_MEMORY_XP * remove duplicate list entry for EFI_MEMORY_UC Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-01-05efi_loader: update EFI specification versionHeinrich Schuchardt
UEFI specification 2.11 has been published. There are no changes relevant for the U-Boot scope. So let us update the supported specification version. Change the comment for the constant to Sphinx style. Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-01-05efi_loader: Expose efi_reinstall_protocol_interface in efi_loader.hAdriano Cordova
This is done so that the device path protocol interface of the network device can be changed internally by u-boot when a new bootfile gets downloaded. Signed-off-by: Adriano Cordova <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-01-05doc: sandbox: Fix the "sb" command nameOlivier L'Heureux
The command name was "sbi" instead of "sb" in "doc/usage/cmd/sb.rst", the file documenting the "sb" command. It is annoying, because the index in the left panel on the <https://docs.u-boot.org/en/latest/usage/cmd/sb.html> page shows no "sb" command, which makes difficult to navigate to the "sb" documentation. Fixed the command name: "sbi" -> "sb". Fixes: ec6d30649cd5 (doc: sandbox: Add docs for the sb command, 2024-10-28) Signed-off-by: Olivier L'Heureux <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-01-05doc: develop: Fix typos and wording in gdb.rstLothar Rubusch
Fix some typos and duplicate words in gdb.rst. Signed-off-by: Lothar Rubusch <[email protected]> Acked-by: Alexander Dahl <[email protected]>
2025-01-05doc: develop: Fix typos and wording in binman/binman.rstLothar Rubusch
Fix some typos and duplicate words in binman.rst. Signed-off-by: Lothar Rubusch <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-01-05efi_loader: Update startimage_exit self-test to check errorSimon Glass
Check for an error returned from the decompress() function, just in case. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-01-05efi_loader: fix pe reloc pointer overrunAleksandar Gerasimovski
The fix provided by 997fc12ec91 is actually introducing a buffer overrun, and the overrun is effective if the memory after the reloc section is not zeroed. Probably that's why this bug is not always noticeable. The problem is that 8-bytes 'rel' pointer can be 4-bytes aligned according to the PE Format, so the actual relocate function can take values after the reloc section. One example is the following dump from the reloc section: bce26000: 3000 0000 000c 0000 0000 0000 0000 0000 bce26010: 7c00 9340 67e0 f900 1c00 0ea1 a400 0f20 This section has two relocations at offset bce26008 and bce2600a, however the given size (rel_size) for this relocation is 16-bytes and this is coming form the efi image Misc.VirtualSize, so in this case the 'reloc' pointer ends at affset bce2600c and is taken as valid and this is where the overflow is. In our system we see this problem when we are starting the Boot Guard efi image. This patch is fixing the overrun while preserving the fix done by 997fc12ec91. Signed-off-by: Aleksandar Gerasimovski <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-01-05efi_loader: Don't warn if the TCG2 FinalEvents table is not installedIlias Apalodimas
When the TCG2 protocol installation fails, we are trying to remove all the objects we created in tcg2_uninit(). However, there are cases when this function runs before the config table was installed. So instead of printing an error unconditionally check against EFI_NOT_FOUND and don't print anything if the table wasn't installed to begin with. Signed-off-by: Ilias Apalodimas <[email protected]>
2025-01-05cmd: bootmenu: add parameter -e for UEFI boot optionsHeinrich Schuchardt
The bootmenu command can display * menu entries defined by environment variables * menu entries defined by UEFI boot options Not in all cases showing the UEFI boot options is desired. Provide a new parameter '-e' to select the display of UEFI boot options. Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-01-05net: eth_bootdev_hunt() should not run DHCPHeinrich Schuchardt
Currently when booting dhcp_run() may be executed multiple times: once in eth_bootdev_hunt() and once in the network booting bootmeth. We need to call eth_bootdev_hunt() when setting up the EFI sub-system to supply the simple network protocol. We don't need an IP address set up. We can reduce the bootime by not executing dhcp_run() in eth_bootdev_hunt(). Furthermore eth_bootdev_hunt() with autostart=yes leads on the legacy network stack leads to downloading a file via TFTP and to booting the downloaded file. Instead of running dchp_run() just check that there is a network device in eth_bootdev_hunt(). Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-01-05CI: xilinx_versal_virt: disable USB_DWC3Heinrich Schuchardt
The CI uses the following command to launch xilinx_versal_virt_defconfig: qemu-system-aarch64 -M xlnx-versal-virt \ -display none -m 4G -serial mon:stdio \ -device loader,file=u-boot,cpu-num=0 'usb start' or invoking eth_bootdev_hunt leads to a crash when function dwc3_core_init() tries to access a register at offset 0xc704 (DWC3_DCTL) relative to the register start address 0xfe20c100. Disable CONFIG_USB_DWC3 in the CI until the driver problem is fixed. Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-01-05configs: sandbox_deconfig: remove CONFIG_AMIGA_PARTITIONHeinrich Schuchardt
We do not actually test the code. Scanning for Amiga partitions of the sandbox is extremely slow, especially on the partially implemented USB device. For build testing the other sandbox defconfigs are good enough. Signed-off-by: Heinrich Schuchardt <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>
2025-01-05test: fix test_extension.pyHeinrich Schuchardt
test_extension.py assumes that no extension is known at test start. This assumption is wrong because we do not come out of reboot. A prior test may have already hunted for the extension bootdev. Remove the invalid assert. Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-01-05efi_loader: avoid writing message in Exit() boot serviceHeinrich Schuchardt
We should not write messages in UEFI API functions. This may lead to incorrect screen layout in UEFI application. For single statements after if clause we don't need braces. Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-01-05examples: use QEMU compatible LOAD_ADDR on RISC-VHeinrich Schuchardt
On some RISC-V including QEMU $loadaddr is 0x80200000. For bootelf to work choose a different LOAD_ADDR to which the demo ELF binary is relocated. Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-01-05examples: use architecture specific memset() on RISC-VHeinrich Schuchardt
Build the architecture specific memset() if configured. Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-01-05examples: implement _start and syscall for RISC-VHeinrich Schuchardt
To build the API examples on RISC-V we need to implement _start and syscall for RISC-V. Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-01-05API: unify platform_sys_info() implementationsHeinrich Schuchardt
ARM, MIPS, and RISCV can use the same implementation of platform_sys_info(). PPC provides some extra information. So keep it separate. Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-01-02doc: man-page for optee commandsVenkatesh Yadav Abbarapu
Provide a man-page for the optee command. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Jerome Forissier <[email protected]>
2025-01-02cmd: Add support for optee commandsVenkatesh Yadav Abbarapu
Add the basic 'hello world ta' command which increment of the value passed. This provides easy test for establishing a session with OP-TEE TA and verify. It includes following "hello world ta" subcommands: optee hello; default value '0' is passed and gets incremented. optee hello <value>; value to increment via OP-TEE HELLO WORLD TA. To enable the OP-TEE side HELLO WORLD example please refer https://optee.readthedocs.io/en/latest/building/gits/optee_examples/optee_examples.html Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Reviewed-by: Jerome Forissier <[email protected]>
2025-01-02configs: am62ax_evm_a53_defconfig: Enable SUPPORT_EMMC_BOOTJudith Mendez
Enable SUPPORT_EMMC_BOOT to help support eMMC boot on am62ax device. Signed-off-by: Judith Mendez <[email protected]>
2025-01-02configs: am62ax_evm_a53_defconfig: Enable MMC_SPEED_MODE_SETJudith Mendez
Enable MMC_SPEED_MODE_SET config option in defconfig to enable changing MMC bus modes with mmc rescan for am62ax device. Signed-off-by: Judith Mendez <[email protected]>
2025-01-02configs: am62ax_evm_r5_defconfig: Enable SDHCI ADMA for r5 SPLJudith Mendez
Enable SPL_MMC_SDHCI_ADMA config option for r5 SPL to improve boot time during r5 SPL stage. Signed-off-by: Judith Mendez <[email protected]>
2025-01-02configs: am62ax_evm_a53_defconfig: Enable MMC UHS modesJudith Mendez
Enable configs required to enable MMC UHS modes in A53 SPL and U-Boot proper. Signed-off-by: Judith Mendez <[email protected]>
2025-01-02configs: am62x_evm_a53_defconfig: Enable MMC UHS modesJudith Mendez
Enable configs required to enable MMC UHS modes in A53 SPL and U-Boot proper. Signed-off-by: Judith Mendez <[email protected]>
2025-01-02configs: am6*_evm_r5/a53_defconfig: Cleanup env configsJudith Mendez
Since we do not load env from MMC device anymore, remove any MMC env config options. Signed-off-by: Judith Mendez <[email protected]>
2025-01-02mach-k3: am62a7_init: Add FS and raw mode for eMMCVignesh Raghavendra
This adds FS and raw boot mode support for eMMC similar to other K3 platforms. Signed-off-by: Vignesh Raghavendra <[email protected]>
2025-01-01Fix neighbor discovery ethernet address savingSean Edmond
When a successful neighbor advertisement is received, the ethernet address should be saved for later use to avoid having to redo the neighbor discovery process. For example, with TFTP the address should get saved into "net_server_ethaddr". This is being done correctly with ARP for IPv4, but not for neighbor discovery with IPv6. Signed-off-by: Sean Edmond <[email protected]> Reviewed-by: Viacheslav Mitrofanov <[email protected]>
2025-01-01net: tftpput: reset timeout_count when an ACK is receivedJerome Forissier
timeout_count is never reset once a tftpput transfer has started. If for whatever reason timeouts occur frequently, but the server keeps replying nonetheless, the transfer may be needlessly aborted. Reset timer_count on reception of an ACK to avoid this situation. Signed-off-by: Jerome Forissier <[email protected]> Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2025-01-01net: phy: Add driver for Motorcomm YT8521S Gigabit ethernet phyFrank Sae
Add driver for Motorcomm YT8521S Gigabit ethernet phy. Signed-off-by: Frank Sae <[email protected]>
2025-01-01net: phy: Add driver for Motorcomm YT8531S Gigabit ethernet phyFrank Sae
Add driver for Motorcomm YT8531S Gigabit ethernet phy. Signed-off-by: Frank Sae <[email protected]>
2025-01-01Bitbanging MDIO driver for DM framework.Markus Gothe
Linux DTS compatible MDIO bitbanging driver. Both clause 22 and clause 45 MDIO supported and validated. Heavily based on the Linux drivers (more or less the same code base). Signed-off-by: Markus Gothe <[email protected]>
2025-01-01net: correct the description of ip_to_string()Heinrich Schuchardt
The output of ip_to_string() is a string. Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-01-01Revert "net: phy: marvell 88e151x: Fix handling of bare RGMII interface type"Rufus Segar
This reverts commit 431be621c6cbc72efd1d45fa36686a682cbb470a. Section 3.3 of Reduced Gigabit Media Independent Interface (RGMII) Version 2.0 (4/1/2002) details that a PHYs using a ~2ns internal delay are referred to as RGMII-ID. This internal delay is optional. Page 147-148 of the Marvell Doc. No. MV-S107146-U0 Rev. F details timings of the RX/TX delays. We see that with the TX/RX_CLK delay enabled, our RX/TX_CTL signal is shifted w.r.t CLK to reflect the delay added. In 431be62 there is no timing difference between RGMII and RGMII-ID, and so programmers wanting to explicitly set their PHY to RGMII will find that delay added anyway. This could throw off timing if that internal delay is undesired. We should be handling all 4 possible RGMII cases of PHY_INTERFACE_MODE: RGMII, RGMII_ID, RGMII_TXID, and RGMII_RXID. Reverting 431be62 implements this. See also m88e1111_config_init_rgmii_delays in the equivalent driver in Linux (drivers/net/phy/marvell.c), which does not set these delays in RGMII mode. 68e6eca was tested out on an 88E1512 PHY in RGMII-ID mode. This reversion has been tested by myself on an 88E1518 in RGMII-ID mode. This patch affects boards using this driver in "rgmii" mode, as the internal delay will no longer be enabled. Namely kikwood-nsa310s. Signed-off-by: Rufus Segar <[email protected]>
2025-01-01net: tftpboot: clear timeout_count on every successful blockMikhail Kshevetskiy
We have a some boards that rarely starts networking abnormally, so there are many timeouts during file transfer. In the same time there is a normal transfer between timeouts. In this case we can continue transfer (instead of connection aborting) by just clearing timeout counter on every successful block. This patch does not affect the case when several timeouts happen one after another. The transfer will be aborted. Thus the transfer will be continued in the case of unstable link, but will be aborted in the case of inaccessible server. Feature downside: it may greatly slowdown (instead of abort) file transfer in the case of unstable link. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2025-01-01Merge patch series "Add 'trace wipe'"Tom Rini
Jerome Forissier <[email protected]> says: This short series adds the 'trace wipe' command which clears the trace buffer, allowing to re-start a capture from scratch. Link: https://lore.kernel.org/r/[email protected]
2024-12-31trace: document 'trace wipe'Jerome Forissier
Add documentation for the 'trace wipe' command. Signed-off-by: Jerome Forissier <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>
2024-12-31test: test_trace.py: test 'trace wipe'Jerome Forissier
Test the newly added 'trace wipe' command. Signed-off-by: Jerome Forissier <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>
2024-12-31trace: add support for 'trace wipe'Jerome Forissier
Implement a 'trace wipe' command to delete the currently accumulated trace data. This comes handy when someone needs to trace a particular command. For example: => trace pause; trace wipe => trace resume; dhcp; trace pause => trace stats => trace calls 0x02100000 0x10000000 => tftpput $profbase $profoffset 192.168.0.16:trace.bin Signed-off-by: Jerome Forissier <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-12-31trace: proftool: dump-ftrace should write funcgraph times in ns not usJerome Forissier
When converting a U-Boot trace records file to ftrace function graph format for use by trace-cmd ('proftool -f funcgraph dump-ftrace'), the time associated to each function is incorrectly saved in microseconds instead of nanoseconds. Multuply the value by 1000 to fix the issue. With this change, the trace-cmd output looks consistent. Here is an example with udelay(25) added to mem_malloc_init() as a test case: $ ./tools/proftool -m System.map -t /tmp/trace.bin -f funcgraph \ dump-ftrace -o /tmp/trace.dat $ trace-cmd report /tmp/trace.dat >/tmp/trace.log $ vi /tmp/trace.log [...] u-boot-1 [000] 6.719659: funcgraph_entry: | mem_malloc_init() { u-boot-1 [000] 6.719659: funcgraph_entry: | udelay() { u-boot-1 [000] 6.719660: funcgraph_entry: | schedule() { u-boot-1 [000] 6.719660: funcgraph_entry: | cyclic_run() { u-boot-1 [000] 6.719660: funcgraph_entry: 1.000 us | cyclic_get_list(); u-boot-1 [000] 6.719661: funcgraph_exit: 1.000 us | } u-boot-1 [000] 6.719661: funcgraph_exit: 1.000 us | } u-boot-1 [000] 6.719661: funcgraph_entry: | __udelay() { u-boot-1 [000] 6.719662: funcgraph_entry: 0.000 us | usec_to_tick(); u-boot-1 [000] 6.719687: funcgraph_exit: + 26.000 us | } u-boot-1 [000] 6.719687: funcgraph_exit: + 28.000 us | } u-boot-1 [000] 6.719687: funcgraph_entry: # 37971.000 us | memset(); u-boot-1 [000] 6.757658: funcgraph_exit: # 37999.000 us | } u-boot-1 [000] 6.757658: funcgraph_exit: # 38000.000 us | } In the above dump, the udelay() call is reported as taking 26 us which is consistent with the timestamps (6.719687 - 6.719659 = 0.000026). Without this patch we would have "0.026 us" instead of "+ 26.000 us". Signed-off-by: Jerome Forissier <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-12-31Merge patch series "Fix OSPI boot for J722S"Tom Rini
Prasanth Babu Mantena <[email protected]> says: This series fixes OSPI boot for J722S. It contains fixes for DMSC communication, R5 regmap for ospi and dma specific overrides for ospi. Test log: https://gist.github.com/PrasanthBabuMantena/ad469dd09ab7263f85f87dadda46c86d Link: https://lore.kernel.org/r/[email protected]
2024-12-31arm: dts: k3-j721e-beagleboneai: Move to OF_UPSTREAMUdit Kumar
Move to using OF_UPSTREAM config and thus using the devicetree subtree and remove unused device tree files. Signed-off-by: Udit Kumar <[email protected]> Acked-by: Sumit Garg <[email protected]>
2024-12-31drivers: firmware: ti_sci: Add DM_FLAG_PRE_RELOC to driverManorit Chawdhry
Currently the driver relies on bootph flag to probe it during PRE_RELOC stage but with the upcoming cleanup of v6.13, we don't have the bootph property in the parent nodes anymore and ti_sci driver being one of the parent nodes required during SPL stage would end up hampering the probe model [0]. Add DM_FLAG_PRE_RELOC to ti_sci driver for mitigating this issue. [0]: https://source.denx.de/u-boot/custodians/u-boot-dm/-/issues/21 Suggested-by: Vignesh Raghavendra <[email protected]> Signed-off-by: Manorit Chawdhry <[email protected]>
2024-12-31arm: dts: k3-am62p-sk-binman: add SE security variant buildsBryan Brattlof
The Texas Instruments Foundational Security (TIFS) firmware must match the security level configured on the SoC. To boot Security Enforced (SE) variants of the AM62Px, add another tiboot3 build which packages the Security Enforced (SE) firmware variant for AM62Px SoCs. Signed-off-by: Bryan Brattlof <[email protected]>
2024-12-31arm: dts: k3-j722s*: Add overrides specific to OSPIVaishnav Achath
OSPI Boot requires overrides specific to R5 and also to use DMA in R5 SPL stage the DM_TIFS needs to be used. Add the corresponding overrides for R5 SPL stage. Signed-off-by: Vaishnav Achath <[email protected]> Signed-off-by: Prasanth Babu Mantena <[email protected]> Reviewed-by: Udit Kumar <[email protected]>
2024-12-31arm: mach-k3: j722_spl: Add FAST XSPI boot modeVaishnav Achath
Fast XSPI boot mode is supported by J722S ROM, add that. Signed-off-by: Vaishnav Achath <[email protected]> Signed-off-by: Prasanth Babu Mantena <[email protected]> Reviewed-by: Udit Kumar <[email protected]>
2024-12-31arm: dts: k3-j722s-r5-evm: Fix DM2TIFS secproxy thread IDVaishnav Achath
Fix the DM2TIFS secureproxy thread ID as per the latest TISCI documentation for J722S. https://software-dl.ti.com/tisci/esd/latest/5_soc_doc/j722s/sec_proxy.html Fixes: fc2da3a3d0d3 ("arm: dts: Introduce J722S U-Boot dts files") Signed-off-by: Vaishnav Achath <[email protected]> Signed-off-by: Prasanth Babu Mantena <[email protected]> Reviewed-by: Udit Kumar <[email protected]>
2024-12-31mailbox: k3-sec-proxy: Add DM to DMSC communication thread for J722SVaishnav Achath
J722S R5 SPL uses sec-proxy threads 28 and 29 for communication with TIFS. Mark these as valid threads in the driver. https://software-dl.ti.com/tisci/esd/latest/5_soc_doc/j722s/sec_proxy.html Signed-off-by: Vaishnav Achath <[email protected]> Signed-off-by: Prasanth Babu Mantena <[email protected]> Reviewed-by: Udit Kumar <[email protected]>
2024-12-31Merge patch series "Cumulative fixes and updates for MediaTek ethernet driver"Tom Rini
Weijie Gao <[email protected]> says: This patch series contains fixes and updates for mtk_eth driver. Link: https://lore.kernel.org/r/[email protected]