diff options
author | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2013-10-03 17:13:39 +0200 |
---|---|---|
committer | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2013-10-03 17:13:39 +0200 |
commit | 63437b3ecfef5acf322aa827fd6430c43d444269 (patch) | |
tree | 72dd494b867756867f403b60747c4aea9285aad9 | |
parent | 9629454003a2f85dcff4410e4b56d27e1bde0dd0 (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-- | .gitignore | 2 | ||||
-rw-r--r-- | Makefile | 10 | ||||
-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.cfg | 4 | ||||
-rw-r--r-- | include/configs/colibri_vf50.h | 8 | ||||
-rw-r--r-- | include/configs/colibri_vf50_sdboot.h | 57 |
7 files changed, 75 insertions, 6 deletions
diff --git a/.gitignore b/.gitignore index e4e95e2d34a..ba64aa0cabd 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 @@ -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 dd093f90acb..dd093f90acb 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 85e58698064..85e58698064 100644 --- a/board/toradex/colibri_vf50/colibrivf50image.cfg +++ b/board/toradex/colibri_vf50/sdbootimage.cfg diff --git a/boards.cfg b/boards.cfg index e4d07f8310e..b7a2c5799a4 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 1531ea40659..139a1ab644c 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 00000000000..f70ae62ae50 --- /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 */ |