]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
22 hours agoconfigs: mt8365_evk: enable mmc command
David Lechner [Wed, 21 Jan 2026 22:46:05 +0000 (16:46 -0600)] 
configs: mt8365_evk: enable mmc command

Enable the MMC command on the MediaTek MT8365 EVK. This is useful since
the primary boot device is an eMMC.

A few partition commands are also enabled since the mmc command alone
is not enough to read all partitions on the eMMC.

Signed-off-by: David Lechner <dlechner@baylibre.com>
23 hours agoMerge tag 'u-boot-stm32-20260129' of https://source.denx.de/u-boot/custodians/u-boot-stm
Tom Rini [Thu, 29 Jan 2026 15:00:01 +0000 (09:00 -0600)] 
Merge tag 'u-boot-stm32-20260129' of https://source.denx.de/u-boot/custodians/u-boot-stm

- spi: stm32: OSPI and QSPI optimization
- Update stm32 clock drivers to restore boot for STM32MP13/STM32MP2
  board family
- Add bootph-all in ltdc node in stm32mp257f-ev1-u-boot
- Use CONFIG_STM32MP15X to discern STM32MP15xx on DH STM32MP15xx DHSOM
- Reinstate missing SPL configs for DH STM32MP15xx DHSOM
- stm32mp2 boards: read boot index from backup register
- video: simple_panel: add support for "rocktech,rk043fn48h" display
- Add .of_to_plat callback in stm32_ltdc driver

23 hours agomisc: Keep FSL_IFC available on PowerPC as well
Tom Rini [Wed, 28 Jan 2026 19:26:17 +0000 (13:26 -0600)] 
misc: Keep FSL_IFC available on PowerPC as well

This symbol is used on a number of PowerPC platforms as well, so make it
available there again.

Fixes: 424b324165ea ("armv7: Add CPLD support via IFC to the ls1021a-iot board.")
Acked-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
28 hours agovideo: simple_panel: add support for "rocktech,rk043fn48h" display
Raphael Gallais-Pou [Tue, 27 Jan 2026 11:11:58 +0000 (12:11 +0100)] 
video: simple_panel: add support for "rocktech,rk043fn48h" display

Add the compatible "rocktech,rk043fn48h" for simple-panel driver.

Signed-off-by: Raphael Gallais-Pou <rgallaispou@gmail.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
28 hours agoboard: stm32mp2: read boot index from backup register
Dario Binacchi [Sun, 18 Jan 2026 10:48:43 +0000 (11:48 +0100)] 
board: stm32mp2: read boot index from backup register

Following the 'commit 95b5a7de30f6 ("FWU: STM32MP1: Add support to
read boot index from backup register")', this patch enables reading
the boot index from backup registers on STM32MP2 platforms.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
28 hours agoARM: stm32: Reinstate missing SPL configs for DH STM32MP15xx DHSOM
Marek Vasut [Thu, 8 Jan 2026 02:16:51 +0000 (03:16 +0100)] 
ARM: stm32: Reinstate missing SPL configs for DH STM32MP15xx DHSOM

Re-enable missing configs for DH STM32MP15xx DHSOM, to allow those
devices to successfully boot again.

Signed-off-by: Marek Vasut <marex@nabladev.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
28 hours agoARM: stm32: Use CONFIG_STM32MP15X to discern STM32MP15xx on DH STM32MP15xx DHSOM
Marek Vasut [Thu, 8 Jan 2026 02:16:28 +0000 (03:16 +0100)] 
ARM: stm32: Use CONFIG_STM32MP15X to discern STM32MP15xx on DH STM32MP15xx DHSOM

Use plain CONFIG_STM32MP15X to discern code which is specific to
STM32MP15xx in DH STM32MP1 DHSOM board files.

Signed-off-by: Marek Vasut <marex@nabladev.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
28 hours agovideo: stm32: ltdc: add .of_to_plat callback
Raphael Gallais-Pou [Tue, 9 Dec 2025 12:19:05 +0000 (13:19 +0100)] 
video: stm32: ltdc: add .of_to_plat callback

Drivers should extract device-tree data before probing via the
.of_to_plat hook.

Implement it for stm32_ltdc driver.  No functional change.

Signed-off-by: Raphael Gallais-Pou <raphael.gallais-pou@foss.st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
28 hours agoARM: dts: stm32: Add bootph-all in ltdc node in stm32mp257f-ev1-u-boot
Patrice Chotard [Fri, 16 Jan 2026 19:12:06 +0000 (20:12 +0100)] 
ARM: dts: stm32: Add bootph-all in ltdc node in stm32mp257f-ev1-u-boot

Add bootph-all property in ltdc node in stm32mp257f-ev1-u-boot.dtsi
to fix the following issue :

Video device 'display-controller@48010000' cannot allocate frame buffer
memory - ensure the device is set up beforen
stm32_rifsc bus@42080000: display-controller@48010000 failed to bind on
bus (-28)
stm32_rifsc bus@42080000: Some child failed to bind (-28)
initcall_run_r(): initcall initr_dm() failed
ERROR ### Please RESET the board ###

Fixes: 29ab19c2bead ("Subtree merge tag 'v6.18-dts' of dts repo [1] into dts/upstream")
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
28 hours agoclk: stm32: Update clock management for STM32MP13/25
Patrice Chotard [Fri, 16 Jan 2026 18:57:27 +0000 (19:57 +0100)] 
clk: stm32: Update clock management for STM32MP13/25

During clock's registration, clock's name are used to establish parent -
child relation. On STM32MP13 and STM32MP25, most of SCMI clocks are parent
clocks.

Since commit fdb1bffe2827 ("clk: scmi: Postpone clock name resolution"),
all scmi clocks are named by default "scmi-%zu" until they are enabled,
it breaks clocks registration and boot process for STM32MP13/25
platforms.

Rework the STM32 core clock driver and STM32MP13/25 clock description
to use clock index instead of their real name.

Introduce struct clk_parent_data which allows to identify parent clock
either by index or by name. Name is only used for particular clocks
provided by IP which are clock provider as i2s/i2s_ckin, usb0/ck_usbo_48m,
and ltdc/ck_ker_ltdc.

STM32_GATE() and STM32_COMPOSITE_NOMUX macros are updated in order to
use parent clock index.

As STM32MP13 supports both SPL and SCMI boot, keep using an array
with clock's name for SPL.

Fixes: fdb1bffe2827 ("clk: scmi: Postpone clock name resolution")
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
28 hours agoARM: dts: stm32: Add SCMI clocks in rcc node for stm32mp131.dtsi
Patrice Chotard [Fri, 16 Jan 2026 18:57:26 +0000 (19:57 +0100)] 
ARM: dts: stm32: Add SCMI clocks in rcc node for stm32mp131.dtsi

Add SCMI clocks. These clocks are used as parent clocks and are
referenced by their rcc's node position in clk-stm32mp13.c

Fixes: fdb1bffe2827 ("clk: scmi: Postpone clock name resolution")
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
28 hours agoclk: stm32mp13: Reorder include files
Patrice Chotard [Fri, 16 Jan 2026 18:57:25 +0000 (19:57 +0100)] 
clk: stm32mp13: Reorder include files

Reorder include following rules available here :
https://docs.u-boot.org/en/latest/develop/codingstyle.html#include-files

Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
28 hours agospi: stm32-qspi: Optimize FIFO accesses using u16 or u32
Patrice Chotard [Tue, 16 Dec 2025 15:31:54 +0000 (16:31 +0100)] 
spi: stm32-qspi: Optimize FIFO accesses using u16 or u32

FIFO accesses uses u8 only for read/write.
In order to optimize throughput, add u16 or u32 read/write
accesses when possible.
Set FIFO threshold level value accordingly.

Test performed by writing and reading 64MB on sNOR on
stm32mp157c-ev1 board:

          before      after    ratio
Write :  428 KB/s   719 KB/s    +68%
Read  :  520 KB/s  3200 KB/s   +615%

Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
28 hours agospi: stm32-qspi: Increase read throughput in indirect mode
Patrice Chotard [Tue, 16 Dec 2025 15:31:53 +0000 (16:31 +0100)] 
spi: stm32-qspi: Increase read throughput in indirect mode

When WATCHDOG_RESET() was replaced by schedule() in commit
29caf9305b6f ("cyclic: Use schedule() instead of WATCHDOG_RESET()")
we not only reset the watchdog but also call the cyclic infrastructure
which takes time and has impact on read accesses performances.

Move schedule() from _stm32_qspi_read_fifo() to _stm32_qspi_poll()
and call schedule() only every 1MB chunk of data.

Test performed by reading 64MB on sNOR on stm32mp157c-ev1 board:

          before      after    ratio
Read  :  201 KB/s    520KB/s   +258%

Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
28 hours agospi: stm32-ospi: Increase read throughput in indirect mode
Patrice Chotard [Tue, 16 Dec 2025 15:31:52 +0000 (16:31 +0100)] 
spi: stm32-ospi: Increase read throughput in indirect mode

Schedule() is called every u8/u16 or u32 read accesses which is overkill.
Move schedule() from stm32_ospi_read_fifo() to stm32_ospi_tx_poll()
and call schedule() only every 1MB chunk of data.

Test performed by reading 64MB on sNOR on stm32mp257f-ev1 board:

          before      after    ratio
Read  :  10.6MB/s    14.2MB/s   +34%

Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
39 hours agoMerge tag 'doc-2026-04-rc2' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Wed, 28 Jan 2026 23:04:34 +0000 (17:04 -0600)] 
Merge tag 'doc-2026-04-rc2' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request doc-2026-04-rc2

Documentation:

* describe QEMU VGA emulation
* development process
  - Move the existing block about patch application
  - Rework the custodian feedback section
  - Explain when/how Custodians may edit patches
  - Move Custodians section
  - Make "Work flow of a Custodian" a subsection
  - Document using b4 and patchwork for custodians
* develop: codingstyle: Update b4 external link
* develop: sending_patches: Update link to patchwork

40 hours agoMerge patch series "board: ti: Add 32k crystal initialization"
Tom Rini [Wed, 28 Jan 2026 21:54:50 +0000 (15:54 -0600)] 
Merge patch series "board: ti: Add 32k crystal initialization"

Vishal Mahaveer <vishalm@ti.com> says:

Add 32k crystal initialization support for am62x, am62ax and am62px TI boards.

Link: https://lore.kernel.org/r/20260121195340.3041549-1-vishalm@ti.com
40 hours agoboard: ti: am62px: Enable 32k crystal on the board
Vishal Mahaveer [Wed, 21 Jan 2026 19:53:40 +0000 (13:53 -0600)] 
board: ti: am62px: Enable 32k crystal on the board

Enable 32k crystal on the board. If external 32k source is not
used, 32k rc-osc comes into play, which is accurate to +-20%.

Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
40 hours agoboard: ti: am62ax/am62dx: Enable 32k crystal on the board
Vishal Mahaveer [Wed, 21 Jan 2026 19:53:39 +0000 (13:53 -0600)] 
board: ti: am62ax/am62dx: Enable 32k crystal on the board

Enable 32k crystal on the board. If external 32k source is not
used, 32k rc-osc comes into play, which is accurate to +-20%.

Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
40 hours agoboard: ti: am62x: Enable 32k crystal on the board
Vishal Mahaveer [Wed, 21 Jan 2026 19:53:38 +0000 (13:53 -0600)] 
board: ti: am62x: Enable 32k crystal on the board

Enable 32k crystal on the board. If external 32k source is not
used, 32k rc-osc comes into play, which is accurate to +-20%.

Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
40 hours agoboard: ti: common: Add function for initialization of 32k crystal
Vishal Mahaveer [Wed, 21 Jan 2026 19:53:37 +0000 (13:53 -0600)] 
board: ti: common: Add function for initialization of 32k crystal

Add a common helper function for doing the basic configuration
required for enabling the 32k crystal on some of the TI boards.

Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
41 hours agotools: Handle realloc failure in strlist_add
Francois Berder [Mon, 19 Jan 2026 14:49:06 +0000 (15:49 +0100)] 
tools: Handle realloc failure in strlist_add

If realloc fails, list->strings was set to NULL and
it would create a leak. This commit ensures that if we cannot
add a string to the list, the list stays in a good state.

Signed-off-by: Francois Berder <fberder@outlook.fr>
41 hours agoarmv8: u-boot-spl.lds: Place binman symbols at end of binary
Jonas Karlman [Thu, 22 Jan 2026 17:20:54 +0000 (17:20 +0000)] 
armv8: u-boot-spl.lds: Place binman symbols at end of binary

It can be useful in xPL to access symbols from binman, such as the
offset/position and size of a binman entry.

Place these binman symbols together at the end of the xPL binary for
ARMv8, similar to ARM and RISC-V.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Simon Glass <simon.glass@canonical.com>
41 hours agoMerge patch series "Add pinctrl driver for mt8188"
Tom Rini [Wed, 28 Jan 2026 20:28:55 +0000 (14:28 -0600)] 
Merge patch series "Add pinctrl driver for mt8188"

Julien Stephan <jstephan@baylibre.com> says:

The driver is based on the kernel driver for mt8188.

While at it, also add pinmux_property_set ops for mediatek pinctrl framework.

Link: https://lore.kernel.org/r/20260122-add-mt8188-pinctrl-support-v2-0-324b4c8f2b64@baylibre.com
41 hours agopinctrl: mediatek: add pinmux_property_set ops support
Vitor Sato Eschholz [Thu, 22 Jan 2026 16:38:23 +0000 (17:38 +0100)] 
pinctrl: mediatek: add pinmux_property_set ops support

Add pinmux_property_set ops for mediatek pinctrl framework

Signed-off-by: Julien Masson <jmasson@baylibre.com>
Signed-off-by: Vitor Sato Eschholz <vsatoes@baylibre.com>
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Tested-by: David Lechner <dlechner@baylibre.com>
41 hours agopinctrl: mediatek: Add pinctrl driver for MT8188 SoC
Chris-QJ Chen [Thu, 22 Jan 2026 16:38:22 +0000 (17:38 +0100)] 
pinctrl: mediatek: Add pinctrl driver for MT8188 SoC

Add pinctrl driver for mt8188. The driver is based on the kernel driver.

Signed-off-by: Chris-QJ Chen <chris-qj.chen@mediatek.com>
Signed-off-by: Jill.Wu <shu-yun.wu@mediatek.com>
Signed-off-by: Vitor Sato Eschholz <vsatoes@baylibre.com>
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
41 hours agodoc: develop: process: Document using b4 and patchwork for custodians
Tom Rini [Tue, 20 Jan 2026 22:31:46 +0000 (16:31 -0600)] 
doc: develop: process: Document using b4 and patchwork for custodians

- We already have good custodian documentation for patchwork, add a
  reference and then link to it here.
- Add a reference to the existing b4 documentation, and reference it
  here.
- Note and link to patchwork integration, am/shazam and ty features of
  b4 as these are the most likely useful portions. Be specific about
  keeping the default ${summary} as that includes important information.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
41 hours agodoc: develop: sending_patches: Update link to patchwork
Tom Rini [Tue, 20 Jan 2026 22:31:45 +0000 (16:31 -0600)] 
doc: develop: sending_patches: Update link to patchwork

Make use of an anonymous reference for the external link here, per rST
best practices.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
41 hours agodoc: develop: codingstyle: Update b4 external link
Tom Rini [Tue, 20 Jan 2026 22:31:44 +0000 (16:31 -0600)] 
doc: develop: codingstyle: Update b4 external link

Rather than pointing at the source code for b4, point the the official
documentation. Also, use an anonymous reference for the link, per rST
best practices.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
41 hours agodoc: develop: process: Make "Work flow of a Custodian" a subsection
Tom Rini [Tue, 20 Jan 2026 22:31:43 +0000 (16:31 -0600)] 
doc: develop: process: Make "Work flow of a Custodian" a subsection

Make the "Work flow of a Custodian" section be a subsection of the
Custodians section.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
42 hours agodoc: develop: process: Move Custodians section
Tom Rini [Tue, 20 Jan 2026 22:31:42 +0000 (16:31 -0600)] 
doc: develop: process: Move Custodians section

Move the "Custodians" section to be after the "Review Process, Git Tags"
section, in preparation for more re-organization.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
42 hours agodoc: develop: process: Explain when/how Custodians may edit patches
Tom Rini [Tue, 20 Jan 2026 20:11:45 +0000 (14:11 -0600)] 
doc: develop: process: Explain when/how Custodians may edit patches

As seen with commit d503633a3676 ("Revert "doc: board: starfive: update
jh7110 common description""), it has not always been clear what is and
isn't allowed by custodians, and what the expectations are. To prevent
further unintentional conflicts, document the limited cases where
custodians are allowed to modify patches directly, and how to do that.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
42 hours agodoc: develop: process: Rework the custodian feedback section
Tom Rini [Tue, 20 Jan 2026 20:11:44 +0000 (14:11 -0600)] 
doc: develop: process: Rework the custodian feedback section

Now that we have two items here, rework this slightly to be using bullet
points, and so easier to expand on.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
42 hours agodoc: develop: process: Move the existing block about patch application
Tom Rini [Tue, 20 Jan 2026 20:11:43 +0000 (14:11 -0600)] 
doc: develop: process: Move the existing block about patch application

We have a long block about the expectations and feedback about a patch
applying, or not, as part of the Custodian workflow. Move this to the
Custodians section from the Workflow of a custodian section.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
42 hours agodoc: describe QEMU VGA emulation
Heinrich Schuchardt [Thu, 1 Jan 2026 14:17:43 +0000 (15:17 +0100)] 
doc: describe QEMU VGA emulation

Describe how the QEMU defconfigs can be used with an emulated GPU.

Reviewed-by: Simon Glass <simon.glass@canonical.com>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
43 hours agoarm: Remove rel.dyn from SPL linker scripts
Tom Rini [Tue, 27 Jan 2026 21:31:49 +0000 (15:31 -0600)] 
arm: Remove rel.dyn from SPL linker scripts

As of v2026.01, no platforms contain any rel.dyn sections in their xPL
phase images. Their inclusion in linker scripts initially was an
oversight as part of taking the full U-Boot linker scripts and modifying
them down. Then in commit 8b0ebe054bb3 ("arm: Update linker scripts to
ensure appended device tree is aligned") these sections were used to
force correct alignment for the device tree. This however, lead to a
different problem.

That problem is that when we do not have a separate BSS section in SPL
we instead would overlay the BSS with the rel.dyn section, in the common
linker script case. This in turn lead to creating an incorrectly sized
BSS "pad" file sometimes (depending on arbitrary changes within the rest
of the binary itself). This in turn lead to the dtb being in the wrong
location in the binary and not found at run time.

This commit fixes a few things:
- Remove the rel.dyn section from all ARM SPL linker scripts.
- In turn, this moves the dtb alignment statement in to another section.
- For ast2600 which uses CONFIG_POSITION_INDEPENDENT we need to keep the
  symbols however.

Tested-by: Fabio Estevam <festevam@gmail.com>
Reported-by: Fabio Estevam <festevam@gmail.com>
Co-developed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Chia-Wei, Wang <chiawei_wang@aspeedtech.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
43 hours ago.b4-config: Add some patchwork related settings
Tom Rini [Wed, 21 Jan 2026 15:19:30 +0000 (09:19 -0600)] 
.b4-config: Add some patchwork related settings

To make it easier for custodians to use b4 with patchwork, add some
defaults to the in-tree .b4-config. The API key will still have to be
configured.

Suggested-by: Quentin Schulz <quentin.schulz@cherry.de>
Acked-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
46 hours agoMerge patch series "dm: core: Support same compatible in host/gadget musb drivers"
Tom Rini [Wed, 28 Jan 2026 15:21:17 +0000 (09:21 -0600)] 
Merge patch series "dm: core: Support same compatible in host/gadget musb drivers"

Markus Schneider-Pargmann (TI.com) <msp@baylibre.com> says:

musb currently uses a wrapper driver that binds on the parent device of
the actual musb devices to manage the differentiation between gadget and
host modes. However in the upstream devicetree this parent devicetree
node can not be used to match the wrapper driver.

To be able to probe the musb devices in host/gadget mode directly, this
series introduces support for returning -ENODEV in bind functions
resulting in iterating the remaining drivers potentially binding to
other drivers that match the compatible.

Link: https://lore.kernel.org/r/20260127-topic-musb-probing-v2026-01-v4-0-ea3201e0f809@baylibre.com
46 hours agotest: dm: Add compatible multimatch test
Markus Schneider-Pargmann (TI.com) [Tue, 27 Jan 2026 11:03:39 +0000 (12:03 +0100)] 
test: dm: Add compatible multimatch test

Add a test for binding of multiple drivers with the same compatible. If
one of the drivers returns -ENODEV the other one needs to be bound.

Reviewed-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Signed-off-by: Markus Schneider-Pargmann (TI.com) <msp@baylibre.com>
46 hours agodm: core: lists_bind_fdt: Indent continuation debug log message
Markus Schneider-Pargmann (TI) [Tue, 27 Jan 2026 11:03:38 +0000 (12:03 +0100)] 
dm: core: lists_bind_fdt: Indent continuation debug log message

The loop in lists_bind_fdt uses an indented style for log messages
within the loop and normal messages for errors that lead to the exit of
the function. Due to the change of the previous patch that adds support
for continuation on -ENODEV returned by bind, the log message should be
indented.

Signed-off-by: Markus Schneider-Pargmann (TI) <msp@baylibre.com>
46 hours agodm: core: Support multiple drivers with same compatibles
Markus Schneider-Pargmann (TI.com) [Tue, 27 Jan 2026 11:03:37 +0000 (12:03 +0100)] 
dm: core: Support multiple drivers with same compatibles

Currently once a driver matched the compatible string of a device, other
drivers are ignored. If the first matching driver returns -ENODEV, no
other possibly matching drivers are iterated with that compatible of the
device. Instead the next compatible in the list of compatibles is
selected, assuming only one driver matches one compatible at a time.

To be able to use the bind function to return -ENODEV and continue
matching other drivers with the same compatible, move the for loop a bit
to continue the for loop after -ENODEV was returned. The loop had to be
adjusted a bit to still support the 'drv' argument properly. Some
simplifications were done as well.

The modification will only add additional loop iterations if -ENODEV is
returned. Otherwise the exit and continue conditions for the loop stay
the same and do not cause any additional iterations and should not
impact performance.

This is required for ti-musb-host and ti-musb-peripheral which both
match on the same device but differ based on the dr_mode DT property.
Depending on this property, the driver is either UCLASS_USB or
UCLASS_USB_GADGET_GENERIC. By checking the DT property in the bind
function and returning -ENODEV the other driver can probe instead.

Reviewed-by: Simon Glass <simon.glass@canonical.com>
Acked-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
Signed-off-by: Markus Schneider-Pargmann (TI.com) <msp@baylibre.com>
46 hours agodm: core: lists_bind_fdt: Replace found variable
Markus Schneider-Pargmann (TI.com) [Tue, 27 Jan 2026 11:03:36 +0000 (12:03 +0100)] 
dm: core: lists_bind_fdt: Replace found variable

'found' is only used at the end of the function to print a debug
message. No need to maintain a variable if we can just return 0
immediately when a driver was bound successfully.

Reviewed-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Signed-off-by: Markus Schneider-Pargmann (TI.com) <msp@baylibre.com>
46 hours agodm: core: lists_bind_fdt: Remove unused variable
Markus Schneider-Pargmann (TI.com) [Tue, 27 Jan 2026 11:03:35 +0000 (12:03 +0100)] 
dm: core: lists_bind_fdt: Remove unused variable

'result' is unused in this function, remove it.

Reviewed-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Signed-off-by: Markus Schneider-Pargmann (TI.com) <msp@baylibre.com>
47 hours agoMerge tag 'fsl-qoriq-for-2026.04-rc2' of https://source.denx.de/u-boot/custodians...
Tom Rini [Wed, 28 Jan 2026 14:39:52 +0000 (08:39 -0600)] 
Merge tag 'fsl-qoriq-for-2026.04-rc2' of https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq

- Rename freescale to nxp
- Add CPLD support via IFC to the ls1021a-iot board
- Use scmi_clk_state_in_v2 in sandbox

2 days agofirmware: scmi: sandbox: Use scmi_clk_state_in_v2 852/head
Peng Fan [Wed, 17 Dec 2025 08:13:23 +0000 (16:13 +0800)] 
firmware: scmi: sandbox: Use scmi_clk_state_in_v2

The sandbox scmi clock protocol use version 3.0, so need to use
scmi_clk_state_in_v2.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 days agoboard: nxp: Rename board directory from board/freescale to board/nxp
Alice Guo [Fri, 23 Jan 2026 07:54:06 +0000 (15:54 +0800)] 
board: nxp: Rename board directory from board/freescale to board/nxp

This patch renames the board directory from board/freescale to
board/nxp because NXP now provides Board Support Packages (BSPs) and
tools for the former Freescale i.MX and other i.MX products.

All relevant references have been updated accordingly. This change does
not affect functionality.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
2 days agoarmv7: Add CPLD support via IFC to the ls1021a-iot board.
Mateus Lima Alves [Mon, 26 Jan 2026 16:05:19 +0000 (13:05 -0300)] 
armv7: Add CPLD support via IFC to the ls1021a-iot board.

This patch adds CPLD support via IFC to the ls1021a-iot board.

Signed-off-by: Mateus Lima Alves <mateuslima.ti@gmail.com>
2 days agobinman: Regenerate expired test certificate
Simon Glass [Thu, 22 Jan 2026 22:44:10 +0000 (15:44 -0700)] 
binman: Regenerate expired test certificate

The test certificate expired on Feb 13, 2024. This just used for
testing, so regenerate it with a 100-year validity period.

Suggested-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2 days agoconfigs: apple: Enable SMBIOS / sysinfo
Janne Grunau [Fri, 16 Jan 2026 13:44:46 +0000 (14:44 +0100)] 
configs: apple: Enable SMBIOS / sysinfo

Enable verbose SMBIOS table generation so that user space applications
can use the SMBIOS table to provide details about the system. The
desired information is chassis-type to determine whether the system is
laptop.
Adding the chassis-type property is proposed for the upstream device
trees in the Linux kernel in [1].
Enable CMD_SMBIOS as debugging aid as the platform can easily deal with
large u-boot binaries.

Link: https://lore.kernel.org/asahi/20260109-apple-dt-usb-c-atc-dwc3-v1-0-ce0e92c1a016@jannau.net/
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Neal Gompa <neal@gompa.dev>
Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
2 days agoboot/fit: print name of config node not found
Frank Wunderlich [Fri, 16 Jan 2026 18:29:02 +0000 (19:29 +0100)] 
boot/fit: print name of config node not found

Show name of configuration node which was not found.

current state gives no hint if fit image is wrong or the requested name.

Could not find configuration node
load of <NULL> failed

After this patch we see name like this:

Could not find configuration node '#ov-test'
load of <NULL> failed

Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2 days agofit: Rework SPL_LOAD_FIT_ADDRESS slightly
Tom Rini [Sun, 18 Jan 2026 19:56:10 +0000 (13:56 -0600)] 
fit: Rework SPL_LOAD_FIT_ADDRESS slightly

Options which deal with memory locations and have a default value of 0x0
are dangerous, as that is often not a valid memory location. Rework
SPL_LOAD_FIT_ADDRESS as follows:
- Add SPL_HAS_LOAD_FIT_ADDRESS to guard prompting the question as the
  case of loading a FIT image does not strictly require setting an
  address and allows for a malloc()'d area to be used.
- For SPL_RAM_SUPPORT, select the new guard symbol if SPL_LOAD_FIT is
  enabled because in that case an address must be provided.
- Update defconfigs for these new changes. Largely this means some
  defconfigs need to enable SPL_HAS_LOAD_FIT_ADDRESS to maintain their
  current status. In the case of sandbox, we also need to set
  SPL_LOAD_FIT_ADDRESS to 0x0.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 days agoKconfig: select SPL_USE_TINY_PRINTF_POINTER_SUPPORT for K3
Anshul Dalal [Tue, 20 Jan 2026 04:34:28 +0000 (10:04 +0530)] 
Kconfig: select SPL_USE_TINY_PRINTF_POINTER_SUPPORT for K3

Since the commit 1e24e84db41a ("tiny-printf: Handle formatting of %p
with an extra Kconfig"), SPL_USE_TINY_PRINTF_POINTER_SUPPORT has been
made mandatory in order to use %p which would earlier have defaulted to
a 'long' print.

Without this config symbol, k3_sysfw_dfu_download fails to set the
correct value for the DFU string with:

 sprintf(dfu_str, "sysfw.itb ram 0x%p 0x%x", addr,
   CONFIG_K3_SYSFW_IMAGE_SIZE_MAX);

The value we get "sysfw.itb ram 0x? 0x41c29d40" causes a boot failure.

Therefore this patch sets SPL_USE_TINY_PRINTF_POINTER_SUPPORT for all K3
devices since the size impact is less than 100 bytes.

Signed-off-by: Anshul Dalal <anshuld@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2 days agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh
Tom Rini [Tue, 27 Jan 2026 22:05:55 +0000 (16:05 -0600)] 
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh

- Updated UFS support for Renesas platforms

2 days agobootm: Remove BOOTM_NETBSD from defaults
Tom Rini [Mon, 12 Jan 2026 17:05:11 +0000 (11:05 -0600)] 
bootm: Remove BOOTM_NETBSD from defaults

After talking with someone from the NetBSD project, platforms that do
not boot with a device tree (and so would be using our BOOTM_NETBSD
support) a very few in number. So we can remove this option from being
enabled by default and save a little space in most places with platforms
that need it still being able to re-enable it, if needed. Ideally, in a
few years we can instead just remove the code entirely.

Link: https://lore.kernel.org/r/aWKQOW_ajq0DsbYA@big-apple.aprisoft.de/
Signed-off-by: Tom Rini <trini@konsulko.com>
2 days agoscsi: ufs: renesas: Add reusable functions
Yoshihiro Shimoda [Sat, 3 Jan 2026 00:22:31 +0000 (01:22 +0100)] 
scsi: ufs: renesas: Add reusable functions

Since some settings can be reused on other UFS controller (R-Car S4-8
ES1.2), add reusable functions.

Ported from Linux kernel commit
44ca16f4970e ("scsi: ufs: renesas: Add reusable functions")

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/446d67b751a96645799de3aeefec539735aa78c8.1741179611.git.geert+renesas@glider.be
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
2 days agoscsi: ufs: renesas: Refactor 0x10ad/0x10af PHY settings
Yoshihiro Shimoda [Sat, 3 Jan 2026 00:22:30 +0000 (01:22 +0100)] 
scsi: ufs: renesas: Refactor 0x10ad/0x10af PHY settings

Extract specific PHY setting of the 0x10a[df] registers into a new
function.

Ported from Linux kernel commit
cca2b807c227 ("scsi: ufs: renesas: Refactor 0x10ad/0x10af PHY settings")

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/110eafd1ee24f9db0285a5e2bca224e35962268a.1741179611.git.geert+renesas@glider.be
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
2 days agoscsi: ufs: renesas: Remove register control helper function
Yoshihiro Shimoda [Sat, 3 Jan 2026 00:22:29 +0000 (01:22 +0100)] 
scsi: ufs: renesas: Remove register control helper function

After refactoring the code, ufs_renesas_reg_control() is no longer needed,
because all operations are simple and can be called directly.  Remove the
ufs_renesas_reg_control() helper function, and call udelay() directly.

Ported from Linux kernel commit
855bde8ce5bc ("scsi: ufs: renesas: Remove register control helper function")
with replaced readl_poll_timeout_atomic() with readl_poll_sleep_timeout().

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/69500e4c18be1ca1de360f9e797e282ffef04004.1741179611.git.geert+renesas@glider.be
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
2 days agoscsi: ufs: renesas: Add register read to remove save/set/restore
Yoshihiro Shimoda [Sat, 3 Jan 2026 00:22:28 +0000 (01:22 +0100)] 
scsi: ufs: renesas: Add register read to remove save/set/restore

Add support for returning read register values from
ufs_renesas_reg_control(), so ufs_renesas_set_phy() can use the existing
ufs_renesas_write_phy() helper.  Remove the now unused code to save to,
set, and restore from a static array inside ufs_renesas_reg_control().

Ported from Linux kernel commit
5129aa627599 ("scsi: ufs: renesas: Add register read to remove save/set/restore")

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/9fa240a9dc0308d6675138f8434eccb77f051650.1741179611.git.geert+renesas@glider.be
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
2 days agoscsi: ufs: renesas: Replace init data by init code
Yoshihiro Shimoda [Sat, 3 Jan 2026 00:22:27 +0000 (01:22 +0100)] 
scsi: ufs: renesas: Replace init data by init code

Since initialization of the UFS controller on R-Car S4-8 ES1.0 requires
only static values, the driver uses initialization data stored in the const
ufs_param[] array.  However, other UFS controller variants (R-Car S4-8
ES1.2) require dynamic values, like those obtained from E-FUSE.  Refactor
the initialization code to prepare for this.

This also reduces kernel size by almost 30 KiB.

Ported from Linux kernel commit
c4e83573c3d0 ("scsi: ufs: renesas: Replace init data by init code")

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/3520e27ac7ff512de6508f630eee3c1689a7c73d.1741179611.git.geert+renesas@glider.be
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
2 days agoRevert a number of incorrect commits
Tom Rini [Tue, 27 Jan 2026 15:29:03 +0000 (09:29 -0600)] 
Revert a number of incorrect commits

As part of debugging the appended device tree failure, I inadvertently
committed some changes as I was debugging to master, and not a private
branch, and pushed them as part of the release.

This reverts commit dc2d8423b19d30472b02e02b41504226908a4291 through
380ddb473c6bdf87e66c0fb93e256d1e233c6f5b.

Signed-off-by: Tom Rini <trini@konsulko.com>
3 days agoPrepare v2026.04-rc1 v2026.04-rc1
Tom Rini [Mon, 26 Jan 2026 20:44:52 +0000 (14:44 -0600)] 
Prepare v2026.04-rc1

Signed-off-by: Tom Rini <trini@konsulko.com>
3 days agocount rel_dyn
Tom Rini [Mon, 26 Jan 2026 17:19:22 +0000 (11:19 -0600)] 
count rel_dyn

Signed-off-by: Tom Rini <trini@konsulko.com>
3 days agoRevert "arm: spl: Correct alignment of .rel.dyn section"
Tom Rini [Mon, 26 Jan 2026 17:00:02 +0000 (11:00 -0600)] 
Revert "arm: spl: Correct alignment of .rel.dyn section"

This reverts commit 380ddb473c6bdf87e66c0fb93e256d1e233c6f5b.

Signed-off-by: Tom Rini <trini@konsulko.com>
3 days agoarm: spl: Correct alignment of .rel.dyn section
Tom Rini [Mon, 26 Jan 2026 16:28:32 +0000 (10:28 -0600)] 
arm: spl: Correct alignment of .rel.dyn section

With commit 0535e46d55d7 ("scripts/dtc: Update to upstream version
v1.7.2-35-g52f07dcca47c") we now require the correct, 8 byte alignment
of a device tree in order to work with it ourselves. This has exposed a
number of issues. In the case of using arch/arm/cpu/u-boot-spl.lds for
an xPL phase and having the BSS be overlayed with the dynamic
relocations sections (here, .rel.dyn) we had missed adding the comment
about our asm memset requirements. Then, when adjusting ALIGN statements
we later missed this one. In turn, when we use objcopy to create our
binary image we end up in the situation where

where the BSS must start out 8 byte aligned as
well as end 8 byte aligned because for appended device tree the
requirement is that the whole BSS (which we add as padding to the
binary) must be 8 byte aligned. Otherwise we end up with the situation
where __bss_end (where we look for the device tree at run time) is
aligned but the size of the BSS we add

Fixes: 7828a1eeb2a1 ("arm: remove redundant section alignments")
Fixes: 52caad0d14a3 ("ARM: Align image end to 8 bytes to fit DT alignment")
Reported-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
---
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Cc: Marek Vasut <marek.vasut@mailbox.org>
3 days agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sunxi
Tom Rini [Mon, 26 Jan 2026 15:09:16 +0000 (09:09 -0600)] 
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sunxi

Some improvements for some boards' DRAM setup, to allow boards with
"odd" DRAM sizes (1.5GB or 3GB), and to support the T113-s4 with double
the co-packaged DRAM. Support for a new board (X96Q TV box), and a fix
for the DT name prefix. Also we support the new AXP318W PMIC, which is
used on new boards with the A733 SoC. There are some preliminary support
patches for this SoC, but they are not quite ready yet - though maybe I
push some uncontroversial ones a bit later still.

4 days agoboard: sunxi: Add X96Q support
J. Neuschäfer [Tue, 20 Jan 2026 15:20:38 +0000 (16:20 +0100)] 
board: sunxi: Add X96Q support

The X96Q is a set-top box with an H313 SoC, AXP305 PMIC, 1 or 2 GiB RAM,
8 or 16 GiB eMMC flash, 2x USB A, Micro-SD, HDMI, Ethernet, audio/video
output, and infrared input.

  https://x96mini.com/products/x96q-tv-box-android-10-set-top-box

This commit adds a defconfig and some documentation. The devicetree is
already in dts/upstream.

The CONFIG_DRAM_SUNXI_* settings are chosen such that the register
values in the DRAM PHY's MMIO space are as close as possible to those
observed when booting with the preinstalled vendor U-Boot. The DRAM
clock frequency of 600 MHz was reported in the vendor U-Boot's output.

Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
4 days agopower: regulator: enable AWP318W SPL support
Yixun Lan [Tue, 13 Jan 2026 04:01:56 +0000 (12:01 +0800)] 
power: regulator: enable AWP318W SPL support

Add the descriptions for the DC/DC regulators of the AXP318W, and enable
it when CONFIG_AXP318W_POWER is enabled.

Signed-off-by: Yixun Lan <dlan@gentoo.org>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
4 days agopower: regulator: add AXP318W support
Yixun Lan [Tue, 13 Jan 2026 04:01:55 +0000 (12:01 +0800)] 
power: regulator: add AXP318W support

The PMIC is also known as AXP819 in vendor pmu code

For DCDC6, 8, 9, the underlying hardware support more than two levels
voltage step tuning, but for now only first two levels are implemented
in this driver, hence highest voltage will be limited at seccond level.
It actual meets board requirement in current design, and we've verified
it in Radxa Cubie A7A board.

Following are detail explanation of voltage tuning stpes for those DCDCs:

DCDC | voltage range  | units | steps | implemented
 6   | 0.5   -  1.2   | 10 mV | 71    | Y
 .   | 1.22  -  1.54  | 20 mV | 17    | Y
 .   | 1.8   -  2.4   | 20 mV | 31    | N
 .   | 2.44  -  2.76  | 40 mV | 9     | N
 --------------------------------------------------
 8/9 | 0.5   -  1.2   | 10 mV | 71    | Y
 .   | 1.22  -  1.84  | 20 mV | 32    | Y
 .   | 1.9   -  3.4   | 100mV | 16    | N

Signed-off-by: Yixun Lan <dlan@gentoo.org>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
4 days agosunxi: avoid double vendor prefix when CONFIG_OF_UPSTREAM is enabled
Bohdan Chubuk [Sun, 23 Nov 2025 20:43:46 +0000 (22:43 +0200)] 
sunxi: avoid double vendor prefix when CONFIG_OF_UPSTREAM is enabled

When CONFIG_OF_UPSTREAM is enabled, the device tree name provided by SPL
already includes the vendor directory (e.g., "allwinner/board-name").

The existing logic in misc_init_r() unconditionally prepends "allwinner/"
for ARM64 builds, resulting in an incorrect path like
"allwinner/allwinner/board-name.dtb".

This patch modifies the logic to only prepend the vendor prefix if
CONFIG_OF_UPSTREAM is NOT enabled. This ensures compatibility with both
legacy builds and the new upstream devicetree structure.

Signed-off-by: Bohdan Chubuk <chbgdn@gmail.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
4 days agosunxi: dram: detect non-power-of-2 sized DRAM chips
Andre Przywara [Tue, 21 Oct 2025 23:53:34 +0000 (00:53 +0100)] 
sunxi: dram: detect non-power-of-2 sized DRAM chips

Some boards feature an "odd" DRAM size, where the total RAM is 1.5GB or
3GB. Our existing DRAM size detection routines can only detect power-of-2
sized configuration, and on those boards the DRAM size is overestimated,
so this typically breaks the boot quite early.

There doesn't seem to be an easy explicit way to detect those odd-sized
chips, but we can test whether the later part of the memory behaves like
memory, by verifying that a written pattern can be read back.
Experiments show that there is no aliasing effect here, as all locations
in the unimplemented range always return some fixed pattern, and cannot
be changed.

Also so far all those boards use a factor of 3 of some lower power-of-2
number, or 3/4th of some higher number. The size detection routine
discovers the higher number, so we can check for some memory cells beyond
75% of the detected size to be legit.

Add a routine the inverts all bits at a given location in memory, and
reads that back to prove that the new value was stored.
Then test the memory cell at exactly 3/4th of the detected size, and cap
the size of the memory to 75% when this test fails. For good measure
also make sure that memory just below the assumed memory end really
works.

This enables boards which ship with such odd memory sizes.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
4 days agosunxi: extend R528/T113-s3/D1(s) DRAM initialisation
Lukas Schmid [Sun, 26 Oct 2025 11:41:17 +0000 (12:41 +0100)] 
sunxi: extend R528/T113-s3/D1(s) DRAM initialisation

The T113-s4 SoC is using the same die as the T113-s3, but comes with
256MiB of co-packaged DRAM. Besides the doubled size, the DRAM chip
seems to be connected slightly differently, which requires to use a
different pin remapping.

Extend the DRAM initialisation code to add support for the T113-S4 aka
T113M4020DC0 by checking the SoC's CHIPID, which is stored in the first
word of the SID efuses.

Signed-off-by: Lukas Schmid <lukas.schmid@netcube.li>
Tested-by: John Watts <contact@jookia.org>
Reviewed-by: John Watts <contact@jookia.org>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
4 days agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh
Tom Rini [Sun, 25 Jan 2026 17:20:53 +0000 (11:20 -0600)] 
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh

- DTS bugfix for r8a779g3 Sparrow Hawk

4 days agoMerge branch 'master' of git://source.denx.de/u-boot-usb
Tom Rini [Sun, 25 Jan 2026 15:27:34 +0000 (09:27 -0600)] 
Merge branch 'master' of git://source.denx.de/u-boot-usb

- XHCI DMA bugfix

4 days agoarm64: dts: renesas: r8a779g3: Reinstate basic PCIe clock description for Sparrow...
Marek Vasut [Thu, 8 Jan 2026 19:09:21 +0000 (20:09 +0100)] 
arm64: dts: renesas: r8a779g3: Reinstate basic PCIe clock description for Sparrow Hawk

The 9FGV0441 PCIe clock generator can operate in autonomous mode, which
is the default mode. U-Boot currently does not have a driver for this
PCIe clock generator, but Linux 6.17 DT does describe the clock generator
in Sparrow Hawk board DT and this DT is included in U-Boot since commit
eea470fd7f6a ("Subtree merge tag 'v6.17-dts' of dts repo [1] into dts/upstream").

Reinstate basic PCIe clock description which matches the behavior of
Linux DT before Linux 6.17.y release in in U-Boot DT extras to allow
PCIe to be used on Sparrow Hawk board in U-Boot until the 9FGV0441
driver gets implemented or ported from Linux.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 days agousb: xhci: fix DMA address corruption in abort_td
ANANDHAKRISHNAN S [Thu, 22 Jan 2026 05:27:54 +0000 (10:57 +0530)] 
usb: xhci: fix DMA address corruption in abort_td

When aborting a Transfer Descriptor (TD), the xHCI driver updates the
device dequeue pointer by converting the virtual enqueue TRB pointer
into a DMA address.

Previously, the code OR-ed the ring's Dequeue Cycle State (DCS) bit into
the virtual TRB pointer before passing it to xhci_trb_virt_to_dma().
This produced an unaligned virtual address (e.g. ending in 0x...1).

Inside xhci_trb_virt_to_dma(), the offset calculation:

segment_offset = trb - seg->trbs;

operated on this unaligned pointer, resulting in an incorrect TRB index.
In wraparound cases, this caused the bounds check to fail and the
function to return 0.

As a result, a SET_DEQ_PTR command was issued with a DMA address of 0x0,
leading to controller hangs and transfer timeouts, most commonly when
aborting TDs near the end of a ring segment (e.g. index 63).

Fix this by translating the aligned virtual TRB pointer to a DMA address
first, and only then applying the DCS bit to the resulting physical
address.

Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
Signed-off-by: ANANDHAKRISHNAN S <anandhakrishnan.s@dicortech.com>
5 days agoscripts/dtc: Fix pkg-config behavior under sysroot
Greg Malysa [Thu, 22 Jan 2026 09:28:53 +0000 (04:28 -0500)] 
scripts/dtc: Fix pkg-config behavior under sysroot

When building with a toolchain that uses a modified sysroot (such as a
Yocto-generated SDK) that does not include libyaml, on a host that does
have libyaml, building dtc will fail with errors like:

  HOSTLD  scripts/dtc/dtc
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld:
scripts/dtc/yamltree.o: in function `yaml_propval_int':
yamltree.c:(.text+0x167): undefined reference to
`yaml_sequence_start_event_initialize'
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld:
yamltree.c:(.text+0x172): undefined reference to `yaml_emitter_emit'
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld:
yamltree.c:(.text+0x1e8): undefined reference to
`yaml_scalar_event_initialize'
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld:
yamltree.c:(.text+0x1f5): undefined reference to `yaml_emitter_emit'

(... rest of errors truncated ...)

This happens because the test looks for the file in the default path but
uses pkg-config, which is affected by changing sysroot, to determine the
correct linker arguments. This does not happen when building entirely
within yocto, as pseudo will intercept and rewrite the file path when
trying to test for /usr/include/yaml.h to match the sysroot and thus
generate consistent behavior.

This commit adds the PKG_CONFIG_SYSROOT_DIR prefix to the file path
in order to test against the same conditions that are used to resolve
the build flags for libyaml.

In linux commit ef8795f3f1c ("dt-bindings: kbuild: Use DTB files for
validation"), including yaml is disabled again anyway because of other
problems that it causes, so this problem can also be addressed by
partially backporting that commit instead and simply disabling the yaml
support.

Fixes: 0535e46d55d7 ("scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c")
Signed-off-by: Greg Malysa <malysagreg@gmail.com>
5 days agovideo: add DejaVu Mono font
Heinrich Schuchardt [Thu, 20 Nov 2025 19:34:48 +0000 (20:34 +0100)] 
video: add DejaVu Mono font

A TrueType font for U-Boot should fulfill the following requirements:

* mono spaced
* support full code page 437
* easily readable

Unfortunately none of the fonts provided with U-Boot fulfills all of these
requirements.

Let's add the DejaVu Mono font. To reduce the code size the characters are
limited to code page 437.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 days agoMerge patch series "sc5xx: Add complete board support for all ADI SC5xx boards"
Tom Rini [Fri, 23 Jan 2026 20:21:28 +0000 (14:21 -0600)] 
Merge patch series "sc5xx: Add complete board support for all ADI SC5xx boards"

Greg Malysa <malysagreg@gmail.com> says:

This series adds the final pieces to enable mainline U-Boot to build and
boot all Analog Devices SC5xx SoCs and supports the associated carrier
board options. At this point it should be viable for new users for these
platforms to start with the latest version of U-Boot rather than our
vendor fork, however some features (such as OSPI support and falcon
boot) remain unavailable until we are able to unify our implementations
with the mainline implementations.

Link: https://lore.kernel.org/r/20251211080414.5363-1-malysagreg@gmail.com
[trini: Rebuild CI containers to have new tools]
Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agoMAINTAINERS: Update ADI entries for new boards
Greg Malysa [Thu, 11 Dec 2025 08:04:03 +0000 (03:04 -0500)] 
MAINTAINERS: Update ADI entries for new boards

This adds missing maintainers entries for the ADI SC5xx defconfigs and
for a device tree binding file that was previously missed.

Signed-off-by: Greg Malysa <malysagreg@gmail.com>
6 days agoboard: adi: Add support for SC594
Greg Malysa [Thu, 11 Dec 2025 08:04:02 +0000 (03:04 -0500)] 
board: adi: Add support for SC594

This adds support for the Analog Devices SC594 SOM and configurations
for using it with both the SOMCRR-EZKIT and SOMCRR-EZLITE.

Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com>
Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com>
Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Signed-off-by: Greg Malysa <malysagreg@gmail.com>
6 days agoboard: adi: Add support for SC598
Greg Malysa [Thu, 11 Dec 2025 08:04:01 +0000 (03:04 -0500)] 
board: adi: Add support for SC598

This adds support for the Analog Devices SC598-SOM and configurations
for using it with both the SOMCRR-EZKIT and SOMCRR-EZLITE. This adds
dtsis for both Rev D (including older revisions) and Rev E SOMs, which
are not compatible due to BOM changes. Although no new Rev D SOMs are
produced as of 2025, many are in circulation, so the RevD dtsi is
included to facilitate use for existing customers.

Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com>
Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com>
Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Signed-off-by: Philip Molloy <philip@philipmolloy.com>
Signed-off-by: Greg Malysa <malysagreg@gmail.com>
6 days agoboard: adi: Add support for SC584-ezkit
Greg Malysa [Thu, 11 Dec 2025 08:04:00 +0000 (03:04 -0500)] 
board: adi: Add support for SC584-ezkit

This adds support for the Analog Devices SC584-EZKIT.

Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com>
Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com>
Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Signed-off-by: Greg Malysa <malysagreg@gmail.com>
6 days agoboard: adi: Add support for SC589 boards
Greg Malysa [Thu, 11 Dec 2025 08:03:59 +0000 (03:03 -0500)] 
board: adi: Add support for SC589 boards

This adds support for the Analog Devices SC589-EZKIT and SC589-mini.

Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com>
Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com>
Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Signed-off-by: Greg Malysa <malysagreg@gmail.com>
6 days agoboard: adi: Add support for SC573-ezkit
Greg Malysa [Thu, 11 Dec 2025 08:03:58 +0000 (03:03 -0500)] 
board: adi: Add support for SC573-ezkit

This adds support for the Analog Devices SC573 EZKIT.

Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com>
Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com>
Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Signed-off-by: Greg Malysa <malysagreg@gmail.com>
6 days agoboard: adi: Add SOMCRR infrastructure
Greg Malysa [Thu, 11 Dec 2025 08:03:57 +0000 (03:03 -0500)] 
board: adi: Add SOMCRR infrastructure

This adds infrastructure and shared library code for building targets
that use the ADI SOMCRR-EZKIT and SOMCRR-EZLITE carrier boards. These
are not used directly as board targets in their own right.

Co-developed-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com>
Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com>
Signed-off-by: Greg Malysa <malysagreg@gmail.com>
6 days agodocker: add Analog Devices tools to docker image
Greg Malysa [Thu, 11 Dec 2025 08:03:56 +0000 (03:03 -0500)] 
docker: add Analog Devices tools to docker image

The boot ROM on Analog Devices ADSP-SC5xx SoCs requires code packaged
in the LDR format. Normally this is available as part of
our yocto-derived toolchain but, it is not a part of any other pre-made
toolchain anymore, so it is otherwise unavailable in the docker image
for CI. This patch adds a source build from the ADI maintained github
repository. In the future, a package available for install via apt will
be available, but currently there is no arm64 build upstream, so we must
build from source for the time being to support CI on both amd64 and
arm64 runners. The same ldr tool is used for arm and arm64 for all of
our boards with names adjusted to match the expected $(CROSS_COMPILE)
for these boards.

Signed-off-by: Greg Malysa <malysagreg@gmail.com>
6 days agomach-sc5xx: Add preliminary support for binman
Utsav Agarwal [Thu, 11 Dec 2025 08:03:55 +0000 (03:03 -0500)] 
mach-sc5xx: Add preliminary support for binman

Binman is optionally supported for Analog Devices sc5xx SoCs if Yocto is
not being used to create and assemble system images. The spl LDR is
generated locally but other artifacts such as kernel FIT image and root
file system are built externally and must be supplied to binman if used.

Binman is enabled by selecting the SC5XX_USE_BINMAN config symbol and
the image structure is included in the shared sc5xx device tree.

Signed-off-by: Greg Malysa <malysagreg@gmail.com>
Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
6 days agomach-sc5xx: Kconfig: Make EZKIT and EZLITE carriers mutually exclusive
Greg Malysa [Thu, 11 Dec 2025 08:03:54 +0000 (03:03 -0500)] 
mach-sc5xx: Kconfig: Make EZKIT and EZLITE carriers mutually exclusive

Support for the SOM-CRR variants introduces library level changes that
are not modelled in the device tree. As a result they cannot both be
selected at the same time, so this updates the dependency in Kconfig to
prevent them from being enabled together.

Reported-by: Philip Molloy <Philip.Molloy@analog.com>
Signed-off-by: Greg Malysa <malysagreg@gmail.com>
6 days agomach-sc5xx: Rename SC_BOOT_MODE
Greg Malysa [Thu, 11 Dec 2025 08:03:53 +0000 (03:03 -0500)] 
mach-sc5xx: Rename SC_BOOT_MODE

The symbol SC_BOOT_MODE was named incorrectly and inconsistently with
its usage. The selected boot mode is set only by hardware and cannot be
adjusted through software (apart from the use of FORCE_BMODE to instruct
the boot rom to ignore the hardware setting when loading uboot proper,
but this cannot change how SPL is loaded).

This symbol actually controlled the BCODE (easily confused with BMODE,
shorthand for boot mode), so this renames it to SC_BCODE and updates the
help text to reflect its actual usage: the BCODE is an SoC- and boot
mode-specific setting that affects how the boot rom configures QSPI or
OSPI in order to read an LDR file from the associated peripheral.

Reported-by: Philip Molloy <Philip.Molloy@analog.com>
Signed-off-by: Greg Malysa <malysagreg@gmail.com>
6 days agomach-sc5xx: Introduce Kconfig symbols for image addresses
Utsav Agarwal [Thu, 11 Dec 2025 08:03:52 +0000 (03:03 -0500)] 
mach-sc5xx: Introduce Kconfig symbols for image addresses

Add Kconfig symbols to parameterize the SPI flash layout used in a
default-ish configuration. This adds more flexibility to the default ADI
environment, enabling customers with boards based on but not identical
to an ezkit to reuse more of the infrastructure. Furthermore it allows
for yocto (the expected default) or binman (to be introduced in this
series) to configure or use the flash layout based on a single
definition of all of the parameters when creating an image.

Signed-off-by: Greg Malysa <malysagreg@gmail.com>
Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
7 days agoMerge tag 'mmc-for-2026.04-rc1-2' of https://source.denx.de/u-boot/custodians/u-boot-mmc
Tom Rini [Thu, 22 Jan 2026 14:36:35 +0000 (08:36 -0600)] 
Merge tag 'mmc-for-2026.04-rc1-2' of https://source.denx.de/u-boot/custodians/u-boot-mmc

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

- mmc: Fix sdhci-cadence6 license
- mmc: Fix sd_get_capabilities retry logic
- mmc: use max-frequency from device tree
- Clean up regulator and build fix

8 days agommc: Fix retry logic in sd_get_capabilities
Yanir Levin [Thu, 22 Jan 2026 02:32:06 +0000 (10:32 +0800)] 
mmc: Fix retry logic in sd_get_capabilities

In sd_get_capabilities an ACMD is sent (SD_CMD_APP_SEND_SCR),
which requires sending APP_CMD (MMC_CMD_APP_CMD) before.

Currently, the ACMD is retried on error, however APP_CMD isn't.
In this case, when the ACMD fails and it is tried again,
the retry attempts will not be handled as ACMD, which is wrong.

The fix performs the retry attempts on the sequence of
APP_CMD and the ACMD together.

Signed-off-by: Yanir Levin <yanir.levin@tandemg.com>
Reviewed-by: Eran Moshe <emoshe@gsitechnology.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agommc: sdhci-cadence6: Fix the license to GPL-2.0+
Hal Feng [Mon, 12 Jan 2026 02:39:47 +0000 (10:39 +0800)] 
mmc: sdhci-cadence6: Fix the license to GPL-2.0+

The license of the file is not valid. Fix it to GPL-2.0+.

Fixes: fe11aa0b8ca3 ("mmc: sdhci-cadence: Add support for Cadence sdmmc v6")
Reported-by: Quentin Schulz <quentin.schulz@cherry.de>
Reported-by: oliver Fendt <ofendt@googlemail.com>
Closes: https://lore.kernel.org/all/CAFoF8fC4foffYJgYm9CkViET83gDu05noVRxLxgs+KWXN_-LBQ@mail.gmail.com/
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Tanmay Kathpalia <tanmay.kathpalia@altera.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agommc: mmc-uclass: Use max-frequency from device tree with driver default fallback
Tanmay Kathpalia [Fri, 16 Jan 2026 12:50:31 +0000 (04:50 -0800)] 
mmc: mmc-uclass: Use max-frequency from device tree with driver default fallback

Use dev_read_u32_default() instead of dev_read_u32() to read the
"max-frequency" property from device tree. This preserves the driver-set
cfg->f_max value when the optional "max-frequency" property is not
present, ensuring the controller's default frequency is used as fallback
rather than being overwritten.

Suggested-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Signed-off-by: Tanmay Kathpalia <tanmay.kathpalia@altera.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agopower: regulator: common: fix compilation issue
Julien Stephan [Thu, 15 Jan 2026 14:30:45 +0000 (15:30 +0100)] 
power: regulator: common: fix compilation issue

If CONFIG_DM_GPIO is not enabled, compilation fails with the following
errors:

aarch64-none-linux-gnu-ld: drivers/power/regulator/regulator_common.o: in function `regulator_common_of_to_plat':
<...>/u-boot/drivers/power/regulator/regulator_common.c:30: undefined reference to `gpio_request_by_name'
aarch64-none-linux-gnu-ld: drivers/power/regulator/regulator_common.o: in function `regulator_common_get_enable':
<...>/u-boot/drivers/power/regulator/regulator_common.c:57: undefined reference to `dm_gpio_get_value'
aarch64-none-linux-gnu-ld: drivers/power/regulator/regulator_common.o: in function `regulator_common_set_enable':
<...>/u-boot/drivers/power/regulator/regulator_common.c:92: undefined reference to `dm_gpio_set_value'
make: *** [Makefile:2029: u-boot] Error 139

Since the enable gpio is optional we can conditionally skip these calls.

Reviewed-by: Tanmay Kathpalia <tanmay.kathpalia@altera.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agopower: regulator: common: use dm_gpio_is_valid helper
Julien Stephan [Thu, 15 Jan 2026 14:30:44 +0000 (15:30 +0100)] 
power: regulator: common: use dm_gpio_is_valid helper

Use dm_gpio_is_valid() helper function instead of manually checking the
gpio.

Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Tanmay Kathpalia <tanmay.kathpalia@altera.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agopower: regulator: common: remove unnecessary debug trace
Julien Stephan [Thu, 15 Jan 2026 14:30:43 +0000 (15:30 +0100)] 
power: regulator: common: remove unnecessary debug trace

Drop the ftrace like debug() that checkpatch --strict complains about:

  WARNING: Unnecessary ftrace-like logging - prefer using ftrace

Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Tanmay Kathpalia <tanmay.kathpalia@altera.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agopinctrl: mediatek: mt8365: add PUPD registers 846/head
David Lechner [Wed, 14 Jan 2026 01:53:44 +0000 (19:53 -0600)] 
pinctrl: mediatek: mt8365: add PUPD registers

Add pull-up/pull-down (PUPD) register definitions for mt8365.

Signed-off-by: David Lechner <dlechner@baylibre.com>
8 days agoclk: mtk: use IS_ERR_VALUE() to check rate return values
David Lechner [Wed, 14 Jan 2026 22:58:57 +0000 (16:58 -0600)] 
clk: mtk: use IS_ERR_VALUE() to check rate return values

Replace casting with long to IS_ERR_VALUE() macro to check for error
return values from rate calculation functions. This is the recommended
way to check the return value from clock rate functions.

Signed-off-by: David Lechner <dlechner@baylibre.com>
8 days agopinctrl: mediatek: fix failing to get syscon
David Lechner [Wed, 14 Jan 2026 22:37:19 +0000 (16:37 -0600)] 
pinctrl: mediatek: fix failing to get syscon

Replace uclass_get_device_by_ofnode() with syscon_regmap_lookup_by_phandle()
to get the "mediatek,pctl-regmap" syscon device.

Depending on probe order, uclass_get_device_by_ofnode() may fail, but
syscon_regmap_lookup_by_phandle() has logic in it to handle that case
correctly.

The previous implementation could read more than one syscon if the
"mediatek,pctl-regmap" property had more than one phandle, but the one
board with a devicetree that does that is not supported in U-Boot yet,
so we can save that for later (it may never be needed).

Fixes: 424ceba18bfb ("pinctrl: mediatek: support mediatek,pctl-regmap property")
Signed-off-by: David Lechner <dlechner@baylibre.com>