]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
4 weeks agopower: pmic: enable sysreset function with device tree property
Svyatoslav Ryhel [Sat, 7 Feb 2026 17:43:40 +0000 (19:43 +0200)] 
power: pmic: enable sysreset function with device tree property

Add a condition to enable the PMIC sysreset function via the
system-power-controller device tree property in addition to the existing
Kconfig dependency, provided the PMIC supports it.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> # RK8xx
4 weeks agoboard: lg: star: make panel fix optional
Svyatoslav Ryhel [Tue, 13 Jan 2026 09:00:31 +0000 (11:00 +0200)] 
board: lg: star: make panel fix optional

Currently, U-Boot fails with an FDT patching error if the LG Optimus 2X
device tree lacks a panel node. Since the panel is optional hardware,
patching should be optional as well. Fix this by allowing bootflow to
continue if the panel node is missing.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agoARM: tegra: rename sdhci nodes to mmc
Svyatoslav Ryhel [Tue, 13 Jan 2026 10:12:30 +0000 (12:12 +0200)] 
ARM: tegra: rename sdhci nodes to mmc

Align with existing Linux Tegra device trees to simplify using U-Boot
device trees as a base for future Linux adaptations.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agoARM: tegra: remove unsupported properties from the max8907 node
Svyatoslav Ryhel [Tue, 13 Jan 2026 09:27:14 +0000 (11:27 +0200)] 
ARM: tegra: remove unsupported properties from the max8907 node

Remove interrupt and GPIO controller properties from MAX8907 node since
the PMIC does not have any GPIO cells and does not expose any interrupt
features.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agoARM: tegra: mot: change backlight LED source
Svyatoslav Ryhel [Thu, 29 Jan 2026 18:39:45 +0000 (20:39 +0200)] 
ARM: tegra: mot: change backlight LED source

Mot based devices use LM3532 LED controller with 3 sources. Panel
backlight uses LED 0 while keypad uses LED 1 and 2. Adjust device tree
accordingly.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agoARM: tegra: surface-2: fix panel supply
Svyatoslav Ryhel [Sat, 7 Feb 2026 18:11:16 +0000 (20:11 +0200)] 
ARM: tegra: surface-2: fix panel supply

Rename vdd-supply to power-supply according to the latest schema.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agoARM: tegra: lg-x3: fix panel property
Svyatoslav Ryhel [Sat, 7 Feb 2026 18:10:13 +0000 (20:10 +0200)] 
ARM: tegra: lg-x3: fix panel property

Rename renesas,inversion to renesas,column-inversion according to latest
schema.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agovideo: ltl106hl02: adjust power supply name
Svyatoslav Ryhel [Sat, 7 Feb 2026 18:08:53 +0000 (20:08 +0200)] 
video: ltl106hl02: adjust power supply name

Rename vdd-supply to power-supply according to the latest schema.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agovideo: r61307: adjust property name
Svyatoslav Ryhel [Sat, 7 Feb 2026 18:07:03 +0000 (20:07 +0200)] 
video: r61307: adjust property name

Rename renesas,inversion to renesas,column-inversion according to latest
schema.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agoinput: cpcap_pwrbutton: simplify parent verification
Svyatoslav Ryhel [Sat, 7 Feb 2026 18:43:11 +0000 (20:43 +0200)] 
input: cpcap_pwrbutton: simplify parent verification

Check for 'cpcap' within the compatible string, as various CPCAP
compositions always include this component.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agoinput: cpcap_pwrbutton: set default keycode fallback
Svyatoslav Ryhel [Sat, 7 Feb 2026 18:26:21 +0000 (20:26 +0200)] 
input: cpcap_pwrbutton: set default keycode fallback

Set a default fallback value if no keycode is defined

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agopower: cpcap: make regulator node names case independent
Svyatoslav Ryhel [Sat, 7 Feb 2026 10:46:25 +0000 (12:46 +0200)] 
power: cpcap: make regulator node names case independent

The Linux kernel CPCAP driver uses uppercase regulator node names, while
this driver uses lowercase. Since regulator names can be case-insensitive,
update the driver to support both uppercase and lowercase node names.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agopower: pmic: cpcap: add Mapphone and Mot compatibles
Svyatoslav Ryhel [Sat, 7 Feb 2026 10:00:34 +0000 (12:00 +0200)] 
power: pmic: cpcap: add Mapphone and Mot compatibles

Add Mapphone and Mot compatibles supported by Linux kernel.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agopower: regulator: cpcap: remove bit_offset_from_cpcap_lowest_voltage
Svyatoslav Ryhel [Fri, 6 Feb 2026 14:33:38 +0000 (16:33 +0200)] 
power: regulator: cpcap: remove bit_offset_from_cpcap_lowest_voltage

The bit_offset_from_cpcap_lowest_voltage value was inherited from the
downstream kernel as a quirk. With the correct voltage table, it is no
longer needed. An additional benefit is that SW1, SW2, and SW4 now share
the same voltage table.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agopwm: tegra: properly calculate pulse and frequency divider fields
Ion Agorria [Tue, 3 Feb 2026 11:29:59 +0000 (13:29 +0200)] 
pwm: tegra: properly calculate pulse and frequency divider fields

The pulse width field requires better precision during calculation. Add a
proper frequency divider calculation based on the PWM clock instead of
hardcoding it to 1.

Signed-off-by: Ion Agorria <ion@agorria.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agopwm: tegra: fix pulse_width calculation
Jonas Schwöbel [Tue, 11 Mar 2025 22:11:47 +0000 (23:11 +0100)] 
pwm: tegra: fix pulse_width calculation

The pulse_width is expressed as N/256. A 100% duty cycle is only possible
when multiplied by 256 instead of 255.

Signed-off-by: Jonas Schwöbel <jonasschwoebel@yahoo.de>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agopwm: tegra: add set_invert PWM operation
Jonas Schwöbel [Tue, 11 Mar 2025 22:06:46 +0000 (23:06 +0100)] 
pwm: tegra: add set_invert PWM operation

Add active-low support to the PWM controller, useful for active-low
pwm-leds.

Signed-off-by: Jonas Schwöbel <jonasschwoebel@yahoo.de>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agopwm: tegra: add probe function
Jonas Schwöbel [Tue, 11 Mar 2025 22:01:20 +0000 (23:01 +0100)] 
pwm: tegra: add probe function

When PWM config was updated the clock was restarted which caused loss of
previous configuration of other channels. Further this fixes a bug/hang
that can happen when set_enable was called before set_config.

Signed-off-by: Jonas Schwöbel <jonasschwoebel@yahoo.de>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agoARM: tegra: ap: add debug prints for unknown SKU
Ion Agorria [Tue, 27 Jan 2026 09:27:33 +0000 (11:27 +0200)] 
ARM: tegra: ap: add debug prints for unknown SKU

Add debug log prints with a message that SKU is unknown.

Signed-off-by: Ion Agorria <ion@agorria.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agoARM: tegra: ap: add default fallback for Tegra20 SKU
Ion Agorria [Tue, 27 Jan 2026 09:32:20 +0000 (11:32 +0200)] 
ARM: tegra: ap: add default fallback for Tegra20 SKU

Until now all Tegra chips except Tegra20 had a fallback if SKU is not
known. This caused issues previously when certain SKU wasn't known. Add a
fallback for Tegra20 aligning it with other Tegra SoC generations.

Signed-off-by: Ion Agorria <ion@agorria.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agoARM: tegra: ap: add support T20 A04 SKU id
Ion Agorria [Tue, 27 Jan 2026 09:18:36 +0000 (11:18 +0200)] 
ARM: tegra: ap: add support T20 A04 SKU id

Add definition for Tegra20 SKU 0x4 / A04 found in Sony Tablet P.

Signed-off-by: Ion Agorria <ion@agorria.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agodoc: board: tegra: improve documentation
Svyatoslav Ryhel [Thu, 8 Jan 2026 09:57:10 +0000 (11:57 +0200)] 
doc: board: tegra: improve documentation

Remove redundant chapters, clarify and reword confusing sections.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
4 weeks agoMerge patch series "bootm: Clean up arch-specific, pre-OS clean-up"
Tom Rini [Thu, 19 Mar 2026 00:36:50 +0000 (18:36 -0600)] 
Merge patch series "bootm: Clean up arch-specific, pre-OS clean-up"

Simon Glass <sjg@chromium.org> says:

Each arch does something slightly different before booting the OS. Some
archs even do different things depending on the CPU type.

It is quite hard to know what actually happens in the final milliseconds
before the OS boot.

This series attempts to start cleaning up U-Boot in this area.

The basic intent is to create a new bootm_final() function which can be
called by all archs. It provides some flags for a couple of necessary
variations but otherwise it is generic.

All architectures are converted over to use this new function.

board_quiesce_devices() is moved into bootm_final() so that all archs
benefit from it.

This series fixes a bug in device_remove() is fixed where removing a
parent with specialised flags (e.g. DM_REMOVE_ACTIVE_ALL) could leave
children activated, since they do not match the flags. This fixes is
needed to avoid bootm_final() causing test failures on sandbox.

Future work could take this a little further:
- Convert EFI loader to use the same function
- Improve comments for cleanup_before_linux() across architectures
- Support fake-run tracing on all archs

Link: https://lore.kernel.org/r/20260306023638.2678886-1-sjg@chromium.org
4 weeks agosandbox: Call bootm_final()
Simon Glass [Fri, 6 Mar 2026 02:36:26 +0000 (19:36 -0700)] 
sandbox: Call bootm_final()

Add a call to bootm_final() before the simulated kernel jump. This
adds the "Starting kernel" message, bootstage tracking,
board_quiesce_devices() and dm_remove_devices_active() which were not
previously called on sandbox.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agoxtensa: Call bootm_final()
Simon Glass [Fri, 6 Mar 2026 02:36:25 +0000 (19:36 -0700)] 
xtensa: Call bootm_final()

Add a call to bootm_final() before jumping to the kernel. This adds
the "Starting kernel" message, bootstage tracking,
board_quiesce_devices() and dm_remove_devices_active() which were not
previously called on Xtensa.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agosh: Call bootm_final()
Simon Glass [Fri, 6 Mar 2026 02:36:24 +0000 (19:36 -0700)] 
sh: Call bootm_final()

Add a call to bootm_final() before jumping to the kernel. This adds
the "Starting kernel" message, bootstage tracking,
board_quiesce_devices() and dm_remove_devices_active() which were not
previously called on SH.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agonios2: Call bootm_final()
Simon Glass [Fri, 6 Mar 2026 02:36:23 +0000 (19:36 -0700)] 
nios2: Call bootm_final()

Add a call to bootm_final() before jumping to the kernel. This adds
the "Starting kernel" message, bootstage tracking,
board_quiesce_devices() and dm_remove_devices_active() which were not
previously called on Nios2.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agom68k: Call bootm_final()
Simon Glass [Fri, 6 Mar 2026 02:36:22 +0000 (19:36 -0700)] 
m68k: Call bootm_final()

Add a call to bootm_final() before jumping to the kernel. This adds
the "Starting kernel" message, bootstage tracking,
board_quiesce_devices() and dm_remove_devices_active() which were not
previously called on m68k.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Acked-by: Angelo Dureghello <angelo@kernel-space.org>
Tested-by: Angelo Dureghello <angelo@kernel-space.org>
Acked-by: Kuan-Wei Chiu <visitorckw@gmail.com>
4 weeks agopowerpc: Call bootm_final()
Simon Glass [Fri, 6 Mar 2026 02:36:21 +0000 (19:36 -0700)] 
powerpc: Call bootm_final()

Replace the open-coded bootstage_fdt_add_report() and
bootstage_report() with a call to bootm_final(). This also adds the
"Starting kernel" message, board_quiesce_devices() and
dm_remove_devices_active() which were not previously called on
PowerPC.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agomips: Call bootm_final()
Simon Glass [Fri, 6 Mar 2026 02:36:20 +0000 (19:36 -0700)] 
mips: Call bootm_final()

Replace the open-coded bootstage_fdt_add_report() and
bootstage_report() with a call to bootm_final(). This also adds the
"Starting kernel" message, board_quiesce_devices() and
dm_remove_devices_active() which were not previously called on MIPS.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
4 weeks agomicroblaze: Call bootm_final()
Simon Glass [Fri, 6 Mar 2026 02:36:19 +0000 (19:36 -0700)] 
microblaze: Call bootm_final()

Replace the open-coded printf and bootstage_mark_name with a call to
bootm_final(). This also adds board_quiesce_devices() and
dm_remove_devices_active() which were not previously called on
MicroBlaze.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agoarc: Call bootm_final()
Simon Glass [Fri, 6 Mar 2026 02:36:18 +0000 (19:36 -0700)] 
arc: Call bootm_final()

Replace the open-coded printf and bootstage_mark_name with a call to
bootm_final(). This also adds board_quiesce_devices() and
dm_remove_devices_active() which were not previously called on ARC.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agoarm: Call bootm_final()
Simon Glass [Fri, 6 Mar 2026 02:36:17 +0000 (19:36 -0700)] 
arm: Call bootm_final()

The ARM announce_and_cleanup() duplicates the common pre-boot steps.
Replace it with a call to bootm_final().

Drop the ARM weak board_quiesce_devices() definition since it is now
called from bootm_final() and the generic weak definition in bootm.h
is used instead.

Note that the printf() ordering changes slightly: it now prints before
bootstage processing rather than after, matching x86 and RISC-V.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 weeks agobootm: Stash bootstage data in bootm_final()
Simon Glass [Fri, 6 Mar 2026 02:36:16 +0000 (19:36 -0700)] 
bootm: Stash bootstage data in bootm_final()

ARM stashes bootstage data to a known memory location before booting,
so the kernel can pick it up. Add this to bootm_final() so all
architectures benefit from it.

The bootstage_stash_default() function is a no-op when bootstage or
stashing is disabled.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 weeks agoriscv: Call bootm_final()
Simon Glass [Fri, 6 Mar 2026 02:36:15 +0000 (19:36 -0700)] 
riscv: Call bootm_final()

The RISC-V announce_and_cleanup() duplicates the common pre-boot
steps. Replace it with a call to bootm_final().

Move board_quiesce_devices() into bootm_final() so it is available to
all architectures. Drop the RISC-V weak definition and header
declaration since the generic one in bootm.h is used instead.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 weeks agox86: Call bootm_final()
Simon Glass [Fri, 6 Mar 2026 02:36:14 +0000 (19:36 -0700)] 
x86: Call bootm_final()

The x86 code in bootm_announce_and_cleanup() is very similar to the new
bootm_final() function, so just use the latter.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agobootm: Create bootm_final() for pre-boot cleanup
Simon Glass [Fri, 6 Mar 2026 02:36:13 +0000 (19:36 -0700)] 
bootm: Create bootm_final() for pre-boot cleanup

There are various functions which announce that booting is imminent and
do related preparation. Most of these are arch-specific.

In practice, most archs do a similar thing. It would be better to
have a common function, with perhaps some events for things that are
really arch- and board-specific.

Create a new bootm_final() function with the common pre-boot steps:
printing the "Starting kernel" message, recording bootstage data,
optionally writing bootstage to the FDT and printing a report, and
removing active devices.

Be careful to avoid using BIT() macros which are not available with host
tools.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 weeks agobootstage: Add some missing dummy functions
Simon Glass [Fri, 6 Mar 2026 02:36:12 +0000 (19:36 -0700)] 
bootstage: Add some missing dummy functions

Neither bootstage_fdt_add_report() nor bootstage_report() has a dummy
double for when bootstage is disabled. Add them.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 weeks agodm: Remove children when parent is removed by flags
Simon Glass [Fri, 6 Mar 2026 02:36:11 +0000 (19:36 -0700)] 
dm: Remove children when parent is removed by flags

When dm_remove_devices_active() removes devices using specialised flags
like DM_REMOVE_ACTIVE_ALL, a parent device may match (e.g. MMC has
DM_FLAG_OS_PREPARE) while its children do not. This deactivates the
parent but leaves children activated, an inconsistent state.

Later, when uclass_destroy() calls device_remove() with DM_REMOVE_NORMAL
on the already-deactivated parent, it returns early without touching the
children. The subsequent device_unbind() then fails because the children
are still activated.

Fix this by dropping only the DM_REMOVE_ACTIVE_ALL requirement for child
removal when the parent is being removed. This ensures children are
removed along with their parent, while still preserving other flags like
DM_REMOVE_NON_VITAL so that vital devices remain protected.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agodm: Move flags_remove() check before child removal
Simon Glass [Fri, 6 Mar 2026 02:36:10 +0000 (19:36 -0700)] 
dm: Move flags_remove() check before child removal

Move the flags_remove() call before device_chld_remove() and save the
result in a separate variable. This is just a refactoring with no
behaviour change, preparing for the next commit which needs to know
whether the parent will be removed before deciding how to remove its
children.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agoMerge patch series "led: remove legacy API"
Tom Rini [Wed, 18 Mar 2026 19:13:57 +0000 (13:13 -0600)] 
Merge patch series "led: remove legacy API"

Quentin Schulz <quentin.schulz@cherry.de> says:

This migrates the last user of the legacy LED API, IMX233-OLinuXino and
net/bootp.c, to the modern LED framework.

I do have concern about being able to use BOOTP in SPL? In which case, I
should probably add an additional check on CONFIG_IS_ENABLED(LED) in
addition to IS_ENABLED(CONFIG_LED_BOOT)?

I haven't tested this as I do not own an IMX233-OLinuXino, so please
give this a try if you own this device.

Then, since there's no user left of this legacy API, it is entirely
removed.

Link: https://lore.kernel.org/r/20251120-legacy-led-removal-v1-0-369d44338358@cherry.de
4 weeks agoled: remove legacy API
Quentin Schulz [Thu, 20 Nov 2025 12:48:06 +0000 (13:48 +0100)] 
led: remove legacy API

No user of the legacy LED API anymore (except Sunxi with the PinePhone
but that is now a Sunxi-specific implementation), so let's remove
anything related.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
4 weeks agoled: migrate last legacy LED user (olinuxino+net) to modern LED framework
Quentin Schulz [Thu, 20 Nov 2025 12:48:05 +0000 (13:48 +0100)] 
led: migrate last legacy LED user (olinuxino+net) to modern LED framework

This migrates the last user of the legacy LED API, IMX233-OLinuXino, to
the modern LED framework.

The current implementation does the following:
 - lit the LED when booting,
 - turn off the LED the moment a BOOTP packet is received,

The first step is easily reproduced by using the
/options/u-boot/boot-led property to point at the LED. Unfortunately,
the boot-led is only lit by U-Boot proper at the very end of the boot
process, much later than currently. We can however force the LED on
whenever the GPIO LED driver is bound by marking the LED as
default-state = "on", and this happens slightly before board_init() is
called. We then do not need /options/u-boot/boot-led property for that
anymore.

However, the second step relies on /options/u-boot/boot-led and
CONFIG_LED_BOOT being set to reproduce the same behavior and requires us
to migrate net/bootp.c to the modern LED framework at the same time to
keep bisectability.

I couldn't figure out how to map CONFIG_LED_STATUS_BIT=778 to an actual
GPIO on the SoC but according to the schematics[1] only one LED is
present. I couldn't also map the SoC pin number to an actual GPIO from
the IMX23 manual, but there's already one GPIO LED specified in the
Device Tree so my guess is all of those are one and the same.

This was only build tested as I do not own this device.

[1] https://github.com/OLIMEX/OLINUXINO/blob/master/HARDWARE/iMX233-OLinuXino-Mini/1.%20Latest%20hardware%20revision/iMX233-OLINUXINO-MINI%20hardware%20revision%20E/iMX233-OLINUXINO-MINI_Rev_E.pdf

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
4 weeks agoMerge tag 'mediatek-for-master-2026-03-17' of https://source.denx.de/u-boot/custodian...
Tom Rini [Wed, 18 Mar 2026 17:07:18 +0000 (11:07 -0600)] 
Merge tag 'mediatek-for-master-2026-03-17' of https://source.denx.de/u-boot/custodians/u-boot-mediatek

* A fix for mt7622 infracfg and pericfg clocks that were unusable.

4 weeks agoMerge patch series "update MAINTAINERS for PWM LED"
Tom Rini [Wed, 18 Mar 2026 17:06:15 +0000 (11:06 -0600)] 
Merge patch series "update MAINTAINERS for PWM LED"

Quentin Schulz <foss+uboot@0leil.net> says:

The entry is named LED while it only matches PWM LED binding and driver,
so rename it to PWM LED.

Ivan's email is bouncing, so mark the PWM LED entry as orphaned.

Link: https://lore.kernel.org/r/20260303-pwm-led-orphan-v1-0-54d14a430cb7@cherry.de
4 weeks agoMAINTAINERS: make PWM LED orphan
Quentin Schulz [Tue, 3 Mar 2026 11:16:21 +0000 (12:16 +0100)] 
MAINTAINERS: make PWM LED orphan

Ivan's mail is bouncing, so update the entry status.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
4 weeks agoMAINTAINERS: rename LED into PWM LED
Quentin Schulz [Tue, 3 Mar 2026 11:16:20 +0000 (12:16 +0100)] 
MAINTAINERS: rename LED into PWM LED

It clearly only lists PWM LED driver and bindings so we should have the
entry reflect that.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
4 weeks agoimage-fit: Fix mismatched parameter type in comment
Kunihiko Hayashi [Wed, 4 Mar 2026 07:51:00 +0000 (16:51 +0900)] 
image-fit: Fix mismatched parameter type in comment

The functions use 'ulong', however, the comments said 'uint32_t'.
Update the comments to match the prototype.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 weeks agoMerge tag 'u-boot-imx-next-20260318' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Wed, 18 Mar 2026 14:45:37 +0000 (08:45 -0600)] 
Merge tag 'u-boot-imx-next-20260318' 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/29557

- Add support for i.MX952.
- Add support for XPI1 on imx943_evk.

4 weeks agoMerge tag 'dm-next-18mar26' of git://git.denx.de/u-boot-dm into next
Tom Rini [Wed, 18 Mar 2026 14:39:58 +0000 (08:39 -0600)] 
Merge tag 'dm-next-18mar26' of git://git.denx.de/u-boot-dm into next

Binman test-file reorganisation
Binman EFI-capsule PKCS11 support

4 weeks agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sunxi into...
Tom Rini [Wed, 18 Mar 2026 14:39:15 +0000 (08:39 -0600)] 
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sunxi into next

For once, replacing the legacy LED API with a more lean alternative,
just for sunxi's SPL. IIUC, this would be one step closer to dropping
this deprecated subsystem altogether.
Also adding two DRAM cleanups for the A133 SoC. There is a third patch
which requires some changes, will care about that later.

Gitlab CI passed, and I booted that briefly on an A133 board and some
board with a GPIO controlled power LED.

4 weeks agoMerge tag 'mediatek-for-next-2026-03-17' of https://source.denx.de/u-boot/custodians...
Tom Rini [Wed, 18 Mar 2026 14:37:41 +0000 (08:37 -0600)] 
Merge tag 'mediatek-for-next-2026-03-17' of https://source.denx.de/u-boot/custodians/u-boot-mediatek into next

- A fix for mt8188 clock oscillator rates.
- New driver for mt8189 clocks.
- The rest is a first wave of a larger effort to refactor and clean up the
  mediatek clocks to replace various hacks that built up over time with
  something that is easier to understand and maintain.

4 weeks agoMerge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-riscv into...
Tom Rini [Wed, 18 Mar 2026 14:37:03 +0000 (08:37 -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/29548
- board: starfive: Add Xunlong OrangePi RV
- board: starfive: Add VisionFive 2 Lite
- board: beagle: Add BeagleV-Fire

4 weeks agotest: binman: Add test for pkcs11 signed capsule
Wojciech Dubowik [Fri, 20 Feb 2026 09:15:16 +0000 (10:15 +0100)] 
test: binman: Add test for pkcs11 signed capsule

Test pkcs11 URI support for UEFI capsule generation. Both
public certificate and private key are used over pkcs11
protocol.
Pkcs11-tool has been introduced as softhsm tool doesn't have
functionality to import certificates in commonly distributed
version (only in the latest).

Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@mt.com>
Reviewed-by: Simon Glass <simon.glass@canonical.com>
4 weeks agobinman: DTS: Add dump-signature option for capsules
Wojciech Dubowik [Fri, 20 Feb 2026 09:15:15 +0000 (10:15 +0100)] 
binman: DTS: Add dump-signature option for capsules

Mkeficapsule can dump signature for signed capsules. It can
be used in test to validate signature i.e. with openssl.
Add an entry for device tree node.

Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@mt.com>
Reviewed-by: Simon Glass <simon.glass@canonical.com>
4 weeks agobinman: Add dump signature option to mkeficapsule
Wojciech Dubowik [Fri, 20 Feb 2026 09:15:14 +0000 (10:15 +0100)] 
binman: Add dump signature option to mkeficapsule

It will be used to capsule signature verification.

Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@mt.com>
Reviewed-by: Simon Glass <simon.glass@canonical.com>
4 weeks agotools: mkeficapsule: Fix dump signature long option
Wojciech Dubowik [Fri, 20 Feb 2026 09:15:13 +0000 (10:15 +0100)] 
tools: mkeficapsule: Fix dump signature long option

Only short option has been present. Also rename dump_sig
to dump-sig to match with other parameter names.

Fixes: 16abff246b40 ("tools: mkeficapsule: add firmware image signing")
Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@mt.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
4 weeks agobinman: Accept pkcs11 URI tokens for capsule updates
Wojciech Dubowik [Fri, 20 Feb 2026 09:15:12 +0000 (10:15 +0100)] 
binman: Accept pkcs11 URI tokens for capsule updates

With pkcs11 support in mkeficapsule we can now accept URI
tokens and not only files.

Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@mt.com>
Reviewed-by: Simon Glass <simon.glass@canonical.com>
4 weeks agotools: mkeficapsule: Add support for pkcs11
Wojciech Dubowik [Fri, 20 Feb 2026 09:15:11 +0000 (10:15 +0100)] 
tools: mkeficapsule: Add support for pkcs11

With pkcs11 support it's now possible to specify keys
with URI format. To use this feature the filename must
begin "pkcs11:.." and have valid URI pointing to certificate
and private key in HSM.

The environment variable PKCS11_MODULE_PATH must point to the
right pkcs11 provider i.e. with softhsm:
export PKCS11_MODULE_PATH=<path>/libsofthsm2.so

Example command line:
tools/mkeficapsule --monotonic-count 1 \
 --private-key "pkcs11:token=EX;object=capsule;type=private;pin-source=pin.txt" \
 --certificate "pkcs11:token=EX;object=capsule;type=cert;pin-source=pin.txt" \
 --index 1 \
 --guid XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX \
 "capsule-payload" \
 "capsule.cap"

Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@mt.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
4 weeks agobinman: doc: Update binman_tests.rst for subdirectory layout
Simon Glass [Fri, 6 Mar 2026 18:12:51 +0000 (11:12 -0700)] 
binman: doc: Update binman_tests.rst for subdirectory layout

Update the guidance for adding new tests to describe the subdirectory
structure instead of the numbering scheme.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agobinman: Drop the allow_failures parameter from run_test_coverage()
Simon Glass [Fri, 6 Mar 2026 18:12:50 +0000 (11:12 -0700)] 
binman: Drop the allow_failures parameter from run_test_coverage()

The allow_failures parameter in run_test_coverage() is no longer used
by any caller.

Drop it.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agobinman: Remove the coverage allow_failures list
Simon Glass [Fri, 6 Mar 2026 18:12:49 +0000 (11:12 -0700)] 
binman: Remove the coverage allow_failures list

Now that iMX8 has full coverage the allow_failures list in
RunTestCoverage() is no longer needed.

Drop the list.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agobinman: test: Fix code coverage for iMX8 and cst bintool
Simon Glass [Fri, 6 Mar 2026 18:12:48 +0000 (11:12 -0700)] 
binman: test: Fix code coverage for iMX8 and cst bintool

Three files are currently missing test coverage: nxp_imx8mcst,
nxp_imx8mimage and cst

Add test methods to cover all missing code paths, trying to reuse the
same .dts files where possible.

This brings all three files to 100% coverage.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agobinman: test: Move shared key files to test/security/
Simon Glass [Fri, 6 Mar 2026 18:12:47 +0000 (11:12 -0700)] 
binman: test: Move shared key files to test/security/

Move key.key and key.pem into the security/ subdirectory. These are
used by security, vendor, and capsule tests but security is the most
natural home for key material. Update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agobinman: test: Move FIT signing test data to test/fit/
Simon Glass [Fri, 6 Mar 2026 18:12:46 +0000 (11:12 -0700)] 
binman: test: Move FIT signing test data to test/fit/

Move the signing-related test data (keys, certificates, OpenSSL and
SoftHSM2 configuration, dummy engine source) into the fit/ subdirectory
alongside the FIT DTS test files. Drop the 340_ prefix from files that
had it. Update the Makefile and all ftest.py references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agobinman: test: Move x86 binary test data to test/x86/
Simon Glass [Fri, 6 Mar 2026 18:12:45 +0000 (11:12 -0700)] 
binman: test: Move x86 binary test data to test/x86/

Move descriptor.bin, fitimage.bin.gz and ifwi.bin.gz into the x86/
subdirectory alongside the x86 DTS test files and update all
references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agobinman: test: Move remaining test files to test/entry/
Simon Glass [Fri, 6 Mar 2026 18:12:44 +0000 (11:12 -0700)] 
binman: test: Move remaining test files to test/entry/

Move the remaining 60 or so test files into an entry/ subdirectory.
These cover general entry types and features: entry args, fill, text,
env, compress, replace, template, collection, ELF, overlap, listing,
sections, symlink, TEE OS, and other miscellaneous entries. Drop the
numeric prefixes and update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 weeks agobinman: test: Move symbol test files to test/symbols/
Simon Glass [Fri, 6 Mar 2026 18:12:43 +0000 (11:12 -0700)] 
binman: test: Move symbol test files to test/symbols/

Move about 10 test files for binman symbol patching into a symbols/
subdirectory. Drop the numeric prefixes and the redundant symbols_
filename prefix, and update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 weeks agobinman: test: Move vendor-specific test files to test/vendor/
Simon Glass [Fri, 6 Mar 2026 18:12:42 +0000 (11:12 -0700)] 
binman: test: Move vendor-specific test files to test/vendor/

Move about 20 test files for vendor-specific platform support (TI, NXP
i.MX, Renesas R-Car, Rockchip, PowerPC MPC85xx) into a vendor/
subdirectory. Drop the numeric prefixes and update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agobinman: test: Move UEFI capsule test files to test/capsule/
Simon Glass [Fri, 6 Mar 2026 18:12:41 +0000 (11:12 -0700)] 
binman: test: Move UEFI capsule test files to test/capsule/

Move about a dozen test files for UEFI capsule creation (signed,
versioned, accept, revert) into a capsule/ subdirectory. Drop the
numeric prefixes and the redundant capsule_ filename prefix, and
update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 weeks agobinman: test: Move FIP/TF-A test files to test/fip/
Simon Glass [Fri, 6 Mar 2026 18:12:40 +0000 (11:12 -0700)] 
binman: test: Move FIP/TF-A test files to test/fip/

Move about 15 test files for ARM Trusted Firmware FIP, ATF BL31, SCP,
OpenSBI, and BL1 entries into a fip/ subdirectory. Drop the numeric
prefixes and the redundant fip_ filename prefix, and update all
references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agobinman: test: Move mkimage test files to test/mkimage/
Simon Glass [Fri, 6 Mar 2026 18:12:39 +0000 (11:12 -0700)] 
binman: test: Move mkimage test files to test/mkimage/

Move about a dozen test files for mkimage entries into a mkimage/
subdirectory. Drop the numeric prefixes and the redundant mkimage_
filename prefix, and update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 weeks agobinman: test: Move ChromeOS test files to test/cros/
Simon Glass [Fri, 6 Mar 2026 18:12:38 +0000 (11:12 -0700)] 
binman: test: Move ChromeOS test files to test/cros/

Move about 10 test files for ChromeOS entries (GBB, vblock, FMAP)
into a cros/ subdirectory. Drop the numeric prefixes and update all
references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 weeks agobinman: test: Move CBFS test files to test/cbfs/
Simon Glass [Fri, 6 Mar 2026 18:12:37 +0000 (11:12 -0700)] 
binman: test: Move CBFS test files to test/cbfs/

Move about a dozen test files for Coreboot File System entries into a
cbfs/ subdirectory. Drop the numeric prefixes and the redundant cbfs_
filename prefix, and update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 weeks agobinman: test: Move security test files to test/security/
Simon Glass [Fri, 6 Mar 2026 18:12:36 +0000 (11:12 -0700)] 
binman: test: Move security test files to test/security/

Move about 20 test files for signing, encryption, hash, pre-load,
x509, and Xilinx bootgen entries into a security/ subdirectory. Drop
the numeric prefixes and update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agobinman: test: Move blob test files to test/blob/
Simon Glass [Fri, 6 Mar 2026 18:12:35 +0000 (11:12 -0700)] 
binman: test: Move blob test files to test/blob/

Move about a dozen test files for blob, blob-ext, blob-ext-list,
fake-blob, and blob-symbol entries into a blob/ subdirectory. Drop
the numeric prefixes and the redundant blob_ filename prefix, and
update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 weeks agobinman: test: Move FDT/fdtmap test files to test/fdt/
Simon Glass [Fri, 6 Mar 2026 18:12:34 +0000 (11:12 -0700)] 
binman: test: Move FDT/fdtmap test files to test/fdt/

Move about 30 test files for FDT update, fdtmap, DTB compression,
alternates, and bootph into an fdt/ subdirectory. Drop the numeric
prefixes and the redundant fdt_ filename prefix, and update all
references.

Remove the unused no_alt_format.dts which has no references in any
test.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 weeks agobinman: test: Move FIT image test files to test/fit/
Simon Glass [Fri, 6 Mar 2026 18:12:33 +0000 (11:12 -0700)] 
binman: test: Move FIT image test files to test/fit/

Move about 40 test files for FIT images (signing, external data,
split-elf, encryption, alignment, firmware loadables, templates) into
a fit/ subdirectory. Drop the numeric prefixes and the redundant fit_
filename prefix, and update all references.

Rename the three signature.dts variants to have unique names:
signature.dts, signature_multi_key.dts and signature_no_nodes.dts.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agobinman: test: Move x86 and Intel test files to test/x86/
Simon Glass [Fri, 6 Mar 2026 18:12:32 +0000 (11:12 -0700)] 
binman: test: Move x86 and Intel test files to test/x86/

Move about 40 test files for x86 and Intel platform support (ROM,
microcode, ME, IFWI, FSP, descriptor, reset16, start16, FIT) into an
x86/ subdirectory. Drop the numeric prefixes and the redundant x86_
filename prefix, and update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 weeks agobinman: test: Move U-Boot variant test files to test/xpl/
Simon Glass [Fri, 6 Mar 2026 18:12:31 +0000 (11:12 -0700)] 
binman: test: Move U-Boot variant test files to test/xpl/

Move about a dozen test files for U-Boot image variants (SPL, TPL,
VPL, DTB, nodtb, bss-pad) into an xpl/ subdirectory. Drop the
numeric prefixes and the redundant u_boot_ filename prefix, and
update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 weeks agobinman: test: Move pack/layout test files to test/pack/
Simon Glass [Fri, 6 Mar 2026 18:12:30 +0000 (11:12 -0700)] 
binman: test: Move pack/layout test files to test/pack/

Move about 50 test files related to basic layout, packing, alignment,
sections, and image structure into a pack/ subdirectory. Drop the
numeric prefixes from the filenames and update all references in
ftest.py, entry_test.py, and binman_tests.rst

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 weeks agobinman: test: Capture output from tests with warnings
Simon Glass [Fri, 6 Mar 2026 18:12:29 +0000 (11:12 -0700)] 
binman: test: Capture output from tests with warnings

Tests are supposed to run silently and capture any output produced.

Fix testRemoveTemplate() so that the message about the missing openssl
is captured, along with the invalid-images message.

Fix testNxpImx9Image() as well, since it is expected that container.img
and bl31.bin are missing.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 weeks agoclk: mediatek: set CLK_PARENT_XTAL on fixed factor clocks
David Lechner [Fri, 6 Mar 2026 22:05:55 +0000 (16:05 -0600)] 
clk: mediatek: set CLK_PARENT_XTAL on fixed factor clocks

Explicitly set the CLK_PARENT_XTAL flag for fixed factor clocks.

Prior to this, it was assumed that clock ID 0 was CLK_XTAL and other
IDs used a different clock tree when no parent was explicitly set.
Making the parent explicit will allow us to remove this confusing
behavior in the future.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260306-clk-mtk-remove-clk-bypass-xtal-flag-v2-8-b253b49f17b2@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 weeks agoclk: mediatek: move common PARENT macros to header
David Lechner [Fri, 6 Mar 2026 22:05:51 +0000 (16:05 -0600)] 
clk: mediatek: move common PARENT macros to header

Move repeated *_PARENT() macros from chip-specific .c files to the
common mtk-clk.h file.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260306-clk-mtk-remove-clk-bypass-xtal-flag-v2-4-b253b49f17b2@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 weeks agoclk: mediatek: add MUX_GATE_MIXED macros
David Lechner [Fri, 6 Mar 2026 22:05:50 +0000 (16:05 -0600)] 
clk: mediatek: add MUX_GATE_MIXED macros

Add new MUX_GATE_MIXED and MUX_GATE_MIXED_FLAGS macros for mixed parent
muxes that have a gate. These will be used in a few drivers where we
already have this type of mux clocks.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260306-clk-mtk-remove-clk-bypass-xtal-flag-v2-3-b253b49f17b2@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 weeks agoclk: mediatek: rename CLK_DOMAIN_SCPSYS
David Lechner [Fri, 6 Mar 2026 22:05:49 +0000 (16:05 -0600)] 
clk: mediatek: rename CLK_DOMAIN_SCPSYS

Rename CLK_DOMAIN_SCPSYS to CLK_MUX_DOMAIN_SCPSYS to make it more clear
that this flag only applies to MUX clocks and not other clock types.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260306-clk-mtk-remove-clk-bypass-xtal-flag-v2-2-b253b49f17b2@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 weeks agoclk: mediatek: rename HAVE_RST_BAR
David Lechner [Fri, 6 Mar 2026 22:05:48 +0000 (16:05 -0600)] 
clk: mediatek: rename HAVE_RST_BAR

Rename HAVE_RST_BAR to CLK_PLL_HAVE_RST_BAR. This makes it more clear
that this flag only applies to PLL clocks. Also add a blank line between
CLK_PLL_HAVE_RST_BAR and the CLK_MUX_ macros to keep the grouping of the
flags consistent.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260306-clk-mtk-remove-clk-bypass-xtal-flag-v2-1-b253b49f17b2@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 weeks agosunxi: a133: dram: Align parameters terminology with Allwinner
Paul Kocialkowski [Wed, 28 Jan 2026 23:57:17 +0000 (00:57 +0100)] 
sunxi: a133: dram: Align parameters terminology with Allwinner

There is a mistmatch between Allwinner's dram_para BSP definitions and the
parameters names in mainline u-boot for TPR1-3. What we call TPR1 is actually
MR22 while TPR2 is TPR0 and TPR3 is TPR1. MR22 does get written to the
corresponding register. This only concerns LPDDR4 support.

Introduce a new Kconfig entry for MR22 and proceed with the rename.
Update the only config currently using it.

See the list of parameters from the Allwinner BSP at the end of:
https://linux-sunxi.org/A133/DRAMC

Note that the H616/H6 code is coherent with this new TPR0 definition
(and does not use TPR1 and MR22).

Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Sponsored-by: MEC Electronics GmbH <https://www.mec.at/>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
4 weeks agosunxi: a133: dram: Fix PHY dx delays offsets and add dmb
Paul Kocialkowski [Wed, 28 Jan 2026 23:57:16 +0000 (00:57 +0100)] 
sunxi: a133: dram: Fix PHY dx delays offsets and add dmb

Some of the offsets for the DRAM PHY dx delays are wrong (as compared
to the H616 code and the reference binary) since the
mctl_phy_dx_delay0_inner function does not perform the correct
calculation for some of them.

Introduce a mctl_phy_dx_delay0_inner0 to fix the incorrect offsets and
rename the existing function to mctl_phy_dx_delay0_inner1 for the
offsets it correctly handles.

Also add memory barriers that are also present in the H616 code while
at it.

This fixes detection of 4 GiB DRAM on some boards using LPDDR4.

Signed-off-by: Paul Kocialkowski <paulk@sys-base.io>
Sponsored-by: MEC Electronics GmbH <https://www.mec.at/>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
4 weeks agoclk: mediatek: add clock driver for MT8189
Chris Chen [Tue, 3 Mar 2026 19:54:55 +0000 (13:54 -0600)] 
clk: mediatek: add clock driver for MT8189

Add new clock driver for MedaiTek MT8189 and compatible SoCs.

Signed-off-by: Chris Chen <chris-qj.chen@mediatek.com>
Co-developed-by: David Lechner <dlechner@baylibre.com>
Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Link: https://patch.msgid.link/20260303-mtk-mt8189-clocks-v4-7-ee85f8dd2f0d@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 weeks agodt-bindings: clock: Add MediaTek MT8189 clock
Irving-CH Lin [Tue, 3 Mar 2026 19:54:54 +0000 (13:54 -0600)] 
dt-bindings: clock: Add MediaTek MT8189 clock

Add IDs for the clocks of MediaTek MT8189 SoC.

Signed-off-by: Irving-CH Lin <irving-ch.lin@mediatek.com>
Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260303-mtk-mt8189-clocks-v4-6-ee85f8dd2f0d@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 weeks agoclk: mediatek: add MUX_MIXED_CLR_SET_UPD_FLAGS() macro
David Lechner [Tue, 3 Mar 2026 19:54:53 +0000 (13:54 -0600)] 
clk: mediatek: add MUX_MIXED_CLR_SET_UPD_FLAGS() macro

Add a new MUX_MIXED_CLR_SET_UPD_FLAGS() macro. This is the same as
MUX_CLR_SET_UPD_FLAGS() except that it uses the parent_flags member
of the union instead of parent.

This will be needed by the incoming mt8189 clock driver.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Link: https://patch.msgid.link/20260303-mtk-mt8189-clocks-v4-5-ee85f8dd2f0d@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 weeks agoclk: mediatek: add CLK_PARENT_EXT
David Lechner [Tue, 3 Mar 2026 19:54:52 +0000 (13:54 -0600)] 
clk: mediatek: add CLK_PARENT_EXT

Add support for external clock parent type in MediaTek clock driver to
allow multiple external clock sources.

This is intended to eventually replace CLK_PARENT_XTAL which only allows
a single external clock source. Replacing CLK_PARENT_XTAL is not trivial
since it would required touching all chip-specific drivers. So that is
saved for another day.

Before this change, the only way to add additional external clocks was
to use a clock ID mapping and add the external clock in the fixed clocks
portion of the CLK_PARENT_TOPCKGEN clocks. After this change, such hacks
are no longer necessary and external clocks can be added in a cleaner
way.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260303-mtk-mt8189-clocks-v4-4-ee85f8dd2f0d@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 weeks agoclk: mediatek: add mtk_clk_id_is_* helper functions
David Lechner [Tue, 3 Mar 2026 19:54:51 +0000 (13:54 -0600)] 
clk: mediatek: add mtk_clk_id_is_* helper functions

Add helper functions to check if a clock ID corresponds to a particular
clock type (mux, gate, fdiv). This simplifies the code and makes it more
readable.

Additionally, it removes the restriction that fdivs_offs < muxes_offs <
gates_offs by making the checking more strict in some places. This will
allow future drivers to not have to define a mapping to meet this
requirement.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260303-mtk-mt8189-clocks-v4-3-ee85f8dd2f0d@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 weeks agoclk: mediatek: refactor parent rate lookup functions
David Lechner [Tue, 3 Mar 2026 19:54:50 +0000 (13:54 -0600)] 
clk: mediatek: refactor parent rate lookup functions

Refactor duplicate parent rate lookup code into a common function.

Instead of relying on rules like X is always the parent of Y, we use
the driver ops pointer to make sure we are actually getting the correct
parent clock device. This allows the same function to be called from
different clock types and will allow future chip-specific clock drivers
to not have to follow the rules as strictly.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260303-mtk-mt8189-clocks-v4-2-ee85f8dd2f0d@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 weeks agoclk: mediatek: use correct struct type for infrasys clocks
David Lechner [Tue, 3 Mar 2026 19:54:49 +0000 (13:54 -0600)] 
clk: mediatek: use correct struct type for infrasys clocks

Fix the private data type struct type in a couple of infrasys clock
functions.

struct mtk_cg_priv is a superset of struct mtk_clk_priv and has the same
layout at the beginning so there was no compile errors or runtime bugs.
This could only be found by inspecting the code.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260303-mtk-mt8189-clocks-v4-1-ee85f8dd2f0d@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 weeks agoclk: mediatek: mt8188: fix CLK_TOP_CLK{13,26}M rates
David Lechner [Fri, 6 Mar 2026 00:45:11 +0000 (18:45 -0600)] 
clk: mediatek: mt8188: fix CLK_TOP_CLK{13,26}M rates

Change CLK_TOP_CLK13M rate from 130_000_000 to 13_000_000 and
CLK_TOP_CLK26M rate from 260_000_000 to 26_000_000. As the names
suggest, these clocks are 13/26 MHz, not 130/260 MHz.

Fixes: 5e9bbbdab003 ("clk: mediatek: mt8188: add missing fixed clock")
Fixes: 11f3cc46322a ("clk: mediatek: add MT8188 clock driver")
Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Tested-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260305-clk-mtk-fix-mt8188-rates-v2-1-0ce2b5212775@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 weeks agoclk: mediatek: mt7622: fix infracfg and pericfg clock operations
Daniel Golle [Wed, 4 Mar 2026 03:53:38 +0000 (03:53 +0000)] 
clk: mediatek: mt7622: fix infracfg and pericfg clock operations

The MT7622 infracfg and pericfg drivers both use
mtk_common_clk_infrasys_init() for probe, which populates struct
mtk_clk_priv and stores gate definitions in the clk_tree. However,
both drivers were incorrectly wired to mtk_clk_gate_ops which expects
struct mtk_cg_priv with separately populated gates/num_gates/gates_offs
fields from mtk_common_clk_gate_init().

Since those fields were never set, any attempt to enable an infracfg or
pericfg gate clock (e.g. CLK_INFRA_TRNG) would fail with -EINVAL.

Switch both to mtk_clk_infrasys_ops and struct mtk_clk_priv to match
the init function.

Fixes: 72ab603b201 ("clk: mediatek: add driver for MT7622")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: David Lechner <dlechner@baylibre.com>
Signed-off-by: David Lechner <dlechner@baylibre.com>
5 weeks agoriscv: Add support for BeagleV-Fire
Jamie Gibbons [Fri, 16 Jan 2026 14:08:30 +0000 (14:08 +0000)] 
riscv: Add support for BeagleV-Fire

Bring U-Boot support for the BeagleV-Fire by adding a device tree and
supporting board files etc.

Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
5 weeks agodoc: imx95_evk: Fix the binary name
Fabio Estevam [Fri, 13 Mar 2026 21:00:05 +0000 (18:00 -0300)] 
doc: imx95_evk: Fix the binary name

U-Boot produces flash.bin as the final boot image when building for
the i.MX95 EVK, but the documentation refers to imx-boot-imx95.bin.

Update the instructions to use flash.bin when copying the image to
the SD card.

Signed-off-by: Fabio Estevam <festevam@nabladev.com>