]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
2 weeks agoMerge tag 'mmc-power-next-2025-09-24' of https://source.denx.de/u-boot/custodians...
Tom Rini [Wed, 24 Sep 2025 15:28:58 +0000 (09:28 -0600)] 
Merge tag 'mmc-power-next-2025-09-24' of https://source.denx.de/u-boot/custodians/u-boot-mmc into next

CI: https://source.denx.de/u-boot/custodians/u-boot-mmc/-/pipelines/27712

- Correct error value check in regulator_list_autoset
- Minor style fixes in mmc

2 weeks agommc: core: style fixes in mmc.c
Bhimeswararao Matsa [Mon, 1 Sep 2025 13:44:10 +0000 (19:14 +0530)] 
mmc: core: style fixes in mmc.c

Fix a couple of style issues reported by checkpatch.pl:

- Replace `#ifdef CONFIG_MMC_TRACE` with `#if IS_ENABLED(CONFIG_MMC_TRACE)`
  to follow the preferred kernel style for config-dependent branches.
- Drop explicit zero initialization of a static variable.

No functional change intended.

Signed-off-by: Bhimeswararao Matsa <bhimeswararao.matsa@gmail.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 weeks agopower: regulator: Fix incorrect use of binary and
Andrew Goodbody [Mon, 1 Sep 2025 15:00:46 +0000 (16:00 +0100)] 
power: regulator: Fix incorrect use of binary and

In regulator_list_autoset there is a test for ret being non-zero and
error being zero but it uses the binary '&' instead of the logical '&&'
which could well lead to unexpected results. Correct this to use the
logical '&&' instead.

This issue found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoRevert "Merge patch series "mkimage: Detect FIT image load address overlaps and fix...
Tom Rini [Wed, 24 Sep 2025 13:50:44 +0000 (07:50 -0600)] 
Revert "Merge patch series "mkimage: Detect FIT image load address overlaps and fix related test/DTS issues""

This reverts commit 4d84fa1261eb27d57687f2e4c404a78b8653c183, reversing
changes made to b82a1fa7ddc7f3be2f3b75898d5dc44c34420bdd.

I had missed some feedback on this series from earlier, and we have
since had reports of regressions due to this as well. For now, revert
this.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agoMerge patch series "mkimage: Detect FIT image load address overlaps and fix related...
Tom Rini [Tue, 23 Sep 2025 19:41:16 +0000 (13:41 -0600)] 
Merge patch series "mkimage: Detect FIT image load address overlaps and fix related test/DTS issues"

Aristo Chen <jj251510319013@gmail.com> says:

This patch series enhances FIT image robustness by adding **memory
region overlap detection** to `mkimage` and fixing existing overlaps
in DTS files and `binman` tests.

The primary goal is to prevent runtime memory corruption from
conflicting load addresses in FIT images.

Key Changes:

1.  `mkimage` Overlap Detection: A new validation in
    `tools/fit_image.c` checks for overlapping load addresses
    within FIT configurations. `mkimage` now errors out with
    detailed info on conflicts, preventing bad FIT image creation.

2.  New Test Case: A Python test verifies the new detection.
    It intentionally creates an overlap (kernel and FDT)
    to confirm correct error handling.

3.  Fixes for Existing Overlaps:
    * Board DTS (k3-am6xx): Adjusted load addresses for TI
      firmware stubs to prevent conflicts. This resolves
      previously undetected overlaps.
    * `binman` Tests: Fixed several tests. U-Boot load
      addresses were shifted to avoid ATF conflicts. A new
      linker script for TEE ELF sections ensures distinct
      memory layouts.

4.  Documentation: Added guidance for developers on how to
    determine ELF load addresses using readelf, linker scripts,
    and objdump when working with binman FIT images.

Impact:

This series improves FIT image reliability by catching overlaps
at build time, helping developers resolve issues before runtime
failures.

Link: https://lore.kernel.org/r/20250914110021.4103-1-aristo.chen@canonical.com
2 weeks agodoc: binman: Add guidance for determining ELF load addresses
Aristo Chen [Sun, 14 Sep 2025 10:59:32 +0000 (10:59 +0000)] 
doc: binman: Add guidance for determining ELF load addresses

Add documentation to help users understand how to determine where ELF
files will be loaded when using binman's 'fit,load' property. This
addresses the common confusion about how load addresses are determined
from ELF files.

The documentation explains three methods:
1. Using readelf to examine program headers
2. Checking the linker script (.lds file)
3. Using objdump to see section addresses

Also includes a specific example from binman tests showing how
elf_sections.lds sets ATF load address to 0x00000010 and
elf_sections_tee.lds sets TEE load address to 0x00100010 to avoid
memory overlap conflicts.

This helps users debug memory layout conflicts more efficiently when
working with FIT images containing multiple ELF components.

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
2 weeks agotest: Add test case for FIT image load address overlap detection
Aristo Chen [Sun, 14 Sep 2025 10:59:31 +0000 (10:59 +0000)] 
test: Add test case for FIT image load address overlap detection

Add a new test case to verify that mkimage properly detects and reports
memory region overlaps in FIT image configurations.

The test creates a FIT image with kernel and FDT components that have
the same load address (0x40000), which should trigger the overlap
detection logic and cause mkimage to fail with an appropriate error
message.

Test verifies:
- mkimage returns non-zero exit code when overlap is detected
- Error message contains "Error: Overlap detected:"
- Error message identifies the specific overlapping components
  (kernel@1 and fdt@1)

This test ensures the overlap detection feature works correctly and
prevents deployment of FIT images with conflicting memory layouts
that could cause runtime failures.

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
2 weeks agotools: mkimage: detect overlapping load regions in FIT configurations
Aristo Chen [Sun, 14 Sep 2025 10:59:30 +0000 (10:59 +0000)] 
tools: mkimage: detect overlapping load regions in FIT configurations

This patch adds a validation step in mkimage to detect memory region
overlaps between images specified in the same configuration of a
FIT image. If any overlaps are found, the tool prints an error and
aborts the build.

This helps prevent runtime memory corruption caused by conflicting
load addresses between images.

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
2 weeks agoarm: dts: k3-am6xx: Fix FIT image memory overlap in binman configurations
Aristo Chen [Sun, 14 Sep 2025 10:59:29 +0000 (10:59 +0000)] 
arm: dts: k3-am6xx: Fix FIT image memory overlap in binman configurations

Fix memory overlaps in FIT image configurations for TI AM62x and AM64x
PHYCore and SK boards.

The overlaps occurred in two categories:

1. TI firmware stub images (tifsstub-hs, tifsstub-fs, tifsstub-gp):
   These mutually exclusive firmware variants were incorrectly assigned
   the same load address within FIT configurations, causing overlap
   detection to fail. Adjust addresses with 64KB spacing:
   - tifsstub-hs: Keep original address
   - tifsstub-fs: Move to +64KB offset
   - tifsstub-gp: Move to +128KB offset

2. Device tree overlay images (som-no-rtc, som-no-spi, som-no-eth):
   These overlay files had insufficient spacing between load addresses,
   causing actual memory overlaps. Increase spacing to 8KB boundaries
   to accommodate overlay sizes safely.

An upcoming commit will validate if the memory region is overlapped

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
2 weeks agobinman: Fix FIT image overlap issues for testFitSplitElf
Aristo Chen [Sun, 14 Sep 2025 10:59:28 +0000 (10:59 +0000)] 
binman: Fix FIT image overlap issues for testFitSplitElf

Fix one binman test that has memory region overlap issue, the test case
needed to be updated to use non-overlapping memory layouts.

* Tests fixed:
  - testFitSplitElf

* Changes made:
  1. ELF section layouts: added elf_sections_tee.lds with different
     address for TEE to avoid overlap with ATF address defined in
     elf_sections.lds
  2. Makefile to properly build elf_sections_tee binary
  3. Updat ftest.py to use separate ELF files for TEE vs ATF components
     in split-elf operations.

An upcoming commit will validate if the memory region is overlapped

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
2 weeks agobinman: Fix FIT image overlap issues
Aristo Chen [Sun, 14 Sep 2025 10:59:27 +0000 (10:59 +0000)] 
binman: Fix FIT image overlap issues

Fix three binman tests that has memory region overlap issue, the test
cases needed to be updated to use non-overlapping memory layouts.

* Tests fixed:
  - testFitFirmwareLoadables
  - testFitSignSimple
  - testFitSignNoSignatureNodes

* Changes made:
  Updated DTB test files to change U-Boot load addresses from 0x0 to
  0x2000 to avoid overlapping with ATF in the 0x10-0xfc range:
  - 276_fit_firmware_loadables.dts
  - 340_fit_signature.dts
  - 342_fit_signature.dts

An upcoming commit will validate if the memory region is overlapped

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2 weeks agobinman: Fix typo for the test case name
Aristo Chen [Sun, 14 Sep 2025 10:59:26 +0000 (10:59 +0000)] 
binman: Fix typo for the test case name

Fix typo from `Singature` to `Signature`

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
2 weeks agoMerge tag 'v2025.10-rc5' into next
Tom Rini [Tue, 23 Sep 2025 14:24:59 +0000 (08:24 -0600)] 
Merge tag 'v2025.10-rc5' into next

Prepare v2025.10-rc5

2 weeks agoPrepare v2025.10-rc5 v2025.10-rc5
Tom Rini [Tue, 23 Sep 2025 13:33:47 +0000 (07:33 -0600)] 
Prepare v2025.10-rc5

Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agoMerge tag 'u-boot-imx-next-20250922' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Mon, 22 Sep 2025 14:23:41 +0000 (08:23 -0600)] 
Merge tag 'u-boot-imx-next-20250922' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next

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

- Add i.MX8 ahab-commit command.
- Add support for flashing board with UUU on imx93_frdm.
- Fix the acces of PFUZE100 regulator desc.
- Add more i.MX6 PWM clock definitions.
- Enable OP-TEE on phytec-imx8m and update documentation.
- Enable PCI host controller on iMX95 19x19 EVK.

[trini: Fixup spacing issues]
Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agodoc: phytec: imx8m: Style and firmware update
Yannic Moog [Thu, 18 Sep 2025 06:13:57 +0000 (08:13 +0200)] 
doc: phytec: imx8m: Style and firmware update

Use single make command for compiling blobs and U-Boot.
Update the imx firmware version.

Signed-off-by: Yannic Moog <y.moog@phytec.de>
2 weeks agodoc: phytec: update imx8m docs for optee builds
Yannic Moog [Thu, 18 Sep 2025 06:13:56 +0000 (08:13 +0200)] 
doc: phytec: update imx8m docs for optee builds

OP-TEE configs are enabled by default, change the doc to no longer
declare OP-TEE as optional. Also remove CFG_TEE_BENCHMARK as it is no
longer present in optee_os.
Further, phycore-imx8mm and imx8mm-phygate-tauri-l use different build
instructions, so dissolve the common file for building OP-TEE.

Reviewed-by: Teresa Remmet <t.remmet@phytec.de>
Signed-off-by: Yannic Moog <y.moog@phytec.de>
2 weeks agophytec-imx8m boards: enable OP-TEE for KASLR
Yannic Moog [Thu, 18 Sep 2025 06:13:55 +0000 (08:13 +0200)] 
phytec-imx8m boards: enable OP-TEE for KASLR

Enable OP-TEE config and RNG by default.
Set OP-TEE load address to end of 1GiB RAM for phycore-imx8mp and
phycore-imx8mm as the boards support a 1GiB RAM variant (although not
yet upstreamed for phycore-imx8mm).
The imx8mm-phygate-tauri-l board only supports 2GiB, so the default at
the end of 2GiB is sufficient.

Reviewed-by: Teresa Remmet <t.remmet@phytec.de>
Signed-off-by: Yannic Moog <y.moog@phytec.de>
2 weeks agoclk: imx6q: Add definition for missing PWM clocks
Ricardo Simoes [Wed, 17 Sep 2025 15:59:32 +0000 (17:59 +0200)] 
clk: imx6q: Add definition for missing PWM clocks

Following the work done in commit 7f39ad5a ("clk: imx6q: Add definition
for IMX6QDL_CLK_PWM1"), this commit adds definitions for PWM2, PWM3, and
PWM4 clocks. Allowing one to use these PWM modules together with DM_CLK.

Note that the solution was verified only against PWM3.

Signed-off-by: Ricardo Simoes <ricardo.simoes@pt.bosch.com>
Signed-off-by: Mark Jonas <mark.jonas@de.bosch.com>
2 weeks agoMerge tag 'u-boot-imx-master-20250922' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Mon, 22 Sep 2025 14:22:22 +0000 (08:22 -0600)] 
Merge tag 'u-boot-imx-master-20250922' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

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

- Fix Phycore i.MX93 voltage modes
- Call DM post init function for init_r phase on i.MX8ULP
- Fix ELE FW version print bug on i.MX8UL EVK.
- Fix LPCG number in ccm_reg structure on i.MX93

2 weeks agoboard: phytec: phycore-imx93: Fix i.MX93 voltage modes
Primoz Fiser [Fri, 19 Sep 2025 07:51:42 +0000 (09:51 +0200)] 
board: phytec: phycore-imx93: Fix i.MX93 voltage modes

Fix support for i.MX93 voltage modes on phyCORE-i.MX93 SoM boards.

First of all, Kconfig option CONFIG_IMX9_LOW_DRIVE_MODE is gone since
commit c9efcad23741 ("imx93_evk: Remove CONFIG_IMX9_LOW_DRIVE_MODE and
ld defconfig") and was replaced by runtime detection mechanism. Thus
lets use is_voltage_mode() instead of Kconfig to detect CPU type and
select proper voltage mode.

Secondly, 1400MHz ND mode (Nominal Drive) requiring 0.85V BUCK voltage
was not supported with current power_init_board() PMIC settings. Add
check also for this CPU type and set BUCK voltage accordingly.

Last but not least, add printf() printouts about PMIC voltage mode to
the console. This makes it more apparent and verbose about voltage mode
in use. Also our internal tests depend on this printout to catch issues
with i.MX93 CPU types and set PMIC voltage modes.

Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
2 weeks agoarm: imx9: Fix LPCG number in ccm_reg structure
Ye Li [Fri, 19 Sep 2025 06:58:34 +0000 (14:58 +0800)] 
arm: imx9: Fix LPCG number in ccm_reg structure

The LPCG number on iMX93 and iMX91 is 127 not 122. The wrong
value is used in ccm_reg structure and Coverity reports several
issues as out-of-bounds write.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoimx8ulp_evk: Fix ELE FW version print bug
Ye Li [Fri, 19 Sep 2025 06:58:33 +0000 (14:58 +0800)] 
imx8ulp_evk: Fix ELE FW version print bug

According to latest ELE Get FW version API, the FW version word is defined
as below. The patch version only has 4 bits and minor version has 12 bits.
However, the codes use 8 bits for patch version and minor version. Add the
patch to fix the issue.

ELE firmware version
[31] - When set indicates a dirty build.
[30] - Reserved
[29:28] - Hotfix version.
[27] - When set, indicate that ELE FW is authenticated and operational.
[26:25] - Reserved
[24] - When set, indicate that an alternative FW is running.
[23:16] - Indicate the major version. This byte is checked against the
version set in the fuses to determine if the FW execution can be authorized
[15:4] - Indicate the minor version.
[3:0] - Indicate the patch version.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoimx: imx8ulp: Call DM post init function for init_r phase
Ye Li [Fri, 19 Sep 2025 06:58:32 +0000 (14:58 +0800)] 
imx: imx8ulp: Call DM post init function for init_r phase

The ELE MU driver needs to be probed at init_r phase as well because
some ELE APIs will be called.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 weeks agopower: regulator: pfuze100: Fix accessing the regulator desc
Peng Fan [Tue, 16 Sep 2025 02:57:35 +0000 (10:57 +0800)] 
power: regulator: pfuze100: Fix accessing the regulator desc

se_desc loop check is wrong, it relies on the desc always has
the expected name to end of the loop. It works because the device tree
has the expected name as of now, but this may not be always true.

Drop se_desc by moving the check into probe and fix the loop check.

Reported-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Cc: Tom Rini <trini@konsulko.com>
Cc: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoimx93_frdm: Add support for flashing board with UUU
Mathieu Dubois-Briand [Mon, 15 Sep 2025 12:57:02 +0000 (14:57 +0200)] 
imx93_frdm: Add support for flashing board with UUU

Allow to flash a board using NXP UUU utility:
- Enable fastboot support on USB.
- Add fastboot partition aliases with names used by UUU. Also add extra
  environment variables used by UUU.
- Set 'dofastboot' environment variable based on boot device
  configuration, allowing to automatically enter fastboot when booting
  from USB.

Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
2 weeks agoimx95_evk: Enable PCI host controller on iMX95 19x19 EVK
Ye Li [Thu, 11 Sep 2025 10:56:11 +0000 (18:56 +0800)] 
imx95_evk: Enable PCI host controller on iMX95 19x19 EVK

Enable DW IMX PCI driver and iMX95 BLKCTRL clock driver in defconfig,
so PCI controller can work.

Signed-off-by: Ye Li <ye.li@nxp.com>
2 weeks agoarm: dts: imx95-evk: set alias for enetc PCI buses
Ye Li [Thu, 11 Sep 2025 10:56:10 +0000 (18:56 +0800)] 
arm: dts: imx95-evk: set alias for enetc PCI buses

Use fixed seq 0 and 1 for enetc PCI buses, then the seq for PCI controllers
could start after them.

Signed-off-by: Ye Li <ye.li@nxp.com>
2 weeks agoarm: dts: imx95: Assign HSIOPLL_VCO as HSIOPLL parent clock
Ye Li [Thu, 11 Sep 2025 10:56:09 +0000 (18:56 +0800)] 
arm: dts: imx95: Assign HSIOPLL_VCO as HSIOPLL parent clock

We have to explicitly assign HSIOPLL_VCO as HSIOPLL parent. So when
enabling HSIOPLL, its parent HSIOPLL_VCO will be enabled firstly.

Signed-off-by: Ye Li <ye.li@nxp.com>
2 weeks agoclk: clk-uclass: Fix clk_set_default_rates issue
Ye Li [Thu, 11 Sep 2025 10:56:08 +0000 (18:56 +0800)] 
clk: clk-uclass: Fix clk_set_default_rates issue

clk_set_rate returns the actual clock rate, When assigned clock rate is
higher than 0x7FFFFFFF, the return value will be recognized as error.
Change to IS_ERR_VALUE to check the return value.

Signed-off-by: Ye Li <ye.li@nxp.com>
2 weeks agopower: regulator: Add vin-supply for GPIO and Fixed regulators
Ye Li [Thu, 11 Sep 2025 10:56:07 +0000 (18:56 +0800)] 
power: regulator: Add vin-supply for GPIO and Fixed regulators

Enable the vin-supply when probing the regulator device.

Signed-off-by: Ye Li <ye.li@nxp.com>
2 weeks agoclk: imx: Add imx95 blkctrl clock driver
Ye Li [Thu, 11 Sep 2025 10:56:06 +0000 (18:56 +0800)] 
clk: imx: Add imx95 blkctrl clock driver

Add iMX95 blkctrl clock driver which implements clocks for HSIOMIX
blkctrl and LVDS blkctrl.
Since multiple blkctrl device for different blkctrl may be enabled,
and each has dedicated clock id from 0. We must enable CLK_AUTO_ID
to avoid conflict on clock id.

Signed-off-by: Ye Li <ye.li@nxp.com>
2 weeks agopci: pcie_dw_imx: Add iMX9 support to the driver
Ye Li [Thu, 11 Sep 2025 10:56:05 +0000 (18:56 +0800)] 
pci: pcie_dw_imx: Add iMX9 support to the driver

Adding iMX95/iMX94 support to the dw driver. Follow kernel driver
stype to use flags to distinguish the characteristic of different
platforms.

Signed-off-by: Ye Li <ye.li@nxp.com>
2 weeks agopci: dw: Fix wrong register used for PCI_COMMAND
Ye Li [Thu, 11 Sep 2025 10:56:04 +0000 (18:56 +0800)] 
pci: dw: Fix wrong register used for PCI_COMMAND

Wirting to command register should use PCI_COMMAND not PCI_PRIMARY_BUS

Signed-off-by: Ye Li <ye.li@nxp.com>
2 weeks agoimx8: Add ahab_commit command
John Ripple [Tue, 9 Sep 2025 19:53:22 +0000 (13:53 -0600)] 
imx8: Add ahab_commit command

The ahab_commit command allows the user to commit into the SECO fuses
that control the SRK key revocation information. This is used to Revoke
compromised SRK keys.

To use ahab_commit, the boot container must be built with an SRK
revocation bit mask that is not 0x0. For the SPSDK provided by NXP, this
means setting the 'srk_revoke_mask' option in the config file used to
sign the boot container. The 'ahab_commit 0x10' can then be used to commit
the SRK revocation information into the SECO fuses.

Signed-off-by: John Ripple <john.ripple@keysight.com>
2 weeks agoARM: Remove mistyped GICV3 definition from ARCH_SYNQUACER 812/head
Kunihiko Hayashi [Wed, 10 Sep 2025 09:25:01 +0000 (18:25 +0900)] 
ARM: Remove mistyped GICV3 definition from ARCH_SYNQUACER

The config "GIC_V3" seems to be typo, and currently "GICV3" remains
disabled. This should be removed until needed.

Fixes: 5cd4a355e0f0 ("board: synquacer: Add DeveloperBox 96boards EE support")
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
3 weeks agoMerge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-riscv into...
Tom Rini [Sat, 20 Sep 2025 16:02:00 +0000 (10:02 -0600)] 
Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-riscv into next

CI: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/27673

- Switch to upstream devicetree for TH1520 platform
- Remove fdt_high env variable
- Support SMP on RISC-V cores with Zalrsc only
- Make MPFS Generic
- riscv: dts: starfive: prune redundant jh7110-common

3 weeks agoMerge patch series "configs: phycore_am62ax_r5_defconfig: eMMC boot from raw offsets"
Tom Rini [Fri, 19 Sep 2025 17:57:00 +0000 (11:57 -0600)] 
Merge patch series "configs: phycore_am62ax_r5_defconfig: eMMC boot from raw offsets"

This series from Wadim Egorov <w.egorov@phytec.de> changes the
phycore_am62ax platform to use raw offsets for eMMC boot.

Link: https://lore.kernel.org/r/20250909103654.3341398-1-w.egorov@phytec.de
3 weeks agoconfigs: phycore_am62ax_a53_defconfig: eMMC boot from raw offsets
Daniel Schultz [Tue, 9 Sep 2025 10:36:54 +0000 (12:36 +0200)] 
configs: phycore_am62ax_a53_defconfig: eMMC boot from raw offsets

Enable CONFIG_SPL_SYS_MMCSD_RAW_MODE and set the offset address to
boot from raw addresses instead of a FAT partition.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Acked-by: Anshul Dalal <anshuld@ti.com>
3 weeks agoconfigs: phycore_am62ax_r5_defconfig: eMMC boot from raw offsets
Daniel Schultz [Tue, 9 Sep 2025 10:36:53 +0000 (12:36 +0200)] 
configs: phycore_am62ax_r5_defconfig: eMMC boot from raw offsets

Enable CONFIG_SPL_SYS_MMCSD_RAW_MODE and set the offset address to
boot from raw addresses instead of a FAT partition.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Acked-by: Anshul Dalal <anshuld@ti.com>
3 weeks agoMerge patch series "qemu-sbsa: Fix GIC enablement"
Tom Rini [Fri, 19 Sep 2025 17:56:24 +0000 (11:56 -0600)] 
Merge patch series "qemu-sbsa: Fix GIC enablement"

Kunihiko Hayashi <hayashi.kunihiko@socionext.com> says:

In the qemu-sbsa configuration, the GICv3 definition is disabled due to
a typo. After fixing the typo, GICv3 is enabled, however, the GIC register
base address definitions are missing, resulting in a build failure.

This series enables GICv3 and resolves this build error.
Confirming that U-Boot successfully starts up in QEMU SBSA environment
after the fix.

Link: https://lore.kernel.org/r/20250910092327.279749-1-hayashi.kunihiko@socionext.com
3 weeks agoboard: qemu-sbsa: Fix mistyped GICV3 definition
Kunihiko Hayashi [Wed, 10 Sep 2025 09:23:27 +0000 (18:23 +0900)] 
board: qemu-sbsa: Fix mistyped GICV3 definition

The config "GIC_V3" seems to be typo, and currently "GICV3" remains
disabled. Since "GIC_V3_ITS" is enabled in qemu-sbsa, "GICV3" should
also be enabled.

Fixes: 6d722894fd48 ("board: emulation: Add QEMU sbsa support")
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
3 weeks agoconfigs: qemu-sbsa: Define GIC register base address
Kunihiko Hayashi [Wed, 10 Sep 2025 09:23:26 +0000 (18:23 +0900)] 
configs: qemu-sbsa: Define GIC register base address

If GICV3 is enabled, GICD_BASE and GICR_BASE are needed at
arch/arm/cpu/armv8/start.S.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
3 weeks agolib: Tidy up comments for vsprintf functions
Simon Glass [Wed, 10 Sep 2025 07:12:39 +0000 (09:12 +0200)] 
lib: Tidy up comments for vsprintf functions

Some of the functions in this file do not follow the normal style. Fix
this so that things are more consistent.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
3 weeks agoMerge tag 'u-boot-stm32-20250919' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Fri, 19 Sep 2025 14:06:22 +0000 (08:06 -0600)] 
Merge tag 'u-boot-stm32-20250919' of https://source.denx.de/u-boot/custodians/u-boot-stm into next

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

STM32MP2:
  - Add SPI flashes support
  - Add RIFSC system bus driver fixes

3 weeks agoconfigs: starfive: Use visionfive2 DEVICE_TREE_INCLUDES dtsi named similar to defconfig
E Shattow [Wed, 17 Sep 2025 00:02:25 +0000 (17:02 -0700)] 
configs: starfive: Use visionfive2 DEVICE_TREE_INCLUDES dtsi named similar to defconfig

Add SYS_CPU automatic inclusion jh7110-u-boot.dtsi to item of config list
DEVICE_TREE_INCLUDES as starfive-visionfive2-u-boot.dtsi and rename file.

Signed-off-by: E Shattow <e@freeshell.de>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoriscv: dts: starfive: visionfive2 depend on SYS_CPU automatic dtsi inclusion
E Shattow [Wed, 17 Sep 2025 00:02:24 +0000 (17:02 -0700)] 
riscv: dts: starfive: visionfive2 depend on SYS_CPU automatic dtsi inclusion

Drop visionfive2 per-board -u-boot.dtsi stubs and instead rely on
automatic inclusion of jh7110-u-boot.dtsi

Signed-off-by: E Shattow <e@freeshell.de>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoriscv: dts: starfive: sync visionfive2 overrides with upstream Linux for-next
E Shattow [Wed, 17 Sep 2025 00:02:23 +0000 (17:02 -0700)] 
riscv: dts: starfive: sync visionfive2 overrides with upstream Linux for-next

Sync automatic dtsi inclusion overrides for JH7110 CPU with upstream
"riscv: dts: starfive: jh7110: bootph-pre-ram hinting needed by boot
loader" from upstream Linux conor/riscv-dt-for-next commit 8181cc2f3f21

Signed-off-by: E Shattow <e@freeshell.de>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoriscv: dts: starfive: prune redundant jh7110-common overrides
E Shattow [Wed, 17 Sep 2025 00:02:22 +0000 (17:02 -0700)] 
riscv: dts: starfive: prune redundant jh7110-common overrides

Prune jh7110-common-u-boot.dtsi (clocks, qspi flash, eeprom, and
bootph-pre-ram hints now upstream since devicetree-rebasing v6.16).

In preparation for removal of per-dts jh7110-*-u-boot.dtsi replace include
by next dependency jh7110-u-boot.dtsi in automatic dtsi inclusion order.

Signed-off-by: E Shattow <e@freeshell.de>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoarch/riscv: Remove unused macro in encoding.h
Greentime Hu [Mon, 15 Sep 2025 07:44:27 +0000 (15:44 +0800)] 
arch/riscv: Remove unused macro in encoding.h

This patch remove the unused macro DRAM_BASE.

Signed-off-by: Greentime Hu <greentime.hu@sifive.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoriscv: qemu: Remove fdt_high default
Vivian Wang [Sun, 14 Sep 2025 23:45:49 +0000 (07:45 +0800)] 
riscv: qemu: Remove fdt_high default

Setting fdt_high to all ones is discouraged and does not appear to be
useful for RISC-V QEMU. Moreover, it causes a boot failure when the FDT
generated internally by QEMU is used while booting. Remove it to allow
U-Boot to pick a suitable address and relocate the FDT.

Closes: https://lore.kernel.org/u-boot/8397369a-9b0b-4798-9c30-3a81165657d6@iscas.ac.cn
Signed-off-by: Vivian Wang <wangruikang@iscas.ac.cn>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agogpio: mpfs_gpio: fix compilation warnings
Eoin Dickson [Tue, 9 Sep 2025 12:53:47 +0000 (18:23 +0530)] 
gpio: mpfs_gpio: fix compilation warnings

mchp_gpio_get_value() should return int instead of bool, and some casts
are needed.

Signed-off-by: Eoin Dickson <eoin.dickson@microchip.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoboard: microchip: mpfs_generic: include processing of dtbos
Jamie Gibbons [Tue, 2 Sep 2025 10:11:03 +0000 (11:11 +0100)] 
board: microchip: mpfs_generic: include processing of dtbos

Include the use of the process dtbo functionality added in the MPFS
system controller driver.

Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agomisc: mpfs_syscontroller: add functions to read device tree overlays
Jamie Gibbons [Tue, 2 Sep 2025 10:11:02 +0000 (11:11 +0100)] 
misc: mpfs_syscontroller: add functions to read device tree overlays

Include functions to use the system controller to read the device tree
overlays which supports auto update functionality.

Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agodoc: microchip: add mpfs_video.rst
Jamie Gibbons [Tue, 2 Sep 2025 10:11:01 +0000 (11:11 +0100)] 
doc: microchip: add mpfs_video.rst

Add documentation to support the addition of the MPFS Video Kit.

Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agodoc: microchip: introduce common sections
Jamie Gibbons [Tue, 2 Sep 2025 10:11:00 +0000 (11:11 +0100)] 
doc: microchip: introduce common sections

With the upcoming additions of new MPFS boards, separate common
documentation to allow this to be reused appropriately and avoid
duplication.

Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoconfigs/microchip_mpfs_generic_defconfig: add board
Jamie Gibbons [Tue, 2 Sep 2025 10:10:59 +0000 (11:10 +0100)] 
configs/microchip_mpfs_generic_defconfig: add board

Add board support for MPFS video kit.

Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoboard: microchip: icicle: rename all icicle files to generic
Jamie Gibbons [Tue, 2 Sep 2025 10:10:58 +0000 (11:10 +0100)] 
board: microchip: icicle: rename all icicle files to generic

Make all Icicle Kit files generic. This supports the addition of
upcoming support for other MPFS boards.

Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoriscv: Add a Zalrsc-only alternative for synchronization in start.S
Yao Zi [Tue, 2 Sep 2025 08:19:32 +0000 (08:19 +0000)] 
riscv: Add a Zalrsc-only alternative for synchronization in start.S

Add an alternative implementation that use Zalrsc extension only for
HART lottery and SMP locking to support SMP on cores without "Zaamo"
extension available. The Zaamo implementation is still prioritized if
both of them are available, since it takes fewer instructions.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoconfigs: ibex-ast2700: Explicitly disable Zaamo and Zalrsc extension
Yao Zi [Tue, 2 Sep 2025 08:19:31 +0000 (08:19 +0000)] 
configs: ibex-ast2700: Explicitly disable Zaamo and Zalrsc extension

This board supports neither Zaamo nor Zalrsc extension, thus we want to
build it without "a" specified in the ISA string passed to compiler in
case of misused A-extension instructions. With RISCV_ISA_ZAAMO and
RISCV_ISA_ZALRSC Kconfig options introduced, we must explicitly disable
both of them to achieve this.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoriscv: Add Kconfig options to distinguish Zaamo and Zalrsc
Yao Zi [Tue, 2 Sep 2025 08:19:30 +0000 (08:19 +0000)] 
riscv: Add Kconfig options to distinguish Zaamo and Zalrsc

Ratified on Apr. 2024, the original RISC-V "A" extension is now split
into two separate extensions, "Zaamo" for atomic operations and "Zalrsc"
for load-reserved/store-conditional instructions.

For now, we've already seen real-world designs implement the Zalrsc
extension only[2]. As U-Boot mainly runs with only one HART, we could
easily support these designs by not using AMO instructions in the
hard-written assembly if necessary, for which this patch introduces two
new Kconfig options to indicate the availability of "Zaamo" and "Zalrsc".

Note that even with this patch, "A" extension is specified in the ISA
string passed to the compiler as long as one of "Zaamo" or "Zalrsc" is
available, since they're only recognized with a quite recent version of
GCC/Clang. The compiler usually doesn't automatically generate atomic
instructions unless the source explicitly instructs it to do so, thus
this should be safe.

Link: https://github.com/riscv/riscv-zaamo-zalrsc/commit/d94c64c63e9120d56bdeb540caf2e5dae60a8126
Link: https://lore.kernel.org/u-boot/20250729162035.209849-9-uros.stajic@htecgroup.com/
Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agopcie: starfive: Remove the redundant print of probe success
Hal Feng [Mon, 1 Sep 2025 08:24:18 +0000 (16:24 +0800)] 
pcie: starfive: Remove the redundant print of probe success

The dev_err() is used incorrectly and we don't need the driver
to state probe success.

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agostarfive: avoid NULL dereference in fdt_check_header()
Heinrich Schuchardt [Thu, 28 Aug 2025 13:03:35 +0000 (15:03 +0200)] 
starfive: avoid NULL dereference in fdt_check_header()

If the u-boot.itb read from SD-card is invalid, fdt_check_header() may be
called with a NULL pointer.

This was observed on an StarFive VisionFive Lite when trying to revover the
board via UART.

Add a missing check in the starfive board code.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: E Shattow <e@freeshell.de>
3 weeks agoinclude: configs: andes: Remove fdt_high env variable
Randolph Lin [Thu, 21 Aug 2025 11:31:22 +0000 (19:31 +0800)] 
include: configs: andes: Remove fdt_high env variable

Remove the fdt_high environment variable, as a value of all ones
indicates using the FDT in place. This setting is incorrect for the
current board.

Signed-off-by: Randolph Lin <randolph@andestech.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agodts: th1520: Switch to upstream devicetree
Yao Zi [Wed, 13 Aug 2025 10:09:27 +0000 (10:09 +0000)] 
dts: th1520: Switch to upstream devicetree

Imply OF_UPSTREAM in platform Kconfig option and adapt existing boards
to use the correct upstream devicetree paths.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agopinctrl: th1520: Mark driver as DM_FLAG_PRE_RELOC
Yao Zi [Wed, 13 Aug 2025 10:09:26 +0000 (10:09 +0000)] 
pinctrl: th1520: Mark driver as DM_FLAG_PRE_RELOC

It's common that UARTs are bound and probed before U-Boot relocation, in
which case the UART's pincontroller and pinconfig must be probed first.
Let's apply DM_FLAG_PRE_RELOC to the driver, allow it to bind before
relocation.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoclk: thead: th1520-ap: Mark drivers as DM_FLAG_PRE_RELOC
Yao Zi [Wed, 13 Aug 2025 10:09:25 +0000 (10:09 +0000)] 
clk: thead: th1520-ap: Mark drivers as DM_FLAG_PRE_RELOC

It's common that UARTs are bound and probed before U-Boot relocation,
in which case the clocks of UART and UART's pincontroller must be
registered first. Let's apply DM_FLAG_PRE_RELOC to the driver, allowing
it to bind before relocation.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoconfigs: th1520_lpi4a: Enlarge SYS_MALLOC_F_LEN to 0x10000
Yao Zi [Wed, 13 Aug 2025 10:09:24 +0000 (10:09 +0000)] 
configs: th1520_lpi4a: Enlarge SYS_MALLOC_F_LEN to 0x10000

For TH1520, we want clock and pinctrl drivers to bind before relocation
along with the UART which makes use of them, since upstream devicetree
specifies pinctrl properties for the UART.

This requires a large malloc pool before relocation, let's enlarge it.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
3 weeks agoarm: nuvoton: remove unused parameter
Jim Liu [Wed, 10 Sep 2025 02:16:17 +0000 (10:16 +0800)] 
arm: nuvoton: remove unused parameter

remove CFG_SYS_BOOTM_LEN parameter

Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
3 weeks agoboot: Increase kernel size limit to 128 MiB on ARM64/PPC/RV
Marek Vasut [Mon, 8 Sep 2025 13:48:16 +0000 (15:48 +0200)] 
boot: Increase kernel size limit to 128 MiB on ARM64/PPC/RV

The ARM64 kernel Image size with LOCKDEP enabled is now around 80 MiB, which
makes it unbootable due to "Image too large: increase CONFIG_SYS_BOOTM_LEN".
Increase the image size limit to 128 MiB to future proof the limit.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
3 weeks agoMerge patch series "Add support for MediaTek MT7987/MT7988 built-in 2.5Gb ethernet...
Tom Rini [Thu, 18 Sep 2025 21:43:26 +0000 (15:43 -0600)] 
Merge patch series "Add support for MediaTek MT7987/MT7988 built-in 2.5Gb ethernet PHY (v4)"

Weijie Gao <weijie.gao@mediatek.com> says:

This patch adds PHY driver for MediaTek MT7987/MT7988 built-in 2.5Gb
ethernet PHY.

[trini: Change 'tristate' Kconfig to 'bool']

Link: https://lore.kernel.org/r/cover.1757315849.git.weijie.gao@mediatek.com
3 weeks agoMAINTAINERS: update ethernet-related file list for MediaTek ARM platform
Weijie Gao [Mon, 8 Sep 2025 08:34:23 +0000 (16:34 +0800)] 
MAINTAINERS: update ethernet-related file list for MediaTek ARM platform

Update ethernet-related files for MediaTek ARM platform

Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
3 weeks agonet: phy: Add MediaTek built-in 2.5Gb ethernet PHY driver
Weijie Gao [Mon, 8 Sep 2025 08:34:18 +0000 (16:34 +0800)] 
net: phy: Add MediaTek built-in 2.5Gb ethernet PHY driver

The MediaTek MT7987/MT7988 SoCs features a built-in 2.5Gb PHY
connected to GMAC1. The PHY supports 10/100/1000/2500 Mbps
full-duplex only.

The PHY requires one or two firmware files. Firmware for MT7988 has
already been added to upstream: mediatek/mt7988/i2p5ge-phy-pmb.bin.
MT7987 has two firmware files which will be add to upstream later:
i2p5ge-phy-pmb.bin and i2p5ge-phy-DSPBitTb.bin.

Environment variable can be set for firmware data loading:
mt7987_i2p5ge_load_pmb_firmware for i2p5ge-phy-pmb.bin
mt7987_i2p5ge_load_dspbit_firmware for i2p5ge-phy-DSPBitTb.bin
mt7988_i2p5ge_load_pmb_firmware for i2p5ge-phy-pmb.bin

This driver allows dedicated weak functions to be overridden by
board to provide the firmware data:
mt7987_i2p5ge_get_fw() for MT7987
mt7988_i2p5ge_get_fw() for MT7988

To enable the PHY, add the following not to device tree:
&eth1 {
status = "okay";
phy-mode = "xgmii";
phy-handle = <&phy15>;

phy15: ethernet-phy@15 {
compatible = "ethernet-phy-ieee802.3-c45";
reg = <15>;
phy-mode = "xgmii";
};
};

Signed-off-by: Sky Huang <SkyLake.Huang@mediatek.com>
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
3 weeks agonet: mediatek: associate PHY device with dts node specified by phy-handle
Weijie Gao [Mon, 8 Sep 2025 08:34:13 +0000 (16:34 +0800)] 
net: mediatek: associate PHY device with dts node specified by phy-handle

Associate PHY device with its device node specified by phy-handle
property. This makes it possible for PHY drivers to read dedicated
information to configure the PHY device.

Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
3 weeks agomisc: fs_loader: allow using long script name in request_firmware_into_buf_via_script()
Weijie Gao [Mon, 8 Sep 2025 08:34:07 +0000 (16:34 +0800)] 
misc: fs_loader: allow using long script name in request_firmware_into_buf_via_script()

Use cmd_process() to remove the length limit of script name used for
run_command().

Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
3 weeks agomisc: fs_loader: allow returning actual firmware data size in request_firmware_into_b...
Weijie Gao [Mon, 8 Sep 2025 08:34:02 +0000 (16:34 +0800)] 
misc: fs_loader: allow returning actual firmware data size in request_firmware_into_buf_via_script()

It's important to return the actual firmware data size as some
firmware files may have no checksum and need the size as the only
way for firmware validation check.

Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
3 weeks agoARM: dts: Add flash0 partitions for stm32mp257f-ev1-u-boot
Patrice Chotard [Thu, 11 Sep 2025 06:59:44 +0000 (08:59 +0200)] 
ARM: dts: Add flash0 partitions for stm32mp257f-ev1-u-boot

Add flash0 partitions for stm32mp257f-ev1-u-boot.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 weeks agoconfigs: stm32mp25: Enable configs flags related to SPI flashes.
Patrice Chotard [Thu, 11 Sep 2025 06:59:43 +0000 (08:59 +0200)] 
configs: stm32mp25: Enable configs flags related to SPI flashes.

Enable configs flags related to SPI flashes.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 weeks agospi: Add STM32MP2 Octo-SPI driver support
Patrice Chotard [Thu, 11 Sep 2025 06:59:42 +0000 (08:59 +0200)] 
spi: Add STM32MP2 Octo-SPI driver support

Add STM32 OSPI driver, it supports :
  - support sNOR / sNAND devices.
  - Two functional modes: indirect (read/write) and memory-mapped (read).
  - Single-, dual-, quad-, and octal-SPI communication.
  - Single data rate (SDR).

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 weeks agomemory: Add STM32 Octo Memory Manager driver
Patrice Chotard [Thu, 11 Sep 2025 06:59:41 +0000 (08:59 +0200)] 
memory: Add STM32 Octo Memory Manager driver

Octo Memory Manager driver (OMM) manages:
  - the muxing between 2 OSPI busses and 2 output ports.
    There are 4 possible muxing configurations:
      - direct mode (no multiplexing): OSPI1 output is on port 1 and OSPI2
        output is on port 2
      - OSPI1 and OSPI2 are multiplexed over the same output port 1
      - swapped mode (no multiplexing), OSPI1 output is on port 2,
        OSPI2 output is on port 1
      - OSPI1 and OSPI2 are multiplexed over the same output port 2
  - the split of the memory area shared between the 2 OSPI instances.
  - chip select selection override.
  - the time between 2 transactions in multiplexed mode.
  - check firewall access.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 weeks agoioport: Add resource check helpers
Patrice Chotard [Thu, 11 Sep 2025 06:59:40 +0000 (08:59 +0200)] 
ioport: Add resource check helpers

Add resource_overlaps() and resource_contains() helpers.
Code copied from kernel source.

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 weeks agoARM: stm32mp: replace RIFSC check access APIs
Gatien Chevallier [Fri, 8 Aug 2025 14:03:57 +0000 (16:03 +0200)] 
ARM: stm32mp: replace RIFSC check access APIs

Replace RIFSC check access APIs by grant/release access ones that handle
the RIF semaphores.

Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 weeks agoARM: stm32mp: fix RIFSC semaphores acquisition
Gatien Chevallier [Fri, 8 Aug 2025 14:03:56 +0000 (16:03 +0200)] 
ARM: stm32mp: fix RIFSC semaphores acquisition

Fix RIFSC semaphores acquisition by not returning an error when the
current CID already possess the semaphore. Also fix an incorrect mask
for the CID value in the SEMCR register.

Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
3 weeks agoMerge patch series "board: dhelectronics: Check pointer before access in dh_get_value...
Tom Rini [Wed, 17 Sep 2025 15:06:53 +0000 (09:06 -0600)] 
Merge patch series "board: dhelectronics: Check pointer before access in dh_get_value_from_eeprom_buffer()"

This series from Marek Vasut <marek.vasut@mailbox.org> cleans up some of
the common code between dhelectronics platforms.

Link: https://lore.kernel.org/r/20250907010103.667681-1-marek.vasut@mailbox.org
3 weeks agoboard: dhelectronics: Use isascii() before isprint() in dh_read_eeprom_id_page()
Marek Vasut [Sun, 7 Sep 2025 01:00:47 +0000 (03:00 +0200)] 
board: dhelectronics: Use isascii() before isprint() in dh_read_eeprom_id_page()

The isprint() checks printability across all 256 characters, some of the
upper 128 characters are printable and produce artifacts on UART. Call
isascii() first to only consider the bottom 7bit ASCII characters as
printable, and then check their printability using isprint(). This fixes
a rare misprint in case the ID page content is uninitialized or corrupted.

Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
Reviewed-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
3 weeks agoboard: dhelectronics: Check pointer before access in dh_get_value_from_eeprom_buffer()
Marek Vasut [Sun, 7 Sep 2025 01:00:46 +0000 (03:00 +0200)] 
board: dhelectronics: Check pointer before access in dh_get_value_from_eeprom_buffer()

The eip pointer in dh_get_value_from_eeprom_buffer() might be NULL.
The current NULL pointer check happens too late, after the eip was
accessed in variable assignment. Reorder the two, so the NULL pointer
check happens first, and any access second, otherwise the access may
trigger a hang or other undefined behavior.

Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
Reviewed-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
3 weeks agoMerge tag 'u-boot-imx-master-20250917' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Wed, 17 Sep 2025 13:54:06 +0000 (07:54 -0600)] 
Merge tag 'u-boot-imx-master-20250917' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

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

- Restore the support for the i.MX95 A0 silicon.

3 weeks agoMerge patch series "Hyperflash boot fixes for j721e/j7200"
Tom Rini [Wed, 17 Sep 2025 13:52:31 +0000 (07:52 -0600)] 
Merge patch series "Hyperflash boot fixes for j721e/j7200"

Anurag Dutta <a-dutta@ti.com> says:

This series introdues a couple of small fixes that involves
enabling hyperflash at R5 SPL and u-boot proper stage and
Kconfig changes that are required for HBMC boot on j721e/j7200

Test logs:
https://gist.github.com/anuragdutta731/0f56e8d9bdf0cfe3d221c69d09a58704

Link: https://lore.kernel.org/r/20250917094659.3922343-1-a-dutta@ti.com
3 weeks agoarm: dts: k3-j721e-r5-common-proc-board: Enable HBMC in R5 SPL stage
Anurag Dutta [Wed, 17 Sep 2025 09:46:59 +0000 (15:16 +0530)] 
arm: dts: k3-j721e-r5-common-proc-board: Enable HBMC in R5 SPL stage

Enable HBMC in the R5 SPL stage

Fixes: c9df79ee64d0 ("arm: dts: k3-j721e-r5-common: Add HBMC overrides for R5 SPL")
Signed-off-by: Anurag Dutta <a-dutta@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
3 weeks agoconfigs: j7200_evm_*_defconfig: Enable HBMC and MUX_MMIO at SPL
Anurag Dutta [Wed, 17 Sep 2025 09:46:58 +0000 (15:16 +0530)] 
configs: j7200_evm_*_defconfig: Enable HBMC and MUX_MMIO at SPL

Add the HBMC and MUX_MMIO configs in the SPL and u-boot proper
stage for successful HBMC boot.

Signed-off-by: Anurag Dutta <a-dutta@ti.com>
3 weeks agoconfigs: j721e_evm_r5: Enable HBMC and MUX_MMIO at SPL
Anurag Dutta [Wed, 17 Sep 2025 09:46:57 +0000 (15:16 +0530)] 
configs: j721e_evm_r5: Enable HBMC and MUX_MMIO at SPL

Add the HBMC and MUX_MMIO configs in the R5 SPL stage for
successful HBMC boot.

Signed-off-by: Anurag Dutta <a-dutta@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
3 weeks agomtd: Kconfig: Add SPL_MUX_MMIO dependency to HBMC driver
Anurag Dutta [Wed, 17 Sep 2025 09:46:56 +0000 (15:16 +0530)] 
mtd: Kconfig: Add SPL_MUX_MMIO dependency to HBMC driver

MUX_MMIO is needed by HBMC in SPL stage. Enable it at SPL as well
as u-boot proper stage.

Signed-off-by: Anurag Dutta <a-dutta@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
3 weeks agoxilinx: Disable SPL_OS_BOOT for Zynq and ZynqMP
Michal Simek [Wed, 17 Sep 2025 07:22:18 +0000 (09:22 +0200)] 
xilinx: Disable SPL_OS_BOOT for Zynq and ZynqMP

The commit 210702ae6ce8 ("spl: spi: fix falcon mode for spi boot") fixed
the logic of spl_start_uboot() where 0 means OS boot and 1 means u-boot.
Zynq/ZynqMP enable OS_BOOT by default but it was never really be used
that's why disable it to boot via U-Boot phase all the time.

Signed-off-by: Michal Simek <michal.simek@amd.com>
3 weeks agoMerge tag 'u-boot-stm32-20250917' of https://source.denx.de/u-boot/custodians/u-boot-stm
Tom Rini [Wed, 17 Sep 2025 13:49:15 +0000 (07:49 -0600)] 
Merge tag 'u-boot-stm32-20250917' of https://source.denx.de/u-boot/custodians/u-boot-stm

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

- Fix net suport for STM32MP2
- Fix to prevent hang in clk-stm32-core for STM32MP13
- Fix ethernet init for DH STM32MP1

3 weeks agoboard: ti: am57xx: Remove "ti/omap/" from name_fit_config
Anurag Dutta [Wed, 17 Sep 2025 04:17:29 +0000 (09:47 +0530)] 
board: ti: am57xx: Remove "ti/omap/" from name_fit_config

Commit 649f4a7d3ca7 ("board: ti: am57xx: Set fdtfile from C code
instead of findfdt script") prepends "ti/omap/" to the actual name
of the fdtfile whereas fit image boot needs exact dtb name. So, remove
"ti/omap" from name_fit_config by substituting it with an empty string.

Fixes: 649f4a7d3ca7 ("board: ti: am57xx: Set fdtfile from C code instead of findfdt script")
Signed-off-by: Anurag Dutta <a-dutta@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
3 weeks agoimx95_evk: Restore support for i.MX95 A0 silicon
Alice Guo [Fri, 5 Sep 2025 18:22:04 +0000 (02:22 +0800)] 
imx95_evk: Restore support for i.MX95 A0 silicon

This patch is used to restore support for i.MX95 A0 silicon. To avoid
duplicating defconfig, imx95.config is added and can be shared between
imx95_a0_19x19_evk_defconfig and imx95_19x19_evk_defconfig.

container.cfg and imximage.cfg are used to created .cfgout files that
are be passed to mkimage with -n to build flash.bin. Now they have been
deleted and replaced by adding their content to properties of node which
type is nxp-imx9image under binman node.

Fixes: 9936724aa9b ("imx95_evk: Add i.MX95 B0 support")
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Tested-By: Tim Harvey <tharvey@gateworks.com> # imx95-19x19-evk (rA0)
3 weeks agobinman: add a new entry type to support .bin file generation for the i.MX95 platform
Alice Guo [Fri, 5 Sep 2025 18:22:03 +0000 (02:22 +0800)] 
binman: add a new entry type to support .bin file generation for the i.MX95 platform

To support passing specific commands defined in enum imx8image_cmd to
the imx8image_copy_image() function, this patch introduces a new entry
type nxp-imx9image. This entry generates a plain text data file
containing the relevant commands, enabling flexible configuration during
image creation.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
3 weeks agoMerge patch series "board: dhelectronics: Check pointer before access in dh_get_value...
Tom Rini [Tue, 16 Sep 2025 22:14:30 +0000 (16:14 -0600)] 
Merge patch series "board: dhelectronics: Check pointer before access in dh_get_value_from_eeprom_buffer()"

This series from Marek Vasut <marek.vasut@mailbox.org> cleans up some of
the common code between dhelectronics platforms.

Link: https://lore.kernel.org/r/20250907010103.667681-1-marek.vasut@mailbox.org
3 weeks agoboard: dhelectronics: Use isascii() before isprint() in dh_read_eeprom_id_page()
Marek Vasut [Sun, 7 Sep 2025 01:00:47 +0000 (03:00 +0200)] 
board: dhelectronics: Use isascii() before isprint() in dh_read_eeprom_id_page()

The isprint() checks printability across all 256 characters, some of the
upper 128 characters are printable and produce artifacts on UART. Call
isascii() first to only consider the bottom 7bit ASCII characters as
printable, and then check their printability using isprint(). This fixes
a rare misprint in case the ID page content is uninitialized or corrupted.

Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
Reviewed-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
3 weeks agoboard: dhelectronics: Check pointer before access in dh_get_value_from_eeprom_buffer()
Marek Vasut [Sun, 7 Sep 2025 01:00:46 +0000 (03:00 +0200)] 
board: dhelectronics: Check pointer before access in dh_get_value_from_eeprom_buffer()

The eip pointer in dh_get_value_from_eeprom_buffer() might be NULL.
The current NULL pointer check happens too late, after the eip was
accessed in variable assignment. Reorder the two, so the NULL pointer
check happens first, and any access second, otherwise the access may
trigger a hang or other undefined behavior.

Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
Reviewed-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>