summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPatrick Delaunay <[email protected]>2022-10-21 17:37:28 +0200
committerPatrice Chotard <[email protected]>2025-04-25 16:00:22 +0200
commita7f00c8adaf3a8bc463ac55be4e4755f3b0ad4c9 (patch)
tree1915179e01d3a972a5bf10247bc5e69efe771959 /include
parent17f3cdd253a9c615d146b2f9378cc6c14ad19c84 (diff)
board: st: stm32mp2: change bootcmd for ST boards
For nor0 boot for the STMicroelectronics boards, the bootfs is found in SD-Card = mmc0 for nor0 boot. Introduce a new file configuration file stm32mp25_st_common.h to manage this specific behavior for the STMicroelectronics boards; change the boot order for nor0 boot and don't use the default DISTRO order define in BOOT_TARGET_DEVICES: mmc1, ubifs, mmc0, mmc2. Signed-off-by: Patrick Delaunay <[email protected]> Signed-off-by: Patrice CHOTARD <[email protected]>
Diffstat (limited to 'include')
-rw-r--r--include/configs/stm32mp25_st_common.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/include/configs/stm32mp25_st_common.h b/include/configs/stm32mp25_st_common.h
new file mode 100644
index 00000000000..ab5a4a91644
--- /dev/null
+++ b/include/configs/stm32mp25_st_common.h
@@ -0,0 +1,51 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later OR BSD-3-Clause */
+/*
+ * Copyright (C) 2022, STMicroelectronics - All Rights Reserved
+ *
+ * Configuration settings for the STMicroelectonics STM32MP25x boards
+ */
+
+#ifndef __CONFIG_STM32MP25_ST_COMMON_H__
+#define __CONFIG_STM32MP25_ST_COMMON_H__
+
+#define STM32MP_BOARD_EXTRA_ENV \
+ "usb_pgood_delay=2000\0" \
+ "console=ttySTM0\0"
+
+#include <configs/stm32mp25_common.h>
+
+#ifdef CFG_EXTRA_ENV_SETTINGS
+/*
+ * default bootcmd for stm32mp25 STMicroelectronics boards:
+ * for serial/usb: execute the stm32prog command
+ * for mmc boot (eMMC, SD card), distro boot on the same mmc device
+ * for nand or spi-nand boot, distro boot with ubifs on UBI partition or
+ * sdcard
+ * for nor boot, distro boot on SD card = mmc0 ONLY !
+ */
+#define ST_STM32MP25_BOOTCMD "bootcmd_stm32mp=" \
+ "echo \"Boot over ${boot_device}${boot_instance}!\";" \
+ "if test ${boot_device} = serial || test ${boot_device} = usb;" \
+ "then stm32prog ${boot_device} ${boot_instance}; " \
+ "else " \
+ "run env_check;" \
+ "if test ${boot_device} = mmc;" \
+ "then env set boot_targets \"mmc${boot_instance}\"; fi;" \
+ "if test ${boot_device} = nand ||" \
+ " test ${boot_device} = spi-nand ;" \
+ "then env set boot_targets ubifs0 mmc0; fi;" \
+ "if test ${boot_device} = nor;" \
+ "then env set boot_targets mmc0; fi;" \
+ "run distro_bootcmd;" \
+ "fi;\0"
+
+#undef CFG_EXTRA_ENV_SETTINGS
+#define CFG_EXTRA_ENV_SETTINGS \
+ STM32MP_MEM_LAYOUT \
+ ST_STM32MP25_BOOTCMD \
+ BOOTENV \
+ STM32MP_EXTRA \
+ STM32MP_BOARD_EXTRA_ENV
+
+#endif
+#endif