summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2013-10-03 17:13:39 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2013-10-03 17:13:39 +0200
commit63437b3ecfef5acf322aa827fd6430c43d444269 (patch)
tree72dd494b867756867f403b60747c4aea9285aad9
parent9629454003a2f85dcff4410e4b56d27e1bde0dd0 (diff)
colibri_vf50: migrate nand vs. sdboot configuration
Migrate to default NAND boot configuration (e.g. colibri_vf50_config) and SD card boot on request (e.g. colibri_vf50_sdboot_config). Automatically do the padding required for NAND boot image (e.g. u-boot.nand). This is also more in-line with how we did stuff back on the Colibri T20.
-rw-r--r--.gitignore2
-rw-r--r--Makefile10
-rw-r--r--board/toradex/colibri_vf50/nandimage.cfg (renamed from board/toradex/colibri_vf50/colibrivf50nandimage.cfg)0
-rw-r--r--board/toradex/colibri_vf50/sdbootimage.cfg (renamed from board/toradex/colibri_vf50/colibrivf50image.cfg)0
-rw-r--r--boards.cfg4
-rw-r--r--include/configs/colibri_vf50.h8
-rw-r--r--include/configs/colibri_vf50_sdboot.h57
7 files changed, 75 insertions, 6 deletions
diff --git a/.gitignore b/.gitignore
index e4e95e2d34..ba64aa0cab 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,9 +22,11 @@
/MLO
/System.map
/u-boot
+/u-boot-pad
/u-boot.hex
/u-boot.imx
/u-boot.map
+/u-boot.nand
/u-boot.srec
/u-boot.ldr
/u-boot.ldr.hex
diff --git a/Makefile b/Makefile
index fd5b7d0ed3..a8c16f75c8 100644
--- a/Makefile
+++ b/Makefile
@@ -790,4 +790,14 @@ backup:
F=`basename $(TOPDIR)` ; cd .. ; \
gtar --force-local -zcvf `LC_ALL=C date "+$$F-%Y-%m-%d-%T.tar.gz"` $$F
+ifeq ($(BOARD),colibri_vf50)
+.DEFAULT_GOAL := u-boot.imx
+ifeq ($(CONFIG_NANDBOOT),y)
+.DEFAULT_GOAL := u-boot.nand
+u-boot.nand: u-boot.imx
+ dd if=/dev/zero of=u-boot-pad bs=1024 count=1
+ cat u-boot-pad u-boot.imx > u-boot.nand
+endif
+endif
+
#########################################################################
diff --git a/board/toradex/colibri_vf50/colibrivf50nandimage.cfg b/board/toradex/colibri_vf50/nandimage.cfg
index dd093f90ac..dd093f90ac 100644
--- a/board/toradex/colibri_vf50/colibrivf50nandimage.cfg
+++ b/board/toradex/colibri_vf50/nandimage.cfg
diff --git a/board/toradex/colibri_vf50/colibrivf50image.cfg b/board/toradex/colibri_vf50/sdbootimage.cfg
index 85e5869806..85e5869806 100644
--- a/board/toradex/colibri_vf50/colibrivf50image.cfg
+++ b/board/toradex/colibri_vf50/sdbootimage.cfg
diff --git a/boards.cfg b/boards.cfg
index e4d07f8310..b7a2c5799a 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -192,8 +192,8 @@ am335x_evm arm armv7 am335x ti
highbank arm armv7 highbank - highbank
efikamx arm armv7 efikamx - mx5 efikamx:MACH_TYPE=MACH_TYPE_MX51_EFIKAMX,IMX_CONFIG=board/efikamx/imximage_mx.cfg
efikasb arm armv7 efikamx - mx5 efikamx:MACH_TYPE=MACH_TYPE_MX51_EFIKASB,IMX_CONFIG=board/efikamx/imximage_sb.cfg
-colibri_vf50 arm armv7 colibri_vf50 toradex vybrid colibri_vf50:SYS_TEXT_BASE=0x3F400800,IMX_CONFIG=board/toradex/colibri_vf50/colibrivf50image.cfg
-colibri_vf50_nand arm armv7 colibri_vf50 toradex vybrid colibri_vf50:SYS_TEXT_BASE=0x3F400800,IMX_CONFIG=board/toradex/colibri_vf50/colibrivf50nandimage.cfg
+colibri_vf50 arm armv7 colibri_vf50 toradex vybrid colibri_vf50:SYS_TEXT_BASE=0x3F400800,IMX_CONFIG=board/toradex/colibri_vf50/nandimage.cfg,NANDBOOT
+colibri_vf50_sdboot arm armv7 colibri_vf50 toradex vybrid colibri_vf50_sdboot:SYS_TEXT_BASE=0x3F400800,IMX_CONFIG=board/toradex/colibri_vf50/sdbootimage.cfg
vybrid_auto arm armv7 vybrid_auto freescale vybrid vybrid_auto:SYS_TEXT_BASE=0x3F000800,IMX_CONFIG=board/freescale/vybrid_auto/vybridimage.cfg
vybrid_auto_iram arm armv7 vybrid_auto freescale vybrid vybrid_auto_iram:SYS_TEXT_BASE=0x3F000400,IMX_CONFIG=board/freescale/vybrid_auto/vybridimage.cfg
vybrid arm armv7 vybrid freescale vybrid vybrid:SYS_TEXT_BASE=0x3F000800,IMX_CONFIG=board/freescale/vybrid/vybridimage.cfg
diff --git a/include/configs/colibri_vf50.h b/include/configs/colibri_vf50.h
index 1531ea4065..139a1ab644 100644
--- a/include/configs/colibri_vf50.h
+++ b/include/configs/colibri_vf50.h
@@ -1,7 +1,7 @@
/*
* Copyright 2013 Toradex, Inc.
*
- * Configuration settings for the Colibri VF50 module.
+ * Configuration settings for the Colibri VF50 module booting from NAND flash.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
@@ -10,7 +10,7 @@
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
@@ -172,7 +172,7 @@
#define CONFIG_EXTRA_ENV_SETTINGS \
"defargs=vmalloc=64M mem=128M usb_high_speed=1\0" \
"mmcargs=root=/dev/mmcblk0p2 rw rootwait\0" \
- "mmcboot=" MMC_BOOTCMD "\0" \
+ "sdboot=" MMC_BOOTCMD "\0" \
"mtdparts=" MTDPARTS_DEFAULT "\0" \
"nfsargs=ip=:::::eth0: root=/dev/nfs\0" \
"setup=setenv setupargs " \
@@ -188,7 +188,7 @@
#define CONFIG_MTD_DEVICE /* needed for mtdparts commands */
#define MTDIDS_DEFAULT "nand0=NAND"
#define MTDPARTS_DEFAULT "mtdparts=NAND:" \
- "256k(fcb)ro," \
+ "256k(fcb_)ro," \
"256k@256k(config-block)ro," \
"512k@512k(u-boot)ro," \
"1m(u-boot-env)ro," \
diff --git a/include/configs/colibri_vf50_sdboot.h b/include/configs/colibri_vf50_sdboot.h
new file mode 100644
index 0000000000..f70ae62ae5
--- /dev/null
+++ b/include/configs/colibri_vf50_sdboot.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2013 Toradex, Inc.
+ *
+ * Configuration settings for the Colibri VF50 module booting from SD card.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+/*
+ * Use this configuration for an u-boot which stores its environment in SD/MMC
+ * Useful if SD/MMC is selected as the boot device, so also the environment is taken from there
+ *
+ * Use colibri_vf50.h for everything which is not specific to using SD/MMC as the boot device!!
+ */
+
+#ifndef __CONFIG_SDBOOT_H
+#define __CONFIG_SDBOOT_H
+
+#include "colibri_vf50.h"
+
+#undef DEFAULT_BOOTCOMMAND
+#undef CONFIG_BOOTCOMMAND
+
+#define DEFAULT_BOOTCOMMAND \
+ "run sdboot; run nfsboot"
+#define CONFIG_BOOTCOMMAND DEFAULT_BOOTCOMMAND
+
+
+#ifdef CONFIG_ENV_IS_NOWHERE
+#undef CONFIG_ENV_IS_NOWHERE
+#endif
+#ifdef CONFIG_ENV_IS_IN_NAND
+#undef CONFIG_ENV_IS_IN_NAND
+#endif
+
+/* Environment stored in SD/MMC */
+#define CONFIG_ENV_IS_IN_MMC 1
+
+#if defined(CONFIG_ENV_IS_IN_MMC)
+#define CONFIG_SYS_MMC_ENV_DEV 0 /* use MMC0, slot on eval board and Iris */
+#define CONFIG_ENV_OFFSET (512 * 1024)
+#endif
+
+#endif /* __CONFIG_SDBOOT_H */