[U-Boot-Users] [PATCH] mpc7448_hpc2: Add storing env to flash as an option

Paul Gortmaker paul.gortmaker at windriver.com
Thu Jan 3 18:35:12 CET 2008


The default for the hpc2 has been to store env. in NVRAM, which is very
limited in size.  This patch adds the option to store the env. in flash,
which allows for more (and more complex) env. settings.  The default is
to continue to use NVRAM, but a user can now switch to flash with a one
line change in the config file.

Signed-off-by: Paul Gortmaker <paul.gortmaker at windriver.com>
---
 include/configs/mpc7448hpc2.h |   56 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 53 insertions(+), 3 deletions(-)

diff --git a/include/configs/mpc7448hpc2.h b/include/configs/mpc7448hpc2.h
index bd3107a..f60c14c 100644
--- a/include/configs/mpc7448hpc2.h
+++ b/include/configs/mpc7448hpc2.h
@@ -68,6 +68,10 @@
  * High Level Configuration Options
  * (easy to change)
  */
+ 
+/* NVRAM is a small amount of space.  Use flash if you have a big env. list */
+#define CFG_ENV_IS_IN_NVRAM
+#undef CFG_ENV_IS_IN_FLASH
 
 #define CONFIG_BAUDRATE		115200	/* console baudrate = 115000 */
 
@@ -120,8 +124,6 @@
 #define CONFIG_BOOTARGS "console=ttyS0,115200"
 #endif
 
-#undef CONFIG_EXTRA_ENV_SETTINGS
-
 #define CONFIG_SERIAL	"No. 1"
 
 /* Networking Configuration */
@@ -383,11 +385,59 @@
 #define PHYS_FLASH_SIZE		0x01000000
 #define CFG_MAX_FLASH_SECT	(128)
 
-#define CFG_ENV_IS_IN_NVRAM
+#ifdef CFG_ENV_IS_IN_NVRAM
+#undef CONFIG_EXTRA_ENV_SETTINGS
 #define CFG_ENV_ADDR		0xFC000000
 
 #define CFG_ENV_OFFSET	0x00000000	/* Offset of Environment Sector */
 #define CFG_ENV_SIZE	0x00000400	/* Total Size of Environment Space */
+#endif
+
+#ifdef CFG_ENV_IS_IN_FLASH
+#define CFG_ENV_ADDR		(CFG_MONITOR_BASE + 0x40000)
+
+#define CFG_ENV_SECT_SIZE	0x20000 /* 128K(one sector) for env */
+#define CFG_ENV_SIZE		0x2000
+
+#define CONFIG_EXTRA_ENV_SETTINGS				\
+	"netdev=eth0\0"						\
+	"consoledev=ttyS0\0"					\
+	"ramdiskaddr=2000000\0"					\
+	"ramdiskfile=your.ramdisk.u-boot\0"			\
+	"dtbaddr=c00000\0"					\
+	"dtbfile=mpc7448hpc2.dtb\0" 
+
+#define CONFIG_NFSBOOTCOMMAND					\
+	"setenv bootargs root=/dev/nfs rw "			\
+	"nfsroot=$serverip:$rootpath "				\
+	"ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off " \
+	"console=$consoledev,$baudrate $othbootargs;"		\
+	"tftp $loadaddr $bootfile;"				\
+	"tftp $dtbaddr $dtbfile;"				\
+	"bootm $loadaddr - $dtbaddr"
+
+#define CONFIG_RAMBOOTCOMMAND					\
+	"setenv bootargs root=/dev/ram rw "			\
+	"console=$consoledev,$baudrate $othbootargs;"		\
+	"tftp $ramdiskaddr $ramdiskfile;"			\
+	"tftp $loadaddr $bootfile;"				\
+	"tftp $dtbaddr $dtbfile;"				\
+	"bootm $loadaddr $ramdiskaddr $dtbaddr"
+
+#undef	CONFIG_BOOTCOMMAND
+#define CONFIG_BOOTCOMMAND	CONFIG_NFSBOOTCOMMAND
+#undef 	CONFIG_BOOTFILE
+#define CONFIG_BOOTFILE		uImage
+
+#define CONFIG_ETHADDR		00:E0:0C:00:00:FD
+#define CONFIG_ETH1ADDR		00:E0:0C:00:01:FD
+
+#define CONFIG_SERVERIP		192.168.1.1
+#define CONFIG_GATEWAYIP	192.168.1.1
+#define CONFIG_NETMASK		255.255.255.0
+
+#endif	/* ENV is in flash */
+
 
 /*-----------------------------------------------------------------------
  * Cache Configuration
-- 
1.5.0.rc1.gf4b6c





More information about the U-Boot mailing list