armbian-build/patch/u-boot/u-boot-genio/0028-board-configs-enable-fixup-fdt-memory-at-runtime-for.patch
2026-01-08 12:30:24 +01:00

86 lines
3.1 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Bartosz Bilas <b.bilas@grinn-global.com>
Date: Thu, 2 Oct 2025 12:55:07 +0200
Subject: board: configs: enable fixup fdt memory at runtime for GRINN boards
Overwrite the memory size in the devicetree that is
passed to the kernel with the actual size detected.
---
board/mediatek/genio-510-evk/mt8370_evk.c | 9 +++++++++
board/mediatek/genio-700-evk/mt8390_evk.c | 9 +++++++++
configs/grinn_genio_510_sbc_defconfig | 3 ++-
configs/grinn_genio_700_sbc_defconfig | 3 ++-
4 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/board/mediatek/genio-510-evk/mt8370_evk.c b/board/mediatek/genio-510-evk/mt8370_evk.c
index 111111111111..222222222222 100644
--- a/board/mediatek/genio-510-evk/mt8370_evk.c
+++ b/board/mediatek/genio-510-evk/mt8370_evk.c
@@ -64,6 +64,15 @@ static bool board_is_genio_510_evk_qspi(void)
of_machine_is_compatible("mediatek,genio-510-evk-qspi");
}
+int ft_board_setup(void *blob, struct bd_info *bd)
+{
+ /*
+ * Overwrite the memory size in the devicetree that is
+ * passed to the kernel with the actual size detected.
+ */
+ return fdt_fixup_memory(blob, gd->ram_base, gd->ram_size);
+}
+
void mediatek_capsule_update_board_setup(void)
{
fw_images[0].image_index = MT8370_FIT_IMAGE;
diff --git a/board/mediatek/genio-700-evk/mt8390_evk.c b/board/mediatek/genio-700-evk/mt8390_evk.c
index 111111111111..222222222222 100644
--- a/board/mediatek/genio-700-evk/mt8390_evk.c
+++ b/board/mediatek/genio-700-evk/mt8390_evk.c
@@ -62,6 +62,15 @@ static bool board_is_genio_700_evk(void)
of_machine_is_compatible("mediatek,genio-700-evk");
}
+int ft_board_setup(void *blob, struct bd_info *bd)
+{
+ /*
+ * Overwrite the memory size in the devicetree that is
+ * passed to the kernel with the actual size detected.
+ */
+ return fdt_fixup_memory(blob, gd->ram_base, gd->ram_size);
+}
+
static bool board_is_genio_700_evk_qspi(void)
{
return CONFIG_IS_ENABLED(TARGET_MT8188) &&
diff --git a/configs/grinn_genio_510_sbc_defconfig b/configs/grinn_genio_510_sbc_defconfig
index 111111111111..222222222222 100644
--- a/configs/grinn_genio_510_sbc_defconfig
+++ b/configs/grinn_genio_510_sbc_defconfig
@@ -21,7 +21,8 @@ CONFIG_DISTRO_DEFAULTS=y
CONFIG_FIT=y
CONFIG_FIT_SIGNATURE=y
CONFIG_LEGACY_IMAGE_FORMAT=y
-# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
+CONFIG_OF_CONTROL=y
+CONFIG_OF_BOARD_SETUP=y
CONFIG_DEFAULT_FDT_FILE="mediatek/mt8370-grinn-genio-510-sbc"
# CONFIG_DISPLAY_BOARDINFO is not set
# CONFIG_CMD_CONSOLE is not set
diff --git a/configs/grinn_genio_700_sbc_defconfig b/configs/grinn_genio_700_sbc_defconfig
index 111111111111..222222222222 100644
--- a/configs/grinn_genio_700_sbc_defconfig
+++ b/configs/grinn_genio_700_sbc_defconfig
@@ -21,7 +21,8 @@ CONFIG_DISTRO_DEFAULTS=y
CONFIG_FIT=y
CONFIG_FIT_SIGNATURE=y
CONFIG_LEGACY_IMAGE_FORMAT=y
-# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
+CONFIG_OF_CONTROL=y
+CONFIG_OF_BOARD_SETUP=y
CONFIG_DEFAULT_FDT_FILE="mediatek/mt8390-grinn-genio-700-sbc"
# CONFIG_DISPLAY_BOARDINFO is not set
CONFIG_BOARD_LATE_INIT=y
--
Armbian