]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
2 days agoddr: altera: soc64: Clean up bit-shift by zero bit
Tingting Meng [Mon, 4 Aug 2025 01:24:57 +0000 (18:24 -0700)] 
ddr: altera: soc64: Clean up bit-shift by zero bit

Clean up bit-shift by zero bit

Signed-off-by: Tingting Meng <tingting.meng@altera.com>
Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoddr: altera: Add DDR driver for Agilex7 M-series
Tingting Meng [Mon, 4 Aug 2025 01:24:56 +0000 (18:24 -0700)] 
ddr: altera: Add DDR driver for Agilex7 M-series

This is for new platform enablement for Agilex7 M-series.
Add DDR driver for Agilex7 M-series. This driver is designed to support
DDR and HBM memory. The official HBM handoff is not ready yet, therefore
hardcoded handoff is used for HBM driver validation on mUDV board.

Signed-off-by: Tingting Meng <tingting.meng@altera.com>
Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoddr: altera: Add uibssm mailbox support for Agilex7 M-series with HBM
Tingting Meng [Mon, 4 Aug 2025 01:24:55 +0000 (18:24 -0700)] 
ddr: altera: Add uibssm mailbox support for Agilex7 M-series with HBM

Add uibssm mailbox driver for Agilex7 M-series. HPS will interact with UIB
and HBM subsystem through software defined mailbox interface.
HPS can retrieve HBM memory interface calibration status, UIB
configuration, memory interfae configuration, trigger calibration and etc
with the list of supported mailbox command type and opcode.

Signed-off-by: Tingting Meng <tingting.meng@altera.com>
Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoclk: altera: Add clock support for Agilex7 M-series
Tingting Meng [Mon, 4 Aug 2025 01:24:54 +0000 (18:24 -0700)] 
clk: altera: Add clock support for Agilex7 M-series

Agilex7 M-series reuse the clock driver from Agilex.

Signed-off-by: Tingting Meng <tingting.meng@altera.com>
Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoinclude: configs: soc64: Use CONFIG_SPL_ATF to differentiate bootfile
Tingting Meng [Mon, 4 Aug 2025 01:24:53 +0000 (18:24 -0700)] 
include: configs: soc64: Use CONFIG_SPL_ATF to differentiate bootfile

ATF boot flow (SPL->ATF->U-Boot Proper->OS) boot to OS via kernel.itb file
using bootm command.

Change to use CONFIG_SPL_ATF to differentiate the bootfile of default
environment variable. We shouldn't use CONFIG_FIT because it is enabled
by default for U-Boot Proper.

Signed-off-by: Tingting Meng <tingting.meng@altera.com>
Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoinclude: configs: Add config header file for Agilex7 M-series
Tingting Meng [Mon, 4 Aug 2025 01:24:52 +0000 (18:24 -0700)] 
include: configs: Add config header file for Agilex7 M-series

Add config header file for new platform Agilex7 M-series.

Signed-off-by: Tingting Meng <tingting.meng@altera.com>
Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoarch: arm: mach-socfpga: Update handoff settings for Agilex7 M-series
Tingting Meng [Mon, 4 Aug 2025 01:24:51 +0000 (18:24 -0700)] 
arch: arm: mach-socfpga: Update handoff settings for Agilex7 M-series

Handoff settings updated for new platform Agilex7 M-series.

Signed-off-by: Tingting Meng <tingting.meng@altera.com>
Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoarch: arm: mach-socfpga: Improve help info.
Tingting Meng [Mon, 4 Aug 2025 01:24:50 +0000 (18:24 -0700)] 
arch: arm: mach-socfpga: Improve help info.

To improve help info for bridge enable/disable command.

Signed-off-by: Tingting Meng <tingting.meng@altera.com>
Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoarch: arm: mach-socfpga: Add Agilex7 M-series mach-socfgpa enablement
Tingting Meng [Mon, 4 Aug 2025 01:24:49 +0000 (18:24 -0700)] 
arch: arm: mach-socfpga: Add Agilex7 M-series mach-socfgpa enablement

Add platform related files for new platform Agilex7 M-series.

Signed-off-by: Tingting Meng <tingting.meng@altera.com>
Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoarch: arm: dts: Basic device tree support added for Agilex7 M-series
Tingting Meng [Mon, 4 Aug 2025 01:24:48 +0000 (18:24 -0700)] 
arch: arm: dts: Basic device tree support added for Agilex7 M-series

Agilex7 M-series support has been added using upstream Linux DTS.

socfpga_agilex_socdk-u-boot.dtsi was updated to support both Agilex and
Agilex7 M-series platforms.

Signed-off-by: Tingting Meng <tingting.meng@altera.com>
Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoarch: arm: dts: agilex: Switch to using upstream Linux DT config
Tingting Meng [Mon, 4 Aug 2025 01:24:47 +0000 (18:24 -0700)] 
arch: arm: dts: agilex: Switch to using upstream Linux DT config

Migrate the legacy Agilex platform to use the upstream Linux device tree
configuration. This helps reduce maintenance overhead and aligns U-Boot
with the Linux kernel's DTS hierarchy and naming conventions.

This change improves consistency between U-Boot and Linux by removing
custom/legacy DTS handling and instead relying on the standardized
definitions provided by the upstream Linux DTS.

Signed-off-by: Tingting Meng <tingting.meng@altera.com>
Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoarch: arm: agilex: Clean up DT settings in U-Boot dtsi files
Tingting Meng [Mon, 4 Aug 2025 01:24:46 +0000 (18:24 -0700)] 
arch: arm: agilex: Clean up DT settings in U-Boot dtsi files

Reorganize misplaced properties by moving board-common settings from
socfpga_agilex_socdk-u-boot.dtsi to socfpga_agilex-u-boot.dtsi to maintain
proper separation between common and board-level configurations.

Signed-off-by: Tingting Meng <tingting.meng@altera.com>
Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoarm: socfpga: soc64: Perform warm reset after L2 reset in SPL
Alif Zakuan Yuslaimi [Mon, 4 Aug 2025 01:24:45 +0000 (18:24 -0700)] 
arm: socfpga: soc64: Perform warm reset after L2 reset in SPL

SPL checks for a magic word in the system manager's scratch
register to determine if an L2 reset has occurred. If detected,
SPL places all slave CPUs (CPU1–3) into WFI mode. The master
CPU (CPU0) then initiates a warm reset by writing to the RMR_EL3
system register and also enters WFI mode.

This warm reset flow is handled entirely within the HPS. The
function `socfpga_sysreset_request()` triggers the warm
reset, and upon SPL re-entry, the updated `lowlevel_init_soc64.S`
handles the necessary initialization.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agosysreset: socfpga: soc64: Enable L2 reset
Alif Zakuan Yuslaimi [Mon, 4 Aug 2025 01:24:44 +0000 (18:24 -0700)] 
sysreset: socfpga: soc64: Enable L2 reset

Put all slave CPUs (CPU1-3) into WFI mode. Master CPU (CPU0) writes
the magic word into system manager's scratch register to indicate
the system has performed L2 reset and request reset manager to
perform hardware handshake and then trigger L2 reset. CPU0 put
itself into WFI mode. L2 reset will reboot all HPS CPU cores after
which all HPS cores are in WFI mode. L2 reset is followed by warm
reset request by SPL via RMR_EL3 system register.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoarm: socfpga: misc: Exclude Agilex from clock manager base address retrieval
Alif Zakuan Yuslaimi [Mon, 4 Aug 2025 01:24:43 +0000 (18:24 -0700)] 
arm: socfpga: misc: Exclude Agilex from clock manager base address retrieval

Agilex retrieves its clock manager address via probing its own clock
driver model during the SPL initialization.

Therefore, excluding Agilex from calling its clock driver in misc
driver to retrieve the clock manager address.

Once all SoC64 devices has been successfully transition to clock
driver model method, this implementation will be cleaned up.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoinclude: configs: socfpga: Add environment variables for distro boot
Alif Zakuan Yuslaimi [Mon, 4 Aug 2025 01:24:42 +0000 (18:24 -0700)] 
include: configs: socfpga: Add environment variables for distro boot

Added environment variables needed to support NAND distro boot

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoddr: altera: agilex: Get ACF from boot scratch register
Alif Zakuan Yuslaimi [Mon, 4 Aug 2025 01:24:41 +0000 (18:24 -0700)] 
ddr: altera: agilex: Get ACF from boot scratch register

The DDR data rate must be set correctly in the DDRIOCTRL
register according to the Actual Clock Frequency (ACF) value.

By enabling the reading of ACF value from bit 18 of the boot
scratch register during initialization, the DDR data rate is
able to be configured accurately.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoarm: socfpga: Define the usage of boot scratch cold reg 8
Alif Zakuan Yuslaimi [Mon, 4 Aug 2025 01:24:40 +0000 (18:24 -0700)] 
arm: socfpga: Define the usage of boot scratch cold reg 8

The boot scratch cold reg 8 is shared between DBE, DDR init progress
update and Linux EDAC. This patch defines how the bits are used by
respective features above and their macro names used in U-Boot.

Signed-off-by: Tien Fong Chee <tien.fong.chee@altera.com>
Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoddr: altera: agilex: Remove code redundancy
Alif Zakuan Yuslaimi [Mon, 4 Aug 2025 01:24:39 +0000 (18:24 -0700)] 
ddr: altera: agilex: Remove code redundancy

Remove redundant code for MPFE CSR firewall disabled as this was
already set in DTreg dts.

Signed-off-by: Tien Fong Chee <tien.fong.chee@altera.com>
Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoddr: altera: soc64: Add secure region support for ATF flow
Alif Zakuan Yuslaimi [Mon, 4 Aug 2025 01:24:38 +0000 (18:24 -0700)] 
ddr: altera: soc64: Add secure region support for ATF flow

Setting up firewall regions based on SDRAM memory banks configuration
(up to CONFIG_NR_DRAM_BANKS banks) instead of using whole address space.

First 1 MiB (0 to 0xfffff) of SDRAM is configured as secure region,
other address spaces are non-secure regions. The ARM Trusted Firmware (ATF)
image is located in this first 1 MiB memory region. So, this can prevent
software executing at non-secure state EL0-EL2 and non-secure masters
access to secure region.

Add common function for firewall setup and reuse for all SoC64 devices.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoarm: socfpga: agilex: Enable system manager driver for Agilex
Alif Zakuan Yuslaimi [Mon, 4 Aug 2025 01:24:37 +0000 (18:24 -0700)] 
arm: socfpga: agilex: Enable system manager driver for Agilex

The base address of system manager can be retrieved
using DT framework through the system manager driver.

Enable system manager support for Agilex by probing the
system manager driver to initialize during SPL boot up.

Signed-off-by: Boon Khai Ng <boon.khai.ng@altera.com>
Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoarm: socfpga: agilex5: Refactor system manager driver initialization
Alif Zakuan Yuslaimi [Mon, 4 Aug 2025 01:24:36 +0000 (18:24 -0700)] 
arm: socfpga: agilex5: Refactor system manager driver initialization

Refactor system manager initialization by searching for system manager
alias in Agilex5 device tree instead of manually passing node name to
the device model calling function

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agodrivers: clk: agilex: Replace status polling with wait_for_bit_le32()
Alif Zakuan Yuslaimi [Mon, 4 Aug 2025 01:24:35 +0000 (18:24 -0700)] 
drivers: clk: agilex: Replace status polling with wait_for_bit_le32()

Replace cm_wait_for_fsm() function with wait_for_bit_le32() function
which supports accurate timeout.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agodrivers: watchdog: Enable watchdog support in SPL for Agilex
Alif Zakuan Yuslaimi [Mon, 4 Aug 2025 01:24:34 +0000 (18:24 -0700)] 
drivers: watchdog: Enable watchdog support in SPL for Agilex

Enable watchdog as early as possible after clock initialization
which is set at 10 seconds.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoarm: socfpga: Enable ASYNC interrupts in Agilex SPL
Tien Fong Chee [Fri, 8 Aug 2025 14:20:42 +0000 (22:20 +0800)] 
arm: socfpga: Enable ASYNC interrupts in Agilex SPL

Asynchronous aborts were previously masked at SPL
entry.

To ensure early detection of system errors
such as ECC faults or bus errors, asynchronous aborts
should be explicitly unmasked by clearing the A-bit in
the DAIF register during Agilex SPL initialization.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
# Conflicts:
# arch/arm/mach-socfpga/spl_agilex.c

2 days agoarm: socfpga: Update Agilex SPL data save and restore implementation
Alif Zakuan Yuslaimi [Mon, 4 Aug 2025 01:24:32 +0000 (18:24 -0700)] 
arm: socfpga: Update Agilex SPL data save and restore implementation

Enable backup for data section to support warm reset in Agilex SPL as
no SPL image would be reloaded in warm reset.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoarm: socfpga: agilex: Probe DT for firewall setup
Alif Zakuan Yuslaimi [Mon, 4 Aug 2025 01:24:31 +0000 (18:24 -0700)] 
arm: socfpga: agilex: Probe DT for firewall setup

Update Agilex SPL code to implement device tree model
for firewall registers setup by using DTreg driver to
probe from device tree for the firewall settings instead
of calling firewall driver function.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoarch: arm: dts: agilex: Update Agilex device tree
Alif Zakuan Yuslaimi [Mon, 4 Aug 2025 01:24:30 +0000 (18:24 -0700)] 
arch: arm: dts: agilex: Update Agilex device tree

Update exisitng Agilex device tree to support multiple flashes boot
- MMC, QSPI and NAND.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agoconfigs: agilex: Combine defconfig for all boot flashes
Alif Zakuan Yuslaimi [Mon, 4 Aug 2025 01:24:29 +0000 (18:24 -0700)] 
configs: agilex: Combine defconfig for all boot flashes

Combine all MMC, NAND and QSPI configs into single defconfig which is named
as "socfpga_agilex_defconfig". This will be the default defconfig to use.
It supports booting from all three flashes using ARM Trusted Firmware (ATF)
as the secure runtime monitor.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agodrivers: clk: agilex: Use real clock source frequency
Alif Zakuan Yuslaimi [Mon, 4 Aug 2025 01:24:28 +0000 (18:24 -0700)] 
drivers: clk: agilex: Use real clock source frequency

Update the ARMv8 generic timer frequency register (cntfrq_el0)
with the actual hardware timer frequency (COUNTER_FREQUENCY_REAL).

The generic timer frequency was set to 0x200000000 during boot clk
which needs to be set to 0x400000000 when transition from boot clk
to PLL clk.

This will ensure that subsequent timer operations are based on the
correct frequency, ensuring accurate timekeeping.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agonet: dwc_eth_xgmac_socfpga: Remove always true test
Andrew Goodbody [Mon, 4 Aug 2025 15:11:38 +0000 (16:11 +0100)] 
net: dwc_eth_xgmac_socfpga: Remove always true test

In dwxgmac_of_get_mac_mode there is a test for mac_mode which will
return if false. After this point mac_mode is guaranteed to be true so
there is no need to test for this. Remove that test.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2 days agonet: dwc_eth_xgmac: Use unwind goto on error
Andrew Goodbody [Mon, 4 Aug 2025 15:11:37 +0000 (16:11 +0100)] 
net: dwc_eth_xgmac: Use unwind goto on error

In xgmac_probe there is a direct return after the point where unwind
gotos start to be used to undo actions performed by earlier code. Use
the appropriate unwind goto instead.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
3 days agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh
Tom Rini [Wed, 6 Aug 2025 19:42:56 +0000 (13:42 -0600)] 
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh

Various fixes for smatch warnings, the i2c one might be also coming in
via Heiko / I2C tree, let me know if there is conflict.

There is also W77Q51NW SPI NOR ID support, with the DT portion omitted
for now.

3 days agoarm64: renesas: r8a779g3: Enable Winbond SPI NOR support on Retronix R-Car V4H Sparro...
Marek Vasut [Wed, 6 Aug 2025 14:58:54 +0000 (16:58 +0200)] 
arm64: renesas: r8a779g3: Enable Winbond SPI NOR support on Retronix R-Car V4H Sparrow Hawk board

Enable support for Winbond SPI NOR on Retronix R-Car V4H Sparrow Hawk board,
this is required to support W77Q51NW on new board revision EVTB1 operational.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
4 days agonet: rswitch: Fix error detection
Andrew Goodbody [Wed, 6 Aug 2025 10:19:11 +0000 (11:19 +0100)] 
net: rswitch: Fix error detection

In rswitch_probe the error detection after the call to devm_clk_get is
very wrong. It checks the value of ret which is uninitialised at that
point. Instead it should be using the macros for including errors into
pointers.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
4 days agomtd: spi-nor-ids: Add support for Winbond W77Q51NW
Marek Vasut [Sun, 20 Jul 2025 19:58:47 +0000 (21:58 +0200)] 
mtd: spi-nor-ids: Add support for Winbond W77Q51NW

Add IDs for Winbond W77Q51NW, 512M-bit Secure Serial Flash Memory
with Post-Quantum Cryptography, Dual/Quad SPI, QPI and DTR . The
flash part is similar to W25Q512NWM .

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Tudor Ambarus <tudor.ambarus@linaro.org>
4 days agoi2c: rcar_iic: Do not use unitialised variable
Andrew Goodbody [Mon, 28 Jul 2025 15:04:43 +0000 (16:04 +0100)] 
i2c: rcar_iic: Do not use unitialised variable

In rcar_iic_xfer if nmsgs == 0 the ret will not be assigned to. As ret
will always be 0 if the for loop is entered, may as well just return 0.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Heiko Schocher <hs@denx.de>
Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
4 days agoclk: renesas: Do not test unsigned variable to be less than 0
Andrew Goodbody [Thu, 24 Jul 2025 10:48:12 +0000 (11:48 +0100)] 
clk: renesas: Do not test unsigned variable to be less than 0

In rcar_clk_set_rate64_div_table the unsigned variable 'value' is used
to receive the return value from rcar_clk_get_table_val which returns an
int and then attempts to test for being less than 0, which can never be
true. Instead declare value as an int so the code can behave as
expected. Also remove initial values from 'value' and 'div' as they are
not needed.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
4 days agoMerge tag 'i2c-updates-for-2025-10-rc2' of https://source.denx.de/u-boot/custodians...
Tom Rini [Wed, 6 Aug 2025 14:06:23 +0000 (08:06 -0600)] 
Merge tag 'i2c-updates-for-2025-10-rc2' of https://source.denx.de/u-boot/custodians/u-boot-i2c

i2c updates for v2025.10-rc2

bugfixes:

- rcar_iic: do not use unitialised variable
  from Andrew

- fix coverity issue in cmd/i2c.c
  from Heiko

new driver:

late, but hopefully okay for rc2, as already picked up when
merge window was open, but there was a problem in common code,
which is now fixed

- new i3c driver support from Dinesh

4 days agoconfigs: agilex5_defconfig: Enable i3c configs for agilex5
Dinesh Maniyam [Wed, 6 Aug 2025 04:32:35 +0000 (12:32 +0800)] 
configs: agilex5_defconfig: Enable i3c configs for agilex5

Enable configs for i3c in agilex5.

Signed-off-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
4 days agoconfigs: sandbox_defconfig: Enable configs for sandbox i3c
Dinesh Maniyam [Wed, 6 Aug 2025 04:32:34 +0000 (12:32 +0800)] 
configs: sandbox_defconfig: Enable configs for sandbox i3c

Enable configs for sandbox i3c.

Signed-off-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
4 days agotest: cmd: Add simple test for i3c
Dinesh Maniyam [Wed, 6 Aug 2025 04:32:33 +0000 (12:32 +0800)] 
test: cmd: Add simple test for i3c

Add simple test to check i3c controller defined in sandbox test DT.
Basically, this test case will check validity of the i3c controller
by probing it and perform basic commands of cmd/i3c.c

Signed-off-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
4 days agocmd: Add i3c command support.
Dinesh Maniyam [Wed, 6 Aug 2025 04:32:32 +0000 (12:32 +0800)] 
cmd: Add i3c command support.

Add i3c command file to support select, get i3c device
target list, read and write operation.

Signed-off-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
4 days agoi3c: master: dw-i3c-master: Fix OD_TIMING for spike filter
Dinesh Maniyam [Wed, 6 Aug 2025 04:32:31 +0000 (12:32 +0800)] 
i3c: master: dw-i3c-master: Fix OD_TIMING for spike filter

Fix the I3C device with spike filter unable to detect issue by setting
tHIGH_INIT to 200ns for first broadcast address.
This is according to MIPI SPEC 1.1.1 for first broadcast address
which is already part of linux upstreamed patch.

Signed-off-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
4 days agodrivers: i3c: master: Enable probe i3c without slave device
Dinesh Maniyam [Wed, 6 Aug 2025 04:32:30 +0000 (12:32 +0800)] 
drivers: i3c: master: Enable probe i3c without slave device

Picked linux i3c driver upstraming patch to fix the issue to
probe for i3c controller without slave device attached.
With this fix, the ret check will be on command error and will success
without slave device attached.

Signed-off-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
4 days agodrivers: i3c: Add i3c sandbox simple test.
Dinesh Maniyam [Wed, 6 Aug 2025 04:32:29 +0000 (12:32 +0800)] 
drivers: i3c: Add i3c sandbox simple test.

Add s simple test for the I3C uclass in sandbox.

Signed-off-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
4 days agodrivers: i3c: Enabled Kconfig and Makefile for DWI3C
Dinesh Maniyam [Wed, 6 Aug 2025 04:32:28 +0000 (12:32 +0800)] 
drivers: i3c: Enabled Kconfig and Makefile for DWI3C

Enable the Kconfig and Makefile for the MIPI DWI3C driver.

hs: fixed typo on drivers/i3c/master/Kconfig

Signed-off-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
4 days agodrivers: Enabled Kconfig and Makefile for i3c support
Dinesh Maniyam [Wed, 6 Aug 2025 04:32:27 +0000 (12:32 +0800)] 
drivers: Enabled Kconfig and Makefile for i3c support

Add new i3c driver to U-Boot drivers.

Signed-off-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
4 days agodrivers: i3c: Add i3c uclass driver.
Dinesh Maniyam [Wed, 6 Aug 2025 04:32:26 +0000 (12:32 +0800)] 
drivers: i3c: Add i3c uclass driver.

Enable i3c general uclass driver. This uclass driver will have
genaral read and write api to call the specific i3c driver.

Signed-off-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
4 days agodrivers: i3c: Add driver for MIPI DWI3C
Dinesh Maniyam [Wed, 6 Aug 2025 04:32:25 +0000 (12:32 +0800)] 
drivers: i3c: Add driver for MIPI DWI3C

Enable driver for Synopsis MIPI DWI3C for the family
device agilex5. This driver is migrated from linux version 6.6.37 LTS

Signed-off-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
4 days agodrivers: i3c: Add new i3c uclass id
Dinesh Maniyam [Wed, 6 Aug 2025 04:32:24 +0000 (12:32 +0800)] 
drivers: i3c: Add new i3c uclass id

Add i3c general uclass id.

Signed-off-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
4 days agocmd: i2c: fix coverity issue
Heiko Schocher [Mon, 4 Aug 2025 09:43:29 +0000 (11:43 +0200)] 
cmd: i2c: fix coverity issue

coverity scan reported issue:
** CID 583415:       Integer handling issues  (INTEGER_OVERFLOW)
/cmd/i2c.c: 369           in do_i2c_write()

change the length variable into type int.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 days agoi2c: rcar_iic: Do not use unitialised variable
Andrew Goodbody [Mon, 28 Jul 2025 15:04:43 +0000 (16:04 +0100)] 
i2c: rcar_iic: Do not use unitialised variable

In rcar_iic_xfer if nmsgs == 0 the ret will not be assigned to. As ret
will always be 0 if the for loop is entered, may as well just return 0.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Heiko Schocher <hs@denx.de>
5 days agoMakefile: Remove expansion of undefined variable
Philip Molloy [Mon, 28 Jul 2025 13:04:03 +0000 (13:04 +0000)] 
Makefile: Remove expansion of undefined variable

The U-Boot environment was previously stored in the boot loader stream
using ldr, but it has been replaced by the default environment built
into the U-Boot executable or an environment on external storage

Fixes: ea3310e8aafa ("Blackfin: Remove")
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Reviewed-by: Greg Malysa <malysagreg@gmail.com>
5 days agocmd: bdinfo: Fix showing correct IP address based on current device
Michal Simek [Tue, 29 Jul 2025 07:12:54 +0000 (09:12 +0200)] 
cmd: bdinfo: Fix showing correct IP address based on current device

Use the same logic as is used for MAC address where bdi shows mac address
for current device where index (idx) is used to point to correct IP address
which is read and show.

Signed-off-by: Michal Simek <michal.simek@amd.com>
5 days agoKconfig: typo restict
Heinrich Schuchardt [Wed, 30 Jul 2025 12:54:27 +0000 (14:54 +0200)] 
Kconfig: typo restict

%s/restict/restrict/

SPL and TPL have separate options (plural).

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
5 days agotest: py: test_fit_mkimage_validate: Only run either test on sandbox
Tom Rini [Fri, 25 Jul 2025 19:42:14 +0000 (13:42 -0600)] 
test: py: test_fit_mkimage_validate: Only run either test on sandbox

Both of these tests are only valid for sandbox (and require dtc) so both
tests need the pytest annotations.

Fixes: 93d09d3bd8ea ("test: fit: add test case for invalid default configuration reference")
Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agoMerge branch 'u-boot-nand-03082025' of https://source.denx.de/u-boot/custodians/u...
Tom Rini [Mon, 4 Aug 2025 14:23:43 +0000 (08:23 -0600)] 
Merge branch 'u-boot-nand-03082025' of https://source.denx.de/u-boot/custodians/u-boot-nand-flash

CI: https://source.denx.de/u-boot/custodians/u-boot-nand-flash/-/pipelines/27258

This series address issues found by Andrew Goodbody and mostly drop
driver that are not used by any board

6 days agoMerge branch 'staging' of https://source.denx.de/u-boot/custodians/u-boot-tegra
Tom Rini [Mon, 4 Aug 2025 14:22:04 +0000 (08:22 -0600)] 
Merge branch 'staging' of https://source.denx.de/u-boot/custodians/u-boot-tegra

-  Pegatron Chagall, Samsung Galaxy R (GT-I9103) and Captivate Glide
   (SGH-i927) support

7 days agomtd: nand: raw: Remove unused octeontx_nand driver
Tom Rini [Fri, 11 Jul 2025 15:19:45 +0000 (09:19 -0600)] 
mtd: nand: raw: Remove unused octeontx_nand driver

As no platforms use this driver anymore let's go ahead and remove it.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agomtd: nand: raw: Remove unused mxic_nand driver
Tom Rini [Fri, 11 Jul 2025 15:19:52 +0000 (09:19 -0600)] 
mtd: nand: raw: Remove unused mxic_nand driver

As no platforms use this driver anymore let's go ahead and remove it.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
7 days agomtd: nand: raw: Remove unused lpc32xx_nand_slc driver
Tom Rini [Sun, 3 Aug 2025 08:27:47 +0000 (10:27 +0200)] 
mtd: nand: raw: Remove unused lpc32xx_nand_slc driver

As no platforms use this driver anymore let's go ahead and remove it.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agomtd: rawnand: mxs_nand: Ensure err is set for error path
Andrew Goodbody [Fri, 1 Aug 2025 09:54:06 +0000 (10:54 +0100)] 
mtd: rawnand: mxs_nand: Ensure err is set for error path

In mxs_nand_init_ctrl there are a couple of error paths that do not set
err which could lead to the errors being silently ignored despite the
function not completing. Rather than just using if to detect these
errors use err to collect the error return value from the called
functions.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
7 days agomtd: rawnand: denali: Remove always true test
Andrew Goodbody [Fri, 1 Aug 2025 09:54:05 +0000 (10:54 +0100)] 
mtd: rawnand: denali: Remove always true test

In denali_wait_for_irq the code will either return from inside the while
loop or exit with time_left being 0. The following test for time_left
being 0 is guranteed to be true so remove the test and the following
unreachable code.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
7 days agomtd: rawnand: cortina_nand: Fix -ENOMEM detection
Andrew Goodbody [Fri, 1 Aug 2025 09:54:04 +0000 (10:54 +0100)] 
mtd: rawnand: cortina_nand: Fix -ENOMEM detection

In init_nand_dma there was code to detect failure to allocate memory but
it had two problems. Firstly the 2nd clause when info->tx_desc was NULL
attempted to free info->tx_desc when it should be freeing info->rx_desc.
Secondly there was no detection of both allocations failing, arguably
the more likely scenario. Refactor the code to simplify it and just fail
as soon as either allocation fails.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
7 days agomtd: nand: sunxi: Free allocated memory on errors
Andrew Goodbody [Fri, 1 Aug 2025 10:39:15 +0000 (11:39 +0100)] 
mtd: nand: sunxi: Free allocated memory on errors

Add kfree calls on error paths for memory that was allocated. This will
prevent memory leaks.

This issue found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-By: Michael Trimarchi <michael@amarulasolutions.com>
7 days agomtd: rawnand: stm32_fmc2: Ensure to return error code
Andrew Goodbody [Fri, 1 Aug 2025 10:39:14 +0000 (11:39 +0100)] 
mtd: rawnand: stm32_fmc2: Ensure to return error code

In stm32_fmc2_nfc_probe there are 3 error returns that do not set the
error code before returning which could lead to the error being silently
ignored. Just return -EINVAL in each case.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
7 days agomtd: nand: pxa3xx: Free memory on error
Andrew Goodbody [Fri, 1 Aug 2025 10:39:13 +0000 (11:39 +0100)] 
mtd: nand: pxa3xx: Free memory on error

In pxa3xx_nand_probe_dt if the function detects an error after
allocating memory that memory is not freed before exit. Add the
appropriate free.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: MIchael Trimarchi <michael@amarulasolutions.com>
8 days agoMerge patch series "env: mtd: add the missing put_mtd_device()"
Tom Rini [Fri, 1 Aug 2025 23:59:07 +0000 (17:59 -0600)] 
Merge patch series "env: mtd: add the missing put_mtd_device()"

This series from Shiji Yang <yangshiji66@outlook.com> fixes some issues
with the recently added "environment in mtd (generic)" functionality.

Link: https://lore.kernel.org/r/OSBPR01MB1670E56647F1F8B4BA66A931BC59A@OSBPR01MB1670.jpnprd01.prod.outlook.com
8 days agoenv: mtd: initialize saved_buf pointer
Shiji Yang [Fri, 25 Jul 2025 00:20:45 +0000 (08:20 +0800)] 
env: mtd: initialize saved_buf pointer

When sect_size is greater than the CONFIG_ENV_SIZE, this wild
pointer will cause CPU halt or system crash.

Fixes: 03fb08d4aef8 ("env: Introduce support for MTD")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
8 days agoenv: mtd: add the missing put_mtd_device()
Shiji Yang [Fri, 25 Jul 2025 00:20:44 +0000 (08:20 +0800)] 
env: mtd: add the missing put_mtd_device()

The mtd device is got in setup_mtd_device(), we must put the mtd
device before exiting the function to update the mtd use count.
This patch fixes the following env error:

> Removing MTD device #2 (u-boot-env) with use count 1
> Error when deleting partition "u-boot-env" (-16)

Fixes: 03fb08d4aef8 ("env: Introduce support for MTD")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
9 days agoMakefile: add dependency from lib to arch/$(ARCH)/lib
Mikko Rapeli [Thu, 31 Jul 2025 11:52:48 +0000 (14:52 +0300)] 
Makefile: add dependency from lib to arch/$(ARCH)/lib

Top level Makefile starts separate "make" processes for each each
subdirectory. lib/efi_loader apps now depend on lib.a from
arch/$(ARCH)/lib if CONFIG_USE_PRIVATE_LIBGCC is enabled which creates
a race conditions since dependency from lib/efi_loader EFI apps to
arch/$(ARCH)/lib/lib.a is not explicit:

arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory
make[3]: *** [scripts/Makefile.lib:512: lib/efi_loader/testapp_efi.so] Error 1

This error was seen on yocto/OE-core CI builds after u-boot 2025.07 update:

https://lists.openembedded.org/g/openembedded-core/message/220004

https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/2914600/raw_inline

    |    rm -f lib/efi_loader/built-in.o; arm-poky-linux-gnueabi-ar cDPrsT lib/efi_loader/built-in.o lib/efi_loader/efi_bootmgr.o lib/efi_loader/efi_bootbin.o lib/efi_loader
/efi_boottime.o lib/efi_loader/efi_helper.o lib/efi_loader/efi_console.o lib/efi_loader/efi_device_path.o lib/efi_loader/efi_device_path_to_text.o lib/efi_loader/efi_device_
path_utilities.o lib/efi_loader/efi_dt_fixup.o lib/efi_loader/efi_fdt.o lib/efi_loader/efi_file.o lib/efi_loader/efi_hii.o lib/efi_loader/efi_hii_config.o lib/efi_loader/efi
_image_loader.o lib/efi_loader/efi_load_options.o lib/efi_loader/efi_memory.o lib/efi_loader/efi_root_node.o lib/efi_loader/efi_runtime.o lib/efi_loader/efi_setup.o lib/efi_
loader/efi_string.o lib/efi_loader/efi_unicode_collation.o lib/efi_loader/efi_var_common.o lib/efi_loader/efi_var_mem.o lib/efi_loader/efi_variable.o lib/efi_loader/efi_var_
file.o lib/efi_loader/efi_watchdog.o lib/efi_loader/efi_disk.o lib/efi_loader/efi_net.o lib/efi_loader/efi_smbios.o lib/efi_loader/efi_load_initrd.o lib/efi_loader/efi_confo
rmance.o
    |   arm-poky-linux-gnueabi-ld.bfd -nostdlib -zexecstack -znocombreloc -znorelro --no-warn-rwx-segments -L /srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-
3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07 -T arch/arm/lib/elf_arm_efi.lds -shared -Bsymbolic -s lib/efi_loader/helloworld.o
lib/efi_loader/efi_crt0.o lib/efi_loader/efi_reloc.o lib/efi_loader/efi_freestanding.o arch/arm/lib/lib.a -o lib/efi_loader/helloworld_efi.so
    | arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory
    | make[3]: *** [scripts/Makefile.lib:512: lib/efi_loader/helloworld_efi.so] Error 1

The different "make" processes share common scripts/Makefile.build
and scripts/Makefile.libs but since they are separate processes
the Makefile rules can't add a dependency from lib/uefi_loader targets
to arch/$(ARCH)/lib/lib.a. Or the file level dependency can be added but
then "make" produces a too sparse error message which does not mention
that one of the dependencies like arch/$(ARCH)/lib/lib.a was not found:

make[3]: *** No rule to make target 'lib/efi_loader/helloworld.efi', needed by '__build'.  Stop.

Fix this dependency problem by building arch/$(ARCH)/lib before lib
if CONFIG_USE_PRIVATE_LIBGCC was enabled.

To reproduce the race condition more reliably, add a "sleep 10" delay
before linker command cmd_link_l_target with 2025.07
or to $(lib-target): target in scripts/Makefile.build with master branch
after Kbuild update.

Fixes: 43d43241d1c9 ("scripts/Makefile.lib: add PLATFORM_LIBGCC to efi linking")
Cc: Adriano Cordova <adrianox@gmail.com>
Cc: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
9 days agoMerge tag 'net-20250801' of https://source.denx.de/u-boot/custodians/u-boot-net
Tom Rini [Fri, 1 Aug 2025 14:47:50 +0000 (08:47 -0600)] 
Merge tag 'net-20250801' of https://source.denx.de/u-boot/custodians/u-boot-net

Pull request for net-20250801

net:
- Support overriding Auto Negotiation timeout with env variable
  'phy_aneg_timeout'
- Add missing virtqueue_kick() in free_pkt()
- Remove bcm281xx ethernet driver
- Tighten some network driver dependencies in Kconfig
- Add <cpu_func.h> to some platforms
- Fix a debug print in ftgmac100.cA
- Add parentheses around PSEUDO_HDR_SIZE

net-lwip:
- Fix build error with CONFIG_LWIP_DEBUG=y
- Remove eth_init() from net_init() as it is called later
- Simplify net_lwip_eth_start()

net-legacy:
- wget: Fix comparison of unsigned variable
- Incorrect macro used (TCP_0_NOP instead of TCP_1_NOP)

9 days agonet: phy: Support overriding Auto Negotiation timeout with env variable
Siddharth Vadapalli [Thu, 24 Jul 2025 14:15:36 +0000 (19:45 +0530)] 
net: phy: Support overriding Auto Negotiation timeout with env variable

The Auto Negotiation procedure between two Ethernet PHYs consists of
determining the best commonly supported parameters among Speed,
Duplex Mode and Flow Control.

The time taken for this procedure is not only dependent on the local
PHY used, but also on the link-partner PHY.

While a timeout can be specified in the form of a "CONFIG" on the basis
of the local PHY present on the device, since the timeout also depends
on the link-partner PHY, it might be necessary to modify the timeout.

To avoid rebuilding the bootloader for a given device, just because it
may be connected to various link-partner PHYs, each with a different
timeout, introduce an environment variable named "phy_aneg_timeout" and
override "CONFIG_PHY_ANEG_TIMEOUT" with "phy_aneg_timeout".

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
[jf: add missing #include <env.h>]
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
9 days agolwip: provide a sntp_format_time() function
Jerome Forissier [Thu, 24 Jul 2025 15:26:35 +0000 (17:26 +0200)] 
lwip: provide a sntp_format_time() function

Provide a trivial implementation of sntp_format_time() to fix a build
error when CONFIG_LWIP_DEBUG=y:

lib/lwip/lwip/src/apps/sntp/sntp.c: In function ‘sntp_format_time’:
lib/lwip/lwip/src/apps/sntp/sntp.c:283:10: error: implicit declaration of function ‘ctime’ [-Werror=implicit-function-declaration]
  283 |   return ctime(&ut);
      |          ^~~~~

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
9 days agovirtio: net: Add missing virtqueue_kick in free_pkt
Christian Speich [Thu, 24 Jul 2025 12:29:59 +0000 (14:29 +0200)] 
virtio: net: Add missing virtqueue_kick in free_pkt

Every virtqueue_add must eventually be followed by virtqueue_kick for to
properly notify the peer that new buffers have been put into the queue.

This is currently missing for virtio-net and may result in non-working
network when the host has depleted the rx buffers and waits for new
buffers. Depending on the host it may busy poll on the virtio queue or
wait for the kick. Qemu does the latter and may break.

Signed-off-by: Christian Speich <c.speich@avm.de>
9 days agoarm: bcm281xx: Remove ethernet driver
Tom Rini [Fri, 18 Jul 2025 01:15:44 +0000 (19:15 -0600)] 
arm: bcm281xx: Remove ethernet driver

As no platforms enable the ethernet driver, remove it.

Signed-off-by: Tom Rini <trini@konsulko.com>
9 days agonet: Tighten some network driver dependencies
Tom Rini [Fri, 18 Jul 2025 01:15:40 +0000 (19:15 -0600)] 
net: Tighten some network driver dependencies

A large number of network drivers cannot build without access to some
platform specific header files. Express those requirements in Kconfig as
well. This covers the QUICC engine drivers as that is networking
driver infrastructure.

Signed-off-by: Tom Rini <trini@konsulko.com>
9 days agonet: Add <cpu_func.h> to some platforms
Tom Rini [Fri, 18 Jul 2025 01:15:37 +0000 (19:15 -0600)] 
net: Add <cpu_func.h> to some platforms

The common portable header for CPU related functions such as cache
flushing and invalidation is <cpu_func.h> so add that to these drivers.

Signed-off-by: Tom Rini <trini@konsulko.com>
9 days agodrivers/net/ftgmac100.c: Fix a debug print
Tom Rini [Fri, 18 Jul 2025 01:15:34 +0000 (19:15 -0600)] 
drivers/net/ftgmac100.c: Fix a debug print

In the debug print in ftgmac100_send we want to say where the packet is
in memory and what the length is, so use %p to print that.

Signed-off-by: Tom Rini <trini@konsulko.com>
9 days agonet: lwip: remove eth_init from net_init as it is called later
Tim Harvey [Thu, 10 Jul 2025 15:09:34 +0000 (08:09 -0700)] 
net: lwip: remove eth_init from net_init as it is called later

The call to eth_init within net_init causes the network interface to
start, stop, start again which can cause issues with certain network
device drivers. Remove it to make it behave like the legacy network
path.

Fixes: 5666865decb8 ("net: lwip: fix initialization sequence before a command")
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
9 days agonet: lwip: simplify net_lwip_eth_start
Tim Harvey [Thu, 10 Jul 2025 15:15:56 +0000 (08:15 -0700)] 
net: lwip: simplify net_lwip_eth_start

For NET_LWIP eth_is_on_demand_init() is always 1 so remove the check and
simplify the code.

Suggested-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
9 days agonet: wget: Fix comparison of unsigned variable
Andrew Goodbody [Tue, 8 Jul 2025 16:51:18 +0000 (17:51 +0100)] 
net: wget: Fix comparison of unsigned variable

content_length is an unsigned long and so testing that it is >= 0 will
always be true. Instead test that it is != -1 as that is the condition
set on error.

This issue found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
9 days agonet: Incorrect NOP macro used for test
Andrew Goodbody [Tue, 8 Jul 2025 16:51:17 +0000 (17:51 +0100)] 
net: Incorrect NOP macro used for test

In tcp_parse_options the uchar p[0] is attempted to test for a match
with the 32bit macro TCP_0_NOP which can never be true. Instead test
against the 8bit macro TCP_1_NOP.

This issue found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
9 days agonet: Add parens to macro PSEUDO_HDR_SIZE
Andrew Goodbody [Tue, 8 Jul 2025 16:51:16 +0000 (17:51 +0100)] 
net: Add parens to macro PSEUDO_HDR_SIZE

Smatch reports a warning about possibly needing parens around the macro
PSEUDO_HDR_SIZE. This will not affect the one place the macro is used
but add the parens anyway as it is good practice to have them and if the
macro is used again in the future it could possibly matter then.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
9 days agoboard: samsung: add Samsung Galaxy R (GT-I9103) and Captivate Glide (SGH-i927) support
Ion Agorria [Sun, 1 Dec 2024 23:24:47 +0000 (00:24 +0100)] 
board: samsung: add Samsung Galaxy R (GT-I9103) and Captivate Glide (SGH-i927) support

The Galaxy R (GT-I9103) and Captivate Glide (SGH-i927) are both Tegra 2
based Samsung smartphones released in 2011. They both feature 1 GB of RAM
and 8 GB of expandable flash memory. The key difference is that the
Captivate Glide has an OLED panel (contrary to LCD in Galaxy R) and a
QWERTY keyboard in form factor of a slider.

Signed-off-by: Ion Agorria <ion@agorria.com>
Reviewed-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
9 days agovideo: backlight: add Samsung CMC623 backlight PWM driver
Ion Agorria [Fri, 18 Apr 2025 23:47:47 +0000 (01:47 +0200)] 
video: backlight: add Samsung CMC623 backlight PWM driver

Add support for PWM backlight found in Samsung CMC623 image converter.

Signed-off-by: Ion Agorria <ion@agorria.com>
Reviewed-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
9 days agovideo: bridge: add Samsung CMC623 image converter driver
Ion Agorria [Fri, 18 Apr 2025 23:47:10 +0000 (01:47 +0200)] 
video: bridge: add Samsung CMC623 image converter driver

Add support for a Samsung CMC623 image converter chip found in several
Samsung devices such as Samsung Galaxy R (I9103) and Samsung Galaxy
Tab 10.1 (GT-P75xx).

Signed-off-by: Ion Agorria <ion@agorria.com>
Reviewed-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
9 days agovideo: panel: add Samsung S6E63M0 panel driver
Ion Agorria [Sat, 19 Apr 2025 19:12:32 +0000 (21:12 +0200)] 
video: panel: add Samsung S6E63M0 panel driver

Samsung S6E63M0 controller is found in some OLED panels like one used in
the Samsung Captivate Glide. Currently only DBI C panel is implemented.

Signed-off-by: Ion Agorria <ion@agorria.com>
Reviewed-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
9 days agovideo: panel: add Sony L4F00430T01 panel driver
Ion Agorria [Fri, 18 Apr 2025 23:48:59 +0000 (01:48 +0200)] 
video: panel: add Sony L4F00430T01 panel driver

Sony L4F00430T01 LCD module is found in Samsung Galaxy R. The panel has a
WVGA resolution (480x800) and is setup over SPI, video data comes from RGB.

Signed-off-by: Ion Agorria <ion@agorria.com>
Reviewed-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
9 days agovideo: tegra: parametrize PCLK and DE polarity
Svyatoslav Ryhel [Fri, 18 Apr 2025 06:12:03 +0000 (09:12 +0300)] 
video: tegra: parametrize PCLK and DE polarity

Configure pixel clock and data enable polarity according to panel flags.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
9 days agoboard: chagall: add Pegatron Chagall support
Svyatoslav Ryhel [Sat, 15 Mar 2025 13:13:17 +0000 (15:13 +0200)] 
board: chagall: add Pegatron Chagall support

The Pegatron Chagall (originally built by Pegatron, but later rebranded by
other vendors under names Fujitsu Stylistic M532, Olivetti Olipad 3,
Siragon 4N, Realpad Bunaken, DNS AirTab P110w / P110g etc) is a mostly
business-oriented tablet sold in 2012 in different variants, mostly in
Europe, with slight differences in storage size (16GB/32GB) and presence
of built-in cellular modem.

Tested-by: Raffaele Tranquillini <raffaele.tranquillini@gmail.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
9 days agoARM: tegra: Use AES engine for crypto functions
Ion Agorria [Wed, 4 Jun 2025 13:31:59 +0000 (16:31 +0300)] 
ARM: tegra: Use AES engine for crypto functions

Previously software based AES encryption was used with previously known
device specific keys (SBK), now that we have AES driver we can simply
delegate this to the engine without prior knowledge of the key (assuming
it is still loaded).

Signed-off-by: Ion Agorria <ion@agorria.com>
9 days agoARM: tegra: Enable BSEV for devices that use CMD_EBTUPDATE
Ion Agorria [Sun, 5 Jan 2025 16:34:48 +0000 (17:34 +0100)] 
ARM: tegra: Enable BSEV for devices that use CMD_EBTUPDATE

Enable BSEV for devices that support u-boot self-upgrading feature.

Signed-off-by: Ion Agorria <ion@agorria.com>
9 days agoARM: tegra: Add BSE bindings
Ion Agorria [Wed, 4 Jun 2025 13:03:29 +0000 (16:03 +0300)] 
ARM: tegra: Add BSE bindings

Add device tree nodes for BSEA and BSEV devices on Tegra20 and Tegra30.

Signed-off-by: Ion Agorria <ion@agorria.com>
9 days agoARM: tegra: Add LP0 support for ODM production
Ion Agorria [Tue, 7 Jan 2025 00:53:19 +0000 (01:53 +0100)] 
ARM: tegra: Add LP0 support for ODM production

Now that we have working AES engine driver we can request the warmboot code
to be encrypted and signed  with SBK if the device requires so. This
unlocks LP0 support for most devices in the wild as they use ODM Production
Secure.

We are not aware of any "ODM Production Open" device nor have access to
thus this has not been tested on one, merely added for completeness.

Signed-off-by: Ion Agorria <ion@agorria.com>
9 days agocrypto: tegra: Add Tegra AES engine driver
Ion Agorria [Mon, 16 Dec 2024 16:03:38 +0000 (17:03 +0100)] 
crypto: tegra: Add Tegra AES engine driver

This driver allows using Tegra AES engines within BSEV and BSEA blocks to
encrypt and decrypt data using different AES algorithms.

One use case is allowing u-boot to self update by using the already loaded
AES key in the engine's SBK slot by the bootrom.

Particular care must be taken as chainloaded u-boot's may not have the SBK
slot loaded as the vendor bootloader erases it before leaving it.

Signed-off-by: Ion Agorria <ion@agorria.com>
9 days agoARM: tegra: Relocate fuse code from warmboot file
Ion Agorria [Thu, 26 Dec 2024 09:52:04 +0000 (10:52 +0100)] 
ARM: tegra: Relocate fuse code from warmboot file

Move a set of helpers used in warmboot code to more appropriate AP and FUSE
locations.

Signed-off-by: Ion Agorria <ion@agorria.com>
10 days agoMerge tag 'u-boot-stm32-20250731' of https://source.denx.de/u-boot/custodians/u-boot-stm
Tom Rini [Thu, 31 Jul 2025 14:45:50 +0000 (08:45 -0600)] 
Merge tag 'u-boot-stm32-20250731' of https://source.denx.de/u-boot/custodians/u-boot-stm

CI: https://source.denx.de/u-boot/custodians/u-boot-stm/-/pipelines/27236

- Add support for STM32 TIMERS and STM32 PWM on STM32MP25
- Add STM32MP13xx SPL and OpTee-OS start support
- Fix header misuse in stm32 reset drivers
- Fix STMicroelectronics spelling
- Fix clk-stm32h7 wrong macros used in register read
- Fix PRE_CON_BUF_ADDR on STM32MP13
- Fix clock identifier passed to struct scmi_clk_parent_set_in
- Fix stm32 reset for STM32F4/F7 and H7
- Enable OF_UPSTREAM_BUILD_VENDOR for stm32mp13_defconfig
- Add STM32MP23 SoC and stm32mp235f-dk board support

10 days agoMerge tag 'u-boot-socfpga-next-20250731' of https://source.denx.de/u-boot/custodians...
Tom Rini [Thu, 31 Jul 2025 14:42:06 +0000 (08:42 -0600)] 
Merge tag 'u-boot-socfpga-next-20250731' of https://source.denx.de/u-boot/custodians/u-boot-socfpga

This pull request includes updates for the SoCFPGA platform intended for the 2025.10 release
cycle. The highlights focus on enabling the Power Manager for Agilex5, NAND boot support
enhancements, and various bug fixes and cleanups across SoCFPGA components.

CI:

  * https://source.denx.de/u-boot/custodians/u-boot-socfpga/-/pipelines/27221

Summary of changes:

Agilex5 Power Manager:

  *   Initial driver support and DT bindings are added for the Agilex5 Power Manager, enabling
better power domain control.

NAND Boot Support for Agilex5:

  *   SPL support for NAND boot is enabled.
  *   UBI/UBIFS support is configured in defconfigs.
  *   Memory layout updates (malloc and BSS relocation) ensure proper boot behavior.

Code Quality Improvements:

  *   Coverity and runtime bug fixes (e.g., jtag_usercode check, sub-device conditionals).
  *   Several cleanup patches addressing formatting, logic, and initialization issues.

General Maintenance:

  *   SPDX license tags and header include fixes.
  *   Device tree updates to limit SPI clock frequency and other minor adjustments.

These contributions come from Alif Zakuan Yuslaimi, Andrew Goodbody, Dinesh Maniyam, Naresh
Kumar Ravulapalli, and Tingting Meng.

This patch set has been tested on Agilex 5 devkit.