]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
8 weeks agoboard: toradex: Make A53 get RAM size from DT in K3 boards
Suhaas Joshi [Thu, 12 Feb 2026 10:28:47 +0000 (15:58 +0530)] 
board: toradex: Make A53 get RAM size from DT in K3 boards

`dram_init()` is called by R5 SPL and U-Boot, both. It starts by
computing the size of the RAM. In verdin-am62(p), it does so by calling
`get_ram_size()`. This function computes the size of the RAM by writing
over the RAM.

When R5 computes the size of the RAM, it does not update the DT with
this size. As a result, when A53 invokes `dram_init()` again, it has to
compute the size through `get_ram_size()` again.

Commit 13c54cf588d82 and 0c3a6f748c9 add firewall over ATF's and OPTEE's
regions. This firewall is added during the R5 SPL stage of boot. So when
A53 attempts to write over RAM in `get_ram_size()`, it writes over the
protected region. Since A53 is a non-secure core, this is blocked by the
firewall.

To fix this, do the following:
    * Implement `spl_perform_board_fixups()` function for verdin-am62
      and verdin-am62p. Make this function call `fixup_memory_node()`,
      which updates the DT.
    * Add an if-block in `dram_init()`, to ensure that only R5 is able
      to call `get_ram_size()`, and that A53 reads this size from the
      DT.

Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
8 weeks agoMerge tag 'xilinx-for-v2026.04-rc3' of https://source.denx.de/u-boot/custodians/u...
Tom Rini [Thu, 12 Feb 2026 14:05:44 +0000 (08:05 -0600)] 
Merge tag 'xilinx-for-v2026.04-rc3' of https://source.denx.de/u-boot/custodians/u-boot-microblaze

AMD/Xilinx/FPGA changes for v2026.04-rc3

clk:
- zynqmp clk fixes

phy:
- sync vsc8541 config

versal2:
- fix GIC configuration

8 weeks agoMerge tag 'u-boot-dfu-20260211' of https://source.denx.de/u-boot/custodians/u-boot-dfu
Tom Rini [Wed, 11 Feb 2026 14:38:19 +0000 (08:38 -0600)] 
Merge tag 'u-boot-dfu-20260211' of https://source.denx.de/u-boot/custodians/u-boot-dfu

u-boot-dfu-20260211

USB Gadget:
* dwc3: Support ip and version type
* dwc3: Increase controller halt timeout
* dwc3: Don't send unintended link state change
* dwc3: Improve reset sequence
* dwc2: Move dr_mode check to bind to support RK3288/RK3506 with
  2 DWC2 controllers

8 weeks agoMerge tag 'tpm-master-11022026' of https://source.denx.de/u-boot/custodians/u-boot-tpm
Tom Rini [Wed, 11 Feb 2026 14:37:44 +0000 (08:37 -0600)] 
Merge tag 'tpm-master-11022026' of https://source.denx.de/u-boot/custodians/u-boot-tpm

A coverity fix and documentation update from Heiko on SM3 support

8 weeks agodoc: cmd: add documentation for sm3sum
Heiko Schocher [Fri, 23 Jan 2026 02:25:52 +0000 (03:25 +0100)] 
doc: cmd: add documentation for sm3sum

add documentation for sm3sum command.

Signed-off-by: Heiko Schocher <hs@nabladev.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
8 weeks agolib: sm3: fix coverity error
Heiko Schocher [Fri, 23 Jan 2026 02:25:51 +0000 (03:25 +0100)] 
lib: sm3: fix coverity error

Coverity scan reported:

CID 449815:         Memory - illegal accesses  (OVERRUN)
Overrunning array of 64 bytes at byte offset 64 by dereferencing pointer
"sctx->buffer + partial". [Note: The source code implementation of the
function has been overridden by a builtin model.]

In line: 252
   memset(sctx->buffer + partial, 0, SM3_BLOCK_SIZE - partial);

The respective line should be:

memset(sctx->buffer + partial, 0, SM3_BLOCK_SIZE - partial - 1);

as partial gets incremented by one before.

Signed-off-by: Heiko Schocher <hs@nabladev.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
8 weeks agonet: phy: mscc: Enable RMII clock output for VSC8541 PHY
Pranav Tilak [Thu, 29 Jan 2026 08:10:54 +0000 (13:40 +0530)] 
net: phy: mscc: Enable RMII clock output for VSC8541 PHY

Set RMII reference clock output to enabled (1) by default for VSC8541
PHY in RMII mode. The RMII specification requires a 50MHz reference
clock, and many board designs expect the PHY to provide this clock to
the MAC controller.

Previously, the driver defaulted rmii_clk_out to 0 (disabled) for all
interface modes, which caused the PHY to not output the required 50MHz
clock. This resulted in MAC-PHY communication failures and prevented
network operations like DHCP from working on RMII-configured boards.

This change alligns with the hardware power-up default behavior and
aligns with both the generic PHY driver and Linux MSCC PHY driver
implementations.

Signed-off-by: Pranav Tilak <pranav.vinaytilak@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/20260129081054.1703479-1-pranav.vinaytilak@amd.com
8 weeks agoarm64: versal2: fix GICD/GICR base addresses for Versal Gen 2
Maheedhar Bollapalli [Tue, 10 Feb 2026 11:02:06 +0000 (12:02 +0100)] 
arm64: versal2: fix GICD/GICR base addresses for Versal Gen 2

Versal2 was using wrong GIC base mappings, causing GICR_TYPER reads to
not match EL1 MPIDR. This led U-Boot to walk beyond the per-CPU GICR
frames, access out-of-range addresses, and hit a synchronous exception
during early gic init percpu while booting up on alternate core
i.e., non cpu0.

Update Versal Gen 2 headers to the correct Versal Gen 2 bases.

Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/d0bc3fe1af8409fcfe505e55fb7042a33b845a4e.1770721325.git.michal.simek@amd.com
8 weeks agoMerge patch series "Update DDR Configurations"
Tom Rini [Tue, 10 Feb 2026 18:57:02 +0000 (12:57 -0600)] 
Merge patch series "Update DDR Configurations"

Santhosh Kumar K <s-k6@ti.com> says:

This series updates the DDR Configurations according to the SysConfig DDR
Configuration tool v0.10.32 for the following devices [1]
 - AM64x EVM
 - AM62x SK
 - AM62x LP SK
 - AM62Ax SK
 - AM62Px SK

Testing:
memtester - 50% of memory for 10 loops - PASSED

[1] https://dev.ti.com/tirex/content/Processor_DDR_Config_0.10.32.0000/docs/REVISION_HISTORY.html

Link: https://lore.kernel.org/r/20260203063529.1551907-1-s-k6@ti.com
8 weeks agoarm: dts: k3-am62p: Update DDR Configurations
Santhosh Kumar K [Tue, 3 Feb 2026 06:35:29 +0000 (12:05 +0530)] 
arm: dts: k3-am62p: Update DDR Configurations

Update the DDR Configurations for AM62Px SK according to the SysConfig
DDR Configuration tool v0.10.32. [1]

[1] https://dev.ti.com/tirex/content/Processor_DDR_Config_0.10.32.0000/docs/REVISION_HISTORY.html

Signed-off-by: Santhosh Kumar K <s-k6@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
8 weeks agoarm: dts: k3-am62a: Update DDR Configurations
Santhosh Kumar K [Tue, 3 Feb 2026 06:35:28 +0000 (12:05 +0530)] 
arm: dts: k3-am62a: Update DDR Configurations

Update the DDR Configurations for AM62Ax SK according to the SysConfig
DDR Configuration tool v0.10.32. [1]

[1] https://dev.ti.com/tirex/content/Processor_DDR_Config_0.10.32.0000/docs/REVISION_HISTORY.html

Signed-off-by: Santhosh Kumar K <s-k6@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
8 weeks agoarm: dts: k3-am62-lp: Update DDR Configurations
Santhosh Kumar K [Tue, 3 Feb 2026 06:35:27 +0000 (12:05 +0530)] 
arm: dts: k3-am62-lp: Update DDR Configurations

Update the DDR Configurations for AM62x LP SK according to the SysConfig
DDR Configuration tool v0.10.32. [1]

[1] https://dev.ti.com/tirex/content/Processor_DDR_Config_0.10.32.0000/docs/REVISION_HISTORY.html

Signed-off-by: Santhosh Kumar K <s-k6@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
8 weeks agoarm: dts: k3-am62x: Update DDR Configurations
Santhosh Kumar K [Tue, 3 Feb 2026 06:35:26 +0000 (12:05 +0530)] 
arm: dts: k3-am62x: Update DDR Configurations

Update the DDR Configurations for AM62x SK according to the SysConfig
DDR Configuration tool v0.10.32. [1]

[1] https://dev.ti.com/tirex/content/Processor_DDR_Config_0.10.32.0000/docs/REVISION_HISTORY.html

Signed-off-by: Santhosh Kumar K <s-k6@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
8 weeks agoarm: dts: k3-am64: Update DDR Configurations
Santhosh Kumar K [Tue, 3 Feb 2026 06:35:25 +0000 (12:05 +0530)] 
arm: dts: k3-am64: Update DDR Configurations

Update the DDR Configurations for AM64x EVM according to the SysConfig
DDR Configuration tool v0.10.32. [1]

[1] https://dev.ti.com/tirex/content/Processor_DDR_Config_0.10.32.0000/docs/REVISION_HISTORY.html

Signed-off-by: Santhosh Kumar K <s-k6@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
8 weeks agodrivers/clk/clk_zynqmp.c: get rid of compiler warning for !CONFIG_CMD_CLK builds
Peter Korsgaard [Mon, 19 Jan 2026 09:54:37 +0000 (10:54 +0100)] 
drivers/clk/clk_zynqmp.c: get rid of compiler warning for !CONFIG_CMD_CLK builds

When built without CONFIG_CMD_CLK, we get a warning about the unused
clk_names variable:

../drivers/clk/clk_zynqmp.c:153:27: warning: ‘clk_names’ defined but not used [-Wunused-const-variable=]
  153 | static const char * const clk_names[clk_max] = {

So also guard it with CONFIG_CMD_CLK to get rid of that.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/20260119095437.2775081-2-peter@korsgaard.com
8 weeks agodrivers/clk/Kconfig: fix "related" typo in help text
Peter Korsgaard [Mon, 19 Jan 2026 09:54:36 +0000 (10:54 +0100)] 
drivers/clk/Kconfig: fix "related" typo in help text

It looks like the original zynqmp typo was copied to versal as well.  Fix
both.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/20260119095437.2775081-1-peter@korsgaard.com
8 weeks agoPrepare v2026.04-rc2 v2026.04-rc2
Tom Rini [Mon, 9 Feb 2026 21:07:50 +0000 (15:07 -0600)] 
Prepare v2026.04-rc2

Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agoarm: spl: Ensure 8 byte alignment of appended DTB without separate BSS
Tom Rini [Thu, 5 Feb 2026 23:41:58 +0000 (17:41 -0600)] 
arm: spl: Ensure 8 byte alignment of appended DTB without separate BSS

Historically, when we have an appended device tree and also our
resulting binary will contain the BSS section, we have ensured that
everything will be where it's expected to be by declaring that the BSS
is overlayed with a symbol matches the end of the port of the ELF binary
that is objcopy'd to the binary we concatenate with. This in turn means
that the logic to generate a "pad" file, which is the size found in the
__bss_size symbol, will be correct and then we can concatenate the
device tree and it will begin at __bss_size at run time.

With commit 5ffc1dcc26d3 ("arm: Remove rel.dyn from SPL linker scripts")
we removed this overlay as part of trying to ensure that we met both the
requirements of the device tree to be 8 byte aligned as well as that our
logic to generate the -pad file would match what ended up in the
resulting binary. While it was correct to remove an unused section it
did not solve ultimately solve the problem for all cases.

To really fix the problem, we need to do two things. First, our final
section prior to _image_binary_end must be 8 byte aligned (for the case
of having a separate BSS and so our appended DTB exists at this
location). This cannot be '.binman_sym_table' as it may be empty, and in
turn the ELF type would be NOBITS and so not copied with objcopy. The
__u_boot_list section will never be empty, so it is our final section,
and ends with a '. = ALIGN(8)' statement. Second, as this is the end of
our copied data it is safe to declare that the BSS starts here, so use
the OVERLAY keyword to place the BSS here.

Fixes: 5ffc1dcc26d3 ("arm: Remove rel.dyn from SPL linker scripts")
Reported-by: Brian Sune <briansune@gmail.com>
Reported-by: Phil Phil Sutter <phil@nwl.cc>
Tested-by: Brian Sune <briansune@gmail.com>
Tested-by: Phil Sutter <phil@nwl.cc>
Tested-by: Greg Malysa <malysagreg@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agoconfigs: Resync with savedefconfig
Tom Rini [Mon, 9 Feb 2026 15:32:19 +0000 (09:32 -0600)] 
configs: Resync with savedefconfig

Resync all defconfig files using qconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agoMerge tag 'net-20260209' of https://source.denx.de/u-boot/custodians/u-boot-net
Tom Rini [Mon, 9 Feb 2026 14:28:01 +0000 (08:28 -0600)] 
Merge tag 'net-20260209' of https://source.denx.de/u-boot/custodians/u-boot-net

Pull request net-20260209.

net:
- airoha: mdio support for the switch
- phy: mscc: allow RGMII with internal delay for the VSC8541
- dwc_eth_qos: Update tail pointer handling

net-legacy:
- Stop conflating return value with file size in net_loop()

net-lwip:
- wget: rework the '#' printing
- tftp: add support of tsize option to client

2 months agoMerge tag 'u-boot-at91-2026.04-a' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Sun, 8 Feb 2026 16:14:45 +0000 (10:14 -0600)] 
Merge tag 'u-boot-at91-2026.04-a' of https://source.denx.de/u-boot/custodians/u-boot-at91

First set of u-boot-at91 features for the 2026.04 cycle:

This small fixes set includes fixing 64 bit builds and some warnings for
the at91 serial driver, and some cleanup on the nand driver.

2 months agoarm: dts: k3-am62d-evm-binman: Fix device tree reference
Paresh Bhagat [Wed, 28 Jan 2026 00:54:53 +0000 (06:24 +0530)] 
arm: dts: k3-am62d-evm-binman: Fix device tree reference

Fix ti-secure content reference from spl_am62a7_sk_dtb to
spl_am62d2_evm_dtb or AM62d dtb. Also remove redundant k3-binman.dtsi
include.

Fixes: 14dfa6b86187 ("Add initial support for AM62D2-EVM")
Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
2 months agoarm: mach-k3: r5: j721e: clk-data: manually set the main_pll3 frequency
Bryan Brattlof [Wed, 28 Jan 2026 12:36:21 +0000 (18:06 +0530)] 
arm: mach-k3: r5: j721e: clk-data: manually set the main_pll3 frequency

Moving forward, DM firmware will no longer mess with the MAIN_PLL3.
This means MAIN_PLL3 will need to be manually set to 2GHz in order for
the CPSW9G HSDIV to have the correct 250MHz output for RGMII.

Signed-off-by: Bryan Brattlof <bb@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
2 months agoMAINTAINERS: Add entry for SMBIOS
Raymond Mao [Wed, 4 Feb 2026 16:31:40 +0000 (11:31 -0500)] 
MAINTAINERS: Add entry for SMBIOS

Add entry for SMBIOS in MAINTAINERS and assign myself as maintainer.

Signed-off-by: Raymond Mao <raymond.mao@riscstar.com>
2 months agoMerge patch series "Add command for getting ramsize in scripts"
Tom Rini [Sat, 7 Feb 2026 17:51:43 +0000 (11:51 -0600)] 
Merge patch series "Add command for getting ramsize in scripts"

Frank Wunderlich <frank-w@public-files.de> says:

Add command for getting ramsize in scripts

Link: https://lore.kernel.org/r/20260204184045.111808-1-linux@fw-web.de
2 months agodoc: cmd: add usage doc for memsize
Frank Wunderlich [Wed, 4 Feb 2026 18:40:44 +0000 (19:40 +0100)] 
doc: cmd: add usage doc for memsize

Add documentation for memsize command.

Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
2 months agotest: cmd: add test for memsize
Frank Wunderlich [Wed, 4 Feb 2026 18:40:43 +0000 (19:40 +0100)] 
test: cmd: add test for memsize

Add a test for memsize command in same way as meminfo.

Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
2 months agocmd: mem: add command for getting ram size for use in scripts
Frank Wunderlich [Wed, 4 Feb 2026 18:40:42 +0000 (19:40 +0100)] 
cmd: mem: add command for getting ram size for use in scripts

Add a command for getting detected ram size with possibility to
assign it to an environment variable.

example usage:

BPI-R4> memsize
4096 MiB
BPI-R4> memsize memsz
BPI-R4> printenv memsz
memsz=4096
BPI-R4>

board with 8GB ram:

BPI-R4> memsize
8192 MiB
BPI-R4> memsize memsz
BPI-R4> printenv memsz
memsz=8192
BPI-R4>

Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
2 months agoMerge patch series "Firewall ATF and OP-TEE memory regions in Sitara"
Tom Rini [Sat, 7 Feb 2026 17:51:14 +0000 (11:51 -0600)] 
Merge patch series "Firewall ATF and OP-TEE memory regions in Sitara"

Suhaas Joshi <s-joshi@ti.com> says:

This series starts by replacing hard-coded addresses in firewall
templates that are defined in k3-binman.dtsi, by Kconfigs. Using
Kconfigs makes it easier for someone to move ATF and OP-TEE to another
location, since they wouldn't have to fiddle with the firewall
configurations in dtsi files.

The rest of the commits in this series add firewall configs to each
device's dtsi files.

I have only tested this patch series with TI boards. For non-TI Sitara
boards, respective board maintainers are requested to test the relevant
patch and confirm whether it works.

To test this, I used `k3conf <read|write> <address> [<value>]`. Both of
these operations were disallowed, as expected.

Link: https://lore.kernel.org/r/20260127081652.506357-1-s-joshi@ti.com
2 months agoarm: dts: k3-am642-phycore-binman: Configure firewall for ATF/OPTEE
Suhaas Joshi [Tue, 27 Jan 2026 08:16:52 +0000 (13:46 +0530)] 
arm: dts: k3-am642-phycore-binman: Configure firewall for ATF/OPTEE

Add firewall configurations to protect ATF and OP-TEE memory regions
from non-secure read's and write's in Phycore AM64 SOM.

Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
2 months agoarm: dts: k3-am64x-binman: Configure firewall for ATF/OPTEE
Suhaas Joshi [Tue, 27 Jan 2026 08:16:51 +0000 (13:46 +0530)] 
arm: dts: k3-am64x-binman: Configure firewall for ATF/OPTEE

Add firewall configurations to protect ATF and OP-TEE memory regions
from non-secure reads and writes in AM64x.

Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
2 months agoarm: dts: k3-am62a-phycore-binman: Configure firewall for ATF/OPTEE
Suhaas Joshi [Tue, 27 Jan 2026 08:16:50 +0000 (13:46 +0530)] 
arm: dts: k3-am62a-phycore-binman: Configure firewall for ATF/OPTEE

Add firewall configurations to protect ATF and OP-TEE memory regions
from non-secure read's and write's in Phycore AM62A SOM.

Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
2 months agoarm: dts: k3-am62a-binman: Configure firewall for ATF/OPTEE
Suhaas Joshi [Tue, 27 Jan 2026 08:16:49 +0000 (13:46 +0530)] 
arm: dts: k3-am62a-binman: Configure firewall for ATF/OPTEE

Add firewall configurations to protect ATF and OP-TEE memory regions
from non-secure reads and writes in AM62A.

Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
2 months agoarm: dts: k3-am62p5-verdin-binman: Configure firewall for ATF/OPTEE
Suhaas Joshi [Tue, 27 Jan 2026 08:16:48 +0000 (13:46 +0530)] 
arm: dts: k3-am62p5-verdin-binman: Configure firewall for ATF/OPTEE

Add firewall configurations to protect ATF and OP-TEE memory regions
from non-secure read's and write's in Verdin AM62P board.

Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
2 months agoarm: dts: k3-am62p-binman: Configure firewall for ATF/OPTEE
Suhaas Joshi [Tue, 27 Jan 2026 08:16:47 +0000 (13:46 +0530)] 
arm: dts: k3-am62p-binman: Configure firewall for ATF/OPTEE

Add firewall configurations to protect ATF and OP-TEE memory regions
from non-secure reads and writes in AM62P.

Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
2 months agoarm: dts: k3-am625-verdin-binman: Configure Firewall for ATF/OPTEE
Suhaas Joshi [Tue, 27 Jan 2026 08:16:46 +0000 (13:46 +0530)] 
arm: dts: k3-am625-verdin-binman: Configure Firewall for ATF/OPTEE

Add firewall configurations to protect ATF and OP-TEE memory regions
from non-secure read's and write's in Verdin AM62 board.

Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
2 months agoarm: dts: k3-am625-phycore-binman: Configure firewall for ATF/OPTEE
Suhaas Joshi [Tue, 27 Jan 2026 08:16:45 +0000 (13:46 +0530)] 
arm: dts: k3-am625-phycore-binman: Configure firewall for ATF/OPTEE

Add firewall configurations to protect ATF and OP-TEE from non-secure
reads and writes in Phycore AM625 SOM.

Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
2 months agoarm: dts: k3-am625-binman: Configure firewall for ATF/OPTEE
Suhaas Joshi [Tue, 27 Jan 2026 08:16:44 +0000 (13:46 +0530)] 
arm: dts: k3-am625-binman: Configure firewall for ATF/OPTEE

Add firewall configurations to protect ATF and OP-TEE memory regions
from non-secure reads and writes in AM62x.

Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
2 months agoarm: dts: k3-binman: Use configs for ATF/OPTEE addresses
Suhaas Joshi [Tue, 27 Jan 2026 08:16:43 +0000 (13:46 +0530)] 
arm: dts: k3-binman: Use configs for ATF/OPTEE addresses

Instead of hard-coding ATF and OPTEE addresses in firewall configuration
templates, use K3_*_LOAD_ADDR. Doing so ensures that if someone moves
ATF/OPTEE regions, the change gets picked up by binman without
explicitly having to modify dts files.

Signed-off-by: Suhaas Joshi <s-joshi@ti.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2 months agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh
Tom Rini [Sat, 7 Feb 2026 13:50:55 +0000 (07:50 -0600)] 
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh

- Enable wget and TCP on R-Car systems

2 months agoMerge tag 'u-boot-imx-master-20260206' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Sat, 7 Feb 2026 13:50:05 +0000 (07:50 -0600)] 
Merge tag 'u-boot-imx-master-20260206' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/29216

- Convert imx8mn_var_som to OF_UPSTREAM and several cleanups.
- Fix ele_ahab buid error on imx93_qsb.
- Add i.MX95 EVK remoteproc support.
- Several i.MX8/9 EVK cleanups.

2 months agomach-imx: ele_ahab: Mitigate imx93_qsb build error
Niko Mauno [Thu, 22 Jan 2026 13:15:52 +0000 (15:15 +0200)] 
mach-imx: ele_ahab: Mitigate imx93_qsb build error

Add include to avoid following build error with imx93_qsb, when
AHAB_BOOT is enabled:

  .../arch/arm/mach-imx/ele_ahab.c:262:24: error: 'IMG_CONTAINER_BASE' undeclared (first use in this function); did you mean 'IMG_CONTAINER_END_BASE'?
  .../arch/arm/mach-imx/ele_ahab.c:477:20: error: 'FSB_BASE_ADDR' undeclared (first use in this function); did you mean 'WDOG_BASE_ADDR'?
  .../arch/arm/mach-imx/ele_ahab.c:543:20: error: 'FSB_BASE_ADDR' undeclared (first use in this function); did you mean 'WDOG_BASE_ADDR'?

Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
2 months agoboard: imx8mn-var-som: compile SPL-only stuff only in SPL build
Hugo Villeneuve [Fri, 6 Feb 2026 20:55:29 +0000 (15:55 -0500)] 
board: imx8mn-var-som: compile SPL-only stuff only in SPL build

SPL-specific stuff is already in spl.c, so avoid compiling other source
files in SPL build.

Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
2 months agoboard: imx8mn-var-som: remove unneeded header files
Hugo Villeneuve [Fri, 6 Feb 2026 20:55:28 +0000 (15:55 -0500)] 
board: imx8mn-var-som: remove unneeded header files

Cleanup the file by removing unneeded header files.

Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
2 months agoboard: imx8mn_var_som: let clock system enable UART clock
Hugo Villeneuve [Fri, 6 Feb 2026 20:55:27 +0000 (15:55 -0500)] 
board: imx8mn_var_som: let clock system enable UART clock

Now that the UART driver can enable the required clocks, remove
the hard-coded clock enable.

Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
2 months agoarm: dts: imx8mn-var-som-symphony: migrate to OF_UPSTREAM
Hugo Villeneuve [Fri, 6 Feb 2026 20:55:26 +0000 (15:55 -0500)] 
arm: dts: imx8mn-var-som-symphony: migrate to OF_UPSTREAM

Switch to OF_UPSTREAM to make use of the upstream device trees.

Remove the now obsolete device tree files:
- imx8mn-var-som-symphony.dts
- imx8mn-var-som.dtsi

Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
2 months agoarm: dts: imx8mn-var-som: add som-eeprom alias to SOM u-boot dtsi
Hugo Villeneuve [Fri, 6 Feb 2026 20:55:25 +0000 (15:55 -0500)] 
arm: dts: imx8mn-var-som: add som-eeprom alias to SOM u-boot dtsi

The som-eeprom alias is specific to U-Boot, and not present in upstream
linux imx8mn-var-som device tree.

Add it to the SOM U-Boot specific device tree file in preparation
for migration to OF_UPSTREAM.

Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
2 months agoarm: dts: imx8mn-var-som: Move SOM-specific nodes to SOM u-boot.dtsi
Hugo Villeneuve [Fri, 6 Feb 2026 20:55:24 +0000 (15:55 -0500)] 
arm: dts: imx8mn-var-som: Move SOM-specific nodes to SOM u-boot.dtsi

Move SOM-specific stuff into a new SOM u-boot.dtsi file.
This way, it can be used by multiple boards.

Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
2 months agotoradex: smarc-imx95: Drop init_uart_clk
Peng Fan [Fri, 6 Feb 2026 15:28:45 +0000 (23:28 +0800)] 
toradex: smarc-imx95: Drop init_uart_clk

Rely on serial driver calling clk_enable to enable the lpuart clk, no
need to do init_uart_clk in board_early_init_f().

Also remove board_early_init_f(), because it is empty now.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2 months agonxp: imx94_evk: Drop init_uart_clk
Peng Fan [Fri, 6 Feb 2026 15:28:44 +0000 (23:28 +0800)] 
nxp: imx94_evk: Drop init_uart_clk

Rely on serial driver calling clk_enable to enable the lpuart clk, no
need to do init_uart_clk in board_early_init_f().

Also remove board_early_init_f(), because it is empty now.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 months agonxp: imx95_evk: Drop init_uart_clk
Peng Fan [Fri, 6 Feb 2026 15:28:43 +0000 (23:28 +0800)] 
nxp: imx95_evk: Drop init_uart_clk

Rely on serial driver calling clk_enable to enable the lpuart clk, no
need to do init_uart_clk in board_early_init_f().

Also remove board_early_init_f(), because it is empty now.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 months agoimx95_evk: Enable remoteproc for i.MX95 EVK
Peng Fan [Mon, 2 Feb 2026 02:57:47 +0000 (10:57 +0800)] 
imx95_evk: Enable remoteproc for i.MX95 EVK

Select remoteproc related configs for i.MX95 EVK to support manage CM7
using 'rproc' cmd.
Update doc to show details on starting CM7 using rproc cmd.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 months agoarm: dts: imx95: Add cm7 node
Peng Fan [Mon, 2 Feb 2026 02:57:46 +0000 (10:57 +0800)] 
arm: dts: imx95: Add cm7 node

Add i.MX95 CM7 node for remoteproc usage. The dt-bindings for CM7 was
accepted, by the node has not been upstreamed to Linux device tree.

Put the node here to let the driver probe. After Linux upstream repo
has this node landed, the node in imx95-u-boot.dtsi could be removed.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 months agoremoteproc: imx: Add i.MX95 support
Peng Fan [Mon, 2 Feb 2026 02:57:45 +0000 (10:57 +0800)] 
remoteproc: imx: Add i.MX95 support

i.MX95 uses System Manager(sm) API to start/stop logical machine or cpu.
There are two modes:
 M7 in a dedicated logical machine, use LMM API
 M7 and A55 in same logical machine, use CPU API

Extend the driver to using LMM and CPU protocol to manage the M7 core:
 - Detect using LMM or CPU API in probe using API scmi_imx_lmm_info().
 - Compare linux LM ID(got using scmi_imx_lmm_info) and M7 LM ID(the ID
   is fixed as 1 in SM firmware if M7 is in a separate LM),
   if Linux LM ID is not same as M7 LM ID(linux and M7 in same LM), use
   LMM protocol to start/stop. Whether using CPU or LMM protocol to
   start/stop, the M7 status detection could use CPU protocol to detect
   started or not. So in imx_rproc_is_running, use scmi_imx_cpu_started to
   check the status of M7.
 - For above case (2), Use scmi_imx_lmm_power_boot to detect whether
   the M7 LM is under control of A55 LM.
 - For above case , after using SCMI_IMX_LMM_POWER_ON to check
   permission, scmi_imx_lmm_shutdown API should be called to shutdown
   the M7 LM.
 - Add a new ops imx_rproc_ops_sm.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 months agoremoteproc: imx: Support ECC initialization
Peng Fan [Mon, 2 Feb 2026 02:57:44 +0000 (10:57 +0800)] 
remoteproc: imx: Support ECC initialization

Add a new flag ATT_ECC which indicates the memory region needs ECC
initialization. If the flag is set, clearing the whole memory region to
initialize ECC. If ECC is not initialized, remote core will crash if
directly access the area.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 months agoboard: ge: common: vpd: Fix read_i2c_vpd return value
Francois Berder [Sat, 31 Jan 2026 11:29:01 +0000 (12:29 +0100)] 
board: ge: common: vpd: Fix read_i2c_vpd return value

If i2c_eeprom_size fails, the error value is stored in
variable size and not ret.
Also, this commit fixes printing the error value.

Signed-off-by: Francois Berder <fberder@outlook.fr>
2 months agoimx93_frdm: Update IMX_BOOT_IMAGE_GUID
Peng Fan [Thu, 29 Jan 2026 10:54:14 +0000 (18:54 +0800)] 
imx93_frdm: Update IMX_BOOT_IMAGE_GUID

Reusing IMX_BOOT_IMAGE_GUID from i.MX93 EVK is wrong. The ID is per
board, so regenerate one using uuidgen.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 months agoimx93_frdm: Drop DECLARE_GLOBAL_DATA_PTR
Peng Fan [Thu, 29 Jan 2026 10:54:13 +0000 (18:54 +0800)] 
imx93_frdm: Drop DECLARE_GLOBAL_DATA_PTR

There is no user of "gd", so drop DECLARE_GLOBAL_DATA_PTR.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 months agoimx8mq_evk: spl: Drop DECLARE_GLOBAL_DATA_PTR
Peng Fan [Thu, 29 Jan 2026 10:54:12 +0000 (18:54 +0800)] 
imx8mq_evk: spl: Drop DECLARE_GLOBAL_DATA_PTR

There is no user of "gd", so drop DECLARE_GLOBAL_DATA_PTR.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 months agoimx8ulp_evk: Cleanup headers
Peng Fan [Thu, 29 Jan 2026 10:54:11 +0000 (18:54 +0800)] 
imx8ulp_evk: Cleanup headers

Drop unused headers and sort them.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 months agoimx8ulp_evk: Drop board_phy_config
Peng Fan [Thu, 29 Jan 2026 10:54:10 +0000 (18:54 +0800)] 
imx8ulp_evk: Drop board_phy_config

There is already a weak function in drivers/net/phy/phy.c, which
does the same thing. So drop it.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 months agoimx8ulp_evk: Drop DECLARE_GLOBAL_DATA_PTR
Peng Fan [Thu, 29 Jan 2026 10:54:09 +0000 (18:54 +0800)] 
imx8ulp_evk: Drop DECLARE_GLOBAL_DATA_PTR

There is no user of "gd", so drop DECLARE_GLOBAL_DATA_PTR.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 months agoimx8mn_evk: Cleanup headers
Peng Fan [Thu, 29 Jan 2026 10:54:08 +0000 (18:54 +0800)] 
imx8mn_evk: Cleanup headers

Drop unused headers and sort them.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 months agoimx8mn_evk: spl: Drop DECLARE_GLOBAL_DATA_PTR
Peng Fan [Thu, 29 Jan 2026 10:54:07 +0000 (18:54 +0800)] 
imx8mn_evk: spl: Drop DECLARE_GLOBAL_DATA_PTR

There is no user of "gd", so drop DECLARE_GLOBAL_DATA_PTR.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 months agoimx8mp_evk: Cleanup headers
Peng Fan [Thu, 29 Jan 2026 10:54:06 +0000 (18:54 +0800)] 
imx8mp_evk: Cleanup headers

Drop unused headers and sort them.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 months agoimx8mp_evk: spl: Drop DECLARE_GLOBAL_DATA_PTR
Peng Fan [Thu, 29 Jan 2026 10:54:05 +0000 (18:54 +0800)] 
imx8mp_evk: spl: Drop DECLARE_GLOBAL_DATA_PTR

There is no user of "gd", so drop DECLARE_GLOBAL_DATA_PTR.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 months agoimx8mp_evk: spl: Drop i2c_pad_info1
Peng Fan [Thu, 29 Jan 2026 10:54:04 +0000 (18:54 +0800)] 
imx8mp_evk: spl: Drop i2c_pad_info1

With commit 6e6492c85def ("imx8mp_evk: Convert to DM_PMIC"),
i2c_pad_info1 is no longer needed, remove it.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 months agoimx8mm_evk: Drop DECLARE_GLOBAL_DATA_PTR
Peng Fan [Thu, 29 Jan 2026 10:54:03 +0000 (18:54 +0800)] 
imx8mm_evk: Drop DECLARE_GLOBAL_DATA_PTR

There is no user of "gd", so drop DECLARE_GLOBAL_DATA_PTR.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 months agonet: fec_mxc: Add support for i.MX91
Primoz Fiser [Thu, 29 Jan 2026 07:52:51 +0000 (08:52 +0100)] 
net: fec_mxc: Add support for i.MX91

The i.MX91 SoC reuses the ENET FEC from i.MX93. Add all required driver
checks to make it work also on the i.MX91 based platforms.

Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
2 months agoarm: renesas: Enable wget command and TCP on all R-Car systems
Marek Vasut [Thu, 29 Jan 2026 00:44:28 +0000 (01:44 +0100)] 
arm: renesas: Enable wget command and TCP on all R-Car systems

Enable the 'wget' command and TCP protocol support on all Renesas R-Car
systems. This allows users to download content from local HTTP server,
which may sometimes be more accessible than TFTP server. Enable TCP SACK
support to improve download performance.

The usage is similar to the TFTP command. To download file from server
http://192.ser.ver.ip/file/path/on/local/server , invoke wget as follows:
"
=> wget $loadaddr 192.ser.ver.ip:/file/path/on/local/server
"

In case the HTTP server listens on port other than default port 80,
set the 'httpdstp' environment variable to download file from server
http://192.ser.ver.ip:8088/file/path/on/local/server
"
=> env set httpdstp 8088
=> wget $loadaddr 192.ser.ver.ip:/file/path/on/local/server
"

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 months agoMerge tag 'efi-2026-04-rc2' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Fri, 6 Feb 2026 18:35:44 +0000 (12:35 -0600)] 
Merge tag 'efi-2026-04-rc2' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request efi-2026-04-rc2

CI: https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/29203

Documentation:

* Remove pip from requirements.txt
* develop/process: Clarify name usage in the Signed-off-by line

UEFI:

* Improve EFI variable load message
* Fix use after free in efi_exit() with tcg2
* Fix efi_debug_image_info_normal allocation
* Add missing EFI_CALL in efi_net

2 months agonet: phy: mscc: allow RGMII with internal delay for the VSC8541
Charles Perry [Tue, 3 Feb 2026 19:01:40 +0000 (11:01 -0800)] 
net: phy: mscc: allow RGMII with internal delay for the VSC8541

Add the missing RGMII modes with internal delay for the VSC8541.

Fixes: a5fd13ad1913 ("net: phy: MSCC Add Support for VSC8530-VSC8531-VSC8540-VSC8541")
Signed-off-by: Charles Perry <charles.perry@microchip.com>
2 months agoarm: dts: en7523: add mdio child node to switch node
Mikhail Kshevetskiy [Fri, 30 Jan 2026 22:06:29 +0000 (01:06 +0300)] 
arm: dts: en7523: add mdio child node to switch node

add mdio node to be able see switch port states

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agoconfigs: en7523: add mii/mdio support
Mikhail Kshevetskiy [Fri, 30 Jan 2026 22:06:28 +0000 (01:06 +0300)] 
configs: en7523: add mii/mdio support

This enables mdio/mii command support.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agoarm: dts: an7581: add mdio child node to switch node
Mikhail Kshevetskiy [Fri, 30 Jan 2026 22:06:27 +0000 (01:06 +0300)] 
arm: dts: an7581: add mdio child node to switch node

add mdio node to be able see switch port states

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agoconfigs: an7581: add mii/mdio support
Mikhail Kshevetskiy [Fri, 30 Jan 2026 22:06:26 +0000 (01:06 +0300)] 
configs: an7581: add mii/mdio support

This enables mdio/mii command support.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agonet: mdio-mt7531-mmio: fix switch regs initialization
Mikhail Kshevetskiy [Fri, 30 Jan 2026 22:06:25 +0000 (01:06 +0300)] 
net: mdio-mt7531-mmio: fix switch regs initialization

mdio is a child node of the switch, so to get switch base address
we need to lookup for a parent node

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agonet: airoha_eth: use proper switch node for en7523 case
Mikhail Kshevetskiy [Fri, 30 Jan 2026 22:06:24 +0000 (01:06 +0300)] 
net: airoha_eth: use proper switch node for en7523 case

Commit d2145a89bcf6 ("net: airoha: bind MDIO controller on Ethernet load")
uses "airoha,en7581-switch" dts node for finding MDIO childs. This is wrong
for EN7523 SoC. The correct node name should be used instead.

Fixes: d2145a89bcf6 ("net: airoha: bind MDIO controller on Ethernet load")
Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agonet: airoha_eth: fix mdio binding to switch device
Mikhail Kshevetskiy [Fri, 30 Jan 2026 22:06:23 +0000 (01:06 +0300)] 
net: airoha_eth: fix mdio binding to switch device

Commit d2145a89bcf6 ("net: airoha: bind MDIO controller on Ethernet load")
refers to non-present CONFIG_MDIO_MT7531 and non-present "mt7531-mdio"
driver. It should use CONFIG_MDIO_MT7531_MMIO and "mt7531-mdio-mmio"
instead.

Fixes: d2145a89bcf6 ("net: airoha: bind MDIO controller on Ethernet load")
Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agonet: dwc_eth_qos: Define more of the unused MAC regs
Jonas Karlman [Thu, 29 Jan 2026 21:01:52 +0000 (21:01 +0000)] 
net: dwc_eth_qos: Define more of the unused MAC regs

Multicast and Broadcast Queue Enable and Promiscuous Mode Enable bits
are currently written to "unused" registers using magic values.

Define more of the "unused" MAC regs based on information in the
DesignWare Cores Ethernet Quality-of-Service databook.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
2 months agonet: dwc_eth_qos: Start DMA and MAC after tail pointers are initialized
Jonas Karlman [Thu, 29 Jan 2026 21:01:51 +0000 (21:01 +0000)] 
net: dwc_eth_qos: Start DMA and MAC after tail pointers are initialized

The DesignWare Cores Ethernet Quality-of-Service databook state that
receive and transmit descriptor list address and also transmit and
receive tail pointer registers should be initialized before the receive
and transmit DMAs are started.

It also state to enable the MAC receiver only after the DMA is active.
Otherwise, received frames can fill the Rx FIFO and overflow.

Move the activation of receive and transmit DMA and MAC receiver until
after tail pointer registers have been initialized.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
2 months agonet: dwc_eth_qos: Initialize the transmit tail pointer in eqos_start()
Jonas Karlman [Thu, 29 Jan 2026 21:01:50 +0000 (21:01 +0000)] 
net: dwc_eth_qos: Initialize the transmit tail pointer in eqos_start()

The DesignWare Cores Ethernet Quality-of-Service databook state that
descriptors up to one location less than the one indicated by the
descriptor tail pointer are owned by the DMA. The DMA continues to
process the descriptors until the following condition occurs:

  Current Descriptor Pointer == Descriptor Tail Pointer

The DMA goes into suspend mode when this condition occurs, and updating
the tail pointer resume the DMA processing.

Configure the transmit tail pointer to the first (current) descriptor
pointer so that the tail pointer is a valid address instead of being
initialized to NULL when transmit DMA is started.

Also update the receive tail pointer comment to state that by pointing
to the last descriptor we are actually implying that all receive
descriptors are owned by and can be processed by the DMA.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
2 months agonet: dwc_eth_qos: Use lower_32_bits() for tail pointers
Jonas Karlman [Thu, 29 Jan 2026 21:01:49 +0000 (21:01 +0000)] 
net: dwc_eth_qos: Use lower_32_bits() for tail pointers

The DesignWare Cores Ethernet Quality-of-Service databook state that the
descriptor address from the start to the end of the ring must not cross
the 4GB boundary.

Use lower_32_bits() to write the lower 32 bits of descriptor addresses,
including the 32-bit tail pointers, consistently. No functional change
is intended.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
2 months agonet: lwip: wget: rework the '#' printing
Marek Vasut [Thu, 29 Jan 2026 00:23:29 +0000 (01:23 +0100)] 
net: lwip: wget: rework the '#' printing

Currently, the LWIP wget command prints excessive amount of progress
indicator '#' for very long file downloads, limit this to one line
that scales according to transfer size.

The HTTP server does report the size of the entire file in protocol
headers, which are received before the actual data transfer. Cache
this information and use it to adaptively print progress indicator
'#' until it fills one entire line worth of '#', which indicates the
transfer has completed. This way, long transfers don't print pages of
'#', but every transfer will print exactly one line worth of '#'. The
algorithm for '#' printing is the same as TFTP tsize one.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Acked-by: Jerome Forissier <jerome.forissier@rm.com>
2 months agonet: lwip: tftp: add support of tsize option to client
Marek Vasut [Wed, 28 Jan 2026 23:43:45 +0000 (00:43 +0100)] 
net: lwip: tftp: add support of tsize option to client

The TFTP server can report the size of the entire file that is about to
be received in the Transfer Size Option, this is described in RFC 2349.
This functionality is optional and the server may not report tsize in
case it is not supported.

Always send tsize request to the server to query the transfer size,
and in case the server does respond, cache that information locally
in tftp_state.tsize, otherwise cache size 0. Introduce new function
tftp_client_get_tsize() which returns the cached tftp_state.tsize so
clients can determine the transfer size and use it.

Update net/lwip/tftp.c to make use of tftp_client_get_tsize() and
avoid excessive printing of '#' during TFTP transfers in case the
transfer size is reported by the server.

Submitted upstream: https://savannah.nongnu.org/patch/index.php?item_id=10557

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Acked-by: Jerome Forissier <jerome.forissier@arm.com>
2 months agonet: tftp: Fix TFTP Transfer Size data type
Yuya Hamamachi [Thu, 29 Jan 2026 22:30:19 +0000 (23:30 +0100)] 
net: tftp: Fix TFTP Transfer Size data type

The TFTP transfer size is unsigned integer, update the data type
and print formating string accordingly to prevent an overflow in
case the file size is longer than 2 GiB.

TFTP transfer of a 3 GiB file, before (wrong) and after (right):
Loading: #################################################  16 EiB
Loading: ##################################################  3 GiB

Signed-off-by: Yuya Hamamachi <yuya.hamamachi.sx@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 months agonet: Stop conflating return value with file size in net_loop()
Yuya Hamamachi [Thu, 29 Jan 2026 22:30:18 +0000 (23:30 +0100)] 
net: Stop conflating return value with file size in net_loop()

The net_loop() currently conflates return value with file size
at the end of successful transfer, in NETLOOP_SUCCESS state.

The return type of net_loop() is int, which makes this practice
workable for file sizes below 2 GiB, but anything above that will
lead to overflow and bogus negative return value from net_loop().

The return file size is only used by a few sites in the code base,
which can be easily fixed. Change the net_loop() return value to
always be only a return code, in case of error the returned value
is the error code, in case of successful transfer the value is 0
or 1 instead of 0 or net_boot_file_size . This surely always fits
into a signed integer.

By keeping the return code 0 or 1 in case of successful transfer,
no conditionals which depended on the old behavior are broken, but
all the sites had to be inspected and updated accordingly.

Fix the few sites which depend on the file size by making them
directly use the net_boot_file_size variable value. This variable
is accessible to all of those sites already, because they all
include net-common.h .

Signed-off-by: Yuya Hamamachi <yuya.hamamachi.sx@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 months agoCI: Update to using grub-2.14 for our tests
Tom Rini [Fri, 30 Jan 2026 21:57:22 +0000 (15:57 -0600)] 
CI: Update to using grub-2.14 for our tests

When building grub-2.12 with a newer GCC, we run in to warings (treated
as errors). The simple fix here is to move to the latest release tag. In
order to build a newer grub from source we need the autoconf-archive
package to be installed.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agocmd: zip: Add missing unmap_sysmem() for buffers in the unzip command
Marek Vasut [Wed, 28 Jan 2026 19:42:03 +0000 (20:42 +0100)] 
cmd: zip: Add missing unmap_sysmem() for buffers in the unzip command

Unmap the sysmem that got mapped by this command.

Use symbolic return value for the command while updating
the return value handling.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 months agocmd: zip: Use map_sysmem() with buffers in the zip command
Marek Vasut [Wed, 28 Jan 2026 19:41:30 +0000 (20:41 +0100)] 
cmd: zip: Use map_sysmem() with buffers in the zip command

The current implementation casts an address to a pointer. Make it more
sandbox-friendly by using map_sysmem().

Use symbolic return value for the command while updating
the return value handling.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 months agocmd: unzip: Use map_sysmem() with buffers in the gzwrite command
Marek Vasut [Wed, 28 Jan 2026 19:41:04 +0000 (20:41 +0100)] 
cmd: unzip: Use map_sysmem() with buffers in the gzwrite command

The current implementation casts an address to a pointer. Make it more
sandbox-friendly by using map_sysmem().

Convert 'addr' variable to unsigned long, as that is the return type of
hextoul() and address parameter type of map_sysmem().

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 months agogunzip: Fix len parameter in function signature
Marek Vasut [Wed, 28 Jan 2026 19:40:40 +0000 (20:40 +0100)] 
gunzip: Fix len parameter in function signature

The only call site of gzwrite() is cmd/unzip.c do_gzwrite(), where
the 'len' parameter passed to gzwrite(..., len, ...) function is of
type unsigned long. This usage is correct, the 'len' parameter is
an unsigned integer, and the gzwrite() function currently supports
input data 'len' of up to 4 GiB - 1 .

The function signature of gzwrite() function in both include/gzip.h
and lib/gunzip.c does however list 'len' as signed integer, which
is not correct, and ultimatelly limits the implementation to only
2 GiB input data 'len' .

Fix this, update gzwrite() function parameter 'len' data type to
size_t consistently in include/gzip.h and lib/gunzip.c .

Furthermore, update gzwrite() function 'szwritebuf' parameter in
lib/gunzip.c from 'unsigned long' to 'size_t' to be synchronized
with include/gzip.h . Rewrite the other parameters to size_t and
off_t and propagate the change too.

Since the gzwrite() function currently surely only supports input
data size of 4 GiB - 1, add input data size check. The limitation
comes from the current use of zlib z_stream .avail_in parameter,
to which the gzwrite() function sets the entire input data size,
and which is of unsigned int type, which cannot accept any number
beyond 4 GiB - 1. This limitation will be removed in future commit.

Reported-by: Yuya Hamamachi <yuya.hamamachi.sx@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 months agoconfigs: microchip_mpfs_generic: fix boot failure
Jamie Gibbons [Tue, 20 Jan 2026 15:33:13 +0000 (15:33 +0000)] 
configs: microchip_mpfs_generic: fix boot failure

Recent changes to device resource management (DEVRES) increased early
memory requirements during boot. The previous value was insufficient,
resulting in boot failures. Increase CONFIG_SYS_MALLOC_F_LEN to provide
enough early malloc pool for successful boot and device initialisation.

Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
2 months agoarch: arm: dts: k3: refactor common nodes to k3-*-r5.dtsi
Anshul Dalal [Thu, 22 Jan 2026 14:08:38 +0000 (19:38 +0530)] 
arch: arm: dts: k3: refactor common nodes to k3-*-r5.dtsi

This patch refactors the nodes in each board's R5 device-tree to common
SoC level dtsi. No functional change is intended from this patch.

Signed-off-by: Anshul Dalal <anshuld@ti.com>
Tested-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Bryan Brattlof <bb@ti.com>
2 months agoefi_net: add missing EFI_CALL in efi_net
Vincent Stehlé [Thu, 5 Feb 2026 16:40:12 +0000 (17:40 +0100)] 
efi_net: add missing EFI_CALL in efi_net

The efi_reinstall_protocol_interface() function is a UEFI function;
make sure to call it from within U-Boot using the EFI_CALL() macro.

This fixes the following assertion:

  lib/efi_loader/efi_boottime.c:3752: efi_reinstall_protocol_interface: Assertion `__efi_entry_check()' failed.

To reproduce the issue, define LOG_DEBUG in lib/efi_loader/efi_boottime.c
and build u-boot for your platform. Then, boot the U-Boot helloworld.efi
application over the network. Example commands (adjust the URL and boot
entry number):

  => efidebug boot add -u 0 net http://10.0.2.2:8000/helloworld.efi
  => efidebug boot order 0
  => bootefi bootmgr

Fixes: dd5d82a59995 ("efi_loader: efi_net: Add device path cache")
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Cc: Tom Rini <trini@konsulko.com>
Cc: Adriano Cordova <adrianox@gmail.com>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 months agodoc: develop/process: Clarify name usage in the Signed-off-by line
Tom Rini [Tue, 3 Feb 2026 19:16:20 +0000 (13:16 -0600)] 
doc: develop/process: Clarify name usage in the Signed-off-by line

Long ago we took the Linux Kernel documentation about adding a
Signed-off-by line and adjusted it slightly for how we organized things.
In 2003 Linus clarified the intent and then re-worded what the name
portion of the Signed-off-by line can be. Mirror that change here.

Link: https://git.kernel.org/torvalds/c/d4563201f33a
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2 months agodoc: Remove pip from requirements.txt
Tom Rini [Tue, 3 Feb 2026 15:13:03 +0000 (09:13 -0600)] 
doc: Remove pip from requirements.txt

Our documentation does not require the pip package to build, so it
should not be listed in our requirements.txt file here.

Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 months agoefi_loader: fix efi_debug_image_info_normal allocation
Vincent Stehlé [Tue, 3 Feb 2026 12:59:41 +0000 (13:59 +0100)] 
efi_loader: fix efi_debug_image_info_normal allocation

When adding a new EFI Debug Image Info entry, we allocate memory for a new
EFI Debug Image Info Normal structure and we add a new entry into the EFI
Debug Image Info Table, which is in fact just a pointer to the allocated
structure.

However, when allocating memory for the new structure we allocate memory
for the wrong type, leading to allocating memory for just a pointer instead
of the desired structure.

Fix the type used during allocation.

Fixes: 146546138af5 ("efi: add EFI_DEBUG_IMAGE_INFO for debug")
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Cc: Tom Rini <trini@konsulko.com>
Cc: Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 months agoefi_loader: Improve EFI variable load message
Pranav Tilak [Mon, 2 Feb 2026 11:37:17 +0000 (17:07 +0530)] 
efi_loader: Improve EFI variable load message

Change the EFI variable load message from log_err() to log_info() with
neutral wording. The previous "Failed to load" message caused customer
confusion as it appeared to indicate an error condition.

The efi_var_from_file() function deliberately returns EFI_SUCCESS in
this case to allow the boot process to continue normally. This is
documented in the function's comment block but was not reflected in
the log message level or content.

The message now uses informational wording to reflect that this is
normal behavior when the ubootefi.var file does not yet exist.

Signed-off-by: Pranav Tilak <pranav.vinaytilak@amd.com>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 months agoefi_loader: fix use after free in efi_exit() with tcg2
Vincent Stehlé [Tue, 27 Jan 2026 16:18:43 +0000 (17:18 +0100)] 
efi_loader: fix use after free in efi_exit() with tcg2

The efi_exit() function frees the loaded image memory by calling
efi_delete_image(). However, when CONFIG_EFI_TCG2_PROTOCOL is enabled, the
image_obj->image_type structure member is accessed after the memory has
been freed.

Fix this by performing the tcg2 measurement before the image deletion.

Fixes: 8fc4e0b4273a ("efi_loader: add boot variable measurement")
Suggested-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Tom Rini <trini@konsulko.com>
Cc: Masahisa Kojima <kojima.masahisa@socionext.com>
Acked-by: Masahisa Kojima <kojima.masahisa@socionext.com>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>