aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Samuelsson <ulf_samuelsson@telia.com>2011-11-16 15:07:46 +0100
committerUlf Samuelsson <ulf_samuelsson@telia.com>2011-11-21 16:14:35 +0100
commit3b53f49389c19df37d87e8c4c0dede33f4fea199 (patch)
tree8460c67f98a55bbac1326c745ffe6e50dbeaf9d0
parent9abd038fe38c727242741b064d83cc9b35261610 (diff)
downloadopenembedded-3b53f49389c19df37d87e8c4c0dede33f4fea199.tar.gz
openembedded-3b53f49389c19df37d87e8c4c0dede33f4fea199.tar.bz2
openembedded-3b53f49389c19df37d87e8c4c0dede33f4fea199.zip
at91bootstrap-3.1: Bump version
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.0/0019-Make-at91sam9g20sd-load-u-boot.patch61
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0003-Add-some-useful-files-utilities.patch513
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0004-.gitignore-Do-not-track-files-in-the-install-directo.patch28
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0005-Makefile-Create-BOOT.BIN-with-capital-letters-for-SD.patch43
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0006-Makefile-Use-BOARD-instead-of-BOARDNAME.patch33
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0007-afeb9260-Remove-old-unused-files.patch617
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0008-Makefile-Avoid-complaint-about-CROSS_COMPILE.patch37
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0009-.gitignore-Do-not-track-.rej.patch23
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0010-alternate-boot-Support-booting-from-two-sources.patch621
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0011-build-scripts-Update-buildscripts.patch260
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0012-Update-all-defconfigs.patch4375
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0013-Update-version-to-3.1.1.patch26
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0014-Do-not-track-patches.patch23
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0015-Makefile-Better-cleanup.patch36
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0016-Update-version-to-3.1.1.patch26
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0017-all-Clean-up-include-mess.patch1113
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0018-Makefile-Revert-change-which-broke-MAKEALL.patch100
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0019-Improve-printout-of-MAKEALL.patch72
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0020-config-conf.c-Remove-cause-of-warnings.patch44
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0021-Remove-warnings-from-build.patch284
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0022-Bump-version-to-3.1.2.patch26
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0023-Allow-SAM9G20-to-use-partitions.patch25
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0024-More-verbose-error-messages-for-FAT-access.patch184
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0025-Add-at91sam9g20ek_2mmcsd_defconfig.patch124
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0026-.gitignore-Update.patch22
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0027-Update-build-scripts.patch422
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0028-at91sam9g20ek_2mmc-add-BSP.patch1365
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0029-Update-defconfigs.patch1451
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0030-Remove-some-faulty-defconfigs-wrong-location.patch233
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0031-Config.in-configurable-application.patch52
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0032-Update-WinCE-build-ffiles-for-_2mmc.patch276
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0033-Update-boards-and-dirs-files.patch132
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0034-Add-at91sam9g20ek_2mmc-to-part.h.patch30
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0035-Allow-SAM9G20EK-_2MMC-to-use-partitions.patch25
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0036-at91sam9g20ek_2mmc-support-loading-linux.patch100
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0037-Use-up-to-date-debug-logging.patch168
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0038-Avoid-warnings-on-gcc-4.6.patch53
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0039-Add-falback-images-for-SD-Card.patch66
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0040-Fix-autoconf.h.patch52
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0041-Fix-EXTRA_INSTALL-add-missing.patch27
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/0042-U-Boot-may-not-be-in-a-subdirectory.patch27
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/bad/0001-Do-not-try-to-install-files-removed-from-at91bootstr.patch29
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/bad/0002-Do-not-track-install-ed-files.patch22
-rw-r--r--recipes/at91bootstrap/at91bootstrap-3.1.2/series2
-rw-r--r--recipes/at91bootstrap/at91bootstrap_3.0.bb1
-rw-r--r--recipes/at91bootstrap/at91bootstrap_3.1.2.bb77
-rw-r--r--recipes/at91bootstrap/at91bootstrap_3.1.inc29
-rw-r--r--recipes/at91bootstrap/files/AT91SAM9G45_RomCode_Replacement_13.bin.zipbin0 -> 14868 bytes
-rw-r--r--recipes/at91bootstrap/files/NAND-empty-1MB.jffs2.bz2bin0 -> 45 bytes
-rw-r--r--recipes/at91bootstrap/files/SD-card-tools.tar.bz2bin0 -> 1140 bytes
-rw-r--r--recipes/at91bootstrap/files/series4
51 files changed, 13359 insertions, 0 deletions
diff --git a/recipes/at91bootstrap/at91bootstrap-3.0/0019-Make-at91sam9g20sd-load-u-boot.patch b/recipes/at91bootstrap/at91bootstrap-3.0/0019-Make-at91sam9g20sd-load-u-boot.patch
new file mode 100644
index 0000000000..94814878b1
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.0/0019-Make-at91sam9g20sd-load-u-boot.patch
@@ -0,0 +1,61 @@
+From 62e8a4f2450af0b8f1695635e8a52c1347832046 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Wed, 26 Oct 2011 19:13:59 +0200
+Subject: [PATCH] Make at91sam9g20sd load u-boot
+
+---
+ board/at91sam9g20ek/at91sam9g20sd_defconfig | 19 ++++++++-----------
+ 1 files changed, 8 insertions(+), 11 deletions(-)
+
+diff --git a/board/at91sam9g20ek/at91sam9g20sd_defconfig b/board/at91sam9g20ek/at91sam9g20sd_defconfig
+index 7d96f2a..7bfba26 100644
+--- a/board/at91sam9g20ek/at91sam9g20sd_defconfig
++++ b/board/at91sam9g20ek/at91sam9g20sd_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Mon Jan 24 19:40:37 2011
++# Wed Oct 26 19:12:43 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g20sd"
+@@ -71,29 +71,26 @@ ALLOW_BOOT_FROM_DATAFLASH_CS1=y
+ DATAFLASHCARD_ON_CS0=y
+ CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="sdcard"
+-# CONFIG_LOAD_UBOOT is not set
++CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+-CONFIG_LOAD_LINUX=y
++# CONFIG_LOAD_LINUX is not set
+ # CONFIG_LOAD_NK is not set
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
+ CONFIG_ALT_IMG_ADDRESS="0x00000000"
+ CONFIG_ALT_IMG_SIZE="0x00010000"
++CONFIG_OS_IMAGE_NAME="u-boot.bin"
++CONFIG_OS_IMG_SIZE="0x30000"
+
+ #
+-# Linux Image Storage Setup
++# U-Boot Image Storage Setup
+ #
+-CONFIG_OS_MEM_BANK="0x20000000"
+-CONFIG_OS_MEM_SIZE="0x4000000"
+-CONFIG_LINUX_KERNEL_ARG_STRING="mem=64M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2"
+-CONFIG_OS_IMAGE_NAME="image.bin"
+-CONFIG_OS_IMG_SIZE="0x280000"
+ CONFIG_IMG_ADDRESS="0x00000000"
+ CONFIG_SETTING_ADDRESS="0x00000000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00280000"
+-CONFIG_JUMP_ADDR="0x22000000"
++CONFIG_IMG_SIZE="0x00040000"
++CONFIG_JUMP_ADDR="0x23F00000"
+ CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0003-Add-some-useful-files-utilities.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0003-Add-some-useful-files-utilities.patch
new file mode 100644
index 0000000000..0107f41e0d
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0003-Add-some-useful-files-utilities.patch
@@ -0,0 +1,513 @@
+From 49a815b8a836fd8494811ec4ae34f2b530f33cef Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Sun, 23 Oct 2011 12:38:10 +0200
+Subject: [PATCH 03/39] Add some useful files/utilities.
+
+* AT91SAM9G45_RomCode_Replacement_13.bin.zip
+ Needed for AT91SAM9G45EKES board
+* Makefile.jffs2
+ Creates an empty JFFS2 file system
+* NAND-empty-1MB.jffs2.bz2
+ An empty 1 MB JFFS2 File system - Can grow
+* README.TXT
+* SD-card-tools.tar.bz2
+ Utilities to format and SD-Card and fill it with files.
+
+Signed-Off-By: Ulf Samuelsson <ulf.samuelsson@telia.com>
+---
+ files/AT91SAM9G45_RomCode_Replacement_13.bin.zip | Bin 0 -> 14868 bytes
+ files/Makefile.jffs2 | 48 +++++++++++++
+ files/NAND-empty-1MB.jffs2.bz2 | Bin 0 -> 45 bytes
+ files/README.TXT | 83 ++++++++++++++++++++++
+ files/SD-card-tools.tar.bz2 | Bin 0 -> 1140 bytes
+ 5 files changed, 131 insertions(+), 0 deletions(-)
+ create mode 100644 files/AT91SAM9G45_RomCode_Replacement_13.bin.zip
+ create mode 100644 files/Makefile.jffs2
+ create mode 100644 files/NAND-empty-1MB.jffs2.bz2
+ create mode 100755 files/README.TXT
+ create mode 100644 files/SD-card-tools.tar.bz2
+
+diff --git a/files/AT91SAM9G45_RomCode_Replacement_13.bin.zip b/files/AT91SAM9G45_RomCode_Replacement_13.bin.zip
+new file mode 100644
+index 0000000000000000000000000000000000000000..ae1fcab19af3fea9bc8e3657ab1ad5237bf76989
+GIT binary patch
+literal 14868
+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
+
+literal 0
+HcmV?d00001
+
+diff --git a/files/Makefile.jffs2 b/files/Makefile.jffs2
+new file mode 100644
+index 0000000..4ca3510
+--- /dev/null
++++ b/files/Makefile.jffs2
+@@ -0,0 +1,48 @@
++# Makefile to create an Empty JFFS2 file system
++MKFS=mkfs.jffs2
++
++
++SIZE=1
++#ROOTFS_SIZE=0xC000000
++#ROOTFS_SIZE=0x400000
++ROOTFS_SIZE=0x`dc -e "16 o $(SIZE) 1024 * 1024 * p"`
++
++SOURCE_DIR=root
++PAGE_SIZE=4096
++ERASEBLOCK_SIZE=0x20000
++OUTPUT_FILE=NAND-empty-$(SIZE)MB.jffs2
++
++OPTIONS=""
++OPTIONS+="--pad=$(ROOTFS_SIZE)"
++OPTIONS+="--pagesize=$(PAGE_SIZE)"
++OPTIONS+="--eraseblock=$(ERASEBLOCK_SIZE)"
++#OPTIONS+="--cleanmarker=$()"
++# No cleanmarkers for NAND Flash
++OPTIONS+="-n"
++OPTIONS+="--little-endian"
++OPTIONS+="-v"
++
++# OPTIONS+="=$()"
++# OPTIONS+=""
++
++
++all: $(OUTPUT_FILE)
++
++$(OUTPUT_FILE): $(SOURCE_DIR) Makefile
++ $(MKFS) $(OPTIONS) --root=$(SOURCE_DIR) --output=$(OUTPUT_FILE)
++
++empty: $(OUTPUT_FILE)
++
++user: opt Makefile
++ $(MKFS) $(OPTIONS) --output=user.jffs2 --root=opt
++
++$(SOURCE_DIR):
++ mkdir -p $(SOURCE_DIR)
++
++clean:
++ rm -f NAND*.jffs2
++ rm -fr $(SOURCE_DIR)
++
++debug:
++ echo ROOTFS_SIZE=$(ROOTFS_SIZE)
++
+diff --git a/files/NAND-empty-1MB.jffs2.bz2 b/files/NAND-empty-1MB.jffs2.bz2
+new file mode 100644
+index 0000000000000000000000000000000000000000..89bf7fa522f0ec4c86f344a1ba30eff8fd881cb5
+GIT binary patch
+literal 45
+zcmZ>Y%CIzaj8qGb)HA)dl0ieufuVtgfnx!K!5LP~Wr_?38Sd#l=_**L5R<(&2mmd=
+B4xRu2
+
+literal 0
+HcmV?d00001
+
+diff --git a/files/README.TXT b/files/README.TXT
+new file mode 100755
+index 0000000..9f44c21
+--- /dev/null
++++ b/files/README.TXT
+@@ -0,0 +1,83 @@
++AT91SAM9G45EKES ROM Code Replacement
++
++Procedure to install AT91SAM9G45-ES ROM code replacement:
++Prior to any operation, the user needs to
++* install AT91-ISP.exe 1.13
++* unzip AT91SAM9G45_RomCode_Replacement_13.zip file
++ that contains a version of ROM binary code with USB issue fixed.
++
++
++Programming the ROMCode_Replacement into EEPROM
++===============================================
++Once done the following steps are necessary to store this version of ROM code in DataFlash.
++
++PREPARE THE BOARD
++1. unplug power supply
++2. unplug usb device cable
++3. remove jumper JP10 (NandFlash Chip Select) & JP12 (DataFlash Chip Select)
++4. plug-in power supply
++
++PROGRAM THE BOOTROM REPLACEMENT
++5. Close EEPROM chip select jumper
++5. launch SAM-BA (Choose right COM port and AT91SAM9G45-EKES)
++6. Choose EEPROM media tab in the SAM-BA GUI interface
++7. In the Scripts dropdown menu
++7.1 Choose the "Enable EEPROM AT24C512x" and press Execute to initialize the EEPROM
++7.2.1 Choose the "Send Foot File", press Execute
++7.2.2 Select AT91SAM9G45_RomCode_Replacement_13.bin binary file and press Open;
++ The media is written down to EEPROM
++8. Close SAM-BA
++
++On Reset, the faulty ROM code will copy the fixed ROM code into SRAM and launch it.
++The connection to the SAM-BA monitor over the USB interface will now work.
++
++PROGRAM USER CODE
++1. close jumper JP10 (NandFlash Chip Select) and/or JP12 (DataFlash® Chip Select)
++2. Start SAMBA as usual
++
++FURTHER USE
++As long as the NAND/DATA flash connectors are closed,
++the CPU will try to boot, first from the dataflash,
++and then from the dataflash.
++Before SAMBA is started, these connectors should be removed.
++If the EEPROM connector is closed, the USB interface will work.
++Otherwise it will not work.
++
++
++
++Programming the ROMCode_Replacement into Dataflash
++==================================================
++Once done the following steps are necessary to store this version of ROM code in DataFlash.
++1. unplug power supply
++2. unplug usb device cable
++3. remove jumper JP10 (NandFlash Chip Select) & JP12 (DataFlash Chip Select)
++4. plug-in power supply
++5. close jumper JP12 (DataFlash® Chip Select)
++6. launch SAM-BA (Choose right COM port and AT91SAM9G45-EKES)
++7. choose DataFlash media tab in the SAM-BA GUI interface
++8. initialize DataFlash, choosing the Enable action in the Scripts rolling menu and press Execute
++9. choose Send boot file, press Execute
++10. select AT91SAM9G45_RomCode_Replacement.bin binary file and press Open; the media is written down
++11. close SAM-BA
++
++On Reset, the faulty ROM code will copy the fixed ROM code in SRAM and launch it. The connexion
++through USB to the SAM-BA monitor will work.
++Note: Boot from DataFlash media will no longer be available for other purpose.
++
++
++WORKAROUND if SAMBA does not connect when you try to apply RomCodeReplacement
++====================================
++1. unplug power supply
++2. unplug usb device cable
++3. remove jumper JP10 (NandFlash Chip Select) & JP12 (DataFlash Chip Select) & EEPROM Chip Select
++4. plug-in power supply
++5. plug serial cable
++6. launch hyper terminal (115200 bauds, 8 bits, parity none, 1 stop bit, no flow control)
++7. type on hyper terminal : "Alt-0128 Alt-0128 #"
++ ALT-0128 is the '€' (Euro) sign for people lucky enough to
++ have a European Keyboard.
++ Otherwise you press the ALT button, and then press 0128 in a sequence before releasing the ALT button
++ V#
++8. AT91SAM9G45-EKES returns ">"
++9. close hyper terminal
++10. Start SAMBA using serial port
+diff --git a/files/SD-card-tools.tar.bz2 b/files/SD-card-tools.tar.bz2
+new file mode 100644
+index 0000000000000000000000000000000000000000..d307bd562107fa1a2b5d8e9ee0bd50cf7e866afb
+GIT binary patch
+literal 1140
+zcmV-)1dIDZT4*^jL0KkKSr=Lk0RRJb|BTEq03dw#|NlSl-*Er`-~I>y00969Py{~a
+zJBhG%>2Me%k|&WFDdSBhr=tZtgz}hypz@fWq3I0`G}Fm6285@ABWh^WY3Zq_siB|%
+z00ToH0MG!_)gmX9Xw%fldYeRO(VzerngNh$ko5*l1BQl8G&IQ2(<30r$k50PO&K%+
+zlOqtqM2Vp=Oo(M3lS%14KxBBQs2KsE13{XD(tly+hs1Y!1|d-i2JTvp3zvg&Afh#l
+zNkJATHS{Ea5<mg~Lt<%A*wBPGio+IM*L*<v1BdZ!$oy1%lg$XoIiio#>T|&slqqFO
+zZ)RsqM2_0J<R~|dA)jjH*9GP?;4hG*e?RR@C${%&RWW8D=Br(M6Gt1I=;Fz?oshSV
+z{8(!gy_uNfuu+p0Svj_2qO<0<NO0gTV%6`{X}6U$n~t%kx04R1{F!o9r@ZdUYQ}K+
+ze1vwmC2Sk-ig+$-_i-JHr4?0JbH<hA3+P^ac+Hl$e4OF?BsPE_!vG~1(_q1%TEFKB
+zFFHrRo!ym4=;)M~93NJ~5ymq;lUH$gI&)TZ#?#&C@REuZnhE&e7fJd`1DazT4EFm8
+zyr*wuaqqwG(Y~z8@hh%Zj%D(Zj{u5Qsa*i3jqih$@L^b7K&Xq89NW`ydKpB73a}QQ
+zXknqpeg?z{9SAk6aB>@2H(f=&!DyK&YC!>jRI;knk9OrLKR-B*vPiT$e?+jD_fF7p
+z*iSkEj)5;my!&pAF1wwHUngx^as;d{W2B(1L=yD&w%hE@lK7G!lbG+NmNp|qDJjt}
+z%u_&G4FR-S2h_s8(7NnASbB}3X(oXDZ$fHF4^I*T<JDn3W@45mEw(OTpd%g_to$>a
+z=Wg>>fbK9X5l3(Zx$R8~)C7<cBr=3Z?;5pMERyXz!GSQ5<Gp}{007HbscN@S^9<q5
+z*WY1AsN`Mnc{xJRB*CDlaV3mzN_P~!Ol+uCvk$y)Tw@%jS@rjH#-s1>fRns%6_8Pp
+z3rtA7UckaU>E#a?LQWhPR5KO0`k5Ey#zulwwzzmGIcB0tFgT6BvJQ#G=o6UlP+>)R
+zEI8bmEUd0I2^(m9EY(Ca4QvZ9-RqF0J<lM7;ZhQAk{0zV1Q;p^?%afiREov|(pz+1
+z63`}G19cQ5D)NQ*YW5EK9xrDirO4ZD<C;c0Ag2kRPs&XqbAZZ{k`p9w0^Ht*CVQ+x
+z<=hrF+Cx!cP9D^Q5hGc=D`00E8*!ZWTvzDp)+>uh2rZY-fdM&V-9Mn`)-G`z3$>i-
+zKCgx*YD5gjdAO<M(W4mK-)&)OynNinM7mCP^#w1iq2JzNu%8)=w?~tl=OQ#!MMX(r
+z6!0(^Y`Ww@P>9IG8j>(KBvxWyR&>gSVR=ISJSQ^FL#)ilYD5JPyN`g(IEpb`=#Fc(
+zofe6ZTA{K&3iOukl?OX|?qFQvOFRQeMrmXYN#1RI5g8+UbwD~^n-G%!i@744C`b#f
+G2LOPk&k}b4
+
+literal 0
+HcmV?d00001
+
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0004-.gitignore-Do-not-track-files-in-the-install-directo.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0004-.gitignore-Do-not-track-files-in-the-install-directo.patch
new file mode 100644
index 0000000000..5728944ee1
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0004-.gitignore-Do-not-track-files-in-the-install-directo.patch
@@ -0,0 +1,28 @@
+From 0aa97399b95e114ff9044e7decffd9b59717defc Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Sun, 23 Oct 2011 12:48:20 +0200
+Subject: [PATCH 04/39] .gitignore: Do not track files in the install
+ directory.
+
+If DESTDIR is not specified during "make install" the
+files end up in the "install" subdirectory.
+The files should be ignored.
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@telia.com>
+---
+ .gitignore | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/.gitignore b/.gitignore
+index d78652e..bdfcad1 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -21,3 +21,5 @@ binaries
+ *.o
+ tags
+ *.swp
++install/*
++
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0005-Makefile-Create-BOOT.BIN-with-capital-letters-for-SD.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0005-Makefile-Create-BOOT.BIN-with-capital-letters-for-SD.patch
new file mode 100644
index 0000000000..e43363735c
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0005-Makefile-Create-BOOT.BIN-with-capital-letters-for-SD.patch
@@ -0,0 +1,43 @@
+From 6aff12d973fea5918e20a70e2cf5e4b63641ecff Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Sun, 23 Oct 2011 12:24:34 +0200
+Subject: [PATCH 05/39] Makefile: Create BOOT.BIN (with capital letters) for
+ SD-Boot
+
+According to the documentation, the AT91 BootROM will
+try to read "boot.bin" from a FAT formatted SD-Card.
+
+In reality, it will try to read "BOOT.BIN".
+When you write "boot.bin" from Windows, "BOOT.BIN" is created.
+When you write "boot.bin" from Linux, "boot.bin" is created
+and will not be found by the BootROM.
+---
+ Makefile | 5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 033c288..f4f09ae 100644
+--- a/Makefile
++++ b/Makefile
+@@ -176,6 +176,9 @@ obj=build/$(BOARDNAME)/
+ BOOT_NAME=$(BOARDNAME)-$(PROJECT)$(CARD_SUFFIX)boot-$(VERSION)$(REV)
+
+ AT91BOOTSTRAP:=$(BINDIR)/$(BOOT_NAME).bin
++AT91BOOTSTRAP_BOOTABLE:=$(BINDIR)/$(BOOT_NAME).bin.fixboot
++BOOT_BIN_DIR:=$(BINDIR)/$(BOOT_NAME)
++AT91SD_BOOTSTRAP:=$(BOOT_BIN_DIR)/BOOT.BIN
+
+ ifeq ($(DESTDIR),)
+ DESTDIR=install
+@@ -302,6 +305,8 @@ $(AT91BOOTSTRAP).fixboot: $(AT91BOOTSTRAP)
+ ./scripts/fixboot.py $(AT91BOOTSTRAP)
+
+ boot: $(AT91BOOTSTRAP).fixboot
++ mkdir -p $(BOOT_BIN_DIR)
++ cp $(AT91BOOTSTRAP_BOOTABLE) $(AT91SD_BOOTSTRAP)
+
+ install: bootstrap utilities
+
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0006-Makefile-Use-BOARD-instead-of-BOARDNAME.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0006-Makefile-Use-BOARD-instead-of-BOARDNAME.patch
new file mode 100644
index 0000000000..6d167b3937
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0006-Makefile-Use-BOARD-instead-of-BOARDNAME.patch
@@ -0,0 +1,33 @@
+From c8d1c27e61ac4707b6c5ab74bc16ec4b3c96dafe Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Sun, 23 Oct 2011 12:54:15 +0200
+Subject: [PATCH 06/39] Makefile: Use ${BOARD} instead of ${BOARDNAME}
+
+Makefile will try to build ${BOARDNAME}.o
+If the user changes ${BOARDNAME} the file will not
+be found. The correct file to build is ${BOARD}.o
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@telia.com>
+---
+ Makefile | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index f4f09ae..55af2d9 100644
+--- a/Makefile
++++ b/Makefile
+@@ -211,9 +211,9 @@ SX_AT91=$(BINDIR)/sx-at91
+ EXTRA_INSTALL+=$(BINDIR)/sx-at91
+ endif
+
+-COBJS-y:= $(TOPDIR)/main.o $(TOPDIR)/board/$(BOARDNAME)/$(BOARD).o
++COBJS-y:= $(TOPDIR)/main.o $(TOPDIR)/board/$(BOARD)/$(BOARD).o
+ SOBJS-y:= $(TOPDIR)/crt0_gnu.o
+-DIRS:=$(TOPDIR) $(TOPDIR)/board/$(BOARDNAME) $(TOPDIR)/lib $(TOPDIR)/driver
++DIRS:=$(TOPDIR) $(TOPDIR)/board/$(BOARD) $(TOPDIR)/lib $(TOPDIR)/driver
+
+
+ include lib/libc.mk
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0007-afeb9260-Remove-old-unused-files.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0007-afeb9260-Remove-old-unused-files.patch
new file mode 100644
index 0000000000..ff965b958f
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0007-afeb9260-Remove-old-unused-files.patch
@@ -0,0 +1,617 @@
+From a8adb0657c4abbf28d45948deeee892aadc19b96 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Sun, 23 Oct 2011 12:58:08 +0200
+Subject: [PATCH 07/39] afeb9260: Remove old (unused) files
+
+The afeb9260 board directory contains an "old"
+directory with unused files.
+The old directory and contents are removed.
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@telia.com>
+---
+ board/afeb9260/old/afeb9260.c | 248 -----------------------------
+ board/afeb9260/old/afeb9260.mk | 8 -
+ board/afeb9260/old/dataflash/afeb9260.h | 122 --------------
+ board/afeb9260/old/nandflash/afeb9260ek.h | 148 -----------------
+ board/afeb9260/old/pll.h | 35 ----
+ 5 files changed, 0 insertions(+), 561 deletions(-)
+ delete mode 100644 board/afeb9260/old/afeb9260.c
+ delete mode 100644 board/afeb9260/old/afeb9260.mk
+ delete mode 100644 board/afeb9260/old/dataflash/afeb9260.h
+ delete mode 100644 board/afeb9260/old/nandflash/afeb9260ek.h
+ delete mode 100644 board/afeb9260/old/pll.h
+
+diff --git a/board/afeb9260/old/afeb9260.c b/board/afeb9260/old/afeb9260.c
+deleted file mode 100644
+index ee25474..0000000
+--- a/board/afeb9260/old/afeb9260.c
++++ /dev/null
+@@ -1,248 +0,0 @@
+-/* ----------------------------------------------------------------------------
+- * ATMEL Microcontroller Software Support - ROUSSET -
+- * ----------------------------------------------------------------------------
+- * Copyright (c) 2006, Atmel Corporation
+-
+- * All rights reserved.
+- *
+- * Redistribution and use in source and binary forms, with or without
+- * modification, are permitted provided that the following conditions are met:
+- *
+- * - Redistributions of source code must retain the above copyright notice,
+- * this list of conditions and the disclaiimer below.
+- *
+- * - Redistributions in binary form must reproduce the above copyright notice,
+- * this list of conditions and the disclaimer below in the documentation and/or
+- * other materials provided with the distribution.
+- *
+- * Atmel's name may not be used to endorse or promote products derived from
+- * this software without specific prior written permission.
+- *
+- * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
+- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+- * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
+- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+- * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+- * ----------------------------------------------------------------------------
+- * File Name : at91sam9260ek.c
+- * Object :
+- * Creation : NLe Jul 13th 2006
+- * ODi Nov 9th : dstp #3507 "Bad PIO descriptors in at91samxxxek.c"
+- *-----------------------------------------------------------------------------
+- */
+-#include "../../include/part.h"
+-#include "../../include/gpio.h"
+-#include "../../include/pmc.h"
+-#include "../../include/debug.h"
+-#include "../../include/sdramc.h"
+-#include "../../include/main.h"
+-#ifdef CFG_NANDFLASH
+-#include "../../include/nandflash.h"
+-#endif
+-#ifdef CFG_DATAFLASH
+-#include "../../include/dataflash.h"
+-#endif
+-#ifdef CFG_FLASH
+-#include "../../include/flash.h"
+-#endif
+-
+-/* We init NAND regardless of whatever */
+-/*------------------------------------------------------------------------------*/
+-/* \fn nandflash_hw_init */
+-/* \brief NandFlash HW init */
+-/*------------------------------------------------------------------------------*/
+-void nandflash_hw_init(void)
+-{
+- /*
+- * Setup Smart Media, first enable the address range of CS3 in HMATRIX user interface
+- */
+- writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS3A_SM,
+- AT91C_BASE_CCFG + CCFG_EBICSA);
+-
+- /*
+- * Configure SMC CS3
+- */
+- writel((AT91C_SM_NWE_SETUP | AT91C_SM_NCS_WR_SETUP | AT91C_SM_NRD_SETUP |
+- AT91C_SM_NCS_RD_SETUP), AT91C_BASE_SMC + SMC_SETUP3);
+- writel((AT91C_SM_NWE_PULSE | AT91C_SM_NCS_WR_PULSE | AT91C_SM_NRD_PULSE |
+- AT91C_SM_NCS_RD_PULSE), AT91C_BASE_SMC + SMC_PULSE3);
+- writel((AT91C_SM_NWE_CYCLE | AT91C_SM_NRD_CYCLE),
+- AT91C_BASE_SMC + SMC_CYCLE3);
+- writel((AT91C_SMC_READMODE | AT91C_SMC_WRITEMODE |
+- AT91C_SMC_NWAITM_NWAIT_DISABLE | AT91C_SMC_DBW_WIDTH_EIGTH_BITS |
+- AT91C_SM_TDF), AT91C_BASE_SMC + SMC_CTRL3);
+-
+- /*
+- * Configure the PIO controller
+- */
+- writel((1 << AT91C_ID_PIOC), PMC_PCER + AT91C_BASE_PMC);
+-
+- writel(1 << 13, AT91C_BASE_PIOC + PIO_IFDR(0));
+- writel(1 << 13, AT91C_BASE_PIOC + PIO_PPUER(0));
+- writel(1 << 13, AT91C_BASE_PIOC + PIO_ODR(0));
+- writel(1 << 14, AT91C_BASE_PIOC + PIO_CODR(0));
+- writel(1 << 14, AT91C_BASE_PIOC + PIO_MDDR(0));
+- writel(1 << 14, AT91C_BASE_PIOC + PIO_PPUDR(0));
+- writel(1 << 14, AT91C_BASE_PIOC + PIO_OER(0));
+- writel(3 << 13, AT91C_BASE_PIOC + PIO_IDR(0));
+- writel(3 << 13, AT91C_BASE_PIOC + PIO_PER(0));
+-}
+-
+-#ifdef CFG_HW_INIT
+-/*----------------------------------------------------------------------------*/
+-/* \fn hw_init */
+-/* \brief This function performs very low level HW initialization */
+-/* This function is invoked as soon as possible during the c_startup */
+-/* The bss segment must be initialized */
+-/*----------------------------------------------------------------------------*/
+-void hw_init(void)
+-{
+- /*
+- * Disable watchdog
+- */
+- writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR);
+-
+- /*
+- * At this stage the main oscillator is supposed to be enabled
+- * * PCK = MCK = MOSC
+- */
+-
+- /*
+- * Configure PLLA = MOSC * (PLL_MULA + 1) / PLL_DIVA
+- */
+- pmc_cfg_plla(PLLA_SETTINGS, PLL_LOCK_TIMEOUT);
+-
+- /*
+- * Switch MCK on PLLA output PCK = PLLA = 2 * MCK
+- */
+- pmc_cfg_mck(MCKR_SETTINGS, PLL_LOCK_TIMEOUT);
+-
+- /*
+- * Configure PLLB
+- */
+- pmc_cfg_pllb(PLLB_SETTINGS, PLL_LOCK_TIMEOUT);
+-
+- /*
+- * Configure the PIO controller
+- */
+- writel(3 << 14, AT91C_BASE_PIOB + PIO_ASR(0));
+- writel(3 << 14, AT91C_BASE_PIOB + PIO_PDR(0));
+-
+-#ifdef CFG_DEBUG
+- /*
+- * Enable Debug messages on the DBGU
+- */
+- dbg_init(BAUDRATE(MASTER_CLOCK, 115200));
+-
+- dbg_print("AT91 bootstrap loading from 0x8400\n\r");
+-#endif /* CFG_DEBUG */
+-
+-#ifdef CFG_SDRAM
+- /*
+- * Initialize the matrix
+- */
+- writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS1A_SDRAMC,
+- AT91C_BASE_CCFG + CCFG_EBICSA);
+-
+- /*
+- * Configure SDRAM Controller
+- */
+-
+-#define HYNIX
+-
+-//#define MICRON
+-#ifdef MICRON
+-#define MICRON_REFRESH 1420 /* 15.625 us / 11 ns @ 180 Mhz */
+- sdram_init(AT91C_SDRAMC_NC_9 | AT91C_SDRAMC_NR_12 | AT91C_SDRAMC_CAS_2 | AT91C_SDRAMC_NB_4_BANKS | AT91C_SDRAMC_DBW_32_BITS | AT91C_SDRAMC_TWR_2 | // 1 CLK+7ns
+- AT91C_SDRAMC_TRC_7 | // 60 ns
+- AT91C_SDRAMC_TRP_3 | // 15 ns
+- AT91C_SDRAMC_TRCD_3 | // 15 ns
+- AT91C_SDRAMC_TRAS_7 | // 37-120 ns
+- AT91C_SDRAMC_TXSR_7, /* 67ns *//* Control Register */
+- /*
+- * 600 700 735
+- */ MICRON_REFRESH /* 740 1536 */ ); /* Refresh Timer Register */
+-
+-#endif
+-/*
+-HY57V561620BT-H
+- *CAS lat *tRCD *tRAS *tRC *tRP tAC tOH
+-133 2 2 6 8 2 5.4ns 2.7ns
+-125 3 3 6 9 3 6ns 3ns
+-100 2 2 5 7 2 6ns 3ns
+-
+-*/
+-#ifdef HYNIX
+-#if defined(PLLA_180MHz)
+-/* CLK= 11ns */
+-/* TWR = tDPL = 2 2CLK always */
+-/* TRC = tRC = 65ns = 6 clk */
+-/* TRP = tRP = 20ns = 2 clk */
+-/* TRCD = tRCD = 20ns = 2 clk */
+-/* TRAS = tRAS = 45ns = 5 clk */
+-/* TXSR = tRRC = 65ns = 6 clk */
+-
+- sdram_init(AT91C_SDRAMC_NC_9 | AT91C_SDRAMC_NR_13 | AT91C_SDRAMC_CAS_2 | AT91C_SDRAMC_NB_4_BANKS | AT91C_SDRAMC_DBW_32_BITS | AT91C_SDRAMC_TWR_2 | AT91C_SDRAMC_TRC_6 | /* *7 */
+- AT91C_SDRAMC_TRP_2 | AT91C_SDRAMC_TRCD_2 | AT91C_SDRAMC_TRAS_5 | /* *5 */
+- AT91C_SDRAMC_TXSR_6, /* *8 *//* Control Register */
+- 710); /* Refresh Timer Register */
+-
+-#elif defined(PLLA_120MHz)
+-/* CLK= 16ns, MCLK=60MHz */
+-/* TWR = tDPL = 2 2CLK always */
+-/* TRC = tRC = 65ns = 4 clk */
+-/* TRP = tRP = 20ns = 2 clk */
+-/* TRCD = tRCD = 20ns = 2 clk */
+-/* TRAS = tRAS = 45ns = 3 clk */
+-/* TXSR = tRRC = 65ns = 4 clk */
+-
+- sdram_init(AT91C_SDRAMC_NC_9 | AT91C_SDRAMC_NR_13 | AT91C_SDRAMC_CAS_2 | AT91C_SDRAMC_NB_4_BANKS | AT91C_SDRAMC_DBW_32_BITS | AT91C_SDRAMC_TWR_2 | AT91C_SDRAMC_TRC_4 | AT91C_SDRAMC_TRP_2 | AT91C_SDRAMC_TRCD_2 | AT91C_SDRAMC_TRAS_3 | /* *5 */
+- AT91C_SDRAMC_TXSR_4, /* *8 *//* Control Register */
+- 1032); /* Refresh Timer Register */
+-#else
+-#error define PLLA180MHz
+-#endif
+-#endif /* HYNIX */
+-#endif /* CFG_SDRAM */
+-
+-#ifdef CFG_FLASH
+- flash_hw_init();
+-#endif
+- nandflash_hw_init();
+-}
+-#endif /* CFG_HW_INIT */
+-
+-#ifdef CFG_SDRAM
+-/*------------------------------------------------------------------------------*/
+-/* \fn sdramc_hw_init */
+-/* \brief This function performs SDRAMC HW initialization */
+-/*------------------------------------------------------------------------------*/
+-void sdramc_hw_init(void)
+-{
+- writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_ASR(0));
+- writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_PDR(0));
+-
+-}
+-#endif /* CFG_SDRAM */
+-
+-#ifdef CFG_DATAFLASH
+-
+-/*------------------------------------------------------------------------------*/
+-/* \fn df_hw_init */
+-/* \brief This function performs DataFlash HW initialization */
+-/*------------------------------------------------------------------------------*/
+-void df_hw_init(void)
+-{
+- writel(0xf, 0xfffff444);
+- writel(0xf, 0xfffff460);
+- writel(0xf, 0xfffff470);
+- writel(0xf, 0xfffff404);
+- writel(1 << 11, AT91C_BASE_PIOC + PIO_BSR(0));
+- writel(1 << 11, AT91C_BASE_PIOC + PIO_PDR(0));
+-}
+-#endif /* CFG_DATAFLASH */
+diff --git a/board/afeb9260/old/afeb9260.mk b/board/afeb9260/old/afeb9260.mk
+deleted file mode 100644
+index 88c2f64..0000000
+--- a/board/afeb9260/old/afeb9260.mk
++++ /dev/null
+@@ -1,8 +0,0 @@
+-# Target name (case sensitive!!!)
+-TARGET=AFEB9260
+-# Board name (case sensitive!!!)
+-BOARD=afeb9260
+-# Link Address and Top_of_Memory
+-LINK_ADDR=0x200000
+-TOP_OF_MEMORY=0x301000
+-
+diff --git a/board/afeb9260/old/dataflash/afeb9260.h b/board/afeb9260/old/dataflash/afeb9260.h
+deleted file mode 100644
+index e5f45bd..0000000
+--- a/board/afeb9260/old/dataflash/afeb9260.h
++++ /dev/null
+@@ -1,122 +0,0 @@
+-/* ----------------------------------------------------------------------------
+- * ATMEL Microcontroller Software Support - ROUSSET -
+- * ----------------------------------------------------------------------------
+- * Copyright (c) 2006, Atmel Corporation
+-
+- * All rights reserved.
+- *
+- * Redistribution and use in source and binary forms, with or without
+- * modification, are permitted provided that the following conditions are met:
+- *
+- * - Redistributions of source code must retain the above copyright notice,
+- * this list of conditions and the disclaiimer below.
+- *
+- * - Redistributions in binary form must reproduce the above copyright notice,
+- * this list of conditions and the disclaimer below in the documentation and/or
+- * other materials provided with the distribution.
+- *
+- * Atmel's name may not be used to endorse or promote products derived from
+- * this software without specific prior written permission.
+- *
+- * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
+- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+- * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
+- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+- * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+- * ----------------------------------------------------------------------------
+- * File Name : at91sam9260ek.h
+- * Object :
+- * Creation : NLe Jul 13th 2006
+- *-----------------------------------------------------------------------------
+- */
+-#ifndef _AFEB9260_H
+-#define _AFEB9260_H
+-#include "spi.h"
+-#include "pll.h"
+-
+-/* ******************************************************************* */
+-/* DataFlash Settings */
+-/* */
+-/* ******************************************************************* */
+-#define AT91C_BASE_SPI AT91C_BASE_SPI0
+-#define AT91C_ID_SPI AT91C_ID_SPI0
+-
+-/* SPI CLOCK */
+-#define AT91C_SPI_CLK 5000000
+-/* AC characteristics */
+-/* DLYBS = tCSS= 250ns min and DLYBCT = tCSH = 250ns */
+-#define DATAFLASH_TCSS (0x1a << 16) /* 250ns min (tCSS) <=> 12/48000000 = 250ns */
+-#define DATAFLASH_TCHS (0x1 << 24) /* 250ns min (tCSH) <=> (64*1+SCBR)/(2*48000000) */
+-
+-#define DF_CS_SETTINGS ((SPI_MODE) | (AT91C_SPI_DLYBS & DATAFLASH_TCSS) | (AT91C_SPI_DLYBCT & DATAFLASH_TCHS) | ((MASTER_CLOCK / AT91C_SPI_CLK) << 8))
+-
+-/* ******************************************************************* */
+-/* BootStrap Settings */
+-/* */
+-/* ******************************************************************* */
+-#define MACH_TYPE 0x44B /* AT91SAM9260-EK */
+-
+-#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */
+-
+-#if defined(IMG_SIZE)
+-#warning "IMG_SIZE redefined"
+-#else
+-#define IMG_SIZE 0x39000 /* Image Size in DataFlash */
+-#endif
+-
+-#if defined(JUMP_ADDR)
+-#warning "JUMP_ADDR redefined"
+-#else
+-#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
+-#endif
+-
+-/* ******************************************************************* */
+-/* NandFlash Settings */
+-/* */
+-/* ******************************************************************* */
+-#define AT91C_SMARTMEDIA_BASE 0x40000000
+-
+-#define AT91_SMART_MEDIA_ALE (1 << 21) /* our ALE is AD21 */
+-#define AT91_SMART_MEDIA_CLE (1 << 22) /* our CLE is AD22 */
+-
+-#define NAND_DISABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_SODR = AT91C_PIO_PC14;} while(0)
+-#define NAND_ENABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_CODR = AT91C_PIO_PC14;} while(0)
+-
+-#define NAND_WAIT_READY() while (!(*(volatile unsigned int *)AT91C_PIOC_PDSR & AT91C_PIO_PC13))
+-
+-/* ******************************************************************** */
+-/* SMC Chip Select 3 Timings for NandFlash for MASTER_CLOCK = 100000000.*/
+-/* Micron 16bits 256Mb for MASTER_CLOCK = 100000000. */
+-/* Please refer to SMC section in AT91SAM9261 datasheet to learn how */
+-/* to generate these values. */
+-/* ******************************************************************** */
+-
+-#define AT91C_SM_NWE_SETUP (2 << 0)
+-#define AT91C_SM_NCS_WR_SETUP (2 << 8)
+-#define AT91C_SM_NRD_SETUP (2 << 16)
+-#define AT91C_SM_NCS_RD_SETUP (2 << 24)
+-
+-#define AT91C_SM_NWE_PULSE (4 << 0)
+-#define AT91C_SM_NCS_WR_PULSE (4 << 8)
+-#define AT91C_SM_NRD_PULSE (4 << 16)
+-#define AT91C_SM_NCS_RD_PULSE (4 << 24)
+-
+-#define AT91C_SM_NWE_CYCLE (8 << 0)
+-#define AT91C_SM_NRD_CYCLE (8 << 16)
+-
+-#define AT91C_SM_TDF (2 << 16)
+-
+-/* ******************************************************************* */
+-/* Application Settings */
+-/* ******************************************************************* */
+-#define CFG_DEBUG
+-#define CFG_DATAFLASH
+-#define CFG_SDRAM
+-#define CFG_HW_INIT
+-
+-#endif /* _AT91SAM9260EK_H */
+diff --git a/board/afeb9260/old/nandflash/afeb9260ek.h b/board/afeb9260/old/nandflash/afeb9260ek.h
+deleted file mode 100644
+index ad00303..0000000
+--- a/board/afeb9260/old/nandflash/afeb9260ek.h
++++ /dev/null
+@@ -1,148 +0,0 @@
+-/* ----------------------------------------------------------------------------
+- * ATMEL Microcontroller Software Support - ROUSSET -
+- * ----------------------------------------------------------------------------
+- * Copyright (c) 2006, Atmel Corporation
+-
+- * All rights reserved.
+- *
+- * Redistribution and use in source and binary forms, with or without
+- * modification, are permitted provided that the following conditions are met:
+- *
+- * - Redistributions of source code must retain the above copyright notice,
+- * this list of conditions and the disclaimer below.
+- *
+- * - Redistributions in binary form must reproduce the above copyright notice,
+- * this list of conditions and the disclaimer below in the documentation and/or
+- * other materials provided with the distribution.
+- *
+- * Atmel's name may not be used to endorse or promote products derived from
+- * this software without specific prior written permission.
+- *
+- * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
+- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+- * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
+- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+- * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+- * ----------------------------------------------------------------------------
+- * File Name : at91sam9260ek.h
+- * Object :
+- * Creation : NLe Sep 28th 2006
+- *-----------------------------------------------------------------------------
+- */
+-#ifndef _AFEB9260_H
+-#define _AFEB9260_H
+-#include "spi.h"
+-#include "pll.h"
+-
+-/* ******************************************************************* */
+-/* DataFlash Settings */
+-/* */
+-/* ******************************************************************* */
+-#define AT91C_BASE_SPI AT91C_BASE_SPI0
+-#define AT91C_ID_SPI AT91C_ID_SPI0
+-
+-/* SPI CLOCK */
+-#define AT91C_SPI_CLK 5000000
+-/* AC characteristics */
+-/* DLYBS = tCSS= 250ns min and DLYBCT = tCSH = 250ns */
+-#define DATAFLASH_TCSS (0x1a << 16) /* 250ns min (tCSS) <=> 12/48000000 = 250ns */
+-#define DATAFLASH_TCHS (0x1 << 24) /* 250ns min (tCSH) <=> (64*1+SCBR)/(2*48000000) */
+-
+-#define DF_CS_SETTINGS ((SPI_MODE) | (AT91C_SPI_DLYBS & DATAFLASH_TCSS) | (AT91C_SPI_DLYBCT & DATAFLASH_TCHS) | ((MASTER_CLOCK / AT91C_SPI_CLK) << 8))
+-
+-/* ******************************************************************* */
+-/* NandFlash Settings */
+-/* */
+-/* ******************************************************************* */
+-#define AT91C_SMARTMEDIA_BASE 0x40000000
+-
+-#define AT91_SMART_MEDIA_ALE (1 << 21) /* our ALE is AD21 */
+-#define AT91_SMART_MEDIA_CLE (1 << 22) /* our CLE is AD22 */
+-
+-#define NAND_DISABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_SODR = AT91C_PIO_PC14;} while(0)
+-#define NAND_ENABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_CODR = AT91C_PIO_PC14;} while(0)
+-
+-#define NAND_WAIT_READY() while (!(*(volatile unsigned int *)AT91C_PIOC_PDSR & AT91C_PIO_PC13))
+-
+-/* ******************************************************************** */
+-/* SMC Chip Select 3 Timings for NandFlash for MASTER_CLOCK = 100000000.*/
+-/* Micron 16bits 256Mb for MASTER_CLOCK = 100000000. */
+-/* Please refer to SMC section in AT91SAM9261 datasheet to learn how */
+-/* to generate these values. */
+-/* ******************************************************************** */
+-
+-#define AT91C_SM_NWE_SETUP (2 << 0)
+-#define AT91C_SM_NCS_WR_SETUP (2 << 8)
+-#define AT91C_SM_NRD_SETUP (2 << 16)
+-#define AT91C_SM_NCS_RD_SETUP (2 << 24)
+-
+-#define AT91C_SM_NWE_PULSE (4 << 0)
+-#define AT91C_SM_NCS_WR_PULSE (4 << 8)
+-#define AT91C_SM_NRD_PULSE (4 << 16)
+-#define AT91C_SM_NCS_RD_PULSE (4 << 24)
+-
+-#define AT91C_SM_NWE_CYCLE (8 << 0)
+-#define AT91C_SM_NRD_CYCLE (8 << 16)
+-
+-#define AT91C_SM_TDF (2 << 16)
+-
+-/* ******************************************************************** */
+-/* SMC Chip Select 3 Timings for NandFlash for MASTER_CLOCK = 100000000.*/
+-/* Micron 16bits 256Mb for MASTER_CLOCK = 100000000. */
+-/* Please refer to SMC section in AT91SAM9261 datasheet to learn how */
+-/* to generate these values. */
+-/* ******************************************************************** */
+-/*#define AT91C_SM_NWE_SETUP (0 << 0)
+-#define AT91C_SM_NCS_WR_SETUP (0 << 8)
+-#define AT91C_SM_NRD_SETUP (0 << 16)
+-#define AT91C_SM_NCS_RD_SETUP (0 << 24)
+-
+-#define AT91C_SM_NWE_PULSE (2 << 0)
+-#define AT91C_SM_NCS_WR_PULSE (3 << 8)
+-#define AT91C_SM_NRD_PULSE (2 << 16)
+-#define AT91C_SM_NCS_RD_PULSE (3 << 24)
+-
+-#define AT91C_SM_NWE_CYCLE (3 << 0)
+-#define AT91C_SM_NRD_CYCLE (3 << 16)
+-
+-#define AT91C_SM_TDF (1 << 16)
+-*/
+-
+-/* ******************************************************************* */
+-/* BootStrap Settings */
+-/* */
+-/* ******************************************************************* */
+-#define MACH_TYPE 0x44B /* AT91SAM9260-EK */
+-
+-#define IMG_ADDRESS 0x20000 /* Image Address in NandFlash */
+-
+-#if defined(IMG_SIZE)
+-#warning "IMG_SIZE redefined"
+-#else
+-#define IMG_SIZE 0x30000 /* Image Size in NandFlash */
+-#endif
+-
+-#if defined(JUMP_ADDR)
+-#warning "JUMP_ADDR redefined"
+-#else
+-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
+-#endif
+-
+-/* ******************************************************************* */
+-/* Application Settings */
+-/* ******************************************************************* */
+-#define CFG_DEBUG
+-#undef CFG_DATAFLASH
+-
+-#define CFG_NANDFLASH
+-#undef NANDFLASH_SMALL_BLOCKS /* NANDFLASH_LARGE_BLOCKS used instead */
+-
+-#define CFG_HW_INIT
+-#define CFG_SDRAM
+-
+-#endif /* _AT91SAM9260EK_H */
+diff --git a/board/afeb9260/old/pll.h b/board/afeb9260/old/pll.h
+deleted file mode 100644
+index f2a01b3..0000000
+--- a/board/afeb9260/old/pll.h
++++ /dev/null
+@@ -1,35 +0,0 @@
+-/* ******************************************************************* */
+-/* PMC Settings */
+-/* */
+-/* The main oscillator is enabled as soon as possible in the c_startup */
+-/* and MCK is switched on the main oscillator. */
+-/* PLL initialization is done later in the hw_init() function */
+-/* ******************************************************************* */
+-#define PLL_LOCK_TIMEOUT 1000000
+-
+-#define PLLA_180MHz
+-
+-#ifdef PLLA_200MHz
+-#define PLLA_SETTINGS 0x2060BF09
+-#define MASTER_CLOCK (198656000/2)
+-#endif
+-
+-#ifdef PLLA_180MHz
+-#define PLLA_SETTINGS 0x2125BF1E /* 180MHz */
+-#define MASTER_CLOCK (179999198/2) /* 180MHz MCK=90MHz */
+-#endif
+-
+-#ifdef PLLA_120MHz
+-//#define PLLA_SETTINGS 0x2125BF2d /* 120MHz */
+-//#define MASTER_CLOCK (119999322) /* 120MHz MCK=60MHz*/
+-#define PLLA_SETTINGS 0x2125BF2d /* 120MHz */
+-#define MASTER_CLOCK (119999465/2) /* 120MHz MCK=60MHz */
+-#endif
+-
+-#if !defined(PLLA_180MHz) && !defined(PLLA_120MHz)
+-#error Define PLLA frequency
+-#endif
+-#define PLLB_SETTINGS 0x10483F0E
+-
+-/* Switch MCK on PLLA output PCK = PLLA = 2 * MCK */
+-#define MCKR_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | AT91C_PMC_PRES_CLK | AT91C_PMC_MDIV_2)
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0008-Makefile-Avoid-complaint-about-CROSS_COMPILE.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0008-Makefile-Avoid-complaint-about-CROSS_COMPILE.patch
new file mode 100644
index 0000000000..445758b398
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0008-Makefile-Avoid-complaint-about-CROSS_COMPILE.patch
@@ -0,0 +1,37 @@
+From 22826bb3fe0fc5ddf4e025c76847af36694b23db Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Sun, 23 Oct 2011 13:43:03 +0200
+Subject: [PATCH 08/39] Makefile: Avoid complaint about CROSS_COMPILE
+
+When we are running targets, not requiring cross compilation,
+CROSS_COMPILE does not need to be defined.
+
+Check MAKECMDGOALS for any target needing cross compilation,
+and only issue complaint, if such a target is found,
+and CROSS_COMPILE is not set.
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@telia.com>
+---
+ Makefile | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 55af2d9..4676379 100644
+--- a/Makefile
++++ b/Makefile
+@@ -88,9 +88,12 @@ else
+ ## Have DOT Config
+ #
+
++nocompile_targets:= distrib config-clean clean distclean mrproper
++ifeq ($(filter $(nocompile_targets),$(MAKECMDGOALS)),)
+ ifeq ($(CROSS_COMPILE),)
+ $(error Environment variable "CROSS_COMPILE" must be defined!)
+ endif
++endif
+
+ AS=$(CROSS_COMPILE)gcc
+ CC=$(CROSS_COMPILE)gcc
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0009-.gitignore-Do-not-track-.rej.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0009-.gitignore-Do-not-track-.rej.patch
new file mode 100644
index 0000000000..4ec6f5678b
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0009-.gitignore-Do-not-track-.rej.patch
@@ -0,0 +1,23 @@
+From b83985548c5c7a8e7fa8c4f71aff8e466dfde572 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Sun, 23 Oct 2011 14:19:43 +0200
+Subject: [PATCH 09/39] .gitignore: Do not track *.rej
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@telia.com>
+---
+ .gitignore | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/.gitignore b/.gitignore
+index bdfcad1..5cea63c 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -22,4 +22,5 @@ binaries
+ tags
+ *.swp
+ install/*
++*.rej
+
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0010-alternate-boot-Support-booting-from-two-sources.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0010-alternate-boot-Support-booting-from-two-sources.patch
new file mode 100644
index 0000000000..e3517e6448
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0010-alternate-boot-Support-booting-from-two-sources.patch
@@ -0,0 +1,621 @@
+From be02aa37e71e5209df33e879746f89692649f696 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Sun, 23 Oct 2011 15:42:12 +0200
+Subject: [PATCH 10/39] alternate-boot: Support booting from two sources
+
+This function allows the user to select between two different boot sources.
+Typically the second boot source is a USB Mass Storage Adapter
+application making the development kit look like an SD-Card Reader
+
+Several new configuration items are added
+CONFIG_DUAL_BOOT Enable/Disable
+ALLOW_DUAL_BOOT gate for the following functions.
+ Needs to be enabled for each supported CPU.
+CONFIG_ALT_IMG_ADDRESS Address where image is located (not used for SD-Card)
+CONFIG_ALT_IMG_SIZE Size of image (not used for SD-Card)
+CONFIG_ALT_IMG_NAME default "program.bin"
+CONFIG_ALT_JUMP_ADDR Alternate jump address, when the secondary boot is selected.
+
+Currently supported for:
+* AT91SAM9G45EK
+* AT91SAM9G45EKES
+* AT91SAM9M10EK
+* AT91SAM9M10EKES
+
+This is really only useful for CPUs with SD-Card boot.
+
+The board support involves creating the function:
+
+int alternate_boot_button(void);
+
+Typically this tests a button (In this patch LEFT_BUTTON)
+and if this is pressed at reset, then the alternate boot
+is selected.
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@telia.com>
+---
+ Config.in | 43 ++++++++++++++++++++++++++-
+ Makefile | 8 +++++
+ board/Config.in | 4 ++
+ board/at91sam9g45ek/at91sam9g45ek.c | 29 ++++++++++++++++++
+ board/at91sam9g45ek/at91sam9g45ek.h | 10 ++++++
+ board/at91sam9g45ekes/at91sam9g45ekes.c | 30 +++++++++++++++++++
+ board/at91sam9g45ekes/at91sam9g45ekes.h | 9 ++++++
+ board/at91sam9m10ek/at91sam9m10ek.c | 29 ++++++++++++++++++
+ board/at91sam9m10ek/at91sam9m10ek.h | 10 ++++++
+ board/at91sam9m10ekes/at91sam9m10ekes.c | 29 ++++++++++++++++++
+ board/at91sam9m10ekes/at91sam9m10ekes.h | 10 ++++++
+ driver/MEDSdcard.c | 12 ++++++-
+ include/gpio.h | 4 ++
+ main.c | 49 +++++++++++++++++++-----------
+ toplevel_cpp.mk | 10 ++++++-
+ 15 files changed, 264 insertions(+), 22 deletions(-)
+
+diff --git a/Config.in b/Config.in
+index 3cd9852..709d155 100644
+--- a/Config.in
++++ b/Config.in
+@@ -75,6 +75,33 @@ config CONFIG_LOAD_4MB
+
+ endchoice
+
++config CONFIG_DUAL_BOOT
++ bool "Support dual application boot"
++ depends on ALLOW_DUAL_BOOT
++ default n
++ help
++ Allow booting a secondary application if a button is pressed
++
++config CONFIG_ALT_IMG_ADDRESS
++ string
++ default "0x00040000" if CONFIG_FLASH
++ default "0x00063000" if CONFIG_DATAFLASH
++ default "0x00040000" if CONFIG_NANDFLASH
++ default "0x00000000" if CONFIG_SDCARD
++ help
++ Where the secondary application is stored.
++
++config CONFIG_ALT_IMG_SIZE
++ string
++ default "0x00010000"
++ help
++ at91bootstrap will copy this amount of data
++
++config CONFIG_ALT_IMAGE_NAME
++ depends on CONFIG_SDCARD && CONFIG_DUAL_BOOT
++ string "Binary Name on SD Card"
++ default "program.bin"
++
+ #
+ # Linux Image Storage Setup
+ #
+@@ -314,6 +341,17 @@ config CONFIG_JUMP_ADDR
+ help
+ The entry point to which the bootstrap will pass control.
+
++config CONFIG_ALT_JUMP_ADDR
++ string
++ default "0x70000000" if CONFIG_AT91CAP9ADK
++ default "0x70000000" if CONFIG_AT91SAM9G45EK
++ default "0x70000000" if CONFIG_AT91SAM9M10EK
++ default "0x70000000" if CONFIG_AT91SAM9M10EKES
++ default "0x70000000" if CONFIG_AT91SAM9G45EKES
++ default "0x20000000"
++ help
++ The entry point to which the bootstrap will pass control.
++
+ config CONFIG_GLBDRV_ADDR
+ string
+ default "0x70000000" if CONFIG_AT91CAP9ADK
+@@ -331,7 +369,7 @@ config CONFIG_GLBDRV_ADDR
+ default "0x20068000" if CONFIG_AT91SAM9X5EK
+ default "0x23F00000"
+ help
+-
++
+ config CONFIG_LONG_TEST
+ bool "Perform a memory test at startup"
+ default n
+@@ -353,6 +391,9 @@ config CONFIG_DEBUG_VERY_LOUD
+ bool "Even louder debug output"
+ endchoice
+
++config ALLOW_DUAL_BOOT
++ bool
++
+ config CONFIG_HW_INIT
+ bool "Call Hardware Initialization"
+ default y
+diff --git a/Makefile b/Makefile
+index 4676379..2518d12 100644
+--- a/Makefile
++++ b/Makefile
+@@ -117,8 +117,16 @@ IMG_ADDRESS := $(strip $(subst ",,$(CONFIG_IMG_ADDRESS)))
+
+ IMG_SIZE := $(strip $(subst ",,$(CONFIG_IMG_SIZE)))
+
++ALT_IMG_ADDRESS :=$(strip $(subst ",,$(CONFIG_ALT_IMG_ADDRESS)))
++
++ALT_IMG_SIZE :=$(strip $(subst ",,$(CONFIG_ALT_IMG_SIZE)))
++
++ALT_IMAGE_NAME :=$(strip $(subst ",,$(CONFIG_ALT_IMAGE_NAME)))
++
+ JUMP_ADDR := $(strip $(subst ",,$(CONFIG_JUMP_ADDR)))
+
++ALT_JUMP_ADDR := $(strip $(subst ",,$(CONFIG_ALT_JUMP_ADDR)))
++
+ BOOTSTRAP_MAXSIZE := $(strip $(subst ",,$(CONFIG_BOOTSTRAP_MAXSIZE)))
+
+ MEMORY := $(strip $(subst ",,$(CONFIG_MEMORY)))
+diff --git a/board/Config.in b/board/Config.in
+index 4b04bc4..7ec9a49 100644
+--- a/board/Config.in
++++ b/board/Config.in
+@@ -126,6 +126,7 @@ config CONFIG_AT91SAM9G45EK
+ select ALLOW_CRYSTAL_18_432MHZ
+ select ALLOW_BOOT_FROM_DATAFLASH_CS0
+ select ALLOW_DATAFLASH_RECOVERY
++ select ALLOW_DUAL_BOOT
+ help
+ Use the AT91SAM9G45EK Development board
+ Can also be used for AT91SAM9M10/M11
+@@ -142,6 +143,7 @@ config CONFIG_AT91SAM9G45EKES
+ select ALLOW_CRYSTAL_18_432MHZ
+ select ALLOW_BOOT_FROM_DATAFLASH_CS0
+ select ALLOW_DATAFLASH_RECOVERY
++ select ALLOW_DUAL_BOOT
+ help
+ Use the AT91SAM9G45EK-ES Development board
+ Can also be used for AT91SAM9M10/M11-ES
+@@ -158,6 +160,7 @@ config CONFIG_AT91SAM9M10EK
+ select ALLOW_CRYSTAL_18_432MHZ
+ select ALLOW_BOOT_FROM_DATAFLASH_CS0
+ select ALLOW_DATAFLASH_RECOVERY
++ select ALLOW_DUAL_BOOT
+ help
+ Use the AT91SAM9M10EK Development board
+ Can also be used for AT91SAM9G45
+@@ -174,6 +177,7 @@ config CONFIG_AT91SAM9M10EKES
+ select ALLOW_CRYSTAL_18_432MHZ
+ select ALLOW_BOOT_FROM_DATAFLASH_CS0
+ select ALLOW_DATAFLASH_RECOVERY
++ select ALLOW_DUAL_BOOT
+ help
+ Use the AT91SAM9M10EKES Development board
+ Can also be used for AT91SAM9G45
+diff --git a/board/at91sam9g45ek/at91sam9g45ek.c b/board/at91sam9g45ek/at91sam9g45ek.c
+index 627e037..5a5ec9e 100644
+--- a/board/at91sam9g45ek/at91sam9g45ek.c
++++ b/board/at91sam9g45ek/at91sam9g45ek.c
+@@ -42,6 +42,7 @@
+ #include "debug.h"
+ #include "main.h"
+ #include "ddramc.h"
++#include "gpio.h"
+ #ifdef CONFIG_NANDFLASH
+ #include "nandflash.h"
+ #endif
+@@ -74,6 +75,34 @@ void sclk_enable(void)
+ }
+ #endif
+
++/*------------------------------------------------------------------------------*/
++/* \fn alternate_boot */
++/* \brief This function returns 1 if LEFT BUTTON is pressed */
++/* during boot sequence */
++/*------------------------------------------------------------------------------*/
++int alternate_boot_button(void)
++{
++ /* Configure PIOs */
++ const struct pio_desc button_pio[] = {
++ {"LEFT", LEFT_BUTTON, 0, PIO_PULLUP, PIO_INPUT},
++ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
++ };
++
++ /* Configure PIO B controller */
++ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
++ pio_setup(button_pio);
++
++ /* Return "1" if LEFT BUTTON is pressed during Boot sequence */
++ dbgu_print("Checking for Alternate boot: ...\n\r");
++ if ( !pio_get_value(LEFT_BUTTON) ) {
++ dbgu_print("[Alternate]\n\r");
++ return 1;
++ } else {
++ dbgu_print("[Normal]\n\r");
++ return 0;
++ }
++}
++
+ #ifdef CONFIG_HW_INIT
+ /*----------------------------------------------------------------------------*/
+ /* \fn hw_init */
+diff --git a/board/at91sam9g45ek/at91sam9g45ek.h b/board/at91sam9g45ek/at91sam9g45ek.h
+index d443433..06a8069 100644
+--- a/board/at91sam9g45ek/at91sam9g45ek.h
++++ b/board/at91sam9g45ek/at91sam9g45ek.h
+@@ -122,4 +122,14 @@
+ #define BOARD_SD_PINS \
+ {(0x3E << 0), AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_PERIPH_A, PIO_PULLUP}, \
+ {(0x1 << 0), AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT}
++
++#define LEFT_BUTTON AT91C_PIN_PB(6)
++#define RIGHT_BUTTON AT91C_PIN_PB(7)
++
++#define JOY_LEFT AT91C_PIN_PB(14)
++#define JOY_RIGHT AT91C_PIN_PB(15)
++#define JOY_UP AT91C_PIN_PB(16)
++#define JOY_DOWN AT91C_PIN_PB(17)
++#define JOY_PUSH AT91C_PIN_PB(18)
++
+ #endif /* _AT91SAM9G45EK_H */
+diff --git a/board/at91sam9g45ekes/at91sam9g45ekes.c b/board/at91sam9g45ekes/at91sam9g45ekes.c
+index 0a5094a..e29e7ff 100644
+--- a/board/at91sam9g45ekes/at91sam9g45ekes.c
++++ b/board/at91sam9g45ekes/at91sam9g45ekes.c
+@@ -42,6 +42,7 @@
+ #include "debug.h"
+ #include "main.h"
+ #include "ddramc.h"
++#include "gpio.h"
+ #ifdef CONFIG_NANDFLASH
+ #include "nandflash.h"
+ #endif
+@@ -57,6 +58,35 @@ int get_cpsr(void);
+
+ void set_cpsr(unsigned int value);
+
++
++/*------------------------------------------------------------------------------*/
++/* \fn alternate_boot */
++/* \brief This function returns 1 if LEFT BUTTON is pressed */
++/* during boot sequence */
++/*------------------------------------------------------------------------------*/
++int alternate_boot_button(void)
++{
++ /* Configure PIOs */
++ const struct pio_desc button_pio[] = {
++ {"LEFT", LEFT_BUTTON, 0, PIO_PULLUP, PIO_INPUT},
++ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
++ };
++
++ /* Configure PIO B controller */
++ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
++ pio_setup(button_pio);
++
++ /* Return "1" if LEFT BUTTON is pressed during Boot sequence */
++ dbgu_print("Checking for Alternate boot: ...\n\r");
++ if ( !pio_get_value(LEFT_BUTTON) ) {
++ dbgu_print("[Alternate]\n\r");
++ return 1;
++ } else {
++ dbgu_print("[Normal]\n\r");
++ return 0;
++ }
++}
++
+ #ifdef CONFIG_SCLK
+ void sclk_enable(void)
+ {
+diff --git a/board/at91sam9g45ekes/at91sam9g45ekes.h b/board/at91sam9g45ekes/at91sam9g45ekes.h
+index d58a735..d09eebc 100644
+--- a/board/at91sam9g45ekes/at91sam9g45ekes.h
++++ b/board/at91sam9g45ekes/at91sam9g45ekes.h
+@@ -123,4 +123,13 @@
+ {(0x3E << 0), AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_PERIPH_A, PIO_PULLUP}, \
+ {(0x1 << 0), AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT}
+
++#define LEFT_BUTTON AT91C_PIN_PB(6)
++#define RIGHT_BUTTON AT91C_PIN_PB(7)
++
++#define JOY_LEFT AT91C_PIN_PB(14)
++#define JOY_RIGHT AT91C_PIN_PB(15)
++#define JOY_UP AT91C_PIN_PB(16)
++#define JOY_DOWN AT91C_PIN_PB(17)
++#define JOY_PUSH AT91C_PIN_PB(18)
++
+ #endif /* _AT91SAM9G45EKES_H */
+diff --git a/board/at91sam9m10ek/at91sam9m10ek.c b/board/at91sam9m10ek/at91sam9m10ek.c
+index 9f90e76..efef653 100644
+--- a/board/at91sam9m10ek/at91sam9m10ek.c
++++ b/board/at91sam9m10ek/at91sam9m10ek.c
+@@ -42,6 +42,7 @@
+ #include "debug.h"
+ #include "main.h"
+ #include "ddramc.h"
++#include "gpio.h"
+ #ifdef CONFIG_NANDFLASH
+ #include "nandflash.h"
+ #endif
+@@ -74,6 +75,34 @@ void sclk_enable(void)
+ }
+ #endif
+
++/*------------------------------------------------------------------------------*/
++/* \fn alternate_boot */
++/* \brief This function returns 1 if LEFT BUTTON is pressed */
++/* during boot sequence */
++/*------------------------------------------------------------------------------*/
++int alternate_boot_button(void)
++{
++ /* Configure PIOs */
++ const struct pio_desc button_pio[] = {
++ {"LEFT", LEFT_BUTTON, 0, PIO_PULLUP, PIO_INPUT},
++ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
++ };
++
++ /* Configure PIO B controller */
++ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
++ pio_setup(button_pio);
++
++ /* Return "1" if LEFT BUTTON is pressed during Boot sequence */
++ dbgu_print("Checking for Alternate boot: ...\n\r");
++ if ( !pio_get_value(LEFT_BUTTON) ) {
++ dbgu_print("[Alternate]\n\r");
++ return 1;
++ } else {
++ dbgu_print("[Normal]\n\r");
++ return 0;
++ }
++}
++
+ #ifdef CONFIG_HW_INIT
+ /*----------------------------------------------------------------------------*/
+ /* \fn hw_init */
+diff --git a/board/at91sam9m10ek/at91sam9m10ek.h b/board/at91sam9m10ek/at91sam9m10ek.h
+index 222c953..e6abfa7 100644
+--- a/board/at91sam9m10ek/at91sam9m10ek.h
++++ b/board/at91sam9m10ek/at91sam9m10ek.h
+@@ -122,4 +122,14 @@
+ #define BOARD_SD_PINS \
+ {(0x3E << 0), AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_PERIPH_A, PIO_PULLUP}, \
+ {(0x1 << 0), AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT}
++
++#define LEFT_BUTTON AT91C_PIN_PB(6)
++#define RIGHT_BUTTON AT91C_PIN_PB(7)
++
++#define JOY_LEFT AT91C_PIN_PB(14)
++#define JOY_RIGHT AT91C_PIN_PB(15)
++#define JOY_UP AT91C_PIN_PB(16)
++#define JOY_DOWN AT91C_PIN_PB(17)
++#define JOY_PUSH AT91C_PIN_PB(18)
++
+ #endif /* _AT91SAM9M10EK_H */
+diff --git a/board/at91sam9m10ekes/at91sam9m10ekes.c b/board/at91sam9m10ekes/at91sam9m10ekes.c
+index 71e43bc..71da109 100644
+--- a/board/at91sam9m10ekes/at91sam9m10ekes.c
++++ b/board/at91sam9m10ekes/at91sam9m10ekes.c
+@@ -42,6 +42,7 @@
+ #include "debug.h"
+ #include "main.h"
+ #include "ddramc.h"
++#include "gpio.h"
+ #ifdef CONFIG_NANDFLASH
+ #include "nandflash.h"
+ #endif
+@@ -74,6 +75,34 @@ void sclk_enable(void)
+ }
+ #endif
+
++/*------------------------------------------------------------------------------*/
++/* \fn alternate_boot */
++/* \brief This function returns 1 if LEFT BUTTON is pressed */
++/* during boot sequence */
++/*------------------------------------------------------------------------------*/
++int alternate_boot_button(void)
++{
++ /* Configure PIOs */
++ const struct pio_desc button_pio[] = {
++ {"LEFT", LEFT_BUTTON, 0, PIO_PULLUP, PIO_INPUT},
++ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
++ };
++
++ /* Configure PIO B controller */
++ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
++ pio_setup(button_pio);
++
++ /* Return "1" if LEFT BUTTON is pressed during Boot sequence */
++ dbgu_print("Checking for Alternate boot: ...\n\r");
++ if ( !pio_get_value(LEFT_BUTTON) ) {
++ dbgu_print("[Alternate]\n\r");
++ return 1;
++ } else {
++ dbgu_print("[Normal]\n\r");
++ return 0;
++ }
++}
++
+ #ifdef CONFIG_HW_INIT
+ /*----------------------------------------------------------------------------*/
+ /* \fn hw_init */
+diff --git a/board/at91sam9m10ekes/at91sam9m10ekes.h b/board/at91sam9m10ekes/at91sam9m10ekes.h
+index 222c953..e6abfa7 100644
+--- a/board/at91sam9m10ekes/at91sam9m10ekes.h
++++ b/board/at91sam9m10ekes/at91sam9m10ekes.h
+@@ -122,4 +122,14 @@
+ #define BOARD_SD_PINS \
+ {(0x3E << 0), AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_PERIPH_A, PIO_PULLUP}, \
+ {(0x1 << 0), AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT}
++
++#define LEFT_BUTTON AT91C_PIN_PB(6)
++#define RIGHT_BUTTON AT91C_PIN_PB(7)
++
++#define JOY_LEFT AT91C_PIN_PB(14)
++#define JOY_RIGHT AT91C_PIN_PB(15)
++#define JOY_UP AT91C_PIN_PB(16)
++#define JOY_DOWN AT91C_PIN_PB(17)
++#define JOY_PUSH AT91C_PIN_PB(18)
++
+ #endif /* _AT91SAM9M10EK_H */
+diff --git a/driver/MEDSdcard.c b/driver/MEDSdcard.c
+index a2e287b..472797f 100644
+--- a/driver/MEDSdcard.c
++++ b/driver/MEDSdcard.c
+@@ -48,6 +48,14 @@
+
+ #include <string.h>
+
++extern unsigned int altboot;
++
++#if defined(CONFIG_DUAL_BOOT)
++#define IMAGE_NAME altboot?ALT_IMAGE_NAME:OS_IMAGE_NAME
++#else
++#define IMAGE_NAME OS_IMAGE_NAME
++#endif
++
+ //------------------------------------------------------------------------------
+ // Constants
+ //------------------------------------------------------------------------------
+@@ -689,10 +697,10 @@ unsigned int load_SDCard(void *dst)
+ while (1) ;
+ }
+
+- res = f_open(&fileObject, OS_IMAGE_NAME, FA_OPEN_EXISTING | FA_READ);
++ res = f_open(&fileObject, IMAGE_NAME, FA_OPEN_EXISTING | FA_READ);
+
+ if (res != FR_OK) {
+- dbg_log(1, "*** f_open, File name: [%s]: error!\n\r", OS_IMAGE_NAME);
++ dbg_log(1, "*** f_open, File name: [%s]: error!\n\r", IMAGE_NAME);
+ while (1) ;
+ }
+
+diff --git a/include/gpio.h b/include/gpio.h
+index 045d71c..d7164e6 100644
+--- a/include/gpio.h
++++ b/include/gpio.h
+@@ -76,4 +76,8 @@ extern int pio_set_gpio_output(unsigned pin, int value);
+ #define AT91C_PIN_PD(io) (3 * PIO_NB_IO + io)
+ #define AT91C_PIN_PE(io) (4 * PIO_NB_IO + io)
+
++#if defined(CONFIG_DUAL_BOOT)
++extern int alternate_boot_button(void);
++#endif
++
+ #endif /* GPIO_H_ */
+diff --git a/main.c b/main.c
+index a45362c..cd1d540 100644
+--- a/main.c
++++ b/main.c
+@@ -35,6 +35,7 @@
+ #include "dbgu.h"
+ #include "debug.h"
+ #include "dataflash.h"
++#include "gpio.h"
+ #include "nandflash.h"
+ #include "flash.h"
+
+@@ -51,6 +52,11 @@ void LoadLinux();
+
+ void LoadWince();
+
++unsigned int img_address = IMG_ADDRESS;
++unsigned int img_size = IMG_SIZE;
++unsigned int jump_addr = JUMP_ADDR;
++unsigned int altboot = 0;
++
+ /*------------------------------------------------------------------------------*/
+ /* Function Name : Wait */
+ /* Object : software loop waiting function */
+@@ -95,40 +101,47 @@ int main(void)
+ load_1wire_info();
+ #endif
+
++/* Check if we want to boot the alternate image */
++#if defined(CONFIG_DUAL_BOOT)
++ if(alternate_boot_button()) {
++ dbg_log(1, "Downloading Alternate image...\r\n");
++ img_address = ALT_IMG_ADDRESS;
++ img_size = ALT_IMG_SIZE;
++ jump_addr = ALT_JUMP_ADDR;
++ altboot=1;
++ } else {
++ dbg_log(1, "Downloading image...\n\r");
++ }
++#else
+ dbg_log(1, "Downloading image...\n\r");
++#endif
+
+ #if defined(CONFIG_LOAD_LINUX)
+ LoadLinux();
+ #elif defined(CONFIG_LOAD_NK) || defined(CONFIG_LOAD_EBOOT)
+ LoadWince();
+-#else
+ /* Booting stand-alone application, e.g. U-Boot */
+-#if defined (CONFIG_DATAFLASH)
+- load_df(AT91C_SPI_PCS_DATAFLASH, IMG_ADDRESS, IMG_SIZE, JUMP_ADDR);
++#elif defined (CONFIG_DATAFLASH)
++ load_df(AT91C_SPI_PCS_DATAFLASH, img_address, img_size, jump_addr);
+ #elif defined(CONFIG_NANDFLASH)
+- read_nandflash((unsigned char *)JUMP_ADDR, (unsigned long)IMG_ADDRESS,
+- (int)IMG_SIZE);
++ read_nandflash((unsigned char *)jump_addr, (unsigned long)img_address, (int)img_size);
+ #elif defined(CONFIG_SDCARD)
+- load_SDCard((void *)JUMP_ADDR);
++ load_SDCard((void *)jump_addr);
++#elif CONFIG_FLASH
++ load_norflash(img_address, img_size, jump_addr);
+ #else
+ #error "No booting media specified!"
+ #endif
+
+-#endif
+-
+ dbg_log(1, "Done!\n\r");
+
+-#ifdef WINCE
+-#ifdef CONFIG_LOAD_NK
+- Jump(JUMP_ADDR + 0x1000);
+-#else
+- Jump(JUMP_ADDR);
++#ifdef CONFIG_LOAD_NK
++ jump_addr += 0x1000;
+ #endif
++
++#ifdef WINCE
++ Jump(jump_addr);
+ #else /* !WINCE */
+-#ifdef CONFIG_LOAD_NK
+- return (JUMP_ADDR + 0x1000);
+-#else
+- return JUMP_ADDR;
+-#endif
++ return jump_addr;
+ #endif
+ }
+diff --git a/toplevel_cpp.mk b/toplevel_cpp.mk
+index af3e9fb..569f297 100644
+--- a/toplevel_cpp.mk
++++ b/toplevel_cpp.mk
+@@ -2,16 +2,20 @@ CPPFLAGS += \
+ -DIMG_ADDRESS=$(IMG_ADDRESS) \
+ -DIMG_SIZE=$(IMG_SIZE) \
+ -DJUMP_ADDR=$(JUMP_ADDR) \
++ -DALT_JUMP_ADDR=$(ALT_JUMP_ADDR) \
+ -DOS_MEM_BANK=$(OS_MEM_BANK) \
+ -DOS_MEM_SIZE=$(OS_MEM_SIZE) \
+ -DOS_IMG_SIZE=$(OS_IMG_SIZE) \
+ -DOS_IMAGE_NAME="\"$(OS_IMAGE_NAME)\"" \
++ -DALT_IMG_ADDRESS=$(ALT_IMG_ADDRESS) \
++ -DALT_IMG_SIZE=$(ALT_IMG_SIZE) \
++ -DALT_IMAGE_NAME="\"$(ALT_IMAGE_NAME)\"" \
+ -DLINUX_IMG_NAND_OFFSET=$(LINUX_IMG_NAND_OFFSET) \
+ -DLINUX_KERNEL_ARG_STRING="\"$(LINUX_KERNEL_ARG_STRING)\"" \
+ -DGLBDRV_ADDR=$(GLBDRV_ADDR) \
+ -DSETTING_ADDRESS=$(SETTING_ADDRESS) \
+ -DSETTING_SIZE=$(SETTING_SIZE) \
+- -DTOP_OF_MEMORY=$(TOP_OF_MEMORY) \
++ -DTOP_OF_MEMORY=$(TOP_OF_MEMORY) \
+ -DMACH_TYPE=$(MACH_TYPE) \
+
+ ASFLAGS += -DJUMP_ADDR=$(JUMP_ADDR) \
+@@ -38,3 +42,7 @@ ifeq ($(CONFIG_USER_HW_INIT),y)
+ CPPFLAGS += -DCONFIG_USER_HW_INIT
+ endif
+
++ifeq ($(CONFIG_DUAL_BOOT),y)
++CPPFLAGS += -DCONFIG_DUAL_BOOT
++endif
++
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0011-build-scripts-Update-buildscripts.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0011-build-scripts-Update-buildscripts.patch
new file mode 100644
index 0000000000..cc8ab312f8
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0011-build-scripts-Update-buildscripts.patch
@@ -0,0 +1,260 @@
+From eb818912c94568ead8780aa69f1a74091fdf66e8 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Sun, 23 Oct 2011 15:45:57 +0200
+Subject: [PATCH 11/39] build scripts: Update buildscripts
+
+Default cross_compiler = Ubuntus ARM compiler
+
+mk-config-list.sh:
+ Sourced to create "allboards.cfg"
+
+allboards.cfg:
+ This is a list of all boards with 'defconfig's.
+
+ALLCONFIGS:
+ Will "make oldconfig" on all boards, allowing
+ the user to manually select options, undefined in the
+ current defconfig, and will save the result.
+
+MAKEALL:
+ Will build all the the configurations,
+ with build status in the "result" folder.
+
+ "result" contains the following folders
+ * OK - log files of all successful builds
+ * FAIL - log files of all failed builds
+ * binaries - bin files
+ * elf - elf files
+ * map - map files
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@telia.com>
+---
+ ALLCONFIGS | 25 +++++++++++++++++
+ MAKEALL | 79 ++++++++++++++++++++---------------------------------
+ allboards.cfg | 60 ++++++++++++++++++++++++++++++++++++++++
+ mk-config-list.sh | 18 ++++++++++++
+ 4 files changed, 133 insertions(+), 49 deletions(-)
+ create mode 100755 ALLCONFIGS
+ create mode 100644 allboards.cfg
+ create mode 100755 mk-config-list.sh
+
+diff --git a/ALLCONFIGS b/ALLCONFIGS
+new file mode 100755
+index 0000000..fc242c5
+--- /dev/null
++++ b/ALLCONFIGS
+@@ -0,0 +1,25 @@
++#!/bin/sh
++# Support Ubuntu ARM C compiler
++export CROSS_COMPILE?=/usr/bin/arm-linux-gnueabi-
++
++source ./mk-config-list.sh
++
++reconfig ()
++{
++ make $1_defconfig
++ make oldconfig
++ make CROSS_COMPILE=arm-linux- update
++}
++
++reconfig_all ()
++{
++ for f in `cat $CONFIG_LIST` ; do
++ reconfig $f
++ done
++}
++
++reconfig_all
++
++echo
++echo
++echo "### Done!"
+diff --git a/MAKEALL b/MAKEALL
+index 94eedae..fdb72da 100755
+--- a/MAKEALL
++++ b/MAKEALL
+@@ -1,61 +1,42 @@
+ #!/bin/sh
+-rm -f binaries/*
+-rm -rf log
+-mkdir -p log/FAIL
+-skip=0
+
+-function build()
+-{
+- make distclean
+- make $1_defconfig
+- make > log/$1.log 2>&1 || mv log/$1.log log/FAIL/$1.log.FAIL
+-}
+-
+-#build at91cap9adk
+-#build at91cap9df
+-#build at91cap9f
+-
+-#build at91cap9stk
+-#build at91cap9stkdf
+-#build at91cap9stkf
+-
+-build at91sam9g20df
+-build at91sam9g20sd
+-build at91sam9g20nf
+-
+-build at91sam9g10df
+-build at91sam9g10sd
+-build at91sam9g10nf
++# Support Ubuntu ARM C compiler
++export CROSS_COMPILE?=/usr/bin/arm-linux-gnueabi-
+
+-build at91sam9g45dfes
+-build at91sam9g45sdes
+-build at91sam9g45nfes
+
+-build at91sam9g45df
+-build at91sam9g45sd
+-build at91sam9g45nf
++rm -f binaries/*
++rm -rf log
++rm -fr result
+
+-build at91sam9m10df
+-build at91sam9m10sd
+-build at91sam9m10nf
++mkdir -p log
++mkdir -p result/FAIL
++mkdir -p result/OK
++mkdir -p result/binaries
++mkdir -p result
++mkdir -p result/map
++mkdir -p result/elf
+
+-build at91sam9rldf
+-build at91sam9rlsd
+-build at91sam9rlnf
++source ./mk-config-list.sh
+
+-#build at91sam9xedfc
+-#build at91sam9xedf
+-#build at91sam9xeek
+-#build at91sam9xenf
+-
+-build at91sam9260df
+-build at91sam9260nf
++build ()
++{
++ make distclean
++ make $1_defconfig
++ make > log/$1.log 2>&1 || mv log/$1.log result/FAIL/$1.log.FAIL
++ mv log/$1.log result/OK/$1.log.OK || echo
++ mv binaries/*.elf result/elf
++ mv binaries/*.map result/map
++ mv binaries/*.bin result/binaries
++}
+
+-build at91sam9261df
+-build at91sam9261nf
++build_all ()
++{
++ for f in `cat $CONFIG_LIST` ; do
++ build $f
++ done
++}
+
+-build at91sam9263df
+-build at91sam9263nf
++build_all
+
+ echo
+ echo
+diff --git a/allboards.cfg b/allboards.cfg
+new file mode 100644
+index 0000000..01355c9
+--- /dev/null
++++ b/allboards.cfg
+@@ -0,0 +1,60 @@
++afeb9260
++at91cap9adk
++at91cap9df
++at91cap9f
++at91cap9stk
++at91cap9stkdf
++at91cap9stkf
++at91sam9260dfc
++at91sam9260df
++at91sam9260ek
++at91sam9260nf
++at91sam9261dfc
++at91sam9261df
++at91sam9261ek
++at91sam9261nf
++at91sam9263dfc
++at91sam9263df
++at91sam9263ek
++at91sam9263nf
++at91sam9g10df
++at91sam9g10ek
++at91sam9g10nf
++at91sam9g10sd
++at91sam9g20dfc
++at91sam9g20df
++at91sam9g20ek
++at91sam9g20nf
++at91sam9g20sd
++at91sam9g45df
++at91sam9g45ek
++at91sam9g45nf
++at91sam9g45sd
++at91sam9g45dfes
++at91sam9g45ekes
++at91sam9g45nfes
++at91sam9g45sdes_android
++at91sam9g45sdes
++at91sam9m10df
++at91sam9m10ek
++at91sam9m10nf
++at91sam9m10sd_android
++at91sam9m10sd
++at91sam9m10sdu
++at91sam9m10dfes
++at91sam9m10ekes
++at91sam9m10nfes
++at91sam9m10sdes
++at91sam9rldf
++at91sam9rlek
++at91sam9rlnf
++at91sam9rlsd
++at91sam9x5df
++at91sam9x5ek
++at91sam9x5nf
++at91sam9x5sd
++at91sam9x5sduboot
++at91sam9xedfc
++at91sam9xedf
++at91sam9xeek
++at91sam9xenf
+diff --git a/mk-config-list.sh b/mk-config-list.sh
+new file mode 100755
+index 0000000..a51e4a6
+--- /dev/null
++++ b/mk-config-list.sh
+@@ -0,0 +1,18 @@
++#!/bin/sh
++export CONFIG_LIST=allboards.cfg
++
++mk_config ()
++{
++ rm -f $CONFIG_LIST
++ for path in `ls board/*/*_defconfig` ; do
++# echo $path
++# echo `basename $path`
++ filename=`basename $path | sed s/_defconfig//g`
++ echo "$filename" >> $CONFIG_LIST
++ done
++}
++
++mk_config
++
++# cat $CONFIG_LIST
++
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0012-Update-all-defconfigs.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0012-Update-all-defconfigs.patch
new file mode 100644
index 0000000000..2b75be6a94
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0012-Update-all-defconfigs.patch
@@ -0,0 +1,4375 @@
+From e9d5898b3ee9fa262a73adcc14b4f8ca4dc6f565 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Sun, 23 Oct 2011 15:46:49 +0200
+Subject: [PATCH 12/39] Update all defconfigs
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@telia.com>
+---
+ board/afeb9260/afeb9260_defconfig | 23 +++-
+ board/at91cap9adk/at91cap9adk_defconfig | 26 ++++-
+ board/at91cap9adk/at91cap9df_defconfig | 26 ++++-
+ board/at91cap9adk/at91cap9f_defconfig | 26 ++++-
+ board/at91cap9stk/at91cap9stk_defconfig | 26 ++++-
+ board/at91cap9stk/at91cap9stkdf_defconfig | 26 ++++-
+ board/at91cap9stk/at91cap9stkf_defconfig | 26 ++++-
+ board/at91sam9260ek/at91sam9260df_defconfig | 14 ++-
+ board/at91sam9260ek/at91sam9260dfc_defconfig | 22 +++-
+ board/at91sam9260ek/at91sam9260ek_defconfig | 12 ++-
+ board/at91sam9260ek/at91sam9260nf_defconfig | 14 ++-
+ board/at91sam9261ek/at91sam9261df_defconfig | 14 ++-
+ board/at91sam9261ek/at91sam9261dfc_defconfig | 25 ++++-
+ board/at91sam9261ek/at91sam9261ek_defconfig | 12 ++-
+ board/at91sam9261ek/at91sam9261nf_defconfig | 14 ++-
+ board/at91sam9263ek/at91sam9263df_defconfig | 16 ++-
+ board/at91sam9263ek/at91sam9263dfc_defconfig | 27 ++++--
+ board/at91sam9263ek/at91sam9263ek_defconfig | 14 ++-
+ board/at91sam9263ek/at91sam9263nf_defconfig | 16 ++-
+ board/at91sam9g10ek/at91sam9g10df_defconfig | 16 ++-
+ board/at91sam9g10ek/at91sam9g10ek_defconfig | 14 ++-
+ board/at91sam9g10ek/at91sam9g10nf_defconfig | 16 ++-
+ board/at91sam9g10ek/at91sam9g10sd_defconfig | 16 ++-
+ board/at91sam9g20ek/at91sam9g20df_defconfig | 16 ++-
+ board/at91sam9g20ek/at91sam9g20dfc_defconfig | 31 ++++--
+ board/at91sam9g20ek/at91sam9g20ek_defconfig | 14 ++-
+ board/at91sam9g20ek/at91sam9g20nf_defconfig | 16 ++-
+ board/at91sam9g20ek/at91sam9g20sd_defconfig | 14 ++-
+ board/at91sam9g45ek/at91sam9g45df_defconfig | 18 +++-
+ board/at91sam9g45ek/at91sam9g45ek_defconfig | 16 ++-
+ board/at91sam9g45ek/at91sam9g45nf_defconfig | 18 +++-
+ board/at91sam9g45ek/at91sam9g45sd_defconfig | 16 ++-
+ board/at91sam9g45ekes/at91sam9g45dfes_defconfig | 18 +++-
+ board/at91sam9g45ekes/at91sam9g45ekes_defconfig | 16 ++-
+ board/at91sam9g45ekes/at91sam9g45nfes_defconfig | 18 +++-
+ .../at91sam9g45sdes_android_defconfig | 113 ++++++++++++++++++++
+ board/at91sam9g45ekes/at91sam9g45sdes_defconfig | 16 ++-
+ board/at91sam9m10ek/at91sam9m10df_defconfig | 18 +++-
+ board/at91sam9m10ek/at91sam9m10ek_defconfig | 16 ++-
+ board/at91sam9m10ek/at91sam9m10nf_defconfig | 18 +++-
+ .../at91sam9m10ek/at91sam9m10sd_android_defconfig | 113 ++++++++++++++++++++
+ board/at91sam9m10ek/at91sam9m10sd_defconfig | 16 ++-
+ board/at91sam9m10ek/at91sam9m10sdu_defconfig | 106 ++++++++++++++++++
+ board/at91sam9m10ekes/at91sam9m10dfes_defconfig | 18 +++-
+ board/at91sam9m10ekes/at91sam9m10ekes_defconfig | 16 ++-
+ board/at91sam9m10ekes/at91sam9m10nfes_defconfig | 18 +++-
+ board/at91sam9m10ekes/at91sam9m10sdes_defconfig | 16 ++-
+ board/at91sam9rlek/at91sam9rldf_defconfig | 16 ++-
+ board/at91sam9rlek/at91sam9rlek_defconfig | 14 ++-
+ board/at91sam9rlek/at91sam9rlnf_defconfig | 16 ++-
+ board/at91sam9rlek/at91sam9rlsd_defconfig | 14 ++-
+ board/at91sam9x5ek/at91sam9x5ek_defconfig | 104 ++++++++++++++++++
+ board/at91sam9xeek/at91sam9xedf_defconfig | 12 ++-
+ board/at91sam9xeek/at91sam9xedfc_defconfig | 29 ++++-
+ board/at91sam9xeek/at91sam9xeek_defconfig | 10 ++-
+ board/at91sam9xeek/at91sam9xenf_defconfig | 16 ++-
+ 56 files changed, 1128 insertions(+), 239 deletions(-)
+ create mode 100644 board/at91sam9g45ekes/at91sam9g45sdes_android_defconfig
+ create mode 100644 board/at91sam9m10ek/at91sam9m10sd_android_defconfig
+ create mode 100644 board/at91sam9m10ek/at91sam9m10sdu_defconfig
+ create mode 100644 board/at91sam9x5ek/at91sam9x5ek_defconfig
+
+diff --git a/board/afeb9260/afeb9260_defconfig b/board/afeb9260/afeb9260_defconfig
+index ee84d2f..bd02fd3 100644
+--- a/board/afeb9260/afeb9260_defconfig
++++ b/board/afeb9260/afeb9260_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jan 12 22:00:55 2010
++# Sun Oct 23 15:17:23 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="afeb9260"
+@@ -14,15 +14,16 @@ CONFIG_BOARDNAME="afeb9260"
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ CONFIG_AFEB9260=y
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9260"
+ CONFIG_BOARD="afeb9260"
+ CONFIG_MACH_TYPE="1859"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x301000"
+-CONFIG_BOOTSTRAP_MAXSIZE="4096"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +43,8 @@ CONFIG_BUS_SPEED_83MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -53,6 +56,7 @@ ALLOW_DATAFLASH=y
+ # ALLOW_FLASH is not set
+ ALLOW_NANDFLASH=y
+ # ALLOW_SDCARD is not set
++# ALLOW_HSMCI is not set
+ # ALLOW_PSRAM is not set
+ # ALLOW_SDRAM_16BIT is not set
+ # CONFIG_RAM_32MB is not set
+@@ -64,6 +68,7 @@ CONFIG_DATAFLASH=y
+ # CONFIG_NANDFLASH is not set
+ # CONFIG_SDCARD is not set
+ CONFIG_MEMORY="dataflash"
++# CONFIG_SDCARD_HS is not set
+
+ #
+ # SPI configuration
+@@ -92,18 +97,26 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="4096"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_SETTING_ADDRESS="0x00408400"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
+-CONFIG_APP_CHECK=y
++CONFIG_ALT_JUMP_ADDR="0x20000000"
++CONFIG_GLBDRV_ADDR="0x23F00000"
+ # CONFIG_LONG_TEST is not set
+ # CONFIG_DEBUG is not set
+-# CONFIG_VERBOSE is not set
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ # CONFIG_THUMB is not set
+diff --git a/board/at91cap9adk/at91cap9adk_defconfig b/board/at91cap9adk/at91cap9adk_defconfig
+index b9edc91..9d2791a 100644
+--- a/board/at91cap9adk/at91cap9adk_defconfig
++++ b/board/at91cap9adk/at91cap9adk_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jan 12 22:00:30 2010
++# Sun Oct 23 15:17:23 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91cap9adk"
+@@ -14,15 +14,16 @@ CONFIG_BOARDNAME="at91cap9adk"
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91CAP9ADK=y
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91CAP9"
+ CONFIG_BOARD="at91cap9adk"
+ CONFIG_MACH_TYPE="0x61E"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x108000"
+-CONFIG_BOOTSTRAP_MAXSIZE="13000"
+ CONFIG_CRYSTAL_12_000MHZ=y
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +43,8 @@ ALLOW_CPU_CLK_240MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -53,6 +56,7 @@ ALLOW_DATAFLASH=y
+ ALLOW_FLASH=y
+ # ALLOW_NANDFLASH is not set
+ # ALLOW_SDCARD is not set
++# ALLOW_HSMCI is not set
+ # ALLOW_PSRAM is not set
+ # ALLOW_SDRAM_16BIT is not set
+ # CONFIG_RAM_32MB is not set
+@@ -64,6 +68,7 @@ CONFIG_DATAFLASH=y
+ # CONFIG_NANDFLASH is not set
+ # CONFIG_SDCARD is not set
+ CONFIG_MEMORY="dataflash"
++# CONFIG_SDCARD_HS is not set
+
+ #
+ # SPI configuration
+@@ -91,18 +96,29 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_SETTING_ADDRESS="0x00408400"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+-CONFIG_APP_CHECK=y
++CONFIG_ALT_JUMP_ADDR="0x70000000"
++CONFIG_GLBDRV_ADDR="0x70000000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+-CONFIG_VERBOSE=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_LOUD is not set
++# CONFIG_DEBUG_VERY_LOUD is not set
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ # CONFIG_THUMB is not set
+diff --git a/board/at91cap9adk/at91cap9df_defconfig b/board/at91cap9adk/at91cap9df_defconfig
+index 8ccd36d..7d1ae7d 100644
+--- a/board/at91cap9adk/at91cap9df_defconfig
++++ b/board/at91cap9adk/at91cap9df_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jan 12 22:00:30 2010
++# Sun Oct 23 15:17:23 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91cap9df"
+@@ -14,15 +14,16 @@ CONFIG_BOARDNAME="at91cap9df"
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91CAP9ADK=y
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91CAP9"
+ CONFIG_BOARD="at91cap9adk"
+ CONFIG_MACH_TYPE="0x61E"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x108000"
+-CONFIG_BOOTSTRAP_MAXSIZE="13000"
+ CONFIG_CRYSTAL_12_000MHZ=y
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +43,8 @@ ALLOW_CPU_CLK_240MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -53,6 +56,7 @@ ALLOW_DATAFLASH=y
+ ALLOW_FLASH=y
+ # ALLOW_NANDFLASH is not set
+ # ALLOW_SDCARD is not set
++# ALLOW_HSMCI is not set
+ # ALLOW_PSRAM is not set
+ # ALLOW_SDRAM_16BIT is not set
+ # CONFIG_RAM_32MB is not set
+@@ -64,6 +68,7 @@ CONFIG_DATAFLASH=y
+ # CONFIG_NANDFLASH is not set
+ # CONFIG_SDCARD is not set
+ CONFIG_MEMORY="dataflash"
++# CONFIG_SDCARD_HS is not set
+
+ #
+ # SPI configuration
+@@ -91,18 +96,29 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_SETTING_ADDRESS="0x00408400"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+-CONFIG_APP_CHECK=y
++CONFIG_ALT_JUMP_ADDR="0x70000000"
++CONFIG_GLBDRV_ADDR="0x70000000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+-CONFIG_VERBOSE=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_LOUD is not set
++# CONFIG_DEBUG_VERY_LOUD is not set
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ # CONFIG_THUMB is not set
+diff --git a/board/at91cap9adk/at91cap9f_defconfig b/board/at91cap9adk/at91cap9f_defconfig
+index 7110cf1..87ec9cb 100644
+--- a/board/at91cap9adk/at91cap9f_defconfig
++++ b/board/at91cap9adk/at91cap9f_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jan 12 22:00:31 2010
++# Sun Oct 23 15:17:24 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91cap9f"
+@@ -14,15 +14,16 @@ CONFIG_BOARDNAME="at91cap9f"
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91CAP9ADK=y
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91CAP9"
+ CONFIG_BOARD="at91cap9adk"
+ CONFIG_MACH_TYPE="0x61E"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x108000"
+-CONFIG_BOOTSTRAP_MAXSIZE="13000"
+ CONFIG_CRYSTAL_12_000MHZ=y
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +43,8 @@ ALLOW_CPU_CLK_240MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -53,6 +56,7 @@ ALLOW_DATAFLASH=y
+ ALLOW_FLASH=y
+ # ALLOW_NANDFLASH is not set
+ # ALLOW_SDCARD is not set
++# ALLOW_HSMCI is not set
+ # ALLOW_PSRAM is not set
+ # ALLOW_SDRAM_16BIT is not set
+ # CONFIG_RAM_32MB is not set
+@@ -64,20 +68,32 @@ CONFIG_FLASH=y
+ # CONFIG_NANDFLASH is not set
+ # CONFIG_SDCARD is not set
+ CONFIG_MEMORY="flash"
++# CONFIG_SDCARD_HS is not set
+ ALLOW_BOOT_FROM_DATAFLASH_CS0=y
+ DATAFLASHCARD_ON_CS0=y
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="flash"
+ CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00040000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_SETTING_ADDRESS="0x00008000"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+-CONFIG_APP_CHECK=y
++CONFIG_ALT_JUMP_ADDR="0x70000000"
++CONFIG_GLBDRV_ADDR="0x70000000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+-CONFIG_VERBOSE=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_LOUD is not set
++# CONFIG_DEBUG_VERY_LOUD is not set
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ # CONFIG_THUMB is not set
+diff --git a/board/at91cap9stk/at91cap9stk_defconfig b/board/at91cap9stk/at91cap9stk_defconfig
+index dea9253..7d0f0e7 100644
+--- a/board/at91cap9stk/at91cap9stk_defconfig
++++ b/board/at91cap9stk/at91cap9stk_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jan 12 22:00:32 2010
++# Sun Oct 23 15:17:24 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91cap9stk"
+@@ -14,15 +14,16 @@ CONFIG_BOARDNAME="at91cap9stk"
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ CONFIG_AT91CAP9STK=y
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91CAP9"
+ CONFIG_BOARD="at91cap9stk"
+ CONFIG_MACH_TYPE="0x85E"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x108000"
+-CONFIG_BOOTSTRAP_MAXSIZE="13000"
+ CONFIG_CRYSTAL_12_000MHZ=y
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +43,8 @@ ALLOW_CPU_CLK_240MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -53,6 +56,7 @@ ALLOW_DATAFLASH=y
+ ALLOW_FLASH=y
+ # ALLOW_NANDFLASH is not set
+ # ALLOW_SDCARD is not set
++# ALLOW_HSMCI is not set
+ # ALLOW_PSRAM is not set
+ # ALLOW_SDRAM_16BIT is not set
+ # CONFIG_RAM_32MB is not set
+@@ -64,6 +68,7 @@ CONFIG_DATAFLASH=y
+ # CONFIG_NANDFLASH is not set
+ # CONFIG_SDCARD is not set
+ CONFIG_MEMORY="dataflash"
++# CONFIG_SDCARD_HS is not set
+
+ #
+ # SPI configuration
+@@ -91,18 +96,29 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_SETTING_ADDRESS="0x00408400"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+-CONFIG_APP_CHECK=y
++CONFIG_ALT_JUMP_ADDR="0x20000000"
++CONFIG_GLBDRV_ADDR="0x70000000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+-CONFIG_VERBOSE=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_LOUD is not set
++# CONFIG_DEBUG_VERY_LOUD is not set
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ # CONFIG_THUMB is not set
+diff --git a/board/at91cap9stk/at91cap9stkdf_defconfig b/board/at91cap9stk/at91cap9stkdf_defconfig
+index b572d64..42e5e21 100644
+--- a/board/at91cap9stk/at91cap9stkdf_defconfig
++++ b/board/at91cap9stk/at91cap9stkdf_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jan 12 22:00:33 2010
++# Sun Oct 23 15:17:24 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91cap9stkdf"
+@@ -14,15 +14,16 @@ CONFIG_BOARDNAME="at91cap9stkdf"
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ CONFIG_AT91CAP9STK=y
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91CAP9"
+ CONFIG_BOARD="at91cap9stk"
+ CONFIG_MACH_TYPE="0x85E"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x108000"
+-CONFIG_BOOTSTRAP_MAXSIZE="13000"
+ CONFIG_CRYSTAL_12_000MHZ=y
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +43,8 @@ ALLOW_CPU_CLK_240MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -53,6 +56,7 @@ ALLOW_DATAFLASH=y
+ ALLOW_FLASH=y
+ # ALLOW_NANDFLASH is not set
+ # ALLOW_SDCARD is not set
++# ALLOW_HSMCI is not set
+ # ALLOW_PSRAM is not set
+ # ALLOW_SDRAM_16BIT is not set
+ # CONFIG_RAM_32MB is not set
+@@ -64,6 +68,7 @@ CONFIG_DATAFLASH=y
+ # CONFIG_NANDFLASH is not set
+ # CONFIG_SDCARD is not set
+ CONFIG_MEMORY="dataflash"
++# CONFIG_SDCARD_HS is not set
+
+ #
+ # SPI configuration
+@@ -91,18 +96,29 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_SETTING_ADDRESS="0x00408400"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+-CONFIG_APP_CHECK=y
++CONFIG_ALT_JUMP_ADDR="0x20000000"
++CONFIG_GLBDRV_ADDR="0x70000000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+-CONFIG_VERBOSE=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_LOUD is not set
++# CONFIG_DEBUG_VERY_LOUD is not set
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ # CONFIG_THUMB is not set
+diff --git a/board/at91cap9stk/at91cap9stkf_defconfig b/board/at91cap9stk/at91cap9stkf_defconfig
+index b024769..3020b26 100644
+--- a/board/at91cap9stk/at91cap9stkf_defconfig
++++ b/board/at91cap9stk/at91cap9stkf_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jan 12 22:00:33 2010
++# Sun Oct 23 15:17:25 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91cap9stkf"
+@@ -14,15 +14,16 @@ CONFIG_BOARDNAME="at91cap9stkf"
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ CONFIG_AT91CAP9STK=y
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91CAP9"
+ CONFIG_BOARD="at91cap9stk"
+ CONFIG_MACH_TYPE="0x85E"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x108000"
+-CONFIG_BOOTSTRAP_MAXSIZE="13000"
+ CONFIG_CRYSTAL_12_000MHZ=y
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +43,8 @@ ALLOW_CPU_CLK_240MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -53,6 +56,7 @@ ALLOW_DATAFLASH=y
+ ALLOW_FLASH=y
+ # ALLOW_NANDFLASH is not set
+ # ALLOW_SDCARD is not set
++# ALLOW_HSMCI is not set
+ # ALLOW_PSRAM is not set
+ # ALLOW_SDRAM_16BIT is not set
+ # CONFIG_RAM_32MB is not set
+@@ -64,20 +68,32 @@ CONFIG_FLASH=y
+ # CONFIG_NANDFLASH is not set
+ # CONFIG_SDCARD is not set
+ CONFIG_MEMORY="flash"
++# CONFIG_SDCARD_HS is not set
+ ALLOW_BOOT_FROM_DATAFLASH_CS0=y
+ DATAFLASHCARD_ON_CS0=y
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="flash"
+ CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00040000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_SETTING_ADDRESS="0x00008000"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x73F00000"
+-CONFIG_APP_CHECK=y
++CONFIG_ALT_JUMP_ADDR="0x20000000"
++CONFIG_GLBDRV_ADDR="0x70000000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+-CONFIG_VERBOSE=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_LOUD is not set
++# CONFIG_DEBUG_VERY_LOUD is not set
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ # CONFIG_THUMB is not set
+diff --git a/board/at91sam9260ek/at91sam9260df_defconfig b/board/at91sam9260ek/at91sam9260df_defconfig
+index 2d4c565..1dc17c2 100644
+--- a/board/at91sam9260ek/at91sam9260df_defconfig
++++ b/board/at91sam9260ek/at91sam9260df_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 13:45:28 2010
++# Sun Oct 23 15:17:25 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9260ek"
++CONFIG_BOARDNAME="at91sam9260df"
+ CONFIG_AT91SAM9260EK=y
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+@@ -18,12 +18,12 @@ CONFIG_AT91SAM9260EK=y
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9260"
+ CONFIG_BOARD="at91sam9260ek"
+ CONFIG_MACH_TYPE="0x44B"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x301000"
+-CONFIG_BOOTSTRAP_MAXSIZE="4096"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_200MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -94,6 +96,7 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="4096"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -102,11 +105,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ # CONFIG_DEBUG is not set
+diff --git a/board/at91sam9260ek/at91sam9260dfc_defconfig b/board/at91sam9260ek/at91sam9260dfc_defconfig
+index 790782e..c8f1b60 100644
+--- a/board/at91sam9260ek/at91sam9260dfc_defconfig
++++ b/board/at91sam9260ek/at91sam9260dfc_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jan 12 22:00:52 2010
++# Sun Oct 23 15:17:25 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9260dfc"
+@@ -18,12 +18,12 @@ CONFIG_AT91SAM9260EK=y
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9260"
+ CONFIG_BOARD="at91sam9260ek"
+ CONFIG_MACH_TYPE="0x44B"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x301000"
+-CONFIG_BOOTSTRAP_MAXSIZE="4096"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_200MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -53,6 +55,7 @@ ALLOW_DATAFLASH=y
+ # ALLOW_FLASH is not set
+ ALLOW_NANDFLASH=y
+ # ALLOW_SDCARD is not set
++# ALLOW_HSMCI is not set
+ # ALLOW_PSRAM is not set
+ # ALLOW_SDRAM_16BIT is not set
+ # CONFIG_RAM_32MB is not set
+@@ -64,6 +67,7 @@ CONFIG_DATAFLASH=y
+ # CONFIG_NANDFLASH is not set
+ # CONFIG_SDCARD is not set
+ CONFIG_MEMORY="dataflash"
++# CONFIG_SDCARD_HS is not set
+
+ #
+ # SPI configuration
+@@ -92,18 +96,26 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="4096"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_SETTING_ADDRESS="0x00408400"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
+-CONFIG_APP_CHECK=y
++CONFIG_ALT_JUMP_ADDR="0x20000000"
++CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ # CONFIG_DEBUG is not set
+-# CONFIG_VERBOSE is not set
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ # CONFIG_THUMB is not set
+diff --git a/board/at91sam9260ek/at91sam9260ek_defconfig b/board/at91sam9260ek/at91sam9260ek_defconfig
+index 2d4c565..a678a3c 100644
+--- a/board/at91sam9260ek/at91sam9260ek_defconfig
++++ b/board/at91sam9260ek/at91sam9260ek_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 13:45:28 2010
++# Sun Oct 23 15:17:26 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9260ek"
+@@ -18,12 +18,12 @@ CONFIG_AT91SAM9260EK=y
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9260"
+ CONFIG_BOARD="at91sam9260ek"
+ CONFIG_MACH_TYPE="0x44B"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x301000"
+-CONFIG_BOOTSTRAP_MAXSIZE="4096"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_200MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -94,6 +96,7 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="4096"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -102,11 +105,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ # CONFIG_DEBUG is not set
+diff --git a/board/at91sam9260ek/at91sam9260nf_defconfig b/board/at91sam9260ek/at91sam9260nf_defconfig
+index 8a23c3f..5f2f9a9 100644
+--- a/board/at91sam9260ek/at91sam9260nf_defconfig
++++ b/board/at91sam9260ek/at91sam9260nf_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 13:46:29 2010
++# Sun Oct 23 15:17:26 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9260ek"
++CONFIG_BOARDNAME="at91sam9260nf"
+ CONFIG_AT91SAM9260EK=y
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+@@ -18,12 +18,12 @@ CONFIG_AT91SAM9260EK=y
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9260"
+ CONFIG_BOARD="at91sam9260ek"
+ CONFIG_MACH_TYPE="0x44B"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x301000"
+-CONFIG_BOOTSTRAP_MAXSIZE="4096"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_200MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -76,6 +78,7 @@ DATAFLASHCARD_ON_CS0=y
+ # NAND Flash configuration
+ #
+ # CONFIG_NANDFLASH_SMALL_BLOCKS is not set
++CONFIG_BOOTSTRAP_MAXSIZE="4096"
+ CONFIG_PROJECT="nandflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -84,11 +87,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00040000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ # CONFIG_DEBUG is not set
+diff --git a/board/at91sam9261ek/at91sam9261df_defconfig b/board/at91sam9261ek/at91sam9261df_defconfig
+index 0473e42..624b1d7 100644
+--- a/board/at91sam9261ek/at91sam9261df_defconfig
++++ b/board/at91sam9261ek/at91sam9261df_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 13:49:49 2010
++# Sun Oct 23 15:17:27 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9261ek"
++CONFIG_BOARDNAME="at91sam9261df"
+ # CONFIG_AT91SAM9260EK is not set
+ CONFIG_AT91SAM9261EK=y
+ # CONFIG_AT91SAM9263EK is not set
+@@ -18,12 +18,12 @@ CONFIG_AT91SAM9261EK=y
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9261"
+ CONFIG_BOARD="at91sam9261ek"
+ CONFIG_MACH_TYPE="0x350"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x328000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -43,6 +43,8 @@ ALLOW_CPU_CLK_266MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -94,6 +96,7 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -102,11 +105,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9261ek/at91sam9261dfc_defconfig b/board/at91sam9261ek/at91sam9261dfc_defconfig
+index 8c6822c..15ee5b0 100644
+--- a/board/at91sam9261ek/at91sam9261dfc_defconfig
++++ b/board/at91sam9261ek/at91sam9261dfc_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jan 12 22:00:57 2010
++# Sun Oct 23 15:17:26 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9261dfc"
+@@ -18,12 +18,12 @@ CONFIG_AT91SAM9261EK=y
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9261"
+ CONFIG_BOARD="at91sam9261ek"
+ CONFIG_MACH_TYPE="0x350"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x328000"
+-CONFIG_BOOTSTRAP_MAXSIZE="13000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -43,6 +43,8 @@ ALLOW_CPU_CLK_266MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -54,6 +56,7 @@ ALLOW_DATAFLASH=y
+ # ALLOW_FLASH is not set
+ ALLOW_NANDFLASH=y
+ # ALLOW_SDCARD is not set
++# ALLOW_HSMCI is not set
+ # ALLOW_PSRAM is not set
+ # ALLOW_SDRAM_16BIT is not set
+ # CONFIG_RAM_32MB is not set
+@@ -65,6 +68,7 @@ CONFIG_DATAFLASH=y
+ # CONFIG_NANDFLASH is not set
+ # CONFIG_SDCARD is not set
+ CONFIG_MEMORY="dataflash"
++# CONFIG_SDCARD_HS is not set
+
+ #
+ # SPI configuration
+@@ -92,18 +96,29 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_SETTING_ADDRESS="0x00408400"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
+-CONFIG_APP_CHECK=y
++CONFIG_ALT_JUMP_ADDR="0x20000000"
++CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+-CONFIG_VERBOSE=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_LOUD is not set
++# CONFIG_DEBUG_VERY_LOUD is not set
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ # CONFIG_THUMB is not set
+diff --git a/board/at91sam9261ek/at91sam9261ek_defconfig b/board/at91sam9261ek/at91sam9261ek_defconfig
+index 0473e42..8841ec5 100644
+--- a/board/at91sam9261ek/at91sam9261ek_defconfig
++++ b/board/at91sam9261ek/at91sam9261ek_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 13:49:49 2010
++# Sun Oct 23 15:17:27 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9261ek"
+@@ -18,12 +18,12 @@ CONFIG_AT91SAM9261EK=y
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9261"
+ CONFIG_BOARD="at91sam9261ek"
+ CONFIG_MACH_TYPE="0x350"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x328000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -43,6 +43,8 @@ ALLOW_CPU_CLK_266MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -94,6 +96,7 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -102,11 +105,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9261ek/at91sam9261nf_defconfig b/board/at91sam9261ek/at91sam9261nf_defconfig
+index 5c80c14..2707d46 100644
+--- a/board/at91sam9261ek/at91sam9261nf_defconfig
++++ b/board/at91sam9261ek/at91sam9261nf_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 13:51:01 2010
++# Sun Oct 23 15:17:27 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9261ek"
++CONFIG_BOARDNAME="at91sam9261nf"
+ # CONFIG_AT91SAM9260EK is not set
+ CONFIG_AT91SAM9261EK=y
+ # CONFIG_AT91SAM9263EK is not set
+@@ -18,12 +18,12 @@ CONFIG_AT91SAM9261EK=y
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9261"
+ CONFIG_BOARD="at91sam9261ek"
+ CONFIG_MACH_TYPE="0x350"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x328000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -43,6 +43,8 @@ ALLOW_CPU_CLK_266MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -75,6 +77,7 @@ ALLOW_BOOT_FROM_DATAFLASH_CS3=y
+ # NAND Flash configuration
+ #
+ # CONFIG_NANDFLASH_SMALL_BLOCKS is not set
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="nandflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -83,11 +86,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00040000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9263ek/at91sam9263df_defconfig b/board/at91sam9263ek/at91sam9263df_defconfig
+index 5e59bbb..2ede52a 100644
+--- a/board/at91sam9263ek/at91sam9263df_defconfig
++++ b/board/at91sam9263ek/at91sam9263df_defconfig
+@@ -1,12 +1,11 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 13:52:29 2010
++# Sun Oct 23 15:17:28 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9263ek"
++CONFIG_BOARDNAME="at91sam9263df"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9263EK=y
+ # CONFIG_AT91SAM9RLEK is not set
+ # CONFIG_AT91SAM9XEEK is not set
+@@ -15,15 +14,16 @@ CONFIG_AT91SAM9263EK=y
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9263"
+ CONFIG_BOARD="at91sam9263ek"
+ CONFIG_MACH_TYPE="0x4B2"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x314000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ CONFIG_CRYSTAL_16_36766MHZ=y
+@@ -44,6 +44,8 @@ DISABLE_CPU_CLK_240MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -97,6 +99,7 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -105,11 +108,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x2006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9263ek/at91sam9263dfc_defconfig b/board/at91sam9263ek/at91sam9263dfc_defconfig
+index abf3e00..01fba1d 100644
+--- a/board/at91sam9263ek/at91sam9263dfc_defconfig
++++ b/board/at91sam9263ek/at91sam9263dfc_defconfig
+@@ -1,12 +1,11 @@
+ #
+ # Automatically generated make config: don't edit
+-# Wed May 19 10:11:15 2010
++# Sun Oct 23 15:17:27 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9263ek"
++CONFIG_BOARDNAME="at91sam9263dfc"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9263EK=y
+ # CONFIG_AT91SAM9RLEK is not set
+ # CONFIG_AT91SAM9XEEK is not set
+@@ -15,15 +14,16 @@ CONFIG_AT91SAM9263EK=y
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9263"
+ CONFIG_BOARD="at91sam9263ek"
+ CONFIG_MACH_TYPE="0x4B2"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x314000"
+-CONFIG_BOOTSTRAP_MAXSIZE="13000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ CONFIG_CRYSTAL_16_36766MHZ=y
+@@ -44,6 +44,8 @@ DISABLE_CPU_CLK_240MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -54,7 +56,8 @@ CONFIG_SDRAM=y
+ ALLOW_DATAFLASH=y
+ # ALLOW_FLASH is not set
+ ALLOW_NANDFLASH=y
+-# ALLOW_SDCARD is not set
++ALLOW_SDCARD=y
++# ALLOW_HSMCI is not set
+ ALLOW_PSRAM=y
+ ALLOW_SDRAM_16BIT=y
+ # CONFIG_RAM_32MB is not set
+@@ -68,6 +71,7 @@ CONFIG_DATAFLASH=y
+ # CONFIG_NANDFLASH is not set
+ # CONFIG_SDCARD is not set
+ CONFIG_MEMORY="dataflash"
++# CONFIG_SDCARD_HS is not set
+
+ #
+ # SPI configuration
+@@ -95,15 +99,24 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_SETTING_ADDRESS="0x00408400"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
+-CONFIG_APP_CHECK=y
++CONFIG_ALT_JUMP_ADDR="0x20000000"
++CONFIG_GLBDRV_ADDR="0x2006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+ CONFIG_DEBUG_INFO=y
+diff --git a/board/at91sam9263ek/at91sam9263ek_defconfig b/board/at91sam9263ek/at91sam9263ek_defconfig
+index 5e59bbb..c8065f1 100644
+--- a/board/at91sam9263ek/at91sam9263ek_defconfig
++++ b/board/at91sam9263ek/at91sam9263ek_defconfig
+@@ -1,12 +1,11 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 13:52:29 2010
++# Sun Oct 23 15:17:28 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9263ek"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9263EK=y
+ # CONFIG_AT91SAM9RLEK is not set
+ # CONFIG_AT91SAM9XEEK is not set
+@@ -15,15 +14,16 @@ CONFIG_AT91SAM9263EK=y
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9263"
+ CONFIG_BOARD="at91sam9263ek"
+ CONFIG_MACH_TYPE="0x4B2"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x314000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ CONFIG_CRYSTAL_16_36766MHZ=y
+@@ -44,6 +44,8 @@ DISABLE_CPU_CLK_240MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -97,6 +99,7 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -105,11 +108,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x2006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9263ek/at91sam9263nf_defconfig b/board/at91sam9263ek/at91sam9263nf_defconfig
+index 90fff96..5b3ec35 100644
+--- a/board/at91sam9263ek/at91sam9263nf_defconfig
++++ b/board/at91sam9263ek/at91sam9263nf_defconfig
+@@ -1,12 +1,11 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 13:54:40 2010
++# Sun Oct 23 15:17:28 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9263ek"
++CONFIG_BOARDNAME="at91sam9263nf"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9263EK=y
+ # CONFIG_AT91SAM9RLEK is not set
+ # CONFIG_AT91SAM9XEEK is not set
+@@ -15,15 +14,16 @@ CONFIG_AT91SAM9263EK=y
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9263"
+ CONFIG_BOARD="at91sam9263ek"
+ CONFIG_MACH_TYPE="0x4B2"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x314000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ CONFIG_CRYSTAL_16_36766MHZ=y
+@@ -44,6 +44,8 @@ DISABLE_CPU_CLK_240MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -78,6 +80,7 @@ DATAFLASHCARD_ON_CS0=y
+ # NAND Flash configuration
+ #
+ # CONFIG_NANDFLASH_SMALL_BLOCKS is not set
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="nandflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -86,11 +89,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00040000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x2006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9g10ek/at91sam9g10df_defconfig b/board/at91sam9g10ek/at91sam9g10df_defconfig
+index d909b74..e5f0a40 100644
+--- a/board/at91sam9g10ek/at91sam9g10df_defconfig
++++ b/board/at91sam9g10ek/at91sam9g10df_defconfig
+@@ -1,29 +1,29 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 14:08:24 2010
++# Sun Oct 23 15:17:29 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9g10ek"
++CONFIG_BOARDNAME="at91sam9g10df"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+ # CONFIG_AT91SAM9RLEK is not set
+ # CONFIG_AT91SAM9XEEK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9G10EK=y
+ # CONFIG_AT91SAM9G20EK is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9G10"
+ CONFIG_BOARD="at91sam9g10ek"
+ CONFIG_MACH_TYPE="0x86F"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x304000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -43,6 +43,8 @@ ALLOW_CPU_CLK_266MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -94,6 +96,7 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="12288"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -102,11 +105,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x20068000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9g10ek/at91sam9g10ek_defconfig b/board/at91sam9g10ek/at91sam9g10ek_defconfig
+index d909b74..252749b 100644
+--- a/board/at91sam9g10ek/at91sam9g10ek_defconfig
++++ b/board/at91sam9g10ek/at91sam9g10ek_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 14:08:24 2010
++# Sun Oct 23 15:17:29 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g10ek"
+@@ -9,21 +9,21 @@ CONFIG_BOARDNAME="at91sam9g10ek"
+ # CONFIG_AT91SAM9263EK is not set
+ # CONFIG_AT91SAM9RLEK is not set
+ # CONFIG_AT91SAM9XEEK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9G10EK=y
+ # CONFIG_AT91SAM9G20EK is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9G10"
+ CONFIG_BOARD="at91sam9g10ek"
+ CONFIG_MACH_TYPE="0x86F"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x304000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -43,6 +43,8 @@ ALLOW_CPU_CLK_266MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -94,6 +96,7 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="12288"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -102,11 +105,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x20068000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9g10ek/at91sam9g10nf_defconfig b/board/at91sam9g10ek/at91sam9g10nf_defconfig
+index 9f74fff..0fc7e8e 100644
+--- a/board/at91sam9g10ek/at91sam9g10nf_defconfig
++++ b/board/at91sam9g10ek/at91sam9g10nf_defconfig
+@@ -1,29 +1,29 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 14:09:46 2010
++# Sun Oct 23 15:17:29 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9g10ek"
++CONFIG_BOARDNAME="at91sam9g10nf"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+ # CONFIG_AT91SAM9RLEK is not set
+ # CONFIG_AT91SAM9XEEK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9G10EK=y
+ # CONFIG_AT91SAM9G20EK is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9G10"
+ CONFIG_BOARD="at91sam9g10ek"
+ CONFIG_MACH_TYPE="0x86F"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x304000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -43,6 +43,8 @@ ALLOW_CPU_CLK_266MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -75,6 +77,7 @@ ALLOW_BOOT_FROM_DATAFLASH_CS3=y
+ # NAND Flash configuration
+ #
+ # CONFIG_NANDFLASH_SMALL_BLOCKS is not set
++CONFIG_BOOTSTRAP_MAXSIZE="12288"
+ CONFIG_PROJECT="nandflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -83,11 +86,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00040000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x20068000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9g10ek/at91sam9g10sd_defconfig b/board/at91sam9g10ek/at91sam9g10sd_defconfig
+index e1a02c2..ac043c5 100644
+--- a/board/at91sam9g10ek/at91sam9g10sd_defconfig
++++ b/board/at91sam9g10ek/at91sam9g10sd_defconfig
+@@ -1,29 +1,29 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 14:13:49 2010
++# Sun Oct 23 15:17:29 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9g10ek"
++CONFIG_BOARDNAME="at91sam9g10sd"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+ # CONFIG_AT91SAM9RLEK is not set
+ # CONFIG_AT91SAM9XEEK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9G10EK=y
+ # CONFIG_AT91SAM9G20EK is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9G10"
+ CONFIG_BOARD="at91sam9g10ek"
+ CONFIG_MACH_TYPE="0x86F"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x304000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -43,6 +43,8 @@ ALLOW_CPU_CLK_266MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -69,6 +71,7 @@ CONFIG_MEMORY="sdcard"
+ # CONFIG_SDCARD_HS is not set
+ ALLOW_BOOT_FROM_DATAFLASH_CS0=y
+ ALLOW_BOOT_FROM_DATAFLASH_CS3=y
++CONFIG_BOOTSTRAP_MAXSIZE="8192"
+ CONFIG_PROJECT="sdcard"
+ # CONFIG_LOAD_UBOOT is not set
+ # CONFIG_LOAD_EBOOT is not set
+@@ -77,6 +80,8 @@ CONFIG_LOAD_LINUX=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00000000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+
+ #
+ # Linux Image Storage Setup
+@@ -85,12 +90,13 @@ CONFIG_OS_MEM_BANK="0x20000000"
+ CONFIG_OS_MEM_SIZE="0x4000000"
+ CONFIG_LINUX_KERNEL_ARG_STRING="mem=64M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2"
+ CONFIG_OS_IMAGE_NAME="image.bin"
+-CONFIG_OS_IMG_SIZE="0x280000"
++CONFIG_OS_IMG_SIZE="0x40000"
+ CONFIG_IMG_ADDRESS="0x00000000"
+ CONFIG_SETTING_ADDRESS="0x00000000"
+ CONFIG_SETTING_SIZE="0x00001000"
+ CONFIG_IMG_SIZE="0x00280000"
+ CONFIG_JUMP_ADDR="0x22000000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x20068000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9g20ek/at91sam9g20df_defconfig b/board/at91sam9g20ek/at91sam9g20df_defconfig
+index e0229a3..90ab898 100644
+--- a/board/at91sam9g20ek/at91sam9g20df_defconfig
++++ b/board/at91sam9g20ek/at91sam9g20df_defconfig
+@@ -1,29 +1,29 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 14:46:28 2010
++# Sun Oct 23 15:17:30 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9g20ek"
++CONFIG_BOARDNAME="at91sam9g20df"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+ # CONFIG_AT91SAM9RLEK is not set
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9G20EK=y
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9G20"
+ CONFIG_BOARD="at91sam9g20ek"
+ CONFIG_MACH_TYPE="0x658"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x304000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -94,6 +96,7 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -102,11 +105,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9g20ek/at91sam9g20dfc_defconfig b/board/at91sam9g20ek/at91sam9g20dfc_defconfig
+index dc1c239..dfd6409 100644
+--- a/board/at91sam9g20ek/at91sam9g20dfc_defconfig
++++ b/board/at91sam9g20ek/at91sam9g20dfc_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jan 12 22:00:34 2010
++# Sun Oct 23 15:17:30 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g20dfc"
+@@ -10,20 +10,20 @@ CONFIG_BOARDNAME="at91sam9g20dfc"
+ # CONFIG_AT91SAM9RLEK is not set
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9G20EK=y
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9G20"
+ CONFIG_BOARD="at91sam9g20ek"
+ CONFIG_MACH_TYPE="0x658"
+ CONFIG_LINK_ADDR="0x000000"
+-CONFIG_TOP_OF_MEMORY="0x301000"
+-CONFIG_BOOTSTRAP_MAXSIZE="13000"
++CONFIG_TOP_OF_MEMORY="0x304000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -52,7 +54,8 @@ CONFIG_SDRAM=y
+ ALLOW_DATAFLASH=y
+ # ALLOW_FLASH is not set
+ ALLOW_NANDFLASH=y
+-# ALLOW_SDCARD is not set
++ALLOW_SDCARD=y
++# ALLOW_HSMCI is not set
+ # ALLOW_PSRAM is not set
+ # ALLOW_SDRAM_16BIT is not set
+ # CONFIG_RAM_32MB is not set
+@@ -64,6 +67,7 @@ CONFIG_DATAFLASH=y
+ # CONFIG_NANDFLASH is not set
+ # CONFIG_SDCARD is not set
+ CONFIG_MEMORY="dataflash"
++# CONFIG_SDCARD_HS is not set
+
+ #
+ # SPI configuration
+@@ -92,18 +96,29 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_SETTING_ADDRESS="0x00408400"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
+-CONFIG_APP_CHECK=y
++CONFIG_ALT_JUMP_ADDR="0x20000000"
++CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+-CONFIG_VERBOSE=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_LOUD is not set
++# CONFIG_DEBUG_VERY_LOUD is not set
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ # CONFIG_THUMB is not set
+diff --git a/board/at91sam9g20ek/at91sam9g20ek_defconfig b/board/at91sam9g20ek/at91sam9g20ek_defconfig
+index e0229a3..d52a6fb 100644
+--- a/board/at91sam9g20ek/at91sam9g20ek_defconfig
++++ b/board/at91sam9g20ek/at91sam9g20ek_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 14:46:28 2010
++# Sun Oct 23 15:17:30 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g20ek"
+@@ -10,20 +10,20 @@ CONFIG_BOARDNAME="at91sam9g20ek"
+ # CONFIG_AT91SAM9RLEK is not set
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9G20EK=y
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9G20"
+ CONFIG_BOARD="at91sam9g20ek"
+ CONFIG_MACH_TYPE="0x658"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x304000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -94,6 +96,7 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -102,11 +105,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9g20ek/at91sam9g20nf_defconfig b/board/at91sam9g20ek/at91sam9g20nf_defconfig
+index 07448b9..29dba65 100644
+--- a/board/at91sam9g20ek/at91sam9g20nf_defconfig
++++ b/board/at91sam9g20ek/at91sam9g20nf_defconfig
+@@ -1,29 +1,29 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 14:53:27 2010
++# Sun Oct 23 15:17:31 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9g20ek"
++CONFIG_BOARDNAME="at91sam9g20nf"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+ # CONFIG_AT91SAM9RLEK is not set
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9G20EK=y
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9G20"
+ CONFIG_BOARD="at91sam9g20ek"
+ CONFIG_MACH_TYPE="0x658"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x304000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -76,6 +78,7 @@ DATAFLASHCARD_ON_CS0=y
+ # NAND Flash configuration
+ #
+ # CONFIG_NANDFLASH_SMALL_BLOCKS is not set
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="nandflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -84,11 +87,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00040000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9g20ek/at91sam9g20sd_defconfig b/board/at91sam9g20ek/at91sam9g20sd_defconfig
+index 8c3bd11..e8278c7 100644
+--- a/board/at91sam9g20ek/at91sam9g20sd_defconfig
++++ b/board/at91sam9g20ek/at91sam9g20sd_defconfig
+@@ -1,29 +1,29 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 14:54:55 2010
++# Sun Oct 23 15:17:31 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9g20ek"
++CONFIG_BOARDNAME="at91sam9g20sd"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+ # CONFIG_AT91SAM9RLEK is not set
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9G20EK=y
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9G20"
+ CONFIG_BOARD="at91sam9g20ek"
+ CONFIG_MACH_TYPE="0x658"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x304000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -70,6 +72,7 @@ ALLOW_DATAFLASH_RECOVERY=y
+ ALLOW_BOOT_FROM_DATAFLASH_CS0=y
+ ALLOW_BOOT_FROM_DATAFLASH_CS1=y
+ DATAFLASHCARD_ON_CS0=y
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="sdcard"
+ # CONFIG_LOAD_UBOOT is not set
+ # CONFIG_LOAD_EBOOT is not set
+@@ -78,6 +81,8 @@ CONFIG_LOAD_LINUX=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00000000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+
+ #
+ # Linux Image Storage Setup
+@@ -92,6 +97,7 @@ CONFIG_SETTING_ADDRESS="0x00000000"
+ CONFIG_SETTING_SIZE="0x00001000"
+ CONFIG_IMG_SIZE="0x00280000"
+ CONFIG_JUMP_ADDR="0x22000000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x20058000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9g45ek/at91sam9g45df_defconfig b/board/at91sam9g45ek/at91sam9g45df_defconfig
+index bcece6f..1c95a02 100644
+--- a/board/at91sam9g45ek/at91sam9g45df_defconfig
++++ b/board/at91sam9g45ek/at91sam9g45df_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 14:58:38 2010
++# Sun Oct 23 15:17:31 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9g45ek"
++CONFIG_BOARDNAME="at91sam9g45df"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+@@ -11,19 +11,19 @@ CONFIG_BOARDNAME="at91sam9g45ek"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9G45EK=y
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9G45"
+ CONFIG_BOARD="at91sam9g45ek"
+ CONFIG_MACH_TYPE="1830"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x30A000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -94,6 +96,7 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -102,17 +105,22 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++# CONFIG_DUAL_BOOT is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x73F00000"
++CONFIG_ALT_JUMP_ADDR="0x70000000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_LOUD is not set
+ # CONFIG_DEBUG_VERY_LOUD is not set
++ALLOW_DUAL_BOOT=y
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ CONFIG_THUMB=y
+diff --git a/board/at91sam9g45ek/at91sam9g45ek_defconfig b/board/at91sam9g45ek/at91sam9g45ek_defconfig
+index bcece6f..c2dda79 100644
+--- a/board/at91sam9g45ek/at91sam9g45ek_defconfig
++++ b/board/at91sam9g45ek/at91sam9g45ek_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 14:58:38 2010
++# Sun Oct 23 15:17:32 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g45ek"
+@@ -11,19 +11,19 @@ CONFIG_BOARDNAME="at91sam9g45ek"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9G45EK=y
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9G45"
+ CONFIG_BOARD="at91sam9g45ek"
+ CONFIG_MACH_TYPE="1830"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x30A000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -94,6 +96,7 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -102,17 +105,22 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++# CONFIG_DUAL_BOOT is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x73F00000"
++CONFIG_ALT_JUMP_ADDR="0x70000000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_LOUD is not set
+ # CONFIG_DEBUG_VERY_LOUD is not set
++ALLOW_DUAL_BOOT=y
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ CONFIG_THUMB=y
+diff --git a/board/at91sam9g45ek/at91sam9g45nf_defconfig b/board/at91sam9g45ek/at91sam9g45nf_defconfig
+index af5f6df..39ceded 100644
+--- a/board/at91sam9g45ek/at91sam9g45nf_defconfig
++++ b/board/at91sam9g45ek/at91sam9g45nf_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 14:59:57 2010
++# Sun Oct 23 15:17:32 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9g45ek"
++CONFIG_BOARDNAME="at91sam9g45nf"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+@@ -11,19 +11,19 @@ CONFIG_BOARDNAME="at91sam9g45ek"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9G45EK=y
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9G45"
+ CONFIG_BOARD="at91sam9g45ek"
+ CONFIG_MACH_TYPE="1830"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x30A000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -75,6 +77,7 @@ DATAFLASHCARD_ON_CS0=y
+ # NAND Flash configuration
+ #
+ # CONFIG_NANDFLASH_SMALL_BLOCKS is not set
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="nandflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -83,17 +86,22 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++# CONFIG_DUAL_BOOT is not set
++CONFIG_ALT_IMG_ADDRESS="0x00040000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x73F00000"
++CONFIG_ALT_JUMP_ADDR="0x70000000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_LOUD is not set
+ # CONFIG_DEBUG_VERY_LOUD is not set
++ALLOW_DUAL_BOOT=y
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ CONFIG_THUMB=y
+diff --git a/board/at91sam9g45ek/at91sam9g45sd_defconfig b/board/at91sam9g45ek/at91sam9g45sd_defconfig
+index 9ec2b0c..a174578 100644
+--- a/board/at91sam9g45ek/at91sam9g45sd_defconfig
++++ b/board/at91sam9g45ek/at91sam9g45sd_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 15:01:00 2010
++# Sun Oct 23 15:17:32 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9g45ek"
++CONFIG_BOARDNAME="at91sam9g45sd"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+@@ -11,19 +11,19 @@ CONFIG_BOARDNAME="at91sam9g45ek"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9G45EK=y
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9G45"
+ CONFIG_BOARD="at91sam9g45ek"
+ CONFIG_MACH_TYPE="1830"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x30A000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -69,6 +71,7 @@ CONFIG_SDCARD_HS=y
+ ALLOW_DATAFLASH_RECOVERY=y
+ ALLOW_BOOT_FROM_DATAFLASH_CS0=y
+ DATAFLASHCARD_ON_CS0=y
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="sdcard"
+ # CONFIG_LOAD_UBOOT is not set
+ # CONFIG_LOAD_EBOOT is not set
+@@ -77,6 +80,9 @@ CONFIG_LOAD_LINUX=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++# CONFIG_DUAL_BOOT is not set
++CONFIG_ALT_IMG_ADDRESS="0x00000000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+
+ #
+ # Linux Image Storage Setup
+@@ -91,12 +97,14 @@ CONFIG_SETTING_ADDRESS="0x00000000"
+ CONFIG_SETTING_SIZE="0x00001000"
+ CONFIG_IMG_SIZE="0x00280000"
+ CONFIG_JUMP_ADDR="0x72000000"
++CONFIG_ALT_JUMP_ADDR="0x70000000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_LOUD is not set
+ # CONFIG_DEBUG_VERY_LOUD is not set
++ALLOW_DUAL_BOOT=y
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ CONFIG_THUMB=y
+diff --git a/board/at91sam9g45ekes/at91sam9g45dfes_defconfig b/board/at91sam9g45ekes/at91sam9g45dfes_defconfig
+index db80f63..ce1ce65 100644
+--- a/board/at91sam9g45ekes/at91sam9g45dfes_defconfig
++++ b/board/at91sam9g45ekes/at91sam9g45dfes_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 15:04:10 2010
++# Sun Oct 23 15:17:32 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9g45ekes"
++CONFIG_BOARDNAME="at91sam9g45dfes"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+@@ -12,18 +12,18 @@ CONFIG_BOARDNAME="at91sam9g45ekes"
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
+ # CONFIG_AT91SAM9G45EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9G45EKES=y
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9G45"
+ CONFIG_BOARD="at91sam9g45ekes"
+ CONFIG_MACH_TYPE="2212"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x30A000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -94,6 +96,7 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -102,17 +105,22 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++# CONFIG_DUAL_BOOT is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x73F00000"
++CONFIG_ALT_JUMP_ADDR="0x70000000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_LOUD is not set
+ # CONFIG_DEBUG_VERY_LOUD is not set
++ALLOW_DUAL_BOOT=y
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ CONFIG_THUMB=y
+diff --git a/board/at91sam9g45ekes/at91sam9g45ekes_defconfig b/board/at91sam9g45ekes/at91sam9g45ekes_defconfig
+index db80f63..43ce666 100644
+--- a/board/at91sam9g45ekes/at91sam9g45ekes_defconfig
++++ b/board/at91sam9g45ekes/at91sam9g45ekes_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 15:04:10 2010
++# Sun Oct 23 15:17:33 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g45ekes"
+@@ -12,18 +12,18 @@ CONFIG_BOARDNAME="at91sam9g45ekes"
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
+ # CONFIG_AT91SAM9G45EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9G45EKES=y
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9G45"
+ CONFIG_BOARD="at91sam9g45ekes"
+ CONFIG_MACH_TYPE="2212"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x30A000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -94,6 +96,7 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -102,17 +105,22 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++# CONFIG_DUAL_BOOT is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x73F00000"
++CONFIG_ALT_JUMP_ADDR="0x70000000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_LOUD is not set
+ # CONFIG_DEBUG_VERY_LOUD is not set
++ALLOW_DUAL_BOOT=y
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ CONFIG_THUMB=y
+diff --git a/board/at91sam9g45ekes/at91sam9g45nfes_defconfig b/board/at91sam9g45ekes/at91sam9g45nfes_defconfig
+index 2351f41..f846fd3 100644
+--- a/board/at91sam9g45ekes/at91sam9g45nfes_defconfig
++++ b/board/at91sam9g45ekes/at91sam9g45nfes_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 15:05:18 2010
++# Sun Oct 23 15:17:33 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9g45ekes"
++CONFIG_BOARDNAME="at91sam9g45nfes"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+@@ -12,18 +12,18 @@ CONFIG_BOARDNAME="at91sam9g45ekes"
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
+ # CONFIG_AT91SAM9G45EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9G45EKES=y
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9G45"
+ CONFIG_BOARD="at91sam9g45ekes"
+ CONFIG_MACH_TYPE="2212"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x30A000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -75,6 +77,7 @@ DATAFLASHCARD_ON_CS0=y
+ # NAND Flash configuration
+ #
+ # CONFIG_NANDFLASH_SMALL_BLOCKS is not set
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="nandflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -83,17 +86,22 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++# CONFIG_DUAL_BOOT is not set
++CONFIG_ALT_IMG_ADDRESS="0x00040000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x73F00000"
++CONFIG_ALT_JUMP_ADDR="0x70000000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_LOUD is not set
+ # CONFIG_DEBUG_VERY_LOUD is not set
++ALLOW_DUAL_BOOT=y
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ CONFIG_THUMB=y
+diff --git a/board/at91sam9g45ekes/at91sam9g45sdes_android_defconfig b/board/at91sam9g45ekes/at91sam9g45sdes_android_defconfig
+new file mode 100644
+index 0000000..f066acb
+--- /dev/null
++++ b/board/at91sam9g45ekes/at91sam9g45sdes_android_defconfig
+@@ -0,0 +1,113 @@
++#
++# Automatically generated make config: don't edit
++# Sun Oct 23 15:17:33 2011
++#
++HAVE_DOT_CONFIG=y
++CONFIG_BOARDNAME="at91sam9g45sdes_android"
++# CONFIG_AT91SAM9260EK is not set
++# CONFIG_AT91SAM9261EK is not set
++# CONFIG_AT91SAM9263EK is not set
++# CONFIG_AT91SAM9RLEK is not set
++# CONFIG_AT91SAM9XEEK is not set
++# CONFIG_AT91SAM9G10EK is not set
++# CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G45EK is not set
++CONFIG_AT91SAM9G45EKES=y
++# CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
++# CONFIG_AT91CAP9ADK is not set
++# CONFIG_AT91CAP9STK is not set
++# CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
++CONFIG_CHIP="AT91SAM9G45"
++CONFIG_BOARD="at91sam9g45ekes"
++CONFIG_MACH_TYPE="2212"
++CONFIG_LINK_ADDR="0x000000"
++CONFIG_TOP_OF_MEMORY="0x30A000"
++# CONFIG_CRYSTAL_12_000MHZ is not set
++# CONFIG_CRYSTAL_16_000MHZ is not set
++# CONFIG_CRYSTAL_16_36766MHZ is not set
++CONFIG_CRYSTAL_18_432MHZ=y
++ALLOW_CRYSTAL_18_432MHZ=y
++CONFIG_CRYSTAL="CRYSTAL_18_432MHZ"
++# CONFIG_CPU_CLK_166MHZ is not set
++# CONFIG_CPU_CLK_180MHZ is not set
++# CONFIG_CPU_CLK_200MHZ is not set
++# CONFIG_CPU_CLK_240MHZ is not set
++# CONFIG_CPU_CLK_266MHZ is not set
++CONFIG_CPU_CLK_400MHZ=y
++ALLOW_CPU_CLK_400MHZ=y
++# DISABLE_CPU_CLK_240MHZ is not set
++# CONFIG_BUS_SPEED_83MHZ is not set
++# CONFIG_BUS_SPEED_90MHZ is not set
++# CONFIG_BUS_SPEED_100MHZ is not set
++CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
++
++#
++# Memory selection
++#
++# CONFIG_SDRAM is not set
++# CONFIG_SDDRC is not set
++CONFIG_DDR2=y
++ALLOW_DATAFLASH=y
++# ALLOW_FLASH is not set
++ALLOW_NANDFLASH=y
++ALLOW_SDCARD=y
++ALLOW_HSMCI=y
++# ALLOW_PSRAM is not set
++# ALLOW_SDRAM_16BIT is not set
++# CONFIG_RAM_32MB is not set
++# CONFIG_RAM_64MB is not set
++CONFIG_RAM_128MB=y
++# CONFIG_RAM_256MB is not set
++# CONFIG_DATAFLASH is not set
++# CONFIG_FLASH is not set
++# CONFIG_NANDFLASH is not set
++CONFIG_SDCARD=y
++CONFIG_MEMORY="sdcard"
++CONFIG_SDCARD_HS=y
++ALLOW_DATAFLASH_RECOVERY=y
++ALLOW_BOOT_FROM_DATAFLASH_CS0=y
++DATAFLASHCARD_ON_CS0=y
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
++CONFIG_PROJECT="sdcard"
++# CONFIG_LOAD_UBOOT is not set
++# CONFIG_LOAD_EBOOT is not set
++CONFIG_LOAD_LINUX=y
++# CONFIG_LOAD_NK is not set
++# CONFIG_LOAD_64KB is not set
++# CONFIG_LOAD_1MB is not set
++# CONFIG_LOAD_4MB is not set
++# CONFIG_DUAL_BOOT is not set
++CONFIG_ALT_IMG_ADDRESS="0x00000000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
++
++#
++# Linux Image Storage Setup
++#
++CONFIG_OS_MEM_BANK="0x70000000"
++CONFIG_OS_MEM_SIZE="0x4000000"
++CONFIG_LINUX_KERNEL_ARG_STRING="mem=128M console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootfstype=/dev/mmcblk0p2 rw rootfstype=ext2 init=/init nohz=off rootdelay=1"
++CONFIG_OS_IMAGE_NAME="uImage"
++CONFIG_OS_IMG_SIZE="0x280000"
++CONFIG_IMG_ADDRESS="0x00000000"
++CONFIG_SETTING_ADDRESS="0x00000000"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00280000"
++CONFIG_JUMP_ADDR="0x72000000"
++CONFIG_ALT_JUMP_ADDR="0x70000000"
++CONFIG_GLBDRV_ADDR="0x7006b000"
++# CONFIG_LONG_TEST is not set
++CONFIG_DEBUG=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_LOUD is not set
++# CONFIG_DEBUG_VERY_LOUD is not set
++ALLOW_DUAL_BOOT=y
++CONFIG_HW_INIT=y
++# CONFIG_USER_HW_INIT is not set
++CONFIG_THUMB=y
++# CONFIG_SCLK is not set
++# CONFIG_SX_AT91 is not set
++# CONFIG_RAW_AT91 is not set
+diff --git a/board/at91sam9g45ekes/at91sam9g45sdes_defconfig b/board/at91sam9g45ekes/at91sam9g45sdes_defconfig
+index 244cb4e..5cf1228 100644
+--- a/board/at91sam9g45ekes/at91sam9g45sdes_defconfig
++++ b/board/at91sam9g45ekes/at91sam9g45sdes_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 15:05:49 2010
++# Sun Oct 23 15:17:34 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9g45ekes"
++CONFIG_BOARDNAME="at91sam9g45sdes"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+@@ -12,18 +12,18 @@ CONFIG_BOARDNAME="at91sam9g45ekes"
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
+ # CONFIG_AT91SAM9G45EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9G45EKES=y
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9G45"
+ CONFIG_BOARD="at91sam9g45ekes"
+ CONFIG_MACH_TYPE="2212"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x30A000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -69,6 +71,7 @@ CONFIG_SDCARD_HS=y
+ ALLOW_DATAFLASH_RECOVERY=y
+ ALLOW_BOOT_FROM_DATAFLASH_CS0=y
+ DATAFLASHCARD_ON_CS0=y
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="sdcard"
+ # CONFIG_LOAD_UBOOT is not set
+ # CONFIG_LOAD_EBOOT is not set
+@@ -77,6 +80,9 @@ CONFIG_LOAD_LINUX=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++# CONFIG_DUAL_BOOT is not set
++CONFIG_ALT_IMG_ADDRESS="0x00000000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+
+ #
+ # Linux Image Storage Setup
+@@ -91,12 +97,14 @@ CONFIG_SETTING_ADDRESS="0x00000000"
+ CONFIG_SETTING_SIZE="0x00001000"
+ CONFIG_IMG_SIZE="0x00280000"
+ CONFIG_JUMP_ADDR="0x72000000"
++CONFIG_ALT_JUMP_ADDR="0x70000000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_LOUD is not set
+ # CONFIG_DEBUG_VERY_LOUD is not set
++ALLOW_DUAL_BOOT=y
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ CONFIG_THUMB=y
+diff --git a/board/at91sam9m10ek/at91sam9m10df_defconfig b/board/at91sam9m10ek/at91sam9m10df_defconfig
+index d8ac768..8d24afa 100644
+--- a/board/at91sam9m10ek/at91sam9m10df_defconfig
++++ b/board/at91sam9m10ek/at91sam9m10df_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 15:07:56 2010
++# Sun Oct 23 15:17:34 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9m10ek"
++CONFIG_BOARDNAME="at91sam9m10df"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+@@ -13,17 +13,17 @@ CONFIG_BOARDNAME="at91sam9m10ek"
+ # CONFIG_AT91SAM9G20EK is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9M10EK=y
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9M10"
+ CONFIG_BOARD="at91sam9m10ek"
+ CONFIG_MACH_TYPE="1830"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x30A000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -94,6 +96,7 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -102,17 +105,22 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++# CONFIG_DUAL_BOOT is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x73F00000"
++CONFIG_ALT_JUMP_ADDR="0x70000000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_LOUD is not set
+ # CONFIG_DEBUG_VERY_LOUD is not set
++ALLOW_DUAL_BOOT=y
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ CONFIG_THUMB=y
+diff --git a/board/at91sam9m10ek/at91sam9m10ek_defconfig b/board/at91sam9m10ek/at91sam9m10ek_defconfig
+index d8ac768..57ddfe4 100644
+--- a/board/at91sam9m10ek/at91sam9m10ek_defconfig
++++ b/board/at91sam9m10ek/at91sam9m10ek_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 15:07:56 2010
++# Sun Oct 23 15:17:34 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9m10ek"
+@@ -13,17 +13,17 @@ CONFIG_BOARDNAME="at91sam9m10ek"
+ # CONFIG_AT91SAM9G20EK is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9M10EK=y
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9M10"
+ CONFIG_BOARD="at91sam9m10ek"
+ CONFIG_MACH_TYPE="1830"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x30A000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -94,6 +96,7 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -102,17 +105,22 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++# CONFIG_DUAL_BOOT is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x73F00000"
++CONFIG_ALT_JUMP_ADDR="0x70000000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_LOUD is not set
+ # CONFIG_DEBUG_VERY_LOUD is not set
++ALLOW_DUAL_BOOT=y
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ CONFIG_THUMB=y
+diff --git a/board/at91sam9m10ek/at91sam9m10nf_defconfig b/board/at91sam9m10ek/at91sam9m10nf_defconfig
+index 2ecf5be..e54b535 100644
+--- a/board/at91sam9m10ek/at91sam9m10nf_defconfig
++++ b/board/at91sam9m10ek/at91sam9m10nf_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 15:13:52 2010
++# Sun Oct 23 15:17:35 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9m10ek"
++CONFIG_BOARDNAME="at91sam9m10nf"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+@@ -13,17 +13,17 @@ CONFIG_BOARDNAME="at91sam9m10ek"
+ # CONFIG_AT91SAM9G20EK is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9M10EK=y
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9M10"
+ CONFIG_BOARD="at91sam9m10ek"
+ CONFIG_MACH_TYPE="1830"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x30A000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -75,6 +77,7 @@ DATAFLASHCARD_ON_CS0=y
+ # NAND Flash configuration
+ #
+ # CONFIG_NANDFLASH_SMALL_BLOCKS is not set
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="nandflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -83,17 +86,22 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++# CONFIG_DUAL_BOOT is not set
++CONFIG_ALT_IMG_ADDRESS="0x00040000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x73F00000"
++CONFIG_ALT_JUMP_ADDR="0x70000000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_LOUD is not set
+ # CONFIG_DEBUG_VERY_LOUD is not set
++ALLOW_DUAL_BOOT=y
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ CONFIG_THUMB=y
+diff --git a/board/at91sam9m10ek/at91sam9m10sd_android_defconfig b/board/at91sam9m10ek/at91sam9m10sd_android_defconfig
+new file mode 100644
+index 0000000..1dc422c
+--- /dev/null
++++ b/board/at91sam9m10ek/at91sam9m10sd_android_defconfig
+@@ -0,0 +1,113 @@
++#
++# Automatically generated make config: don't edit
++# Sun Oct 23 15:17:35 2011
++#
++HAVE_DOT_CONFIG=y
++CONFIG_BOARDNAME="at91sam9m10sd_android"
++# CONFIG_AT91SAM9260EK is not set
++# CONFIG_AT91SAM9261EK is not set
++# CONFIG_AT91SAM9263EK is not set
++# CONFIG_AT91SAM9RLEK is not set
++# CONFIG_AT91SAM9XEEK is not set
++# CONFIG_AT91SAM9G10EK is not set
++# CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G45EK is not set
++# CONFIG_AT91SAM9G45EKES is not set
++CONFIG_AT91SAM9M10EK=y
++# CONFIG_AT91SAM9M10EKES is not set
++# CONFIG_AT91CAP9ADK is not set
++# CONFIG_AT91CAP9STK is not set
++# CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
++CONFIG_CHIP="AT91SAM9M10"
++CONFIG_BOARD="at91sam9m10ek"
++CONFIG_MACH_TYPE="1830"
++CONFIG_LINK_ADDR="0x000000"
++CONFIG_TOP_OF_MEMORY="0x30A000"
++# CONFIG_CRYSTAL_12_000MHZ is not set
++# CONFIG_CRYSTAL_16_000MHZ is not set
++# CONFIG_CRYSTAL_16_36766MHZ is not set
++CONFIG_CRYSTAL_18_432MHZ=y
++ALLOW_CRYSTAL_18_432MHZ=y
++CONFIG_CRYSTAL="CRYSTAL_18_432MHZ"
++# CONFIG_CPU_CLK_166MHZ is not set
++# CONFIG_CPU_CLK_180MHZ is not set
++# CONFIG_CPU_CLK_200MHZ is not set
++# CONFIG_CPU_CLK_240MHZ is not set
++# CONFIG_CPU_CLK_266MHZ is not set
++CONFIG_CPU_CLK_400MHZ=y
++ALLOW_CPU_CLK_400MHZ=y
++# DISABLE_CPU_CLK_240MHZ is not set
++# CONFIG_BUS_SPEED_83MHZ is not set
++# CONFIG_BUS_SPEED_90MHZ is not set
++# CONFIG_BUS_SPEED_100MHZ is not set
++CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
++
++#
++# Memory selection
++#
++# CONFIG_SDRAM is not set
++# CONFIG_SDDRC is not set
++CONFIG_DDR2=y
++ALLOW_DATAFLASH=y
++# ALLOW_FLASH is not set
++ALLOW_NANDFLASH=y
++ALLOW_SDCARD=y
++ALLOW_HSMCI=y
++# ALLOW_PSRAM is not set
++# ALLOW_SDRAM_16BIT is not set
++# CONFIG_RAM_32MB is not set
++# CONFIG_RAM_64MB is not set
++CONFIG_RAM_128MB=y
++# CONFIG_RAM_256MB is not set
++# CONFIG_DATAFLASH is not set
++# CONFIG_FLASH is not set
++# CONFIG_NANDFLASH is not set
++CONFIG_SDCARD=y
++CONFIG_MEMORY="sdcard"
++CONFIG_SDCARD_HS=y
++ALLOW_DATAFLASH_RECOVERY=y
++ALLOW_BOOT_FROM_DATAFLASH_CS0=y
++DATAFLASHCARD_ON_CS0=y
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
++CONFIG_PROJECT="sdcard"
++# CONFIG_LOAD_UBOOT is not set
++# CONFIG_LOAD_EBOOT is not set
++CONFIG_LOAD_LINUX=y
++# CONFIG_LOAD_NK is not set
++# CONFIG_LOAD_64KB is not set
++# CONFIG_LOAD_1MB is not set
++# CONFIG_LOAD_4MB is not set
++# CONFIG_DUAL_BOOT is not set
++CONFIG_ALT_IMG_ADDRESS="0x00000000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
++
++#
++# Linux Image Storage Setup
++#
++CONFIG_OS_MEM_BANK="0x70000000"
++CONFIG_OS_MEM_SIZE="0x4000000"
++CONFIG_LINUX_KERNEL_ARG_STRING="mem=128M console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootfstype=/dev/mmcblk0p2 rw rootfstype=ext2 init=/init nohz=off rootdelay=1"
++CONFIG_OS_IMAGE_NAME="uImage"
++CONFIG_OS_IMG_SIZE="0x280000"
++CONFIG_IMG_ADDRESS="0x00000000"
++CONFIG_SETTING_ADDRESS="0x00000000"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00280000"
++CONFIG_JUMP_ADDR="0x72000000"
++CONFIG_ALT_JUMP_ADDR="0x70000000"
++CONFIG_GLBDRV_ADDR="0x7006b000"
++# CONFIG_LONG_TEST is not set
++CONFIG_DEBUG=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_LOUD is not set
++# CONFIG_DEBUG_VERY_LOUD is not set
++ALLOW_DUAL_BOOT=y
++CONFIG_HW_INIT=y
++# CONFIG_USER_HW_INIT is not set
++CONFIG_THUMB=y
++# CONFIG_SCLK is not set
++# CONFIG_SX_AT91 is not set
++# CONFIG_RAW_AT91 is not set
+diff --git a/board/at91sam9m10ek/at91sam9m10sd_defconfig b/board/at91sam9m10ek/at91sam9m10sd_defconfig
+index 83676dd..73a3842 100644
+--- a/board/at91sam9m10ek/at91sam9m10sd_defconfig
++++ b/board/at91sam9m10ek/at91sam9m10sd_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 16:46:19 2010
++# Sun Oct 23 15:17:35 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9m10ek"
++CONFIG_BOARDNAME="at91sam9m10sd"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+@@ -13,17 +13,17 @@ CONFIG_BOARDNAME="at91sam9m10ek"
+ # CONFIG_AT91SAM9G20EK is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9M10EK=y
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9M10"
+ CONFIG_BOARD="at91sam9m10ek"
+ CONFIG_MACH_TYPE="1830"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x30A000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -69,6 +71,7 @@ CONFIG_SDCARD_HS=y
+ ALLOW_DATAFLASH_RECOVERY=y
+ ALLOW_BOOT_FROM_DATAFLASH_CS0=y
+ DATAFLASHCARD_ON_CS0=y
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="sdcard"
+ # CONFIG_LOAD_UBOOT is not set
+ # CONFIG_LOAD_EBOOT is not set
+@@ -77,6 +80,9 @@ CONFIG_LOAD_LINUX=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++# CONFIG_DUAL_BOOT is not set
++CONFIG_ALT_IMG_ADDRESS="0x00000000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+
+ #
+ # Linux Image Storage Setup
+@@ -91,12 +97,14 @@ CONFIG_SETTING_ADDRESS="0x00000000"
+ CONFIG_SETTING_SIZE="0x00001000"
+ CONFIG_IMG_SIZE="0x00280000"
+ CONFIG_JUMP_ADDR="0x72000000"
++CONFIG_ALT_JUMP_ADDR="0x70000000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_LOUD is not set
+ # CONFIG_DEBUG_VERY_LOUD is not set
++ALLOW_DUAL_BOOT=y
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ CONFIG_THUMB=y
+diff --git a/board/at91sam9m10ek/at91sam9m10sdu_defconfig b/board/at91sam9m10ek/at91sam9m10sdu_defconfig
+new file mode 100644
+index 0000000..ecc56ee
+--- /dev/null
++++ b/board/at91sam9m10ek/at91sam9m10sdu_defconfig
+@@ -0,0 +1,106 @@
++#
++# Automatically generated make config: don't edit
++# Sun Oct 23 15:17:36 2011
++#
++HAVE_DOT_CONFIG=y
++CONFIG_BOARDNAME="at91sam9m10sdu"
++# CONFIG_AT91SAM9260EK is not set
++# CONFIG_AT91SAM9261EK is not set
++# CONFIG_AT91SAM9263EK is not set
++# CONFIG_AT91SAM9RLEK is not set
++# CONFIG_AT91SAM9XEEK is not set
++# CONFIG_AT91SAM9G10EK is not set
++# CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G45EK is not set
++# CONFIG_AT91SAM9G45EKES is not set
++CONFIG_AT91SAM9M10EK=y
++# CONFIG_AT91SAM9M10EKES is not set
++# CONFIG_AT91CAP9ADK is not set
++# CONFIG_AT91CAP9STK is not set
++# CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
++CONFIG_CHIP="AT91SAM9M10"
++CONFIG_BOARD="at91sam9m10ek"
++CONFIG_MACH_TYPE="1830"
++CONFIG_LINK_ADDR="0x000000"
++CONFIG_TOP_OF_MEMORY="0x30A000"
++# CONFIG_CRYSTAL_12_000MHZ is not set
++# CONFIG_CRYSTAL_16_000MHZ is not set
++# CONFIG_CRYSTAL_16_36766MHZ is not set
++CONFIG_CRYSTAL_18_432MHZ=y
++ALLOW_CRYSTAL_18_432MHZ=y
++CONFIG_CRYSTAL="CRYSTAL_18_432MHZ"
++# CONFIG_CPU_CLK_166MHZ is not set
++# CONFIG_CPU_CLK_180MHZ is not set
++# CONFIG_CPU_CLK_200MHZ is not set
++# CONFIG_CPU_CLK_240MHZ is not set
++# CONFIG_CPU_CLK_266MHZ is not set
++CONFIG_CPU_CLK_400MHZ=y
++ALLOW_CPU_CLK_400MHZ=y
++# DISABLE_CPU_CLK_240MHZ is not set
++# CONFIG_BUS_SPEED_83MHZ is not set
++# CONFIG_BUS_SPEED_90MHZ is not set
++# CONFIG_BUS_SPEED_100MHZ is not set
++CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
++
++#
++# Memory selection
++#
++# CONFIG_SDRAM is not set
++# CONFIG_SDDRC is not set
++CONFIG_DDR2=y
++ALLOW_DATAFLASH=y
++# ALLOW_FLASH is not set
++ALLOW_NANDFLASH=y
++ALLOW_SDCARD=y
++ALLOW_HSMCI=y
++# ALLOW_PSRAM is not set
++# ALLOW_SDRAM_16BIT is not set
++# CONFIG_RAM_32MB is not set
++# CONFIG_RAM_64MB is not set
++CONFIG_RAM_128MB=y
++# CONFIG_RAM_256MB is not set
++# CONFIG_DATAFLASH is not set
++# CONFIG_FLASH is not set
++# CONFIG_NANDFLASH is not set
++CONFIG_SDCARD=y
++CONFIG_MEMORY="sdcard"
++CONFIG_SDCARD_HS=y
++ALLOW_DATAFLASH_RECOVERY=y
++ALLOW_BOOT_FROM_DATAFLASH_CS0=y
++DATAFLASHCARD_ON_CS0=y
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
++CONFIG_PROJECT="sdcard"
++CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
++# CONFIG_LOAD_64KB is not set
++# CONFIG_LOAD_1MB is not set
++# CONFIG_LOAD_4MB is not set
++CONFIG_DUAL_BOOT=y
++CONFIG_ALT_IMG_ADDRESS="0x00000000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
++CONFIG_ALT_IMAGE_NAME="program.bin"
++CONFIG_OS_IMAGE_NAME="u-boot.bin"
++CONFIG_IMG_ADDRESS="0x00000000"
++CONFIG_SETTING_ADDRESS="0x00000000"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00050000"
++CONFIG_JUMP_ADDR="0x73F00000"
++CONFIG_ALT_JUMP_ADDR="0x70000000"
++CONFIG_GLBDRV_ADDR="0x7006b000"
++# CONFIG_LONG_TEST is not set
++CONFIG_DEBUG=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_LOUD is not set
++# CONFIG_DEBUG_VERY_LOUD is not set
++ALLOW_DUAL_BOOT=y
++CONFIG_HW_INIT=y
++# CONFIG_USER_HW_INIT is not set
++CONFIG_THUMB=y
++# CONFIG_SCLK is not set
++# CONFIG_SX_AT91 is not set
++# CONFIG_RAW_AT91 is not set
+diff --git a/board/at91sam9m10ekes/at91sam9m10dfes_defconfig b/board/at91sam9m10ekes/at91sam9m10dfes_defconfig
+index e7c65a1..5845620 100644
+--- a/board/at91sam9m10ekes/at91sam9m10dfes_defconfig
++++ b/board/at91sam9m10ekes/at91sam9m10dfes_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 15:07:56 2010
++# Sun Oct 23 15:17:36 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9m10ekes"
++CONFIG_BOARDNAME="at91sam9m10dfes"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+@@ -18,12 +18,12 @@ CONFIG_AT91SAM9M10EKES=y
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9M10"
+ CONFIG_BOARD="at91sam9m10ekes"
+-CONFIG_MACH_TYPE="1830"
++CONFIG_MACH_TYPE="2509"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x30A000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -94,6 +96,7 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -102,17 +105,22 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++# CONFIG_DUAL_BOOT is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x73F00000"
++CONFIG_ALT_JUMP_ADDR="0x70000000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_LOUD is not set
+ # CONFIG_DEBUG_VERY_LOUD is not set
++ALLOW_DUAL_BOOT=y
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ CONFIG_THUMB=y
+diff --git a/board/at91sam9m10ekes/at91sam9m10ekes_defconfig b/board/at91sam9m10ekes/at91sam9m10ekes_defconfig
+index e7c65a1..c3034e2 100644
+--- a/board/at91sam9m10ekes/at91sam9m10ekes_defconfig
++++ b/board/at91sam9m10ekes/at91sam9m10ekes_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 15:07:56 2010
++# Sun Oct 23 15:17:36 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9m10ekes"
+@@ -18,12 +18,12 @@ CONFIG_AT91SAM9M10EKES=y
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9M10"
+ CONFIG_BOARD="at91sam9m10ekes"
+-CONFIG_MACH_TYPE="1830"
++CONFIG_MACH_TYPE="2509"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x30A000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -94,6 +96,7 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -102,17 +105,22 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++# CONFIG_DUAL_BOOT is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x73F00000"
++CONFIG_ALT_JUMP_ADDR="0x70000000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_LOUD is not set
+ # CONFIG_DEBUG_VERY_LOUD is not set
++ALLOW_DUAL_BOOT=y
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ CONFIG_THUMB=y
+diff --git a/board/at91sam9m10ekes/at91sam9m10nfes_defconfig b/board/at91sam9m10ekes/at91sam9m10nfes_defconfig
+index 9a473d9..955838a 100644
+--- a/board/at91sam9m10ekes/at91sam9m10nfes_defconfig
++++ b/board/at91sam9m10ekes/at91sam9m10nfes_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 15:13:52 2010
++# Sun Oct 23 15:17:36 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9m10ekes"
++CONFIG_BOARDNAME="at91sam9m10nfes"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+@@ -18,12 +18,12 @@ CONFIG_AT91SAM9M10EKES=y
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9M10"
+ CONFIG_BOARD="at91sam9m10ekes"
+-CONFIG_MACH_TYPE="1830"
++CONFIG_MACH_TYPE="2509"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x30A000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -75,6 +77,7 @@ DATAFLASHCARD_ON_CS0=y
+ # NAND Flash configuration
+ #
+ # CONFIG_NANDFLASH_SMALL_BLOCKS is not set
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="nandflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -83,17 +86,22 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++# CONFIG_DUAL_BOOT is not set
++CONFIG_ALT_IMG_ADDRESS="0x00040000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x73F00000"
++CONFIG_ALT_JUMP_ADDR="0x70000000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_LOUD is not set
+ # CONFIG_DEBUG_VERY_LOUD is not set
++ALLOW_DUAL_BOOT=y
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ CONFIG_THUMB=y
+diff --git a/board/at91sam9m10ekes/at91sam9m10sdes_defconfig b/board/at91sam9m10ekes/at91sam9m10sdes_defconfig
+index 9f193d3..770f930 100644
+--- a/board/at91sam9m10ekes/at91sam9m10sdes_defconfig
++++ b/board/at91sam9m10ekes/at91sam9m10sdes_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 16:46:19 2010
++# Sun Oct 23 15:17:37 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9m10ekes"
++CONFIG_BOARDNAME="at91sam9m10sdes"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+@@ -18,12 +18,12 @@ CONFIG_AT91SAM9M10EKES=y
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9M10"
+ CONFIG_BOARD="at91sam9m10ekes"
+-CONFIG_MACH_TYPE="1830"
++CONFIG_MACH_TYPE="2509"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x30A000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +42,8 @@ ALLOW_CPU_CLK_400MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ # CONFIG_BUS_SPEED_100MHZ is not set
+ CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -69,6 +71,7 @@ CONFIG_SDCARD_HS=y
+ ALLOW_DATAFLASH_RECOVERY=y
+ ALLOW_BOOT_FROM_DATAFLASH_CS0=y
+ DATAFLASHCARD_ON_CS0=y
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="sdcard"
+ # CONFIG_LOAD_UBOOT is not set
+ # CONFIG_LOAD_EBOOT is not set
+@@ -77,6 +80,9 @@ CONFIG_LOAD_LINUX=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++# CONFIG_DUAL_BOOT is not set
++CONFIG_ALT_IMG_ADDRESS="0x00000000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+
+ #
+ # Linux Image Storage Setup
+@@ -91,12 +97,14 @@ CONFIG_SETTING_ADDRESS="0x00000000"
+ CONFIG_SETTING_SIZE="0x00001000"
+ CONFIG_IMG_SIZE="0x00280000"
+ CONFIG_JUMP_ADDR="0x72000000"
++CONFIG_ALT_JUMP_ADDR="0x70000000"
+ CONFIG_GLBDRV_ADDR="0x7006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+ CONFIG_DEBUG_INFO=y
+ # CONFIG_DEBUG_LOUD is not set
+ # CONFIG_DEBUG_VERY_LOUD is not set
++ALLOW_DUAL_BOOT=y
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ CONFIG_THUMB=y
+diff --git a/board/at91sam9rlek/at91sam9rldf_defconfig b/board/at91sam9rlek/at91sam9rldf_defconfig
+index 258c16a..4a18d7e 100644
+--- a/board/at91sam9rlek/at91sam9rldf_defconfig
++++ b/board/at91sam9rlek/at91sam9rldf_defconfig
+@@ -1,13 +1,12 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 14:01:58 2010
++# Sun Oct 23 15:17:37 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9rlek"
++CONFIG_BOARDNAME="at91sam9rldf"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9RLEK=y
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+@@ -15,15 +14,16 @@ CONFIG_AT91SAM9RLEK=y
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9RL"
+ CONFIG_BOARD="at91sam9rlek"
+ CONFIG_MACH_TYPE="1326"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x310000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -43,6 +43,8 @@ ALLOW_CPU_CLK_266MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -94,6 +96,7 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -102,11 +105,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x2006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9rlek/at91sam9rlek_defconfig b/board/at91sam9rlek/at91sam9rlek_defconfig
+index 258c16a..4a2b0a4 100644
+--- a/board/at91sam9rlek/at91sam9rlek_defconfig
++++ b/board/at91sam9rlek/at91sam9rlek_defconfig
+@@ -1,13 +1,12 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 14:01:58 2010
++# Sun Oct 23 15:17:37 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9rlek"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9RLEK=y
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+@@ -15,15 +14,16 @@ CONFIG_AT91SAM9RLEK=y
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9RL"
+ CONFIG_BOARD="at91sam9rlek"
+ CONFIG_MACH_TYPE="1326"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x310000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -43,6 +43,8 @@ ALLOW_CPU_CLK_266MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -94,6 +96,7 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -102,11 +105,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x2006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9rlek/at91sam9rlnf_defconfig b/board/at91sam9rlek/at91sam9rlnf_defconfig
+index 215b5ec..1a6a313 100644
+--- a/board/at91sam9rlek/at91sam9rlnf_defconfig
++++ b/board/at91sam9rlek/at91sam9rlnf_defconfig
+@@ -1,13 +1,12 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 14:03:36 2010
++# Sun Oct 23 15:17:38 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9rlek"
++CONFIG_BOARDNAME="at91sam9rlnf"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9RLEK=y
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+@@ -15,15 +14,16 @@ CONFIG_AT91SAM9RLEK=y
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9RL"
+ CONFIG_BOARD="at91sam9rlek"
+ CONFIG_MACH_TYPE="1326"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x310000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -43,6 +43,8 @@ ALLOW_CPU_CLK_266MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -74,6 +76,7 @@ ALLOW_BOOT_FROM_DATAFLASH_CS0=y
+ # NAND Flash configuration
+ #
+ # CONFIG_NANDFLASH_SMALL_BLOCKS is not set
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="nandflash"
+ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_EBOOT is not set
+@@ -82,11 +85,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00040000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x2006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9rlek/at91sam9rlsd_defconfig b/board/at91sam9rlek/at91sam9rlsd_defconfig
+index 940cb61..dd5ee12 100644
+--- a/board/at91sam9rlek/at91sam9rlsd_defconfig
++++ b/board/at91sam9rlek/at91sam9rlsd_defconfig
+@@ -1,13 +1,12 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jun 1 14:06:02 2010
++# Sun Oct 23 15:17:38 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9rlek"
++CONFIG_BOARDNAME="at91sam9rlsd"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+ CONFIG_AT91SAM9RLEK=y
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+@@ -15,15 +14,16 @@ CONFIG_AT91SAM9RLEK=y
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9RL"
+ CONFIG_BOARD="at91sam9rlek"
+ CONFIG_MACH_TYPE="1326"
+ CONFIG_LINK_ADDR="0x000000"
+ CONFIG_TOP_OF_MEMORY="0x310000"
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -43,6 +43,8 @@ ALLOW_CPU_CLK_266MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -68,6 +70,7 @@ CONFIG_SDCARD=y
+ CONFIG_MEMORY="sdcard"
+ # CONFIG_SDCARD_HS is not set
+ ALLOW_BOOT_FROM_DATAFLASH_CS0=y
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="sdcard"
+ # CONFIG_LOAD_UBOOT is not set
+ # CONFIG_LOAD_EBOOT is not set
+@@ -76,6 +79,8 @@ CONFIG_LOAD_LINUX=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00000000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+
+ #
+ # Linux Image Storage Setup
+@@ -90,6 +95,7 @@ CONFIG_SETTING_ADDRESS="0x00000000"
+ CONFIG_SETTING_SIZE="0x00001000"
+ CONFIG_IMG_SIZE="0x00280000"
+ CONFIG_JUMP_ADDR="0x22000000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x2006b000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9x5ek/at91sam9x5ek_defconfig b/board/at91sam9x5ek/at91sam9x5ek_defconfig
+new file mode 100644
+index 0000000..1fbbe29
+--- /dev/null
++++ b/board/at91sam9x5ek/at91sam9x5ek_defconfig
+@@ -0,0 +1,104 @@
++#
++# Automatically generated make config: don't edit
++# Sun Oct 23 15:17:39 2011
++#
++HAVE_DOT_CONFIG=y
++CONFIG_BOARDNAME="at91sam9x5ek"
++# CONFIG_AT91SAM9260EK is not set
++# CONFIG_AT91SAM9261EK is not set
++# CONFIG_AT91SAM9263EK is not set
++# CONFIG_AT91SAM9RLEK is not set
++# CONFIG_AT91SAM9XEEK is not set
++# CONFIG_AT91SAM9G10EK is not set
++# CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G45EK is not set
++# CONFIG_AT91SAM9G45EKES is not set
++# CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
++# CONFIG_AT91CAP9ADK is not set
++# CONFIG_AT91CAP9STK is not set
++# CONFIG_AFEB9260 is not set
++CONFIG_AT91SAM9X5EK=y
++CONFIG_CHIP="AT91SAM9X5"
++CONFIG_BOARD="at91sam9x5ek"
++CONFIG_MACH_TYPE="3373"
++CONFIG_LINK_ADDR="0x000000"
++CONFIG_TOP_OF_MEMORY="0x308000"
++CONFIG_CRYSTAL_12_000MHZ=y
++# CONFIG_CRYSTAL_16_000MHZ is not set
++# CONFIG_CRYSTAL_16_36766MHZ is not set
++# CONFIG_CRYSTAL_18_432MHZ is not set
++ALLOW_CRYSTAL_12_000MHZ=y
++CONFIG_CRYSTAL="CRYSTAL_18_432MHZ"
++# CONFIG_CPU_CLK_166MHZ is not set
++# CONFIG_CPU_CLK_180MHZ is not set
++# CONFIG_CPU_CLK_200MHZ is not set
++# CONFIG_CPU_CLK_240MHZ is not set
++# CONFIG_CPU_CLK_266MHZ is not set
++CONFIG_CPU_CLK_400MHZ=y
++ALLOW_CPU_CLK_400MHZ=y
++# DISABLE_CPU_CLK_240MHZ is not set
++# CONFIG_BUS_SPEED_83MHZ is not set
++# CONFIG_BUS_SPEED_90MHZ is not set
++# CONFIG_BUS_SPEED_100MHZ is not set
++CONFIG_BUS_SPEED_133MHZ=y
++ALLOW_PIO3=y
++CONFIG_HAS_PIO3=y
++CPU_HAS_PMECC=y
++
++#
++# Memory selection
++#
++# CONFIG_SDRAM is not set
++# CONFIG_SDDRC is not set
++CONFIG_DDR2=y
++ALLOW_DATAFLASH=y
++# ALLOW_FLASH is not set
++ALLOW_NANDFLASH=y
++ALLOW_SDCARD=y
++ALLOW_HSMCI=y
++# ALLOW_PSRAM is not set
++# ALLOW_SDRAM_16BIT is not set
++# CONFIG_RAM_32MB is not set
++# CONFIG_RAM_64MB is not set
++CONFIG_RAM_128MB=y
++# CONFIG_RAM_256MB is not set
++# CONFIG_DATAFLASH is not set
++# CONFIG_FLASH is not set
++# CONFIG_NANDFLASH is not set
++CONFIG_SDCARD=y
++CONFIG_MEMORY="sdcard"
++CONFIG_SDCARD_HS=y
++ALLOW_DATAFLASH_RECOVERY=y
++ALLOW_BOOT_FROM_DATAFLASH_CS0=y
++DATAFLASHCARD_ON_CS0=y
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
++CONFIG_PROJECT="sdcard"
++CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
++# CONFIG_LOAD_64KB is not set
++# CONFIG_LOAD_1MB is not set
++# CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00000000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
++CONFIG_OS_IMAGE_NAME="u-boot.bin"
++CONFIG_IMG_ADDRESS="0x00000000"
++CONFIG_SETTING_ADDRESS="0x00000000"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00050000"
++CONFIG_JUMP_ADDR="0x26F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
++CONFIG_GLBDRV_ADDR="0x20068000"
++# CONFIG_LONG_TEST is not set
++CONFIG_DEBUG=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_LOUD is not set
++# CONFIG_DEBUG_VERY_LOUD is not set
++CONFIG_HW_INIT=y
++# CONFIG_USER_HW_INIT is not set
++CONFIG_THUMB=y
++CONFIG_SCLK=y
++# CONFIG_SX_AT91 is not set
++# CONFIG_RAW_AT91 is not set
+diff --git a/board/at91sam9xeek/at91sam9xedf_defconfig b/board/at91sam9xeek/at91sam9xedf_defconfig
+index 3663e94..f877300 100644
+--- a/board/at91sam9xeek/at91sam9xedf_defconfig
++++ b/board/at91sam9xeek/at91sam9xedf_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Aug 3 10:24:29 2010
++# Sun Oct 23 15:17:40 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9xeek"
++CONFIG_BOARDNAME="at91sam9xedf"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+@@ -18,6 +18,7 @@ CONFIG_AT91SAM9XEEK=y
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9XE"
+ CONFIG_BOARD="at91sam9xeek"
+ CONFIG_MACH_TYPE="0x44B"
+@@ -42,6 +43,8 @@ ALLOW_CPU_CLK_200MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -103,11 +106,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x23F00000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9xeek/at91sam9xedfc_defconfig b/board/at91sam9xeek/at91sam9xedfc_defconfig
+index fc83730..be8d40c 100644
+--- a/board/at91sam9xeek/at91sam9xedfc_defconfig
++++ b/board/at91sam9xeek/at91sam9xedfc_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Jan 12 22:00:49 2010
++# Sun Oct 23 15:17:40 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9xedfc"
+@@ -14,15 +14,17 @@ CONFIG_AT91SAM9XEEK=y
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9XE"
+ CONFIG_BOARD="at91sam9xeek"
+ CONFIG_MACH_TYPE="0x44B"
+ CONFIG_LINK_ADDR="0x000000"
+-CONFIG_TOP_OF_MEMORY="0x301000"
+-CONFIG_BOOTSTRAP_MAXSIZE="13000"
++CONFIG_DATA_SECTION_ADDR="0x304000"
++CONFIG_TOP_OF_MEMORY="0x306000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -41,6 +43,8 @@ ALLOW_CPU_CLK_200MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -52,6 +56,7 @@ ALLOW_DATAFLASH=y
+ # ALLOW_FLASH is not set
+ ALLOW_NANDFLASH=y
+ # ALLOW_SDCARD is not set
++# ALLOW_HSMCI is not set
+ # ALLOW_PSRAM is not set
+ # ALLOW_SDRAM_16BIT is not set
+ # CONFIG_RAM_32MB is not set
+@@ -63,6 +68,7 @@ CONFIG_DATAFLASH=y
+ # CONFIG_NANDFLASH is not set
+ # CONFIG_SDCARD is not set
+ CONFIG_MEMORY="dataflash"
++# CONFIG_SDCARD_HS is not set
+
+ #
+ # SPI configuration
+@@ -91,18 +97,29 @@ CONFIG_SPI_MODE_0=y
+ # CONFIG_SPI_MODE_2 is not set
+ # CONFIG_SPI_MODE_3 is not set
+ CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
+ CONFIG_PROJECT="dataflash"
+ CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_SETTING_ADDRESS="0x00408400"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
+-CONFIG_APP_CHECK=y
++CONFIG_ALT_JUMP_ADDR="0x20000000"
++CONFIG_GLBDRV_ADDR="0x23F00000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+-CONFIG_VERBOSE=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_LOUD is not set
++# CONFIG_DEBUG_VERY_LOUD is not set
+ CONFIG_HW_INIT=y
+ # CONFIG_USER_HW_INIT is not set
+ # CONFIG_THUMB is not set
+diff --git a/board/at91sam9xeek/at91sam9xeek_defconfig b/board/at91sam9xeek/at91sam9xeek_defconfig
+index 3663e94..1532060 100644
+--- a/board/at91sam9xeek/at91sam9xeek_defconfig
++++ b/board/at91sam9xeek/at91sam9xeek_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Tue Aug 3 10:24:29 2010
++# Sun Oct 23 15:17:40 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9xeek"
+@@ -18,6 +18,7 @@ CONFIG_AT91SAM9XEEK=y
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9XE"
+ CONFIG_BOARD="at91sam9xeek"
+ CONFIG_MACH_TYPE="0x44B"
+@@ -42,6 +43,8 @@ ALLOW_CPU_CLK_200MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -103,11 +106,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x23F00000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9xeek/at91sam9xenf_defconfig b/board/at91sam9xeek/at91sam9xenf_defconfig
+index fe43c96..7117912 100644
+--- a/board/at91sam9xeek/at91sam9xenf_defconfig
++++ b/board/at91sam9xeek/at91sam9xenf_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Wed Jul 14 10:49:18 2010
++# Sun Oct 23 15:17:41 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9xeek"
++CONFIG_BOARDNAME="at91sam9xenf"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+@@ -18,12 +18,13 @@ CONFIG_AT91SAM9XEEK=y
+ # CONFIG_AT91CAP9ADK is not set
+ # CONFIG_AT91CAP9STK is not set
+ # CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
+ CONFIG_CHIP="AT91SAM9XE"
+ CONFIG_BOARD="at91sam9xeek"
+ CONFIG_MACH_TYPE="0x44B"
+ CONFIG_LINK_ADDR="0x000000"
+-CONFIG_DATA_SECTION_ADDR="0x300000"
+-CONFIG_TOP_OF_MEMORY="0x301000"
++CONFIG_DATA_SECTION_ADDR="0x304000"
++CONFIG_TOP_OF_MEMORY="0x306000"
+ # CONFIG_CRYSTAL_12_000MHZ is not set
+ # CONFIG_CRYSTAL_16_000MHZ is not set
+ # CONFIG_CRYSTAL_16_36766MHZ is not set
+@@ -42,6 +43,8 @@ ALLOW_CPU_CLK_200MHZ=y
+ # CONFIG_BUS_SPEED_90MHZ is not set
+ CONFIG_BUS_SPEED_100MHZ=y
+ # CONFIG_BUS_SPEED_133MHZ is not set
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
+
+ #
+ # Memory selection
+@@ -85,11 +88,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00040000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00020000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
++CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x23F00000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0013-Update-version-to-3.1.1.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0013-Update-version-to-3.1.1.patch
new file mode 100644
index 0000000000..3f3df390e4
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0013-Update-version-to-3.1.1.patch
@@ -0,0 +1,26 @@
+From 47a30a31312141e9818161248234409a0f45ee4e Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Sun, 23 Oct 2011 15:48:57 +0200
+Subject: [PATCH 13/39] Update version to 3.1.1
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@telia.com>
+---
+ Makefile | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 2518d12..0b137e0 100644
+--- a/Makefile
++++ b/Makefile
+@@ -19,7 +19,7 @@ BINDIR:=$(TOPDIR)/binaries
+
+ DATE:=$(shell date +%Y%m%d)
+
+-VERSION:=3.1
++VERSION:=3.1.1
+
+
+ noconfig_targets:= menuconfig defconfig $(CONFIG) oldconfig
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0014-Do-not-track-patches.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0014-Do-not-track-patches.patch
new file mode 100644
index 0000000000..b7909fb78f
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0014-Do-not-track-patches.patch
@@ -0,0 +1,23 @@
+From a7422f74ce92a1f5f258a744a89e27ca35ed2f42 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Sun, 23 Oct 2011 15:56:23 +0200
+Subject: [PATCH 14/39] Do not track patches
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@telia.com>
+---
+ .gitignore | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/.gitignore b/.gitignore
+index 5cea63c..18bf9dc 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -23,4 +23,5 @@ tags
+ *.swp
+ install/*
+ *.rej
++*.patch
+
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0015-Makefile-Better-cleanup.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0015-Makefile-Better-cleanup.patch
new file mode 100644
index 0000000000..7ee8ea6a1a
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0015-Makefile-Better-cleanup.patch
@@ -0,0 +1,36 @@
+From 18425a2344e0a6aa18033e5f388cdaf2e46881b8 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Sun, 23 Oct 2011 15:57:12 +0200
+Subject: [PATCH 15/39] Makefile: Better cleanup
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@telia.com>
+---
+ Makefile | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 0b137e0..cdc8d21 100644
+--- a/Makefile
++++ b/Makefile
+@@ -19,7 +19,7 @@ BINDIR:=$(TOPDIR)/binaries
+
+ DATE:=$(shell date +%Y%m%d)
+
+-VERSION:=3.1.1
++VERSION:=3.1
+
+
+ noconfig_targets:= menuconfig defconfig $(CONFIG) oldconfig
+@@ -430,6 +430,9 @@ distclean: clean config-clean
+ rm -f .installed
+ rm -f ..*.tmp
+ rm -f .configured
++ rm -fr result
++ rm -fr *.patch
++ rm -fr patches
+
+ mrproper: distclean
+ rm -fr $(BINDIR)
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0016-Update-version-to-3.1.1.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0016-Update-version-to-3.1.1.patch
new file mode 100644
index 0000000000..0dcdef1dec
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0016-Update-version-to-3.1.1.patch
@@ -0,0 +1,26 @@
+From ae1d12e11a2c1386c534c2c7d957ece741ac4893 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Sun, 23 Oct 2011 15:57:39 +0200
+Subject: [PATCH 16/39] Update version to 3.1.1
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@telia.com>
+---
+ Makefile | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index cdc8d21..c57e42b 100644
+--- a/Makefile
++++ b/Makefile
+@@ -19,7 +19,7 @@ BINDIR:=$(TOPDIR)/binaries
+
+ DATE:=$(shell date +%Y%m%d)
+
+-VERSION:=3.1
++VERSION:=3.1.1
+
+
+ noconfig_targets:= menuconfig defconfig $(CONFIG) oldconfig
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0017-all-Clean-up-include-mess.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0017-all-Clean-up-include-mess.patch
new file mode 100644
index 0000000000..48f35a1e06
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0017-all-Clean-up-include-mess.patch
@@ -0,0 +1,1113 @@
+From feb9442d6ebf5ff4f11b893b4f13b78571c2c1e5 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Sun, 23 Oct 2011 22:15:05 +0200
+Subject: [PATCH 17/39] all: Clean up include mess.
+
+autoconf.h:
+ Link to the configuration files created by KConfig.
+ A lot of the -D<defines> can now be removes,
+ since they are in this file.
+
+common.h:
+ #include <stdarg.h>
+ #include "autoconf.h"
+ #include "integer.h"
+ #include "part.h"
+ #include "main.h"
+ #include "debug.h"
+ #include "dbgu.h"
+ #include "string.h"
+
+board-support.h:
+ #include "common.h"
+ #include "gpio.h"
+ #include "pmc.h"
+ #include "rstc.h"
+ #include "memory.h"
+ #include "matrix.h"
+
+ The board file should normally only include this file.
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@telia.com>
+---
+ board/afeb9260/afeb9260.c | 8 +----
+ board/at91cap9adk/at91cap9adk.c | 8 +----
+ board/at91cap9stk/at91cap9stk.c | 8 +----
+ board/at91sam9260ek/at91sam9260ek.c | 9 +-----
+ board/at91sam9261ek/at91sam9261ek.c | 9 +-----
+ board/at91sam9263ek/at91sam9263ek.c | 11 +------
+ board/at91sam9g10ek/at91sam9g10ek.c | 9 +-----
+ board/at91sam9g20ek/at91sam9g20ek.c | 9 +-----
+ board/at91sam9g45ek/at91sam9g45ek.c | 16 +---------
+ board/at91sam9g45ekes/at91sam9g45ekes.c | 16 +---------
+ board/at91sam9m10ek/at91sam9m10ek.c | 16 +---------
+ board/at91sam9m10ekes/at91sam9m10ekes.c | 17 +---------
+ board/at91sam9rlek/at91sam9rlek.c | 9 +-----
+ board/at91sam9x5ek/at91sam9x5ek.c | 13 +-------
+ board/at91sam9xeek/at91sam9xeek.c | 9 +-----
+ driver/MEDSdcard.c | 6 +---
+ driver/aic.c | 3 +-
+ driver/bitops.c | 3 +-
+ driver/dataflash.c | 4 +--
+ driver/dbgu.c | 4 +--
+ driver/ddr2.c | 5 +--
+ driver/ddramc.c | 7 +---
+ driver/debug.c | 7 +---
+ driver/diskio.c | 4 +--
+ driver/ds24xx.c | 11 +------
+ driver/ff.c | 13 +-------
+ driver/flash.c | 8 +---
+ driver/gpio.c | 5 +--
+ driver/linux_loader.c | 10 +-----
+ driver/mci.c | 4 +--
+ driver/mci_hs.c | 4 +--
+ driver/nandflash.c | 5 +--
+ driver/pio.c | 4 +-
+ driver/pmc.c | 5 +--
+ driver/sddrc.c | 5 +--
+ driver/sdmmc_mci.c | 6 +---
+ driver/sdramc.c | 3 +-
+ driver/wince_loader.c | 4 +--
+ include/autoconf.h | 1 +
+ include/board-support.h | 45 ++++++++++++++++++++++++++
+ include/common.h | 52 +++++++++++++++++++++++++++++++
+ include/main.h | 2 -
+ include/memory.h | 5 +++
+ include/string.h | 48 ++++++++++++++++++++++++++++
+ lib/string.c | 35 ++++++++++++++++++++-
+ main.c | 5 +--
+ 46 files changed, 232 insertions(+), 258 deletions(-)
+ create mode 120000 include/autoconf.h
+ create mode 100644 include/board-support.h
+ create mode 100644 include/common.h
+ create mode 100644 include/string.h
+
+diff --git a/board/afeb9260/afeb9260.c b/board/afeb9260/afeb9260.c
+index 0fed2b2..986295d 100644
+--- a/board/afeb9260/afeb9260.c
++++ b/board/afeb9260/afeb9260.c
+@@ -31,13 +31,7 @@
+ * ODi Nov 9th : dstp #3507 "Bad PIO descriptors in at91samxxxek.c"
+ *-----------------------------------------------------------------------------
+ */
+-#include "part.h"
+-#include "main.h"
+-#include "gpio.h"
+-#include "pmc.h"
+-#include "rstc.h"
+-#include "debug.h"
+-#include "memory.h"
++#include "board-support.h"
+
+ #ifndef CONFIG_THUMB
+ static inline unsigned int get_cp15(void)
+diff --git a/board/at91cap9adk/at91cap9adk.c b/board/at91cap9adk/at91cap9adk.c
+index 9a5fceb..65c339b 100644
+--- a/board/at91cap9adk/at91cap9adk.c
++++ b/board/at91cap9adk/at91cap9adk.c
+@@ -31,13 +31,7 @@
+ * Creation :
+ *-----------------------------------------------------------------------------
+ */
+-#include "part.h"
+-#include "gpio.h"
+-#include "pmc.h"
+-#include "rstc.h"
+-#include "debug.h"
+-#include "memory.h"
+-#include "main.h"
++#include "board-support.h"
+
+ #ifndef CONFIG_THUMB
+ static inline unsigned int get_cp15(void)
+diff --git a/board/at91cap9stk/at91cap9stk.c b/board/at91cap9stk/at91cap9stk.c
+index 9a5fceb..65c339b 100644
+--- a/board/at91cap9stk/at91cap9stk.c
++++ b/board/at91cap9stk/at91cap9stk.c
+@@ -31,13 +31,7 @@
+ * Creation :
+ *-----------------------------------------------------------------------------
+ */
+-#include "part.h"
+-#include "gpio.h"
+-#include "pmc.h"
+-#include "rstc.h"
+-#include "debug.h"
+-#include "memory.h"
+-#include "main.h"
++#include "board-support.h"
+
+ #ifndef CONFIG_THUMB
+ static inline unsigned int get_cp15(void)
+diff --git a/board/at91sam9260ek/at91sam9260ek.c b/board/at91sam9260ek/at91sam9260ek.c
+index 0ca09d7..4443ed2 100644
+--- a/board/at91sam9260ek/at91sam9260ek.c
++++ b/board/at91sam9260ek/at91sam9260ek.c
+@@ -35,14 +35,7 @@
+
+ #else
+
+-#include "part.h"
+-#include "main.h"
+-#include "gpio.h"
+-#include "pmc.h"
+-#include "rstc.h"
+-#include "dbgu.h"
+-#include "debug.h"
+-#include "memory.h"
++#include "board-support.h"
+
+ int get_cp15(void);
+
+diff --git a/board/at91sam9261ek/at91sam9261ek.c b/board/at91sam9261ek/at91sam9261ek.c
+index 845306a..41f00c1 100644
+--- a/board/at91sam9261ek/at91sam9261ek.c
++++ b/board/at91sam9261ek/at91sam9261ek.c
+@@ -35,14 +35,7 @@
+
+ #else
+
+-#include "part.h"
+-#include "main.h"
+-#include "gpio.h"
+-#include "pmc.h"
+-#include "rstc.h"
+-#include "debug.h"
+-#include "dbgu.h"
+-#include "memory.h"
++#include "board-support.h"
+
+ int get_cp15(void);
+
+diff --git a/board/at91sam9263ek/at91sam9263ek.c b/board/at91sam9263ek/at91sam9263ek.c
+index dd965c0..485880d 100644
+--- a/board/at91sam9263ek/at91sam9263ek.c
++++ b/board/at91sam9263ek/at91sam9263ek.c
+@@ -33,16 +33,7 @@
+
+ #else
+
+-#include "part.h"
+-#include "main.h"
+-#include "gpio.h"
+-#include "pmc.h"
+-#include "rstc.h"
+-#include "debug.h"
+-#include "dbgu.h"
+-#include "memory.h"
+-#include "psram.h"
+-#include "matrix.h"
++#include "board-support.h"
+
+ int get_cp15(void);
+
+diff --git a/board/at91sam9g10ek/at91sam9g10ek.c b/board/at91sam9g10ek/at91sam9g10ek.c
+index cf1e4ef..7d4923f 100644
+--- a/board/at91sam9g10ek/at91sam9g10ek.c
++++ b/board/at91sam9g10ek/at91sam9g10ek.c
+@@ -34,14 +34,7 @@
+
+ #else
+
+-#include "part.h"
+-#include "main.h"
+-#include "gpio.h"
+-#include "pmc.h"
+-#include "rstc.h"
+-#include "dbgu.h"
+-#include "debug.h"
+-#include "memory.h"
++#include "board-support.h"
+
+ int get_cp15(void);
+
+diff --git a/board/at91sam9g20ek/at91sam9g20ek.c b/board/at91sam9g20ek/at91sam9g20ek.c
+index b49ea16..90cd1e0 100644
+--- a/board/at91sam9g20ek/at91sam9g20ek.c
++++ b/board/at91sam9g20ek/at91sam9g20ek.c
+@@ -34,14 +34,7 @@
+
+ #else
+
+-#include "part.h"
+-#include "main.h"
+-#include "gpio.h"
+-#include "pmc.h"
+-#include "rstc.h"
+-#include "dbgu.h"
+-#include "debug.h"
+-#include "memory.h"
++#include "board-support.h"
+
+ int get_cp15(void);
+
+diff --git a/board/at91sam9g45ek/at91sam9g45ek.c b/board/at91sam9g45ek/at91sam9g45ek.c
+index 5a5ec9e..9fb68f3 100644
+--- a/board/at91sam9g45ek/at91sam9g45ek.c
++++ b/board/at91sam9g45ek/at91sam9g45ek.c
+@@ -34,21 +34,7 @@
+
+ #else
+
+-#include "part.h"
+-#include "gpio.h"
+-#include "pmc.h"
+-#include "rstc.h"
+-#include "dbgu.h"
+-#include "debug.h"
+-#include "main.h"
+-#include "ddramc.h"
+-#include "gpio.h"
+-#ifdef CONFIG_NANDFLASH
+-#include "nandflash.h"
+-#endif
+-#ifdef CONFIG_DATAFLASH
+-#include "dataflash.h"
+-#endif
++#include "board-support.h"
+
+ int get_cp15(void);
+
+diff --git a/board/at91sam9g45ekes/at91sam9g45ekes.c b/board/at91sam9g45ekes/at91sam9g45ekes.c
+index e29e7ff..450b369 100644
+--- a/board/at91sam9g45ekes/at91sam9g45ekes.c
++++ b/board/at91sam9g45ekes/at91sam9g45ekes.c
+@@ -34,21 +34,7 @@
+
+ #else
+
+-#include "part.h"
+-#include "gpio.h"
+-#include "pmc.h"
+-#include "rstc.h"
+-#include "dbgu.h"
+-#include "debug.h"
+-#include "main.h"
+-#include "ddramc.h"
+-#include "gpio.h"
+-#ifdef CONFIG_NANDFLASH
+-#include "nandflash.h"
+-#endif
+-#ifdef CONFIG_DATAFLASH
+-#include "dataflash.h"
+-#endif
++#include "board-support.h"
+
+ int get_cp15(void);
+
+diff --git a/board/at91sam9m10ek/at91sam9m10ek.c b/board/at91sam9m10ek/at91sam9m10ek.c
+index efef653..8f0d0b0 100644
+--- a/board/at91sam9m10ek/at91sam9m10ek.c
++++ b/board/at91sam9m10ek/at91sam9m10ek.c
+@@ -34,21 +34,7 @@
+
+ #else
+
+-#include "part.h"
+-#include "gpio.h"
+-#include "pmc.h"
+-#include "rstc.h"
+-#include "dbgu.h"
+-#include "debug.h"
+-#include "main.h"
+-#include "ddramc.h"
+-#include "gpio.h"
+-#ifdef CONFIG_NANDFLASH
+-#include "nandflash.h"
+-#endif
+-#ifdef CONFIG_DATAFLASH
+-#include "dataflash.h"
+-#endif
++#include "board-support.h"
+
+ int get_cp15(void);
+
+diff --git a/board/at91sam9m10ekes/at91sam9m10ekes.c b/board/at91sam9m10ekes/at91sam9m10ekes.c
+index 71da109..ca25fa5 100644
+--- a/board/at91sam9m10ekes/at91sam9m10ekes.c
++++ b/board/at91sam9m10ekes/at91sam9m10ekes.c
+@@ -33,22 +33,7 @@
+ #if defined(WINCE) && !defined(CONFIG_AT91SAM9M10EKES)
+
+ #else
+-
+-#include "part.h"
+-#include "gpio.h"
+-#include "pmc.h"
+-#include "rstc.h"
+-#include "dbgu.h"
+-#include "debug.h"
+-#include "main.h"
+-#include "ddramc.h"
+-#include "gpio.h"
+-#ifdef CONFIG_NANDFLASH
+-#include "nandflash.h"
+-#endif
+-#ifdef CONFIG_DATAFLASH
+-#include "dataflash.h"
+-#endif
++#include "board-support.h"
+
+ int get_cp15(void);
+
+diff --git a/board/at91sam9rlek/at91sam9rlek.c b/board/at91sam9rlek/at91sam9rlek.c
+index 59ff5bb..749d44d 100644
+--- a/board/at91sam9rlek/at91sam9rlek.c
++++ b/board/at91sam9rlek/at91sam9rlek.c
+@@ -34,14 +34,7 @@
+
+ #else
+
+-#include "part.h"
+-#include "main.h"
+-#include "gpio.h"
+-#include "dbgu.h"
+-#include "pmc.h"
+-#include "rstc.h"
+-#include "debug.h"
+-#include "memory.h"
++#include "board-support.h"
+
+ int get_cp15(void);
+
+diff --git a/board/at91sam9x5ek/at91sam9x5ek.c b/board/at91sam9x5ek/at91sam9x5ek.c
+index 35f242f..7fbbdd1 100644
+--- a/board/at91sam9x5ek/at91sam9x5ek.c
++++ b/board/at91sam9x5ek/at91sam9x5ek.c
+@@ -34,18 +34,7 @@
+
+ #else
+
+-#include "part.h"
+-#include "gpio.h"
+-#include "pmc.h"
+-#include "rstc.h"
+-#include "dbgu.h"
+-#include "debug.h"
+-#include "main.h"
+-#include "ddramc.h"
+-
+-#ifdef CONFIG_NANDFLASH
+-#include "nandflash.h"
+-#endif
++#include "board-support.h"
+
+ #include "onewire_info.h"
+
+diff --git a/board/at91sam9xeek/at91sam9xeek.c b/board/at91sam9xeek/at91sam9xeek.c
+index 3205934..065325e 100644
+--- a/board/at91sam9xeek/at91sam9xeek.c
++++ b/board/at91sam9xeek/at91sam9xeek.c
+@@ -30,14 +30,7 @@
+ * Creation : NFe Feb 2nd 2007
+ *-----------------------------------------------------------------------------
+ */
+-#include "part.h"
+-#include "main.h"
+-#include "gpio.h"
+-#include "pmc.h"
+-#include "rstc.h"
+-#include "dbgu.h"
+-#include "debug.h"
+-#include "memory.h"
++#include "board-support.h"
+
+ #ifndef CONFIG_THUMB
+ static inline unsigned int get_cp15(void)
+diff --git a/driver/MEDSdcard.c b/driver/MEDSdcard.c
+index 472797f..4158e9d 100644
+--- a/driver/MEDSdcard.c
++++ b/driver/MEDSdcard.c
+@@ -32,11 +32,9 @@
+ //------------------------------------------------------------------------------
+ // Headers
+ //------------------------------------------------------------------------------
+-#include "part.h"
++#include "common.h"
+ #include "MEDSdcard.h"
+ #include "fatfs_config.h"
+-#include "dbgu.h"
+-#include "debug.h"
+
+ #include "irq.h"
+ #include "pio.h"
+@@ -46,8 +44,6 @@
+ #include "dmad.h"
+ #endif
+
+-#include <string.h>
+-
+ extern unsigned int altboot;
+
+ #if defined(CONFIG_DUAL_BOOT)
+diff --git a/driver/aic.c b/driver/aic.c
+index 457eb90..928f40e 100644
+--- a/driver/aic.c
++++ b/driver/aic.c
+@@ -31,7 +31,8 @@
+ // Headers
+ //------------------------------------------------------------------------------
+
+-#include <board.h>
++//#include <board.h>
++#include "common.h"
+ #include "irq.h"
+
+ #ifndef AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL
+diff --git a/driver/bitops.c b/driver/bitops.c
+index b989ac8..2ad6b76 100644
+--- a/driver/bitops.c
++++ b/driver/bitops.c
+@@ -31,8 +31,7 @@
+ * ODi Nov 9th : dstp #3507 "Bad PIO descriptors in at91samxxxek.c"
+ *-----------------------------------------------------------------------------
+ */
+-#include "part.h"
+-#include "main.h"
++#include "common.h"
+
+ void sbit(unsigned int bit, unsigned int adr)
+ {
+diff --git a/driver/dataflash.c b/driver/dataflash.c
+index 3c5a7ae..6028fe4 100644
+--- a/driver/dataflash.c
++++ b/driver/dataflash.c
+@@ -31,11 +31,9 @@
+ *---------------------------------------------------------------------------
+ */
+
+-#include "part.h"
++#include "common.h"
+ //#include "spi.h"
+-#include "main.h"
+ #include "dataflash.h"
+-#include "debug.h"
+ #include <stdlib.h>
+
+ #if defined(CONFIG_DATAFLASH) || defined(CONFIG_DATAFLASHCARD)
+diff --git a/driver/dbgu.c b/driver/dbgu.c
+index 3a43a38..545f1d5 100644
+--- a/driver/dbgu.c
++++ b/driver/dbgu.c
+@@ -30,9 +30,7 @@
+ * Creation : Hong Apr 6th 2010
+ *-----------------------------------------------------------------------------
+ */
+-#include "part.h"
+-#include "main.h"
+-#include "dbgu.h"
++#include "common.h"
+
+ #ifdef CONFIG_DEBUG
+ /* Write DBGU register */
+diff --git a/driver/ddr2.c b/driver/ddr2.c
+index 749ed70..4ed0423 100644
+--- a/driver/ddr2.c
++++ b/driver/ddr2.c
+@@ -30,9 +30,8 @@
+ * Creation :
+ *-----------------------------------------------------------------------------
+ */
+-#include "../include/ddr2.h"
+-#include "../include/part.h"
+-#include "../include/main.h"
++#include "common.h"
++#include "ddr2.h"
+
+ #ifdef CONFIG_DDR2
+
+diff --git a/driver/ddramc.c b/driver/ddramc.c
+index 08eac28..35cdacb 100644
+--- a/driver/ddramc.c
++++ b/driver/ddramc.c
+@@ -31,11 +31,8 @@
+ * Creation :
+ *-----------------------------------------------------------------------------
+ */
+-#include "dbgu.h"
+-#include "debug.h"
+-#include "../include/part.h"
+-#include "../include/main.h"
+-#include "../include/ddramc.h"
++#include "common.h"
++#include "ddramc.h"
+
+ #ifdef CONFIG_DDR2
+
+diff --git a/driver/debug.c b/driver/debug.c
+index 4694703..d72de27 100644
+--- a/driver/debug.c
++++ b/driver/debug.c
+@@ -30,12 +30,7 @@
+ * Creation : ODi Apr 19th 2006
+ *-----------------------------------------------------------------------------
+ */
+-#include "part.h"
+-#include "main.h"
+-#include "dbgu.h"
+-#include "debug.h"
+-#include <stdio.h>
+-#include <stdarg.h>
++#include "common.h"
+
+ #ifdef CONFIG_DEBUG
+
+diff --git a/driver/diskio.c b/driver/diskio.c
+index ffd8492..58381dc 100644
+--- a/driver/diskio.c
++++ b/driver/diskio.c
+@@ -5,11 +5,9 @@
+ /* disk I/O modules and attach it to FatFs module with common interface. */
+ /*-----------------------------------------------------------------------*/
+
++#include "common.h"
+ #include "diskio.h"
+ #include "Media.h"
+-#include "part.h"
+-#include <string.h>
+-#include <stdio.h>
+ #include "integer.h"
+ #include "fatfs_config.h"
+
+diff --git a/driver/ds24xx.c b/driver/ds24xx.c
+index 834ecc8..aea808c 100644
+--- a/driver/ds24xx.c
++++ b/driver/ds24xx.c
+@@ -27,11 +27,9 @@
+ * ----------------------------------------------------------------------------
+ */
+
+-#include "part.h"
++#include "common.h"
+ #include "gpio.h"
+ #include "pmc.h"
+-#include "main.h"
+-#include "debug.h"
+ #include "onewire_info.h"
+
+ #define ROM_COMMAND_READ 0x33
+@@ -85,13 +83,6 @@
+ #define CM_REV_MASK 0x1F
+ #define CM_REV_OFFSET 0
+
+-size_t strlen(const char *str);
+-extern char *strcpy(char *dst, const char *src);
+-extern int strcmp(const char *p1, const char *p2);
+-extern int strncmp(const char *p1, const char *p2, size_t cnt);
+-extern void *memset(void *dst, int val, int cnt);
+-extern void *memcpy(void *dst, const void *src, int cnt);
+-
+ static unsigned int sn = 0xffffffff;
+ static unsigned int rev = 0xffffffff;
+
+diff --git a/driver/ff.c b/driver/ff.c
+index 8af3cbc..8200b14 100644
+--- a/driver/ff.c
++++ b/driver/ff.c
+@@ -70,11 +70,9 @@
+ / Added proper case conversion to extended char.
+ /---------------------------------------------------------------------------*/
+
++#include "common.h"
+ #include "ff.h" /* FatFs configurations and declarations */
+ #include "diskio.h" /* Declarations of low level disk I/O functions */
+-#include "dbgu.h"
+-#include "debug.h"
+-#include "part.h"
+ /*--------------------------------------------------------------------------
+
+ Module Private Definitions
+@@ -152,15 +150,6 @@ WORD LfnBuf[_MAX_LFN + 1];
+ /* String functions */
+ /*-----------------------------------------------------------------------*/
+
+-/* Copy memory to memory */
+-extern void* memcpy(void *dst, const void *src, int cnt);
+-
+-/* Fill memory */
+-extern void* memset(void *dst, int val, int cnt);
+-
+-/* Compare memory to memory */
+-extern int memcmp(const void *dst, const void *src, int cnt);
+-
+ /* Check if chr is contained in the string */
+ static
+ int chk_chr(const char *str, int chr)
+diff --git a/driver/flash.c b/driver/flash.c
+index 3629537..00d5086 100644
+--- a/driver/flash.c
++++ b/driver/flash.c
+@@ -32,15 +32,11 @@
+ *---------------------------------------------------------------------------
+ */
+
+-#include "../include/part.h"
+-#include "../include/main.h"
+-#include "../include/flash.h"
+-#include <stdlib.h>
++#include "common.h"
++#include "flash.h"
+
+ #ifdef CONFIG_FLASH
+
+-extern void *memcpy(void *out, void *in, size_t length);
+-
+ /*------------------------------------------------------------------------------*/
+ /* \fn load_df */
+ /* \brief This function loads norflash content to specified address */
+diff --git a/driver/gpio.c b/driver/gpio.c
+index c2c01f9..5b98870 100644
+--- a/driver/gpio.c
++++ b/driver/gpio.c
+@@ -30,10 +30,9 @@
+ * Creation : ODi Apr 19th 2006
+ *-----------------------------------------------------------------------------
+ */
+-#include "part.h"
+-#include "main.h"
++
++#include "common.h"
+ #include "gpio.h"
+-#include "debug.h"
+
+ #define EINVAL 1 /* Error code returned when the PIN is unknown */
+
+diff --git a/driver/linux_loader.c b/driver/linux_loader.c
+index 819a6f9..f7711ca 100644
+--- a/driver/linux_loader.c
++++ b/driver/linux_loader.c
+@@ -1,6 +1,4 @@
+-#include "main.h"
+-#include "debug.h"
+-#include "dbgu.h"
++#include "common.h"
+ #include "linux_tags.h"
+ #include "dataflash.h"
+ #include "nandflash.h"
+@@ -129,12 +127,6 @@
+ #define BIN_LOAD_ADDR (OS_MEM_BANK + 0x2000000)
+ #define IMAGE_MAGIC 0x27051956
+
+-size_t strlen(const char *str);
+-
+-char *strcpy(char *dst, const char *src);
+-
+-void *memcpy(void *dst, const void *src, size_t cnt);
+-
+ #if 0
+ #ifndef CONFIG_THUMB
+ static inline unsigned int get_cp15(void)
+diff --git a/driver/mci.c b/driver/mci.c
+index 9e52024..ea1fc5e 100644
+--- a/driver/mci.c
++++ b/driver/mci.c
+@@ -33,10 +33,8 @@
+ // Headers
+ //------------------------------------------------------------------------------
+
++#include "common.h"
+ #include "mci.h"
+-#include "part.h"
+-#include "dbgu.h"
+-#include "debug.h"
+ //------------------------------------------------------------------------------
+ // Local constants
+ //------------------------------------------------------------------------------
+diff --git a/driver/mci_hs.c b/driver/mci_hs.c
+index 800e4e1..25a13e3 100644
+--- a/driver/mci_hs.c
++++ b/driver/mci_hs.c
+@@ -33,14 +33,12 @@
+
+ #if defined(CONFIG_SDCARD_HS)
+
++#include "common.h"
+ #include "mci_hs.h"
+
+ #include "dmad.h"
+ #include "dma.h"
+
+-#include "dbgu.h"
+-#include "debug.h"
+-
+ //------------------------------------------------------------------------------
+ // Local constants
+ //------------------------------------------------------------------------------
+diff --git a/driver/nandflash.c b/driver/nandflash.c
+index 7bada9b..ea7068e 100644
+--- a/driver/nandflash.c
++++ b/driver/nandflash.c
+@@ -30,10 +30,7 @@
+ * Creation : NLe Sep 28th 2006
+ *-----------------------------------------------------------------------------
+ */
+-#include <stdlib.h>
+-#include "part.h"
+-#include "main.h"
+-#include "debug.h"
++#include "common.h"
+
+ #ifdef CONFIG_NANDFLASH
+
+diff --git a/driver/pio.c b/driver/pio.c
+index 686e6a0..6cbbce3 100644
+--- a/driver/pio.c
++++ b/driver/pio.c
+@@ -30,9 +30,9 @@
+ //------------------------------------------------------------------------------
+ // Headers
+ //------------------------------------------------------------------------------
+-#include "part.h"
++#include "common.h"
+ #include "pio.h"
+-#include "debug.h"
++
+
+ //------------------------------------------------------------------------------
+ // Local Functions
+diff --git a/driver/pmc.c b/driver/pmc.c
+index 13d2195..edf1314 100644
+--- a/driver/pmc.c
++++ b/driver/pmc.c
+@@ -30,9 +30,8 @@
+ * Creation : ODi Apr 24th 2006
+ *-----------------------------------------------------------------------------
+ */
+-#include "../include/pmc.h"
+-#include "../include/part.h"
+-#include "../include/main.h"
++#include "common.h"
++#include "pmc.h"
+
+ /* Write PMC register */
+ static inline void write_pmc(unsigned int offset, const unsigned int value)
+diff --git a/driver/sddrc.c b/driver/sddrc.c
+index 367b408..06ed202 100644
+--- a/driver/sddrc.c
++++ b/driver/sddrc.c
+@@ -31,9 +31,8 @@
+ * Creation :
+ *-----------------------------------------------------------------------------
+ */
+-#include "../include/sddrc.h"
+-#include "../include/part.h"
+-#include "../include/main.h"
++#include "common.h"
++#include "sddrc.h"
+
+ #ifdef CONFIG_SDDRC
+
+diff --git a/driver/sdmmc_mci.c b/driver/sdmmc_mci.c
+index b9544d3..7451ab1 100644
+--- a/driver/sdmmc_mci.c
++++ b/driver/sdmmc_mci.c
+@@ -33,15 +33,11 @@
+ // Headers
+ //------------------------------------------------------------------------------
+
++#include "common.h"
+ #include "sdmmc_mci.h"
+
+-#include "dbgu.h"
+-#include "debug.h"
+-
+ #include "pio.h"
+
+-#include <string.h>
+-
+ //------------------------------------------------------------------------------
+ // Global variables
+ //------------------------------------------------------------------------------
+diff --git a/driver/sdramc.c b/driver/sdramc.c
+index c60d88b..0b0a00e 100644
+--- a/driver/sdramc.c
++++ b/driver/sdramc.c
+@@ -30,9 +30,8 @@
+ * Creation : NLe Jul 11th 2006
+ *-----------------------------------------------------------------------------
+ */
++#include "common.h"
+ #include "sdramc.h"
+-#include "part.h"
+-#include "main.h"
+
+ #ifdef CONFIG_SDRAM
+
+diff --git a/driver/wince_loader.c b/driver/wince_loader.c
+index 6c7b94e..c371e93 100644
+--- a/driver/wince_loader.c
++++ b/driver/wince_loader.c
+@@ -1,6 +1,4 @@
+-#include "main.h"
+-#include "debug.h"
+-#include "dbgu.h"
++#include "common.h"
+ #include "dataflash.h"
+ #include "nandflash.h"
+
+diff --git a/include/autoconf.h b/include/autoconf.h
+new file mode 120000
+index 0000000..925f804
+--- /dev/null
++++ b/include/autoconf.h
+@@ -0,0 +1 @@
++../config/at91bootstrap-config/autoconf.h
+\ No newline at end of file
+diff --git a/include/board-support.h b/include/board-support.h
+new file mode 100644
+index 0000000..9859df7
+--- /dev/null
++++ b/include/board-support.h
+@@ -0,0 +1,45 @@
++/* ----------------------------------------------------------------------------
++ * ATMEL Microcontroller Software Support - ROUSSET -
++ * ----------------------------------------------------------------------------
++ * Copyright (c) 2011, Atmel Corporation
++
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions are met:
++ *
++ * - Redistributions of source code must retain the above copyright notice,
++ * this list of conditions and the disclaimer below.
++ *
++ * Atmel's name may not be used to endorse or promote products derived from
++ * this software without specific prior written permission.
++ *
++ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
++ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
++ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
++ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
++ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
++ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ----------------------------------------------------------------------------
++ * File Name : board-support.h
++ * Object :
++ * Creation : USa Oct 23 2011
++ *-----------------------------------------------------------------------------
++ */
++
++#ifndef _BOARD_SUPPORT_H
++#define _BOARD_SUPPORT_H
++
++#include "common.h"
++#include "gpio.h"
++#include "pmc.h"
++#include "rstc.h"
++#include "memory.h"
++#include "matrix.h"
++
++#endif
++
+diff --git a/include/common.h b/include/common.h
+new file mode 100644
+index 0000000..54ff699
+--- /dev/null
++++ b/include/common.h
+@@ -0,0 +1,52 @@
++/* ----------------------------------------------------------------------------
++ * ATMEL Microcontroller Software Support - ROUSSET -
++ * ----------------------------------------------------------------------------
++ * Copyright (c) 2010, Atmel Corporation
++
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions are met:
++ *
++ * - Redistributions of source code must retain the above copyright notice,
++ * this list of conditions and the disclaiimer below.
++ *
++ * Atmel's name may not be used to endorse or promote products derived from
++ * this software without specific prior written permission.
++ *
++ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
++ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
++ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
++ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
++ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
++ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ----------------------------------------------------------------------------
++ * File Name : common.h
++ * Object :
++ * Creation : USa 2010-02-02
++ *-----------------------------------------------------------------------------
++ */
++
++#ifndef _COMMON_H
++#define _COMMON_H
++
++#if 0
++#include <stdio.h>
++#include <stdlib.h>
++#endif
++
++#include <stdarg.h>
++#include "autoconf.h"
++#include "integer.h"
++#include "part.h"
++#include "main.h"
++#include "debug.h"
++#include "dbgu.h"
++#include "string.h"
++
++#endif /* _COMMON_H */
++
+diff --git a/include/main.h b/include/main.h
+index ea3a220..065ea71 100644
+--- a/include/main.h
++++ b/include/main.h
+@@ -35,8 +35,6 @@
+ #define _MAIN_H
+ #include <stdlib.h>
+
+-typedef enum _BOOL { FALSE, TRUE } BOOL;
+-
+ #ifndef inline
+ #define inline __inline
+ #endif
+diff --git a/include/memory.h b/include/memory.h
+index 10de9cd..c566614 100644
+--- a/include/memory.h
++++ b/include/memory.h
+@@ -6,6 +6,10 @@
+ #endif
+ #ifdef CONFIG_DDR2
+ #include "ddr2.h"
++#include "ddramc.h"
++#endif
++#ifdef CONFIG_PSRAM
++#include "psram.h"
+ #endif
+ #ifdef CONFIG_NANDFLASH
+ #include "nandflash.h"
+@@ -16,3 +20,4 @@
+ #ifdef CONFIG_FLASH
+ #include "flash.h"
+ #endif
++
+diff --git a/include/string.h b/include/string.h
+new file mode 100644
+index 0000000..4702acd
+--- /dev/null
++++ b/include/string.h
+@@ -0,0 +1,48 @@
++/* ----------------------------------------------------------------------------
++ * ATMEL Microcontroller Software Support - ROUSSET -
++ * ----------------------------------------------------------------------------
++ * Copyright (c) 2011, Atmel Corporation
++
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions are met:
++ *
++ * - Redistributions of source code must retain the above copyright notice,
++ * this list of conditions and the disclaiimer below.
++ *
++ * Atmel's name may not be used to endorse or promote products derived from
++ * this software without specific prior written permission.
++ *
++ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
++ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
++ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
++ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
++ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
++ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ----------------------------------------------------------------------------
++ * File Name : string.h
++ * Object :
++ * Creation : USa 2010-02-02
++ *-----------------------------------------------------------------------------
++ */
++
++#ifndef _STRING_H
++#define _STRING_H
++
++typedef unsigned int size_t;
++
++void *memcpy(void *dst, const void *src, int cnt);
++void *memset(void *dst, int val, int cnt);
++int memcmp(const void *dst, const void *src, size_t cnt);
++size_t strlen(const char *str);
++char *strcpy(char *dst, const char *src);
++int strcmp(const char *p1, const char *p2);
++int strncmp(const char *p1, const char *p2, size_t cnt);
++
++#endif /* _STRING_H */
++
+diff --git a/lib/string.c b/lib/string.c
+index 32a6931..ab4aad0 100644
+--- a/lib/string.c
++++ b/lib/string.c
+@@ -1,4 +1,37 @@
+-typedef unsigned int size_t;
++/* ----------------------------------------------------------------------------
++ * ATMEL Microcontroller Software Support - ROUSSET -
++ * ----------------------------------------------------------------------------
++ * Copyright (c) 2011, Atmel Corporation
++
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions are met:
++ *
++ * - Redistributions of source code must retain the above copyright notice,
++ * this list of conditions and the disclaiimer below.
++ *
++ * Atmel's name may not be used to endorse or promote products derived from
++ * this software without specific prior written permission.
++ *
++ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
++ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
++ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
++ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
++ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
++ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ----------------------------------------------------------------------------
++ * File Name : string.c
++ * Object :
++ * Creation : USa 2011-10-23
++ *-----------------------------------------------------------------------------
++ */
++
++#include "string.h"
+
+ /* Copy memory to memory */
+ void *memcpy(void *dst, const void *src, int cnt)
+diff --git a/main.c b/main.c
+index cd1d540..4f86e84 100644
+--- a/main.c
++++ b/main.c
+@@ -30,10 +30,7 @@
+ * Creation : ODi Apr 19th 2006
+ *-----------------------------------------------------------------------------
+ */
+-#include "part.h"
+-#include "main.h"
+-#include "dbgu.h"
+-#include "debug.h"
++#include "common.h"
+ #include "dataflash.h"
+ #include "gpio.h"
+ #include "nandflash.h"
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0018-Makefile-Revert-change-which-broke-MAKEALL.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0018-Makefile-Revert-change-which-broke-MAKEALL.patch
new file mode 100644
index 0000000000..4e276fd457
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0018-Makefile-Revert-change-which-broke-MAKEALL.patch
@@ -0,0 +1,100 @@
+From f023ef117dcf4eeda98043607ff9b62267e31bff Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Sun, 23 Oct 2011 22:20:29 +0200
+Subject: [PATCH 18/39] Makefile: Revert change which broke MAKEALL
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@telia.com>
+---
+ ALLCONFIGS | 2 +-
+ MAKEALL | 38 +++++++++++++++++++++-----------------
+ Makefile | 1 -
+ 3 files changed, 22 insertions(+), 19 deletions(-)
+
+diff --git a/ALLCONFIGS b/ALLCONFIGS
+index fc242c5..e34caab 100755
+--- a/ALLCONFIGS
++++ b/ALLCONFIGS
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+ # Support Ubuntu ARM C compiler
+-export CROSS_COMPILE?=/usr/bin/arm-linux-gnueabi-
++export CROSS_COMPILE=/usr/bin/arm-linux-gnueabi-
+
+ source ./mk-config-list.sh
+
+diff --git a/MAKEALL b/MAKEALL
+index fdb72da..fb4bbb3 100755
+--- a/MAKEALL
++++ b/MAKEALL
+@@ -1,28 +1,30 @@
+ #!/bin/sh
+
+ # Support Ubuntu ARM C compiler
+-export CROSS_COMPILE?=/usr/bin/arm-linux-gnueabi-
++export CROSS_COMPILE=/usr/bin/arm-linux-gnueabi-
+
+-
+-rm -f binaries/*
+-rm -rf log
+-rm -fr result
+-
+-mkdir -p log
+-mkdir -p result/FAIL
+-mkdir -p result/OK
+-mkdir -p result/binaries
+-mkdir -p result
+-mkdir -p result/map
+-mkdir -p result/elf
+-
+-source ./mk-config-list.sh
++init_make ()
++{
++ rm -f binaries/*
++ rm -rf log
++ rm -fr result
++
++ mkdir -p log
++ mkdir -p result/FAIL
++ mkdir -p result/OK
++ mkdir -p result/binaries
++ mkdir -p result
++ mkdir -p result/map
++ mkdir -p result/elf
++
++ source ./mk-config-list.sh
++}
+
+ build ()
+ {
+ make distclean
+- make $1_defconfig
+- make > log/$1.log 2>&1 || mv log/$1.log result/FAIL/$1.log.FAIL
++ make -j 4 $1_defconfig
++ make -j 4 > log/$1.log 2>&1 || mv log/$1.log result/FAIL/$1.log.FAIL
+ mv log/$1.log result/OK/$1.log.OK || echo
+ mv binaries/*.elf result/elf
+ mv binaries/*.map result/map
+@@ -36,6 +38,8 @@ build_all ()
+ done
+ }
+
++init_make
++
+ build_all
+
+ echo
+diff --git a/Makefile b/Makefile
+index c57e42b..a8e3c42 100644
+--- a/Makefile
++++ b/Makefile
+@@ -430,7 +430,6 @@ distclean: clean config-clean
+ rm -f .installed
+ rm -f ..*.tmp
+ rm -f .configured
+- rm -fr result
+ rm -fr *.patch
+ rm -fr patches
+
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0019-Improve-printout-of-MAKEALL.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0019-Improve-printout-of-MAKEALL.patch
new file mode 100644
index 0000000000..120da3035d
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0019-Improve-printout-of-MAKEALL.patch
@@ -0,0 +1,72 @@
+From 2d911f1f6163c2ec1ef840a52b79c7af86cfb056 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Mon, 24 Oct 2011 01:08:58 +0200
+Subject: [PATCH 19/39] Improve printout of MAKEALL
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@telia.com>
+---
+ MAKEALL | 34 +++++++++++++++++++++++++++++-----
+ 1 files changed, 29 insertions(+), 5 deletions(-)
+
+diff --git a/MAKEALL b/MAKEALL
+index fb4bbb3..c1fdb3e 100755
+--- a/MAKEALL
++++ b/MAKEALL
+@@ -22,10 +22,26 @@ init_make ()
+
+ build ()
+ {
+- make distclean
+- make -j 4 $1_defconfig
+- make -j 4 > log/$1.log 2>&1 || mv log/$1.log result/FAIL/$1.log.FAIL
+- mv log/$1.log result/OK/$1.log.OK || echo
++ printf "%-30s" "$1"
++ make -s distclean > /dev/null
++ make -j 8 -s $1_defconfig > /dev/null
++ sts=0
++ make -j 8 > log/$1.log 2>&1 3>log/$1.info || sts=1
++ if [ $sts == 0 ] ; then
++ mv log/$1.log result/OK/$1.log.OK
++ working=`expr $working + 1`
++ printf "[OK]"
++ # "arning" supports English and Swedish !
++ warning_lines=`cat result/OK/$1.log.OK | grep arning | wc -l`
++ if ! [ $warning_lines == 0 ] ; then
++ printf "[Warnings]"
++ fi
++ echo
++ else
++ mv log/$1.log result/FAIL/$1.log.FAIL
++ failing=`expr $failing + 1`
++ echo "[FAIL]"
++ fi
+ mv binaries/*.elf result/elf
+ mv binaries/*.map result/map
+ mv binaries/*.bin result/binaries
+@@ -33,14 +49,22 @@ build ()
+
+ build_all ()
+ {
++ failing=0;
++ working=0;
+ for f in `cat $CONFIG_LIST` ; do
+ build $f
+ done
++ printf "%s\n" "------------------------------------"
++ total=`expr $working + $failing`
++ printf "%-30s[%d]\n" "Number of Boards:" $total
++ printf "\n"
++ printf "%-30s[%d]\n" "Working Boards:" $working
++ printf "%-30s[%d]\n" "Failing Boards:" $failing
+ }
+
+ init_make
+
+-build_all
++time build_all
+
+ echo
+ echo
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0020-config-conf.c-Remove-cause-of-warnings.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0020-config-conf.c-Remove-cause-of-warnings.patch
new file mode 100644
index 0000000000..726a5d328d
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0020-config-conf.c-Remove-cause-of-warnings.patch
@@ -0,0 +1,44 @@
+From c52c6ac4c46b74a88184f806dfc80bd8928ff376 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Mon, 24 Oct 2011 01:12:48 +0200
+Subject: [PATCH 20/39] config/conf.c: Remove cause of warnings.
+
+conf.c are calling subroutines without using the result,
+causing a warning.
+Make sure the return value is used to avoid the warning.
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@telia.com>
+---
+ config/conf.c | 9 +++++++--
+ 1 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/config/conf.c b/config/conf.c
+index c829d4d..07ada3a 100644
+--- a/config/conf.c
++++ b/config/conf.c
+@@ -110,7 +110,10 @@ static int conf_askvalue(struct symbol *sym, const char *def)
+ check_stdin();
+ case ask_all:
+ fflush(stdout);
+- fgets(line, 128, stdin);
++ if(fgets(line, 128, stdin) == NULL) {
++ /* No warning */
++ return 1;
++ }
+ return 1;
+ default:
+ break;
+@@ -320,7 +323,9 @@ static int conf_choice(struct menu *menu)
+ check_stdin();
+ case ask_all:
+ fflush(stdout);
+- fgets(line, 128, stdin);
++ if(fgets(line, 128, stdin) == NULL) {
++ continue;
++ }
+ strip(line);
+ if (line[0] == '?') {
+ print_help(menu);
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0021-Remove-warnings-from-build.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0021-Remove-warnings-from-build.patch
new file mode 100644
index 0000000000..1352dacd09
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0021-Remove-warnings-from-build.patch
@@ -0,0 +1,284 @@
+From 21ec7a32ce3816d5affb59771402cba90d8228a4 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Mon, 24 Oct 2011 01:15:28 +0200
+Subject: [PATCH 21/39] Remove warnings from build.
+
+The build generates several warnings due to unused subroutines
+and variables.
+toplevel_cpp.mk adds a config -DREMOVE_WARNINGS
+which is used to remove the cause of warnings in
+multiple files.
+
+is used on multiple files.
+
+is used once.
+
+Otherwise dbg_log is called to use return values.
+This will add some small amount of code, but not
+significantly so
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@telia.com>
+---
+ board/at91sam9263ek/at91sam9263ek.c | 7 ++++---
+ driver/MEDSdcard.c | 16 ++++++++++++++--
+ driver/debug.c | 1 +
+ driver/ff.c | 2 +-
+ driver/gpio.c | 2 +-
+ driver/nandflash.c | 8 +++++++-
+ driver/pio.c | 3 +++
+ driver/pmc.c | 1 +
+ driver/sdmmc_mci.c | 13 +++++++++----
+ driver/sdramc.c | 1 +
+ toplevel_cpp.mk | 2 ++
+ 11 files changed, 44 insertions(+), 12 deletions(-)
+
+diff --git a/board/at91sam9263ek/at91sam9263ek.c b/board/at91sam9263ek/at91sam9263ek.c
+index 485880d..1eb237e 100644
+--- a/board/at91sam9263ek/at91sam9263ek.c
++++ b/board/at91sam9263ek/at91sam9263ek.c
+@@ -340,7 +340,6 @@ void sdramc_hw_init(void)
+ #ifdef CONFIG_PSRAM
+ void psram_hw_init(void)
+ {
+- volatile unsigned short tmp;
+
+ unsigned short *addressMax = (unsigned short *)MICRON_8MB_ADDRESS_MAX;
+
+@@ -373,8 +372,10 @@ void psram_hw_init(void)
+ pio_set_value(AT91C_PIN_PE(16), 0); // Data access.
+
+ //Enable page mode
+- tmp = readl(addressMax);
+- tmp = readl(addressMax);
++ // "readl" is a function, but we do not need the result
++ // The read will update the internal status of the memory.
++ readl(addressMax);
++ readl(addressMax);
+ writel(MICRON_RCR, addressMax);
+ writel(MICRON_PAGE_MODE_ENABLE, addressMax);
+ }
+diff --git a/driver/MEDSdcard.c b/driver/MEDSdcard.c
+index 4158e9d..8c6a36a 100644
+--- a/driver/MEDSdcard.c
++++ b/driver/MEDSdcard.c
+@@ -225,7 +225,7 @@ static unsigned char MEDSdcard_Read(Media * media,
+ unsigned int length,
+ MediaCallback callback, void *argument)
+ {
+- unsigned char error;
++ unsigned char error=0;
+
+ unsigned int loop;
+
+@@ -251,6 +251,11 @@ static unsigned char MEDSdcard_Read(Media * media,
+ error =
+ SD_ReadBlock((SdCard *) media->interface, address,
+ FIRSTBOOT_BLOCK_LENGTH, data);
++#if defined(REMOVE_WARNINGS)
++ if(error) {
++ dbg_log(1, "SD_ReadBlock failed in MEDSdcard_Read\r\n");
++ }
++#endif
+ address += FIRSTBOOT_BLOCK_LENGTH;
+
+ length -= FIRSTBOOT_BLOCK_LENGTH;
+@@ -265,6 +270,11 @@ static unsigned char MEDSdcard_Read(Media * media,
+ if (length > 0) {
+ error =
+ SD_ReadBlock((SdCard *) media->interface, address, length, data);
++#if defined(REMOVE_WARNINGS)
++ if(error) {
++ dbg_log(1, "SD_ReadBlock failed in MEDSdcard_Read\r\n");
++ }
++#endif
+ }
+ // Leave the Busy state
+ media->state = MED_STATE_READY;
+@@ -684,7 +694,9 @@ unsigned int load_SDCard(void *dst)
+ unsigned char ret;
+
+ ret = MEDSdcard_Initialize(&medias[0], BOARD_SD_MCI_ID_USE);
+-
++ if(ret) {
++ dbg_log(1, "Error while initializing SD-Card\r\n");
++ }
+ memset(&fs, 0, sizeof (FATFS)); // Clear file system object
+
+ res = f_mount(0, &fs);
+diff --git a/driver/debug.c b/driver/debug.c
+index d72de27..40f11c0 100644
+--- a/driver/debug.c
++++ b/driver/debug.c
+@@ -30,6 +30,7 @@
+ * Creation : ODi Apr 19th 2006
+ *-----------------------------------------------------------------------------
+ */
++#pragma GCC diagnostic ignored "-Wunused-function"
+ #include "common.h"
+
+ #ifdef CONFIG_DEBUG
+diff --git a/driver/ff.c b/driver/ff.c
+index 8200b14..82b49cd 100644
+--- a/driver/ff.c
++++ b/driver/ff.c
+@@ -69,7 +69,7 @@
+ / Added f_chdir() and f_chdrive().
+ / Added proper case conversion to extended char.
+ /---------------------------------------------------------------------------*/
+-
++#pragma GCC diagnostic ignored "-Wunused-function"
+ #include "common.h"
+ #include "ff.h" /* FatFs configurations and declarations */
+ #include "diskio.h" /* Declarations of low level disk I/O functions */
+diff --git a/driver/gpio.c b/driver/gpio.c
+index 5b98870..1347f77 100644
+--- a/driver/gpio.c
++++ b/driver/gpio.c
+@@ -30,7 +30,7 @@
+ * Creation : ODi Apr 19th 2006
+ *-----------------------------------------------------------------------------
+ */
+-
++#pragma GCC diagnostic ignored "-Wunused-function"
+ #include "common.h"
+ #include "gpio.h"
+
+diff --git a/driver/nandflash.c b/driver/nandflash.c
+index ea7068e..a7f7783 100644
+--- a/driver/nandflash.c
++++ b/driver/nandflash.c
+@@ -677,9 +677,12 @@ int read_nandflash(unsigned char *dst, unsigned long offset, int len)
+
+ unsigned char *pOutBuffer = dst;
+
+- unsigned int blockIdx, badBlock, length, sizeToRead, nbSector, sectorIdx,
++ unsigned int blockIdx, length, sizeToRead, nbSector, sectorIdx,
+ dataLeft;
+
++#if !defined(REMOVE_WARNINGS)
++ unsigned int badBlock;
++#endif
+ nandflash_hw_init();
+ reset_nandflash();
+
+@@ -737,10 +740,13 @@ int read_nandflash(unsigned char *dst, unsigned long offset, int len)
+ * Initialize the block offset
+ */
+ blockIdx = offset / sNandInfo.uBlockNbData;
++
++#if !defined(REMOVE_WARNINGS)
+ /*
+ * Initialize the number of bad blocks
+ */
+ badBlock = 0;
++#endif
+
+ length = len;
+
+diff --git a/driver/pio.c b/driver/pio.c
+index 6cbbce3..3df8668 100644
+--- a/driver/pio.c
++++ b/driver/pio.c
+@@ -30,6 +30,7 @@
+ //------------------------------------------------------------------------------
+ // Headers
+ //------------------------------------------------------------------------------
++#pragma GCC diagnostic ignored "-Wunused-function"
+ #include "common.h"
+ #include "pio.h"
+
+@@ -460,3 +461,5 @@ unsigned char PIO_GetOutputDataStatus(const Pin * pin)
+ }
+ }
+ #endif
++
++
+diff --git a/driver/pmc.c b/driver/pmc.c
+index edf1314..6a15a8b 100644
+--- a/driver/pmc.c
++++ b/driver/pmc.c
+@@ -30,6 +30,7 @@
+ * Creation : ODi Apr 24th 2006
+ *-----------------------------------------------------------------------------
+ */
++#pragma GCC diagnostic ignored "-Wunused-function"
+ #include "common.h"
+ #include "pmc.h"
+
+diff --git a/driver/sdmmc_mci.c b/driver/sdmmc_mci.c
+index 7451ab1..9112579 100644
+--- a/driver/sdmmc_mci.c
++++ b/driver/sdmmc_mci.c
+@@ -26,9 +26,8 @@
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ----------------------------------------------------------------------------
+ */
+-
++#pragma GCC diagnostic ignored "-Wunused-function"
+ #if defined(CONFIG_SDCARD)
+-
+ //------------------------------------------------------------------------------
+ // Headers
+ //------------------------------------------------------------------------------
+@@ -2197,14 +2196,15 @@ static unsigned short SdMmcInit(SdCard * pSd, SdDriver * pSdDriver)
+
+ unsigned char cmd8Retries = 1;
+
+- unsigned int cmd1Retries = 10000; //120;
+
+ unsigned char isHdSupport = 0;
++#if !(defined(CONFIG_AT91SAM9G10EK))
++ unsigned int cmd1Retries = 10000; //120;
+
+ unsigned char isHsSupport = 0;
+
+ unsigned char updateInformation = 0;
+-
++#endif
+ // The command GO_IDLE_STATE (CMD0) is the software reset command and sets
+ // card into Idle State regardless of the current card state.
+ MCI_EnableHsMode((Mci *) pSdDriver, 0);
+@@ -2339,6 +2339,10 @@ static unsigned short SdMmcInit(SdCard * pSd, SdDriver * pSdDriver)
+
+ dbg_log(1, "Is card MMC one?\n\r");
+
++// busWidth gives warnings
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
++
+ if (SD_CSD_STRUCTURE(pSd) >= 2) {
+
+ MmcCmd6Arg cmd6Arg;
+@@ -2399,6 +2403,7 @@ static unsigned short SdMmcInit(SdCard * pSd, SdDriver * pSdDriver)
+ }
+ #endif // end of OP_BOOTSTRAP_MCI_on
+ }
++#pragma GCC diagnostic pop
+ } else if (pSd->cardType >= CARD_SD) {
+
+ // Switch to 4-bits bus width
+diff --git a/driver/sdramc.c b/driver/sdramc.c
+index 0b0a00e..e0c6d98 100644
+--- a/driver/sdramc.c
++++ b/driver/sdramc.c
+@@ -30,6 +30,7 @@
+ * Creation : NLe Jul 11th 2006
+ *-----------------------------------------------------------------------------
+ */
++#pragma GCC diagnostic ignored "-Wunused-function"
+ #include "common.h"
+ #include "sdramc.h"
+
+diff --git a/toplevel_cpp.mk b/toplevel_cpp.mk
+index 569f297..8d00fac 100644
+--- a/toplevel_cpp.mk
++++ b/toplevel_cpp.mk
+@@ -46,3 +46,5 @@ ifeq ($(CONFIG_DUAL_BOOT),y)
+ CPPFLAGS += -DCONFIG_DUAL_BOOT
+ endif
+
++
++CPPFLAGS += -DREMOVE_WARNINGS
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0022-Bump-version-to-3.1.2.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0022-Bump-version-to-3.1.2.patch
new file mode 100644
index 0000000000..fee5dabedd
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0022-Bump-version-to-3.1.2.patch
@@ -0,0 +1,26 @@
+From e35f3d7b3f98fb099cbab0f0d7dabfb0cab570bb Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Mon, 24 Oct 2011 01:22:29 +0200
+Subject: [PATCH 22/39] Bump version to 3.1.2
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@telia.com>
+---
+ Makefile | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index a8e3c42..a9d1560 100644
+--- a/Makefile
++++ b/Makefile
+@@ -19,7 +19,7 @@ BINDIR:=$(TOPDIR)/binaries
+
+ DATE:=$(shell date +%Y%m%d)
+
+-VERSION:=3.1.1
++VERSION:=3.1.2
+
+
+ noconfig_targets:= menuconfig defconfig $(CONFIG) oldconfig
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0023-Allow-SAM9G20-to-use-partitions.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0023-Allow-SAM9G20-to-use-partitions.patch
new file mode 100644
index 0000000000..4c49f90349
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0023-Allow-SAM9G20-to-use-partitions.patch
@@ -0,0 +1,25 @@
+From 8310d3b5c4b0085ac382f2e74f48250f89bec678 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Thu, 27 Oct 2011 19:51:09 +0200
+Subject: [PATCH 23/39] Allow SAM9G20 to use partitions
+
+---
+ include/AT91SAM9260_inc.h | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/include/AT91SAM9260_inc.h b/include/AT91SAM9260_inc.h
+index d7de9f4..6c5d82e 100644
+--- a/include/AT91SAM9260_inc.h
++++ b/include/AT91SAM9260_inc.h
+@@ -3049,6 +3049,8 @@
+
+ #define CHIP_SRAM0_BASEADDR 0x200000
+
++#if !defined(CONFIG_AT91SAM9G20EK)
+ #define NO_PATITION
++#endif
+
+ #endif /* AT91SAM9260_INC_H */
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0024-More-verbose-error-messages-for-FAT-access.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0024-More-verbose-error-messages-for-FAT-access.patch
new file mode 100644
index 0000000000..5941cb0577
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0024-More-verbose-error-messages-for-FAT-access.patch
@@ -0,0 +1,184 @@
+From 1b611da3b8dc47a8df66e14520fbf4ffde108c87 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Thu, 27 Oct 2011 19:53:09 +0200
+Subject: [PATCH 24/39] More verbose error messages for FAT access
+
+---
+ driver/ff.c | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
+ 1 files changed, 75 insertions(+), 12 deletions(-)
+
+diff --git a/driver/ff.c b/driver/ff.c
+index 82b49cd..dd5330e 100644
+--- a/driver/ff.c
++++ b/driver/ff.c
+@@ -841,15 +841,41 @@ FRESULT dir_find(DIR * dj /* Pointer to the directory object linked to the
+ if (ord == 0)
+ break;
+ } else { /* Match SFN if LFN is in 8.3 format */
+- if (!memcmp(dir, dj->fn, 11))
++#if defined(CONFIG_DEBUG_VERY_LOUD)
++ dbgu_print("\nComparing ");
++ dbgu_print(dir);
++ dbgu_print(" with ");
++ dbgu_print(dj->fn);
++#endif
++ if (!memcmp(dir, dj->fn, 11)) {
++#if defined(CONFIG_DEBUG_VERY_LOUD)
++ dbgu_print(" OK\r\n");
++#endif
+ break;
++ }
++#if defined(CONFIG_DEBUG_VERY_LOUD)
++ dbgu_print(" Fail\r\n");
++#endif
+ }
+ ord = 0xFF;
+ }
+ }
+ #else /* Non LFN configuration */
+- if (!(dir[DIR_Attr] & AM_VOL) && !memcmp(dir, dj->fn, 11)) /* Is it a valid entry? */
++#if defined(CONFIG_DEBUG_VERY_LOUD)
++ dbgu_print("\nComparing ");
++ dbgu_print((char *) dir);
++ dbgu_print(" with ");
++ dbgu_print((char *) dj->fn);
++#endif
++ if (!(dir[DIR_Attr] & AM_VOL) && !memcmp(dir, dj->fn, 11)) { /* Is it a valid entry? */
++#if defined(CONFIG_DEBUG_VERY_LOUD)
++ dbgu_print(" OK\r\n");
++#endif
+ break;
++ }
++#if defined(CONFIG_DEBUG_VERY_LOUD)
++ dbgu_print(" Fail\r\n");
++#endif
+ #endif
+ res = dir_next(dj, FALSE); /* Next entry */
+
+@@ -1554,12 +1580,18 @@ FRESULT auto_mount( /* FR_OK(0): successful, !=0: any error occured
+ DWORD bsect, fsize, tsect, mclst;
+
+ const XCHAR *p = *path;
++ const XCHAR vol_name[2];
+
+ FATFS *fs;
+
+ /*
+ * Get logical drive number from the path name
+ */
++#if defined(CONFIG_DEBUG_VERY_LOUD)
++ dbgu_print("Automount: ");
++ dbgu_print((const char *) path);
++ dbgu_print("\r\n");
++#endif
+ vol = p[0] - '0'; /* Is there a drive number? */
+ if (vol <= 9 && p[1] == ':') { /* Found a drive number, get and strip it */
+ p += 2;
+@@ -1571,16 +1603,26 @@ FRESULT auto_mount( /* FR_OK(0): successful, !=0: any error occured
+ vol = 0; /* Use drive 0 */
+ #endif
+ }
++ vol_name[0] = vol + '0';
++ vol_name[0] = '\0;
+
+ /*
+ * Check if the logical drive is valid or not
+ */
+- if (vol >= _DRIVES) /* Is the drive number valid? */
++ if (vol >= _DRIVES) { /* Is the drive number valid? */
++#if defined(CONFIG_DEBUG_VERY_LOUD)
++ dbgu_print("Invalid Drive: [");
++ dbgu_print(volname);
++ dbgu_print("]\r\n");
++
++#endif
+ return FR_INVALID_DRIVE;
++ }
+ *rfs = fs = FatFs[vol]; /* Returen pointer to the corresponding file system object */
+- if (!fs)
++ if (!fs) {
++ dbgu_print("File system not registered!\r\n");
+ return FR_NOT_ENABLED; /* Is the file system object registered? */
+-
++ }
+ ENTER_FF(fs); /* Lock file system */
+
+ if (fs->fs_type) { /* If the logical drive has been mounted */
+@@ -1601,8 +1643,12 @@ FRESULT auto_mount( /* FR_OK(0): successful, !=0: any error occured
+ fs->fs_type = 0; /* Clear the file system object */
+ fs->drive = (BYTE) LD2PD(vol); /* Bind the logical drive and a physical drive */
+ stat = disk_initialize(fs->drive); /* Initialize low level disk I/O layer */
+- if (stat & STA_NOINIT) /* Check if the drive is ready */
++ if (stat & STA_NOINIT) { /* Check if the drive is ready */
++#if defined(CONFIG_DEBUG_VERY_LOUD)
++ dbgu_print("Invalid Drive\r\n");
++#endif
+ return FR_NOT_READY;
++ }
+ #if _MAX_SS != 512 /* Get disk sector size if needed */
+ if (disk_ioctl(fs->drive, GET_SECTOR_SIZE, &SS(fs)) != RES_OK
+ || SS(fs) > _MAX_SS)
+@@ -1631,14 +1677,24 @@ FRESULT auto_mount( /* FR_OK(0): successful, !=0: any error occured
+ }
+ #endif
+
+- if (fmt == 3)
++ if (fmt == 3) {
++#if defined(CONFIG_DEBUG_VERY_LOUD)
++ dbgu_print("fmt == 3 - Not Valid!\r\n");
++#endif
+ return FR_DISK_ERR;
+- if (fmt || LD_WORD(fs->win + BPB_BytsPerSec) != SS(fs)) /* No valid FAT patition is found */
++ }
++ if (fmt || LD_WORD(fs->win + BPB_BytsPerSec) != SS(fs)) { /* No valid FAT patition is found */
++#if defined(CONFIG_DEBUG_VERY_LOUD)
++ dbgu_print("No valid FAT Partition\r\n");
++#endif
+ return FR_NO_FILESYSTEM;
+-
++ }
+ /*
+ * Initialize the file system object
+ */
++#if defined(CONFIG_DEBUG_VERY_LOUD)
++ dbgu_print("INFO: INit file system object\r\n");
++#endif
+ fsize = LD_WORD(fs->win + BPB_FATSz16); /* Number of sectors per FAT */
+ if (!fsize)
+ fsize = LD_DWORD(fs->win + BPB_FATSz32);
+@@ -1774,7 +1830,8 @@ FRESULT f_open(FIL * fp, /* Pointer to the blank file object */
+ )
+ {
+ FRESULT res;
+-
++#if defined(CONFIG_DEBUG_VERY_LOUD)
++#endif
+ DIR dj;
+
+ NAMEBUF(sfn, lfn);
+@@ -2809,14 +2866,20 @@ FRESULT f_rename(const XCHAR * path_old, /* Pointer to the old name */
+ INITBUF(dj_old, sfn, lfn);
+ res = auto_mount(&path_old, &dj_old.fs, 1);
+ if (res == FR_OK) {
++#if defined(CONFIG_DEBUG_VERY_LOUD)
++ dbgu_print("Automount succeded\r\n");
++#endif
+ dj_new.fs = dj_old.fs;
+ res = follow_path(&dj_old, path_old); /* Check old object */
+ if (_FS_RPATH && res == FR_OK && (dj_old.fn[11] & NS_DOT))
+ res = FR_INVALID_NAME;
+ }
+- if (res != FR_OK)
++ if (res != FR_OK) {
++#if defined(CONFIG_DEBUG_VERY_LOUD)
++ dbgu_print("Automount failed\r\n");
++#endif
+ LEAVE_FF(dj_old.fs, res); /* The old object is not found */
+-
++ }
+ if (!dj_old.dir)
+ LEAVE_FF(dj_old.fs, FR_NO_FILE); /* Is root dir? */
+ memcpy(buf, dj_old.dir + DIR_Attr, 21); /* Save the object information */
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0025-Add-at91sam9g20ek_2mmcsd_defconfig.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0025-Add-at91sam9g20ek_2mmcsd_defconfig.patch
new file mode 100644
index 0000000000..499f641a75
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0025-Add-at91sam9g20ek_2mmcsd_defconfig.patch
@@ -0,0 +1,124 @@
+From d2315af8b9e399b0cd879ccdb7e7ae0254ddc67f Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Thu, 27 Oct 2011 19:55:00 +0200
+Subject: [PATCH 25/39] Add at91sam9g20ek_2mmcsd_defconfig
+
+---
+ board/at91sam9g20ek/at91sam9g20_2mmcsd_defconfig | 105 ++++++++++++++++++++++
+ 1 files changed, 105 insertions(+), 0 deletions(-)
+ create mode 100644 board/at91sam9g20ek/at91sam9g20_2mmcsd_defconfig
+
+diff --git a/board/at91sam9g20ek/at91sam9g20_2mmcsd_defconfig b/board/at91sam9g20ek/at91sam9g20_2mmcsd_defconfig
+new file mode 100644
+index 0000000..1c76a8c
+--- /dev/null
++++ b/board/at91sam9g20ek/at91sam9g20_2mmcsd_defconfig
+@@ -0,0 +1,105 @@
++#
++# Automatically generated make config: don't edit
++# Thu Oct 27 19:33:24 2011
++#
++HAVE_DOT_CONFIG=y
++CONFIG_BOARDNAME="at91sam9g20_2mmcsd"
++# CONFIG_AT91SAM9260EK is not set
++# CONFIG_AT91SAM9261EK is not set
++# CONFIG_AT91SAM9263EK is not set
++# CONFIG_AT91SAM9RLEK is not set
++# CONFIG_AT91SAM9XEEK is not set
++# CONFIG_AT91SAM9G10EK is not set
++CONFIG_AT91SAM9G20EK=y
++# CONFIG_AT91SAM9G45EK is not set
++# CONFIG_AT91SAM9G45EKES is not set
++# CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
++# CONFIG_AT91CAP9ADK is not set
++# CONFIG_AT91CAP9STK is not set
++# CONFIG_AFEB9260 is not set
++CONFIG_CHIP="AT91SAM9G20"
++CONFIG_BOARD="at91sam9g20ek"
++CONFIG_MACH_TYPE="0x658"
++CONFIG_LINK_ADDR="0x000000"
++CONFIG_TOP_OF_MEMORY="0x304000"
++# CONFIG_CRYSTAL_12_000MHZ is not set
++# CONFIG_CRYSTAL_16_000MHZ is not set
++# CONFIG_CRYSTAL_16_36766MHZ is not set
++CONFIG_CRYSTAL_18_432MHZ=y
++ALLOW_CRYSTAL_18_432MHZ=y
++CONFIG_CRYSTAL="CRYSTAL_18_432MHZ"
++# CONFIG_CPU_CLK_166MHZ is not set
++# CONFIG_CPU_CLK_180MHZ is not set
++# CONFIG_CPU_CLK_200MHZ is not set
++# CONFIG_CPU_CLK_240MHZ is not set
++# CONFIG_CPU_CLK_266MHZ is not set
++CONFIG_CPU_CLK_400MHZ=y
++ALLOW_CPU_CLK_400MHZ=y
++# DISABLE_CPU_CLK_240MHZ is not set
++# CONFIG_BUS_SPEED_83MHZ is not set
++# CONFIG_BUS_SPEED_90MHZ is not set
++# CONFIG_BUS_SPEED_100MHZ is not set
++CONFIG_BUS_SPEED_133MHZ=y
++
++#
++# Memory selection
++#
++CONFIG_SDRAM=y
++# CONFIG_SDDRC is not set
++# CONFIG_DDR2 is not set
++ALLOW_DATAFLASH=y
++# ALLOW_FLASH is not set
++ALLOW_NANDFLASH=y
++ALLOW_SDCARD=y
++# ALLOW_HSMCI is not set
++# ALLOW_PSRAM is not set
++# ALLOW_SDRAM_16BIT is not set
++# CONFIG_RAM_32MB is not set
++CONFIG_RAM_64MB=y
++# CONFIG_RAM_128MB is not set
++# CONFIG_RAM_256MB is not set
++# CONFIG_DATAFLASH is not set
++# CONFIG_FLASH is not set
++# CONFIG_NANDFLASH is not set
++CONFIG_SDCARD=y
++CONFIG_MEMORY="sdcard"
++# CONFIG_SDCARD_HS is not set
++ALLOW_DATAFLASH_RECOVERY=y
++ALLOW_BOOT_FROM_DATAFLASH_CS0=y
++ALLOW_BOOT_FROM_DATAFLASH_CS1=y
++DATAFLASHCARD_ON_CS0=y
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
++CONFIG_PROJECT="sdcard"
++CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
++# CONFIG_LOAD_64KB is not set
++# CONFIG_LOAD_1MB is not set
++# CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00000000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
++CONFIG_OS_IMAGE_NAME="at91sam9g20ek_2mmc\\u-boot.bin"
++CONFIG_OS_IMG_SIZE="0x30000"
++
++#
++# U-Boot Image Storage Setup
++#
++CONFIG_IMG_ADDRESS="0x00000000"
++CONFIG_SETTING_ADDRESS="0x00000000"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00040000"
++CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
++CONFIG_GLBDRV_ADDR="0x20058000"
++# CONFIG_LONG_TEST is not set
++CONFIG_DEBUG=y
++# CONFIG_DEBUG_INFO is not set
++# CONFIG_DEBUG_LOUD is not set
++CONFIG_DEBUG_VERY_LOUD=y
++CONFIG_HW_INIT=y
++# CONFIG_USER_HW_INIT is not set
++CONFIG_THUMB=y
++# CONFIG_SX_AT91 is not set
++# CONFIG_RAW_AT91 is not set
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0026-.gitignore-Update.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0026-.gitignore-Update.patch
new file mode 100644
index 0000000000..ab1db83af2
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0026-.gitignore-Update.patch
@@ -0,0 +1,22 @@
+From 5e60ef39027890ffc15ba308bb0ca76e9cc9f55a Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Fri, 28 Oct 2011 12:31:08 +0200
+Subject: [PATCH 26/39] .gitignore: Update
+
+---
+ .gitignore | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/.gitignore b/.gitignore
+index 18bf9dc..e8399ba 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -24,4 +24,5 @@ tags
+ install/*
+ *.rej
+ *.patch
++patches/*
+
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0027-Update-build-scripts.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0027-Update-build-scripts.patch
new file mode 100644
index 0000000000..c32fff9d94
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0027-Update-build-scripts.patch
@@ -0,0 +1,422 @@
+From 62d154acd9d6d9d5f908f62535dd1a0e7c6e4a2f Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Fri, 28 Oct 2011 12:33:57 +0200
+Subject: [PATCH 27/39] Update build scripts
+
+---
+ ALLCONFIGS | 2 +-
+ MAKEALL | 7 ++-
+ MAKENEW | 124 ++++++++++++++++++++++++++++++++-------------
+ allboards.cfg | 60 ----------------------
+ board/allboards.cfg | 65 +++++++++++++++++++++++
+ mk-config-list.sh | 18 -------
+ scripts/mk-config-list.sh | 18 +++++++
+ scripts/mkboards.sh | 3 +
+ toolset.sh | 16 ++++++
+ 9 files changed, 195 insertions(+), 118 deletions(-)
+ delete mode 100644 allboards.cfg
+ create mode 100644 board/allboards.cfg
+ delete mode 100755 mk-config-list.sh
+ create mode 100755 scripts/mk-config-list.sh
+ create mode 100755 scripts/mkboards.sh
+ create mode 100755 toolset.sh
+
+diff --git a/ALLCONFIGS b/ALLCONFIGS
+index e34caab..c64ef2f 100755
+--- a/ALLCONFIGS
++++ b/ALLCONFIGS
+@@ -2,7 +2,7 @@
+ # Support Ubuntu ARM C compiler
+ export CROSS_COMPILE=/usr/bin/arm-linux-gnueabi-
+
+-source ./mk-config-list.sh
++source ./scripts/mk-config-list.sh
+
+ reconfig ()
+ {
+diff --git a/MAKEALL b/MAKEALL
+index c1fdb3e..3b84f11 100755
+--- a/MAKEALL
++++ b/MAKEALL
+@@ -1,11 +1,12 @@
+ #!/bin/sh
+
+ # Support Ubuntu ARM C compiler
+-export CROSS_COMPILE=/usr/bin/arm-linux-gnueabi-
++
++source ./toolset.sh
+
+ init_make ()
+ {
+- rm -f binaries/*
++ rm -rf binaries/*
+ rm -rf log
+ rm -fr result
+
+@@ -17,7 +18,7 @@ init_make ()
+ mkdir -p result/map
+ mkdir -p result/elf
+
+- source ./mk-config-list.sh
++ source ./scripts/mk-config-list.sh
+ }
+
+ build ()
+diff --git a/MAKENEW b/MAKENEW
+index efb388a..640338b 100755
+--- a/MAKENEW
++++ b/MAKENEW
+@@ -1,46 +1,98 @@
+ #!/bin/sh
+-rm -rf log
+-mkdir -p log/FAIL
+-skip=0
+-rm -f .config
+-
+-if [ -f ../gcc.sh ] ; then
+-source ../gcc.sh
+-else
+- echo "You need to supply a good Makefile environment similar to:"
+- cat gcc.sh
+- exit 0
+-fi
+-
+-MAKEFLAGS="CROSS_COMPILE=${CROSS_COMPILE} CONFIG_NO_DWARF_CFI_ASM=y"
+-
+-function build()
++
++# Support Ubuntu ARM C compiler
++export CROSS_COMPILE=/usr/bin/arm-linux-gnueabi-
++
++CONFIG_LIST="\
++ at91sam9x5df \
++ at91sam9x5ek \
++ at91sam9x5nf \
++ at91sam9x5sd \
++ at91sam9x5sd_uboot \
++ at91sam9g20ek_2mmcsd \
++"
++SD_BOARDS="\
++ at91sam9g10sd \
++ at91sam9g20ek_2mmcsd \
++ at91sam9g20sd \
++ at91sam9g45sd \
++ at91sam9g45sdes_android \
++ at91sam9g45sdes \
++ at91sam9m10sd_android \
++ at91sam9m10sd \
++ at91sam9m10sdu \
++ at91sam9m10sdes \
++ at91sam9rlsd \
++ at91sam9x5sd \
++ at91sam9x5sd_uboot \
++ "
++
++init_make ()
+ {
+- if [ ${skip} == "0" ] ; then
+- rm .config
+- make $1_defconfig
+- make menuconfig
+- make BOARD=$2 update
+-# make ${MAKEFLAGS} > log/$1.log 2>&1 || mv log/$1.log log/FAIL/$1.log.FAIL
+- fi
+-}
++ rm -f binaries/*
++ rm -rf log
++ rm -fr result
++
++ mkdir -p log
++ mkdir -p result/FAIL
++ mkdir -p result/OK
++ mkdir -p result/binaries
++ mkdir -p result
++ mkdir -p result/map
++ mkdir -p result/elf
+
+
+-if [ "$1" == "" ] ; then
+-build at91sam9g45ek at91sam9g45ek
+-build at91sam9g45df at91sam9g45ek
+-build at91sam9g45nf at91sam9g45ek
++}
+
+-build at91sam9g45dfes at91sam9g45ekes
+-build at91sam9g45nfes at91sam9g45ekes
++build ()
++{
++ printf "%-30s" "$1"
++ make -s distclean > /dev/null
++ make -j 8 -s $1_defconfig > /dev/null
++# make menuconfig
++# make update > /dev/null
++ sts=0
++ make -j 8 > log/$1.log 2>&1 3>log/$1.info || sts=1
++ if [ $sts == 0 ] ; then
++ mv log/$1.log result/OK/$1.log.OK
++ working=`expr $working + 1`
++ printf "[OK]"
++ # "arning" supports English and Swedish !
++ warning_lines=`cat result/OK/$1.log.OK | grep arning | wc -l`
++ if ! [ $warning_lines == 0 ] ; then
++ printf "[Warnings]"
++ fi
++ echo
++ else
++ mv log/$1.log result/FAIL/$1.log.FAIL
++ failing=`expr $failing + 1`
++ echo "[FAIL]"
++ fi
++ mv binaries/*.elf result/elf
++ mv binaries/*.map result/map
++ mv binaries/*.bin result/binaries
++}
+
+-build at91sam9m10ek at91sam9m10ek
+-build at91sam9m10df at91sam9m10ek
+-build at91sam9m10nf at91sam9m10ek
++build_all ()
++{
++ failing=0;
++ working=0;
++ for f in $CONFIG_LIST ; do
++ build $f
++ done
++ printf "%s\n" "------------------------------------"
++ total=`expr $working + $failing`
++ printf "%-30s[%d]\n" "Number of Boards:" $total
++ printf "\n"
++ printf "%-30s[%d]\n" "Working Boards:" $working
++ printf "%-30s[%d]\n" "Failing Boards:" $failing
++}
+
++init_make
+
+-else
++time build_all
+
+-build $1
++echo
++echo
++echo "### Done!"
+
+-fi
+diff --git a/allboards.cfg b/allboards.cfg
+deleted file mode 100644
+index 01355c9..0000000
+--- a/allboards.cfg
++++ /dev/null
+@@ -1,60 +0,0 @@
+-afeb9260
+-at91cap9adk
+-at91cap9df
+-at91cap9f
+-at91cap9stk
+-at91cap9stkdf
+-at91cap9stkf
+-at91sam9260dfc
+-at91sam9260df
+-at91sam9260ek
+-at91sam9260nf
+-at91sam9261dfc
+-at91sam9261df
+-at91sam9261ek
+-at91sam9261nf
+-at91sam9263dfc
+-at91sam9263df
+-at91sam9263ek
+-at91sam9263nf
+-at91sam9g10df
+-at91sam9g10ek
+-at91sam9g10nf
+-at91sam9g10sd
+-at91sam9g20dfc
+-at91sam9g20df
+-at91sam9g20ek
+-at91sam9g20nf
+-at91sam9g20sd
+-at91sam9g45df
+-at91sam9g45ek
+-at91sam9g45nf
+-at91sam9g45sd
+-at91sam9g45dfes
+-at91sam9g45ekes
+-at91sam9g45nfes
+-at91sam9g45sdes_android
+-at91sam9g45sdes
+-at91sam9m10df
+-at91sam9m10ek
+-at91sam9m10nf
+-at91sam9m10sd_android
+-at91sam9m10sd
+-at91sam9m10sdu
+-at91sam9m10dfes
+-at91sam9m10ekes
+-at91sam9m10nfes
+-at91sam9m10sdes
+-at91sam9rldf
+-at91sam9rlek
+-at91sam9rlnf
+-at91sam9rlsd
+-at91sam9x5df
+-at91sam9x5ek
+-at91sam9x5nf
+-at91sam9x5sd
+-at91sam9x5sduboot
+-at91sam9xedfc
+-at91sam9xedf
+-at91sam9xeek
+-at91sam9xenf
+diff --git a/board/allboards.cfg b/board/allboards.cfg
+new file mode 100644
+index 0000000..d09874d
+--- /dev/null
++++ b/board/allboards.cfg
+@@ -0,0 +1,65 @@
++afeb9260
++at91cap9adk
++at91cap9df
++at91cap9f
++at91cap9stk
++at91cap9stkdf
++at91cap9stkf
++at91sam9260dfc
++at91sam9260df
++at91sam9260ek
++at91sam9260nf
++at91sam9261dfc
++at91sam9261df
++at91sam9261ek
++at91sam9261nf
++at91sam9263dfc
++at91sam9263df
++at91sam9263ek
++at91sam9263nf
++at91sam9g10df
++at91sam9g10ek
++at91sam9g10nf
++at91sam9g10sd
++at91sam9g20ek_2mmc
++at91sam9g20ek_2mmcdfc
++at91sam9g20ek_2mmcdf
++at91sam9g20ek_2mmcnf
++at91sam9g20ek_2mmcsd
++at91sam9g20dfc
++at91sam9g20df
++at91sam9g20ek
++at91sam9g20nf
++at91sam9g20sd
++at91sam9g45df
++at91sam9g45ek
++at91sam9g45nf
++at91sam9g45sd
++at91sam9g45dfes
++at91sam9g45ekes
++at91sam9g45nfes
++at91sam9g45sdes_android
++at91sam9g45sdes
++at91sam9m10df
++at91sam9m10ek
++at91sam9m10nf
++at91sam9m10sd_android
++at91sam9m10sd
++at91sam9m10sdu
++at91sam9m10dfes
++at91sam9m10ekes
++at91sam9m10nfes
++at91sam9m10sdes
++at91sam9rldf
++at91sam9rlek
++at91sam9rlnf
++at91sam9rlsd
++at91sam9x5df
++at91sam9x5ek
++at91sam9x5nf
++at91sam9x5sd
++at91sam9x5sd_uboot
++at91sam9xedfc
++at91sam9xedf
++at91sam9xeek
++at91sam9xenf
+diff --git a/mk-config-list.sh b/mk-config-list.sh
+deleted file mode 100755
+index a51e4a6..0000000
+--- a/mk-config-list.sh
++++ /dev/null
+@@ -1,18 +0,0 @@
+-#!/bin/sh
+-export CONFIG_LIST=allboards.cfg
+-
+-mk_config ()
+-{
+- rm -f $CONFIG_LIST
+- for path in `ls board/*/*_defconfig` ; do
+-# echo $path
+-# echo `basename $path`
+- filename=`basename $path | sed s/_defconfig//g`
+- echo "$filename" >> $CONFIG_LIST
+- done
+-}
+-
+-mk_config
+-
+-# cat $CONFIG_LIST
+-
+diff --git a/scripts/mk-config-list.sh b/scripts/mk-config-list.sh
+new file mode 100755
+index 0000000..da5cc24
+--- /dev/null
++++ b/scripts/mk-config-list.sh
+@@ -0,0 +1,18 @@
++#!/bin/sh
++export CONFIG_LIST=board/allboards.cfg
++
++mk_config ()
++{
++ rm -f $CONFIG_LIST
++ for path in `ls board/*/*_defconfig` ; do
++# echo $path
++# echo `basename $path`
++ filename=`basename $path | sed s/_defconfig//g`
++ echo "$filename" >> $CONFIG_LIST
++ done
++}
++
++mk_config
++
++# cat $CONFIG_LIST
++
+diff --git a/scripts/mkboards.sh b/scripts/mkboards.sh
+new file mode 100755
+index 0000000..8588165
+--- /dev/null
++++ b/scripts/mkboards.sh
+@@ -0,0 +1,3 @@
++#!/bin/sh
++find board -depth -print | grep defconfig | sed -e "s/board\///g" > board/boards
++
+diff --git a/toolset.sh b/toolset.sh
+new file mode 100755
+index 0000000..a73f4ae
+--- /dev/null
++++ b/toolset.sh
+@@ -0,0 +1,16 @@
++#!/bin/sh
++
++if [ "x$CROSS_COMPILE" == "x" ] ; then
++
++ if [ -f /usr/local/armv5te/bin/arm-angstrom-linux-gnueabi-gcc ] ; then
++ export CROSS_COMPILE=/usr/local/armv5te/bin/arm-angstrom-linux-gnueabi-
++ elif [ -f /usr/local/armv5te/bin/arm-angstrom-linux-gnueabi-gcc ] ; then
++ export CROSS_COMPILE=/usr/local/armv5te/bin/arm-angstrom-linux-gnueabi-
++ else
++ echo "You need to set CROSS_COMPILE"
++ exit 1
++ fi
++fi
++echo "Using CROSS_COMPILE=$CROSS_COMPILE"
++
++
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0028-at91sam9g20ek_2mmc-add-BSP.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0028-at91sam9g20ek_2mmc-add-BSP.patch
new file mode 100644
index 0000000000..5a24c892c1
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0028-at91sam9g20ek_2mmc-add-BSP.patch
@@ -0,0 +1,1365 @@
+From 24a61bebcaa0087684e355b2d6f1340a1985e09e Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Fri, 28 Oct 2011 12:35:40 +0200
+Subject: [PATCH 28/39] at91sam9g20ek_2mmc: add BSP
+
+---
+ board/Config.in | 19 +
+ board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmc.c | 357 ++++++++++++++++++++
+ board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmc.h | 116 +++++++
+ .../at91sam9g20ek_2mmc_defconfig | 127 +++++++
+ .../at91sam9g20ek_2mmcdf_defconfig | 127 +++++++
+ .../at91sam9g20ek_2mmcdfc_defconfig | 127 +++++++
+ .../at91sam9g20ek_2mmcnf_defconfig | 109 ++++++
+ .../at91sam9g20ek_2mmcsd_defconfig | 104 ++++++
+ board/at91sam9g20ek_2mmc/board.mk | 5 +
+ board/at91sam9g20ek_2mmc/makefile | 16 +
+ board/at91sam9g20ek_2mmc/sources | 127 +++++++
+ 11 files changed, 1234 insertions(+), 0 deletions(-)
+ create mode 100644 board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmc.c
+ create mode 100644 board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmc.h
+ create mode 100644 board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmc_defconfig
+ create mode 100644 board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmcdf_defconfig
+ create mode 100644 board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmcdfc_defconfig
+ create mode 100644 board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmcnf_defconfig
+ create mode 100644 board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmcsd_defconfig
+ create mode 100644 board/at91sam9g20ek_2mmc/board.mk
+ create mode 100644 board/at91sam9g20ek_2mmc/makefile
+ create mode 100644 board/at91sam9g20ek_2mmc/sources
+
+diff --git a/board/Config.in b/board/Config.in
+index 7ec9a49..7b2cc8f 100644
+--- a/board/Config.in
++++ b/board/Config.in
+@@ -114,6 +114,21 @@ config CONFIG_AT91SAM9G20EK
+ help
+ Use the AT91SAM9G20EK Development board
+
++config CONFIG_AT91SAM9G20EK_2MMC
++ bool "at91sam9g20ek_2mmc"
++ select CONFIG_SDRAM
++ select ALLOW_DATAFLASH
++ select ALLOW_NANDFLASH
++ select ALLOW_SDCARD
++ select DATAFLASHCARD_ON_CS0
++ select ALLOW_CPU_CLK_400MHZ
++ select ALLOW_CRYSTAL_18_432MHZ
++ select ALLOW_BOOT_FROM_DATAFLASH_CS0
++ select ALLOW_BOOT_FROM_DATAFLASH_CS1
++ select ALLOW_DATAFLASH_RECOVERY
++ help
++ Use the AT91SAM9G20EK Development board with two MMC slots
++
+ config CONFIG_AT91SAM9G45EK
+ bool "at91sam9g45ek"
+ select CONFIG_DDR2
+@@ -250,6 +265,7 @@ config CONFIG_CHIP
+ default "AT91SAM9XE" if CONFIG_AT91SAM9XEEK
+ default "AT91SAM9G10" if CONFIG_AT91SAM9G10EK
+ default "AT91SAM9G20" if CONFIG_AT91SAM9G20EK
++ default "AT91SAM9G20" if CONFIG_AT91SAM9G20EK_2MMC
+ default "AT91SAM9G45" if CONFIG_AT91SAM9G45EK
+ default "AT91SAM9G45" if CONFIG_AT91SAM9G45EKES
+ default "AT91SAM9M10" if CONFIG_AT91SAM9M10EK
+@@ -271,6 +287,7 @@ config CONFIG_BOARD
+ default "at91sam9xeek" if CONFIG_AT91SAM9XEEK
+ default "at91sam9g10ek" if CONFIG_AT91SAM9G10EK
+ default "at91sam9g20ek" if CONFIG_AT91SAM9G20EK
++ default "at91sam9g20ek_2mmc" if CONFIG_AT91SAM9G20EK_2MMC
+ default "at91sam9g45ek" if CONFIG_AT91SAM9G45EK
+ default "at91sam9x5ek" if CONFIG_AT91SAM9X5EK
+ default "at91sam9g45ekes" if CONFIG_AT91SAM9G45EKES
+@@ -292,6 +309,7 @@ config CONFIG_MACH_TYPE
+ default "0x44B" if CONFIG_AT91SAM9XEEK
+ default "0x86F" if CONFIG_AT91SAM9G10EK
+ default "0x658" if CONFIG_AT91SAM9G20EK
++ default "0x8F0" if CONFIG_AT91SAM9G20EK_2MMC
+ default "1830" if CONFIG_AT91SAM9G45EK # 1830
+ default "2212" if CONFIG_AT91SAM9G45EKES # 2212
+ default "1830" if CONFIG_AT91SAM9M10EK # 1830
+@@ -333,6 +351,7 @@ config CONFIG_TOP_OF_MEMORY
+ default "0x306000" if CONFIG_AT91SAM9XEEK
+ default "0x304000" if CONFIG_AT91SAM9G10EK
+ default "0x304000" if CONFIG_AT91SAM9G20EK
++ default "0x304000" if CONFIG_AT91SAM9G20EK_2MMC
+ default "0x30A000" if CONFIG_AT91SAM9G45EK
+ default "0x30A000" if CONFIG_AT91SAM9G45EKES
+ default "0x30A000" if CONFIG_AT91SAM9M10EK
+diff --git a/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmc.c b/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmc.c
+new file mode 100644
+index 0000000..3a84c83
+--- /dev/null
++++ b/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmc.c
+@@ -0,0 +1,357 @@
++/* ----------------------------------------------------------------------------
++ * ATMEL Microcontroller Software Support - ROUSSET -
++ * ----------------------------------------------------------------------------
++ * Copyright (c) 2008, Atmel Corporation
++
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions are met:
++ *
++ * - Redistributions of source code must retain the above copyright notice,
++ * this list of conditions and the disclaimer below.
++ *
++ * Atmel's name may not be used to endorse or promote products derived from
++ * this software without specific prior written permission.
++ *
++ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
++ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
++ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
++ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
++ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
++ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ----------------------------------------------------------------------------
++ * File Name : at91sam9g20ek.c
++ * Object :
++ * Creation : NFe Jan 2008
++ *-----------------------------------------------------------------------------
++ */
++#if defined(WINCE) && !defined(CONFIG_AT91SAM9G20EK_2MMC)
++
++#else
++
++#include "board-support.h"
++
++int get_cp15(void);
++
++void set_cp15(unsigned int value);
++
++int get_cpsr(void);
++
++void set_cpsr(unsigned int value);
++
++#ifdef CONFIG_HW_INIT
++/*----------------------------------------------------------------------------*/
++/* \fn hw_init */
++/* \brief This function performs very low level HW initialization */
++/* This function is invoked as soon as possible during the c_startup */
++/* The bss segment must be initialized */
++/*----------------------------------------------------------------------------*/
++void hw_init(void)
++{
++ unsigned int cp15;
++
++ /*
++ * Configure PIOs
++ */
++ const struct pio_desc hw_pio[] = {
++#ifdef CONFIG_DEBUG
++ {"RXD", AT91C_PIN_PB(14), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"TXD", AT91C_PIN_PB(15), 0, PIO_DEFAULT, PIO_PERIPH_A},
++#endif
++ {(char *)0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
++ };
++
++ /*
++ * Disable watchdog
++ */
++ writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR);
++
++ /*
++ * At this stage the main oscillator is supposed to be enabled
++ * * PCK = MCK = MOSC
++ */
++ writel(0x00, AT91C_BASE_PMC + PMC_PLLICPR);
++
++ /*
++ * Configure PLLA = MOSC * (PLL_MULA + 1) / PLL_DIVA
++ */
++ pmc_cfg_plla(PLLA_SETTINGS, PLL_LOCK_TIMEOUT);
++
++ /*
++ * PCK = PLLA/2 = 3 * MCK
++ */
++ pmc_cfg_mck(MCKR_SETTINGS, PLL_LOCK_TIMEOUT);
++ /*
++ * Switch MCK on PLLA output
++ */
++ pmc_cfg_mck(MCKR_CSS_SETTINGS, PLL_LOCK_TIMEOUT);
++
++ /*
++ * Configure PLLB
++ */
++ pmc_cfg_pllb(PLLB_SETTINGS, PLL_LOCK_TIMEOUT);
++
++ /*
++ * Enable External Reset
++ */
++ writel(AT91C_RSTC_KEY_UNLOCK
++ || AT91C_RSTC_URSTEN, AT91C_BASE_RSTC + RSTC_RMR);
++
++ /*
++ * Configure CP15
++ */
++ cp15 = get_cp15();
++ //cp15 |= I_CACHE;
++ set_cp15(cp15);
++
++ /*
++ * Enable External Reset
++ */
++ writel(AT91C_RSTC_KEY_UNLOCK
++ || AT91C_RSTC_URSTEN, AT91C_BASE_RSTC + RSTC_RMR);
++ /*
++ * Configure the PIO controller
++ */
++ pio_setup(hw_pio);
++
++ /*
++ * Configure the EBI Slave Slot Cycle to 64
++ */
++ writel((readl((AT91C_BASE_MATRIX + MATRIX_SCFG3)) & ~0xFF) | 0x40,
++ (AT91C_BASE_MATRIX + MATRIX_SCFG3));
++
++#ifdef CONFIG_DEBUG
++ /*
++ * Enable Debug messages on the DBGU
++ */
++ dbgu_init(BAUDRATE(MASTER_CLOCK, 115200));
++ dbgu_print("Start AT91Bootstrap...\n\r");
++#endif /* CONFIG_DEBUG */
++
++#ifdef CONFIG_SDRAM
++ /*
++ * Initialize the matrix (memory voltage = 3.3)
++ */
++ writel((readl(AT91C_BASE_CCFG + CCFG_EBICSA)) | AT91C_EBI_CS1A_SDRAMC |
++ (1 << 16), AT91C_BASE_CCFG + CCFG_EBICSA);
++
++ /*
++ * Configure SDRAM Controller
++ */
++ sdram_init(AT91C_SDRAMC_NC_9 | AT91C_SDRAMC_NR_13 | AT91C_SDRAMC_CAS_3 | AT91C_SDRAMC_NB_4_BANKS | AT91C_SDRAMC_DBW_32_BITS | AT91C_SDRAMC_TWR_3 | AT91C_SDRAMC_TRC_9 | AT91C_SDRAMC_TRP_3 | AT91C_SDRAMC_TRCD_3 | AT91C_SDRAMC_TRAS_6 | AT91C_SDRAMC_TXSR_10, /* Control Register */
++ (MASTER_CLOCK * 7) / 1000000, /* Refresh Timer Register */
++ AT91C_SDRAMC_MD_SDRAM); /* SDRAM (no low power) */
++
++#endif /* CONFIG_SDRAM */
++}
++#endif /* CONFIG_HW_INIT */
++
++#ifdef CONFIG_SDRAM
++/*------------------------------------------------------------------------------*/
++/* \fn sdramc_hw_init */
++/* \brief This function performs SDRAMC HW initialization */
++/*------------------------------------------------------------------------------*/
++void sdramc_hw_init(void)
++{
++ /*
++ * Configure PIOs
++ */
++/* const struct pio_desc sdramc_pio[] = {
++ {"D16", AT91C_PIN_PC(16), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D17", AT91C_PIN_PC(17), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D18", AT91C_PIN_PC(18), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D19", AT91C_PIN_PC(19), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D20", AT91C_PIN_PC(20), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D21", AT91C_PIN_PC(21), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D22", AT91C_PIN_PC(22), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D23", AT91C_PIN_PC(23), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D24", AT91C_PIN_PC(24), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D25", AT91C_PIN_PC(25), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D26", AT91C_PIN_PC(26), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D27", AT91C_PIN_PC(27), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D28", AT91C_PIN_PC(28), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D29", AT91C_PIN_PC(29), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D30", AT91C_PIN_PC(30), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"D31", AT91C_PIN_PC(31), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
++ };
++*/
++ /*
++ * Configure the SDRAMC PIO controller to output PCK0
++ */
++/* pio_setup(sdramc_pio); */
++
++ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_ASR(0));
++ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_PDR(0));
++
++}
++#endif /* CONFIG_SDRAM */
++
++#ifdef CONFIG_DATAFLASH
++#if defined(CONFIG_DATAFLASH_RECOVERY)
++/*------------------------------------------------------------------------------*/
++/* \fn df_recovery */
++/* \brief This function erases DataFlash Page 0 if BP4 is pressed */
++/* during boot sequence */
++/*------------------------------------------------------------------------------*/
++void df_recovery(AT91PS_DF pDf)
++{
++#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS1_DATAFLASH)
++ /*
++ * Configure PIOs
++ */
++ const struct pio_desc bp4_pio[] = {
++ {"BP4", AT91C_PIN_PA(31), 0, PIO_PULLUP, PIO_INPUT},
++ {(char *)0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
++ };
++
++ /*
++ * Configure the PIO controller
++ */
++ writel((1 << AT91C_ID_PIOA), PMC_PCER + AT91C_BASE_PMC);
++ pio_setup(bp4_pio);
++
++ /*
++ * If BP4 is pressed during Boot sequence
++ */
++ /*
++ * Erase NandFlash block 0
++ */
++ if (!pio_get_value(AT91C_PIN_PA(31)))
++ df_page_erase(pDf, 0);
++#endif
++}
++#endif
++
++/*------------------------------------------------------------------------------*/
++/* \fn df_hw_init */
++/* \brief This function performs DataFlash HW initialization */
++/*------------------------------------------------------------------------------*/
++void df_hw_init(void)
++{
++ /*
++ * Configure PIOs
++ */
++ const struct pio_desc df_pio[] = {
++ {"MISO", AT91C_PIN_PA(0), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"MOSI", AT91C_PIN_PA(1), 0, PIO_DEFAULT, PIO_PERIPH_A},
++ {"SPCK", AT91C_PIN_PA(2), 0, PIO_DEFAULT, PIO_PERIPH_A},
++#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH)
++ {"NPCS0", AT91C_PIN_PA(3), 0, PIO_DEFAULT, PIO_PERIPH_A},
++#endif
++#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS1_DATAFLASH)
++ {"NPCS1", AT91C_PIN_PC(11), 0, PIO_DEFAULT, PIO_PERIPH_B},
++#endif
++ {(char *)0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
++ };
++
++ /*
++ * Configure the PIO controller
++ */
++ pio_setup(df_pio);
++}
++#endif /* CONFIG_DATAFLASH */
++
++#ifdef CONFIG_NANDFLASH
++/*------------------------------------------------------------------------------*/
++/* \fn nand_recovery */
++/* \brief This function erases NandFlash Block 0 if BP4 is pressed */
++/* during boot sequence */
++/*------------------------------------------------------------------------------*/
++static void nand_recovery(void)
++{
++ /*
++ * Configure PIOs
++ */
++ const struct pio_desc bp4_pio[] = {
++ {"BP4", AT91C_PIN_PA(31), 0, PIO_PULLUP, PIO_INPUT},
++ {(char *)0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
++ };
++
++ /*
++ * Configure the PIO controller
++ */
++ writel((1 << AT91C_ID_PIOA), PMC_PCER + AT91C_BASE_PMC);
++ pio_setup(bp4_pio);
++
++ /*
++ * If BP4 is pressed during Boot sequence
++ */
++ /*
++ * Erase NandFlash block 0
++ */
++ if (!pio_get_value(AT91C_PIN_PA(31)))
++ AT91F_NandEraseBlock0();
++}
++
++/*------------------------------------------------------------------------------*/
++/* \fn nandflash_hw_init */
++/* \brief NandFlash HW init */
++/*------------------------------------------------------------------------------*/
++void nandflash_hw_init(void)
++{
++ /*
++ * Configure PIOs
++ */
++ const struct pio_desc nand_pio[] = {
++ {"RDY_BSY", AT91C_PIN_PC(13), 0, PIO_PULLUP, PIO_INPUT},
++ {"NANDCS", AT91C_PIN_PC(14), 0, PIO_PULLUP, PIO_OUTPUT},
++ {(char *)0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
++ };
++
++ /*
++ * Setup Smart Media, first enable the address range of CS3 in HMATRIX user interface
++ */
++ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS3A_SM,
++ AT91C_BASE_CCFG + CCFG_EBICSA);
++
++ /*
++ * Configure SMC CS3
++ */
++ writel((AT91C_SM_NWE_SETUP | AT91C_SM_NCS_WR_SETUP | AT91C_SM_NRD_SETUP |
++ AT91C_SM_NCS_RD_SETUP), AT91C_BASE_SMC + SMC_SETUP3);
++ writel((AT91C_SM_NWE_PULSE | AT91C_SM_NCS_WR_PULSE | AT91C_SM_NRD_PULSE |
++ AT91C_SM_NCS_RD_PULSE), AT91C_BASE_SMC + SMC_PULSE3);
++ writel((AT91C_SM_NWE_CYCLE | AT91C_SM_NRD_CYCLE),
++ AT91C_BASE_SMC + SMC_CYCLE3);
++ writel((AT91C_SMC_READMODE | AT91C_SMC_WRITEMODE |
++ AT91C_SMC_NWAITM_NWAIT_DISABLE | AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS |
++ AT91C_SM_TDF), AT91C_BASE_SMC + SMC_CTRL3);
++
++ /*
++ * Configure the PIO controller
++ */
++ writel((1 << AT91C_ID_PIOC), PMC_PCER + AT91C_BASE_PMC);
++ pio_setup(nand_pio);
++
++ nand_recovery();
++}
++
++/*------------------------------------------------------------------------------*/
++/* \fn nandflash_cfg_16bits_dbw_init */
++/* \brief Configure SMC in 16 bits mode */
++/*------------------------------------------------------------------------------*/
++void nandflash_cfg_16bits_dbw_init(void)
++{
++ writel(readl(AT91C_BASE_SMC + SMC_CTRL3) | AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS,
++ AT91C_BASE_SMC + SMC_CTRL3);
++}
++
++/*------------------------------------------------------------------------------*/
++/* \fn nandflash_cfg_8bits_dbw_init */
++/* \brief Configure SMC in 8 bits mode */
++/*------------------------------------------------------------------------------*/
++void nandflash_cfg_8bits_dbw_init(void)
++{
++ writel((readl(AT91C_BASE_SMC + SMC_CTRL3) & ~(AT91C_SMC_DBW)) |
++ AT91C_SMC_DBW_WIDTH_EIGTH_BITS, AT91C_BASE_SMC + SMC_CTRL3);
++}
++
++#endif /* #ifdef CONFIG_NANDFLASH */
++
++#endif /* CONFIG_AT91SAM9G20EK */
+diff --git a/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmc.h b/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmc.h
+new file mode 100644
+index 0000000..c1092eb
+--- /dev/null
++++ b/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmc.h
+@@ -0,0 +1,116 @@
++/* ----------------------------------------------------------------------------
++ * ATMEL Microcontroller Software Support - ROUSSET -
++ * ----------------------------------------------------------------------------
++ * Copyright (c) 2008, Atmel Corporation
++
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions are met:
++ *
++ * - Redistributions of source code must retain the above copyright notice,
++ * this list of conditions and the disclaimer below.
++ *
++ * Atmel's name may not be used to endorse or promote products derived from
++ * this software without specific prior written permission.
++ *
++ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
++ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
++ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
++ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
++ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
++ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ * ----------------------------------------------------------------------------
++ * File Name : at91sam9g20ek.h
++ * Object :
++ * Creation : NFe Jan 2008
++ *-----------------------------------------------------------------------------
++ */
++#ifndef _AT91SAM9G20EK_H
++#define _AT91SAM9G20EK_H
++
++/* ******************************************************************* */
++/* PMC Settings */
++/* */
++/* The main oscillator is enabled as soon as possible in the c_startup */
++/* and MCK is switched on the main oscillator. */
++/* PLL initialization is done later in the hw_init() function */
++/* ******************************************************************* */
++#define MASTER_CLOCK (132096000)
++#define TOP_OF_MEMORY 0x304000
++#define PLL_LOCK_TIMEOUT 1000000
++
++#define PLLA_SETTINGS 0x202A3F01
++#define PLLB_SETTINGS 0x10193F05
++
++/* Switch MCK on PLLA output PCK = PLLA/2 = 3 * MCK */
++#define MCKR_SETTINGS 0x1300
++#define MCKR_CSS_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | MCKR_SETTINGS)
++
++/* ******************************************************************* */
++/* DataFlash Settings */
++/* */
++/* ******************************************************************* */
++#define AT91C_BASE_SPI AT91C_BASE_SPI0
++#define AT91C_ID_SPI AT91C_ID_SPI0
++
++/* AC characteristics */
++/* DLYBS = tCSS= 250ns min and DLYBCT = tCSH = 250ns */
++#define DATAFLASH_TCSS (0x22 << 16)
++#define DATAFLASH_TCHS (0x1 << 24)
++
++#define DF_CS_SETTINGS (AT91C_SPI_NCPHA | (AT91C_SPI_DLYBS & DATAFLASH_TCSS) | (AT91C_SPI_DLYBCT & DATAFLASH_TCHS) | ((MASTER_CLOCK / AT91C_SPI_CLK) << 8))
++
++/* ******************************************************************* */
++/* NandFlash Settings */
++/* */
++/* ******************************************************************* */
++#define AT91C_SMARTMEDIA_BASE 0x40000000
++
++#define AT91_SMART_MEDIA_ALE (1 << 21) /* our ALE is AD21 */
++#define AT91_SMART_MEDIA_CLE (1 << 22) /* our CLE is AD22 */
++
++#define NAND_DISABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_SODR = AT91C_PIO_PC14;} while(0)
++#define NAND_ENABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_CODR = AT91C_PIO_PC14;} while(0)
++
++#define NAND_WAIT_READY() while (!(*(volatile unsigned int *)AT91C_PIOC_PDSR & AT91C_PIO_PC13))
++
++/* ******************************************************************** */
++/* SMC Chip Select 3 Timings for NandFlash for MASTER_CLOCK = 133000000.*/
++/* Please refer to SMC section in AT91SAM9 datasheet to learn how */
++/* to generate these values. */
++/* ******************************************************************** */
++#define AT91C_SM_NWE_SETUP (2 << 0)
++#define AT91C_SM_NCS_WR_SETUP (0 << 8)
++#define AT91C_SM_NRD_SETUP (2 << 16)
++#define AT91C_SM_NCS_RD_SETUP (0 << 24)
++
++#define AT91C_SM_NWE_PULSE (4 << 0)
++#define AT91C_SM_NCS_WR_PULSE (4 << 8)
++#define AT91C_SM_NRD_PULSE (4 << 16)
++#define AT91C_SM_NCS_RD_PULSE (4 << 24)
++
++#define AT91C_SM_NWE_CYCLE (7 << 0)
++#define AT91C_SM_NRD_CYCLE (7 << 16)
++
++#define AT91C_SM_TDF (3 << 16)
++
++#define OP_BOOTSTRAP_MCI_on
++#define BOARD_SD_PIN_CD \
++ {1 << 9, AT91C_BASE_PIOC, AT91C_ID_PIOC, PIO_INPUT, PIO_PULLUP}
++
++#define BOARD_SD_PINS \
++ {0x0000003B, AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_PERIPH_B, PIO_PULLUP}, \
++ {1 << 8, AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT}
++
++/// List of second MCI slot pins definitions.
++#define BOARD_SD_MCI1_PINS \
++ {0xec0, AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_PERIPH_A, PIO_PULLUP}, \
++ {1 << 8, AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT}
++
++#define at91sam9g20
++#endif /* _AT91SAM9G20EK_H */
+diff --git a/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmc_defconfig b/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmc_defconfig
+new file mode 100644
+index 0000000..30aa60d
+--- /dev/null
++++ b/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmc_defconfig
+@@ -0,0 +1,127 @@
++#
++# Automatically generated make config: don't edit
++# Thu Oct 27 21:23:50 2011
++#
++HAVE_DOT_CONFIG=y
++CONFIG_BOARDNAME="at91sam9g20ek_2mmc"
++# CONFIG_AT91SAM9260EK is not set
++# CONFIG_AT91SAM9261EK is not set
++# CONFIG_AT91SAM9263EK is not set
++# CONFIG_AT91SAM9RLEK is not set
++# CONFIG_AT91SAM9XEEK is not set
++# CONFIG_AT91SAM9G10EK is not set
++# CONFIG_AT91SAM9G20EK is not set
++CONFIG_AT91SAM9G20EK_2MMC=y
++# CONFIG_AT91SAM9G45EK is not set
++# CONFIG_AT91SAM9G45EKES is not set
++# CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
++# CONFIG_AT91CAP9ADK is not set
++# CONFIG_AT91CAP9STK is not set
++# CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
++CONFIG_CHIP="AT91SAM9G20"
++CONFIG_BOARD="at91sam9g20ek_2mmc"
++CONFIG_MACH_TYPE="0x8F0"
++CONFIG_LINK_ADDR="0x000000"
++CONFIG_TOP_OF_MEMORY="0x304000"
++# CONFIG_CRYSTAL_12_000MHZ is not set
++# CONFIG_CRYSTAL_16_000MHZ is not set
++# CONFIG_CRYSTAL_16_36766MHZ is not set
++CONFIG_CRYSTAL_18_432MHZ=y
++ALLOW_CRYSTAL_18_432MHZ=y
++CONFIG_CRYSTAL="CRYSTAL_18_432MHZ"
++# CONFIG_CPU_CLK_166MHZ is not set
++# CONFIG_CPU_CLK_180MHZ is not set
++# CONFIG_CPU_CLK_200MHZ is not set
++# CONFIG_CPU_CLK_240MHZ is not set
++# CONFIG_CPU_CLK_266MHZ is not set
++CONFIG_CPU_CLK_400MHZ=y
++ALLOW_CPU_CLK_400MHZ=y
++# DISABLE_CPU_CLK_240MHZ is not set
++# CONFIG_BUS_SPEED_83MHZ is not set
++# CONFIG_BUS_SPEED_90MHZ is not set
++# CONFIG_BUS_SPEED_100MHZ is not set
++CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
++
++#
++# Memory selection
++#
++CONFIG_SDRAM=y
++# CONFIG_SDDRC is not set
++# CONFIG_DDR2 is not set
++ALLOW_DATAFLASH=y
++# ALLOW_FLASH is not set
++ALLOW_NANDFLASH=y
++ALLOW_SDCARD=y
++# ALLOW_HSMCI is not set
++# ALLOW_PSRAM is not set
++# ALLOW_SDRAM_16BIT is not set
++# CONFIG_RAM_32MB is not set
++CONFIG_RAM_64MB=y
++# CONFIG_RAM_128MB is not set
++# CONFIG_RAM_256MB is not set
++CONFIG_DATAFLASH=y
++# CONFIG_FLASH is not set
++# CONFIG_NANDFLASH is not set
++# CONFIG_SDCARD is not set
++CONFIG_MEMORY="dataflash"
++# CONFIG_SDCARD_HS is not set
++
++#
++# SPI configuration
++#
++CONFIG_SPI_CLK=33000000
++CONFIG_SMALL_DATAFLASH=y
++CONFIG_DATAFLASH_RECOVERY=y
++ALLOW_DATAFLASH_RECOVERY=y
++# CONFIG_SPI_BOOT_CS0 is not set
++CONFIG_SPI_BOOT_CS1=y
++# CONFIG_SPI_BOOT_CS2 is not set
++# CONFIG_SPI_BOOT_CS3 is not set
++ALLOW_BOOT_FROM_DATAFLASH_CS0=y
++ALLOW_BOOT_FROM_DATAFLASH_CS1=y
++# ALLOW_BOOT_FROM_DATAFLASH_CS2 is not set
++# ALLOW_BOOT_FROM_DATAFLASH_CS3 is not set
++DATAFLASHCARD_ON_CS0=y
++# DATAFLASHCARD_ON_CS1 is not set
++# DATAFLASHCARD_ON_CS2 is not set
++# DATAFLASHCARD_ON_CS3 is not set
++# CONFIG_DATAFLASHCARD is not set
++CONFIG_CARD_SUFFIX=""
++CONFIG_SPI_BOOT="AT91C_SPI_PCS1_DATAFLASH"
++CONFIG_SPI_MODE_0=y
++# CONFIG_SPI_MODE_1 is not set
++# CONFIG_SPI_MODE_2 is not set
++# CONFIG_SPI_MODE_3 is not set
++CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
++CONFIG_PROJECT="dataflash"
++CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
++# CONFIG_LOAD_64KB is not set
++# CONFIG_LOAD_1MB is not set
++# CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
++CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_SETTING_ADDRESS="0x00408400"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00050000"
++CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
++CONFIG_GLBDRV_ADDR="0x23F00000"
++# CONFIG_LONG_TEST is not set
++CONFIG_DEBUG=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_LOUD is not set
++# CONFIG_DEBUG_VERY_LOUD is not set
++CONFIG_HW_INIT=y
++# CONFIG_USER_HW_INIT is not set
++CONFIG_THUMB=y
++# CONFIG_SX_AT91 is not set
++# CONFIG_RAW_AT91 is not set
+diff --git a/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmcdf_defconfig b/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmcdf_defconfig
+new file mode 100644
+index 0000000..8e924fd
+--- /dev/null
++++ b/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmcdf_defconfig
+@@ -0,0 +1,127 @@
++#
++# Automatically generated make config: don't edit
++# Thu Oct 27 21:23:51 2011
++#
++HAVE_DOT_CONFIG=y
++CONFIG_BOARDNAME="at91sam9g20ek_2mmcdf"
++# CONFIG_AT91SAM9260EK is not set
++# CONFIG_AT91SAM9261EK is not set
++# CONFIG_AT91SAM9263EK is not set
++# CONFIG_AT91SAM9RLEK is not set
++# CONFIG_AT91SAM9XEEK is not set
++# CONFIG_AT91SAM9G10EK is not set
++# CONFIG_AT91SAM9G20EK is not set
++CONFIG_AT91SAM9G20EK_2MMC=y
++# CONFIG_AT91SAM9G45EK is not set
++# CONFIG_AT91SAM9G45EKES is not set
++# CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
++# CONFIG_AT91CAP9ADK is not set
++# CONFIG_AT91CAP9STK is not set
++# CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
++CONFIG_CHIP="AT91SAM9G20"
++CONFIG_BOARD="at91sam9g20ek_2mmc"
++CONFIG_MACH_TYPE="0x8F0"
++CONFIG_LINK_ADDR="0x000000"
++CONFIG_TOP_OF_MEMORY="0x304000"
++# CONFIG_CRYSTAL_12_000MHZ is not set
++# CONFIG_CRYSTAL_16_000MHZ is not set
++# CONFIG_CRYSTAL_16_36766MHZ is not set
++CONFIG_CRYSTAL_18_432MHZ=y
++ALLOW_CRYSTAL_18_432MHZ=y
++CONFIG_CRYSTAL="CRYSTAL_18_432MHZ"
++# CONFIG_CPU_CLK_166MHZ is not set
++# CONFIG_CPU_CLK_180MHZ is not set
++# CONFIG_CPU_CLK_200MHZ is not set
++# CONFIG_CPU_CLK_240MHZ is not set
++# CONFIG_CPU_CLK_266MHZ is not set
++CONFIG_CPU_CLK_400MHZ=y
++ALLOW_CPU_CLK_400MHZ=y
++# DISABLE_CPU_CLK_240MHZ is not set
++# CONFIG_BUS_SPEED_83MHZ is not set
++# CONFIG_BUS_SPEED_90MHZ is not set
++# CONFIG_BUS_SPEED_100MHZ is not set
++CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
++
++#
++# Memory selection
++#
++CONFIG_SDRAM=y
++# CONFIG_SDDRC is not set
++# CONFIG_DDR2 is not set
++ALLOW_DATAFLASH=y
++# ALLOW_FLASH is not set
++ALLOW_NANDFLASH=y
++ALLOW_SDCARD=y
++# ALLOW_HSMCI is not set
++# ALLOW_PSRAM is not set
++# ALLOW_SDRAM_16BIT is not set
++# CONFIG_RAM_32MB is not set
++CONFIG_RAM_64MB=y
++# CONFIG_RAM_128MB is not set
++# CONFIG_RAM_256MB is not set
++CONFIG_DATAFLASH=y
++# CONFIG_FLASH is not set
++# CONFIG_NANDFLASH is not set
++# CONFIG_SDCARD is not set
++CONFIG_MEMORY="dataflash"
++# CONFIG_SDCARD_HS is not set
++
++#
++# SPI configuration
++#
++CONFIG_SPI_CLK=33000000
++CONFIG_SMALL_DATAFLASH=y
++CONFIG_DATAFLASH_RECOVERY=y
++ALLOW_DATAFLASH_RECOVERY=y
++# CONFIG_SPI_BOOT_CS0 is not set
++CONFIG_SPI_BOOT_CS1=y
++# CONFIG_SPI_BOOT_CS2 is not set
++# CONFIG_SPI_BOOT_CS3 is not set
++ALLOW_BOOT_FROM_DATAFLASH_CS0=y
++ALLOW_BOOT_FROM_DATAFLASH_CS1=y
++# ALLOW_BOOT_FROM_DATAFLASH_CS2 is not set
++# ALLOW_BOOT_FROM_DATAFLASH_CS3 is not set
++DATAFLASHCARD_ON_CS0=y
++# DATAFLASHCARD_ON_CS1 is not set
++# DATAFLASHCARD_ON_CS2 is not set
++# DATAFLASHCARD_ON_CS3 is not set
++# CONFIG_DATAFLASHCARD is not set
++CONFIG_CARD_SUFFIX=""
++CONFIG_SPI_BOOT="AT91C_SPI_PCS1_DATAFLASH"
++CONFIG_SPI_MODE_0=y
++# CONFIG_SPI_MODE_1 is not set
++# CONFIG_SPI_MODE_2 is not set
++# CONFIG_SPI_MODE_3 is not set
++CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
++CONFIG_PROJECT="dataflash"
++CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
++# CONFIG_LOAD_64KB is not set
++# CONFIG_LOAD_1MB is not set
++# CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
++CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_SETTING_ADDRESS="0x00408400"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00050000"
++CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
++CONFIG_GLBDRV_ADDR="0x23F00000"
++# CONFIG_LONG_TEST is not set
++CONFIG_DEBUG=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_LOUD is not set
++# CONFIG_DEBUG_VERY_LOUD is not set
++CONFIG_HW_INIT=y
++# CONFIG_USER_HW_INIT is not set
++CONFIG_THUMB=y
++# CONFIG_SX_AT91 is not set
++# CONFIG_RAW_AT91 is not set
+diff --git a/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmcdfc_defconfig b/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmcdfc_defconfig
+new file mode 100644
+index 0000000..7e9e31d
+--- /dev/null
++++ b/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmcdfc_defconfig
+@@ -0,0 +1,127 @@
++#
++# Automatically generated make config: don't edit
++# Thu Oct 27 21:23:51 2011
++#
++HAVE_DOT_CONFIG=y
++CONFIG_BOARDNAME="at91sam9g20ek_2mmcdfc"
++# CONFIG_AT91SAM9260EK is not set
++# CONFIG_AT91SAM9261EK is not set
++# CONFIG_AT91SAM9263EK is not set
++# CONFIG_AT91SAM9RLEK is not set
++# CONFIG_AT91SAM9XEEK is not set
++# CONFIG_AT91SAM9G10EK is not set
++# CONFIG_AT91SAM9G20EK is not set
++CONFIG_AT91SAM9G20EK_2MMC=y
++# CONFIG_AT91SAM9G45EK is not set
++# CONFIG_AT91SAM9G45EKES is not set
++# CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
++# CONFIG_AT91CAP9ADK is not set
++# CONFIG_AT91CAP9STK is not set
++# CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
++CONFIG_CHIP="AT91SAM9G20"
++CONFIG_BOARD="at91sam9g20ek_2mmc"
++CONFIG_MACH_TYPE="0x8F0"
++CONFIG_LINK_ADDR="0x000000"
++CONFIG_TOP_OF_MEMORY="0x304000"
++# CONFIG_CRYSTAL_12_000MHZ is not set
++# CONFIG_CRYSTAL_16_000MHZ is not set
++# CONFIG_CRYSTAL_16_36766MHZ is not set
++CONFIG_CRYSTAL_18_432MHZ=y
++ALLOW_CRYSTAL_18_432MHZ=y
++CONFIG_CRYSTAL="CRYSTAL_18_432MHZ"
++# CONFIG_CPU_CLK_166MHZ is not set
++# CONFIG_CPU_CLK_180MHZ is not set
++# CONFIG_CPU_CLK_200MHZ is not set
++# CONFIG_CPU_CLK_240MHZ is not set
++# CONFIG_CPU_CLK_266MHZ is not set
++CONFIG_CPU_CLK_400MHZ=y
++ALLOW_CPU_CLK_400MHZ=y
++# DISABLE_CPU_CLK_240MHZ is not set
++# CONFIG_BUS_SPEED_83MHZ is not set
++# CONFIG_BUS_SPEED_90MHZ is not set
++# CONFIG_BUS_SPEED_100MHZ is not set
++CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
++
++#
++# Memory selection
++#
++CONFIG_SDRAM=y
++# CONFIG_SDDRC is not set
++# CONFIG_DDR2 is not set
++ALLOW_DATAFLASH=y
++# ALLOW_FLASH is not set
++ALLOW_NANDFLASH=y
++ALLOW_SDCARD=y
++# ALLOW_HSMCI is not set
++# ALLOW_PSRAM is not set
++# ALLOW_SDRAM_16BIT is not set
++# CONFIG_RAM_32MB is not set
++CONFIG_RAM_64MB=y
++# CONFIG_RAM_128MB is not set
++# CONFIG_RAM_256MB is not set
++CONFIG_DATAFLASH=y
++# CONFIG_FLASH is not set
++# CONFIG_NANDFLASH is not set
++# CONFIG_SDCARD is not set
++CONFIG_MEMORY="dataflash"
++# CONFIG_SDCARD_HS is not set
++
++#
++# SPI configuration
++#
++CONFIG_SPI_CLK=33000000
++CONFIG_SMALL_DATAFLASH=y
++CONFIG_DATAFLASH_RECOVERY=y
++ALLOW_DATAFLASH_RECOVERY=y
++CONFIG_SPI_BOOT_CS0=y
++# CONFIG_SPI_BOOT_CS1 is not set
++# CONFIG_SPI_BOOT_CS2 is not set
++# CONFIG_SPI_BOOT_CS3 is not set
++ALLOW_BOOT_FROM_DATAFLASH_CS0=y
++ALLOW_BOOT_FROM_DATAFLASH_CS1=y
++# ALLOW_BOOT_FROM_DATAFLASH_CS2 is not set
++# ALLOW_BOOT_FROM_DATAFLASH_CS3 is not set
++DATAFLASHCARD_ON_CS0=y
++# DATAFLASHCARD_ON_CS1 is not set
++# DATAFLASHCARD_ON_CS2 is not set
++# DATAFLASHCARD_ON_CS3 is not set
++CONFIG_DATAFLASHCARD=y
++CONFIG_CARD_SUFFIX="card"
++CONFIG_SPI_BOOT="AT91C_SPI_PCS0_DATAFLASH"
++CONFIG_SPI_MODE_0=y
++# CONFIG_SPI_MODE_1 is not set
++# CONFIG_SPI_MODE_2 is not set
++# CONFIG_SPI_MODE_3 is not set
++CONFIG_SPI_MODE=0
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
++CONFIG_PROJECT="dataflash"
++CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
++# CONFIG_LOAD_64KB is not set
++# CONFIG_LOAD_1MB is not set
++# CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
++CONFIG_IMG_ADDRESS="0x00008400"
++CONFIG_SETTING_ADDRESS="0x00408400"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00050000"
++CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
++CONFIG_GLBDRV_ADDR="0x23F00000"
++# CONFIG_LONG_TEST is not set
++CONFIG_DEBUG=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_LOUD is not set
++# CONFIG_DEBUG_VERY_LOUD is not set
++CONFIG_HW_INIT=y
++# CONFIG_USER_HW_INIT is not set
++# CONFIG_THUMB is not set
++CONFIG_SX_AT91=y
++CONFIG_RAW_AT91=y
+diff --git a/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmcnf_defconfig b/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmcnf_defconfig
+new file mode 100644
+index 0000000..477eac8
+--- /dev/null
++++ b/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmcnf_defconfig
+@@ -0,0 +1,109 @@
++#
++# Automatically generated make config: don't edit
++# Thu Oct 27 21:23:51 2011
++#
++HAVE_DOT_CONFIG=y
++CONFIG_BOARDNAME="at91sam9g20ek_2mmcnf"
++# CONFIG_AT91SAM9260EK is not set
++# CONFIG_AT91SAM9261EK is not set
++# CONFIG_AT91SAM9263EK is not set
++# CONFIG_AT91SAM9RLEK is not set
++# CONFIG_AT91SAM9XEEK is not set
++# CONFIG_AT91SAM9G10EK is not set
++# CONFIG_AT91SAM9G20EK is not set
++CONFIG_AT91SAM9G20EK_2MMC=y
++# CONFIG_AT91SAM9G45EK is not set
++# CONFIG_AT91SAM9G45EKES is not set
++# CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
++# CONFIG_AT91CAP9ADK is not set
++# CONFIG_AT91CAP9STK is not set
++# CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
++CONFIG_CHIP="AT91SAM9G20"
++CONFIG_BOARD="at91sam9g20ek_2mmc"
++CONFIG_MACH_TYPE="0x8F0"
++CONFIG_LINK_ADDR="0x000000"
++CONFIG_TOP_OF_MEMORY="0x304000"
++# CONFIG_CRYSTAL_12_000MHZ is not set
++# CONFIG_CRYSTAL_16_000MHZ is not set
++# CONFIG_CRYSTAL_16_36766MHZ is not set
++CONFIG_CRYSTAL_18_432MHZ=y
++ALLOW_CRYSTAL_18_432MHZ=y
++CONFIG_CRYSTAL="CRYSTAL_18_432MHZ"
++# CONFIG_CPU_CLK_166MHZ is not set
++# CONFIG_CPU_CLK_180MHZ is not set
++# CONFIG_CPU_CLK_200MHZ is not set
++# CONFIG_CPU_CLK_240MHZ is not set
++# CONFIG_CPU_CLK_266MHZ is not set
++CONFIG_CPU_CLK_400MHZ=y
++ALLOW_CPU_CLK_400MHZ=y
++# DISABLE_CPU_CLK_240MHZ is not set
++# CONFIG_BUS_SPEED_83MHZ is not set
++# CONFIG_BUS_SPEED_90MHZ is not set
++# CONFIG_BUS_SPEED_100MHZ is not set
++CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
++
++#
++# Memory selection
++#
++CONFIG_SDRAM=y
++# CONFIG_SDDRC is not set
++# CONFIG_DDR2 is not set
++ALLOW_DATAFLASH=y
++# ALLOW_FLASH is not set
++ALLOW_NANDFLASH=y
++ALLOW_SDCARD=y
++# ALLOW_HSMCI is not set
++# ALLOW_PSRAM is not set
++# ALLOW_SDRAM_16BIT is not set
++# CONFIG_RAM_32MB is not set
++CONFIG_RAM_64MB=y
++# CONFIG_RAM_128MB is not set
++# CONFIG_RAM_256MB is not set
++# CONFIG_DATAFLASH is not set
++# CONFIG_FLASH is not set
++CONFIG_NANDFLASH=y
++# CONFIG_SDCARD is not set
++CONFIG_ENABLE_SW_ECC=y
++CONFIG_MEMORY="nandflash"
++# CONFIG_SDCARD_HS is not set
++ALLOW_DATAFLASH_RECOVERY=y
++ALLOW_BOOT_FROM_DATAFLASH_CS0=y
++ALLOW_BOOT_FROM_DATAFLASH_CS1=y
++DATAFLASHCARD_ON_CS0=y
++
++#
++# NAND Flash configuration
++#
++# CONFIG_NANDFLASH_SMALL_BLOCKS is not set
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
++CONFIG_PROJECT="nandflash"
++CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
++# CONFIG_LOAD_64KB is not set
++# CONFIG_LOAD_1MB is not set
++# CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00040000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
++CONFIG_IMG_ADDRESS="0x00020000"
++CONFIG_SETTING_ADDRESS="0x01FE0000"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00050000"
++CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
++CONFIG_GLBDRV_ADDR="0x23F00000"
++# CONFIG_LONG_TEST is not set
++CONFIG_DEBUG=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_LOUD is not set
++# CONFIG_DEBUG_VERY_LOUD is not set
++CONFIG_HW_INIT=y
++# CONFIG_USER_HW_INIT is not set
++CONFIG_THUMB=y
++# CONFIG_SX_AT91 is not set
++# CONFIG_RAW_AT91 is not set
+diff --git a/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmcsd_defconfig b/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmcsd_defconfig
+new file mode 100644
+index 0000000..3f78566
+--- /dev/null
++++ b/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmcsd_defconfig
+@@ -0,0 +1,104 @@
++#
++# Automatically generated make config: don't edit
++# Thu Oct 27 21:56:00 2011
++#
++HAVE_DOT_CONFIG=y
++CONFIG_BOARDNAME="at91sam9g20ek_2mmcsd"
++# CONFIG_AT91SAM9260EK is not set
++# CONFIG_AT91SAM9261EK is not set
++# CONFIG_AT91SAM9263EK is not set
++# CONFIG_AT91SAM9RLEK is not set
++# CONFIG_AT91SAM9XEEK is not set
++# CONFIG_AT91SAM9G10EK is not set
++# CONFIG_AT91SAM9G20EK is not set
++CONFIG_AT91SAM9G20EK_2MMC=y
++# CONFIG_AT91SAM9G45EK is not set
++# CONFIG_AT91SAM9G45EKES is not set
++# CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
++# CONFIG_AT91CAP9ADK is not set
++# CONFIG_AT91CAP9STK is not set
++# CONFIG_AFEB9260 is not set
++# CONFIG_AT91SAM9X5EK is not set
++CONFIG_CHIP="AT91SAM9G20"
++CONFIG_BOARD="at91sam9g20ek_2mmc"
++CONFIG_MACH_TYPE="0x8F0"
++CONFIG_LINK_ADDR="0x000000"
++CONFIG_TOP_OF_MEMORY="0x304000"
++# CONFIG_CRYSTAL_12_000MHZ is not set
++# CONFIG_CRYSTAL_16_000MHZ is not set
++# CONFIG_CRYSTAL_16_36766MHZ is not set
++CONFIG_CRYSTAL_18_432MHZ=y
++ALLOW_CRYSTAL_18_432MHZ=y
++CONFIG_CRYSTAL="CRYSTAL_18_432MHZ"
++# CONFIG_CPU_CLK_166MHZ is not set
++# CONFIG_CPU_CLK_180MHZ is not set
++# CONFIG_CPU_CLK_200MHZ is not set
++# CONFIG_CPU_CLK_240MHZ is not set
++# CONFIG_CPU_CLK_266MHZ is not set
++CONFIG_CPU_CLK_400MHZ=y
++ALLOW_CPU_CLK_400MHZ=y
++# DISABLE_CPU_CLK_240MHZ is not set
++# CONFIG_BUS_SPEED_83MHZ is not set
++# CONFIG_BUS_SPEED_90MHZ is not set
++# CONFIG_BUS_SPEED_100MHZ is not set
++CONFIG_BUS_SPEED_133MHZ=y
++# ALLOW_PIO3 is not set
++# CPU_HAS_PMECC is not set
++
++#
++# Memory selection
++#
++CONFIG_SDRAM=y
++# CONFIG_SDDRC is not set
++# CONFIG_DDR2 is not set
++ALLOW_DATAFLASH=y
++# ALLOW_FLASH is not set
++ALLOW_NANDFLASH=y
++ALLOW_SDCARD=y
++# ALLOW_HSMCI is not set
++# ALLOW_PSRAM is not set
++# ALLOW_SDRAM_16BIT is not set
++# CONFIG_RAM_32MB is not set
++CONFIG_RAM_64MB=y
++# CONFIG_RAM_128MB is not set
++# CONFIG_RAM_256MB is not set
++# CONFIG_DATAFLASH is not set
++# CONFIG_FLASH is not set
++# CONFIG_NANDFLASH is not set
++CONFIG_SDCARD=y
++CONFIG_MEMORY="sdcard"
++# CONFIG_SDCARD_HS is not set
++ALLOW_DATAFLASH_RECOVERY=y
++ALLOW_BOOT_FROM_DATAFLASH_CS0=y
++ALLOW_BOOT_FROM_DATAFLASH_CS1=y
++DATAFLASHCARD_ON_CS0=y
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
++CONFIG_PROJECT="sdcard"
++CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
++# CONFIG_LOAD_64KB is not set
++# CONFIG_LOAD_1MB is not set
++# CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00000000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
++CONFIG_OS_IMAGE_NAME="at91sam9g20ek_2mmc\\\\u-boot.bin"
++CONFIG_IMG_ADDRESS="0x00000000"
++CONFIG_SETTING_ADDRESS="0x00000000"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00050000"
++CONFIG_JUMP_ADDR="0x23F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
++CONFIG_GLBDRV_ADDR="0x23F00000"
++# CONFIG_LONG_TEST is not set
++CONFIG_DEBUG=y
++# CONFIG_DEBUG_INFO is not set
++# CONFIG_DEBUG_LOUD is not set
++CONFIG_DEBUG_VERY_LOUD=y
++CONFIG_HW_INIT=y
++# CONFIG_USER_HW_INIT is not set
++CONFIG_THUMB=y
++# CONFIG_SX_AT91 is not set
++# CONFIG_RAW_AT91 is not set
+diff --git a/board/at91sam9g20ek_2mmc/board.mk b/board/at91sam9g20ek_2mmc/board.mk
+new file mode 100644
+index 0000000..6a4d544
+--- /dev/null
++++ b/board/at91sam9g20ek_2mmc/board.mk
+@@ -0,0 +1,5 @@
++CPPFLAGS += \
++ -DCONFIG_AT91SAM9G20EK_2MMC
++
++ASFLAGS += \
++ -DCONFIG_AT91SAM9G20EK_2MMC
+diff --git a/board/at91sam9g20ek_2mmc/makefile b/board/at91sam9g20ek_2mmc/makefile
+new file mode 100644
+index 0000000..0f3cbb0
+--- /dev/null
++++ b/board/at91sam9g20ek_2mmc/makefile
+@@ -0,0 +1,16 @@
++!if 0
++Copyright (c) Microsoft Corporation. All rights reserved.
++!endif
++!if 0
++Use of this source code is subject to the terms of the Microsoft end-user
++license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
++If you did not accept the terms of the EULA, you are not authorized to use
++this source code. For a copy of the EULA, please see the LICENSE.RTF on your
++install media.
++!endif
++#
++# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source
++# file to this component. This file merely indirects to the real make file
++# that is shared by all the components of Pegasus
++#
++!INCLUDE $(_MAKEENVROOT)\makefile.def
+diff --git a/board/at91sam9g20ek_2mmc/sources b/board/at91sam9g20ek_2mmc/sources
+new file mode 100644
+index 0000000..e1de4cc
+--- /dev/null
++++ b/board/at91sam9g20ek_2mmc/sources
+@@ -0,0 +1,127 @@
++TARGETNAME=at91sam9g20ek_2mmc
++TARGETTYPE=LIBRARY
++RELEASETYPE=PLATFORM
++
++CDEFINES=$(CDEFINES) -DWINCE
++
++WINCE_OVERRIDE_CFLAGS=/GL /O1 /Ob1 /Os /QRthumb
++!IF $(_WINCEOSVER) >= 600
++CDEFINES=$(CDEFINES) /GS-
++CDEFINES=$(CDEFINES) /DWINCE600
++!ENDIF
++
++!IF ("$(CONFIG_AT91SAM9260EK)" == "Y")
++CDEFINES=$(CDEFINES) -DCONFIG_AT91SAM9260EK
++CDEFINES=$(CDEFINES) -DCONFIG_SDRAM
++!ENDIF
++!IF ("$(AT91SAM9260)" == "Y")
++CDEFINES=$(CDEFINES) -DAT91SAM9260
++!ENDIF
++
++!IF ("$(CONFIG_AT91SAM9261EK)" == "Y")
++CDEFINES=$(CDEFINES) -DCONFIG_AT91SAM9261EK
++CDEFINES=$(CDEFINES) -DCONFIG_SDRAM
++!ENDIF
++!IF ("$(AT91SAM9261)" == "Y")
++CDEFINES=$(CDEFINES) -DAT91SAM9261
++!ENDIF
++
++!IF ("$(CONFIG_AT91SAM9263EK)" == "Y")
++CDEFINES=$(CDEFINES) -DCONFIG_AT91SAM9263EK
++CDEFINES=$(CDEFINES) -DCONFIG_SDRAM
++!ENDIF
++!IF ("$(AT91SAM9263)" == "Y")
++CDEFINES=$(CDEFINES) -DAT91SAM9263
++!ENDIF
++
++!IF ("$(CONFIG_AT91SAM9RLEK)" == "Y")
++CDEFINES=$(CDEFINES) -DCONFIG_AT91SAM9RLEK
++CDEFINES=$(CDEFINES) -DCONFIG_SDRAM
++!ENDIF
++!IF ("$(AT91SAM9RL)" == "Y")
++CDEFINES=$(CDEFINES) -DAT91SAM9RL
++!ENDIF
++
++!IF ("$(CONFIG_AT91SAM9G10EK)" == "Y")
++CDEFINES=$(CDEFINES) -DCONFIG_AT91SAM9G10EK
++CDEFINES=$(CDEFINES) -DCONFIG_SDRAM
++!ENDIF
++!IF ("$(AT91SAM9G10)" == "Y")
++CDEFINES=$(CDEFINES) -DAT91SAM9G10
++!ENDIF
++
++!IF ("$(CONFIG_AT91SAM9G20EK)" == "Y")
++CDEFINES=$(CDEFINES) -DCONFIG_AT91SAM9G20EK
++CDEFINES=$(CDEFINES) -DCONFIG_SDRAM
++!ENDIF
++!IF ("$(AT91SAM9G20)" == "Y")
++CDEFINES=$(CDEFINES) -DAT91SAM9G20
++!ENDIF
++
++!IF ("$(CONFIG_AT91SAM9G20EK_2MMC)" == "Y")
++CDEFINES=$(CDEFINES) -DCONFIG_AT91SAM9G20EK_2MMC
++CDEFINES=$(CDEFINES) -DCONFIG_SDRAM
++!ENDIF
++!IF ("$(AT91SAM9G20)" == "Y")
++CDEFINES=$(CDEFINES) -DAT91SAM9G20
++!ENDIF
++
++!IF ("$(CONFIG_AT91SAM9G45EK)" == "Y")
++CDEFINES=$(CDEFINES) -DCONFIG_AT91SAM9G45EK
++CDEFINES=$(CDEFINES) -DCONFIG_DDR2
++!ENDIF
++!IF ("$(AT91SAM9G45)" == "Y")
++CDEFINES=$(CDEFINES) -DAT91SAM9G45
++!ENDIF
++
++!IF ("$(CONFIG_AT91SAM9M10EK)" == "Y")
++CDEFINES=$(CDEFINES) -DCONFIG_AT91SAM9M10EK
++CDEFINES=$(CDEFINES) -DCONFIG_DDR2
++!ENDIF
++!IF ("$(AT91SAM9M10)" == "Y")
++CDEFINES=$(CDEFINES) -DAT91SAM9M10
++!ENDIF
++
++!IF ("$(CONFIG_DATAFLASH)" == "Y")
++CDEFINES=$(CDEFINES) -DCONFIG_DATAFLASH
++CDEFINES=$(CDEFINES) -DAT91C_SPI_PCS_DATAFLASH=0xD
++!ENDIF
++!IF ("$(CONFIG_NANDFLASH)" == "Y")
++CDEFINES=$(CDEFINES) -DCONFIG_NANDFLASH
++!ENDIF
++!IF ("$(CONFIG_SDCARD)" == "Y")
++CDEFINES=$(CDEFINES) -DCONFIG_SDCARD
++!ENDIF
++!IF ("$(CONFIG_SERIALFLASH)" == "Y")
++CDEFINES=$(CDEFINES) -DCONFIG_SERIALFLASH
++!ENDIF
++!IF ("$(CONFIG_EEPROM)" == "Y")
++CDEFINES=$(CDEFINES) -DCONFIG_EEPROM
++!ENDIF
++
++CDEFINES=$(CDEFINES) -DJUMP_ADDR=$(JUMP_ADDR)
++CDEFINES=$(CDEFINES) -DIMG_ADDRESS=$(IMG_ADDRESS)
++CDEFINES=$(CDEFINES) -DIMG_SIZE=$(IMG_SIZE)
++
++CDEFINES=$(CDEFINES) -DCONFIG_HW_INIT
++
++!IF ("$(CONFIG_DEBUG)" == "Y")
++CDEFINES=$(CDEFINES) -DCONFIG_DEBUG
++!ENDIF
++CDEFINES=$(CDEFINES) -DBOOTSTRAP_DEBUG_LEVEL
++
++!IF ("$(CONFIG_CPU_CLK_200MHZ)" == "Y")
++CDEFINES=$(CDEFINES) -DCONFIG_CPU_CLK_200MHZ
++!ENDIF
++!IF ("$(CONFIG_CPU_CLK_250MHZ)" == "Y")
++CDEFINES=$(CDEFINES) -DCONFIG_CPU_CLK_250MHZ
++!ENDIF
++!IF ("$(CONFIG_CPU_CLK_266MHZ)" == "Y")
++CDEFINES=$(CDEFINES) -DCONFIG_CPU_CLK_266MHZ
++!ENDIF
++
++INCLUDES=..\..\include; \
++ $(_WINCEROOT)\PUBLIC\COMMON\SDK\INC; \
++
++SOURCES= \
++ at91sam9g20ek.c \
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0029-Update-defconfigs.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0029-Update-defconfigs.patch
new file mode 100644
index 0000000000..1910527f24
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0029-Update-defconfigs.patch
@@ -0,0 +1,1451 @@
+From bb619567d769f58e57de34c972ab23f6cb1a3577 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Fri, 28 Oct 2011 12:36:15 +0200
+Subject: [PATCH 29/39] Update defconfigs
+
+---
+ board/afeb9260/afeb9260_defconfig | 3 +-
+ board/at91cap9adk/at91cap9adk_defconfig | 3 +-
+ board/at91cap9adk/at91cap9df_defconfig | 3 +-
+ board/at91cap9adk/at91cap9f_defconfig | 3 +-
+ board/at91cap9stk/at91cap9stk_defconfig | 3 +-
+ board/at91cap9stk/at91cap9stkdf_defconfig | 3 +-
+ board/at91cap9stk/at91cap9stkf_defconfig | 3 +-
+ board/at91sam9260ek/at91sam9260df_defconfig | 3 +-
+ board/at91sam9260ek/at91sam9260dfc_defconfig | 3 +-
+ board/at91sam9260ek/at91sam9260ek_defconfig | 3 +-
+ board/at91sam9260ek/at91sam9260nf_defconfig | 3 +-
+ board/at91sam9261ek/at91sam9261df_defconfig | 3 +-
+ board/at91sam9261ek/at91sam9261dfc_defconfig | 3 +-
+ board/at91sam9261ek/at91sam9261ek_defconfig | 3 +-
+ board/at91sam9261ek/at91sam9261nf_defconfig | 3 +-
+ board/at91sam9263ek/at91sam9263df_defconfig | 3 +-
+ board/at91sam9263ek/at91sam9263dfc_defconfig | 3 +-
+ board/at91sam9263ek/at91sam9263ek_defconfig | 3 +-
+ board/at91sam9263ek/at91sam9263nf_defconfig | 3 +-
+ board/at91sam9g10ek/at91sam9g10df_defconfig | 3 +-
+ board/at91sam9g10ek/at91sam9g10ek_defconfig | 3 +-
+ board/at91sam9g10ek/at91sam9g10nf_defconfig | 3 +-
+ board/at91sam9g10ek/at91sam9g10sd_defconfig | 7 +-
+ board/at91sam9g20ek/at91sam9g20df_defconfig | 3 +-
+ board/at91sam9g20ek/at91sam9g20dfc_defconfig | 3 +-
+ board/at91sam9g20ek/at91sam9g20ek_defconfig | 3 +-
+ board/at91sam9g20ek/at91sam9g20nf_defconfig | 3 +-
+ board/at91sam9g20ek/at91sam9g20sd_defconfig | 3 +-
+ board/at91sam9g45ek/at91sam9g45df_defconfig | 3 +-
+ board/at91sam9g45ek/at91sam9g45ek_defconfig | 3 +-
+ board/at91sam9g45ek/at91sam9g45nf_defconfig | 3 +-
+ board/at91sam9g45ek/at91sam9g45sd_defconfig | 3 +-
+ board/at91sam9g45ekes/at91sam9g45dfes_defconfig | 3 +-
+ board/at91sam9g45ekes/at91sam9g45ekes_defconfig | 3 +-
+ board/at91sam9g45ekes/at91sam9g45nfes_defconfig | 3 +-
+ .../at91sam9g45sdes_android_defconfig | 3 +-
+ board/at91sam9g45ekes/at91sam9g45sdes_defconfig | 3 +-
+ board/at91sam9m10ek/at91sam9m10df_defconfig | 3 +-
+ board/at91sam9m10ek/at91sam9m10ek_defconfig | 3 +-
+ board/at91sam9m10ek/at91sam9m10nf_defconfig | 3 +-
+ .../at91sam9m10ek/at91sam9m10sd_android_defconfig | 3 +-
+ board/at91sam9m10ek/at91sam9m10sd_defconfig | 3 +-
+ board/at91sam9m10ek/at91sam9m10sdu_defconfig | 3 +-
+ board/at91sam9m10ekes/at91sam9m10dfes_defconfig | 3 +-
+ board/at91sam9m10ekes/at91sam9m10ekes_defconfig | 3 +-
+ board/at91sam9m10ekes/at91sam9m10nfes_defconfig | 3 +-
+ board/at91sam9m10ekes/at91sam9m10sdes_defconfig | 3 +-
+ board/at91sam9rlek/at91sam9rldf_defconfig | 3 +-
+ board/at91sam9rlek/at91sam9rlek_defconfig | 3 +-
+ board/at91sam9rlek/at91sam9rlnf_defconfig | 3 +-
+ board/at91sam9rlek/at91sam9rlsd_defconfig | 3 +-
+ board/at91sam9x5ek/at91sam9x5df_defconfig | 10 ++-
+ board/at91sam9x5ek/at91sam9x5ek_defconfig | 3 +-
+ board/at91sam9x5ek/at91sam9x5nf_defconfig | 10 ++-
+ board/at91sam9x5ek/at91sam9x5sd_defconfig | 8 +-
+ board/at91sam9x5ek/at91sam9x5sd_uboot_defconfig | 105 ++++++++++++++++++++
+ board/at91sam9xeek/at91sam9xedf_defconfig | 3 +-
+ board/at91sam9xeek/at91sam9xedfc_defconfig | 3 +-
+ board/at91sam9xeek/at91sam9xeek_defconfig | 3 +-
+ board/at91sam9xeek/at91sam9xenf_defconfig | 3 +-
+ 60 files changed, 239 insertions(+), 66 deletions(-)
+ create mode 100644 board/at91sam9x5ek/at91sam9x5sd_uboot_defconfig
+
+diff --git a/board/afeb9260/afeb9260_defconfig b/board/afeb9260/afeb9260_defconfig
+index bd02fd3..7aa62fd 100644
+--- a/board/afeb9260/afeb9260_defconfig
++++ b/board/afeb9260/afeb9260_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:23 2011
++# Thu Oct 27 21:23:43 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="afeb9260"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="afeb9260"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91cap9adk/at91cap9adk_defconfig b/board/at91cap9adk/at91cap9adk_defconfig
+index 9d2791a..058c24f 100644
+--- a/board/at91cap9adk/at91cap9adk_defconfig
++++ b/board/at91cap9adk/at91cap9adk_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:23 2011
++# Thu Oct 27 21:23:44 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91cap9adk"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91cap9adk"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91cap9adk/at91cap9df_defconfig b/board/at91cap9adk/at91cap9df_defconfig
+index 7d1ae7d..05df4cc 100644
+--- a/board/at91cap9adk/at91cap9df_defconfig
++++ b/board/at91cap9adk/at91cap9df_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:23 2011
++# Thu Oct 27 21:23:44 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91cap9df"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91cap9df"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91cap9adk/at91cap9f_defconfig b/board/at91cap9adk/at91cap9f_defconfig
+index 87ec9cb..ec9f584 100644
+--- a/board/at91cap9adk/at91cap9f_defconfig
++++ b/board/at91cap9adk/at91cap9f_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:24 2011
++# Thu Oct 27 21:23:44 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91cap9f"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91cap9f"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91cap9stk/at91cap9stk_defconfig b/board/at91cap9stk/at91cap9stk_defconfig
+index 7d0f0e7..5ff3bbf 100644
+--- a/board/at91cap9stk/at91cap9stk_defconfig
++++ b/board/at91cap9stk/at91cap9stk_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:24 2011
++# Thu Oct 27 21:23:45 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91cap9stk"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91cap9stk"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91cap9stk/at91cap9stkdf_defconfig b/board/at91cap9stk/at91cap9stkdf_defconfig
+index 42e5e21..4e4fb90 100644
+--- a/board/at91cap9stk/at91cap9stkdf_defconfig
++++ b/board/at91cap9stk/at91cap9stkdf_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:24 2011
++# Thu Oct 27 21:23:45 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91cap9stkdf"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91cap9stkdf"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91cap9stk/at91cap9stkf_defconfig b/board/at91cap9stk/at91cap9stkf_defconfig
+index 3020b26..9874537 100644
+--- a/board/at91cap9stk/at91cap9stkf_defconfig
++++ b/board/at91cap9stk/at91cap9stkf_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:25 2011
++# Thu Oct 27 21:23:45 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91cap9stkf"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91cap9stkf"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9260ek/at91sam9260df_defconfig b/board/at91sam9260ek/at91sam9260df_defconfig
+index 1dc17c2..31e9d9c 100644
+--- a/board/at91sam9260ek/at91sam9260df_defconfig
++++ b/board/at91sam9260ek/at91sam9260df_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:25 2011
++# Thu Oct 27 21:23:46 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9260df"
+@@ -11,6 +11,7 @@ CONFIG_AT91SAM9260EK=y
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9260ek/at91sam9260dfc_defconfig b/board/at91sam9260ek/at91sam9260dfc_defconfig
+index c8f1b60..6fd7043 100644
+--- a/board/at91sam9260ek/at91sam9260dfc_defconfig
++++ b/board/at91sam9260ek/at91sam9260dfc_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:25 2011
++# Thu Oct 27 21:23:45 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9260dfc"
+@@ -11,6 +11,7 @@ CONFIG_AT91SAM9260EK=y
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9260ek/at91sam9260ek_defconfig b/board/at91sam9260ek/at91sam9260ek_defconfig
+index a678a3c..2836d4a 100644
+--- a/board/at91sam9260ek/at91sam9260ek_defconfig
++++ b/board/at91sam9260ek/at91sam9260ek_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:26 2011
++# Thu Oct 27 21:23:46 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9260ek"
+@@ -11,6 +11,7 @@ CONFIG_AT91SAM9260EK=y
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9260ek/at91sam9260nf_defconfig b/board/at91sam9260ek/at91sam9260nf_defconfig
+index 5f2f9a9..89990e9 100644
+--- a/board/at91sam9260ek/at91sam9260nf_defconfig
++++ b/board/at91sam9260ek/at91sam9260nf_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:26 2011
++# Thu Oct 27 21:23:46 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9260nf"
+@@ -11,6 +11,7 @@ CONFIG_AT91SAM9260EK=y
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9261ek/at91sam9261df_defconfig b/board/at91sam9261ek/at91sam9261df_defconfig
+index 624b1d7..9938542 100644
+--- a/board/at91sam9261ek/at91sam9261df_defconfig
++++ b/board/at91sam9261ek/at91sam9261df_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:27 2011
++# Thu Oct 27 21:23:47 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9261df"
+@@ -11,6 +11,7 @@ CONFIG_AT91SAM9261EK=y
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9261ek/at91sam9261dfc_defconfig b/board/at91sam9261ek/at91sam9261dfc_defconfig
+index 15ee5b0..7a0f892 100644
+--- a/board/at91sam9261ek/at91sam9261dfc_defconfig
++++ b/board/at91sam9261ek/at91sam9261dfc_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:26 2011
++# Thu Oct 27 21:23:47 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9261dfc"
+@@ -11,6 +11,7 @@ CONFIG_AT91SAM9261EK=y
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9261ek/at91sam9261ek_defconfig b/board/at91sam9261ek/at91sam9261ek_defconfig
+index 8841ec5..d1e7c89 100644
+--- a/board/at91sam9261ek/at91sam9261ek_defconfig
++++ b/board/at91sam9261ek/at91sam9261ek_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:27 2011
++# Thu Oct 27 21:23:47 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9261ek"
+@@ -11,6 +11,7 @@ CONFIG_AT91SAM9261EK=y
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9261ek/at91sam9261nf_defconfig b/board/at91sam9261ek/at91sam9261nf_defconfig
+index 2707d46..19b7c81 100644
+--- a/board/at91sam9261ek/at91sam9261nf_defconfig
++++ b/board/at91sam9261ek/at91sam9261nf_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:27 2011
++# Thu Oct 27 21:23:48 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9261nf"
+@@ -11,6 +11,7 @@ CONFIG_AT91SAM9261EK=y
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9263ek/at91sam9263df_defconfig b/board/at91sam9263ek/at91sam9263df_defconfig
+index 2ede52a..5782df4 100644
+--- a/board/at91sam9263ek/at91sam9263df_defconfig
++++ b/board/at91sam9263ek/at91sam9263df_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:28 2011
++# Thu Oct 27 21:23:48 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9263df"
+@@ -11,6 +11,7 @@ CONFIG_AT91SAM9263EK=y
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9263ek/at91sam9263dfc_defconfig b/board/at91sam9263ek/at91sam9263dfc_defconfig
+index 01fba1d..6d9a8cb 100644
+--- a/board/at91sam9263ek/at91sam9263dfc_defconfig
++++ b/board/at91sam9263ek/at91sam9263dfc_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:27 2011
++# Thu Oct 27 21:23:48 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9263dfc"
+@@ -11,6 +11,7 @@ CONFIG_AT91SAM9263EK=y
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9263ek/at91sam9263ek_defconfig b/board/at91sam9263ek/at91sam9263ek_defconfig
+index c8065f1..e670581 100644
+--- a/board/at91sam9263ek/at91sam9263ek_defconfig
++++ b/board/at91sam9263ek/at91sam9263ek_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:28 2011
++# Thu Oct 27 21:23:48 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9263ek"
+@@ -11,6 +11,7 @@ CONFIG_AT91SAM9263EK=y
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9263ek/at91sam9263nf_defconfig b/board/at91sam9263ek/at91sam9263nf_defconfig
+index 5b3ec35..b1b28f1 100644
+--- a/board/at91sam9263ek/at91sam9263nf_defconfig
++++ b/board/at91sam9263ek/at91sam9263nf_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:28 2011
++# Thu Oct 27 21:23:49 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9263nf"
+@@ -11,6 +11,7 @@ CONFIG_AT91SAM9263EK=y
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9g10ek/at91sam9g10df_defconfig b/board/at91sam9g10ek/at91sam9g10df_defconfig
+index e5f0a40..7b58595 100644
+--- a/board/at91sam9g10ek/at91sam9g10df_defconfig
++++ b/board/at91sam9g10ek/at91sam9g10df_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:29 2011
++# Thu Oct 27 21:23:49 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g10df"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9g10df"
+ # CONFIG_AT91SAM9XEEK is not set
+ CONFIG_AT91SAM9G10EK=y
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9g10ek/at91sam9g10ek_defconfig b/board/at91sam9g10ek/at91sam9g10ek_defconfig
+index 252749b..8f16f70 100644
+--- a/board/at91sam9g10ek/at91sam9g10ek_defconfig
++++ b/board/at91sam9g10ek/at91sam9g10ek_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:29 2011
++# Thu Oct 27 21:23:49 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g10ek"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9g10ek"
+ # CONFIG_AT91SAM9XEEK is not set
+ CONFIG_AT91SAM9G10EK=y
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9g10ek/at91sam9g10nf_defconfig b/board/at91sam9g10ek/at91sam9g10nf_defconfig
+index 0fc7e8e..79beb22 100644
+--- a/board/at91sam9g10ek/at91sam9g10nf_defconfig
++++ b/board/at91sam9g10ek/at91sam9g10nf_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:29 2011
++# Thu Oct 27 21:23:50 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g10nf"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9g10nf"
+ # CONFIG_AT91SAM9XEEK is not set
+ CONFIG_AT91SAM9G10EK=y
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9g10ek/at91sam9g10sd_defconfig b/board/at91sam9g10ek/at91sam9g10sd_defconfig
+index ac043c5..969061c 100644
+--- a/board/at91sam9g10ek/at91sam9g10sd_defconfig
++++ b/board/at91sam9g10ek/at91sam9g10sd_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:29 2011
++# Thu Oct 27 22:26:24 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g10sd"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9g10sd"
+ # CONFIG_AT91SAM9XEEK is not set
+ CONFIG_AT91SAM9G10EK=y
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+@@ -99,8 +100,8 @@ CONFIG_JUMP_ADDR="0x22000000"
+ CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x20068000"
+ # CONFIG_LONG_TEST is not set
+-CONFIG_DEBUG=y
+-CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG is not set
++# CONFIG_DEBUG_INFO is not set
+ # CONFIG_DEBUG_LOUD is not set
+ # CONFIG_DEBUG_VERY_LOUD is not set
+ CONFIG_HW_INIT=y
+diff --git a/board/at91sam9g20ek/at91sam9g20df_defconfig b/board/at91sam9g20ek/at91sam9g20df_defconfig
+index 90ab898..e3e2462 100644
+--- a/board/at91sam9g20ek/at91sam9g20df_defconfig
++++ b/board/at91sam9g20ek/at91sam9g20df_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:30 2011
++# Thu Oct 27 21:23:52 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g20df"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9g20df"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ CONFIG_AT91SAM9G20EK=y
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9g20ek/at91sam9g20dfc_defconfig b/board/at91sam9g20ek/at91sam9g20dfc_defconfig
+index dfd6409..1973b14 100644
+--- a/board/at91sam9g20ek/at91sam9g20dfc_defconfig
++++ b/board/at91sam9g20ek/at91sam9g20dfc_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:30 2011
++# Thu Oct 27 21:23:52 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g20dfc"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9g20dfc"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ CONFIG_AT91SAM9G20EK=y
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9g20ek/at91sam9g20ek_defconfig b/board/at91sam9g20ek/at91sam9g20ek_defconfig
+index d52a6fb..e189d7f 100644
+--- a/board/at91sam9g20ek/at91sam9g20ek_defconfig
++++ b/board/at91sam9g20ek/at91sam9g20ek_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:30 2011
++# Thu Oct 27 21:23:52 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g20ek"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9g20ek"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ CONFIG_AT91SAM9G20EK=y
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9g20ek/at91sam9g20nf_defconfig b/board/at91sam9g20ek/at91sam9g20nf_defconfig
+index 29dba65..60ce285 100644
+--- a/board/at91sam9g20ek/at91sam9g20nf_defconfig
++++ b/board/at91sam9g20ek/at91sam9g20nf_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:31 2011
++# Thu Oct 27 21:23:53 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g20nf"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9g20nf"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ CONFIG_AT91SAM9G20EK=y
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9g20ek/at91sam9g20sd_defconfig b/board/at91sam9g20ek/at91sam9g20sd_defconfig
+index e8278c7..1291ce9 100644
+--- a/board/at91sam9g20ek/at91sam9g20sd_defconfig
++++ b/board/at91sam9g20ek/at91sam9g20sd_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:31 2011
++# Thu Oct 27 21:23:53 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g20sd"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9g20sd"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ CONFIG_AT91SAM9G20EK=y
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9g45ek/at91sam9g45df_defconfig b/board/at91sam9g45ek/at91sam9g45df_defconfig
+index 1c95a02..c2efc69 100644
+--- a/board/at91sam9g45ek/at91sam9g45df_defconfig
++++ b/board/at91sam9g45ek/at91sam9g45df_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:31 2011
++# Thu Oct 27 21:23:53 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g45df"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9g45df"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ CONFIG_AT91SAM9G45EK=y
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9g45ek/at91sam9g45ek_defconfig b/board/at91sam9g45ek/at91sam9g45ek_defconfig
+index c2dda79..48d8936 100644
+--- a/board/at91sam9g45ek/at91sam9g45ek_defconfig
++++ b/board/at91sam9g45ek/at91sam9g45ek_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:32 2011
++# Thu Oct 27 21:23:54 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g45ek"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9g45ek"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ CONFIG_AT91SAM9G45EK=y
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9g45ek/at91sam9g45nf_defconfig b/board/at91sam9g45ek/at91sam9g45nf_defconfig
+index 39ceded..c1060c0 100644
+--- a/board/at91sam9g45ek/at91sam9g45nf_defconfig
++++ b/board/at91sam9g45ek/at91sam9g45nf_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:32 2011
++# Thu Oct 27 21:23:54 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g45nf"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9g45nf"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ CONFIG_AT91SAM9G45EK=y
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9g45ek/at91sam9g45sd_defconfig b/board/at91sam9g45ek/at91sam9g45sd_defconfig
+index a174578..9628e18 100644
+--- a/board/at91sam9g45ek/at91sam9g45sd_defconfig
++++ b/board/at91sam9g45ek/at91sam9g45sd_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:32 2011
++# Thu Oct 27 21:23:54 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g45sd"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9g45sd"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ CONFIG_AT91SAM9G45EK=y
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9g45ekes/at91sam9g45dfes_defconfig b/board/at91sam9g45ekes/at91sam9g45dfes_defconfig
+index ce1ce65..447f187 100644
+--- a/board/at91sam9g45ekes/at91sam9g45dfes_defconfig
++++ b/board/at91sam9g45ekes/at91sam9g45dfes_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:32 2011
++# Thu Oct 27 21:23:54 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g45dfes"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9g45dfes"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ CONFIG_AT91SAM9G45EKES=y
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9g45ekes/at91sam9g45ekes_defconfig b/board/at91sam9g45ekes/at91sam9g45ekes_defconfig
+index 43ce666..03bc055 100644
+--- a/board/at91sam9g45ekes/at91sam9g45ekes_defconfig
++++ b/board/at91sam9g45ekes/at91sam9g45ekes_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:33 2011
++# Thu Oct 27 21:23:55 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g45ekes"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9g45ekes"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ CONFIG_AT91SAM9G45EKES=y
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9g45ekes/at91sam9g45nfes_defconfig b/board/at91sam9g45ekes/at91sam9g45nfes_defconfig
+index f846fd3..0c69828 100644
+--- a/board/at91sam9g45ekes/at91sam9g45nfes_defconfig
++++ b/board/at91sam9g45ekes/at91sam9g45nfes_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:33 2011
++# Thu Oct 27 21:23:55 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g45nfes"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9g45nfes"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ CONFIG_AT91SAM9G45EKES=y
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9g45ekes/at91sam9g45sdes_android_defconfig b/board/at91sam9g45ekes/at91sam9g45sdes_android_defconfig
+index f066acb..0fc126b 100644
+--- a/board/at91sam9g45ekes/at91sam9g45sdes_android_defconfig
++++ b/board/at91sam9g45ekes/at91sam9g45sdes_android_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:33 2011
++# Thu Oct 27 21:23:55 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g45sdes_android"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9g45sdes_android"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ CONFIG_AT91SAM9G45EKES=y
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9g45ekes/at91sam9g45sdes_defconfig b/board/at91sam9g45ekes/at91sam9g45sdes_defconfig
+index 5cf1228..e8bf0d6 100644
+--- a/board/at91sam9g45ekes/at91sam9g45sdes_defconfig
++++ b/board/at91sam9g45ekes/at91sam9g45sdes_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:34 2011
++# Thu Oct 27 21:23:56 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9g45sdes"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9g45sdes"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ CONFIG_AT91SAM9G45EKES=y
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9m10ek/at91sam9m10df_defconfig b/board/at91sam9m10ek/at91sam9m10df_defconfig
+index 8d24afa..cbd3a00 100644
+--- a/board/at91sam9m10ek/at91sam9m10df_defconfig
++++ b/board/at91sam9m10ek/at91sam9m10df_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:34 2011
++# Thu Oct 27 21:23:56 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9m10df"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9m10df"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ CONFIG_AT91SAM9M10EK=y
+diff --git a/board/at91sam9m10ek/at91sam9m10ek_defconfig b/board/at91sam9m10ek/at91sam9m10ek_defconfig
+index 57ddfe4..02bec3e 100644
+--- a/board/at91sam9m10ek/at91sam9m10ek_defconfig
++++ b/board/at91sam9m10ek/at91sam9m10ek_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:34 2011
++# Thu Oct 27 21:23:56 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9m10ek"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9m10ek"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ CONFIG_AT91SAM9M10EK=y
+diff --git a/board/at91sam9m10ek/at91sam9m10nf_defconfig b/board/at91sam9m10ek/at91sam9m10nf_defconfig
+index e54b535..b834d31 100644
+--- a/board/at91sam9m10ek/at91sam9m10nf_defconfig
++++ b/board/at91sam9m10ek/at91sam9m10nf_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:35 2011
++# Thu Oct 27 21:23:57 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9m10nf"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9m10nf"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ CONFIG_AT91SAM9M10EK=y
+diff --git a/board/at91sam9m10ek/at91sam9m10sd_android_defconfig b/board/at91sam9m10ek/at91sam9m10sd_android_defconfig
+index 1dc422c..3e9d9f1 100644
+--- a/board/at91sam9m10ek/at91sam9m10sd_android_defconfig
++++ b/board/at91sam9m10ek/at91sam9m10sd_android_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:35 2011
++# Thu Oct 27 21:23:57 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9m10sd_android"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9m10sd_android"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ CONFIG_AT91SAM9M10EK=y
+diff --git a/board/at91sam9m10ek/at91sam9m10sd_defconfig b/board/at91sam9m10ek/at91sam9m10sd_defconfig
+index 73a3842..361f581 100644
+--- a/board/at91sam9m10ek/at91sam9m10sd_defconfig
++++ b/board/at91sam9m10ek/at91sam9m10sd_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:35 2011
++# Thu Oct 27 21:23:57 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9m10sd"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9m10sd"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ CONFIG_AT91SAM9M10EK=y
+diff --git a/board/at91sam9m10ek/at91sam9m10sdu_defconfig b/board/at91sam9m10ek/at91sam9m10sdu_defconfig
+index ecc56ee..d8fcac9 100644
+--- a/board/at91sam9m10ek/at91sam9m10sdu_defconfig
++++ b/board/at91sam9m10ek/at91sam9m10sdu_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:36 2011
++# Thu Oct 27 21:23:57 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9m10sdu"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9m10sdu"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ CONFIG_AT91SAM9M10EK=y
+diff --git a/board/at91sam9m10ekes/at91sam9m10dfes_defconfig b/board/at91sam9m10ekes/at91sam9m10dfes_defconfig
+index 5845620..29d55b2 100644
+--- a/board/at91sam9m10ekes/at91sam9m10dfes_defconfig
++++ b/board/at91sam9m10ekes/at91sam9m10dfes_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:36 2011
++# Thu Oct 27 21:23:58 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9m10dfes"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9m10dfes"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9m10ekes/at91sam9m10ekes_defconfig b/board/at91sam9m10ekes/at91sam9m10ekes_defconfig
+index c3034e2..d0ad0b9 100644
+--- a/board/at91sam9m10ekes/at91sam9m10ekes_defconfig
++++ b/board/at91sam9m10ekes/at91sam9m10ekes_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:36 2011
++# Thu Oct 27 21:23:58 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9m10ekes"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9m10ekes"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9m10ekes/at91sam9m10nfes_defconfig b/board/at91sam9m10ekes/at91sam9m10nfes_defconfig
+index 955838a..ce3adfe 100644
+--- a/board/at91sam9m10ekes/at91sam9m10nfes_defconfig
++++ b/board/at91sam9m10ekes/at91sam9m10nfes_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:36 2011
++# Thu Oct 27 21:23:58 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9m10nfes"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9m10nfes"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9m10ekes/at91sam9m10sdes_defconfig b/board/at91sam9m10ekes/at91sam9m10sdes_defconfig
+index 770f930..6020847 100644
+--- a/board/at91sam9m10ekes/at91sam9m10sdes_defconfig
++++ b/board/at91sam9m10ekes/at91sam9m10sdes_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:37 2011
++# Thu Oct 27 21:23:59 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9m10sdes"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9m10sdes"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9rlek/at91sam9rldf_defconfig b/board/at91sam9rlek/at91sam9rldf_defconfig
+index 4a18d7e..f09f09b 100644
+--- a/board/at91sam9rlek/at91sam9rldf_defconfig
++++ b/board/at91sam9rlek/at91sam9rldf_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:37 2011
++# Thu Oct 27 21:23:59 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9rldf"
+@@ -11,6 +11,7 @@ CONFIG_AT91SAM9RLEK=y
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9rlek/at91sam9rlek_defconfig b/board/at91sam9rlek/at91sam9rlek_defconfig
+index 4a2b0a4..60eec55 100644
+--- a/board/at91sam9rlek/at91sam9rlek_defconfig
++++ b/board/at91sam9rlek/at91sam9rlek_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:37 2011
++# Thu Oct 27 21:23:59 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9rlek"
+@@ -11,6 +11,7 @@ CONFIG_AT91SAM9RLEK=y
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9rlek/at91sam9rlnf_defconfig b/board/at91sam9rlek/at91sam9rlnf_defconfig
+index 1a6a313..dd0df20 100644
+--- a/board/at91sam9rlek/at91sam9rlnf_defconfig
++++ b/board/at91sam9rlek/at91sam9rlnf_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:38 2011
++# Thu Oct 27 21:24:00 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9rlnf"
+@@ -11,6 +11,7 @@ CONFIG_AT91SAM9RLEK=y
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9rlek/at91sam9rlsd_defconfig b/board/at91sam9rlek/at91sam9rlsd_defconfig
+index dd5ee12..3e61328 100644
+--- a/board/at91sam9rlek/at91sam9rlsd_defconfig
++++ b/board/at91sam9rlek/at91sam9rlsd_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:38 2011
++# Thu Oct 27 21:24:00 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9rlsd"
+@@ -11,6 +11,7 @@ CONFIG_AT91SAM9RLEK=y
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9x5ek/at91sam9x5df_defconfig b/board/at91sam9x5ek/at91sam9x5df_defconfig
+index f780e2c..f3f74b4 100644
+--- a/board/at91sam9x5ek/at91sam9x5df_defconfig
++++ b/board/at91sam9x5ek/at91sam9x5df_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Wed Feb 16 13:44:09 2011
++# Thu Oct 27 21:36:31 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9x5ek"
++CONFIG_BOARDNAME="at91sam9x5df"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9x5ek"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+@@ -68,7 +69,7 @@ CONFIG_DATAFLASH=y
+ # CONFIG_NANDFLASH is not set
+ # CONFIG_SDCARD is not set
+ CONFIG_MEMORY="dataflash"
+-# CONFIG_SDCARD_HS is not set
++CONFIG_SDCARD_HS=y
+
+ #
+ # SPI configuration
+@@ -106,11 +107,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00063000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00008400"
+ CONFIG_SETTING_ADDRESS="0x00408400"
+ CONFIG_SETTING_SIZE="0x00001000"
+ CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x26F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x20068000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9x5ek/at91sam9x5ek_defconfig b/board/at91sam9x5ek/at91sam9x5ek_defconfig
+index 1fbbe29..01f2bbb 100644
+--- a/board/at91sam9x5ek/at91sam9x5ek_defconfig
++++ b/board/at91sam9x5ek/at91sam9x5ek_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:39 2011
++# Thu Oct 27 21:36:33 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9x5ek"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9x5ek"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9x5ek/at91sam9x5nf_defconfig b/board/at91sam9x5ek/at91sam9x5nf_defconfig
+index af1a322..cf8e449 100644
+--- a/board/at91sam9x5ek/at91sam9x5nf_defconfig
++++ b/board/at91sam9x5ek/at91sam9x5nf_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Wed Aug 4 09:38:08 2010
++# Thu Oct 27 21:36:35 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9x5ek"
++CONFIG_BOARDNAME="at91sam9x5nf"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9x5ek"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+@@ -69,7 +70,7 @@ CONFIG_NANDFLASH=y
+ # CONFIG_SDCARD is not set
+ # CONFIG_ENABLE_SW_ECC is not set
+ CONFIG_MEMORY="nandflash"
+-# CONFIG_SDCARD_HS is not set
++CONFIG_SDCARD_HS=y
+ ALLOW_DATAFLASH_RECOVERY=y
+ ALLOW_BOOT_FROM_DATAFLASH_CS0=y
+ DATAFLASHCARD_ON_CS0=y
+@@ -87,11 +88,14 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00040000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+ CONFIG_IMG_ADDRESS="0x00040000"
+ CONFIG_SETTING_ADDRESS="0x01FE0000"
+ CONFIG_SETTING_SIZE="0x00001000"
+ CONFIG_IMG_SIZE="0x00050000"
+ CONFIG_JUMP_ADDR="0x26F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x20068000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9x5ek/at91sam9x5sd_defconfig b/board/at91sam9x5ek/at91sam9x5sd_defconfig
+index ab49fbe..d07406b 100644
+--- a/board/at91sam9x5ek/at91sam9x5sd_defconfig
++++ b/board/at91sam9x5ek/at91sam9x5sd_defconfig
+@@ -1,9 +1,9 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Sep 26 16:21:09 2010
++# Thu Oct 27 21:36:37 2011
+ #
+ HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9x5ek"
++CONFIG_BOARDNAME="at91sam9x5sd"
+ # CONFIG_AT91SAM9260EK is not set
+ # CONFIG_AT91SAM9261EK is not set
+ # CONFIG_AT91SAM9263EK is not set
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9x5ek"
+ # CONFIG_AT91SAM9XEEK is not set
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+@@ -81,6 +82,8 @@ CONFIG_LOAD_LINUX=y
+ # CONFIG_LOAD_64KB is not set
+ # CONFIG_LOAD_1MB is not set
+ # CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00000000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
+
+ #
+ # Linux Image Storage Setup
+@@ -95,6 +98,7 @@ CONFIG_SETTING_ADDRESS="0x00000000"
+ CONFIG_SETTING_SIZE="0x00001000"
+ CONFIG_IMG_SIZE="0x00280000"
+ CONFIG_JUMP_ADDR="0x22000000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
+ CONFIG_GLBDRV_ADDR="0x20068000"
+ # CONFIG_LONG_TEST is not set
+ CONFIG_DEBUG=y
+diff --git a/board/at91sam9x5ek/at91sam9x5sd_uboot_defconfig b/board/at91sam9x5ek/at91sam9x5sd_uboot_defconfig
+new file mode 100644
+index 0000000..3016cda
+--- /dev/null
++++ b/board/at91sam9x5ek/at91sam9x5sd_uboot_defconfig
+@@ -0,0 +1,105 @@
++#
++# Automatically generated make config: don't edit
++# Thu Oct 27 21:36:39 2011
++#
++HAVE_DOT_CONFIG=y
++CONFIG_BOARDNAME="at91sam9x5sd_uboot"
++# CONFIG_AT91SAM9260EK is not set
++# CONFIG_AT91SAM9261EK is not set
++# CONFIG_AT91SAM9263EK is not set
++# CONFIG_AT91SAM9RLEK is not set
++# CONFIG_AT91SAM9XEEK is not set
++# CONFIG_AT91SAM9G10EK is not set
++# CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
++# CONFIG_AT91SAM9G45EK is not set
++# CONFIG_AT91SAM9G45EKES is not set
++# CONFIG_AT91SAM9M10EK is not set
++# CONFIG_AT91SAM9M10EKES is not set
++# CONFIG_AT91CAP9ADK is not set
++# CONFIG_AT91CAP9STK is not set
++# CONFIG_AFEB9260 is not set
++CONFIG_AT91SAM9X5EK=y
++CONFIG_CHIP="AT91SAM9X5"
++CONFIG_BOARD="at91sam9x5ek"
++CONFIG_MACH_TYPE="3373"
++CONFIG_LINK_ADDR="0x000000"
++CONFIG_TOP_OF_MEMORY="0x308000"
++CONFIG_CRYSTAL_12_000MHZ=y
++# CONFIG_CRYSTAL_16_000MHZ is not set
++# CONFIG_CRYSTAL_16_36766MHZ is not set
++# CONFIG_CRYSTAL_18_432MHZ is not set
++ALLOW_CRYSTAL_12_000MHZ=y
++CONFIG_CRYSTAL="CRYSTAL_18_432MHZ"
++# CONFIG_CPU_CLK_166MHZ is not set
++# CONFIG_CPU_CLK_180MHZ is not set
++# CONFIG_CPU_CLK_200MHZ is not set
++# CONFIG_CPU_CLK_240MHZ is not set
++# CONFIG_CPU_CLK_266MHZ is not set
++CONFIG_CPU_CLK_400MHZ=y
++ALLOW_CPU_CLK_400MHZ=y
++# DISABLE_CPU_CLK_240MHZ is not set
++# CONFIG_BUS_SPEED_83MHZ is not set
++# CONFIG_BUS_SPEED_90MHZ is not set
++# CONFIG_BUS_SPEED_100MHZ is not set
++CONFIG_BUS_SPEED_133MHZ=y
++ALLOW_PIO3=y
++CONFIG_HAS_PIO3=y
++CPU_HAS_PMECC=y
++
++#
++# Memory selection
++#
++# CONFIG_SDRAM is not set
++# CONFIG_SDDRC is not set
++CONFIG_DDR2=y
++ALLOW_DATAFLASH=y
++# ALLOW_FLASH is not set
++ALLOW_NANDFLASH=y
++ALLOW_SDCARD=y
++ALLOW_HSMCI=y
++# ALLOW_PSRAM is not set
++# ALLOW_SDRAM_16BIT is not set
++# CONFIG_RAM_32MB is not set
++# CONFIG_RAM_64MB is not set
++CONFIG_RAM_128MB=y
++# CONFIG_RAM_256MB is not set
++# CONFIG_DATAFLASH is not set
++# CONFIG_FLASH is not set
++# CONFIG_NANDFLASH is not set
++CONFIG_SDCARD=y
++CONFIG_MEMORY="sdcard"
++CONFIG_SDCARD_HS=y
++ALLOW_DATAFLASH_RECOVERY=y
++ALLOW_BOOT_FROM_DATAFLASH_CS0=y
++DATAFLASHCARD_ON_CS0=y
++CONFIG_BOOTSTRAP_MAXSIZE="23000"
++CONFIG_PROJECT="sdcard"
++CONFIG_LOAD_UBOOT=y
++# CONFIG_LOAD_EBOOT is not set
++# CONFIG_LOAD_LINUX is not set
++# CONFIG_LOAD_NK is not set
++# CONFIG_LOAD_64KB is not set
++# CONFIG_LOAD_1MB is not set
++# CONFIG_LOAD_4MB is not set
++CONFIG_ALT_IMG_ADDRESS="0x00000000"
++CONFIG_ALT_IMG_SIZE="0x00010000"
++CONFIG_OS_IMAGE_NAME="u-boot.bin"
++CONFIG_IMG_ADDRESS="0x00000000"
++CONFIG_SETTING_ADDRESS="0x00000000"
++CONFIG_SETTING_SIZE="0x00001000"
++CONFIG_IMG_SIZE="0x00050000"
++CONFIG_JUMP_ADDR="0x26F00000"
++CONFIG_ALT_JUMP_ADDR="0x20000000"
++CONFIG_GLBDRV_ADDR="0x20068000"
++# CONFIG_LONG_TEST is not set
++CONFIG_DEBUG=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_LOUD is not set
++# CONFIG_DEBUG_VERY_LOUD is not set
++CONFIG_HW_INIT=y
++# CONFIG_USER_HW_INIT is not set
++CONFIG_THUMB=y
++CONFIG_SCLK=y
++# CONFIG_SX_AT91 is not set
++# CONFIG_RAW_AT91 is not set
+diff --git a/board/at91sam9xeek/at91sam9xedf_defconfig b/board/at91sam9xeek/at91sam9xedf_defconfig
+index f877300..d3d0907 100644
+--- a/board/at91sam9xeek/at91sam9xedf_defconfig
++++ b/board/at91sam9xeek/at91sam9xedf_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:40 2011
++# Thu Oct 27 21:26:10 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9xedf"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9xedf"
+ CONFIG_AT91SAM9XEEK=y
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9xeek/at91sam9xedfc_defconfig b/board/at91sam9xeek/at91sam9xedfc_defconfig
+index be8d40c..b02384c 100644
+--- a/board/at91sam9xeek/at91sam9xedfc_defconfig
++++ b/board/at91sam9xeek/at91sam9xedfc_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:40 2011
++# Thu Oct 27 21:26:10 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9xedfc"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9xedfc"
+ CONFIG_AT91SAM9XEEK=y
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9xeek/at91sam9xeek_defconfig b/board/at91sam9xeek/at91sam9xeek_defconfig
+index 1532060..b9c83a3 100644
+--- a/board/at91sam9xeek/at91sam9xeek_defconfig
++++ b/board/at91sam9xeek/at91sam9xeek_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:40 2011
++# Thu Oct 27 21:26:11 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9xeek"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9xeek"
+ CONFIG_AT91SAM9XEEK=y
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+diff --git a/board/at91sam9xeek/at91sam9xenf_defconfig b/board/at91sam9xeek/at91sam9xenf_defconfig
+index 7117912..8d3d78e 100644
+--- a/board/at91sam9xeek/at91sam9xenf_defconfig
++++ b/board/at91sam9xeek/at91sam9xenf_defconfig
+@@ -1,6 +1,6 @@
+ #
+ # Automatically generated make config: don't edit
+-# Sun Oct 23 15:17:41 2011
++# Thu Oct 27 21:26:11 2011
+ #
+ HAVE_DOT_CONFIG=y
+ CONFIG_BOARDNAME="at91sam9xenf"
+@@ -11,6 +11,7 @@ CONFIG_BOARDNAME="at91sam9xenf"
+ CONFIG_AT91SAM9XEEK=y
+ # CONFIG_AT91SAM9G10EK is not set
+ # CONFIG_AT91SAM9G20EK is not set
++# CONFIG_AT91SAM9G20EK_2MMC is not set
+ # CONFIG_AT91SAM9G45EK is not set
+ # CONFIG_AT91SAM9G45EKES is not set
+ # CONFIG_AT91SAM9M10EK is not set
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0030-Remove-some-faulty-defconfigs-wrong-location.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0030-Remove-some-faulty-defconfigs-wrong-location.patch
new file mode 100644
index 0000000000..343d4d094f
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0030-Remove-some-faulty-defconfigs-wrong-location.patch
@@ -0,0 +1,233 @@
+From d5e5115f2c47786dddd7da408ba1a08fae55197a Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Fri, 28 Oct 2011 12:36:59 +0200
+Subject: [PATCH 30/39] Remove some faulty defconfigs (wrong location)
+
+---
+ board/at91sam9g20ek/at91sam9g20_2mmcsd_defconfig | 105 ----------------------
+ board/at91sam9x5ek/at91sam9x5sduboot_defconfig | 101 ---------------------
+ 2 files changed, 0 insertions(+), 206 deletions(-)
+ delete mode 100644 board/at91sam9g20ek/at91sam9g20_2mmcsd_defconfig
+ delete mode 100644 board/at91sam9x5ek/at91sam9x5sduboot_defconfig
+
+diff --git a/board/at91sam9g20ek/at91sam9g20_2mmcsd_defconfig b/board/at91sam9g20ek/at91sam9g20_2mmcsd_defconfig
+deleted file mode 100644
+index 1c76a8c..0000000
+--- a/board/at91sam9g20ek/at91sam9g20_2mmcsd_defconfig
++++ /dev/null
+@@ -1,105 +0,0 @@
+-#
+-# Automatically generated make config: don't edit
+-# Thu Oct 27 19:33:24 2011
+-#
+-HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9g20_2mmcsd"
+-# CONFIG_AT91SAM9260EK is not set
+-# CONFIG_AT91SAM9261EK is not set
+-# CONFIG_AT91SAM9263EK is not set
+-# CONFIG_AT91SAM9RLEK is not set
+-# CONFIG_AT91SAM9XEEK is not set
+-# CONFIG_AT91SAM9G10EK is not set
+-CONFIG_AT91SAM9G20EK=y
+-# CONFIG_AT91SAM9G45EK is not set
+-# CONFIG_AT91SAM9G45EKES is not set
+-# CONFIG_AT91SAM9M10EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+-# CONFIG_AT91CAP9ADK is not set
+-# CONFIG_AT91CAP9STK is not set
+-# CONFIG_AFEB9260 is not set
+-CONFIG_CHIP="AT91SAM9G20"
+-CONFIG_BOARD="at91sam9g20ek"
+-CONFIG_MACH_TYPE="0x658"
+-CONFIG_LINK_ADDR="0x000000"
+-CONFIG_TOP_OF_MEMORY="0x304000"
+-# CONFIG_CRYSTAL_12_000MHZ is not set
+-# CONFIG_CRYSTAL_16_000MHZ is not set
+-# CONFIG_CRYSTAL_16_36766MHZ is not set
+-CONFIG_CRYSTAL_18_432MHZ=y
+-ALLOW_CRYSTAL_18_432MHZ=y
+-CONFIG_CRYSTAL="CRYSTAL_18_432MHZ"
+-# CONFIG_CPU_CLK_166MHZ is not set
+-# CONFIG_CPU_CLK_180MHZ is not set
+-# CONFIG_CPU_CLK_200MHZ is not set
+-# CONFIG_CPU_CLK_240MHZ is not set
+-# CONFIG_CPU_CLK_266MHZ is not set
+-CONFIG_CPU_CLK_400MHZ=y
+-ALLOW_CPU_CLK_400MHZ=y
+-# DISABLE_CPU_CLK_240MHZ is not set
+-# CONFIG_BUS_SPEED_83MHZ is not set
+-# CONFIG_BUS_SPEED_90MHZ is not set
+-# CONFIG_BUS_SPEED_100MHZ is not set
+-CONFIG_BUS_SPEED_133MHZ=y
+-
+-#
+-# Memory selection
+-#
+-CONFIG_SDRAM=y
+-# CONFIG_SDDRC is not set
+-# CONFIG_DDR2 is not set
+-ALLOW_DATAFLASH=y
+-# ALLOW_FLASH is not set
+-ALLOW_NANDFLASH=y
+-ALLOW_SDCARD=y
+-# ALLOW_HSMCI is not set
+-# ALLOW_PSRAM is not set
+-# ALLOW_SDRAM_16BIT is not set
+-# CONFIG_RAM_32MB is not set
+-CONFIG_RAM_64MB=y
+-# CONFIG_RAM_128MB is not set
+-# CONFIG_RAM_256MB is not set
+-# CONFIG_DATAFLASH is not set
+-# CONFIG_FLASH is not set
+-# CONFIG_NANDFLASH is not set
+-CONFIG_SDCARD=y
+-CONFIG_MEMORY="sdcard"
+-# CONFIG_SDCARD_HS is not set
+-ALLOW_DATAFLASH_RECOVERY=y
+-ALLOW_BOOT_FROM_DATAFLASH_CS0=y
+-ALLOW_BOOT_FROM_DATAFLASH_CS1=y
+-DATAFLASHCARD_ON_CS0=y
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+-CONFIG_PROJECT="sdcard"
+-CONFIG_LOAD_UBOOT=y
+-# CONFIG_LOAD_EBOOT is not set
+-# CONFIG_LOAD_LINUX is not set
+-# CONFIG_LOAD_NK is not set
+-# CONFIG_LOAD_64KB is not set
+-# CONFIG_LOAD_1MB is not set
+-# CONFIG_LOAD_4MB is not set
+-CONFIG_ALT_IMG_ADDRESS="0x00000000"
+-CONFIG_ALT_IMG_SIZE="0x00010000"
+-CONFIG_OS_IMAGE_NAME="at91sam9g20ek_2mmc\\u-boot.bin"
+-CONFIG_OS_IMG_SIZE="0x30000"
+-
+-#
+-# U-Boot Image Storage Setup
+-#
+-CONFIG_IMG_ADDRESS="0x00000000"
+-CONFIG_SETTING_ADDRESS="0x00000000"
+-CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00040000"
+-CONFIG_JUMP_ADDR="0x23F00000"
+-CONFIG_ALT_JUMP_ADDR="0x20000000"
+-CONFIG_GLBDRV_ADDR="0x20058000"
+-# CONFIG_LONG_TEST is not set
+-CONFIG_DEBUG=y
+-# CONFIG_DEBUG_INFO is not set
+-# CONFIG_DEBUG_LOUD is not set
+-CONFIG_DEBUG_VERY_LOUD=y
+-CONFIG_HW_INIT=y
+-# CONFIG_USER_HW_INIT is not set
+-CONFIG_THUMB=y
+-# CONFIG_SX_AT91 is not set
+-# CONFIG_RAW_AT91 is not set
+diff --git a/board/at91sam9x5ek/at91sam9x5sduboot_defconfig b/board/at91sam9x5ek/at91sam9x5sduboot_defconfig
+deleted file mode 100644
+index 27aeb85..0000000
+--- a/board/at91sam9x5ek/at91sam9x5sduboot_defconfig
++++ /dev/null
+@@ -1,101 +0,0 @@
+-#
+-# Automatically generated make config: don't edit
+-# Mon May 30 13:54:05 2011
+-#
+-HAVE_DOT_CONFIG=y
+-CONFIG_BOARDNAME="at91sam9x5ek"
+-# CONFIG_AT91SAM9260EK is not set
+-# CONFIG_AT91SAM9261EK is not set
+-# CONFIG_AT91SAM9263EK is not set
+-# CONFIG_AT91SAM9RLEK is not set
+-# CONFIG_AT91SAM9XEEK is not set
+-# CONFIG_AT91SAM9G10EK is not set
+-# CONFIG_AT91SAM9G20EK is not set
+-# CONFIG_AT91SAM9G45EK is not set
+-# CONFIG_AT91SAM9G45EKES is not set
+-# CONFIG_AT91SAM9M10EK is not set
+-# CONFIG_AT91SAM9M10EKES is not set
+-# CONFIG_AT91CAP9ADK is not set
+-# CONFIG_AT91CAP9STK is not set
+-# CONFIG_AFEB9260 is not set
+-CONFIG_AT91SAM9X5EK=y
+-CONFIG_CHIP="AT91SAM9X5"
+-CONFIG_BOARD="at91sam9x5ek"
+-CONFIG_MACH_TYPE="3373"
+-CONFIG_LINK_ADDR="0x000000"
+-CONFIG_TOP_OF_MEMORY="0x308000"
+-CONFIG_CRYSTAL_12_000MHZ=y
+-# CONFIG_CRYSTAL_16_000MHZ is not set
+-# CONFIG_CRYSTAL_16_36766MHZ is not set
+-# CONFIG_CRYSTAL_18_432MHZ is not set
+-ALLOW_CRYSTAL_12_000MHZ=y
+-CONFIG_CRYSTAL="CRYSTAL_18_432MHZ"
+-# CONFIG_CPU_CLK_166MHZ is not set
+-# CONFIG_CPU_CLK_180MHZ is not set
+-# CONFIG_CPU_CLK_200MHZ is not set
+-# CONFIG_CPU_CLK_240MHZ is not set
+-# CONFIG_CPU_CLK_266MHZ is not set
+-CONFIG_CPU_CLK_400MHZ=y
+-ALLOW_CPU_CLK_400MHZ=y
+-# DISABLE_CPU_CLK_240MHZ is not set
+-# CONFIG_BUS_SPEED_83MHZ is not set
+-# CONFIG_BUS_SPEED_90MHZ is not set
+-# CONFIG_BUS_SPEED_100MHZ is not set
+-CONFIG_BUS_SPEED_133MHZ=y
+-ALLOW_PIO3=y
+-CONFIG_HAS_PIO3=y
+-CPU_HAS_PMECC=y
+-
+-#
+-# Memory selection
+-#
+-# CONFIG_SDRAM is not set
+-# CONFIG_SDDRC is not set
+-CONFIG_DDR2=y
+-ALLOW_DATAFLASH=y
+-# ALLOW_FLASH is not set
+-ALLOW_NANDFLASH=y
+-ALLOW_SDCARD=y
+-ALLOW_HSMCI=y
+-# ALLOW_PSRAM is not set
+-# ALLOW_SDRAM_16BIT is not set
+-# CONFIG_RAM_32MB is not set
+-# CONFIG_RAM_64MB is not set
+-CONFIG_RAM_128MB=y
+-# CONFIG_RAM_256MB is not set
+-# CONFIG_DATAFLASH is not set
+-# CONFIG_FLASH is not set
+-# CONFIG_NANDFLASH is not set
+-CONFIG_SDCARD=y
+-CONFIG_MEMORY="sdcard"
+-CONFIG_SDCARD_HS=y
+-ALLOW_DATAFLASH_RECOVERY=y
+-ALLOW_BOOT_FROM_DATAFLASH_CS0=y
+-DATAFLASHCARD_ON_CS0=y
+-CONFIG_BOOTSTRAP_MAXSIZE="23000"
+-CONFIG_PROJECT="sdcard"
+-CONFIG_LOAD_UBOOT=y
+-# CONFIG_LOAD_EBOOT is not set
+-# CONFIG_LOAD_LINUX is not set
+-# CONFIG_LOAD_NK is not set
+-# CONFIG_LOAD_64KB is not set
+-# CONFIG_LOAD_1MB is not set
+-# CONFIG_LOAD_4MB is not set
+-CONFIG_OS_IMAGE_NAME="u-boot.bin"
+-CONFIG_IMG_ADDRESS="0x00000000"
+-CONFIG_SETTING_ADDRESS="0x00000000"
+-CONFIG_SETTING_SIZE="0x00001000"
+-CONFIG_IMG_SIZE="0x00050000"
+-CONFIG_JUMP_ADDR="0x26F00000"
+-CONFIG_GLBDRV_ADDR="0x20068000"
+-# CONFIG_LONG_TEST is not set
+-CONFIG_DEBUG=y
+-CONFIG_DEBUG_INFO=y
+-# CONFIG_DEBUG_LOUD is not set
+-# CONFIG_DEBUG_VERY_LOUD is not set
+-CONFIG_HW_INIT=y
+-# CONFIG_USER_HW_INIT is not set
+-CONFIG_THUMB=y
+-CONFIG_SCLK=y
+-# CONFIG_SX_AT91 is not set
+-# CONFIG_RAW_AT91 is not set
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0031-Config.in-configurable-application.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0031-Config.in-configurable-application.patch
new file mode 100644
index 0000000000..3d6bc62e7e
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0031-Config.in-configurable-application.patch
@@ -0,0 +1,52 @@
+From 1dd3f6df834be92f91bdf5976bfac88578ba69b1 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Fri, 28 Oct 2011 12:40:33 +0200
+Subject: [PATCH 31/39] Config.in: configurable application
+
+---
+ Config.in | 7 +++++++
+ 1 files changed, 7 insertions(+), 0 deletions(-)
+
+diff --git a/Config.in b/Config.in
+index 709d155..8383ef4 100644
+--- a/Config.in
++++ b/Config.in
+@@ -116,6 +116,7 @@ config CONFIG_OS_MEM_BANK
+ default "0x20000000" if CONFIG_AT91SAM9XEEK
+ default "0x20000000" if CONFIG_AT91SAM9G10EK
+ default "0x20000000" if CONFIG_AT91SAM9G20EK
++ default "0x20000000" if CONFIG_AT91SAM9G20EK_2MMC
+ default "0x70000000" if CONFIG_AT91SAM9G45EK
+ default "0x70000000" if CONFIG_AT91SAM9G45EKES
+ default "0x70000000" if CONFIG_AT91SAM9M10EK
+@@ -135,6 +136,7 @@ config CONFIG_LINUX_KERNEL_ARG_STRING
+ default "mem=64M console=ttyS0,115200 mtdparts=atmel_nand:4M(bootstrap),60M(rootfs),-(spare) root=/dev/mtdblock1 rw rootfstype=jffs2" if CONFIG_AT91SAM9XEEK && !CONFIG_SDCARD
+ default "mem=64M console=ttyS0,115200 mtdparts=atmel_nand:4M(bootstrap),60M(rootfs),-(spare) root=/dev/mtdblock1 rw rootfstype=jffs2" if CONFIG_AT91SAM9G10EK && !CONFIG_SDCARD
+ default "mem=64M console=ttyS0,115200 mtdparts=atmel_nand:4M(bootstrap),60M(rootfs),-(spare) root=/dev/mtdblock1 rw rootfstype=jffs2" if CONFIG_AT91SAM9G20EK && !CONFIG_SDCARD
++ default "mem=64M console=ttyS0,115200 mtdparts=atmel_nand:4M(bootstrap),60M(rootfs),-(spare) root=/dev/mtdblock1 rw rootfstype=jffs2" if CONFIG_AT91SAM9G20EK_2MMC && !CONFIG_SDCARD
+ default "mem=128M console=ttyS0,115200 mtdparts=atmel_nand:4M(bootstrap),60M(rootfs),-(spare) root=/dev/mtdblock1 rw rootfstype=jffs2" if CONFIG_AT91SAM9G45EK && !CONFIG_SDCARD
+ default "mem=128M console=ttyS0,115200 mtdparts=atmel_nand:4M(bootstrap),60M(rootfs),-(spare) root=/dev/mtdblock1 rw rootfstype=jffs2" if CONFIG_AT91SAM9G45EKES && !CONFIG_SDCARD
+ default "mem=128M console=ttyS0,115200 mtdparts=atmel_nand:4M(bootstrap),60M(rootfs),-(spare) root=/dev/mtdblock1 rw rootfstype=jffs2" if CONFIG_AT91SAM9X5EK && !CONFIG_SDCARD
+@@ -143,6 +145,7 @@ config CONFIG_LINUX_KERNEL_ARG_STRING
+ default "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2" if CONFIG_AT91SAM9RLEK && CONFIG_SDCARD
+ default "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2" if CONFIG_AT91SAM9G10EK && CONFIG_SDCARD
+ default "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2" if CONFIG_AT91SAM9G20EK && CONFIG_SDCARD
++ default "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2" if CONFIG_AT91SAM9G20EK_2MMC && CONFIG_SDCARD
+ default "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2" if CONFIG_AT91SAM9XEEK && CONFIG_SDCARD
+ default "mem=128M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2" if CONFIG_AT91SAM9G45EK && CONFIG_SDCARD
+ default "mem=128M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2" if CONFIG_AT91SAM9G45EKES && CONFIG_SDCARD
+@@ -171,7 +174,11 @@ endmenu
+
+ config CONFIG_OS_IMAGE_NAME
+ depends on CONFIG_SDCARD && CONFIG_LOAD_UBOOT
++ string "Secondary Bootloader"
+ default "u-boot.bin"
++ help
++ The name of the bootloader you want to use
++ Typically "u-boot.bin" without the hyphens
+
+ #
+ # WinCE Image Storage Setup
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0032-Update-WinCE-build-ffiles-for-_2mmc.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0032-Update-WinCE-build-ffiles-for-_2mmc.patch
new file mode 100644
index 0000000000..c61775c9e9
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0032-Update-WinCE-build-ffiles-for-_2mmc.patch
@@ -0,0 +1,276 @@
+From 7c62c5810945b1fb52f0caad6b0e3f927b7e0477 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Fri, 28 Oct 2011 12:41:31 +0200
+Subject: [PATCH 32/39] Update WinCE build ffiles for _2mmc
+
+---
+ driver/sources | 12 +++-
+ wince/buildscripts/clean.bat | 3 +-
+ wince/buildscripts/subbuild.bat | 149 ++++++++++++++++++++++++++++++++++++++-
+ wince/image/sources | 10 +++
+ 4 files changed, 171 insertions(+), 3 deletions(-)
+
+diff --git a/driver/sources b/driver/sources
+index 9997b3c..d17f3e2 100644
+--- a/driver/sources
++++ b/driver/sources
+@@ -64,6 +64,15 @@ CDEFINES=$(CDEFINES) -DGLBDRV_ADDR=0x20058000
+ CDEFINES=$(CDEFINES) -DAT91SAM9G20
+ !ENDIF
+
++!IF ("$(CONFIG_AT91SAM9G20EK_2MMC)" == "Y")
++CDEFINES=$(CDEFINES) -DCONFIG_AT91SAM9G20EK_2MMC
++CDEFINES=$(CDEFINES) -DCONFIG_SDRAM
++CDEFINES=$(CDEFINES) -DGLBDRV_ADDR=0x20058000
++!ENDIF
++!IF ("$(AT91SAM9G20_2MMC)" == "Y")
++CDEFINES=$(CDEFINES) -DAT91SAM9G20
++!ENDIF
++
+ !IF ("$(CONFIG_AT91SAM9G45EK)" == "Y")
+ CDEFINES=$(CDEFINES) -DCONFIG_AT91SAM9G45EK
+ CDEFINES=$(CDEFINES) -DCONFIG_DDR2
+@@ -181,6 +190,7 @@ INCLUDES=..\include; \
+ ..\board\at91sam9rlek; \
+ ..\board\at91sam9g10ek; \
+ ..\board\at91sam9g20ek; \
++ ..\board\at91sam9g20ek_2mmc; \
+ ..\board\at91sam9g45ek; \
+ ..\board\at91sam9m10ek; \
+ ..\board\at91sam9g45ekes; \
+@@ -209,4 +219,4 @@ SOURCES= \
+ dma.c \
+ pio.c \
+ linux_loader.c \
+- wince_loader.c \
+\ No newline at end of file
++ wince_loader.c \
+diff --git a/wince/buildscripts/clean.bat b/wince/buildscripts/clean.bat
+index caefd2b..aeca14b 100644
+--- a/wince/buildscripts/clean.bat
++++ b/wince/buildscripts/clean.bat
+@@ -3,6 +3,7 @@ set STACK_CHECK_DISABLE=
+
+ set CONFIG_AT91SAM9G10EK=
+ set AT91SAM9G10=
++set CONFIG_AT91SAM9G20EK_2MMC=
+ set CONFIG_AT91SAM9G20EK=
+ set AT91SAM9G20=
+ set CONFIG_AT91SAM9G45EK=
+@@ -40,4 +41,4 @@ set CONFIG_CPU_CLK_240MHZ=
+ set CONFIG_CPU_CLK_250MHZ=
+ set CONFIG_CPU_CLK_266MHZ=
+ set CONFIG_CRYSTAL_16_36766MHZ=
+-set CONFIG_CRYSTAL_18_432MHZ=
+\ No newline at end of file
++set CONFIG_CRYSTAL_18_432MHZ=
+diff --git a/wince/buildscripts/subbuild.bat b/wince/buildscripts/subbuild.bat
+index 9f442ac..c163e0d 100644
+--- a/wince/buildscripts/subbuild.bat
++++ b/wince/buildscripts/subbuild.bat
+@@ -885,6 +885,153 @@ set CONFIG_SDCARD=Y
+ set JUMP_ADDR=0x20000000
+ goto :build
+
++:9g20_2mmc_dataflash_eboot
++set CONFIG_AT91SAM9G20EK_2MMC=Y
++set AT91SAM9G20=Y
++set CONFIG_DATAFLASH=Y
++set JUMP_ADDR=0x20000000
++set IMG_ADDRESS=0x5000
++set IMG_SIZE=0x40000
++set CONFIG_LOAD_EBOOT=Y
++goto :build
++
++:9g20_2mmc_dataflash_cekernel
++set CONFIG_AT91SAM9G20EK_2MMC=Y
++set AT91SAM9G20=Y
++set CONFIG_DATAFLASH=Y
++set JUMP_ADDR=0x20000000
++set IMG_ADDRESS=0x5000
++set IMG_SIZE=0x20000
++set CONFIG_LOAD_NK=Y
++goto :build
++
++:9g20_2mmc_dataflash_uboot
++set CONFIG_AT91SAM9G20EK_2MMC=Y
++set AT91SAM9G20=Y
++set CONFIG_DATAFLASH=Y
++set JUMP_ADDR=0x23F00000
++set IMG_ADDRESS=0x8400
++set IMG_SIZE=0x40000
++set CONFIG_LOAD_UBOOT=Y
++goto :build
++
++:9g20_2mmc_dataflash_linuxkernel
++set CONFIG_AT91SAM9G20EK_2MMC=Y
++set AT91SAM9G20=Y
++set CONFIG_DATAFLASH=Y
++set JUMP_ADDR=0x22000000
++set IMG_ADDRESS=0x42000
++set IMG_SIZE=0x200000
++set CONFIG_LOAD_LINUX=Y
++set OS_MEM_BANK=0x20000000
++set OS_MEM_SIZE=0x4000000
++set MACH_TYPE=0x658
++goto :build
++
++:9g20_2mmc_dataflash_gettingstarted
++set CONFIG_AT91SAM9G20EK_2MMC=Y
++set AT91SAM9G20=Y
++set CONFIG_DATAFLASH=Y
++set JUMP_ADDR=0x20000000
++set IMG_ADDRESS=0x8400
++set IMG_SIZE=0x40000
++goto :build
++
++:9g20_2mmc_nandflash_eboot
++set CONFIG_AT91SAM9G20EK_2MMC=Y
++set AT91SAM9G20=Y
++set CONFIG_NANDFLASH=Y
++set JUMP_ADDR=0x20000000
++
++set IMG_ADDRESS=0x80000
++set IMG_SIZE=0x40000
++set CONFIG_LOAD_EBOOT=Y
++goto :build
++
++:9g20_2mmc_nandflash_cekernel
++set CONFIG_AT91SAM9G20EK_2MMC=Y
++set AT91SAM9G20=Y
++set CONFIG_NANDFLASH=Y
++set JUMP_ADDR=0x20067000
++set IMG_ADDRESS=0x200000
++set IMG_SIZE=0x2000000
++set CONFIG_LOAD_NK=Y
++goto :build
++
++:9g20_2mmc_nandflash_uboot
++set CONFIG_AT91SAM9G20EK_2MMC=Y
++set AT91SAM9G20=Y
++set CONFIG_NANDFLASH=Y
++set JUMP_ADDR=0x23F00000
++set IMG_ADDRESS=0x20000
++set IMG_SIZE=0x40000
++set CONFIG_LOAD_UBOOT=Y
++goto :build
++
++:9g20_2mmc_nandflash_linuxkernel
++set CONFIG_AT91SAM9G20EK_2MMC=Y
++set AT91SAM9G20=Y
++set CONFIG_NANDFLASH=Y
++set JUMP_ADDR=0x22000000
++set IMG_ADDRESS=0x200000
++set IMG_SIZE=0x200000
++set CONFIG_LOAD_LINUX=Y
++set OS_MEM_BANK=0x20000000
++set OS_MEM_SIZE=0x4000000
++set MACH_TYPE=0x658
++goto :build
++
++:9g20_2mmc_nandflash_gettingstarted
++set CONFIG_AT91SAM9G20EK_2MMC=Y
++set AT91SAM9G20=Y
++set CONFIG_NANDFLASH=Y
++set JUMP_ADDR=0x20000000
++set IMG_ADDRESS=0x20000
++set IMG_SIZE=0x40000
++goto :build
++
++:9g20_2mmc_sdcard_eboot
++set CONFIG_AT91SAM9G20EK_2MMC=Y
++set AT91SAM9G20=Y
++set CONFIG_SDCARD=Y
++set JUMP_ADDR=0x20000000
++set CONFIG_LOAD_EBOOT=Y
++goto :build
++
++:9g20_2mmc_sdcard_cekernel
++set CONFIG_AT91SAM9G20EK_2MMC=Y
++set AT91SAM9G20=Y
++set CONFIG_SDCARD=Y
++set JUMP_ADDR=0x20067000
++set CONFIG_LOAD_NK=Y
++goto :build
++
++:9g20_2mmc_sdcard_uboot
++set CONFIG_AT91SAM9G20EK_2MMC=Y
++set AT91SAM9G20=Y
++set CONFIG_SDCARD=Y
++set JUMP_ADDR=0x23F00000
++set CONFIG_LOAD_UBOOT=Y
++goto :build
++
++:9g20_2mmc_sdcard_linuxkernel
++set CONFIG_AT91SAM9G20EK_2MMC=Y
++set AT91SAM9G20=Y
++set CONFIG_SDCARD=Y
++set JUMP_ADDR=0x22000000
++set CONFIG_LOAD_LINUX=Y
++set OS_MEM_BANK=0x20000000
++set OS_MEM_SIZE=0x4000000
++set MACH_TYPE=0x658
++goto :build
++
++:9g20_2mmc_sdcard_gettingstarted
++set CONFIG_AT91SAM9G20EK_2MMC=Y
++set AT91SAM9G20=Y
++set CONFIG_SDCARD=Y
++set JUMP_ADDR=0x20000000
++goto :build
++
+ :9g45_dataflash_eboot
+ set CONFIG_AT91SAM9G45EK=Y
+ set AT91SAM9G45=Y
+@@ -1514,4 +1661,4 @@ cd ..\..
+ build -c
+ cd wince\buildscripts
+
+-:EOF
+\ No newline at end of file
++:EOF
+diff --git a/wince/image/sources b/wince/image/sources
+index 36949ed..524a28f 100644
+--- a/wince/image/sources
++++ b/wince/image/sources
+@@ -69,6 +69,11 @@ CDEFINES=$(CDEFINES) -DCONFIG_AT91SAM9G20EK
+ CDEFINES=$(CDEFINES) -DCONFIG_SDRAM
+ CDEFINES=$(CDEFINES) -DGLBDRV_ADDR=0x20058000
+ !ENDIF
++!IF ("$(CONFIG_AT91SAM9G20EK_2MMC)" == "Y")
++CDEFINES=$(CDEFINES) -DCONFIG_AT91SAM9G20EK_2MMC
++CDEFINES=$(CDEFINES) -DCONFIG_SDRAM
++CDEFINES=$(CDEFINES) -DGLBDRV_ADDR=0x20058000
++!ENDIF
+ !IF ("$(AT91SAM9G20)" == "Y")
+ CDEFINES=$(CDEFINES) -DAT91SAM9G20
+ ADEFINES=$(ADEFINES) -predefine "BOOTLOADER_STACK_BASE SETA 0x00303FFC"
+@@ -114,6 +119,9 @@ CDEFINES=$(CDEFINES) -DAT91C_SPI_PCS_DATAFLASH=0xE
+ !IF ("$(CONFIG_AT91SAM9G20EK)" == "Y")
+ CDEFINES=$(CDEFINES) -DAT91C_SPI_PCS_DATAFLASH=0xD
+ !ENDIF
++!IF ("$(CONFIG_AT91SAM9G20EK_2MMC)" == "Y")
++CDEFINES=$(CDEFINES) -DAT91C_SPI_PCS_DATAFLASH=0xD
++!ENDIF
+ !IF ("$(CONFIG_AT91SAM9260EK)" == "Y")
+ CDEFINES=$(CDEFINES) -DAT91C_SPI_PCS_DATAFLASH=0xD
+ !ENDIF
+@@ -173,6 +181,7 @@ INCLUDES=..\..\include; \
+ ..\..\board\at91sam9rlek; \
+ ..\..\board\at91sam9g10ek; \
+ ..\..\board\at91sam9g20ek; \
++ ..\..\board\at91sam9g20ek_2mmc; \
+ ..\..\board\at91sam9g45ek; \
+ ..\..\board\at91sam9m10ek; \
+ ..\..\board\at91sam9g45ekes; \
+@@ -188,6 +197,7 @@ TARGETLIBS= \
+ $(_TARGETPLATROOT)\lib\$(_CPUDEPPATH)\at91sam9rlek.lib \
+ $(_TARGETPLATROOT)\lib\$(_CPUDEPPATH)\at91sam9g10ek.lib \
+ $(_TARGETPLATROOT)\lib\$(_CPUDEPPATH)\at91sam9g20ek.lib \
++ $(_TARGETPLATROOT)\lib\$(_CPUDEPPATH)\at91sam9g20ek_mmc.lib \
+ $(_TARGETPLATROOT)\lib\$(_CPUDEPPATH)\at91sam9g45ek.lib \
+ $(_TARGETPLATROOT)\lib\$(_CPUDEPPATH)\at91sam9m10ek.lib \
+ $(_TARGETPLATROOT)\lib\$(_CPUDEPPATH)\at91sam9g45ekes.lib \
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0033-Update-boards-and-dirs-files.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0033-Update-boards-and-dirs-files.patch
new file mode 100644
index 0000000000..0dc8ef3e0e
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0033-Update-boards-and-dirs-files.patch
@@ -0,0 +1,132 @@
+From 3b44740b1917ff1812193ebaafda01f33064130f Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Fri, 28 Oct 2011 12:42:17 +0200
+Subject: [PATCH 33/39] Update 'boards' and 'dirs' files
+
+---
+ board/boards | 92 ++++++++++++++++++++++++++++++++++++---------------------
+ board/dirs | 3 +-
+ 2 files changed, 60 insertions(+), 35 deletions(-)
+
+diff --git a/board/boards b/board/boards
+index 9da6dd4..29c30bc 100644
+--- a/board/boards
++++ b/board/boards
+@@ -1,41 +1,65 @@
++at91sam9x5ek/at91sam9x5sd_defconfig
++at91sam9x5ek/at91sam9x5nf_defconfig
++at91sam9x5ek/at91sam9x5df_defconfig
++at91sam9x5ek/at91sam9x5sduboot_defconfig
++at91sam9x5ek/at91sam9x5ek_defconfig
++at91sam9g45ekes/at91sam9g45sdes_android_defconfig
++at91sam9g45ekes/at91sam9g45nfes_defconfig
++at91sam9g45ekes/at91sam9g45sdes_defconfig
++at91sam9g45ekes/at91sam9g45ekes_defconfig
++at91sam9g45ekes/at91sam9g45dfes_defconfig
++at91sam9g20ek_2mmc/at91sam9g20ek_2mmcdf_defconfig
++at91sam9g20ek_2mmc/at91sam9g20ek_2mmc_defconfig
++at91sam9g20ek_2mmc/at91sam9g20ek_2mmcsd_defconfig
++at91sam9g20ek_2mmc/at91sam9g20ek_2mmcnf_defconfig
++at91sam9g20ek_2mmc/at91sam9g20ek_2mmcdfc_defconfig
++at91sam9rlek/at91sam9rlsd_defconfig
++at91sam9rlek/at91sam9rlnf_defconfig
++at91sam9rlek/at91sam9rlek_defconfig
++at91sam9rlek/at91sam9rldf_defconfig
++at91sam9m10ek/at91sam9m10nf_defconfig
++at91sam9m10ek/at91sam9m10ek_defconfig
++at91sam9m10ek/at91sam9m10df_defconfig
++at91sam9m10ek/at91sam9m10sdu_defconfig
++at91sam9m10ek/at91sam9m10sd_defconfig
++at91sam9m10ek/at91sam9m10sd_android_defconfig
++at91sam9263ek/at91sam9263nf_defconfig
++at91sam9263ek/at91sam9263df_defconfig
++at91sam9263ek/at91sam9263dfc_defconfig
++at91sam9263ek/at91sam9263ek_defconfig
+ afeb9260/afeb9260_defconfig
+-at91cap9adk/at91cap9adk_defconfig
+-at91cap9adk/at91cap9df_defconfig
+-at91cap9adk/at91cap9f_defconfig
+-at91cap9stk/at91cap9stk_defconfig
+-at91cap9stk/at91cap9stkdf_defconfig
+-at91cap9stk/at91cap9stkf_defconfig
+-at91sam9260ek/at91sam9260dfc_defconfig
++at91sam9xeek/at91sam9xeek_defconfig
++at91sam9xeek/at91sam9xedfc_defconfig
++at91sam9xeek/at91sam9xedf_defconfig
++at91sam9xeek/at91sam9xenf_defconfig
++at91sam9g20ek/at91sam9g20ek_defconfig
++at91sam9g20ek/at91sam9g20df_defconfig
++at91sam9g20ek/at91sam9g20sd_defconfig
++at91sam9g20ek/at91sam9g20nf_defconfig
++at91sam9g20ek/at91sam9g20dfc_defconfig
+ at91sam9260ek/at91sam9260df_defconfig
+-at91sam9260ek/at91sam9260ek_defconfig
+ at91sam9260ek/at91sam9260nf_defconfig
+-at91sam9261ek/at91sam9261dfc_defconfig
+-at91sam9261ek/at91sam9261df_defconfig
++at91sam9260ek/at91sam9260ek_defconfig
++at91sam9260ek/at91sam9260dfc_defconfig
+ at91sam9261ek/at91sam9261ek_defconfig
+ at91sam9261ek/at91sam9261nf_defconfig
+-at91sam9263ek/at91sam9263dfc_defconfig
+-at91sam9263ek/at91sam9263ek_defconfig
+-at91sam9263ek/at91sam9263nf_defconfig
+-at91sam9g10ek/at91sam9g10df_defconfig
+-at91sam9g10ek/at91sam9g10ek_defconfig
+-at91sam9g10ek/at91sam9g10nf_defconfig
+-at91sam9g20ek/at91sam9g20dfc_defconfig
+-at91sam9g20ek/at91sam9g20df_defconfig
+-at91sam9g20ek/at91sam9g20ek_defconfig
+-at91sam9g20ek/at91sam9g20nf_defconfig
++at91sam9261ek/at91sam9261dfc_defconfig
++at91sam9261ek/at91sam9261df_defconfig
++at91cap9adk/at91cap9adk_defconfig
++at91cap9adk/at91cap9df_defconfig
++at91cap9adk/at91cap9f_defconfig
++at91sam9g45ek/at91sam9g45nf_defconfig
+ at91sam9g45ek/at91sam9g45df_defconfig
+ at91sam9g45ek/at91sam9g45ek_defconfig
+-at91sam9g45ek/at91sam9g45nf_defconfig
+-at91sam9g45ekes/at91sam9g45dfes_defconfig
+-at91sam9g45ekes/at91sam9g45ekes_defconfig
+-at91sam9g45ekes/at91sam9g45nfes_defconfig
+-at91sam9m10ek/at91sam9m10df_defconfig
+-at91sam9m10ek/at91sam9m10ek_defconfig
+-at91sam9m10ek/at91sam9m10nf_defconfig
+-at91sam9rlek/at91sam9rldf_defconfig
+-at91sam9rlek/at91sam9rlek_defconfig
+-at91sam9rlek/at91sam9rlnf_defconfig
+-at91sam9xeek/at91sam9xedfc_defconfig
+-at91sam9xeek/at91sam9xedf_defconfig
+-at91sam9xeek/at91sam9xeek_defconfig
+-at91sam9xeek/at91sam9xenf_defconfig
++at91sam9g45ek/at91sam9g45sd_defconfig
++at91sam9g10ek/at91sam9g10sd_defconfig
++at91sam9g10ek/at91sam9g10ek_defconfig
++at91sam9g10ek/at91sam9g10df_defconfig
++at91sam9g10ek/at91sam9g10nf_defconfig
++at91cap9stk/at91cap9stkf_defconfig
++at91cap9stk/at91cap9stkdf_defconfig
++at91cap9stk/at91cap9stk_defconfig
++at91sam9m10ekes/at91sam9m10nfes_defconfig
++at91sam9m10ekes/at91sam9m10ekes_defconfig
++at91sam9m10ekes/at91sam9m10sdes_defconfig
++at91sam9m10ekes/at91sam9m10dfes_defconfig
+diff --git a/board/dirs b/board/dirs
+index d0afe7e..1d6a8d9 100644
+--- a/board/dirs
++++ b/board/dirs
+@@ -5,7 +5,8 @@ DIRS=\
+ at91sam9rlek \
+ at91sam9g10ek \
+ at91sam9g20ek \
++ at91sam9g20ek_2mmc \
+ at91sam9g45ek \
+ at91sam9m10ek \
+ at91sam9g45ekes \
+- at91sam9m10ekes \
+\ No newline at end of file
++ at91sam9m10ekes \
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0034-Add-at91sam9g20ek_2mmc-to-part.h.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0034-Add-at91sam9g20ek_2mmc-to-part.h.patch
new file mode 100644
index 0000000000..2d290d3d9b
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0034-Add-at91sam9g20ek_2mmc-to-part.h.patch
@@ -0,0 +1,30 @@
+From e6be93d260bfa2b8d3a8946290b77cd6ee2a93e2 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Fri, 28 Oct 2011 12:43:22 +0200
+Subject: [PATCH 34/39] Add at91sam9g20ek_2mmc to part.h
+
+---
+ include/part.h | 5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+diff --git a/include/part.h b/include/part.h
+index 843dcfd..cb3f0e3 100644
+--- a/include/part.h
++++ b/include/part.h
+@@ -60,8 +60,13 @@
+
+ #ifdef AT91SAM9G20
+ #include "AT91SAM9260_inc.h"
++#ifdef CONFIG_AT91SAM9G20EK
+ #include "at91sam9g20ek.h"
+ #endif
++#ifdef CONFIG_AT91SAM9G20EK_2MMC
++#include "at91sam9g20ek_2mmc.h"
++#endif
++#endif
+
+ #ifdef AT91SAM9G45
+ #include "AT91SAM9G45_inc.h"
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0035-Allow-SAM9G20EK-_2MMC-to-use-partitions.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0035-Allow-SAM9G20EK-_2MMC-to-use-partitions.patch
new file mode 100644
index 0000000000..f0c6155336
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0035-Allow-SAM9G20EK-_2MMC-to-use-partitions.patch
@@ -0,0 +1,25 @@
+From 42d7f66d4e614e161a3a5cd05ab19b2379e1692b Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Fri, 28 Oct 2011 12:43:58 +0200
+Subject: [PATCH 35/39] Allow SAM9G20EK(_2MMC) to use partitions
+
+---
+ include/AT91SAM9260_inc.h | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/include/AT91SAM9260_inc.h b/include/AT91SAM9260_inc.h
+index 6c5d82e..949653b 100644
+--- a/include/AT91SAM9260_inc.h
++++ b/include/AT91SAM9260_inc.h
+@@ -3049,7 +3049,7 @@
+
+ #define CHIP_SRAM0_BASEADDR 0x200000
+
+-#if !defined(CONFIG_AT91SAM9G20EK)
++#if defined(CONFIG_AT91SAM9260EK)
+ #define NO_PATITION
+ #endif
+
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0036-at91sam9g20ek_2mmc-support-loading-linux.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0036-at91sam9g20ek_2mmc-support-loading-linux.patch
new file mode 100644
index 0000000000..aada47d7c4
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0036-at91sam9g20ek_2mmc-support-loading-linux.patch
@@ -0,0 +1,100 @@
+From b2e2f8b50bb2c8de26828cb192a500038a5d1882 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Fri, 28 Oct 2011 12:45:04 +0200
+Subject: [PATCH 36/39] at91sam9g20ek_2mmc: support loading linux
+
+---
+ driver/linux_loader.c | 21 +++++++++++++++++++++
+ 1 files changed, 21 insertions(+), 0 deletions(-)
+
+diff --git a/driver/linux_loader.c b/driver/linux_loader.c
+index f7711ca..bb78829 100644
+--- a/driver/linux_loader.c
++++ b/driver/linux_loader.c
+@@ -22,6 +22,7 @@
+ #define LINUX_KERNEL_ARG_STRING "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2"
+ #endif
+ #endif
++
+ #ifdef CONFIG_AT91SAM9261EK
+ #ifdef CONFIG_DATAFLASH
+ #define LINUX_KERNEL_ARG_STRING "mem=64M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2"
+@@ -33,6 +34,7 @@
+ #define LINUX_KERNEL_ARG_STRING "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2"
+ #endif
+ #endif
++
+ #ifdef CONFIG_AT91SAM9263EK
+ #ifdef CONFIG_DATAFLASH
+ #define LINUX_KERNEL_ARG_STRING "mem=64M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2"
+@@ -44,6 +46,7 @@
+ #define LINUX_KERNEL_ARG_STRING "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2"
+ #endif
+ #endif
++
+ #ifdef CONFIG_AT91SAM9RLEK
+ #ifdef CONFIG_DATAFLASH
+ #define LINUX_KERNEL_ARG_STRING "mem=64M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2"
+@@ -55,6 +58,7 @@
+ #define LINUX_KERNEL_ARG_STRING "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2"
+ #endif
+ #endif
++
+ #ifdef CONFIG_AT91SAM9G10EK
+ #ifdef CONFIG_DATAFLASH
+ #define LINUX_KERNEL_ARG_STRING "mem=64M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2"
+@@ -66,6 +70,7 @@
+ #define LINUX_KERNEL_ARG_STRING "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2"
+ #endif
+ #endif
++
+ #ifdef CONFIG_AT91SAM9G20EK
+ #ifdef CONFIG_DATAFLASH
+ #define LINUX_KERNEL_ARG_STRING "mem=64M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2"
+@@ -77,6 +82,19 @@
+ #define LINUX_KERNEL_ARG_STRING "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2"
+ #endif
+ #endif
++
++#ifdef CONFIG_AT91SAM9G20EK_2MMC
++#ifdef CONFIG_DATAFLASH
++#define LINUX_KERNEL_ARG_STRING "mem=64M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2"
++#endif
++#ifdef CONFIG_NANDFLASH
++#define LINUX_KERNEL_ARG_STRING "mem=64M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2"
++#endif
++#ifdef CONFIG_SDCARD
++#define LINUX_KERNEL_ARG_STRING "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2"
++#endif
++#endif
++
+ #ifdef CONFIG_AT91SAM9G45EK
+ #ifdef CONFIG_DATAFLASH
+ #define LINUX_KERNEL_ARG_STRING "mem=128M console=ttyS0,115200 mtdparts=atmel_nand:4M(bootstrap),60M(rootfs),-(spare) root=/dev/mtdblock1 rw rootfstype=jffs2"
+@@ -88,6 +106,7 @@
+ #define LINUX_KERNEL_ARG_STRING "mem=128M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2"
+ #endif
+ #endif
++
+ #ifdef CONFIG_AT91SAM9M10EK
+ #ifdef CONFIG_DATAFLASH
+ #define LINUX_KERNEL_ARG_STRING "mem=64M console=ttyS0,115200 mtdparts=atmel_nand:4M(bootstrap),60M(rootfs),-(spare) root=/dev/mtdblock1 rw rootfstype=jffs2"
+@@ -99,6 +118,7 @@
+ #define LINUX_KERNEL_ARG_STRING "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2"
+ #endif
+ #endif
++
+ #ifdef CONFIG_AT91SAM9G45EKES
+ #ifdef CONFIG_DATAFLASH
+ #define LINUX_KERNEL_ARG_STRING "mem=128M console=ttyS0,115200 mtdparts=atmel_nand:4M(bootstrap),60M(rootfs),-(spare) root=/dev/mtdblock1 rw rootfstype=jffs2"
+@@ -110,6 +130,7 @@
+ #define LINUX_KERNEL_ARG_STRING "mem=128M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2"
+ #endif
+ #endif
++
+ #ifdef CONFIG_AT91SAM9M10EKES
+ #ifdef CONFIG_DATAFLASH
+ #define LINUX_KERNEL_ARG_STRING "mem=64M console=ttyS0,115200 mtdparts=atmel_nand:4M(bootstrap),60M(rootfs),-(spare) root=/dev/mtdblock1 rw rootfstype=jffs2"
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0037-Use-up-to-date-debug-logging.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0037-Use-up-to-date-debug-logging.patch
new file mode 100644
index 0000000000..fa7ad862ff
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0037-Use-up-to-date-debug-logging.patch
@@ -0,0 +1,168 @@
+From 8773542cb012747ea842cd10b8f41ca6af7f6b76 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Fri, 28 Oct 2011 12:45:57 +0200
+Subject: [PATCH 37/39] Use up-to-date debug logging
+
+---
+ driver/ff.c | 52 +++++++++++++++++++++++-----------------------------
+ 1 files changed, 23 insertions(+), 29 deletions(-)
+
+diff --git a/driver/ff.c b/driver/ff.c
+index dd5330e..abb3d18 100644
+--- a/driver/ff.c
++++ b/driver/ff.c
+@@ -842,19 +842,16 @@ FRESULT dir_find(DIR * dj /* Pointer to the directory object linked to the
+ break;
+ } else { /* Match SFN if LFN is in 8.3 format */
+ #if defined(CONFIG_DEBUG_VERY_LOUD)
+- dbgu_print("\nComparing ");
+- dbgu_print(dir);
+- dbgu_print(" with ");
+- dbgu_print(dj->fn);
++ dbg_log(1, "Comparing %s with %s: ",dir,dj->fn);
+ #endif
+ if (!memcmp(dir, dj->fn, 11)) {
+ #if defined(CONFIG_DEBUG_VERY_LOUD)
+- dbgu_print(" OK\r\n");
++ dbg_log(1, "OK\r\n");
+ #endif
+ break;
+ }
+ #if defined(CONFIG_DEBUG_VERY_LOUD)
+- dbgu_print(" Fail\r\n");
++ dbg_log(1, "Fail\r\n");
+ #endif
+ }
+ ord = 0xFF;
+@@ -862,19 +859,16 @@ FRESULT dir_find(DIR * dj /* Pointer to the directory object linked to the
+ }
+ #else /* Non LFN configuration */
+ #if defined(CONFIG_DEBUG_VERY_LOUD)
+- dbgu_print("\nComparing ");
+- dbgu_print((char *) dir);
+- dbgu_print(" with ");
+- dbgu_print((char *) dj->fn);
++ dbg_log(1, "Comparing %s with %s: ",(char *) dir,(char *) dj->fn);
+ #endif
+ if (!(dir[DIR_Attr] & AM_VOL) && !memcmp(dir, dj->fn, 11)) { /* Is it a valid entry? */
+ #if defined(CONFIG_DEBUG_VERY_LOUD)
+- dbgu_print(" OK\r\n");
++ dbg_log(1, "OK\r\n");
+ #endif
+ break;
+ }
+ #if defined(CONFIG_DEBUG_VERY_LOUD)
+- dbgu_print(" Fail\r\n");
++ dbg_log(1, "Fail\r\n");
+ #endif
+ #endif
+ res = dir_next(dj, FALSE); /* Next entry */
+@@ -1580,7 +1574,10 @@ FRESULT auto_mount( /* FR_OK(0): successful, !=0: any error occured
+ DWORD bsect, fsize, tsect, mclst;
+
+ const XCHAR *p = *path;
+- const XCHAR vol_name[2];
++
++#if defined(CONFIG_DEBUG_VERY_LOUD)
++ XCHAR vol_name[2];
++#endif
+
+ FATFS *fs;
+
+@@ -1588,9 +1585,8 @@ FRESULT auto_mount( /* FR_OK(0): successful, !=0: any error occured
+ * Get logical drive number from the path name
+ */
+ #if defined(CONFIG_DEBUG_VERY_LOUD)
+- dbgu_print("Automount: ");
+- dbgu_print((const char *) path);
+- dbgu_print("\r\n");
++
++ dbg_log(1, "Automount: %s\r\n", (const char *) path);
+ #endif
+ vol = p[0] - '0'; /* Is there a drive number? */
+ if (vol <= 9 && p[1] == ':') { /* Found a drive number, get and strip it */
+@@ -1603,24 +1599,22 @@ FRESULT auto_mount( /* FR_OK(0): successful, !=0: any error occured
+ vol = 0; /* Use drive 0 */
+ #endif
+ }
++#if defined(CONFIG_DEBUG_VERY_LOUD)
+ vol_name[0] = vol + '0';
+- vol_name[0] = '\0;
+-
++ vol_name[0] = '\0';
++#endif
+ /*
+ * Check if the logical drive is valid or not
+ */
+ if (vol >= _DRIVES) { /* Is the drive number valid? */
+ #if defined(CONFIG_DEBUG_VERY_LOUD)
+- dbgu_print("Invalid Drive: [");
+- dbgu_print(volname);
+- dbgu_print("]\r\n");
+-
++ dbg_log(1, "Invalid Drive: [%s]\r\n", vol_name);
+ #endif
+ return FR_INVALID_DRIVE;
+ }
+ *rfs = fs = FatFs[vol]; /* Returen pointer to the corresponding file system object */
+ if (!fs) {
+- dbgu_print("File system not registered!\r\n");
++ dbg_log(1, "File system not registered!\r\n");
+ return FR_NOT_ENABLED; /* Is the file system object registered? */
+ }
+ ENTER_FF(fs); /* Lock file system */
+@@ -1645,7 +1639,7 @@ FRESULT auto_mount( /* FR_OK(0): successful, !=0: any error occured
+ stat = disk_initialize(fs->drive); /* Initialize low level disk I/O layer */
+ if (stat & STA_NOINIT) { /* Check if the drive is ready */
+ #if defined(CONFIG_DEBUG_VERY_LOUD)
+- dbgu_print("Invalid Drive\r\n");
++ dbg_log(1, "Invalid Drive [%d]\r\n", fs->drive);
+ #endif
+ return FR_NOT_READY;
+ }
+@@ -1679,13 +1673,13 @@ FRESULT auto_mount( /* FR_OK(0): successful, !=0: any error occured
+
+ if (fmt == 3) {
+ #if defined(CONFIG_DEBUG_VERY_LOUD)
+- dbgu_print("fmt == 3 - Not Valid!\r\n");
++ dbg_log(1, "fmt == 3 - Not Valid!\r\n");
+ #endif
+ return FR_DISK_ERR;
+ }
+ if (fmt || LD_WORD(fs->win + BPB_BytsPerSec) != SS(fs)) { /* No valid FAT patition is found */
+ #if defined(CONFIG_DEBUG_VERY_LOUD)
+- dbgu_print("No valid FAT Partition\r\n");
++ dbg_log(1, "No valid FAT Partition\r\n");
+ #endif
+ return FR_NO_FILESYSTEM;
+ }
+@@ -1693,7 +1687,7 @@ FRESULT auto_mount( /* FR_OK(0): successful, !=0: any error occured
+ * Initialize the file system object
+ */
+ #if defined(CONFIG_DEBUG_VERY_LOUD)
+- dbgu_print("INFO: INit file system object\r\n");
++ dbg_log(1, "INFO: Init file system object\r\n");
+ #endif
+ fsize = LD_WORD(fs->win + BPB_FATSz16); /* Number of sectors per FAT */
+ if (!fsize)
+@@ -2867,7 +2861,7 @@ FRESULT f_rename(const XCHAR * path_old, /* Pointer to the old name */
+ res = auto_mount(&path_old, &dj_old.fs, 1);
+ if (res == FR_OK) {
+ #if defined(CONFIG_DEBUG_VERY_LOUD)
+- dbgu_print("Automount succeded\r\n");
++ dbg_log(1, "Automount succeded\r\n");
+ #endif
+ dj_new.fs = dj_old.fs;
+ res = follow_path(&dj_old, path_old); /* Check old object */
+@@ -2876,7 +2870,7 @@ FRESULT f_rename(const XCHAR * path_old, /* Pointer to the old name */
+ }
+ if (res != FR_OK) {
+ #if defined(CONFIG_DEBUG_VERY_LOUD)
+- dbgu_print("Automount failed\r\n");
++ dbg_log(1, "Automount failed\r\n");
+ #endif
+ LEAVE_FF(dj_old.fs, res); /* The old object is not found */
+ }
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0038-Avoid-warnings-on-gcc-4.6.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0038-Avoid-warnings-on-gcc-4.6.patch
new file mode 100644
index 0000000000..9aeb91297d
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0038-Avoid-warnings-on-gcc-4.6.patch
@@ -0,0 +1,53 @@
+From 64d6da3f691eb81ad546e6567e3e8f6ac3fe6ea6 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Fri, 28 Oct 2011 12:47:06 +0200
+Subject: [PATCH 38/39] Avoid warnings on gcc-4.6
+
+---
+ driver/sdmmc_mci.c | 9 ++++-----
+ 1 files changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/driver/sdmmc_mci.c b/driver/sdmmc_mci.c
+index 9112579..a7ee29f 100644
+--- a/driver/sdmmc_mci.c
++++ b/driver/sdmmc_mci.c
+@@ -2188,6 +2188,9 @@ unsigned char SD_WriteBlock(SdCard * pSd,
+ /// \param pSd Pointer to a SD card driver instance.
+ /// \param pSdDriver Pointer to SD driver already initialized
+ //------------------------------------------------------------------------------
++// busWidth gives warnings
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
+ static unsigned short SdMmcInit(SdCard * pSd, SdDriver * pSdDriver)
+ {
+ unsigned char isCCSet;
+@@ -2339,10 +2342,6 @@ static unsigned short SdMmcInit(SdCard * pSd, SdDriver * pSdDriver)
+
+ dbg_log(1, "Is card MMC one?\n\r");
+
+-// busWidth gives warnings
+-#pragma GCC diagnostic push
+-#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
+-
+ if (SD_CSD_STRUCTURE(pSd) >= 2) {
+
+ MmcCmd6Arg cmd6Arg;
+@@ -2403,7 +2402,6 @@ static unsigned short SdMmcInit(SdCard * pSd, SdDriver * pSdDriver)
+ }
+ #endif // end of OP_BOOTSTRAP_MCI_on
+ }
+-#pragma GCC diagnostic pop
+ } else if (pSd->cardType >= CARD_SD) {
+
+ // Switch to 4-bits bus width
+@@ -2479,6 +2477,7 @@ static unsigned short SdMmcInit(SdCard * pSd, SdDriver * pSdDriver)
+ #endif
+ return 0;
+ }
++#pragma GCC diagnostic pop
+
+ //------------------------------------------------------------------------------
+ /// Run the SDcard initialization sequence. This function runs the
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0039-Add-falback-images-for-SD-Card.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0039-Add-falback-images-for-SD-Card.patch
new file mode 100644
index 0000000000..17abcda940
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0039-Add-falback-images-for-SD-Card.patch
@@ -0,0 +1,66 @@
+From dccafc454105dba916c0b3e56dfaa95393242cee Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Fri, 28 Oct 2011 12:47:58 +0200
+Subject: [PATCH 39/39] Add falback images for SD-Card
+
+---
+ driver/MEDSdcard.c | 21 +++++++++++++++++++--
+ 1 files changed, 19 insertions(+), 2 deletions(-)
+
+diff --git a/driver/MEDSdcard.c b/driver/MEDSdcard.c
+index 8c6a36a..1545634 100644
+--- a/driver/MEDSdcard.c
++++ b/driver/MEDSdcard.c
+@@ -52,6 +52,9 @@ extern unsigned int altboot;
+ #define IMAGE_NAME OS_IMAGE_NAME
+ #endif
+
++#define IMAGE_FALLBACK1 CONFIG_BOARD "\\U-BOOT.BIN"
++#define IMAGE_FALLBACK2 "U-BOOT.BIN"
++
+ //------------------------------------------------------------------------------
+ // Constants
+ //------------------------------------------------------------------------------
+@@ -497,7 +500,6 @@ unsigned char MEDSdcard_Initialize(Media * media, unsigned char mciID)
+ // Initialize the SD card driver
+ if (SD_Init(sdDrv, (SdDriver *) mciDrv)) {
+ dbg_log(1, "*** SD_Init: failed\n\r");
+- while (1) ;
+ return 0;
+ } else {
+ //SD_DisplayRegisterCSD(&sdDrv);
+@@ -694,8 +696,9 @@ unsigned int load_SDCard(void *dst)
+ unsigned char ret;
+
+ ret = MEDSdcard_Initialize(&medias[0], BOARD_SD_MCI_ID_USE);
+- if(ret) {
++ if(ret == 0) {
+ dbg_log(1, "Error while initializing SD-Card\r\n");
++ while (1) ;
+ }
+ memset(&fs, 0, sizeof (FATFS)); // Clear file system object
+
+@@ -709,6 +712,20 @@ unsigned int load_SDCard(void *dst)
+
+ if (res != FR_OK) {
+ dbg_log(1, "*** f_open, File name: [%s]: error!\n\r", IMAGE_NAME);
++#if defined(CONFIG_FALLBACKS)
++ dbg_log(1, "*** trying: [%s]\n\r", IMAGE_FALLBACK1);
++ res = f_open(&fileObject, IMAGE_FALLBACK1, FA_OPEN_EXISTING | FA_READ);
++ }
++
++ if (res != FR_OK) {
++ dbg_log(1, "*** f_open, File name: [%s]: error!\n\r", IMAGE_FALLBACK1);
++ dbg_log(1, "*** trying: [%s]\n\r", IMAGE_FALLBACK2);
++ res = f_open(&fileObject, IMAGE_FALLBACK2, FA_OPEN_EXISTING | FA_READ);
++ }
++
++ if (res != FR_OK) {
++ dbg_log(1, "*** f_open, File name: [%s]: error!\n\r", IMAGE_FALLBACK2);
++#endif
+ while (1) ;
+ }
+
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0040-Fix-autoconf.h.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0040-Fix-autoconf.h.patch
new file mode 100644
index 0000000000..6368939222
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0040-Fix-autoconf.h.patch
@@ -0,0 +1,52 @@
+From 2074da963ba84fa74f0dec3268d6174857ebfc93 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Fri, 28 Oct 2011 14:38:36 +0200
+Subject: [PATCH] Fix autoconf.h
+
+---
+ Makefile | 8 ++++----
+ include/autoconf.h | 1 -
+ 2 files changed, 4 insertions(+), 5 deletions(-)
+ delete mode 120000 include/autoconf.h
+
+diff --git a/Makefile b/Makefile
+index a9d1560..6dcd9c1 100644
+--- a/Makefile
++++ b/Makefile
+@@ -237,21 +237,21 @@ SRCS := $(COBJS-y:.o=.c)
+ OBJS := $(SOBJS-y) $(COBJS-y)
+
+ INCL=board/$(BOARD)
+-
++AUTOINCL+=config/at91bootstrap-config
+ #AT91_CUSTOM_FLAGS:=-mcpu=arm9
+ #AT91_CUSTOM_FLAGS:=-mcpu=arm926ej-s
+ GC_SECTIONS=--gc-sections
+
+-CPPFLAGS=-ffunction-sections -g -Os -Wall -I$(INCL) -Iinclude \
++CPPFLAGS=-ffunction-sections -g -Os -Wall -I$(INCL) -I$(AUTOINCL) -Iinclude \
+ -DAT91BOOTSTRAP_VERSION=\"$(VERSION)\" \
+ $(NO_DWARF_CFI_ASM) \
+ $(AT91_CUSTOM_FLAGS)
+
+-CPPFLAGS_UTIL=-g -Os -Wall -I$(INCL) -Iinclude \
++CPPFLAGS_UTIL=-g -Os -Wall -I$(INCL) -I$(AUTOINCL) -Iinclude \
+ -DAT91BOOTSTRAP_VERSION=\"$(VERSION)\"
+
+
+-ASFLAGS=-g -Os -Wall -I$(INCL) -Iinclude \
++ASFLAGS=-g -Os -Wall -I$(INCL) -I$(AUTOINCL) -Iinclude \
+ $(AT91_CUSTOM_FLAGS)
+
+ include toplevel_cpp.mk
+diff --git a/include/autoconf.h b/include/autoconf.h
+deleted file mode 120000
+index 925f804..0000000
+--- a/include/autoconf.h
++++ /dev/null
+@@ -1 +0,0 @@
+-../config/at91bootstrap-config/autoconf.h
+\ No newline at end of file
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0041-Fix-EXTRA_INSTALL-add-missing.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0041-Fix-EXTRA_INSTALL-add-missing.patch
new file mode 100644
index 0000000000..3523f3c660
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0041-Fix-EXTRA_INSTALL-add-missing.patch
@@ -0,0 +1,27 @@
+From f702f4fdc32e79402e24e2523fe1aba19f6b8daa Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Fri, 28 Oct 2011 15:18:28 +0200
+Subject: [PATCH] Fix EXTRA_INSTALL - add missing /
+
+---
+ Makefile | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 6dcd9c1..b6ef661 100644
+--- a/Makefile
++++ b/Makefile
+@@ -214,8 +214,8 @@ EXTRA_INSTALL+=files/NAND-empty-1MB.jffs2.bz2
+ EXTRA_INSTALL+=files/SD-card-tools.tar.bz2
+
+ ifeq ($(CONFIG_RAW_AT91),y)
+-RAW_AT91=$(BINDIR)raw-at91
+-EXTRA_INSTALL+=$(BINDIR)raw-at91
++RAW_AT91=$(BINDIR)/raw-at91
++EXTRA_INSTALL+=$(BINDIR)/raw-at91
+ endif
+ ifeq ($(CONFIG_SX_AT91),y)
+ SX_AT91=$(BINDIR)/sx-at91
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/0042-U-Boot-may-not-be-in-a-subdirectory.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/0042-U-Boot-may-not-be-in-a-subdirectory.patch
new file mode 100644
index 0000000000..264c360af6
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/0042-U-Boot-may-not-be-in-a-subdirectory.patch
@@ -0,0 +1,27 @@
+From 53e1bd363ccd4ebe32852bfb1a1b847ff2b92d1b Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Fri, 28 Oct 2011 18:25:59 +0200
+Subject: [PATCH] U-Boot may not be in a subdirectory
+
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@telia.com>
+---
+ .../at91sam9g20ek_2mmcsd_defconfig | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmcsd_defconfig b/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmcsd_defconfig
+index 3f78566..323a39e 100644
+--- a/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmcsd_defconfig
++++ b/board/at91sam9g20ek_2mmc/at91sam9g20ek_2mmcsd_defconfig
+@@ -84,7 +84,7 @@ CONFIG_LOAD_UBOOT=y
+ # CONFIG_LOAD_4MB is not set
+ CONFIG_ALT_IMG_ADDRESS="0x00000000"
+ CONFIG_ALT_IMG_SIZE="0x00010000"
+-CONFIG_OS_IMAGE_NAME="at91sam9g20ek_2mmc\\\\u-boot.bin"
++CONFIG_OS_IMAGE_NAME="u-boot.bin"
+ CONFIG_IMG_ADDRESS="0x00000000"
+ CONFIG_SETTING_ADDRESS="0x00000000"
+ CONFIG_SETTING_SIZE="0x00001000"
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/bad/0001-Do-not-try-to-install-files-removed-from-at91bootstr.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/bad/0001-Do-not-try-to-install-files-removed-from-at91bootstr.patch
new file mode 100644
index 0000000000..1b837b74f8
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/bad/0001-Do-not-try-to-install-files-removed-from-at91bootstr.patch
@@ -0,0 +1,29 @@
+From 0c90baa60cb7946dcd953760d9a498161faf1514 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Wed, 19 Oct 2011 23:02:39 +0200
+Subject: [PATCH 1/2] Do not try to install files removed from at91bootstrap
+
+---
+ Makefile | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 033c288..2b4ea0c 100644
+--- a/Makefile
++++ b/Makefile
+@@ -195,9 +195,9 @@ EXTRA_INSTALL+=files/AT91SAM9G45_RomCode_Replacement_13.bin.zip
+ EXTRA_INSTALL+=files/README.TXT
+ endif
+ EXTRA_INSTALL+=scripts/fixboot.py
+-EXTRA_INSTALL+=files/Makefile.jffs2
+-EXTRA_INSTALL+=files/NAND-empty-1MB.jffs2.bz2
+-EXTRA_INSTALL+=files/SD-card-tools.tar.bz2
++#EXTRA_INSTALL+=files/Makefile.jffs2
++#EXTRA_INSTALL+=files/NAND-empty-1MB.jffs2.bz2
++#EXTRA_INSTALL+=files/SD-card-tools.tar.bz2
+
+ ifeq ($(CONFIG_RAW_AT91),y)
+ RAW_AT91=$(BINDIR)raw-at91
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/bad/0002-Do-not-track-install-ed-files.patch b/recipes/at91bootstrap/at91bootstrap-3.1.2/bad/0002-Do-not-track-install-ed-files.patch
new file mode 100644
index 0000000000..b59183987e
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/bad/0002-Do-not-track-install-ed-files.patch
@@ -0,0 +1,22 @@
+From f9c82a5d1b8f3f15c8a929fb631af11e2bb20947 Mon Sep 17 00:00:00 2001
+From: Ulf Samuelsson <ulf_samuelsson@telia.com>
+Date: Wed, 19 Oct 2011 23:03:22 +0200
+Subject: [PATCH 2/2] Do not track install'ed files
+
+---
+ .gitignore | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/.gitignore b/.gitignore
+index d78652e..bdfcad1 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -21,3 +21,5 @@ binaries
+ *.o
+ tags
+ *.swp
++install/*
++
+--
+1.7.5.4
+
diff --git a/recipes/at91bootstrap/at91bootstrap-3.1.2/series b/recipes/at91bootstrap/at91bootstrap-3.1.2/series
new file mode 100644
index 0000000000..1f92b6677e
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap-3.1.2/series
@@ -0,0 +1,2 @@
+ file://at91bootstrap-3.1.2/0042-U-Boot-may-not-be-in-a-subdirectory.patch \
+
diff --git a/recipes/at91bootstrap/at91bootstrap_3.0.bb b/recipes/at91bootstrap/at91bootstrap_3.0.bb
index 6b8629761c..d9abb138d2 100644
--- a/recipes/at91bootstrap/at91bootstrap_3.0.bb
+++ b/recipes/at91bootstrap/at91bootstrap_3.0.bb
@@ -27,6 +27,7 @@ SRC_URI_append = " \
file://0016-Update-configs.patch;apply=yes \
file://0017-at91bootstrap-fix-build-error-in-openembedded-due-to.patch;apply=yes \
file://0018-Change-switch-statements-to-if-statements-to-avoid-b.patch;apply=yes \
+ file://0019-Make-at91sam9g20sd-load-u-boot.patch \
"
# S = "${WORKDIR}/${PN}-${PV}"
diff --git a/recipes/at91bootstrap/at91bootstrap_3.1.2.bb b/recipes/at91bootstrap/at91bootstrap_3.1.2.bb
new file mode 100644
index 0000000000..7770e888c6
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap_3.1.2.bb
@@ -0,0 +1,77 @@
+require at91bootstrap_3.1.inc
+PR = "r0"
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_at91sam9g45ek = "-1"
+DEFAULT_PREFERENCE_at91sam9g45ekes = "-1"
+DEFAULT_PREFERENCE_at91sam9m10ek = "-1"
+DEFAULT_PREFERENCE_at91sam9m10ekes = "-1"
+
+DEFAULT_PREFERENCE_at91sam9g15ek = "2"
+DEFAULT_PREFERENCE_at91sam9g25ek = "2"
+DEFAULT_PREFERENCE_at91sam9g35ek = "2"
+DEFAULT_PREFERENCE_at91sam9x25ek = "2"
+DEFAULT_PREFERENCE_at91sam9x35ek = "2"
+DEFAULT_PREFERENCE_at91sam9g20ek_2mmc = "3"
+
+SRC_URI = "ftp://ftp.linux4sam.org/pub/at91bootstrap/AT91Bootstrap3.1/AT91Bootstrap-5series_1.2.tgz \
+ "
+
+SRC_URI_append = "\
+ file://at91bootstrap-3.1.2/0003-Add-some-useful-files-utilities.patch \
+ file://at91bootstrap-3.1.2/0004-.gitignore-Do-not-track-files-in-the-install-directo.patch \
+ file://at91bootstrap-3.1.2/0005-Makefile-Create-BOOT.BIN-with-capital-letters-for-SD.patch \
+ file://at91bootstrap-3.1.2/0006-Makefile-Use-BOARD-instead-of-BOARDNAME.patch \
+ file://at91bootstrap-3.1.2/0007-afeb9260-Remove-old-unused-files.patch \
+ file://at91bootstrap-3.1.2/0008-Makefile-Avoid-complaint-about-CROSS_COMPILE.patch \
+ file://at91bootstrap-3.1.2/0009-.gitignore-Do-not-track-.rej.patch \
+ file://at91bootstrap-3.1.2/0010-alternate-boot-Support-booting-from-two-sources.patch \
+ file://at91bootstrap-3.1.2/0011-build-scripts-Update-buildscripts.patch \
+ file://at91bootstrap-3.1.2/0012-Update-all-defconfigs.patch \
+ file://at91bootstrap-3.1.2/0013-Update-version-to-3.1.1.patch \
+ file://at91bootstrap-3.1.2/0014-Do-not-track-patches.patch \
+ file://at91bootstrap-3.1.2/0015-Makefile-Better-cleanup.patch \
+ file://at91bootstrap-3.1.2/0016-Update-version-to-3.1.1.patch \
+ file://at91bootstrap-3.1.2/0017-all-Clean-up-include-mess.patch \
+ file://at91bootstrap-3.1.2/0018-Makefile-Revert-change-which-broke-MAKEALL.patch \
+ file://at91bootstrap-3.1.2/0019-Improve-printout-of-MAKEALL.patch \
+ file://at91bootstrap-3.1.2/0020-config-conf.c-Remove-cause-of-warnings.patch \
+ file://at91bootstrap-3.1.2/0021-Remove-warnings-from-build.patch \
+ file://at91bootstrap-3.1.2/0022-Bump-version-to-3.1.2.patch \
+ file://at91bootstrap-3.1.2/0023-Allow-SAM9G20-to-use-partitions.patch \
+ file://at91bootstrap-3.1.2/0024-More-verbose-error-messages-for-FAT-access.patch \
+ file://at91bootstrap-3.1.2/0025-Add-at91sam9g20ek_2mmcsd_defconfig.patch \
+ file://at91bootstrap-3.1.2/0026-.gitignore-Update.patch \
+ file://at91bootstrap-3.1.2/0027-Update-build-scripts.patch \
+ file://at91bootstrap-3.1.2/0028-at91sam9g20ek_2mmc-add-BSP.patch \
+ file://at91bootstrap-3.1.2/0029-Update-defconfigs.patch \
+ file://at91bootstrap-3.1.2/0030-Remove-some-faulty-defconfigs-wrong-location.patch \
+ file://at91bootstrap-3.1.2/0031-Config.in-configurable-application.patch \
+ file://at91bootstrap-3.1.2/0032-Update-WinCE-build-ffiles-for-_2mmc.patch \
+ file://at91bootstrap-3.1.2/0033-Update-boards-and-dirs-files.patch \
+ file://at91bootstrap-3.1.2/0034-Add-at91sam9g20ek_2mmc-to-part.h.patch \
+ file://at91bootstrap-3.1.2/0035-Allow-SAM9G20EK-_2MMC-to-use-partitions.patch \
+ file://at91bootstrap-3.1.2/0036-at91sam9g20ek_2mmc-support-loading-linux.patch \
+ file://at91bootstrap-3.1.2/0037-Use-up-to-date-debug-logging.patch \
+ file://at91bootstrap-3.1.2/0038-Avoid-warnings-on-gcc-4.6.patch \
+ file://at91bootstrap-3.1.2/0039-Add-falback-images-for-SD-Card.patch \
+ file://at91bootstrap-3.1.2/0040-Fix-autoconf.h.patch \
+ file://at91bootstrap-3.1.2/0041-Fix-EXTRA_INSTALL-add-missing.patch \
+ file://at91bootstrap-3.1.2/0042-U-Boot-may-not-be-in-a-subdirectory.patch \
+ file://files/AT91SAM9G45_RomCode_Replacement_13.bin.zip;apply=no;unpack=no \
+ file://files/NAND-empty-1MB.jffs2.bz2;apply=no;unpack=no \
+ file://files/SD-card-tools.tar.bz2;apply=no;unpack=no \
+ "
+
+# S = "${WORKDIR}/${PN}-${PV}"
+S = "${WORKDIR}/AT91Bootstrap-5series_1.2"
+
+addtask do_configure_utilities before do_compile after do_patch
+
+do_configure_utilities () {
+ cp ${WORKDIR}/files/* ${S}/files
+}
+
+
+SRC_URI[md5sum] = "acfd06daae068ebda508f8c0b97b8255"
+SRC_URI[sha256sum] = "b6829e3199fb6b54fde82f28cc567c7dc298b57e65cd910d9bbf9bac14ac7273"
+
diff --git a/recipes/at91bootstrap/at91bootstrap_3.1.inc b/recipes/at91bootstrap/at91bootstrap_3.1.inc
new file mode 100644
index 0000000000..b4667e09d6
--- /dev/null
+++ b/recipes/at91bootstrap/at91bootstrap_3.1.inc
@@ -0,0 +1,29 @@
+DESCRIPTION = "at91bootstrap: loaded into internal SRAM by AT91 BootROM"
+SECTION = "bootloaders"
+
+PARALLEL_MAKE = ""
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} DESTDIR=${DEPLOY_DIR_IMAGE}/at91bootstrap REVISION=${PR}"
+
+do_compile () {
+ unset LDFLAGS
+ unset CFLAGS
+ unset CPPFLAGS
+
+ rm -Rf ${S}/binaries
+ install -d ${DEPLOY_DIR_IMAGE}/at91bootstrap
+ for board in ${AT91BOOTSTRAP_BOARD} ; do
+ oe_runmake mrproper
+# filename=`find board -name ${board}_defconfig`
+# if ! [ "x$filename" == "x" ] ; then
+ oe_runmake ${board}_defconfig
+ oe_runmake AT91_CUSTOM_FLAGS="${AT91BOOTSTRAP_FLAGS}"
+ oe_runmake AT91_CUSTOM_FLAGS="${AT91BOOTSTRAP_FLAGS}" boot
+ oe_runmake AT91_CUSTOM_FLAGS="${AT91BOOTSTRAP_FLAGS}" host-utilities
+ oe_runmake AT91_CUSTOM_FLAGS="${AT91BOOTSTRAP_FLAGS}" install
+# else
+# echo "${board} could not be built"
+# fi
+ done
+}
diff --git a/recipes/at91bootstrap/files/AT91SAM9G45_RomCode_Replacement_13.bin.zip b/recipes/at91bootstrap/files/AT91SAM9G45_RomCode_Replacement_13.bin.zip
new file mode 100644
index 0000000000..ae1fcab19a
--- /dev/null
+++ b/recipes/at91bootstrap/files/AT91SAM9G45_RomCode_Replacement_13.bin.zip
Binary files differ
diff --git a/recipes/at91bootstrap/files/NAND-empty-1MB.jffs2.bz2 b/recipes/at91bootstrap/files/NAND-empty-1MB.jffs2.bz2
new file mode 100644
index 0000000000..89bf7fa522
--- /dev/null
+++ b/recipes/at91bootstrap/files/NAND-empty-1MB.jffs2.bz2
Binary files differ
diff --git a/recipes/at91bootstrap/files/SD-card-tools.tar.bz2 b/recipes/at91bootstrap/files/SD-card-tools.tar.bz2
new file mode 100644
index 0000000000..d307bd5621
--- /dev/null
+++ b/recipes/at91bootstrap/files/SD-card-tools.tar.bz2
Binary files differ
diff --git a/recipes/at91bootstrap/files/series b/recipes/at91bootstrap/files/series
new file mode 100644
index 0000000000..ab7bb633d9
--- /dev/null
+++ b/recipes/at91bootstrap/files/series
@@ -0,0 +1,4 @@
+ file://files/AT91SAM9G45_RomCode_Replacement_13.bin.zip \
+ file://files/NAND-empty-1MB.jffs2.bz2 \
+ file://files/SD-card-tools.tar.bz2 \
+