]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
2 months agoboard: ti: am62x: tifs-rm-cfg: Add the missing tifs-rm-cfg:
Sparsh Kumar [Wed, 25 Feb 2026 13:24:19 +0000 (18:54 +0530)] 
board: ti: am62x: tifs-rm-cfg: Add the missing tifs-rm-cfg:

The am62x platform was originally introduced without a
tifs-rm-cfg.yaml file. Add the tifs-rm-cfg to bring am62x
in line with other am62 family of devices (am62px and am62a)
which all include this file.

This complements the rm-cfg update earlier in this series.

Signed-off-by: Sparsh Kumar <sparsh-kumar@ti.com>
2 months agoboard: ti: am62px: tifs-rm-cfg: Sync tifs-rm-cfg with TIFS firmware updates
Sparsh Kumar [Wed, 25 Feb 2026 13:24:18 +0000 (18:54 +0530)] 
board: ti: am62px: tifs-rm-cfg: Sync tifs-rm-cfg with TIFS firmware updates

Synchronize tifs-rm-cfg file with the latest v11.02.09
TIFS firmware rm configuration:

 - Update am62px tifs-rm-cfg with revised resource allocations
 - Apply formatting updates to align with TIFS template

This brings tifs-rm-cfg in sync with the rm-cfg changes
earlier in this series.

Signed-off-by: Sparsh Kumar <sparsh-kumar@ti.com>
2 months agoboard: ti: rm-cfg: Update rm-cfg to reflect new resource reservation
Sparsh Kumar [Wed, 25 Feb 2026 13:24:17 +0000 (18:54 +0530)] 
board: ti: rm-cfg: Update rm-cfg to reflect new resource reservation

With the latest v11.02.09 TIFS firmware, an additional
virtual interrupt and event is reserved for MCU cores
to DM usage on am62x, am62ax and am62px devices.

Update the rm-cfg to reflect this new reservation.

Signed-off-by: Sparsh Kumar <sparsh-kumar@ti.com>
2 months agoarm: dts: sc594: Update sc594 EZKIT GPIO polarities
Caleb Ethridge [Fri, 27 Feb 2026 19:34:23 +0000 (14:34 -0500)] 
arm: dts: sc594: Update sc594 EZKIT GPIO polarities

Updates the polarities for the GPIOs on the sc594
EZKIT carrier board for the newest revision, Rev D.
The new carrier board revision has different polarities
for some GPIOs. This patch updates the sc594 entries
to match the sc598 entries that were updated in a previous
commit, as both SOMs can utilize the EZKIT.

Note that these updates are for the EZKIT carrier
board used by both sc598 and sc594 SOMs, not the SOMs themselves.

Fixes: be79378 ("board: adi: Add support for SC594")
Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Reviewed-by: Greg Malysa <malysagreg@gmail.com>
2 months agolinux_compat: fix NULL pointer dereference in get_mem()
Anton Moryakov [Thu, 26 Feb 2026 21:27:28 +0000 (00:27 +0300)] 
linux_compat: fix NULL pointer dereference in get_mem()

Add NULL check after memalign() call in get_mem() to prevent
potential NULL pointer dereference (CWE-476).

The function memalign() can return NULL on allocation failure.
Dereferencing the returned pointer without checking for NULL
may cause a crash in low-memory conditions.

Changes:
- Add NULL check after memalign() allocation
- Return NULL on failure, consistent with function semantics

This fixes the static analyzer warning:
  linux_compat.c:34: dereference of memalign return value without NULL check

Reported-by: static analyzer Svace
Signed-off-by: Anton Moryakov <ant.v.moryakov@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2 months agoserial: ns16550: Fix return-type warning
Nikita Shubin [Thu, 26 Feb 2026 16:39:10 +0000 (19:39 +0300)] 
serial: ns16550: Fix return-type warning

Fix compiler warning:

drivers/serial/ns16550.c: In function ‘serial_in_dynamic’:
drivers/serial/ns16550.c:153:1: warning: control reaches end
    of non-void function [-Wreturn-type]
  153 | }
      | ^

Observed with gcc 15.2.1:

$ riscv64-unknown-linux-gnu-gcc --version
riscv64-unknown-linux-gnu-gcc (Gentoo 15.2.1_p20260214 p5) 15.2.1

Fixes: 62cbde4c4e46 ("serial: ns16550: Support run-time configuration")
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
Reviewed-by: Tom Rini <trini@konsulko.com>
2 months agoarm: dts: k3-j721s2*: Enable OSPI1 with 32-bit address mappings for R5 SPL
Anurag Dutta [Thu, 26 Feb 2026 09:05:24 +0000 (14:35 +0530)] 
arm: dts: k3-j721s2*: Enable OSPI1 with 32-bit address mappings for R5 SPL

The R5 SPL requires 32-bit address mappings for OSPI1(QSPI) access.
Override the OSPI1 node with appropriate 32-bit register ranges to
enable proper address translation on the 32-bit R5 core, while
preserving 64-bit mappings for A72 cores. While at it, remove the
disabled status override for ospi1 node to support booting from
qspi.

Signed-off-by: Anurag Dutta <a-dutta@ti.com>
2 months agospl: Remake SPL elf from bin
Michal Simek [Thu, 26 Feb 2026 09:27:16 +0000 (10:27 +0100)] 
spl: Remake SPL elf from bin

On Xilinx MB-V there is a need to use ELF file for SPL which is placed
in BRAM (Block RAM) because tools for placing code to bitstream requires to
use ELF. That's why introduce SPL_REMAKE_ELF similar to REMAKE_ELF option
as was originally done by commit f4dc714aaa2d ("arm64: Turn u-boot.bin back
into an ELF file after relocate-rela").

There is already generic and simple linker script (arch/u-boot-elf.lds)
which can be also used without any modification.

Signed-off-by: Michal Simek <michal.simek@amd.com>
2 months agosandbox: symbol CONFIG_DM_SOUND does not exist
Heinrich Schuchardt [Wed, 25 Feb 2026 17:38:14 +0000 (18:38 +0100)] 
sandbox: symbol CONFIG_DM_SOUND does not exist

The correct configuration symbol is CONFIG_SOUND.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2 months agospl: spi: fix loss of spl_load() error on soft reset
Dimitrios Siganos [Tue, 17 Feb 2026 13:56:20 +0000 (13:56 +0000)] 
spl: spi: fix loss of spl_load() error on soft reset

When CONFIG_SPI_FLASH_SOFT_RESET is enabled, spi_nor_remove() is called
after spl_load() to switch the flash back to legacy SPI mode. However,
the return value of spi_nor_remove() unconditionally overwrites the
return value of spl_load(), discarding any load error.

Fix this by preserving the spl_load() error and only propagating the
spi_nor_remove() error as a fallback. Also log a message when
spi_nor_remove() fails, since in the case where spl_load() already
failed its error would otherwise be silently discarded.

Signed-off-by: Dimitrios Siganos <dimitris@siganos.org>
2 months agolmb: Reinstate access to memory above ram_top
Marek Vasut [Tue, 27 Jan 2026 23:48:40 +0000 (00:48 +0100)] 
lmb: Reinstate access to memory above ram_top

Revert commit eb052cbb896f ("lmb: add and reserve memory above ram_top")
and commit 1a48b0be93d4 ("lmb: prohibit allocations above ram_top even from
same bank"). These are based on incorrect premise of the first commit, that
"U-Boot does not use memory above ram_top". While U-Boot itself indeed does
not and should not use memory above ram_top, user can perfectly well use
that memory from the U-Boot shell, for example to load content in there.

Currently, attempt to use that memory to load large image using TFTP ends
with "TFTP error: trying to overwrite reserved memory...". With this change
in place, the memory can be used again.

Fixes: eb052cbb896f ("lmb: add and reserve memory above ram_top")
Fixes: 1a48b0be93d4 ("lmb: prohibit allocations above ram_top even from same bank")
Reported-by: Yuya Hamamachi <yuya.hamamachi.sx@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 months agoMerge tag 'u-boot-ufs-20260313' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Fri, 13 Mar 2026 15:01:53 +0000 (09:01 -0600)] 
Merge tag 'u-boot-ufs-20260313' of https://source.denx.de/u-boot/custodians/u-boot-ufs into next

- ufs_hba_ops callbacks cleanup
- Rockchip UFS reset support
- UFS support in SPL

2 months agoMerge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-riscv into...
Tom Rini [Fri, 13 Mar 2026 15:01:18 +0000 (09:01 -0600)] 
Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-riscv into next

CI: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/29497
- sifive: switch to OF_UPSTREAM
- driver: cache: Remove SiFive PL2 driver
- riscv: fixes for non-existent CONFIG

2 months agoMerge tag 'net-20260312' of https://source.denx.de/u-boot/custodians/u-boot-net into...
Tom Rini [Fri, 13 Mar 2026 15:00:54 +0000 (09:00 -0600)] 
Merge tag 'net-20260312' of https://source.denx.de/u-boot/custodians/u-boot-net into next

Pull request net-20260312.

net:
- Move network PHY under NETDEVICES
- s/DM_CLK/CLK/ in HIFEMAC_{ETH,MDIO}
- Add support for Airoha AN8811HB PHY
- airoha: PCS and MDIO support for Airoha AN7581 SoC

net-lwip:
- Fix issue when TFTP blocksize is >8192
- Adjust PBUF_POOL_SIZE/IP_REASS_MAX_PBUFS for better performance and
  resource usage.
- Enable mii command for NET_LWIP

2 months agonet: Move network PHY under NETDEVICES
Tom Rini [Tue, 10 Mar 2026 16:26:14 +0000 (10:26 -0600)] 
net: Move network PHY under NETDEVICES

A number of network PHY drivers have Kconfig dependencies on various
network drivers under NETDEVICES. This is in addition to logical
dependencies of network PHYs needing network drivers. Resolve the
Kconfig problems by moving the network PHY lines to be after the network
devices, within the overall NETDEVICES guard.

Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Jerome Forissier <jerome.forissier@arm.com>
2 months agonet: lwip: scale buffer pool size with TFTP block size
Pranav Tilak [Tue, 10 Mar 2026 12:58:25 +0000 (18:28 +0530)] 
net: lwip: scale buffer pool size with TFTP block size

TFTP transfers fail when tftpblocksize is set to 8192 or larger due to
insufficient buffer resources for IP fragment reassembly.

Calculate PBUF_POOL_SIZE and IP_REASS_MAX_PBUFS dynamically based on
CONFIG_TFTP_BLOCKSIZE using IP fragmentation boundaries (1480 usable
bytes per fragment at 1500 MTU). The pool size includes headroom for
TX, ARP, and protocol overhead, while ensuring PBUF_POOL_SIZE remains
greater than IP_REASS_MAX_PBUFS as required by lwIP.

Signed-off-by: Pranav Tilak <pranav.vinaytilak@amd.com>
2 months agonet: lwip: Fix PBUF_POOL_BUFSIZE when PROT_TCP_LWIP is disabled
Jonas Karlman [Mon, 9 Mar 2026 21:06:39 +0000 (21:06 +0000)] 
net: lwip: Fix PBUF_POOL_BUFSIZE when PROT_TCP_LWIP is disabled

The PBUF_POOL_BUFSIZE ends up being only 592 bytes, instead of 1514,
when PROT_TCP_LWIP Kconfig option is disabled. This results in a full
Ethernet frame requiring three PBUFs instead of just one.

This happens because the PBUF_POOL_BUFSIZE constant depends on the value
of a TCP_MSS constant, something that defaults to 536 when PROT_TCP_LWIP
is disabled.

  PBUF_POOL_BUFSIZE = LWIP_MEM_ALIGN_SIZE(TCP_MSS + 40 + PBUF_LINK_HLEN)

Ensure that a full Ethernet frame fits inside a single PBUF by moving
the define of TCP_MSS outside the PROT_TCP_LWIP ifdef block.

Fixes: 1c41a7afaa15 ("net: lwip: build lwIP")
Acked-by: Jerome Forissier <jerome.forissier@arm.com>
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
2 months agonet: do not use non-existent CONFIG_DM_CLK
Heinrich Schuchardt [Wed, 25 Feb 2026 06:14:26 +0000 (07:14 +0100)] 
net: do not use non-existent CONFIG_DM_CLK

For enabling the clock driver we use symbol CONFIG_CLK.
Select this symbol for the HiSilicon Fast Ethernet Controller driver.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2 months agonet: phy: air_en8811: add support for Airoha AN8811HB PHY
Tommy Shih [Thu, 26 Feb 2026 08:52:00 +0000 (16:52 +0800)] 
net: phy: air_en8811: add support for Airoha AN8811HB PHY

Add support for the Airoha AN8811HB 2.5 Gigabit PHY to the existing
en8811h driver. This PHY supports 10/100/1000/2500 Mbps speeds.

Update the driver to recognize the AN8811HB PHY ID and handle its
specific firmware loading requirements. The firmware loading mechanism
remains consistent with the existing implementation.

This driver is based on:
  - Linux upstream PHY subsystem (v7.0-rc1)
  - air_an8811hb v0.0.4 out-of-tree uboot driver written by
    "Lucien.Jheng <lucien.jheng@airoha.com>"

Tested on MT7987 RFB board.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=6f1769ec5892ac41d82e820d94dcdc68e904aa99
Link: https://patchwork.kernel.org/project/netdevbpf/patch/20260122071601.1057083-3-bjorn@mork.no/
Signed-off-by: Tommy Shih <tommy.shih@airoha.com>
Reviewed-by: Lucien.Jheng <lucienzx159@gmail.com>
2 months agoMerge tag 'rpi-2026.04-rc4' of https://source.denx.de/u-boot/custodians/u-boot-raspbe...
Tom Rini [Thu, 12 Mar 2026 22:10:46 +0000 (16:10 -0600)] 
Merge tag 'rpi-2026.04-rc4' of https://source.denx.de/u-boot/custodians/u-boot-raspberrypi

Updates for RPi for 2026.04-rc4:

- board/raspberrypi: add bcm2712d0-rpi-5-b for Raspberry Pi 5
- board/raspberrypi: add multi-FDT support
- rpi: pass the Video Core logs DT parameter through
- pinctrl: bcm283x: Fix GPIO pull state register values for BCM2711

2 months agoriscv: mpfs: SIFIVE_CLINT and SPL_SIFIVE_CLINT don't exist
Heinrich Schuchardt [Wed, 25 Feb 2026 17:52:29 +0000 (18:52 +0100)] 
riscv: mpfs: SIFIVE_CLINT and SPL_SIFIVE_CLINT don't exist

Don't imply non-existent symbols CONFIG_SIFIVE_CLINT and SPL_SIFIVE_CLINT.

MPFS boards neither use SPL nor do they run main U-Boot in M-mode.
So we don't need CONFIG_(SPL_)ACLINT either.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
2 months agoopenpiton: imply CONFIG_SPL_CPU
Heinrich Schuchardt [Wed, 25 Feb 2026 12:13:02 +0000 (13:13 +0100)] 
openpiton: imply CONFIG_SPL_CPU

There is no symbol CONFIG_SPL_CPU_SUPPORT.
The intended symbol is called CONFIG_SPL_CPU.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Tianrui Wei <tianrui-wei@outlook.com>
Fixes: 8a44fe694394 ("board: riscv: add openpiton-riscv64 SoC support")
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2 months agoriscv: don't imply non-existent CONFIG_IP_DYN
Heinrich Schuchardt [Wed, 25 Feb 2026 09:54:14 +0000 (10:54 +0100)] 
riscv: don't imply non-existent CONFIG_IP_DYN

The symbol CONFIG_IP_DYN does not exist, but multiple contributors
copied an imply statement.

Remove the imply IP_DYN statements.

Fixes: 3fda0262c33f ("riscv: Add SiFive FU540 board support")
Fixes: 64413e1b7caf ("riscv: Add Microchip MPFS Icicle Kit support")
Fixes: 70415e1e528d ("board: sifive: add HiFive Unmatched board support")
Fixes: 6f902b85b6ee ("board: starfive: Add Kconfig for StarFive VisionFive v2 Board")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
2 months agodriver: cache: Remove SiFive PL2 driver
Nick Hu [Mon, 19 Jan 2026 05:55:23 +0000 (13:55 +0800)] 
driver: cache: Remove SiFive PL2 driver

Under single core boot platform, the secondary cores won't enter the
u-boot spl. Therefore we move the pl2 driver from u-boot to the Opensbi.

Signed-off-by: Nick Hu <nick.hu@sifive.com>
Signed-off-by: Jimmy Ho <jimmy.ho@sifive.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2 months agosifive: switch to OF_UPSTREAM
Andreas Schwab [Wed, 28 Jan 2026 16:51:02 +0000 (17:51 +0100)] 
sifive: switch to OF_UPSTREAM

Tested on HiFive Unleashed and HiFive Unmatched, both SPIFlash and MMC boot.

Signed-off-by: Andreas Schwab <schwab@suse.de>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2 months agoboot: availability of command mii for NET_LWIP
Heinrich Schuchardt [Fri, 20 Feb 2026 14:33:11 +0000 (15:33 +0100)] 
boot: availability of command mii for NET_LWIP

If we are using the legacy or the LWIP network stack,
should not influence our decision to provide command `mii`.

Let BOOT_DEFAULTS_CMDS imply MII if either of the network
stacks is available.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 months agonet: airoha: use mt7531 mdio for GDM1
Mikhail Kshevetskiy [Wed, 11 Feb 2026 18:22:30 +0000 (21:22 +0300)] 
net: airoha: use mt7531 mdio for GDM1

Current code just bind mt7531 mdio with it's driver, so mdio device may
not be probed and hense not usable.

This patch:
 * Forces probing of mt7531 mdio for GDM1 port
 * Renames the mt7531 mdio bus interface to 'mt7531-mdio'. We may have
   multiple available MDIO, so the name 'mdio' isn't descriptive enough.
 * Sets mdio bus for the GDM port device

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agonet: airoha: makes PCS support optional
Mikhail Kshevetskiy [Wed, 11 Feb 2026 18:22:29 +0000 (21:22 +0300)] 
net: airoha: makes PCS support optional

It's not possible to disable PCS support just now, an7581 u-boot will not
compile. This patch fixes an issue.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agonet: airoha: fill in support for PCS/PHY in Airoha Ethernet driver
Christian Marangi [Wed, 11 Feb 2026 18:22:28 +0000 (21:22 +0300)] 
net: airoha: fill in support for PCS/PHY in Airoha Ethernet driver

Add required changes to call PCS function to configure the Serdes Port.
The Ethernet driver is adapted following Upstream Kernel node structure.

Function calling order is the same of Phylink upstream kernel.

With the PCS support, also add support for attaching PHY. With
"in-band-status" set in DT for the managed property, a rudimental
support for SFP module is present.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 months agoconfigs: enable PCS for Airoha AN7581
Christian Marangi [Wed, 11 Feb 2026 18:22:27 +0000 (21:22 +0300)] 
configs: enable PCS for Airoha AN7581

Enable PCS config for Airoha AN7581 SoC by default to enable
support for External PHY.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 months agoairoha: add PCS node for AN7581
Christian Marangi [Wed, 11 Feb 2026 18:22:26 +0000 (21:22 +0300)] 
airoha: add PCS node for AN7581

Add PCS node for Airoha AN7581 SoC to enable support for Serdes Ethernet
and PON port.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 months agoairoha: add GDM1 sub-node into EN7523 ethernet controller node
Mikhail Kshevetskiy [Wed, 11 Feb 2026 18:22:25 +0000 (21:22 +0300)] 
airoha: add GDM1 sub-node into EN7523 ethernet controller node

This is required to make ethernet working after PCS support changes

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agonet: airoha-pcs: an7581: sync with linux code a bit
Mikhail Kshevetskiy [Wed, 11 Feb 2026 18:22:24 +0000 (21:22 +0300)] 
net: airoha-pcs: an7581: sync with linux code a bit

based on linux kernel patches from
https://github.com/Ansuel/openwrt/commits/openwrt-24.10-airoha-an7581-stable/
created by Christian Marangi <ansuelsmth@gmail.com>

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agoMerge tag 'mediatek-for-next-2026-03-11' of https://source.denx.de/u-boot/custodians...
Tom Rini [Thu, 12 Mar 2026 13:45:29 +0000 (07:45 -0600)] 
Merge tag 'mediatek-for-next-2026-03-11' of https://source.denx.de/u-boot/custodians/u-boot-mediatek into next

A fix:
* Fixing compiling MT8195 due to some independent changes that were applied
  around the same time as MT8195 support was merged. (CI would not have caught
  this since we didn't have a defconfig until now).

And few small features:
* New defconfig for MT8395/Genio 1200 EVK.
* pinctrl support for MT8189-compatible SoCs.

2 months agoboard/raspberrypi: add bcm2712d0-rpi-5-b for Raspberry Pi 5
Filip Kokosiński [Mon, 16 Feb 2026 18:44:52 +0000 (19:44 +0100)] 
board/raspberrypi: add bcm2712d0-rpi-5-b for Raspberry Pi 5

This commit adds an FDT entry for the d0 stepping of the BCM2712 SoC.
This entry is used by the v1.1 revision of the board
(revision & 0x0f == 1).

Signed-off-by: Filip Kokosiński <filip.kokosinski@gmail.com>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
2 months agoboard/raspberrypi: add multi-FDT support
Filip Kokosiński [Mon, 16 Feb 2026 18:44:51 +0000 (19:44 +0100)] 
board/raspberrypi: add multi-FDT support

This patch adds support for multiple FDT files per board model. This is
done by adding the FDTFILES macro, which initializes two rpi_model
struct members: fdtfiles and fdtcount.

The new-style revision codes designate LSB bits as board revision; this
value is used to choose between provided FDTs. The first element of the
fdtfiles list is used should no revision match.

Signed-off-by: Filip Kokosiński <filip.kokosinski@gmail.com>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
2 months agorpi: pass the Video Core logs DT parameter through
Peter Robinson [Mon, 9 Feb 2026 12:55:47 +0000 (12:55 +0000)] 
rpi: pass the Video Core logs DT parameter through

Pass the VC logs DT parameter through to the kernel
device tree. This is used by the vclog tool and is
a useful debugging tool.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Acked-by: Matthias Brugger <mbrugger@suse.com>
2 months agopinctrl: bcm283x: Fix GPIO pull state register values for BCM2711
Cibil Pankiras [Fri, 6 Feb 2026 10:47:00 +0000 (11:47 +0100)] 
pinctrl: bcm283x: Fix GPIO pull state register values for BCM2711

BCM2711 has different pull-up/down register values compared to BCM2835

- BCM2835: NONE=0, DOWN=1, UP=2
- BCM2711: NONE=0, UP=1, DOWN=2

This patch fixes the pull state register values for BCM2711.

Fixes: 2c39d975f87c ("pinctrl: bcm283x: Add GPIO pull-up/down control for BCM2835 and BCM2711")
Signed-off-by: Cibil Pankiras <cibil.pankiras@egym.com>
Reviewed-by: Matthias Brugger <mbrugger@suse.com>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
2 months agonet: airoha: pcs: improve/fix building rules
Mikhail Kshevetskiy [Wed, 11 Feb 2026 18:22:22 +0000 (21:22 +0300)] 
net: airoha: pcs: improve/fix building rules

pcs-airoha-common.o should not build unconditionally,
also make building rules looks better.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agonet: airoha: add support for Airoha PCS driver
Christian Marangi [Wed, 11 Feb 2026 18:22:21 +0000 (21:22 +0300)] 
net: airoha: add support for Airoha PCS driver

Add support for Airoha PCS driver present on AN7581 SoC.
This is needed to configure the Serdes port for the different PHY mode.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 months agonet: airoha: init switch before GDM port initialization
Mikhail Kshevetskiy [Wed, 11 Feb 2026 18:22:20 +0000 (21:22 +0300)] 
net: airoha: init switch before GDM port initialization

Call airoha_switch_init() before creating GDM instances, so if
allocation of GDM port fails, early created GDM instances will work
normally.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agonet: airoha: do not call airoha_fe_init() from GDM port independent code
Mikhail Kshevetskiy [Wed, 11 Feb 2026 18:22:19 +0000 (21:22 +0300)] 
net: airoha: do not call airoha_fe_init() from GDM port independent code

We should not call airoha_fe_init() from GDM port independent code,
because it do a GDM specific things.

Makes airoha_fe_maccr_init() and airoha_fe_init() port dependent
and call them from airoha_eth_port_probe()

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agonet: airoha: declare airoha_eth_port as U_BOOT_DRIVER()
Mikhail Kshevetskiy [Wed, 11 Feb 2026 18:22:18 +0000 (21:22 +0300)] 
net: airoha: declare airoha_eth_port as U_BOOT_DRIVER()

Declare airoha_eth_port as U_BOOT_DRIVER(), fix airoha_alloc_gdm_port()
to lookup a driver instead of direct airoha_eth_port usage.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agonet: airoha: avoid out of boundary writing/access to gdm_port_str[] array
Mikhail Kshevetskiy [Wed, 11 Feb 2026 18:22:17 +0000 (21:22 +0300)] 
net: airoha: avoid out of boundary writing/access to gdm_port_str[] array

In the case of an7581 possible GDM port id are: 1, 2 and 4.
Initialization of port GDM4 will lead to out of boundary writing
to gdm_port_str[] array.

Let's increase the array size by 1 to avoid it.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agonet: airoha: add initial support for multiple GDM port
Christian Marangi [Wed, 11 Feb 2026 18:22:16 +0000 (21:22 +0300)] 
net: airoha: add initial support for multiple GDM port

Rework the driver to support multiple GDM port. The driver is split to
main driver as a MISC driver with forced probe (by using the
DM_FLAG_PROBE_AFTER_BIND) and each GDM port register a ETH driver.

This permit a 1:1 implementation with the linux kernel driver and permit
to use the same exact DT nodes.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 months agonet: mdio-mt7531-mmio: use common header priv struct
Christian Marangi [Wed, 11 Feb 2026 18:22:15 +0000 (21:22 +0300)] 
net: mdio-mt7531-mmio: use common header priv struct

Instead of having duplicate priv struct for mdio-mt7531-mmio driver in
both driver and header, use the one exposed by the header directly.

This make sure we have consistent priv struct if the driver will be
updated in the future.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 months agocommon: spl: spl_dfu.c: Fix warning associated with PCI subclass_code
Siddharth Vadapalli [Thu, 5 Mar 2026 10:38:14 +0000 (16:08 +0530)] 
common: spl: spl_dfu.c: Fix warning associated with PCI subclass_code

The subclass_code member of the pci_ep_header structure is a 1-byte
field. The macro PCI_CLASS_MEMORY_RAM is a concetation of baseclass_code
and subclass_code as follows:
PCI_BASE_CLASS_MEMORY: 0x05
Subclass Code for RAM: 0x00
PCI_CLASS_MEMORY_RAM:  0x0500
Hence, instead of extracting it via an implicity type conversion from int
to u8 which throws a warning, explicitly mask the bits to extract the
subclass_code.

Fixes: cde77583cf0b ("spl: Add support for Device Firmware Upgrade (DFU) over PCIe")
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Tested-by: Anshul Dalal <anshuld@ti.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Tested-by: Mattijs Korpershoek <mkorpershoek@kernel.org> # am62x_evm_a53
Link: https://lore.kernel.org/r/20260305103815.999886-1-s-vadapalli@ti.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2 months agoufs: rockchip: Add device reset support
Alexey Charkov [Tue, 20 Jan 2026 18:09:04 +0000 (22:09 +0400)] 
ufs: rockchip: Add device reset support

Wire up the GPIO line which Rockchip RK3576 UFS controller uses to reset
the connected UFS device.

This seems necessary at least for some UFS modules and fixes the following
error while enumerating UFS storage:

ufshcd-rockchip ufshc@2a2d0000: ufshcd_link_startup: Device not present
ufshcd-rockchip ufshc@2a2d0000: link startup failed -6
ufshcd-rockchip ufshc@2a2d0000: ufshcd_pltfrm_init() failed -6

Note that the GPIO descriptor for device resets is already required by the
DT binding (link enclosed).

Link: https://elixir.bootlin.com/linux/v6.18.5/source/Documentation/devicetree/bindings/ufs/rockchip,rk3576-ufshc.yaml#L70
Fixes: 76465ce21ee4 ("ufs: rockchip: Add initial support")
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://patch.msgid.link/20260120-rk3576-ufs-v5-3-0edb61b301b7@gmail.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2 months agospl: Make UFS available for SPL builds
Alexey Charkov [Tue, 20 Jan 2026 18:09:02 +0000 (22:09 +0400)] 
spl: Make UFS available for SPL builds

Add minimal infrastructure to build SPL images with support for UFS
storage devices. This also pulls in SCSI support and charset functions,
which are dependencies of the UFS code.

With this, only a fixed offset is supported for loading the next image,
which should be specified in CONFIG_SPL_UFS_RAW_U_BOOT_SECTOR as the
number of 4096-byte sectors into the UFS block device.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://patch.msgid.link/20260120-rk3576-ufs-v5-1-0edb61b301b7@gmail.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2 months agopinctrl: mediatek: add support for mt8189
Bo-Chen Chen [Mon, 9 Feb 2026 23:34:19 +0000 (17:34 -0600)] 
pinctrl: mediatek: add support for mt8189

Add pinctrl support for mt8189.

Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Co-developed-by: David Lechner <dlechner@baylibre.com>
Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Link: https://patch.msgid.link/20260209-mtk-pinctl-mt8189-v1-3-a7a3069eda6c@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 months agopinctl: mediatek: increase max number of base addresses
David Lechner [Mon, 9 Feb 2026 23:34:18 +0000 (17:34 -0600)] 
pinctl: mediatek: increase max number of base addresses

Increase the maximum number of base addresses that can be handled by the
mediatek pinctrl driver from 10 to 15. This is needed for the MT8189
which has 15 base addresses.

Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Link: https://patch.msgid.link/20260209-mtk-pinctl-mt8189-v1-2-a7a3069eda6c@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 months agopinctl: mediatek: add bounds check on number of base addresses
David Lechner [Mon, 9 Feb 2026 23:34:17 +0000 (17:34 -0600)] 
pinctl: mediatek: add bounds check on number of base addresses

Add a bounds check on the number of base addresses to prevent
out-of-bounds access to the priv->base array.

Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Link: https://patch.msgid.link/20260209-mtk-pinctl-mt8189-v1-1-a7a3069eda6c@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 months agokbuild: fix cross_tools compilation
Ilias Apalodimas [Mon, 2 Mar 2026 08:55:07 +0000 (10:55 +0200)] 
kbuild: fix cross_tools compilation

Frieder reports that after the kbuild sync running
make tools-only_defconfig
make cross_tools
fails with

UPD     include/generated/timestamp_autogenerated.h
PYMOD   rebuild
tools/Makefile:359: *** insufficient number of arguments (1) to function
'filter'.  Stop.
make: *** [Makefile:2191: tools] Error 2

After the sync 'hostprogs-always-y' contains the complete list of
the tools we need to strip, so the $(filter) command is not needed.

Fixes: bd3f9ee679b4d ("kbuild: Bump the build system to 6.1")
Reported-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Tested-by: Frieder Schrempf <frieder.schrempf@kontron.de>
2 months agoarm: k3: Kconfig: Enable fTPM and RPMB support
Shiva Tripathi [Wed, 25 Feb 2026 11:24:38 +0000 (16:54 +0530)] 
arm: k3: Kconfig: Enable fTPM and RPMB support

Enable firmware TPM (fTPM) support via OP-TEE for K3 platforms with
MMC hardware. This provides TPM 2.0 functionality through
Microsoft's fTPM Trusted Application running in OP-TEE secure world,
using eMMC RPMB as persistent storage.

fTPM support in U-Boot provides the foundation for measured boot
and disk encryption use cases.

The ARM64 condition ensures these apply only to A53/A72 cores and the
MMC condition ensures fTPM is enabled only on platforms with eMMC
hardware support.

Signed-off-by: Shiva Tripathi <s-tripathi1@ti.com>
Acked-by: Andrew Davis <afd@ti.com>
2 months agoscripts: add checkkconfigsymbols.py
Heinrich Schuchardt [Wed, 25 Feb 2026 13:10:51 +0000 (14:10 +0100)] 
scripts: add checkkconfigsymbols.py

Add checkkconfigsymbols.py from Linux 7.0-rc1 (unchanged since v6.2).
This tool allows to identify the usage of symbols that are not defined
in Kconfig.

Suggested-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2 months agodisk: fix DOS_PARTITION dependencies
Heinrich Schuchardt [Wed, 25 Feb 2026 13:03:12 +0000 (14:03 +0100)] 
disk: fix DOS_PARTITION dependencies

* The symbol for the x86 architecture is CONFIG_X86 and not CONFIG_x86.
* Correct the description. The partition type is called MBR.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2 months agosandbox: don't imply non-existent CONFIG_KEYBOARD
Heinrich Schuchardt [Wed, 25 Feb 2026 09:58:30 +0000 (10:58 +0100)] 
sandbox: don't imply non-existent CONFIG_KEYBOARD

Symbol CONFIG_KEYBOARD does not exist.
Don't imply it.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2 months agoboot: don't select non-existent CONFIG_VPL_CRYPTO
Heinrich Schuchardt [Wed, 25 Feb 2026 07:37:11 +0000 (08:37 +0100)] 
boot: don't select non-existent CONFIG_VPL_CRYPTO

Symbol CONFIG_VPL_CRYPTO does not exist.
Don't select it.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Fixes: 4218456b3fac ("vbe: Add Kconfig options for VPL")
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2 months agodma: ti: don't use non-existent CONFIG_TI_K3_NAVSS_PSILCFG
Heinrich Schuchardt [Wed, 25 Feb 2026 07:20:09 +0000 (08:20 +0100)] 
dma: ti: don't use non-existent CONFIG_TI_K3_NAVSS_PSILCFG

Symbol CONFIG_TI_K3_NAVSS_PSILCFG does not exist.
Don't select it.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 months agoarm/mach-sc5xx: don't select non-existent GIC_600_CLEAR_RDPD
Heinrich Schuchardt [Wed, 25 Feb 2026 06:19:51 +0000 (07:19 +0100)] 
arm/mach-sc5xx: don't select non-existent GIC_600_CLEAR_RDPD

The symbol CONFIG_GIC_600_CLEAR_RDPD does not exist.
Don't select it.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Fixes: 48a0b0b4b7d7 ("arch: arm: Add Analog Devices SC5xx machine type")
Fixes: 03de305ec48b ("Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet"")
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Greg Malysa <malysagreg@gmail.com>
2 months agoarm: don't select non-existent CONFIG_DM_PCI
Heinrich Schuchardt [Wed, 25 Feb 2026 05:43:37 +0000 (06:43 +0100)] 
arm: don't select non-existent CONFIG_DM_PCI

We removed configuration symbol CONFIG_DM_PCI with
commit 3232bdf0b30b ("pci: Drop DM_PCI").

Don't select it for TARGET_POMELO.

Fixes: b9d0f00a9d3f ("arm: add initial support for the Phytium Pomelo Board")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2 months agoMerge patch series "fs: fat: Handle 'FAT sector size mismatch'"
Tom Rini [Tue, 10 Mar 2026 17:52:16 +0000 (11:52 -0600)] 
Merge patch series "fs: fat: Handle 'FAT sector size mismatch'"

Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com> says:

The disk_read() and disk_write() functions of the FAT driver use the
blk_dread() and blk_dwrite() respectively. The blk_* APIs read and write
to the devices in terms of the device block size. However, the FAT
driver reads in terms of the device block size (from fat_set_blk_dev and
read_bootsectandvi) and sector size in the rest of the places.

This causes buffer overflows or partial reads when the FAT sector size
is not equal to device block size. Fix this by using blk_dread in
fat_set_blk_dev and read_bootsectandvi instead of disk_read. And update
disk_read/disk_write to handle FAT sector size and block size mismatch.

Tested on
blksz | FAT sector size
------+----------------
4096  | 4096
512   | 512
4096  | 512
512   | 4096

CI test results
---------------
https://github.com/u-boot/u-boot/pull/871
All checks have passed
93 successful checks
No conflicts with base branch

Code size change info
---------------------
       arm: (for 1/1 boards) all +32.0 text +32.0
            qemu_arm       : all +32 text +32
               u-boot: add: 0/0, grow: 2/0 bytes: 24/0 (24)
                 function                                   old     new   delta
                 read_bootsectandvi                         420     432     +12
                 fat_set_blk_dev                            204     216     +12

   aarch64: (for 1/1 boards) all +12.0 rodata -8.0 text +20.0
            qemu_arm64     : all +12 rodata -8 text +20
               u-boot: add: 0/0, grow: 2/0 bytes: 20/0 (20)
                 function                                   old     new   delta
                 read_bootsectandvi                         408     420     +12
                 fat_set_blk_dev                            204     212      +8

   aarch64: (for 1/1 boards) all -2.0 data -8.0 rodata +6.0
            qcom_qcs9100   : all -2 data -8 rodata +6
               u-boot: add: 1/-1, grow: 8/-1 bytes: 708/-224 (484)
                 function                                   old     new   delta
                 disk_rw                                      -     628    +628
                 read_bootsectandvi                         408     428     +20
                 fat_itr_root                               500     520     +20
                 get_cluster                                376     388     +12
                 set_contents                              2076    2084      +8
                 fat_set_blk_dev                            204     212      +8
                 static.set_fatent_value                    536     540      +4
                 get_fatent                                 420     424      +4
                 fat_next_cluster                           368     372      +4
                 disk_read                                  100       -    -100
                 disk_write                                 132       8    -124

Link: https://lore.kernel.org/r/20260224035000.1617869-1-varadarajan.narayanan@oss.qualcomm.com
2 months agoconfigs: qcom: Enable FS_FAT_HANDLE_SECTOR_SIZE_MISMATCH
Varadarajan Narayanan [Tue, 24 Feb 2026 03:50:00 +0000 (09:20 +0530)] 
configs: qcom: Enable FS_FAT_HANDLE_SECTOR_SIZE_MISMATCH

Enable FS_FAT_HANDLE_SECTOR_SIZE_MISMATCH to handle the different
combination of FAT sector size and device block size present in QCOM
platforms.

Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
2 months agofs: fat: Handle 'FAT sector size mismatch'
Varadarajan Narayanan [Tue, 24 Feb 2026 03:49:59 +0000 (09:19 +0530)] 
fs: fat: Handle 'FAT sector size mismatch'

The disk_read() and disk_write() functions of the FAT driver use the
blk_dread() and blk_dwrite() respectively. The blk_* APIs read and write
to the devices in terms of the device block size. However, the FAT
driver reads in terms of the device block size (from fat_set_blk_dev and
read_bootsectandvi) and sector size in the rest of the places.

This causes buffer overflows or partial reads when the FAT sector size
is not equal to device block size. Fix this by using blk_dread in
fat_set_blk_dev and read_bootsectandvi instead of disk_read. And update
disk_read/disk_write to handle FAT sector size and block size mismatch.

Tested on
blksz | FAT sector size
------+----------------
4096  | 4096
512   | 512
4096  | 512
512   | 4096

Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
2 months agoMerge tag 'u-boot-rockchip-20260309' of https://source.denx.de/u-boot/custodians...
Tom Rini [Tue, 10 Mar 2026 14:17:13 +0000 (08:17 -0600)] 
Merge tag 'u-boot-rockchip-20260309' of https://source.denx.de/u-boot/custodians/u-boot-rockchip into next

CI: https://source.denx.de/u-boot/custodians/u-boot-rockchip/-/pipelines/29452

- New SoC support: RK3506, RK3582;
- New Board support: RK3528 FriendlyElec NanoPi Zero2;
- Other fixes

2 months agoarm: rockchip: don't use non-existent CONFIG_TPL_TINY_FRAMEWORK
Heinrich Schuchardt [Wed, 25 Feb 2026 07:28:17 +0000 (08:28 +0100)] 
arm: rockchip: don't use non-existent CONFIG_TPL_TINY_FRAMEWORK

Symbol CONFIG_TPL_TINY_FRAMEWORK does not exist.
Don't select it.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agorockchip: Reduce size of ramboot usb472 payload
Jonas Karlman [Wed, 4 Feb 2026 21:29:20 +0000 (21:29 +0000)] 
rockchip: Reduce size of ramboot usb472 payload

Booting into SPL using ramboot can take several seconds on some SoCs due
to the large size of the usb472 payload sent over USB to BootROM.

A large chunk of the usb472 payload, around 1-2 MiB, is padding used to
avoid overlapping when loading e.g. TF-A to 0x40000.

BootROM is likely wasting unnecessary time crc16 validating the padding
of the payload.

Place the FIT payload directly after SPL and memmove it to the expected
memory location, SPL_LOAD_FIT_ADDRESS, to avoid excessive padding and
help speed up ramboot.

Binman symbols are used to get the position and size of the FIT payload
that is initially loaded into DRAM by the BootROM.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agorockchip: rk3588: include all addressable DRAM in memory map
Quentin Schulz [Tue, 3 Feb 2026 09:58:06 +0000 (10:58 +0100)] 
rockchip: rk3588: include all addressable DRAM in memory map

The ATAGS set by Rockchip DDR init blob[1] specify DRAM banks above the
first addressable 4GiB which we haven't done in the mem_map for RK3588
yet.

For 4GiB DRAM, the 256MiB missing from the first addressable 4GiB (due
to MMIO) are accessible at the end of the 8GiB address space. For 8GiB,
4-8GiB address space is used for the additional 4GiB and the missing
256MiB are at the end of 12GiB address space. For 12, 4-12GiB and the
missing 256MiB at the end of 20GiB address space. For 16GiB, 4-~16GiB
with two holes (reasons unknown) around 16GiB and the missing 256MiB is
at the end of 20GiB address space. For 32GiB, 4-16~GiB with two holes
and then 16GiB to 32GiB address space (so likely missing 256MiB from
MMIO address space).

[1] https://gist.github.com/Kwiboo/1c020d37e3adbc9d0d79dc003d921977

Suggested-by: Jonas Karlman <jonas@kwiboo.se>
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agoarch: arm: rockchip: Add initial support for RK3506
Jonas Karlman [Sat, 31 Jan 2026 23:38:23 +0000 (23:38 +0000)] 
arch: arm: rockchip: Add initial support for RK3506

Rockchip RK3506 is a ARM-based SoC with tri-core Cortex-A7.

Add initial arch support for the RK3506 SoC.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Acked-by: Mattijs Korpershoek <mkorpershoek@kernel.org> # drivers/usb/gadget
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agonet: dwc_eth_qos_rockchip: Add support for RK3506
Jonas Karlman [Sat, 31 Jan 2026 23:38:22 +0000 (23:38 +0000)] 
net: dwc_eth_qos_rockchip: Add support for RK3506

Rockchip RK3506 has two Ethernet controllers based on Synopsys DWC
Ethernet QoS IP.

Add initial support for the RK3506 GMAC variant.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agophy: rockchip-inno-usb2: Add support for RK3506
Jonas Karlman [Sat, 31 Jan 2026 23:38:21 +0000 (23:38 +0000)] 
phy: rockchip-inno-usb2: Add support for RK3506

Add support for the two USB2.0 PHYs use in the RK3506 SoC.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Tested-by: Aaron Griffith <aargri@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agorockchip: otp: Add support for RK3506
Jonas Karlman [Sat, 31 Jan 2026 23:38:20 +0000 (23:38 +0000)] 
rockchip: otp: Add support for RK3506

Add support for the OTP controller in RK3506. The OTPC is similar to the
OTPC in RK3568 and can use the same ops for reading OTP data.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agopinctrl: rockchip: Add support for RK3506
Ye Zhang [Sat, 31 Jan 2026 23:38:19 +0000 (23:38 +0000)] 
pinctrl: rockchip: Add support for RK3506

Add pinctrl driver for RK3506.

Imported from vendor U-Boot linux-6.1-stan-rkr6 tag with adjustments
to use regmap_update_bits().

Signed-off-by: Ye Zhang <ye.zhang@rock-chips.com>
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Tested-by: Aaron Griffith <aargri@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agopinctrl: rockchip: Use syscon_regmap_lookup_by_phandle()
Jonas Karlman [Sat, 31 Jan 2026 23:38:18 +0000 (23:38 +0000)] 
pinctrl: rockchip: Use syscon_regmap_lookup_by_phandle()

Use syscon_regmap_lookup_by_phandle() to simplify the code.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2 months agoclk: rockchip: Add support for RK3506
Finley Xiao [Sat, 31 Jan 2026 23:38:17 +0000 (23:38 +0000)] 
clk: rockchip: Add support for RK3506

Add clock driver for RK3506.

Imported from vendor U-Boot linux-6.1-stan-rkr6 tag with minor
adjustments and fixes for mainline.

Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agodt-bindings: clock: rockchip: Add RK3506 clock and reset unit
Finley Xiao [Sat, 31 Jan 2026 23:38:16 +0000 (23:38 +0000)] 
dt-bindings: clock: rockchip: Add RK3506 clock and reset unit

Add device tree bindings for clock and reset unit on RK3506 SoC.
Add clock and reset IDs for RK3506 SoC.

Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://patch.msgid.link/20251121075350.2564860-2-zhangqing@rock-chips.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
[ upstream commit: 84898f8e9cea06f8178fc5ca53f068180f7bfba0 ]

(cherry picked from commit 516951213a82094f7f49f149cbf3c66dfb14c65d)
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agoram: rockchip: Add basic support for RK3506
Jonas Karlman [Sat, 31 Jan 2026 23:38:15 +0000 (23:38 +0000)] 
ram: rockchip: Add basic support for RK3506

Add support for reading DRAM size information from PMUGRF os_reg2 reg.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Tested-by: Aaron Griffith <aargri@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agorockchip: mkimage: Add support for RK3506
Xuhui Lin [Sat, 31 Jan 2026 23:38:14 +0000 (23:38 +0000)] 
rockchip: mkimage: Add support for RK3506

Add support for generating Rockchip Boot Image for RK3506.

The RK3506 has 48 KiB SRAM and 4 KiB is reserved for BootROM.

Signed-off-by: Xuhui Lin <xuhui.lin@rock-chips.com>
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Tested-by: Aaron Griffith <aargri@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agorockchip: mkimage: Re-sort the spl_infos list alphanumerically
Jonas Karlman [Sat, 31 Jan 2026 23:38:13 +0000 (23:38 +0000)] 
rockchip: mkimage: Re-sort the spl_infos list alphanumerically

The first RK35xx SoC was initially appended to the end of the otherwise
alphanumerically sorted spl_infos list, possible because it was using a
new header structure.

Re-sort the spl_infos list to keep it alphanumerically ordered based
on imagename.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agorockchip: spl: Add common handling of USB bootsource_id 0x81
Jonas Karlman [Sat, 31 Jan 2026 23:38:12 +0000 (23:38 +0000)] 
rockchip: spl: Add common handling of USB bootsource_id 0x81

Multiple newer Rockchip SoCs report 0x81 instead of 0xa when booting
from USB, i.e. on RK3576, RK3528, RK3506 and RV1106.

Move the bootsource_id 0x81 handling currently only used for RK3528 to
the common read_brom_bootsource_id() to reduce the need to override this
function when support for newer SoCs is introduced.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agorockchip: imply OF_UPSTREAM for rk3288 boards
Johan Jonker [Fri, 16 Jan 2026 22:13:18 +0000 (23:13 +0100)] 
rockchip: imply OF_UPSTREAM for rk3288 boards

Imply OF_UPSTREAM for rk3288 boards.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agorockchip: Switch remaining rk3288 boards to upstream devicetree
Johan Jonker [Fri, 16 Jan 2026 22:13:02 +0000 (23:13 +0100)] 
rockchip: Switch remaining rk3288 boards to upstream devicetree

Switch remaining rk3288 boards to upstream devicetree.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agorockchip: Switch rk3288-veyron boards to upstream devicetree
Johan Jonker [Fri, 16 Jan 2026 22:12:45 +0000 (23:12 +0100)] 
rockchip: Switch rk3288-veyron boards to upstream devicetree

Switch rk3288-veyron boards to upstream devicetree.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agoARM: dts: rockchip: move edp assigned-clocks to edp node on rk3288
Johan Jonker [Fri, 16 Jan 2026 22:12:20 +0000 (23:12 +0100)] 
ARM: dts: rockchip: move edp assigned-clocks to edp node on rk3288

The rk3288 power-controller node contains an assigned-clocks property
that conflicts with the bindings. From the git history it shows that they
wanted to assign the rk3288 EDP_24M clock input centrally before an edp
node was available. Move the edp assigned-clocks property to the edp node
to reduce dtbs_check output.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://patch.msgid.link/7d6fa223-ab90-4c44-9180-54df78467ea5@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
[ upstream commit: 10712ce694a67304a99dbba20f8cb146ca5f4fd6 ]

(cherry picked from commit e1b4137b6bbc9998b13cde2eba0655cfdd358c69)
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agoARM: dts: rockchip: Add spi_flash label to rk3288-veyron
Johan Jonker [Fri, 16 Jan 2026 22:12:08 +0000 (23:12 +0100)] 
ARM: dts: rockchip: Add spi_flash label to rk3288-veyron

The u-boot,spl-boot-order property requires a label at a boot
device node. In order to migrate to OF_UPSTREAM more easier
add a spi_flash label to the rk3288-veyron.dtsi file.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://patch.msgid.link/8a423a6f-bfdc-4947-aef9-35ee7c4f6ca2@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
[ upstream commit: ac7116a626e00d3024adedb43b74bdf2ce45efc2 ]

(cherry picked from commit 38e6f7cd300f66cc9f657cd0e8881a01acc664d0)
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agoARM: dts: rockchip: Remove mshc aliases from RK3288
Johan Jonker [Fri, 16 Jan 2026 22:11:53 +0000 (23:11 +0100)] 
ARM: dts: rockchip: Remove mshc aliases from RK3288

The use of mshc aliases is deprecated for some while,
so remove them from the rk3288.dtsi file.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://patch.msgid.link/3e461bce-e8e6-48f1-a296-34040447ff25@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
[ upstream commit: cafaf99e4a790f8492a034a3470f878779c8c535 ]

(cherry picked from commit faefae4ca217961a0d96a54c9618e56aa8fd37b3)
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agoboard: rockchip: Add FriendlyElec NanoPi Zero2
Jonas Karlman [Sat, 10 Jan 2026 20:53:33 +0000 (20:53 +0000)] 
board: rockchip: Add FriendlyElec NanoPi Zero2

The NanoPi Zero2 is a small single board computer developed by
FriendlyElec, based on the Rockchip RK3528A SoC.

Add support for the FriendlyElec NanoPi Zero2 board.

Features tested on a FriendlyElec NanoPi Zero2 2407:
- SD-card boot
- eMMC boot
- Ethernet
- USB host

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Christopher Obbard <christopher.obbard@linaro.org>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agorockchip: tiger-rk3588: disable HS400
Quentin Schulz [Fri, 9 Jan 2026 11:17:48 +0000 (12:17 +0100)] 
rockchip: tiger-rk3588: disable HS400

Tiger suffers from eMMC signal integrity issues which means we can only
run it at HS200 max.

The Device Tree has these properties removed since v6.18 (commit
baa18d577cd4 ("arm64: dts: rockchip: disable HS400 on RK3588 Tiger")),
which has now merged in U-Boot.

Since the controller side doesn't support HS400 anymore, let's not
confuse users as to why HS400 is enabled in the config but not working
as we know it cannot work (and won't be used anyway since the controller
doesn't advertise support for it in the Device Tree).

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agorockchip: rk3576: Use DMA when loading FIT images
Jonas Karlman [Thu, 8 Jan 2026 13:32:30 +0000 (13:32 +0000)] 
rockchip: rk3576: Use DMA when loading FIT images

Enable use of DMA when loading FIT images from eMMC, SD-card and SPI
flash now that access to PMU_SRAM for non-secure masters is allowed.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agorockchip: rk3576: Allow pmu sram access for non-secure masters
Jonas Karlman [Thu, 8 Jan 2026 13:32:29 +0000 (13:32 +0000)] 
rockchip: rk3576: Allow pmu sram access for non-secure masters

The firewall block access to pmu sram for non-secure masters by default
after reset (0xffffbfff).

Change the pmu lookup configuration to match the default lookup config
for ddr and system sram (0xffff3fff) to allow loading TF-A using DMA.

Mainline TF-A will re-configure the firewall to use an even less
restrictive lookup (0xbffe3ff0), so this change is not expected to have
any real security implication.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Tested-by: Alexey Charkov <alchark@gmail.com> # UFS
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agorockchip: rk3588s-rock-5c: Add support for ROCK 5C Lite variant
Jonas Karlman [Wed, 7 Jan 2026 23:07:41 +0000 (23:07 +0000)] 
rockchip: rk3588s-rock-5c: Add support for ROCK 5C Lite variant

Add Kconfig option OF_SYSTEM_SETUP=y to support booting ROCK 5C Lite
boards with a RK3582 SoC. CPU and GPU cores are failed based on ip-state
and policy.

Tested on a ROCK 5C Lite v1.1:

  cpu-code: 35 82
  ip-state: 00 80 00 (otp)
  ip-state: c0 9e 04 (policy)
  remove cpu-map cluster2
  fail gpu
  fail rkvdec1
  fail rkvenc1
  fail cpu cpu@600
  fail cpu cpu@700

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agoarch: arm: dts: k3-r5: Drop a53_0 clock overrides in board files
Wadim Egorov [Thu, 19 Feb 2026 10:27:20 +0000 (11:27 +0100)] 
arch: arm: dts: k3-r5: Drop a53_0 clock overrides in board files

The a53_0 clock properties are already set correctly in their
common k3-<soc>-r5.dtsi includes. Stop overriding them in
the r5 board device trees.

Fixes the following error message:
  Failed to set clock rates for '/a53@0': -61

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Anshul Dalal <anshuld@ti.com>
Tested-by: Francesco Dolcini <francesco.dolcini@toradex.com> # Verdin AM62 Solo
Reviewed-by: Bryan Brattlof <bb@ti.com>
2 months agoMakefile: fix duplicate dtbs recipe
David Lechner [Mon, 23 Feb 2026 20:44:38 +0000 (14:44 -0600)] 
Makefile: fix duplicate dtbs recipe

Convert a duplicate dtbs recipe into a dependency in the main Makefile.

Another recipe is already defined on line 2369, so we are getting
spurious warnings like:

    Makefile:2369: warning: overriding recipe for target 'dtbs'
    Makefile:1425: warning: ignoring old recipe for target 'dtbs'

The removed recipe was a no-op anyway so can be safely removed.

Signed-off-by: David Lechner <dlechner@baylibre.com>
2 months agoMerge tag 'v2026.04-rc4' into next
Tom Rini [Mon, 9 Mar 2026 21:26:34 +0000 (15:26 -0600)] 
Merge tag 'v2026.04-rc4' into next

Prepare v2026.04-rc4

2 months agoPrepare v2026.04-rc4 v2026.04-rc4
Tom Rini [Mon, 9 Mar 2026 19:52:04 +0000 (13:52 -0600)] 
Prepare v2026.04-rc4

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agodoc: Use sys.path.append for pytests 903/head
Tom Rini [Mon, 9 Mar 2026 17:27:35 +0000 (11:27 -0600)] 
doc: Use sys.path.append for pytests

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoboot: Add fit_config_get_hash_list() to build signed node list
Simon Glass [Fri, 6 Mar 2026 01:20:09 +0000 (18:20 -0700)] 
boot: Add fit_config_get_hash_list() to build signed node list

The hashed-nodes property in a FIT signature node lists which FDT paths
are included in the signature hash. It is intended as a hint so should
not be used for verification.

Add a function to build the node list from scratch by iterating the
configuration's image references. Skip properties known not to be image
references. For each image, collect the path plus all hash and cipher
subnodes.

Use the new function in fit_config_check_sig() instead of reading
'hashed-nodes'.

Update the test_vboot kernel@ test case: fit_check_sign now catches the
attack at signature-verification time (the @-suffixed node is hashed
instead of the real one, causing a mismatch) rather than at
fit_check_format() time.

Update the docs to cover this. The FIT spec can be updated separately.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Closes: https://lore.kernel.org/u-boot/20260302220937.3682128-1-trini@konsulko.com/
Reported-by: Apple Security Engineering and Architecture (SEAR)
Tested-by: Tom Rini <trini@konsulko.com>
2 months agoMerge patch series "64-bit PCIe for AM64, AM69, J7200, J722S and J784S4"
Tom Rini [Mon, 9 Mar 2026 15:12:43 +0000 (09:12 -0600)] 
Merge patch series "64-bit PCIe for AM64, AM69, J7200, J722S and J784S4"

Siddharth Vadapalli <s-vadapalli@ti.com> says:

Since Linux device-tree has switched to 64-bit Address space for the
PCIe Controllers on TI SoCs, currently, U-Boot needs to support the
same. This series adds support for 64-bit addressing for PCIe along with
enabling Root-Complex mode of operation for AM69 and J784S4 SoCs.

Series has been tested on all platforms being affected by this series.
Test Logs:
1. AM642-EVM
https://gist.github.com/Siddharth-Vadapalli-at-TI/82512389f8396a51e4f167c7ebe4c2a3
2. AM69-SK
https://gist.github.com/Siddharth-Vadapalli-at-TI/b20b2811804ffc6e6c063564330c0a35
3. J7200-EVM
https://gist.github.com/Siddharth-Vadapalli-at-TI/c545da68bd28a5e036803bb60f32d8e9
4. J722S-EVM
https://gist.github.com/Siddharth-Vadapalli-at-TI/3dde05c4c7076076aa20ac47a6e2d176
5. J784S4-EVM
https://gist.github.com/Siddharth-Vadapalli-at-TI/a93c1b2cd5d90f494e885d1831d3d23e

Link: https://lore.kernel.org/r/20260227115841.333073-1-s-vadapalli@ti.com
2 months agoconfigs: j722s_evm_a53_defconfig: enable 64-bit addressing for PCIe
Siddharth Vadapalli [Fri, 27 Feb 2026 11:58:34 +0000 (17:28 +0530)] 
configs: j722s_evm_a53_defconfig: enable 64-bit addressing for PCIe

The PCIe0 instance of PCIe on the J722S SoC uses the 4 GB Address Window
starting from 0x6_0000_0000 to map System Addresses to PCIe Bus Addresses.
Hence, enable CONFIG_SYS_PCI_64BIT.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Fixes: 79f3e77133bd ("Subtree merge tag 'v6.16-dts' of dts repo [1] into dts/upstream")
2 months agoconfigs: j7200_evm_a72_defconfig: enable 64-bit addressing for PCIe
Siddharth Vadapalli [Fri, 27 Feb 2026 11:58:33 +0000 (17:28 +0530)] 
configs: j7200_evm_a72_defconfig: enable 64-bit addressing for PCIe

The PCIe1 instance of PCIe on the J7200 SoC uses the 4 GB Address Window
starting from 0x41_0000_0000 to map System Addresses to PCIe Bus Addresses.
Hence, enable CONFIG_SYS_PCI_64BIT.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Fixes: 79f3e77133bd ("Subtree merge tag 'v6.16-dts' of dts repo [1] into dts/upstream")