]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
5 days agoARM: OMAP2+: Pad SPL binary to 8-byte alignment before DTB
Beleswar Padhi [Mon, 12 Jan 2026 10:11:02 +0000 (15:41 +0530)] 
ARM: OMAP2+: Pad SPL binary to 8-byte alignment before DTB

The OMAP2 SPL linker script (also used for K3 platforms) currently uses
a 4-byte alignment directive after the __u_boot_list section. This
alignment directive only advances the location counter without padding
the actual binary output.

When objcopy extracts u-boot-spl-nodtb.bin, it includes only actual
data, stopping at the last byte of __u_boot_list (e.g., 0x41c359fc),
not an aligned address (e.g., 0x41c35a00). So, when the FIT image
containing device trees is concatenated to the SPL binary, it gets
appended at this unaligned file size, causing libfdt validation failure.

To fix this, move the alignment directive into the __u_boot_list section
itself and make it 8-byte aligned as per DT spec. This forces the linker
to include padding as part of the section data, ensuring objcopy
includes the padding bytes in the binary and the appended FIT image
starts at an 8-byte aligned boundary.

Reported-by: Anshul Dalal <anshuld@ti.com>
Closes: https://lore.kernel.org/u-boot/DFJ950O0QM0D.380U0N16ZO19E@ti.com
Fixes: 0535e46d55d7 ("scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c")
Signed-off-by: Beleswar Padhi <b-padhi@ti.com>
5 days agoMerge tag 'efi-2026-04-rc1-2' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Tue, 20 Jan 2026 14:31:34 +0000 (08:31 -0600)] 
Merge tag 'efi-2026-04-rc1-2' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request efi-2026-04-rc1-2

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

Documentation:

* Update StarFive JH7110 common description
* Add TI AM62D documentation
* Update urllib3 version for building
* Update links to doc/develop/falcon.rst
* Describe QEMU networking
* kdoc: handle the obsolescensce of docutils.ErrorString()
* Fix typo "addtional" -> "additional" in pflash section.

UEFI:

* Fix boot failure from FIT with compressed EFI binary

Others:

* cmd/meminfo: Correct displaying addresses above 4 GiB
* test:
  - Consider configuration in meminfo test
  - Consider initf_malloc is only traced with EARLY_TRACE
  - Clean up test_trace.py code

5 days agodoc: board: starfive: update jh7110 common description
E Shattow [Sun, 21 Dec 2025 11:36:04 +0000 (03:36 -0800)] 
doc: board: starfive: update jh7110 common description

Updates to the JH7110 common description:
- add detailed overview of JH-7110 SoC and boot process
- revise descriptions of deprecated StarFive loader modes
- refresh build directions grouped with SPL debug advice
- reduce usage instructions into common methods shared by supported boards
- cite starfive_visionfive2 board maintainer description of StarFive loader
- cite published datasheets for ambient operating temperature data

Redundant/deprecated sections of each board doc are dropped accordingly:
- deepcomputing fml13v01
- milk-v mars
- pine64 star64 (also add inclusion of JH7110 common description)
- visionfive2

Signed-off-by: E Shattow <e@freeshell.de>
6 days agoMerge tag 'xilinx-for-v2026.04-rc1-v2' of https://source.denx.de/u-boot/custodians...
Tom Rini [Mon, 19 Jan 2026 19:08:48 +0000 (13:08 -0600)] 
Merge tag 'xilinx-for-v2026.04-rc1-v2' of https://source.denx.de/u-boot/custodians/u-boot-microblaze

AMD/Xilinx/FPGA changes for v2026.04-rc1 v2

microblaze:
- Fix spl_boot_list order

versal2:
- Fix EMMC distro boot setup
- Align distro boot variables with memory layout

zynqmp-phy:
- Sync with Linux kernel driver

zynqmp:
- Add verify_auth command
- DT sync
- Add placing variables to FAT/EXT4
- Enable PCIe driver by default

pcie - xilinx-nwl:
- Fix Link down crash

ufs:
- Align clock/reset with DT binding

# -----BEGIN PGP SIGNATURE-----
#
# iHUEABYIAB0WIQSXAixArPbWpRanWW+rB/7wTvUR9QUCaW3p3wAKCRCrB/7wTvUR
# 9VkwAP4jPRALpM34VpTimNe/iwigIx8hAHxbvkUU0oJ/DW6W8AEAhCSL+ydgreuv
# kKCyNiOF1sm8IrOh4TdtMIFn37d4Dwg=
# =AkKK
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 19 Jan 2026 02:22:55 AM CST
# gpg:                using EDDSA key 97022C40ACF6D6A516A7596FAB07FEF04EF511F5
# gpg: Can't check signature: No public key

6 days agotest/py, buildman: Update filelock package version
Tom Rini [Thu, 15 Jan 2026 16:17:26 +0000 (10:17 -0600)] 
test/py, buildman: Update filelock package version

The GitHub dependabot tool has reported a "medium" priority bug
CVE-2026-22701, with this package. Update to the patched version.

Reported-by: GitHub dependabot
Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agotools: amlimage: include <inttypes.h>
Robert Marko [Tue, 13 Jan 2026 11:07:38 +0000 (12:07 +0100)] 
tools: amlimage: include <inttypes.h>

PRIuN, PRIxN, etc macros are defined in <inttypes.h>, without it being
included errors like:
tools/amlimage.c:124:38: error: expected ‘)’ before ‘PRIu8’
tools/amlimage.c:126:31: error: expected ‘)’ before ‘PRIu32’

Can be hit depending on the host compiler and HOSTCFLAGS.

Fixes: 18c1654567dc ("tools: mkimage: Add Amlogic Boot Image type")
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
Reviewed-by: Ferass El Hafidi <funderscore@postmarketos.org>
6 days agoRevert "arm: dts: an7581: set r_smpl for MMC in U-Boot"
Mikhail Kshevetskiy [Sun, 18 Jan 2026 20:04:16 +0000 (23:04 +0300)] 
Revert "arm: dts: an7581: set r_smpl for MMC in U-Boot"

On my AN7581 board, the same change in the Airoha ATF-2.10 source code
causes instability in eMMC reading. After the patch, in about 9 of 10
cases, ATF BL2 is unable to read FIP image from the eMMC flash. Thus
BL31 and U-Boot are unable to start.

Lets revert commit 7cb79f8d3d55 ("arm: dts: an7581: set r_smpl for MMC
in U-Boot") until the issue will be investigated.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
6 days agodoc: Update urllib3 version for building
Tom Rini [Tue, 13 Jan 2026 14:50:31 +0000 (08:50 -0600)] 
doc: Update urllib3 version for building

The GitHub dependabot tool has reported one "high" priority bug,
CVE-2026-21441, with this package. Update to the patched version.

Reported-by: GitHub dependabot
Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agobootm: fix boot failure from compressed image for IH_OS_EFI
Masahisa Kojima [Wed, 7 Jan 2026 00:35:31 +0000 (09:35 +0900)] 
bootm: fix boot failure from compressed image for IH_OS_EFI

The bootm command can handle the compressed image, but current
code fails to boot from it.

    ## Loading kernel (any) from FIT Image at a8000000 ...
    <snip>
         Compression:  gzip compressed
         Data Start:   0xa80000d4
         Data Size:    10114520 Bytes = 9.6 MiB
         Architecture: AArch64
         OS:           EFI Firmware
         Load Address: 0x90000000

    <snip>
       Uncompressing Kernel Image to 90000000
    ## Transferring control to EFI (at address a80000d4) ...
    Booting <NULL>
    Not a PE-COFF file
    Loading image failed

To take care of the compressed image, the load address needs
to be passed instead of the original compressed image address.

Signed-off-by: Masahisa Kojima <kojima.masahisa@socionext.com>
Tested-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
6 days agodoc: board: ti: Add AM62D documentation
Paresh Bhagat [Sat, 17 Jan 2026 03:33:28 +0000 (09:03 +0530)] 
doc: board: ti: Add AM62D documentation

Add info of boot flow and build steps for AM62Dx EVM.

Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
6 days agodocs: kdoc: handle the obsolescensce of docutils.ErrorString()
J. Neuschäfer [Thu, 1 Jan 2026 14:31:06 +0000 (15:31 +0100)] 
docs: kdoc: handle the obsolescensce of docutils.ErrorString()

The ErrorString() and SafeString() docutils functions were helpers meant to
ease the handling of encodings during the Python 3 transition.  There is no
real need for them after Python 3.6, and docutils 0.22 removes them,
breaking the docs build

Handle this by just injecting our own one-liner version of ErrorString(),
and removing the sole SafeString() call entirely.

Reported-by: Zhixu Liu <zhixu.liu@gmail.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Upstream: https://git.kernel.org/linus/00d95fcc4dee66dfb6980de6f2973b32f973a1eb
[j.ne: Adapted from Linux to U-Boot]
Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
6 days agoUpdate links to doc/develop/falcon.rst
J. Neuschäfer [Thu, 1 Jan 2026 14:17:01 +0000 (15:17 +0100)] 
Update links to doc/develop/falcon.rst

README.falcon was converted to ReST/HTML in 2023.

Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
6 days agodoc: describe QEMU networking
Heinrich Schuchardt [Mon, 29 Dec 2025 16:34:48 +0000 (17:34 +0100)] 
doc: describe QEMU networking

Add a chapter about networking to the QEMU board documentation.

Describe both different types of networking as well as different emulated
NICs.

Suggested-by: Manjae Cho <manjae.cho@samsung.com>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
6 days agoFix typo "addtional" -> "additional" in pflash section.
Manjae Cho [Mon, 29 Dec 2025 12:33:44 +0000 (13:33 +0100)] 
Fix typo "addtional" -> "additional" in pflash section.

%s/addtional/additional/

Signed-off-by: Manjae Cho <manjae.cho@samsung.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
6 days agotest: clean up test_trace.py code
Heinrich Schuchardt [Sun, 21 Dec 2025 01:58:59 +0000 (02:58 +0100)] 
test: clean up test_trace.py code

* Add module doc string
* Correct sequence of imports
* Correct long exceeding 100 characters
* Remove unused variables
* Remove module level invocation of check_flamegraph
* Add encoding to open() calls

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <simon.glass@canonical.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
6 days agotest: initf_malloc is only traced with EARLY_TRACE
Heinrich Schuchardt [Sun, 21 Dec 2025 01:58:58 +0000 (02:58 +0100)] 
test: initf_malloc is only traced with EARLY_TRACE

Only if early tracing is enable the function initf_malloc can be traced.

Add a configuration check.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <simon.glass@canonical.com>
6 days agotest: cmd: consider configuration in meminfo test
Heinrich Schuchardt [Sun, 21 Dec 2025 01:58:57 +0000 (02:58 +0100)] 
test: cmd: consider configuration in meminfo test

The output of the meminfo command depends on several Kconfig variables.
These need to be taken into account to provide valid test results.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <simon.glass@canonical.com>
6 days agocmd/meminfo: display of addresses above 4 GiB
Heinrich Schuchardt [Sun, 21 Dec 2025 01:58:56 +0000 (02:58 +0100)] 
cmd/meminfo: display of addresses above 4 GiB

Addresses above 4 GiB don't fit into 8 digits.
Use 13 digits which encompass up to 15 TiB.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <simon.glass@canonical.com>
6 days agomicroblaze: Fix SPL device support
Michal Simek [Fri, 16 Jan 2026 09:58:29 +0000 (10:58 +0100)] 
microblaze: Fix SPL device support

Extend spl_boot_list[] only when SPL has support for it.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/d1c1d677b2eb4266290d31dbdf2e6e44c77a75ff.1768557507.git.michal.simek@amd.com
8 days agoMerge tag 'u-boot-imx-master-20260117' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Sun, 18 Jan 2026 04:29:24 +0000 (22:29 -0600)] 
Merge tag 'u-boot-imx-master-20260117' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

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

- Fix interrupt storms in Linux on the imx93_frdm board.
- Defconfig update for tqma6 board.
- Miscellaneous cleanups/improvements for imx93_evk.
- Allow booting from both USB controlles on i.MX6 DHSOM.
- Handle third MAC address for SMARC i.MX95

8 days agoboard: tqma6: update RAM timing to verified settings Rev.0300D
Markus Niebel [Fri, 16 Jan 2026 10:53:39 +0000 (11:53 +0100)] 
board: tqma6: update RAM timing to verified settings Rev.0300D

Input from TQ-Systems hardware qualification team.
Fixes performance issues if ethernet and display are used simultaneously.

Signed-off-by: Markus Niebel <Markus.Niebel@ew.tq-group.com>
Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
8 days agoconfigs: tqma6: activate CONFIG_CMD_NFS
Max Merchel [Fri, 16 Jan 2026 10:53:38 +0000 (11:53 +0100)] 
configs: tqma6: activate CONFIG_CMD_NFS

activate CONFIG_CMD_NFS for nfs boot posibility

Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
8 days agoconfigs: tqma6: mba6: add and use defconfigs with general configurations
Max Merchel [Fri, 16 Jan 2026 10:53:37 +0000 (11:53 +0100)] 
configs: tqma6: mba6: add and use defconfigs with general configurations

Add a common, MMC and SPI defconfigs with the general configurations
and use them in the variant-specific defconfigs.

while at it:

- set BOOTCOMMAND to mmcboot as it is used on majority of other TQ modules
  as the default
- remove DEFAULT_FDT_FILE - The kernel device tree is set at runtime.
- remove CONFIG_CMD_EXT4_WRITE - EXT4 with default features cannot be
  written from U-Boot.
- add CONFIG_FDT_FIXUP_PARTITIONS - This is needed to propagate MTD
  partition setup via devicetree to linux.

Signed-off-by: Paul Gerber <Paul.Gerber@ew.tq-group.com>
Signed-off-by: Markus Niebel <Markus.Niebel@ew.tq-group.com>
Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
8 days agoboard: tqma6: Kconfig: select default SoM variant based on SoC
Max Merchel [Fri, 16 Jan 2026 10:53:36 +0000 (11:53 +0100)] 
board: tqma6: Kconfig: select default SoM variant based on SoC

Defaults for SoM variant should depend on SoC variant.

Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
8 days agoboard: tqma6: improve config settings for TQMa6x/MBa6x
Paul Gerber [Fri, 16 Jan 2026 10:53:35 +0000 (11:53 +0100)] 
board: tqma6: improve config settings for TQMa6x/MBa6x

- imply DM_I2C / DM_SPI / DM_MMC / DM_GPIO: boot relevant

- add BUTTON support
- add gpio LED support
- enable CMD_TEMPERATURE to get query temperature in console
- remove Variants that are Kconfig default
- USB ethernet port is not in use by default, remove ethprime

Signed-off-by: Paul Gerber <Paul.Gerber@tq-group.com>
Signed-off-by: Markus Niebel <Markus.Niebel@ew.tq-group.com>
Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
8 days agotoradex: common: handle third MAC address for SMARC i.MX95
Max Krummenacher [Tue, 13 Jan 2026 12:58:23 +0000 (13:58 +0100)] 
toradex: common: handle third MAC address for SMARC i.MX95

The toradex_smarc_imx95 board exposes three Ethernet ports.
Set the third MAC address equal to the second MAC address.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
8 days agotools: fix format string in tools/imx8image.c
Milan P. Stanić [Mon, 12 Jan 2026 18:12:37 +0000 (19:12 +0100)] 
tools: fix format string in tools/imx8image.c

on 32bit systems with musl libc compiler emits
warning: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'size_t' {aka 'unsigned int'} [-Wformat=]

to fix this use format length modifier 'z' (size_t) instead of 'l'

Signed-off-by: Milan P. Stanić <mps@arvanta.net>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 days agoARM: imx: Enable boot from both USB controllers on all i.MX6 DHSOM
Marek Vasut [Sat, 10 Jan 2026 20:34:19 +0000 (21:34 +0100)] 
ARM: imx: Enable boot from both USB controllers on all i.MX6 DHSOM

Enable boot from both USB controller 0 and 1 on all i.MX6 DHSOM.

Signed-off-by: Marek Vasut <marex@nabladev.com>
8 days agoimx93_qsb: Invoke the ELE voltage APIs when adjust VDD_SOC voltage
Peng Fan [Thu, 8 Jan 2026 11:06:58 +0000 (19:06 +0800)] 
imx93_qsb: Invoke the ELE voltage APIs when adjust VDD_SOC voltage

SPL will adjust VDD_SOC to OD voltage, because some PMIC uses
0.8V as default for VDD_SOC. So need to call the voltage change
APIs to avoid ELE Glitch Detection triggered reset.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agoimx93_evk: Invoke the ELE voltage APIs when adjust VDD_SOC voltage
Peng Fan [Thu, 8 Jan 2026 11:06:57 +0000 (19:06 +0800)] 
imx93_evk: Invoke the ELE voltage APIs when adjust VDD_SOC voltage

SPL will adjust VDD_SOC to OD voltage, because some PMIC uses
0.8V as default for VDD_SOC. So need to call the voltage change
APIs to avoid ELE Glitch Detection triggered reset.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agomisc: ele_api: Add Voltage change start and finish APIs
Ye Li [Thu, 8 Jan 2026 11:06:56 +0000 (19:06 +0800)] 
misc: ele_api: Add Voltage change start and finish APIs

On GDET enabled part, need to call voltage change start and finish
APIs when adjust the voltage more than 100mv. Otherwise GDET will be
triggered and system is reset

Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agoimx95/4_evk: Add missing header
Peng Fan [Thu, 8 Jan 2026 11:06:55 +0000 (19:06 +0800)] 
imx95/4_evk: Add missing header

Include asm/global_data.h for using DECLARE_GLOBAL_DATA_PTR.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agoimx95_evk: Sort header files
Peng Fan [Thu, 8 Jan 2026 11:06:54 +0000 (19:06 +0800)] 
imx95_evk: Sort header files

Sort header files following the order:
- generic-header
- asm/generic-header
- asm/arch/
- asm/mach-imx/

Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agoimx94_evk: Sort header files
Peng Fan [Thu, 8 Jan 2026 11:06:53 +0000 (19:06 +0800)] 
imx94_evk: Sort header files

Sort header files following the order:
 - generic-header
 - asm/generic-header
 - asm/arch/
 - asm/mach-imx/

Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agoimx91_evk: Cleanup headers
Peng Fan [Thu, 8 Jan 2026 11:06:52 +0000 (19:06 +0800)] 
imx91_evk: Cleanup headers

Drop unused headers and sort them.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agoimx93_qsb: Cleanup headers
Peng Fan [Thu, 8 Jan 2026 11:06:51 +0000 (19:06 +0800)] 
imx93_qsb: Cleanup headers

Drop unused headers and sort them.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agoimx93_evk: Cleanup headers
Peng Fan [Thu, 8 Jan 2026 11:06:50 +0000 (19:06 +0800)] 
imx93_evk: Cleanup headers

Drop unused headers and sort them.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agoimx93_evk: Drop DECLARE_GLOBAL_DATA_PTR
Peng Fan [Thu, 8 Jan 2026 11:06:49 +0000 (19:06 +0800)] 
imx93_evk: Drop DECLARE_GLOBAL_DATA_PTR

No user of "gd" in this file, drop DECLARE_GLOBAL_DATA_PTR.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agoimx93_evk: Drop board_phy_config
Peng Fan [Thu, 8 Jan 2026 11:06:48 +0000 (19:06 +0800)] 
imx93_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>
8 days agoimx93_evk: Drop setup_fec
Peng Fan [Thu, 8 Jan 2026 11:06:47 +0000 (19:06 +0800)] 
imx93_evk: Drop setup_fec

The clock settings could be handled by "assigned-clock-rates" through
DM clock driver, so drop setup_fec().

board_init() is a dummy function now, so clean it up.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agoimx93_evk: Drop UART pad settings
Peng Fan [Thu, 8 Jan 2026 11:06:46 +0000 (19:06 +0800)] 
imx93_evk: Drop UART pad settings

With DM_SERIAL and pinctrl driver, the UART pad settings in board code
could be dropped. Then drop board_early_init_f(), since it is a dummy
function now.

While at here, remove WDOG_PAD_CTRL, since no user.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agoimx93_frdm: clear and mask TCPC interrupts
Francesco Valla [Sat, 3 Jan 2026 21:22:12 +0000 (22:22 +0100)] 
imx93_frdm: clear and mask TCPC interrupts

One of the two on-board PTN5110 TCPC USB Power Delivery controller on
the i.MX93 FRDM board shares its interrupt line whith the PCAL6524 power
controller (GPIO3-27). Since the PTN5110 starts after POR with the
interrupts enabled, this can lead to an interrupt storm on OS startup if
only the driver for the PCAL6524 is loaded, because none is servicing
(and clearing) the interrupt requests from the PTN5110.

Maks and clear all interrupts as part uring board initialization; they
can be re-enabled later by a proper OS driver if required.

Co-developed-by: Joseph Guo <qijian.guo@nxp.com>
Signed-off-by: Francesco Valla <francesco@valla.it>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
8 days agoMerge branch 'master' of git://source.denx.de/u-boot-usb
Tom Rini [Sat, 17 Jan 2026 16:33:37 +0000 (10:33 -0600)] 
Merge branch 'master' of git://source.denx.de/u-boot-usb

- Add the "apple,t8103-dwc3" compatible to the xhci-dwc3 glue

9 days agoMerge branch 'qcom-main' of https://source.denx.de/u-boot/custodians/u-boot-snapdragon
Tom Rini [Fri, 16 Jan 2026 21:14:37 +0000 (15:14 -0600)] 
Merge branch 'qcom-main' of https://source.denx.de/u-boot/custodians/u-boot-snapdragon

We have been getting a lot more patches from Qualcomm engineers, largely
focusing on IoT, router, and automotive platforms (those with QCS, IPQ,
and SA prefixes specifically).

Quite a variety of changes here:
- Watchdog overflow fix
- Hardcoded fastboot buffer addresses for a few board (hoppefully
  temporary until fastboot is updated to read $fastboot_addr_r)
- Enable memory protection (MMU_MGPROT) for ARCH_SNAPDRAGON
- pinctrl support for the QCS615 soc
- various USB/phy fixes including phy config for msm8996/qcs615
- mmc and i2c clock configuration fixes
- significant fixes for rpmh and regulator drivers
- added config fragment for pixel devices
- sa8775p clock fixes
- support for "flattened" dwc3 DT that recently landed upstream for
  sc7280 (qcs6490) and a few other platforms

9 days agoMerge patch series "fix integer overflows in filesystem code"
Tom Rini [Fri, 16 Jan 2026 19:04:47 +0000 (13:04 -0600)] 
Merge patch series "fix integer overflows in filesystem code"

This series from Timo tp Preißl <t.preissl@proton.me> fixes some
(potential) interger overflows in some filesystems by using
__builtin_XXX_overflow helps to catch issues.

Link: https://lore.kernel.org/r/20260109112428.262793-1-t.preissl@proton.me
9 days agofs: prevent integer overflow in ext4fs_get_bgdtable
Timo tp Preißl [Fri, 9 Jan 2026 11:25:07 +0000 (11:25 +0000)] 
fs: prevent integer overflow in ext4fs_get_bgdtable

An integer overflow in gdsize_total calculation could lead
to under-allocation and heap buffer overflow.

Signed-off-by: Timo tp Preißl <t.preissl@proton.me>
Reviewed-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
9 days agofs: prevent integer overflow in sqfs_concat
Timo tp Preißl [Fri, 9 Jan 2026 11:24:59 +0000 (11:24 +0000)] 
fs: prevent integer overflow in sqfs_concat

An integer overflow in length calculation could lead to
under-allocation and buffer overcopy.

Signed-off-by: Timo tp Preißl <t.preissl@proton.me>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
9 days agofs: prevent integer overflow in zfs_nvlist_lookup
Timo tp Preißl [Fri, 9 Jan 2026 11:24:51 +0000 (11:24 +0000)] 
fs: prevent integer overflow in zfs_nvlist_lookup

An integer overflow in nvlist size calculation could lead
to under-allocation and heap buffer overflow.

Signed-off-by: Timo tp Preißl <t.preissl@proton.me>
Reviewed-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
9 days agofs: prevent integer overflow in fs.c do_mv
Timo tp Preißl [Fri, 9 Jan 2026 11:24:45 +0000 (11:24 +0000)] 
fs: prevent integer overflow in fs.c do_mv

An integer overflow in size calculations could lead to
under-allocation and potential heap buffer overflow.

Signed-off-by: Timo tp Preißl <t.preissl@proton.me>
Reviewed-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
9 days agoconfigs: mt8365: remove empty header file
David Lechner [Wed, 7 Jan 2026 19:58:58 +0000 (13:58 -0600)] 
configs: mt8365: remove empty header file

Remove the empty include/configs/mt8365.h header file as it is not
needed. The Kconfig entry that referenced it is also removed.

Signed-off-by: David Lechner <dlechner@baylibre.com>
9 days agousb: dwc3-generic: support Qualcomm flattened DT
Casey Connolly [Fri, 16 Jan 2026 17:09:44 +0000 (18:09 +0100)] 
usb: dwc3-generic: support Qualcomm flattened DT

Qualcomm devicetrees are moving away from having a glue node with dwc3
as a subnode and now may just have a single flattened node.

Rockchip already have a glue_get_ctrl_dev op which returns the node for
the glue device itself, commonise this and reuse it for the new Qualcomm
node.

Lastly adjust the qscratch base address since it now requires an offset
from the dwc3 base.

Link: https://patch.msgid.link/20260116-casey-usb-role-switch-v2-1-83a1a6501a11@linaro.org
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
9 days agoMerge tag 'u-boot-dfu-20260116' of https://source.denx.de/u-boot/custodians/u-boot-dfu
Tom Rini [Fri, 16 Jan 2026 15:18:34 +0000 (09:18 -0600)] 
Merge tag 'u-boot-dfu-20260116' of https://source.denx.de/u-boot/custodians/u-boot-dfu

u-boot-dfu-20260116

CI: https://source.denx.de/u-boot/custodians/u-boot-dfu/-/pipelines/29018

Android:
* Fix missing dependency for BOOTMETH_ANDROID
* Add bootconfig support
* Add 'get ramdisk' command to abootimg

DFU:
* Improve error handling in dfu_fill_entity()

USB Gadget:
* ci_udc: Ensure ci_ep->desc is valid before using it
* ci_udc: Add additional debug prints

9 days agoMerge patch series "video: simple_panel support for am335x evm panel"
Tom Rini [Fri, 16 Jan 2026 15:07:35 +0000 (09:07 -0600)] 
Merge patch series "video: simple_panel support for am335x evm panel"

Markus Schneider-Pargmann (TI.com) <msp@baylibre.com> says:

This series adds the capability to define hardcoded panel settings to
the simple_panel driver similar to the Linux Kernel and adds the panel
used on am335x evm. panel-uclass.c is extended to support get_modes()
for panels and drm_display_mode conversion. In a second step the tilcdc
is extended to support OF graph to be able to connect to the simple
panel devicetree node.

Link: https://lore.kernel.org/r/20260105-topic-am33-evm-lcd-v2026-01-v4-0-7617591b8159@baylibre.com
9 days agospl: fix incorrect dependency for SPL_NET
Quentin Schulz [Thu, 8 Jan 2026 12:28:36 +0000 (13:28 +0100)] 
spl: fix incorrect dependency for SPL_NET

When SPL_NET is included, scripts/Makefile.xpl includes net/. However,
in this directory, the Makefile only compiles things if CONFIG_NET or
CONFIG_NET_LWIP is defined (it doesn't use $(PHASE_)). Therefore, at
least one networking stack needs to be enabled for SPL_NET=y to do
anything meaningful.

In certain cases (e.g. am62px_evm_r5_ethboot_defconfig + NO_NET=y via
menuconfig), it is possible to fail the build with undefined references
(since include/net-common.h does check with CONFIG_IS_ENABLED(NET) which
would be true for SPL_NET, but the implementation wouldn't be compiled).

Fix this oversight by making sure a network stack (and the legacy one)
is available when selecting SPL_NET.

Fixes: 8cb330355bd5 ("net: introduce alternative implementation as net/lwip/")
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
9 days agoarm: mediatek: remove extra gpio header
David Lechner [Mon, 5 Jan 2026 20:47:21 +0000 (14:47 -0600)] 
arm: mediatek: remove extra gpio header

Remove empty gpio.h header file and CONFIG_GPIO_EXTRA_HEADER on
ARCH_MEDIATEK. There is no reason to have these since the header
doesn't contain anything.

Signed-off-by: David Lechner <dlechner@baylibre.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
9 days agobootstd: rauc: Free memory during error handling
Francois Berder [Mon, 5 Jan 2026 20:26:14 +0000 (21:26 +0100)] 
bootstd: rauc: Free memory during error handling

While reading bootflow, memory was not released if an
error occurred.

Signed-off-by: Francois Berder <fberder@outlook.fr>
Acked-by: Martin Schwan <m.schwan@phytec.de>
Tested-by: Martin Schwan <m.schwan@phytec.de>
9 days agoarm: dts: an7581: set r_smpl for MMC in U-Boot
Ray Liu [Fri, 2 Jan 2026 13:25:00 +0000 (21:25 +0800)] 
arm: dts: an7581: set r_smpl for MMC in U-Boot

When booting from SPI, the ROM code does not initialize the MMC
controller on AN7581. As a result, the first MMC initialization
is performed by U-Boot.

In this case, the r_smpl bit is left uninitialized, which may
cause incorrect sampling timing during early MMC access.

Set the r_smpl bit explicitly in the U-Boot device tree to ensure
reliable MMC initialization.

This change is limited to the U-Boot-specific device tree.
The Linux MMC driver already performs runtime delay detection
and does not require a fixed r_smpl setting.

Signed-off-by: Ray Liu <ray.xy.liu@gmail.com>
9 days agovideo: ti: am335x: Support OF graph
Markus Schneider-Pargmann (TI.com) [Mon, 5 Jan 2026 09:36:29 +0000 (10:36 +0100)] 
video: ti: am335x: Support OF graph

Add support for OF graph parsing. When using OF graph the default
tilcdc_panel_info is used which is the same as defined in Linux.

Signed-off-by: Markus Schneider-Pargmann (TI.com) <msp@baylibre.com>
9 days agovideo: simple_panel: Add tfc_s9700rtwv43tr_01b
Markus Schneider-Pargmann (TI.com) [Mon, 5 Jan 2026 09:36:28 +0000 (10:36 +0100)] 
video: simple_panel: Add tfc_s9700rtwv43tr_01b

Add timing data for tfc_s9700rtwv43tr_01b from Linux to the simple-panel
driver. To support hardcoded timing data as Linux does, add a new struct
simple_panel_drv_data which holds a struct display_timing pointer as
well. The hardcoded timing data is preferred over DT parsing.

Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Markus Schneider-Pargmann (TI.com) <msp@baylibre.com>
9 days agopanel: Lightweight support of get_modes()
Markus Schneider-Pargmann (TI.com) [Mon, 5 Jan 2026 09:36:27 +0000 (10:36 +0100)] 
panel: Lightweight support of get_modes()

Linux uses get_modes() to fetch all available panel modes from the
driver. This is also used to fetch the modes from Linux's simple panel
implementation where a list of drm_display_mode structs is used to
define the different possible panels.

To make our work easier, create a compatible way of fetching and
defining these modes in u-boot. get_modes() fetches the available modes
from the panel driver. The get_display_timing() call maps the
drm_display_mode properties to the display_timing struct. This call now
uses whatever panel operation is available, get_display_timing() or
get_modes().

Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Markus Schneider-Pargmann (TI.com) <msp@baylibre.com>
9 days agopanel: Add missing comment for the timing argument
Markus Schneider-Pargmann (TI.com) [Mon, 5 Jan 2026 09:36:26 +0000 (10:36 +0100)] 
panel: Add missing comment for the timing argument

For completeness add it.

Signed-off-by: Markus Schneider-Pargmann (TI.com) <msp@baylibre.com>
9 days agousb: xhci-dwc3: Add "apple,t8103-dwc3" compatible
Janne Grunau [Fri, 16 Jan 2026 13:35:06 +0000 (14:35 +0100)] 
usb: xhci-dwc3: Add "apple,t8103-dwc3" compatible

The Linux support for dwc3 on Apple silicon SoCs switched to using a
apple specific glue driver [1] that uses it own compatible string. The
glue driver handles platform specific requirements on the interaction
between dwc3 and the USB2/USB3 PHY and reset-controller for USB role
switches and plug events.
To keep USB working as before when the nodes still carried "snps,dwc3"
as compatible add "apple,t8103-dwc3" to the of match table. Eventually
it is probably advisable to add a dwc3-apple glue driver and write code
for the currently empty Apple Type-C PHY driver in phy-apple-atc.c.

Link: https://lore.kernel.org/asahi/20251015-b4-aplpe-dwc3-v2-0-cbd65a2d511a@kernel.org/
Reviewed-by: Neal Gompa <neal@gompa.dev>
Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
Signed-off-by: Janne Grunau <j@jannau.net>
9 days agotest: abootimg: Add test for bootconfig handling
Guillaume La Roque (TI.com) [Mon, 12 Jan 2026 10:55:41 +0000 (11:55 +0100)] 
test: abootimg: Add test for bootconfig handling

Add test to verify that androidboot.* parameters are correctly extracted
from bootargs and appended to the bootconfig section when using
'abootimg get ramdisk' with boot image v4 and vendor_boot image.

The test verifies:
- androidboot.* parameters are removed from bootargs
- They are appended to the bootconfig section in the ramdisk
- Non-androidboot parameters remain in bootargs
- The bootconfig trailer is properly updated

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Guillaume La Roque (TI.com) <glaroque@baylibre.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Link: https://lore.kernel.org/r/20260112-bootconfig-v5-5-79b242159ac7@baylibre.com
[mkorpershoek: dropped whitespace changes from original patch]
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
9 days agoarm64: versal2: Fix emmc boot mode boot_target issue
Pranav Tilak [Tue, 13 Jan 2026 06:01:07 +0000 (11:31 +0530)] 
arm64: versal2: Fix emmc boot mode boot_target issue

The eMMC boot device controller on Versal2 requires device pointer
initialization before accessing its sequence number. The EMMC_MODE case
was using dev_seq(dev) on an uninitialized pointer, causing corrupted
boot_targets entries (mmc7f7fbfbf instead of mmc0/mmc1).

Add uclass_get_device_by_name() call to properly initialize the device
pointer before reading the sequence number. The dev sequence number is
determined at runtime based on DT aliases.

Fix boot_targets corruption in eMMC boot mode, allowing proper boot
device selection instead of falling back to JTAG mode.

Signed-off-by: Pranav Tilak <pranav.vinaytilak@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/20260113060107.1136297-1-pranav.vinaytilak@amd.com
10 days agoMerge tag 'net-20260115' of https://source.denx.de/u-boot/custodians/u-boot-net
Tom Rini [Thu, 15 Jan 2026 14:50:53 +0000 (08:50 -0600)] 
Merge tag 'net-20260115' of https://source.denx.de/u-boot/custodians/u-boot-net

Pull request net-20260115.

CI: https://source.denx.de/u-boot/custodians/u-boot-net/-/pipelines/29008

net:
- phy: micrel KSZ9031 and KSZ9021 fixes
- phy: marvell10g fix
- Fix "net stats" help
- Add Microsemi/Microchip MDIO driver
- tftpput: Rework to exclude code from xPL phases

net-legacy:
- Some refactoring to help with lwIP NF support

net-lwip:
- Add NFS support

10 days agocmd: abootimg: Add 'get ramdisk' command
Guillaume La Roque (TI.com) [Mon, 12 Jan 2026 10:55:40 +0000 (11:55 +0100)] 
cmd: abootimg: Add 'get ramdisk' command

Add support for retrieving ramdisk address and size from Android boot
images. This command allows users to extract the ramdisk information
for boot image v3+ which combines vendor ramdisk, boot ramdisk and
bootconfig sections.

Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Guillaume La Roque (TI.com) <glaroque@baylibre.com>
Link: https://lore.kernel.org/r/20260112-bootconfig-v5-4-79b242159ac7@baylibre.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
10 days agoboot: android: Add bootconfig support
Guillaume La Roque (TI.com) [Mon, 12 Jan 2026 10:55:39 +0000 (11:55 +0100)] 
boot: android: Add bootconfig support

For android vendor boot image version 4 bootconfig is mandatory.[1]

In the android_image_get_ramdisk function, after copying both vendor and
boot ramdisks, we extract all androidboot.* entries from the kernel
command line. These entries are added to the bootconfig section.
We then update the sizes of the ramdisk and bootconfig.
Finally, all androidboot.* entries are removed from the kernel command
line.

[1] https://source.android.com/docs/core/architecture/partitions/vendor-boot-partitions#bootloader-support

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Guillaume La Roque (TI.com) <glaroque@baylibre.com>
Link: https://lore.kernel.org/r/20260112-bootconfig-v5-3-79b242159ac7@baylibre.com
[mkorpershoek: dropped irrelevant code comments]
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
10 days agoboot: android: Add sandbox memory mapping support
Guillaume La Roque (TI.com) [Mon, 12 Jan 2026 10:55:38 +0000 (11:55 +0100)] 
boot: android: Add sandbox memory mapping support

Use map_to_sysmem() to convert header pointers to physical addresses
in parse_hdr functions, and add proper map_sysmem()/unmap_sysmem()
calls in android_image_get_data() for sandbox compatibility.

Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Guillaume La Roque (TI.com) <glaroque@baylibre.com>
Link: https://lore.kernel.org/r/20260112-bootconfig-v5-2-79b242159ac7@baylibre.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
10 days agoboot: android: import addBootConfigParameters() from AOSP
Mattijs Korpershoek (TI.com) [Mon, 12 Jan 2026 10:55:37 +0000 (11:55 +0100)] 
boot: android: import addBootConfigParameters() from AOSP

To properly implement Android boot image v4, U-Boot must be able to
add additional entries to the bootconfig.

Add `add_bootconfig_parameters()` to do so.

This has been imported from Google's U-Boot source[1]
The variables/function names have been reworked to be
compliant with U-Boot's coding style.

[1] https://android.googlesource.com/platform/external/u-boot/+/7af0a0506d4de6f5ea147d10fb0664a8af07d326

Signed-off-by: Mattijs Korpershoek (TI.com) <mkorpershoek@kernel.org>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Signed-off-by: Guillaume La Roque (TI.com) <glaroque@baylibre.com>
Link: https://lore.kernel.org/r/20260112-bootconfig-v5-1-79b242159ac7@baylibre.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
10 days agonet: phy: micrel_ksz90x1: support forced GIGE master for KSZ9031
Markus Niebel [Tue, 2 Dec 2025 08:13:43 +0000 (09:13 +0100)] 
net: phy: micrel_ksz90x1: support forced GIGE master for KSZ9031

The micrel KSZ9031 phy has a optional clock pin (CLK125_NDO) which can be
used as reference clock for the MAC unit. The clock signal must meet the
RGMII requirements to ensure the correct data transmission between the
MAC and the PHY. The KSZ9031 phy does not fulfill the duty cycle
requirement if the phy is configured as slave. For a complete
describtion look at the errata sheets: DS80000691D or DS80000692D.

The errata sheet recommends to force the phy into master mode whenever
there is a 1000Base-T link-up as work around. Only set the
"micrel,force-master" property if you use the phy reference clock provided
by CLK125_NDO pin as MAC reference clock in your application.

Attention: this workaround is only usable if the link partner can
be configured to slave mode for 1000Base-T.

This follows linux implementation in commit
e1b505a60366 ("net: phy: micrel: add 125MHz reference clock workaround")

Signed-off-by: Markus Niebel <Markus.Niebel@ew.tq-group.com>
Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
10 days agonet: phy: micrel_ksz90x1: disable asymmetric pause for KSZ9031 and KSZ9021
Markus Niebel [Tue, 2 Dec 2025 08:13:42 +0000 (09:13 +0100)] 
net: phy: micrel_ksz90x1: disable asymmetric pause for KSZ9031 and KSZ9021

Disable the support due to chip errata and call genphy_config_aneg
instead of genphy_config. For a complete describtion look at the
KSZ9031 errata sheets: DS80000691D or DS80000692D.

Micrel KSZ9021 has no errata, but has the same issue with Asymmetric Pause.
This patch apply the same workaround as the one for KSZ9031.

This follows linux implementation in commits
3aed3e2a143c ("net: phy: micrel: add Asym Pause workaround")
407d8098cb1a ("net: phy: micrel: add Asym Pause workaround for KSZ9021")

Signed-off-by: Markus Niebel <Markus.Niebel@ew.tq-group.com>
Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
10 days agonet: phy: marvell10g: Fix PHY mode bitmap handling
Marek Vasut [Thu, 1 Jan 2026 16:51:44 +0000 (17:51 +0100)] 
net: phy: marvell10g: Fix PHY mode bitmap handling

Replace PHY interface mode bitmap handling with comparison test to match
U-Boot PHY subsystem behavior. U-Boot currently implements only single PHY
interface mode for each PHY. Linux currently uses bitmap of PHY interface
modes for each PHY.

The reason why in Linux uses bitmap of supported interface modes is so
that Linux can select the best serdes mode switching behavior for the PHY.

For example if the host only supports 10gbase-r serdes mode, then the PHY
must always talk to the host in 10gbase-r mode, even if the RJ-45 copper
speed was autonegotiated to lower speed (i.e. 1Gbps).

If the host supports both 10gbase-r and sgmii serdes modes, we want the
PHY to switch to sgmii if the RJ-45 speed is 1000/100/10, and to switch
to 10gbase-r if the RJ-45 speed is 10000.

U-Boot does not implement this functionality yet, therefore remove modes
which cannot be currently supported and switch mv_test_bit() to plain
mode comparison.

Fixes: b6fcab0728cb ("net: phy: marvell10g: Adapt Marvell 10G PHY driver from Linux")
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
10 days agoAdd missing “net” prefix in help net
Link Mauve [Sat, 27 Dec 2025 18:18:48 +0000 (19:18 +0100)] 
Add missing “net” prefix in help net

The usage of the net sub-system was missing the complete command for “net
stats”.

Signed-off-by: Link Mauve <linkmauve@linkmauve.fr>
Reviewed-by: Jerome Forissier <jerome@forissier.org>
10 days agonet: add Microsemi/Microchip MDIO driver
Robert Marko [Tue, 30 Dec 2025 21:06:03 +0000 (22:06 +0100)] 
net: add Microsemi/Microchip MDIO driver

Add Microsemi/Microchip MDIO driver for interfaces found in their network
switches.

Driver is based on the Linux version.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Acked-by: Jerome Forissier <jerome@forissier.org>
10 days agonet: tftpput: Rework to exclude code from xPL phases
Tom Rini [Thu, 25 Dec 2025 15:37:21 +0000 (09:37 -0600)] 
net: tftpput: Rework to exclude code from xPL phases

Given how the support for CONFIG_CMD_TFTPPUT is woven through the
support for the tftp protocol we currently end up including "put"
support in xPL phases, if enabled. This in turn can lead to size
overflow on those platforms as xPL tends to be constrained. To resolve
this, use "CMD_TFTPPUT" in the code to check for both CONFIG_CMD_TFTPPUT
being true and not being in an xPL build phase.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Jerome Forissier <jerome@forissier.org>
10 days agoconfigs: qemu_arm64_lwip_defconfig: enable CMD_NFS
Andrew Goodbody [Fri, 12 Dec 2025 11:32:29 +0000 (11:32 +0000)] 
configs: qemu_arm64_lwip_defconfig: enable CMD_NFS

Enable NFS command so that it gets built by CI and can be tested more
easily.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
10 days agonet: lwip: nfs: Port the NFS code to work with lwIP
Andrew Goodbody [Fri, 12 Dec 2025 11:32:28 +0000 (11:32 +0000)] 
net: lwip: nfs: Port the NFS code to work with lwIP

After the preparatory patches moved most of the NFS code into common
files we now add the code to enable NFS support with lwIP.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
10 days agonet: nfs: Move most NFS code to common files
Andrew Goodbody [Fri, 12 Dec 2025 11:32:27 +0000 (11:32 +0000)] 
net: nfs: Move most NFS code to common files

Move most of the NFS code into common files so that it can be used by an
lwIP port of NFS.

Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
10 days agonet: nfs: Add licence header
Andrew Goodbody [Fri, 12 Dec 2025 11:32:26 +0000 (11:32 +0000)] 
net: nfs: Add licence header

Add the same GPL2+ licence header to the NFS code as appears on other
NFS related files.

Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
10 days agonet: Move some variables to net-common files
Andrew Goodbody [Fri, 12 Dec 2025 11:32:25 +0000 (11:32 +0000)] 
net: Move some variables to net-common files

Make some variables available to be used by either the legacy network
code or lwIP by moving them into the net-common files. This also allowed
removing a small number of duplicated variables from the lwIP code.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
10 days agonet: move net_state to net-common
Andrew Goodbody [Fri, 12 Dec 2025 11:32:24 +0000 (11:32 +0000)] 
net: move net_state to net-common

Move the net_state variable into common code so that it can be used by
either the legacy network code or lwIP. This is needed for porting
across the NFS support code for use with lwIP.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
10 days agonet:lwip: Add debug line to net-lwip
Andrew Goodbody [Fri, 5 Dec 2025 09:46:48 +0000 (09:46 +0000)] 
net:lwip: Add debug line to net-lwip

When debugging the LWIP NFS implementation this debug line helped to
show the cause of an error. This could be useful to someone in the
future.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
10 days agobootstd: android: Add missing free in android_read_bootflow
Francois Berder [Wed, 14 Jan 2026 09:14:55 +0000 (10:14 +0100)] 
bootstd: android: Add missing free in android_read_bootflow

If strdup call fails, one needs to free priv variable.

Signed-off-by: Francois Berder <fberder@outlook.fr>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Link: https://lore.kernel.org/r/BESP194MB28052734FD0361EA602F6360DA8FA@BESP194MB2805.EURP194.PROD.OUTLOOK.COM
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
10 days agodfu: Report error codes
Sean Anderson [Tue, 6 Jan 2026 22:22:11 +0000 (17:22 -0500)] 
dfu: Report error codes

A lot of things can go wrong while parsing dfu_alt_info. Make sure to
pass the real error codes all the way up instead of replacing them with
an unhelpful -1.

Signed-off-by: Sean Anderson <sean.anderson@linux.dev>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Link: https://lore.kernel.org/r/20260106222212.744823-1-sean.anderson@linux.dev
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
11 days agoclk: qcom: sa8775p: Fix USB clock configuration and add resets
Balaji Selvanathan [Tue, 13 Jan 2026 06:58:55 +0000 (12:28 +0530)] 
clk: qcom: sa8775p: Fix USB clock configuration and add resets

Correct USB30 primary clock RCG configuration and add missing
USB3_PRIM_PHY_AUX_CMD_RCGR RCG configuration.
Above taken from Linux commit 08c51ceb12f7 ("clk: qcom: add the GCC driver for sa8775p")

Add missing USB3_PRIM_PHY_PIPE_CLK gate clock definition.
Extend reset map with USB-related BCR entries and video BCR
for comprehensive reset control support.

Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
Link: https://patch.msgid.link/20260113065856.3287772-1-balaji.selvanathan@oss.qualcomm.com
[casey: indentation fix]
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
11 days agoclk: qcom: sa8775p: Add QUP serial engine clock support
Swathi Tamilselvan [Tue, 13 Jan 2026 04:22:13 +0000 (09:52 +0530)] 
clk: qcom: sa8775p: Add QUP serial engine clock support

Add clock gate definitions and entries for QUP (Qualcomm Universal
Peripheral) serial engine clocks across all four wrappers on SA8775P.
This enables proper clock management for I2C, SPI, and UART
peripherals connected to the QUP blocks.

This resolves the "unknown clock ID 133" error for UART10 and
provides complete QUP clock infrastructure for the platform.

Signed-off-by: Swathi Tamilselvan <swathi.tamilselvan@oss.qualcomm.com>
Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
Link: https://patch.msgid.link/20260113042213.3107106-1-balaji.selvanathan@oss.qualcomm.com
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
11 days agoconfigs: Add google-pixel fragment config for Pixel 3, 3 XL, 5
David Heidelberg [Thu, 8 Jan 2026 22:13:02 +0000 (23:13 +0100)] 
configs: Add google-pixel fragment config for Pixel 3, 3 XL, 5

Introduce a fragment config for the Pixel 3, Pixel 3 XL, Pixel 5.

On these devices, U-Boot is chainloaded via fastboot. However, due to
additional requirements added by Google, the image header must have
a specific value for the text offset.
This is solved by setting CONFIG_TEXT_BASE to 0x80080000 in U-Boot.

Reviewed-by: Simon Glass <simon.glass@canonical.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Reviewed-by: Petr Vorel <petr.vorel@gmail.com>
Link: https://patch.msgid.link/20260108-pixel-config-v4-2-76a2212b69a5@ixit.cz
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
11 days agodoc: board: qualcomm: document Pixel 3 / 3 XL support
David Heidelberg [Thu, 8 Jan 2026 22:13:01 +0000 (23:13 +0100)] 
doc: board: qualcomm: document Pixel 3 / 3 XL support

U-Boot does work on Qualcomm 845-based Pixel 3 and 3 XL.

Reviewed-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Casey Connolly <casey.connolly@linaro.org>
Signed-off-by: David Heidelberg <david@ixit.cz>
Reviewed-by: Petr Vorel <petr.vorel@gmail.com>
Link: https://patch.msgid.link/20260108-pixel-config-v4-1-76a2212b69a5@ixit.cz
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
11 days agopower: regulator: qcom-rpmh: correctly map pmic mode
Casey Connolly [Thu, 8 Jan 2026 20:28:48 +0000 (21:28 +0100)] 
power: regulator: qcom-rpmh: correctly map pmic mode

Currently we don't properly map between the regulator mode ID enum and
the appropriate register values in the mode map, as a result we always
unintentionally vote for retention mode if we actually attempt to set
it. In the set_mode path we did find the appropriate entry in the mode
map but we wrote the id instead of the register values. Clean this up
and properly map id -> mode and vice versa.

Link: https://patch.msgid.link/20260108-rpmh-regulator-fixes-v1-6-d1b5b300b665@linaro.org
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
11 days agopower: regulator: qcom-rpmh: read votes from rpmh
Casey Connolly [Thu, 8 Jan 2026 20:28:47 +0000 (21:28 +0100)] 
power: regulator: qcom-rpmh: read votes from rpmh

Make use of the new RPMh read support to fetch regulator values that may
have been voted on by a previous bootloader stage. This allows commands
like "regulator status" to report the actual votes programmed into
hardware (though not necessarily the actual states of the regulators
once the votes have been aggregated).

Link: https://patch.msgid.link/20260108-rpmh-regulator-fixes-v1-5-d1b5b300b665@linaro.org
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
11 days agosoc/qcom: rpmh: add RPMh read
Casey Connolly [Thu, 8 Jan 2026 20:28:46 +0000 (21:28 +0100)] 
soc/qcom: rpmh: add RPMh read

Implement support for RPMh reads, these allow reading out the
current votes for RPMh controlled resources such as regulators and
interconnects.

Link: https://patch.msgid.link/20260108-rpmh-regulator-fixes-v1-4-d1b5b300b665@linaro.org
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
11 days agosoc/qcom: rpmh: correctly wait for TCS flush
Casey Connolly [Thu, 8 Jan 2026 20:28:45 +0000 (21:28 +0100)] 
soc/qcom: rpmh: correctly wait for TCS flush

Several bugs were discovered in the rpmh-rsc driver which collectively
meant we were never actually waiting for the TCS to flush, these were
likely missed because U-Boot runs single threaded and the RPMh had
typically processed the single command we sent by the time we went
to send the next one. However a future patch will implement rpmh read
support which requires us to properly wait for the RPMh command response
so we can return the value.

Fix these issues so we correctly ensure the TCS is done before
returning.

Link: https://patch.msgid.link/20260108-rpmh-regulator-fixes-v1-3-d1b5b300b665@linaro.org
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
11 days agosoc/qcom: rpmh: document rsc registers
Casey Connolly [Thu, 8 Jan 2026 20:28:44 +0000 (21:28 +0100)] 
soc/qcom: rpmh: document rsc registers

Add some comments explaining a few of the RSC registers

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260108-rpmh-regulator-fixes-v1-2-d1b5b300b665@linaro.org
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
11 days agosoc: qcom: rpmh-rsc: reclaim the TCS to avoid spurious irq in Linux
Neil Armstrong [Thu, 8 Jan 2026 20:28:43 +0000 (21:28 +0100)] 
soc: qcom: rpmh-rsc: reclaim the TCS to avoid spurious irq in Linux

If we don't reclaim and clear the IRQ bits, we might get a spurious
interrupt from this TCS in Linux:
WARNING: CPU: 0 PID: 0 at drivers/soc/qcom/rpmh-rsc.c:451 tcs_tx_done+0x98/0x270
...
 Call trace:
  tcs_tx_done+0x98/0x270 (P)
  __handle_irq_event_percpu+0x60/0x220
  handle_irq_event+0x54/0xc0
  handle_fasteoi_irq+0xa8/0x1c0
  handle_irq_desc+0x3c/0x68
  generic_handle_domain_irq+0x24/0x40
  gic_handle_irq+0x5c/0xd0
  ...

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260108-rpmh-regulator-fixes-v1-1-d1b5b300b665@linaro.org
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
11 days agoi2c: geni: bail when clocks can't be enabled
Casey Connolly [Thu, 8 Jan 2026 19:52:55 +0000 (20:52 +0100)] 
i2c: geni: bail when clocks can't be enabled

Failing to enable clocks will lead to bus hangs and the board crashing
in some cases, let's actually deal with this error and fail probe rather than hoping the clocks are already enabled.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260108195301.3159260-1-casey.connolly@linaro.org
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
11 days agoclk/qcom: sc7280: add more QUP clocks
Casey Connolly [Thu, 8 Jan 2026 19:49:55 +0000 (20:49 +0100)] 
clk/qcom: sc7280: add more QUP clocks

Add more clocks for UART2, i2c9 and a few others. This is enough to get
the rubikpi 3 working.

Link: https://patch.msgid.link/20260108195007.3156604-1-casey.connolly@linaro.org
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
11 days agoconfigs: Fix fastboot buffer address for QCS615 and QCM6490 boards
Balaji Selvanathan [Wed, 7 Jan 2026 09:50:38 +0000 (15:20 +0530)] 
configs: Fix fastboot buffer address for QCS615 and QCM6490 boards

The default value of CONFIG_FASTBOOT_BUF_ADDR is 0, which causes
NULL pointer dereference during fastboot commands when users dont
provide "-l" option in fastboot usb command.

Set it to safe and sufficiently large region in RAM
of the QCS615 and QCM6490 boards, to prevent crashes.

Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
Reviewed-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
Link: https://patch.msgid.link/20260107095038.2491697-1-balaji.selvanathan@oss.qualcomm.com
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
11 days agospmi: msm: refine handling of multiple APID mappings
Aswin Murugan [Wed, 7 Jan 2026 15:35:04 +0000 (21:05 +0530)] 
spmi: msm: refine handling of multiple APID mappings

PMIC Arbiter may expose multiple owned and non-owned APIDs per SID/PID.
- Keep current mapping if it is OWNED and a NON-OWNED appears.
- Always update when a NEW OWNED APID appears (make writable).
- If current is NON-OWNED and a new NON-OWNED appears, update to it
  (remain read-only).

This avoids write-access violations when not using the newly discovered
owned channels.

Signed-off-by: Aswin Murugan <aswin.murugan@oss.qualcomm.com>
Link: https://patch.msgid.link/20260107153504.550450-1-aswin.murugan@oss.qualcomm.com
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
11 days agomach-snapdragon: of_fixup: support new flat dwc3 node
Casey Connolly [Wed, 14 Jan 2026 13:57:32 +0000 (14:57 +0100)] 
mach-snapdragon: of_fixup: support new flat dwc3 node

Qualcomm DTs are being updated to use a new format where the dwc3 glue
node and controller are combined into a single DT node. Update the fixup
code to handle this case.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260114135739.1546815-1-casey.connolly@linaro.org
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
11 days agommc: msm_sdhci: Add DLL control hook to disable DLL below 100 MHz
Sumit Garg [Wed, 10 Dec 2025 15:54:54 +0000 (16:54 +0100)] 
mmc: msm_sdhci: Add DLL control hook to disable DLL below 100 MHz

Introduce an SDHCI ops hook (config_dll) for MSM SDHCI and implement a
minimal DLL control routine that ensures the core DLL is disabled when
the bus clock is at or below 100 MHz. This approach mirrors the Linux
MSM SDHCI driver.

Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Link: https://patch.msgid.link/20251210155454.1561611-3-loic.poulain@oss.qualcomm.com
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>