summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2025-06-24mach-snapdragon: CapsuleUpdate: support all boot methodsCaleb Connolly
Expand capsule update support to correctly identify which partition U-Boot is flashed to (between xbl, uefi, and boot including A/B variants). Use qcom_boot_source to determine if we were chainloaded from ABL, meaning U-Boot is on the boot partition, otherwise we assume uefi if it's available, finally leaving the xbl partition. Set a different fw_name based on the target partition to prevent GUID collisions, since a board may support U-Boot flashed to boot or XBL we need to differentiate them since the U-Boot binary must be built differently. Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Caleb Connolly <[email protected]> Link: https://lore.kernel.org/r/20250411-b4-qcom-capsule-update-improvements-v2-2-27f6b2fcc4a9@linaro.org Signed-off-by: Casey Connolly <[email protected]>
2025-06-24mach-snapdragon: track boot sourceCaleb Connolly
Keep track of whether we were loaded via ABL or if U-Boot is running as a first-stage bootloader. For now we set this based on if we have a valid external FDT or not, since it isn't possible to chainload U-Boot from ABL without there being an external FDT. This will be used to inform the capsule update logic which partition U-Boot is flashed to. Signed-off-by: Caleb Connolly <[email protected]> Link: https://lore.kernel.org/r/20250411-b4-qcom-capsule-update-improvements-v2-1-27f6b2fcc4a9@linaro.org Signed-off-by: Casey Connolly <[email protected]>
2025-06-24mach-snapdragon: Enhance android image handling memory footprintGeorge Chan
In order to unzipped kernel from androidboot img, extra memory for loadaddr is needed. So once fastboot is enabled fastboot memory also share with loadaddr. That can balance with memory constrain soc and android usecase. Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: George Chan <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2025-06-24mach-snapdragon: Enable workaround of ignoring androidboot addrGeorge Chan
Enable the workaround for whole snapdragon family. Suggested-by: Casey Connolly <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: George Chan <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2025-06-24dts: qcs615-ride-u-boot.dtsi: Add memory entry to bootupAswin Murugan
Added the memory entry to bootup. Signed-off-by: Aswin Murugan <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2025-06-24dts: qcs8300-ride-u-boot.dtsi: Add memory entry to bootupBalaji Selvanathan
Added the memory entry to bootup. Reviewed-by: Casey Connolly <[email protected]> Signed-off-by: Balaji Selvanathan <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2025-06-24mach-snapdragon: of_fixup: Drop USB dr_mode override for RB1/2Sumit Garg
The default DIP switch configuration on RB1/2 is to enable flashing support via USB type-c port either using QDL or fastboot. It's just cumbersome to get the host mode working in U-Boot via DIP switch toggle when you need the flashing capability using the type-c port. So instead lets enable fastboot in U-Boot for RB1/2 boards which is more useful in the default board DIP switch configuration. This let's us to drop dr_mode DT fixup. Signed-off-by: Sumit Garg <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2025-06-24sunxi: add support for the Allwinner A100/A133 SoCAndre Przywara
The Allwinner A100 SoC has been around for a while, mostly on cheap tablets, but didn't generate much interest in the community so far. There were some efforts by two Allwinner employees in 2020, which led to basic upstream Linux support for that SoC, although this momentum dried up pretty quickly, leaving a lot of peripherals unsupported. The A100 was silently replaced with the seemingly identical Allwinner A133, which is reportedly a better bin of the A100. So far we assume that both are compatible from a software perspective. There are some more devices with the A133 out there now, so people are working on filling the gaps, and adding U-Boot (and TF-A) support. Based on the just added pinctrl, clock and DRAM support, this adds the missing bits, mostly addresses and values for the SPL. The A133 seems to be an predecessor to the H6, so we can share a lot of code with that (and the H616 code), and just need to adjust some details. Signed-off-by: Andre Przywara <[email protected]>
2025-06-24sunxi: A133: add DRAM init codeCody Eksal
This adds preliminary support for the DRAM controller in the Allwinner A100/A133 SoCs. This is work in progress, and has rough edges, but works on at least three different boards. It contains support for DDR4 and LPDDR4. Signed-off-by: Cody Eksal <[email protected]> [Andre: formatting fixes, adapt to mainline, drop unused parameters, remove struct struct sunxi_mctl_com_reg, hardcode MR registers, switch to mctl_check_pattern(), remove simple DRAM check] Signed-off-by: Andre Przywara <[email protected]>
2025-06-23Merge tag 'v2025.07-rc5' into nextTom Rini
Prepare v2025.07-rc5 With this merge, tighten up the LTO_FLAGS removal we added to not trigger on ARMv7 (which is Thumb-2 and should be fine).
2025-06-23dts: ipq5424-rdp466-u-boot: add override dtsiVaradarajan Narayanan
Add initial support for the IPQ5424 MMC based RDP platforms. Define memory layout statically. Signed-off-by: Varadarajan Narayanan <[email protected]> Reviewed-by: Casey Connolly <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2025-06-20Merge patch series "Consistent Kconfig environment options CONFIG_ENV_ prefix"Tom Rini
Marek Vasut <[email protected]> says: Rename the environment related variables and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Link: https://lore.kernel.org/r/[email protected]
2025-06-20env: Rename SYS_MMC_ENV_PART to ENV_MMC_EMMC_HW_PARTITIONMarek Vasut
Rename the variable and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Use ENV_MMC_EMMC_HW_PARTITION to clarify this is the eMMC hardware partition selector, not a software partition table entry selector. Retain the ENV_MMC_ prefix to make it easier to search for all the SD/MMC related ENV options. Update the help text accordingly. Signed-off-by: Marek Vasut <[email protected]>
2025-06-20env: Rename SYS_MMC_ENV_DEV to ENV_MMC_DEVICE_INDEXMarek Vasut
Rename the variable and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Use ENV_MMC_DEVICE_INDEX to clarify this is the SD/MMC device index, a number, as enumerated by U-Boot. Update the help text accordingly. Signed-off-by: Marek Vasut <[email protected]>
2025-06-20env: Rename SYS_RELOC_GD_ENV_ADDR to ENV_RELOC_GD_ENV_ADDRMarek Vasut
Rename the variable and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Reviewed-by: Tom Rini <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-06-20Merge tag 'u-boot-at91-2025.10-a' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-at91 into next First set of u-boot-at91 features for the 2025.10 cycle: This feature set includes the addition of new sam9x7 SoC and a new board named sam9x7-curiosity. There is also new support for sam9x60 compatible at91 watchdog.
2025-06-19dtc: Add Kconfig option to pad device tree blobEric Schikschneit
This will allow arch(s) that use device tree blobs to pad the end of the device tree so they can be modified by board files at run time. This will help prevent errors such as FDT_ERR_NOSPACE from occurring. Signed-off-by: Eric Schikschneit <[email protected]> [trini: Change default order so that X86 && EFI_APP works correctly]
2025-06-19arm/airoha: reset_cpu() does not take any paramsMikhail Kshevetskiy
According to include/sysreset.h the reset_cpu() function does not take any args Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-06-19Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-sh ↵Tom Rini
into next - Assorted cleanups and R-Car Gen4 watchdog driver
2025-06-19board: sam9x75_curiosity: Add support for sam9x75 curiosityManikandan Muralidharan
Add board specific functions for sam9x75 curiosity Signed-off-by: Manikandan Muralidharan <[email protected]> Reviewed-by: Eugen Hristev <[email protected]>
2025-06-19ARM: dts: at91: sam9x75_curiosity: add tweaks for sam9x75 curiosity boardManikandan Muralidharan
Since the SoC and board DT are already available in dts/upstream, add the difference from upstream DTS to at91-sam9x75_curiosity-u-boot.dtsi Signed-off-by: Manikandan Muralidharan <[email protected]> Reviewed-by: Eugen Hristev <[email protected]>
2025-06-19ARM: at91: Add sam9x7 socVarshini Rajendran
Add new Microchip sam9x7 SoC based on an ARM926. Signed-off-by: Varshini Rajendran <[email protected]> Signed-off-by: Balamanikandan Gunasundar <[email protected]> Signed-off-by: Manikandan Muralidharan <[email protected]>
2025-06-19ARM: dts: at91: sam9x60-curiosity: Enable watchdog nodeZixun LI
Enable watchdog node on SAM9X60-Curiosity board. A default timeout of 16s is added which is the maximum supported value, also matching Linux driver's behavior. Signed-off-by: Zixun LI <[email protected]> Reviewed-by: Eugen Hristev <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2025-06-19ARM: dts: sam9x60: Add watchdog DT nodeZixun LI
Add the watchdog timer node for the sam9x60 SoC's. Signed-off-by: Zixun LI <[email protected]> Reviewed-by: Eugen Hristev <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2025-06-19watchdog: at91sam9_wdt: Add SAM9X60 supportZixun LI
SAM9X60 has a slightly different watchdog implementation: - Timer value moved into a new register WLR - Some MR register fields have their position changed This patch add SAM9X60 support, also adds a compatible for SAMA5D4 which is the same as existing SAM9260. Signed-off-by: Zixun LI <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2025-06-19arm: at91: wdt: Rename regval in priv data to mrZixun LI
Use the name "mr" since we are referring to timer mode register. Signed-off-by: Zixun LI <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2025-06-19arm: at91: wdt: Remove at91_wdt structZixun LI
at91_wdt struct is only used by spl, remove this reference and the struct itself. Signed-off-by: Zixun LI <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2025-06-18Merge patch series "Print version of the DM firmware"Tom Rini
Moteen Shah <[email protected]> says: This patch series adds the functionality to print the DM firmware version being used. Before requesting TISCI for the DM version we first check if the DM split mode capability exists, if yes, we proceed onto making the call to TISCI for retrieving the version information. DM split mode capability indicates that the DM is a separate binary altogether and has its own versioning information similar to TIFS. Boot Logs: https://gist.github.com/Jamm02/37864f605445944a0c0caf426e0aba50 Link: https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/general/core.html#tisci-msg-query-fw-caps Link: https://lore.kernel.org/r/[email protected]
2025-06-18Merge patch series "Add IPC support on MCU R5F cluster in Split Mode"Tom Rini
Beleswar Padhi <[email protected]> says: This series adds remoteproc support on MCU R5F in Split mode. During boot, ROM can bring up the boot R5F cores in either lockstep or split mode based on X509 certificate flags. If booted in lockstep mode, the MCU R5F cores will run first the R5 SPL, and then once A72 comes up, will run the Device Manager (DM) firmware. But if booted in split mode, core 0 will run DM firmware and second core sits in WFI. Shut it down so that other firmwares can later be loaded on them. The shutdown of MCU R5 Core 1 is invoked at A72 SPL init, as by that time Device Manager (DM) is up and running on R5 Core 0. The shutdown of MCU R5 Core 1 is handled by Device Manager itself. Test logs: https://gist.github.com/3V3RYONE/ee8e3cb9aa5f4c5c00b059b9c14bfa98 Link: https://lore.kernel.org/r/[email protected]
2025-06-18arm: mach-k3: Print version of DM firmware during boot processMoteen Shah
Print DM firmware's version in the boot up process of K3 devices, having DM capability(DM as a separate binary). Signed-off-by: Moteen Shah <[email protected]>
2025-06-18arm: mach-k3: Add a function for printing DM versionMoteen Shah
Add a function to print version of the DM firmware in use. The function queries the firmware capabilities first and if DM split mode bit is set, sends a request to TISCI for retrieving the version information. The DM split mode bit indicates that DM is a separate binary altogether and hence it will have its own versioning. Signed-off-by: Moteen Shah <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]>
2025-06-18arch: mach-k3: common: Add support to shutdown MCU R5 Core 1Beleswar Padhi
During boot, ROM can bring up the MCU R5F cores in either lockstep or split mode based on X509 certificate flags. If booted in split mode, core 0 will run DM firmware and second core sits in WFI. Add support to shut down core 1 so that other firmwares can later be loaded on them. The shutdown of MCU R5 Core 1 is invoked at A72 SPL init, as by that time Device Manager (DM) is up and running on R5 Core 0. The shutdown request of Core 1 is handled by Device Manager itself. Signed-off-by: Beleswar Padhi <[email protected]>
2025-06-18arm: mach-k3: {am6/j7}*_hardware.h: Expose MCU R5 proc and device idsBeleswar Padhi
Currently the MCU R5 processor ids and device ids are only defined for R5 SPL Stage. Expose these ids always so that A72 SPL can utilize this information to shutdown MCU R5 Core 1 when booted in Split mode. Signed-off-by: Beleswar Padhi <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]>
2025-06-18Merge patch series "list.h/treewide: get rid of no-op prefetch()"Tom Rini
Rasmus Villemoes <[email protected]> says: While looking through list.h, I saw that the regular list_* helpers (and one of the hlist_* ones) still contain the prefetch() that was removed in linux 14 years ago. It doesn't do anything, but makes the macros harder to read, so get rid of it, and the fallback, no-op definition that they relied on. That requires removing a few uses outside list.h as well. checkpatch warns about some whitespace issues in list.h, but as I've copied whole kerneldoc+#define blocks directly from the linux kernel, I think it's better to just accept that so that we don't introduce needless diffs. The "macro argument reuse" arguments should also be ignored, as e.g. the "member" arguments are obviously always just bare identifiers, and the "pos" arguments must be assigned to multiple times. Link: https://lore.kernel.org/r/[email protected]
2025-06-18mips: drop unused prefetch code and logicRasmus Villemoes
AFAICT, CONFIG_CPU_HAS_PREFETCH has never existed as a proper Kconfig symbol in U-Boot, nor has any board include file ever defined it. Signed-off-by: Rasmus Villemoes <[email protected]>
2025-06-18ARM: dts: renesas: Drop most of bootph-* tagsMarek Vasut
The bootph-* tags are now part of mainline Linux DTs as commits: f1a1268572cc ("ARM: dts: renesas: rcar-gen2: Add boot phase tags") 399f14ff6625 ("arm64: dts: renesas: rcar: Add boot phase tags") 624b2a23d46a ("arm64: dts: renesas: rzg2: Add boot phase tags") Drop local duplicates of the same tags, as well as duplicate property assignments which are part of the core DTs themselves. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Sumit Garg <[email protected]>
2025-06-17Merge tag 'u-boot-imx-next-20250617' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/26728 - Add support for imx28 BTT boards.
2025-06-16ARM: imx: mxs: Add support for imx287 based BTT devicesLukasz Majewski
The btt[c3] devices are based on imx287 SoC. U-Boot SPL 2025.04-01081-g07e086681d26 (Apr 16 2025 - 12:24:36 +0200) Trying to boot from MMC1 U-Boot 2025.04-01081-g07e086681d26 (Apr 16 2025 - 12:24:36 +0200) CPU: Freescale i.MX28 rev1.2 at 454 MHz BOOT: SSP SPI #3, master, 3V3 NOR Model: BTT3 Board: LWE BTT SoM HW rev 0 DRAM: 256 MiB Core: 86 devices, 15 uclasses, devicetree: separate MMC: MXS MMC: 0 Loading Environment from SPIFlash... SF: Detected is25lp128 with page size 256 Bytes, erase size 64 KiB, total 16 MiB OK In: serial@80074000 Out: serial@80074000 Err: serial@80074000 Net: eth0: ethernet@800f0000 Hit any key to stop autoboot: 0 Signed-off-by: Lukasz Majewski <[email protected]>
2025-06-16Merge tag 'u-boot-dfu-next-20250616' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dfu into next u-boot-dfu-next-20250616 CI: https://source.denx.de/u-boot/custodians/u-boot-dfu/-/pipelines/26704 Usb gadget: - Fix ti_musb driver in gadget mode (with DM_USB_GADGET) DFU: - mmc/scsi backends when using 10 or more partitions
2025-06-15arm: dts: rockchip: Fix eMMC write on RK3528Jonas Karlman
Writing to eMMC on RK3528 is affected with the same or a similar issue as on RK3588, where eMMC must init to HS200 at least once to fully work. Trying to write u-boot-rockchip.bin to eMMC fails with: => mmc write $fileaddr 40 5000 MMC write: dev # 0, block # 64, count 20480 ... mmc write failed 0 blocks written: ERROR For U-Boot to enable HS200 mode the mmc-hs200-1_8v prop must be defined in the device tree. Linux does not seem to be affected and is able to detect and use HS200 without this prop. Enable use of HS200 and fix eMMC write on RK3528 by adding the missing mmc-hs200-1_8v prop for affected boards: => mmc write $fileaddr 40 5000 MMC write: dev # 0, block # 64, count 20480 ... 20480 blocks written: OK Fixes: b112a44531cb ("board: rockchip: Add minimal generic RK3528 board") Fixes: ccbddf645310 ("board: rockchip: Add Radxa E20C") Signed-off-by: Jonas Karlman <[email protected]>
2025-06-14Merge patch series "linux/bitfield.h: sync <linux/bitfield.h> from Linux ↵Tom Rini
6.15 + winbond" Christian Marangi <[email protected]> says: This small series sync linux/bitfield.h from Linux 6.15 and fix all the compilation error due to a change in the header include. The sync is needed to make it easier to support the winbond changes. The changes are CI test with [1] [1] https://github.com/u-boot/u-boot/pull/777 Link: https://lore.kernel.org/r/[email protected]
2025-06-14arm: apple: rtkit: add missing header linux/bug.h and linux/bitops.hChristian Marangi
The GENMASK/GENMASK_ULL macro requires inclusion of linux/bitops.h header. It does currently work as bitfield.h includes it indirectly but this will change when bitfield.h will be synced with new Linux version. Also raw printf require linux/bug.h header (also currently included indirectly by bitfield.h) Explicitly include the headers to fix future compilation error. Signed-off-by: Christian Marangi <[email protected]>
2025-06-14Merge patch series "Hex value prefix case cleanup"Tom Rini
E Shattow <[email protected]> says: Make consistent use of lowercase hexadecimal prefix '0x' throughout U-Boot. There are a few remaining uses of uppercase 'X' to denote hexadecimal prefix or placeholder in documentation and error messages. External devicetree-rebasing dts/upstream and the generated code of xilinx/zynq are ignored for the series. Link: https://lore.kernel.org/r/[email protected]
2025-06-14arch: use lowercase hex prefix styleE Shattow
Use consistent lowercase hex prefix style in arch/* Signed-off-by: E Shattow <[email protected]>
2025-06-13Merge patch series "drop volatile from global data"Tom Rini
Rasmus Villemoes <[email protected]> says: There's really no reason for the gd pointer to have the volatile qualifier. In fact, I claim that it's completely unnecessary and just pessimizes code generation and forces ugly casts in lots of places. For example, see the casts in drivers/core/tag.c where elements are added to gd->dm_taglist, or a helper such as cyclic_get_list() that should not be needed. Also, it is what ends up standing in the way of an otherwise innocent code cleanup of list.h: https://lore.kernel.org/u-boot/20250522165656.GB2179216@bill-the-cat/ Note that riscv, x86 as well as arm64 with LTO enabled has not had this volatile qualifier, so it's unlikely there's any generic code that depends on it. Link: https://lore.kernel.org/r/[email protected]
2025-06-13riscv: remove volatile from set_gd prototypeRasmus Villemoes
It's slightly ironic that riscv at very first had the gd pointer volatile qualified [6020faf62c3 ("riscv: nx25: include: Add header files to support RISC-V")], removed that back in 2018 [40717eb849c ("riscv: checkpatch: Fix use of volatile")], and then in 2020 this helper was added [6b9966e1aa3 ("riscv: define function set_gd()")] which needlessly had volatile in the prototype. Signed-off-by: Rasmus Villemoes <[email protected]>
2025-06-13arm: remove volatile from set_gd prototypeRasmus Villemoes
The global gd pointer is no longer volatile-qualified. Callers of this helper function have been updated to no longer use volatile-qualifed temporary variables, so update the prototype accordingly. Signed-off-by: Rasmus Villemoes <[email protected]>
2025-06-13arm: imx: remove unnecessary volatile qualifiers from "save gd" variablesRasmus Villemoes
Now that the global gd pointer is no longer volatile-qualified, there's no reason for the temporary variables used for saving/restoring it to have that qualifier. Signed-off-by: Rasmus Villemoes <[email protected]> Tested-by: Anshul Dalal <[email protected]>
2025-06-13arc: drop volatile qualifier from gd pointerRasmus Villemoes
Signed-off-by: Rasmus Villemoes <[email protected]>
2025-06-13m68k: drop pointless #if 0 blockRasmus Villemoes
The way DECLARE_GLOBAL_DATA_PTR is used, the stuff under #if 0 can never compile as you cannot have a non-constant initializer at global scope (and one would get linker errors as well because the 'gd' symbol would be defined in multiple TUs). Signed-off-by: Rasmus Villemoes <[email protected]> Acked-by: Angelo Dureghello <[email protected]>