summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
3 daysboard: nxp: lx2160a: without QIXIS, MC-ENET, PCI, LTC3882Vincent Jardin
The shared LX2160A board file calls helpers that only exist when their subsystem is enabled. Gate them on the matching CONFIG_*: - pci_init() under CONFIG_PCI. - fdt_fixup_mc_ddr() and fsl_rgmii_init() under CONFIG_FSL_MC_ENET. - qixis_*() and the QIXIS branch of checkboard() under CONFIG_FSL_QIXIS; cpu_name(buf) moves out so the non-QIXIS path still prints "Board: <name>". - EVENT_SPY_SIMPLE on init_func_vid moves inside the CONFIG_VOL_MONITOR_LTC3882_READ guard (was outside, dangling symbol when LTC3882 off). #if / #ifdef, not IS_ENABLED(), because the helpers are themselves conditionally compiled. While here, lx2160a_common.h: fix BOOT_TARGET_DEVICES_MMC 1 arg vs 2 args and gate the MMC target on CONFIG_CMD_MMC, not CONFIG_MMC. No functional change for NXP boards: LX2160ARDB, LX2160AQDS, or LX2162AQDS, but mainly build clean up in order to support other NXP lx2160a boards without those HW dependencies. Signed-off-by: Vincent Jardin <vjardin@free.fr> Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 daysp2041rdb: use the upstream device treeMichael Walle
Switch to the upstream device tree, which already includes the UART nodes we need for the DM. We also need to increase malloc area before relocation otherwise you'll get the following error and the board panics: DRAM: Initializing....using SPD alloc space exhausted ptr 414 limit 400 Signed-off-by: Michael Walle <mwalle@kernel.org> Signed-off-by: Peng Fan <peng.fan@nxp.com>
3 dayscaam: don't write memory at 0 on PPCMichael Walle
For non-secure boot environments pamu_init() isn't called but the CAAM will still call sec_config_pamu_table() -> config_pamu() which then uses an uninitialized ppaact variable. In fact, that variable is initialized with 0, so the config_pamu() will happily assume the structure is there and will operate on that memory. Call pamu_init() in the non-secure boot case, too. Signed-off-by: Michael Walle <mwalle@kernel.org> Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 daysarm: dts: k3-am69-aquila: fix combined boot firmware image buildEmanuele Ghidoli
The combined boot firmware firmware-aquila-am69-gp.bin depends on tiboot3-am69-gp-aquila.bin, which in turn requires the GP variant of the TI system firmware blob (ti-fs-firmware-j784s4-gp.bin). Fix the combined boot firmware image build by adding the missing binman nodes. Fixes: f62d4535cf17 ("arm: dts: k3-am69-aquila: add combined boot firmware image") Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com> Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com> Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
5 daysMerge tag 'u-boot-stm32-20260512' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm CI: https://source.denx.de/u-boot/custodians/u-boot-stm/-/pipelines/30081 - reset: stm32: Fix compilation error - Remove remaining non-existant STM32_RESET flag - configs: stm32mp13: Add SPI-NAND UBI boot support - Support metadata-driven A/B boot for STM32MP25
6 daysarm: apple: Add Apple M3 (t8122) supportJanne Grunau
Apple's M3 SoC is similar to M1 and M2 but uses a different memory map. The main difference is that RAM starts at 0x100_0000_0000 like on t600x and t602x (M1 and M2 Pro/Max/Ultra). Otherwise IO blocks have been rearranged. U-boot's existing drivers are compatible with the hardware and M3 device trees will carry "apple,t8103-*" compatible strings. Only apple-atcphy-reset might need a new compatible due to USB4 / DisplayPort changes the Linux driver has to deal with. Signed-off-by: Janne Grunau <j@jannau.net> Acked-by: Mark Kettenis <kettenis@openbsd.org>
6 daysMerge patch series "Switch Apple silicon boards to upstream device trees"Tom Rini
Janne Grunau <j@jannau.net> says: The Linux device trees for Apple silicon devices cover now most of the hardware as u-boot's internal device trees for M1 devices. Linux has in addition device trees M2 and M1 and M2 Pro/Max/Ultra devices which were never added in u-boot. The most common use case for u-boot on Apple silicon devices does not use DTBs from u-boot but passes runtime modified device trees from an earlier boot loader (m1n1). This change regresses support for the SPI on M1 and M1 Pro/Max notebooks as SPI keyboard support is not in upstream Linux. This regression is in my opinion acceptable due to the limited use of u-boot's DTBs for these targets. Link: https://lore.kernel.org/r/20260507-apple-dt-upstream-v2-0-35181f2b0509@jannau.net
6 daysarm: dts: Switch Apple silicon devices to dts/upstreamJanne Grunau
The device tree on Apple silicon devices is passed from a previous bootloader stage. The bootloader fills in dynamic information so u-boot can not use its own device tree. As documented in doc/board/apple/m1.rst it is possible to build boot bundles (bootloader + device tree + gzipped u-boot binary). These are useful for testing. Instead of using u-boot's own device trees for M1 (t8103) devices use upstream device trees from dts/upstream/src/arm64/apple. The u-boot device trees have not seen updates since 2022. The upstream linux device trees have feature parity for the M1 devices. In addition linux has device trees for M1 Pro/Max/Ultra, M2 and M2 Pro/Max/Ultra devices. Keep t8103-j274 as default device tree to avoid further updates. Signed-off-by: Janne Grunau <j@jannau.net> Acked-by: Mark Kettenis <kettenis@openbsd.org>
6 daysarm: apple: Switch to board based text envJanne Grunau
The main use case for u-boot on Apple silicon based devices is to provide an EFI based bootloader for operating systems. This uses a generic u-boot image with DTBs passed from an earlier boot loader (m1n1). Use the generic board name "mac" for this purpose. Signed-off-by: Janne Grunau <j@jannau.net>
6 daysarm: dts: k3-am69-aquila: add combined boot firmware imageErnest Van Hoecke
Add nodes to the binman configuration to create single binaries that combine tiboot3-am69-*-aquila.bin, tispl.bin and u-boot.img into firmware-aquila-am69-*.bin, with the proper offsets. These binaries can be used to flash U-Boot via a single binary of three, as it is done now. Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com> Reviewed-by: Neha Malcom Francis <n-francis@ti.com> Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
6 daysarm/mach-stm32: Remove remaining non-existent STM32_RESETPatrice Chotard
Symbol CONFIG_STM32_RESET does not exist. Don't select it. Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
7 daysMerge patch series "j721s2: j784s4: Add workaround for errata i2437"Tom Rini
Udit Kumar <u-kumar1@ti.com> says: Add a necessary hardware errata workaround for J721S2 and J784S4. Bootlogs https://gist.github.com/uditkumarti/da2a489a78d3241ecd2791c9df1c1317 Link: https://lore.kernel.org/r/20260415152152.3048491-1-u-kumar1@ti.com
7 daysarch: mach-k3: j784s4_init: Add workaround for errata i2437Neha Malcom Francis
Add the workaround proposed for J784S4 errata i2437 (link) for SE clock-gating turning off too early. Without this, a hardware bug present in C7120 leads to C7120 CPU hanging. Link: https://www.ti.com/lit/pdf/sprz536 Signed-off-by: Neha Malcom Francis <n-francis@ti.com> Signed-off-by: Udit Kumar <u-kumar1@ti.com>
7 daysarch: mach-k3: j721s2_init: Add workaround for errata i2437Neha Malcom Francis
Add the workaround proposed for J721S2 errata i2437 (link) for SE clock-gating turning off too early. Without this, a hardware bug present in C7120 leads to C7120 CPU hanging. Link: https://www.ti.com/lit/pdf/sprz530 Signed-off-by: Neha Malcom Francis <n-francis@ti.com> Signed-off-by: Udit Kumar <u-kumar1@ti.com>
7 daysarm: mach-k3: arm: mach-k3: Add writel_verify macro for register write ↵Udit Kumar
verification Add a helper macro to write and verify a 32-bit value to a memory-mapped register. This is essential for hardware errata workarounds that require confirmation that register writes have taken effect before proceeding with initialization. Signed-off-by: Udit Kumar <u-kumar1@ti.com>
9 daysMerge tag 'u-boot-at91-fixes-2026.07-a' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-at91 First set of u-boot-at91 fixes for the 2026.07 cycle: - Cleanup some useless code
12 daysMerge tag 'mips-fixes-for-v2026.07' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-mips - mips: mtmips: align MT7621 image blobs to 8-byte boundary
12 daysMerge tag 'net-20260506' of https://source.denx.de/u-boot/custodians/u-boot-netTom Rini
Pull request net-20260506. net: - phy: dp83867: default to 2ns delay if unspecified in device-tree - nfs: fix buffer overflow in nfs_readlink_reply() - cpsw: Add cpsw-switch DT binding support - phy: add common PHY polarity properties support - phy: adin: add support for the ADIN1200 phy - macb: support for instances with less features - phy: mscc: add support for the VSC8572 net-lwip: - wget: correct diagnostic output
12 daysmips: mtmips: align MT7621 image blobs to 8-byte boundaryShiji Yang
MT7621 doesn't boot on u-boot v2026.04. Fix it by correcting the u-boot aligned offset. Fixes: d9e183a04c92 ("MIPS: Assure end of U-Boot is at 8-byte aligned offset") Signed-off-by: Shiji Yang <yangshiji66@outlook.com> Reviewed-by: Weijie Gao <weijie.gao@mediatek.com>
13 daystest: dm: add PHY common props unit tests and sandbox DT nodesLucien.Jheng
Add sandbox DM unit tests for the PHY common properties library and the corresponding device tree test nodes to arch/sandbox/dts/test.dts. Also enable CONFIG_PHY_COMMON_PROPS in configs/sandbox_defconfig so the tests are built and run in the sandbox environment. The test file covers rx/tx polarity lookups for all relevant cases: - missing property (defaults to PHY_POL_NORMAL) - single value without names array (applies to all modes) - count mismatch between values and names arrays (-EINVAL) - name found by exact match - name not found with no "default" fallback (-EINVAL) - name not found with a "default" entry (uses fallback value) - unsupported polarity value (-EOPNOTSUPP) Ported from Linux KUnit test: linux/drivers/phy/phy-common-props-test.c Signed-off-by: Lucien.Jheng <lucienzx159@gmail.com>
13 daysarm: dts: remove local copy of Ten64 board DTSMathew McBride
This board has been migrated to the upstream / kernel device tree version (OF_UPSTREAM), so remove the old 'local' copies that are no longer required. However, the -u-boot.dtsi append needs to remain, because the SoC fsl-ls1088a-u-boot.dtsi is required for some devices (like PCIe controllers and DPAA2 ethernet) to properly enumerate under U-Boot. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Mathew McBride <matt@traverse.com.au> Signed-off-by: Peng Fan <peng.fan@nxp.com>
13 daysarm: gpio: include integer type definitions for gpio.hMathew McBride
Both consumers and sub-arch specific versions of gpio.h may reference stdint or other non-C90 type definitions. Ensure the common ones are available by including linux/types.h before any other headers. This issue came to light when the usb onboard hub driver was enabled for ten64_tfa_defconfig: In file included from ./arch/arm/include/asm/gpio.h:2, from common/usb_onboard_hub.c:10: ./arch/arm/include/asm/arch/gpio.h:17:9: error: unknown type name 'ulong' 17 | ulong addr; ./arch/arm/include/asm/arch/gpio.h:18:9: error: unknown type name 'ulong' 18 | ulong size; ./arch/arm/include/asm/arch/gpio.h:19:9: error: unknown type name 'uint' 19 | uint ngpios; (In this instance, the cited errors actually originate from arch/arm/include/asm/arch-fsl-layerscape/gpio.h, which is included by the arm top level asm/gpio.h) Implemented as per suggestion from Quentin Schulz in Link: Signed-off-by: Mathew McBride <matt@traverse.com.au> Link: https://lore.kernel.org/u-boot/35038a9a-fa5a-4f9f-b34e-17cc80a7824c@cherry.de/ Signed-off-by: Peng Fan <peng.fan@nxp.com>
13 daysarm: dts: layerscape: Fix SPI flash compatible string issueYe Li
When CONFIG_DM_SPI_FLASH is enabled, sf command will default find device from DT which requires to use "jedec,spi-nor" compatible string not obsoleted "spi-flash". So update NXP LS DTS to use new compatible string Signed-off-by: Ye Li <ye.li@nxp.com> Acked-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
13 daysarm: dts: layerscape: Fix DT build warning in SPI nodesYe Li
There are lots of DT warning in layerscape DTS files like: node name for SPI buses should be 'spi' and SPI bus unit address format error. Update the spi node name and flash node name to avoid build warning Signed-off-by: Ye Li <ye.li@nxp.com> Acked-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
13 daysarm: dts: fsl-ls1088a: Enable USB nodesYe Li
Enable USB nodes in -u-boot.dtsi. After sync dts with kernel, USB nodes status are set to disabled. So "usb start" does not work on ls1088ardb and ls1088aqds. Fixes: 10ff7e6b043b ("arm: dts: fsl-ls1088a: sync usb controller nodes with Linux") Signed-off-by: Ye Li <ye.li@nxp.com> Tested-by: Wei Lu <w.lu@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
13 daysarm: dts: fsl-ls1088a: Enable SD deviceYe Li
Due to update of fsl-ls1088a.dtsi in previous patch, the esdhc node is disabled, so u-boot can't to probe any eSDHC controller. Fixes: fd4f7b0158d0 ("arm: dts: fsl-ls1088a: move and sync existing bindings to be under /soc") Signed-off-by: Ye Li <ye.li@nxp.com> Tested-by: Wei Lu <w.lu@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
13 daysarm: dts: fsl-ls1088a: Set dpmac nodes default to disabledYe Li
Disable ethernet controller dpmac nodes in fsl-ls1088a.dtsi. Board dts is responsible to enable them. Otherwise will meet failure from ldpaa_eth driver on LS1088AQDS board, because only few dpmac controllers can be enabled on this board. Signed-off-by: Ye Li <ye.li@nxp.com> Tested-by: Wei Lu <w.lu@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
13 daysarm: dts: fsl-ls1088a-qds: Fix missed -u-boot.dtsiYe Li
LS1088AQDS u-boot contains multiple DTB files: fsl-ls1088a-qds-21-x.dtb and fsl-ls1088a-qds-29-x.dtb. It does not use default device tree fsl-ls1088a-qds.dtb However, the nodes updated in fsl-ls1088a-qds-u-boot.dtsi are not included for fsl-ls1088a-qds-21-x.dts and fsl-ls1088a-qds-29-x.dts, so fail to get any output from serial. Signed-off-by: Ye Li <ye.li@nxp.com> Tested-by: Wei Lu <w.lu@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
13 daysarm: layerscape: Check zero size memory bank before lmb_addYe Li
In layerspace's lmb_arch_add_memory implementation, all memory bank are added to lmb, even some is with zero size. This will cause lmb treating it as overlap with available memory by lmb_addrs_overlap and merge with available memory. Finally causing available memory start address changed to 0. For example, on LX2160, before zero memory bank added to lmb, there are two available memory regions: - region 0, start 0x80000000, size 0x7be00000 - region 1, start 0x2080000000, size 0x700000000 After zero size memory bank added, merge to one region: - region 0, start 0, size 0x2780000000 This wrong new region causes efi_memory_init issue when allocating bounce buffer because of conflict address (with uboot reserved) is allocated. Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
13 dayspowerpc: fix dead default for SYS_L3_SIZEJulian Braha
The 'default ... if SYS_L3_SIZE_512KB' statement is written twice, making the second instance dead code. Based on the context, I believe the author of the code intended to set a default value of '1048576' when SYS_L3_SIZE_1024KB is set. This dead code was detected by kconfirm, a static analysis tool for Kconfig. Fixes: b85d75951fe ("powerpc: Migrate SYS_L3_SIZE to Kconfig") Signed-off-by: Julian Braha <julianbraha@gmail.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
13 daysarm64: renesas: Add Cortex-M33 build option to R-Car Gen5Marek Vasut
The R-Car Gen5 SoCs contains Cortex-M33, Cortex-R52 and Cortex-A720AE cores. Add U-Boot build options for the Cortex-M33 core. Since the Cortex-M33 core is a 32bit core, select V8M and ARM64 for RCAR64 accordingly. Select TMU timer on the 32bit core, where it is used instead of the ARMv8 timer. Adjust TMU timer base address to match the address map of the Cortex-M33 core. Disable unused OF_BOARD_SETUP as well as unavailable POSITION_INDEPENDENT configuration options. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Udit Kumar <u-kumar1@ti.com>
13 daysarm: renesas: Fix Kconfig indentMarek Vasut
Indent using tabs and two spaces for help text. No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
13 daysarm: dts: renesas: Remove duplicate AVB pinmux assignment on V3MMarek Vasut
Both R-Car V3M Eagle and V3MSK U-Boot DT extras contain AVB pinmux assignment, which is a leftover from before the same pinmux was part of upstream DTs. Remove the duplicate AVB pinmux assignment in favor of the upstream DT content. No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
13 daysarm: dts: renesas: Clean up RPC DT nodesMarek Vasut
Remove duplicate properties which are present both in arch/arm/dts/ and upstream dts/upstream/src/arm64/renesas/ in favor of those in upstream DTs. Since those are duplicates, this causes no functional change. Remove unused num-cs and bank-width DT properties. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-05-04m68k: set proper u-boot image size for initial bootAngelo Dureghello
There is a value of 256K hardcoded as u-boot image size. This produce bank tty as soon as the image size grows over the limit. Fix it by using value preset by CONFIG_SYS_MONITOR_LEN. Signed-off-by: Angelo Dureghello <angelo@kernel-space.org>
2026-05-04m68k: mcf5441x: create stub to use imx driversAngelo Dureghello
Some NXP imx hardware ip module as the esdhc controller are exactly the same in some new ColdFire cpus. For the specific case, mcf5441x needs to use the existing fsl_esdhc_imx.c driver for the esdhc device. Create a stub to be able to use NXP "imx" serie drivers as the fsl_esdhc_imx in the ColdFire architecture. Signed-off-by: Angelo Dureghello <angelo@kernel-space.org>
2026-05-04m68k: dts: stmark2: enable esdhcAngelo Dureghello
Enable esdhc device. Signed-off-by: Angelo Dureghello <angelo@kernel-space.org>
2026-05-04m68k: dts: mcf5441x: add mmc device for mcf5441xAngelo Dureghello
Add mmc support for the mcf5441x family. There is only one esdhc controller for this cpu family. Signed-off-by: Angelo Dureghello <angelo@kernel-space.org>
2026-05-01arm: at91: Drop unnecessary BOARD_EARLY_INIT_F usageTom Rini
All of these platforms enable CONFIG_BOARD_EARLY_INIT_F and then have a do-nothing board_early_init_f function. Change to not enabling the option and so not needing an empty function. Signed-off-by: Tom Rini <trini@konsulko.com>
2026-04-30sunxi: H616: dram: drop default TPR6 Kconfig valueAndre Przywara
CONFIG_DRAM_SUNXI_TPR6 is the only DRAM config parameter that has a non-zero default value. Since we need to provide a value for all the other parameters anyway, avoiding TPR6 makes no real difference. To make matters worse, TPR6 is a compound value covering multiple DRAM types, but also spans over three SoCs, which makes it hard to find one good default value. Drop the default from Kconfig, and put some explicit values in the defconfigs for the few boards that were relying on the default so far. The value is taken from one BSP, only the lower byte matters anyway for those boards, all using DDR3 DRAM. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com> Reviewed-by: Paul Kocialkowski <paulk@sys-base.io>
2026-04-30sunxi: H616: dram: fix LPDDR3 TPR6 parsingJernej Skrabec
Allwinner's DRAM initialisation code defines a parameter named TPR6, presumably containing some "Vref" parameter, but containing values for *all* DRAM types. The runtime code selects one byte based on the DRAM type used. This selection code was wrong for LPDDR3, the value is encoded in bits [23:16], not [15:8]. Fix that in the code, which also aligns it with the very similar code for the A133 and A523. Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com> Reported-by: Philippe Simons <simons.philippe@gmail.com> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Paul Kocialkowski <paulk@sys-base.io>
2026-04-30sunxi: spl: fix SPL_SUNXI_LED active low configurationAndre Przywara
The newly introduced Allwinner SPL LED "framework" defined a SPL_SUNXI_LED_STATUS_STATE Kconfig symbol, that was supposed to denote the active-low vs. active-high polarity of the LED. However this is a bool symbol, so it will simply vanish if not defined, and we cannot use it directly inside a C statement. Filter the symbol through the IS_ENABLED() macro, which will return 0 if the symbol is not defined, which is the intended value here. Since the STATUS_STATE name is a bit confusing, rename it to ACTIVE_HIGH on the way, because that is its real meaning. Also the LED_STATUS_BIT name for the GPIO number is similarly a remnant of the old status LED code, so rename it to LED_STATUS_GPIO as well. This fixes configuring LEDs with active-low polarity. Fixes: 256557dd9aae ("sunxi: remove usage of legacy LED API") Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Paul Kocialkowski <paulk@sys-base.io> Closes: https://lore.kernel.org/u-boot/adfMQBPdntWy1KIq@shepard/ Acked-by: Quentin Schulz <quentin.schulz@cherry.de>
2026-04-30Merge tag 'u-boot-stm32-20260430' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm - arm; stm32mp2: Factorize TAMP_FWU_BOOT_IDX_MASK/OFFSET definition - arm: stm32mp: Drop unnecessary BOARD_EARLY_INIT_F usage - board: stm32mp25: support dynamic A/B bank bootup - board: stm32pm1: Fix board_check_usb_power() - clk: stm32: Add STM32MP23 support - video: stm32: dsi: fix unchecked return values - video: support Rocktech RK050HR345-CT106A panel - Remove non-existent STM32_RESET flag
2026-04-30arm/mach-stm32: don't select non-existent STM32_RESETHeinrich Schuchardt
Symbol CONFIG_STM32_RESET does not exist. Don't select it. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2026-04-30test: spi: add sandbox_spi_get_wordlen interfaceDario Binacchi
Add the sandbox_spi_get_wordlen() public interface to retrieve the internal word length state of the sandbox SPI device. This is intended for use in sandbox SPI test cases to verify that the word length is correctly propagated from the SPI uclass to the driver. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Reviewed-by: Simon Glass <simon.glass@canonical.com>
2026-04-30arm: stm32mp: Drop unnecessary BOARD_EARLY_INIT_F usageTom Rini
All of these platforms enable CONFIG_BOARD_EARLY_INIT_F and then have a do-nothing board_early_init_f function. Change to not enabling the option and so not needing an empty function. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2026-04-30ARM: stm32mp2: Factorize TAMP_FWU_BOOT_IDX_MASK/OFFSET definitionPatrice Chotard
Factorize TAMP_FWU_BOOT_IDX_MASK and TAMP_FWU_BOOT_IDX_OFFSET definition which are common to STM32MP1 and STM32MP2 SoCs family. Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
2026-04-29configs: mt7622: remove empty header fileWeijie Gao
Remove the empty include/configs/mt7622.h header file as it is not needed. The Kconfig entry that referenced it is also removed. Signed-off-by: Weijie Gao <weijie.gao@mediatek.com> Link: https://patch.msgid.link/20260428033625.109032-1-weijie.gao@mediatek.com Signed-off-by: David Lechner <dlechner@baylibre.com>
2026-04-28arm: dts: mediatek: add Genio 520/720 SNOR supportDavid Lechner
Add devicetree nodes needed to enable SNOR support on Genio 520 and 720 EVKs. This is copied from the most recent upstream submission [1] of the devicetree for these boards, so there should be minimal differences when we eventually switch to OF_UPSTREAM. Link: https://lore.kernel.org/linux-mediatek/20251111070031.305281-10-jh.hsu@mediatek.com/ [1] Link: https://patch.msgid.link/20260406-mtk-genio-720-snor-v1-1-cbfd5fc4e59a@baylibre.com Signed-off-by: David Lechner <dlechner@baylibre.com>
2026-04-27Merge patch series "net: migrate NO_NET out of the networking stack choice"Tom Rini
Quentin Schulz <foss+uboot@0leil.net> says: This migrates the net options away from the main Kconfig to net/Kconfig, rename the current NET option to NET_LEGACY to really highlight what it is and hopefully encourage more people to use lwIP, add a new NET menuconfig (but keep NO_NET as an alias to NET=n for now) which then allows us to replace all the "if legacy_stack || lwip_stack" checks with "if net_support" which is easier to read and maintain. The only doubt I have is wrt SYS_RX_ETH_BUFFER which seems to be needed for now even when no network is configured? Likely due to include/net-common.h with PKTBUFSRX? No change in behavior is intended. Only change in defconfig including other defconfigs where NO_NET=y or NET is not set, in which case NO_NET is not set or NET=y should be set in the top defconfig. Similar change required for config fragments. See commit log in patch adding NET menuconfig for details. This was tested based on 70fd0c3bb7c2 ("x86: there is no CONFIG_UBOOT_ROMSIZE_KB_12288"), from within the GitLab CI container trini/u-boot-gitlab-ci-runner:noble-20251013-23Jan2026 and set up similarly as in "build all platforms in a single job" GitLab CI job. #!/usr/bin/env bash set -o pipefail set -eux ARGS="-BvelPEWM --reproducible-builds --step 0" ./tools/buildman/buildman -o ${O} --force-build $ARGS -CE $* ./tools/buildman/buildman -o ${O} $ARGS -Ssd $* O=../build/u-boot/ ../u-boot.sh -b master^..b4/net-kconfig |& tee ../log.txt I can't really decipher the log.txt, but there's no line starting with + which would be an error according to tools/buildman/builder.py help text. Additionally, because I started the script with set -e set and because buildman has an exit code != 0 when it fails to build a board, and I have the summary printed (which is the second buildman call), I believe it means all builds passed. The summary is the following: aarch64: (for 537/537 boards) all +0.0 rodata +0.0 uniphier_v8 : all +1 rodata +1 u-boot: add: 0/0, grow: 1/0 bytes: 1/0 (1) function old new delta data_gz 10640 10641 +1 arm: (for 733/733 boards) all -0.0 rodata -0.0 uniphier_v7 : all -1 rodata -1 u-boot: add: 0/0, grow: 0/-1 bytes: 0/-1 (-1) function old new delta data_gz 11919 11918 -1 opos6uldev : all -3 rodata -3 u-boot: add: 0/0, grow: 0/-1 bytes: 0/-3 (-3) function old new delta data_gz 18778 18775 -3 uniphier_ld4_sld8: all -3 rodata -3 u-boot: add: 0/0, grow: 0/-1 bytes: 0/-3 (-3) function old new delta data_gz 11276 11273 -3 stemmy : all -20 rodata -20 u-boot: add: 0/0, grow: 0/-1 bytes: 0/-20 (-20) function old new delta data_gz 15783 15763 -20 As far as I could tell this data_gz is an automatically generated array when CONFIG_CMD_CONFIG is enabled. It is the compressed .config stored in binary form. Because I'm changing the name of symbols, replacing a menu with a menuconfig, additional text makes it to .config and the "# Networking" section in .config disappears. Here is the diff for the 5 defconfigs listed above, generated with: for f in build/*-m; do diff --unified=0 $f/.config $(dirname $f)/$(basename -a -s '-m' $f)/.config done (-m is the build directory for master, and without the suffix, it's the top commit of this series) """ --- build/opos6uldev-m/.config 2026-04-20 10:53:49.804528526 +0200 +++ build/opos6uldev/.config 2026-04-20 11:03:37.430242767 +0200 @@ -970,4 +969,0 @@ - -# -# Networking -# @@ -975,0 +972 @@ +CONFIG_NET_LEGACY=y --- build/stemmy-m/.config 2026-04-20 11:01:33.653698123 +0200 +++ build/stemmy/.config 2026-04-20 11:04:53.452577311 +0200 @@ -733,4 +732,0 @@ - -# -# Networking -# @@ -738,2 +733,0 @@ -# CONFIG_NET is not set -# CONFIG_NET_LWIP is not set --- build/uniphier_ld4_sld8-m/.config 2026-04-20 11:00:41.605469071 +0200 +++ build/uniphier_ld4_sld8/.config 2026-04-20 11:04:22.226439899 +0200 @@ -997,4 +996,0 @@ - -# -# Networking -# @@ -1002,0 +999 @@ +CONFIG_NET_LEGACY=y --- build/uniphier_v7-m/.config 2026-04-20 10:53:04.019307319 +0200 +++ build/uniphier_v7/.config 2026-04-20 11:03:01.688085486 +0200 @@ -1004,4 +1003,0 @@ - -# -# Networking -# @@ -1009,0 +1006 @@ +CONFIG_NET_LEGACY=y --- build/uniphier_v8-m/.config 2026-04-20 10:43:05.614441175 +0200 +++ build/uniphier_v8/.config 2026-04-20 10:41:03.214852130 +0200 @@ -875,4 +874,0 @@ - -# -# Networking -# @@ -880,0 +877 @@ +CONFIG_NET_LEGACY=y """ This is fine: - Networking menu doesn't exist anymore so "#\n# Networking\n#\n" won't be in .config anymore. - opos6uldev, uniphier_ld4_sld8, uniphier_v7 and uniphier_v8 all have (old) CONFIG_NET enabled, (new) CONFIG_NET will still be set but CONFIG_NET_LEGACY also needs to be defined now to reflect the stack choice (even if default), - stemmy has CONFIG_NO_NET set, which means CONFIG_NET and CONFIG_NET_LWIP are not reachable anymore hence why they don't need to be part of .config, GitLab CI was run on this series (well, not exactly, but it's only changes to the git logs that were made): https://source.denx.de/u-boot/contributors/qschulz/u-boot/-/pipelines/29849 It passes. Link: https://lore.kernel.org/r/20260420-net-kconfig-v1-0-9900002d8e72@cherry.de