mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
igep003x: UBIize
Convert IGEP board to use UBI volumes for U-Boot, its environment and kernel. With exception of first four sectors read by SoC BootROM whole NAND is UBI managed. Signed-off-by: Ladislav Michl <ladis@linux-mips.org> Reviewed-by: Heiko Schocher<hs@denx.de> Tested-by: Pau Pajuelo <ppajuel@gmail.com>
This commit is contained in:
parent
a96c08f509
commit
3607e0f86f
3 changed files with 48 additions and 18 deletions
|
@ -23,6 +23,9 @@
|
|||
#include <i2c.h>
|
||||
#include <miiphy.h>
|
||||
#include <cpsw.h>
|
||||
#include <fdt_support.h>
|
||||
#include <mtd_node.h>
|
||||
#include <jffs2/load_kernel.h>
|
||||
#include "board.h"
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
@ -104,6 +107,20 @@ int board_init(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_OF_BOARD_SETUP
|
||||
int ft_board_setup(void *blob, bd_t *bd)
|
||||
{
|
||||
#ifdef CONFIG_FDT_FIXUP_PARTITIONS
|
||||
static struct node_info nodes[] = {
|
||||
{ "ti,omap2-nand", MTD_DEV_TYPE_NAND, },
|
||||
};
|
||||
|
||||
fdt_fixup_mtdparts(blob, nodes, ARRAY_SIZE(nodes));
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_DRIVER_TI_CPSW)
|
||||
static void cpsw_control(int enabled)
|
||||
{
|
||||
|
|
|
@ -14,6 +14,7 @@ CONFIG_SPL_WATCHDOG_SUPPORT=y
|
|||
CONFIG_SPL_FAT_SUPPORT=y
|
||||
CONFIG_SPL_POWER_SUPPORT=y
|
||||
CONFIG_SPL_STACK_R_ADDR=0x82000000
|
||||
CONFIG_OF_BOARD_SETUP=y
|
||||
CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0033"
|
||||
CONFIG_SYS_CONSOLE_INFO_QUIET=y
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
|
@ -42,9 +43,12 @@ CONFIG_CMD_EXT4=y
|
|||
CONFIG_CMD_EXT4_WRITE=y
|
||||
CONFIG_CMD_FAT=y
|
||||
CONFIG_CMD_FS_GENERIC=y
|
||||
CONFIG_CMD_UBI=y
|
||||
CONFIG_ISO_PARTITION=y
|
||||
CONFIG_EFI_PARTITION=y
|
||||
CONFIG_MMC_OMAP_HS=y
|
||||
CONFIG_MTD_UBI_FASTMAP=y
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_OF_LIBFDT=y
|
||||
CONFIG_FDT_FIXUP_PARTITIONS=y
|
||||
# CONFIG_GENERATE_SMBIOS_TABLE is not set
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#define V_OSCK 24000000 /* Clock output from T2 */
|
||||
#define V_SCLK (V_OSCK)
|
||||
|
||||
#define CONFIG_ENV_SIZE (128 << 10) /* 128 KiB */
|
||||
#define CONFIG_ENV_SIZE (96 << 10) /* 96 KiB */
|
||||
|
||||
/* Make the verbose messages from UBI stop printing */
|
||||
#define CONFIG_UBI_SILENCE_MSG
|
||||
|
@ -67,11 +67,11 @@
|
|||
"fi;\0" \
|
||||
"mtdids=" MTDIDS_DEFAULT "\0" \
|
||||
"mtdparts=" MTDPARTS_DEFAULT "\0" \
|
||||
"nandroot=ubi0:filesystem rw ubi.mtd=3,2048\0" \
|
||||
"nandroot=ubi0:rootfs rw ubi.mtd=1\0" \
|
||||
"nandrootfstype=ubifs rootwait\0" \
|
||||
"nandload=ubi part filesystem 2048; ubifsmount ubi0; " \
|
||||
"ubifsload ${loadaddr} ${bootdir}/${bootfile}; " \
|
||||
"ubifsload ${fdtaddr} ${bootdir}/${dtbfile} \0" \
|
||||
"nandload=ubi part UBI; " \
|
||||
"ubi read ${loadaddr} kernel; " \
|
||||
"ubi read ${fdtaddr} dtb \0" \
|
||||
"nandargs=setenv bootargs console=${console} " \
|
||||
"${optargs} " \
|
||||
"root=${nandroot} " \
|
||||
|
@ -97,12 +97,6 @@
|
|||
/* NAND support */
|
||||
#define CONFIG_NAND_OMAP_ELM
|
||||
#define CONFIG_SYS_NAND_ONFI_DETECTION 1
|
||||
#define CONFIG_SYS_ENV_SECT_SIZE (128 << 10) /* 128 KiB */
|
||||
#define CONFIG_SYS_REDUNDAND_ENVIRONMENT
|
||||
#define CONFIG_ENV_IS_IN_NAND
|
||||
#define CONFIG_ENV_OFFSET 0x180000 /* environment starts here */
|
||||
#define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_OFFSET + CONFIG_SYS_ENV_SECT_SIZE)
|
||||
#define CONFIG_ENV_SIZE_REDUND (CONFIG_ENV_SIZE)
|
||||
|
||||
#define CONFIG_MTD_PARTITIONS
|
||||
#define CONFIG_MTD_DEVICE
|
||||
|
@ -110,13 +104,32 @@
|
|||
#define CONFIG_LZO
|
||||
|
||||
#define MTDIDS_DEFAULT "nand0=omap2-nand.0"
|
||||
#define MTDPARTS_DEFAULT "mtdparts=omap2-nand.0:512k(spl),"\
|
||||
"1m(uboot),256k(environment),"\
|
||||
"-(filesystem)"
|
||||
#define MTDPARTS_DEFAULT "mtdparts=omap2-nand.0:512k(SPL),-(UBI)"
|
||||
|
||||
/* SPL */
|
||||
#define CONFIG_SPL_LDSCRIPT "arch/arm/mach-omap2/am33xx/u-boot-spl.lds"
|
||||
|
||||
/* UBI configuration */
|
||||
#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
|
||||
|
||||
/* environment organization */
|
||||
#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"
|
||||
|
||||
/* NAND config */
|
||||
#define CONFIG_SYS_NAND_5_ADDR_CYCLE
|
||||
#define CONFIG_SYS_NAND_PAGE_COUNT (CONFIG_SYS_NAND_BLOCK_SIZE / \
|
||||
CONFIG_SYS_NAND_PAGE_SIZE)
|
||||
|
@ -136,8 +149,4 @@
|
|||
#define CONFIG_SYS_NAND_ECCBYTES 14
|
||||
#define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH8_CODE_HW
|
||||
|
||||
#define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE
|
||||
|
||||
#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000
|
||||
|
||||
#endif /* ! __CONFIG_IGEP003X_H */
|
||||
|
|
Loading…
Reference in a new issue