[PATCH] common: Add Kconfig option for FDT mem alignment

Michal Simek michal.simek at xilinx.com
Mon Apr 13 10:03:04 CEST 2020


From: Ashok Reddy Soma <ashok.reddy.soma at xilinx.com>

FDT memory is aligned by 4KB. This is hardcoded in common/board_f.c.
Add Kconfig option, assign default value of 0x1000 and enable option to
change this value.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma at xilinx.com>
Signed-off-by: Michal Simek <michal.simek at xilinx.com>
---

 common/board_f.c | 3 ++-
 dts/Kconfig      | 7 +++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/common/board_f.c b/common/board_f.c
index 82a164752aa3..928874e03555 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -546,7 +546,8 @@ static int reserve_fdt(void)
 	 * will be relocated with other data.
 	 */
 	if (gd->fdt_blob) {
-		gd->fdt_size = ALIGN(fdt_totalsize(gd->fdt_blob) + 0x1000, 32);
+		gd->fdt_size = ALIGN(fdt_totalsize(gd->fdt_blob) +
+				     CONFIG_FDT_MEM_ALIGN_SIZE, 32);
 
 		gd->start_addr_sp -= gd->fdt_size;
 		gd->new_fdt = map_sysmem(gd->start_addr_sp, gd->fdt_size);
diff --git a/dts/Kconfig b/dts/Kconfig
index 046a54a17366..696c0b71afaf 100644
--- a/dts/Kconfig
+++ b/dts/Kconfig
@@ -121,6 +121,13 @@ config DEFAULT_DEVICE_TREE
 	  It can be overridden from the command line:
 	  $ make DEVICE_TREE=<device-tree-name>
 
+config FDT_MEM_ALIGN_SIZE
+	hex "FDT memory alignment size"
+	default 0x1000
+	help
+	  This option is used to set the default alignment when reserving memory
+	  for fdt.
+
 config OF_LIST
 	string "List of device tree files to include for DT control"
 	depends on SPL_LOAD_FIT || MULTI_DTB_FIT
-- 
2.26.0



More information about the U-Boot mailing list