Commit 4b9dc7c26b5a7e20c9be697f1ba3bb4ba995c643

Authored by Ladislav Michl
Committed by Tom Rini
1 parent 97ee70606c

igep00x0: UBIize

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 (One)NAND is UBI managed.
Also merge NAND and OneNAND defconfigs as now one binary can serve
both flashes.
As code is too big now, drop CONFIG_SPL_EXT_SUPPORT to make it fit.

Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
Reviewed-by: Heiko Schocher <hs@denx.de>

Showing 3 changed files with 41 additions and 75 deletions Side-by-side Diff

configs/igep0020_defconfig
... ... @@ -2,7 +2,8 @@
2 2 CONFIG_OMAP34XX=y
3 3 CONFIG_TARGET_OMAP3_IGEP00X0=y
4 4 CONFIG_SPL=y
5   -CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0020,BOOT_ONENAND"
  5 +CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0020"
  6 +CONFIG_BOOTDELAY=3
6 7 CONFIG_HUSH_PARSER=y
7 8 CONFIG_CMD_BOOTZ=y
8 9 # CONFIG_CMD_IMLS is not set
... ... @@ -24,5 +25,6 @@
24 25 CONFIG_CMD_FS_GENERIC=y
25 26 CONFIG_NET_RANDOM_ETHADDR=y
26 27 CONFIG_SYS_NS16550=y
  28 +CONFIG_USE_TINY_PRINTF=y
27 29 CONFIG_OF_LIBFDT=y
configs/igep0020_nand_defconfig
1   -CONFIG_ARM=y
2   -CONFIG_OMAP34XX=y
3   -CONFIG_TARGET_OMAP3_IGEP00X0=y
4   -CONFIG_SPL=y
5   -CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0020,BOOT_NAND"
6   -CONFIG_HUSH_PARSER=y
7   -CONFIG_CMD_BOOTZ=y
8   -# CONFIG_CMD_IMLS is not set
9   -CONFIG_CMD_ASKENV=y
10   -# CONFIG_CMD_FLASH is not set
11   -CONFIG_CMD_MMC=y
12   -CONFIG_CMD_SPI=y
13   -CONFIG_CMD_I2C=y
14   -CONFIG_CMD_GPIO=y
15   -# CONFIG_CMD_SETEXPR is not set
16   -CONFIG_CMD_DHCP=y
17   -CONFIG_CMD_MII=y
18   -CONFIG_CMD_PING=y
19   -CONFIG_CMD_CACHE=y
20   -CONFIG_CMD_EXT2=y
21   -CONFIG_CMD_EXT4=y
22   -CONFIG_CMD_EXT4_WRITE=y
23   -CONFIG_CMD_FAT=y
24   -CONFIG_CMD_FS_GENERIC=y
25   -CONFIG_NET_RANDOM_ETHADDR=y
26   -CONFIG_SYS_NS16550=y
27   -CONFIG_OF_LIBFDT=y
include/configs/omap3_igep00x0.h
... ... @@ -10,12 +10,9 @@
10 10 #ifndef __IGEP00X0_H
11 11 #define __IGEP00X0_H
12 12  
13   -#ifdef CONFIG_BOOT_NAND
  13 +#define CONFIG_NR_DRAM_BANKS 2
14 14 #define CONFIG_NAND
15   -#endif
16 15  
17   -#define CONFIG_NR_DRAM_BANKS 2
18   -
19 16 #include <configs/ti_omap3_common.h>
20 17 #include <asm/mach-types.h>
21 18  
... ... @@ -76,9 +73,9 @@
76 73 #define CONFIG_USBD_MANUFACTURER "Texas Instruments"
77 74 #define CONFIG_USBD_PRODUCT_NAME "IGEP"
78 75  
79   -#ifdef CONFIG_BOOT_ONENAND
80   -#define CONFIG_CMD_ONENAND /* ONENAND support */
81   -#endif
  76 +#define CONFIG_CMD_MTDPARTS
  77 +#define CONFIG_CMD_ONENAND
  78 +#define CONFIG_CMD_UBI
82 79  
83 80 #ifndef CONFIG_SPL_BUILD
84 81  
... ... @@ -106,27 +103,6 @@
106 103 #endif
107 104  
108 105 /*
109   - * FLASH and environment organization
110   - */
111   -
112   -#ifdef CONFIG_BOOT_ONENAND
113   -#define CONFIG_SYS_ONENAND_BASE ONENAND_MAP
114   -
115   -#define ONENAND_ENV_OFFSET 0x260000 /* environment starts here */
116   -
117   -#define CONFIG_ENV_IS_IN_ONENAND 1
118   -#define CONFIG_ENV_SIZE (512 << 10) /* Total Size Environment */
119   -#define CONFIG_ENV_ADDR ONENAND_ENV_OFFSET
120   -#endif
121   -
122   -#ifdef CONFIG_NAND
123   -#define CONFIG_ENV_OFFSET 0x260000 /* environment starts here */
124   -#define CONFIG_ENV_IS_IN_NAND 1
125   -#define CONFIG_ENV_SIZE (512 << 10) /* Total Size Environment */
126   -#define CONFIG_ENV_ADDR NAND_ENV_OFFSET
127   -#endif
128   -
129   -/*
130 106 * SMSC911x Ethernet
131 107 */
132 108 #if defined(CONFIG_CMD_NET)
133 109  
134 110  
... ... @@ -135,19 +111,18 @@
135 111 #define CONFIG_SMC911X_BASE 0x2C000000
136 112 #endif /* (CONFIG_CMD_NET) */
137 113  
138   -/* OneNAND boot config */
139   -#ifdef CONFIG_BOOT_ONENAND
  114 +#define CONFIG_RBTREE
  115 +#define CONFIG_MTD_PARTITIONS
  116 +
  117 +/* OneNAND config */
140 118 #define CONFIG_SPL_ONENAND_SUPPORT
141   -#define CONFIG_SYS_ONENAND_U_BOOT_OFFS 0x80000
142   -#define CONFIG_SYS_ONENAND_PAGE_SIZE 2048
143   -#define CONFIG_SPL_ONENAND_LOAD_ADDR 0x80000
144   -#define CONFIG_SPL_ONENAND_LOAD_SIZE \
145   - (512 * 1024 - CONFIG_SPL_ONENAND_LOAD_ADDR)
  119 +#define CONFIG_USE_ONENAND_BOARD_INIT
  120 +#define CONFIG_SYS_ONENAND_BASE ONENAND_MAP
  121 +#define CONFIG_SYS_ONENAND_BLOCK_SIZE (128*1024)
146 122  
147   -#endif
148   -
149   -/* NAND boot config */
150   -#ifdef CONFIG_NAND
  123 +/* NAND config */
  124 +#define CONFIG_SPL_NAND_SUPPORT
  125 +#define CONFIG_SPL_OMAP3_ID_NAND
151 126 #define CONFIG_SYS_NAND_BUSWIDTH_16BIT
152 127 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
153 128 #define CONFIG_SYS_NAND_PAGE_COUNT 64
... ... @@ -168,14 +143,30 @@
168 143 #define CONFIG_NAND_OMAP_GPMC
169 144 #define CONFIG_BCH
170 145  
171   -#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000
172   -/* NAND: SPL falcon mode configs */
173   -#ifdef CONFIG_SPL_OS_BOOT
174   -#define CONFIG_CMD_SPL_NAND_OFS 0x240000
175   -#define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x280000
176   -#define CONFIG_CMD_SPL_WRITE_SIZE 0x2000
177   -#endif
178   -#endif
  146 +/* UBI configuration */
  147 +#define CONFIG_SPL_UBI 1
  148 +#define CONFIG_SPL_UBI_MAX_VOL_LEBS 256
  149 +#define CONFIG_SPL_UBI_MAX_PEB_SIZE (256*1024)
  150 +#define CONFIG_SPL_UBI_MAX_PEBS 4096
  151 +#define CONFIG_SPL_UBI_VOL_IDS 8
  152 +#define CONFIG_SPL_UBI_LOAD_MONITOR_ID 0
  153 +#define CONFIG_SPL_UBI_LOAD_KERNEL_ID 3
  154 +#define CONFIG_SPL_UBI_LOAD_ARGS_ID 4
  155 +#define CONFIG_SPL_UBI_PEB_OFFSET 4
  156 +#define CONFIG_SPL_UBI_VID_OFFSET 512
  157 +#define CONFIG_SPL_UBI_LEB_START 2048
  158 +#define CONFIG_SPL_UBI_INFO_ADDR 0x88080000
  159 +
  160 +/* environment organization */
  161 +#define CONFIG_ENV_IS_IN_UBI 1
  162 +#define CONFIG_ENV_UBI_PART "UBI"
  163 +#define CONFIG_ENV_UBI_VOLUME "config"
  164 +#define CONFIG_ENV_UBI_VOLUME_REDUND "config_r"
  165 +#define CONFIG_UBI_SILENCE_MSG 1
  166 +#define CONFIG_UBIFS_SILENCE_MSG 1
  167 +#define CONFIG_ENV_SIZE (32*1024)
  168 +
  169 +#undef CONFIG_SPL_EXT_SUPPORT
179 170  
180 171 #endif /* __IGEP00X0_H */