Andrew Goodbody [Thu, 17 Jul 2025 15:29:21 +0000 (16:29 +0100)]
fs: exfat: Remove unused label code
Smatch reported a possible buffer overflow in exfat_set_label but it
turns out that this code is unused so just guard the function with
'#ifndef __UBOOT__' as well as exfat_get_label that is also unused and
the helper static find_label.
Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Andrew Goodbody [Thu, 17 Jul 2025 11:09:15 +0000 (12:09 +0100)]
sandbox: eth-raw: Prevent possible buffer overflow
Instead of strcpy which is unbounded use strlcpy to ensure that the
receiving buffer cannot be overflowed.
This issue found by Smatch.
Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Sam Protsenko [Thu, 17 Jul 2025 02:44:26 +0000 (21:44 -0500)]
treewide: Remove empty board_init() function from all boards
Commit
86acdce2ba88 ("common: add config for board_init() call")
introduced CONFIG_BOARD_INIT option. This option can be disabled for the
boards where board_init() function is not needed. Remove empty
board_init() calls for all boards where it's possible, and disable
CONFIG_BOARD_INIT in all related defconfigs.
This cleanup was made semi-automatically using these scripts: [1].
No functional change, but the binary size for the modified boards is
reduced a bit.
[1] https://github.com/joe-skb7/uboot-convert-scripts/tree/master/remove-board-init
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Tested-by: Adam Ford <aford173@gmail.com> #imx8mm_beacon
Tested-by: Bryan Brattlof <bb@ti.com>
Acked-by: Peng Fan <peng.fan@nxp.com> #NXP boards
Andrew Goodbody [Wed, 16 Jul 2025 09:58:39 +0000 (10:58 +0100)]
uclass: Cleanup uclass_find_next_device
uclass_find_next_device always returns 0, so instead make it a void and
update calling sites.
Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Tom Rini [Thu, 24 Jul 2025 13:55:13 +0000 (07:55 -0600)]
Merge tag 'xilinx-for-v2025.10-rc1-v2' of https://source.denx.de/u-boot/custodians/u-boot-microblaze
AMD/Xilinx/FPGA changes for v2025.10-rc1 v2
zynqmp:
- Generate fit-dtb.blob all the time
- Simplify power-domain driver bind
zynqmp_mini:
- Remove PSCI_RESET
fpga:
- Improve user feedback in case of FPGA bitstream load failure
misc:
- Fix kernel-doc in gpio zynq and axi_mrmac
spi:
- Revert fix in STIG mode
[trini: Remove CONFIG_FPGA_VERSALPL=y from sandbox due to
sandbox+clang+asan test problem]
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Thu, 24 Jul 2025 13:54:20 +0000 (07:54 -0600)]
Merge tag 'mmc-master-2025-07-24' of https://source.denx.de/u-boot/custodians/u-boot-mmc
CI: https://source.denx.de/u-boot/custodians/u-boot-mmc/-/pipelines/27140
- Fix emmc error state after mmc write timeout
- Minor cleanup s5p_sdhci
- Support DT upstream for exynos5420 and exynos4210 mmc
Michal Simek [Fri, 18 Jul 2025 08:12:34 +0000 (10:12 +0200)]
firmware: zynqmp: Simplify power-domain driver bind
CONFIG_IS_ENABLED macro is covering CONFIG_POWER_DOMAIN or
CONFIG_SPL_POWER_DOMAIN Kconfig symbols based on build target which
simplify logic around binding power domain driver.
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/c75627e92eeaffedf0f7e682edd4f6f39f0b5706.1752826352.git.michal.simek@amd.com
Michal Simek [Fri, 18 Jul 2025 07:04:32 +0000 (09:04 +0200)]
arm64: zynqmp: Let fit-dtb.blob generated all the time
There is a value to generate fit-dtb.blob even for cases without SPL
because flows with FSBL also require it.
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/c2952da3c064d67821cd166d2392db39c1d23b2c.1752822270.git.michal.simek@amd.com
Prasanth Babu Mantena [Wed, 16 Jul 2025 07:04:07 +0000 (12:34 +0530)]
Revert "spi: cadence_qspi: Fix odd byte write issue in STIG mode"
The buffer that is being used to write into the flash needs
to be handled properly with padding of 0xFF. The place that
this is done can be at a more generic place like spi-nor core.
This reverts commit
cd9123507003e07b13e61d72e14e493bb338e827.
Signed-off-by: Prasanth Babu Mantena <p-mantena@ti.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
Reviewed-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Link: https://lore.kernel.org/r/20250716070407.2082524-1-p-mantena@ti.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
Venkatesh Yadav Abbarapu [Thu, 17 Jul 2025 04:48:55 +0000 (10:18 +0530)]
net: xilinx: Fix kernel-doc for axi_mrmac function parameters
The kernel-doc comment for the axi_mrmac_recv function was missing
the colon (':') after the '@packetp' parameter tag.
The kernel-doc comment for the axi_mrmac_free_pkt function was missing
the colon (':') after the 'length' parameter tag.
This caused a Sparse warnings regarding the 'packetp' and 'length'
parameters not being described. Fix the formatting to align
with kernel-doc standards and resolve the warning.
drivers/net/xilinx_axi_mrmac.c:357:
warning: Function parameter or member 'packetp' not described
in 'axi_mrmac_recv'
drivers/net/xilinx_axi_mrmac.c:411:
warning: Function parameter or member 'length' not described
in 'axi_mrmac_free_pkt'
Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Link: https://lore.kernel.org/r/20250717044855.1359443-1-venkatesh.abbarapu@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
Venkatesh Yadav Abbarapu [Thu, 17 Jul 2025 04:46:32 +0000 (10:16 +0530)]
gpio: zynq: Fix the documentation warning in zynq_gpio_get_bank_pin
The 'dev' parameter in the zynq_gpio_get_bank_pin function was not
described in its kernel-doc comment block, leading to a Sparse warning.
drivers/gpio/zynq_gpio.c:194: warning: Function parameter or member 'dev'
not described in 'zynq_gpio_get_bank_pin'
Add a description for the 'dev' parameter to satisfy the documentation
requirements and improve code clarity for this function.
Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Link: https://lore.kernel.org/r/20250717044632.1353588-1-venkatesh.abbarapu@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
Pieter Van Trappen [Tue, 8 Jul 2025 15:24:51 +0000 (17:24 +0200)]
configs: enable FPGA commands and drivers at sandbox_defconfig
Enable to facilitate compiler checks on most FPGA-related sources.
Signed-off-by: Pieter Van Trappen <pieter.van.trappen@cern.ch>
Link: https://lore.kernel.org/r/20250708152455.1214487-7-vtpieter@gmail.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
Pieter Van Trappen [Tue, 8 Jul 2025 15:24:50 +0000 (17:24 +0200)]
drivers: fpga: fix function declaration without a prototype
As reported by clang 20.1, fix multiple of the following:
drivers/fpga/ivm_core.c:593:23: error: a function declaration without
a prototype is deprecated in all versions of C
[-Werror,-Wstrict-prototypes]
593 | long int ispVMDataSize()
| ^
| void
Also fix the following warning from checkpatch.pl:
WARNING: Prefer 'long' over 'long int' as the int is unnecessary
Signed-off-by: Pieter Van Trappen <pieter.van.trappen@cern.ch>
Link: https://lore.kernel.org/r/20250708152455.1214487-6-vtpieter@gmail.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
Pieter Van Trappen [Tue, 8 Jul 2025 15:24:49 +0000 (17:24 +0200)]
drivers: fpga: cleanup printf usage
Remove `fpga_no_sup` to get rid of Werror=unused-function when all
FPGA configurations are enabled.
Swap all printf calls to log_* as this is now preferred and includes
the calling __func__.
Signed-off-by: Pieter Van Trappen <pieter.van.trappen@cern.ch>
Link: https://lore.kernel.org/r/20250708152455.1214487-5-vtpieter@gmail.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
Pieter Van Trappen [Tue, 8 Jul 2025 15:24:48 +0000 (17:24 +0200)]
drivers: fpga: correct compiler errors and warnings
Errors reported by GCC 14.2 when enabling FPGA commands and
drivers. Also many style fixes as reported by checkpatch.pl on the
diffs. Most changes in stratixII.c which has been reorganized as well
to avoid the top function prototypes.
No functional changes.
Signed-off-by: Pieter Van Trappen <pieter.van.trappen@cern.ch>
Link: https://lore.kernel.org/r/20250708152455.1214487-4-vtpieter@gmail.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
Pieter Van Trappen [Tue, 8 Jul 2025 15:24:47 +0000 (17:24 +0200)]
drivers: fpga: add Kconfig dependency
FPGA_SOCFPGA requires ARCH_SOCFPGA cause socfpga.c contains
arch/arm/mach-socfpga/* include macros.
Signed-off-by: Pieter Van Trappen <pieter.van.trappen@cern.ch>
Link: https://lore.kernel.org/r/20250708152455.1214487-3-vtpieter@gmail.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
Pieter Van Trappen [Tue, 8 Jul 2025 15:24:46 +0000 (17:24 +0200)]
cmd: fpga: improve user feedback in case of bitstream load failure
In cmd/fpga.c, change some `debug` calls to `log_err` for important
user feedback and use CMD_RET_FAILURE in favor of CMD_RET_USAGE due to
its long output which hides the actual, useful return message. Change
the remaining `debug` calls to `log_debug`. Remove all 'fpga:' and
__func__ strings as log_* has this covered.
For `do_fpga_loads`, move up the `do_fpga_check_params` call for more
consistent command output; use a constant instead of multiple '5' use.
In drivers/fpga/zynq*.c, change 'up to' to 'above' which corrects this
confusing/wrong statement.
Signed-off-by: Pieter Van Trappen <pieter.van.trappen@cern.ch>
Link: https://lore.kernel.org/r/20250708152455.1214487-2-vtpieter@gmail.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
Michal Simek [Fri, 27 Jun 2025 09:02:11 +0000 (11:02 +0200)]
xilinx: zynqmp: Remove PSCI_RESET from mini configurations
There is no reason to call reset in these size constrained configurations
that's why remove it to get some space.
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/cb5189d676852cad7ab3c0691490b2d0dac618b4.1751014928.git.michal.simek@amd.com
Iulian Banaga [Mon, 21 Jul 2025 12:35:00 +0000 (15:35 +0300)]
Fix emmc error state after mmc write timeout
This is a fix for the sporadic mmc write failure:
mmc write failed
0 blocks written: ERROR
After this happens the emmc will remain in an error state
where subsequent read/writes fail with a timeout.
The mmc driver sends CMD25 - WRITE_MULTIPLE_BLOCK which
can sporadically timeout. When this happens, the mmc driver
aborts the transfer and returns the above error messages.
But the emmc still remains in data transfer mode, since
the timeout was decided by uboot, not by the emmc.
Fix this by sending the STOP_TRANSMISSION command (CMD12)
and waiting for the emmc to be in ready state again (CMD13).
Transferring data blocks after a CMD25 can take anywhere
between 5 and +15s on Samsung EMMCs and the current timeout
is not enough. Increase the timeout by 2x to accommodate the
long transfer times observed.
Signed-off-by: Iulian Banaga <iulianeugen.banaga@mobileye.com>
Acked-by: Jimmy Durand Wesolowski <jimmy.wesolowski@mobileye.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Jaehoon Chung [Sun, 20 Jul 2025 17:00:28 +0000 (19:00 +0200)]
mmc: exynos_dw_mmc: add exynos5420 compatibles
The exynos5420 DTSes in linux kernel uses the compatibles
samsung,exynos5420-dw-mshc{,-smu} instead of just
samsung,exynos-dwmmc. Match the additional compatibles in the driver
to make it possible to use it with DTSes from Linux kernel.
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
[ grimler: rebase after clksel reg abstraction and re-write commit message ]
Signed-off-by: Henrik Grimler <henrik@grimler.se>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Henrik Grimler [Sun, 20 Jul 2025 17:00:27 +0000 (19:00 +0200)]
mmc: s5p_sdhci: add samsung,exynos4210-sdhci compatible
the Exynos4210 devices in u-boot uses samsung,exynos4412-sdhci as
sdhci compatible in their DTSes, while the upstream DTSes uses
samsung,exynos4210-sdhci.
Add samsung,exynos4210-sdhci compatible string for s5p_sdhci driver as
well so that it can be used with upstream DTSes.
Signed-off-by: Henrik Grimler <henrik@grimler.se>
Reviewed-by: Anand Moon <linux.amoon@gmail.com>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Henrik Grimler [Sun, 20 Jul 2025 17:00:26 +0000 (19:00 +0200)]
mmc: s5p_sdhci: remove duplicated card detect code
The common sdhci infrastructure is already parsing the cd-gpios
property, since commit
451931ea7002 ("mmc: sdhci: Read cd-gpio from
devicetree"). The s5p code is therefore duplicated, and also broken
since it assumes that the GPIO value is inverted, while the sdhci code
correctly follows the ACTIVE_LOW/ACTIVE_HIGH flag specified in the
device tree.
This fix was originally authored by Simon Shields:
https://github.com/fourkbomb/u-boot/commit/
2eac9dea7903
The change has been tested on exynos4210-i9100, a device similar to
exynos4210-trats.
Signed-off-by: Henrik Grimler <henrik@grimler.se>
Reviewed-by: Anand Moon <linux.amoon@gmail.com>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Greg Malysa [Thu, 17 Jul 2025 10:19:01 +0000 (06:19 -0400)]
block: Remove blk_find_first/next
In [0], Andrew noted a code quality issue in the implementation of
blk_find_first and blk_find_next. This led to the observation that the
logic of these functions was also likely incorrect, and based on a quick
check it seemed the functions were unused outside of test code, which
did not exercise the potential failure case, so we felt they should be
removed. In [1], a test patch which illustrates the failure in sandbox
is provided for reference.
Because a more thorough check agrees that these functions are unused,
they are currently incorrect, and fixed/removable flags on block devices
prior to probe are unreliable, just remove these functions instead of
fixing them. All potential users should have used blk_first_device_err
instead anyway.
CI results at [2].
[0] https://patchwork.ozlabs.org/project/uboot/patch/
20250714-blk-uclass-v1-1-
d21428c5f762@linaro.org/
[1] https://gist.github.com/gmalysa/
b05e73a5c14bc18c5741a0e0e06a2992
[2] https://gitlab.com/gmalysa/lnxdsp-u-boot/-/pipelines/
1931210857
Signed-off-by: Greg Malysa <malysagreg@gmail.com>
Reviewed-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Michal Simek [Thu, 17 Jul 2025 08:41:32 +0000 (10:41 +0200)]
sysreset: psci: Fix SPL dependency
SYSRESET_PSCI should select SPL_ARM_PSCI_FW only when SPL_SYSRESET is
enabled/required. This change saves 1.6kB on Xilinx ZynqMP Kria platform.
Signed-off-by: Michal Simek <michal.simek@amd.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Andrew Goodbody [Wed, 16 Jul 2025 10:55:47 +0000 (11:55 +0100)]
cmd: gpt: Fix off by 1 errors
The buffer for a name to be copied into must also contain the
terminating 0 byte but strlen returns the length of the string without
counting that 0 byte. Adjust the length checks to take this into
account.
This issue found by Smatch.
Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Andrew Goodbody [Wed, 16 Jul 2025 09:03:30 +0000 (10:03 +0100)]
abuf: Remove code that prevented test code running
When abuf was introduced some test code was prevented from running using
a 'return 0' early in the functions. A comment said it crashed on
sandbox due to a 'bug' in realloc. Some time later a bug in abuf_realloc
was fixed but this test code was never enabled.
Remove the early 'return 0' instances so that the test code can run.
Also remove some checks that relied on the implementation details of the
U-Boot memory code as these can fail on sandbox which uses system memory
code. Besides that this code should be testing abuf implementation not
the underlying memory code which has its own tests.
Finally use a new #define for the allocs that are meant to fail to
ensure they do fail on all CI platforms.
This issue found by Smatch.
Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Tom Rini [Wed, 23 Jul 2025 19:16:50 +0000 (13:16 -0600)]
Azure: Temporarily switch to GitHub mirror of u-boot-test-hooks
In order to unblock this CI workflow for the moment, switch to using a
mirror of u-boot-test-hooks on GitHub rather than source.denx.de.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Wed, 23 Jul 2025 19:35:39 +0000 (13:35 -0600)]
patman: Update test for Anatolij's new email address
This test was failing due to matching on Anatolij's old email address.
Switch to the new one.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Wed, 23 Jul 2025 19:12:22 +0000 (13:12 -0600)]
Merge patch series "mkimage: validate default configuration reference"
Aristo Chen <jj251510319013@gmail.com> says:
This patch series introduces a validation step in `mkimage` to ensure that
the `default` property under the `/configurations` node in a FIT image
references a valid subnode. If the referenced node does not exist, mkimage
now prints an error and fails early. This helps prevent runtime failures
when U-Boot attempts to boot using an undefined configuration.
The first patch implements the validation logic in `fit_image.c`. The second
patch fixes an invalid default configuration reference exposed by this new
check in the `k3-am65-iot2050-boot-image.dtsi`. The final patch adds a test
case to verify that mkimage correctly fails when an invalid default
configuration is present in the ITS file.
This series improves the robustness of FIT image generation and helps
catch malformed image trees during build time.
Link: https://lore.kernel.org/r/20250715130317.3886-1-aristo.chen@canonical.com
Aristo Chen [Tue, 15 Jul 2025 13:03:07 +0000 (13:03 +0000)]
test: fit: add test case for invalid default configuration reference
Recent changes to mkimage introduced a validation step to ensure that
the 'default' property under the /configurations node in a FIT image
references a valid configuration subnode. If the referenced node is
missing, mkimage will now return an error.
This patch adds a Python test case to verify that mkimage correctly
fails when the 'default' configuration does not exist. The test creates
a minimal ITS with an invalid default reference and checks that mkimage
produces the expected error message.
Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
Aristo Chen [Tue, 15 Jul 2025 13:03:06 +0000 (13:03 +0000)]
tools: fit_image: validate existence of default configuration node
When a FIT image declares a default configuration via the
'configurations/default' property, it must reference a valid subnode
under the /configurations node. If the named default does not exist,
U-Boot will fail to boot the image when no explicit configuration is
provided.
This patch adds a validation step in mkimage to check that the
referenced default configuration node is present. If not, mkimage will
print an error and abort.
This helps catch malformed or outdated ITS files early at build time
instead of deferring failure to runtime.
Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
Aristo Chen [Tue, 15 Jul 2025 13:03:05 +0000 (13:03 +0000)]
arm: k3-am65-iot2050: Fix invalid default configuration reference
mkimage introduced a validation step to ensure that the 'default'
property under the /configurations node in a FIT image refers to a
valid subnode. This exposed an issue in the
k3-am65-iot2050-boot-image.dtsi, where the 'default' property was set to
"ti/k3-am6528-iot2050-basic" and "ti/k3-am6528-iot2050-basic-pg2", which
do not correspond to actual configuration node names.
This patch updates both /configurations nodes to reference the correct
subnode.
Without this fix, mkimage will fail with an error:
"ERROR: Default configuration 'ti/k3-am6528-iot2050-basic' not found
under /configurations"
An upcoming commit will validate the if the default configuration exists
Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
Tom Rini [Tue, 22 Jul 2025 19:53:23 +0000 (13:53 -0600)]
Merge patch series "bootstd: rauc: Small fixes"
Martin Schwan <m.schwan@phytec.de> says:
Fix some small bugs that I noticed during testing.
Link: https://lore.kernel.org/r/20250714-wip-bootmeth-rauc-fixes-v1-0-69d2b80e7606@phytec.de
Martin Schwan [Mon, 14 Jul 2025 13:30:10 +0000 (15:30 +0200)]
bootstd: rauc: Only scan all partitions instead of boot files
Only scan for the existence of all required partitions of a RAUC system,
instead of searching for boot script files in all of them.
Previously, it might have occurred, that a slot did not contain required
files and RAUC already marked the corresponding slot as bad (not
suitable for booting). In that case, scanning for a non-existence boot
script would result in an error (and thus not booting anything), which
was different behavior compared to the legacy RAUC boot.
Signed-off-by: Martin Schwan <m.schwan@phytec.de>
Martin Schwan [Mon, 14 Jul 2025 13:30:09 +0000 (15:30 +0200)]
bootstd: rauc: Fix segfault occurring during private struct access
Fix a potential segmentation fault, by not accessing the member of a
null pointer to a private slot's name field.
Signed-off-by: Martin Schwan <m.schwan@phytec.de>
Martin Schwan [Mon, 14 Jul 2025 13:30:08 +0000 (15:30 +0200)]
bootstd: rauc: Fix potential memory leak
Fix a potential memory leak, by checking the return value of realloc
first, before assigning it to the private list of slots.
Signed-off-by: Martin Schwan <m.schwan@phytec.de>
Holger Brunck [Mon, 14 Jul 2025 13:22:21 +0000 (15:22 +0200)]
km: pg-wcom-ls1021xa: update MAINTAINERS
The mainainers for these boards have changed.
Signed-off-by: Holger Brunck <holger.brunck@hitachienergy.com>
Signed-off-by: Tomas Alvarez Vanoli <tomas.alvarez-vanoli@hitachienergy.com>
Tomas Alvarez Vanoli [Mon, 14 Jul 2025 13:22:20 +0000 (15:22 +0200)]
km: pg-wcom-ls102xa: call qrio deblock cfg earlier
Move the call to configure the qrio i2c deblock pins earlier.
Before this, the call was happening after the first attempt to deblock
the SDP EEPROM, which resulted in a not correct sequence.
Signed-off-by: Tomas Alvarez Vanoli <tomas.alvarez-vanoli@hitachienergy.com>
Signed-off-by: Holger Brunck <holger.brunck@hitachienergy.com>
Holger Brunck [Mon, 14 Jul 2025 13:22:19 +0000 (15:22 +0200)]
km: pg-wcom-ls102xa: add netdev in board env file
Upcoming boards will have different ethernet interfaces. So we move this
variable out of the common code.
Signed-off-by: Holger Brunck <holger.brunck@hitachienergy.com>
Holger Brunck [Mon, 14 Jul 2025 13:22:18 +0000 (15:22 +0200)]
arm: ls1021a-pg-wcom: add i2c mux node and eeprom
We are now using the DM code for the i2c mux and to read out the
inventory eeprom. Therefore we need to add the nodes to the specific DTS
files.
Signed-off-by: Holger Brunck <holger.brunck@hitachienergy.com>
Holger Brunck [Mon, 14 Jul 2025 15:22:02 +0000 (17:22 +0200)]
km: drop KM_RESERVED_PRAM
This variable is unused since we dropped the support for the Kirkwood
boards.
Signed-off-by: Holger Brunck <holger.brunck@hitachienergy.com>
Tomas Alvarez Vanoli [Mon, 14 Jul 2025 13:22:16 +0000 (15:22 +0200)]
km: qrio: fix set_gpio read/modify/write
Setting GPIO by reading the value of the GPRT register, toggling the
correct bit and then writing it causes input values to transfer to the
output. Here's how (example):
1) set gpio 17 and 18 as input.
2) set gpio 17 output value to 0 (read gprt, change 17 to 0, write).
3) set gpio 18 output value to 0 (read gprt, change 18 to 0, write).
The problem here is that because we set 17 as input, and it's a pull-up,
when we read gprt in step 3, the bit 17 will be 1 and not 0.
Instead of doing read/write/modify, the solution is to keep track
internally of the user set GPIOs, and replace the read step with this
static variable.
Signed-off-by: Tomas Alvarez Vanoli <tomas.alvarez-vanoli@hitachienergy.com>
Signed-off-by: Holger Brunck <holger.brunck@hitachienergy.com>
Andrew Goodbody [Thu, 17 Jul 2025 08:43:29 +0000 (09:43 +0100)]
fastboot: Fix off by 1 error
strlen only reports length of string not including terminating 0 byte
but this has to be included in length of receiving buffer on copy so
adjust length check to be correct.
This issue found by Smatch.
Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Ariel D'Alessandro [Thu, 17 Jul 2025 13:58:54 +0000 (10:58 -0300)]
drivers: fastboot: Add support for SPI flash memory
Fastboot currently supports MMC and NAND flash devices. Similarly,
extend the support to SPI flash memories.
Note that in this initial implementation, partitions on the device are
not supported yet, but raw partitions can be set in U-Boot environment.
To define a raw partition descriptor, add an environment variable
similar to the MMC case:
```
fastboot_raw_partition_<raw partition name>=<offset> <size>
```
for example:
```
fastboot_raw_partition_boot=0x0 0x1000000
```
Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Bryan Brattlof [Tue, 15 Jul 2025 18:47:05 +0000 (13:47 -0500)]
include: env: ti_common: remove bootm_size
As the size of 64b ARM kernels, DTs, vendor firmware, and initial ram
disks continues to grow, the 256MB size limit set aside for image
processing by the bootm command has become too small for some K3
reference boards.
For ARMv7 removing this limit could introduce issues so move the
bootm_size variable to ti_armv7_keystone2.env and remove the limit for
any board using a TI K3 SoC.
Signed-off-by: Bryan Brattlof <bb@ti.com>
Yannic Moog [Tue, 15 Jul 2025 06:21:24 +0000 (08:21 +0200)]
binman: Fix typing for python >= 3.7
To get the [] annotation working with python 3.7 and 3.8, import
annotations.
Reported-by: Tim Harvey <tharvey@gateworks.com>
Fixes:
21bc3433a43d ("binman: rework dropping absent entries from packaged image")
Reviewed-by: Bryan Brattlof <bb@ti.com>
Signed-off-by: Yannic Moog <y.moog@phytec.de>
Tested-by: Tim Harvey <tharvey@gateworks.com>
Andrew Goodbody [Mon, 14 Jul 2025 16:40:47 +0000 (17:40 +0100)]
lmb: Remove unreachable code
Code after a break is unreachable so remove it.
Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Holger Brunck [Mon, 14 Jul 2025 11:16:51 +0000 (13:16 +0200)]
arm: fix lmb region reservation when PRAM is defined
PRAM usage is not taken into account when reserving lmb for ARM
architecture, this means that predefined PRAM region is marked as
reserved by the architecture and cannot be used by other users.
Signed-off-by: Holger Brunck <holger.brunck@hitachienergy.com>
Francesco Dolcini [Mon, 14 Jul 2025 08:44:16 +0000 (10:44 +0200)]
board: toradex: Fix variant (wifi/non-wifi) selection
Do not dereference NULL, when "variant" env variable is not present.
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Gokul Praveen [Thu, 10 Jul 2025 09:59:22 +0000 (15:29 +0530)]
configs: KASLR OPTEE RNG support for K3 devices
KASLR, or Kernel Address Space Layout Randomization, is a security
feature in the Linux kernel that randomizes the memory location
where the kernel is loaded during boot.
OP-TEE RNG is a Random Number Generator (RNG) component within the
Open Portable Trusted Execution Environment (OP-TEE) which provides
a random number to U-BOOT and U-BOOT provides this random number
as seed value to the LINUX kernel for KASLR.
Add KASLR OPTEE RNG support across K3 devices by enabling the required
configs.
Signed-off-by: Gokul Praveen <g-praveen@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
Reviewed-by: Manorit Chawdhry <m-chawdhry@ti.com>
Anatolij Gustschin [Sun, 20 Jul 2025 20:35:58 +0000 (22:35 +0200)]
MAINTAINERS: Update email of Anatolij Gustschin
Use new email for community work. Also remove my
capricorn SoM maintainer entry since I do not
have access to this hardware anymore.
Signed-off-by: Anatolij Gustschin <ag.dev.uboot@gmail.com>
Tom Rini [Sat, 19 Jul 2025 14:38:31 +0000 (08:38 -0600)]
Merge tag 'doc-202510-rc1' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request doc-202510-rc1
Documentation:
* describe Dragonwing IQ8 board building/flashing
* move PXE README into HTML documentation
* PXE: mention extlinux.conf and sysboot
* correct references in x86-fit-boot.rst
Tom Rini [Sat, 19 Jul 2025 14:38:11 +0000 (08:38 -0600)]
Merge tag 'i2c-for-2025.10-take2' of https://source.denx.de/u-boot/custodians/u-boot-i2c
i2c updates for v2025.10
- i2c Kconfig updates from Tom
- add some driver dependencies
- added missing include delay.h in iproc_i2c.c
- i2c: muxes: Add PCA9541 i2c arbitrator driver
from Padmarao Begari
- pca954x: add pca9545 support
from Frank Wunderlich
- cmd: i2c: fix build when CFG_SYS_I2C_NOPROBES defined with DM_I2C
From Holger Brunck
Fiona Klute [Mon, 30 Jun 2025 10:53:23 +0000 (12:53 +0200)]
doc: PXE: mention extlinux.conf and sysboot
These use the same format as PXE boot.
Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
Cc: Tom Rini <trini@konsulko.com>
Fiona Klute [Mon, 30 Jun 2025 10:53:22 +0000 (12:53 +0200)]
doc: PXE usage: move environment variables to a separate section
This works better with RST formatting, and avoids duplication.
Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
Cc: Tom Rini <trini@konsulko.com>
Fiona Klute [Mon, 30 Jun 2025 10:53:21 +0000 (12:53 +0200)]
doc: move PXE README into usage documentation
This is only a reformatting, with a few grammar fixes (capitalization,
and a missing "is" and "be" added each).
Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
Cc: Tom Rini <trini@konsulko.com>
Heinrich Schuchardt [Fri, 27 Jun 2025 19:02:31 +0000 (21:02 +0200)]
doc: correct references in x86-fit-boot.rst
Correct the references for
* the x86 boot protocol description
* the FIT file format
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Balaji Selvanathan [Sat, 31 May 2025 03:20:03 +0000 (08:50 +0530)]
doc: board: qualcomm: document Dragonwing IQ8 board building/flashing
Introducing documentation support for Qualcomm Dragonwing IQ8 QCS8300
board. Documents the build and flashing steps.
Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
Mark Kettenis [Sat, 12 Jul 2025 10:45:58 +0000 (12:45 +0200)]
kbuild: Don't mandate gcc as the host compiler
Systems that use clang may not have gcc installed. Set
HOSTCC to cc and HOSTCXX to c++ like we did before to make those
systems work again.
Fixes:
5f520875bdf0 ("kbuild: Bump the build system to 5.1")
Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
Tom Rini [Fri, 11 Jul 2025 18:43:36 +0000 (12:43 -0600)]
python: requirements.txt: Update a few modules for security issues
The GitHub dependabot tool has reported a number of issues recently with
some modules that we use. While unlikely to be exploitable in the way we
use them, update various libraries to the latest.
Reported-by: GitHub dependabot
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Fri, 11 Jul 2025 15:20:28 +0000 (09:20 -0600)]
misc: Remove DS4510 driver
As no platforms use this driver anymore and it's not been converted from
to DM_I2C for use, remove it.
Fixes:
ed7fe2bee12a ("ppc: Remove xpedite boards")
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Fri, 11 Jul 2025 15:20:22 +0000 (09:20 -0600)]
drivers: misc: Remove pca9551_led driver
This driver has not been converted to DM_I2C and the last platform that
used it was removed as well. Remove the driver.
Fixes:
4bbcec08ebec ("arm: Remove mx6dlarm2 board")
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Fri, 11 Jul 2025 15:20:16 +0000 (09:20 -0600)]
sandbox: Add dummy sync()
In order to compile more drivers, add an empty sync() function.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Fri, 11 Jul 2025 15:20:12 +0000 (09:20 -0600)]
input: Tighten dependency requirements for TEGRA_KEYBOARD
This driver requires headers which only exist on Tegra. Express that
requirement in Kconfig as well.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Fri, 11 Jul 2025 15:20:09 +0000 (09:20 -0600)]
misc: Tighten requirements on IHS_FPGA driver
This driver requires that the gdsys legacy driver option also be enabled
in order to build. Express that requirement in Kconfig as well.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Thu, 17 Jul 2025 17:42:46 +0000 (11:42 -0600)]
Merge tag 'u-boot-imx-master-
20250717' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/27088
- Add support for the i.MX95 B0 version.
- Enable standard boot for phycore-imx8mp.
- Kconfig fixes for i.MX MMC and FSL_SEC_MON.
- Support 4Gb single die variant of the i.MX8MM Venice board.
Tom Rini [Thu, 17 Jul 2025 17:39:50 +0000 (11:39 -0600)]
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-riscv
CI: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/27087
- Board: mpfs_icicle: Fix board_fit_config_name_match and disable
DEBUG_UART
- Board: Add SD card support to the Beagle-V-Fire
- Board: Add support for TH1520-integrated GMACs
Tom Rini [Thu, 17 Jul 2025 17:37:43 +0000 (11:37 -0600)]
Merge tag 'mmc-2025-07-16' of https://source.denx.de/u-boot/custodians/u-boot-mmc
Drop unused kona_sdhci driver
Tighten config dependencies and a minor cleanup
Tom Rini [Fri, 11 Jul 2025 15:20:01 +0000 (09:20 -0600)]
mmc: Remove unused kona_sdhci driver
As no platforms use this driver anymore, remove it.
Signed-off-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Tom Rini [Fri, 11 Jul 2025 15:16:07 +0000 (09:16 -0600)]
mmc: Tighten some mmc driver dependencies
A large number of mmc drivers cannot build without access to some
platform specific header files. Express those requirements in Kconfig as
well.
Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Andrew Goodbody [Thu, 3 Jul 2025 14:03:30 +0000 (15:03 +0100)]
mmc: Take cleanup path to free memory on error exit
Instead of returning -EINVAL directly which will not call the cleanup
path to free memory, fix the code to set the error and then goto the
cleanup code.
This issue found by Smatch.
Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Tim Harvey [Mon, 14 Jul 2025 17:23:04 +0000 (10:23 -0700)]
venice: display DRAM MR registers and decoding if debug enabled
While this is interesting and useful for debugging there isn't extremely
useful information so we will only show it if debug is enabled.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Tim Harvey [Mon, 14 Jul 2025 17:23:03 +0000 (10:23 -0700)]
venice: lpddr4_timing_imx8mm: update ddr phy config for mscale_v3.10
Update the ddr phy config values to those created by the mscale_v3.10
tool. The original values were obtained using mscale_v3.10. The v3.10
tool removed ddr phy register values of 0x0.
This has no functional change but makes comparing and patching ddr
configuration easier in addition to slightly shrinking the DRAM config
size.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Tim Harvey [Mon, 14 Jul 2025 17:23:02 +0000 (10:23 -0700)]
venice: lpddr4_timing_imx8mm: add 4gb single die support
Add dram support for the MT53E1G32D2FW-046 RevC part which is a single die
32Gbit density part vs RevA/B which were dual-die parts:
- use a previously unused EEPROM byte to denote a variant of the
base config to be patched
- add a dram description string
- return the board struct from eeprom_init and pass it to the
spl_dram_init function so that it has access to the EEPROM
- move ddr_init into the spl_dram_init so that it can be patched
in the per-soc init function
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Tim Harvey [Mon, 14 Jul 2025 17:23:01 +0000 (10:23 -0700)]
venice: lpddr4_timing_imx8mm: add DDRC_ADDRMAP7 config
Add the configuration register for DDRC_ADDRMAP7 which was added in the
RAP spreadsheet v19. This has no functional change but allows DRAM
configuration to be patched in a later commit.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Holger Brunck [Mon, 14 Jul 2025 11:43:47 +0000 (13:43 +0200)]
armv8: ls1043a: make some erratas dependent from USB
These erratas are only useful if USB is enabled. If it is disabled
these erratas might cause issues.
Signed-off-by: Holger Brunck <holger.brunck@hitachienergy.com>
David Zang [Sat, 12 Jul 2025 00:12:54 +0000 (19:12 -0500)]
soc: imx8ulp: Add celsius unit for temperature
Make temperature unit (celsius) more clear to reduce confusion.
Signed-off-by: David Zang <davidzangcs@gmail.com>
Tom Rini [Fri, 11 Jul 2025 15:20:25 +0000 (09:20 -0600)]
nxp: Move FSL_SEC_MON related options to arch/Kconfig.nxp
The options related to FSL_SEC_MON are part of the chain of trust
related options and should be under that menu, so move it there.
Furthermore we don't need to prompt for the driver itself but do need to
allow for configuration of the monitor endianess.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Fri, 11 Jul 2025 15:20:05 +0000 (09:20 -0600)]
arm: imx: Remove unused mxcmmc driver
As no platforms use this driver anymore, remove it.
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Fri, 11 Jul 2025 15:15:52 +0000 (09:15 -0600)]
brppt2: Use the correct MMC driver
As part of splitting the i.MX parts of FSL_ESDHC out from the more
legacy parts, the FSL_ESDHC_IMX symbol was added. This platform is the
only one which was not converted correctly.
Fixes:
e37ac717d796 ("Convert to use fsl_esdhc_imx for i.MX platforms")
Signed-off-by: Tom Rini <trini@konsulko.com>
Leonard Anderweit [Thu, 10 Jul 2025 08:17:17 +0000 (10:17 +0200)]
phycore-imx8mp: Enable standard boot
Enable standard boot for the phycore-imx8mp and use it as default. Add
all variables required for standard boot to the environment.
Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Tested-by: Martin Schwan <m.schwan@phytec.de>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Alice Guo [Mon, 7 Jul 2025 20:42:56 +0000 (04:42 +0800)]
imx95_evk: Add i.MX95 B0 support
i.MX95 B0 uses image container format v2 and needs DUMMY_DDR so that
update imximage.cfg and container.cfg for it.
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Ye Li [Mon, 7 Jul 2025 20:42:55 +0000 (04:42 +0800)]
spl: imx: Add support for new PQC container
To support PQC container format which is used for post quantum
authentication on new i.MX parts like i.MX94
The major changes compared to legacy container format is in
signature block, new container tag and version, and new alignment
of container header.
Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
Alice Guo [Mon, 7 Jul 2025 20:42:54 +0000 (04:42 +0800)]
tools: imx8image: Add 2 new commands CMD_CNTR_VERSION and CMD_DUMMY_DDR
i.MX95 B0 uses image container format v2, and `one container header
occupies 0x4000, so that CMD_CNTR_VERSION needs to be added.
The purpose of CMD_DUMMY_DDR is to create a dummy image entry in boot
container prior the DDR OEI image entry. ROM reads the address of DUMMY
DDR image entry and passes it to DDR OEI in OEI entry function as
parameter value, in order to indicate the offset of training data with
the boot container.
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Ye Li [Mon, 7 Jul 2025 20:42:53 +0000 (04:42 +0800)]
arm: imx: Update ELE get_info structure for i.MX94
Since i.MX94, the ELE get_info structure is updated to add
OEM PQC SRK hash, so update it.
Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
Yao Zi [Thu, 10 Jul 2025 03:42:01 +0000 (03:42 +0000)]
configs: th1520_lpi4a: Enable network support
Enable the network stack, the designware ethernet driver and
corresponding glue driver. The Lichee Pi 4A board ships two RTL8211F
phys, both attached to GMAC 0, thus support for Realtek phys and DM
support for MDIO devices are enabled as well.
Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
Yao Zi [Thu, 10 Jul 2025 03:42:00 +0000 (03:42 +0000)]
riscv: dts: th1520: Describe GMACs and enable them on Lichee Pi 4A
TH1520 SoC ships two MAC controllers based on Designware Ethernet IP
that are capable of Gigabit operation. Describe them in SoC devicetree
and enable them for Lichee Pi 4A.
Signed-off-by: Yao Zi <ziyao@disroot.org>
Acked-by: Leo Yu-Chi Liang <ycliang@andestech.com>
Yao Zi [Thu, 10 Jul 2025 03:41:59 +0000 (03:41 +0000)]
drivers: net: Add T-Head DWMAC glue layer
The Designware IP integrated in TH1520 SoC requires extra clock
configuration to operate correctly. The Linux kernel's T-Head DWMAC glue
driver is ported and adapted to U-Boot's API.
Signed-off-by: Yao Zi <ziyao@disroot.org>
Acked-by: Leo Yu-Chi Liang <ycliang@andestech.com>
Yao Zi [Thu, 10 Jul 2025 03:41:58 +0000 (03:41 +0000)]
riscv: cpu: th1520: Limit upper RAM boundary to 4 GiB
TH1520 SoC ships DMA peripherals that could only reach the first 32-bit
range of memory, for example, the GMAC controllers. Let's limit the
usable top of RAM below 4GiB to ensure DMA allocations are accessible to
all peripherals.
Signed-off-by: Yao Zi <ziyao@disroot.org>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
Yao Zi [Thu, 10 Jul 2025 03:41:57 +0000 (03:41 +0000)]
clk: thead: th1520-ap: Correctly handle flags for dividers
Unlike the gate clocks which make no use of flags, most dividers in
TH1520 SoC are one-based, thus are applied with CLK_DIVIDER_ONE_BASED
flag. We couldn't simply ignore the flag, which causes wrong results
when calculating the clock rates.
Add a member to ccu_div_internal for defining the flags, and pass it to
divider_recalc_rate(). With this fix, frequency of all the clocks match
the Linux kernel's calculation.
Fixes:
e6bfa6fc94f ("clk: thead: Port clock controller driver of TH1520 SoC")
Signed-off-by: Yao Zi <ziyao@disroot.org>
Acked-by: Leo Yu-Chi Liang <ycliang@andestech.com>
Eoin Dickson [Tue, 8 Jul 2025 13:01:21 +0000 (18:31 +0530)]
spi: coreqspi: add xfer function for PolarFire SoC
Add xfer function to PolarFire SoC coreqspi driver. The read and write
operations are limited to one byte at a time instead of four as CMD18
(multiple block read) reads garbage when four byte ops are enabled.
Signed-off-by: Eoin Dickson <eoin.dickson@microchip.com>
Acked-by: Leo Yu-Chi Liang <ycliang@andestech.com>
Eoin Dickson [Tue, 8 Jul 2025 13:01:20 +0000 (18:31 +0530)]
gpio: add PolarFire SoC GPIO and Core GPIO driver
This driver adds GPIO support for PolarFire SoC family, this is required
to add sd card support on the Beagle-V-Fire as it uses GPIO chip selects
Signed-off-by: Eoin Dickson <eoin.dickson@microchip.com>
Acked-by: Leo Yu-Chi Liang <ycliang@andestech.com>
Conor Dooley [Mon, 7 Jul 2025 12:51:39 +0000 (13:51 +0100)]
configs: microchip_mpfs_icicle: disable DEBUG_UART
By default DEBUG_UART uses the SBI DBCN extension on S-Mode RISC-V
platforms, but the Icicle Kit's firmware doesn't support it. Since
DEBUG_UART is getting turned on automagically and this is somewhat
misleading, disable it in the Icicle kit's defconfig.
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
Conor Dooley [Mon, 7 Jul 2025 12:13:33 +0000 (13:13 +0100)]
board: mpfs_icicle: fix board_fit_config_name_match()
The loop in the icicle implementation of board_fit_config_name_match()
runs strtok() to split off the vendor portion of the compatible string
using , as the delimiter. strtok() modifies a string in place, so where
the first config and compatible do not match, the compatible has been
modified by the time the loop hits the second iteration.
Since stringlists in dt land are null separated strings, the nulls
strtok() inserts to replace the delimiter increase the number of strings
in the compatible list. When the second iteration of the loop calls
fdt_stringlist_get(), it gets the vendorless portion of the first
compatible string, rather than the second compatible string. Copy each
compatible before calling strtok() to avoid this problem.
The temporary string the compatible is copied to is statically
allocated, as attempts to dynamically allocate it at this stage of boot
were met with "alloc space exhausted" errors.
Fixes:
7c16ebba1ed ("board: mpfs_icicle: implement board_fdt_blob_setup()/board_fit_config_name_match()")
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
Mark Kettenis [Sat, 12 Jul 2025 18:52:27 +0000 (20:52 +0200)]
board: vexpress_ca9x4: Enable D-cache and MMU
Enable the D-cache, which will also enable the MMU. The latter
make sure we don't do unaligned access on Strongly-ordered memory,
which has UNPREDICTABLE behaviour according the architecture
definition. This fixes using U-Boot with recent versions of
QEMU's vexpress-ca9 emulation.
Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
Andrew Goodbody [Wed, 9 Jul 2025 11:49:09 +0000 (12:49 +0100)]
boot: Ensure method_flags is initialised before use
The local variable method_flags is only assigned to in some of the
code paths leaving it possibly uninitialised at first use.
Initialise method_flags at declaration to ensure that it cannot be
used uninitialised. Also remove now redundant assignments.
Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Rasmus Villemoes [Wed, 9 Jul 2025 11:07:51 +0000 (13:07 +0200)]
arm: dts: am335x-evm: remove duplicate chosen node
The stdout-path property is already set to this value in the other
chosen node ~15 lines above.
Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Tom Rini [Wed, 16 Jul 2025 14:41:40 +0000 (08:41 -0600)]
Merge tag 'u-boot-dfu-
20250716' of https://source.denx.de/u-boot/custodians/u-boot-dfu
u-boot-dfu-
20250716
Android:
- Fix printing lbaint_t format in AVB and android_ab messages
DFU:
- Fix dfu_config_interfaces() for single interface DFU syntax
Sam Protsenko [Wed, 9 Jul 2025 04:23:42 +0000 (23:23 -0500)]
dfu: Fix dfu_config_interfaces() for single interface DFU syntax
As stated in DFU documentation [1], the device interface part might be
missing in dfu_alt_info:
dfu_alt_info
The DFU setting for the USB download gadget with a semicolon
separated string of information on each alternate:
dfu_alt_info="<alt1>;<alt2>;....;<altN>"
When several devices are used, the format is:
- <interface> <dev>'='alternate list (';' separated)
So in first case dfu_alt_info might look like something like this:
dfu_alt_info="mmc 0=rawemmc raw 0 0x747c000 mmcpart 1;"
And in second case (when the interface is missing):
dfu_alt_info="rawemmc raw 0 0x747c000 mmcpart 1;"
When the interface is not specified the 'dfu' command crashes when
called using 'dfu 0' or 'dfu list' syntax:
=> dfu list
"Synchronous Abort" handler, esr 0x96000006, far 0x0
That's happening due to incorrect string handling in
dfu_config_interfaces(). In case when the interface is not specified in
dfu_alt_info it triggers this corner case:
d = strsep(&s, "="); // now d contains s, and s is NULL
if (!d)
break;
a = strsep(&s, "&"); // s is already NULL, so a is NULL too
if (!a) // corner case
a = s; // a is NULL now
which causes NULL pointer dereference later in this call, due to 'a'
being NULL:
part = skip_spaces(part);
That's because as per strsep() behavior, when delimiter ("&") is not
found, the token (a) becomes the entire string (s), and string (s)
becomes NULL. To fix that issue assign "a = d" instead of "a = s",
because at that point variable d actually contains previous s, which
should be used in this case.
[1] doc/usage/dfu.rst
Fixes: commit
febabe3ed4f4 ("dfu: allow to manage DFU on several devices")
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Link: https://lore.kernel.org/r/20250709042342.13544-1-semen.protsenko@linaro.org
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Tom Rini [Wed, 2 Jul 2025 01:06:03 +0000 (19:06 -0600)]
common/avb_verify.c: Make use of LBAF for printing lbaint_t
When printing the contents of an lbaint_t variable we need to use LBAF
to print it in order to get the correct format type depending on 32 or
64bit-ness.
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Link: https://lore.kernel.org/r/20250702010603.19354-2-trini@konsulko.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>