summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-03-10rockchip: rk3588: include all addressable DRAM in memory mapQuentin Schulz
The ATAGS set by Rockchip DDR init blob[1] specify DRAM banks above the first addressable 4GiB which we haven't done in the mem_map for RK3588 yet. For 4GiB DRAM, the 256MiB missing from the first addressable 4GiB (due to MMIO) are accessible at the end of the 8GiB address space. For 8GiB, 4-8GiB address space is used for the additional 4GiB and the missing 256MiB are at the end of 12GiB address space. For 12, 4-12GiB and the missing 256MiB at the end of 20GiB address space. For 16GiB, 4-~16GiB with two holes (reasons unknown) around 16GiB and the missing 256MiB is at the end of 20GiB address space. For 32GiB, 4-16~GiB with two holes and then 16GiB to 32GiB address space (so likely missing 256MiB from MMIO address space). [1] https://gist.github.com/Kwiboo/1c020d37e3adbc9d0d79dc003d921977 Suggested-by: Jonas Karlman <[email protected]> Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-10arch: arm: rockchip: Add initial support for RK3506Jonas Karlman
Rockchip RK3506 is a ARM-based SoC with tri-core Cortex-A7. Add initial arch support for the RK3506 SoC. Signed-off-by: Jonas Karlman <[email protected]> Acked-by: Mattijs Korpershoek <[email protected]> # drivers/usb/gadget Reviewed-by: Kever Yang <[email protected]>
2026-03-10net: dwc_eth_qos_rockchip: Add support for RK3506Jonas Karlman
Rockchip RK3506 has two Ethernet controllers based on Synopsys DWC Ethernet QoS IP. Add initial support for the RK3506 GMAC variant. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-10phy: rockchip-inno-usb2: Add support for RK3506Jonas Karlman
Add support for the two USB2.0 PHYs use in the RK3506 SoC. Signed-off-by: Jonas Karlman <[email protected]> Tested-by: Aaron Griffith <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-10rockchip: otp: Add support for RK3506Jonas Karlman
Add support for the OTP controller in RK3506. The OTPC is similar to the OTPC in RK3568 and can use the same ops for reading OTP data. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-10pinctrl: rockchip: Add support for RK3506Ye Zhang
Add pinctrl driver for RK3506. Imported from vendor U-Boot linux-6.1-stan-rkr6 tag with adjustments to use regmap_update_bits(). Signed-off-by: Ye Zhang <[email protected]> Signed-off-by: Jonas Karlman <[email protected]> Tested-by: Aaron Griffith <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-10pinctrl: rockchip: Use syscon_regmap_lookup_by_phandle()Jonas Karlman
Use syscon_regmap_lookup_by_phandle() to simplify the code. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2026-03-10clk: rockchip: Add support for RK3506Finley Xiao
Add clock driver for RK3506. Imported from vendor U-Boot linux-6.1-stan-rkr6 tag with minor adjustments and fixes for mainline. Signed-off-by: Finley Xiao <[email protected]> Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-10dt-bindings: clock: rockchip: Add RK3506 clock and reset unitFinley Xiao
Add device tree bindings for clock and reset unit on RK3506 SoC. Add clock and reset IDs for RK3506 SoC. Signed-off-by: Finley Xiao <[email protected]> Signed-off-by: Elaine Zhang <[email protected]> Reviewed-by: Conor Dooley <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Heiko Stuebner <[email protected]> [ upstream commit: 84898f8e9cea06f8178fc5ca53f068180f7bfba0 ] (cherry picked from commit 516951213a82094f7f49f149cbf3c66dfb14c65d) Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-10ram: rockchip: Add basic support for RK3506Jonas Karlman
Add support for reading DRAM size information from PMUGRF os_reg2 reg. Signed-off-by: Jonas Karlman <[email protected]> Tested-by: Aaron Griffith <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-10rockchip: mkimage: Add support for RK3506Xuhui Lin
Add support for generating Rockchip Boot Image for RK3506. The RK3506 has 48 KiB SRAM and 4 KiB is reserved for BootROM. Signed-off-by: Xuhui Lin <[email protected]> Signed-off-by: Jonas Karlman <[email protected]> Tested-by: Aaron Griffith <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-10rockchip: mkimage: Re-sort the spl_infos list alphanumericallyJonas Karlman
The first RK35xx SoC was initially appended to the end of the otherwise alphanumerically sorted spl_infos list, possible because it was using a new header structure. Re-sort the spl_infos list to keep it alphanumerically ordered based on imagename. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-10rockchip: spl: Add common handling of USB bootsource_id 0x81Jonas Karlman
Multiple newer Rockchip SoCs report 0x81 instead of 0xa when booting from USB, i.e. on RK3576, RK3528, RK3506 and RV1106. Move the bootsource_id 0x81 handling currently only used for RK3528 to the common read_brom_bootsource_id() to reduce the need to override this function when support for newer SoCs is introduced. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-10rockchip: imply OF_UPSTREAM for rk3288 boardsJohan Jonker
Imply OF_UPSTREAM for rk3288 boards. Signed-off-by: Johan Jonker <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-10rockchip: Switch remaining rk3288 boards to upstream devicetreeJohan Jonker
Switch remaining rk3288 boards to upstream devicetree. Signed-off-by: Johan Jonker <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-10rockchip: Switch rk3288-veyron boards to upstream devicetreeJohan Jonker
Switch rk3288-veyron boards to upstream devicetree. Signed-off-by: Johan Jonker <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-10ARM: dts: rockchip: move edp assigned-clocks to edp node on rk3288Johan Jonker
The rk3288 power-controller node contains an assigned-clocks property that conflicts with the bindings. From the git history it shows that they wanted to assign the rk3288 EDP_24M clock input centrally before an edp node was available. Move the edp assigned-clocks property to the edp node to reduce dtbs_check output. Signed-off-by: Johan Jonker <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Heiko Stuebner <[email protected]> [ upstream commit: 10712ce694a67304a99dbba20f8cb146ca5f4fd6 ] (cherry picked from commit e1b4137b6bbc9998b13cde2eba0655cfdd358c69) Reviewed-by: Kever Yang <[email protected]>
2026-03-10ARM: dts: rockchip: Add spi_flash label to rk3288-veyronJohan Jonker
The u-boot,spl-boot-order property requires a label at a boot device node. In order to migrate to OF_UPSTREAM more easier add a spi_flash label to the rk3288-veyron.dtsi file. Signed-off-by: Johan Jonker <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Heiko Stuebner <[email protected]> [ upstream commit: ac7116a626e00d3024adedb43b74bdf2ce45efc2 ] (cherry picked from commit 38e6f7cd300f66cc9f657cd0e8881a01acc664d0) Reviewed-by: Kever Yang <[email protected]>
2026-03-10ARM: dts: rockchip: Remove mshc aliases from RK3288Johan Jonker
The use of mshc aliases is deprecated for some while, so remove them from the rk3288.dtsi file. Signed-off-by: Johan Jonker <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Heiko Stuebner <[email protected]> [ upstream commit: cafaf99e4a790f8492a034a3470f878779c8c535 ] (cherry picked from commit faefae4ca217961a0d96a54c9618e56aa8fd37b3) Reviewed-by: Kever Yang <[email protected]>
2026-03-10board: rockchip: Add FriendlyElec NanoPi Zero2Jonas Karlman
The NanoPi Zero2 is a small single board computer developed by FriendlyElec, based on the Rockchip RK3528A SoC. Add support for the FriendlyElec NanoPi Zero2 board. Features tested on a FriendlyElec NanoPi Zero2 2407: - SD-card boot - eMMC boot - Ethernet - USB host Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Christopher Obbard <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-10rockchip: tiger-rk3588: disable HS400Quentin Schulz
Tiger suffers from eMMC signal integrity issues which means we can only run it at HS200 max. The Device Tree has these properties removed since v6.18 (commit baa18d577cd4 ("arm64: dts: rockchip: disable HS400 on RK3588 Tiger")), which has now merged in U-Boot. Since the controller side doesn't support HS400 anymore, let's not confuse users as to why HS400 is enabled in the config but not working as we know it cannot work (and won't be used anyway since the controller doesn't advertise support for it in the Device Tree). Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-10rockchip: rk3576: Use DMA when loading FIT imagesJonas Karlman
Enable use of DMA when loading FIT images from eMMC, SD-card and SPI flash now that access to PMU_SRAM for non-secure masters is allowed. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-10rockchip: rk3576: Allow pmu sram access for non-secure mastersJonas Karlman
The firewall block access to pmu sram for non-secure masters by default after reset (0xffffbfff). Change the pmu lookup configuration to match the default lookup config for ddr and system sram (0xffff3fff) to allow loading TF-A using DMA. Mainline TF-A will re-configure the firewall to use an even less restrictive lookup (0xbffe3ff0), so this change is not expected to have any real security implication. Signed-off-by: Jonas Karlman <[email protected]> Tested-by: Alexey Charkov <[email protected]> # UFS Reviewed-by: Kever Yang <[email protected]>
2026-03-10rockchip: rk3588s-rock-5c: Add support for ROCK 5C Lite variantJonas Karlman
Add Kconfig option OF_SYSTEM_SETUP=y to support booting ROCK 5C Lite boards with a RK3582 SoC. CPU and GPU cores are failed based on ip-state and policy. Tested on a ROCK 5C Lite v1.1: cpu-code: 35 82 ip-state: 00 80 00 (otp) ip-state: c0 9e 04 (policy) remove cpu-map cluster2 fail gpu fail rkvdec1 fail rkvenc1 fail cpu cpu@600 fail cpu cpu@700 Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-09arch: arm: dts: k3-r5: Drop a53_0 clock overrides in board filesWadim Egorov
The a53_0 clock properties are already set correctly in their common k3-<soc>-r5.dtsi includes. Stop overriding them in the r5 board device trees. Fixes the following error message: Failed to set clock rates for '/a53@0': -61 Signed-off-by: Wadim Egorov <[email protected]> Reviewed-by: Anshul Dalal <[email protected]> Tested-by: Francesco Dolcini <[email protected]> # Verdin AM62 Solo Reviewed-by: Bryan Brattlof <[email protected]>
2026-03-09Makefile: fix duplicate dtbs recipeDavid Lechner
Convert a duplicate dtbs recipe into a dependency in the main Makefile. Another recipe is already defined on line 2369, so we are getting spurious warnings like: Makefile:2369: warning: overriding recipe for target 'dtbs' Makefile:1425: warning: ignoring old recipe for target 'dtbs' The removed recipe was a no-op anyway so can be safely removed. Signed-off-by: David Lechner <[email protected]>
2026-03-09Merge tag 'v2026.04-rc4' into nextTom Rini
Prepare v2026.04-rc4
2026-03-09Prepare v2026.04-rc4v2026.04-rc4Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2026-03-09doc: Use sys.path.append for pytestsTom Rini
Signed-off-by: Tom Rini <[email protected]>
2026-03-09boot: Add fit_config_get_hash_list() to build signed node listSimon Glass
The hashed-nodes property in a FIT signature node lists which FDT paths are included in the signature hash. It is intended as a hint so should not be used for verification. Add a function to build the node list from scratch by iterating the configuration's image references. Skip properties known not to be image references. For each image, collect the path plus all hash and cipher subnodes. Use the new function in fit_config_check_sig() instead of reading 'hashed-nodes'. Update the test_vboot kernel@ test case: fit_check_sign now catches the attack at signature-verification time (the @-suffixed node is hashed instead of the real one, causing a mismatch) rather than at fit_check_format() time. Update the docs to cover this. The FIT spec can be updated separately. Signed-off-by: Simon Glass <[email protected]> Closes: https://lore.kernel.org/u-boot/[email protected]/ Reported-by: Apple Security Engineering and Architecture (SEAR) Tested-by: Tom Rini <[email protected]>
2026-03-09Merge patch series "64-bit PCIe for AM64, AM69, J7200, J722S and J784S4"Tom Rini
Siddharth Vadapalli <[email protected]> says: Since Linux device-tree has switched to 64-bit Address space for the PCIe Controllers on TI SoCs, currently, U-Boot needs to support the same. This series adds support for 64-bit addressing for PCIe along with enabling Root-Complex mode of operation for AM69 and J784S4 SoCs. Series has been tested on all platforms being affected by this series. Test Logs: 1. AM642-EVM https://gist.github.com/Siddharth-Vadapalli-at-TI/82512389f8396a51e4f167c7ebe4c2a3 2. AM69-SK https://gist.github.com/Siddharth-Vadapalli-at-TI/b20b2811804ffc6e6c063564330c0a35 3. J7200-EVM https://gist.github.com/Siddharth-Vadapalli-at-TI/c545da68bd28a5e036803bb60f32d8e9 4. J722S-EVM https://gist.github.com/Siddharth-Vadapalli-at-TI/3dde05c4c7076076aa20ac47a6e2d176 5. J784S4-EVM https://gist.github.com/Siddharth-Vadapalli-at-TI/a93c1b2cd5d90f494e885d1831d3d23e Link: https://lore.kernel.org/r/[email protected]
2026-03-09configs: j722s_evm_a53_defconfig: enable 64-bit addressing for PCIeSiddharth Vadapalli
The PCIe0 instance of PCIe on the J722S SoC uses the 4 GB Address Window starting from 0x6_0000_0000 to map System Addresses to PCIe Bus Addresses. Hence, enable CONFIG_SYS_PCI_64BIT. Signed-off-by: Siddharth Vadapalli <[email protected]> Fixes: 79f3e77133bd ("Subtree merge tag 'v6.16-dts' of dts repo [1] into dts/upstream")
2026-03-09configs: j7200_evm_a72_defconfig: enable 64-bit addressing for PCIeSiddharth Vadapalli
The PCIe1 instance of PCIe on the J7200 SoC uses the 4 GB Address Window starting from 0x41_0000_0000 to map System Addresses to PCIe Bus Addresses. Hence, enable CONFIG_SYS_PCI_64BIT. Signed-off-by: Siddharth Vadapalli <[email protected]> Fixes: 79f3e77133bd ("Subtree merge tag 'v6.16-dts' of dts repo [1] into dts/upstream")
2026-03-09configs: am64x_evm_a53_defconfig: enable 64-bit addressing for PCIeSiddharth Vadapalli
The PCIe0 instance of PCIe on the AM64x SoC uses the 4 GB Address Window starting from 0x6_0000_0000 to map System Addresses to PCIe Bus Addresses. Hence, enable CONFIG_SYS_PCI_64BIT. Signed-off-by: Siddharth Vadapalli <[email protected]> Fixes: 79f3e77133bd ("Subtree merge tag 'v6.16-dts' of dts repo [1] into dts/upstream")
2026-03-09configs: {am69_sk, j784s4_evm}_a72_defconfig: enable PCIe Root-Complex modeSiddharth Vadapalli
The PCIe Controllers on the J784S4 and AM69 SoCs support Root-Complex mode of operation. PCIe0 instance of PCIe on both of the SoCs is brought out on the Starter-Kit (AM69) and EVM (J784S4) boards. Hence, enable the configs required for Root-Complex mode of operation. Signed-off-by: Siddharth Vadapalli <[email protected]> Fixes: 79f3e77133bd ("Subtree merge tag 'v6.16-dts' of dts repo [1] into dts/upstream")
2026-03-09pci: pcie_cdns_ti: enable PCIe root-complex mode for J784S4 SoCSiddharth Vadapalli
The PCIe Controllers on the J784S4 SoC support Root-Complex mode of operation. Hence, enable it. Signed-off-by: Siddharth Vadapalli <[email protected]> Fixes: 79f3e77133bd ("Subtree merge tag 'v6.16-dts' of dts repo [1] into dts/upstream")
2026-03-09arm: mach-k3: arm64-mmu: add mapping for PCIe 4 GB Address WindowsSiddharth Vadapalli
The PCIe Controllers in the K3 SoCs have 4 GB Address Windows in the 64-bit address space to map System (CPU) Addresses to PCIe Bus Addresses. The physical addresses for these Address Windows across PCIe instances across SoCs is as follows: +--------+----------------+----------------+----------------+----------------+ | SoC | PCIe0 | PCIe1 | PCIe2 | PCIe3 | +--------+----------------+----------------+----------------+----------------+ | AM64 | 0x6_0000_0000 | NA | NA | NA | | J722S | 0x6_0000_0000 | NA | NA | NA | | AM68 | NA | 0x41_0000_0000 | NA | NA | | J7200 | NA | 0x41_0000_0000 | NA | NA | | J721S2 | NA | 0x41_0000_0000 | NA | NA | | J742S2 | 0x40_0000_0000 | 0x41_0000_0000 | NA | NA | | AM69 | 0x40_0000_0000 | 0x41_0000_0000 | 0x42_0000_0000 | 0x43_0000_0000 | | J721E | 0x40_0000_0000 | 0x41_0000_0000 | 0x42_0000_0000 | 0x43_0000_0000 | | J784S4 | 0x40_0000_0000 | 0x41_0000_0000 | 0x42_0000_0000 | 0x43_0000_0000 | +--------+----------------+----------------+----------------+----------------+ Two regions for a 1:1 mapping from virtual addresses to physical addresses catering to all of the above will be required, which are: 1. For AM64 and J722S SoCs => Start: 0x6_0000_0000 Size: 0x1_0000_0000 2. For AM68, AM69, J7200, J721E, J721S2, J742S2 and J784S4 SoCs => Start: 0x40_0000_0000 Size: 0x4_0000_0000 Since the 'Flash Peripherals' region from 0x5_0000_0000 to 0x8_7FFF_FFFF includes the mapping for AM64 and J722S SoCs, only the second region mentioned above needs to be added. Hence, add the region to support 64-bit address space for PCIe. Signed-off-by: Siddharth Vadapalli <[email protected]> Fixes: 79f3e77133bd ("Subtree merge tag 'v6.16-dts' of dts repo [1] into dts/upstream")
2026-03-09MAINTAINERS: update SPI NOR reviewerTakahiro Kuwano
Tudor Ambarus will step down as SPI NOR reviewer. I would like to take this role. Signed-off-by: Takahiro Kuwano <[email protected]> Acked-by: Tudor Ambarus <[email protected]>
2026-03-09video: stm32: dsi: add .of_to_plat callbackRaphael Gallais-Pou
Drivers should extract device-tree data before probing via the .of_to_plat hook. Implement it for stm32_dsi driver. By doing so, it also solve a variable shadowing in stm32_dsi_probe() where &clk was used as peripheral clock and ref clock. For readability some struct have been renamed such as: * struct stm32_dsi_priv *dsi -> struct stm32_dsi_priv *priv * struct clk clk -> struct clk pclk Signed-off-by: Raphael Gallais-Pou <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2026-03-09rockchip: rk3588-generic: Enable support for RK3582Jonas Karlman
Add Kconfig option OF_SYSTEM_SETUP=y to support booting boards with a RK3582 SoC. CPU and GPU cores are failed based on ip-state and policy. Tested on a ROCK 5C Lite v1.1: cpu-code: 35 82 ip-state: 10 00 00 (otp) ip-state: 30 9e 04 (policy) remove cpu-map cluster1 rename cpu-map cluster2 fail gpu fail rkvdec1 fail rkvenc1 fail cpu cpu@400 fail cpu cpu@500 and on a Radxa E52C: cpu-code: 35 82 ip-state: 00 04 00 (otp) ip-state: c0 9e 04 (policy) remove cpu-map cluster2 fail gpu fail rkvdec1 fail rkvenc1 fail cpu cpu@600 fail cpu cpu@700 Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-09rockchip: Add initial RK3582 supportJonas Karlman
The RK3582 SoC is a variant of the RK3588S with some IP blocks disabled. What blocks are disabled/non-working is indicated by ip-state in OTP. This add initial support for RK3582 by using ft_system_setup() to mark any cpu, gpu and/or vdec/venc node with status=fail as indicated by ip-state. This apply same policy as vendor U-Boot for RK3582, i.e. two big cpu cores, the gpu and one vdec/venc core is always failed/disabled. Enable Kconfig option OF_SYSTEM_SETUP in board defconfig to make use of the required DT fixups for RK3582 board variants. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-09phy: rockchip: naneng-combphy: Enable U3 port for USB3OTG on RK3568Jonas Karlman
The USB OTG U3 port may have been disabled early, add support to the COMBPHY driver to re-enable the U3 port. This matches changes made in the Linux commit 7bb14b61b7d0 ("phy: rockchip: naneng-combphy: Enable U3 OTG port for RK3568"). Signed-off-by: Jonas Karlman <[email protected]> Acked-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-09rockchip: sdram: Add fallback that fixup DRAM gaps on RK3588Jonas Karlman
RK3588 has two known memory gaps when using 16+ GiB DRAM, [0x3fc000000, 0x3fc500000) and [0x3fff00000, 0x400000000). The vendor TPL blob encodes this information in the DDR_MEM tag data passed to later boot phases. U-Boot proper will normally use this information to configure the DRAM banks. When a DDR_MEM tag cannot be found the fallback is to use the entire range above 4 GiB. Something that will cause issues when OS try to use memory from the two known memory gaps. Add a weak dram init banksize fixup function and implement it for RK3588 to fix issues observed when trying to RAM boot RK3588 boards with 16+ GiB DRAM into Linux. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2026-03-06board: mediatek: add MT8395 EVK board supportJulien Stephan
This adds support for the MT8395_EVK board with the following features enabled/tested: Boot, UART, Watchdog and MMC. MT8395_EVK is based on MT8195. Signed-off-by: Julien Stephan <[email protected]> Reviewed-by: Macpaul Lin <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-06arm: mediatek: MT8195 fix mem_mapJulien Stephan
Commit 2517e2b524e8 ("arm: mediatek: add support for MediaTek MT8195 SoC") was merged after commit 24ffbb2aa17e ("arm: mediatek: consolidate ARMv8 memory maps") but was not rebased on top of it, so mem_map is defined twice. Fix it. Fixes: 2517e2b524e8 ("arm: mediatek: add support for MediaTek MT8195 SoC") Signed-off-by: Julien Stephan <[email protected]> Reviewed-by: Macpaul Lin <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-06test: boot: Add test for bootmeth_raucMartin Schwan
Add a simple unit test for testing the RAUC bootmethod. Provide only the very basic tests for now, running a scan and list, to verify correct detection of the RAUC bootmethod. More advanced boot tests of this bootmethod can be added in a separate patch. This requires another mmc image (mmc10) to contain the following partitions: 1. boot A: contains a dummy boot.scr 2. root A: contains an empty root filesystem 3. boot B: contains a dummy boot.scr 4. root B: contains an empty root filesystem The bootmeth_rauc scans all four partitions for existence and expects a boot script in each boot partition. Also add BOOTMETH_RAUC as a dependency on sandbox so that we can test this with: $ ./test/py/test.py -B sandbox --build -k test_ut # build the mmc10.img $ ./test/py/test.py -B sandbox --build -k bootflow_rauc Signed-off-by: Martin Schwan <[email protected]> Reviewed-by: Simon Glass <[email protected]> [trini: mmc9 is now in use, switch to mmc10] Signed-off-by: Tom Rini <[email protected]>
2026-03-06bootm: fix booting kernel_noload imageLudwig Nussel
FIT images don't work without having to explicitly specify physical load addresses. Digging into that it looks like a flaw in bootm_load_os(). It duplicates images->os for convenience. However, the code handling "kernel_noload" images then updates the load address in the copy with the value lmb_alloc_mem() returned. Later there's another call to lmb_alloc_mem() that uses the old value. This leads to havoc due to subsequent calls of lmb_alloc_mem() picking too low addresses. The "fix" is to mark the local variable const to avoid accidental assignments. This works but IMO the logic is still flawed somehow as this leads to overlapping lmb reservations. I guess the fixed reservation should only be done when the noload path wasn't hit. Without the change: + bootm 0x40200000#qemu-arm 0x40200000#qemu-arm 0x40000000 Using 'qemu-arm' configuration Verifying Hash Integrity ... OK Trying 'kernel' kernel subimage Description: Linux kernel Created: 2026-02-24 14:10:09 UTC Type: Kernel Image (no loading done) Compression: gzip compressed Data Start: 0x402000b8 Data Size: 12227440 Bytes = 11.7 MiB Hash algo: sha256 Hash value: 7ea661fdecdd1127edd419cfbf8bff52e2d5ac55c... Verifying Hash Integrity ... sha256+ OK Using 'qemu-arm' configuration Verifying Hash Integrity ... OK Trying 'ramdisk' ramdisk subimage Description: Initial ramdisk Created: 2026-02-24 14:10:09 UTC Type: RAMDisk Image Compression: uncompressed Data Start: 0x40da9528 Data Size: 1067114 Bytes = 1 MiB Architecture: AArch64 OS: Linux Load Address: unavailable Entry Point: unavailable Hash algo: sha256 Hash value: 2a711dcb5f58615187645ccec615c67eddcfbb3138... Verifying Hash Integrity ... sha256+ OK Booting using the fdt blob at 0x40000000 Working FDT set to 40000000 Uncompressing Kernel Image (no loading done) to 13a400000 Loading Ramdisk to 400fb000, end 401ff86a ... OK device tree - allocation error FDT creation failed! resetting ... Bloblist at 0 not found (err=-2) alloc space exhausted ptr 400 limit 0 Bloblist at 0 not found (err=-2) [reset] After: + bootm 0x40200000#qemu-arm 0x40200000#qemu-arm 0x40000000 Using 'qemu-arm' configuration Verifying Hash Integrity ... OK Trying 'kernel' kernel subimage Description: Linux kernel Created: 2026-02-24 14:10:09 UTC Type: Kernel Image (no loading done) Compression: gzip compressed Data Start: 0x402000b8 Data Size: 12227440 Bytes = 11.7 MiB Hash algo: sha256 Hash value: 7ea661fdecdd1127edd419cfbf8bff52e2d5ac55ce... Verifying Hash Integrity ... sha256+ OK Using 'qemu-arm' configuration Verifying Hash Integrity ... OK Trying 'ramdisk' ramdisk subimage Description: Initial ramdisk Created: 2026-02-24 14:10:09 UTC Type: RAMDisk Image Compression: uncompressed Data Start: 0x40da9528 Data Size: 1067114 Bytes = 1 MiB Architecture: AArch64 OS: Linux Load Address: unavailable Entry Point: unavailable Hash algo: sha256 Hash value: 2a711dcb5f58615187645ccec615c67eddcfbb3138... Verifying Hash Integrity ... sha256+ OK Booting using the fdt blob at 0x40000000 Working FDT set to 40000000 Uncompressing Kernel Image (no loading done) to 13a400000 Loading Ramdisk to 13a2fb000, end 13a3ff86a ... OK Loading Device Tree to 000000013a1f8000, end 000000013a2fafff ... OK Working FDT set to 13a1f8000 Starting kernel ... Signed-off-by: Ludwig Nussel <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2026-03-06Merge patch series "fw_env: cleanup flash_write_buf()"Tom Rini
Rafał Miłecki <[email protected]> says: I found flash_write_buf() somehow more difficult to follow than needed. Some code turned out to be inconsistent and some not really needed. There is a set of 6 patches that should be small enough to make them easy to review. I was wondering if I should squash patches 5 and 6 but ended up with sending two smaller diffs. Those changes shouldn't really change any behaviour (except for smaller mem alloc). Let me know if there are any issues with this! Link: https://lore.kernel.org/r/[email protected]
2026-03-06fw_env: drop unneeded variables from flash_write_buf()Rafał Miłecki
Recent cleanups made some variables redundant. Both: "blocklen" and "erase_len" ended up being used as temporary variables used locally in some short code paths. Signed-off-by: Rafał Miłecki <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2026-03-06fw_env: move "erasesize" calculation up in a codeRafał Miłecki
Calculate "erasesize" in the same place where other offsets and lengths / sizes are calculated. It makes code more consistent and will allow further cleanups. Signed-off-by: Rafał Miłecki <[email protected]>