diff mbox series

[06/12] arm: xea: Add support for multiple dtbs in u-boot

Message ID 20240322114315.2720727-7-lukma@denx.de
State Changes Requested
Delegated to: Fabio Estevam
Headers show
Series arm: xea: Provide support for different XEA board HW versions | expand

Commit Message

Lukasz Majewski March 22, 2024, 11:43 a.m. UTC
As XEA board uses imx287, which has some constrains on SPL (u-boot.sb)
size - it must be less than ~55 KiB, multiple boards versions are included
in u-boot proper's FIT image.

The decision of using proper configuration is based on information passed
from SPL (u-boot.sb) in OCRAM dedicated location (0xE000 - 2).

This board also uses falcon boot for production setup, so the proper
dtb is flashed during production (also based on GPIO values describing
HW ID).

Signed-off-by: Lukasz Majewski <lukma@denx.de>
---

 board/liebherr/xea/xea.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
diff mbox series

Patch

diff --git a/board/liebherr/xea/xea.c b/board/liebherr/xea/xea.c
index d9cf27c81b..615d266b8f 100644
--- a/board/liebherr/xea/xea.c
+++ b/board/liebherr/xea/xea.c
@@ -287,6 +287,21 @@  int dram_init(void)
 	return mxs_dram_init();
 }
 
+#if defined(CONFIG_MULTI_DTB_FIT)
+int board_fit_config_name_match(const char *name)
+{
+	u8 rev_id = get_som_rev();
+	char board[11];
+
+	sprintf(board, "imx28-xea-%d", rev_id);
+
+	if (!strncmp(name, board, sizeof(board)))
+		return 0;
+
+	return -EINVAL;
+}
+#endif
+
 #ifdef CONFIG_OF_BOARD_SETUP
 static int fdt_fixup_l2switch(void *blob)
 {