]> git.dujemihanovic.xyz Git - u-boot.git/log
u-boot.git
6 weeks agolib: provide function hextoull()
Heinrich Schuchardt [Sun, 3 Nov 2024 22:42:20 +0000 (23:42 +0100)]
lib: provide function hextoull()

We often convert hexadecimal strings to hextoull(). Provide a wrapper
function to simple_strtoull() that does not require specifying the radix.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
8 weeks agomtd: spi-nor: Remove recently added spi_nor_wait_till_ready() call
Marek Vasut [Sat, 26 Oct 2024 20:16:19 +0000 (22:16 +0200)]
mtd: spi-nor: Remove recently added spi_nor_wait_till_ready() call

Remove undocumented spi_nor_wait_till_ready() 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 nor->addr_width == 3 test
Marek Vasut [Sat, 26 Oct 2024 20:16:18 +0000 (22:16 +0200)]
mtd: spi-nor: Remove recently added nor->addr_width == 3 test

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

This also has a bad side-effect which breaks READ operation of every SPI NOR
which does not use addr_width == 3, e.g. s25fs512s does not work at all. This
is because if addr_width != 3, rem_bank_len is always 0, and if rem_bank_len
is 0, then read_len is 0 and if read_len is 0, then the spi_nor_read() returns
-EIO.

Basic reproducer is as follows:
"
=> sf probe ; sf read 0x50000000 0 0x10000
SF: Detected s25fs512s with page size 256 Bytes, erase size 256 KiB, total 64 MiB
device 0 offset 0x0, size 0x10000
SF: 65536 bytes @ 0x0 Read: ERROR -5
"

Fixes: 5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support")
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
8 weeks agoMerge tag 'efi-2025-01-rc2' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Thu, 31 Oct 2024 14:33:24 +0000 (08:33 -0600)]
Merge tag 'efi-2025-01-rc2' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request efi-2025-01-rc2

Documentation:

* include semihosting and K3 boards only once in table of contents
* include file-system API into HTML docs
* describe struct ext2_inode
* update Python requirements

UEFI:

* mark local functions static
* simplify efi_free_pages()
* pass correct end address value to  efi_dp_from_mem()
* fix typos in HII test and eficonfig command

8 weeks agolib: efi_loader: Fix efi_dp_from_mem() calls
Moritz Fischer [Wed, 30 Oct 2024 21:17:48 +0000 (21:17 +0000)]
lib: efi_loader: Fix efi_dp_from_mem() calls

The function expects an end address but is being called with
an size instead.

Fixes: 6422820ac3 ("efi_loader: split unrelated code from efi_bootmgr.c")
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Moritz Fischer <moritzf@google.com>
Reviewed-by: Patrick Wildt <pwildt@google.com>
8 weeks agoefi_loader: Make tcg2_uninit() static
Ilias Apalodimas [Wed, 30 Oct 2024 20:40:59 +0000 (22:40 +0200)]
efi_loader: Make tcg2_uninit() static

This function is only used locally, so make it static and quiesce
the W=1 warning

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
8 weeks agoefi_loader: Remove unused diskid
Ilias Apalodimas [Sat, 26 Oct 2024 08:00:49 +0000 (11:00 +0300)]
efi_loader: Remove unused diskid

That variable is defined and assigned a value in two functions
but it's never used.

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
8 weeks agoefi_loader: Mark static functions in smbiosdump
Ilias Apalodimas [Sat, 26 Oct 2024 07:57:41 +0000 (10:57 +0300)]
efi_loader: Mark static functions in smbiosdump

Mark functions that are only used locally as static and
quiesce W=1 warnings

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
8 weeks agoefi_loader: Mark static function in dumpdtb
Ilias Apalodimas [Sat, 26 Oct 2024 07:43:17 +0000 (10:43 +0300)]
efi_loader: Mark static function in dumpdtb

A few functions are only used locally but miss the 'static' keyword.
Add it and quiesce W=1 build wanrings

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
8 weeks agoefi_loader: Mark efi_bootmgr_release_uridp as static
Ilias Apalodimas [Sat, 26 Oct 2024 07:37:32 +0000 (10:37 +0300)]
efi_loader: Mark efi_bootmgr_release_uridp as static

This is only used locally so make it static

Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
8 weeks agocmd/eficonfig: capitalize 'enter description'
Heinrich Schuchardt [Fri, 25 Oct 2024 21:15:05 +0000 (23:15 +0200)]
cmd/eficonfig: capitalize 'enter description'

To conform with other messages capitalize the first letter:
%s/enter description/Enter description/g

Adjust the unit tests accordingly.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
8 weeks agofs: ext4: document struct ext2_inode
Heinrich Schuchardt [Fri, 25 Oct 2024 04:56:01 +0000 (06:56 +0200)]
fs: ext4: document struct ext2_inode

Provide Sphinx style documentation for struct ext2_inode.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 weeks agoefi_loader: Simplify efi_free_pages()
Ilias Apalodimas [Thu, 24 Oct 2024 11:01:55 +0000 (14:01 +0300)]
efi_loader: Simplify efi_free_pages()

We currently call efi_free_pages() with a notify flag and explicitly
update the efi memory map. That's not needed as lmb_free_flags() will do
that for us if the LMB_NONOTIFY flag is removed

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
8 weeks agodoc: include file-system API into HTML docs
Heinrich Schuchardt [Thu, 24 Oct 2024 09:15:29 +0000 (11:15 +0200)]
doc: include file-system API into HTML docs

Add include/fs.h to the API documentation.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
8 weeks agofs: improve API documentation
Heinrich Schuchardt [Thu, 24 Oct 2024 09:15:28 +0000 (11:15 +0200)]
fs: improve API documentation

* Describe the fields of struct fs_dir_stream.
* Update fs_readdir() and fs_opendir() description.
* Fix Sphinx errors.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
8 weeks agodoc: update Python requirements
Heinrich Schuchardt [Mon, 21 Oct 2024 18:08:31 +0000 (20:08 +0200)]
doc: update Python requirements

Update Sphinx, sphinx-rtd-theme, and their dependencies.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 weeks agodoc: do not include K3 boards twice in TOC
Heinrich Schuchardt [Mon, 21 Oct 2024 18:01:01 +0000 (20:01 +0200)]
doc: do not include K3 boards twice in TOC

Sphinx writes a warning if a page is included twice in the table of
contents. Use references instead.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Acked-by: Neha Malcom Francis <n-francis@ti.com>
8 weeks agodoc: semihosting can only be once in TOC
Heinrich Schuchardt [Mon, 21 Oct 2024 18:01:00 +0000 (20:01 +0200)]
doc: semihosting can only be once in TOC

Sphinx warns if a page is added to the table of contents twice.
Add a reference instead.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
8 weeks agoboot/Kconfig: correct fdt_fixup_memory_banks name typo
Baruch Siach [Mon, 28 Oct 2024 16:44:35 +0000 (18:44 +0200)]
boot/Kconfig: correct fdt_fixup_memory_banks name typo

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
8 weeks agoscripts/dtc/pylibfdt/libfdt.i_shipped: Use SWIG_AppendOutput
Markus Volk [Wed, 30 Oct 2024 05:07:16 +0000 (06:07 +0100)]
scripts/dtc/pylibfdt/libfdt.i_shipped: Use SWIG_AppendOutput

Swig has changed language specific AppendOutput functions. The helper
macro SWIG_AppendOutput remains unchanged. Use that instead
of SWIG_Python_AppendOutput, which would require an extra parameter
since swig 4.3.0.

/home/flk/poky/build-test/tmp/work/qemux86_64-poky-linux/u-boot/2024.10/git/arch/x86/cpu/u-boot-64.lds
| scripts/dtc/pylibfdt/libfdt_wrap.c: In function â€˜_wrap_fdt_next_node’:
| scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function â€˜SWIG_Python_AppendOutput’
|  5581 |     resultobj = SWIG_Python_AppendOutput(resultobj, val);
|       |                 ^~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Reported-by: Rudi Heitbaum <rudi@heitbaum.com>
Link: https://github.com/dgibson/dtc/pull/154
8 weeks agolmb: Correctly unmap memory after notifications
Ilias Apalodimas [Thu, 24 Oct 2024 10:46:25 +0000 (13:46 +0300)]
lmb: Correctly unmap memory after notifications

We never unmap the memory used to update the EFI memory map after
notifications

Fixes: commit 2f6191526a13 ("lmb: notify of any changes to the LMB memory map")
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
8 weeks agoarch: arm: dts: k3-j784s4-r5: Introduce k3-j784s4-r5.dtsi
Manorit Chawdhry [Thu, 24 Oct 2024 10:00:04 +0000 (15:30 +0530)]
arch: arm: dts: k3-j784s4-r5: Introduce k3-j784s4-r5.dtsi

Create an SoC R5 dtsi file that could be used at board level R5 files. This
would help in keeping the SoC level changes in sync across board files.

Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
8 weeks agoMAINTAINERS: add tambarus as reviewer for SPI NOR
Tudor Ambarus [Wed, 30 Oct 2024 11:02:21 +0000 (11:02 +0000)]
MAINTAINERS: add tambarus as reviewer for SPI NOR

I'd like to get Cc'ed to u-boot's SPI NOR patches to help review them.
The ultimate goal is to have an aligned approach in u-boot and linux.

Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Acked-by: Marek Vasut <marex@denx.de>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 weeks agoefi_loader: fix CONFIG_EFI_HTTP dependencies
Heinrich Schuchardt [Sat, 19 Oct 2024 10:59:57 +0000 (12:59 +0200)]
efi_loader: fix CONFIG_EFI_HTTP dependencies

CONFIG_CMD_DNS and CONFIG_CMD_WGET depend on CONFIG_CMD_NET.
CONFIG_CMD_NET depends on CONFIG_NET or CONFIG_NET_LWIP.

We shall only enable CONFIG_EFI_HTTP if there is network support.
We have to select CONFIG_CMD_NET.

Fixes: d7d07a8b508b ("efi_loader: support boot from URI device path")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
8 weeks agoefi_selftest: make HII test data static
Heinrich Schuchardt [Sat, 19 Oct 2024 09:03:56 +0000 (11:03 +0200)]
efi_selftest: make HII test data static

Variables that are only used locally in a module should not be exported.

* Make the HII test data variables static.
* Remove unused GUIDs.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
8 weeks agoefi_selftest: fix typo 'got languages' in HII test
Heinrich Schuchardt [Sat, 19 Oct 2024 08:50:29 +0000 (10:50 +0200)]
efi_selftest: fix typo 'got languages' in HII test

%s/got languages are/Available languages:/

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
8 weeks agoMerge tag 'u-boot-imx-master-20241029' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Wed, 30 Oct 2024 00:46:08 +0000 (18:46 -0600)]
Merge tag 'u-boot-imx-master-20241029' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/23092

- Implement i.MX93 erratum fix on the dwc_eth_qos driver to fix RMII.
- Add support for Emcraft Systems NavQ+.
- Fix the size of IVT + CSF blob tacked on to u-boot.itb.

8 weeks agoMerge patch series "memory: ti-aemif: Add DM support"
Tom Rini [Wed, 30 Oct 2024 00:45:51 +0000 (18:45 -0600)]
Merge patch series "memory: ti-aemif: Add DM support"

Bastien Curutchet <bastien.curutchet@bootlin.com> says:

Hi all,

This patch series aims to add DM support for the AEMIF controller that
can be found in the DaVinci SoCs.

This controller has already a driver used by the Keystone SoCs so I
add my work to it.

As we can now easily import Linux device-trees, I try to stick the
most I can to the Linux bindings of the AEMIF controller. To do so I add
an 'intermediate' driver called 'ti-aemif-cs'. It's in charge of
configuring timings for a given chip select of the AEMIF controller.

Link: https://lore.kernel.org/r/20241021151330.1860929-1-bastien.curutchet@bootlin.com
8 weeks agomemory: ti-aemif-cs: Compute timing configuration from DT parsing
Bastien Curutchet [Mon, 21 Oct 2024 15:13:30 +0000 (17:13 +0200)]
memory: ti-aemif-cs: Compute timing configuration from DT parsing

The Linux bindings of the AEMIF offer properties that specify the
transaction timings for each chips select.

Add parsing of these properties to calculate the chip select's
configuration from them and the rate of the AEMIF's reference clock.

Signed-off-by: Bastien Curutchet <bastien.curutchet@bootlin.com>
8 weeks agomemory: ti-aemif: Add DM support
Bastien Curutchet [Mon, 21 Oct 2024 15:13:29 +0000 (17:13 +0200)]
memory: ti-aemif: Add DM support

The AEMIF's bindings in the Linux tree have a node for the AEMIF
controller and then a node for each AEMIF's chip select. This CS node
doesn't have a compatible property but describes the timing parameters
used by a given chip select.
The U-Boot DM framework expects every node to have a 'compatible'
property. If no 'compatible' is present in a node, its children won't be
parsed by u-boot.

Add DM support to the ti-aemif driver.
Add a new ti-aemif-cs driver to comply with the Linux bindings and the
U-Boot's DM philosophy. This driver handles the timing parameters
of an AEMIF's chip select so move aemif_cs_configure() from ti-aemif.c
to ti-aemif-cs.c.

Signed-off-by: Bastien Curutchet <bastien.curutchet@bootlin.com>
8 weeks agomemory: ti-aemif: Wrap the CS configuration into a function
Bastien Curutchet [Mon, 21 Oct 2024 15:13:28 +0000 (17:13 +0200)]
memory: ti-aemif: Wrap the CS configuration into a function

Wrap the CS configuration into a aemif_configure_cs() to ease its
migration to another driver when adding DM support.

Signed-off-by: Bastien Curutchet <bastien.curutchet@bootlin.com>
8 weeks agomemory: ti-aemif: Add ARCH_DAVINCI to architectures that uses TI_AEMIF
Bastien Curutchet [Mon, 21 Oct 2024 15:13:27 +0000 (17:13 +0200)]
memory: ti-aemif: Add ARCH_DAVINCI to architectures that uses TI_AEMIF

TI_AEMIF configuration doesn't depend on ARCH_DAVINCI while the AEMIF
controller is present in the DaVinci SoCs.

Add ARCH_DAVINCI to the potential users of the TI_AEMIF driver
Add <asm/io.h> to driver's includes to fix build issue on ARCH_DAVINCI

Signed-off-by: Bastien Curutchet <bastien.curutchet@bootlin.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 weeks agomemory: ti-aemif: Make AEMIF driver architecture agnostic
Bastien Curutchet [Mon, 21 Oct 2024 15:13:26 +0000 (17:13 +0200)]
memory: ti-aemif: Make AEMIF driver architecture agnostic

AEMIF controller is present on other SoCs than the Keystone ones.

Remove Keystone specificities from the driver to be able to use it from
other architectures.
Adapt the ks2_evm/board.c to fit the new driver.

Signed-off-by: Bastien Curutchet <bastien.curutchet@bootlin.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 weeks agomemory: ti-aemif: Correct macro to ensure avoiding precedence issues
Bastien Curutchet [Mon, 21 Oct 2024 15:13:25 +0000 (17:13 +0200)]
memory: ti-aemif: Correct macro to ensure avoiding precedence issues

Fix following CHECK pointed out by checkpatch:

   CHECK: Macro argument 'cs' may be better as '(cs)' to avoid precedence issues
   #62: FILE: drivers/memory/ti-aemif.c:15:
   +#define AEMIF_CONFIG(cs)               (0x10 + (cs * 4))

Signed-off-by: Bastien Curutchet <bastien.curutchet@bootlin.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 weeks agoMerge patch series "Support Aspeed SGPIO controller"
Tom Rini [Tue, 29 Oct 2024 18:12:09 +0000 (12:12 -0600)]
Merge patch series "Support Aspeed SGPIO controller"

Billy Tsai <billy_tsai@aspeedtech.com> says:

AST2600 SoC has 2 SGPIO master interfaces one with 128 pins another one
with 80 pins, AST2500/AST2400 SoC has 1 SGPIO master interface that
supports up to 80 pins.

Link: https://lore.kernel.org/r/20241016085955.314236-1-billy_tsai@aspeedtech.com
8 weeks agotest/hush: Add CONFIG_CONSOLE_RECORD where required
Tom Rini [Mon, 28 Oct 2024 16:48:43 +0000 (10:48 -0600)]
test/hush: Add CONFIG_CONSOLE_RECORD where required

The "dollar" tests require CONFIG_CONSOLE_RECORD to be enabled so guard
with that.

Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agotest/cmd: Make some "ut dm" tests only available on sandbox
Tom Rini [Mon, 28 Oct 2024 16:48:42 +0000 (10:48 -0600)]
test/cmd: Make some "ut dm" tests only available on sandbox

Currently, the "dm" suite in unit tests (ut) is only available on
sandbox. Make sure that all cmd tests that are part of this suite are
only available on sandbox and not attempted to be run on hardware (where
it will fail to be able to be started).

Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agoKconfig: Remove TARGET_TRICORDER references
Tom Rini [Sat, 26 Oct 2024 14:09:59 +0000 (08:09 -0600)]
Kconfig: Remove TARGET_TRICORDER references

These were missed when removing the rest of the tricorder platform.

Fixes: d137604c20a4 ("arm: Remove tricorder board")
Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agodisk: Mark static functions in part_efi.c
Ilias Apalodimas [Sat, 26 Oct 2024 08:05:53 +0000 (11:05 +0300)]
disk: Mark static functions in part_efi.c

Mark all the functions that are only defined locally as static and
quiesce W=1 warnings

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
[trini: Add __maybe_unused as it's now seen as unused in some cases]
Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agocmd: fat: Make do_fat_size static
Ilias Apalodimas [Sat, 26 Oct 2024 07:33:09 +0000 (10:33 +0300)]
cmd: fat: Make do_fat_size static

This is only used locally,so make it static

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
8 weeks agolmb: Remove lmb_alloc_flags()
Ilias Apalodimas [Wed, 23 Oct 2024 15:26:36 +0000 (18:26 +0300)]
lmb: Remove lmb_alloc_flags()

lmb_alloc_flags() & lmb_alloc_base_flags() are just a wrappers for
_lmb_alloc_base(). Since the only difference is the max address of the
allowed allocation which _lmb_alloc_base() already supports with the
LMB_ALLOC_ANYWHERE flag, remove one of them.

Keep the lmb_alloc_base_flags() which also prints an error on failures
and adjust efi_allocate_pages() to only use one of them.

While at it clean up the duplicate function description from the header
file.

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
8 weeks agolmb: Simplify lmb_should_notify usage
Ilias Apalodimas [Wed, 23 Oct 2024 15:22:01 +0000 (18:22 +0300)]
lmb: Simplify lmb_should_notify usage

We never call lmb_map_update_notify() without checking the result of
lmb_should_notify(). Instead of running that function everytime fold it
in there and add the additional flags parameter

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
8 weeks agolmb: Fix lmb_add_region_flags() return codes and testing
Ilias Apalodimas [Wed, 23 Oct 2024 15:22:00 +0000 (18:22 +0300)]
lmb: Fix lmb_add_region_flags() return codes and testing

The function description says this should return 0 or -1 on failures.
When regions coalesce though this returns the number of coalescedregions
which is confusing and requires special handling of the return code.
On top of that no one is using the number of coalesced regions.

So let's just return 0 on success and adjust our selftests accordingly

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Caleb Connolly <caleb.connolly@linaro.org>
8 weeks agoboard_r: Remove duplicate headers
Ilias Apalodimas [Wed, 23 Oct 2024 05:27:50 +0000 (08:27 +0300)]
board_r: Remove duplicate headers

efi_loader.h is included twice. Remove one and move the other in
alphabetical order

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
8 weeks agocpu_func.h: provide noncached_set_region prototype to fix build
Jonas Jelonek [Tue, 22 Oct 2024 16:31:18 +0000 (10:31 -0600)]
cpu_func.h: provide noncached_set_region prototype to fix build

Due to the removal of weak functions in 7d6cee2cd0 ("cmd: cache: Remove
weak function"), U-Boot fails to compile after updating to v2024.10 for
mediatek target in OpenWrt with GCC-14 with error:
cmd/cache.c: In function 'do_dcache':
cmd/cache.c:57:25: error: implicit declaration of function
'noncached_set_region' [-Wimplicit-function-declaration]

Thus, provide a prototype in include/cpu_func.h to fix a build
error in cmd/cache.c, since related prototypes are also located there.

The issue occurred after the update of uboot-mediatek in OpenWrt to
v2024.10, in combination with GCC-14 toolchain. It was reported and
discussed in https://github.com/openwrt/openwrt/issues/16697, and
temporarily fixed with
https://github.com/openwrt/openwrt/commit/92ca322dd1f48158b8829fec59319a12e4ae4295.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/issues/16697
Link: https://github.com/openwrt/openwrt/commit/92ca322dd1f48158b8829fec59319a12e4ae4295
Fixes: 7d6cee2cd0 ("cmd: cache: Remove weak function")
Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agoCONFIG_SYS_NONCACHED_MEMORY: Move prototypes to include/cpu_func.h for consistency
Tom Rini [Tue, 22 Oct 2024 16:31:17 +0000 (10:31 -0600)]
CONFIG_SYS_NONCACHED_MEMORY: Move prototypes to include/cpu_func.h for consistency

Currently, a number of generic cache related functions have their common
prototype declared in include/cpu_func.h. Move the current set of
noncached functions there as well to match.

Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agonet: dwc_eth_qos: Remove obsolete imx8 includes
Erik Schumacher [Mon, 28 Oct 2024 15:30:56 +0000 (15:30 +0000)]
net: dwc_eth_qos: Remove obsolete imx8 includes

They were added with commit 0e9d23945ce0 ("net: eqos: implement callbaks
to get interface and set txclk rate") but were not removed with
commit 5fc783b5d9c9 ("net: dwc_eth_qos: move i.MX code out") when i.MX
specific code was moved to a separate file.

Signed-off-by: Erik Schumacher <erik.schumacher@iris-sensing.com>
8 weeks agonet: dwc_eth_qos_imx: Add platform specific reset for i.MX93
Erik Schumacher [Mon, 28 Oct 2024 15:30:17 +0000 (15:30 +0000)]
net: dwc_eth_qos_imx: Add platform specific reset for i.MX93

The EQOS on i.MX93 fails to finish the reset procedure in RMII mode.
This is described in errata ERR051683. This patch implements the
provided workaround which sets the PS and FES bits after the SWR is set
by using the eqos_fix_soc_reset function.

Adapted from linux-kernel commit b536f32b5b03 ("net: stmmac: dwmac-imx:
use platform specific reset for imx93 SoCs")

Signed-off-by: Erik Schumacher <erik.schumacher@iris-sensing.com>
8 weeks agonet: dwc_eth_qos: Add support for platform specific reset
Erik Schumacher [Mon, 28 Oct 2024 15:29:42 +0000 (15:29 +0000)]
net: dwc_eth_qos: Add support for platform specific reset

This patch adds support for optional platform specific reset logic in
the dwc_eth_qos driver. This new function 'eqos_fix_soc_reset' is called
after the EQOS_DMA_MODE_SWR is set and before the driver waits for this
bit to clear.

Signed-off-by: Erik Schumacher <erik.schumacher@iris-sensing.com>
8 weeks agoboard: emcraft: Add support for Emcraft Systems NavQ+
Gilles Talis [Sun, 27 Oct 2024 14:52:41 +0000 (10:52 -0400)]
board: emcraft: Add support for Emcraft Systems NavQ+

The Emcraft Systems NavQ+ kit is a mobile robotics platform
based on NXP i.MX8 MPlus SoC.

The following interfaces and devices are enabled:
- eMMC
- Gigabit Ethernet (through eQOS interface)
- SD-Card
- UART console

The device tree file is taken from upstream Linux Kernel
through OF_UPSTREAM

Signed-off-by: Gilles Talis <gilles.talis@gmail.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
8 weeks agoarm64: imx: Fix 0Xnn to 0xnn
Marek Vasut [Sat, 26 Oct 2024 20:14:42 +0000 (22:14 +0200)]
arm64: imx: Fix 0Xnn to 0xnn

Use lowercase 0x prefix for hexadecimal number to be consistent
No functional change.

Signed-off-by: Marek Vasut <marex@denx.de>
8 weeks agoimx: hab: fix size of IVT+CSF blob tacked on to u-boot.itb
Rasmus Villemoes [Thu, 24 Oct 2024 12:27:35 +0000 (14:27 +0200)]
imx: hab: fix size of IVT+CSF blob tacked on to u-boot.itb

Loading flash.bin using uuu fails when flash.bin does not have the
right size.

When flash.bin is loaded from some storage medium (sd card/emmc), SPL
just loads some random garbage bytes from beyond what has been
populated when flash.bin was written, but when loaded via uuu, SPL
hangs waiting for the host to send the expected number of bytes. Which
is (size of FIT image aligned to 0x1000)+CONFIG_CSF_SIZE. The
alignment to 0x1000 is already done and is necessary in all cases
because that's the exact expected location of the 32 byte IVT
header. But the IVT+CSF blob tacked onto the end must be a total of
CONFIG_CSF_SIZE.

This is exactly the same fix as 89f19f45d650, except that this time
around I don't know how to cleanly get CONFIG_CSF_SIZE.

Fixes: bc6beae7c55f (binman: Add nxp_imx8mcst etype for i.MX8M flash.bin signing)
Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Tested-by: Heiko Schocher <hs@denx.de>
8 weeks agoARM: dts: ast2600: Add SGPIO to device tree
Billy Tsai [Wed, 16 Oct 2024 08:59:55 +0000 (16:59 +0800)]
ARM: dts: ast2600: Add SGPIO to device tree

Add SGPIO DTS node and enable them for AST2600 EVB.

Signed-off-by: Billy Tsai <billy_tsai@aspeedtech.com>
8 weeks agoARM: dts: ast2500: Add SGPIO to device tree
Billy Tsai [Wed, 16 Oct 2024 08:59:54 +0000 (16:59 +0800)]
ARM: dts: ast2500: Add SGPIO to device tree

Add SGPIO DTS node and enable it for AST2500 EVB.

Signed-off-by: Billy Tsai <billy_tsai@aspeedtech.com>
8 weeks agogpio: Add Aspeed SGPIO driver
Billy Tsai [Wed, 16 Oct 2024 08:59:53 +0000 (16:59 +0800)]
gpio: Add Aspeed SGPIO driver

The Aspeed SGPIO driver supports the SGPIO controllers found in the
AST2400, AST2500 and AST2600 BMC SoCs. The implementation is a cut-down
copy of the upstream Linux kernel driver, adapted for u-boot.

Signed-off-by: Billy Tsai <billy_tsai@aspeedtech.com>
8 weeks agofdt: lmb: add reserved regions as no-overwrite
Sughosh Ganu [Mon, 21 Oct 2024 17:24:33 +0000 (22:54 +0530)]
fdt: lmb: add reserved regions as no-overwrite

The boot_fdt_add_mem_rsv_regions() function reserves the memreserve and
reserved-memory regions. These regions are being set with the LMB_NONE
flag which allows overwriting and re-using the regions. This was fine
earlier when the LMB memory map was local and not enforced
globally. But that is no longer the case. Mark these regions as
LMB_NOOVERWRITE so that they cannot be used.

Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
Reported-by: Vaishnav Achath <vaishnav.a@ti.com>
8 weeks agolmb: add a check to prevent memory overrun
Sughosh Ganu [Mon, 21 Oct 2024 17:18:20 +0000 (22:48 +0530)]
lmb: add a check to prevent memory overrun

When printing the LMB flags for a memory region, there is a need to
check that the array index that is computed is a sane value. Put a
noisy assert in case this check fails, as that implies something with
the LMB code is not working as expected.

Reported-by: Coverity (CID 510463)
Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
8 weeks agocmd: simplify network definitions in Makefile
Heinrich Schuchardt [Sat, 19 Oct 2024 10:24:45 +0000 (12:24 +0200)]
cmd: simplify network definitions in Makefile

/Makefile already adds lib include paths to UBOOTINCLUDE. There is no point
in adding the same paths again.

Clearly separate the lines relating to NET and to NET_LWIP.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Tested-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
8 weeks agodm: core: downgrade some dm_warn messages to log_debug()
Quentin Schulz [Tue, 15 Oct 2024 14:32:14 +0000 (16:32 +0200)]
dm: core: downgrade some dm_warn messages to log_debug()

People complained that enabling (SPL_)DM_WARN was now totally unusable
due to the amount of messages printed on the console.

Let's downgrade the log level of some messages that are clearly not on
the error path.

Note that there's one pr_debug in there, because it is followed by
pr_cont so it made sense to reuse the same family of functions.

Reported-by: Alexander Dahl <ada@thorsis.com>
Fixes: 6afdb1585112 ("dm: core: migrate debug() messages to use dm_warn")
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 weeks agoMerge https://source.denx.de/u-boot/custodians/u-boot-sh
Tom Rini [Tue, 29 Oct 2024 13:37:21 +0000 (07:37 -0600)]
Merge https://source.denx.de/u-boot/custodians/u-boot-sh

8 weeks agoMerge https://source.denx.de/u-boot/custodians/u-boot-riscv
Tom Rini [Tue, 29 Oct 2024 13:36:48 +0000 (07:36 -0600)]
Merge https://source.denx.de/u-boot/custodians/u-boot-riscv

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

- board: migrate PolarFire to use OF_UPSTREAM
- dts: align DT with QEMU amd-microblaze-v-virt platform
- riscv: fix resume utility

8 weeks agoMerge patch series "boards: siemens: iot2050: SM variant, sysinfo support, fixes...
Tom Rini [Tue, 29 Oct 2024 02:54:36 +0000 (20:54 -0600)]
Merge patch series "boards: siemens: iot2050: SM variant, sysinfo support, fixes & cleanups"

Jan Kiszka <jan.kiszka@siemens.com> says:

This adds support for the new IOT2050 SM variant, introduces a sysinfo
driver which also permits SMBIOS support and switches the board to
OF_UPSTREAM. There are some further fixes for the boards included as well.

Not yet included is configuration support for DMA isolation via the PVU as
this depends on not yet merged DT bindings and another overlay.

[trini: This is just the first 10 patches in the series for now]

Link: https://lore.kernel.org/r/cover.1729577070.git.jan.kiszka@siemens.com
8 weeks agoboard: iot2050: Support new IOT2050-SM variant
Baocheng Su [Tue, 22 Oct 2024 06:04:27 +0000 (08:04 +0200)]
board: iot2050: Support new IOT2050-SM variant

Main differences between the new variant and Advanced PG2:

1. Arduino interface is removed. Instead, an new ASIC is added for
   communicating with PLC 1200 signal modules.
2. USB 3.0 type A connector is removed, only USB 2.0 type A connector is
   available.
3. DP interface is tailored down. Instead, to communicate with the
   PLC 1200 signal modules, a USB 3.0 type B connector is added but the
   signal is not USB.
4. DDR size is increased to 4 GB.
5. Two sensors are added, one tilt sensor and one light sensor.

Signed-off-by: Baocheng Su <baocheng.su@siemens.com>
[Jan: rebased over OF_UPSTREAM]
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
8 weeks agoriscv: dts: mpfs: migrate to OF_UPSTREAM
Conor Dooley [Wed, 23 Oct 2024 10:17:54 +0000 (11:17 +0100)]
riscv: dts: mpfs: migrate to OF_UPSTREAM

The U-Boot copy of the mpfs devicetree has, in general, been neglected
somewhat in comparison to the one in Linux. Moving to OF_UPSTREAM to
keep both in sync should serve to eliminate that discrepancy.

Additionally, moving to OF_UPSTREAM will let U-Boot automatically pick
up the devicetree rework that is in progress at [1].

Link: https://lore.kernel.org/all/20241002-private-unequal-33cfa6101338@spud/
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
8 weeks agoboard: mpfs_icicle: imply new clk driver dependencies
Conor Dooley [Wed, 23 Oct 2024 10:17:53 +0000 (11:17 +0100)]
board: mpfs_icicle: imply new clk driver dependencies

The clock driver for PolarFire SoC now requires syscon and regmap
features, so imply them to preserve implication of the clock driver.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
8 weeks agoclk: microchip: mpfs: support new syscon based devicetree configuration
Conor Dooley [Wed, 23 Oct 2024 10:17:52 +0000 (11:17 +0100)]
clk: microchip: mpfs: support new syscon based devicetree configuration

Why get a devicetree description wrong once when you can get it wrong
twice? The original mistake, which the driver supports was failing to
describe the main PLL that the "cfg" and "periph" clocks parented by.
The second mistake was describing the "cfg" and "periph" clocks a
reg region within the clock controller, rather as two registers within
a syscon region that also contains pinctrl, interrupt muxing controls
and other functions.

Make up for lost time and describe these regions as they should have
been originally, preserving support for the existing two configurations
for the sake of existing systems with firmware-provided devicetrees.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
8 weeks agoriscv: resume needs to be a global
Anton Blanchard [Thu, 8 Aug 2024 02:14:17 +0000 (02:14 +0000)]
riscv: resume needs to be a global

If we take an exception before u-boot is relocated, there's a good
chance we will end up in an endless loop of exceptions because resume is
invalid until after relocation.

Signed-off-by: Anton Blanchard <antonb@tenstorrent.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
8 weeks agoriscv: mbv: Align DT with QEMU
Michal Simek [Wed, 23 Oct 2024 06:06:40 +0000 (08:06 +0200)]
riscv: mbv: Align DT with QEMU

Align U-Boot with QEMU amd-microblaze-v-virt platform to be able to wire
it with CI.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Reviewed-by: Padmarao Begari <padmarao.begari@amd.com>
2 months agoboard: siemens: iot2050: Migrate to OF_UPSTREAM
Jan Kiszka [Tue, 22 Oct 2024 06:04:26 +0000 (08:04 +0200)]
board: siemens: iot2050: Migrate to OF_UPSTREAM

This requires some tweaking of the defconfig and
board_fit_config_name_match so that the new sources are taken into
account.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2 months agoarm64: dts: ti: iot2050: Add overlays for M.2 used by firmware
Jan Kiszka [Tue, 22 Oct 2024 06:04:25 +0000 (08:04 +0200)]
arm64: dts: ti: iot2050: Add overlays for M.2 used by firmware

To allow firmware to pick up all DTs from here, move the overlays that
are normally applied during DT fixup to the kernel source as well. Hook
then into the build nevertheless to ensure that regular checks are
performed.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Link: https://lore.kernel.org/r/91f8b825467651ebd51a4051f153ab136eeb1849.1724830741.git.jan.kiszka@siemens.com
Signed-off-by: Nishanth Menon <nm@ti.com>
[ upstream commit: dba27d026fc841d28a0ed373f617cc84ec0e4504 ]

(cherry picked from commit 741915246a92fc4c21537f9623a69612f7cef03a)

2 months agoarm64: dts: ti: iot2050: Disable lock-step for all iot2050 boards
Li Hua Qian [Tue, 22 Oct 2024 06:04:24 +0000 (08:04 +0200)]
arm64: dts: ti: iot2050: Disable lock-step for all iot2050 boards

The PG1 A variant of the iot2050 series has been identified which
partially lacks support for lock-step mode. This implies that all
iot2050 boards can't support this mode. As a result, lock-step mode has
been disabled across all iot2050 boards for consistency and to avoid
potential issues.

Signed-off-by: Li Hua Qian <huaqian.li@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Link: https://lore.kernel.org/r/d1f5f84db7a1597cd29628a0b503e578367b7b40.1724830741.git.jan.kiszka@siemens.com
Signed-off-by: Nishanth Menon <nm@ti.com>
[ upstream commit: e0133f883cf115d9e97e704169a9fb6003caefb2 ]

(cherry picked from commit 4b4872feb66a9043741819a57af280ffb4a96608)

2 months agoboard: siemens: iot2050: Stop using special spl DT sources
Jan Kiszka [Tue, 22 Oct 2024 06:04:23 +0000 (08:04 +0200)]
board: siemens: iot2050: Stop using special spl DT sources

We can simply use the default DT, Basic PG1, because no nodes that are
different between the variants play a role for SPL. Will help with the
migration to OF_UPSTREAM.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2 months agoboard: siemens: iot2050: Generalize the fdt fixup
Baocheng Su [Tue, 22 Oct 2024 06:04:22 +0000 (08:04 +0200)]
board: siemens: iot2050: Generalize the fdt fixup

The fdt fixup logic actually also applies to other possible variants who
also have device tree overlays. So generalize this part by extracting
it from the m.2 specific function and make it a standalone one.

Since now we only have M.2 variant consuming the overlay, it may not
have immediate effect for other variant, however this makes the future
variant more easier to apply fdt fixups.

Signed-off-by: Baocheng Su <baocheng.su@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2 months agoboard: siemens: iot2050: Pass DDR size from FSBL
Baocheng Su [Tue, 22 Oct 2024 06:04:21 +0000 (08:04 +0200)]
board: siemens: iot2050: Pass DDR size from FSBL

Due to new DDR size introduction, the current logic of determining the
DDR size is not able to get the correct size.

Instead, the DDR size is determined by the FSBL(SEBOOT) then passed to
u-boot through the scratchpad info.

The SEBoot version must be >= D/V01.04.01.02 to support this change.

Also now for some variants, the DDR size may > 2GB, so borrow some code
from the TI evm to iot2050 to support more than 2GB DDR.

Signed-off-by: Baocheng Su <baocheng.su@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>