]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
4 weeks agocommon/spl: use memmove() in load_simple_fit()
Rasmus Villemoes [Tue, 19 Aug 2025 10:55:54 +0000 (12:55 +0200)] 
common/spl: use memmove() in load_simple_fit()

I had trouble booting some am335x boards (both
beagleboneblack and a custom board). SPL would start just fine, and
apparently load U-Boot proper, but it would hang when jumping to
U-Boot.

While debugging, I stumbled on this memcpy() which from code
inspection very much looked to have overlapping src and dst, and
indeed a simple printf revealed

  calling memcpy(0x8087bf68, 0x8087bf80, 0xf7f8)

Now, it will always be with src > dst, our memcpy()
implementations "most likely" do forward-copying, and in the end it
turned out that this wasn't the culprit after all [*].

But to avoid me or others barking up the wrong tree in the future, and
because this use of memcpy() is technically undefined, use memmove()
instead.

[*] That was 358d1cc232c ("spl: Align FDT load address"), which has
since been fixed in master but not the v2025.07 I worked of by
52caad0d14a ("ARM: Align image end to 8 bytes to fit DT alignment").

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@gmx.de>
4 weeks agoboot: Add LEGACY_IMAGE_FORMAT to DISTRO_DEFAULTS
Tom Rini [Mon, 18 Aug 2025 16:51:19 +0000 (10:51 -0600)] 
boot: Add LEGACY_IMAGE_FORMAT to DISTRO_DEFAULTS

At this time there are still major Linux distributions which by default
boot using LEGACY_IMAGE_FORMAT type scripts. Add this option to
DISTRO_DEFAULTS to ensure these platforms can still boot.

Fixes: d780965927d4 ("Drop the special am335x_boneblack_vboot target")
Reported-by: Sascha Silbe <sascha-pgp@silbe.org>
Tested-By: Sascha Silbe <sascha-pgp@silbe.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
4 weeks agomisc: fs_loader: Initialize actread variable
Alif Zakuan Yuslaimi [Mon, 18 Aug 2025 02:55:02 +0000 (19:55 -0700)] 
misc: fs_loader: Initialize actread variable

Initialize the actread variable to prevent undefined behavior
that can occur if the variable is used before being assigned a
value.

This will help to prevent potential issues, especially if
actread is used (e.g., read, incremented, or returned) before
being explicitly set elsewhere in the code.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
4 weeks agodrivers: rtc: max313xx: Add delay after setting date
Ben Hoelker [Sun, 17 Aug 2025 22:30:00 +0000 (10:30 +1200)] 
drivers: rtc: max313xx: Add delay after setting date

The MAX31331 was not correctly updating the seconds when
setting the time and would return the seconds previously set.

Like the MAX31343, a delay needs to be added after setting the
time. Wait one second after writing so that the date command shows the
correct time.

Reviewed-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Reviewed-by: Bruce Adams <bruce.adams@alliedtelesis.co.nz>
Signed-off-by: Ben Hoelker <ben.hoelker@alliedtelesis.co.nz>
4 weeks agoMerge tag 'v2025.10-rc4' into next
Tom Rini [Mon, 8 Sep 2025 16:37:22 +0000 (10:37 -0600)] 
Merge tag 'v2025.10-rc4' into next

Prepare v2025.10-rc4

4 weeks agoPrepare v2025.10-rc4 v2025.10-rc4
Tom Rini [Mon, 8 Sep 2025 16:17:59 +0000 (10:17 -0600)] 
Prepare v2025.10-rc4

Signed-off-by: Tom Rini <trini@konsulko.com>
4 weeks agoMAINTAINERS: Add entry for DesignWare XGMAC driver
Boon Khai Ng [Tue, 26 Aug 2025 03:05:05 +0000 (11:05 +0800)] 
MAINTAINERS: Add entry for DesignWare XGMAC driver

Add a MAINTAINERS entry for the DesignWare XGMAC network driver to
ensure future patches are properly routed for review and support.

Signed-off-by: Boon Khai Ng <boon.khai.ng@altera.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 weeks agoconfigs: Resync with savedefconfig
Tom Rini [Mon, 8 Sep 2025 14:51:08 +0000 (08:51 -0600)] 
configs: Resync with savedefconfig

Resync all defconfig files using qconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
4 weeks agoMerge patch series "AM57 boot fixes"
Tom Rini [Mon, 8 Sep 2025 14:44:54 +0000 (08:44 -0600)] 
Merge patch series "AM57 boot fixes"

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

This patch series migrates from .h to .env format for am57xx/dra7xx.
Also, we do relevant changes so that the fdtfile can be set from C code.

logs : https://gist.github.com/anuragdutta731/82560cc9bc958ca70a25a95a7031eeea

Link: https://lore.kernel.org/r/20250901061659.986164-1-a-dutta@ti.com
4 weeks agoboard: ti: dra7xx: Set fdtfile from C code instead of findfdt script
Anurag Dutta [Mon, 1 Sep 2025 06:16:59 +0000 (11:46 +0530)] 
board: ti: dra7xx: Set fdtfile from C code instead of findfdt script

We now can provide a map and have the standard fdtfile variable set from
code itself. This allows for bootstd to "just work".

Signed-off-by: Anurag Dutta <a-dutta@ti.com>
4 weeks agoboard: ti: am57xx: Set fdtfile from C code instead of findfdt script
Anurag Dutta [Mon, 1 Sep 2025 06:16:58 +0000 (11:46 +0530)] 
board: ti: am57xx: Set fdtfile from C code instead of findfdt script

We now can provide a map and have the standard fdtfile variable set from
code itself. This allows for bootstd to "just work".

Signed-off-by: Anurag Dutta <a-dutta@ti.com>
4 weeks agoboard: ti: am57xx: Change to using .env
Anurag Dutta [Mon, 1 Sep 2025 06:16:57 +0000 (11:46 +0530)] 
board: ti: am57xx: Change to using .env

Move to using .env file for setting up environment variables
for am57xx and dra7xx.

Signed-off-by: Anurag Dutta <a-dutta@ti.com>
4 weeks agoinclude: env: ti: Use .env for environment variables
Anurag Dutta [Mon, 1 Sep 2025 06:16:56 +0000 (11:46 +0530)] 
include: env: ti: Use .env for environment variables

Add omap common environment variables to .env. We retain the old-style C
environment .h files to maintain compatibility with other omap devices that
have not moved to using .env yet.

Signed-off-by: Anurag Dutta <a-dutta@ti.com>
4 weeks agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh
Tom Rini [Mon, 8 Sep 2025 14:33:30 +0000 (08:33 -0600)] 
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh

4 weeks agoarm64: renesas: r8a779g3: Use $loadaddr in bootcmd on Retronix R-Car V4H Sparrow...
Marek Vasut [Wed, 3 Sep 2025 11:23:23 +0000 (13:23 +0200)] 
arm64: renesas: r8a779g3: Use $loadaddr in bootcmd on Retronix R-Car V4H Sparrow Hawk board

Avoid use of hard-coded address in boot command, instead use $loadaddr
which is the default load address. This improves consistency of the
environment on this board.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
4 weeks agoARM: renesas: Enable CONFIG_ENV_VARS_UBOOT_CONFIG on all boards
Marek Vasut [Wed, 3 Sep 2025 11:23:57 +0000 (13:23 +0200)] 
ARM: renesas: Enable CONFIG_ENV_VARS_UBOOT_CONFIG on all boards

The CONFIG_ENV_VARS_UBOOT_CONFIG extends U-Boot environment with
variables arch/board/board_name/soc/vendor, which can be used to
discern different devices from each other based purely on U-Boot
environment variables.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
4 weeks agoMerge tag 'u-boot-imx-next-20250905a' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Fri, 5 Sep 2025 16:48:05 +0000 (10:48 -0600)] 
Merge tag 'u-boot-imx-next-20250905a' 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/27573

- Several improvements for kontron-sl-mx6ul.
- Add Phytec imx8mp-libra-fpsc board
- Add redundant environment support for imx8m evk boards.
- Several improvements for phycore-imx93.

4 weeks agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-samsung
Tom Rini [Fri, 5 Sep 2025 14:15:16 +0000 (08:15 -0600)] 
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-samsung

- Fix issues reported by smatch
- exynos4210-origen cleanups
- e850-96 improvements

4 weeks agoAdd imx8mp-libra-fpsc board
Benjamin Hahn [Tue, 2 Sep 2025 06:07:32 +0000 (08:07 +0200)] 
Add imx8mp-libra-fpsc board

Add new imx8mp-libra-fpsc board.
Bootph tags as well as USB device tree nodes are in u-boot.dtsi for now
and will be removed when upstreamed.
The Libra i.MX 8M Plus FPSC is a single board computer. It uses an i.MX
8M Plus FPSC [1] System on Module which utilizes the FPSC standard [2].

[1] https://www.phytec.eu/en/produkte/system-on-modules/phycore-imx-8m-plus-fpsc
[2] https://www.phytec.eu/en/produkte/system-on-modules/fpsc

Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
Reviewed-by: Teresa Remmet <t.remmet@phytec.de>
Tested-by: Teresa Remmet <t.remmet@phytec.de>
Signed-off-by: Yannic Moog <y.moog@phytec.de>
4 weeks agoimx8m[m,n,p]_evk: Add redundant environment support
Fabio Estevam [Fri, 29 Aug 2025 19:28:15 +0000 (16:28 -0300)] 
imx8m[m,n,p]_evk: Add redundant environment support

For reliable Over The Air update, it is recommended that redundant
environment is used.

Add redundant environment support for the i.MX8M EVK boards.

While at it, increase the environment size and adjust the offset.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
4 weeks agoboard: phytec: phycore-imx93: Use CONFIG_PHYTEC_EEPROM_BUS
Primoz Fiser [Thu, 28 Aug 2025 08:20:08 +0000 (10:20 +0200)] 
board: phytec: phycore-imx93: Use CONFIG_PHYTEC_EEPROM_BUS

Switch to use CONFIG_PHYTEC_EEPROM_BUS instead of the hard coded value
of 2 for the EEPROM I2C bus for both SPL and U-Boot proper. Possible
since commit 88a1816a9b4e ("board: phytec: common: Add PHYTEC_EEPROM_BUS
to Kconfig").

Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
4 weeks agoconfigs: imx93-phycore_defconfig: Disable CONFIG_AHAB_BOOT
Primoz Fiser [Thu, 28 Aug 2025 08:20:07 +0000 (10:20 +0200)] 
configs: imx93-phycore_defconfig: Disable CONFIG_AHAB_BOOT

By default, lets disable configuration option CONFIG_AHAB_BOOT=y on the
phyCORE-i.MX93 based boards. This option is only used in the secureboot
context which is not provided by default anyway. Lets remove it from the
defconfig to not give false impressions it is supported out of the box
for this board.

On the other hand, in the context of PHYTEC secureboot, this option is
selected by the distro which enables CONFIG_AHAB_BOOT among other secure
boot related options and tweaks needed to properly support it.

Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
Reviewed-by: Martin Schwan <m.schwan@phytec.de>
4 weeks agoarm: dts: imx93-phyboard-segin-u-boot: Clean-up already upstream nodes
Primoz Fiser [Thu, 21 Aug 2025 06:46:14 +0000 (08:46 +0200)] 
arm: dts: imx93-phyboard-segin-u-boot: Clean-up already upstream nodes

Clean-up "imx93-phyboard-segin-u-boot.dtsi" internal device-tree from
nodes already part of the upstream device-tree since commit 79f3e77133bd
("Subtree merge tag 'v6.16-dts' of dts repo [1] into dts/upstream"). No
functional change is made with this commit.

Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
4 weeks agotools: imx8image: Make imx8image_check_params() static
Ilias Apalodimas [Tue, 12 Aug 2025 06:08:06 +0000 (09:08 +0300)] 
tools: imx8image: Make imx8image_check_params() static

We are trying to enable -Wmissing-prototypes and this functiion is only
used locally. Mark it as static.

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Acked-by: Peng Fan <peng.fan@nxp.com>
4 weeks agoimx: kontron-sl-mx6ul: Switch to OF_UPSTREAM
Frieder Schrempf [Mon, 25 Aug 2025 13:54:35 +0000 (15:54 +0200)] 
imx: kontron-sl-mx6ul: Switch to OF_UPSTREAM

Use the upstream devicetrees instead of the local ones.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
[fabio: Remove imx6ul-kontron-bl.dtb and imx6ull-kontron-bl.dtb from Makefile]

4 weeks agoimx: kontron-sl-mx6ul: Force default environment for serial loader boot
Eberhard Stoll [Mon, 25 Aug 2025 13:54:34 +0000 (15:54 +0200)] 
imx: kontron-sl-mx6ul: Force default environment for serial loader boot

In case of booting from serial loader (USB) we want to always use the
default environment in order to get a defined state that is
independent of any environment stored in persistent memory.

This way we can avoid corruption of the boot process during
development and manufacturing by existing environment settings in
flash.

Signed-off-by: Eberhard Stoll <eberhard.stoll@kontron.de>
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx6ul: Enable CONFIG_ENV_IS_NOWHERE
Eberhard Stoll [Mon, 25 Aug 2025 13:54:33 +0000 (15:54 +0200)] 
imx: kontron-sl-mx6ul: Enable CONFIG_ENV_IS_NOWHERE

For some cases it is beneficial to not store the environment in
persistent memory, but instead use the default environment and
keep it in volatile RAM only. Allow this by enabling
CONFIG_ENV_IS_NOWHERE.

Signed-off-by: Eberhard Stoll <eberhard.stoll@kontron.de>
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx6ul: Enable watchdog and sysreset
Frieder Schrempf [Mon, 25 Aug 2025 13:54:32 +0000 (15:54 +0200)] 
imx: kontron-sl-mx6ul: Enable watchdog and sysreset

Enable the watchdog and sysreset drivers and the wdt command.
This also fixes the non-working 'reset' command.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx6ul: Autostart fastboot if booted from USB
Annette Kobou [Mon, 25 Aug 2025 13:54:31 +0000 (15:54 +0200)] 
imx: kontron-sl-mx6ul: Autostart fastboot if booted from USB

For booting via USB we want to automatically start the fastboot
command in order to access the board via uuu or other tools.

This allows for easier bringup of new boards during development
and manufacturing.

Signed-off-by: Annette Kobou <annette.kobou@kontron.de>
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx6ul: Enable redundant environment
Oualid Derouiche [Mon, 25 Aug 2025 13:54:30 +0000 (15:54 +0200)] 
imx: kontron-sl-mx6ul: Enable redundant environment

This aligns the MTD partitions on the SPI NOR with the kernel
devicetree and enables the redundant environment.

Signed-off-by: Oualid Derouiche <oualid.derouiche@kontron.de>
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx6ul: Enable fastboot support
Annette Kobou [Mon, 25 Aug 2025 13:54:29 +0000 (15:54 +0200)] 
imx: kontron-sl-mx6ul: Enable fastboot support

Enable support for fastboot commands via USB.

Signed-off-by: Annette Kobou <annette.kobou@kontron.de>
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx6ul: Enable second ethernet interface
Frieder Schrempf [Mon, 25 Aug 2025 13:54:28 +0000 (15:54 +0200)] 
imx: kontron-sl-mx6ul: Enable second ethernet interface

This ensures both interfaces can be used in U-Boot and both MAC addresses
are exported to the Linux kernel devicetree.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx6ul: Set CONFIG_SDP_LOADADDR to fix SDP boot
Frieder Schrempf [Mon, 25 Aug 2025 13:54:27 +0000 (15:54 +0200)] 
imx: kontron-sl-mx6ul: Set CONFIG_SDP_LOADADDR to fix SDP boot

We need to set CONFIG_SDP_LOADADDR to a valid RAM address to make
SDP boot work. Use the end of the DDR (256 MiB minimum) as other
boards do.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx6ul: Enable standard boot and disable legacy distro boot
Frieder Schrempf [Mon, 25 Aug 2025 13:54:26 +0000 (15:54 +0200)] 
imx: kontron-sl-mx6ul: Enable standard boot and disable legacy distro boot

Disable the legacy distro boot and use bootstd instead.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx6ul: Fix include statements for local header
Frieder Schrempf [Mon, 25 Aug 2025 13:54:25 +0000 (15:54 +0200)] 
imx: kontron-sl-mx6ul: Fix include statements for local header

The header from the local directory should use double quotes instead
of brackets. Otherwise the compiler might not search the local
directory.

Fixes: 93935acc6f1d ("imx: imx6ul: kontron-sl-mx6ul: Select correct boot and env device")
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoMerge branch 'staging' of https://source.denx.de/u-boot/custodians/u-boot-tegra
Tom Rini [Wed, 3 Sep 2025 21:21:14 +0000 (15:21 -0600)] 
Merge branch 'staging' of https://source.denx.de/u-boot/custodians/u-boot-tegra

Branch contains minor improvents for ASUS SL101 and Jetson Nano along
with support for Microsoft Surface 2 tablet.

4 weeks agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh
Tom Rini [Wed, 3 Sep 2025 21:19:15 +0000 (15:19 -0600)] 
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh

- Fix an issue reported by smatch in rzg2l pinctrl driver

5 weeks agospi: exynos: Remove extra term from test
Andrew Goodbody [Mon, 1 Sep 2025 15:13:14 +0000 (16:13 +0100)] 
spi: exynos: Remove extra term from test

In spi_rx_tx there comes a test for execution of a code block that
allows execution if rxp is not NULL or stopping is true. However all the
code in this block relies on rxp being valid so allowing entry just if
stopping is true does not make sense. So remove this from the test
expression leaving just a NULL check for rxp.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 weeks agopinctrl: rzg2l: Variable may not have been assigned to
Andrew Goodbody [Thu, 7 Aug 2025 14:41:18 +0000 (15:41 +0100)] 
pinctrl: rzg2l: Variable may not have been assigned to

In rzg2l_pinconf_set and rzg2l_get_pin_muxing if the call to
rzg2l_selector_decode fails then the variable pin may not have been
assigned to. Remove the use of pin from the error message. Also update
the error message to show the invalid selector used instead of port
which will be the error code returned.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Paul Barker <paul@pbarker.dev>
Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 weeks agoMerge patch series "memtest performance improvements"
Tom Rini [Tue, 2 Sep 2025 20:11:45 +0000 (14:11 -0600)] 
Merge patch series "memtest performance improvements"

Rasmus Villemoes <ravi@prevas.dk> says:

The first two patches make memtest run ~40x faster (when, as it should
be, dcache is disabled), with the second patch being responsible for
most of that. At least on the beagleboneblack which I used for
testing; other boards and configurations will likely see different
numbers.

This is for CONFIG_SYS_ALT_MEMTEST=y and
CONFIG_SYS_ALT_MEMTEST_BITFLIP=n; one could probably get a similar
improvement in the bitflip case since that also has a schedule() call
in the inner loop.

Link: https://lore.kernel.org/r/20250822181848.3325832-1-ravi@prevas.dk
5 weeks agomemtest: remove use of vu_long typedef in mem_test_alt
Rasmus Villemoes [Fri, 22 Aug 2025 18:18:48 +0000 (20:18 +0200)] 
memtest: remove use of vu_long typedef in mem_test_alt

Hiding a qualifier such as "volatile" inside a typedef makes the code
much harder to understand. Since addr and dummy being
volatile-qualified are important for the correctness of the test code,
make it more obvious by spelling it out as "volatile ulong".

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Tested-by: Anshul Dalal <anshuld@ti.com>
5 weeks agomemtest: only call schedule() once for every 256 words
Rasmus Villemoes [Fri, 22 Aug 2025 18:18:47 +0000 (20:18 +0200)] 
memtest: only call schedule() once for every 256 words

A function call itself for every word written or read+written in these
loops is bad enough. But since the memory test must be run with dcache
disabled, the schedule() call, traversing the linked list of
registered cyclic clients, and accessing the 'struct cyclic_info' for
each to see if any are due for a callback, is quite expensive. On a
beagleboneblack, testing a modest 16MiB region takes 2.5 minutes:

  => dcache off
  => time mtest 0x81000000 0x82000000 0 1
  Testing 81000000 ... 82000000:
  Iteration:      1
  Tested 1 iteration(s) with 0 errors.

  time: 2 minutes, 28.946 seconds

There is really no need for calling schedule() so frequently. It is
quite easy to limit the calls to once for every 256 words by using a
u8 variable. With that, the same test as above becomes 37 times
faster:

  => dcache off
  => time mtest 0x81000000 0x82000000 0 1
  Testing 81000000 ... 82000000:
  Iteration:      1
  Tested 1 iteration(s) with 0 errors.

  time: 4.052 seconds

Note that we are still making a total of

  3 loops * (4 * 2^20 words/loop) / (256 words/call) = 49152 calls

during those ~4000 milliseconds, so the schedule() calls are still
done less than 0.1ms apart.

These numbers are just for a beagleboneblack, other boards may have a
slower memory, but we are _two orders of magnitude_ away from
schedule() "only" being called at 100Hz, which is still more than
enough to ensure any watchdog is kept happy.

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Tested-by: Anshul Dalal <anshuld@ti.com>
5 weeks agomemtest: don't volatile-qualify local variables
Rasmus Villemoes [Fri, 22 Aug 2025 18:18:46 +0000 (20:18 +0200)] 
memtest: don't volatile-qualify local variables

It is obviously important that the addr pointer used to access the
memory region being tested is volatile-qualified, to prevent the
compiler from optimizing out the "write this value, read it back,
check that it is what we expect".

However, none of these auxiliary variables have any such need for,
effectively, being forced to live on the stack and cause each and
every reference to them to do a memory access.

This makes the memtest about 15% faster on a beagleboneblack.

Before:

  => dcache off
  => time mtest 0x81000000 0x81100000 0 1
  Testing 81000000 ... 81100000:
  Iteration:      1
  Tested 1 iteration(s) with 0 errors.

  time: 10.868 seconds

After:

  => dcache off
  => time mtest 0x81000000 0x81100000 0 1
  Testing 81000000 ... 81100000:
  Iteration:      1
  Tested 1 iteration(s) with 0 errors.

  time: 9.209 seconds

[Without the 'dcache off', there's no difference in the time, about
0.6s, but the memtest cannot usefully be done with dcache enabled.]

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Tested-by: Anshul Dalal <anshuld@ti.com>
5 weeks agoMerge tag 'mmc-power-next-2025-09-01' of https://source.denx.de/u-boot/custodians...
Tom Rini [Mon, 1 Sep 2025 20:32:00 +0000 (14:32 -0600)] 
Merge tag 'mmc-power-next-2025-09-01' of https://source.denx.de/u-boot/custodians/u-boot-mmc into next

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

- Update compatibles for PMICs used by exynos devices
- Support system reset and reset status for pca9450
- Fix for pca9450 LDO5 registers and drop deprecated sd-vsel-gpios
- Two minor fixes found by smatch

5 weeks agoMerge tag 'u-boot-rockchip-20250831' of https://source.denx.de/u-boot/custodians...
Tom Rini [Mon, 1 Sep 2025 15:50:01 +0000 (09:50 -0600)] 
Merge tag 'u-boot-rockchip-20250831' of https://source.denx.de/u-boot/custodians/u-boot-rockchip

CI: https://source.denx.de/u-boot/custodians/u-boot-rockchip/-/pipelines/27522

- New Board support:
  rk3588 Xunlong Orange Pi 5 Ultra;
  rk3588s GameForce Ace;
  rk3576 ArmSoM Sige5;

- rk3328 soc fixes;
- usb controller and phy fixes;
- new rk3328 ddr timing;
- other board level updates;

5 weeks agoMerge tag 'efi-2025-10-rc4' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Mon, 1 Sep 2025 13:50:36 +0000 (07:50 -0600)] 
Merge tag 'efi-2025-10-rc4' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request efi-2025-10-rc4.

CI:

* https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/27527

Documentation:

* Rephrasing and text corrections for buildman

UEFI:

* Serial: Use correct EFI status type
* Let EFI_HTTP_BOOT select CMD_DHCP
* Let EFI_VARIABLES_PRESEED depend on !COMPILE_TEST

5 weeks agoARM: exynos: pinmux: add newlines to debug messages
Henrik Grimler [Fri, 22 Aug 2025 18:54:40 +0000 (20:54 +0200)] 
ARM: exynos: pinmux: add newlines to debug messages

To make stdout messages easier to read and understand.

Signed-off-by: Henrik Grimler <henrik@grimler.se>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 weeks agoARM: exynos: pinmux: fix parentheses alignments
Henrik Grimler [Fri, 22 Aug 2025 18:54:39 +0000 (20:54 +0200)] 
ARM: exynos: pinmux: fix parentheses alignments

For multi-line commands the lines should preferably be aligned with
the opening parenthesis.

Signed-off-by: Henrik Grimler <henrik@grimler.se>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 weeks agoARM: exynos: use correct exynos4210-origen SoC in Kconfig
Henrik Grimler [Fri, 22 Aug 2025 18:54:38 +0000 (20:54 +0200)] 
ARM: exynos: use correct exynos4210-origen SoC in Kconfig

There exists both a Origen board based on exynos4210, and a board
based on exynos4412. U-boot only supports the one based on exynos
4210, but Kconfig string was accidentally written as Exynos4412 Origen
in previous migration to Kconfig. Fix the string to clear up
confusion, and to not give the impression that both types of Origen
boards are supported.

Fixes: 72df68cc6b73 ("exynos: kconfig: move board select menu and common settings")
Signed-off-by: Henrik Grimler <henrik@grimler.se>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 weeks agoboard: transformer-t20: add separate env for SL101
Svyatoslav Ryhel [Mon, 1 Sep 2025 05:43:40 +0000 (08:43 +0300)] 
board: transformer-t20: add separate env for SL101

SL101 unlike TF101/G has no Lid sensor, so lets add a separate env for
SL101 without Lid sensor used.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
5 weeks agoARM: tegra20: transformer: fix Hall sensor behavior
Svyatoslav Ryhel [Mon, 1 Sep 2025 05:50:13 +0000 (08:50 +0300)] 
ARM: tegra20: transformer: fix Hall sensor behavior

Hall sensor found in SL101 is not used for closed dock detection as on
TF101 or TF101G, it is used to detect if keyboard slider is out. To address
this, lets move Lid sensor switch into TF101/G trees and add Tablet mode
switch into SL101 tree.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
5 weeks agoconfigs: e850-96: Enable Ethernet
Sam Protsenko [Wed, 6 Aug 2025 22:27:10 +0000 (17:27 -0500)] 
configs: e850-96: Enable Ethernet

LAN9514 is a chip on E850-96 board which acts as a USB host hub and
Ethernet controller. It's controlled via USB lines when DWC3 is
configured to be in USB host role (by setting the "dr_mode" property to
"host" value in e850-96 dts file).

Enable network support and LAN9514 chip support. This makes Ethernet
functional on E850-96 board.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 weeks agoconfigs: e850-96: Enable USB host support
Sam Protsenko [Wed, 6 Aug 2025 22:27:09 +0000 (17:27 -0500)] 
configs: e850-96: Enable USB host support

Exynos850 SoC has a dual-role USB controller which can be configured in
USB host role. As it's the only one USB controller on the board, it's
shared between "device" USB connector (micro-USB) and host USB
connectors. The hardware automatically powers on the host related parts
when the micro-USB cable (for device role) is being disconnected. Also,
as U-Boot lacks dynamic USB role switching capability, the only way to
switch the role at the moment is to modify "dr_mode" property in
U-Boot's device tree file here:

    dts/upstream/src/arm64/exynos/exynos850-e850-96.dts

This won't affect the dynamic role switching later in Linux kernel, as a
separate (different) device tree blob is provided to the kernel.

Enable the USB host support and corresponding commands to make it
functional in E850-96 board.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 weeks agoconfigs: e850-96: Disable CONFIG_DEFAULT_FDT_FILE
Sam Protsenko [Wed, 6 Aug 2025 22:27:08 +0000 (17:27 -0500)] 
configs: e850-96: Disable CONFIG_DEFAULT_FDT_FILE

Linux kernel should use some separate device tree obtained from another
source anyway. For example the dtb file can be read from /boot directory
in eMMC rootfs partition, either by GRUB or U-Boot. Using U-Boot's
device tree blob to provide it to the kernel (when
CONFIG_DEFAULT_FDT_FILE is set and nobody else overrides this choice)
might lead to undesired effects when booting the OS. For example, if a
user sets "dr_mode" property to "host" value in U-Boot's dts to enable
USB host capabilities in U-Boot, it might confuse usb-conn-gpio driver
in Linux kernel later like this:

    platform connector: deferred probe pending: usb-conn-gpio:
    failed to get role switch

Disable CONFIG_DEFAULT_FDT_FILE option to avoid any possible confusion.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 weeks agoboard: samsung: e850-96: Add bootdev var to choose boot device
Sam Protsenko [Wed, 6 Aug 2025 22:27:07 +0000 (17:27 -0500)] 
board: samsung: e850-96: Add bootdev var to choose boot device

Provide a way for the user to select which storage to load the LDFW
firmware from, by setting the corresponding environment variables:
  - bootdev: block device interface name
  - bootdevnum: block device number
  - bootdevpart: partition number

This might be useful when the OS is flashed and booted from a different
storage device than eMMC (e.g. USB flash drive). In this case it should
be sufficient to just set:

    => setenv bootdev usb
    => env save

assuming that the USB drive layout follows the same partitioning scheme
as defined in $partitions.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 weeks agoboard: samsung: e850-96: Extract device info from fw loading code
Sam Protsenko [Wed, 6 Aug 2025 22:27:06 +0000 (17:27 -0500)] 
board: samsung: e850-96: Extract device info from fw loading code

Make it possible to provide the information about storage device where
LDFW firmware resides to the firmware loading routine. The firmware
loader code shouldn't have that data hard-coded anyway, and it also
allows for implementing more dynamic behavior later, like choosing the
storage device containing LDFW via some environment variables.

No functional change.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 weeks agoboard: samsung: e850-96: Configure PMIC regulators
Sam Protsenko [Wed, 6 Aug 2025 22:27:05 +0000 (17:27 -0500)] 
board: samsung: e850-96: Configure PMIC regulators

Make use of PMIC configuration routines and enable all LDOs that might
be useful for bootloader and kernel. The most crucial regulator being
enabled at the moment is LDO24 which provides power to LAN9514 chip.
That makes Ethernet controller and USB hub functional.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 weeks agoboard: samsung: e850-96: Add PMIC code
Sam Protsenko [Wed, 6 Aug 2025 22:27:04 +0000 (17:27 -0500)] 
board: samsung: e850-96: Add PMIC code

Add functions for configuring voltage regulators on S2MPU12 PMIC chip
for E850-96 board. The chip is accessed by commanding APM core (via
ACPM IPC protocol) to perform corresponding transfers over I3C bus.

The most important regulator being set up is LDO24 used for LAN9514 chip
power. As LAN9514 implements USB hub and Ethernet controller
functionality, it's crucial to enable and configure LDO24 to be able to
use it further. While at it, configure the rest of regulators that might
be needed later, both in the bootloader and in kernel.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 weeks agoboard: samsung: e850-96: Add ACPM code
Sam Protsenko [Wed, 6 Aug 2025 22:27:03 +0000 (17:27 -0500)] 
board: samsung: e850-96: Add ACPM code

Add functions to access I3C bus via APM (Active Power Management) core
by using ACPM IPC protocol. It will be further used for configuring PMIC
chip voltage regulators.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 weeks agoboard: samsung: e850-96: Set ethaddr
Sam Protsenko [Wed, 6 Aug 2025 22:27:02 +0000 (17:27 -0500)] 
board: samsung: e850-96: Set ethaddr

Set the environment variable for Ethernet MAC address (ethaddr). Use the
SoC ID to make sure it's unique. It'll be formatted in a way that
follows the consecutive style of the serial number ("serial#" variable),
i.e.:

    OTP_CHIPID0   = 0xf51c8113
    OTP_CHIPID1   = 0x236
    get_chip_id() = 0x236f51c8113
    serial#       = 00000236f51c8113
    ethaddr       = 02:36:f5:1c:81:13

where corresponding bytes of the MAC address are:

    mac_addr[0]   = 0x02   // OTP_CHIPID1[15:8]
    mac_addr[1]   = 0x36   // OTP_CHIPID1[7:0]
    mac_addr[2]   = 0xf5   // OTP_CHIPID0[31:24]
    mac_addr[3]   = 0x1c   // OTP_CHIPID0[23:16]
    mac_addr[4]   = 0x81   // OTP_CHIPID0[15:8]
    mac_addr[5]   = 0x13   // OTP_CHIPID0[7:0]

because OTP_CHIPID1 has only 16 significant bits (with actual ID
values), and all 32 bits of OTP_CHIPID0 are significant.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 weeks agousb: host: dwc3-of-simple: Add exynos850 compatible
Sam Protsenko [Wed, 6 Aug 2025 22:27:01 +0000 (17:27 -0500)] 
usb: host: dwc3-of-simple: Add exynos850 compatible

Enable support for Exynos850 SoC in DWC3 host glue layer driver.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 weeks agoclk: exynos: Fix always true test
Andrew Goodbody [Wed, 23 Jul 2025 16:04:41 +0000 (17:04 +0100)] 
clk: exynos: Fix always true test

In exynos7420_peric1_get_rate the variable ret is declared as an
'unsigned int' but is then used to receive the return value of
clk_get_by_index which returns an int. The value of ret is then tested
for being less than 0 which will always fail for an unsigned variable.
Fix this by declaring ret as an 'int' so that the test for the error
condition is valid.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 weeks agommc: core: drop space before newline in trace printf
Bhimeswararao Matsa [Fri, 29 Aug 2025 02:11:31 +0000 (07:41 +0530)] 
mmc: core: drop space before newline in trace printf

Remove unnecessary whitespace before '\n' in trace printf
format strings (checkpatch warning QUOTED_WHITESPACE_BEFORE_NEWLINE).

No functional change intended.

Signed-off-by: Bhimeswararao Matsa <bhimeswararao.matsa@gmail.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agommc: iproc_sdhci: Cannot test unsigned variable for negative
Andrew Goodbody [Wed, 30 Jul 2025 16:52:56 +0000 (17:52 +0100)] 
mmc: iproc_sdhci: Cannot test unsigned variable for negative

In sdhci_iproc_execute_tuning the variable tuning_loop_counter is
unsigned and therefore will always fail the test for it being less than
0. Fix this by changing the variable type to be s8.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agopower: pmic: pca9450: Add support for reset status
Primoz Fiser [Thu, 28 Aug 2025 11:24:05 +0000 (13:24 +0200)] 
power: pmic: pca9450: Add support for reset status

PCA9450 PMIC supports reading the reset status from the PWRON_STAT
register. Bits 7-4 give indication of the PMIC reset cause:

 - PWRON (BIT7) - Power ON triggered by PMIC_ON_REQ input line,
 - WDOGB (BIT6) - Boot after cold reset by WDOGB pin (watchdog reset),
 - SW_RST (BIT5) - Boot after cold reset initiated by the software,
 - PMIC_RST (BIT4) - Boot after PMIC_RST_B input line trigger.

Add support for reading reset status via the sysreset framework in a
convenient printable format.

Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
Reviewed-by: Paul Geurts <paul.geurts@prodrive-technologies.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agopower: pmic: pca9450: Add support for system reset
Primoz Fiser [Thu, 28 Aug 2025 11:24:04 +0000 (13:24 +0200)] 
power: pmic: pca9450: Add support for system reset

The family of PCA9450 PMICs have the ability to perform system resets.
Restarting via PMIC is preferred method of restarting the system as all
the peripherals are brought to a know state after a power-cycle. The
PCA9450 features a cold restart procedure which is initiated by an I2C
command 0x14 to the SW_RST register.

Support in Linux for restarting via PCA9450 PMIC has been added by
Linux commit 6157e62b07d9 ("regulator: pca9450: Add restart handler").

Now add support for it also in the U-Boot via sysreset framework.

Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
Reviewed-by: Paul Geurts <paul.geurts@prodrive-technologies.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agoboard: samsung: odroid: drop exynos_power_init
Henrik Grimler [Fri, 22 Aug 2025 18:33:33 +0000 (20:33 +0200)] 
board: samsung: odroid: drop exynos_power_init

exynos_power_init sets up regulators for the emmc and sdcard, but
these regulators are already marked as always-on and boot-on and hence
are handled already by the regulator-uclass. Since we currently try to
set them up twice we get error -114 (EALREADY) from exynos_power_init
on every boot:

    LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; enabling (ret: -114)
    LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; enabling (ret: -114)
    LDO21@TFLASH_2.8V: set 2800000 uV; enabling (ret: -114)

Remove the superfluous exynos_power_init to silence these errors.

Signed-off-by: Henrik Grimler <henrik@grimler.se>
Reviewed-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agoARM: dts: trats: rename max8997-pmic regulators node
Henrik Grimler [Fri, 22 Aug 2025 18:33:32 +0000 (20:33 +0200)] 
ARM: dts: trats: rename max8997-pmic regulators node

Linux uses just regulators { }; instead of voltage-regulators { };, so
this change aligns the DTSes found in the two projects.

The max8997 driver does not yet parse the regulators node, so we can
safely change its name without breaking anything.

Signed-off-by: Henrik Grimler <henrik@grimler.se>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agopower: pmic: max8997: drop maxim,max8997 compatible
Henrik Grimler [Fri, 22 Aug 2025 18:33:31 +0000 (20:33 +0200)] 
power: pmic: max8997: drop maxim,max8997 compatible

All u-boot users now use maxim,max8997-pmic instead, as does Linux's
DTSes, so we can now safely drop the maxim,max8997 compatible.

Signed-off-by: Henrik Grimler <henrik@grimler.se>
Reviewed-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agoARM: dts: exynos4210-trats: use maxim,max8997-pmic compatible
Henrik Grimler [Fri, 22 Aug 2025 18:33:30 +0000 (20:33 +0200)] 
ARM: dts: exynos4210-trats: use maxim,max8997-pmic compatible

Instead of maxim,max8997. Linux uses maxim,max8997-pmic, so with this
change we align the trats DTS with its linux counterpart.

Signed-off-by: Henrik Grimler <henrik@grimler.se>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agopower: pmic: max8997: support maxim,max8997-pmic compatible as well
Henrik Grimler [Fri, 22 Aug 2025 18:33:29 +0000 (20:33 +0200)] 
power: pmic: max8997: support maxim,max8997-pmic compatible as well

Linux's DTSes uses maxim,max8997-pmic, so check for this compatible
as well so that max8997 pmic driver can support both u-boot and
Linux's DTSes.

Signed-off-by: Henrik Grimler <henrik@grimler.se>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agopower: pmic: fix typo and capitalisation in max8997 Kconfig help msg
Henrik Grimler [Fri, 22 Aug 2025 18:33:28 +0000 (20:33 +0200)] 
power: pmic: fix typo and capitalisation in max8997 Kconfig help msg

To make the help message slightly easier to understand.

Signed-off-by: Henrik Grimler <henrik@grimler.se>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agoARM: dts: s5c1xx-goni: rename max8998-pmic regulators node
Henrik Grimler [Fri, 22 Aug 2025 18:33:27 +0000 (20:33 +0200)] 
ARM: dts: s5c1xx-goni: rename max8998-pmic regulators node

Linux uses just regulators { }; instead of voltage-regulators { };, so
this change aligns the DTSes found in the two projects.

The max8998 driver does not yet parse the regulators node, so we can
safely change its name without breaking anything.

Signed-off-by: Henrik Grimler <henrik@grimler.se>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agoARM: dts: exynos4210-universal_c210: rename max8998 regulators node
Henrik Grimler [Fri, 22 Aug 2025 18:33:26 +0000 (20:33 +0200)] 
ARM: dts: exynos4210-universal_c210: rename max8998 regulators node

Linux uses just regulators { }; instead of voltage-regulators { };, so
this change aligns the DTSes found in the two projects.

The max8998 driver does not yet parse the regulators node, so we can
safely change its name without breaking anything.

Signed-off-by: Henrik Grimler <henrik@grimler.se>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agopower: pmic: s2mps11: remove check for voltage-regulators node
Henrik Grimler [Fri, 22 Aug 2025 18:33:25 +0000 (20:33 +0200)] 
power: pmic: s2mps11: remove check for voltage-regulators node

All devicetrees that use s2mps11 driver have been converted to use
regulators { };, so we can safely drop the voltage-regulators fallback
check.

Signed-off-by: Henrik Grimler <henrik@grimler.se>
Reviewed-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agoARM: dts: exynos5422-odroidxu3: rename s2mps11 regulators node
Henrik Grimler [Fri, 22 Aug 2025 18:33:24 +0000 (20:33 +0200)] 
ARM: dts: exynos5422-odroidxu3: rename s2mps11 regulators node

With this both linux and u-boot uses the same node name, which
simplifies devicetree parsing in s2mps11 driver.

Signed-off-by: Henrik Grimler <henrik@grimler.se>
Reviewed-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agopower: pmic: s2mps11: look for both {voltage-,}regulators
Henrik Grimler [Fri, 22 Aug 2025 18:33:23 +0000 (20:33 +0200)] 
power: pmic: s2mps11: look for both {voltage-,}regulators

Linux's DTSes uses regulators { }; while u-boot's DTSes uses
voltage-regulators { };.  Look for regulators, and fallback to
voltage-regulators if not found, so that both type of DTSes can be
used with the driver.

Signed-off-by: Henrik Grimler <henrik@grimler.se>
Reviewed-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agoarm: dts: imx8mp-dhcom-som: Remove deprecated sd-vsel-gpios
Frieder Schrempf [Mon, 11 Aug 2025 13:12:02 +0000 (15:12 +0200)] 
arm: dts: imx8mp-dhcom-som: Remove deprecated sd-vsel-gpios

The sd-vsel-gpios property in the root of the PMIC node is deprecated
and therefore not parsed by the driver anymore. We can safely remove
this as it wasn't used anyway due to the pad not having the correct
pinmux settings.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agoarm: dts: imx8mp-data-modul-edm-sbc: Remove deprecated sd-vsel-gpios
Frieder Schrempf [Mon, 11 Aug 2025 13:12:01 +0000 (15:12 +0200)] 
arm: dts: imx8mp-data-modul-edm-sbc: Remove deprecated sd-vsel-gpios

The sd-vsel-gpios property in the root of the PMIC node is deprecated
and therefore not parsed by the driver anymore. We can safely remove
this as it wasn't used anyway due to the pad not having the correct
pinmux settings.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agopmic: pca9450: Handle hardware with fixed SD_VSEL for LDO5
Frieder Schrempf [Mon, 11 Aug 2025 13:12:00 +0000 (15:12 +0200)] 
pmic: pca9450: Handle hardware with fixed SD_VSEL for LDO5

There are two ways to set the output voltage of the LD05
regulator. First by writing to the voltage selection registers
and second by toggling the SD_VSEL signal.

Usually board designers connect SD_VSEL to the VSELECT signal
controlled by the USDHC controller, but in some cases the
signal is hardwired to a fixed low level (therefore selecting
3.3V as initial value for allowing to boot from the SD card).

In these cases, the voltage is only determined by the value
of the LDO5CTRL_L register. Introduce a property
nxp,sd-vsel-fixed-low to let the driver know that SD_VSEL
is low and there is no GPIO to actually get that
information from dynamically.

This is equivalent to the following change in Linux:

c8c1ab2c5cb7 ("regulator: pca9450: Handle hardware with fixed SD_VSEL for LDO5")

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agopmic: pca9450: Fix control register for LDO5
Frieder Schrempf [Mon, 11 Aug 2025 13:11:59 +0000 (15:11 +0200)] 
pmic: pca9450: Fix control register for LDO5

For LDO5 we need to be able to check the status of the SD_VSEL input in
order to know which control register is used. Read the status of the
SD_VSEL signal via GPIO and use the correct register accordingly.

To use this, the LDO5 node in the devicetree needs the sd-vsel-gpios
property to reference the GPIO that is used to read back the SD_VSEL
status internally. Please note that the SION bit in the IOMUX must be
set if the signal is muxed as VSELECT and controlled by the USDHC
controller.

This is equivalent to the following change in Linux:

3ce6f4f943dd ("regulator: pca9450: Fix control register for LDO5")

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agopmic: pca9450: Fix enable register for LDO5
Frieder Schrempf [Mon, 11 Aug 2025 13:11:58 +0000 (15:11 +0200)] 
pmic: pca9450: Fix enable register for LDO5

The LDO5 regulator has two configuration registers, but only
LDO5CTRL_L contains the bits for enabling/disabling the regulator.

This is equivalent to the following change in Linux:

f5aab0438ef1 ("regulator: pca9450: Fix enable register for LDO5")

Fixes: 326337fb005f ("pmic: pca9450: Add regulator driver")
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agoRevert "pmic: pca9450: Add optional SD_VSEL GPIO for LDO5"
Frieder Schrempf [Mon, 11 Aug 2025 13:11:57 +0000 (15:11 +0200)] 
Revert "pmic: pca9450: Add optional SD_VSEL GPIO for LDO5"

This reverts commit 2add0511757e2c5897a88b57c5ea8c912140e60f.

It turns out that all boards using the PCA9450 actually have the
SD_VSEL input connected to the VSELECT signal of the SoCs SD/MMC
interface. Therefore we don't need manual control for this signal
via GPIO and there aren't any users.

This is equivalent to the following change in Linux:

c73be62caabb ("Revert "regulator: pca9450: Add SD_VSEL GPIO for LDO5"")

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agopower: regulator: tps65910: Cannot test unsigned for being negative
Andrew Goodbody [Thu, 7 Aug 2025 16:35:22 +0000 (17:35 +0100)] 
power: regulator: tps65910: Cannot test unsigned for being negative

The code in tps65910_regulator.c treats the field supply in struct
tps65910_regulator_pdata as an int and even tests the value for being
negative so change it from a u32 to int so that the code all works as
expected.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 weeks agotest: Update logic for video test
Tom Rini [Mon, 18 Aug 2025 16:54:06 +0000 (10:54 -0600)] 
test: Update logic for video test

The video test here is specific to the sandbox SDL video driver, so only
build it when that is enabled rather than VIDEO is enabled.

Reported-by: Alison Chaiken <alison@she-devel.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoMerge patch series "power: regulator: Fix some Smatch reported issues"
Tom Rini [Fri, 29 Aug 2025 22:45:27 +0000 (16:45 -0600)] 
Merge patch series "power: regulator: Fix some Smatch reported issues"

Andrew Goodbody <andrew.goodbody@linaro.org> says:

Smatch reported some issues in the regulator drivers, mostly repeated
instances of testing an unsigned variable for being negative but also an
expression needing parenthesis to be interpreted as expected.

[trini: Drop 5/6 for now due to changes being requested on review]

Link: https://lore.kernel.org/r/20250807-pwr_regulator-v1-0-42a4105336ec@linaro.org
5 weeks agoMerge patch series "power: Address two Smatch reported issues"
Tom Rini [Fri, 29 Aug 2025 22:44:50 +0000 (16:44 -0600)] 
Merge patch series "power: Address two Smatch reported issues"

Andrew Goodbody <andrew.goodbody@linaro.org> says:

Smatch reported issues with two power drivers due to redundant code and
an unitialised variable.

Link: https://lore.kernel.org/r/20250807-power_misc-v1-0-2ac672f15461@linaro.org
5 weeks agopower: Tighten some power driver dependencies
Tom Rini [Mon, 4 Aug 2025 21:51:13 +0000 (15:51 -0600)] 
power: Tighten some power driver dependencies

The MediaTek mt6323 power driver cannot build without access to some
platform specific header files. Express that requirements in Kconfig as
well.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agopower: Split *POWER_LEGACY portion of <power/pmic.h> out to new header
Tom Rini [Fri, 4 Jul 2025 21:50:21 +0000 (15:50 -0600)] 
power: Split *POWER_LEGACY portion of <power/pmic.h> out to new header

The commends in include/power/pmic.h say that once SPL_DM_PMIC exists we
should update things. This has been true for some time, so let us update
this to have the legacy portions in their own header, which should not
be directly included. This cleans up the logic within the file too
slightly.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agopower: Correct dependencies on POWER_LEGACY
Tom Rini [Fri, 4 Jul 2025 21:50:20 +0000 (15:50 -0600)] 
power: Correct dependencies on POWER_LEGACY

The POWER_LEGACY option functionally depends on not having DM_PMIC
enabled, so add that here.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoarm: Fix swtiching typo
Simon Glass [Mon, 18 Aug 2025 06:47:15 +0000 (08:47 +0200)] 
arm: Fix swtiching typo

This should say 'switching', so fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
5 weeks agodoc: Capitalize the word Buildman whenever it's used as a proper noun
Adriano Carvalho [Mon, 25 Aug 2025 22:32:36 +0000 (23:32 +0100)] 
doc: Capitalize the word Buildman whenever it's used as a proper noun

This consistency reads a bit nicer.

Signed-off-by: Adriano Carvalho <adrianocarvalho.pt@gmail.com>
5 weeks agodoc: Rephrase to be more precise and less confusing (build)
Adriano Carvalho [Mon, 25 Aug 2025 22:32:35 +0000 (23:32 +0100)] 
doc: Rephrase to be more precise and less confusing (build)

It was "... doing the same build ... will not trigger a rebuild".

Signed-off-by: Adriano Carvalho <adrianocarvalho.pt@gmail.com>
5 weeks agodoc: Rephrase to read a bit nicer
Adriano Carvalho [Mon, 25 Aug 2025 22:32:34 +0000 (23:32 +0100)] 
doc: Rephrase to read a bit nicer

Reads better.

Signed-off-by: Adriano Carvalho <adrianocarvalho.pt@gmail.com>
5 weeks agodoc: Rephrase to be more clear
Adriano Carvalho [Mon, 25 Aug 2025 22:32:33 +0000 (23:32 +0100)] 
doc: Rephrase to be more clear

It might not be clear what is meant with "to make sure the shell leaves it alone".

Signed-off-by: Adriano Carvalho <adrianocarvalho.pt@gmail.com>
5 weeks agodoc: Rephrase in a simpler way
Adriano Carvalho [Mon, 25 Aug 2025 22:32:32 +0000 (23:32 +0100)] 
doc: Rephrase in a simpler way

It reads a bit nicer.

Signed-off-by: Adriano Carvalho <adrianocarvalho.pt@gmail.com>
5 weeks agodoc: Add riscv and unfold the list with the architecture/code name
Adriano Carvalho [Mon, 25 Aug 2025 22:32:31 +0000 (23:32 +0100)] 
doc: Add riscv and unfold the list with the architecture/code name

riscv was missing from the list.
To some, the architecture's name may not be obvious from the code name.

Signed-off-by: Adriano Carvalho <adrianocarvalho.pt@gmail.com>
5 weeks agodoc: Use "supports" instead of "has"
Adriano Carvalho [Mon, 25 Aug 2025 22:32:30 +0000 (23:32 +0100)] 
doc: Use "supports" instead of "has"

Strictly speaking, "has" doesn't make sense.
"supports" seems like a better word and it probably was what the original author meant.

Signed-off-by: Adriano Carvalho <adrianocarvalho.pt@gmail.com>
5 weeks agodoc: Quote all long form options using double backticks/grave accents
Adriano Carvalho [Mon, 25 Aug 2025 22:32:29 +0000 (23:32 +0100)] 
doc: Quote all long form options using double backticks/grave accents

Otherwise, the two dashes are rendered as just one.

Signed-off-by: Adriano Carvalho <adrianocarvalho.pt@gmail.com>
5 weeks agodoc: Fix obvious typos and minor improvements
Adriano Carvalho [Mon, 25 Aug 2025 22:32:28 +0000 (23:32 +0100)] 
doc: Fix obvious typos and minor improvements

These are fixes to what looks like obvious typos.
Some minor improvments are also included, such as:
- Write "symbolic link" instead of symlink
- Correct capitalization for LLVM (all caps)
- Remove dead link and surrounding sentence

Signed-off-by: Adriano Carvalho <adrianocarvalho.pt@gmail.com>