]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
2 weeks agoconfigs: verdin-am62p: enable RNG support for KASLR
Emanuele Ghidoli [Wed, 2 Jul 2025 13:49:37 +0000 (15:49 +0200)] 
configs: verdin-am62p: enable RNG support for KASLR

Enable DM_RNG in U-Boot to populate /chosen/kaslr-seed automatically.
Enable OP-TEE, which supports RNG, to provide entropy.

Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2 weeks agoconfigs: verdin-am62: enable RNG support for KASLR
Emanuele Ghidoli [Wed, 2 Jul 2025 13:49:36 +0000 (15:49 +0200)] 
configs: verdin-am62: enable RNG support for KASLR

Enable DM_RNG in U-Boot to populate /chosen/kaslr-seed automatically.
Enable OP-TEE, which supports RNG, to provide entropy.

Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2 weeks agoMerge tag 'u-boot-imx-master-20250710' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Fri, 11 Jul 2025 14:38:53 +0000 (08:38 -0600)] 
Merge tag 'u-boot-imx-master-20250710' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

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

- Fix the i.MX8M Nano GPU path.
- Enable RNG support for KASLR on Toradex i.MX8 boards.
- Enable watchdog and clock driver for imx6ulz_smm_m2b.
- Tighten dependencies on CMD_BLOB.
- Remove the rest of i.MX31 support.

2 weeks agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh
Tom Rini [Thu, 10 Jul 2025 22:44:08 +0000 (16:44 -0600)] 
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh

- SH Ether clean ups, RZ/A1 clean ups, RZ/A1 Genmai support
- Gen3 EEPROM DT node clean up
- V4H SA0 BootROM compatible binman etype, SCIF compatible SREC
  generation for Gen4

2 weeks agoARM: renesas: Add support for the r7s72100 Genmai board
Magnus Damm [Wed, 2 Jul 2025 17:13:54 +0000 (19:13 +0200)] 
ARM: renesas: Add support for the r7s72100 Genmai board

Add r7s72100 Genmai board support. Serial console, NOR Flash and
Ethernet are known to work however on-board SDRAM is not yet enabled.

Signed-off-by: Magnus Damm <damm@opensource.se>
2 weeks agoARM: renesas: Put common r7s72100 code in board/renesas/common
Magnus Damm [Wed, 2 Jul 2025 17:13:46 +0000 (19:13 +0200)] 
ARM: renesas: Put common r7s72100 code in board/renesas/common

Break out SoC specific code from the GR-Peach board and put it into the
board/renesas/common directory so it can be easily shared between the
GR-Peach and Genmai boards.

Signed-off-by: Magnus Damm <damm@opensource.se>
2 weeks agoARM: renesas: Split common RZ/A1 and GR-PEACH defconfigs
Marek Vasut [Mon, 7 Jul 2025 08:39:31 +0000 (10:39 +0200)] 
ARM: renesas: Split common RZ/A1 and GR-PEACH defconfigs

Split the RZ/A1 GR-PEACH defconfig into board-specific defconfig
and common RZ/A1 SoC defconfig. This is a preparatory patch for
new RZ/A1 boards, no functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 weeks agoarm64: renesas: Switch R-Car V4H to renesas_rcar4_sa0 binman etype
Marek Vasut [Mon, 16 Jun 2025 22:45:03 +0000 (00:45 +0200)] 
arm64: renesas: Switch R-Car V4H to renesas_rcar4_sa0 binman etype

Replace current ad-hoc generation of SA0 header with renesas_rcar4_sa0 binman
etype on Renesas R-Car V4H. The new binman etype generates header which is
almost identical to the current ad-hoc SA0 header, with one difference, the
load length matches the actual payload size, which slightly improves boot time.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 weeks agobinman: Add renesas_rcar4_sa0 etype
Marek Vasut [Mon, 16 Jun 2025 22:45:02 +0000 (00:45 +0200)] 
binman: Add renesas_rcar4_sa0 etype

Add new etype which generates the Renesas R-Car Gen4 SA0 header.
This header is placed at the beginning of SPI NOR and describes
where should data from SPI NOR offset 0x40000 be loaded to, and
how much data should be loaded there. In case of U-Boot, this is
used to load SPL and possibly other payload(s) into RT-VRAM.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 weeks agoarm64: dts: renesas: Clean up sysinfo EEPROM DT description on R-Car Gen3
Marek Vasut [Sun, 8 Jun 2025 21:01:04 +0000 (23:01 +0200)] 
arm64: dts: renesas: Clean up sysinfo EEPROM DT description on R-Car Gen3

Most of the sysinfo EEPROM node eeprom@50 is now part of the core DTs,
remove duplicate DT properties from *-u-boot.dtsi . Adjust the phandle
reference to i2c-eeprom in sysinfo node using <&{i2c_*/eeprom@50}> to
avoid need for DT label. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 weeks agoarm: renesas: configs: Drop deprecated comments
Marek Vasut [Mon, 30 Jun 2025 18:51:17 +0000 (20:51 +0200)] 
arm: renesas: configs: Drop deprecated comments

Remove various deprecated code comments, no functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 weeks agonet: sh_eth: arm: renesas: README: Drop CFG_SH_ETHER_PHY_MODE
Marek Vasut [Mon, 30 Jun 2025 18:51:16 +0000 (20:51 +0200)] 
net: sh_eth: arm: renesas: README: Drop CFG_SH_ETHER_PHY_MODE

Drop CFG_SH_ETHER_PHY_MODE from configuration files, this value
is never used. No functional change intended.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 weeks agonet: sh_eth: arm: renesas: README: Drop CFG_SH_ETHER_PHY_ADDR
Marek Vasut [Mon, 30 Jun 2025 18:51:15 +0000 (20:51 +0200)] 
net: sh_eth: arm: renesas: README: Drop CFG_SH_ETHER_PHY_ADDR

Drop CFG_SH_ETHER_PHY_ADDR from README and configuration files, this
value is never used, PHY address is extracted from control DT instead.
No functional change intended.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 weeks agonet: sh_eth: Drop phy_addr assignment
Marek Vasut [Mon, 30 Jun 2025 18:51:14 +0000 (20:51 +0200)] 
net: sh_eth: Drop phy_addr assignment

Drop unused struct sh_eth_info *port_info .phy_addr member assignment.
PHY address is extracted from control DT. No functional change intended.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 weeks agonet: sh_eth: arm: renesas: README: Drop CFG_SH_ETHER_CACHE_*
Marek Vasut [Mon, 30 Jun 2025 18:51:13 +0000 (20:51 +0200)] 
net: sh_eth: arm: renesas: README: Drop CFG_SH_ETHER_CACHE_*

Drop CFG_SH_ETHER_CACHE_WRITEBACK and CFG_SH_ETHER_CACHE_INVALIDATE,
which are now always enabled in the sh_eth driver, because those cache
operations are always available. On architectures which do not implement
cache operations yet, cache operations have to be implemented first.

CFG_SH_ETHER_ALIGNE_SIZE now set as SH_ETHER_ALIGN_SIZE in sh_eth.h
based on architecture and no longer configured on board level.

Remove CFG_SH_ETHER_CACHE_WRITEBACK configuration option from README.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 weeks agonet: sh_eth: Convert cache operations to static functions
Marek Vasut [Mon, 30 Jun 2025 18:51:12 +0000 (20:51 +0200)] 
net: sh_eth: Convert cache operations to static functions

Turn the current cache operation macros into static functions to improve
compiler coverage checking. This does change the driver behavior slightly,
the driver now expects those cache operation functions to be available on
all architectures on which it is used. This should pose no problem, as the
driver is only used on 32bit and 64bit ARM, which both have those operations.
The CFG_SH_ETHER_ALIGNE_SIZE is converted to SH_ETHER_ALIGN_SIZE and defined
as either 64 on ARM or 16 on SH.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 weeks agonet: sh_eth: arm: renesas: README: Drop CFG_SH_ETHER_USE_PORT
Marek Vasut [Mon, 30 Jun 2025 18:51:11 +0000 (20:51 +0200)] 
net: sh_eth: arm: renesas: README: Drop CFG_SH_ETHER_USE_PORT

The CFG_SH_ETHER_USE_PORT configuration option is a remnant from
before U-Boot DM existed and SH Ethernet made full use of it, and
is no longer used, remove it.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 weeks agonet: sh_eth: Pass struct port_info around
Marek Vasut [Mon, 30 Jun 2025 18:51:10 +0000 (20:51 +0200)] 
net: sh_eth: Pass struct port_info around

The struct sh_eth_dev .port member is always set to 0, therefore only
single-ported SH Ethernet is ever used. Support for multiple SH Ethernet
ports implemented on driver level is a remnant from before U-Boot DM
existed.

Pass struct sh_eth_info port_info around directly and remove the
struct sh_eth_dev entirely. Handling of multiple ports should be done
by U-Boot DM and multiple per-driver-instance private data.

No functional change intended.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 weeks agoarm64: renesas: Add Renesas R-Car Gen4 SCIF/HSCIF loader SREC generation
Marek Vasut [Sun, 15 Jun 2025 10:51:08 +0000 (12:51 +0200)] 
arm64: renesas: Add Renesas R-Car Gen4 SCIF/HSCIF loader SREC generation

Add Renesas R-Car Gen4 SCIF/HSCIF loader compatible SREC generation.
This is a regular U-Boot SPL SREC augmented with a short header which
describes where to store the received data and how much data to store.
This header is interpreted by the R-Car Gen4 BootROM SCIF/HSCIF loader.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 weeks agoarm64: renesas: Convert SCIF SREC from u-boot-spl.bin
Marek Vasut [Sun, 15 Jun 2025 10:51:07 +0000 (12:51 +0200)] 
arm64: renesas: Convert SCIF SREC from u-boot-spl.bin

Convert u-boot-spl.bin instead of u-boot-spl ELF into SCIF loader
compatible SREC. The u-boot-spl.bin includes SPL DT, while the ELF
does not, which leads to failure to start SPL via SCIF loader due
to missing SPL DT. Fix this by using u-boot-spl.bin which includes
the DT.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 weeks agonvme: Fix memory leak on error path of nvme_init
Andrew Goodbody [Wed, 2 Jul 2025 16:02:10 +0000 (17:02 +0100)] 
nvme: Fix memory leak on error path of nvme_init

The use of log_msg_ret to log a message and return an error meant that
memory allocated earlier in the function was not freed on this error
path. Instead log the message in the same way that log_msg_ret would do
and then goto the cleanup code to free the memory.

This issue found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
2 weeks agomakefile: Adjust distclean to remove .binman_stamp file
Magnus Damm [Wed, 2 Jul 2025 13:34:05 +0000 (15:34 +0200)] 
makefile: Adjust distclean to remove .binman_stamp file

Remove the .binman_stamp file during distclean

Signed-off-by: Magnus Damm <damm@opensource.se>
2 weeks agonet: ti: icssg: Read firmware name from device-tree
MD Danish Anwar [Wed, 2 Jul 2025 11:35:45 +0000 (17:05 +0530)] 
net: ti: icssg: Read firmware name from device-tree

Update the ICSSG PRU Ethernet driver to read PRU/RTU/TXPRU firmware names
from the Device Tree using the "firmware-name" property, instead of relying
on the hard-coded firmware names. The firmware names are parsed during
prueth_probe() and stored in the prueth->firmwares for each slice. The
driver now uses these dynamically loaded names when starting the PRU cores.

This change improves flexibility and allows firmware selection to be
controlled via the device tree, making the driver more adaptable to
different platforms and firmware configurations.

Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
2 weeks agodisk/part_dos.c: Make use of LBAF for printing lbaint_t
Tom Rini [Wed, 2 Jul 2025 01:05:57 +0000 (19:05 -0600)] 
disk/part_dos.c: Make use of LBAF for printing lbaint_t

When printing the contents of an lbaint_t variable we need to use LBAF
to print it in order to get the correct format type depending on 32 or
64bit-ness.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agocommon/log_syslog.c: Add missing include of <env.h>
Tom Rini [Wed, 2 Jul 2025 01:05:54 +0000 (19:05 -0600)] 
common/log_syslog.c: Add missing include of <env.h>

This file was making environment calls without including <env.h> and so
relying on an indirect inclusion from elsewhere. Add the missing include
directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agopost: Add dependency on ARM || PPC
Tom Rini [Wed, 2 Jul 2025 01:05:14 +0000 (19:05 -0600)] 
post: Add dependency on ARM || PPC

The post framework requires architecture specific implementation
details. At the moment this is only done for ARM and PowerPC so express
that requirement in Kconfig as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agocmd/Kconfig: Tighten dependencies on CMD_SEAMA
Tom Rini [Wed, 2 Jul 2025 01:05:08 +0000 (19:05 -0600)] 
cmd/Kconfig: Tighten dependencies on CMD_SEAMA

In order to build this command we need to have configured some other
board specific features. Express that requirement in Kconfig as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agoadc: Tighten some adc driver dependencies
Tom Rini [Wed, 2 Jul 2025 01:04:32 +0000 (19:04 -0600)] 
adc: Tighten some adc driver dependencies

A few adc drivers cannot build without access to some platform specific
header files. Express those requirements in Kconfig as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agoata: Correct two dependency issues
Tom Rini [Wed, 2 Jul 2025 01:04:29 +0000 (19:04 -0600)] 
ata: Correct two dependency issues

First, the SATA_MV driver can only build on kirkwood or mvebu platforms
due to header requirements, so add that as a dependency here. Second,
SYS_SATA_MAX_DEVICE is also used by the API code so allow it to be
configured in that case.

Reviewed-by: Tony Dinh <mibodhi@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agocrypto: aspeed: Tighten some dependencies for the aspeed platforms
Tom Rini [Wed, 2 Jul 2025 01:04:22 +0000 (19:04 -0600)] 
crypto: aspeed: Tighten some dependencies for the aspeed platforms

Some of the aspeed platform drivers cannot build without platform
specific headers being available. Express those requirements in Kconfig as
well.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agocrypto: fsl: Only allow these to be chosen on ARM/PowerPC
Tom Rini [Wed, 2 Jul 2025 01:04:19 +0000 (19:04 -0600)] 
crypto: fsl: Only allow these to be chosen on ARM/PowerPC

These drivers require various headers which only exist on the ARM /
PowerPC platforms which implement the hardware. Express that requirement
in Kconfig as well.

Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agocrypto: nuvoton: Tighten some dependencies for the nuvoton platforms
Tom Rini [Wed, 2 Jul 2025 01:04:15 +0000 (19:04 -0600)] 
crypto: nuvoton: Tighten some dependencies for the nuvoton platforms

The nuvoton AES driver cannot build without platform specific headers
being available. Express that requirement in Kconfig as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agodma: ti: Tighten some dependencies for some ti platforms
Tom Rini [Wed, 2 Jul 2025 01:04:13 +0000 (19:04 -0600)] 
dma: ti: Tighten some dependencies for some ti platforms

The TI EDMA3 driver cannot build without platform specific headers being
available. Express that requirement in Kconfig as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agogpio: Tighten some gpio driver dependencies
Tom Rini [Wed, 2 Jul 2025 01:04:02 +0000 (19:04 -0600)] 
gpio: Tighten some gpio driver dependencies

A large number of gpio drivers cannot build without access to some platform
specific header files. Express those requirements in Kconfig as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agosandbox: Add some missing {clr,set,clrset}bits variants
Tom Rini [Tue, 1 Jul 2025 18:42:57 +0000 (12:42 -0600)] 
sandbox: Add some missing {clr,set,clrset}bits variants

Add the 16, 32 and 64bit versions of the non-endian {clr,set,clrset}bits
macros.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agodrivers: net: phy: micrel: Try to get phy node from phy-handle
Naresh Kumar Ravulapalli [Tue, 1 Jul 2025 04:49:23 +0000 (21:49 -0700)] 
drivers: net: phy: micrel: Try to get phy node from phy-handle

If phy node isn't found in ethernet-phy subnode, try to get it from
phy-handle. And when this fails, only then use Ethernet node. This
fix results in getting correct phy handle properties for the
phy node if defined.

Signed-off-by: Naresh Kumar Ravulapalli <nareshkumar.ravulapalli@altera.com>
2 weeks agoarm: imx: imx8m: soc: Fix i.MX8M Nano GPU paths
Alexander Stein [Tue, 8 Jul 2025 08:41:24 +0000 (10:41 +0200)] 
arm: imx: imx8m: soc: Fix i.MX8M Nano GPU paths

The SoC node is called 'soc@0', even on NXP branch 6.6-fslc. This fixes
the boot on i.MX8M Nano DualLite, as there is no GPU.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
2 weeks agoconfigs: imx6ulz_smm_m2b: Add board watchdog reset configuration
Michael Trimarchi [Tue, 8 Jul 2025 10:35:29 +0000 (12:35 +0200)] 
configs: imx6ulz_smm_m2b: Add board watchdog reset configuration

Add the configuration that allow to reset the board from reset
cmd

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
2 weeks agoconfigs/imx6ulz_smm_m2b_defconfig: Enable clock framework
Michael Trimarchi [Tue, 8 Jul 2025 10:35:28 +0000 (12:35 +0200)] 
configs/imx6ulz_smm_m2b_defconfig: Enable clock framework

Enable the clock framework on the m2b platform as was done
in m2 variant. This helps to increase the NAND controller performance.

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
2 weeks agoarm: imx: Remove the rest of i.MX31 support
Tom Rini [Fri, 4 Jul 2025 21:46:00 +0000 (15:46 -0600)] 
arm: imx: Remove the rest of i.MX31 support

With the removal of the last i.MX31 platform we can remove the rest of
the underlying architecture code as well.

Fixes: f247354708ec ("arm: Remove mx31pdk board")
Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
2 weeks agocmd/Kconfig: Tighten dependencies on CMD_BLOB
Tom Rini [Wed, 2 Jul 2025 01:05:11 +0000 (19:05 -0600)] 
cmd/Kconfig: Tighten dependencies on CMD_BLOB

In order for this command to build we need to compile
drivers/crypto/fsl/fsl_blob.c and this in turn includes
drivers/crypto/fsl/jr.h which references "ccsr_sec_t" which is only a
defined type for SYS_FSL_SEC_COMPAT >= 4. Express that requirement in
Kconfig as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoconfigs: colibri-imx8x: enable RNG support for KASLR
Emanuele Ghidoli [Tue, 1 Jul 2025 13:45:00 +0000 (15:45 +0200)] 
configs: colibri-imx8x: enable RNG support for KASLR

Enable DM_RNG in U-Boot to automatically populate /chosen/kaslr-seed
and enable CAAM to provide entropy.
Enable ARCH_MISC_INIT to initialize the CAAM job ring.

Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2 weeks agoconfigs: apalis-imx8: enable RNG support for KASLR
Emanuele Ghidoli [Tue, 1 Jul 2025 13:44:59 +0000 (15:44 +0200)] 
configs: apalis-imx8: enable RNG support for KASLR

Enable DM_RNG in U-Boot to automatically populate /chosen/kaslr-seed
and enable CAAM to provide entropy.
Enable ARCH_MISC_INIT to initialize the CAAM job ring.

Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2 weeks agoconfigs: toradex-smarc-imx8mp: enable RNG support for KASLR
Emanuele Ghidoli [Tue, 1 Jul 2025 13:44:58 +0000 (15:44 +0200)] 
configs: toradex-smarc-imx8mp: enable RNG support for KASLR

Enable DM_RNG in U-Boot to automatically populate /chosen/kaslr-seed.

Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2 weeks agoconfigs: verdin-imx8mp: enable RNG support for KASLR
Emanuele Ghidoli [Tue, 1 Jul 2025 13:44:57 +0000 (15:44 +0200)] 
configs: verdin-imx8mp: enable RNG support for KASLR

Enable DM_RNG in U-Boot to automatically populate /chosen/kaslr-seed.

Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2 weeks agoconfigs: verdin-imx8mm: enable RNG support for KASLR
Emanuele Ghidoli [Tue, 1 Jul 2025 13:44:56 +0000 (15:44 +0200)] 
configs: verdin-imx8mm: enable RNG support for KASLR

Enable DM_RNG in U-Boot to automatically populate /chosen/kaslr-seed
and enable CAAM to provide entropy.

Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
3 weeks agolmb: add missing fallthrough in lmb_alloc_mem()
Heinrich Schuchardt [Tue, 8 Jul 2025 12:12:51 +0000 (14:12 +0200)] 
lmb: add missing fallthrough in lmb_alloc_mem()

Add fallthrough to clarify the intent.

Addresses-Coverity-ID: CID 569481: Control flow issues (MISSING_BREAK)
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Acked-by: Sughosh Ganu <sughosh.ganu@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 weeks agocmd: Remove "universe" command.
Tom Rini [Tue, 1 Jul 2025 18:42:37 +0000 (12:42 -0600)] 
cmd: Remove "universe" command.

We have had no platforms that make use of this since 2015, so drop it.

Signed-off-by: Tom Rini <trini@konsulko.com>
3 weeks agocmd: Remove "tsi148" command
Tom Rini [Tue, 1 Jul 2025 18:42:34 +0000 (12:42 -0600)] 
cmd: Remove "tsi148" command

We have had no platforms that make use of this since 2021, so drop it.

Signed-off-by: Tom Rini <trini@konsulko.com>
3 weeks agodma: Remove lpc32x_dma driver
Tom Rini [Tue, 1 Jul 2025 18:42:32 +0000 (12:42 -0600)] 
dma: Remove lpc32x_dma driver

This driver has no users after we removed the last supported platform in
2024.

Fixes: 26ed58b40f58 ("arm: Remove devkit3250 board")
Signed-off-by: Tom Rini <trini@konsulko.com>
3 weeks agogpio: Remove tca642x support
Tom Rini [Tue, 1 Jul 2025 18:42:28 +0000 (12:42 -0600)] 
gpio: Remove tca642x support

This driver has no users after we removed the last supported platform in
2023.

Fixes: 7a3ee61f5551 ("arm: Remove omap5_uevm board")
Signed-off-by: Tom Rini <trini@konsulko.com>
3 weeks agobinman: migrate from pkg_resources to importlib
Yannic Moog [Tue, 1 Jul 2025 05:45:37 +0000 (07:45 +0200)] 
binman: migrate from pkg_resources to importlib

pkg_resources is deprecated, use migration guide in [1] to migrate to
importlib.resources.
Keep the Python 3.6 backwards compatibility.
This also fixes the binman version test which failed for setuptools
versions that print the deprecation warning.
Change from __name__ to __package__ as with the transition from
pkg_resources to importlib_resources using __name__ results in
TypeErrors [2].

[1] https://importlib-resources.readthedocs.io/en/latest/migration.html
[2] https://github.com/python/importlib_resources/issues/60

Reviewed-by: Bryan Brattlof <bb@ti.com>
Signed-off-by: Yannic Moog <y.moog@phytec.de>
3 weeks agoMerge patch series "board: ti: am33xx: Add Ethernet support for Beaglebone Green...
Tom Rini [Wed, 9 Jul 2025 14:45:33 +0000 (08:45 -0600)] 
Merge patch series "board: ti: am33xx: Add Ethernet support for Beaglebone Green Eco"

Romain Gantois <romain.gantois@bootlin.com> says:

This is version one of my series which enables Ethernet support on the BBGE
board. This requires three main changes:

 - Describing the MAC<->PHY link and DP83867 PHY accurately in the device
   tree
 - Enabling the RGMII1 pinmux configuration
 - Enabling the DP83867 driver

These changes are all applied in patch 2.

Patch 1 enables excluding the DP83867 driver from SPL. This is done to
avoid size issues when adding the DP83867 driver to the am335x-evm
defconfig.

Link: https://lore.kernel.org/r/20250626-bbge-ethernet-v1-0-5b544fb1898f@bootlin.com
3 weeks agoboard: ti: am33xx: Add Ethernet support for Beaglebone Green Eco
Romain Gantois [Thu, 26 Jun 2025 16:20:25 +0000 (18:20 +0200)] 
board: ti: am33xx: Add Ethernet support for Beaglebone Green Eco

Currently, the Ethernet interface of the BBGE board isn't properly
supported.

To support this interface, describe the MAC<->PHY RGMII link and the
DP83867 PHY in the BBGE device tree. Enable the DP83867 PHY driver in
U-Boot Proper and mux the relevant RGMII lines.

Signed-off-by: Romain Gantois <romain.gantois@bootlin.com>
Tested-by: Judith Mendez <jm@ti.com>
3 weeks agonet: phy: dp83867: Allow excluding driver from SPL
Romain Gantois [Thu, 26 Jun 2025 16:20:24 +0000 (18:20 +0200)] 
net: phy: dp83867: Allow excluding driver from SPL

The DP83867 PHY driver is used by the BeagleBoneGreen Eco board, but adding
it to the am335x-evm defconfig causes SPL to overflow its size limits.

Add a separate option to enable this driver in SPL, so that it can be
enabled in U-Boot without adding unnecessary volume to SPL.

Signed-off-by: Romain Gantois <romain.gantois@bootlin.com>
Tested-by: Judith Mendez <jm@ti.com>
3 weeks agoMerge patch series "Improve Verdin AM62P thermal setup by generalizing ft_board_setup...
Tom Rini [Wed, 9 Jul 2025 14:40:36 +0000 (08:40 -0600)] 
Merge patch series "Improve Verdin AM62P thermal setup by generalizing ft_board_setup_ex()"

João Paulo Gonçalves <jpaulo.silvagoncalves@gmail.com> says:

In some use cases, board-specific device tree changes must not be overwritten
by system fixups. Although U-Boot provides ft_board_setup_ex() for this
purpose, it is currently only used on TI Keystone. This series makes
ft_board_setup_ex() a generic option, allowing its use by other architectures
and boards.

Additionally, considering that Toradex Verdin-AM62P hardware lifetime
guarantees are based on a 105°C junction temperature (while TI AM62Px supports
up to 125°C), this series implements necessary changes within TI K3 AM62P and
Toradex board code. These changes include exporting common fixup device Tree
functions used in TI K3 for board-code access and also fixup for AM62P thermal
zones to correctly reflect the number of CPU nodes according to the SoC part
number.

Link: https://lore.kernel.org/r/20250623-am62p-fdt-fixup-trip-points-v1-0-12355eb6a72f@toradex.com
3 weeks agoboard: toradex: verdin-am62p: Add fixup for critical trip points
João Paulo Gonçalves [Mon, 23 Jun 2025 17:39:57 +0000 (14:39 -0300)] 
board: toradex: verdin-am62p: Add fixup for critical trip points

While TI AM62P supports up to 125°C junction temperature, Tj, for
industrial and automotive parts, Toradex Verdin-AM62P hardware lifetime
guarantees consider a 105°C Tj. Fixup the device tree temperature
critical trip points to match the hardware specifications. The
implementation ensures the architecture code will not overwrite the
board specific changes by enabling CONFIG_OF_BOARD_SETUP_EXTENDED for
the Verdin-AM62P.

Signed-off-by: João Paulo Gonçalves <joao.goncalves@toradex.com>
Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
3 weeks agoarm: mach-k3: am62p: fixup thermal cooling device by cpu number
João Paulo Gonçalves [Mon, 23 Jun 2025 17:39:56 +0000 (14:39 -0300)] 
arm: mach-k3: am62p: fixup thermal cooling device by cpu number

TI AM62Px devices support CPU throttling based on thermal alerts.
However, the device tree assumes a 4-core configuration. Since the AM62P
also supports 2-core configurations, add a fixup to dynamically adjust
the cooling-device nodes within thermal zones based on the actual number
of CPU cores available.

Signed-off-by: João Paulo Gonçalves <joao.goncalves@toradex.com>
3 weeks agoarm: mach-k3: Export common fdt fixups for use in board code
João Paulo Gonçalves [Mon, 23 Jun 2025 17:39:55 +0000 (14:39 -0300)] 
arm: mach-k3: Export common fdt fixups for use in board code

Avoid code duplication by making the common TI K3 device tree fixup
functions to be reusable by board-specific code.

Signed-off-by: João Paulo Gonçalves <joao.goncalves@toradex.com>
3 weeks agoboot: Make ft_board_setup_ex() generic
João Paulo Gonçalves [Mon, 23 Jun 2025 17:39:54 +0000 (14:39 -0300)] 
boot: Make ft_board_setup_ex() generic

In some use cases, board-specific device tree changes must not be
overwritten by system fixups. Although U-Boot provides
ft_board_setup_ex() for this purpose, it is currently only used on TI
Keystone. Make ft_board_setup_ex() to be a generic option, allowing its
use by other architectures/boards. To maintain backward compatibility,
enable it by default on TI Keystone.

Signed-off-by: João Paulo Gonçalves <joao.goncalves@toradex.com>
3 weeks agoboot: menu: Do not dereference pointer if pointer is NULL
Andrew Goodbody [Wed, 2 Jul 2025 09:24:16 +0000 (10:24 +0100)] 
boot: menu: Do not dereference pointer if pointer is NULL

scene_obj_find can return NULL but this is not checked for before
the return is dereferenced. Add a NULL check.

This issue was found by Smatch.

Also add a NULL check for str.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
3 weeks agoboot: pxe: Prevent evaluation of uninitialised variable
Andrew Goodbody [Mon, 30 Jun 2025 11:57:10 +0000 (12:57 +0100)] 
boot: pxe: Prevent evaluation of uninitialised variable

In the case where parse_sliteral returns an error then label_name
will not have been assigned to. In order to prevent evaluating
label_name in this case add a check for the return value of parse_sliteral.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
3 weeks agoenv: Fix possible out-of-bound access in env_do_env_set
Christian Marangi [Sun, 29 Jun 2025 13:21:18 +0000 (15:21 +0200)] 
env: Fix possible out-of-bound access in env_do_env_set

It was discovered that env_do_env_set() currently suffer from a long
time of a possible out-of-bound access for the argv array handling.

The BUG is present in the function env_do_env_set() line:

name = argv[1];

where the function at this point assume the argv at index 1 is always
present and can't be NULL. Aside from the fact that it's always
better to validate argv entry with the argc variable, situation where
the argv[1] is NULL is actually possible and not an error condition.

A example of where an out-of-bound access is triggered is with the
command "askenv - Press ENTER to ...".
This is a common pattern for bootmenu entry to ask the user input after
a bootmenu command succeeded.

In the context of such command, the while loop before "name = argv[1];"
parse the "-" char as an option arg and increment the argv pointer by
one (to make the rest of the logic code ignore the option argv) and
decrement argc value.

The while loop logic is correct but at the "name = argv[1];" line, the
argv have only one element left (the "-" char) and accessing argv[1]
(aka the secong element from argv pointer) cause an out-of-bound access
(making the bootloader eventually crash with strchr searching in invalid
data)

To better handle this and prevent the out-of-bound access, actually
check the argv entry left (with the use of the argc variable) and exit
early before doing any kind of array access.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
3 weeks agofit-dtb.blob.gz: Pass "-n" to gzip
Tom Rini [Fri, 27 Jun 2025 17:29:47 +0000 (11:29 -0600)] 
fit-dtb.blob.gz: Pass "-n" to gzip

Sometimes when building a platform such as imx28_btt3 we can get an
error such as:

gzip: fit-dtb.blob: warning: file timestamp out of range for gzip format
make[1]: *** [Makefile:1219: fit-dtb.blob.gz] Error 2
make[1]: *** Deleting file 'fit-dtb.blob.gz'
make: *** [Makefile:186: sub-make] Error 2

This is typically resolved by telling gzip to ignore the timestamp.

Signed-off-by: Tom Rini <trini@konsulko.com>
3 weeks agotools: termios_linux.h: Fix build error on ppc64
Javier Martinez Canillas [Fri, 27 Jun 2025 13:53:37 +0000 (15:53 +0200)] 
tools: termios_linux.h: Fix build error on ppc64

Commit 93b55636b09f ("tools: kwboot: Allow any baudrate on Linux") added a
tcgetattr() function to be used, instead of the libc's termios functions.

This was done to allow using the raw TCGETS2/TCSETS2 ioctls that allow to
support arbitrary baud rates.

This breaks the build for PowerPC, because that architecture does not have
a struct termios2 defined because the termios and ktermios are the same.

On PowerPC, the termios ioctl() emulates the TCGETS2/TCSETS*2 ioctls with
tcgetattr/tcsetattr using just the struct termios (that's as mentioned the
same than what is defined as struct termios2 in other architectures).

So there is no need to use the TCGETS2/TCSETS2 ioctls on that architecture
and just TCGETS/TCSETS ioctls with termios as defined by PowerPC is enough.

Fixes: 93b55636b09f ("tools: kwboot: Allow any baudrate on Linux")
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
3 weeks agopci_endpoint: pci_cdns_ti_ep: Fix the include path for header file
Hrushikesh Salunke [Fri, 27 Jun 2025 05:55:46 +0000 (11:25 +0530)] 
pci_endpoint: pci_cdns_ti_ep: Fix the include path for header file

The commit under fixes tag includes "pcie-cadence.h" using angle
brackets. Since the header file is not in standard include path change
it to double quotes to ensure proper inclusion and avoid build issues,
especially on older compilers.

Fixes: a4a0edc6046 ("pci_endpoint: Add TI K3 Cadence PCIe Endpoint Controller driver")
Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
3 weeks agoboard: phytec: rm-cfg: Update rm-cfg to reflect new resource reservation
Wadim Egorov [Thu, 26 Jun 2025 12:39:30 +0000 (14:39 +0200)] 
board: phytec: rm-cfg: Update rm-cfg to reflect new resource reservation

With the latest TIFS firmware, an additional virtual interrupt and
event is reserved for TIFS usage on am62x and am62ax devices.

Update the rm-cfg to reflect this new reservation.

Based on commit 87720385ab69 ("board: ti: rm-cfg: Update rm-cfg to
reflect new resource reservation").

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
3 weeks agoMakefile: Fix of_list_dirs with EXT_DTB
Manorit Chawdhry [Thu, 26 Jun 2025 10:43:32 +0000 (16:13 +0530)] 
Makefile: Fix of_list_dirs with EXT_DTB

EXT_DTB overrides the of_list_dirs that is passed to binman during
builds. This causes binman to not find the normal DTB paths and instead
it just is able to use the path for EXT_DTB only.

Add the default of_list_dirs that is used for normal binman builds to
EXT_DTB usecase as well.

Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
Reviewed-by: Aniket Limaye <a-limaye@ti.com>
3 weeks agolib/rsa: allow matching pkcs11 path by object id
Tobias Olausson [Thu, 26 Jun 2025 06:54:20 +0000 (08:54 +0200)] 
lib/rsa: allow matching pkcs11 path by object id

The object= part matches against the label that the pkcs11 token uses
for that object, but in some cases, specifically with a Yubikey using
ykcs11, where the keys have been imported, the labels differ between the
private and public keys [1], making the object= matching useless. These
keys will have the same id however, so matching against that works for
both the private and public part.

[1]: https://github.com/Yubico/yubico-piv-tool/blob/master/doc/YKCS11/Functions_and_values.adoc#key-alias-per-slot-and-object-type

Signed-off-by: Tobias Olausson <tobias@eub.se>
3 weeks agocommon: readline: Fix always true test
Andrew Goodbody [Wed, 25 Jun 2025 09:50:30 +0000 (10:50 +0100)] 
common: readline: Fix always true test

The variable base is unsigned so >= 0 is always true. Fix this test
so that it is actually useful. The fix prevents the code from causing
a segfault in the case where Ctrl-w is pressed on a line consisting
only of spaces.

Fixes: dcc18ce0dbaf ("cli: Implement delete-word in cread_line()")
Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
3 weeks agoMerge patch series "include/ndisc.h: Audit include list"
Tom Rini [Tue, 8 Jul 2025 19:11:19 +0000 (13:11 -0600)] 
Merge patch series "include/ndisc.h: Audit include list"

This series from myself largely completes an audit of extraneous include
directives in 'include/*.h' and does not go in to other directories.

Link: https://lore.kernel.org/r/20250628224352.85694-1-trini@konsulko.com
3 weeks agoinclude/vsc9953.h: Audit include list
Tom Rini [Sat, 28 Jun 2025 22:43:52 +0000 (16:43 -0600)] 
include/vsc9953.h: Audit include list

This file does not need <config.h> nor <miiphy.h> so remove them.

Signed-off-by: Tom Rini <trini@konsulko.com>
3 weeks agoinclude/spl_gpio.h: Audit include list
Tom Rini [Sat, 28 Jun 2025 22:43:51 +0000 (16:43 -0600)] 
include/spl_gpio.h: Audit include list

This file does not need <asm/gpio.h> so remove it. This file does
however need <linux/types.h> so add that in. This also shows that
arch/arm/mach-rockchip/rk3399/rk3399.c and board/lg/star/star.c were
indirectly getting <asm/gpio.h> from here, so add <asm/gpio.h> to them.

Signed-off-by: Tom Rini <trini@konsulko.com>
3 weeks agoinclude/sata.h: Audit include list
Tom Rini [Sat, 28 Jun 2025 22:43:50 +0000 (16:43 -0600)] 
include/sata.h: Audit include list

This file does not need <part.h> so remove it. This file does however
need <stdbool.h> so add that in.

Signed-off-by: Tom Rini <trini@konsulko.com>
3 weeks agoinclude/part.h: Audit include list
Tom Rini [Sat, 28 Jun 2025 22:43:49 +0000 (16:43 -0600)] 
include/part.h: Audit include list

This file does not need <linker_lists.h> so remove it.

Signed-off-by: Tom Rini <trini@konsulko.com>
3 weeks agoinclude/ndisc.h: Audit include list
Tom Rini [Sat, 28 Jun 2025 22:43:48 +0000 (16:43 -0600)] 
include/ndisc.h: Audit include list

This file should not include itself, drop that.

Signed-off-by: Tom Rini <trini@konsulko.com>
3 weeks agoMerge patch series "kbuild: Update Makefile.extrawarn to 5.1"
Tom Rini [Tue, 8 Jul 2025 19:10:12 +0000 (13:10 -0600)] 
Merge patch series "kbuild: Update Makefile.extrawarn to 5.1"

This series from Ilias Apalodimas <ilias.apalodimas@linaro.org> largely
finishes the re-sync with the Linux Kernel v5.1 kbuild system.

Link: https://lore.kernel.org/r/20250627185723.342553-1-ilias.apalodimas@linaro.org
3 weeks agokbuild: Bump the build system to 5.1
Ilias Apalodimas [Fri, 27 Jun 2025 18:57:16 +0000 (21:57 +0300)] 
kbuild: Bump the build system to 5.1

Our last sync with the kernel was 5.1. Even that was a partial one
as some patches from 4.x kernels were already missing making the
transition to a modern kbuild infeasible.

We are so out of sync now, that tracking the patches and backporting
them one by one makes little sense and it's going to take ages.

This is an attempt to sync up Makefile[.lib/.kbuild].
Unfortunately due to sheer amount of patches this is not easy to review,
but that's what we decided during a community call.

One of the biggest changes is get rid of partial linking entirely and
build .a archives isntead of .o.
We diaviate from the kernel on that. Instead of calling a custom script
to create the archive symbol table, we call ar with rcTP (isntead of
rcSTP) since we want a resulting archive that's sauble with the linker.

The only affected platforms are PPC ones. Unfortunately I don't have any
of them around to test, but the objdump of the resulting files --
arch/powerpc/lib/built-in.[oa] looks identical.

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 weeks agokbuild: Update Makefile.extrawarn to 5.1
Ilias Apalodimas [Fri, 27 Jun 2025 18:57:15 +0000 (21:57 +0300)] 
kbuild: Update Makefile.extrawarn to 5.1

Since we are updating our kbuild system to 5.1, add the relevant
clang changes from upstream

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 weeks agoMerge tag 'xilinx-for-v2025.10-rc1' of https://source.denx.de/u-boot/custodians/u...
Tom Rini [Tue, 8 Jul 2025 15:40:39 +0000 (09:40 -0600)] 
Merge tag 'xilinx-for-v2025.10-rc1' of https://source.denx.de/u-boot/custodians/u-boot-microblaze

AMD/Xilinx changes for v2025.10-rc1

cmd:
- Introduce CMD_HELP Kconfig option

fpga:
- Fix in intel_smd_mb

mini:
- Remove simple-bus driver and description
- Disable CMD_HELP

firmware:
- Fix dependencies
- Switch to new SMC firmware format

cadence qspi:
- Fix read/write STIG mode
- Set tshsl_ns to at least one sclk_ns

sdhci:
- Call sdhci reset if wired

zynqmp-clk:
- Add support for DPLL clock source

zynqmp:
- Sync clock ID bindings with Linux
- defconfig updates
- Enable rng-seed generation

versal:
- Fix clock dependency

versal2:
- defconfig updates
- Enable sysreset

# -----BEGIN PGP SIGNATURE-----
#
# iHUEABYIAB0WIQSXAixArPbWpRanWW+rB/7wTvUR9QUCaG0Z7AAKCRCrB/7wTvUR
# 9YyCAQCseYDzYZbdh4e2g6LirVovzPv2LUNRFInYSKleegOjiwEAgQ0p9wZ0hNNj
# TpWf6sOKa/0ad3bZBtvbuV0G9WpqWAA=
# =2pbC
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 08 Jul 2025 07:15:24 AM CST
# gpg:                using EDDSA key 97022C40ACF6D6A516A7596FAB07FEF04EF511F5
# gpg: Can't check signature: No public key

3 weeks agoMerge tag 'net-next-20250708' of https://source.denx.de/u-boot/custodians/u-boot-net
Tom Rini [Tue, 8 Jul 2025 15:34:47 +0000 (09:34 -0600)] 
Merge tag 'net-next-20250708' of https://source.denx.de/u-boot/custodians/u-boot-net

Pull request net-next-20250708

lwip:
- Call sys_check_timeouts() and schedule() on RX to fix an issue on
  boards with a watchdog and simplify the code
- Enable IP_FRAG and IP_REASSEMBLY
- Add support for setting the TFTP blocksize at runtime
- Fix DNS initialization in wget
- Add the sntp command
- Move code from net/lwip/${cmd}.c to cmd/lwip/${cmd}.c

3 weeks agoarm64: versal2: Remove the ZynqMP Firmware from mini ospi
Venkatesh Yadav Abbarapu [Mon, 7 Jul 2025 09:21:02 +0000 (14:51 +0530)] 
arm64: versal2: Remove the ZynqMP Firmware from mini ospi

Remove the config ZYNQMP_FIRMWARE and also update the initial
stack address.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Link: https://lore.kernel.org/r/20250707092102.831697-1-venkatesh.abbarapu@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
3 weeks agocadence_qspi: fix odd byte read issue in STIG mode
Venkatesh Yadav Abbarapu [Wed, 2 Jul 2025 05:39:53 +0000 (11:09 +0530)] 
cadence_qspi: fix odd byte read issue in STIG mode

In DDR mode, even bytes are read using DMA, while the remaining odd
bytes are read using STIG mode. However, the data is not correctly
transferred into the flash read data lower register because the
supplementary byte of the STIG opcode is not being written to the
opcode extension register, resulting in incorrect data being read.

To resolve this issue, when using STIG transactions, the corresponding
supplementary byte of any STIG opcode must be defined in the Opcode
Extension Register (Lower). Issue has been observed on the Macronix
MX66UM2G45G flashes.

Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Link: https://lore.kernel.org/r/20250702053953.640046-1-venkatesh.abbarapu@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
3 weeks agospi: cadence_qspi: Set tshsl_ns to at least one sclk_ns
Venkatesh Yadav Abbarapu [Wed, 2 Jul 2025 06:57:17 +0000 (12:27 +0530)] 
spi: cadence_qspi: Set tshsl_ns to at least one sclk_ns

tshsl_ns is the clock delay for chip select deassert. This is the delay in
master reference clocks for the length that the master mode chip select
outputs are de-asserted between transactions.

The minimum delay is always SCLK period to ensure the chip select is never
re-asserted within one SCLK period.

That is why tshsl_ns delay should be at least one sclk_ns value. If it is
less than sclk_ns, set it equal to sclk_ns.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@amd.com>
Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Link: https://lore.kernel.org/r/20250702065717.3871435-1-venkatesh.abbarapu@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
3 weeks agoxilinx: Disable help command for all mini configurations
Michal Simek [Mon, 30 Jun 2025 12:21:08 +0000 (14:21 +0200)] 
xilinx: Disable help command for all mini configurations

There is no reason to have help command available because none is calling
it and only make binary bigger that's why disable it.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/885a74b7f5b28ea7850a6ebaaf879dd8b13e18c8.1751286059.git.michal.simek@amd.com
3 weeks agocmd: Introduce CMD_HELP
Michal Simek [Mon, 30 Jun 2025 12:21:07 +0000 (14:21 +0200)] 
cmd: Introduce CMD_HELP

Add option to disable help command in size constrained systems to save some
space. There is also no need to have ifdefs around CMDLINE because all
commands depends on it.
And also mark cmd_help dependency in test_help.py.

Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/c17f825fb8a74e1d1912a3fd09a9a880c84a8bfd.1751286059.git.michal.simek@amd.com
3 weeks agoarm64: zynqmp: Enable rng-seed generation
Michal Simek [Wed, 2 Jul 2025 07:44:08 +0000 (09:44 +0200)] 
arm64: zynqmp: Enable rng-seed generation

SOM has TPM with RNG in it that's why enable rng-seed generation.

Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/0e55eb3eade94e9cd0ffe04da0618aa6b1589f01.1751442246.git.michal.simek@amd.com
3 weeks agospi: cadence_qspi: Fix odd byte write issue in STIG mode
Venkatesh Yadav Abbarapu [Fri, 4 Jul 2025 04:04:44 +0000 (09:34 +0530)] 
spi: cadence_qspi: Fix odd byte write issue in STIG mode

Starting from 'commit <8077d296adff> ("spi: cadence-quadspi: Use STIG
mode for all ops with small payload") the utilization of STIG mode
has been implemented for read and write operations involving less
than 8 bytes of data.

However, following this commit, encountering timeout issues occurs when
writing odd bytes of data in DDR mode, as indicated below:
"jedec_spi_nor flash@0: flash operation timed out
SF: 3 bytes @ 0x0 Written: ERROR -110"

To resolve this issue, the number of bytes to write has been updated
specifically for DDR mode.

Signed-off-by: Tejas Bhumkar <tejas.arvind.bhumkar@amd.com>
Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Link: https://lore.kernel.org/r/20250704040444.671604-1-venkatesh.abbarapu@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
3 weeks agoconfig: versal2: Update timer clock to 100Mhz
Venkatesh Yadav Abbarapu [Fri, 4 Jul 2025 09:09:20 +0000 (14:39 +0530)] 
config: versal2: Update timer clock to 100Mhz

U-Boot timer clock is not updated when it is migrated from
emulator to silicon. Update CONFIG_COUNTER_FREQUENCY to 100Mhz.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Link: https://lore.kernel.org/r/20250704090920.678557-1-venkatesh.abbarapu@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
3 weeks agoarm64: versal2: Enable reset and poweroff via sysreset framework
Venkatesh Yadav Abbarapu [Mon, 7 Jul 2025 04:06:06 +0000 (09:36 +0530)] 
arm64: versal2: Enable reset and poweroff via sysreset framework

reset and poweroff are called via hooks in psci driver which is going
around sysreset framework that's why enable sysreset drivers and do
reset and poweroff via this framework.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Link: https://lore.kernel.org/r/20250707040607.758919-2-venkatesh.abbarapu@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
3 weeks agoarm64: versal2: Do not define do_reset() if sysreset is enabled
Venkatesh Yadav Abbarapu [Mon, 7 Jul 2025 04:06:07 +0000 (09:36 +0530)] 
arm64: versal2: Do not define do_reset() if sysreset is enabled

If sysreset is enabled reset_cpu is defined in sysreset uclass
that's why it can't be in platform/board code.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Link: https://lore.kernel.org/r/20250707040607.758919-3-venkatesh.abbarapu@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
3 weeks agoxilinx: zynqmp: disable CONFIG_SPI_FLASH_BAR
Venkatesh Yadav Abbarapu [Mon, 7 Jul 2025 04:37:38 +0000 (10:07 +0530)] 
xilinx: zynqmp: disable CONFIG_SPI_FLASH_BAR

Legacy SPI flash devices used a 24-bit (3-byte) addressing scheme,
limiting the addressable memory to 16 MB. To support larger densities
(256 Mbit and higher), extended addressing schemes, such as 32-bit
(4-byte) addressing, were introduced. If the flash density exceeds
16 MB and CONFIG_SPI_FLASH_BAR is disabled, the device will use a
4-byte addressing mode.

Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Link: https://lore.kernel.org/r/20250707043738.795179-1-venkatesh.abbarapu@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
3 weeks agoconfig: amd: Enable the SPI_STACKED_PARALLEL config option
Venkatesh Yadav Abbarapu [Mon, 7 Jul 2025 04:30:37 +0000 (10:00 +0530)] 
config: amd: Enable the SPI_STACKED_PARALLEL config option

Enable the SPI_STACKED_PARALLEL config option for
AMD versal2 platform, as this is required for parallel and
stacked memories.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Link: https://lore.kernel.org/r/20250707043037.792987-1-venkatesh.abbarapu@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
3 weeks agodrivers: fpga: intel_sdm_mb: Check SIP SMC status in send_bitstream()
Naresh Kumar Ravulapalli [Tue, 1 Jul 2025 04:43:11 +0000 (21:43 -0700)] 
drivers: fpga: intel_sdm_mb: Check SIP SMC status in send_bitstream()

While sending bitstream via SIP SMC, busy status received does not
correspond to error, instead it means transfer is accepted but SDM
doesn't have any more free buffer space. Hence, data transmission
is continued when busy status is received.

Signed-off-by: Naresh Kumar Ravulapalli <nareshkumar.ravulapalli@altera.com>
Link: https://lore.kernel.org/r/20250701044311.3670-1-nareshkumar.ravulapalli@altera.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
3 weeks agoxilinx: Remove simple-bus description from mini configurations
Michal Simek [Fri, 27 Jun 2025 09:20:40 +0000 (11:20 +0200)] 
xilinx: Remove simple-bus description from mini configurations

simple bus node and drivers not bringing up any value for mini
configuration that's why remove it and disable drivers for it to save some
space.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/a51b11fa21c504a19701ebdccc1e61e899e1aed5.1751016029.git.michal.simek@amd.com
3 weeks agommc: zynq_sdhci: Reset the host controller
Venkatesh Yadav Abbarapu [Thu, 26 Jun 2025 06:24:40 +0000 (11:54 +0530)] 
mmc: zynq_sdhci: Reset the host controller

Reset the host controller at the early stage of probe so that the
configuration will be done properly for reboot cases.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Link: https://lore.kernel.org/r/20250626062440.295301-1-venkatesh.abbarapu@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
3 weeks agofirmware: xilinx: Prepare code for new SMC firmware format
Michal Simek [Wed, 25 Jun 2025 13:29:27 +0000 (15:29 +0200)] 
firmware: xilinx: Prepare code for new SMC firmware format

Separate code to own function to be able to add new enhancement format.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/cf99fe1af82bc004de3e313d4018464f4504f380.1750858165.git.michal.simek@amd.com
3 weeks agofirmware: xilinx: Tighten dependencies for ZYNQMP_FIRMWARE
Tom Rini [Wed, 2 Jul 2025 01:04:10 +0000 (19:04 -0600)] 
firmware: xilinx: Tighten dependencies for ZYNQMP_FIRMWARE

The ZYNQMP_FIRMWARE code  cannot build without platform specific headers
being available. Express that requirement in Kconfig as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
Link: https://lore.kernel.org/r/20250702010410.18828-1-trini@konsulko.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
3 weeks agoxilinx: zynqmp: Enable xilinx ethernet phy
Padmarao Begari [Tue, 24 Jun 2025 08:46:45 +0000 (14:16 +0530)] 
xilinx: zynqmp: Enable xilinx ethernet phy

Enable xilinx ethernet phy on ZynqMP by default.

Signed-off-by: Padmarao Begari <padmarao.begari@amd.com>
Link: https://lore.kernel.org/r/20250624084645.1185428-1-padmarao.begari@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
3 weeks agoclk: zynqmp: Add support for dpll clock source
Padmarao Begari [Wed, 18 Jun 2025 09:43:29 +0000 (15:13 +0530)] 
clk: zynqmp: Add support for dpll clock source

The clock driver fails to correctly calculate the PLL clock
rate for peripherals when using the DPLL as the clock source.
The DPLL operates within the full power domain, while peripheral
clocks reside in the low power domain. To ensure accurate PLL
clock rate computation when the peripheral clock source is set
to DPLL, the DPLL-to-LPD cross divisor is used.

Signed-off-by: Padmarao Begari <padmarao.begari@amd.com>
Link: https://lore.kernel.org/r/20250618094329.296731-1-padmarao.begari@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>