
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@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@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 */ + +