]> git.dujemihanovic.xyz Git - u-boot.git/log
u-boot.git
7 weeks agoMerge tag 'efi-2025-01-rc2-2' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Sat, 9 Nov 2024 14:05:41 +0000 (08:05 -0600)]
Merge tag 'efi-2025-01-rc2-2' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request efi-2025-01-rc2-2

Documentation:

* correct title and author of rst2pdf generated pdf
* describe CONFIG_DEBUG_SBI_CONSOLE
* remove vile language

UEFI

* correct printf codes in mkeficapsule
* add an EFI test app
* move default filename to a function
* move get_efi_pxe_arch() to efi_helper
* allow reporting the host defaults in efidebug
* drop sandbox PXE architecture

Other:

* do not reserve extra 16 KiB of stack in lmb
* disable the sandbox virtio blk device
* provide -N command line flag to control EFI default boot file name
  on the sandbox
* provide a unit test for the efi bootmeth

7 weeks agotest: efi: boot: Add a test for the efi bootmeth
Simon Glass [Thu, 7 Nov 2024 21:31:50 +0000 (14:31 -0700)]
test: efi: boot: Add a test for the efi bootmeth

Add a simple test of booting with the EFI bootmeth, which runs the app
and checks that it can call 'exit boot-services' (to check that all the
device-removal code doesn't break anything) and then exit back to
U-Boot.

This uses a disk image containing the testapp, ready for execution by
sandbox when needed.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 weeks agotest: efi: boot: Set up an image suitable for EFI testing
Simon Glass [Thu, 7 Nov 2024 21:31:49 +0000 (14:31 -0700)]
test: efi: boot: Set up an image suitable for EFI testing

Create a new disk for use with tests, which contains the new 'testapp'
EFI app specifically intended for testing the EFI loader.

Attach it to the USB device, since most testing is currently done with
mmc.

Initially this image will be used to test the EFI bootmeth.

Fix a stale comment in prep_mmc_bootdev() while we are here.

For now this uses sudo and a compressed fallback file, like all the
other bootstd tests. Once this series is in, the patch which moves
this to use user-space tools will be cleaned up and re-submitted.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 weeks agosandbox: virtio: Disable the sandbox virtio blk device
Simon Glass [Thu, 7 Nov 2024 21:31:48 +0000 (14:31 -0700)]
sandbox: virtio: Disable the sandbox virtio blk device

This is not implemented so cannot actually be used to read blocks.
Disable it until it is implemented, to avoid causing a hang with EFI,
which probes every available BLK device.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Issue: https://source.denx.de/u-boot/u-boot/-/issues/37

7 weeks agoefi_loader: Drop sandbox PXE architecture
Simon Glass [Thu, 7 Nov 2024 21:31:47 +0000 (14:31 -0700)]
efi_loader: Drop sandbox PXE architecture

Rather than returning 0, just return an error, since sandbox is not used
with PXE at present.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 weeks agosandbox: Report host default-filename in native mode
Simon Glass [Thu, 7 Nov 2024 21:31:46 +0000 (14:31 -0700)]
sandbox: Report host default-filename in native mode

When the --native flag is given, pretend to be running the host
architecture rather than sandbox.

Allow the same control for PXE too.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 weeks agoefi_loader: Allow reporting the host defaults
Simon Glass [Thu, 7 Nov 2024 21:31:45 +0000 (14:31 -0700)]
efi_loader: Allow reporting the host defaults

Add an 'efidebug filename' command to report the default filename and
PXE architecture.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 weeks agoefi_loader: Move get_efi_pxe_arch() to efi_helper
Simon Glass [Thu, 7 Nov 2024 21:31:44 +0000 (14:31 -0700)]
efi_loader: Move get_efi_pxe_arch() to efi_helper

Move this function from the EFI bootmeth to the common efi_helper file.
No functional change is intended.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 weeks agoefi: Move default filename to a function
Simon Glass [Thu, 7 Nov 2024 21:31:43 +0000 (14:31 -0700)]
efi: Move default filename to a function

Use a function to obtain the device EFI filename, so that we can control
how sandbox behaves.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 weeks agosandbox: Add a -N flag to control on-host behaviour
Simon Glass [Thu, 7 Nov 2024 21:31:42 +0000 (14:31 -0700)]
sandbox: Add a -N flag to control on-host behaviour

Sandbox is its own architecture, but sometimes we want to mimic the host
architecture, e.g. when running an EFI app not built by U-Boot.

Add a -N/--native flag which tells sandbox to reflect the architecture
of the host.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 weeks agoefi_loader: Add a test app
Simon Glass [Thu, 7 Nov 2024 21:31:41 +0000 (14:31 -0700)]
efi_loader: Add a test app

Add a simple app to use for testing. This is intended to do whatever it
needs to for testing purposes. For now it just prints a message and
exits boot services.

There was a considerable amount of discussion about whether it is OK to
call exit-boot-services and then return to U-Boot. This is not normally
done in a real application, since exit-boot-services is used to
completely disconnect from U-Boot. For now, this part is skipped.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
7 weeks agodoc: qemu-riscv: describe CONFIG_DEBUG_SBI_CONSOLE
Heinrich Schuchardt [Tue, 5 Nov 2024 03:16:31 +0000 (04:16 +0100)]
doc: qemu-riscv: describe CONFIG_DEBUG_SBI_CONSOLE

In main U-Boot the SBI DBCN extension can be used to supply a debug
console.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
7 weeks agodoc: conf.py: correct title and author of generated pdf
Heinrich Schuchardt [Tue, 5 Nov 2024 02:17:41 +0000 (03:17 +0100)]
doc: conf.py: correct title and author of generated pdf

Adjust the PDF output options for rst2pdf:

* Set start document to 'index'.
* Set title to 'Das U-Boot'.
* Set author to 'The U-Boot development community'.

Correct documentation link.

Remove obsolete FIXME.

Link: https://rst2pdf.org/static/manual.html
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
7 weeks agoefi_loader: Change efi_dp_from_mem() to use size
Moritz Fischer [Mon, 4 Nov 2024 01:49:34 +0000 (01:49 +0000)]
efi_loader: Change efi_dp_from_mem() to use size

All call sites are using size rather than end addresses,
so instead - as previously done - calculating an end address
everywhere, just modify the function to use size and internally
calculate the end address

Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Cc: Patrick Wildt <pwildt@google.com>
Signed-off-by: Moritz Fischer <moritzf@google.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
7 weeks agotools: mkeficapsule: use %zd to print ssize_t.
Heinrich Schuchardt [Sun, 3 Nov 2024 22:45:05 +0000 (23:45 +0100)]
tools: mkeficapsule: use %zd to print ssize_t.

For printing a ssize_t variable we must use %zd and not %ld to avoid
a -Wformat error on 32-bit systems.

Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
7 weeks agodoc: remove vile language
mason1920 [Fri, 1 Nov 2024 20:27:25 +0000 (16:27 -0400)]
doc: remove vile language

7 weeks agolmb: Drop extra 16KB of stack space
Simon Glass [Mon, 28 Oct 2024 12:47:59 +0000 (13:47 +0100)]
lmb: Drop extra 16KB of stack space

There is already a defined stack-size which is used to reserve space for
the stack. It is confusing to add more in the lmb module, since then the
memory map (with meminfo command) seems to have a hole in it.

Drop this unnecessary feature.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 weeks agoMerge https://source.denx.de/u-boot/custodians/u-boot-riscv
Tom Rini [Wed, 6 Nov 2024 16:44:33 +0000 (10:44 -0600)]
Merge https://source.denx.de/u-boot/custodians/u-boot-riscv

CI: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/23239

- configs: visionfive2 defconfig: re-enable SPL_SYS_MMCSD_RAW_MODE
- driver: sifive ccache: enable TRUNKCLOCKGATE & REGIONCLOCKGATE
- board: support 64bit Microblaze V

7 weeks agoriscv: Introduce configuration for 64bit version Microblaze V
Michal Simek [Fri, 1 Nov 2024 09:50:45 +0000 (10:50 +0100)]
riscv: Introduce configuration for 64bit version Microblaze V

The commit 7576ab2facae ("riscv: Add support for AMD/Xilinx MicroBlaze V")
added support for 32bit version. 64bit version is also available that's why
wire it up too.
DT is providing description for generic QEMU target.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
7 weeks agoxilinx: mbv: Align smode_defconfig with upstream QEMU
Michal Simek [Fri, 1 Nov 2024 09:49:54 +0000 (10:49 +0100)]
xilinx: mbv: Align smode_defconfig with upstream QEMU

Align smode defconfig with upstream QEMU. It could be the part of commit
9d688e6da5c9 ("riscv: mbv: Align DT with QEMU").

Signed-off-by: Michal Simek <michal.simek@amd.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
7 weeks agoxilinx: mbv: Place DTB by default to DDR location
Michal Simek [Fri, 1 Nov 2024 09:49:53 +0000 (10:49 +0100)]
xilinx: mbv: Place DTB by default to DDR location

DTB should be also placed to DDR. It should be the part of commit
9d688e6da5c9 ("riscv: mbv: Align DT with QEMU").

Signed-off-by: Michal Simek <michal.simek@amd.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
7 weeks agoconfigs: visionfive2: re-enable SPL_SYS_MMCSD_RAW_MODE
Andreas Schwab [Wed, 30 Oct 2024 13:46:39 +0000 (14:46 +0100)]
configs: visionfive2: re-enable SPL_SYS_MMCSD_RAW_MODE

To restore MMC boot, enable SPL_SYS_MMCSD_RAW_MODE and recover
SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION and
SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION.

Fixes: 2a00d73d081 ("spl: mmc: Try to clean up raw-mode options")
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
7 weeks agodriver: sifive ccache: enable TRUNKCLOCKGATE and REGIONCLOCKGATE
Nick Hu [Wed, 30 Oct 2024 07:58:36 +0000 (15:58 +0800)]
driver: sifive ccache: enable TRUNKCLOCKGATE and REGIONCLOCKGATE

Enable the clock gating bit of ccache when the platform has the ccache0.

Signed-off-by: Nick Hu <nick.hu@sifive.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
7 weeks agobios_emulator: fix first argument of pci_{read,write}_config_* function calls
Yuri Zaporozhets [Wed, 30 Oct 2024 19:38:20 +0000 (20:38 +0100)]
bios_emulator: fix first argument of pci_{read,write}_config_* function calls

When compiling for riscv64, a bunch of warning is produced for the file
drivers/bios_emulator/besys.c. This patch fixes a portion of those warnings,
caused by incorrect first argument to pci_{read,write}_config_* functions.

Signed-off-by: Yuri Zaporozhets <yuriz@qrv-systems.net>
8 weeks agodrivers/video/vesa: use MTRRs only on x86
Yuri Zaporozhets [Wed, 30 Oct 2024 13:17:33 +0000 (14:17 +0100)]
drivers/video/vesa: use MTRRs only on x86

MTRR functionality is available only on x86, so this driver cannot be compiled
on other architectures. Fix this with preprocessor directives.

Signed-off-by: Yuri Zaporozhets <yuriz@qrv-systems.net>
8 weeks agobios_emulator: define the comment symbol for RISC-V assembler too
Yuri Zaporozhets [Wed, 30 Oct 2024 13:00:51 +0000 (14:00 +0100)]
bios_emulator: define the comment symbol for RISC-V assembler too

The bios_emulator driver cannot be compiled for RISC-V because the x86emu.h
header file doesn't define the comment symbol ("#") for the assembler.
With this patch, use the same symbol as for e.g. x86.

Signed-off-by: Yuri Zaporozhets <yuriz@qrv-systems.net>
8 weeks agobootmenu: add reprint check
Weijie Gao [Tue, 29 Oct 2024 09:47:22 +0000 (17:47 +0800)]
bootmenu: add reprint check

Record the last active menu item and check if it equals to the
current selected item before reprint.

Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Reviewed-by: Daniel Golle <daniel@makrotopia.org>
Tested-by: Daniel Golle <daniel@makrotopia.org>
8 weeks agomenu: add support to check if menu needs to be reprinted
Weijie Gao [Tue, 29 Oct 2024 09:47:16 +0000 (17:47 +0800)]
menu: add support to check if menu needs to be reprinted

This patch adds a new callback named need_reprint for menu.
The need_reprint will be called before printing the menu. If the
callback exists and returns FALSE, menu printing will be canceled.

This is very useful if the menu was not changed. It can save time
for serial-based menu to handle more input data.

Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Reviewed-by: Daniel Golle <daniel@makrotopia.org>
Tested-by: Daniel Golle <daniel@makrotopia.org>
8 weeks agomenu: fix the logic checking whether ESC key is pressed
Weijie Gao [Tue, 29 Oct 2024 09:47:10 +0000 (17:47 +0800)]
menu: fix the logic checking whether ESC key is pressed

It's observed that the bootmenu on a serial console sometimes
incorrectly quitted with superfluous characters filled to command
line input:

>  *** U-Boot Boot Menu ***
>
>      1. Startup system (Default)
>      2. Upgrade firmware
>      3. Upgrade ATF BL2
>      4. Upgrade ATF FIP
>      5. Load image
>      0. U-Boot console
>
>
>  Press UP/DOWN to move, ENTER to select, ESC to quit
>MT7988> [B

Analysis shows it was caused by the wrong logic of bootmenu_loop:

At first the bootmenu_loop received the first ESC char correctly.

However, during the second call to bootmenu_loop, there's no data
in the UART Rx FIFO. Due to the low baudrate, the second char of
the down array key sequence hasn't be fully received.

But bootmenu_loop just did a mdelay(10), and then treated it as a
single ESC key press event. It didn't even try tstc() again after
the 10ms timeout.

This patch fixes this issue by letting bootmenu_loop check tstc()
twice.

Tested-By: E Shattow <lucent@gmail.com>
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Reviewed-by: Daniel Golle <daniel@makrotopia.org>
Tested-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 weeks agoMerge patch series "U-boot: arm: Refine the booting on Total Compute"
Tom Rini [Mon, 4 Nov 2024 21:40:54 +0000 (15:40 -0600)]
Merge patch series "U-boot: arm: Refine the booting on Total Compute"

Leo Yan <leo.yan@arm.com> says:

This patch series is to refine the booting on Arm Total Compuate
platform.

It changes to use the info passed in DTB for initialization DRAM info,
and dynamically initializes the booting envoironment variables.

Another big change is to use an envoironment file for boot commands,
based on it, the series extends to support multiple block devices
(MMC and virtio). And the env file is extended for booting Debian.

The last commit is to update memory mapping info based on the DRAM info
passed via DT binding.

Link: https://lore.kernel.org/r/20241025171821.624702-1-leo.yan@arm.com
8 weeks agoarm: total_compute: Update memory mapping info
Leo Yan [Fri, 25 Oct 2024 17:18:21 +0000 (18:18 +0100)]
arm: total_compute: Update memory mapping info

This commit introduces build_mem_map() function for updating the mem_map
structure with copying info from gd->bd->bi_dram, so that it can keep
the consistence for DRAM info passed via DT.

The page table size is calculated prior to mem_map is ready, introduce
the get_page_table_size() function for a predefined table size.

Signed-off-by: Leo Yan <leo.yan@arm.com>
8 weeks agoarm: total_compute: Support Debian boot
Leo Yan [Fri, 25 Oct 2024 17:18:20 +0000 (18:18 +0100)]
arm: total_compute: Support Debian boot

Add booting option for Debian system.

Signed-off-by: Leo Yan <leo.yan@arm.com>
8 weeks agoarm: total_compute: Dynamically detect block device
Leo Yan [Fri, 25 Oct 2024 17:18:19 +0000 (18:18 +0100)]
arm: total_compute: Dynamically detect block device

Dynamically detect block device in the boot command, this allows to
support both MMC and virtio block devices.

Signed-off-by: Leo Yan <leo.yan@arm.com>
8 weeks agoarm: total_compute: Minor improvement for boot arguments
Boyan Karatotev [Fri, 25 Oct 2024 17:18:18 +0000 (18:18 +0100)]
arm: total_compute: Minor improvement for boot arguments

Tell the AVB command that is loading from MMC.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Signed-off-by: Leo Yan <leo.yan@arm.com>
8 weeks agoarm: total_compute: move the boot command to an env file
Boyan Karatotev [Fri, 25 Oct 2024 17:18:17 +0000 (18:18 +0100)]
arm: total_compute: move the boot command to an env file

The boot command for Total Compute has many aspects and changes from time
to time. So move it to an .env file where it can be a proper script.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Signed-off-by: Leo Yan <leo.yan@arm.com>
8 weeks agoarm: total_compute: Remove unused bootm_size
Boyan Karatotev [Fri, 25 Oct 2024 17:18:16 +0000 (18:18 +0100)]
arm: total_compute: Remove unused bootm_size

The whole DRAM bank is used for loading and U-boot can detect the
overlap between the kernel and initramfs. So it is safe to drop
bootm_size.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Signed-off-by: Leo Yan <leo.yan@arm.com>
8 weeks agoarm: total_compute: Initialize environment variables
Boyan Karatotev [Fri, 25 Oct 2024 17:18:15 +0000 (18:18 +0100)]
arm: total_compute: Initialize environment variables

Initialize the environment variables 'fdt_addr_r' and 'kernel_addr_r'
during the misc init phase. The static configurations are not needed,
remove them.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Signed-off-by: Leo Yan <leo.yan@arm.com>
8 weeks agoarm: total_compute: depend on TF-A for hardware description
Boyan Karatotev [Fri, 25 Oct 2024 17:18:14 +0000 (18:18 +0100)]
arm: total_compute: depend on TF-A for hardware description

On Total Compute, TF-A passes the info via DT binding for the hardware
description - includes the serial, memory, and arm_ffa nodes.

This commit initializes the fdt base address based on the passed the
register x1.

The similar implementation has already been done for the raspberry pi,
so borrow a lot of it.

Co-developed-by: Jackson Cooper-Driver <jackson.cooper-driver@arm.com>
Signed-off-by: Jackson Cooper-Driver <jackson.cooper-driver@arm.com>
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Signed-off-by: Leo Yan <leo.yan@arm.com>
8 weeks agoMerge patch series "Fixes to allow 'ut bootm' to pass when run interactively"
Tom Rini [Mon, 4 Nov 2024 20:49:10 +0000 (14:49 -0600)]
Merge patch series "Fixes to allow 'ut bootm' to pass when run interactively"

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

Starting a sandbox session and running 'ut bootm' on the command
line instead of using pytest with --verbose will result in some
test failures. This series makes the tests more deterministic so
that they will better control their environment and hence will
work as expected whether or not they are invoked with '--verbose'.
The series starts with a small fix to the parameters of
bootm_process_cmdline that one commit incorrectly added using a bool
when it had been updated to take flags by the preceeding commit.

Link: https://lore.kernel.org/r/20241101130254.473017-1-andrew.goodbody@linaro.org
8 weeks agotest: bootm: Ensure GD_FLG_SILENT is reset
Andrew Goodbody [Fri, 1 Nov 2024 13:02:54 +0000 (13:02 +0000)]
test: bootm: Ensure GD_FLG_SILENT is reset

Some bootm tests expect that GD_FLG_SILENT is reset in order
to work as expected. This is the state if the test is run with
'pytest --verbose' but not if run from, say, the sandbox command
line.
So reset the flag for those tests that rely on it being reset. This
has to be done in each test as the test infrastructure will set it
again before every test when not invoked with 'pytest --verbose'.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
8 weeks agotest: bootm: bootm_process_cmdline_env takes flags
Andrew Goodbody [Fri, 1 Nov 2024 13:02:53 +0000 (13:02 +0000)]
test: bootm: bootm_process_cmdline_env takes flags

The function bootm_process_cmdline_env takes flags as its third
parameter, not a bool. Correct the usage by replacing 'true'
with BOOTM_CL_ALL so that the intent is clear.
A similar change was made throughtout this file in the previous
commit to the one mentioned below as being fixed.

Fixes: 4448fe8e4e7c ("bootm: Allow updating the bootargs in a buffer")
Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
8 weeks agousb: Fix test dependency on ext4write command
Andrew Goodbody [Tue, 15 Oct 2024 14:17:37 +0000 (15:17 +0100)]
usb: Fix test dependency on ext4write command

The tests test_usb_ext4load_ext4write, test_usb_ext2load and
test_usb_load depend on the command ext4write being present not just
the feature of being able to write to an ext4 file system. So update
their dependencies to include the ext4write command itself. This will
prevent spurious test failures when running the USB tests against USB
storage with an ext2/ext4 partition but no ext4write command available.

Fixes: 1c5b6edad381 ("test/py: usb: Add tests for USB device")
Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Love Kumar <love.kumar@amd.com>
8 weeks agousb: Fix test failure with multiple partitions
Andrew Goodbody [Tue, 15 Oct 2024 12:19:16 +0000 (13:19 +0100)]
usb: Fix test failure with multiple partitions

When test_usb_load finds multiple partitions of the same type then
it will cause a test failure. The call to write the test file will
write a different test file to each partition but only return the
name and size of the last one written. So the test then fails to
load the test file from the first partition as it uses the name of
a file on a different partition.

Refactor the code so that only one test file is written at a time
and is written to only the partition being tested at that time. This
allows the correct file name to always be available to the code that
runs the load command. This reduces the number of files written and
also the number of calls to crc32 needed.

Fixes: 1c5b6edad381 ("test/py: usb: Add tests for USB device")
Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Love Kumar <love.kumar@amd.com>
8 weeks agoMerge tag 'dm-pull-2nov24' of https://source.denx.de/u-boot/custodians/u-boot-dm
Tom Rini [Sun, 3 Nov 2024 23:23:29 +0000 (17:23 -0600)]
Merge tag 'dm-pull-2nov24' of https://source.denx.de/u-boot/custodians/u-boot-dm

CI: https://source.denx.de/u-boot/custodians/u-boot-dm/-/pipelines/23152
CI: https://dev.azure.com/simon0972/u-boot/_build/results?buildId=71&view=results

- alist enhancements and fixes
- minor test and sandbox fixes
- some more x86/coreboot patches

8 weeks agosandbox: Fix comment for nomap_sysmem() function
Simon Glass [Mon, 28 Oct 2024 12:47:58 +0000 (13:47 +0100)]
sandbox: Fix comment for nomap_sysmem() function

This should say 'cast' rather than 'case', so fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agosandbox: Add a way to show the sandbox memory-mapping
Simon Glass [Mon, 28 Oct 2024 12:47:57 +0000 (13:47 +0100)]
sandbox: Add a way to show the sandbox memory-mapping

This is mostly hidden in the background, but it is sometimes useful to
look at it. Add a function to allow this.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agodoc: sandbox: Add docs for the sb command
Simon Glass [Mon, 28 Oct 2024 12:47:56 +0000 (13:47 +0100)]
doc: sandbox: Add docs for the sb command

This command has a few small features, so document it.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agosandbox: Convert sb command to use new macro
Simon Glass [Mon, 28 Oct 2024 12:47:55 +0000 (13:47 +0100)]
sandbox: Convert sb command to use new macro

Ise the new U_BOOT_CMD_WITH_SUBCMDS() macro instead of writing the code
out manually.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agobloblist: test: Mark tests with UTF_BLOBLIST
Simon Glass [Mon, 28 Oct 2024 12:47:54 +0000 (13:47 +0100)]
bloblist: test: Mark tests with UTF_BLOBLIST

Mark bloblist tests with this flag so that other tests which use
bloblist remain unaffected.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agotest: Allow saving and restoring the bloblist
Simon Glass [Mon, 28 Oct 2024 12:47:53 +0000 (13:47 +0100)]
test: Allow saving and restoring the bloblist

Tests which create a new bloblist overwrite the existing one in sandbox.
Provide a flag for tests to declare this behaviour. Save and restore the
bloblist pointer so that other tests remain unaffected.

Note that when sandbox is running normally, the bloblist has been
relocated to high in memory. The existing bloblist tests create a new
bloblist low in memory, so they do not conflict.

Correct a build error on coreboot by using accessors for gd->bloblist:
Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agolog: Add a new category for tests
Simon Glass [Mon, 28 Oct 2024 12:47:52 +0000 (13:47 +0100)]
log: Add a new category for tests

In some core test code, no existing categories make sense. Add a new one
for testing.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agox86: coreboot: Allow building an expo for editing CMOS config
Simon Glass [Mon, 14 Oct 2024 22:32:11 +0000 (16:32 -0600)]
x86: coreboot: Allow building an expo for editing CMOS config

Coreboot provides the CMOS layout in the tables it passes to U-Boot.
Use that to build an editor for the CMOS settings.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agox86: coreboot: Add a command to check and update CMOS RAM
Simon Glass [Mon, 14 Oct 2024 22:32:10 +0000 (16:32 -0600)]
x86: coreboot: Add a command to check and update CMOS RAM

Coreboot tables provide information about the CMOS-RAM checksum. Add a
command which can check and update this.

With this it is possible to adjust CMOS-RAM settings and tidy up the
checksum afterwards.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agox86: coreboot: Enable support for the configuration editor
Simon Glass [Mon, 14 Oct 2024 22:32:09 +0000 (16:32 -0600)]
x86: coreboot: Enable support for the configuration editor

Enable cedit support along with required options and a simple style.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agox86: coreboot: Show the option table
Simon Glass [Mon, 14 Oct 2024 22:32:08 +0000 (16:32 -0600)]
x86: coreboot: Show the option table

Update the cbsysinfo command to show the contents of the CMOS option
table.

While we are here, add some example output for this command, along with
mention of what the unimplemented tags are.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agox86: coreboot: Add a test for cbsysinfo command
Simon Glass [Mon, 14 Oct 2024 22:32:07 +0000 (16:32 -0600)]
x86: coreboot: Add a test for cbsysinfo command

Add a simple test for this command, checking that coreboot has the
required features.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agobootstage: Do not sort records
Jonas Karlman [Sat, 3 Aug 2024 12:41:45 +0000 (12:41 +0000)]
bootstage: Do not sort records

The timer counter on Rockchip SoCs may be reset in TF-A, this may cause
the bootstage records to be printed out of order and with an incorrect
elapsed time.

Fix this by not sorting the bootstage records.

Before on a Radxa ZERO 3W (RK3566) board:

  => bootstage report
  Timer summary in microseconds (12 records):
         Mark    Elapsed  Stage
            0          0  reset
        7,436      7,436  board_init_f
      164,826    157,390  SPL
      375,392    210,566  end phase
      423,909     48,517  board_init_r
      472,973     49,064  eth_common_init
      476,848      3,875  main_loop
      477,003        155  cli_loop

  Accumulated time:
                   7,181  of_live
                  14,739  dm_spl
                  15,029  dm_r
                 315,150  dm_f

With this the records can be printed in chronological order when the
counter is reset and SPL and board_init_r records show correct elapsed
time.

  => bootstage report
  Timer summary in microseconds (12 records):
         Mark    Elapsed  Stage
            0          0  reset
      164,437    164,437  SPL
      375,023    210,586  end phase
        7,437      7,437  board_init_f
      424,390    416,953  board_init_r
      473,515     49,125  eth_common_init
      477,402      3,887  main_loop
      477,571        169  cli_loop

  Accumulated time:
                  14,734  dm_spl
                 315,646  dm_f
                   7,339  of_live
                  14,977  dm_r

For the tested board external TPL and BROM take ~164 ms to initialize
DRAM and load SPL, SPL take ~210ms to load images from FIT and U-Boot
proper take ~477ms to reach cli prompt.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
8 weeks agobootstd: Avoid showing an invalid buffer address
Simon Glass [Sat, 19 Oct 2024 15:22:09 +0000 (09:22 -0600)]
bootstd: Avoid showing an invalid buffer address

When the buffer address is not set, say so, rather than showing an
address which looks very strange, on sandbox.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agobootstd: cros: Correct the x86-setup address
Simon Glass [Sat, 19 Oct 2024 15:21:59 +0000 (09:21 -0600)]
bootstd: cros: Correct the x86-setup address

This should really use an address rather than the buffer. Update it in
the command.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agotest: boot: Update bootflow_iter() for console checking
Simon Glass [Sat, 19 Oct 2024 15:21:58 +0000 (09:21 -0600)]
test: boot: Update bootflow_iter() for console checking

This test checks console output so should have the UTF_CONSOLE flag. Add
it.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agotest: Drop the duplicate line in setup_bootmenu_image()
Simon Glass [Sat, 19 Oct 2024 15:21:57 +0000 (09:21 -0600)]
test: Drop the duplicate line in setup_bootmenu_image()

The mkimage call is done twice. Remove the duplicate.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agotest: Expand implementation of ut_list_has_dm_tests()
Simon Glass [Sat, 19 Oct 2024 15:21:56 +0000 (09:21 -0600)]
test: Expand implementation of ut_list_has_dm_tests()

This function assumes that all tests in a suite are being run. This
means that it can sometimes call dm_test_restore() when it should not.

The impact of this is that it is not possible, for example, to run
'ut bootstd bootflow_cros' and then check the state of bootstd
afterwards, since all devices are removed and recreated.

Update the function to take account of any selected test, to avoid this
problem.

Add a comment for test_insert while we are here.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agotest: boot: Use a consistent name for the script bootmeth
Simon Glass [Sat, 19 Oct 2024 15:21:50 +0000 (09:21 -0600)]
test: boot: Use a consistent name for the script bootmeth

In the bootflow tests the script bootmeth is bound with the name
bootmeth_script whereas the others have a name without the bootmeth_
prefix. Adjust it to be the same.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
8 weeks agodm: core: Add a function to see if a device exists
Simon Glass [Sat, 19 Oct 2024 15:21:49 +0000 (09:21 -0600)]
dm: core: Add a function to see if a device exists

All the uclass functions for finding a device end up creating a uclass
if it doesn't exist. Add a function which instead returns NULL in this
case.

This is useful when in the 'unbind' path, since we don't want to undo
any unbinding which has already happened.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agoalist: Add maintainer
Simon Glass [Sat, 19 Oct 2024 15:21:48 +0000 (09:21 -0600)]
alist: Add maintainer

Add myself as maintainer of alist

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agoalist: Add a way to efficiently filter an alist
Simon Glass [Sat, 19 Oct 2024 15:21:47 +0000 (09:21 -0600)]
alist: Add a way to efficiently filter an alist

Unlike linked lists, it is inefficient to remove items from an alist,
particularly if it is large. If most items need to be removed, then the
time-complexity approaches O(n2).

Provide a way to do this efficiently, by working through the alist once
and copying elements down.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agoalist: Add a function to empty the list
Simon Glass [Sat, 19 Oct 2024 15:21:46 +0000 (09:21 -0600)]
alist: Add a function to empty the list

Sometimes it is useful to empty the list without de-allocating any of
the memory used, e.g. when the list will be re-populated immediately
afterwards.

Add a new function for this.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agoalist: Add for-loop helpers
Simon Glass [Sat, 19 Oct 2024 15:21:45 +0000 (09:21 -0600)]
alist: Add for-loop helpers

Add some macros which permit easy iteration through an alist, similar to
those provided by the 'list' implementation.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agoalist: Add a way to get the next element
Simon Glass [Sat, 19 Oct 2024 15:21:44 +0000 (09:21 -0600)]
alist: Add a way to get the next element

Add a new function which returns the next element after the one
provided, if it exists in the list.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agoalist: Expand the comment for alist_get()
Simon Glass [Sat, 19 Oct 2024 15:21:43 +0000 (09:21 -0600)]
alist: Expand the comment for alist_get()

Add a better description for this macro.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agoalist: Add a comment for alist_init_struct()
Simon Glass [Sat, 19 Oct 2024 15:21:42 +0000 (09:21 -0600)]
alist: Add a comment for alist_init_struct()

Comment this macro so that it is clear how to use it.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agoalist: Mention the error condition in alist_add_placeholder()
Simon Glass [Sat, 19 Oct 2024 15:21:41 +0000 (09:21 -0600)]
alist: Mention the error condition in alist_add_placeholder()

Update the function comment to note that this function can return NULL
if it runs out of memory.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks ago.readthedocs.yml: update Python version and Ubuntu release
Heinrich Schuchardt [Sun, 3 Nov 2024 10:56:35 +0000 (11:56 +0100)]
.readthedocs.yml: update Python version and Ubuntu release

The current documentation build dependencies are not compatible with
Python 3.9. Update to Python 3.12.

Use the current Ubuntu LTS release, i.e. 24.04 Noble Numbat.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 weeks agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh
Tom Rini [Sun, 3 Nov 2024 17:05:20 +0000 (11:05 -0600)]
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh

8 weeks agoARM: renesas: Deduplicate common Renesas defconfig
Marek Vasut [Sun, 27 Oct 2024 02:20:07 +0000 (03:20 +0100)]
ARM: renesas: Deduplicate common Renesas defconfig

Deduplicate common Renesas defconfig by factoring out the common
parts into generic renesas_rcar_defconfig and including those using
the #include <configs/...> preprocessor macro in the current set of
board specific defconfigs. The preprocessor macro is applicable
to defconfigs as well.

This introduces no functional change, the resulting .config are
identical for all Renesas systems.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
8 weeks agoARM: renesas: Deduplicate Renesas R-Car 64bit defconfigs
Marek Vasut [Sun, 27 Oct 2024 02:20:06 +0000 (03:20 +0100)]
ARM: renesas: Deduplicate Renesas R-Car 64bit defconfigs

Deduplicate defconfigs for all Renesas R-Car 64bit systems by factoring
out the common parts into generic renesas_rcar64.config and including
those using the #include <configs/...> preprocessor macro in the current
set of board specific defconfigs. The preprocessor macro is applicable
to defconfigs as well.

This introduces no functional change, the resulting .config is identical
for all Renesas R-Car 64bit systems.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
8 weeks agoARM: renesas: Deduplicate Renesas R-Car Gen4 defconfigs
Marek Vasut [Sun, 27 Oct 2024 02:20:05 +0000 (03:20 +0100)]
ARM: renesas: Deduplicate Renesas R-Car Gen4 defconfigs

Deduplicate defconfigs for all Renesas R-Car Gen4 systems by factoring
out the common parts into generic renesas_rcar4.config and including
those using the #include <configs/...> preprocessor macro in the current
set of board specific defconfigs. The preprocessor macro is applicable
to defconfigs as well.

This introduces no functional change, the resulting .config is identical
for all Renesas R-Car Gen4 systems.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
8 weeks agoARM: renesas: Deduplicate Renesas R-Car Gen3 defconfigs
Marek Vasut [Sun, 27 Oct 2024 02:20:04 +0000 (03:20 +0100)]
ARM: renesas: Deduplicate Renesas R-Car Gen3 defconfigs

Deduplicate defconfigs for all Renesas R-Car Gen3 systems by factoring
out the common parts into generic renesas_rcar3.config and including
those using the #include <configs/...> preprocessor macro in the current
set of board specific defconfigs. The preprocessor macro is applicable
to defconfigs as well.

This introduces no functional change, the resulting .config is identical
for all Renesas R-Car Gen3 systems.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
8 weeks agoARM: renesas: Deduplicate Renesas R-Car Gen2 defconfigs
Marek Vasut [Sun, 27 Oct 2024 02:20:03 +0000 (03:20 +0100)]
ARM: renesas: Deduplicate Renesas R-Car Gen2 defconfigs

Deduplicate defconfigs for all Renesas R-Car Gen2 systems by factoring
out the common parts into generic renesas_rcar2.config and including
those using the #include <configs/...> preprocessor macro in the current
set of board specific defconfigs. The preprocessor macro is applicable
to defconfigs as well.

This introduces no functional change, the resulting .config is identical
for all Renesas R-Car Gen2 systems.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
8 weeks agoclk: renesas: Fix missing unbind on driver look up failure
Marek Vasut [Wed, 4 Sep 2024 22:34:20 +0000 (00:34 +0200)]
clk: renesas: Fix missing unbind on driver look up failure

In case lists_driver_lookup_name("rst_gen3") fails, the clk_gen3 driver
has to be unbound before erroring out. Reorder the function such that
both clk_gen3 and rst_gen3 drivers are looked up first, if either look
up fails then the function errors out right away. Second, the clk_gen3
is bound, if binding fails, the function still errors out right away
because there is nothing to undo after either lists_driver_lookup_name()
call. Finally, rst_gen3 is bound and if this binding fails, then that
is the only place where clk_gen3 has to be unbound before erroring out.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
8 weeks agoMerge patch series "fs: ext4: implement opendir, readdir, closedir"
Tom Rini [Fri, 1 Nov 2024 19:38:05 +0000 (13:38 -0600)]
Merge patch series "fs: ext4: implement opendir, readdir, closedir"

Heinrich Schuchardt <heinrich.schuchardt@canonical.com> says:

With this series opendir, readdir, closedir are implemented for ext4.
These functions are needed for the UEFI sub-system to interact with
the ext4 file system.

To reduce code growth the functions are reused to implement the ls
command for ext4.

A memory leak in ext4fs_exists is resolved.

ext4fs_iterate_dir is simplified by removing a redundant pointer copy.

Link: https://lore.kernel.org/r/20241026064048.370062-1-heinrich.schuchardt@canonical.com
8 weeks agofs: ext4: use fs_ls_generic
Heinrich Schuchardt [Sat, 26 Oct 2024 06:40:48 +0000 (08:40 +0200)]
fs: ext4: use fs_ls_generic

Now that opendir, readir, closedir are implemented for ext4 we can use
fs_ls_generic() for implementing the ls command.

Adjust the unit tests:

* fs_ls_generic() produces more spaces between file size and name.
* The ext4 specific message "** Can not find directory. **\n" is not
  written anymore.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 weeks agoefi_loader: fix GetInfo and SetInfo
Heinrich Schuchardt [Sat, 26 Oct 2024 06:40:47 +0000 (08:40 +0200)]
efi_loader: fix GetInfo and SetInfo

* Some of our file system drivers cannot report a file size for
  directories. Use a dummy value in this case.
* For SetInfo the UEFI spec requires to ignore the file size field.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 weeks agofs: ext4: implement opendir, readdir, closedir
Heinrich Schuchardt [Sat, 26 Oct 2024 06:40:46 +0000 (08:40 +0200)]
fs: ext4: implement opendir, readdir, closedir

For accessing directories from the EFI sub-system a file system must
implement opendir, readdir, closedir. Provide the missing implementation.

With this patch the eficonfig command can be used to define load options
for the ext4 file system.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 weeks agofs: ext4: free directory node in ext4fs_exists()
Heinrich Schuchardt [Sat, 26 Oct 2024 06:40:45 +0000 (08:40 +0200)]
fs: ext4: free directory node in ext4fs_exists()

The directory retrieved in ext4fs_exists() should be freed to avoid a
memory leak.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
8 weeks agofs: ext4: simplify ext4fs_iterate_dir()
Heinrich Schuchardt [Sat, 26 Oct 2024 06:40:44 +0000 (08:40 +0200)]
fs: ext4: simplify ext4fs_iterate_dir()

Remove copying a pointer with a cast to the very same type.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 weeks agotest/cmd/mem_copy.c: Use CONFIG_SYS_LOAD_ADDR for base
Tom Rini [Wed, 30 Oct 2024 00:36:49 +0000 (18:36 -0600)]
test/cmd/mem_copy.c: Use CONFIG_SYS_LOAD_ADDR for base

When reading/writing to memory we cannot assume that a base address of
0x0 is correct and functional. So use CONFIG_SYS_LOAD_ADDR as the base
from which we add a bit more padding and being our tests.

Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agotest/py: spi: prevent overwriting relocation memory
Padmarao Begari [Tue, 29 Oct 2024 11:47:09 +0000 (17:17 +0530)]
test/py: spi: prevent overwriting relocation memory

Update spi negative test case to prevent SF command
from overwriting relocation memory area.

Signed-off-by: Padmarao Begari <padmarao.begari@amd.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Love Kumar <love.kumar@amd.com>
8 weeks agolmb: remove __maybe_unused from lmb_map_update_notify
Heinrich Schuchardt [Mon, 28 Oct 2024 06:21:36 +0000 (07:21 +0100)]
lmb: remove __maybe_unused from lmb_map_update_notify

Function lmb_map_update_notify() is always referenced.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
8 weeks agoscsi: fix disk capacity too small by one sector
Julius Lehmann [Sat, 26 Oct 2024 18:06:44 +0000 (20:06 +0200)]
scsi: fix disk capacity too small by one sector

SCSI READ CAPACITY reports the address of the last block and the block
size. The total number of blocks is thus last block address plus one.

This also fixes the corresponding test case.

8 weeks agoacpi_table: Fix coverity defect in acpi_write_spcr
Patrick Rudolph [Wed, 30 Oct 2024 13:11:46 +0000 (14:11 +0100)]
acpi_table: Fix coverity defect in acpi_write_spcr

Fix "Integer handling issues  (SIGN_EXTENSION)" in newly added code:
Cast serial_info.reg_offset to u64 to prevent an integer overflow when
shifted too many bits to the left. Currently this never happens as the
shift is supposed to be less than 4.

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
8 weeks agomtd: spi-nor: Guard SPI_STACKED_PARALLEL with DM_SPI check
Tom Rini [Thu, 31 Oct 2024 17:47:25 +0000 (11:47 -0600)]
mtd: spi-nor: Guard SPI_STACKED_PARALLEL with DM_SPI check

While we want to compile the SPI_STACKED_PARALLEL code everywhere we
can, it must first be guarded with an #if for DM_SPI as not all cases
where we have this code built, such as in SPL, will have the relevant
DM_SPI option enabled.

Fixes: 43423cdc5dc1 ("mtd: spi-nor: Always build SPI_STACKED_PARALLEL code")
Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agoMerge patch series "mtd: spi-nor: Remove recently added nor->addr_width == 3 test"
Tom Rini [Thu, 31 Oct 2024 16:50:25 +0000 (10:50 -0600)]
Merge patch series "mtd: spi-nor: Remove recently added nor->addr_width == 3 test"

Tom Rini <trini@konsulko.com> says:

In the patch series "spi-nor: Add parallel and stacked memories support"
a number of issues have since been raised about problems that now exist
on a large number of previously working platforms. Marek Vasut has gone
and identified a number of issues and this series is the starting point
of attempting to address them and fix the problems with previously
existing platforms.

Link: https://patchwork.ozlabs.org/project/uboot/list/?series=429932&state=*
Link: https://lore.kernel.org/r/20241026201741.171073-1-marek.vasut+renesas@mailbox.org
8 weeks agomtd: spi-nor: Always build SPI_STACKED_PARALLEL code
Marek Vasut [Sat, 26 Oct 2024 20:16:26 +0000 (22:16 +0200)]
mtd: spi-nor: Always build SPI_STACKED_PARALLEL code

Prevent the code gated by SPI_STACKED_PARALLEL from bitrot
by using if (CONFIG_IS_ENABLED(SPI_STACKED_PARALLEL)) around
it. That way, it is always at least compiled.

Fixes: 5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support")
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
8 weeks agomtd: spi-nor: Rename SPI_ADVANCE to SPI_STACKED_PARALLEL
Marek Vasut [Sat, 26 Oct 2024 20:16:25 +0000 (22:16 +0200)]
mtd: spi-nor: Rename SPI_ADVANCE to SPI_STACKED_PARALLEL

The SPI_ADVANCE description does not explain what the switch does.
It does not have anything to do with any advanced functionality, it
only gates off support for stacked and parallel SPI NORs. Rename the
Kconfig symbol, update description, and move it right next to Xilinx
hardware as it seems to be specific to this hardware. Make sure the
symbol is also protected by if DM_SPI in Kconfig.

Fixes: 5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support")
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
8 weeks agomtd: spi-nor: Rewrite rem_bank_len calculation
Marek Vasut [Sat, 26 Oct 2024 20:16:24 +0000 (22:16 +0200)]
mtd: spi-nor: Rewrite rem_bank_len calculation

Rewrite the code to make it clear exactly where the
SNOR_F_HAS_PARALLEL flag leads to *2 and /2 operation
compared to regular code path. No functional change.

Fixes: 5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support")
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
8 weeks agomtd: spi-nor: Fix multiple coding style issues
Marek Vasut [Sat, 26 Oct 2024 20:16:23 +0000 (22:16 +0200)]
mtd: spi-nor: Fix multiple coding style issues

The offset variable is set, but never used afterward.
Fix indent. Fix predecrement without justification.
Remove use of parenthesis where unnecessary.

Fixes: 5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support")
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
8 weeks agomtd: spi-nor: Remove recently added SST special case
Marek Vasut [Sat, 26 Oct 2024 20:16:22 +0000 (22:16 +0200)]
mtd: spi-nor: Remove recently added SST special case

Remove undocumented SST special case. This was added in commit
5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support")
without any explanation in the commit message. Remove it.

Fixes: 5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support")
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
8 weeks agomtd: spi-nor: Remove recently added write_disable() call
Marek Vasut [Sat, 26 Oct 2024 20:16:21 +0000 (22:16 +0200)]
mtd: spi-nor: Remove recently added write_disable() call

Remove undocumented write_disable() call. This was added in commit
5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support")
without any explanation in the commit message. Remove it.

Fixes: 5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support")
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
8 weeks agomtd: spi-nor: Remove recently added set_4byte() call
Marek Vasut [Sat, 26 Oct 2024 20:16:20 +0000 (22:16 +0200)]
mtd: spi-nor: Remove recently added set_4byte() call

Remove undocumented set_4byte() call. This was added in commit
5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support")
without any explanation in the commit message. Remove it.

Fixes: 5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support")
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>