]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
7 weeks agoMAINTAINERS: riscv: cpu: th1520: Assign myself as maintainer
Yao Zi [Fri, 30 May 2025 10:56:22 +0000 (10:56 +0000)] 
MAINTAINERS: riscv: cpu: th1520: Assign myself as maintainer

Assign myself to develop U-Boot port of T-Head TH1520 SoC, and help
maintain related code and review patches.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
7 weeks agodoc: thead: lpi4a: Update for S-Mode proper U-Boot support
Yao Zi [Fri, 30 May 2025 09:48:51 +0000 (09:48 +0000)] 
doc: thead: lpi4a: Update for S-Mode proper U-Boot support

Proper U-Boot for Lichee Pi 4A now runs in S mode instead of M mode,
which means the extra firmware, OpenSBI, must be built and integrated
in the image, and the vendor U-Boot cannot chainload the result image
anymore as it runs in M mode.

Remove redundant information about chainloading and update build steps
to mention OpenSBI firmware.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
7 weeks agoboard: thead: licheepi4a: Run proper U-Boot in S-Mode
Yao Zi [Fri, 30 May 2025 09:48:50 +0000 (09:48 +0000)] 
board: thead: licheepi4a: Run proper U-Boot in S-Mode

RISC-V software usually expects S mode when leaving the firmware, e.g.
UEFI applications could only run in S mode. Let's convert proper U-Boot
of Lichee Pi 4A port to run in S mode.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
7 weeks agoriscv: dts: th1520: Prepare binman configuration for loading OpenSBI
Yao Zi [Fri, 30 May 2025 09:48:49 +0000 (09:48 +0000)] 
riscv: dts: th1520: Prepare binman configuration for loading OpenSBI

Add an OpenSBI entry to the FIT image. As it expects an FDT to be
passed, corresponding FDT entry is generated with of-list as well.

As SPL now passes a full FDT for following stages, proper U-Boot image
is packed into u-boot-with-spl.bin without a devicetree copy included.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
7 weeks agoriscv: cpu: th1520: Support cache enabling/disabling in M mode only
Yao Zi [Fri, 30 May 2025 09:48:48 +0000 (09:48 +0000)] 
riscv: cpu: th1520: Support cache enabling/disabling in M mode only

These operations rely on a customized M-mode CSR, MHCR, which isn't
available when running in S mode.

Let's fallback to the generic weak stub when running in S mode to avoid
illegal accesses.

Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
7 weeks agoriscv: cpu: th1520: Build spl.c for SPL only
Yao Zi [Fri, 30 May 2025 09:48:47 +0000 (09:48 +0000)] 
riscv: cpu: th1520: Build spl.c for SPL only

Symbols in spl.c only function correctly in SPL stage. Build the file
for SPL only to avoid weak symbols in proper U-Boot being unexpectedly
reloaded.

Fixes: 5fe9ced3552 ("riscv: cpu: Add TH1520 CPU support")
Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
7 weeks agoconfigs: raise SPL_SYS_MALLOC_SIZE to 8 MiB on RISC-V
Heinrich Schuchardt [Sun, 25 May 2025 10:42:48 +0000 (12:42 +0200)] 
configs: raise SPL_SYS_MALLOC_SIZE to 8 MiB on RISC-V

On several RISC-V boards we have seen that 1 MiB is a insufficient value
for CONFIG_SPL_SYS_MALLOC_SIZE.

For instance qemu-riscv32_spl_defconfig fails booting because u-boot.itb
exceeds 1 MiB.

8 MiB is a reasonable value that allows adding FPGA blobs or splash images
to main U-boot.

Reported-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
8 weeks agoMerge patch series "Remove as much arch/arm/dts/*.h as possible"
Tom Rini [Fri, 6 Jun 2025 16:51:52 +0000 (10:51 -0600)] 
Merge patch series "Remove as much arch/arm/dts/*.h as possible"

Tom Rini <trini@konsulko.com> says:

Taking inspiration from Heiko's patch[1] this series goes and cleans up
all of the arch/arm/dts/*.h files that can be easily removed. The big
challenge I ran in to here was that for some platforms that aren't using
OF_UPSTREAM were didn't have a sufficiently deep search path to find
files there rather than arch/arm/dts. This also showed that only ARM had
local header files to deal with.

[1]: https://lore.kernel.org/u-boot/20250528090536.765499-1-heiko.thiery@gmail.com/

Link: https://lore.kernel.org/r/20250528233050.3820722-1-trini@konsulko.com
8 weeks agonxp: Remove local arch/arm/dts/imx8mm-pinfunc.h
Tom Rini [Wed, 28 May 2025 23:27:10 +0000 (17:27 -0600)] 
nxp: Remove local arch/arm/dts/imx8mm-pinfunc.h

We have this file in both arch/arm/dts and
dts/upstream/src/arm64/freescale. This file is identical save for
changes which have been made upstream.  Remove our local copy to get in
sync with upstream now.

Acked-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agoatmel: Remove local arch/arm/dts/{sama5d2, sama7g5}-pinfunc.h
Tom Rini [Wed, 28 May 2025 23:27:09 +0000 (17:27 -0600)] 
atmel: Remove local arch/arm/dts/{sama5d2, sama7g5}-pinfunc.h

We have these files in both arch/arm/dts and
dts/upstream/src/arm/microchip. These files are identical save for
changes which have been made upstream.  Remove our local copy to get in
sync with upstream now.

Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agoarch/arm/dts: Remove strict subset header
Tom Rini [Wed, 28 May 2025 23:27:08 +0000 (17:27 -0600)] 
arch/arm/dts: Remove strict subset header

As part of moving to using OF_UPSTREAM and so the upstream DT related
header files we have a header that is under the arch/arm/dts directory
and differ in being a strict subset of what is found upstream. We can
remove this now to prevent future conflicts.

Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agoarch/arm/dts: Remove functionally identical headers
Tom Rini [Wed, 28 May 2025 23:27:07 +0000 (17:27 -0600)] 
arch/arm/dts: Remove functionally identical headers

As part of moving to using OF_UPSTREAM and so the upstream DT related
header files we have a number of these headers that are under the
arch/arm/dts directory and differ only in combinations of spacing
changes and/or switching to SPDX license tags. We can remove these now
to prevent future conflicts.

Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agoarch/arm/dts: Remove identical headers
Tom Rini [Wed, 28 May 2025 23:27:06 +0000 (17:27 -0600)] 
arch/arm/dts: Remove identical headers

As part of moving to using OF_UPSTREAM and so the upstream DT related
header files we have a number of these headers that are under the
arch/arm/dts directory and are currently identical to the versions in
dts/upstream.  We can remove these now to prevent future conflicts.

Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agoarch/arm/dts: Remove unused header
Tom Rini [Wed, 28 May 2025 23:27:05 +0000 (17:27 -0600)] 
arch/arm/dts: Remove unused header

As part of moving to using OF_UPSTREAM and so the upstream DT related
header files we have a header that is under the arch/arm/dts directory
and now unused. We can remove this now to prevent any future conflicts.

Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agoscripts/Makefile.lib: Rework upstream_dtsi_include to get subdirectories
Tom Rini [Wed, 28 May 2025 23:27:04 +0000 (17:27 -0600)] 
scripts/Makefile.lib: Rework upstream_dtsi_include to get subdirectories

A problem with the logic in upstream_dtsi_include currently is that it
does not list directories such as dts/upstream/src/arm/nxp/imx and so
will not findi "imx6ul-pinfunc.h" for example as it is normally and
correctly included without vendor sub-paths. Expand the current wildcard
glob to catch these directories too.

Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agoinclude/dt-bindings: Remove headers we can safely upgrade
Tom Rini [Wed, 28 May 2025 20:37:45 +0000 (14:37 -0600)] 
include/dt-bindings: Remove headers we can safely upgrade

As part of moving to using OF_UPSTREAM and so the upstream dt-bindings
headers we have a number of these headers that are in our include
directory and while they are not a strict subset of the upstream version
of the headers, all platforms build with the new headers as well. We can
remove the copies under include/dt-bindings now to prevent future
conflicts.

Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agoinclude/dt-bindings/reset: Remove local version of bcm6318-reset.h
Tom Rini [Wed, 28 May 2025 00:03:01 +0000 (18:03 -0600)] 
include/dt-bindings/reset: Remove local version of bcm6318-reset.h

Aside from SPDX tags, the only difference between our version of this
header and upstream is that BCM6318_RST_HOSTMIPS was defined to 11 (the
same as BCM6318_RST_PHYMIPS) and is now defined to 12.

Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agoinclude/dt-bindings: Remove strict subset headers
Tom Rini [Tue, 27 May 2025 23:50:38 +0000 (17:50 -0600)] 
include/dt-bindings: Remove strict subset headers

As part of moving to using OF_UPSTREAM and so the upstream dt-bindings
headers we have a number of these headers that are in our include
directory and differ in being a strict subset of what is found upstream.
We can safely remove the copies under include/dt-bindings now to prevent
future conflicts.

Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agoinclude/dt-bindings: Remove functionally identical headers
Tom Rini [Tue, 27 May 2025 23:50:37 +0000 (17:50 -0600)] 
include/dt-bindings: Remove functionally identical headers

As part of moving to using OF_UPSTREAM and so the upstream dt-bindings
headers we have a number of these headers that are in our include
directory and differ only in combinations of spacing changes and/or
switching to SPDX license tags. We can safely remove the copies under
include/dt-bindings now to prevent future conflicts.

Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agoinclude/dt-bindings: Remove identical headers
Tom Rini [Tue, 27 May 2025 22:18:34 +0000 (16:18 -0600)] 
include/dt-bindings: Remove identical headers

As part of moving to using OF_UPSTREAM and so the upstream dt-bindings
headers we have a number of these headers that are in our include
directory and are currently identical to the versions in dts/upstream.
We can remove these now to prevent future conflicts.

Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agoinclude/dt-bindings: Remove unused headers
Tom Rini [Tue, 27 May 2025 22:18:33 +0000 (16:18 -0600)] 
include/dt-bindings: Remove unused headers

As part of moving to using OF_UPSTREAM and so the upstream dt-bindings
headers we have a number of these headers that are in our include
directory and not referenced by any code outside of dts/upstream. We can
remove these now to prevent future conflicts.

Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agoarm: dts: remove k3-serdes.h
Heiko Thiery [Wed, 28 May 2025 09:05:37 +0000 (11:05 +0200)] 
arm: dts: remove k3-serdes.h

This file is a duplicate and also comes with the sync of the linux
mainline dts files. By removing this the one from the dts folder should
be taken that is more up-to-date.

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
8 weeks agoarmv8: fix Clang warning on writing 32-bit variable to a 64-bit register
Raymond Mao [Tue, 27 May 2025 21:04:31 +0000 (14:04 -0700)] 
armv8: fix Clang warning on writing 32-bit variable to a 64-bit register

Clang is stricter than GCC when it comes to inline assembly and expects the
register to be written with explicitly same type of variable.

Fixes: c0e1775a867c ("armv8: Add arch-specific sysinfo platform driver")
Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
8 weeks agoscripts/setlocalversion: sync with linux v6.15
Tom Rini [Mon, 26 May 2025 13:35:10 +0000 (07:35 -0600)] 
scripts/setlocalversion: sync with linux v6.15

The changes upstream since the last sync at commit 5c02350fa03d
("scripts/setlocalversion: sync with linux v6.9") are

e2ff1219a554 setlocalversion: add -e option
523f3dbc187a setlocalversion: work around "git describe" performance

Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agocmd: bootmenu: permit to select bootmenu entry with a shortcut
Christian Marangi [Sun, 25 May 2025 13:43:58 +0000 (15:43 +0200)] 
cmd: bootmenu: permit to select bootmenu entry with a shortcut

Permit to select a bootmenu entry with a key shortcut. This is
especially useful in production or testing scenario to automate flashing
procedure or testing procedure.

The boot entry are changed to append the shortcut key to it.

Example:
      1. Run default boot command.
      2. Boot system via TFTP.
      3. Boot production system from NAND.
      4. Boot recovery system from NAND.
      5. Load production system via TFTP then write to NAND.
      6. Load recovery system via TFTP then write to NAND.
      7. Load BL31+U-Boot FIP via TFTP then write to NAND.
      8. Load BL2 preloader via TFTP then write to NAND.
      9. Reboot.
      a. Reset all settings to factory defaults.
      0. Exit

0 is always reserved for Exit to console.
On pressing the keyboard key 2, the bootmenu entry 2 is selected and
executed.

Up to 34 key shortcut (0 excluded as reserved) are supported from 1-9
and a-z.
If a shortcut key not present in the bootmenu list is pressed, it is
simply ignored and eventually the autoboot is interrupted.

Capital A-Z are converted to lower a-z and the related option is
selected.

Suggested-by: Weijie Gao <weijie.gao@mediatek.com>
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Tested-by: Petr Štetiar <ynezz@true.cz>
8 weeks agoMerge patch series "Add baudrate accuracy compensation for MediaTek UART driver"
Tom Rini [Thu, 5 Jun 2025 20:31:02 +0000 (14:31 -0600)] 
Merge patch series "Add baudrate accuracy compensation for MediaTek UART driver"

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

This patch series adds baudrate accuracy compensation for MediaTek UART
driver in high-speed mode 3.

Link: https://lore.kernel.org/r/cover.1747991898.git.weijie.gao@mediatek.com
8 weeks agoserial: mediatek: enable baudrate accuracy compensation
Weijie Gao [Fri, 23 May 2025 09:26:02 +0000 (17:26 +0800)] 
serial: mediatek: enable baudrate accuracy compensation

The high-speed UART from MediaTek supports baudrate accuracy
compensation when using high-speed mode 3.

This is done by calculating the first digit of the fraction part of
sample count value. The fraction value will be then used as the
reference to insert 0 to 10 sample cycle(s) to one frame (assume
that frame format is 8n1, i.e. 10 bits per frame).

The fracdiv_[l/m] registers are used to determine whether a bit in one frame
should be inserted with one sample cycle.

With typical 40MHz source clock, the actual baudrates with/without
accuracy compensation are:

Ideal    w/o compensation w/ compensation
======== ================ ===============
9600     9603             9600
115200   114942           115207
921600   930232           921659
3000000  3076923          3007519

Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
8 weeks agoserial: mediatek: fix register names and offsets
Weijie Gao [Fri, 23 May 2025 09:25:55 +0000 (17:25 +0800)] 
serial: mediatek: fix register names and offsets

Fix UART register names and offsets according to the programming
guide to allow implementing some enhanced features.

Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
8 weeks agotoradex: verdin-am62p: Add missing <linux/sizes.h>
Tom Rini [Wed, 4 Jun 2025 13:34:21 +0000 (07:34 -0600)] 
toradex: verdin-am62p: Add missing <linux/sizes.h>

This file uses SZ_1G but does not directly include <linux/sizes.h>, add
it.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agolinux/sizes.h: sync from kernel
Emanuele Ghidoli [Tue, 20 May 2025 09:09:17 +0000 (11:09 +0200)] 
linux/sizes.h: sync from kernel

The kernel added new size definitions and substituted the
boilerplate/reference to the license with a SPDX identifier.

Drop a local SZ_8G definition in MediaTek MT7988 SoC board file.

Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Weijie Gao <weijie.gao@mediatek.com>
2 months agoboard: toradex: add verdin am62p support
Parth Pancholi [Mon, 19 May 2025 15:47:45 +0000 (16:47 +0100)] 
board: toradex: add verdin am62p support

This adds initial support for the Toradex Verdin AM62P module.

The module consists of an TI AM62P family SoC, a TPS65219 PMIC, a
Gigabit Ethernet PHY, up to 8GB of LPDDR4 RAM, an eMMC, a TLA2024 ADC,
an I2C EEPROM, an RX8130 RTC, plus an optional Bluetooth/Wi-Fi module.

These specific changes adds support for Toradex Verdin AM62P Quad 2GB WB
IT module.

Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62p
Link: https://www.toradex.com/products/carrier-board/verdin-development-board-kit
Signed-off-by: Parth Pancholi <parth.pancholi@toradex.com>
Signed-off-by: Vitor Soares <vitor.soares@toradex.com>
2 months agotoradex: tdx-cfg-block: add new pid4 support
Vitor Soares [Mon, 19 May 2025 08:46:30 +0000 (09:46 +0100)] 
toradex: tdx-cfg-block: add new pid4 support

Add the new PID4 to the ConfigBlock handling:
 - 0098 Aquila iMX95 Hexa 16GB WB IT
 - 0099 Verdin AM62P Quad 2GB WB IT
 - 0201 SMARC iMX95 Hexa 8GB IT
 - 0202 SMARC iMX95 Hexa 4GB WB IT
 - 0203 SMARC iMX95 Hexa 4GB ET
 - 0204 SMARC iMX95 Hexa 2GB WB IT
 - 0205 SMARC iMX95 Hexa 2GB ET
 - 0206 SMARC iMX8M Plus Quad 4GB IT
 - 0207 SMARC iMX8M Plus Quad 2GB WB IT
 - 0208 SMARC iMX8M Plus Quad 2GB IT
 - 0209 SMARC iMX8M Plus Quadlite 1GB WB ET
 - 0210 SMARC iMX8M Plus Quadlite 1GB ET
 - 0211 Aquila AM69 Octa 32GB IT
 - 0212 Aquila AM69 Octa 16GB WB IT
 - 0213 Aquila AM69 Octa 16GB IT
 - 0214 Aquila AM69 Octa 8GB WB IT
 - 0215 Aquila AM69 Octa 8GB IT

Signed-off-by: Vitor Soares <vitor.soares@toradex.com>
2 months agopinctrl: gpio: sx150x: add Semtech SX150x I2C GPIO expander and pinctrl driver
Anis Chali [Sun, 18 May 2025 21:25:24 +0000 (17:25 -0400)] 
pinctrl: gpio: sx150x: add Semtech SX150x I2C GPIO expander and pinctrl driver

 implement a driver to use semtech pinctrl and
 gpio expander, this driver is adapted from a
 existent linux driver that is written by
 Gregory Bean <gbean@codeaurora.org>.

Signed-off-by: Anis Chali <chalianis1@gmail.com>
2 months agotools: fix handle leak in ifdtool.c
Anton Moryakov [Fri, 16 May 2025 15:25:38 +0000 (18:25 +0300)] 
tools: fix handle leak in ifdtool.c

Prevent file descriptor leaks by properly closing 'fd' and 'new_fd'
when fstat() or write() operations fail.

- Added close(fd) before return in open_for_read() if fstat() fails.
- Added close(new_fd) before return in write_image() if write() fails.
- No close needed if open() fails (fd == -1 is invalid).

Signed-off-by: Anton Moryakov <ant.v.moryakov@gmail.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2 months agoMerge patch series "Audit include list for include/[a-m]*.h"
Tom Rini [Mon, 2 Jun 2025 23:43:56 +0000 (17:43 -0600)] 
Merge patch series "Audit include list for include/[a-m]*.h"

Tom Rini <trini@konsulko.com> says:

Hey all,

Related to my other series I've posted recently on cleaning up some
headers, this series here is the result of at least lightly auditing the
#includes used in include/[a-m]*.h. This ignores subdirectories, as at
least in part I think the top-level includes we've constructed are the
most likely places to have some extra transitive include paths. I'm sure
there's exceptions and I'll likely audit deeper once this first pass is
done. This only gets as far as "include/m*.h" because I didn't want this
to get too big. This also sets aside <miiphy.h> and <phy.h>. While
miiphy.h does not directly need <phy.h> there are *so* many users and I
think I had half of the tree just about not building when I first tried.
It might be worth further investigation, but it might just be OK as-is.

Link: https://lore.kernel.org/r/20250521230119.2084088-1-trini@konsulko.com
2 months agoglobal: Cleanup usage of "ETH_ALEN"
Tom Rini [Wed, 21 May 2025 22:51:22 +0000 (16:51 -0600)] 
global: Cleanup usage of "ETH_ALEN"

The value of "ETH_ALEN" is defined to 6 in <linux/if_ether.h>. This file
is included in <net.h>. In the places where we had ETH_ALEN but no
direct include of <net.h>, add <linux/if_ether.h>. In the places where
we had a custom name used, make use of ETH_ALEN instead.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoinclude/mtd.h: Cleanup usage
Tom Rini [Wed, 21 May 2025 22:51:21 +0000 (16:51 -0600)] 
include/mtd.h: Cleanup usage

There are only a few things found in <mtd.h> today. Go through and audit
the C files which include <mtd.h> and remove it when not required. Then,
add it to the files which had either missed it or had an indirect
inclusion of it.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoinclude/mmc.h: Audit include list
Tom Rini [Wed, 21 May 2025 22:51:20 +0000 (16:51 -0600)] 
include/mmc.h: Audit include list

This file does not need <linux/sizes.h> nor <linux/compiler.h> so remove
them. This exposes however that a number of other files had been relying
on this implicit include for <linux/sizes.h> so add that where needed.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoinclude/ide.h: Cleanup usage
Tom Rini [Wed, 21 May 2025 22:51:19 +0000 (16:51 -0600)] 
include/ide.h: Cleanup usage

At this point in time, <ide.h> provides the IDE_BUS macro and the
function prototype for ide_set_reset, which is used with IDE_RESET. The
only files which should include this header are the ones that either use
that macro or that function. Remove <blk.h> from <ide.h> and remove
<ide.h> from places which do not need it.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoinclude/fat.h: Audit include list
Tom Rini [Wed, 21 May 2025 22:51:18 +0000 (16:51 -0600)] 
include/fat.h: Audit include list

This file does not need <asm/cache.h> so remove it. However the file
common/spl/spl_fat.c does need it, so add it there.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoinclude/efi_loader.h, include/efi_tcg2.h: Audit include list
Tom Rini [Wed, 21 May 2025 22:51:17 +0000 (16:51 -0600)] 
include/efi_loader.h, include/efi_tcg2.h: Audit include list

In include/efi_loader.h we do not directly need <log.h>, <part_efi.h>,
<pe.h> nor <linux/oid_registry.h> so remove them. In include/efi_tcg2.h
we make use of <part_efi.h> but did not include it, so add it directly.

Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Tested-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoinclude/dwmmc.h: Audit include list
Tom Rini [Wed, 21 May 2025 22:51:16 +0000 (16:51 -0600)] 
include/dwmmc.h: Audit include list

This file does not need <asm/cache.h> so remove it.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoinclude/dw_hdmi.h: Audit include list
Tom Rini [Wed, 21 May 2025 22:51:15 +0000 (16:51 -0600)] 
include/dw_hdmi.h: Audit include list

This file does not need <edid.h> so remove it.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoinclude/dfu.h: Audit include list
Tom Rini [Wed, 21 May 2025 22:51:14 +0000 (16:51 -0600)] 
include/dfu.h: Audit include list

This file does not need a forward declaration of 'struct list_head' as
it includes <linux/list.h> so remove it.

Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoinclude/compiler.h: Audit include list
Tom Rini [Wed, 21 May 2025 22:51:13 +0000 (16:51 -0600)] 
include/compiler.h: Audit include list

This file does not need <time.h> so remove it.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoinclude/cbfs.h: Audit include list
Tom Rini [Wed, 21 May 2025 22:51:12 +0000 (16:51 -0600)] 
include/cbfs.h: Audit include list

This file does not need <compiler.h> but does directly need
<linux/types.h>.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoinclude/cadence-nand.h: Audit include list
Tom Rini [Wed, 21 May 2025 22:51:11 +0000 (16:51 -0600)] 
include/cadence-nand.h: Audit include list

This file does not need <linux/mtd/mtd.h> but does directly need
<linux/types.h>.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoinclude/bootstd.h: Audit include list
Tom Rini [Wed, 21 May 2025 22:51:10 +0000 (16:51 -0600)] 
include/bootstd.h: Audit include list

This file does not need <linux/list.h> so remove it.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoinclude/bootflow.h: Audit include list
Tom Rini [Wed, 21 May 2025 22:51:09 +0000 (16:51 -0600)] 
include/bootflow.h: Audit include list

This file does not need <linux/list.h> but does directly need
<linux/types.h>.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoinclude/bios_emul.h: Audit include list
Tom Rini [Wed, 21 May 2025 22:51:08 +0000 (16:51 -0600)] 
include/bios_emul.h: Audit include list

This file does not need <pc.h> but does directly need
<linux/types.h>. Furthermore, arch/x86/lib/bios.c was getting <pci.h>
via <bios_emul.h> so add it there.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoinclude/arm_ffa.h: Audit include list
Tom Rini [Wed, 21 May 2025 22:51:07 +0000 (16:51 -0600)] 
include/arm_ffa.h: Audit include list

This file does not need <linux/printk.h> but does directly need
<linux/types.h>.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoinclude/ahci.h: Audit include list
Tom Rini [Wed, 21 May 2025 22:51:06 +0000 (16:51 -0600)] 
include/ahci.h: Audit include list

This file does not need <pci.h> but does directly need <linux/types.h>.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoARM: Align image end to 8 bytes to fit DT alignment
Marek Vasut [Sun, 18 May 2025 16:02:58 +0000 (18:02 +0200)] 
ARM: Align image end to 8 bytes to fit DT alignment

Align U-Boot image end to 8 bytes to make sure DT alignment requirement
is fulfilled. This fixes a possible failure in fdt_find_separate() in
case the U-Boot image is aligned to 4 Bytes and DT is appended at the
end at already 8 Byte aligned offset.

Link: https://source.denx.de/u-boot/u-boot/-/issues/30
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
2 months agoMerge tag 'u-boot-dfu-next-20250602' of https://source.denx.de/u-boot/custodians...
Tom Rini [Mon, 2 Jun 2025 14:43:10 +0000 (08:43 -0600)] 
Merge tag 'u-boot-dfu-next-20250602' of https://source.denx.de/u-boot/custodians/u-boot-dfu into next

u-boot-dfu-20250602

CI: https://source.denx.de/u-boot/custodians/u-boot-dfu/-/pipelines/26466

Usb gadget:
dwc2: Fix incorrect ULPI_UTMI_SEL bit setting
dwc2: Fix HBstLen setting for external DMA mode
dwc2: Various refactors to get the code closer to Linux
dwc2: Support reset logic for v4.20a

2 months agousb: dwc2: Refactor register operations with clrsetbits macros
Junhui Liu [Sun, 26 Jan 2025 08:29:59 +0000 (00:29 -0800)] 
usb: dwc2: Refactor register operations with clrsetbits macros

Refactor DWC2 USB gadget driver to replace manual read-modify-write
operations with `clrsetbits_le32`, `setbits_le32`, and `clrbits_le32`
macros, which simplify the code and improve readability.

Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Link: https://lore.kernel.org/r/20250126-dwc2-clrsetbits-refactor-v1-1-68c27e1b6f84@pigmoral.tech
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2 months agousb: dwc2: Replace uint<x>_t types with u<x>
Kongyang Liu [Fri, 10 Jan 2025 13:55:27 +0000 (21:55 +0800)] 
usb: dwc2: Replace uint<x>_t types with u<x>

Updates all instances of uint8_t, uint16_t, and uint32_t to u8, u16, and
u32 respectively, ensuring consistent use of kernel-preferred types and
resolving checkpatch.pl warnings.

Signed-off-by: Kongyang Liu <seashell11234455@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/20250110-dwc2-dev-v4-8-987f4fd6f8b2@pigmoral.tech
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2 months agousb: dwc2: Unify flush and reset logic with v4.20a support
Kongyang Liu [Fri, 10 Jan 2025 13:55:26 +0000 (21:55 +0800)] 
usb: dwc2: Unify flush and reset logic with v4.20a support

This patch merges flush and reset logic for both host and gadget code
into a common set of functions, reducing duplication. It also adds support
for the updated reset logic to compatible with core version since v4.20a.

This patch mainly refers to the patch in the kernel.
link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=65dc2e725286106f99c6f6b78e3d9c52c15f3a9c
Signed-off-by: Kongyang Liu <seashell11234455@gmail.com>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Link: https://lore.kernel.org/r/20250110-dwc2-dev-v4-7-987f4fd6f8b2@pigmoral.tech
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2 months agousb: dwc2: Extract macro definitions to common header
Kongyang Liu [Fri, 10 Jan 2025 13:55:25 +0000 (21:55 +0800)] 
usb: dwc2: Extract macro definitions to common header

Some macros are shared between host and gadget code, causing duplicated
definitions. Move DWC2 macro definitions from host and gadget code into a
common header to reduce duplication.

Signed-off-by: Kongyang Liu <seashell11234455@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/20250110-dwc2-dev-v4-6-987f4fd6f8b2@pigmoral.tech
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2 months agousb: dwc2: Align macros with Linux kernel definitions
Kongyang Liu [Fri, 10 Jan 2025 13:55:24 +0000 (21:55 +0800)] 
usb: dwc2: Align macros with Linux kernel definitions

Update the DWC2 macros to match those used in the Linux kernel, making
it easier to synchronize updates with kernel. Also removed some unused
macros to cleanup the code.

Signed-off-by: Kongyang Liu <seashell11234455@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
Link: https://lore.kernel.org/r/20250110-dwc2-dev-v4-5-987f4fd6f8b2@pigmoral.tech
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2 months agousb: dwc2: Clean up with bitfield macros
Kongyang Liu [Fri, 10 Jan 2025 13:55:23 +0000 (21:55 +0800)] 
usb: dwc2: Clean up with bitfield macros

Use FIELD_PREP, FIELD_GET, BIT, and GENMASK macros to standardize bit
manipulation across the DWC2 code, improving readability and
maintainability without altering functionality.

Signed-off-by: Kongyang Liu <seashell11234455@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
Link: https://lore.kernel.org/r/20250110-dwc2-dev-v4-4-987f4fd6f8b2@pigmoral.tech
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2 months agousb: dwc2: Fix HBstLen setting for external DMA mode
Kongyang Liu [Fri, 10 Jan 2025 13:55:22 +0000 (21:55 +0800)] 
usb: dwc2: Fix HBstLen setting for external DMA mode

The loop used to calculate HBstLen for extern DMA mode does not produce
the correct result according to the datasheet [1]. Replacing that loop
with a direct calculation using LOG2 to correctly assign the burst length
in the GAHBCFG register for external DMA mode.

[1] https://rockchip.fr/RK312X%20TRM/chapter-26-usb-otg-2-0.pdf#page=24

Signed-off-by: Kongyang Liu <seashell11234455@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
Link: https://lore.kernel.org/r/20250110-dwc2-dev-v4-3-987f4fd6f8b2@pigmoral.tech
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2 months agousb: dwc2: Fix incorrect ULPI_UTMI_SEL bit setting
Junhui Liu [Fri, 10 Jan 2025 13:55:21 +0000 (21:55 +0800)] 
usb: dwc2: Fix incorrect ULPI_UTMI_SEL bit setting

The ULPI_UTMI_SEL bit in the DWC2 driver was set incorrectly. According
to the datasheet [1], this bit should be set to 0 for UTMI interface and 1
for ULPI interface. The existing code had this logic reversed,
causing the interface selection to be incorrect.

This commit corrects the ULPI_UTMI_SEL bit setting to match the
datasheet's description. Referencing the kernel's code [2] also confirms
this fix.

[1] https://rockchip.fr/RK312X%20TRM/chapter-26-usb-otg-2-0.pdf#page=30
[2] https://github.com/torvalds/linux/blob/v6.13-rc3/drivers/usb/dwc2/core.c#L1106

Reviewed-by: Marek Vasut <marex@denx.de>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
Link: https://lore.kernel.org/r/20250110-dwc2-dev-v4-2-987f4fd6f8b2@pigmoral.tech
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2 months agousb: dwc2: Extract register definitions to common header file
Kongyang Liu [Fri, 10 Jan 2025 13:55:20 +0000 (21:55 +0800)] 
usb: dwc2: Extract register definitions to common header file

The same registers are accessed in both the otg and gatet drivers of
dwc2, and these registers are repeatedly defined in these two parts.
Extract register definitions into a common header file to reduce
redundancy and make the code more maintainable.

Signed-off-by: Kongyang Liu <seashell11234455@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
Link: https://lore.kernel.org/r/20250110-dwc2-dev-v4-1-987f4fd6f8b2@pigmoral.tech
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2 months agoMerge tag 'u-boot-imx-next-20250601' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Sun, 1 Jun 2025 15:36:18 +0000 (09:36 -0600)] 
Merge tag 'u-boot-imx-next-20250601' 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/26436

- Add i.MX6UL clk driver.
- Improve the .MX6UL NAND controller performance.
- Add imx6ulz BSH SMM M2B board.
- Several improvements for imx8m venice boards.

2 months agobsh: imx6ulz_smm_m2: Add imx6ulz BSH SMM M2B board
Michael Trimarchi [Sat, 31 May 2025 14:54:33 +0000 (16:54 +0200)] 
bsh: imx6ulz_smm_m2: Add imx6ulz BSH SMM M2B board

Introduce the BSH SystemMaster (SMM) M2B board. Notably, the M2B is
designed to leverage the existing device tree of its predecessor, the M2.
The primary distinction arises from memory incompatibilities with the M2.
To address this, we've implemented a configuration system that allows for
selective inclusion of the desired memory components.

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
2 months agoconfigs/imx6ulz_smm_m2_defconfig: Enable clock framework
Michael Trimarchi [Fri, 30 May 2025 15:16:46 +0000 (17:16 +0200)] 
configs/imx6ulz_smm_m2_defconfig: Enable clock framework

Enable the clock framework on the m2 platform.
This helps to increase the NAND controller performance.

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
2 months agomtd: nand: Add support for EDO mode 1-5 to IMX6ULL platform
Michael Trimarchi [Fri, 30 May 2025 15:16:45 +0000 (17:16 +0200)] 
mtd: nand: Add support for EDO mode 1-5 to IMX6ULL platform

The clock driver allows to boost the NAND performance
controller. Make changes to let it use the new clock driver

=> time nand read ${loadaddr} kernel

NAND read: device 0 offset 0x500000, size 0x800000
 8388608 bytes read: OK

time: 0.488 seconds

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
2 months agomtd: mxs_nand_dt: Move from clk_get/clk_enable to clk_bulk api
Michael Trimarchi [Fri, 30 May 2025 15:16:44 +0000 (17:16 +0200)] 
mtd: mxs_nand_dt: Move from clk_get/clk_enable to clk_bulk api

Make simple the clock registration and enable and allow later
to add support for other platforms

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
2 months agoclk: imx: add i.MX6UL clk driver
Michael Trimarchi [Fri, 30 May 2025 15:16:43 +0000 (17:16 +0200)] 
clk: imx: add i.MX6UL clk driver

Add i.MX6UL clk driver for i.MX6UL CLK driver model usage

Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Tested-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
2 months agoimx8mp-venice-gw74xx: add w_disable2 gpio configuration
Tim Harvey [Fri, 23 May 2025 17:20:18 +0000 (10:20 -0700)] 
imx8mp-venice-gw74xx: add w_disable2 gpio configuration

The GW74xx D revision has added a M2SKT_WDIS2# GPIO which routes to the
W_DISABLE2# pin of the M.2 socket.

Add the iomux and a line name for this and rename the existing
m2_wdis# signal to m2_wdis1#.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 months agoboard: venice: append configuration string to model
Tim Harvey [Fri, 23 May 2025 17:20:17 +0000 (10:20 -0700)] 
board: venice: append configuration string to model

Append the optional board configuration string to the model info.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 months agoboard: venice: update model representation for venice-flex
Tim Harvey [Fri, 23 May 2025 17:20:16 +0000 (10:20 -0700)] 
board: venice: update model representation for venice-flex

Update the model string representation for the Venice-Flex product
family (GW8xxx).

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 months agoboard: venice: add FSA support
Tim Harvey [Fri, 23 May 2025 17:20:15 +0000 (10:20 -0700)] 
board: venice: add FSA support

The Gateworks Flexible Socket Adapters adapt common
busses such as SDIO/UART/USB/PCI to various connectors
such as M.2 B-Key, M.2 E-Key, M.2 M-Key, and MiniPCIe.

Each FSA has an EEPROM onboard describing its details as well as an
optional port-expander for configurable GPIO's.

Add support for identifying the FSA's and configuring their
details such as user description and GPIO's:
 - enable pca953x, pca954x and eeprom support for communicating
   with the I2C eeprom and gpio port expander on the FSA
 - add FSA detection support
 - add FSA gpio configuration support

Each FSA is identified in the device-tree by an alias to it's I2C
bus where an eeprom@54 node must exist as well as an gpio@20 node
for an io-expander. These nodes must be enabled so that
they can be probed to determine if they are actually present in
the system. If not present or not enabled the gpio expander can
not be used. This also requires livetree as the gpio expander
node if not present must be disabled.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 months agoboard: venice: add imx8mp-gw82xx support
Tim Harvey [Fri, 23 May 2025 17:20:14 +0000 (10:20 -0700)] 
board: venice: add imx8mp-gw82xx support

The Gateworks GW82XX-2X is an ARM based single board computer (SBC)
comprised of the i.MX8M Plus based gw702x SoM and the gw82xx
baseboard featuring:
 - i.MX8M Plus SoC
 - LPDDR4 DRAM
 - eMMC FLASH
 - Gateworks System Controller (GSC)
 - microSD (1.8V/3.3V Capable)
 - panel status bi-color LED
 - pushbutton switch
 - fan controller with tachometer
 - USB Type-C connector
 - PCIe switch
 - 2x GbE RJ45 connectors
 - multi-protocol RS232/RS485/RS422 Serial ports
 - 2x Flexible Socket Adapters with SDIO/UART/USB/PCIe
   (for M.2 and miniPCIe expansion)
 - 2x isolated CAN
 - GPS
 - accelerometer
 - magnetometer
 - off-board connectors for: SPI, GPIO, I2C, ADC
 - Wide range DC power input
 - support for 802.3at PoE (via adapter)

Add support for it by providing its device-tree.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 months agoboard: venice: flip logic for GSC supervisor enable
Tim Harvey [Fri, 23 May 2025 17:20:13 +0000 (10:20 -0700)] 
board: venice: flip logic for GSC supervisor enable

Flip the logic used to determine if a board has the proper hardware to
support enabling the GSC voltage supervisor so that we do not need to
keep adding new models to the list.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 months agoboard: venice: use SOM model for PMIC adjustment on SOM
Tim Harvey [Fri, 23 May 2025 17:20:12 +0000 (10:20 -0700)] 
board: venice: use SOM model for PMIC adjustment on SOM

Use the SOM model to adjust PMIC settings on SOM's.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 months agoboard: venice: use baseboard model for family
Tim Harvey [Fri, 23 May 2025 17:20:11 +0000 (10:20 -0700)] 
board: venice: use baseboard model for family

The venice family of baseboards which is normally GW7xxx
is being expanded to GW8xxx so we need to use the baseboard
number instead of the som.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 months agoboard: venice: fix dram size for GW7901-SP486
Tim Harvey [Fri, 23 May 2025 17:20:10 +0000 (10:20 -0700)] 
board: venice: fix dram size for GW7901-SP486

The GW7901-SP486 with the exception of the -C revision has 2GB DRAM
loaded but incorrectly specifies 1GB in the EEPROM. Adjust the DRAM size
to account for this.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 months agoboard: venice: fix dram bus config for GW7902/GW7903/GW7904
Tim Harvey [Fri, 23 May 2025 17:20:09 +0000 (10:20 -0700)] 
board: venice: fix dram bus config for GW7902/GW7903/GW7904

The GW7902/GW7903/GW7904 have an alternate databus layout affecting a few
of the DDRC and DDR PHY registers.

The 512MB configuration used this alternate bus layout. Change
the 512MB config to the standard bus configuration and add a generic
function to patch the DDRC/PHY configs for the alternate bus layout.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 months agoboard: venice: move soc-specific dram config into soc-specific files
Tim Harvey [Fri, 23 May 2025 17:20:08 +0000 (10:20 -0700)] 
board: venice: move soc-specific dram config into soc-specific files

Move the determination of the dram timings into the soc-specific files.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 months agoconfigs: imx8m*_venice: enable GPT support
Tim Harvey [Fri, 23 May 2025 17:20:07 +0000 (10:20 -0700)] 
configs: imx8m*_venice: enable GPT support

Enable support for working with General Partition Tables via the 'gpt'
command. Also enable support for generating random UUID's for GPT.

See: doc/README.gpt for examples

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 months agoconfigs: imx8m*_venice: enable several commands useful for scripting
Tim Harvey [Fri, 23 May 2025 17:20:06 +0000 (10:20 -0700)] 
configs: imx8m*_venice: enable several commands useful for scripting

enable cat, xxd, and the ability for setexpr to return values in
variables which are all useful for scripting.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 months agoMerge tag 'dm-pull-30may25' of git://git.denx.de/u-boot-dm into next
Tom Rini [Fri, 30 May 2025 19:53:50 +0000 (13:53 -0600)] 
Merge tag 'dm-pull-30may25' of git://git.denx.de/u-boot-dm into next

Bring in recent expo enhancements:
- multi-line text
- highlighting of menu items
- rationalisation of menu and expo code
- support for object alignment
- editable strings
- various bug fixes and tweaks

This also includes some required abuf improvements.

2 months agoMerge patch series "test/py: enable HTTP testing"
Tom Rini [Fri, 30 May 2025 16:26:33 +0000 (10:26 -0600)] 
Merge patch series "test/py: enable HTTP testing"

Adriano Cordova <adrianox@gmail.com> says:

Enable HTTP server in CI to support HTTP tests in pytest

QEMU does not emulate an HTTP server, unlike other services like DHCP or TFTP.
To enable HTTP  tests during CI runs, start a simple Python HTTP server
on port 80. This allows tests that require HTTP access to run.

The HTTP server is launched on the host. For QEMU environments launched
with '-netdev,user' this means that the HTTP server runs together with DHCP
at 10.0.2.2.  HTTP testing needs to be explicitly enabled with
env__efi_helloworld_net_http_test_skip = False.

We also default `WGET=y` in `ARCH_QEMU` configurations so that these HTTP
tests are included automatically when using QEMU in CI.

Link: https://lore.kernel.org/r/20250516085256.30386-1-adriano.cordova@canonical.com
2 months agocmd/Kconfig: select CMD_WGET if ARCH_QEMU
Adriano Cordova [Fri, 16 May 2025 08:52:56 +0000 (04:52 -0400)] 
cmd/Kconfig: select CMD_WGET if ARCH_QEMU

select CMD_WGET for ARCH_QEMU. This way HTTP can be tested
on the qemu platforms in CI.

Signed-off-by: Adriano Cordova <adriano.cordova@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 months agoCI testing: add http server to CI tests
Adriano Cordova [Fri, 16 May 2025 08:52:55 +0000 (04:52 -0400)] 
CI testing: add http server to CI tests

Add an http server to CI tests so that HTTP booting and
loading can be tested.

Signed-off-by: Adriano Cordova <adriano.cordova@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 months agoimage: Fix FIT image loadable section custom processing
Marek Vasut [Mon, 12 May 2025 15:58:39 +0000 (17:58 +0200)] 
image: Fix FIT image loadable section custom processing

The original commit always generated linker list entries with the same
entry variable name, because _function passed to ll_entry_declare() is
not a variable and therefore was interpreted as fixed string. Change it
to _type which is a variable and which does allow generation of multiple
unique linker list entries, one for each U_BOOT_FIT_LOADABLE_HANDLER().

Fixes: d7be50921ed3 ("image: Add FIT image loadable section custom processing")
Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
2 months agoGitlab: Rework sjg-lab calling test.py to be closer to test.py stage
Tom Rini [Tue, 6 May 2025 14:04:12 +0000 (08:04 -0600)] 
Gitlab: Rework sjg-lab calling test.py to be closer to test.py stage

There are a few differences between how the test.py stage invokes
test.py and how the sjg-lab stage invokes test.py. As a start of making
both the code and the output and artifacts similar, this updates the
sjg-lab stage with the following:
- Pass "-ra" so that we get the summary information in the job
- Make use of TEST_PY_EXTRA for passing "--capture=tee-sys"
- Re-order some of the arguments to be the same order when possible.

And most importantly:
- Create and save as an artifact the junitxml output.

The last part here is the kind of test result information that in the
future we should determine how to archive for future reference.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoMerge patch series "Almost complete DM_SERIAL migration"
Tom Rini [Fri, 30 May 2025 16:17:40 +0000 (10:17 -0600)] 
Merge patch series "Almost complete DM_SERIAL migration"

Tom Rini <trini@konsulko.com> says:

In a private thread, Simon asked about what's needed to get PowerPC
migrated to DM_SERIAL. I went and took a look, and to complete the
entire DM_SERIAL migration (excluding SPL/TPL) we're actually nearly
there. This series first migrates PowerPC (and some NXP Layerscape
boards that share history more clearly with PowerPC parts), with the
biggest change being to make sure we still use the correct legacy
drivers in SPL/TPL (where SPL is extremely constrained). With that out
of the way, I looked at what was left. With two exceptions, it's
platforms which can be trivially enabled for conversion, and so we do
that.

Link: https://lore.kernel.org/r/20250502201226.1369013-1-trini@konsulko.com
2 months agoglobal: Convert almost all remaining non-DM_SERIAL users
Tom Rini [Fri, 2 May 2025 20:07:40 +0000 (14:07 -0600)] 
global: Convert almost all remaining non-DM_SERIAL users

This converts almost all of the remaining non-DM_SERIAL users to enable
DM_SERIAL. These are platforms where there have long been other SoC
boards that have switched and so it's been a matter of inertia keeping
these from being converted. Do so now.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoPowerPC / Layerscape: Finish migration to DM_SERIAL
Tom Rini [Fri, 2 May 2025 20:07:39 +0000 (14:07 -0600)] 
PowerPC / Layerscape: Finish migration to DM_SERIAL

Migrate the few ARM Layerscape platforms that had not been switched
along with all remaining PowerPC platforms to DM_SERIAL. For PowerPC,
this means that platforms which use SPL/TPL, keeping the non-DM serial
driver enabled there as they do not use DM. We also rework the guards
on how to define CFG_SYS_NS16550_CLK so that this is mostly in one place
now.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 months agoexpo: Drop the special theme code for bootflow_menu
Simon Glass [Fri, 2 May 2025 14:46:58 +0000 (08:46 -0600)] 
expo: Drop the special theme code for bootflow_menu

The expo now has all that is needed to apply a suitable theme, so drop
this unnecessary code. Any further tweaks can be added to the generic
expo code.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 months agoexpo: Set up menu fully in bootflow_menu_start()
Simon Glass [Fri, 2 May 2025 14:46:57 +0000 (08:46 -0600)] 
expo: Set up menu fully in bootflow_menu_start()

Apply the theme, calculate dimensions, highlight the menu and arrange
the scene correctly, so that everything is ready to go when the expo
is rendered.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 months agoexpo: Split setting up the menu from adding items
Simon Glass [Fri, 2 May 2025 14:46:56 +0000 (08:46 -0600)] 
expo: Split setting up the menu from adding items

Some callers may wish to add items later as they are discovered. Split
the setup code into its own function, to permit this.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 months agoexpo: Update bootflow_menu_poll() to return a sequence ID
Simon Glass [Fri, 2 May 2025 14:46:55 +0000 (08:46 -0600)] 
expo: Update bootflow_menu_poll() to return a sequence ID

Rather than returning a bootflow, return the index of the bootflow. This
will allow callers to do their own translation to bootflows or some
other data structure.

Also return a special code when the user tries to move the pointer, so
that the caller can cancel the boot-menu timeout, if this is in use.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 months agoexpo: Improve the visual appearance of the menu
Simon Glass [Fri, 2 May 2025 14:46:54 +0000 (08:46 -0600)] 
expo: Improve the visual appearance of the menu

The menu is currently quite basic. Make use of some recently added
features in expo, to:

- Show proper prompts
- Highlight the current item
- Centre text
- Use multi-line text instead of two independent lines
- Put a box around the items

Signed-off-by: Simon Glass <sjg@chromium.org>
2 months agoexpo: Provide a way to position things relative to display
Simon Glass [Fri, 2 May 2025 14:46:53 +0000 (08:46 -0600)] 
expo: Provide a way to position things relative to display

It is often necessary to centre objects within the display area. Add a
special position value to indicate this.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 months agoexpo: Drop the render from expo_poll()
Simon Glass [Fri, 2 May 2025 14:46:52 +0000 (08:46 -0600)] 
expo: Drop the render from expo_poll()

Within tests it is useful to be able to control rendering of the expo.
Drop the automatic call to expo_render() within expo_poll() and adjust
its callers to handle this instead.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 months agoexpo: Adjust expo_poll() to avoid looping forever
Simon Glass [Fri, 2 May 2025 14:46:51 +0000 (08:46 -0600)] 
expo: Adjust expo_poll() to avoid looping forever

If the user does not quickly provide some input, exit so that other
things can be done, such as searching for the next OS.

Signed-off-by: Simon Glass <sjg@chromium.org>
2 months agoexpo: Support highlighting menu items
Simon Glass [Fri, 2 May 2025 14:46:50 +0000 (08:46 -0600)] 
expo: Support highlighting menu items

Expo normally uses a pointer to show the current item. Add support for
highlighting as well, since this makes it easier for the user to see the
current item.

Signed-off-by: Simon Glass <sjg@chromium.org>