summaryrefslogtreecommitdiffstats
path: root/include/config_distro_bootcmd.h
diff options
context:
space:
mode:
authorJoshua Watt <jpewhacker@gmail.com>2019-06-20 16:31:35 -0500
committerTom Rini <trini@konsulko.com>2019-06-21 10:07:11 -0400
commitd5e994fc55eeac0938c5a0204d64e0b97397567e (patch)
tree9ad37230d7111244fcb1f33f2cb27cd1c00d6471 /include/config_distro_bootcmd.h
parent46e765226c17c34838518a38eea27bc5f42a6f16 (diff)
downloadu-boot-d5e994fc55eeac0938c5a0204d64e0b97397567e.tar.gz
u-boot-d5e994fc55eeac0938c5a0204d64e0b97397567e.tar.xz
u-boot-d5e994fc55eeac0938c5a0204d64e0b97397567e.zip
config_distro_bootcmd: Init IDE devices
IDE devices are no longer automatically probed by u-boot, so it should be done by the distro boot command before attempting to boot from IDE (just like scsi and nvme) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Diffstat (limited to 'include/config_distro_bootcmd.h')
-rw-r--r--include/config_distro_bootcmd.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
index 4993303f4d..26e61ef196 100644
--- a/include/config_distro_bootcmd.h
+++ b/include/config_distro_bootcmd.h
@@ -229,10 +229,23 @@
#endif
#ifdef CONFIG_IDE
-#define BOOTENV_SHARED_IDE BOOTENV_SHARED_BLKDEV(ide)
+#define BOOTENV_RUN_IDE_INIT "run ide_init; "
+#define BOOTENV_SET_IDE_NEED_INIT "setenv ide_need_init; "
+#define BOOTENV_SHARED_IDE \
+ "ide_init=" \
+ "if ${ide_need_init}; then " \
+ "setenv ide_need_init false; " \
+ "ide reset; " \
+ "fi\0" \
+ \
+ "ide_boot=" \
+ BOOTENV_RUN_IDE_INIT \
+ BOOTENV_SHARED_BLKDEV_BODY(ide)
#define BOOTENV_DEV_IDE BOOTENV_DEV_BLKDEV
#define BOOTENV_DEV_NAME_IDE BOOTENV_DEV_NAME_BLKDEV
#else
+#define BOOTENV_RUN_IDE_INIT
+#define BOOTENV_SET_IDE_NEED_INIT
#define BOOTENV_SHARED_IDE
#define BOOTENV_DEV_IDE \
BOOT_TARGET_DEVICES_references_IDE_without_CONFIG_IDE
@@ -451,6 +464,7 @@
\
"distro_bootcmd=" BOOTENV_SET_SCSI_NEED_INIT \
BOOTENV_SET_NVME_NEED_INIT \
+ BOOTENV_SET_IDE_NEED_INIT \
"for target in ${boot_targets}; do " \
"run bootcmd_${target}; " \
"done\0"