public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] NOTE: New MTD flash partitioning methods
@ 2005-08-07 23:08 Wolfgang Denk
  2005-08-16 10:07 ` [U-Boot-Users] [PATCH] Update VoiceBlue to use new " Ladislav Michl
  0 siblings, 1 reply; 3+ messages in thread
From: Wolfgang Denk @ 2005-08-07 23:08 UTC (permalink / raw)
  To: u-boot

Hello everybody, especially board maintainers!

I just comitted a bigger  patch  that  implements  a  new  "mtdparts"
command and a common partition scheme that allows U-Boot and Linux to
share  the  same  idea  about  flash partitioning.. Old, obsolete and
duplicated code was cleaned up and replaced by the  new  partitioning
method. There are two possible approaches now:

The first one is to define a single, static partition:

#undef CONFIG_JFFS2_CMDLINE
#define CONFIG_JFFS2_DEV               "nor0"
#define CONFIG_JFFS2_PART_SIZE         0xFFFFFFFF	/* use whole device */
#define CONFIG_JFFS2_PART_SIZE         0x00100000	/* use 1MB */
#define CONFIG_JFFS2_PART_OFFSET       0x00000000

The second method is to use the "mtdparts" command line  and  dynamic
partitioning:

/* mtdparts command line support */
#define CONFIG_JFFS2_CMDLINE
#define MTDIDS_DEFAULT         "nor1=zuma-1,nor2=zuma-2"
#define MTDPARTS_DEFAULT       "mtdparts=zuma-1:-(jffs2),zuma-2:-(user)"

Command  line  of  course  produces  bigger  images,   and   may   be
inappropriate for some targets, so by default it's off.

The code was tested on the following targets:  Alaska8220,  CPCI4052,
NC650, PPChamelion, incaip.

Besides the above targets, there were several other targets affected,
where necessary changes were made. However, no testing was  done  for
those  targets,  only compilation was verified (for PPC, MIPS and ARM
targets). Due to the lack of tool chain for NICOS and i386 I was  not
able  to  compile  the  following  targets: ADNPESC1, DK1C20, DK1S10,
sc520_cdp, sc520_spunk.

Among the modified and not tested targets there is a group of targets
which were implementing their custom multi-partition scheme. This was
mostly duplicating jffs2_part_info() routine  code.  Introducing  the
new  common  scheme  required removing this duplicated code, so those
targets should be especially carefully  tested  by  the  board  main-
tainers.  Target  list  that  require  special  attention:  xsengine,
voiceblue, mx1fs2, MPC8260ADS, innokom  and  VoVPN-GW  (JFFS2  is  by
default   not   compiled   in)  and  especially  SXNI855T  where  the
jffs2_part_info() routine was doing some custom NAND read caching.


Thanks.


Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
If there was anything that depressed him more than his own  cynicism,
it was that quite often it still wasn't as cynical as real life.
                                 - Terry Pratchett, _Guards! Guards!_

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot-Users] [PATCH] Update VoiceBlue to use new MTD flash partitioning methods
  2005-08-07 23:08 [U-Boot-Users] NOTE: New MTD flash partitioning methods Wolfgang Denk
@ 2005-08-16 10:07 ` Ladislav Michl
  2006-06-19 22:15   ` Wolfgang Denk
  0 siblings, 1 reply; 3+ messages in thread
From: Ladislav Michl @ 2005-08-16 10:07 UTC (permalink / raw)
  To: u-boot

On Mon, Aug 08, 2005 at 01:08:47AM +0200, Wolfgang Denk wrote:
> Among the modified and not tested targets there is a group of targets
> which were implementing their custom multi-partition scheme. This was
> mostly duplicating jffs2_part_info() routine  code.  Introducing  the
> new  common  scheme  required removing this duplicated code, so those
> targets should be especially carefully  tested  by  the  board  main-
> tainers.  Target  list  that  require  special  attention:  xsengine,
> voiceblue, ...

Hi Wolfgang,

support for VoiceBlue board is broken in 1.1.3, because it needs
partitions (well, my fault. I shouldn't be on holidays ;-)). Patch below
fixes that (and a bit more).

Best regards,
	ladis

CHANGELOG
* VoiceBlue update: use new MTD flash partitioning methods, use more
  reasonable TEXT_BASE, update default environment and enable keyed
  autoboot.

Signed-off-by: Ladislav Michl <ladis@linux-mips.org>

diff --git a/board/voiceblue/config.mk b/board/voiceblue/config.mk
--- a/board/voiceblue/config.mk
+++ b/board/voiceblue/config.mk
@@ -12,5 +12,5 @@ ifeq ($(VOICEBLUE_SMALL_FLASH),y)
 TEXT_BASE = 0x20012000
 else
 # Running in SDRAM...
-TEXT_BASE = 0x13000000
+TEXT_BASE = 0x13FD0000
 endif
diff --git a/include/configs/voiceblue.h b/include/configs/voiceblue.h
--- a/include/configs/voiceblue.h
+++ b/include/configs/voiceblue.h
@@ -47,6 +47,8 @@
 #define CONFIG_SETUP_MEMORY_TAGS	1
 #define CONFIG_INITRD_TAG		1
 
+#define CONFIG_VERSION_VARIABLE	1       /* include version env variable */
+
 /*
  * Physical Memory Map
  */
@@ -94,7 +96,6 @@
 
 #define CONFIG_ENV_OVERWRITE
 
-#define CFG_JFFS_CUSTOM_PART	/* see board/voiceblue/jffs2parts.c */
 #endif
 
 /*
@@ -104,9 +105,11 @@
 #ifdef VOICEBLUE_SMALL_FLASH
 #define CFG_MALLOC_LEN		(SZ_64K - CFG_GBL_DATA_SIZE)
 #define CONFIG_STACKSIZE	SZ_8K
+#define PHYS_SDRAM_1_RESERVED	0
 #else
 #define CFG_MALLOC_LEN		SZ_4M
 #define CONFIG_STACKSIZE	SZ_1M
+#define PHYS_SDRAM_1_RESERVED	(CFG_MONITOR_LEN + CFG_MALLOC_LEN + CONFIG_STACKSIZE)
 #endif
 
 /*
@@ -174,6 +177,7 @@
 #define CONFIG_BOOTCOMMAND	"run nboot"
 #define CONFIG_PREBOOT		"run setup"
 #define	CONFIG_EXTRA_ENV_SETTINGS				\
+	"silent=1\0"						\
 	"ospart=0\0"						\
 	"swapos=no\0"						\
 	"setpart="						\
@@ -185,15 +189,37 @@
 	"fi\0"							\
 	"setup=setenv bootargs console=ttyS0,$baudrate "	\
 		"mtdparts=$mtdparts\0"				\
-	"nfsargs=run setpart; setenv bootargs $bootargs "	\
-		"root=/dev/nfs ip=dhcp\0"			\
+	"nfsargs=setenv bootargs $bootargs "			\
+		"ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname::off " \
+		"nfsroot=$rootpath root=/dev/nfs\0"		\
 	"flashargs=run setpart; setenv bootargs $bootargs "	\
 		"root=/dev/mtdblock$partition ro "		\
 		"rootfstype=jffs2\0"				\
-	"nboot=run nfsargs; bootp; tftp; bootm\0"		\
-	"fboot=run flashargs; fsload /boot/uImage; bootm\0"
+	"initrdargs=setenv bootargs $bootargs "			\
+		"ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname::off\0" \
+	"fboot=run flashargs; fsload /boot/uImage; bootm\0"	\
+	"iboot=bootp; run initrdargs; tftp; bootm\0"		\
+	"nboot=bootp; run nfsargs; tftp; bootm\0"
 #endif
 
+#ifndef VOICEBLUE_SMALL_FLASH
+#define CONFIG_SILENT_CONSOLE		1	/* enable silent startup */
+
+#if 1	/* feel free to disable for development */
+#define CONFIG_AUTOBOOT_KEYED		/* Enable password protection	*/
+#define CONFIG_AUTOBOOT_PROMPT	"\nVoiceBlue Enterprise - booting...\n"
+#define CONFIG_AUTOBOOT_DELAY_STR	"."	/* 1st "password"	*/
+#endif
+
+/*
+ * JFFS2 partitions (mtdparts command line support)
+ */
+#define CONFIG_JFFS2_CMDLINE
+#define MTDIDS_DEFAULT		"nor0=omapflash.0"
+#define MTDPARTS_DEFAULT	"mtdparts=omapflash.0:128k(uboot),64k(env),64k(r_env),16256k(data1),-(data2)"
+
+#endif	/* VOICEBLUE_SMALL_FLASH */
+
 /* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
 #include <cmd_confdefs.h>
 
@@ -213,7 +239,7 @@
 #define CFG_BARGSIZE		CFG_CBSIZE	/* Boot Argument Buffer Size	*/
 
 #define CFG_MEMTEST_START	PHYS_SDRAM_1
-#define CFG_MEMTEST_END		PHYS_SDRAM_1 + PHYS_SDRAM_1_SIZE
+#define CFG_MEMTEST_END		PHYS_SDRAM_1 + PHYS_SDRAM_1_SIZE - PHYS_SDRAM_1_RESERVED
 
 #undef	CFG_CLKS_IN_HZ		/* everything, incl board info, in Hz */
 
@@ -247,22 +273,4 @@
 
 #define VOICEBLUE_LED_REG	0x04030000
 
-/*
- * JFFS2 partitions
- *
- */
-/* No command line, one static partition */
-#undef CONFIG_JFFS2_CMDLINE
-#define CONFIG_JFFS2_DEV		"nor0"
-#define CONFIG_JFFS2_PART_SIZE		0xFFFFFFFF
-#define CONFIG_JFFS2_PART_OFFSET	0x00040000
-
-/* mtdparts command line support */
-/* Note: fake mtd_id used, no linux mtd map file */
-/*
-#define CONFIG_JFFS2_CMDLINE
-#define MTDIDS_DEFAULT		"nor0=voiceblue-0"
-#define MTDPARTS_DEFAULT	"mtdparts=voiceblue-0:128k(uboot),64k(env),64k(renv),-(jffs2)"
-*/
-
 #endif	/* __CONFIG_H */

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot-Users] [PATCH] Update VoiceBlue to use new MTD flash partitioning methods
  2005-08-16 10:07 ` [U-Boot-Users] [PATCH] Update VoiceBlue to use new " Ladislav Michl
@ 2006-06-19 22:15   ` Wolfgang Denk
  0 siblings, 0 replies; 3+ messages in thread
From: Wolfgang Denk @ 2006-06-19 22:15 UTC (permalink / raw)
  To: u-boot

In message <20050816100751.GA22043@orphique> you wrote:
>
> CHANGELOG
> * VoiceBlue update: use new MTD flash partitioning methods, use more
>   reasonable TEXT_BASE, update default environment and enable keyed
>   autoboot.

Applied. Thanks.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
What's the sound a name makes when it's dropped?

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-06-19 22:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-08-07 23:08 [U-Boot-Users] NOTE: New MTD flash partitioning methods Wolfgang Denk
2005-08-16 10:07 ` [U-Boot-Users] [PATCH] Update VoiceBlue to use new " Ladislav Michl
2006-06-19 22:15   ` Wolfgang Denk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox