aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Klauer <daniel.klauer@gin.de>2022-02-09 15:53:41 +0100
committerPriyanka Jain <priyanka.jain@nxp.com>2022-02-28 12:01:02 +0530
commit453db6056850e1ac1be0a12df72fcf3bd5f61bd3 (patch)
tree0c56a40a1d3566ea8a1582dd1e4600d337f5ba6a
parent554a85313bc7bb50704c2a8d6f4857037aea2426 (diff)
downloadu-boot-453db6056850e1ac1be0a12df72fcf3bd5f61bd3.zip
u-boot-453db6056850e1ac1be0a12df72fcf3bd5f61bd3.tar.gz
u-boot-453db6056850e1ac1be0a12df72fcf3bd5f61bd3.tar.bz2
lx2160a: Fix distroboot device list for configs without USB/SCSI/etc
The BOOT_TARGET_DEVICES list for distro_bootcmd was hard-coded to assume that all boot devices are available/enabled in the configuration, thus ignoring the actual config settings. The config_distro_bootcmd.h header file specifically has compile-time checks to detect such problems. To allow disabling USB, SCSI, etc. in custom lx2160a board configs, make it depend on the config settings and use only the enabled features. Signed-off-by: Daniel Klauer <daniel.klauer@gin.de> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
-rw-r--r--include/configs/lx2160a_common.h34
1 files changed, 29 insertions, 5 deletions
diff --git a/include/configs/lx2160a_common.h b/include/configs/lx2160a_common.h
index e31f8d0..4f4b571 100644
--- a/include/configs/lx2160a_common.h
+++ b/include/configs/lx2160a_common.h
@@ -244,12 +244,36 @@
"run distro_bootcmd;run sd2_bootcmd;" \
"env exists secureboot && esbc_halt;"
+#ifdef CONFIG_CMD_USB
+#define BOOT_TARGET_DEVICES_USB(func) func(USB, usb, 0)
+#else
+#define BOOT_TARGET_DEVICES_USB(func)
+#endif
+
+#ifdef CONFIG_MMC
+#define BOOT_TARGET_DEVICES_MMC(func, instance) func(MMC, mmc, instance)
+#else
+#define BOOT_TARGET_DEVICES_MMC(func)
+#endif
+
+#ifdef CONFIG_SCSI
+#define BOOT_TARGET_DEVICES_SCSI(func) func(SCSI, scsi, 0)
+#else
+#define BOOT_TARGET_DEVICES_SCSI(func)
+#endif
+
+#ifdef CONFIG_CMD_DHCP
+#define BOOT_TARGET_DEVICES_DHCP(func) func(DHCP, dhcp, na)
+#else
+#define BOOT_TARGET_DEVICES_DHCP(func)
+#endif
+
#define BOOT_TARGET_DEVICES(func) \
- func(USB, usb, 0) \
- func(MMC, mmc, 0) \
- func(MMC, mmc, 1) \
- func(SCSI, scsi, 0) \
- func(DHCP, dhcp, na)
+ BOOT_TARGET_DEVICES_USB(func) \
+ BOOT_TARGET_DEVICES_MMC(func, 0) \
+ BOOT_TARGET_DEVICES_MMC(func, 1) \
+ BOOT_TARGET_DEVICES_SCSI(func) \
+ BOOT_TARGET_DEVICES_DHCP(func)
#include <config_distro_bootcmd.h>
#endif /* __LX2_COMMON_H */