Works fine for me. Although in my case I use Mainline U-Boot and need to patch the kernel source with the following.
diff -Naur a/drivers/of/fdt.c b/drivers/of/fdt.c
--- a/drivers/of/fdt.c 2022-01-27 05:05:44.000000000 -0500
+++ b/drivers/of/fdt.c 2022-01-27 11:30:37.610221700 -0500
@@ -480,15 +480,6 @@
phys_addr_t size, bool nomap)
{
if (nomap) {
- /*
- * If the memory is already reserved (by another region), we
- * should not allow it to be marked nomap, but don't worry
- * if the region isn't memory as it won't be mapped.
- */
- if (memblock_overlaps_region(&memblock.memory, base, size) &&
- memblock_is_region_reserved(base, size))
- return -EBUSY;
-
return memblock_mark_nomap(base, size);
}
return memblock_reserve(base, size);
Works fine for me. Although in my case I use Mainline U-Boot and need to patch the kernel source with the following.