summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--recipes/linux/linux-2.6.32/at91/SRC_URI_append.inc9
-rw-r--r--recipes/linux/linux-2.6.32/at91/linux-2.6.32-001-configurable-nand-partitions.patch508
-rw-r--r--recipes/linux/linux-2.6.32/at91/linux-2.6.32-002-sam9g20-proper-reset.patch103
-rw-r--r--recipes/linux/linux-2.6.32/at91sam9g45ek/defconfig1758
4 files changed, 2378 insertions, 0 deletions
diff --git a/recipes/linux/linux-2.6.32/at91/SRC_URI_append.inc b/recipes/linux/linux-2.6.32/at91/SRC_URI_append.inc
new file mode 100644
index 0000000000..ce18159162
--- /dev/null
+++ b/recipes/linux/linux-2.6.32/at91/SRC_URI_append.inc
@@ -0,0 +1,9 @@
+# Automatically generated from gnome script: "SRC_URI_append_linux"
+
+SRC_URI_append += "\
+ file://recipes/linux/linux-2.6.32/patch-sets/linux-2.6.32-001-configurable-nand-partitions.patch;patch=1 \
+ file://recipes/linux/linux-2.6.32/patch-sets/linux-2.6.32-002-sam9g20-proper-reset.patch;patch=1 \
+ "
+
+# no board directory=recipes/linux/linux-2.6.32/boards
+
diff --git a/recipes/linux/linux-2.6.32/at91/linux-2.6.32-001-configurable-nand-partitions.patch b/recipes/linux/linux-2.6.32/at91/linux-2.6.32-001-configurable-nand-partitions.patch
new file mode 100644
index 0000000000..3823bdd47b
--- /dev/null
+++ b/recipes/linux/linux-2.6.32/at91/linux-2.6.32-001-configurable-nand-partitions.patch
@@ -0,0 +1,508 @@
+This patch modifies the NAND partitions of Atmel SAM9 Evaluation Kits.
+The size of the System partition is configured using KConfig
+
+The new partition sizes is will become
+
+Bootstrap partition: 4MB
+System partition: Programmable Size (default 124 MB)
+Data partition: Rest of NAND flash
+
+It modifies the following Atmel SAM9 development boards.
+
+* cap9adk
+* sam9260ek
+* sam9261ek
+* sam9263ek
+* sam9g20ek-2slot-mmc
+* sam9g20ek
+* sam9m10g45ek
+* sam9rlek
+
+The KConfig configuration is implemented so that each board supporting
+this function selects "MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE".
+which enables the MTD_NAND_ATMEL_ROOTFS_SIZE configuration item.
+
+Signed-off-by: Ulf Samuelsson <ulf.samuelsson@atmel.com>
+diff -urN linux-2.6.32-0rig/arch/arm/mach-at91/at91_nand_partitions.h linux-2.6.32/arch/arm/mach-at91/at91_nand_partitions.h
+--- linux-2.6.32-0rig/arch/arm/mach-at91/at91_nand_partitions.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.32/arch/arm/mach-at91/at91_nand_partitions.h 2009-12-13 11:32:51.000000000 +0100
+@@ -0,0 +1,45 @@
++/*
++ * linux/arch/arm/mach-at91/at91_nand_partitions.h
++ *
++ * Copyright (C) 2005 SAN People
++ * Copyright (C) 2006 Atmel
++ * Copyright (C) 2009 Ulf Samuelsson, Atmel
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ */
++
++
++/*
++ * NAND flash
++ */
++static struct mtd_partition __initdata at91_nand_partition[] = {
++ {
++ .name = "Bootstrap",
++ .offset = 0,
++ .size = 4 * SZ_1M,
++ },
++ {
++ .name = "System",
++ .offset = MTDPART_OFS_NXTBLK,
++ .size = CONFIG_MTD_NAND_ATMEL_ROOTFS_SIZE * SZ_1M,
++ },
++ {
++ .name = "Data",
++ .offset = MTDPART_OFS_NXTBLK,
++ .size = MTDPART_SIZ_FULL,
++ },
++};
++
++
+diff -urN linux-2.6.32-0rig/arch/arm/mach-at91/board-cap9adk.c linux-2.6.32/arch/arm/mach-at91/board-cap9adk.c
+--- linux-2.6.32-0rig/arch/arm/mach-at91/board-cap9adk.c 2009-12-13 10:32:25.000000000 +0100
++++ linux-2.6.32/arch/arm/mach-at91/board-cap9adk.c 2009-12-13 11:35:57.000000000 +0100
+@@ -47,7 +47,7 @@
+
+ #include "sam9_smc.h"
+ #include "generic.h"
+-
++#include "at91_nand_partitions.h"
+
+ static void __init cap9adk_map_io(void)
+ {
+@@ -162,22 +162,10 @@
+ .is_rmii = 1,
+ };
+
+-
+-/*
+- * NAND flash
+- */
+-static struct mtd_partition __initdata cap9adk_nand_partitions[] = {
+- {
+- .name = "NAND partition",
+- .offset = 0,
+- .size = MTDPART_SIZ_FULL,
+- },
+-};
+-
+ static struct mtd_partition * __init nand_partitions(int size, int *num_partitions)
+ {
+- *num_partitions = ARRAY_SIZE(cap9adk_nand_partitions);
+- return cap9adk_nand_partitions;
++ *num_partitions = ARRAY_SIZE(at91_nand_partition);
++ return at91_nand_partition;
+ }
+
+ static struct atmel_nand_data __initdata cap9adk_nand_data = {
+diff -urN linux-2.6.32-0rig/arch/arm/mach-at91/board-sam9260ek.c linux-2.6.32/arch/arm/mach-at91/board-sam9260ek.c
+--- linux-2.6.32-0rig/arch/arm/mach-at91/board-sam9260ek.c 2009-12-13 10:32:25.000000000 +0100
++++ linux-2.6.32/arch/arm/mach-at91/board-sam9260ek.c 2009-12-13 11:35:21.000000000 +0100
+@@ -47,6 +47,7 @@
+
+ #include "sam9_smc.h"
+ #include "generic.h"
++#include "at91_nand_partitions.h"
+
+
+ static void __init ek_map_io(void)
+@@ -161,27 +162,10 @@
+ .is_rmii = 1,
+ };
+
+-
+-/*
+- * NAND flash
+- */
+-static struct mtd_partition __initdata ek_nand_partition[] = {
+- {
+- .name = "Partition 1",
+- .offset = 0,
+- .size = SZ_256K,
+- },
+- {
+- .name = "Partition 2",
+- .offset = MTDPART_OFS_NXTBLK,
+- .size = MTDPART_SIZ_FULL,
+- },
+-};
+-
+ static struct mtd_partition * __init nand_partitions(int size, int *num_partitions)
+ {
+- *num_partitions = ARRAY_SIZE(ek_nand_partition);
+- return ek_nand_partition;
++ *num_partitions = ARRAY_SIZE(at91_nand_partition);
++ return at91_nand_partition;
+ }
+
+ static struct atmel_nand_data __initdata ek_nand_data = {
+diff -urN linux-2.6.32-0rig/arch/arm/mach-at91/board-sam9261ek.c linux-2.6.32/arch/arm/mach-at91/board-sam9261ek.c
+--- linux-2.6.32-0rig/arch/arm/mach-at91/board-sam9261ek.c 2009-12-13 10:32:25.000000000 +0100
++++ linux-2.6.32/arch/arm/mach-at91/board-sam9261ek.c 2009-12-13 11:35:13.000000000 +0100
+@@ -51,6 +51,7 @@
+
+ #include "sam9_smc.h"
+ #include "generic.h"
++#include "at91_nand_partitions.h"
+
+
+ static void __init ek_map_io(void)
+@@ -177,27 +178,10 @@
+ // .vcc_pin = ... not connected
+ };
+
+-
+-/*
+- * NAND flash
+- */
+-static struct mtd_partition __initdata ek_nand_partition[] = {
+- {
+- .name = "Partition 1",
+- .offset = 0,
+- .size = SZ_256K,
+- },
+- {
+- .name = "Partition 2",
+- .offset = MTDPART_OFS_NXTBLK,
+- .size = MTDPART_SIZ_FULL,
+- },
+-};
+-
+ static struct mtd_partition * __init nand_partitions(int size, int *num_partitions)
+ {
+- *num_partitions = ARRAY_SIZE(ek_nand_partition);
+- return ek_nand_partition;
++ *num_partitions = ARRAY_SIZE(at91_nand_partition);
++ return at91_nand_partition;
+ }
+
+ static struct atmel_nand_data __initdata ek_nand_data = {
+diff -urN linux-2.6.32-0rig/arch/arm/mach-at91/board-sam9263ek.c linux-2.6.32/arch/arm/mach-at91/board-sam9263ek.c
+--- linux-2.6.32-0rig/arch/arm/mach-at91/board-sam9263ek.c 2009-12-13 10:32:25.000000000 +0100
++++ linux-2.6.32/arch/arm/mach-at91/board-sam9263ek.c 2009-12-13 11:34:43.000000000 +0100
+@@ -50,6 +50,7 @@
+
+ #include "sam9_smc.h"
+ #include "generic.h"
++#include "at91_nand_partitions.h"
+
+
+ static void __init ek_map_io(void)
+@@ -168,27 +169,10 @@
+ .is_rmii = 1,
+ };
+
+-
+-/*
+- * NAND flash
+- */
+-static struct mtd_partition __initdata ek_nand_partition[] = {
+- {
+- .name = "Partition 1",
+- .offset = 0,
+- .size = SZ_64M,
+- },
+- {
+- .name = "Partition 2",
+- .offset = MTDPART_OFS_NXTBLK,
+- .size = MTDPART_SIZ_FULL,
+- },
+-};
+-
+ static struct mtd_partition * __init nand_partitions(int size, int *num_partitions)
+ {
+- *num_partitions = ARRAY_SIZE(ek_nand_partition);
+- return ek_nand_partition;
++ *num_partitions = ARRAY_SIZE(at91_nand_partition);
++ return at91_nand_partition;
+ }
+
+ static struct atmel_nand_data __initdata ek_nand_data = {
+diff -urN linux-2.6.32-0rig/arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c linux-2.6.32/arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c
+--- linux-2.6.32-0rig/arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c 2009-12-13 10:32:25.000000000 +0100
++++ linux-2.6.32/arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c 2009-12-13 11:35:44.000000000 +0100
+@@ -42,6 +42,7 @@
+
+ #include "sam9_smc.h"
+ #include "generic.h"
++#include "at91_nand_partitions.h"
+
+
+ static void __init ek_map_io(void)
+@@ -117,32 +118,10 @@
+ .is_rmii = 1,
+ };
+
+-
+-/*
+- * NAND flash
+- */
+-static struct mtd_partition __initdata ek_nand_partition[] = {
+- {
+- .name = "Bootstrap",
+- .offset = 0,
+- .size = 4 * SZ_1M,
+- },
+- {
+- .name = "Partition 1",
+- .offset = MTDPART_OFS_NXTBLK,
+- .size = 60 * SZ_1M,
+- },
+- {
+- .name = "Partition 2",
+- .offset = MTDPART_OFS_NXTBLK,
+- .size = MTDPART_SIZ_FULL,
+- },
+-};
+-
+ static struct mtd_partition * __init nand_partitions(int size, int *num_partitions)
+ {
+- *num_partitions = ARRAY_SIZE(ek_nand_partition);
+- return ek_nand_partition;
++ *num_partitions = ARRAY_SIZE(at91_nand_partition);
++ return at91_nand_partition;
+ }
+
+ /* det_pin is not connected */
+diff -urN linux-2.6.32-0rig/arch/arm/mach-at91/board-sam9g20ek.c linux-2.6.32/arch/arm/mach-at91/board-sam9g20ek.c
+--- linux-2.6.32-0rig/arch/arm/mach-at91/board-sam9g20ek.c 2009-12-13 10:32:25.000000000 +0100
++++ linux-2.6.32/arch/arm/mach-at91/board-sam9g20ek.c 2009-12-13 11:35:50.000000000 +0100
+@@ -43,6 +43,7 @@
+
+ #include "sam9_smc.h"
+ #include "generic.h"
++#include "at91_nand_partitions.h"
+
+
+ static void __init ek_map_io(void)
+@@ -118,32 +119,10 @@
+ .is_rmii = 1,
+ };
+
+-
+-/*
+- * NAND flash
+- */
+-static struct mtd_partition __initdata ek_nand_partition[] = {
+- {
+- .name = "Bootstrap",
+- .offset = 0,
+- .size = 4 * SZ_1M,
+- },
+- {
+- .name = "Partition 1",
+- .offset = MTDPART_OFS_NXTBLK,
+- .size = 60 * SZ_1M,
+- },
+- {
+- .name = "Partition 2",
+- .offset = MTDPART_OFS_NXTBLK,
+- .size = MTDPART_SIZ_FULL,
+- },
+-};
+-
+ static struct mtd_partition * __init nand_partitions(int size, int *num_partitions)
+ {
+- *num_partitions = ARRAY_SIZE(ek_nand_partition);
+- return ek_nand_partition;
++ *num_partitions = ARRAY_SIZE(at91_nand_partition);
++ return at91_nand_partition;
+ }
+
+ /* det_pin is not connected */
+diff -urN linux-2.6.32-0rig/arch/arm/mach-at91/board-sam9m10g45ek.c linux-2.6.32/arch/arm/mach-at91/board-sam9m10g45ek.c
+--- linux-2.6.32-0rig/arch/arm/mach-at91/board-sam9m10g45ek.c 2009-12-13 10:32:25.000000000 +0100
++++ linux-2.6.32/arch/arm/mach-at91/board-sam9m10g45ek.c 2009-12-13 11:35:37.000000000 +0100
+@@ -44,6 +44,7 @@
+
+ #include "sam9_smc.h"
+ #include "generic.h"
++#include "at91_nand_partitions.h"
+
+
+ static void __init ek_map_io(void)
+@@ -106,27 +107,10 @@
+ .is_rmii = 1,
+ };
+
+-
+-/*
+- * NAND flash
+- */
+-static struct mtd_partition __initdata ek_nand_partition[] = {
+- {
+- .name = "Partition 1",
+- .offset = 0,
+- .size = SZ_64M,
+- },
+- {
+- .name = "Partition 2",
+- .offset = MTDPART_OFS_NXTBLK,
+- .size = MTDPART_SIZ_FULL,
+- },
+-};
+-
+ static struct mtd_partition * __init nand_partitions(int size, int *num_partitions)
+ {
+- *num_partitions = ARRAY_SIZE(ek_nand_partition);
+- return ek_nand_partition;
++ *num_partitions = ARRAY_SIZE(at91_nand_partition);
++ return at91_nand_partition;
+ }
+
+ /* det_pin is not connected */
+diff -urN linux-2.6.32-0rig/arch/arm/mach-at91/board-sam9rlek.c linux-2.6.32/arch/arm/mach-at91/board-sam9rlek.c
+--- linux-2.6.32-0rig/arch/arm/mach-at91/board-sam9rlek.c 2009-12-13 10:32:25.000000000 +0100
++++ linux-2.6.32/arch/arm/mach-at91/board-sam9rlek.c 2009-12-13 11:35:27.000000000 +0100
+@@ -36,6 +36,7 @@
+
+ #include "sam9_smc.h"
+ #include "generic.h"
++#include "at91_nand_partitions.h"
+
+
+ static void __init ek_map_io(void)
+@@ -77,27 +78,10 @@
+ // .vcc_pin = ... not connected
+ };
+
+-
+-/*
+- * NAND flash
+- */
+-static struct mtd_partition __initdata ek_nand_partition[] = {
+- {
+- .name = "Partition 1",
+- .offset = 0,
+- .size = SZ_256K,
+- },
+- {
+- .name = "Partition 2",
+- .offset = MTDPART_OFS_NXTBLK,
+- .size = MTDPART_SIZ_FULL,
+- },
+-};
+-
+ static struct mtd_partition * __init nand_partitions(int size, int *num_partitions)
+ {
+- *num_partitions = ARRAY_SIZE(ek_nand_partition);
+- return ek_nand_partition;
++ *num_partitions = ARRAY_SIZE(at91_nand_partition);
++ return at91_nand_partition;
+ }
+
+ static struct atmel_nand_data __initdata ek_nand_data = {
+diff -urN linux-2.6.32-0rig/arch/arm/mach-at91/Kconfig linux-2.6.32/arch/arm/mach-at91/Kconfig
+--- linux-2.6.32-0rig/arch/arm/mach-at91/Kconfig 2009-12-13 10:32:25.000000000 +0100
++++ linux-2.6.32/arch/arm/mach-at91/Kconfig 2009-12-13 11:01:29.000000000 +0100
+@@ -183,6 +183,7 @@
+ config MACH_AT91SAM9260EK
+ bool "Atmel AT91SAM9260-EK / AT91SAM9XE Evaluation Kit"
+ depends on ARCH_AT91SAM9260
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3933>
+@@ -242,6 +243,7 @@
+ config MACH_AT91SAM9261EK
+ bool "Atmel AT91SAM9261-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9261
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9261-EK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3820>
+@@ -257,6 +259,7 @@
+ config MACH_AT91SAM9G10EK
+ bool "Atmel AT91SAM9G10-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9G10
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9G10-EK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4588>
+@@ -272,6 +275,7 @@
+ config MACH_AT91SAM9263EK
+ bool "Atmel AT91SAM9263-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9263
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057>
+@@ -300,6 +304,7 @@
+ config MACH_AT91SAM9RLEK
+ bool "Atmel AT91SAM9RL-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9RL
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9RL-EK Evaluation Kit.
+
+@@ -314,6 +319,7 @@
+ config MACH_AT91SAM9G20EK
+ bool "Atmel AT91SAM9G20-EK Evaluation Kit"
+ depends on ARCH_AT91SAM9G20
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit
+ that embeds only one SD/MMC slot.
+@@ -321,6 +327,7 @@
+ config MACH_AT91SAM9G20EK_2MMC
+ bool "Atmel AT91SAM9G20-EK Evaluation Kit with 2 SD/MMC Slots"
+ depends on ARCH_AT91SAM9G20
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit
+ with 2 SD/MMC Slots. This is the case for AT91SAM9G20-EK rev. C and
+@@ -344,6 +351,7 @@
+ config MACH_AT91SAM9G45EKES
+ bool "Atmel AT91SAM9G45-EKES Evaluation Kit"
+ depends on ARCH_AT91SAM9G45
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91SAM9G45-EKES Evaluation Kit.
+ "ES" at the end of the name means that this board is an
+@@ -360,6 +368,7 @@
+ config MACH_AT91CAP9ADK
+ bool "Atmel AT91CAP9A-DK Evaluation Kit"
+ depends on ARCH_AT91CAP9
++ select MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
+ help
+ Select this if you are using Atmel's AT91CAP9A-DK Evaluation Kit.
+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4138>
+@@ -399,6 +408,24 @@
+ On AT91SAM926x boards both types of NAND flash can be present
+ (8 and 16 bit data bus width).
+
++config MTD_NAND_ATMEL_ROOTFS_SIZE
++ int "Size NAND rootfs in MB"
++ range 8 250
++ depends on MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ default "124"
++ help
++ Many Atmel development boards has a NAND Flash,
++ divided into three partitions.
++ 1) Boot partition (4 MB)
++ 2) Root FS
++ 3) Data partition
++ This allows you to configure the size of the root fs
++ with the remainder ending up in the data partition.
++ The legal values are between 8 and 250
++
++config MTD_NAND_ALLOW_CONFIGURABLE_ROOTFS_SIZE
++ bool
++
+ # ----------------------------------------------------------
+
+ comment "AT91 Feature Selections"
diff --git a/recipes/linux/linux-2.6.32/at91/linux-2.6.32-002-sam9g20-proper-reset.patch b/recipes/linux/linux-2.6.32/at91/linux-2.6.32-002-sam9g20-proper-reset.patch
new file mode 100644
index 0000000000..fb230cabab
--- /dev/null
+++ b/recipes/linux/linux-2.6.32/at91/linux-2.6.32-002-sam9g20-proper-reset.patch
@@ -0,0 +1,103 @@
+Fix AT91SAM9G20 reset as per the errata in the data sheet.
+
+If the SDRAM is not cleanly shutdown before reset it can be left driving
+the bus, which then stops the bootloader booting from NAND.
+
+Signed-off-by: Peter Horton <phorton@bitbox.co.uk>
+--
+
+Index: linux-2.6.32/arch/arm/mach-at91/Makefile
+===================================================================
+--- linux-2.6.32.orig/arch/arm/mach-at91/Makefile 2009-12-15 09:53:27.000000000 +0000
++++ linux-2.6.32/arch/arm/mach-at91/Makefile 2009-12-15 09:53:27.000000000 +0000
+@@ -16,7 +16,7 @@
+ obj-$(CONFIG_ARCH_AT91SAM9G10) += at91sam9261.o at91sam926x_time.o at91sam9261_devices.o sam9_smc.o
+ obj-$(CONFIG_ARCH_AT91SAM9263) += at91sam9263.o at91sam926x_time.o at91sam9263_devices.o sam9_smc.o
+ obj-$(CONFIG_ARCH_AT91SAM9RL) += at91sam9rl.o at91sam926x_time.o at91sam9rl_devices.o sam9_smc.o
+-obj-$(CONFIG_ARCH_AT91SAM9G20) += at91sam9260.o at91sam926x_time.o at91sam9260_devices.o sam9_smc.o
++obj-$(CONFIG_ARCH_AT91SAM9G20) += at91sam9260.o at91sam926x_time.o at91sam9260_devices.o sam9_smc.o at91sam9g20_reset.o
+ obj-$(CONFIG_ARCH_AT91SAM9G45) += at91sam9g45.o at91sam926x_time.o at91sam9g45_devices.o sam9_smc.o
+ obj-$(CONFIG_ARCH_AT91CAP9) += at91cap9.o at91sam926x_time.o at91cap9_devices.o sam9_smc.o
+ obj-$(CONFIG_ARCH_AT91X40) += at91x40.o at91x40_time.o
+Index: linux-2.6.32/arch/arm/mach-at91/at91sam9260.c
+===================================================================
+--- linux-2.6.32.orig/arch/arm/mach-at91/at91sam9260.c 2009-12-03 03:51:21.000000000 +0000
++++ linux-2.6.32/arch/arm/mach-at91/at91sam9260.c 2009-12-15 09:53:27.000000000 +0000
+@@ -25,6 +25,8 @@
+ #include "generic.h"
+ #include "clock.h"
+
++extern void at91sam9g20_reset(void);
++
+ static struct map_desc at91sam9260_io_desc[] __initdata = {
+ {
+ .virtual = AT91_VA_BASE_SYS,
+@@ -327,7 +329,11 @@
+ else
+ iotable_init(at91sam9260_sram_desc, ARRAY_SIZE(at91sam9260_sram_desc));
+
+- at91_arch_reset = at91sam9260_reset;
++ if (cpu_is_at91sam9g20())
++ at91_arch_reset = at91sam9g20_reset;
++ else
++ at91_arch_reset = at91sam9260_reset;
++
+ pm_power_off = at91sam9260_poweroff;
+ at91_extern_irq = (1 << AT91SAM9260_ID_IRQ0) | (1 << AT91SAM9260_ID_IRQ1)
+ | (1 << AT91SAM9260_ID_IRQ2);
+Index: linux-2.6.32/arch/arm/mach-at91/at91sam9g20_reset.S
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.32/arch/arm/mach-at91/at91sam9g20_reset.S 2009-12-15 09:55:17.000000000 +0000
+@@ -0,0 +1,50 @@
++/*
++ * (C) BitBox Ltd 2009
++ *
++ * reset AT91SAM9G20 as per errata
++ *
++ * unless the SDRAM is cleanly shutdown before we hit the
++ * reset register it can be left driving the data bus and
++ * killing the chance of a subsequent boot from NAND
++ */
++
++#define CP15_CR_I (1 << 12)
++
++#define SYS_VIRT_OFS (-0x01000000)
++
++#define SDRAMC_BASE (SYS_VIRT_OFS + 0xffffea00)
++#define SDRAMC_TR 0x0004
++#define SDRAMC_LPR 0x0010
++#define SDRAMC_LPCB_POWER_DOWN 2
++
++#define RSTC_BASE (SYS_VIRT_OFS + 0xfffffd00)
++#define RSTC_CR 0x0000
++#define RSTC_PROCRST (1 << 0)
++#define RSTC_PERRST (1 << 2)
++#define RSTC_KEY (0xa5 << 24)
++
++ .arm
++
++ .globl at91sam9g20_reset
++
++at91sam9g20_reset: mov r0, #0
++ mcr p15, 0, r0, c7, c5, 0 @ flush I-cache
++
++ mrc p15, 0, r0, c1, c0, 0
++ orr r0, r0, #CP15_CR_I
++ mcr p15, 0, r0, c1, c0, 0 @ enable I-cache
++
++ ldr r0, =SDRAMC_BASE @ preload constants
++ ldr r1, =RSTC_BASE
++
++ mov r2, #1
++ mov r3, #SDRAMC_LPCB_POWER_DOWN
++ ldr r4, =RSTC_KEY | RSTC_PERRST | RSTC_PROCRST
++
++ .balign 32 @ align to cache line
++
++ str r2, [r0, #SDRAMC_TR] @ disable SDRAM access
++ str r3, [r0, #SDRAMC_LPR] @ power down SDRAM
++ str r4, [r1, #RSTC_CR] @ reset processor
++
++ b .
+
diff --git a/recipes/linux/linux-2.6.32/at91sam9g45ek/defconfig b/recipes/linux/linux-2.6.32/at91sam9g45ek/defconfig
new file mode 100644
index 0000000000..2cd0c97e52
--- /dev/null
+++ b/recipes/linux/linux-2.6.32/at91sam9g45ek/defconfig
@@ -0,0 +1,1758 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.30.2
+# Fri Aug 7 23:23:37 2009
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_MMU=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_CLASSIC_RCU=y
+# CONFIG_TREE_RCU is not set
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_PREEMPT_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_GROUP_SCHED is not set
+# CONFIG_CGROUPS is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+# CONFIG_RELAY is not set
+CONFIG_NAMESPACES=y
+# CONFIG_UTS_NS is not set
+# CONFIG_IPC_NS is not set
+# CONFIG_USER_NS is not set
+# CONFIG_PID_NS is not set
+# CONFIG_NET_NS is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+# CONFIG_STRIP_ASM_SYMS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_COMPAT_BRK=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+# CONFIG_MARKERS is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_CLK=y
+# CONFIG_SLOW_WORK is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+# CONFIG_IOSCHED_DEADLINE is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+# CONFIG_FREEZER is not set
+
+#
+# System Type
+#
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+CONFIG_ARCH_AT91=y
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_GEMINI is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_MMP is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_S3C64XX is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_W90X900 is not set
+
+#
+# Atmel AT91 System-on-Chip
+#
+# CONFIG_ARCH_AT91RM9200 is not set
+# CONFIG_ARCH_AT91SAM9260 is not set
+# CONFIG_ARCH_AT91SAM9261 is not set
+# CONFIG_ARCH_AT91SAM9G10 is not set
+# CONFIG_ARCH_AT91SAM9263 is not set
+# CONFIG_ARCH_AT91SAM9RL is not set
+# CONFIG_ARCH_AT91SAM9G20 is not set
+CONFIG_ARCH_AT91SAM9G45=y
+# CONFIG_ARCH_AT91CAP9 is not set
+# CONFIG_ARCH_AT572D940HF is not set
+# CONFIG_ARCH_AT91X40 is not set
+CONFIG_AT91_PMC_UNIT=y
+
+#
+# AT91SAM9G45 Board Type
+#
+CONFIG_MACH_AT91SAM9G45EKES=y
+
+#
+# AT91 Board Options
+#
+
+#
+# AT91 Feature Selections
+#
+# CONFIG_AT91_PROGRAMMABLE_CLOCKS is not set
+CONFIG_AT91_TIMER_HZ=100
+CONFIG_AT91_EARLY_DBGU=y
+# CONFIG_AT91_EARLY_USART0 is not set
+# CONFIG_AT91_EARLY_USART1 is not set
+# CONFIG_AT91_EARLY_USART2 is not set
+# CONFIG_AT91_EARLY_USART3 is not set
+# CONFIG_AT91_EARLY_USART4 is not set
+# CONFIG_AT91_EARLY_USART5 is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_ARM926T=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5TJ=y
+CONFIG_CPU_PABRT_NOIFAR=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
+CONFIG_CPU_TLB_V4WBI=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+# CONFIG_ARM_THUMB is not set
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
+# CONFIG_OUTER_CACHE is not set
+
+#
+# Bus support
+#
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_VMSPLIT_3G=y
+# CONFIG_VMSPLIT_2G is not set
+# CONFIG_VMSPLIT_1G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+# CONFIG_PREEMPT is not set
+CONFIG_HZ=100
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_HAS_HOLES_MEMORYMODEL is not set
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+# CONFIG_HIGHMEM is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=0
+CONFIG_VIRT_TO_BUS=y
+CONFIG_UNEVICTABLE_LRU=y
+CONFIG_HAVE_MLOCK=y
+CONFIG_HAVE_MLOCKED_PAGE_BIT=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="mem=128M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw"
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_KEXEC is not set
+
+#
+# CPU Power Management
+#
+# CONFIG_CPU_IDLE is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+# CONFIG_VFP is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_HAVE_AOUT=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+# CONFIG_PM is not set
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+# CONFIG_IP_PNP_DHCP is not set
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+CONFIG_INET_TUNNEL=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+# CONFIG_INET_DIAG is not set
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=y
+# CONFIG_IPV6_PRIVACY is not set
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+# CONFIG_INET6_AH is not set
+# CONFIG_INET6_ESP is not set
+# CONFIG_INET6_IPCOMP is not set
+# CONFIG_IPV6_MIP6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+CONFIG_INET6_XFRM_MODE_TRANSPORT=y
+CONFIG_INET6_XFRM_MODE_TUNNEL=y
+CONFIG_INET6_XFRM_MODE_BEET=y
+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+CONFIG_IPV6_SIT=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+# CONFIG_IPV6_TUNNEL is not set
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_IPV6_MROUTE is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_NET_DSA is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_PHONET is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+CONFIG_WIRELESS=y
+# CONFIG_CFG80211 is not set
+# CONFIG_WIRELESS_OLD_REGULATORY is not set
+# CONFIG_WIRELESS_EXT is not set
+# CONFIG_LIB80211 is not set
+# CONFIG_MAC80211 is not set
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_TESTS is not set
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+CONFIG_MTD_DATAFLASH=y
+# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set
+# CONFIG_MTD_DATAFLASH_OTP is not set
+# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001