summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-01-25Merge branch 'master' of git://source.denx.de/u-boot-usbTom Rini
- XHCI DMA bugfix
2026-01-25arm64: dts: renesas: r8a779g3: Reinstate basic PCIe clock description for ↵Marek Vasut
Sparrow Hawk The 9FGV0441 PCIe clock generator can operate in autonomous mode, which is the default mode. U-Boot currently does not have a driver for this PCIe clock generator, but Linux 6.17 DT does describe the clock generator in Sparrow Hawk board DT and this DT is included in U-Boot since commit eea470fd7f6a ("Subtree merge tag 'v6.17-dts' of dts repo [1] into dts/upstream"). Reinstate basic PCIe clock description which matches the behavior of Linux DT before Linux 6.17.y release in in U-Boot DT extras to allow PCIe to be used on Sparrow Hawk board in U-Boot until the 9FGV0441 driver gets implemented or ported from Linux. Signed-off-by: Marek Vasut <[email protected]>
2026-01-25usb: xhci: fix DMA address corruption in abort_tdANANDHAKRISHNAN S
When aborting a Transfer Descriptor (TD), the xHCI driver updates the device dequeue pointer by converting the virtual enqueue TRB pointer into a DMA address. Previously, the code OR-ed the ring's Dequeue Cycle State (DCS) bit into the virtual TRB pointer before passing it to xhci_trb_virt_to_dma(). This produced an unaligned virtual address (e.g. ending in 0x...1). Inside xhci_trb_virt_to_dma(), the offset calculation: segment_offset = trb - seg->trbs; operated on this unaligned pointer, resulting in an incorrect TRB index. In wraparound cases, this caused the bounds check to fail and the function to return 0. As a result, a SET_DEQ_PTR command was issued with a DMA address of 0x0, leading to controller hangs and transfer timeouts, most commonly when aborting TDs near the end of a ring segment (e.g. index 63). Fix this by translating the aligned virtual TRB pointer to a DMA address first, and only then applying the DCS bit to the resulting physical address. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: ANANDHAKRISHNAN S <[email protected]>
2026-01-24scripts/dtc: Fix pkg-config behavior under sysrootGreg Malysa
When building with a toolchain that uses a modified sysroot (such as a Yocto-generated SDK) that does not include libyaml, on a host that does have libyaml, building dtc will fail with errors like: HOSTLD scripts/dtc/dtc /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: scripts/dtc/yamltree.o: in function `yaml_propval_int': yamltree.c:(.text+0x167): undefined reference to `yaml_sequence_start_event_initialize' /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: yamltree.c:(.text+0x172): undefined reference to `yaml_emitter_emit' /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: yamltree.c:(.text+0x1e8): undefined reference to `yaml_scalar_event_initialize' /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: yamltree.c:(.text+0x1f5): undefined reference to `yaml_emitter_emit' (... rest of errors truncated ...) This happens because the test looks for the file in the default path but uses pkg-config, which is affected by changing sysroot, to determine the correct linker arguments. This does not happen when building entirely within yocto, as pseudo will intercept and rewrite the file path when trying to test for /usr/include/yaml.h to match the sysroot and thus generate consistent behavior. This commit adds the PKG_CONFIG_SYSROOT_DIR prefix to the file path in order to test against the same conditions that are used to resolve the build flags for libyaml. In linux commit ef8795f3f1c ("dt-bindings: kbuild: Use DTB files for validation"), including yaml is disabled again anyway because of other problems that it causes, so this problem can also be addressed by partially backporting that commit instead and simply disabling the yaml support. Fixes: 0535e46d55d7 ("scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c") Signed-off-by: Greg Malysa <[email protected]>
2026-01-24video: add DejaVu Mono fontHeinrich Schuchardt
A TrueType font for U-Boot should fulfill the following requirements: * mono spaced * support full code page 437 * easily readable Unfortunately none of the fonts provided with U-Boot fulfills all of these requirements. Let's add the DejaVu Mono font. To reduce the code size the characters are limited to code page 437. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-01-23Merge patch series "sc5xx: Add complete board support for all ADI SC5xx boards"Tom Rini
Greg Malysa <[email protected]> says: This series adds the final pieces to enable mainline U-Boot to build and boot all Analog Devices SC5xx SoCs and supports the associated carrier board options. At this point it should be viable for new users for these platforms to start with the latest version of U-Boot rather than our vendor fork, however some features (such as OSPI support and falcon boot) remain unavailable until we are able to unify our implementations with the mainline implementations. Link: https://lore.kernel.org/r/[email protected] [trini: Rebuild CI containers to have new tools] Signed-off-by: Tom Rini <[email protected]>
2026-01-23MAINTAINERS: Update ADI entries for new boardsGreg Malysa
This adds missing maintainers entries for the ADI SC5xx defconfigs and for a device tree binding file that was previously missed. Signed-off-by: Greg Malysa <[email protected]>
2026-01-23board: adi: Add support for SC594Greg Malysa
This adds support for the Analog Devices SC594 SOM and configurations for using it with both the SOMCRR-EZKIT and SOMCRR-EZLITE. Signed-off-by: Vasileios Bimpikas <[email protected]> Signed-off-by: Utsav Agarwal <[email protected]> Signed-off-by: Arturs Artamonovs <[email protected]> Signed-off-by: Nathan Barrett-Morrison <[email protected]> Signed-off-by: Caleb Ethridge <[email protected]> Signed-off-by: Philip Molloy <[email protected]> Signed-off-by: Greg Malysa <[email protected]>
2026-01-23board: adi: Add support for SC598Greg Malysa
This adds support for the Analog Devices SC598-SOM and configurations for using it with both the SOMCRR-EZKIT and SOMCRR-EZLITE. This adds dtsis for both Rev D (including older revisions) and Rev E SOMs, which are not compatible due to BOM changes. Although no new Rev D SOMs are produced as of 2025, many are in circulation, so the RevD dtsi is included to facilitate use for existing customers. Signed-off-by: Vasileios Bimpikas <[email protected]> Signed-off-by: Utsav Agarwal <[email protected]> Signed-off-by: Arturs Artamonovs <[email protected]> Signed-off-by: Nathan Barrett-Morrison <[email protected]> Signed-off-by: Caleb Ethridge <[email protected]> Signed-off-by: Philip Molloy <[email protected]> Signed-off-by: Greg Malysa <[email protected]>
2026-01-23board: adi: Add support for SC584-ezkitGreg Malysa
This adds support for the Analog Devices SC584-EZKIT. Signed-off-by: Vasileios Bimpikas <[email protected]> Signed-off-by: Utsav Agarwal <[email protected]> Signed-off-by: Arturs Artamonovs <[email protected]> Signed-off-by: Nathan Barrett-Morrison <[email protected]> Signed-off-by: Caleb Ethridge <[email protected]> Signed-off-by: Greg Malysa <[email protected]>
2026-01-23board: adi: Add support for SC589 boardsGreg Malysa
This adds support for the Analog Devices SC589-EZKIT and SC589-mini. Signed-off-by: Vasileios Bimpikas <[email protected]> Signed-off-by: Utsav Agarwal <[email protected]> Signed-off-by: Arturs Artamonovs <[email protected]> Signed-off-by: Nathan Barrett-Morrison <[email protected]> Signed-off-by: Caleb Ethridge <[email protected]> Signed-off-by: Philip Molloy <[email protected]> Signed-off-by: Greg Malysa <[email protected]>
2026-01-23board: adi: Add support for SC573-ezkitGreg Malysa
This adds support for the Analog Devices SC573 EZKIT. Signed-off-by: Vasileios Bimpikas <[email protected]> Signed-off-by: Utsav Agarwal <[email protected]> Signed-off-by: Arturs Artamonovs <[email protected]> Signed-off-by: Nathan Barrett-Morrison <[email protected]> Signed-off-by: Caleb Ethridge <[email protected]> Signed-off-by: Philip Molloy <[email protected]> Signed-off-by: Greg Malysa <[email protected]>
2026-01-23board: adi: Add SOMCRR infrastructureGreg Malysa
This adds infrastructure and shared library code for building targets that use the ADI SOMCRR-EZKIT and SOMCRR-EZLITE carrier boards. These are not used directly as board targets in their own right. Co-developed-by: Nathan Barrett-Morrison <[email protected]> Signed-off-by: Nathan Barrett-Morrison <[email protected]> Signed-off-by: Vasileios Bimpikas <[email protected]> Signed-off-by: Utsav Agarwal <[email protected]> Signed-off-by: Arturs Artamonovs <[email protected]> Signed-off-by: Greg Malysa <[email protected]>
2026-01-23docker: add Analog Devices tools to docker imageGreg Malysa
The boot ROM on Analog Devices ADSP-SC5xx SoCs requires code packaged in the LDR format. Normally this is available as part of our yocto-derived toolchain but, it is not a part of any other pre-made toolchain anymore, so it is otherwise unavailable in the docker image for CI. This patch adds a source build from the ADI maintained github repository. In the future, a package available for install via apt will be available, but currently there is no arm64 build upstream, so we must build from source for the time being to support CI on both amd64 and arm64 runners. The same ldr tool is used for arm and arm64 for all of our boards with names adjusted to match the expected $(CROSS_COMPILE) for these boards. Signed-off-by: Greg Malysa <[email protected]>
2026-01-23mach-sc5xx: Add preliminary support for binmanUtsav Agarwal
Binman is optionally supported for Analog Devices sc5xx SoCs if Yocto is not being used to create and assemble system images. The spl LDR is generated locally but other artifacts such as kernel FIT image and root file system are built externally and must be supplied to binman if used. Binman is enabled by selecting the SC5XX_USE_BINMAN config symbol and the image structure is included in the shared sc5xx device tree. Signed-off-by: Greg Malysa <[email protected]> Signed-off-by: Utsav Agarwal <[email protected]>
2026-01-23mach-sc5xx: Kconfig: Make EZKIT and EZLITE carriers mutually exclusiveGreg Malysa
Support for the SOM-CRR variants introduces library level changes that are not modelled in the device tree. As a result they cannot both be selected at the same time, so this updates the dependency in Kconfig to prevent them from being enabled together. Reported-by: Philip Molloy <[email protected]> Signed-off-by: Greg Malysa <[email protected]>
2026-01-23mach-sc5xx: Rename SC_BOOT_MODEGreg Malysa
The symbol SC_BOOT_MODE was named incorrectly and inconsistently with its usage. The selected boot mode is set only by hardware and cannot be adjusted through software (apart from the use of FORCE_BMODE to instruct the boot rom to ignore the hardware setting when loading uboot proper, but this cannot change how SPL is loaded). This symbol actually controlled the BCODE (easily confused with BMODE, shorthand for boot mode), so this renames it to SC_BCODE and updates the help text to reflect its actual usage: the BCODE is an SoC- and boot mode-specific setting that affects how the boot rom configures QSPI or OSPI in order to read an LDR file from the associated peripheral. Reported-by: Philip Molloy <[email protected]> Signed-off-by: Greg Malysa <[email protected]>
2026-01-23mach-sc5xx: Introduce Kconfig symbols for image addressesUtsav Agarwal
Add Kconfig symbols to parameterize the SPI flash layout used in a default-ish configuration. This adds more flexibility to the default ADI environment, enabling customers with boards based on but not identical to an ezkit to reuse more of the infrastructure. Furthermore it allows for yocto (the expected default) or binman (to be introduced in this series) to configure or use the flash layout based on a single definition of all of the parameters when creating an image. Signed-off-by: Greg Malysa <[email protected]> Signed-off-by: Utsav Agarwal <[email protected]>
2026-01-22Merge tag 'mmc-for-2026.04-rc1-2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-mmc CI: https://source.denx.de/u-boot/custodians/u-boot-mmc/-/pipelines/29066 - mmc: Fix sdhci-cadence6 license - mmc: Fix sd_get_capabilities retry logic - mmc: use max-frequency from device tree - Clean up regulator and build fix
2026-01-22mmc: Fix retry logic in sd_get_capabilitiesYanir Levin
In sd_get_capabilities an ACMD is sent (SD_CMD_APP_SEND_SCR), which requires sending APP_CMD (MMC_CMD_APP_CMD) before. Currently, the ACMD is retried on error, however APP_CMD isn't. In this case, when the ACMD fails and it is tried again, the retry attempts will not be handled as ACMD, which is wrong. The fix performs the retry attempts on the sequence of APP_CMD and the ACMD together. Signed-off-by: Yanir Levin <[email protected]> Reviewed-by: Eran Moshe <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-01-22mmc: sdhci-cadence6: Fix the license to GPL-2.0+Hal Feng
The license of the file is not valid. Fix it to GPL-2.0+. Fixes: fe11aa0b8ca3 ("mmc: sdhci-cadence: Add support for Cadence sdmmc v6") Reported-by: Quentin Schulz <[email protected]> Reported-by: oliver Fendt <[email protected]> Closes: https://lore.kernel.org/all/CAFoF8fC4foffYJgYm9CkViET83gDu05noVRxLxgs+KWXN_-LBQ@mail.gmail.com/ Signed-off-by: Hal Feng <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Reviewed-by: Tanmay Kathpalia <[email protected]> Acked-by: Peng Fan <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-01-22mmc: mmc-uclass: Use max-frequency from device tree with driver default fallbackTanmay Kathpalia
Use dev_read_u32_default() instead of dev_read_u32() to read the "max-frequency" property from device tree. This preserves the driver-set cfg->f_max value when the optional "max-frequency" property is not present, ensuring the controller's default frequency is used as fallback rather than being overwritten. Suggested-by: Marek Vasut <[email protected]> Signed-off-by: Tanmay Kathpalia <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-01-22power: regulator: common: fix compilation issueJulien Stephan
If CONFIG_DM_GPIO is not enabled, compilation fails with the following errors: aarch64-none-linux-gnu-ld: drivers/power/regulator/regulator_common.o: in function `regulator_common_of_to_plat': <...>/u-boot/drivers/power/regulator/regulator_common.c:30: undefined reference to `gpio_request_by_name' aarch64-none-linux-gnu-ld: drivers/power/regulator/regulator_common.o: in function `regulator_common_get_enable': <...>/u-boot/drivers/power/regulator/regulator_common.c:57: undefined reference to `dm_gpio_get_value' aarch64-none-linux-gnu-ld: drivers/power/regulator/regulator_common.o: in function `regulator_common_set_enable': <...>/u-boot/drivers/power/regulator/regulator_common.c:92: undefined reference to `dm_gpio_set_value' make: *** [Makefile:2029: u-boot] Error 139 Since the enable gpio is optional we can conditionally skip these calls. Reviewed-by: Tanmay Kathpalia <[email protected]> Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Julien Stephan <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-01-22power: regulator: common: use dm_gpio_is_valid helperJulien Stephan
Use dm_gpio_is_valid() helper function instead of manually checking the gpio. Reviewed-by: Peng Fan <[email protected]> Reviewed-by: Tanmay Kathpalia <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Julien Stephan <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-01-22power: regulator: common: remove unnecessary debug traceJulien Stephan
Drop the ftrace like debug() that checkpatch --strict complains about: WARNING: Unnecessary ftrace-like logging - prefer using ftrace Reviewed-by: Peng Fan <[email protected]> Reviewed-by: Tanmay Kathpalia <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Julien Stephan <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-01-21pinctrl: mediatek: mt8365: add PUPD registersDavid Lechner
Add pull-up/pull-down (PUPD) register definitions for mt8365. Signed-off-by: David Lechner <[email protected]>
2026-01-21clk: mtk: use IS_ERR_VALUE() to check rate return valuesDavid Lechner
Replace casting with long to IS_ERR_VALUE() macro to check for error return values from rate calculation functions. This is the recommended way to check the return value from clock rate functions. Signed-off-by: David Lechner <[email protected]>
2026-01-21pinctrl: mediatek: fix failing to get sysconDavid Lechner
Replace uclass_get_device_by_ofnode() with syscon_regmap_lookup_by_phandle() to get the "mediatek,pctl-regmap" syscon device. Depending on probe order, uclass_get_device_by_ofnode() may fail, but syscon_regmap_lookup_by_phandle() has logic in it to handle that case correctly. The previous implementation could read more than one syscon if the "mediatek,pctl-regmap" property had more than one phandle, but the one board with a devicetree that does that is not supported in U-Boot yet, so we can save that for later (it may never be needed). Fixes: 424ceba18bfb ("pinctrl: mediatek: support mediatek,pctl-regmap property") Signed-off-by: David Lechner <[email protected]>
2026-01-21clk: mediatek: fix mux clocks with mapped parent IDsDavid Lechner
Pass the unmapped parent ID when setting parent for mux clocks. For technical reasons, some Mediatek clock driver have a mapping between the clock IDs used in the devicetree and ID used in the generic clock framework. The mtk_clk_mux_set_parent() function is comparing the passed mapped parent ID against the unmapped IDs in the chip-specific data structures. Before this change, we were passing the mapped parent ID. When there is a mapping, this resulted in buggy behavior (usually just incorrectly failing to find a match and returning an error). We need to pass the unmapped ID of the parent clock instead for the matching to work correctly. Since the reverse lookup is a bit verbose, a helper function is added to keep the code clean. Fixes: b1358915728b ("clk: mediatek: add of_xlate ops") Signed-off-by: David Lechner <[email protected]>
2026-01-21cmd/Kconfig: fix typo in CMD_PINMUX descriptionDavid Lechner
Fix typo with correct spelling of "purposes". Also change "debug" to "debugging" while touching this since that is the more common phrasing. Reviewed-by: Quentin Schulz <[email protected]> Signed-off-by: David Lechner <[email protected]>
2026-01-21pinctrl: mediatek: ignored error return from pupd/r1/r0David Lechner
Ignore the error return value from mtk_pinconf_bias_set_pupd_r1_r0(). The PUPD/R1/R0 registers only include a small subset of the pins, so it is normal for this function to return an error for most pins. Therefore, this error should not be propagated. This fixes not all pins in a pinmux group being configured in some cases because the propagated error caused the configuration loop to exit early. The rest of the function is refactored to return early on errors to improve readability. Signed-off-by: David Lechner <[email protected]>
2026-01-21pinctrl: mediatek: set array size for reg_calsDavid Lechner
Set the size of the reg_cals arrays to PINCTRL_PIN_REG_MAX to in all affected mediatek pinctrl drivers. This is needed to avoid potential out-of-bounds accesses when they is used in mtk_hw_pin_field_get(). All array members need to be initialized since the code loops from 0 to PINCTRL_PIN_REG_MAX - 1. mt7622_reg_cals was already defined this way, but the others were not. Signed-off-by: David Lechner <[email protected]>
2026-01-21Merge patch series "clk: clk-uclass: debug message improvements"Tom Rini
David Lechner <[email protected]> says: I needed to debug some clock issues and found some places where pointer addresses were being printed when names were available. The addresses are not very helpful, but the names are. So here a couple of patches to improve that. Link: https://lore.kernel.org/r/[email protected]
2026-01-21clk: clk-uclass: used dev name in debug messageDavid Lechner
Consistently use the device name in debug messages. The clk-uclass file previously had a mix of printing the dev pointer and the device name. Changing all to use the device name makes the debug messages more useful. Signed-off-by: David Lechner <[email protected]>
2026-01-21clk: clk-uclass: fix format specifier for ofnode nameDavid Lechner
Change the format specifier from %p to %s when printing the ofnode name so that the actual name is printed instead of the pointer address. Signed-off-by: David Lechner <[email protected]>
2026-01-21arm: Remove remainder of ARCH_ORION5XTom Rini
With commit 5663b137e682 ("arm: Remove edminiv2 board") the last ARCH_ORION5X platform was removed. Remove the rest of the architecture code which is now unused. Reviewed-by: Tony Dinh <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2026-01-21board: phytec: Add PHYTEC mailing list to MAINTAINERS entriesWadim Egorov
PHYTEC maintains an actively monitored mailing list for upstream activities: [email protected]. Add it to the MAINTAINERS entries for PHYTEC boards we actively develop and contribute to. Signed-off-by: Wadim Egorov <[email protected]> Acked-by: Teresa Remmet <[email protected]>
2026-01-21Merge patch series "configs: phycore_am6xx_a53_defconfig: Enable CMD_DDR4"Tom Rini
This series from Wadim Egorov <[email protected]> performs some improvements to some of the phycore am6xx series devices. Link: https://lore.kernel.org/r/[email protected]
2026-01-21configs: phycore_am62ax_r5_ethboot_defconfig: Drop NET_RANDOM_ETHADDRDaniel Schultz
BOOTP does not support dynamic lease expiration. Using random MAC addresses on R5 network boot binaries would result in continuously allocated IPs without proper release. Since only one interface is enabled for network boot, rely on the MAC address provided by the efuses instead. Signed-off-by: Daniel Schultz <[email protected]> Signed-off-by: Wadim Egorov <[email protected]>
2026-01-21configs: phycore_am62x_r5_ethboot_defconfig: Drop NET_RANDOM_ETHADDRDaniel Schultz
BOOTP does not support dynamic lease expiration. Using random MAC addresses on R5 network boot binaries would result in continuously allocated IPs without proper release. Since only one interface is enabled for network boot, rely on the MAC address provided by the efuses instead. Signed-off-by: Daniel Schultz <[email protected]> Signed-off-by: Wadim Egorov <[email protected]>
2026-01-21configs: phycore_am6xx_a53_defconfig: Enable CMD_DDR4Wadim Egorov
Enable command for verifying DDRSS inline ECC features. Signed-off-by: Wadim Egorov <[email protected]>
2026-01-20Merge patch series "Update linker scripts to ensure appended device tree is ↵Tom Rini
correctly aligned" Tom Rini <[email protected]> says: This series builds on top of what Beleswar Padhi did in [1]. While there's still discussion about the mkimage related parts, the linker portion appears to the reliable path forward. An alternative that I had mentioned before, and was part of previous discussions on this topic[2] is in the end I believe not reliable enough. While we can take an output file and pad it to where we think it needs to be, ultimately the linker needs to place the symbol where we want it and if that isn't where we pad to, we have a different problem. So what this series does (but each commit message elaborates on the arch-specific linker scripts being inconsistent) is make sure the linker script will place the required symbol at 8-byte alignment, and then also use an ASSERT to fail the build if this would not be true due to some unforseen event. [1]: https://lore.kernel.org/u-boot/[email protected]/ [2]: https://source.denx.de/u-boot/u-boot/-/issues/30 Link: https://lore.kernel.org/r/[email protected]
2026-01-20x86: Update linker scripts to ensure appended device tree is alignedTom Rini
With commit 0535e46d55d7 ("scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c") it is now a fatal error to U-Boot if our device tree is not 8-byte aligned. In commit 85f586035d75 ("ARM: OMAP2+: Pad SPL binary to 8-byte alignment before DTB") Beleswar Padhi explains that we must have ALIGN(x) statements inside of a section to ensure that padding is included and not simply that the linker address counter is incremented. To that end, this patch: - Rewrite the '.rel.dyn' (u-boot.lds) to follow modern practices, and include the 8-byte alignment at the end of the section. - Expands the '.dynamic' section (u-boot-64.lds) to be more readable when adding a second statement to the section. - Aligns the final section before _end (for U-Boot) or _image_binary_end or __bss_end (for xPL phases) by 8-bytes by adding '. = ALIGN(8);' to the final section before the symbol or changing an existing ALIGN(4) statement. - Ensure that we do have alignment by adding an ASSERT so that when not aligned we fail to link (and explain why). Signed-off-by: Tom Rini <[email protected]>
2026-01-20sandbox: Update linker scripts to ensure appended device tree is alignedTom Rini
With commit 0535e46d55d7 ("scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c") it is now a fatal error to U-Boot if our device tree is not 8-byte aligned. In commit 85f586035d75 ("ARM: OMAP2+: Pad SPL binary to 8-byte alignment before DTB") Beleswar Padhi explains that we must have ALIGN(x) statements inside of a section to ensure that padding is included and not simply that the linker address counter is incremented. To that end, this patch: - Aligns the final section before _image_binary_end (for xPL phases) by 8-bytes by adding '. = ALIGN(8);' to the final section before the symbol. - Ensure that we do have alignment by adding an ASSERT so that when not aligned we fail to link (and explain why). Signed-off-by: Tom Rini <[email protected]>
2026-01-20riscv: Update linker scripts to ensure appended device tree is alignedTom Rini
With commit 0535e46d55d7 ("scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c") it is now a fatal error to U-Boot if our device tree is not 8-byte aligned. In commit 85f586035d75 ("ARM: OMAP2+: Pad SPL binary to 8-byte alignment before DTB") Beleswar Padhi explains that we must have ALIGN(x) statements inside of a section to ensure that padding is included and not simply that the linker address counter is incremented. To that end, this patch: - Aligns the final section before _end (for U-Boot) or _image_binary_end (for xPL phases) by 8-bytes by adding '. = ALIGN(8);' to the final section before the symbol. - Remove a now-spurious '. = ALIGN(x);' statement that was intended to provide the above alignments. - Ensure that we do have alignment by adding an ASSERT so that when not aligned we fail to link (and explain why). Reviewed-by: Leo Yu-Chi Liang <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2026-01-20powerpc: Update linker scripts to ensure appended device tree is alignedTom Rini
With commit 0535e46d55d7 ("scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c") it is now a fatal error to U-Boot if our device tree is not 8-byte aligned. In commit 85f586035d75 ("ARM: OMAP2+: Pad SPL binary to 8-byte alignment before DTB") Beleswar Padhi explains that we must have ALIGN(x) statements inside of a section to ensure that padding is included and not simply that the linker address counter is incremented. To that end, this patch: - Aligns the final section before _end by 8-bytes by adding '. = ALIGN(8);' or changing an existing ALIGN(4) statement. - Ensure that we do have alignment by adding an ASSERT so that when not aligned we fail to link (and explain why). Signed-off-by: Tom Rini <[email protected]>
2026-01-20nios2: Update linker scripts to ensure appended device tree is alignedTom Rini
With commit 0535e46d55d7 ("scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c") it is now a fatal error to U-Boot if our device tree is not 8-byte aligned. In commit 85f586035d75 ("ARM: OMAP2+: Pad SPL binary to 8-byte alignment before DTB") Beleswar Padhi explains that we must have ALIGN(x) statements inside of a section to ensure that padding is included and not simply that the linker address counter is incremented. To that end, this patch: - Aligns the final section before _end 8-bytes by adding '. = ALIGN(8);' to the final section before the symbol. - Remove a now-spurious '. = ALIGN(x);' statement that was intended to provide the above alignments. - Ensure that we do have alignment by adding an ASSERT so that when not aligned we fail to link (and explain why). Acked-by: Ilias Apalodimas <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2026-01-20mips: Update linker scripts to ensure appended device tree is alignedTom Rini
With commit 0535e46d55d7 ("scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c") it is now a fatal error to U-Boot if our device tree is not 8-byte aligned. In commit 85f586035d75 ("ARM: OMAP2+: Pad SPL binary to 8-byte alignment before DTB") Beleswar Padhi explains that we must have ALIGN(x) statements inside of a section to ensure that padding is included and not simply that the linker address counter is incremented. To that end, this patch: - Aligns the final section before _end (for U-Boot) or _image_binary_end (for xPL phases) by 8-bytes by adding '. = ALIGN(8);' to the final section before the symbol. For SPL we need this in two places to cover all build configurations. - Remove now-spurious '. = ALIGN(x);' statements that were intended to provide the above alignments. - Ensure that we do have alignment by adding an ASSERT so that when not aligned we fail to link (and explain why). Reviewed-by: Daniel Schwierzeck <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2026-01-20microblaze: Update linker scripts to ensure appended device tree is alignedTom Rini
With commit 0535e46d55d7 ("scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c") it is now a fatal error to U-Boot if our device tree is not 8-byte aligned. In commit 85f586035d75 ("ARM: OMAP2+: Pad SPL binary to 8-byte alignment before DTB") Beleswar Padhi explains that we must have ALIGN(x) statements inside of a section to ensure that padding is included and not simply that the linker address counter is incremented. To that end, this patch: - Aligns the final section before _end (for U-Boot) or _image_binary_end (for xPL phases) by 8-bytes by adjusting the ALIGN(4) statement to be ALIGN(8) in the final section before the symbol. - Ensure that we do have alignment by adding an ASSERT so that when not aligned we fail to link (and explain why). Tested-by: Michal Simek <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2026-01-20m68k: Update linker scripts to ensure appended device tree is alignedTom Rini
With commit 0535e46d55d7 ("scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c") it is now a fatal error to U-Boot if our device tree is not 8-byte aligned. In commit 85f586035d75 ("ARM: OMAP2+: Pad SPL binary to 8-byte alignment before DTB") Beleswar Padhi explains that we must have ALIGN(x) statements inside of a section to ensure that padding is included and not simply that the linker address counter is incremented. To that end, this patch: - Remove part of what Marek Vasut did in commit 9ed99e2eeadb ("m68k: Assure end of U-Boot is at 8-byte aligned offset") as we now better understand what can trigger failure and check for it. - Rewrite the '.dynsym' section to follow modern practices, and include the 8-byte alignment at the end of the section. - Ensure that we do have alignment by adding an ASSERT so that when not aligned we fail to link (and explain why). Signed-off-by: Tom Rini <[email protected]>