- Apr 09, 2025
-
-
The ROCK 5B and ROCK 5B+ are quite similar, but there are also a few changes, which require a different device tree. Most of the changes are not easily detectable at runtime, but it is possible to tell the boards apart by checking the memory type. All ROCK 5B models use LPDDR4 and all ROCK 5B+ models use LPDDR5. Signed-off-by:
Sebastian Reichel <sebastian.reichel@collabora.com>
-
This is a simple copy of the latest RK3588 DT from upstream Linux including the ROCK 5B+ devicetree, which I'm currently working on. The goal is a combined U-Boot image, which works on the ROCK 5B and the ROCK 5B+ and chooses the correct DT file at runtime. Signed-off-by:
Sebastian Reichel <sebastian.reichel@collabora.com>
-
PU\PD resistors on CC lines must be configured before running the TCPM state machine. Also, when the Type-C port acts as a host (SRC), the VBUS sould be enabled only after the toggling has been completed. And we have to wait for the corresponding IRQ to finish the toggling process. But this doesn't happen because we exit from tcpm_poll_event() if VBUS != OK. So, Let's check for VBUS state only when the port acts as a host (SRC) to solve this problem. Signed-off-by:
Maksim Kiselev <bigunclemax@gmail.com> Link: https://lore.kernel.org/r/20241101103501.21432-4-bigunclemax@gmail.com Signed-off-by:
Sebastian Reichel <sre@ring0.de>
-
Add support for VBUS supply regulator. When our type-c port acts as a host(SRC), this regulator used for control VBUS supply. Signed-off-by:
Maksim Kiselev <bigunclemax@gmail.com> Link: https://lore.kernel.org/r/20241101103501.21432-3-bigunclemax@gmail.com Signed-off-by:
Sebastian Reichel <sre@ring0.de>
-
Add newline character in dev_dbg end. Signed-off-by:
Maksim Kiselev <bigunclemax@gmail.com> Acked-by:
Sebastian Reichel <sebastian.reichel@collabora.com> Link: https://lore.kernel.org/r/20241101103501.21432-2-bigunclemax@gmail.com Signed-off-by:
Sebastian Reichel <sre@ring0.de>
-
Print the textual representation from the PD 3.2 specification for control message types instead of the 5 bit message ID. Signed-off-by:
Sebastian Reichel <sebastian.reichel@collabora.com>
-
On Radxa ROCK 5B I managed to get U-Boot into an endless loop of printing fusb302 usb-typec@22: TCPM: data role mismatch, initiating error recovery messages by changing the data role in Linux and then rebooting the system. This is happening because the external device (A cheap USB-C hub powered through a USB-C PD power-supply) kept its state and the error recovery path for non self-powered devices is not enough to change it. Avoid this by swapping our own data role. Right now data support is limited anyways and once proper support is added we can use the data role swap request to get the desired data direction. Signed-off-by:
Sebastian Reichel <sebastian.reichel@collabora.com>
-
A USB-PD hard reset involves removing the voltage from VBUS for some time. So basically it has the same effect as removing the USB-C plug for a short moment. If the machine is powered from the USB-C port and does not have a fallback supply (e.g. a battery), this will result in a full machine reset due to power loss. Ideally we want to avoid triggering a hard reset on these boards. A non-working USB-C port is probably better than unplanned reboots. But boards with a backup supply should do the hard reset to get everything working again. In theory it would be enough to check the self_powered property, but it seems the property might not be configured consistently enough in system firmwares. So let's start with just printing an error message when a hard reset is triggered on systems we expect to be affected. This at least makes debugging issues on affected systems easier without impacting unaffected systems too much. Signed-off-by:
Sebastian Reichel <sebastian.reichel@collabora.com>
-
The current TCPM code implements source capability message handling according to the USB-PD specification. Unfortunately some USB PD sources do not properly follow the specification and do not send source capability messages after a soft reset when they already negotiated a specific contract before. The current way (and what is described in the specificiation) to resolve this problem is triggering a hard reset. But a hard reset is fatal on batteryless platforms powered via USB-C PD, since that removes VBUS for some time. Since this is triggered at boot time, the system may get stuck in a boot loop. For example I noticed the following behaviour on a Radxa Rock 5B: The leak voltage from a serial connection is enough to keep the fusb302 register state. Since U-Boot configures the fusb302 into auto-acknowledge mode, the chip will acknowledge a source capability message before U-Boot has probed the fusb302/tcpm driver after a hard reset happened. For a compliant power-supply this is not a problem, since the driver first of all sends a soft reset. But the non-compliant power-supply does not start sending new source capability messages and U-Boot will react with a hard reset resulting in a boot loop. Note, that I changed the Linux kernel TCPM code in the same way some time ago. While U-Boot is only affected because of the leak voltage problem, Linux needs this because U-Boot already handles the initial communication. Signed-off-by:
Sebastian Reichel <sebastian.reichel@collabora.com>
-
When the Rock 5B is booted with the current TCPM with its power supplied by a "Cambrionix PDSync-C4" port it reaches the power-supply ready state. Once that has happened the hub starts sending GetSinkCap messages, but U-Boot already stopped processing PD messages. After retrying a bunch of times the hub instead sends soft resets and with those also not being replied to a hard reset will cut off the supply voltage. Since the state machine is already prepared to handle GetSinkCap messages, try to avoid this by handling incoming messages for another 50ms after reaching the ready state. Signed-off-by:
Sebastian Reichel <sebastian.reichel@collabora.com>
-
Some net driver, like rtl8169, can set/get the MAC address from the registers and store it in pdata->enetaddr. When that happens, if there is a mismatch with the environment MAC address, u-boot will show that the MAC address source is DT. This patch ensures that the shown source is "driver" instead to avoid confusion. Signed-off-by:
Detlev Casanova <detlev.casanova@collabora.com>
-
-
On some boards, a MAC address is set based on the CPU ID or other information. This is usually done in the misc_init_r() function. This becomes a problem for net devices that are probed after the call to misc_init_r(), for example, when the ethernet is on a PCI port, which needs to be enumerated. In this case, misc_init_r() will set the ethaddr variable, then, when the ethernet device is probed, if it has a ROM address, u-boot will warn about a MAC address mismatch and use the misc_init_r() address instead of the one in ROM. The operating system later will most likely use the ROM MAC address, which can be confusing. To avoid that, this commit introduces NET_PREFER_ROM_MAC_ADDR that can be set for boards that have such an interface. Signed-off-by:
Detlev Casanova <detlev.casanova@collabora.com>
-
We need prebuilt artifacts for Rock-5B board. Co-developed-by:
Christopher Obbard <chris.obbard@collabora.com> Signed-off-by:
Christopher Obbard <chris.obbard@collabora.com> Co-developed-by:
Eugen Hristev <eugen.hristev@collabora.com> Signed-off-by:
Eugen Hristev <eugen.hristev@collabora.com> Signed-off-by: Sebastian Reichel <sebastian.reichel>
-
Will be replaced by internal pipeline. Signed-off-by:
Sebastian Reichel <sebastian.reichel@collabora.com>
-
Add .ini file for use with boot merger tool to create DDR blob + SPL binary. Signed-off-by:
Eugen Hristev <eugen.hristev@collabora.com>
-
This needs to be reworked, possible into mkimage parameters that can be passed from binman. Or let binman add a "keep-embedded" prop singling mkimage that data should remain embedded. With this we should also be able to remove the u-boot,spl-fifo-mode prop from other rk33 arm64 devices. Signed-off-by:
Jonas Karlman <jonas@kwiboo.se>
-
Per dw_mmc databook, it's recommended to reset the host controller if some data-related error occurred. Implement a reset mechanism. Signed-off-by:
Ziyuan Xu <xzy.xu@rock-chips.com> Co-developed-by:
Jason Zhu <jason.zhu@rock-chips.com> Signed-off-by:
Jason Zhu <jason.zhu@rock-chips.com> [eugen.hristev@collabora.com: modified a bit the variables initialization] Signed-off-by:
Eugen Hristev <eugen.hristev@collabora.com>
-
- Apr 07, 2025
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
Heinrich Schuchardt authored
On Ubuntu 25.04 installing the dependency pyyaml 6.0 fails with License classifiers are deprecated Update PyYAML to the current release. Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
- Apr 06, 2025
-
-
Heinrich Schuchardt authored
It has been reported that memory corruption can occurred because network packages where received after EXIT_BOOT_SERVICES. See the thread starting at [1]. We try to remove all drivers when EXIT_BOOT_SERVICES is called. But * Some network drivers don't call their own stop method when removed. * Some network drivers don't have a remove method. * Some devices have CONFIG_DM_DEVICE_REMOVE=n. Let's call eth_halt() in EXIT_BOOT_SERVICES explicitly. [1] https://lore.kernel.org/all/C101B675-EEE6-44CB-8A44-83F72182FBD6@kohlschutter.com/ Cc: Michael Brown <mcb30@ipxe.org> Reported-by:
Christian Kohlschütter <christian@kohlschutter.com> Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by:
Michael Brown <mcb30@ipxe.org> Reviewed-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org> Tested-by:
Christian Kohlschütter <christian@kohlschutter.com>
-
Heiko Stuebner authored
A recent change tried to speed up EFI booting by not calling dhcp_run from eth_bootdev_hunt() every time. PXE so far relied on that dhcp_run call to get an IP address. Fix that by adding a dhcp_run call to the pxe bootflow, with autoload disabled to only get the ip address and nothing else. Suggested-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Fixes: 1f68057e ("net: eth_bootdev_hunt() should not run DHCP") Signed-off-by:
Heiko Stuebner <heiko@sntech.de>
-
Raymond Mao authored
S/MIME Capabilities (OID: 1.2.840.113549.1.9.15) attributes are expected to be algorithms but neither data nor MS Inderect Data, thus the checker for data type is incorrect. This patch fixes a capsule authentication failure with PKCS#7 message that contains S/MIME capabilities, which formed by the EDK2 GenerateCapsule tool. S/MIME Capabilities are not common attributes in an EFI capsule, thus this failure cannot be reproduced with the capsules generated via mkeficapsule. Fixes: 7de0d155 ("mbedtls: add PKCS7 parser porting layer") Reported-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by:
Raymond Mao <raymond.mao@linaro.org>
-
Tom Rini authored
As reported by Niklas Sombert, enabling bloblist on these platforms means that we currently don't pass SMBIOS tables on to later stages. For the v2025.04 release, disable bloblists as that is sufficient to restore functionality and we will address the underlying problem for the next release. Link: https://lore.kernel.org/u-boot/c1dc7446-d1d0-4ef2-b201-09fc612aa8db@uni-duesseldorf.de Reported-by:
Niklas Sombert <niklas.sombert@uni-duesseldorf.de> Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Apr 04, 2025
-
-
https://source.denx.de/u-boot/custodians/u-boot-amlogicTom Rini authored
- Check interface before comparing it in set_dfu_alt_info() to avoid hard crash on capsule update
-
Neil Armstrong authored
When set_dfu_alt_info() is called, interface can be NULL when called for the EFI capsule, so check it before calling it with strcmp(). Fixes: 12ea40d2 ("ARM: meson: add support for Libre Computer aml-s905d3-cc") Fixes: 9e6e6b03 ("ARM: meson: add support for Libre Computer aml-a311d-cc") Fixes: 75c87c6c ("board: libre-computer: aml-s805x-cc: Enable capsule updates") Reviewed-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org> Link: https://lore.kernel.org/r/20250403-u-boot-fix-set-dfu-alt-info-interface-v1-1-1fdd12463186@linaro.org Signed-off-by:
Neil Armstrong <neil.armstrong@linaro.org>
-
- Apr 03, 2025
-
-
https://source.denx.de/u-boot/custodians/u-boot-efiTom Rini authored
Pull request efi-2025-04-rc6 CI: * https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/25491 Documentation: * correct references to overlay-fdt-boot.txt * build: docker: Fix code highlighting syntax * build: docker: Use code-block for syntax highlighting * Fix typo bootfloe to bootflow UEFI: * Correct the size of the AcpiReclaimMemory region for ACPI tables when using QFW
-
https://source.denx.de/u-boot/custodians/u-boot-at91Tom Rini authored
First set of u-boot-at91 fixes for the 2025.04 cycle: - A single fix for the reset command on sama5d27 boards.
-
Andrew Davis authored
Signed-off-by:
Andrew Davis <afd@ti.com>
-
Heinrich Schuchardt authored
doc/uImage.FIT/overlay-fdt-boot.txt does not exist anymore. Reference the correct section of doc/usage/fit/overlay-fdt-boot.rst. Fixes: 6f6e8bb6 ("doc: Bring in the FIT overlay information") Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
Leonard Anderweit authored
Use ..code-block:: syntax highlighting instead of :: so all bash commands use the same syntax highlighting. Signed-off-by:
Leonard Anderweit <l.anderweit@phytec.de> Reviewed-by:
Quentin Schulz <quentin.schulz@cherry.de>
-
Leonard Anderweit authored
Remove double :: before .. code-block:: bash to correctly highlight the following commands. Signed-off-by:
Leonard Anderweit <l.anderweit@phytec.de> Reviewed-by:
Quentin Schulz <quentin.schulz@cherry.de>
-
Ilias Apalodimas authored
The end of the ACPI table is set to 'addr' instead of 'end'. The ACPI code for QEMU relies on those values to mark memory as 'ACPI Reclaim' and as a result the ACPI RSDP ends up in Boot services Data. Reported-by:
Björn Töpel <bjorn@kernel.org> Fixes: commit 638cc363 ("acpi: enable writing ACPI tables on QEMU") Signed-off-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by:
Heinrich Schuchardt <xypron.glpk@gmx.de>
-
- Apr 01, 2025
-
-
Fabio Estevam authored
Since commit 61040097 ("reset: at91: Add reset driver for basic assert/deassert operations") the "atmel,sama5d3-rstc" compatible for the sama5d2 reset controller in sama5d2.dtsi is not handled by CONFIG_SYSRESET_AT91 anymore, but by CONFIG_RESET_AT91 now. This resulted in the following error, when trying to reset from the U-Boot shell on a sama5d27_wlsom1 board: => reset resetting ... System reset not supported on this platform ### ERROR ### Please RESET the board ### Fix it by enabling the CONFIG_RESET_AT91 driver in all sama5d27 defconfigs. Tested on a sama5d27_wlsom1 board. Based on the fix in commit e1ee52ca ("configs: at91: sam9x60: Switch to new reset driver") Fixes: 61040097 ("reset: at91: Add reset driver for basic assert/deassert operations") Signed-off-by:
Fabio Estevam <festevam@denx.de>
-
- Mar 31, 2025
-
-
https://source.denx.de/u-boot/custodians/u-boot-netTom Rini authored
Pull request net-20250314. kconfig: * Fix submenu for network commands net: * Remove a useless (commented out) line in net-common.h net-lwip: * Remove error print on failed tx * Fix return code of ping_loop() when no ethernet device is found * Remove superfluous newline in help text for tftp
-
Paul Barker authored
The Kconfig parser seems to get confused by the current if conditions following CMD_NET and displays all network command options directly in the "Command line interface" menu instead of in a "Network commands" submenu. To help out Kconfig we can simplify the if conditions, so that the definition of CMD_NET is followed immediately by an if/endif block that contains all network command options. We can also remove nested checks for CMD_NET or (NET || NET_LWIP). Fixes: 98ad145d ("net: lwip: add DHCP support and dhcp commmand") Signed-off-by:
Paul Barker <paul.barker.ct@bp.renesas.com> Reviewed-by:
Jerome Forissier <jerome.forissier@linaro.org>
-
Ilias Apalodimas authored
When an ethernet driver fails to send a frame we print an error in lwIP. But depending on how often that error is it might significantly delay transmissions. For example downloading a big file with the rpi4 spams the console with 'send error: -101', but removing the print makes the file download with an average speed of ~8.5MiB/s since the packets are retransmitted. So let's move it to a 'debug' in lwIP and expect ethernet drivers to handle the failure if it's severe. Signed-off-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by:
Jerome Forissier <jerome.forissier@linaro.org>
-
Jerome Forissier authored
Commit 1d5d292b ("net: split net into net{,-common,-legacy,-lwip}") inadvertendly left a commented out declaration for do_wget() in net-common.h. Remove it. Signed-off-by:
Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org>
-
Jerome Forissier authored
do_ping() expects ping_loop() to return a negative value on error, so that it can propagate it to the caller as CMD_RET_FAILURE. This is not the case when no ethernet device is found, so fix that. Signed-off-by:
Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org>
-
Michael Walle authored
The help text has a newline at the end which will lead to an empty line after the tftpboot when printing the help overview. Remove it. Fixes: 4d4d7838 ("net: lwip: add TFTP support and tftpboot command") Signed-off-by:
Michael Walle <mwalle@kernel.org> Reviewed-by:
Jerome Forissier <jerome.forissier@linaro.org>
-