On 6/13/2026 7:24 PM, Heiko Stuebner wrote: > Loading EFI parts like a Debian-Installer on Rockchip SoCs creates > interesting results, in that on some boards the Grub bootloader can't > find any partitions on a USB-Stick, or loading a kernel from Grub spews > EHCI fail timeout STS_IAA set > messages before failing and on others the loading something like efivars > from an eMMC creates read errors and making the MMC vanish from U-Boot. > > This only affected boards with at least 4GB of RAM. > > These boards have at least 256MB of memory placed above the actual 4GB > address space (due to the iomem being in between) and while kernel, > initramfs, dt are generally loaded to predefined addresses, additional > EFI parts (efivars, etc) are likely just loaded "somewhere" and it seems > this always landed in that higher up memory part. > > Also in the Linux-kernel peripherals like EMMC, USB, etc already run > with a 32bit dma-mask set. > > So far, I've seen this on RK3568 and RK3588, but as the same peripherals > are used on most Rockchip SoCs, it makes sense to limit this on all. > > So add ARCH_ROCKCHIP to the default-y list of LMB_LIMIT_DMA_BELOW_RAM_TOP. > > Signed-off-by: Heiko Stuebner <[email protected]>
I have also faced above 4GB of RAM issue on Rockchip boards, so this is: Reviewed-by: Jonas Karlman <[email protected]> Regards, Jonas > --- > lib/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/Kconfig b/lib/Kconfig > index cf13ac1bdad..9e0f0ad7d06 100644 > --- a/lib/Kconfig > +++ b/lib/Kconfig > @@ -1298,7 +1298,7 @@ config SPL_LMB_ARCH_MEM_MAP > config LMB_LIMIT_DMA_BELOW_RAM_TOP > bool > depends on LMB > - default y if ARCH_BCM283X > + default y if ARCH_BCM283X || ARCH_ROCKCHIP > help > Some architectures can not DMA above ram_top boundary, > which is after 4 GiB or 32-bit boundary too. Limit the

