[U-Boot] [PATCHv7 6/7] igep00x0: UBIize

Heiko Schocher hs at denx.de
Thu Jan 21 07:07:27 CET 2016


Hello Ladislav,

Am 17.01.2016 um 04:16 schrieb Ladislav Michl:
> Convert IGEP board to use UBI volumes for U-Boot, its environment and
> kernel. With exception of first four sectors read by SoC boot
> ROM whole NAND is UBI managed. As code is too big now, drop
> CONFIG_SPL_EXT_SUPPORT to make it fit.
>
> Signed-off-by: Ladislav Michl <ladis at linux-mips.org>
> ---
>   include/configs/omap3_igep00x0.h | 80 ++++++++++++++++++++++------------------
>   1 file changed, 45 insertions(+), 35 deletions(-)

Reviewed-by: Heiko Schocher <hs at denx.de>

bye,
Heiko
>
> diff --git a/include/configs/omap3_igep00x0.h b/include/configs/omap3_igep00x0.h
> index 5da6cfd..9afbcbe 100644
> --- a/include/configs/omap3_igep00x0.h
> +++ b/include/configs/omap3_igep00x0.h
> @@ -74,6 +74,8 @@
>   #define CONFIG_CMD_CACHE
>   #ifdef CONFIG_BOOT_ONENAND
>   #define CONFIG_CMD_ONENAND	/* ONENAND support		*/
> +#else
> +#define CONFIG_CMD_UBI
>   #endif
>   #define CONFIG_CMD_DHCP
>   #define CONFIG_CMD_PING
> @@ -86,6 +88,10 @@
>   	"stdout=serial\0" \
>   	"stderr=serial\0"
>
> +#define ENV_MTD_SETTINGS \
> +	"mtdids=nand0=gpmc-nand.0\0" \
> +	"mtdparts=mtdparts=gpmc-nand.0:512k(SPL),-(UBI)\0"
> +
>   #define MEM_LAYOUT_SETTINGS \
>   	DEFAULT_LINUX_BOOT_ENV \
>   	"scriptaddr=0x87E00000\0" \
> @@ -96,36 +102,15 @@
>
>   #include <config_distro_bootcmd.h>
>
> -
>   #define CONFIG_EXTRA_ENV_SETTINGS \
>   	ENV_DEVICE_SETTINGS \
> +	ENV_MTD_SETTINGS \
>   	MEM_LAYOUT_SETTINGS \
>   	BOOTENV
>
>   #endif
>
>   /*
> - * FLASH and environment organization
> - */
> -
> -#ifdef CONFIG_BOOT_ONENAND
> -#define CONFIG_SYS_ONENAND_BASE		ONENAND_MAP
> -
> -#define ONENAND_ENV_OFFSET		0x260000 /* environment starts here */
> -
> -#define CONFIG_ENV_IS_IN_ONENAND	1
> -#define CONFIG_ENV_SIZE			(512 << 10) /* Total Size Environment */
> -#define CONFIG_ENV_ADDR			ONENAND_ENV_OFFSET
> -#endif
> -
> -#ifdef CONFIG_NAND
> -#define CONFIG_ENV_OFFSET		0x260000 /* environment starts here */
> -#define CONFIG_ENV_IS_IN_NAND	        1
> -#define CONFIG_ENV_SIZE			(512 << 10) /* Total Size Environment */
> -#define CONFIG_ENV_ADDR			NAND_ENV_OFFSET
> -#endif
> -
> -/*
>    * SMSC911x Ethernet
>    */
>   #if defined(CONFIG_CMD_NET)
> @@ -134,19 +119,50 @@
>   #define CONFIG_SMC911X_BASE		0x2C000000
>   #endif /* (CONFIG_CMD_NET) */
>
> +/*
> + * FLASH and environment organization
> + */
> +#ifdef CONFIG_NAND
> +#define CONFIG_SPL_UBI			1
> +#define CONFIG_SPL_UBI_MAX_VOL_LEBS	256
> +#define CONFIG_SPL_UBI_MAX_PEB_SIZE	(256*1024)
> +#define CONFIG_SPL_UBI_MAX_PEBS		4096
> +#define CONFIG_SPL_UBI_VOL_IDS		8
> +#define CONFIG_SPL_UBI_LOAD_MONITOR_ID	0
> +#define CONFIG_SPL_UBI_LOAD_KERNEL_ID	3
> +#define CONFIG_SPL_UBI_LOAD_ARGS_ID	4
> +#define CONFIG_SPL_UBI_PEB_OFFSET	4
> +#define CONFIG_SPL_UBI_VID_OFFSET	512
> +#define CONFIG_SPL_UBI_LEB_START	2048
> +#define CONFIG_SPL_UBI_INFO_ADDR	0x88080000
> +
> +#define CONFIG_ENV_IS_IN_UBI		1
> +#define CONFIG_ENV_UBI_PART		"UBI"
> +#define CONFIG_ENV_UBI_VOLUME		"config"
> +#define CONFIG_ENV_UBI_VOLUME_REDUND	"config_r"
> +#define CONFIG_UBI_SILENCE_MSG		1
> +#define CONFIG_UBIFS_SILENCE_MSG	1
> +#else
> +#define CONFIG_ENV_IS_NOWHERE
> +#endif
> +#define CONFIG_ENV_SIZE			(32*1024)
> +
> +#define CONFIG_RBTREE
> +#define CONFIG_MTD_PARTITIONS
> +#define MTDIDS_DEFAULT			"nand0=gpmc-nand.0"
> +#define MTDPARTS_DEFAULT		"mtdparts=gpmc-nand.0:512k(SPL),-(UBI)"
> +
>   /* OneNAND boot config */
>   #ifdef CONFIG_BOOT_ONENAND
>   #define CONFIG_SPL_ONENAND_SUPPORT
> -#define CONFIG_SYS_ONENAND_U_BOOT_OFFS  0x80000
>   #define CONFIG_SYS_ONENAND_PAGE_SIZE	2048
> -#define CONFIG_SPL_ONENAND_LOAD_ADDR    0x80000
> -#define CONFIG_SPL_ONENAND_LOAD_SIZE    \
> -	(512 * 1024 - CONFIG_SPL_ONENAND_LOAD_ADDR)
> -
> +#define CONFIG_SYS_ONENAND_BASE		ONENAND_MAP
> +#define CONFIG_SYS_ONENAND_U_BOOT_OFFS	0x80000
>   #endif
>
>   /* NAND boot config */
>   #ifdef CONFIG_NAND
> +#define CONFIG_SPL_NAND_SUPPORT
>   #define CONFIG_SYS_NAND_BUSWIDTH_16BIT
>   #define CONFIG_SYS_NAND_5_ADDR_CYCLE
>   #define CONFIG_SYS_NAND_PAGE_COUNT	64
> @@ -166,14 +182,8 @@
>   #define CONFIG_NAND_OMAP_ECCSCHEME	OMAP_ECC_BCH8_CODE_HW_DETECTION_SW
>   #define CONFIG_NAND_OMAP_GPMC
>   #define CONFIG_BCH
> -
> -#define CONFIG_SYS_NAND_U_BOOT_OFFS	0x80000
> -/* NAND: SPL falcon mode configs */
> -#ifdef CONFIG_SPL_OS_BOOT
> -#define CONFIG_CMD_SPL_NAND_OFS		0x240000
> -#define CONFIG_SYS_NAND_SPL_KERNEL_OFFS	0x280000
> -#define CONFIG_CMD_SPL_WRITE_SIZE	0x2000
> -#endif
>   #endif
>
> +#undef CONFIG_SPL_EXT_SUPPORT
> +
>   #endif /* __IGEP00X0_H */
>

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list