Browse Source

pcm052: Add bootargs for booting kernel and RFS from NAND

Signed-off-by: ahorstmann <ahorstmann@phytec.com>
ahorstmann 10 years ago
parent
commit
d595599925
3 changed files with 59 additions and 11 deletions
  1. 2 2
      boards.cfg
  2. 28 4
      include/configs/pcm052.h
  3. 29 5
      include/configs/pcm052_nand.h

+ 2 - 2
boards.cfg

@@ -285,8 +285,8 @@ nitrogen6s1g                 arm         armv7       nitrogen6x          boundar
 wandboard_dl		     arm	 armv7	     wandboard		 -		mx6 wandboard:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl.cfg,MX6DL,DDR_MB=1024
 wandboard_quad		     arm	 armv7	     wandboard		 -		mx6 wandboard:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q2g.cfg,MX6Q,DDR_MB=2048
 wandboard_solo		     arm	 armv7	     wandboard		 -		mx6 wandboard:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s.cfg,MX6S,DDR_MB=512
-pcm052                       arm         armv7       pcm052              phytec         vf610          pcm052:SYS_TEXT_BASE=0x3F000800,IMX_CONFIG=board/phytec/pcm052/pcm052image.cfg
-pcm052_nand                  arm         armv7       pcm052              phytec         vf610          pcm052_nand:SYS_TEXT_BASE=0x3F000800,IMX_CONFIG=board/phytec/pcm052/pcm052image.cfg
+pcm052                       arm         armv7       pcm052              phytec         vf610          pcm052:IMX_CONFIG=board/phytec/pcm052/pcm052image.cfg
+pcm052_nand                  arm         armv7       pcm052              phytec         vf610          pcm052_nand:IMX_CONFIG=board/phytec/pcm052/pcm052image.cfg
 omap3_overo                  arm         armv7       overo               -              omap3
 omap3_pandora                arm         armv7       pandora             -              omap3
 dig297                       arm         armv7       dig297              comelit        omap3

+ 28 - 4
include/configs/pcm052.h

@@ -147,7 +147,7 @@
 	"console=ttyLP1\0" \
 	"fdt_high=0xffffffff\0" \
 	"initrd_high=0xffffffff\0" \
-	"fdt_file=twr_vf600.dtb\0" \
+	"fdt_file=vf610-phycore-rdk.dtb\0" \
 	"fdt_addr=0x81000000\0" \
 	"boot_fdt=try\0" \
 	"ip_dyn=yes\0" \
@@ -175,7 +175,7 @@
 	"bootscript=echo Running bootscript from mmc ...; " \
 		"source\0" \
 	"loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
-	"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ 
+	"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
 	"mmcboot=echo Booting from mmc ...; " \
 		"run mmcargs; " \
 		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
@@ -194,7 +194,7 @@
 	"netargs=setenv bootargs console=${console},${baudrate} " \
 		"root=/dev/nfs " \
 	"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
-		"netboot=echo Booting from net ...; " \
+	"netboot=echo Booting from net ...; " \
 		"run netargs; " \
 		"if test ${ip_dyn} = yes; then " \
 			"setenv get_cmd dhcp; " \
@@ -214,7 +214,31 @@
 			"fi; " \
 		"else " \
 			"bootm; " \
-		"fi;\0"
+		"fi;\0" \
+	"nandargs= setenv bootargs console=ttyLP1,115200 rootfstype=ubifs " \
+		"root=ubi0_0 ubi.mtd=4 rw\0" \
+	"nand_p2_addr=0x80000\0" \
+	"nand_p3_addr=0x880000\0" \
+	"nand_p2_size=0x800000\0" \
+	"nand_p3_size=0x20000\0" \
+	"loaduimage_nand=nand read ${loadaddr} ${nand_p2_addr} ${nand_p2_size}\0" \
+	"loadfdt_nand=nand read ${fdt_addr}  ${nand_p3_addr} ${nand_p3_size}\0" \
+	"nandboot=echo Booting from nand...; " \
+		"run nandargs; " \
+		"run loaduimage_nand; "\
+		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
+                        "if run loadfdt_nand; then " \
+                                "bootm ${loadaddr} - ${fdt_addr}; " \
+                        "else " \
+                                "if test ${boot_fdt} = try; then " \
+                                        "bootm; " \
+                                "else " \
+                                        "echo WARN: Cannot load the DT; " \
+                                "fi; " \
+                        "fi; " \
+                "else " \
+                        "bootm; " \
+                "fi;\0" \
 
 #define CONFIG_BOOTCOMMAND \
 	   "mmc dev ${mmcdev}; if mmc rescan; then " \

+ 29 - 5
include/configs/pcm052_nand.h

@@ -125,15 +125,15 @@
 #define CONFIG_BOOTDELAY		3
 
 #define CONFIG_LOADADDR			0x80010000
-#define CONFIG_SYS_TEXT_BASE		0x3f000800 /*0x3f001400 */
+#define CONFIG_SYS_TEXT_BASE		0x3f000800
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
 	"script=boot.scr\0" \
 	"uimage=uImage\0" \
-	"console=ttymxc1\0" \
+	"console=ttyLP1\0" \
 	"fdt_high=0xffffffff\0" \
 	"initrd_high=0xffffffff\0" \
-	"fdt_file=vf610-twr.dtb\0" \
+	"fdt_file=vf610-phycore-rdk.dtb\0" \
 	"fdt_addr=0x81000000\0" \
 	"boot_fdt=try\0" \
 	"ip_dyn=yes\0" \
@@ -180,7 +180,7 @@
 	"netargs=setenv bootargs console=${console},${baudrate} " \
 		"root=/dev/nfs " \
 	"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
-		"netboot=echo Booting from net ...; " \
+	"netboot=echo Booting from net ...; " \
 		"run netargs; " \
 		"if test ${ip_dyn} = yes; then " \
 			"setenv get_cmd dhcp; " \
@@ -200,7 +200,31 @@
 			"fi; " \
 		"else " \
 			"bootm; " \
-		"fi;\0"
+		"fi;\0" \
+        "nandargs= setenv bootargs console=ttyLP1,115200 rootfstype=ubifs " \
+                "root=ubi0_0 ubi.mtd=4 rw\0" \
+        "nand_p2_addr=0x80000\0" \
+        "nand_p3_addr=0x880000\0" \
+        "nand_p2_size=0x800000\0" \
+        "nand_p3_size=0x20000\0" \
+        "loaduimage_nand=nand read ${loadaddr} ${nand_p2_addr} ${nand_p2_size}\0" \
+        "loadfdt_nand=nand read ${fdt_addr}  ${nand_p3_addr} ${nand_p3_size}\0" \
+        "nandboot=echo Booting from nand...; " \
+                "run nandargs; " \
+                "run loaduimage_nand; "\
+                "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
+                        "if run loadfdt_nand; then " \
+                                "bootm ${loadaddr} - ${fdt_addr}; " \
+                        "else " \
+                                "if test ${boot_fdt} = try; then " \
+                                        "bootm; " \
+                                "else " \
+                                        "echo WARN: Cannot load the DT; " \
+                                "fi; " \
+                        "fi; " \
+                "else " \
+                        "bootm; " \
+                "fi;\0" \
 
 #define CONFIG_BOOTCOMMAND \
 	   "mmc dev ${mmcdev}; if mmc rescan; then " \