]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
12 days agoarm64: Add MIDR entry for Cortex-A720
Marek Vasut [Thu, 18 Sep 2025 16:49:19 +0000 (18:49 +0200)] 
arm64: Add MIDR entry for Cortex-A720

Add MIDR entry for Cortex-A720 core.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
12 days agoscripts: checkpatch.pl: Extend some checks to "env" files
Tom Rini [Tue, 16 Sep 2025 16:14:45 +0000 (10:14 -0600)] 
scripts: checkpatch.pl: Extend some checks to "env" files

In order for the U-Boot specific tests we've added (along with the long
line test) to be run on ".env" files as well, we need to update the line
in the process function that starts to limit the file extensions that we
test on.

Signed-off-by: Tom Rini <trini@konsulko.com>
12 days agoarm: Change SYS_INIT_SP_BSS_OFFSET from int to hex
Michal Simek [Wed, 17 Sep 2025 07:54:06 +0000 (09:54 +0200)] 
arm: Change SYS_INIT_SP_BSS_OFFSET from int to hex

The most of OFFSET values are in hex instead of int which is easier for
layout description.

Signed-off-by: Michal Simek <michal.simek@amd.com>
12 days agoMerge patch series "exports overhaul"
Tom Rini [Fri, 26 Sep 2025 17:55:55 +0000 (11:55 -0600)] 
Merge patch series "exports overhaul"

Rasmus Villemoes <ravi@prevas.dk> says:

This all started from me wondering "why does this standalone app end
up being so huge"? Oh, it essentially links in its own standard C
library to get strlen() and snprintf(). Which then led to asking "why
don't we export all those standard C functions when we have them
anyway?".

CI has chewed on these and seem happy - it was CI which told me about
the necessity of [1/9]: https://github.com/u-boot/u-boot/pull/813

Link: https://lore.kernel.org/r/20250919101002.568488-1-ravi@prevas.dk
12 days agoexports.h: bump XF_VERSION
Rasmus Villemoes [Fri, 19 Sep 2025 10:10:02 +0000 (12:10 +0200)] 
exports.h: bump XF_VERSION

There have been quite a few changes to _exports.h since the last
update of XF_VERSION, also before the previous patches in this series.

I doubt the mechanism is actually being used in practice, it is simply
too fragile: Not only does the list of exported functions depend on
.config, so with the same XF_VERSION the jump table entries could have
different offsets. But getting to the jump table itself from gd to
even call the ->get_version() is fragile, since offsetof(gd_t, jt)
can, and does, change. For example, as recently as commit
d9902107027 ("global_data: Remove jump table in SPL").

One really must build one's standalone app against the proper U-Boot
version and config.h. But for good measure, do bump it now.

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Reviewed-by: Tom Rini <trini@konsulko.com>
12 days ago_exports.h: export standard memory/string handling functions
Rasmus Villemoes [Fri, 19 Sep 2025 10:10:01 +0000 (12:10 +0200)] 
_exports.h: export standard memory/string handling functions

The current list of exported functions lacks quite a few bog-standard C
library functions that we might as well expose, since U-Boot certainly
has them implemented anyway. There's no reason a standalone
application should have its own strlen() implementation or link in a
copy from some tiny libc.

For a customer's standalone app, this means it goes from 95K to 10K.
More importantly, we can ditch the custom toolchain including a
newlibc used to build the standalone app and just use the same
toolchain as used to build u-boot itself.

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Reviewed-by: Tom Rini <trini@konsulko.com>
12 days ago_exports.h: reorganize a bit
Rasmus Villemoes [Fri, 19 Sep 2025 10:10:00 +0000 (12:10 +0200)] 
_exports.h: reorganize a bit

The current list of exported functions is somewhat of a
mess. Reorganize them so that related functionality is kept together:

- console I/O: move vprintf next to printf and the getc/putc functions

- integer parsing: move the *strto* functions together

- standard string.h stuff: move memset() and strcpy() next to strcmp()

- time: move mdelay() next to udelay() and get_timer()

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Reviewed-by: Tom Rini <trini@konsulko.com>
12 days agoexports.h: make sure declarations are in sync with the actual exports
Rasmus Villemoes [Fri, 19 Sep 2025 10:09:59 +0000 (12:09 +0200)] 
exports.h: make sure declarations are in sync with the actual exports

After finishing a later patch in this series, I discovered I had
neglected to update the list of declarations in exports.h to
match. But then I realized I wasn't the first to do that.

Use the existing mechanism and DRY it out.

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Reviewed-by: Tom Rini <trini@konsulko.com>
12 days agoexports.c: drop unused dummy function
Rasmus Villemoes [Fri, 19 Sep 2025 10:09:58 +0000 (12:09 +0200)] 
exports.c: drop unused dummy function

The !CONFIG_PHY_AQUANTIA defines were already superfluous since
_exports.h does have a CONFIG_PHY_AQUANTIA, so the entries never
existed. In fact, it couldn't have worked, because the defines would
affect both occurences of the mdio_get_current_dev identifier in the

EXPORT_FUNC(mdio_get_current_dev, struct mii_dev *,
    mdio_get_current_dev, void)

so the C code would end up containing four copies of

  gd->jt->dummy = dummy

but struct jt_funcs would not and does not have any 'dummy' member.

Now that nothing in _exports.h refers to dummy(), remove the empty
function.

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Reviewed-by: Tom Rini <trini@konsulko.com>
12 days ago_exports.h: drop the last dummy entries
Rasmus Villemoes [Fri, 19 Sep 2025 10:09:57 +0000 (12:09 +0200)] 
_exports.h: drop the last dummy entries

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Reviewed-by: Tom Rini <trini@konsulko.com>
12 days ago_exports.h: simplify condition for including spi functions
Rasmus Villemoes [Fri, 19 Sep 2025 10:09:56 +0000 (12:09 +0200)] 
_exports.h: simplify condition for including spi functions

As for the i2c functions, drop the dummy entries that, if ever used,
would just have the standalone app get some random content in the
return register.

While deprecated, the spi_{setup,free}_slave functions do exist even
with CONFIG_DM_SPI - and a standalone app can't really do anything but
refer to a spi device via a (bus, cs) pair.

Eventually, one should probably export some function that could allow
a standalone app to get a struct udevice* corresponding to either a
full DT path, an alias, or perhaps a label (provided one builds with
-@), and then export functions that can operate on that.

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Reviewed-by: Tom Rini <trini@konsulko.com>
12 days ago_exports.h: drop creating dummy i2c entries and fixup config dependency
Rasmus Villemoes [Fri, 19 Sep 2025 10:09:55 +0000 (12:09 +0200)] 
_exports.h: drop creating dummy i2c entries and fixup config dependency

There's really no good reason to create stub entries that would call a
function that doesn't even return anything sensible.

The existence of these two i2c_* functions depends on
CONFIG_IS_ENABLED(SYS_I2C_LEGACY), which does depend on !DM_I2C, but
is not equivalent to it. They are probably rather hard to use unless
CMD_I2C and something in U-Boot has called "i2c dev foo" to set the
current i2c bus before calling the standalone app, so keep that
dependency.

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Reviewed-by: Tom Rini <trini@konsulko.com>
12 days agomalloc.h: be a bit more consistent with macro definitions
Rasmus Villemoes [Fri, 19 Sep 2025 10:09:54 +0000 (12:09 +0200)] 
malloc.h: be a bit more consistent with macro definitions

Currrently, malloc and free are function-like macros, while calloc,
realloc and memalign are object-like macros.

Usually, this doesn't matter, but it does when the identifiers appear
without a following open parenthesis, such as when their address is
taken for building the export table. Adding calloc or realloc to that
table breaks the build on sandbox due to this inconsistency.

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Reviewed-by: Tom Rini <trini@konsulko.com>
12 days agoMerge tag 'u-boot-imx-next-20250926' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Fri, 26 Sep 2025 17:36:52 +0000 (11:36 -0600)] 
Merge tag 'u-boot-imx-next-20250926' 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/27737

- Add support for i.MX94 EVK.
- Set CONFIG_ETHPRIME to eth0 on phycore-imx93.
- Expand the nxp_fspi support to i.MX8QXP/8DXL/8ULP.

13 days agoimx9: scmi: Add PCIE ECAM and outbound space to MMU
Ye Li [Fri, 26 Sep 2025 12:24:18 +0000 (20:24 +0800)] 
imx9: scmi: Add PCIE ECAM and outbound space to MMU

Add PCIE1 and PCIE2 ECAM space and outbound space to MMU pagetable,
so A55 can access them.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
13 days agospi: nxp_fspi: Support i.MX8ULP flexspi
Ye Li [Wed, 24 Sep 2025 02:11:27 +0000 (10:11 +0800)] 
spi: nxp_fspi: Support i.MX8ULP flexspi

Add i.MX8ULP flexspi compatible string and driver data.
The flexspi on i.MX8ULP only has 16 LUT sequences and uses 1KB RX FIFO.

Signed-off-by: Ye Li <ye.li@nxp.com>
13 days agospi: nxp_fspi: Support i.MX8DXL flexspi
Ye Li [Wed, 24 Sep 2025 02:11:26 +0000 (10:11 +0800)] 
spi: nxp_fspi: Support i.MX8DXL flexspi

According to i.MX8DXL A1 errata ERR050601, concurrent read accesses
from the A35 cores to the peripherals within the LSIO subsystem
(region 0_5DXX_XXXX) and address spaces in the regions
[0_0000_0000 – 0_1BFF_FFFF] and [4_0000_0000 – 4_3FFF_FFFF] can collide
and cause data corruption in the returned data, with no failure report.
Even a single A35 core accessing both these regions can trigger the issue
because an A35 core can have more than one parallel read operation in
progress.

The flexspi0 AHB memory is in LSIO region mentioned in above errata.
So we can't use AHB read, only can read data from FIFO.
Add the compatible string for 8DXL and use a flag for the IPS read.

Signed-off-by: Ye Li <ye.li@nxp.com>
13 days agospi: nxp_fspi: Support i.MX8QXP flexspi
Ye Li [Wed, 24 Sep 2025 02:11:25 +0000 (10:11 +0800)] 
spi: nxp_fspi: Support i.MX8QXP flexspi

Add the compatible string and driver data for i.MX8QXP.

Signed-off-by: Ye Li <ye.li@nxp.com>
13 days agospi: nxp_fspi: Use second last LUT entry for AHB read
Ye Li [Wed, 24 Sep 2025 02:11:24 +0000 (10:11 +0800)] 
spi: nxp_fspi: Use second last LUT entry for AHB read

Use a dedicated LUT (second last) for AHB read command, so we can
directly read from the AHB memory-mapped address and booting M core
for XIP on Flexspi NOR.

Signed-off-by: Ye Li <ye.li@nxp.com>
13 days agoboard: phytec: phycore-imx93: Set CONFIG_ETHPRIME to eth0
Primoz Fiser [Tue, 23 Sep 2025 10:49:07 +0000 (12:49 +0200)] 
board: phytec: phycore-imx93: Set CONFIG_ETHPRIME to eth0

Set ethprime to eth0 since FEC interface is considered the primary IF on
phyCORE-i.MX93 SoM based boards. This comes from the fact that the same
bootloader is reused for both carrier boards, that is phyBOARD-Segin and
phyBOARD-Nash which both use different Ethernet PHYs on the EQOS (eth1)
interface and thus eth1 cannot be used as a prime.

Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
13 days agoimx94_evk: Add i.MX943 EVK board support
Ye Li [Tue, 23 Sep 2025 02:15:04 +0000 (10:15 +0800)] 
imx94_evk: Add i.MX943 EVK board support

Add board-level code and defconfig for the i.MX943 EVK board, supporting
multiple SOM variants: 19x19 LPDDR5, 19x19 LPDDR4 and 15x15 LPDDR4.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
13 days agoarm: dts: Add i.MX943 EVK board dtsi files
Ye Li [Tue, 23 Sep 2025 02:15:03 +0000 (10:15 +0800)] 
arm: dts: Add i.MX943 EVK board dtsi files

Introduce the base dtsi files for the i.MX943 EVK board. These files
define the essential components such as messaging units, uSDHC, GPIOs
and lpuart for board bring-up.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
13 days agoimx: ele_ahab: Add i.MX94 support to display_life_cycle()
Ye Li [Tue, 23 Sep 2025 02:15:02 +0000 (10:15 +0800)] 
imx: ele_ahab: Add i.MX94 support to display_life_cycle()

Extend display_life_cycle() to support i.MX94.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
13 days agoimx: ele_ahab: Implement display_life_cycle() for i.MX95
Ye Li [Tue, 23 Sep 2025 02:15:01 +0000 (10:15 +0800)] 
imx: ele_ahab: Implement display_life_cycle() for i.MX95

The register reflects lifecycle and some lifecycle-derived state of
i.MX95 has new offset address and layout, so display_life_cycle() is
added specifically for it.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
13 days agoimx9: Change container header temp buffer address
Ye Li [Tue, 23 Sep 2025 02:15:00 +0000 (10:15 +0800)] 
imx9: Change container header temp buffer address

Due to i.MX95 has reserved first 256MB DDR, change to use the DDR
start address in u-boot as the container header buffer.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
13 days agopinctrl: nxp: Add i.MX94 daisy register offset
Alice Guo [Tue, 23 Sep 2025 02:14:59 +0000 (10:14 +0800)] 
pinctrl: nxp: Add i.MX94 daisy register offset

Define the daisy register offset for i.MX94 at 0x608 within the iomuxc
register space. This enables correct pad selection for daisy chain
configuration on i.MX94 platforms.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
13 days agoimx: container: Add i.MX94 support to get_imageset_end()
Ye Li [Tue, 23 Sep 2025 02:14:58 +0000 (10:14 +0800)] 
imx: container: Add i.MX94 support to get_imageset_end()

Extend get_imageset_end() to handle i.MX94 family.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
13 days agoimx9: scmi: Update the files under arch/arm/mach-imx/imx9/scmi/ to support i.MX94
Ye Li [Tue, 23 Sep 2025 02:14:57 +0000 (10:14 +0800)] 
imx9: scmi: Update the files under arch/arm/mach-imx/imx9/scmi/ to support i.MX94

- Add base addresses for WDG3, WDG4, GPIO6, and GPIO7 for i.MX94.
- Introduce common.h with macros of clock IDs, power domains, and CPU
  types for platform-specific replacement (e.g., i.MX94, i.MX95).
- Extend imx_get_mac_from_fuse() to support i.MX94.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
13 days agoimx9: scmi: Add i.MX94 support to get_reset_reason()
Ye Li [Tue, 23 Sep 2025 02:14:56 +0000 (10:14 +0800)] 
imx9: scmi: Add i.MX94 support to get_reset_reason()

Update get_reset_reason() to support i.MX94 to send message to the
System Manager to retrieve the LM/system last booted/shutdown reasons.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
13 days agoimx95: Add get_reset_reason() to retrieve the LM/system last booted/shutdown reasons
Peng Fan [Tue, 23 Sep 2025 02:14:55 +0000 (10:14 +0800)] 
imx95: Add get_reset_reason() to retrieve the LM/system last booted/shutdown reasons

System Manager provides the last booted and shutdown reasons of the
logical machines (LM) and system using the SCMI misc protocol (Protocol
ID: 0x84, Message ID: 0xA). This path adds get_reset_reason() to query
and print these reasons in SPL and U-Boot.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
13 days agocpu: imx94: Add support for i.MX94 in get_imx_type_str()
Alice Guo [Tue, 23 Sep 2025 02:14:54 +0000 (10:14 +0800)] 
cpu: imx94: Add support for i.MX94 in get_imx_type_str()

Add a case for i.MX94 to return the correct string identifier in the
get_imx_type_str() function. This ensures proper CPU type reporting for
i.MX94 platforms.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
13 days agoimx9: Add i.MX94 CPU type and SoC-level Kconfig
Ye Li [Tue, 23 Sep 2025 02:14:53 +0000 (10:14 +0800)] 
imx9: Add i.MX94 CPU type and SoC-level Kconfig

Introduce support for the new i.MX94 processor, including its CPU type
and SoC-level Kconfig entry.

The i.MX94 is a new member of the i.MX9 family. It uses a System Manager
to handle system-level functions such as power, clock, sensor and pin
control. The System Manager runs on a Cortex-M processor, while the
Cortex-A processor communicates with it via the ARM SCMI protocol and a
messaging unit.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
13 days agoMerge branch 'next' of git://source.denx.de/u-boot-usb into next
Tom Rini [Fri, 26 Sep 2025 00:54:45 +0000 (18:54 -0600)] 
Merge branch 'next' of git://source.denx.de/u-boot-usb into next

- Tighten some USB dependencies and remove some unused code.

13 days agousb: host: Tighten USB musb-new host glue driver dependencies
Tom Rini [Thu, 11 Sep 2025 21:50:23 +0000 (15:50 -0600)] 
usb: host: Tighten USB musb-new host glue driver dependencies

A few of the USB musb-new host glue drivers cannot build without access
to some platform specific header files. Express those requirements in
Kconfig as well.

Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
13 days agousb: host: Tighten USB host driver dependencies
Tom Rini [Thu, 11 Sep 2025 21:50:22 +0000 (15:50 -0600)] 
usb: host: Tighten USB host driver dependencies

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

Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
13 days agousb: gadget: max3420_udc: Remove unused driver
Tom Rini [Thu, 11 Sep 2025 21:50:21 +0000 (15:50 -0600)] 
usb: gadget: max3420_udc: Remove unused driver

This driver was never enabled by any platforms after being added to the
tree over 5 years ago. Remove it.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
13 days agousb: gadget: bcm_udc_otg: Remove unused driver
Tom Rini [Thu, 11 Sep 2025 21:50:20 +0000 (15:50 -0600)] 
usb: gadget: bcm_udc_otg: Remove unused driver

This driver is unused since the removal of the bcm28155_ap board in
commit 0f6807e77b07 ("arm: Remove bcm28155_ap board"). Remove it.

Fixes: 0f6807e77b07 ("arm: Remove bcm28155_ap board")
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
13 days agousb: gadget: Tighten requirements on USB_GADGET_ATMEL_USBA
Tom Rini [Thu, 11 Sep 2025 21:50:19 +0000 (15:50 -0600)] 
usb: gadget: Tighten requirements on USB_GADGET_ATMEL_USBA

This driver requires some mach-at91 specific header files in order to build.
Express that requirement in Kconfig as well.

Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
13 days agousb: dwc3: Tighten driver glue dependencies
Tom Rini [Thu, 11 Sep 2025 21:50:18 +0000 (15:50 -0600)] 
usb: dwc3: Tighten driver glue dependencies

A few of the platform specific DWC3 host glue drivers cannot build
without access to some platform specific header files. Express those
requirements in Kconfig as well.

Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agotest: Fix optee unit test
Jan Kiszka [Mon, 15 Sep 2025 13:41:55 +0000 (15:41 +0200)] 
test: Fix optee unit test

This was apparently not built for several years: Since a2535243e011,
optee_copy_fdt_nodes implicitly works against the U-Boot dt. We
therefore have to tweak its reference before using the function and
restore things afterwards.

If it had been built, actually trying it out would have failed next: We
need CONFIG_OPTEE_LIB to actually build the function that is primarily
being tested here. And we need to re-initialize target fdt, now that the
tests may run in random order.

Fixes: a2535243e011 ("lib: optee: migration optee_copy_fdt_nodes for OF_LIVE support")
Fixes: ba2feaf41435 ("test: Split optee tests into three functions")
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2 weeks agolib: optee: Add line ending to debug() outputs
Jan Kiszka [Mon, 15 Sep 2025 13:41:46 +0000 (15:41 +0200)] 
lib: optee: Add line ending to debug() outputs

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2 weeks agoimls: remove return parentheses
Osama Abdelkader [Sun, 14 Sep 2025 15:27:51 +0000 (17:27 +0200)] 
imls: remove return parentheses

return is not a function, parentheses are not required

Signed-off-by: Osama Abdelkader <osama.abdelkader@gmail.com>
2 weeks agosandbox: use env_get() for time offset instead of getenv()
Osama Abdelkader [Sun, 14 Sep 2025 15:27:27 +0000 (17:27 +0200)] 
sandbox: use env_get() for time offset instead of getenv()

The sandbox time offset is intended to be controlled via the U-Boot
environment, not the host process environment. Update os_get_time_offset()
to use env_get() instead of the libc getenv().

Leave other getenv() uses (e.g. U_BOOT_PERSISTENT_DATA_DIR,
UBOOT_SB_FUZZ_TEST) unchanged, since those refer to host environment
variables needed by sandbox tests.

Signed-off-by: Osama Abdelkader <osama.abdelkader@gmail.com>
2 weeks agoandroid: boot: fix wrong end of header in v3/v4 parsing
Guillaume Ranquet [Thu, 11 Sep 2025 13:50:26 +0000 (15:50 +0200)] 
android: boot: fix wrong end of header in v3/v4 parsing

The android boot header is page aligned but the current code made the
assumption that the header was always smaller than the current header
format.

When the page_size is defined as 2048, as this is the case with the
cuttlefish target, the current code sets the end of the header in the
middle of it as the v3 and v4 headers are respectively 2112 and 2128
bytes long.

Fix that by aligning to page_size

Fixes: 1115027d2f75 ("android: boot: update android_image_get_data to support v3, v4")
Signed-off-by: Guillaume Ranquet <ranquet.guillaume@gmail.com>
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>
2 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

2 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
2 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>
2 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>
2 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
2 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>
2 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>
2 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>
2 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

2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>