[U-Boot] [RFC 3/3] omap3evm: Add support for quick boot

Sanjeev Premi premi at ti.com
Thu Oct 28 18:39:14 CEST 2010


Default configuration enables multiple features that are great
for intial development work. But many of them are not useful
when time to boot kernel is important - and uboot is frozen.

This patch attempts to reduce the size of u-boot binary by
excluding unused/not-so-commonly used features/commands. It
allows initialization of unused devices to be skipped.

Less time to load the binary and selective initialization
results in considerable reduction in overall boot time.

Signed-off-by: Sanjeev Premi <premi at ti.com>
---
 include/configs/omap3_evm_quick.h |  155 +++++++++++++++++++++++++++++++++++++
 1 files changed, 155 insertions(+), 0 deletions(-)
 create mode 100644 include/configs/omap3_evm_quick.h

diff --git a/include/configs/omap3_evm_quick.h b/include/configs/omap3_evm_quick.h
new file mode 100644
index 0000000..3703535
--- /dev/null
+++ b/include/configs/omap3_evm_quick.h
@@ -0,0 +1,155 @@
+/*
+ * Configuration settings for quick boot on OMAP3 EVM.
+ *
+ * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * Author :
+ *	Sanjeev Premi <premi at ti.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed "as is" WITHOUT ANY WARRANTY of any
+ * kind, whether express or implied; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef __OMAP3_EVM_QUICK_H
+#define __OMAP3_EVM_QUICK_H
+
+#include "omap3_evm_common.h"
+
+/*
+ * Generic config options
+ */
+#ifndef CONFIG_SILENT_CONSOLE
+	#define CONFIG_SILENT_CONSOLE	1
+#endif
+
+#ifndef CONFIG_ENV_IS_NOWHERE
+	#define CONFIG_ENV_IS_NOWHERE	1
+#endif
+
+#undef CONFIG_SYS_LONGHELP
+#undef CONFIG_SYS_HUSH_PARSER
+
+/*
+ * Exclude unused/rarely used features.
+ */
+#undef CONFIG_REVISION_TAG
+
+#undef CONFIG_MD5
+#undef CONFIG_SHA1
+#undef CONFIG_BZIP2
+#undef CONFIG_LZMA
+
+#undef CONFIG_CMD_BDI
+#undef CONFIG_CMD_BOOTD
+#undef CONFIG_CMD_CONSOLE
+#undef CONFIG_CMD_ECHO
+#undef CONFIG_CMD_EDITENV
+#undef CONFIG_CMD_FPGA
+#undef CONFIG_CMD_IMI
+#undef CONFIG_CMD_ITEST
+#undef CONFIG_CMD_LOADB
+#undef CONFIG_CMD_LOADS
+#undef CONFIG_CMD_NET
+#undef CONFIG_CMD_NFS
+#undef CONFIG_CMD_SETGETDCR
+#undef CONFIG_CMD_SOURCE
+#undef CONFIG_CMD_XIMG
+#undef CONFIG_CMD_FPGA
+#undef CONFIG_CMD_IMLS
+#undef CONFIG_CMD_FLASH
+#undef CONFIG_CMD_EXT2
+#undef CONFIG_CMD_USB
+
+#undef CONFIG_NET_MULTI
+
+#undef CONFIG_SMC911X
+
+#undef CONFIG_OF_LIBFDT
+#undef CONFIG_FIT
+
+#undef CONFIG_EXTRA_ENV_SETTINGS
+#define CONFIG_EXTRA_ENV_SETTINGS \
+	"verify=no\0" \
+	"bootfile=uImage\0"
+
+#undef CONFIG_BOOTDELAY
+#define CONFIG_BOOTDELAY	0
+
+/*
+ * Select options based on choice of boot medium.
+ */
+#ifdef CONFIG_QUICK_BOOT_MMC
+
+#undef CONFIG_NAND_OMAP_GPMC
+#undef CONFIG_ENV_IS_IN_NAND
+#undef CONFIG_CMD_NAND
+
+#endif
+
+#ifdef CONFIG_QUICK_BOOT_MMC
+
+#undef CONFIG_ENV_IS_IN_NAND
+#undef CONFIG_CMD_NAND
+
+#undef CONFIG_BOOTCOMMAND
+#define CONFIG_BOOTCOMMAND			\
+	"mmc init; "				\
+	"fatload mmc 0 0x80000000 uImage; "	\
+	"bootm 0x80000000;"
+
+#undef CONFIG_BOOTARGS
+#define CONFIG_BOOTARGS			\
+	"console=ttyS0,115200n8 "	\
+	"mem=128M quiet noinitrd"	\
+	"root=/dev/mmcblk0p2 rw "	\
+	"rootfstype=ext3 rootwait "
+
+#endif /* CONFIG_QUICK_BOOT_MMC */
+
+#ifdef CONFIG_QUICK_BOOT_NAND
+
+# undef CONFIG_OMAP3_MMC
+# undef CONFIG_CMD_MMC
+# undef CONFIG_DOS_PARTITION
+# undef CONFIG_CMD_FAT
+
+#undef CONFIG_BOOTCOMMAND
+#define CONFIG_BOOTCOMMAND		\
+	"nand read.i 0x80000000 280000 500000; " \
+	"bootm 0x80000000;"
+
+#undef CONFIG_BOOTARGS
+#define CONFIG_BOOTARGS			\
+	"console=ttyS0,115200n8 "	\
+	"mem=128M quiet noinitrd"	\
+	"root=/dev/mtdblock4 rw "	\
+	"rootfstype=jffs2 "
+
+#endif /* CONFIG_QUICK_BOOT_NAND */
+
+/*
+ * Board specific features
+ * Exclude not-so-common features
+ */
+#undef CONFIG_USB_OMAP3
+#undef CONFIG_MUSB_HCD
+
+#undef CONFIG_USB_STORAGE
+#undef CONFIG_USB_KEYBOARD
+#undef CONFIG_SYS_USB_EVENT_POLL
+#undef CONFIG_PREBOOT
+
+#undef CONFIG_MUSB_UDC
+#undef CONFIG_USB_DEVICE
+#undef CONFIG_USB_TTY
+
+#endif /* __OMAP3_EVM_QUICK_H */
+
+
-- 
1.7.2.2



More information about the U-Boot mailing list