From cf73639d32ebe9f53a4244f81cfd66c39f0e66eb Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Fri, 4 May 2012 10:30:16 +0200 Subject: km/common: add support for second flash Add support for a second flash. By default, a single flash chip is set up: - called 'boot' - mtd name for ubi 'ubi0' MTDIDS and MTDPARTS may be overwritten to add a second flash. The 'ubiattach' command is featured in two versions: - if CONFIG_KM_UBI_PARTITION_NAME_APP is not defined: this is the version as up to now - if CONFIG_KM_UBI_PARTITION_NAME_APP is defined: a check on 'actual_bank' will be done to determine the flash to boot from. Use CONFIG_KM_UBI_PARTITION_NAME_BOOT and CONFIG_KM_UBI_PARTITION_NAME_APP to define where to put the bootloader and the applications. Example: In the board config do: ... snip ... "boot:" \ "768k(u-boot)," \ "128k(env)," \ "128k(envred)," \ "-(" CONFIG_KM_UBI_PARTITION_NAME_BOOT ");" \ "app:" \ "-(" CONFIG_KM_UBI_PARTITION_NAME_APP ");" ... snap ... You may also need to enable the second flash: ... snip ... /* additional featured for COGE5 */ ... snap ... Signed-off-by: Andreas Huber cc: Kim Phillips cc: Valentin Longchamp cc: Gerlando Falauto Signed-off-by: Holger Brunck Signed-off-by: Kim Phillips --- include/configs/km/keymile-common.h | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) (limited to 'include/configs/km/keymile-common.h') diff --git a/include/configs/km/keymile-common.h b/include/configs/km/keymile-common.h index 7a01705..4f606a0 100644 --- a/include/configs/km/keymile-common.h +++ b/include/configs/km/keymile-common.h @@ -126,12 +126,29 @@ "netdev=eth0\0" #endif -#ifndef CONFIG_KM_UBI_PARTITION_NAME -#define CONFIG_KM_UBI_PARTITION_NAME "ubi0" -#endif -#ifndef CONFIG_KM_UBI_LINUX_MTD_NAME -#define CONFIG_KM_UBI_LINUX_MTD_NAME "ubi0" -#endif +#ifndef CONFIG_KM_UBI_PARTITION_NAME_BOOT +#define CONFIG_KM_UBI_PARTITION_NAME_BOOT "ubi0" +#endif /* CONFIG_KM_UBI_PARTITION_NAME_BOOT */ + +#ifndef CONFIG_KM_UBI_PARTITION_NAME_APP +/* one flash chip only called boot */ +/* boot: CONFIG_KM_UBI_PARTITION_NAME_BOOT */ +# define CONFIG_KM_UBI_LINUX_MTD \ + "ubi.mtd=" CONFIG_KM_UBI_PARTITION_NAME_BOOT +# define CONFIG_KM_DEV_ENV_FLASH_BOOT_UBI \ + "ubiattach=ubi part " CONFIG_KM_UBI_PARTITION_NAME_BOOT "\0" +#else /* CONFIG_KM_UBI_PARTITION_NAME_APP */ +/* two flash chips called boot and app */ +/* boot: CONFIG_KM_UBI_PARTITION_NAME_BOOT */ +/* app: CONFIG_KM_UBI_PARTITION_NAME_APP */ +# define CONFIG_KM_UBI_LINUX_MTD \ + "ubi.mtd=" CONFIG_KM_UBI_PARTITION_NAME_BOOT " " \ + "ubi.mtd=" CONFIG_KM_UBI_PARTITION_NAME_APP +# define CONFIG_KM_DEV_ENV_FLASH_BOOT_UBI \ + "ubiattach=if test ${boot_bank} -eq 0; then; " \ + "ubi part " CONFIG_KM_UBI_PARTITION_NAME_BOOT "; else; " \ + "ubi part " CONFIG_KM_UBI_PARTITION_NAME_APP "; fi\0" +#endif /* CONFIG_KM_UBI_PARTITION_NAME_APP */ #define xstr(s) str(s) #define str(s) #s @@ -173,7 +190,7 @@ " console=" CONFIG_KM_CONSOLE_TTY ",${baudrate}" \ " mem=${kernelmem} init=${init}" \ " phram.phram=phvar,${varaddr}," xstr(CONFIG_KM_PHRAM) \ - " ubi.mtd=" CONFIG_KM_UBI_LINUX_MTD_NAME " " \ + " " CONFIG_KM_UBI_LINUX_MTD " " \ CONFIG_KM_DEF_BOOT_ARGS_CPU \ "\0" \ "addpanic=" \ @@ -199,10 +216,9 @@ #define CONFIG_KM_DEF_ENV_FLASH_BOOT \ "cramfsaddr=" xstr(CONFIG_KM_CRAMFS_ADDR) "\0" \ "cramfsloadkernel=cramfsload ${load_addr_r} uImage\0" \ - "ubiattach=ubi part " CONFIG_KM_UBI_PARTITION_NAME "\0" \ "ubicopy=ubi read "xstr(CONFIG_KM_CRAMFS_ADDR) \ " bootfs${boot_bank}\0" \ - "" + CONFIG_KM_DEV_ENV_FLASH_BOOT_UBI /* * constants -- cgit v1.1