summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
3 daystreewide: change email links from mailman to patch.msgid.link with message-idNeil Armstrong
In preparation of the migration of the mailman mailing-list currently hosted on the denx.de infrastructure, migrate the links in the code, comments and documentation to https://patch.msgid.link to be future proof and always link to the expected content data and uses the message-id in the URL which will help find the appropriate e-mail in the future. Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
10 daysimx9: scmi: use 48-bit MAC add instead of incrementing mac[5]Alice Guo
Replace mac[5] += offset with a proper 48-bit MAC address add to avoid overflow issues when mac[5] was close to 255. Example: i.MX95 MAC2: 00:11:22:33:44:FE + 6 Old: 00:11:22:33:44:04 (overflow, wraps to 0) New: 00:11:22:33:45:04 (correct carry from mac[5] to mac[4]) Signed-off-by: Alice Guo <alice.guo@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
10 daysimx9: scmi: Correct shutdown checkingPeng Fan
The shutdown checking should use shutdown flags, not bootflags. Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
10 daysimx9: scmi: Fix SPL trampoline buffer for 1GB DDRYe Li
After supporting get DRAM size from SM, the trampoline buffer address still depends on PHYS_SDRAM_SIZE. If the real DDR size is less than PHYS_SDRAM_SIZE, the trampoline buffer address is invalid and SPL will crash. So use board_phys_sdram_size to get real DDR size to calculate correct address. Fixes: e1cc7117b630 ("imx9: scmi: Get DDR size through SM SCMI API") Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Tested-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
13 daysarm: mediatek: mt8512: fix gd->bd->bi_dram[0].sizeDavid Lechner
Use board_get_usable_ram_top() instead of get_effective_memsize() to limit gd->ram_top. Both board_get_usable_ram_top() and get_effective_memsize() are used to set gd->ram_top in setup_dest_addr(). However, get_effective_memsize() also sets gd->bd->bi_dram[0].size in dram_init_banksize(), which is undesirable. Prior to commit b9e6281632a8 ("arm: mediatek: mt8512: drop dram_init_banksize()"), gd->bd->bi_dram[0].size was overridden in a board-specific dram_init_banksize() implementation. We can just use board_get_usable_ram_top() now to set gd->ram_top to the correct value instead. Overriding gd->bd->bi_dram[0].size was a bit confusing since it isn't easily apparent which order the functions that set it are called. Fixes: b9e6281632a8 ("arm: mediatek: mt8512: drop dram_init_banksize()") Link: https://patch.msgid.link/20260615-mtk-fix-ram-size-v2-8-f72cfc52ce58@baylibre.com Signed-off-by: David Lechner <dlechner@baylibre.com>
13 daysarm: mediatek: mt8195: fix gd->bd->bi_dram[0].sizeDavid Lechner
Use board_get_usable_ram_top() instead of get_effective_memsize() to set gd->ram_top to something <= 4GiB. Both board_get_usable_ram_top() and get_effective_memsize() are used to set gd->ram_top in setup_dest_addr(). However, get_effective_memsize() also sets gd->bd->bi_dram[0].size in dram_init_banksize(), which is undesirable. Prior to commit d83bd9729d75 ("arm: mediatek: mt8195: drop dram_init_banksize()"), gd->bd->bi_dram[0].size was overridden in a board-specific dram_init_banksize() implementation. When that was removed get_effective_memsize() set gd->bd->bi_dram[0].size to the wrong value because of get_effective_memsize() being overridden in commit af4cba9a05aa ("arm: mediatek: mt8195: fix gd->ram_top limit") We can just use board_get_usable_ram_top() now to set gd->ram_top to the correct value instead. This is possible now, thanks to LMB_LIMIT_DMA_BELOW_RAM_TOP being set by default for 64-bit Mediatek ARM SoCs. Fixes: d83bd9729d75 ("arm: mediatek: mt8195: drop dram_init_banksize()") Link: https://patch.msgid.link/20260615-mtk-fix-ram-size-v2-7-f72cfc52ce58@baylibre.com Signed-off-by: David Lechner <dlechner@baylibre.com>
13 daysarm: mediatek: mt8189: fix gd->bd->bi_dram[0].sizeDavid Lechner
Use board_get_usable_ram_top() instead of get_effective_memsize() to set gd->ram_top to something <= 4GiB. Both board_get_usable_ram_top() and get_effective_memsize() are used to set gd->ram_top in setup_dest_addr(). However, get_effective_memsize() also sets gd->bd->bi_dram[0].size in dram_init_banksize(), which is undesirable. We can just use board_get_usable_ram_top() now to set gd->ram_top to the correct value instead. This is possible now, thanks to LMB_LIMIT_DMA_BELOW_RAM_TOP being set by default for 64-bit Mediatek ARM SoCs. Fixes: a7c682565b4b ("arm: mediatek: add support of MT8189 SoC family") Link: https://patch.msgid.link/20260615-mtk-fix-ram-size-v2-6-f72cfc52ce58@baylibre.com Signed-off-by: David Lechner <dlechner@baylibre.com>
13 daysarm: mediatek: mt8188: fix gd->bd->bi_dram[0].sizeDavid Lechner
Use board_get_usable_ram_top() instead of get_effective_memsize() to set gd->ram_top to something <= 4GiB. Both board_get_usable_ram_top() and get_effective_memsize() are used to set gd->ram_top in setup_dest_addr(). However, get_effective_memsize() also sets gd->bd->bi_dram[0].size in dram_init_banksize(), which is undesirable. Prior to commit b3467e51e92b ("arm: mediatek: mt8188: drop dram_init_banksize()"), gd->bd->bi_dram[0].size was overridden in a board-specific dram_init_banksize() implementation. When that was removed get_effective_memsize() set gd->bd->bi_dram[0].size to the wrong value because of get_effective_memsize() being overridden in commit 7518e10cd235 ("arm: mediatek: mt8188: fix gd->ram_top limit"). We can just use board_get_usable_ram_top() now to set gd->ram_top to the correct value instead. This is possible now, thanks to LMB_LIMIT_DMA_BELOW_RAM_TOP being set by default for 64-bit Mediatek ARM SoCs. Fixes: b3467e51e92b ("arm: mediatek: mt8188: drop dram_init_banksize()") Link: https://patch.msgid.link/20260615-mtk-fix-ram-size-v2-5-f72cfc52ce58@baylibre.com Signed-off-by: David Lechner <dlechner@baylibre.com>
13 daysarm: mediatek: mt7988: fix gd->bd->bi_dram[0].sizeDavid Lechner
Use board_get_usable_ram_top() instead of get_effective_memsize() to set gd->ram_top to something <= 4GiB. Both board_get_usable_ram_top() and get_effective_memsize() are used to set gd->ram_top in setup_dest_addr(). However, get_effective_memsize() also sets gd->bd->bi_dram[0].size in dram_init_banksize(), which is undesirable. Prior to commit bddd6bbef3dc ("arm: mediatek: mt7988: drop dram_init_banksize()"), gd->bd->bi_dram[0].size was overridden in a board-specific dram_init_banksize() implementation. When that was removed get_effective_memsize() set gd->bd->bi_dram[0].size to the wrong value because of CFG_MAX_MEM_MAPPED. Rather than continue to use an old-style CFG_ option and the potentially confusing overriding of gd->bd->bi_dram[0].size (it is difficult to see which order the functions that set it are called), we can just use board_get_usable_ram_top() to set gd->ram_top to the correct value instead. This is possible now, thanks to LMB_LIMIT_DMA_BELOW_RAM_TOP being set by default for 64-bit Mediatek ARM SoCs. The CFG_MAX_MEM_MAPPED option is removed since it is no longer needed. The config header and Kconfig option are also removed since that was the last CFG_ option. Reported-by: Rudy Andram <rmandrad@gmail.com> Closes: https://lore.kernel.org/u-boot/20260602162233.2418471-1-rmandrad@gmail.com/ Fixes: bddd6bbef3dc ("arm: mediatek: mt7988: drop dram_init_banksize()") Link: https://patch.msgid.link/20260615-mtk-fix-ram-size-v2-4-f72cfc52ce58@baylibre.com Signed-off-by: David Lechner <dlechner@baylibre.com>
13 daysarm: mediatek: mt7987: fix gd->bd->bi_dram[0].sizeDavid Lechner
Use board_get_usable_ram_top() instead of get_effective_memsize() to set gd->ram_top to something <= 4GiB. Both board_get_usable_ram_top() and get_effective_memsize() are used to set gd->ram_top in setup_dest_addr(). However, get_effective_memsize() also sets gd->bd->bi_dram[0].size in dram_init_banksize(), which is undesirable. Prior to commit 56183fb025c2 ("arm: mediatek: mt7987: drop dram_init_banksize()"), gd->bd->bi_dram[0].size was overridden in a board-specific dram_init_banksize() implementation. When that was removed get_effective_memsize() set gd->bd->bi_dram[0].size to the wrong value because of CFG_MAX_MEM_MAPPED. Rather than continue to use an old-style CFG_ option and the potentially confusing overriding of gd->bd->bi_dram[0].size (it is difficult to see which order the functions that set it are called), we can just use board_get_usable_ram_top() to set gd->ram_top to the correct value instead. This is possible now, thanks to LMB_LIMIT_DMA_BELOW_RAM_TOP being set by default for 64-bit Mediatek ARM SoCs. On mt7987, there is already an implementation of board_get_usable_ram_top() for other reasons, so it is modified to also limit ram_top to 4GiB (mt7987 is currently the only thing that sets CONFIG_MTK_TZ_MOVABLE=y so it is safe to change this here without unintentional side-effects). The CFG_MAX_MEM_MAPPED option is removed since it is no longer needed. The config header and Kconfig option are also removed since that was the last CFG_ option. Fixes: 56183fb025c2 ("arm: mediatek: mt7987: drop dram_init_banksize()") Link: https://patch.msgid.link/20260615-mtk-fix-ram-size-v2-3-f72cfc52ce58@baylibre.com Signed-off-by: David Lechner <dlechner@baylibre.com>
13 daysarm: aspeed: Fix AST2600 SPL external DTB alignmentQuentin Strydom
For AST2600 SPL with CONFIG_SPL_SEPARATE_BSS=y and CONFIG_OF_SEPARATE=y, fdt_find_separate() expects the appended control DTB at _image_binary_end. The AST2600 SPL linker script aligned _image_binary_end via the .binman_sym_table section. In builds where that section has no emitted contents, objcopy -O binary does not include the alignment bytes in spl/u-boot-spl-nodtb.bin. This causes the nodtb binary to end before _image_binary_end, so the appended DTB is placed too early. On evb-ast2600 this produced: sizeof(spl/u-boot-spl-nodtb.bin) = 0xc92c _image_binary_end = 0xc930 SPL then looked four bytes past the FDT header and failed with: Missing DTB No serial driver found Move the 8-byte alignment into the preceding emitted __u_boot_list section so the objcopy output and _image_binary_end agree. Signed-off-by: Quentin Strydom <qstrydom0@gmail.com>
2026-06-16arm: dts: renesas: Enable DBSC5 on R-Car R8A78000 X5H Cortex-M33 RSIP portMarek Vasut
Bind the DBSC5 DRAM controller driver on boot in board_early_init_r(), which brings up the DBSC5 DRAM controller and its PHY and which enables access to DRAM present on this system. Add default boot command which loads additional bootloader components from HF and UFS storage into SRAM and DRAM, and starts those components on SCP and AP core 0. The system is then capable of reaching U-Boot on the AP core 0. Specifically, the following components are loaded: - SCP firmware, 384 kiB from HF offset 0x4c0000 to SCP STCM - TFA BL31, 256 kiB from UFS0 offset 0x5000 * 4 kiB sectors to DRAM 0x8c200000 - TEE, 2 MiB from UFS0 offset 0x5200 * 4 kiB sectors to DRAM 0x8c400000 - U-Boot, 1 MiB from UFS0 offset 0x7200 * 4 kiB sectors to DRAM 0x8c300000 - IPL parameters table is generated at DRAM address 0x8c100000 Enable pstore command support to allow dumping kernel console from pstore/ramoops, which is convenient for debugging. Use as follows: => pstore set 0x80000000 0x10000 0x400 0x8000 0 0 0 => pstore display console Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-06-15Merge patch series "Repair boards broken by the 6.1 kbuild bump"Tom Rini
Simon Glass <sjg@chromium.org> says: Commit bd3f9ee679b4 added FORCE to several if_changed rules whose recipes expand $^, so FORCE leaks in as a stray argument and the command fails. Use $< to restore the Edison and i.MX23/28 images. Link: https://lore.kernel.org/r/20260613130519.1516808-1-sjg@chromium.org
2026-06-15arm: mxs: Avoid passing FORCE to commandsSimon Glass
Commit bd3f9ee679b4 ("kbuild: Bump the build system to 6.1") adds FORCE as a prerequisite to the if_changed rules here, but the commands use $^ so FORCE leaks in as a stray operand. The dd in cmd_mkalign_mxs fails (silently, since its stderr is discarded) and the binary is never aligned, stat in cmd_mkivt_mxs emits an error and cst receives a bogus argument. Use $< and $(real-prereqs) instead, which exclude FORCE. Fixes: bd3f9ee679b4 ("kbuild: Bump the build system to 6.1") Signed-off-by: Simon Glass <sjg@chromium.org>
2026-06-14arm64: renesas: Initialize GIC600 fully on R-Car S4/V4H/V4MMarek Vasut
ARM GIC-600 IP complies with ARM GICv3 architecture, but among others, implements a power control register in the Redistributor frame. This register must be programmed to mark the frame as powered on, before accessing other registers in the frame. Before the switch to generic lowlevel_init function, this did not pose a problem as the previous custom lowlevel_init did not access the GICR registers. The generic function does and that does lead to a hang early in SPL. Enable the GIC600 initialization variant to mitigate the hang. Fixes: 37997a214ed1 ("arm: renesas: Use stock lowlevel_init function and remove s_init") Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-06-13arm: renesas: Make R-Car Gen5 u-boot-elf.shdr compatible with SDK flash_writerMarek Vasut
The SDK 4.32 flash_writer tool, built from the SDK IPL source, requires SREC S7 "Start address (termination)" record [1] at the end of the SREC file that is sent to it during installation of content into storage, otherwise the tool waits for the S7 record indefinitelly and the payload does not get installed into storage. Specifically, the tool considers SREC S3 and S7 records as mandatory, S0, S5, S6 as ignored, and any other records as unsupported. Configure srec_cat such that it explicitly generates the trailing S7 record, and also that it never generates the ignored S5 Count record. This fixes installation of u-boot-elf.shdr using the flash_writer tool, which can not finish successfully without the trailing S7 record. [1] https://en.wikipedia.org/wiki/Motorola_S-record#Record_types Fixes: 3b2ce3743c1a ("arm: renesas: Generate u-boot-elf.shdr for R-Car Gen5 RSIP") Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-06-10Merge tag 'u-boot-rockchip-20260610' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-rockchip CI: https://source.denx.de/u-boot/custodians/u-boot-rockchip/-/pipelines/30398 Please pull the updates for rockchip platform: - New Board support: rk3588 FriendlyElec NanoPi R76S - UFS boot from SPL for rk3576 (NanoPi M5, ROCK 4D) - Clock support for RK3576 GMAC 25MHz output and RK3528/RK3576 USB3 OTG - Switch rk3128/rk3229 boards to upstream devicetree - MAINTAINERS update for upstream devicetree references - rk3588-rock-5b: Remove USB-C controller from u-boot.dtsi
2026-06-10Merge branch 'qcom-main' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-snapdragon CI: https://source.denx.de/u-boot/custodians/u-boot-snapdragon/-/pipelines/30394 - Define memory map for lemans-evk (pending SMEM) - Fix CONFIG_SYS_INIT_SP_BSS_OFFSET in db410c chainloaded fragment - Fix the "dump bootargs" command in the qcom-phone boot menu - Fix a bug in the rpmh-regulator driver where the regulator mode may not be set during enable. - Enable watchdog autostart for Dragonwing boards - Fix serial console init on ipq5424-rdp466
2026-06-10arm: dts: ipq5424-rdp466: add chosen node for serial consoleGurumoorthy Santhakumar
Add a /chosen node with stdout-path pointing to serial0 (uart1) to enable the DT-driven console discovery path in serial_find_console_or_panic(). Without this node, the live DT path in serial_find_console_or_panic() is skipped and the fallback path is used. Adding the /chosen node makes the console selection explicit and deterministic, ensuring the correct serial device is always selected as the console. Signed-off-by: Gurumoorthy Santhakumar <gurumoorthy.santhakumar@oss.qualcomm.com> Link: https://patch.msgid.link/20260603113853.3396271-1-gurumoorthy.santhakumar@oss.qualcomm.com Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
2026-06-10dts: lemans-evk-u-boot: add override dtsiAswin Murugan
Add initial support for the lemans EVK platform based on lemans SoC. Define memory layout statically. Signed-off-by: Aswin Murugan <aswin.murugan@oss.qualcomm.com> Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com> Link: https://patch.msgid.link/20260424104237.968195-1-sumit.garg@kernel.org Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
2026-06-09Merge patch series "ti: j7: Update to v0.12.0 of DDR config tool"Tom Rini
Neha Malcom Francis <n-francis@ti.com> says: Update all DDR configuration DTSIs to the latest auto-generated output of the Sysconfig Tool (DDR Configuration for TDA4x, DRA8x, AM67x, AM68x, AM69x (0.12.00.0000)) [0] The auto-generated files must not be modified, but effort will be taken to change the tool output to adhere to the latest checkpatch.pl rules. J722S and J721E will also be updated in a subsequent series. All the changes have been kernel boot tested and memtester has passed (same as v1, as no functional changes made). [0] https://dev.ti.com/sysconfig/#/start Link: https://lore.kernel.org/r/20251103071035.674604-1-n-francis@ti.com
2026-06-09arm: dts: k3-j742s2: ddr: Update to v0.12.0 of DDR config toolNeha Malcom Francis
Update the DDR configuration for J742S2 according to the SysConfig DDR Configuration tool v0.12.0. Log of changes between 0.9.1 to 0.12.0 is [0]. [0] https://dev.ti.com/tirex/content/TDA4x_DRA8x_AM67x-AM69x_DDR_Config_0.12.00.0000/docs/RevisionHistory.html Tested-by: Udit Kumar <u-kumar1@ti.com> Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2026-06-09arm: dts: k3-am69: ddr: Update to v0.12.0 of DDR config toolNeha Malcom Francis
Update the DDR configuration for AM69 according to the SysConfig DDR Configuration tool v0.12.0. Log of changes between 0.9.1 to 0.12.0 is [0]. [0] https://dev.ti.com/tirex/content/TDA4x_DRA8x_AM67x-AM69x_DDR_Config_0.12.00.0000/docs/RevisionHistory.html Tested-by: Udit Kumar <u-kumar1@ti.com> Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2026-06-09arm: dts: k3-j784s4: ddr: Update to v0.12.0 of DDR config toolNeha Malcom Francis
Update the DDR configuration for J784S4 according to the SysConfig DDR Configuration tool v0.12.0. Log of changes between 0.9.1 to 0.12.0 is [0]. [0] https://dev.ti.com/tirex/content/TDA4x_DRA8x_AM67x-AM69x_DDR_Config_0.12.00.0000/docs/RevisionHistory.html Tested-by: Udit Kumar <u-kumar1@ti.com> Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2026-06-09arm: dts: k3-am68: ddr: Update to v0.12.0 of DDR config toolNeha Malcom Francis
Update the DDR configuration for AM68 according to the SysConfig DDR Configuration tool v0.12.0. Log of changes between 0.9.1 to 0.12.0 is [0]. [0] https://dev.ti.com/tirex/content/TDA4x_DRA8x_AM67x-AM69x_DDR_Config_0.12.00.0000/docs/RevisionHistory.html Tested-by: Udit Kumar <u-kumar1@ti.com> Signed-off-by: Neha Malcom Francis <n-francis@ti.com> Reviewed-by: Udit Kumar <u-kumar1@ti.com>
2026-06-09arm: dts: k3-j721s2: ddr: Update to v0.12.0 of DDR config toolNeha Malcom Francis
Update the DDR configuration for J721S2 according to the SysConfig DDR Configuration tool v0.12.0. Log of changes between 0.9.1 to 0.12.0 is [0]. [0] https://dev.ti.com/tirex/content/TDA4x_DRA8x_AM67x-AM69x_DDR_Config_0.12.00.0000/docs/RevisionHistory.html Tested-by: Udit Kumar <u-kumar1@ti.com> Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2026-06-09arm: dts: k3-j7200: ddr: Update to v0.12.0 of DDR config toolNeha Malcom Francis
Update the DDR configuration for J7200 according to the SysConfig DDR Configuration tool v0.12.0. Log of changes between 0.9.1 to 0.12.0 is [0]. [0] https://dev.ti.com/tirex/content/TDA4x_DRA8x_AM67x-AM69x_DDR_Config_0.12.00.0000/docs/RevisionHistory.html Tested-by: Udit Kumar <u-kumar1@ti.com> Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2026-06-10rockchip: clk: clk_rk3576: Add support for RK3576 GMAC 25MHz clock outputAlexey Charkov
Rockchip RK3576 SoC has two built-in GMACs which connect to external PHYs via RGMII interface. The RGMII link can be clocked by either the PHY or the SoC. When the SoC is the master, as is the case on the RK3576 EVB1, the output clock needs to be configured in the CRU. Add the respective logic for getting and setting the RGMII reference clock output for both GMAC0 and GMAC1. Signed-off-by: Alexey Charkov <alchark@flipper.net> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2026-06-08rockchip: Switch rk3229 boards to upstream devicetreeJohan Jonker
Switch rk3229 boards to upstream devicetree. Signed-off-by: Johan Jonker <jbx6244@gmail.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2026-06-08rockchip: Switch rk3128 boards to upstream devicetreeJohan Jonker
Switch rk3128 boards to upstream devicetree. Signed-off-by: Johan Jonker <jbx6244@gmail.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2026-06-08rockchip: spl: Add support for booting from UFSAlexey Charkov
Add the required architecture-specific lookups to enable U-boot SPL to load images from UFS storage devices on Rockchip RK3576, which has a boot ROM capable of loading the SPL image from UFS. Reviewed-by: Jonas Karlman <jonas@kwiboo.se> Signed-off-by: Alexey Charkov <alchark@flipper.net>
2026-06-08board: rockchip: Add FriendlyElec NanoPi R76SJonas Karlman
The NanoPi R76S (as "R76S") is an open-sourced mini IoT gateway device with two 2.5G, designed and developed by FriendlyElec. Features tested on a NanoPi R76S 2411: - SD-card boot - eMMC boot - LEDs and button - PCIe/Ethernet - USB host Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2026-06-08rockchip: rk3588-rock-5b: Remove USB-C controller from u-boot.dtsiJonas Karlman
The commit 12049db76437 ("rockchip: rk3588-rock-5b: Add USB-C controller to u-boot.dtsi") added the USB-C controller node to the ROCK 5B board u-boot.dtsi, this and related usb nodes are now part of upstream DT. Remove the upstream USB-C controller related DT nodes from u-boot.dtsi, including the temporary used dr_mode and maximum-speed props of the usb_host0_xhci node. Only usbc0 status = "okay" is kept ensuring USB-C power delivery continues to work as intended. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2026-06-04arm64: dts: imx8mn: Generate FSPI header using binman imx8mimageMarek Vasut
The binman imx8mimage now correctly handles generated fspi_header.bin in its imx8mimage etype. Make use of this, remove fspi_conf_block in favor of generated fspi_header.bin, and configure imx8mimage accordingly. Signed-off-by: Marek Vasut <marex@nabladev.com>
2026-06-04arm64: dts: imx8mm: Generate FSPI header using binman imx8mimageMarek Vasut
The binman imx8mimage now correctly handles generated fspi_header.bin in its imx8mimage etype. Make use of this, remove fspi_conf_block in favor of generated fspi_header.bin, and configure imx8mimage accordingly. Signed-off-by: Marek Vasut <marex@nabladev.com>
2026-06-04arch: arm: force 4K page alignment in linkerSam Day
Since 5c71f8110, the u-boot.elf produced by dragonboard410c_defconfig no longer fits in the 1MiB aboot partition it is intended for. To be precise, this issue occurs on toolchains that have a linker with a COMMONPAGESIZE > 4K. Since u-boot is hardcoded for 4K granules, we ensure that the linker doesn't try to align to anything larger than that, otherwise we're just filling our ELFs with a bunch of useless zeros. Suggested-by: Stephan Gerhold <stephan.gerhold@linaro.org> Signed-off-by: Sam Day <me@samcday.com> Tested-by: Peter Robinson <pbrobinson@gmail.com>
2026-06-04Merge tag 'rpi-2026.07-rc4' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-raspberrypi Updates for RPi for 2026.07-rc4: - pci: bcmstb: Support for bcm2712
2026-06-04pci: brcmstb: Adapt to AXI bridgeTorsten Duwe
Fix-ups for the BCM root complex when it is located behind an AXI bridge and clocked with 54MHz. Some are from kernel commit 377bced88c326, some where picked by Oleksii off a now-stale older branch. All reworked for the simpler setup code in U-Boot. Signed-off-by: Torsten Duwe <duwe@suse.de> Co-authored-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com> Tested-by: Pedro Falcato <pfalcato@suse.de> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
2026-06-04pci: brcmstb: Support different variants using a cfg structTorsten Duwe
The Linux kernel driver already had support for multiple hardware variants when the bcm2712 was added (see e.g. linux commit 10dbedad3c818 which is the last in a longer set of changes). This patch brings in this required infrastructure and adds a differentiation between 2711 and 2712 register layouts on top. Signed-off-by: Torsten Duwe <duwe@suse.de> Co-authored-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com> Tested-by: Pedro Falcato <pfalcato@suse.de> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
2026-06-04ARM: bcm283x: Add bcm2712 PCIe memory windowTorsten Duwe
Add a mapping region for the PCIe bus address spaces to the BCM2712 memory controller setup. Generously merging the PCIe address spaces works sufficiently well for a boot loader. Signed-off-by: Torsten Duwe <duwe@suse.de> Co-authored-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com> Tested-by: Pedro Falcato <pfalcato@suse.de> Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
2026-06-01arm64: dts: renesas: r8a779md: Add support for R-Car M3Le R8A779MD GeistNguyen Tran
Add support for the Geist board based on the Renesas R8A779MD (M3Le) SoC, a register-compatible variant of the R8A77965 (M3N) with reduced peripherals. The Geist board design references the Renesas Salvator-X/XS boards, adapting their configuration for the R8A779MD SoC. The board will be switched to OF_UPSTREAM once the DTs land in upstream. Signed-off-by: Huy Bui <huy.bui.pz@bp.renesas.com> Signed-off-by: Nguyen Tran <nguyen.tran.pz@bp.renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-05-26stm32mp2: update part number for STM32MP251/3Patrice Chotard
update part number for STM32MP251/3 for last cut revision. Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-05-26ARM: dts: stm32: enable SMC watchdog for STM32MP15 SCMI configYann Gautier
For this configuration, the watchdog (iwdg1) is secured and managed by OP-TEE. Add an watchdog node with arm,smc-wdt compatible, and disable iwdg2 node which is then no more used. Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2026-05-25Merge patch series "Fix speculative access to firewalled regions on AM62 SoCs"Tom Rini
Anshul Dalal <anshuld@ti.com> says: This patch series fixes firewall exceptions observed on AM62 family of devices due to speculative accesses made by the A53 core to secure DDR regions. Link: https://lore.kernel.org/r/20260520-am62_firewall_exception_fix-v3-0-9ca3dc40aea4@ti.com
2026-05-25mach-k3: enable mmu after reserved memory is unmappedAnshul Dalal
Currently the sequence to enable caches for the A53/A72 core on K3 devices looks as follows: 1. Map entire DDR banks 2. Setup page tables (done by mmu_setup) 3. Enable MMU 4. Unmap reserved-memory regions 5. Enable caches However there is a brief period of execution between #3 and #4 where the core can issue speculative accesses to the entire DDR space (including the reserved-memory regions) despite the caches being disabled. A firewall exception is triggered whenever such speculative access is made to secure DDR region of TFA or OP-TEE. This patch fixes the issue by re-ordering the sequence as follows: 1. Map entire DDR banks 2. Setup page tables 3. Unmap reserved-memory regions 4. Enable MMU 5. Enable caches Fixes: f1c694b8fdde ("mach-k3: map all banks using mem_map_from_dram_banks") Reported-by: Suhaas Joshi <s-joshi@ti.com> Signed-off-by: Anshul Dalal <anshuld@ti.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2026-05-25arm: armv8: mmu: move mmu enablement out of mmu_setupAnshul Dalal
Currently mmu_setup for ARMv8 performs two functions, first it sets up the page tables based the memory map provided by the board and then it enables the MMU. However for some platforms runtime fixes to the generated page tables are required before the MMU can be enabled, such as K3 family of SoCs. Therefore this patch moves the enablement of the MMU out of mmu_setup and to a standalone mmu_enable function to give more granular control to the platforms. Note that no functional changes are intended from this patch. Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Anshul Dalal <anshuld@ti.com>
2026-05-21arm: renesas: Add Renesas R-Car R8A78000 X5H Cortex-M33 RSIP portMarek Vasut
Add support for building U-Boot for Cortex-M33 RSIP core in Renesas R-Car Gen5 R8A78000 X5H SoC. The main goal is to start U-Boot on the Cortex-M33 RSIP core, which initializes the hardware and then starts the Cortex-M33 SCP and Cortex-A720 cores which run the SCP firmware and applications software respectively. The SCP is responsible for platform resource management, and is used to start other CPU cores. The Cortex-M33 build contains its own r8a78000_ironhide_cm33_defconfig which configures the build for aarch32 instruction set compatible with the ARMv8M core. The build also uses -cm33 DT and -u-boot.dtsi which are derived from their non-CM33 counterparts, and add CM33 specifics. The arch/arm/mach-renesas/u-boot-rsip.lds is derived from generic arch/arm/cpu/u-boot.lds with adjustments to cater to the RSIP core, those are entrypoint before vectors, __data_start/__data_end symbols for data-only relocation, and placement of BSS into read-write SRAM area. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-05-21arm: renesas: Generate u-boot-elf.shdr for R-Car Gen5 RSIPMarek Vasut
Add target to generate u-boot-elf.shdr for R-Car Gen5 Cortex-M33 RSIP core. The resulting .shdr SREC file can be written into the HF at offset 0. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-05-21arm: renesas: Generate u-boot-elf.scif for R-Car Gen5 RSIPMarek Vasut
Add target to generate u-boot-elf.scif for R-Car Gen5 Cortex-M33 RSIP core. The resulting .scif SREC file can be loaded using the SCIF loader to start U-Boot on the RSIP core. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-05-21arm64: dts: renesas: Switch to remap drivers on R-Car Gen5 R8A78000 X5HMarek Vasut
Point every direct user of SCMI clock protocol at CPG node instead of SCMI clock protocol node. Point every direct user of SCMI reset and power domain protocol at a matching newly introduced MDLC node instead of the SCMI reset and power domain protocol nodes. This allows the CPG and MDLC remap drivers bound to CPG node and MDLC nodes to remap between DT clock, reset and power domain IDs and SCMI clock, reset and power domain IDs. This makes U-Boot on R-Car X5H compatible with multiple SCP firmware versions. Currently supported versions of SCP firmware are 4.28, 4.31 and 4.32. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>