summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2010-03-14 20:32:56 (GMT)
committer Peter Korsgaard <jacmet@sunsite.dk>2010-03-14 20:32:56 (GMT)
commitaeccae953ca68bf2c7453546931c0b2edb4f7911 (patch)
tree04a729a4168011a9a6e9a153baf88c3987d3e270
parentad4e0c152d799f368e24dc3602b887d805ec72a1 (diff)
downloadbuildroot-aeccae953ca68bf2c7453546931c0b2edb4f7911.tar.gz
buildroot-aeccae953ca68bf2c7453546931c0b2edb4f7911.tar.bz2
target/linux: remove ancient (<2.6.27) versions
And get rid of the corresponding at91 patches as well. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
-rw-r--r--target/device/Atmel/arch-arm/Config.in.linux.patches32
-rw-r--r--target/device/Atmel/arch-arm/kernel-patches-2.6.22/.empty0
-rw-r--r--target/device/Atmel/arch-arm/kernel-patches-2.6.24/linux-2.6.24-at91.patch30343
-rw-r--r--target/device/Atmel/arch-arm/kernel-patches-2.6.25/linux-2.6.25-at91.patch.gzbin132353 -> 0 bytes
-rw-r--r--target/device/Atmel/arch-arm/kernel-patches-2.6.26/2.6.26-at91.patch.gzbin95915 -> 0 bytes
-rw-r--r--target/linux/Config.in.advanced23
-rw-r--r--target/linux/Config.in.versions18
7 files changed, 1 insertions, 30415 deletions
diff --git a/target/device/Atmel/arch-arm/Config.in.linux.patches b/target/device/Atmel/arch-arm/Config.in.linux.patches
index 9e00b84..0ea5091 100644
--- a/target/device/Atmel/arch-arm/Config.in.linux.patches
+++ b/target/device/Atmel/arch-arm/Config.in.linux.patches
@@ -4,10 +4,6 @@ choice
depends on BR2_TARGET_ATMEL && BR2_arm
default BR2_ARCH_AT91_2_6_28 if BR2_LINUX_2_6_28
default BR2_ARCH_AT91_2_6_27 if BR2_LINUX_2_6_27
- default BR2_ARCH_AT91_2_6_26 if BR2_LINUX_2_6_26
- default BR2_ARCH_AT91_2_6_25 if BR2_LINUX_2_6_25
- default BR2_ARCH_AT91_2_6_24 if BR2_LINUX_2_6_24
- default BR2_ARCH_AT91_2_6_22 if BR2_LINUX_2_6_22
help
Select a patch to add to the Linux kernel
@@ -20,30 +16,6 @@ config BR2_ARCH_AT91_2_6_27
bool "2.6.27"
help
Apply the at91 linux-2.6.27 patches
-
-config BR2_ARCH_AT91_2_6_26
- bool "2.6.26"
- help
- Apply the at91 linux-2.6.26 patches
- Will apply on latest 2.6.26
-
-config BR2_ARCH_AT91_2_6_25
- bool "2.6.25"
- help
- Apply the at91 linux-2.6.25 patches
- Will apply on latest 2.6.25
-
-config BR2_ARCH_AT91_2_6_24
- bool "2.6.24"
- help
- Apply the at91 linux-2.6.24 patches
- Will apply on latest 2.6.24
-config BR2_ARCH_AT91_2_6_22
- bool "2.6.22"
- help
- Apply the at91 linux-2.6.22 patches
- Will apply on latest 2.6.22
-
endchoice
config BR2_KERNEL_ARCH_PATCH_VERSION
@@ -52,10 +24,6 @@ config BR2_KERNEL_ARCH_PATCH_VERSION
depends on BR2_TARGET_ATMEL && BR2_arm
default "2.6.28" if BR2_ARCH_AT91_2_6_28
default "2.6.27" if BR2_ARCH_AT91_2_6_27
- default "2.6.26" if BR2_ARCH_AT91_2_6_26
- default "2.6.25" if BR2_ARCH_AT91_2_6_25
- default "2.6.24" if BR2_ARCH_AT91_2_6_24
- default "2.6.22" if BR2_ARCH_AT91_2_6_22
config BR2_KERNEL_ARCH_PATCH_DIR
string
diff --git a/target/device/Atmel/arch-arm/kernel-patches-2.6.22/.empty b/target/device/Atmel/arch-arm/kernel-patches-2.6.22/.empty
deleted file mode 100644
index e69de29..0000000
--- a/target/device/Atmel/arch-arm/kernel-patches-2.6.22/.empty
+++ /dev/null
diff --git a/target/device/Atmel/arch-arm/kernel-patches-2.6.24/linux-2.6.24-at91.patch b/target/device/Atmel/arch-arm/kernel-patches-2.6.24/linux-2.6.24-at91.patch
deleted file mode 100644
index 803cd26..0000000
--- a/target/device/Atmel/arch-arm/kernel-patches-2.6.24/linux-2.6.24-at91.patch
+++ /dev/null
@@ -1,30343 +0,0 @@
-diff -urN -x CVS linux-2.6.24/MAINTAINERS linux-2.6/MAINTAINERS
---- linux-2.6.24/MAINTAINERS 2008-03-01 22:02:07.000000000 +0200
-+++ linux-2.6/MAINTAINERS 2008-01-16 13:15:25.000000000 +0200
-@@ -437,7 +437,7 @@
-
- ARM/ATMEL AT91RM9200 ARM ARCHITECTURE
- P: Andrew Victor
--M: andrew@sanpeople.com
-+M: linux@maxim.org.za
- L: linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
- W: http://maxim.org.za/at91_26.html
- S: Maintained
-diff -urN -x CVS linux-2.6.24/arch/arm/Kconfig linux-2.6/arch/arm/Kconfig
---- linux-2.6.24/arch/arm/Kconfig 2008-03-01 22:02:07.000000000 +0200
-+++ linux-2.6/arch/arm/Kconfig 2008-02-18 22:56:04.000000000 +0200
-@@ -180,8 +180,8 @@
- bool "Atmel AT91"
- select GENERIC_GPIO
- help
-- This enables support for systems based on the Atmel AT91RM9200
-- and AT91SAM9xxx processors.
-+ This enables support for systems based on the Atmel AT91RM9200,
-+ AT91SAM9 and AT91CAP9 processors.
-
- config ARCH_CLPS7500
- bool "Cirrus CL-PS7500FE"
-@@ -657,6 +657,7 @@
- default 128 if ARCH_L7200
- default 200 if ARCH_EBSA110 || ARCH_S3C2410
- default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
-+ default AT91_TIMER_HZ if ARCH_AT91
- default 100
-
- config AEABI
-diff -urN -x CVS linux-2.6.24/arch/arm/boot/compressed/head-at91rm9200.S linux-2.6/arch/arm/boot/compressed/head-at91rm9200.S
---- linux-2.6.24/arch/arm/boot/compressed/head-at91rm9200.S 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/boot/compressed/head-at91rm9200.S 2007-12-31 10:43:35.000000000 +0200
-@@ -67,12 +67,36 @@
- cmp r7, r3
- beq 99f
-
-+ @ emQbit ECB_AT91 : 1072
-+ mov r3, #(MACH_TYPE_ECBAT91 & 0xff)
-+ orr r3, r3, #(MACH_TYPE_ECBAT91 & 0xff00)
-+ cmp r7, r3
-+ beq 99f
-+
- @ Ajeco 1ARM : 1075
- mov r3, #(MACH_TYPE_ONEARM & 0xff)
- orr r3, r3, #(MACH_TYPE_ONEARM & 0xff00)
- cmp r7, r3
- beq 99f
-
-+ @ Promwad Chub : 1181
-+ mov r3, #(MACH_TYPE_CHUB & 0xff)
-+ orr r3, r3, #(MACH_TYPE_CHUB & 0xff00)
-+ cmp r7, r3
-+ beq 99f
-+
-+ @ Sweda TMS-100: 1277
-+ mov r3, #(MACH_TYPE_SWEDATMS & 0xff)
-+ orr r3, r3, #(MACH_TYPE_SWEDATMS & 0xff00)
-+ cmp r7, r3
-+ beq 99f
-+
-+ @ eQ-3 HomeMatic: 1392
-+ mov r3, #(MACH_TYPE_HOMEMATIC & 0xff)
-+ orr r3, r3, #(MACH_TYPE_HOMEMATIC & 0xff00)
-+ cmp r7, r3
-+ beq 99f
-+
- @ Unknown board, use the AT91RM9200DK board
- @ mov r7, #MACH_TYPE_AT91RM9200
- mov r7, #(MACH_TYPE_AT91RM9200DK & 0xff)
-diff -urN -x CVS linux-2.6.24/arch/arm/configs/at91cap9adk_defconfig linux-2.6/arch/arm/configs/at91cap9adk_defconfig
---- linux-2.6.24/arch/arm/configs/at91cap9adk_defconfig 1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/configs/at91cap9adk_defconfig 2008-02-18 22:52:04.000000000 +0200
-@@ -0,0 +1,1143 @@
-+#
-+# Automatically generated make config: don't edit
-+# Linux kernel version: 2.6.24-rc8
-+# Wed Jan 23 22:55:57 2008
-+#
-+CONFIG_ARM=y
-+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-+CONFIG_GENERIC_GPIO=y
-+# CONFIG_GENERIC_TIME is not set
-+# CONFIG_GENERIC_CLOCKEVENTS is not set
-+CONFIG_MMU=y
-+# CONFIG_NO_IOPORT is not set
-+CONFIG_GENERIC_HARDIRQS=y
-+CONFIG_STACKTRACE_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_ZONE_DMA=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_USER_NS is not set
-+# CONFIG_PID_NS is not set
-+# CONFIG_AUDIT is not set
-+# CONFIG_IKCONFIG is not set
-+CONFIG_LOG_BUF_SHIFT=14
-+# CONFIG_CGROUPS is not set
-+CONFIG_FAIR_GROUP_SCHED=y
-+CONFIG_FAIR_USER_SCHED=y
-+# CONFIG_FAIR_CGROUP_SCHED is not set
-+CONFIG_SYSFS_DEPRECATED=y
-+# CONFIG_RELAY is not set
-+CONFIG_BLK_DEV_INITRD=y
-+CONFIG_INITRAMFS_SOURCE=""
-+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-+CONFIG_SYSCTL=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_HOTPLUG=y
-+CONFIG_PRINTK=y
-+CONFIG_BUG=y
-+CONFIG_ELF_CORE=y
-+CONFIG_BASE_FULL=y
-+CONFIG_FUTEX=y
-+CONFIG_ANON_INODES=y
-+CONFIG_EPOLL=y
-+CONFIG_SIGNALFD=y
-+CONFIG_EVENTFD=y
-+CONFIG_SHMEM=y
-+CONFIG_VM_EVENT_COUNTERS=y
-+CONFIG_SLAB=y
-+# CONFIG_SLUB is not set
-+# CONFIG_SLOB is not set
-+CONFIG_SLABINFO=y
-+CONFIG_RT_MUTEXES=y
-+# CONFIG_TINY_SHMEM is not set
-+CONFIG_BASE_SMALL=0
-+CONFIG_MODULES=y
-+CONFIG_MODULE_UNLOAD=y
-+# CONFIG_MODULE_FORCE_UNLOAD is not set
-+# CONFIG_MODVERSIONS is not set
-+# CONFIG_MODULE_SRCVERSION_ALL is not set
-+CONFIG_KMOD=y
-+CONFIG_BLOCK=y
-+# CONFIG_LBD is not set
-+# CONFIG_BLK_DEV_IO_TRACE is not set
-+# CONFIG_LSF is not set
-+# CONFIG_BLK_DEV_BSG 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"
-+
-+#
-+# 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_CLPS7500 is not set
-+# CONFIG_ARCH_CLPS711X is not set
-+# CONFIG_ARCH_CO285 is not set
-+# CONFIG_ARCH_EBSA110 is not set
-+# CONFIG_ARCH_EP93XX 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_KS8695 is not set
-+# CONFIG_ARCH_NS9XXX is not set
-+# CONFIG_ARCH_MXC is not set
-+# CONFIG_ARCH_PNX4008 is not set
-+# CONFIG_ARCH_PXA is not set
-+# CONFIG_ARCH_RPC is not set
-+# CONFIG_ARCH_SA1100 is not set
-+# CONFIG_ARCH_S3C2410 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
-+
-+#
-+# Boot options
-+#
-+
-+#
-+# Power management
-+#
-+
-+#
-+# 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_AT91SAM9263 is not set
-+# CONFIG_ARCH_AT91SAM9RL is not set
-+CONFIG_ARCH_AT91CAP9=y
-+# CONFIG_ARCH_AT91X40 is not set
-+CONFIG_AT91_PMC_UNIT=y
-+
-+#
-+# AT91CAP9 Board Type
-+#
-+CONFIG_MACH_AT91CAP9ADK=y
-+
-+#
-+# AT91 Board Options
-+#
-+CONFIG_MTD_AT91_DATAFLASH_CARD=y
-+# CONFIG_MTD_NAND_AT91_BUSWIDTH_16 is not set
-+
-+#
-+# AT91 Feature Selections
-+#
-+CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
-+CONFIG_AT91_TIMER_HZ=100
-+
-+#
-+# Processor Type
-+#
-+CONFIG_CPU_32=y
-+CONFIG_CPU_ARM926T=y
-+CONFIG_CPU_32v5=y
-+CONFIG_CPU_ABRT_EV5TJ=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_TICK_ONESHOT is not set
-+# CONFIG_PREEMPT is not set
-+# CONFIG_NO_IDLE_HZ is not set
-+CONFIG_HZ=100
-+CONFIG_AEABI=y
-+CONFIG_OABI_COMPAT=y
-+# CONFIG_ARCH_DISCONTIGMEM_ENABLE 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_SPARSEMEM_STATIC is not set
-+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
-+CONFIG_SPLIT_PTLOCK_CPUS=4096
-+# CONFIG_RESOURCES_64BIT is not set
-+CONFIG_ZONE_DMA_FLAG=1
-+CONFIG_BOUNCE=y
-+CONFIG_VIRT_TO_BUS=y
-+CONFIG_LEDS=y
-+CONFIG_LEDS_TIMER=y
-+CONFIG_LEDS_CPU=y
-+CONFIG_ALIGNMENT_TRAP=y
-+
-+#
-+# Boot options
-+#
-+CONFIG_ZBOOT_ROM_TEXT=0x0
-+CONFIG_ZBOOT_ROM_BSS=0x0
-+CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/ram0 rw"
-+# CONFIG_XIP_KERNEL is not set
-+# CONFIG_KEXEC 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_BINFMT_AOUT is not set
-+# CONFIG_BINFMT_MISC is not set
-+
-+#
-+# Power management options
-+#
-+# CONFIG_PM is not set
-+CONFIG_SUSPEND_UP_POSSIBLE=y
-+
-+#
-+# Networking
-+#
-+CONFIG_NET=y
-+
-+#
-+# Networking options
-+#
-+CONFIG_PACKET=y
-+# CONFIG_PACKET_MMAP is not set
-+CONFIG_UNIX=y
-+# 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 is not set
-+# 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 is not set
-+# CONFIG_INET6_XFRM_TUNNEL is not set
-+# CONFIG_INET6_TUNNEL 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_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_NET_SCHED is not set
-+
-+#
-+# Network testing
-+#
-+# CONFIG_NET_PKTGEN is not set
-+# CONFIG_HAMRADIO is not set
-+# CONFIG_IRDA is not set
-+# CONFIG_BT is not set
-+# CONFIG_AF_RXRPC is not set
-+
-+#
-+# Wireless
-+#
-+# CONFIG_CFG80211 is not set
-+# CONFIG_WIRELESS_EXT is not set
-+# CONFIG_MAC80211 is not set
-+# CONFIG_IEEE80211 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 is not set
-+# 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_REDBOOT_PARTS is not set
-+CONFIG_MTD_CMDLINE_PARTS=y
-+# CONFIG_MTD_AFS_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=y
-+CONFIG_MTD_JEDECPROBE=y
-+CONFIG_MTD_GEN_PROBE=y
-+# CONFIG_MTD_CFI_ADV_OPTIONS 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_CFI_INTELEXT is not set
-+CONFIG_MTD_CFI_AMDSTD=y
-+# CONFIG_MTD_CFI_STAA is not set
-+CONFIG_MTD_CFI_UTIL=y
-+# 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_PHYSMAP=y
-+CONFIG_MTD_PHYSMAP_START=0x0
-+CONFIG_MTD_PHYSMAP_LEN=0x0
-+CONFIG_MTD_PHYSMAP_BANKWIDTH=0
-+# CONFIG_MTD_ARM_INTEGRATOR is not set
-+# CONFIG_MTD_IMPA7 is not set
-+# CONFIG_MTD_PLATRAM is not set
-+
-+#
-+# Self-contained MTD device drivers
-+#
-+CONFIG_MTD_DATAFLASH=y
-+# 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 is not set
-+# CONFIG_MTD_DOC2001PLUS is not set
-+CONFIG_MTD_NAND=y
-+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-+# CONFIG_MTD_NAND_ECC_SMC is not set
-+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-+CONFIG_MTD_NAND_IDS=y
-+# CONFIG_MTD_NAND_DISKONCHIP is not set
-+CONFIG_MTD_NAND_AT91=y
-+# CONFIG_MTD_NAND_NANDSIM is not set
-+# CONFIG_MTD_NAND_PLATFORM is not set
-+# CONFIG_MTD_ALAUDA is not set
-+# CONFIG_MTD_ONENAND is not set
-+
-+#
-+# UBI - Unsorted block images
-+#
-+# CONFIG_MTD_UBI is not set
-+# CONFIG_PARPORT is not set
-+CONFIG_BLK_DEV=y
-+# CONFIG_BLK_DEV_COW_COMMON is not set
-+CONFIG_BLK_DEV_LOOP=y
-+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-+# CONFIG_BLK_DEV_NBD is not set
-+# CONFIG_BLK_DEV_UB is not set
-+CONFIG_BLK_DEV_RAM=y
-+CONFIG_BLK_DEV_RAM_COUNT=16
-+CONFIG_BLK_DEV_RAM_SIZE=8192
-+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
-+# CONFIG_CDROM_PKTCDVD is not set
-+# CONFIG_ATA_OVER_ETH is not set
-+CONFIG_MISC_DEVICES=y
-+# CONFIG_EEPROM_93CX6 is not set
-+CONFIG_ATMEL_SSC=y
-+
-+#
-+# SCSI device support
-+#
-+# CONFIG_RAID_ATTRS is not set
-+CONFIG_SCSI=y
-+CONFIG_SCSI_DMA=y
-+# CONFIG_SCSI_TGT is not set
-+# CONFIG_SCSI_NETLINK is not set
-+CONFIG_SCSI_PROC_FS=y
-+
-+#
-+# SCSI support type (disk, tape, CD-ROM)
-+#
-+CONFIG_BLK_DEV_SD=y
-+# CONFIG_CHR_DEV_ST is not set
-+# CONFIG_CHR_DEV_OSST is not set
-+# CONFIG_BLK_DEV_SR is not set
-+# CONFIG_CHR_DEV_SG is not set
-+# CONFIG_CHR_DEV_SCH is not set
-+
-+#
-+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-+#
-+CONFIG_SCSI_MULTI_LUN=y
-+# CONFIG_SCSI_CONSTANTS is not set
-+# CONFIG_SCSI_LOGGING is not set
-+# CONFIG_SCSI_SCAN_ASYNC is not set
-+CONFIG_SCSI_WAIT_SCAN=m
-+
-+#
-+# SCSI Transports
-+#
-+# CONFIG_SCSI_SPI_ATTRS is not set
-+# CONFIG_SCSI_FC_ATTRS is not set
-+# CONFIG_SCSI_ISCSI_ATTRS is not set
-+# CONFIG_SCSI_SAS_LIBSAS is not set
-+# CONFIG_SCSI_SRP_ATTRS is not set
-+CONFIG_SCSI_LOWLEVEL=y
-+# CONFIG_ISCSI_TCP is not set
-+# CONFIG_SCSI_DEBUG is not set
-+# CONFIG_ATA is not set
-+# CONFIG_MD is not set
-+CONFIG_NETDEVICES=y
-+# CONFIG_NETDEVICES_MULTIQUEUE is not set
-+# CONFIG_DUMMY is not set
-+# CONFIG_BONDING is not set
-+# CONFIG_MACVLAN is not set
-+# CONFIG_EQUALIZER is not set
-+# CONFIG_TUN is not set
-+# CONFIG_VETH is not set
-+CONFIG_PHYLIB=y
-+
-+#
-+# MII PHY device drivers
-+#
-+# CONFIG_MARVELL_PHY is not set
-+# CONFIG_DAVICOM_PHY is not set
-+# CONFIG_QSEMI_PHY is not set
-+# CONFIG_LXT_PHY is not set
-+# CONFIG_CICADA_PHY is not set
-+# CONFIG_VITESSE_PHY is not set
-+# CONFIG_SMSC_PHY is not set
-+# CONFIG_BROADCOM_PHY is not set
-+# CONFIG_ICPLUS_PHY is not set
-+# CONFIG_FIXED_PHY is not set
-+# CONFIG_MDIO_BITBANG is not set
-+CONFIG_NET_ETHERNET=y
-+CONFIG_MII=y
-+CONFIG_MACB=y
-+# CONFIG_AX88796 is not set
-+# CONFIG_SMC91X is not set
-+# CONFIG_DM9000 is not set
-+# CONFIG_IBM_NEW_EMAC_ZMII is not set
-+# CONFIG_IBM_NEW_EMAC_RGMII is not set
-+# CONFIG_IBM_NEW_EMAC_TAH is not set
-+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
-+# CONFIG_B44 is not set
-+# CONFIG_NETDEV_1000 is not set
-+# CONFIG_NETDEV_10000 is not set
-+
-+#
-+# Wireless LAN
-+#
-+# CONFIG_WLAN_PRE80211 is not set
-+# CONFIG_WLAN_80211 is not set
-+
-+#
-+# USB Network Adapters
-+#
-+# CONFIG_USB_CATC is not set
-+# CONFIG_USB_KAWETH is not set
-+# CONFIG_USB_PEGASUS is not set
-+# CONFIG_USB_RTL8150 is not set
-+# CONFIG_USB_USBNET is not set
-+# CONFIG_WAN is not set
-+# CONFIG_PPP is not set
-+# CONFIG_SLIP is not set
-+# CONFIG_SHAPER is not set
-+# CONFIG_NETCONSOLE is not set
-+# CONFIG_NETPOLL is not set
-+# CONFIG_NET_POLL_CONTROLLER is not set
-+# CONFIG_ISDN is not set
-+
-+#
-+# Input device support
-+#
-+CONFIG_INPUT=y
-+# CONFIG_INPUT_FF_MEMLESS is not set
-+# CONFIG_INPUT_POLLDEV is not set
-+
-+#
-+# Userland interfaces
-+#
-+CONFIG_INPUT_MOUSEDEV=y
-+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-+# CONFIG_INPUT_JOYDEV is not set
-+CONFIG_INPUT_EVDEV=y
-+# CONFIG_INPUT_EVBUG is not set
-+
-+#
-+# Input Device Drivers
-+#
-+# CONFIG_INPUT_KEYBOARD is not set
-+# CONFIG_INPUT_MOUSE is not set
-+# CONFIG_INPUT_JOYSTICK is not set
-+# CONFIG_INPUT_TABLET is not set
-+CONFIG_INPUT_TOUCHSCREEN=y
-+CONFIG_TOUCHSCREEN_ADS7846=y
-+# CONFIG_TOUCHSCREEN_FUJITSU is not set
-+# CONFIG_TOUCHSCREEN_GUNZE is not set
-+# CONFIG_TOUCHSCREEN_ELO is not set
-+# CONFIG_TOUCHSCREEN_MTOUCH is not set
-+# CONFIG_TOUCHSCREEN_MK712 is not set
-+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-+# CONFIG_TOUCHSCREEN_UCB1400 is not set
-+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-+# CONFIG_INPUT_MISC is not set
-+
-+#
-+# Hardware I/O ports
-+#
-+# CONFIG_SERIO is not set
-+# CONFIG_GAMEPORT is not set
-+
-+#
-+# Character devices
-+#
-+CONFIG_VT=y
-+CONFIG_VT_CONSOLE=y
-+CONFIG_HW_CONSOLE=y
-+# CONFIG_VT_HW_CONSOLE_BINDING is not set
-+# CONFIG_SERIAL_NONSTANDARD is not set
-+
-+#
-+# Serial drivers
-+#
-+# CONFIG_SERIAL_8250 is not set
-+
-+#
-+# Non-8250 serial port support
-+#
-+CONFIG_SERIAL_ATMEL=y
-+CONFIG_SERIAL_ATMEL_CONSOLE=y
-+# CONFIG_SERIAL_ATMEL_TTYAT is not set
-+CONFIG_SERIAL_CORE=y
-+CONFIG_SERIAL_CORE_CONSOLE=y
-+CONFIG_UNIX98_PTYS=y
-+CONFIG_LEGACY_PTYS=y
-+CONFIG_LEGACY_PTY_COUNT=256
-+# CONFIG_IPMI_HANDLER is not set
-+CONFIG_HW_RANDOM=y
-+# CONFIG_NVRAM is not set
-+# CONFIG_R3964 is not set
-+# CONFIG_RAW_DRIVER is not set
-+# CONFIG_TCG_TPM is not set
-+CONFIG_I2C=y
-+CONFIG_I2C_BOARDINFO=y
-+CONFIG_I2C_CHARDEV=y
-+
-+#
-+# I2C Algorithms
-+#
-+# CONFIG_I2C_ALGOBIT is not set
-+# CONFIG_I2C_ALGOPCF is not set
-+# CONFIG_I2C_ALGOPCA is not set
-+
-+#
-+# I2C Hardware Bus support
-+#
-+# CONFIG_I2C_GPIO is not set
-+# CONFIG_I2C_OCORES is not set
-+# CONFIG_I2C_PARPORT_LIGHT is not set
-+# CONFIG_I2C_SIMTEC is not set
-+# CONFIG_I2C_TAOS_EVM is not set
-+# CONFIG_I2C_STUB is not set
-+# CONFIG_I2C_TINY_USB is not set
-+
-+#
-+# Miscellaneous I2C Chip support
-+#
-+# CONFIG_SENSORS_DS1337 is not set
-+# CONFIG_SENSORS_DS1374 is not set
-+# CONFIG_DS1682 is not set
-+# CONFIG_SENSORS_EEPROM is not set
-+# CONFIG_SENSORS_PCF8574 is not set
-+# CONFIG_SENSORS_PCA9539 is not set
-+# CONFIG_SENSORS_PCF8591 is not set
-+# CONFIG_SENSORS_MAX6875 is not set
-+# CONFIG_SENSORS_TSL2550 is not set
-+# CONFIG_I2C_DEBUG_CORE is not set
-+# CONFIG_I2C_DEBUG_ALGO is not set
-+# CONFIG_I2C_DEBUG_BUS is not set
-+# CONFIG_I2C_DEBUG_CHIP is not set
-+
-+#
-+# SPI support
-+#
-+CONFIG_SPI=y
-+# CONFIG_SPI_DEBUG is not set
-+CONFIG_SPI_MASTER=y
-+
-+#
-+# SPI Master Controller Drivers
-+#
-+CONFIG_SPI_ATMEL=y
-+# CONFIG_SPI_BITBANG is not set
-+
-+#
-+# SPI Protocol Masters
-+#
-+# CONFIG_SPI_AT25 is not set
-+# CONFIG_SPI_SPIDEV is not set
-+# CONFIG_SPI_TLE62X0 is not set
-+# CONFIG_W1 is not set
-+# CONFIG_POWER_SUPPLY is not set
-+# CONFIG_HWMON is not set
-+CONFIG_WATCHDOG=y
-+CONFIG_WATCHDOG_NOWAYOUT=y
-+
-+#
-+# Watchdog Device Drivers
-+#
-+# CONFIG_SOFT_WATCHDOG is not set
-+
-+#
-+# USB-based Watchdog Cards
-+#
-+# CONFIG_USBPCWATCHDOG is not set
-+
-+#
-+# Sonics Silicon Backplane
-+#
-+CONFIG_SSB_POSSIBLE=y
-+# CONFIG_SSB is not set
-+
-+#
-+# Multifunction device drivers
-+#
-+# CONFIG_MFD_SM501 is not set
-+
-+#
-+# Multimedia devices
-+#
-+# CONFIG_VIDEO_DEV is not set
-+# CONFIG_DVB_CORE is not set
-+# CONFIG_DAB is not set
-+
-+#
-+# Graphics support
-+#
-+# CONFIG_VGASTATE is not set
-+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-+CONFIG_FB=y
-+# CONFIG_FIRMWARE_EDID is not set
-+# CONFIG_FB_DDC is not set
-+CONFIG_FB_CFB_FILLRECT=y
-+CONFIG_FB_CFB_COPYAREA=y
-+CONFIG_FB_CFB_IMAGEBLIT=y
-+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-+# CONFIG_FB_SYS_FILLRECT is not set
-+# CONFIG_FB_SYS_COPYAREA is not set
-+# CONFIG_FB_SYS_IMAGEBLIT is not set
-+# CONFIG_FB_SYS_FOPS is not set
-+CONFIG_FB_DEFERRED_IO=y
-+# CONFIG_FB_SVGALIB is not set
-+# CONFIG_FB_MACMODES is not set
-+# CONFIG_FB_BACKLIGHT is not set
-+# CONFIG_FB_MODE_HELPERS is not set
-+# CONFIG_FB_TILEBLITTING is not set
-+
-+#
-+# Frame buffer hardware drivers
-+#
-+# CONFIG_FB_S1D13XXX is not set
-+CONFIG_FB_ATMEL=y
-+# CONFIG_FB_VIRTUAL is not set
-+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-+
-+#
-+# Display device support
-+#
-+# CONFIG_DISPLAY_SUPPORT is not set
-+
-+#
-+# Console display driver support
-+#
-+# CONFIG_VGA_CONSOLE is not set
-+CONFIG_DUMMY_CONSOLE=y
-+# CONFIG_FRAMEBUFFER_CONSOLE is not set
-+CONFIG_LOGO=y
-+# CONFIG_LOGO_LINUX_MONO is not set
-+CONFIG_LOGO_LINUX_VGA16=y
-+# CONFIG_LOGO_LINUX_CLUT224 is not set
-+
-+#
-+# Sound
-+#
-+# CONFIG_SOUND is not set
-+CONFIG_HID_SUPPORT=y
-+CONFIG_HID=y
-+CONFIG_HID_DEBUG=y
-+# CONFIG_HIDRAW is not set
-+
-+#
-+# USB Input Devices
-+#
-+# CONFIG_USB_HID is not set
-+
-+#
-+# USB HID Boot Protocol drivers
-+#
-+# CONFIG_USB_KBD is not set
-+# CONFIG_USB_MOUSE is not set
-+CONFIG_USB_SUPPORT=y
-+CONFIG_USB_ARCH_HAS_HCD=y
-+CONFIG_USB_ARCH_HAS_OHCI=y
-+# CONFIG_USB_ARCH_HAS_EHCI is not set
-+CONFIG_USB=y
-+# CONFIG_USB_DEBUG is not set
-+
-+#
-+# Miscellaneous USB options
-+#
-+CONFIG_USB_DEVICEFS=y
-+CONFIG_USB_DEVICE_CLASS=y
-+# CONFIG_USB_DYNAMIC_MINORS is not set
-+# CONFIG_USB_OTG is not set
-+
-+#
-+# USB Host Controller Drivers
-+#
-+# CONFIG_USB_ISP116X_HCD is not set
-+CONFIG_USB_OHCI_HCD=y
-+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
-+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-+# CONFIG_USB_SL811_HCD is not set
-+# CONFIG_USB_R8A66597_HCD is not set
-+
-+#
-+# USB Device Class drivers
-+#
-+# CONFIG_USB_ACM is not set
-+# CONFIG_USB_PRINTER is not set
-+
-+#
-+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-+#
-+
-+#
-+# may also be needed; see USB_STORAGE Help for more information
-+#
-+CONFIG_USB_STORAGE=y
-+# CONFIG_USB_STORAGE_DEBUG is not set
-+# CONFIG_USB_STORAGE_DATAFAB is not set
-+# CONFIG_USB_STORAGE_FREECOM is not set
-+# CONFIG_USB_STORAGE_ISD200 is not set
-+# CONFIG_USB_STORAGE_DPCM is not set
-+# CONFIG_USB_STORAGE_USBAT is not set
-+# CONFIG_USB_STORAGE_SDDR09 is not set
-+# CONFIG_USB_STORAGE_SDDR55 is not set
-+# CONFIG_USB_STORAGE_JUMPSHOT is not set
-+# CONFIG_USB_STORAGE_ALAUDA is not set
-+# CONFIG_USB_STORAGE_ONETOUCH is not set
-+# CONFIG_USB_STORAGE_KARMA is not set
-+# CONFIG_USB_LIBUSUAL is not set
-+
-+#
-+# USB Imaging devices
-+#
-+# CONFIG_USB_MDC800 is not set
-+# CONFIG_USB_MICROTEK is not set
-+CONFIG_USB_MON=y
-+
-+#
-+# USB port drivers
-+#
-+
-+#
-+# USB Serial Converter support
-+#
-+# CONFIG_USB_SERIAL is not set
-+
-+#
-+# USB Miscellaneous drivers
-+#
-+# CONFIG_USB_EMI62 is not set
-+# CONFIG_USB_EMI26 is not set
-+# CONFIG_USB_ADUTUX is not set
-+# CONFIG_USB_AUERSWALD is not set
-+# CONFIG_USB_RIO500 is not set
-+# CONFIG_USB_LEGOTOWER is not set
-+# CONFIG_USB_LCD is not set
-+# CONFIG_USB_BERRY_CHARGE is not set
-+# CONFIG_USB_LED is not set
-+# CONFIG_USB_CYPRESS_CY7C63 is not set
-+# CONFIG_USB_CYTHERM is not set
-+# CONFIG_USB_PHIDGET is not set
-+# CONFIG_USB_IDMOUSE is not set
-+# CONFIG_USB_FTDI_ELAN is not set
-+# CONFIG_USB_APPLEDISPLAY is not set
-+# CONFIG_USB_LD is not set
-+# CONFIG_USB_TRANCEVIBRATOR is not set
-+# CONFIG_USB_IOWARRIOR is not set
-+# CONFIG_USB_TEST is not set
-+
-+#
-+# USB DSL modem support
-+#
-+
-+#
-+# USB Gadget Support
-+#
-+# CONFIG_USB_GADGET is not set
-+CONFIG_MMC=y
-+# CONFIG_MMC_DEBUG is not set
-+# CONFIG_MMC_UNSAFE_RESUME is not set
-+
-+#
-+# MMC/SD Card Drivers
-+#
-+CONFIG_MMC_BLOCK=y
-+CONFIG_MMC_BLOCK_BOUNCE=y
-+# CONFIG_SDIO_UART is not set
-+
-+#
-+# MMC/SD Host Controller Drivers
-+#
-+CONFIG_MMC_AT91=y
-+# CONFIG_MMC_SPI is not set
-+# CONFIG_NEW_LEDS is not set
-+CONFIG_RTC_LIB=y
-+# CONFIG_RTC_CLASS is not set
-+
-+#
-+# File systems
-+#
-+CONFIG_EXT2_FS=y
-+# CONFIG_EXT2_FS_XATTR is not set
-+# CONFIG_EXT2_FS_XIP is not set
-+# CONFIG_EXT3_FS is not set
-+# CONFIG_EXT4DEV_FS is not set
-+# CONFIG_REISERFS_FS is not set
-+# CONFIG_JFS_FS is not set
-+# CONFIG_FS_POSIX_ACL is not set
-+# CONFIG_XFS_FS is not set
-+# CONFIG_GFS2_FS is not set
-+# CONFIG_OCFS2_FS is not set
-+# CONFIG_MINIX_FS is not set
-+# CONFIG_ROMFS_FS is not set
-+CONFIG_INOTIFY=y
-+CONFIG_INOTIFY_USER=y
-+# CONFIG_QUOTA is not set
-+CONFIG_DNOTIFY=y
-+# CONFIG_AUTOFS_FS is not set
-+# CONFIG_AUTOFS4_FS is not set
-+# CONFIG_FUSE_FS is not set
-+
-+#
-+# CD-ROM/DVD Filesystems
-+#
-+# CONFIG_ISO9660_FS is not set
-+# CONFIG_UDF_FS is not set
-+
-+#
-+# DOS/FAT/NT Filesystems
-+#
-+CONFIG_FAT_FS=y
-+# CONFIG_MSDOS_FS is not set
-+CONFIG_VFAT_FS=y
-+CONFIG_FAT_DEFAULT_CODEPAGE=437
-+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-+# CONFIG_NTFS_FS is not set
-+
-+#
-+# Pseudo filesystems
-+#
-+CONFIG_PROC_FS=y
-+CONFIG_PROC_SYSCTL=y
-+CONFIG_SYSFS=y
-+CONFIG_TMPFS=y
-+# CONFIG_TMPFS_POSIX_ACL is not set
-+# CONFIG_HUGETLB_PAGE is not set
-+# CONFIG_CONFIGFS_FS is not set
-+
-+#
-+# Miscellaneous filesystems
-+#
-+# CONFIG_ADFS_FS is not set
-+# CONFIG_AFFS_FS is not set
-+# CONFIG_HFS_FS is not set
-+# CONFIG_HFSPLUS_FS is not set
-+# CONFIG_BEFS_FS is not set
-+# CONFIG_BFS_FS is not set
-+# CONFIG_EFS_FS is not set
-+CONFIG_JFFS2_FS=y
-+CONFIG_JFFS2_FS_DEBUG=0
-+CONFIG_JFFS2_FS_WRITEBUFFER=y
-+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-+# CONFIG_JFFS2_SUMMARY is not set
-+# CONFIG_JFFS2_FS_XATTR is not set
-+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-+CONFIG_JFFS2_ZLIB=y
-+# CONFIG_JFFS2_LZO is not set
-+CONFIG_JFFS2_RTIME=y
-+# CONFIG_JFFS2_RUBIN is not set
-+CONFIG_CRAMFS=y
-+# CONFIG_VXFS_FS is not set
-+# CONFIG_HPFS_FS is not set
-+# CONFIG_QNX4FS_FS is not set
-+# CONFIG_SYSV_FS is not set
-+# CONFIG_UFS_FS is not set
-+CONFIG_NETWORK_FILESYSTEMS=y
-+CONFIG_NFS_FS=y
-+# CONFIG_NFS_V3 is not set
-+# CONFIG_NFS_V4 is not set
-+# CONFIG_NFS_DIRECTIO is not set
-+# CONFIG_NFSD is not set
-+CONFIG_ROOT_NFS=y
-+CONFIG_LOCKD=y
-+CONFIG_NFS_COMMON=y
-+CONFIG_SUNRPC=y
-+# CONFIG_SUNRPC_BIND34 is not set
-+# CONFIG_RPCSEC_GSS_KRB5 is not set
-+# CONFIG_RPCSEC_GSS_SPKM3 is not set
-+# CONFIG_SMB_FS is not set
-+# CONFIG_CIFS is not set
-+# CONFIG_NCP_FS is not set
-+# CONFIG_CODA_FS is not set
-+# CONFIG_AFS_FS is not set
-+
-+#
-+# Partition Types
-+#
-+# CONFIG_PARTITION_ADVANCED is not set
-+CONFIG_MSDOS_PARTITION=y
-+CONFIG_NLS=y
-+CONFIG_NLS_DEFAULT="iso8859-1"
-+CONFIG_NLS_CODEPAGE_437=y
-+# CONFIG_NLS_CODEPAGE_737 is not set
-+# CONFIG_NLS_CODEPAGE_775 is not set
-+CONFIG_NLS_CODEPAGE_850=y
-+# CONFIG_NLS_CODEPAGE_852 is not set
-+# CONFIG_NLS_CODEPAGE_855 is not set
-+# CONFIG_NLS_CODEPAGE_857 is not set
-+# CONFIG_NLS_CODEPAGE_860 is not set
-+# CONFIG_NLS_CODEPAGE_861 is not set
-+# CONFIG_NLS_CODEPAGE_862 is not set
-+# CONFIG_NLS_CODEPAGE_863 is not set
-+# CONFIG_NLS_CODEPAGE_864 is not set
-+# CONFIG_NLS_CODEPAGE_865 is not set
-+# CONFIG_NLS_CODEPAGE_866 is not set
-+# CONFIG_NLS_CODEPAGE_869 is not set
-+# CONFIG_NLS_CODEPAGE_936 is not set
-+# CONFIG_NLS_CODEPAGE_950 is not set
-+# CONFIG_NLS_CODEPAGE_932 is not set
-+# CONFIG_NLS_CODEPAGE_949 is not set
-+# CONFIG_NLS_CODEPAGE_874 is not set
-+# CONFIG_NLS_ISO8859_8 is not set
-+# CONFIG_NLS_CODEPAGE_1250 is not set
-+# CONFIG_NLS_CODEPAGE_1251 is not set
-+# CONFIG_NLS_ASCII is not set
-+CONFIG_NLS_ISO8859_1=y
-+# CONFIG_NLS_ISO8859_2 is not set
-+# CONFIG_NLS_ISO8859_3 is not set
-+# CONFIG_NLS_ISO8859_4 is not set
-+# CONFIG_NLS_ISO8859_5 is not set
-+# CONFIG_NLS_ISO8859_6 is not set
-+# CONFIG_NLS_ISO8859_7 is not set
-+# CONFIG_NLS_ISO8859_9 is not set
-+# CONFIG_NLS_ISO8859_13 is not set
-+# CONFIG_NLS_ISO8859_14 is not set
-+# CONFIG_NLS_ISO8859_15 is not set
-+# CONFIG_NLS_KOI8_R is not set
-+# CONFIG_NLS_KOI8_U is not set
-+# CONFIG_NLS_UTF8 is not set
-+# CONFIG_DLM is not set
-+CONFIG_INSTRUMENTATION=y
-+# CONFIG_PROFILING is not set
-+# CONFIG_MARKERS is not set
-+
-+#
-+# Kernel hacking
-+#
-+# CONFIG_PRINTK_TIME is not set
-+CONFIG_ENABLE_WARN_DEPRECATED=y
-+CONFIG_ENABLE_MUST_CHECK=y
-+# CONFIG_MAGIC_SYSRQ is not set
-+# CONFIG_UNUSED_SYMBOLS is not set
-+CONFIG_DEBUG_FS=y
-+# CONFIG_HEADERS_CHECK is not set
-+CONFIG_DEBUG_KERNEL=y
-+# CONFIG_DEBUG_SHIRQ is not set
-+CONFIG_DETECT_SOFTLOCKUP=y
-+CONFIG_SCHED_DEBUG=y
-+# CONFIG_SCHEDSTATS is not set
-+# CONFIG_TIMER_STATS is not set
-+# CONFIG_DEBUG_SLAB is not set
-+# CONFIG_DEBUG_RT_MUTEXES is not set
-+# CONFIG_RT_MUTEX_TESTER is not set
-+# CONFIG_DEBUG_SPINLOCK is not set
-+# CONFIG_DEBUG_MUTEXES is not set
-+# CONFIG_DEBUG_LOCK_ALLOC is not set
-+# CONFIG_PROVE_LOCKING is not set
-+# CONFIG_LOCK_STAT is not set
-+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
-+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-+# CONFIG_DEBUG_KOBJECT is not set
-+CONFIG_DEBUG_BUGVERBOSE=y
-+CONFIG_DEBUG_INFO=y
-+# CONFIG_DEBUG_VM is not set
-+# CONFIG_DEBUG_LIST is not set
-+# CONFIG_DEBUG_SG is not set
-+CONFIG_FRAME_POINTER=y
-+CONFIG_FORCED_INLINING=y
-+# CONFIG_BOOT_PRINTK_DELAY is not set
-+# CONFIG_RCU_TORTURE_TEST is not set
-+# CONFIG_FAULT_INJECTION is not set
-+# CONFIG_SAMPLES is not set
-+CONFIG_DEBUG_USER=y
-+# CONFIG_DEBUG_ERRORS is not set
-+# CONFIG_DEBUG_LL is not set
-+
-+#
-+# Security options
-+#
-+# CONFIG_KEYS is not set
-+# CONFIG_SECURITY is not set
-+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
-+# CONFIG_CRYPTO is not set
-+
-+#
-+# Library routines
-+#
-+CONFIG_BITREVERSE=y
-+# CONFIG_CRC_CCITT is not set
-+# CONFIG_CRC16 is not set
-+# CONFIG_CRC_ITU_T is not set
-+CONFIG_CRC32=y
-+# CONFIG_CRC7 is not set
-+# CONFIG_LIBCRC32C is not set
-+CONFIG_ZLIB_INFLATE=y
-+CONFIG_ZLIB_DEFLATE=y
-+CONFIG_PLIST=y
-+CONFIG_HAS_IOMEM=y
-+CONFIG_HAS_IOPORT=y
-+CONFIG_HAS_DMA=y
-diff -urN -x CVS linux-2.6.24/arch/arm/configs/at91rm9200dk_defconfig linux-2.6/arch/arm/configs/at91rm9200dk_defconfig
---- linux-2.6.24/arch/arm/configs/at91rm9200dk_defconfig 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/configs/at91rm9200dk_defconfig 2007-12-31 10:43:35.000000000 +0200
-@@ -620,14 +620,14 @@
- #
- # I2C Algorithms
- #
--# CONFIG_I2C_ALGOBIT is not set
-+CONFIG_I2C_ALGOBIT=y
- # CONFIG_I2C_ALGOPCF is not set
- # CONFIG_I2C_ALGOPCA is not set
-
- #
- # I2C Hardware Bus support
- #
--CONFIG_I2C_AT91=y
-+CONFIG_I2C_GPIO=y
- # CONFIG_I2C_PARPORT_LIGHT is not set
- # CONFIG_I2C_STUB is not set
- # CONFIG_I2C_PCA_ISA is not set
-diff -urN -x CVS linux-2.6.24/arch/arm/configs/at91rm9200ek_defconfig linux-2.6/arch/arm/configs/at91rm9200ek_defconfig
---- linux-2.6.24/arch/arm/configs/at91rm9200ek_defconfig 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/configs/at91rm9200ek_defconfig 2007-12-31 10:43:35.000000000 +0200
-@@ -594,14 +594,14 @@
- #
- # I2C Algorithms
- #
--# CONFIG_I2C_ALGOBIT is not set
-+CONFIG_I2C_ALGOBIT=y
- # CONFIG_I2C_ALGOPCF is not set
- # CONFIG_I2C_ALGOPCA is not set
-
- #
- # I2C Hardware Bus support
- #
--CONFIG_I2C_AT91=y
-+CONFIG_I2C_GPIO=y
- # CONFIG_I2C_PARPORT_LIGHT is not set
- # CONFIG_I2C_STUB is not set
- # CONFIG_I2C_PCA_ISA is not set
-diff -urN -x CVS linux-2.6.24/arch/arm/configs/at91sam9260ek_defconfig linux-2.6/arch/arm/configs/at91sam9260ek_defconfig
---- linux-2.6.24/arch/arm/configs/at91sam9260ek_defconfig 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/configs/at91sam9260ek_defconfig 2008-01-08 22:21:02.000000000 +0200
-@@ -1,43 +1,56 @@
- #
- # Automatically generated make config: don't edit
--# Linux kernel version: 2.6.19-rc6
--# Fri Nov 17 18:42:21 2006
-+# Linux kernel version: 2.6.24-rc7
-+# Tue Jan 8 22:20:50 2008
- #
- CONFIG_ARM=y
-+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-+CONFIG_GENERIC_GPIO=y
- # CONFIG_GENERIC_TIME is not set
-+# CONFIG_GENERIC_CLOCKEVENTS is not set
- CONFIG_MMU=y
-+# CONFIG_NO_IOPORT is not set
- CONFIG_GENERIC_HARDIRQS=y
-+CONFIG_STACKTRACE_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_ZONE_DMA=y
- CONFIG_VECTORS_BASE=0xffff0000
- CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
- #
--# Code maturity level options
-+# General setup
- #
- CONFIG_EXPERIMENTAL=y
- CONFIG_BROKEN_ON_SMP=y
- CONFIG_INIT_ENV_ARG_LIMIT=32
--
--#
--# General setup
--#
- CONFIG_LOCALVERSION=""
- # CONFIG_LOCALVERSION_AUTO is not set
- # CONFIG_SWAP is not set
- CONFIG_SYSVIPC=y
--# CONFIG_IPC_NS is not set
-+CONFIG_SYSVIPC_SYSCTL=y
- # CONFIG_POSIX_MQUEUE is not set
- # CONFIG_BSD_PROCESS_ACCT is not set
- # CONFIG_TASKSTATS is not set
--# CONFIG_UTS_NS is not set
-+# CONFIG_USER_NS is not set
-+# CONFIG_PID_NS is not set
- # CONFIG_AUDIT is not set
- # CONFIG_IKCONFIG is not set
-+CONFIG_LOG_BUF_SHIFT=14
-+# CONFIG_CGROUPS is not set
-+CONFIG_FAIR_GROUP_SCHED=y
-+CONFIG_FAIR_USER_SCHED=y
-+# CONFIG_FAIR_CGROUP_SCHED is not set
-+CONFIG_SYSFS_DEPRECATED=y
- # CONFIG_RELAY is not set
-+CONFIG_BLK_DEV_INITRD=y
- CONFIG_INITRAMFS_SOURCE=""
- CONFIG_CC_OPTIMIZE_FOR_SIZE=y
- CONFIG_SYSCTL=y
-@@ -53,30 +66,30 @@
- CONFIG_ELF_CORE=y
- CONFIG_BASE_FULL=y
- CONFIG_FUTEX=y
-+CONFIG_ANON_INODES=y
- CONFIG_EPOLL=y
-+CONFIG_SIGNALFD=y
-+CONFIG_EVENTFD=y
- CONFIG_SHMEM=y
--CONFIG_SLAB=y
- CONFIG_VM_EVENT_COUNTERS=y
-+CONFIG_SLAB=y
-+# CONFIG_SLUB is not set
-+# CONFIG_SLOB is not set
-+CONFIG_SLABINFO=y
- CONFIG_RT_MUTEXES=y
- # CONFIG_TINY_SHMEM is not set
- CONFIG_BASE_SMALL=0
--# CONFIG_SLOB is not set
--
--#
--# Loadable module support
--#
- CONFIG_MODULES=y
- CONFIG_MODULE_UNLOAD=y
- # CONFIG_MODULE_FORCE_UNLOAD is not set
- # CONFIG_MODVERSIONS is not set
- # CONFIG_MODULE_SRCVERSION_ALL is not set
- CONFIG_KMOD=y
--
--#
--# Block layer
--#
- CONFIG_BLOCK=y
-+# CONFIG_LBD is not set
- # CONFIG_BLK_DEV_IO_TRACE is not set
-+# CONFIG_LSF is not set
-+# CONFIG_BLK_DEV_BSG is not set
-
- #
- # IO Schedulers
-@@ -108,12 +121,16 @@
- # 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_IXP4XX is not set
--# CONFIG_ARCH_IXP2000 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_KS8695 is not set
-+# CONFIG_ARCH_NS9XXX is not set
-+# CONFIG_ARCH_MXC is not set
- # CONFIG_ARCH_PNX4008 is not set
- # CONFIG_ARCH_PXA is not set
- # CONFIG_ARCH_RPC is not set
-@@ -121,29 +138,52 @@
- # CONFIG_ARCH_S3C2410 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
-
- #
-+# Boot options
-+#
-+
-+#
-+# Power management
-+#
-+
-+#
- # Atmel AT91 System-on-Chip
- #
- # CONFIG_ARCH_AT91RM9200 is not set
- CONFIG_ARCH_AT91SAM9260=y
- # CONFIG_ARCH_AT91SAM9261 is not set
-+# CONFIG_ARCH_AT91SAM9263 is not set
-+# CONFIG_ARCH_AT91SAM9RL is not set
-+# CONFIG_ARCH_AT91X40 is not set
-+CONFIG_AT91_PMC_UNIT=y
-+
-+#
-+# AT91SAM9260 Variants
-+#
-+# CONFIG_ARCH_AT91SAM9260_SAM9XE is not set
-
- #
--# AT91SAM9260 Board Type
-+# AT91SAM9260 / AT91SAM9XE Board Type
- #
- CONFIG_MACH_AT91SAM9260EK=y
-+# CONFIG_MACH_CAM60 is not set
-+# CONFIG_MACH_SAM9_L9260 is not set
-
- #
- # AT91 Board Options
- #
-+# CONFIG_MTD_AT91_DATAFLASH_CARD is not set
- # CONFIG_MTD_NAND_AT91_BUSWIDTH_16 is not set
-
- #
- # AT91 Feature Selections
- #
--# CONFIG_AT91_PROGRAMMABLE_CLOCKS is not set
-+CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
-+# CONFIG_ATMEL_TCLIB is not set
-+CONFIG_AT91_TIMER_HZ=100
-
- #
- # Processor Type
-@@ -166,19 +206,19 @@
- # 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
- #
--
--#
--# PCCARD (PCMCIA/CardBus) support
--#
-+# CONFIG_PCI_SYSCALL is not set
-+# CONFIG_ARCH_SUPPORTS_MSI is not set
- # CONFIG_PCCARD is not set
-
- #
- # Kernel Features
- #
-+# CONFIG_TICK_ONESHOT is not set
- # CONFIG_PREEMPT is not set
- # CONFIG_NO_IDLE_HZ is not set
- CONFIG_HZ=100
-@@ -191,8 +231,12 @@
- CONFIG_FLATMEM=y
- CONFIG_FLAT_NODE_MEM_MAP=y
- # CONFIG_SPARSEMEM_STATIC is not set
-+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
- CONFIG_SPLIT_PTLOCK_CPUS=4096
- # CONFIG_RESOURCES_64BIT is not set
-+CONFIG_ZONE_DMA_FLAG=1
-+CONFIG_BOUNCE=y
-+CONFIG_VIRT_TO_BUS=y
- # CONFIG_LEDS is not set
- CONFIG_ALIGNMENT_TRAP=y
-
-@@ -203,6 +247,7 @@
- CONFIG_ZBOOT_ROM_BSS=0x0
- CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw"
- # CONFIG_XIP_KERNEL is not set
-+# CONFIG_KEXEC is not set
-
- #
- # Floating point emulation
-@@ -228,7 +273,7 @@
- # Power management options
- #
- # CONFIG_PM is not set
--# CONFIG_APM is not set
-+CONFIG_SUSPEND_UP_POSSIBLE=y
-
- #
- # Networking
-@@ -238,13 +283,9 @@
- #
- # Networking options
- #
--# CONFIG_NETDEBUG is not set
- 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_NET_KEY is not set
- CONFIG_INET=y
- # CONFIG_IP_MULTICAST is not set
-@@ -263,33 +304,23 @@
- # CONFIG_INET_IPCOMP is not set
- # CONFIG_INET_XFRM_TUNNEL is not set
- # CONFIG_INET_TUNNEL is not set
--CONFIG_INET_XFRM_MODE_TRANSPORT=y
--CONFIG_INET_XFRM_MODE_TUNNEL=y
--CONFIG_INET_XFRM_MODE_BEET=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=y
- CONFIG_INET_TCP_DIAG=y
- # 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 is not set
- # CONFIG_INET6_XFRM_TUNNEL is not set
- # CONFIG_INET6_TUNNEL is not set
- # CONFIG_NETWORK_SECMARK is not set
- # CONFIG_NETFILTER is not set
--
--#
--# DCCP Configuration (EXPERIMENTAL)
--#
- # CONFIG_IP_DCCP is not set
--
--#
--# SCTP Configuration (EXPERIMENTAL)
--#
- # CONFIG_IP_SCTP is not set
--
--#
--# TIPC Configuration (EXPERIMENTAL)
--#
- # CONFIG_TIPC is not set
- # CONFIG_ATM is not set
- # CONFIG_BRIDGE is not set
-@@ -302,10 +333,6 @@
- # CONFIG_LAPB is not set
- # CONFIG_ECONET is not set
- # CONFIG_WAN_ROUTER is not set
--
--#
--# QoS and/or fair queueing
--#
- # CONFIG_NET_SCHED is not set
-
- #
-@@ -315,7 +342,17 @@
- # CONFIG_HAMRADIO is not set
- # CONFIG_IRDA is not set
- # CONFIG_BT is not set
-+# CONFIG_AF_RXRPC is not set
-+
-+#
-+# Wireless
-+#
-+# CONFIG_CFG80211 is not set
-+# CONFIG_WIRELESS_EXT is not set
-+# CONFIG_MAC80211 is not set
- # CONFIG_IEEE80211 is not set
-+# CONFIG_RFKILL is not set
-+# CONFIG_NET_9P is not set
-
- #
- # Device Drivers
-@@ -324,34 +361,17 @@
- #
- # Generic Driver Options
- #
-+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
- CONFIG_STANDALONE=y
- CONFIG_PREVENT_FIRMWARE_BUILD=y
- # CONFIG_FW_LOADER is not set
- # CONFIG_DEBUG_DRIVER is not set
-+# CONFIG_DEBUG_DEVRES is not set
- # CONFIG_SYS_HYPERVISOR is not set
--
--#
--# Connector - unified userspace <-> kernelspace linker
--#
- # CONFIG_CONNECTOR is not set
--
--#
--# Memory Technology Devices (MTD)
--#
- # CONFIG_MTD is not set
--
--#
--# Parallel port support
--#
- # CONFIG_PARPORT is not set
--
--#
--# Plug and Play support
--#
--
--#
--# Block devices
--#
-+CONFIG_BLK_DEV=y
- # CONFIG_BLK_DEV_COW_COMMON is not set
- # CONFIG_BLK_DEV_LOOP is not set
- # CONFIG_BLK_DEV_NBD is not set
-@@ -360,15 +380,19 @@
- CONFIG_BLK_DEV_RAM_COUNT=16
- CONFIG_BLK_DEV_RAM_SIZE=8192
- CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
--CONFIG_BLK_DEV_INITRD=y
- # CONFIG_CDROM_PKTCDVD is not set
- # CONFIG_ATA_OVER_ETH is not set
-+CONFIG_MISC_DEVICES=y
-+# CONFIG_EEPROM_93CX6 is not set
-+CONFIG_ATMEL_SSC=y
-
- #
- # SCSI device support
- #
- # CONFIG_RAID_ATTRS is not set
- CONFIG_SCSI=y
-+CONFIG_SCSI_DMA=y
-+# CONFIG_SCSI_TGT is not set
- # CONFIG_SCSI_NETLINK is not set
- CONFIG_SCSI_PROC_FS=y
-
-@@ -388,6 +412,8 @@
- CONFIG_SCSI_MULTI_LUN=y
- # CONFIG_SCSI_CONSTANTS is not set
- # CONFIG_SCSI_LOGGING is not set
-+# CONFIG_SCSI_SCAN_ASYNC is not set
-+CONFIG_SCSI_WAIT_SCAN=m
-
- #
- # SCSI Transports
-@@ -395,43 +421,72 @@
- # CONFIG_SCSI_SPI_ATTRS is not set
- # CONFIG_SCSI_FC_ATTRS is not set
- # CONFIG_SCSI_ISCSI_ATTRS is not set
--# CONFIG_SCSI_SAS_ATTRS is not set
- # CONFIG_SCSI_SAS_LIBSAS is not set
--
--#
--# SCSI low-level drivers
--#
-+# CONFIG_SCSI_SRP_ATTRS is not set
-+CONFIG_SCSI_LOWLEVEL=y
- # CONFIG_ISCSI_TCP is not set
- # CONFIG_SCSI_DEBUG is not set
--
--#
--# Multi-device support (RAID and LVM)
--#
-+# CONFIG_ATA is not set
- # CONFIG_MD is not set
-+CONFIG_NETDEVICES=y
-+# CONFIG_NETDEVICES_MULTIQUEUE is not set
-+# CONFIG_DUMMY is not set
-+# CONFIG_BONDING is not set
-+# CONFIG_MACVLAN is not set
-+# CONFIG_EQUALIZER is not set
-+# CONFIG_TUN is not set
-+# CONFIG_VETH is not set
-+CONFIG_PHYLIB=y
-+
-+#
-+# MII PHY device drivers
-+#
-+# CONFIG_MARVELL_PHY is not set
-+# CONFIG_DAVICOM_PHY is not set
-+# CONFIG_QSEMI_PHY is not set
-+# CONFIG_LXT_PHY is not set
-+# CONFIG_CICADA_PHY is not set
-+# CONFIG_VITESSE_PHY is not set
-+# CONFIG_SMSC_PHY is not set
-+# CONFIG_BROADCOM_PHY is not set
-+# CONFIG_ICPLUS_PHY is not set
-+# CONFIG_FIXED_PHY is not set
-+# CONFIG_MDIO_BITBANG is not set
-+CONFIG_NET_ETHERNET=y
-+CONFIG_MII=y
-+CONFIG_MACB=y
-+# CONFIG_AX88796 is not set
-+# CONFIG_SMC91X is not set
-+# CONFIG_DM9000 is not set
-+# CONFIG_IBM_NEW_EMAC_ZMII is not set
-+# CONFIG_IBM_NEW_EMAC_RGMII is not set
-+# CONFIG_IBM_NEW_EMAC_TAH is not set
-+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
-+# CONFIG_B44 is not set
-+CONFIG_NETDEV_1000=y
-+CONFIG_NETDEV_10000=y
-
- #
--# Fusion MPT device support
--#
--# CONFIG_FUSION is not set
--
--#
--# IEEE 1394 (FireWire) support
--#
--
--#
--# I2O device support
-+# Wireless LAN
- #
-+# CONFIG_WLAN_PRE80211 is not set
-+# CONFIG_WLAN_80211 is not set
-
- #
--# Network device support
-+# USB Network Adapters
- #
--# CONFIG_NETDEVICES is not set
-+# CONFIG_USB_CATC is not set
-+# CONFIG_USB_KAWETH is not set
-+# CONFIG_USB_PEGASUS is not set
-+# CONFIG_USB_RTL8150 is not set
-+# CONFIG_USB_USBNET is not set
-+# CONFIG_WAN is not set
-+# CONFIG_PPP is not set
-+# CONFIG_SLIP is not set
-+# CONFIG_SHAPER is not set
-+# CONFIG_NETCONSOLE is not set
- # CONFIG_NETPOLL is not set
- # CONFIG_NET_POLL_CONTROLLER is not set
--
--#
--# ISDN subsystem
--#
- # CONFIG_ISDN is not set
-
- #
-@@ -439,6 +494,7 @@
- #
- CONFIG_INPUT=y
- # CONFIG_INPUT_FF_MEMLESS is not set
-+# CONFIG_INPUT_POLLDEV is not set
-
- #
- # Userland interfaces
-@@ -448,7 +504,6 @@
- CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
- CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
- # CONFIG_INPUT_JOYDEV is not set
--# CONFIG_INPUT_TSDEV is not set
- # CONFIG_INPUT_EVDEV is not set
- # CONFIG_INPUT_EVBUG is not set
-
-@@ -458,6 +513,7 @@
- # CONFIG_INPUT_KEYBOARD is not set
- # CONFIG_INPUT_MOUSE is not set
- # CONFIG_INPUT_JOYSTICK is not set
-+# CONFIG_INPUT_TABLET is not set
- # CONFIG_INPUT_TOUCHSCREEN is not set
- # CONFIG_INPUT_MISC is not set
-
-@@ -492,114 +548,131 @@
- CONFIG_UNIX98_PTYS=y
- CONFIG_LEGACY_PTYS=y
- CONFIG_LEGACY_PTY_COUNT=256
--
--#
--# IPMI
--#
- # CONFIG_IPMI_HANDLER is not set
--
--#
--# Watchdog Cards
--#
--CONFIG_WATCHDOG=y
--CONFIG_WATCHDOG_NOWAYOUT=y
--
--#
--# Watchdog Device Drivers
--#
--# CONFIG_SOFT_WATCHDOG is not set
--
--#
--# USB-based Watchdog Cards
--#
--# CONFIG_USBPCWATCHDOG is not set
--CONFIG_HW_RANDOM=y
-+# CONFIG_HW_RANDOM is not set
- # CONFIG_NVRAM is not set
--# CONFIG_DTLK is not set
- # CONFIG_R3964 is not set
--
--#
--# Ftape, the floppy tape device driver
--#
- # CONFIG_RAW_DRIVER is not set
--
--#
--# TPM devices
--#
- # CONFIG_TCG_TPM is not set
--
--#
--# I2C support
--#
--# CONFIG_I2C is not set
-+CONFIG_I2C=y
-+CONFIG_I2C_BOARDINFO=y
-+CONFIG_I2C_CHARDEV=y
-+
-+#
-+# I2C Algorithms
-+#
-+CONFIG_I2C_ALGOBIT=y
-+# CONFIG_I2C_ALGOPCF is not set
-+# CONFIG_I2C_ALGOPCA is not set
-+
-+#
-+# I2C Hardware Bus support
-+#
-+CONFIG_I2C_GPIO=y
-+# CONFIG_I2C_OCORES is not set
-+# CONFIG_I2C_PARPORT_LIGHT is not set
-+# CONFIG_I2C_SIMTEC is not set
-+# CONFIG_I2C_TAOS_EVM is not set
-+# CONFIG_I2C_STUB is not set
-+# CONFIG_I2C_TINY_USB is not set
-+# CONFIG_I2C_PCA is not set
-+
-+#
-+# Miscellaneous I2C Chip support
-+#
-+# CONFIG_SENSORS_DS1337 is not set
-+# CONFIG_SENSORS_DS1374 is not set
-+# CONFIG_DS1682 is not set
-+# CONFIG_SENSORS_EEPROM is not set
-+# CONFIG_SENSORS_PCF8574 is not set
-+# CONFIG_SENSORS_PCA9539 is not set
-+# CONFIG_SENSORS_PCF8591 is not set
-+# CONFIG_SENSORS_MAX6875 is not set
-+# CONFIG_SENSORS_TSL2550 is not set
-+# CONFIG_I2C_DEBUG_CORE is not set
-+# CONFIG_I2C_DEBUG_ALGO is not set
-+# CONFIG_I2C_DEBUG_BUS is not set
-+# CONFIG_I2C_DEBUG_CHIP is not set
-
- #
- # SPI support
- #
- # CONFIG_SPI is not set
- # CONFIG_SPI_MASTER is not set
--
--#
--# Dallas's 1-wire bus
--#
- # CONFIG_W1 is not set
--
--#
--# Hardware Monitoring support
--#
-+# CONFIG_POWER_SUPPLY is not set
- # CONFIG_HWMON is not set
--# CONFIG_HWMON_VID is not set
-+CONFIG_WATCHDOG=y
-+CONFIG_WATCHDOG_NOWAYOUT=y
-
- #
--# Misc devices
-+# Watchdog Device Drivers
- #
--# CONFIG_TIFM_CORE is not set
-+# CONFIG_SOFT_WATCHDOG is not set
-+CONFIG_AT91SAM9_WATCHDOG=y
-
- #
--# LED devices
-+# USB-based Watchdog Cards
- #
--# CONFIG_NEW_LEDS is not set
-+# CONFIG_USBPCWATCHDOG is not set
-
- #
--# LED drivers
-+# Sonics Silicon Backplane
- #
-+CONFIG_SSB_POSSIBLE=y
-+# CONFIG_SSB is not set
-
- #
--# LED Triggers
-+# Multifunction device drivers
- #
-+# CONFIG_MFD_SM501 is not set
-
- #
- # Multimedia devices
- #
- # CONFIG_VIDEO_DEV is not set
-+# CONFIG_DVB_CORE is not set
-+# CONFIG_DAB is not set
-
- #
--# Digital Video Broadcasting Devices
-+# Graphics support
- #
--# CONFIG_DVB is not set
--# CONFIG_USB_DABUSB is not set
-+# CONFIG_VGASTATE is not set
-+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-+# CONFIG_FB is not set
-+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-
- #
--# Graphics support
-+# Display device support
- #
--# CONFIG_FIRMWARE_EDID is not set
--# CONFIG_FB is not set
-+# CONFIG_DISPLAY_SUPPORT is not set
-
- #
- # Console display driver support
- #
- # CONFIG_VGA_CONSOLE is not set
- CONFIG_DUMMY_CONSOLE=y
--# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-
- #
- # Sound
- #
- # CONFIG_SOUND is not set
-+CONFIG_HID_SUPPORT=y
-+CONFIG_HID=y
-+# CONFIG_HID_DEBUG is not set
-+# CONFIG_HIDRAW is not set
-
- #
--# USB support
-+# USB Input Devices
-+#
-+# CONFIG_USB_HID is not set
-+
-+#
-+# USB HID Boot Protocol drivers
- #
-+# CONFIG_USB_KBD is not set
-+# CONFIG_USB_MOUSE is not set
-+CONFIG_USB_SUPPORT=y
- CONFIG_USB_ARCH_HAS_HCD=y
- CONFIG_USB_ARCH_HAS_OHCI=y
- # CONFIG_USB_ARCH_HAS_EHCI is not set
-@@ -610,7 +683,7 @@
- # Miscellaneous USB options
- #
- CONFIG_USB_DEVICEFS=y
--# CONFIG_USB_BANDWIDTH is not set
-+CONFIG_USB_DEVICE_CLASS=y
- # CONFIG_USB_DYNAMIC_MINORS is not set
- # CONFIG_USB_OTG is not set
-
-@@ -619,9 +692,11 @@
- #
- # CONFIG_USB_ISP116X_HCD is not set
- CONFIG_USB_OHCI_HCD=y
--# CONFIG_USB_OHCI_BIG_ENDIAN is not set
-+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
- CONFIG_USB_OHCI_LITTLE_ENDIAN=y
- # CONFIG_USB_SL811_HCD is not set
-+# CONFIG_USB_R8A66597_HCD is not set
-
- #
- # USB Device Class drivers
-@@ -640,6 +715,7 @@
- CONFIG_USB_STORAGE_DEBUG=y
- # CONFIG_USB_STORAGE_DATAFAB is not set
- # CONFIG_USB_STORAGE_FREECOM is not set
-+# CONFIG_USB_STORAGE_ISD200 is not set
- # CONFIG_USB_STORAGE_DPCM is not set
- # CONFIG_USB_STORAGE_USBAT is not set
- # CONFIG_USB_STORAGE_SDDR09 is not set
-@@ -650,43 +726,10 @@
- # CONFIG_USB_LIBUSUAL is not set
-
- #
--# USB Input Devices
--#
--# CONFIG_USB_HID is not set
--
--#
--# USB HID Boot Protocol drivers
--#
--# CONFIG_USB_KBD is not set
--# CONFIG_USB_MOUSE is not set
--# CONFIG_USB_AIPTEK is not set
--# CONFIG_USB_WACOM is not set
--# CONFIG_USB_ACECAD is not set
--# CONFIG_USB_KBTAB is not set
--# CONFIG_USB_POWERMATE is not set
--# CONFIG_USB_TOUCHSCREEN is not set
--# CONFIG_USB_YEALINK is not set
--# CONFIG_USB_XPAD is not set
--# CONFIG_USB_ATI_REMOTE is not set
--# CONFIG_USB_ATI_REMOTE2 is not set
--# CONFIG_USB_KEYSPAN_REMOTE is not set
--# CONFIG_USB_APPLETOUCH is not set
--
--#
- # USB Imaging devices
- #
- # CONFIG_USB_MDC800 is not set
- # CONFIG_USB_MICROTEK is not set
--
--#
--# USB Network Adapters
--#
--# CONFIG_USB_CATC is not set
--# CONFIG_USB_KAWETH is not set
--# CONFIG_USB_PEGASUS is not set
--# CONFIG_USB_RTL8150 is not set
--# CONFIG_USB_USBNET_MII is not set
--# CONFIG_USB_USBNET is not set
- CONFIG_USB_MON=y
-
- #
-@@ -708,6 +751,7 @@
- # CONFIG_USB_RIO500 is not set
- # CONFIG_USB_LEGOTOWER is not set
- # CONFIG_USB_LCD is not set
-+# CONFIG_USB_BERRY_CHARGE is not set
- # CONFIG_USB_LED is not set
- # CONFIG_USB_CYPRESS_CY7C63 is not set
- # CONFIG_USB_CYTHERM is not set
-@@ -717,6 +761,7 @@
- # CONFIG_USB_APPLEDISPLAY is not set
- # CONFIG_USB_LD is not set
- # CONFIG_USB_TRANCEVIBRATOR is not set
-+# CONFIG_USB_IOWARRIOR is not set
- # CONFIG_USB_TEST is not set
-
- #
-@@ -727,13 +772,19 @@
- # USB Gadget Support
- #
- CONFIG_USB_GADGET=y
-+# CONFIG_USB_GADGET_DEBUG is not set
- # CONFIG_USB_GADGET_DEBUG_FILES is not set
- CONFIG_USB_GADGET_SELECTED=y
-+# CONFIG_USB_GADGET_AMD5536UDC is not set
-+# CONFIG_USB_GADGET_ATMEL_USBA is not set
-+# CONFIG_USB_GADGET_FSL_USB2 is not set
- # CONFIG_USB_GADGET_NET2280 is not set
- # CONFIG_USB_GADGET_PXA2XX is not set
-+# CONFIG_USB_GADGET_M66592 is not set
- # CONFIG_USB_GADGET_GOKU is not set
- # CONFIG_USB_GADGET_LH7A40X is not set
- # CONFIG_USB_GADGET_OMAP is not set
-+# CONFIG_USB_GADGET_S3C2410 is not set
- CONFIG_USB_GADGET_AT91=y
- CONFIG_USB_AT91=y
- # CONFIG_USB_GADGET_DUMMY_HCD is not set
-@@ -745,17 +796,56 @@
- # CONFIG_USB_FILE_STORAGE_TEST is not set
- CONFIG_USB_G_SERIAL=m
- # CONFIG_USB_MIDI_GADGET is not set
-+# CONFIG_MMC is not set
-+# CONFIG_NEW_LEDS is not set
-+CONFIG_RTC_LIB=y
-+CONFIG_RTC_CLASS=y
-+CONFIG_RTC_HCTOSYS=y
-+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-+# CONFIG_RTC_DEBUG is not set
-
- #
--# MMC/SD Card support
-+# RTC interfaces
- #
--# CONFIG_MMC is not set
-+CONFIG_RTC_INTF_SYSFS=y
-+CONFIG_RTC_INTF_PROC=y
-+CONFIG_RTC_INTF_DEV=y
-+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-+# CONFIG_RTC_DRV_TEST is not set
-
- #
--# Real Time Clock
-+# I2C RTC drivers
-+#
-+# CONFIG_RTC_DRV_DS1307 is not set
-+# CONFIG_RTC_DRV_DS1374 is not set
-+# CONFIG_RTC_DRV_DS1672 is not set
-+# CONFIG_RTC_DRV_MAX6900 is not set
-+# CONFIG_RTC_DRV_RS5C372 is not set
-+# CONFIG_RTC_DRV_ISL1208 is not set
-+# CONFIG_RTC_DRV_X1205 is not set
-+# CONFIG_RTC_DRV_PCF8563 is not set
-+# CONFIG_RTC_DRV_PCF8583 is not set
-+# CONFIG_RTC_DRV_M41T80 is not set
-+
-+#
-+# SPI RTC drivers
- #
--CONFIG_RTC_LIB=y
--# CONFIG_RTC_CLASS is not set
-+
-+#
-+# Platform RTC drivers
-+#
-+# CONFIG_RTC_DRV_CMOS is not set
-+# CONFIG_RTC_DRV_DS1553 is not set
-+# CONFIG_RTC_DRV_STK17TA8 is not set
-+# CONFIG_RTC_DRV_DS1742 is not set
-+# CONFIG_RTC_DRV_M48T86 is not set
-+# CONFIG_RTC_DRV_M48T59 is not set
-+# CONFIG_RTC_DRV_V3020 is not set
-+
-+#
-+# on-CPU RTC drivers
-+#
-+CONFIG_RTC_DRV_AT91SAM9=y
-
- #
- # File systems
-@@ -806,7 +896,6 @@
- CONFIG_TMPFS=y
- # CONFIG_TMPFS_POSIX_ACL is not set
- # CONFIG_HUGETLB_PAGE is not set
--CONFIG_RAMFS=y
- # CONFIG_CONFIGFS_FS is not set
-
- #
-@@ -825,10 +914,7 @@
- # CONFIG_QNX4FS_FS is not set
- # CONFIG_SYSV_FS is not set
- # CONFIG_UFS_FS is not set
--
--#
--# Network File Systems
--#
-+CONFIG_NETWORK_FILESYSTEMS=y
- # CONFIG_NFS_FS is not set
- # CONFIG_NFSD is not set
- # CONFIG_SMB_FS is not set
-@@ -836,17 +922,12 @@
- # CONFIG_NCP_FS is not set
- # CONFIG_CODA_FS is not set
- # CONFIG_AFS_FS is not set
--# CONFIG_9P_FS is not set
-
- #
- # Partition Types
- #
- # CONFIG_PARTITION_ADVANCED is not set
- CONFIG_MSDOS_PARTITION=y
--
--#
--# Native Language Support
--#
- CONFIG_NLS=y
- CONFIG_NLS_DEFAULT="iso8859-1"
- CONFIG_NLS_CODEPAGE_437=y
-@@ -887,41 +968,49 @@
- # CONFIG_NLS_KOI8_R is not set
- # CONFIG_NLS_KOI8_U is not set
- # CONFIG_NLS_UTF8 is not set
--
--#
--# Profiling support
--#
-+# CONFIG_DLM is not set
-+CONFIG_INSTRUMENTATION=y
- # CONFIG_PROFILING is not set
-+# CONFIG_MARKERS is not set
-
- #
- # Kernel hacking
- #
- # CONFIG_PRINTK_TIME is not set
-+CONFIG_ENABLE_WARN_DEPRECATED=y
- CONFIG_ENABLE_MUST_CHECK=y
- # CONFIG_MAGIC_SYSRQ is not set
- # CONFIG_UNUSED_SYMBOLS is not set
-+# CONFIG_DEBUG_FS is not set
-+# CONFIG_HEADERS_CHECK is not set
- CONFIG_DEBUG_KERNEL=y
--CONFIG_LOG_BUF_SHIFT=14
-+# CONFIG_DEBUG_SHIRQ is not set
- CONFIG_DETECT_SOFTLOCKUP=y
-+CONFIG_SCHED_DEBUG=y
- # CONFIG_SCHEDSTATS is not set
-+# CONFIG_TIMER_STATS is not set
- # CONFIG_DEBUG_SLAB is not set
- # CONFIG_DEBUG_RT_MUTEXES is not set
- # CONFIG_RT_MUTEX_TESTER is not set
- # CONFIG_DEBUG_SPINLOCK is not set
- # CONFIG_DEBUG_MUTEXES is not set
--# CONFIG_DEBUG_RWSEMS is not set
-+# CONFIG_DEBUG_LOCK_ALLOC is not set
-+# CONFIG_PROVE_LOCKING is not set
-+# CONFIG_LOCK_STAT is not set
- # CONFIG_DEBUG_SPINLOCK_SLEEP is not set
- # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
- # CONFIG_DEBUG_KOBJECT is not set
- CONFIG_DEBUG_BUGVERBOSE=y
- # CONFIG_DEBUG_INFO is not set
--# CONFIG_DEBUG_FS is not set
- # CONFIG_DEBUG_VM is not set
- # CONFIG_DEBUG_LIST is not set
-+# CONFIG_DEBUG_SG is not set
- CONFIG_FRAME_POINTER=y
- CONFIG_FORCED_INLINING=y
--# CONFIG_HEADERS_CHECK is not set
-+# CONFIG_BOOT_PRINTK_DELAY is not set
- # CONFIG_RCU_TORTURE_TEST is not set
-+# CONFIG_FAULT_INJECTION is not set
-+# CONFIG_SAMPLES is not set
- CONFIG_DEBUG_USER=y
- # CONFIG_DEBUG_ERRORS is not set
- CONFIG_DEBUG_LL=y
-@@ -932,18 +1021,21 @@
- #
- # CONFIG_KEYS is not set
- # CONFIG_SECURITY is not set
--
--#
--# Cryptographic options
--#
-+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
- # CONFIG_CRYPTO is not set
-
- #
- # Library routines
- #
-+CONFIG_BITREVERSE=y
- # CONFIG_CRC_CCITT is not set
- # CONFIG_CRC16 is not set
-+# CONFIG_CRC_ITU_T is not set
- CONFIG_CRC32=y
-+# CONFIG_CRC7 is not set
- # CONFIG_LIBCRC32C is not set
- CONFIG_ZLIB_INFLATE=y
- CONFIG_PLIST=y
-+CONFIG_HAS_IOMEM=y
-+CONFIG_HAS_IOPORT=y
-+CONFIG_HAS_DMA=y
-diff -urN -x CVS linux-2.6.24/arch/arm/configs/at91sam9261ek_defconfig linux-2.6/arch/arm/configs/at91sam9261ek_defconfig
---- linux-2.6.24/arch/arm/configs/at91sam9261ek_defconfig 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/configs/at91sam9261ek_defconfig 2008-01-08 22:21:57.000000000 +0200
-@@ -1,43 +1,56 @@
- #
- # Automatically generated make config: don't edit
--# Linux kernel version: 2.6.19-rc6
--# Fri Nov 17 18:00:38 2006
-+# Linux kernel version: 2.6.24-rc7
-+# Tue Jan 8 22:21:49 2008
- #
- CONFIG_ARM=y
-+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-+CONFIG_GENERIC_GPIO=y
- # CONFIG_GENERIC_TIME is not set
-+# CONFIG_GENERIC_CLOCKEVENTS is not set
- CONFIG_MMU=y
-+# CONFIG_NO_IOPORT is not set
- CONFIG_GENERIC_HARDIRQS=y
-+CONFIG_STACKTRACE_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_ZONE_DMA=y
- CONFIG_VECTORS_BASE=0xffff0000
- CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
- #
--# Code maturity level options
-+# General setup
- #
- CONFIG_EXPERIMENTAL=y
- CONFIG_BROKEN_ON_SMP=y
- CONFIG_INIT_ENV_ARG_LIMIT=32
--
--#
--# General setup
--#
- CONFIG_LOCALVERSION=""
- # CONFIG_LOCALVERSION_AUTO is not set
- # CONFIG_SWAP is not set
- CONFIG_SYSVIPC=y
--# CONFIG_IPC_NS is not set
-+CONFIG_SYSVIPC_SYSCTL=y
- # CONFIG_POSIX_MQUEUE is not set
- # CONFIG_BSD_PROCESS_ACCT is not set
- # CONFIG_TASKSTATS is not set
--# CONFIG_UTS_NS is not set
-+# CONFIG_USER_NS is not set
-+# CONFIG_PID_NS is not set
- # CONFIG_AUDIT is not set
- # CONFIG_IKCONFIG is not set
-+CONFIG_LOG_BUF_SHIFT=14
-+# CONFIG_CGROUPS is not set
-+CONFIG_FAIR_GROUP_SCHED=y
-+CONFIG_FAIR_USER_SCHED=y
-+# CONFIG_FAIR_CGROUP_SCHED is not set
-+CONFIG_SYSFS_DEPRECATED=y
- # CONFIG_RELAY is not set
-+CONFIG_BLK_DEV_INITRD=y
- CONFIG_INITRAMFS_SOURCE=""
- CONFIG_CC_OPTIMIZE_FOR_SIZE=y
- CONFIG_SYSCTL=y
-@@ -53,30 +66,30 @@
- CONFIG_ELF_CORE=y
- CONFIG_BASE_FULL=y
- CONFIG_FUTEX=y
-+CONFIG_ANON_INODES=y
- CONFIG_EPOLL=y
-+CONFIG_SIGNALFD=y
-+CONFIG_EVENTFD=y
- CONFIG_SHMEM=y
--CONFIG_SLAB=y
- CONFIG_VM_EVENT_COUNTERS=y
-+CONFIG_SLAB=y
-+# CONFIG_SLUB is not set
-+# CONFIG_SLOB is not set
-+CONFIG_SLABINFO=y
- CONFIG_RT_MUTEXES=y
- # CONFIG_TINY_SHMEM is not set
- CONFIG_BASE_SMALL=0
--# CONFIG_SLOB is not set
--
--#
--# Loadable module support
--#
- CONFIG_MODULES=y
- CONFIG_MODULE_UNLOAD=y
- # CONFIG_MODULE_FORCE_UNLOAD is not set
- # CONFIG_MODVERSIONS is not set
- # CONFIG_MODULE_SRCVERSION_ALL is not set
- CONFIG_KMOD=y
--
--#
--# Block layer
--#
- CONFIG_BLOCK=y
-+# CONFIG_LBD is not set
- # CONFIG_BLK_DEV_IO_TRACE is not set
-+# CONFIG_LSF is not set
-+# CONFIG_BLK_DEV_BSG is not set
-
- #
- # IO Schedulers
-@@ -108,12 +121,16 @@
- # 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_IXP4XX is not set
--# CONFIG_ARCH_IXP2000 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_KS8695 is not set
-+# CONFIG_ARCH_NS9XXX is not set
-+# CONFIG_ARCH_MXC is not set
- # CONFIG_ARCH_PNX4008 is not set
- # CONFIG_ARCH_PXA is not set
- # CONFIG_ARCH_RPC is not set
-@@ -121,14 +138,27 @@
- # CONFIG_ARCH_S3C2410 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
-
- #
-+# Boot options
-+#
-+
-+#
-+# Power management
-+#
-+
-+#
- # Atmel AT91 System-on-Chip
- #
- # CONFIG_ARCH_AT91RM9200 is not set
- # CONFIG_ARCH_AT91SAM9260 is not set
- CONFIG_ARCH_AT91SAM9261=y
-+# CONFIG_ARCH_AT91SAM9263 is not set
-+# CONFIG_ARCH_AT91SAM9RL is not set
-+# CONFIG_ARCH_AT91X40 is not set
-+CONFIG_AT91_PMC_UNIT=y
-
- #
- # AT91SAM9261 Board Type
-@@ -138,12 +168,15 @@
- #
- # AT91 Board Options
- #
-+# CONFIG_MTD_AT91_DATAFLASH_CARD is not set
- # CONFIG_MTD_NAND_AT91_BUSWIDTH_16 is not set
-
- #
- # AT91 Feature Selections
- #
--# CONFIG_AT91_PROGRAMMABLE_CLOCKS is not set
-+CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
-+# CONFIG_ATMEL_TCLIB is not set
-+CONFIG_AT91_TIMER_HZ=100
-
- #
- # Processor Type
-@@ -166,19 +199,19 @@
- # 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
- #
--
--#
--# PCCARD (PCMCIA/CardBus) support
--#
-+# CONFIG_PCI_SYSCALL is not set
-+# CONFIG_ARCH_SUPPORTS_MSI is not set
- # CONFIG_PCCARD is not set
-
- #
- # Kernel Features
- #
-+# CONFIG_TICK_ONESHOT is not set
- # CONFIG_PREEMPT is not set
- # CONFIG_NO_IDLE_HZ is not set
- CONFIG_HZ=100
-@@ -191,8 +224,12 @@
- CONFIG_FLATMEM=y
- CONFIG_FLAT_NODE_MEM_MAP=y
- # CONFIG_SPARSEMEM_STATIC is not set
-+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
- CONFIG_SPLIT_PTLOCK_CPUS=4096
- # CONFIG_RESOURCES_64BIT is not set
-+CONFIG_ZONE_DMA_FLAG=1
-+CONFIG_BOUNCE=y
-+CONFIG_VIRT_TO_BUS=y
- # CONFIG_LEDS is not set
- CONFIG_ALIGNMENT_TRAP=y
-
-@@ -203,6 +240,7 @@
- CONFIG_ZBOOT_ROM_BSS=0x0
- CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw"
- # CONFIG_XIP_KERNEL is not set
-+# CONFIG_KEXEC is not set
-
- #
- # Floating point emulation
-@@ -228,7 +266,7 @@
- # Power management options
- #
- # CONFIG_PM is not set
--# CONFIG_APM is not set
-+CONFIG_SUSPEND_UP_POSSIBLE=y
-
- #
- # Networking
-@@ -238,13 +276,13 @@
- #
- # Networking options
- #
--# CONFIG_NETDEBUG is not set
- 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_NET_KEY is not set
- CONFIG_INET=y
- # CONFIG_IP_MULTICAST is not set
-@@ -266,30 +304,20 @@
- CONFIG_INET_XFRM_MODE_TRANSPORT=y
- CONFIG_INET_XFRM_MODE_TUNNEL=y
- CONFIG_INET_XFRM_MODE_BEET=y
-+# CONFIG_INET_LRO is not set
- CONFIG_INET_DIAG=y
- CONFIG_INET_TCP_DIAG=y
- # 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 is not set
- # CONFIG_INET6_XFRM_TUNNEL is not set
- # CONFIG_INET6_TUNNEL is not set
- # CONFIG_NETWORK_SECMARK is not set
- # CONFIG_NETFILTER is not set
--
--#
--# DCCP Configuration (EXPERIMENTAL)
--#
- # CONFIG_IP_DCCP is not set
--
--#
--# SCTP Configuration (EXPERIMENTAL)
--#
- # CONFIG_IP_SCTP is not set
--
--#
--# TIPC Configuration (EXPERIMENTAL)
--#
- # CONFIG_TIPC is not set
- # CONFIG_ATM is not set
- # CONFIG_BRIDGE is not set
-@@ -302,10 +330,6 @@
- # CONFIG_LAPB is not set
- # CONFIG_ECONET is not set
- # CONFIG_WAN_ROUTER is not set
--
--#
--# QoS and/or fair queueing
--#
- # CONFIG_NET_SCHED is not set
-
- #
-@@ -315,7 +339,17 @@
- # CONFIG_HAMRADIO is not set
- # CONFIG_IRDA is not set
- # CONFIG_BT is not set
-+# CONFIG_AF_RXRPC is not set
-+
-+#
-+# Wireless
-+#
-+# CONFIG_CFG80211 is not set
-+# CONFIG_WIRELESS_EXT is not set
-+# CONFIG_MAC80211 is not set
- # CONFIG_IEEE80211 is not set
-+# CONFIG_RFKILL is not set
-+# CONFIG_NET_9P is not set
-
- #
- # Device Drivers
-@@ -324,20 +358,14 @@
- #
- # Generic Driver Options
- #
-+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
- CONFIG_STANDALONE=y
- CONFIG_PREVENT_FIRMWARE_BUILD=y
- # CONFIG_FW_LOADER is not set
- # CONFIG_DEBUG_DRIVER is not set
-+# CONFIG_DEBUG_DEVRES is not set
- # CONFIG_SYS_HYPERVISOR is not set
--
--#
--# Connector - unified userspace <-> kernelspace linker
--#
- # CONFIG_CONNECTOR is not set
--
--#
--# Memory Technology Devices (MTD)
--#
- CONFIG_MTD=y
- # CONFIG_MTD_DEBUG is not set
- # CONFIG_MTD_CONCAT is not set
-@@ -350,12 +378,14 @@
- # User Modules And Translation Layers
- #
- # CONFIG_MTD_CHAR is not set
-+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
-@@ -375,7 +405,6 @@
- # CONFIG_MTD_RAM is not set
- # CONFIG_MTD_ROM is not set
- # CONFIG_MTD_ABSENT is not set
--# CONFIG_MTD_OBSOLETE_CHIPS is not set
-
- #
- # Mapping drivers for chip access
-@@ -386,6 +415,8 @@
- #
- # Self-contained MTD device drivers
- #
-+# CONFIG_MTD_DATAFLASH 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
-@@ -397,35 +428,24 @@
- # CONFIG_MTD_DOC2000 is not set
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOC2001PLUS is not set
--
--#
--# NAND Flash Device Drivers
--#
- CONFIG_MTD_NAND=y
- # CONFIG_MTD_NAND_VERIFY_WRITE is not set
- # CONFIG_MTD_NAND_ECC_SMC is not set
-+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
- CONFIG_MTD_NAND_IDS=y
- # CONFIG_MTD_NAND_DISKONCHIP is not set
- CONFIG_MTD_NAND_AT91=y
- # CONFIG_MTD_NAND_NANDSIM is not set
--
--#
--# OneNAND Flash Device Drivers
--#
-+# CONFIG_MTD_NAND_PLATFORM is not set
-+# CONFIG_MTD_ALAUDA is not set
- # CONFIG_MTD_ONENAND is not set
-
- #
--# Parallel port support
-+# UBI - Unsorted block images
- #
-+# CONFIG_MTD_UBI is not set
- # CONFIG_PARPORT is not set
--
--#
--# Plug and Play support
--#
--
--#
--# Block devices
--#
-+CONFIG_BLK_DEV=y
- # CONFIG_BLK_DEV_COW_COMMON is not set
- # CONFIG_BLK_DEV_LOOP is not set
- # CONFIG_BLK_DEV_NBD is not set
-@@ -434,15 +454,19 @@
- CONFIG_BLK_DEV_RAM_COUNT=16
- CONFIG_BLK_DEV_RAM_SIZE=8192
- CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
--CONFIG_BLK_DEV_INITRD=y
- # CONFIG_CDROM_PKTCDVD is not set
- # CONFIG_ATA_OVER_ETH is not set
-+CONFIG_MISC_DEVICES=y
-+# CONFIG_EEPROM_93CX6 is not set
-+CONFIG_ATMEL_SSC=y
-
- #
- # SCSI device support
- #
- # CONFIG_RAID_ATTRS is not set
- CONFIG_SCSI=y
-+CONFIG_SCSI_DMA=y
-+# CONFIG_SCSI_TGT is not set
- # CONFIG_SCSI_NETLINK is not set
- CONFIG_SCSI_PROC_FS=y
-
-@@ -462,6 +486,8 @@
- CONFIG_SCSI_MULTI_LUN=y
- # CONFIG_SCSI_CONSTANTS is not set
- # CONFIG_SCSI_LOGGING is not set
-+# CONFIG_SCSI_SCAN_ASYNC is not set
-+CONFIG_SCSI_WAIT_SCAN=m
-
- #
- # SCSI Transports
-@@ -469,75 +495,49 @@
- # CONFIG_SCSI_SPI_ATTRS is not set
- # CONFIG_SCSI_FC_ATTRS is not set
- # CONFIG_SCSI_ISCSI_ATTRS is not set
--# CONFIG_SCSI_SAS_ATTRS is not set
- # CONFIG_SCSI_SAS_LIBSAS is not set
--
--#
--# SCSI low-level drivers
--#
-+# CONFIG_SCSI_SRP_ATTRS is not set
-+CONFIG_SCSI_LOWLEVEL=y
- # CONFIG_ISCSI_TCP is not set
- # CONFIG_SCSI_DEBUG is not set
--
--#
--# Multi-device support (RAID and LVM)
--#
-+# CONFIG_ATA is not set
- # CONFIG_MD is not set
--
--#
--# Fusion MPT device support
--#
--# CONFIG_FUSION is not set
--
--#
--# IEEE 1394 (FireWire) support
--#
--
--#
--# I2O device support
--#
--
--#
--# Network device support
--#
- CONFIG_NETDEVICES=y
-+# CONFIG_NETDEVICES_MULTIQUEUE is not set
- # CONFIG_DUMMY is not set
- # CONFIG_BONDING is not set
-+# CONFIG_MACVLAN is not set
- # CONFIG_EQUALIZER is not set
- # CONFIG_TUN is not set
--
--#
--# PHY device support
--#
-+# CONFIG_VETH is not set
- # CONFIG_PHYLIB is not set
--
--#
--# Ethernet (10 or 100Mbit)
--#
- CONFIG_NET_ETHERNET=y
- CONFIG_MII=y
-+# CONFIG_AX88796 is not set
- # CONFIG_SMC91X is not set
- CONFIG_DM9000=y
-+# CONFIG_IBM_NEW_EMAC_ZMII is not set
-+# CONFIG_IBM_NEW_EMAC_RGMII is not set
-+# CONFIG_IBM_NEW_EMAC_TAH is not set
-+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
-+# CONFIG_B44 is not set
-+# CONFIG_NETDEV_1000 is not set
-+# CONFIG_NETDEV_10000 is not set
-
- #
--# Ethernet (1000 Mbit)
--#
--
--#
--# Ethernet (10000 Mbit)
--#
--
--#
--# Token Ring devices
-+# Wireless LAN
- #
-+# CONFIG_WLAN_PRE80211 is not set
-+# CONFIG_WLAN_80211 is not set
-
- #
--# Wireless LAN (non-hamradio)
--#
--# CONFIG_NET_RADIO is not set
--
--#
--# Wan interfaces
-+# USB Network Adapters
- #
-+# CONFIG_USB_CATC is not set
-+# CONFIG_USB_KAWETH is not set
-+# CONFIG_USB_PEGASUS is not set
-+# CONFIG_USB_RTL8150 is not set
-+# CONFIG_USB_USBNET is not set
- # CONFIG_WAN is not set
- # CONFIG_PPP is not set
- # CONFIG_SLIP is not set
-@@ -545,10 +545,6 @@
- # CONFIG_NETCONSOLE is not set
- # CONFIG_NETPOLL is not set
- # CONFIG_NET_POLL_CONTROLLER is not set
--
--#
--# ISDN subsystem
--#
- # CONFIG_ISDN is not set
-
- #
-@@ -556,6 +552,7 @@
- #
- CONFIG_INPUT=y
- # CONFIG_INPUT_FF_MEMLESS is not set
-+# CONFIG_INPUT_POLLDEV is not set
-
- #
- # Userland interfaces
-@@ -565,23 +562,43 @@
- CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
- CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
- # CONFIG_INPUT_JOYDEV is not set
--# CONFIG_INPUT_TSDEV is not set
- # CONFIG_INPUT_EVDEV is not set
- # CONFIG_INPUT_EVBUG is not set
-
- #
- # Input Device Drivers
- #
--# CONFIG_INPUT_KEYBOARD is not set
-+CONFIG_INPUT_KEYBOARD=y
-+# CONFIG_KEYBOARD_ATKBD is not set
-+# CONFIG_KEYBOARD_SUNKBD is not set
-+# CONFIG_KEYBOARD_LKKBD is not set
-+# CONFIG_KEYBOARD_XTKBD is not set
-+# CONFIG_KEYBOARD_NEWTON is not set
-+# CONFIG_KEYBOARD_STOWAWAY is not set
-+CONFIG_KEYBOARD_GPIO=y
- # CONFIG_INPUT_MOUSE is not set
- # CONFIG_INPUT_JOYSTICK is not set
--# CONFIG_INPUT_TOUCHSCREEN is not set
-+# CONFIG_INPUT_TABLET is not set
-+CONFIG_INPUT_TOUCHSCREEN=y
-+CONFIG_TOUCHSCREEN_ADS7846=y
-+# CONFIG_TOUCHSCREEN_FUJITSU is not set
-+# CONFIG_TOUCHSCREEN_GUNZE is not set
-+# CONFIG_TOUCHSCREEN_ELO is not set
-+# CONFIG_TOUCHSCREEN_MTOUCH is not set
-+# CONFIG_TOUCHSCREEN_MK712 is not set
-+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-+# CONFIG_TOUCHSCREEN_UCB1400 is not set
-+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
- # CONFIG_INPUT_MISC is not set
-
- #
- # Hardware I/O ports
- #
--# CONFIG_SERIO is not set
-+CONFIG_SERIO=y
-+CONFIG_SERIO_SERPORT=y
-+# CONFIG_SERIO_RAW is not set
- # CONFIG_GAMEPORT is not set
-
- #
-@@ -609,75 +626,47 @@
- CONFIG_UNIX98_PTYS=y
- CONFIG_LEGACY_PTYS=y
- CONFIG_LEGACY_PTY_COUNT=256
--
--#
--# IPMI
--#
- # CONFIG_IPMI_HANDLER is not set
--
--#
--# Watchdog Cards
--#
--CONFIG_WATCHDOG=y
--CONFIG_WATCHDOG_NOWAYOUT=y
--
--#
--# Watchdog Device Drivers
--#
--# CONFIG_SOFT_WATCHDOG is not set
--
--#
--# USB-based Watchdog Cards
--#
--# CONFIG_USBPCWATCHDOG is not set
- CONFIG_HW_RANDOM=y
- # CONFIG_NVRAM is not set
--# CONFIG_DTLK is not set
- # CONFIG_R3964 is not set
--
--#
--# Ftape, the floppy tape device driver
--#
- # CONFIG_RAW_DRIVER is not set
--
--#
--# TPM devices
--#
- # CONFIG_TCG_TPM is not set
--
--#
--# I2C support
--#
- CONFIG_I2C=y
-+CONFIG_I2C_BOARDINFO=y
- CONFIG_I2C_CHARDEV=y
-
- #
- # I2C Algorithms
- #
--# CONFIG_I2C_ALGOBIT is not set
-+CONFIG_I2C_ALGOBIT=y
- # CONFIG_I2C_ALGOPCF is not set
- # CONFIG_I2C_ALGOPCA is not set
-
- #
- # I2C Hardware Bus support
- #
--CONFIG_I2C_AT91=y
-+CONFIG_I2C_GPIO=y
- # CONFIG_I2C_OCORES is not set
- # CONFIG_I2C_PARPORT_LIGHT is not set
-+# CONFIG_I2C_SIMTEC is not set
-+# CONFIG_I2C_TAOS_EVM is not set
- # CONFIG_I2C_STUB is not set
-+# CONFIG_I2C_TINY_USB is not set
- # CONFIG_I2C_PCA is not set
--# CONFIG_I2C_PCA_ISA is not set
-
- #
- # Miscellaneous I2C Chip support
- #
- # CONFIG_SENSORS_DS1337 is not set
- # CONFIG_SENSORS_DS1374 is not set
-+# CONFIG_DS1682 is not set
- # CONFIG_SENSORS_EEPROM is not set
- # CONFIG_SENSORS_PCF8574 is not set
- # CONFIG_SENSORS_PCA9539 is not set
- # CONFIG_SENSORS_PCF8591 is not set
- # CONFIG_SENSORS_MAX6875 is not set
-+# CONFIG_SENSORS_TSL2550 is not set
- # CONFIG_I2C_DEBUG_CORE is not set
- # CONFIG_I2C_DEBUG_ALGO is not set
- # CONFIG_I2C_DEBUG_BUS is not set
-@@ -686,70 +675,125 @@
- #
- # SPI support
- #
--# CONFIG_SPI is not set
--# CONFIG_SPI_MASTER is not set
-+CONFIG_SPI=y
-+# CONFIG_SPI_DEBUG is not set
-+CONFIG_SPI_MASTER=y
-
- #
--# Dallas's 1-wire bus
-+# SPI Master Controller Drivers
- #
--# CONFIG_W1 is not set
-+CONFIG_SPI_ATMEL=y
-+# CONFIG_SPI_BITBANG is not set
-
- #
--# Hardware Monitoring support
-+# SPI Protocol Masters
- #
-+# CONFIG_SPI_AT25 is not set
-+# CONFIG_SPI_SPIDEV is not set
-+# CONFIG_SPI_TLE62X0 is not set
-+# CONFIG_W1 is not set
-+# CONFIG_POWER_SUPPLY is not set
- # CONFIG_HWMON is not set
--# CONFIG_HWMON_VID is not set
-+CONFIG_WATCHDOG=y
-+CONFIG_WATCHDOG_NOWAYOUT=y
-
- #
--# Misc devices
-+# Watchdog Device Drivers
- #
--# CONFIG_TIFM_CORE is not set
-+# CONFIG_SOFT_WATCHDOG is not set
-+CONFIG_AT91SAM9_WATCHDOG=y
-
- #
--# LED devices
-+# USB-based Watchdog Cards
- #
--# CONFIG_NEW_LEDS is not set
-+# CONFIG_USBPCWATCHDOG is not set
-
- #
--# LED drivers
-+# Sonics Silicon Backplane
- #
-+CONFIG_SSB_POSSIBLE=y
-+# CONFIG_SSB is not set
-
- #
--# LED Triggers
-+# Multifunction device drivers
- #
-+# CONFIG_MFD_SM501 is not set
-
- #
- # Multimedia devices
- #
- # CONFIG_VIDEO_DEV is not set
--
--#
--# Digital Video Broadcasting Devices
--#
--# CONFIG_DVB is not set
-+# CONFIG_DVB_CORE is not set
-+CONFIG_DAB=y
- # CONFIG_USB_DABUSB is not set
-
- #
- # Graphics support
- #
-+# CONFIG_VGASTATE is not set
-+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-+CONFIG_FB=y
- # CONFIG_FIRMWARE_EDID is not set
--# CONFIG_FB is not set
-+# CONFIG_FB_DDC is not set
-+CONFIG_FB_CFB_FILLRECT=y
-+CONFIG_FB_CFB_COPYAREA=y
-+CONFIG_FB_CFB_IMAGEBLIT=y
-+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-+# CONFIG_FB_SYS_FILLRECT is not set
-+# CONFIG_FB_SYS_COPYAREA is not set
-+# CONFIG_FB_SYS_IMAGEBLIT is not set
-+# CONFIG_FB_SYS_FOPS is not set
-+CONFIG_FB_DEFERRED_IO=y
-+# CONFIG_FB_SVGALIB is not set
-+# CONFIG_FB_MACMODES is not set
-+# CONFIG_FB_BACKLIGHT is not set
-+# CONFIG_FB_MODE_HELPERS is not set
-+# CONFIG_FB_TILEBLITTING is not set
-+
-+#
-+# Frame buffer hardware drivers
-+#
-+# CONFIG_FB_S1D15605 is not set
-+# CONFIG_FB_S1D13XXX is not set
-+CONFIG_FB_ATMEL=y
-+# CONFIG_FB_INTSRAM is not set
-+# CONFIG_FB_ATMEL_STN is not set
-+# CONFIG_FB_VIRTUAL is not set
-+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-+
-+#
-+# Display device support
-+#
-+# CONFIG_DISPLAY_SUPPORT is not set
-
- #
- # Console display driver support
- #
- # CONFIG_VGA_CONSOLE is not set
- CONFIG_DUMMY_CONSOLE=y
--# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-+# CONFIG_FRAMEBUFFER_CONSOLE is not set
-+# CONFIG_LOGO is not set
-
- #
- # Sound
- #
- # CONFIG_SOUND is not set
-+CONFIG_HID_SUPPORT=y
-+CONFIG_HID=y
-+# CONFIG_HID_DEBUG is not set
-+# CONFIG_HIDRAW is not set
-
- #
--# USB support
-+# USB Input Devices
- #
-+# CONFIG_USB_HID is not set
-+
-+#
-+# USB HID Boot Protocol drivers
-+#
-+# CONFIG_USB_KBD is not set
-+# CONFIG_USB_MOUSE is not set
-+CONFIG_USB_SUPPORT=y
- CONFIG_USB_ARCH_HAS_HCD=y
- CONFIG_USB_ARCH_HAS_OHCI=y
- # CONFIG_USB_ARCH_HAS_EHCI is not set
-@@ -760,7 +804,7 @@
- # Miscellaneous USB options
- #
- CONFIG_USB_DEVICEFS=y
--# CONFIG_USB_BANDWIDTH is not set
-+CONFIG_USB_DEVICE_CLASS=y
- # CONFIG_USB_DYNAMIC_MINORS is not set
- # CONFIG_USB_OTG is not set
-
-@@ -769,9 +813,11 @@
- #
- # CONFIG_USB_ISP116X_HCD is not set
- CONFIG_USB_OHCI_HCD=y
--# CONFIG_USB_OHCI_BIG_ENDIAN is not set
-+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
- CONFIG_USB_OHCI_LITTLE_ENDIAN=y
- # CONFIG_USB_SL811_HCD is not set
-+# CONFIG_USB_R8A66597_HCD is not set
-
- #
- # USB Device Class drivers
-@@ -790,6 +836,7 @@
- CONFIG_USB_STORAGE_DEBUG=y
- # CONFIG_USB_STORAGE_DATAFAB is not set
- # CONFIG_USB_STORAGE_FREECOM is not set
-+# CONFIG_USB_STORAGE_ISD200 is not set
- # CONFIG_USB_STORAGE_DPCM is not set
- # CONFIG_USB_STORAGE_USBAT is not set
- # CONFIG_USB_STORAGE_SDDR09 is not set
-@@ -800,43 +847,10 @@
- # CONFIG_USB_LIBUSUAL is not set
-
- #
--# USB Input Devices
--#
--# CONFIG_USB_HID is not set
--
--#
--# USB HID Boot Protocol drivers
--#
--# CONFIG_USB_KBD is not set
--# CONFIG_USB_MOUSE is not set
--# CONFIG_USB_AIPTEK is not set
--# CONFIG_USB_WACOM is not set
--# CONFIG_USB_ACECAD is not set
--# CONFIG_USB_KBTAB is not set
--# CONFIG_USB_POWERMATE is not set
--# CONFIG_USB_TOUCHSCREEN is not set
--# CONFIG_USB_YEALINK is not set
--# CONFIG_USB_XPAD is not set
--# CONFIG_USB_ATI_REMOTE is not set
--# CONFIG_USB_ATI_REMOTE2 is not set
--# CONFIG_USB_KEYSPAN_REMOTE is not set
--# CONFIG_USB_APPLETOUCH is not set
--
--#
- # USB Imaging devices
- #
- # CONFIG_USB_MDC800 is not set
- # CONFIG_USB_MICROTEK is not set
--
--#
--# USB Network Adapters
--#
--# CONFIG_USB_CATC is not set
--# CONFIG_USB_KAWETH is not set
--# CONFIG_USB_PEGASUS is not set
--# CONFIG_USB_RTL8150 is not set
--# CONFIG_USB_USBNET_MII is not set
--# CONFIG_USB_USBNET is not set
- CONFIG_USB_MON=y
-
- #
-@@ -858,6 +872,7 @@
- # CONFIG_USB_RIO500 is not set
- # CONFIG_USB_LEGOTOWER is not set
- # CONFIG_USB_LCD is not set
-+# CONFIG_USB_BERRY_CHARGE is not set
- # CONFIG_USB_LED is not set
- # CONFIG_USB_CYPRESS_CY7C63 is not set
- # CONFIG_USB_CYTHERM is not set
-@@ -867,6 +882,7 @@
- # CONFIG_USB_APPLEDISPLAY is not set
- # CONFIG_USB_LD is not set
- # CONFIG_USB_TRANCEVIBRATOR is not set
-+# CONFIG_USB_IOWARRIOR is not set
- # CONFIG_USB_TEST is not set
-
- #
-@@ -877,13 +893,19 @@
- # USB Gadget Support
- #
- CONFIG_USB_GADGET=y
-+# CONFIG_USB_GADGET_DEBUG is not set
- # CONFIG_USB_GADGET_DEBUG_FILES is not set
- CONFIG_USB_GADGET_SELECTED=y
-+# CONFIG_USB_GADGET_AMD5536UDC is not set
-+# CONFIG_USB_GADGET_ATMEL_USBA is not set
-+# CONFIG_USB_GADGET_FSL_USB2 is not set
- # CONFIG_USB_GADGET_NET2280 is not set
- # CONFIG_USB_GADGET_PXA2XX is not set
-+# CONFIG_USB_GADGET_M66592 is not set
- # CONFIG_USB_GADGET_GOKU is not set
- # CONFIG_USB_GADGET_LH7A40X is not set
- # CONFIG_USB_GADGET_OMAP is not set
-+# CONFIG_USB_GADGET_S3C2410 is not set
- CONFIG_USB_GADGET_AT91=y
- CONFIG_USB_AT91=y
- # CONFIG_USB_GADGET_DUMMY_HCD is not set
-@@ -895,21 +917,73 @@
- # CONFIG_USB_FILE_STORAGE_TEST is not set
- CONFIG_USB_G_SERIAL=m
- # CONFIG_USB_MIDI_GADGET is not set
-+CONFIG_MMC=y
-+# CONFIG_MMC_DEBUG is not set
-+# CONFIG_MMC_UNSAFE_RESUME is not set
-
- #
--# MMC/SD Card support
-+# MMC/SD Card Drivers
- #
--CONFIG_MMC=y
--# CONFIG_MMC_DEBUG is not set
- CONFIG_MMC_BLOCK=y
--CONFIG_MMC_AT91=m
--# CONFIG_MMC_TIFM_SD is not set
-+CONFIG_MMC_BLOCK_BOUNCE=y
-+# CONFIG_SDIO_UART is not set
-
- #
--# Real Time Clock
-+# MMC/SD Host Controller Drivers
- #
-+CONFIG_MMC_AT91=y
-+# CONFIG_MMC_SPI is not set
-+# CONFIG_NEW_LEDS is not set
- CONFIG_RTC_LIB=y
--# CONFIG_RTC_CLASS is not set
-+CONFIG_RTC_CLASS=y
-+CONFIG_RTC_HCTOSYS=y
-+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-+# CONFIG_RTC_DEBUG is not set
-+
-+#
-+# RTC interfaces
-+#
-+CONFIG_RTC_INTF_SYSFS=y
-+CONFIG_RTC_INTF_PROC=y
-+CONFIG_RTC_INTF_DEV=y
-+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-+# CONFIG_RTC_DRV_TEST is not set
-+
-+#
-+# I2C RTC drivers
-+#
-+# CONFIG_RTC_DRV_DS1307 is not set
-+# CONFIG_RTC_DRV_DS1374 is not set
-+# CONFIG_RTC_DRV_DS1672 is not set
-+# CONFIG_RTC_DRV_MAX6900 is not set
-+# CONFIG_RTC_DRV_RS5C372 is not set
-+# CONFIG_RTC_DRV_ISL1208 is not set
-+# CONFIG_RTC_DRV_X1205 is not set
-+# CONFIG_RTC_DRV_PCF8563 is not set
-+# CONFIG_RTC_DRV_PCF8583 is not set
-+# CONFIG_RTC_DRV_M41T80 is not set
-+
-+#
-+# SPI RTC drivers
-+#
-+# CONFIG_RTC_DRV_RS5C348 is not set
-+# CONFIG_RTC_DRV_MAX6902 is not set
-+
-+#
-+# Platform RTC drivers
-+#
-+# CONFIG_RTC_DRV_CMOS is not set
-+# CONFIG_RTC_DRV_DS1553 is not set
-+# CONFIG_RTC_DRV_STK17TA8 is not set
-+# CONFIG_RTC_DRV_DS1742 is not set
-+# CONFIG_RTC_DRV_M48T86 is not set
-+# CONFIG_RTC_DRV_M48T59 is not set
-+# CONFIG_RTC_DRV_V3020 is not set
-+
-+#
-+# on-CPU RTC drivers
-+#
-+CONFIG_RTC_DRV_AT91SAM9=y
-
- #
- # File systems
-@@ -960,7 +1034,6 @@
- CONFIG_TMPFS=y
- # CONFIG_TMPFS_POSIX_ACL is not set
- # CONFIG_HUGETLB_PAGE is not set
--CONFIG_RAMFS=y
- # CONFIG_CONFIGFS_FS is not set
-
- #
-@@ -973,7 +1046,6 @@
- # CONFIG_BEFS_FS is not set
- # CONFIG_BFS_FS is not set
- # CONFIG_EFS_FS is not set
--# CONFIG_JFFS_FS is not set
- # CONFIG_JFFS2_FS is not set
- CONFIG_CRAMFS=y
- # CONFIG_VXFS_FS is not set
-@@ -981,10 +1053,7 @@
- # CONFIG_QNX4FS_FS is not set
- # CONFIG_SYSV_FS is not set
- # CONFIG_UFS_FS is not set
--
--#
--# Network File Systems
--#
-+CONFIG_NETWORK_FILESYSTEMS=y
- # CONFIG_NFS_FS is not set
- # CONFIG_NFSD is not set
- # CONFIG_SMB_FS is not set
-@@ -992,17 +1061,12 @@
- # CONFIG_NCP_FS is not set
- # CONFIG_CODA_FS is not set
- # CONFIG_AFS_FS is not set
--# CONFIG_9P_FS is not set
-
- #
- # Partition Types
- #
- # CONFIG_PARTITION_ADVANCED is not set
- CONFIG_MSDOS_PARTITION=y
--
--#
--# Native Language Support
--#
- CONFIG_NLS=y
- CONFIG_NLS_DEFAULT="iso8859-1"
- CONFIG_NLS_CODEPAGE_437=y
-@@ -1043,41 +1107,49 @@
- # CONFIG_NLS_KOI8_R is not set
- # CONFIG_NLS_KOI8_U is not set
- # CONFIG_NLS_UTF8 is not set
--
--#
--# Profiling support
--#
-+# CONFIG_DLM is not set
-+CONFIG_INSTRUMENTATION=y
- # CONFIG_PROFILING is not set
-+# CONFIG_MARKERS is not set
-
- #
- # Kernel hacking
- #
- # CONFIG_PRINTK_TIME is not set
-+CONFIG_ENABLE_WARN_DEPRECATED=y
- CONFIG_ENABLE_MUST_CHECK=y
- # CONFIG_MAGIC_SYSRQ is not set
- # CONFIG_UNUSED_SYMBOLS is not set
-+# CONFIG_DEBUG_FS is not set
-+# CONFIG_HEADERS_CHECK is not set
- CONFIG_DEBUG_KERNEL=y
--CONFIG_LOG_BUF_SHIFT=14
-+# CONFIG_DEBUG_SHIRQ is not set
- CONFIG_DETECT_SOFTLOCKUP=y
-+CONFIG_SCHED_DEBUG=y
- # CONFIG_SCHEDSTATS is not set
-+# CONFIG_TIMER_STATS is not set
- # CONFIG_DEBUG_SLAB is not set
- # CONFIG_DEBUG_RT_MUTEXES is not set
- # CONFIG_RT_MUTEX_TESTER is not set
- # CONFIG_DEBUG_SPINLOCK is not set
- # CONFIG_DEBUG_MUTEXES is not set
--# CONFIG_DEBUG_RWSEMS is not set
-+# CONFIG_DEBUG_LOCK_ALLOC is not set
-+# CONFIG_PROVE_LOCKING is not set
-+# CONFIG_LOCK_STAT is not set
- # CONFIG_DEBUG_SPINLOCK_SLEEP is not set
- # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
- # CONFIG_DEBUG_KOBJECT is not set
- CONFIG_DEBUG_BUGVERBOSE=y
- # CONFIG_DEBUG_INFO is not set
--# CONFIG_DEBUG_FS is not set
- # CONFIG_DEBUG_VM is not set
- # CONFIG_DEBUG_LIST is not set
-+# CONFIG_DEBUG_SG is not set
- CONFIG_FRAME_POINTER=y
- CONFIG_FORCED_INLINING=y
--# CONFIG_HEADERS_CHECK is not set
-+# CONFIG_BOOT_PRINTK_DELAY is not set
- # CONFIG_RCU_TORTURE_TEST is not set
-+# CONFIG_FAULT_INJECTION is not set
-+# CONFIG_SAMPLES is not set
- CONFIG_DEBUG_USER=y
- # CONFIG_DEBUG_ERRORS is not set
- CONFIG_DEBUG_LL=y
-@@ -1088,18 +1160,21 @@
- #
- # CONFIG_KEYS is not set
- # CONFIG_SECURITY is not set
--
--#
--# Cryptographic options
--#
-+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
- # CONFIG_CRYPTO is not set
-
- #
- # Library routines
- #
-+CONFIG_BITREVERSE=y
- # CONFIG_CRC_CCITT is not set
- # CONFIG_CRC16 is not set
-+# CONFIG_CRC_ITU_T is not set
- CONFIG_CRC32=y
-+# CONFIG_CRC7 is not set
- # CONFIG_LIBCRC32C is not set
- CONFIG_ZLIB_INFLATE=y
- CONFIG_PLIST=y
-+CONFIG_HAS_IOMEM=y
-+CONFIG_HAS_IOPORT=y
-+CONFIG_HAS_DMA=y
-diff -urN -x CVS linux-2.6.24/arch/arm/configs/at91sam9263ek_defconfig linux-2.6/arch/arm/configs/at91sam9263ek_defconfig
---- linux-2.6.24/arch/arm/configs/at91sam9263ek_defconfig 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/configs/at91sam9263ek_defconfig 2008-01-08 22:12:41.000000000 +0200
-@@ -1,12 +1,18 @@
- #
- # Automatically generated make config: don't edit
--# Linux kernel version: 2.6.20-rc1
--# Mon Jan 8 16:06:54 2007
-+# Linux kernel version: 2.6.24-rc7
-+# Tue Jan 8 22:12:20 2008
- #
- CONFIG_ARM=y
-+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-+CONFIG_GENERIC_GPIO=y
- # CONFIG_GENERIC_TIME is not set
-+# CONFIG_GENERIC_CLOCKEVENTS is not set
- CONFIG_MMU=y
-+# CONFIG_NO_IOPORT is not set
- CONFIG_GENERIC_HARDIRQS=y
-+CONFIG_STACKTRACE_SUPPORT=y
-+CONFIG_LOCKDEP_SUPPORT=y
- CONFIG_TRACE_IRQFLAGS_SUPPORT=y
- CONFIG_HARDIRQS_SW_RESEND=y
- CONFIG_GENERIC_IRQ_PROBE=y
-@@ -15,32 +21,36 @@
- # CONFIG_ARCH_HAS_ILOG2_U64 is not set
- CONFIG_GENERIC_HWEIGHT=y
- CONFIG_GENERIC_CALIBRATE_DELAY=y
-+CONFIG_ZONE_DMA=y
- CONFIG_VECTORS_BASE=0xffff0000
- CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
- #
--# Code maturity level options
-+# General setup
- #
- CONFIG_EXPERIMENTAL=y
- CONFIG_BROKEN_ON_SMP=y
- CONFIG_INIT_ENV_ARG_LIMIT=32
--
--#
--# General setup
--#
- CONFIG_LOCALVERSION=""
- # CONFIG_LOCALVERSION_AUTO is not set
- # CONFIG_SWAP is not set
- CONFIG_SYSVIPC=y
--# CONFIG_IPC_NS is not set
-+CONFIG_SYSVIPC_SYSCTL=y
- # CONFIG_POSIX_MQUEUE is not set
- # CONFIG_BSD_PROCESS_ACCT is not set
- # CONFIG_TASKSTATS is not set
--# CONFIG_UTS_NS is not set
-+# CONFIG_USER_NS is not set
-+# CONFIG_PID_NS is not set
- # CONFIG_AUDIT is not set
- # CONFIG_IKCONFIG is not set
-+CONFIG_LOG_BUF_SHIFT=14
-+# CONFIG_CGROUPS is not set
-+CONFIG_FAIR_GROUP_SCHED=y
-+CONFIG_FAIR_USER_SCHED=y
-+# CONFIG_FAIR_CGROUP_SCHED is not set
- CONFIG_SYSFS_DEPRECATED=y
- # CONFIG_RELAY is not set
-+CONFIG_BLK_DEV_INITRD=y
- CONFIG_INITRAMFS_SOURCE=""
- CONFIG_CC_OPTIMIZE_FOR_SIZE=y
- CONFIG_SYSCTL=y
-@@ -56,32 +66,30 @@
- CONFIG_ELF_CORE=y
- CONFIG_BASE_FULL=y
- CONFIG_FUTEX=y
-+CONFIG_ANON_INODES=y
- CONFIG_EPOLL=y
-+CONFIG_SIGNALFD=y
-+CONFIG_EVENTFD=y
- CONFIG_SHMEM=y
--CONFIG_SLAB=y
- CONFIG_VM_EVENT_COUNTERS=y
-+CONFIG_SLAB=y
-+# CONFIG_SLUB is not set
-+# CONFIG_SLOB is not set
-+CONFIG_SLABINFO=y
- CONFIG_RT_MUTEXES=y
- # CONFIG_TINY_SHMEM is not set
- CONFIG_BASE_SMALL=0
--# CONFIG_SLOB is not set
--
--#
--# Loadable module support
--#
- CONFIG_MODULES=y
- CONFIG_MODULE_UNLOAD=y
- # CONFIG_MODULE_FORCE_UNLOAD is not set
- # CONFIG_MODVERSIONS is not set
- # CONFIG_MODULE_SRCVERSION_ALL is not set
- CONFIG_KMOD=y
--
--#
--# Block layer
--#
- CONFIG_BLOCK=y
- # CONFIG_LBD is not set
- # CONFIG_BLK_DEV_IO_TRACE is not set
- # CONFIG_LSF is not set
-+# CONFIG_BLK_DEV_BSG is not set
-
- #
- # IO Schedulers
-@@ -113,13 +121,16 @@
- # 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_IOP13XX is not set
--# CONFIG_ARCH_IXP4XX is not set
--# CONFIG_ARCH_IXP2000 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_KS8695 is not set
-+# CONFIG_ARCH_NS9XXX is not set
-+# CONFIG_ARCH_MXC is not set
- # CONFIG_ARCH_PNX4008 is not set
- # CONFIG_ARCH_PXA is not set
- # CONFIG_ARCH_RPC is not set
-@@ -127,15 +138,27 @@
- # CONFIG_ARCH_S3C2410 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
-
- #
-+# Boot options
-+#
-+
-+#
-+# Power management
-+#
-+
-+#
- # 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_AT91SAM9263=y
-+# CONFIG_ARCH_AT91SAM9RL is not set
-+# CONFIG_ARCH_AT91X40 is not set
-+CONFIG_AT91_PMC_UNIT=y
-
- #
- # AT91SAM9263 Board Type
-@@ -152,6 +175,8 @@
- # AT91 Feature Selections
- #
- # CONFIG_AT91_PROGRAMMABLE_CLOCKS is not set
-+# CONFIG_ATMEL_TCLIB is not set
-+CONFIG_AT91_TIMER_HZ=100
-
- #
- # Processor Type
-@@ -174,19 +199,19 @@
- # 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
- #
--
--#
--# PCCARD (PCMCIA/CardBus) support
--#
-+# CONFIG_PCI_SYSCALL is not set
-+# CONFIG_ARCH_SUPPORTS_MSI is not set
- # CONFIG_PCCARD is not set
-
- #
- # Kernel Features
- #
-+# CONFIG_TICK_ONESHOT is not set
- # CONFIG_PREEMPT is not set
- # CONFIG_NO_IDLE_HZ is not set
- CONFIG_HZ=100
-@@ -199,8 +224,12 @@
- CONFIG_FLATMEM=y
- CONFIG_FLAT_NODE_MEM_MAP=y
- # CONFIG_SPARSEMEM_STATIC is not set
-+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
- CONFIG_SPLIT_PTLOCK_CPUS=4096
- # CONFIG_RESOURCES_64BIT is not set
-+CONFIG_ZONE_DMA_FLAG=1
-+CONFIG_BOUNCE=y
-+CONFIG_VIRT_TO_BUS=y
- # CONFIG_LEDS is not set
- CONFIG_ALIGNMENT_TRAP=y
-
-@@ -211,6 +240,7 @@
- CONFIG_ZBOOT_ROM_BSS=0x0
- CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw"
- # CONFIG_XIP_KERNEL is not set
-+# CONFIG_KEXEC is not set
-
- #
- # Floating point emulation
-@@ -236,7 +266,7 @@
- # Power management options
- #
- # CONFIG_PM is not set
--# CONFIG_APM is not set
-+CONFIG_SUSPEND_UP_POSSIBLE=y
-
- #
- # Networking
-@@ -246,7 +276,6 @@
- #
- # Networking options
- #
--# CONFIG_NETDEBUG is not set
- CONFIG_PACKET=y
- # CONFIG_PACKET_MMAP is not set
- CONFIG_UNIX=y
-@@ -271,6 +300,7 @@
- # 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
-@@ -281,20 +311,8 @@
- # CONFIG_INET6_TUNNEL is not set
- # CONFIG_NETWORK_SECMARK is not set
- # CONFIG_NETFILTER is not set
--
--#
--# DCCP Configuration (EXPERIMENTAL)
--#
- # CONFIG_IP_DCCP is not set
--
--#
--# SCTP Configuration (EXPERIMENTAL)
--#
- # CONFIG_IP_SCTP is not set
--
--#
--# TIPC Configuration (EXPERIMENTAL)
--#
- # CONFIG_TIPC is not set
- # CONFIG_ATM is not set
- # CONFIG_BRIDGE is not set
-@@ -307,10 +325,6 @@
- # CONFIG_LAPB is not set
- # CONFIG_ECONET is not set
- # CONFIG_WAN_ROUTER is not set
--
--#
--# QoS and/or fair queueing
--#
- # CONFIG_NET_SCHED is not set
-
- #
-@@ -320,7 +334,17 @@
- # CONFIG_HAMRADIO is not set
- # CONFIG_IRDA is not set
- # CONFIG_BT is not set
-+# CONFIG_AF_RXRPC is not set
-+
-+#
-+# Wireless
-+#
-+# CONFIG_CFG80211 is not set
-+# CONFIG_WIRELESS_EXT is not set
-+# CONFIG_MAC80211 is not set
- # CONFIG_IEEE80211 is not set
-+# CONFIG_RFKILL is not set
-+# CONFIG_NET_9P is not set
-
- #
- # Device Drivers
-@@ -329,20 +353,14 @@
- #
- # Generic Driver Options
- #
-+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
- CONFIG_STANDALONE=y
- CONFIG_PREVENT_FIRMWARE_BUILD=y
- # CONFIG_FW_LOADER is not set
- # CONFIG_DEBUG_DRIVER is not set
-+# CONFIG_DEBUG_DEVRES is not set
- # CONFIG_SYS_HYPERVISOR is not set
--
--#
--# Connector - unified userspace <-> kernelspace linker
--#
- # CONFIG_CONNECTOR is not set
--
--#
--# Memory Technology Devices (MTD)
--#
- CONFIG_MTD=y
- # CONFIG_MTD_DEBUG is not set
- # CONFIG_MTD_CONCAT is not set
-@@ -362,6 +380,7 @@
- # 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
-@@ -381,7 +400,6 @@
- # CONFIG_MTD_RAM is not set
- # CONFIG_MTD_ROM is not set
- # CONFIG_MTD_ABSENT is not set
--# CONFIG_MTD_OBSOLETE_CHIPS is not set
-
- #
- # Mapping drivers for chip access
-@@ -405,35 +423,24 @@
- # CONFIG_MTD_DOC2000 is not set
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOC2001PLUS is not set
--
--#
--# NAND Flash Device Drivers
--#
- CONFIG_MTD_NAND=y
- # CONFIG_MTD_NAND_VERIFY_WRITE is not set
- # CONFIG_MTD_NAND_ECC_SMC is not set
-+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
- CONFIG_MTD_NAND_IDS=y
- # CONFIG_MTD_NAND_DISKONCHIP is not set
- CONFIG_MTD_NAND_AT91=y
- # CONFIG_MTD_NAND_NANDSIM is not set
--
--#
--# OneNAND Flash Device Drivers
--#
-+# CONFIG_MTD_NAND_PLATFORM is not set
-+# CONFIG_MTD_ALAUDA is not set
- # CONFIG_MTD_ONENAND is not set
-
- #
--# Parallel port support
-+# UBI - Unsorted block images
- #
-+# CONFIG_MTD_UBI is not set
- # CONFIG_PARPORT is not set
--
--#
--# Plug and Play support
--#
--
--#
--# Block devices
--#
-+CONFIG_BLK_DEV=y
- # CONFIG_BLK_DEV_COW_COMMON is not set
- CONFIG_BLK_DEV_LOOP=y
- # CONFIG_BLK_DEV_CRYPTOLOOP is not set
-@@ -443,15 +450,18 @@
- CONFIG_BLK_DEV_RAM_COUNT=16
- CONFIG_BLK_DEV_RAM_SIZE=8192
- CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
--CONFIG_BLK_DEV_INITRD=y
- # CONFIG_CDROM_PKTCDVD is not set
- # CONFIG_ATA_OVER_ETH is not set
-+CONFIG_MISC_DEVICES=y
-+# CONFIG_EEPROM_93CX6 is not set
-+CONFIG_ATMEL_SSC=y
-
- #
- # SCSI device support
- #
- # CONFIG_RAID_ATTRS is not set
- CONFIG_SCSI=y
-+CONFIG_SCSI_DMA=y
- # CONFIG_SCSI_TGT is not set
- # CONFIG_SCSI_NETLINK is not set
- CONFIG_SCSI_PROC_FS=y
-@@ -473,6 +483,7 @@
- # CONFIG_SCSI_CONSTANTS is not set
- # CONFIG_SCSI_LOGGING is not set
- # CONFIG_SCSI_SCAN_ASYNC is not set
-+CONFIG_SCSI_WAIT_SCAN=m
-
- #
- # SCSI Transports
-@@ -480,80 +491,65 @@
- # CONFIG_SCSI_SPI_ATTRS is not set
- # CONFIG_SCSI_FC_ATTRS is not set
- # CONFIG_SCSI_ISCSI_ATTRS is not set
--# CONFIG_SCSI_SAS_ATTRS is not set
- # CONFIG_SCSI_SAS_LIBSAS is not set
--
--#
--# SCSI low-level drivers
--#
-+# CONFIG_SCSI_SRP_ATTRS is not set
-+CONFIG_SCSI_LOWLEVEL=y
- # CONFIG_ISCSI_TCP is not set
- # CONFIG_SCSI_DEBUG is not set
--
--#
--# Serial ATA (prod) and Parallel ATA (experimental) drivers
--#
- # CONFIG_ATA is not set
--
--#
--# Multi-device support (RAID and LVM)
--#
- # CONFIG_MD is not set
--
--#
--# Fusion MPT device support
--#
--# CONFIG_FUSION is not set
--
--#
--# IEEE 1394 (FireWire) support
--#
--
--#
--# I2O device support
--#
--
--#
--# Network device support
--#
- CONFIG_NETDEVICES=y
-+# CONFIG_NETDEVICES_MULTIQUEUE is not set
- # CONFIG_DUMMY is not set
- # CONFIG_BONDING is not set
-+# CONFIG_MACVLAN is not set
- # CONFIG_EQUALIZER is not set
- # CONFIG_TUN is not set
-+# CONFIG_VETH is not set
-+CONFIG_PHYLIB=y
-
- #
--# PHY device support
--#
--# CONFIG_PHYLIB is not set
--
--#
--# Ethernet (10 or 100Mbit)
-+# MII PHY device drivers
- #
-+# CONFIG_MARVELL_PHY is not set
-+# CONFIG_DAVICOM_PHY is not set
-+# CONFIG_QSEMI_PHY is not set
-+# CONFIG_LXT_PHY is not set
-+# CONFIG_CICADA_PHY is not set
-+# CONFIG_VITESSE_PHY is not set
-+# CONFIG_SMSC_PHY is not set
-+# CONFIG_BROADCOM_PHY is not set
-+# CONFIG_ICPLUS_PHY is not set
-+# CONFIG_FIXED_PHY is not set
-+# CONFIG_MDIO_BITBANG is not set
- CONFIG_NET_ETHERNET=y
- CONFIG_MII=y
-+CONFIG_MACB=y
-+# CONFIG_AX88796 is not set
- # CONFIG_SMC91X is not set
- # CONFIG_DM9000 is not set
-+# CONFIG_IBM_NEW_EMAC_ZMII is not set
-+# CONFIG_IBM_NEW_EMAC_RGMII is not set
-+# CONFIG_IBM_NEW_EMAC_TAH is not set
-+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
-+# CONFIG_B44 is not set
-+CONFIG_NETDEV_1000=y
-+CONFIG_NETDEV_10000=y
-
- #
--# Ethernet (1000 Mbit)
--#
--
--#
--# Ethernet (10000 Mbit)
--#
--
--#
--# Token Ring devices
--#
--
--#
--# Wireless LAN (non-hamradio)
-+# Wireless LAN
- #
--# CONFIG_NET_RADIO is not set
-+# CONFIG_WLAN_PRE80211 is not set
-+# CONFIG_WLAN_80211 is not set
-
- #
--# Wan interfaces
-+# USB Network Adapters
- #
-+# CONFIG_USB_CATC is not set
-+# CONFIG_USB_KAWETH is not set
-+# CONFIG_USB_PEGASUS is not set
-+# CONFIG_USB_RTL8150 is not set
-+# CONFIG_USB_USBNET is not set
- # CONFIG_WAN is not set
- # CONFIG_PPP is not set
- # CONFIG_SLIP is not set
-@@ -561,10 +557,6 @@
- # CONFIG_NETCONSOLE is not set
- # CONFIG_NETPOLL is not set
- # CONFIG_NET_POLL_CONTROLLER is not set
--
--#
--# ISDN subsystem
--#
- # CONFIG_ISDN is not set
-
- #
-@@ -572,6 +564,7 @@
- #
- CONFIG_INPUT=y
- # CONFIG_INPUT_FF_MEMLESS is not set
-+# CONFIG_INPUT_POLLDEV is not set
-
- #
- # Userland interfaces
-@@ -581,20 +574,26 @@
- CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
- CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
- # CONFIG_INPUT_JOYDEV is not set
--CONFIG_INPUT_TSDEV=y
--CONFIG_INPUT_TSDEV_SCREEN_X=240
--CONFIG_INPUT_TSDEV_SCREEN_Y=320
- CONFIG_INPUT_EVDEV=y
- # CONFIG_INPUT_EVBUG is not set
-
- #
- # Input Device Drivers
- #
--# CONFIG_INPUT_KEYBOARD is not set
-+CONFIG_INPUT_KEYBOARD=y
-+# CONFIG_KEYBOARD_ATKBD is not set
-+# CONFIG_KEYBOARD_SUNKBD is not set
-+# CONFIG_KEYBOARD_LKKBD is not set
-+# CONFIG_KEYBOARD_XTKBD is not set
-+# CONFIG_KEYBOARD_NEWTON is not set
-+# CONFIG_KEYBOARD_STOWAWAY is not set
-+CONFIG_KEYBOARD_GPIO=y
- # CONFIG_INPUT_MOUSE is not set
- # CONFIG_INPUT_JOYSTICK is not set
-+# CONFIG_INPUT_TABLET is not set
- CONFIG_INPUT_TOUCHSCREEN=y
- CONFIG_TOUCHSCREEN_ADS7846=y
-+# CONFIG_TOUCHSCREEN_FUJITSU is not set
- # CONFIG_TOUCHSCREEN_GUNZE is not set
- # CONFIG_TOUCHSCREEN_ELO is not set
- # CONFIG_TOUCHSCREEN_MTOUCH is not set
-@@ -603,6 +602,7 @@
- # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
- # CONFIG_TOUCHSCREEN_TOUCHWIN is not set
- # CONFIG_TOUCHSCREEN_UCB1400 is not set
-+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
- # CONFIG_INPUT_MISC is not set
-
- #
-@@ -636,71 +636,47 @@
- CONFIG_UNIX98_PTYS=y
- CONFIG_LEGACY_PTYS=y
- CONFIG_LEGACY_PTY_COUNT=256
--
--#
--# IPMI
--#
- # CONFIG_IPMI_HANDLER is not set
--
--#
--# Watchdog Cards
--#
--CONFIG_WATCHDOG=y
--CONFIG_WATCHDOG_NOWAYOUT=y
--
--#
--# Watchdog Device Drivers
--#
--# CONFIG_SOFT_WATCHDOG is not set
--
--#
--# USB-based Watchdog Cards
--#
--# CONFIG_USBPCWATCHDOG is not set
- CONFIG_HW_RANDOM=y
- # CONFIG_NVRAM is not set
--# CONFIG_DTLK is not set
- # CONFIG_R3964 is not set
- # CONFIG_RAW_DRIVER is not set
--
--#
--# TPM devices
--#
- # CONFIG_TCG_TPM is not set
--
--#
--# I2C support
--#
- CONFIG_I2C=y
-+CONFIG_I2C_BOARDINFO=y
- CONFIG_I2C_CHARDEV=y
-
- #
- # I2C Algorithms
- #
--# CONFIG_I2C_ALGOBIT is not set
-+CONFIG_I2C_ALGOBIT=y
- # CONFIG_I2C_ALGOPCF is not set
- # CONFIG_I2C_ALGOPCA is not set
-
- #
- # I2C Hardware Bus support
- #
--CONFIG_I2C_AT91=y
-+CONFIG_I2C_GPIO=y
- # CONFIG_I2C_OCORES is not set
- # CONFIG_I2C_PARPORT_LIGHT is not set
-+# CONFIG_I2C_SIMTEC is not set
-+# CONFIG_I2C_TAOS_EVM is not set
- # CONFIG_I2C_STUB is not set
-+# CONFIG_I2C_TINY_USB is not set
- # CONFIG_I2C_PCA is not set
--# CONFIG_I2C_PCA_ISA is not set
-
- #
- # Miscellaneous I2C Chip support
- #
- # CONFIG_SENSORS_DS1337 is not set
- # CONFIG_SENSORS_DS1374 is not set
-+# CONFIG_DS1682 is not set
- # CONFIG_SENSORS_EEPROM is not set
- # CONFIG_SENSORS_PCF8574 is not set
- # CONFIG_SENSORS_PCA9539 is not set
- # CONFIG_SENSORS_PCF8591 is not set
- # CONFIG_SENSORS_MAX6875 is not set
-+# CONFIG_SENSORS_TSL2550 is not set
- # CONFIG_I2C_DEBUG_CORE is not set
- # CONFIG_I2C_DEBUG_ALGO is not set
- # CONFIG_I2C_DEBUG_BUS is not set
-@@ -722,61 +698,80 @@
- #
- # SPI Protocol Masters
- #
--
--#
--# Dallas's 1-wire bus
--#
-+# CONFIG_SPI_AT25 is not set
-+# CONFIG_SPI_SPIDEV is not set
-+# CONFIG_SPI_TLE62X0 is not set
- # CONFIG_W1 is not set
--
--#
--# Hardware Monitoring support
--#
-+# CONFIG_POWER_SUPPLY is not set
- # CONFIG_HWMON is not set
--# CONFIG_HWMON_VID is not set
-+CONFIG_WATCHDOG=y
-+CONFIG_WATCHDOG_NOWAYOUT=y
-
- #
--# Misc devices
-+# Watchdog Device Drivers
- #
--# CONFIG_TIFM_CORE is not set
-+# CONFIG_SOFT_WATCHDOG is not set
-+CONFIG_AT91SAM9_WATCHDOG=y
-
- #
--# LED devices
-+# USB-based Watchdog Cards
- #
--# CONFIG_NEW_LEDS is not set
-+# CONFIG_USBPCWATCHDOG is not set
-
- #
--# LED drivers
-+# Sonics Silicon Backplane
- #
-+CONFIG_SSB_POSSIBLE=y
-+# CONFIG_SSB is not set
-
- #
--# LED Triggers
-+# Multifunction device drivers
- #
-+# CONFIG_MFD_SM501 is not set
-
- #
- # Multimedia devices
- #
- # CONFIG_VIDEO_DEV is not set
--
--#
--# Digital Video Broadcasting Devices
--#
--# CONFIG_DVB is not set
--# CONFIG_USB_DABUSB is not set
-+# CONFIG_DVB_CORE is not set
-+# CONFIG_DAB is not set
-
- #
- # Graphics support
- #
--# CONFIG_FIRMWARE_EDID is not set
-+# CONFIG_VGASTATE is not set
-+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
- CONFIG_FB=y
--# CONFIG_FB_CFB_FILLRECT is not set
--# CONFIG_FB_CFB_COPYAREA is not set
--# CONFIG_FB_CFB_IMAGEBLIT is not set
-+# CONFIG_FIRMWARE_EDID is not set
-+# CONFIG_FB_DDC is not set
-+CONFIG_FB_CFB_FILLRECT=y
-+CONFIG_FB_CFB_COPYAREA=y
-+CONFIG_FB_CFB_IMAGEBLIT=y
-+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-+# CONFIG_FB_SYS_FILLRECT is not set
-+# CONFIG_FB_SYS_COPYAREA is not set
-+# CONFIG_FB_SYS_IMAGEBLIT is not set
-+# CONFIG_FB_SYS_FOPS is not set
-+CONFIG_FB_DEFERRED_IO=y
-+# CONFIG_FB_SVGALIB is not set
- # CONFIG_FB_MACMODES is not set
- # CONFIG_FB_BACKLIGHT is not set
- # CONFIG_FB_MODE_HELPERS is not set
- # CONFIG_FB_TILEBLITTING is not set
-+
-+#
-+# Frame buffer hardware drivers
-+#
-+# CONFIG_FB_S1D15605 is not set
- # CONFIG_FB_S1D13XXX is not set
-+CONFIG_FB_ATMEL=y
- # CONFIG_FB_VIRTUAL is not set
-+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-+
-+#
-+# Display device support
-+#
-+# CONFIG_DISPLAY_SUPPORT is not set
-
- #
- # Console display driver support
-@@ -784,26 +779,28 @@
- # CONFIG_VGA_CONSOLE is not set
- CONFIG_DUMMY_CONSOLE=y
- # CONFIG_FRAMEBUFFER_CONSOLE is not set
--
--#
--# Logo configuration
--#
- # CONFIG_LOGO is not set
--# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-
- #
- # Sound
- #
- # CONFIG_SOUND is not set
-+CONFIG_HID_SUPPORT=y
-+CONFIG_HID=y
-+# CONFIG_HID_DEBUG is not set
-+# CONFIG_HIDRAW is not set
-
- #
--# HID Devices
-+# USB Input Devices
- #
--CONFIG_HID=y
-+# CONFIG_USB_HID is not set
-
- #
--# USB support
-+# USB HID Boot Protocol drivers
- #
-+# CONFIG_USB_KBD is not set
-+# CONFIG_USB_MOUSE is not set
-+CONFIG_USB_SUPPORT=y
- CONFIG_USB_ARCH_HAS_HCD=y
- CONFIG_USB_ARCH_HAS_OHCI=y
- # CONFIG_USB_ARCH_HAS_EHCI is not set
-@@ -814,9 +811,8 @@
- # Miscellaneous USB options
- #
- CONFIG_USB_DEVICEFS=y
--# CONFIG_USB_BANDWIDTH is not set
-+CONFIG_USB_DEVICE_CLASS=y
- # CONFIG_USB_DYNAMIC_MINORS is not set
--# CONFIG_USB_MULTITHREAD_PROBE is not set
- # CONFIG_USB_OTG is not set
-
- #
-@@ -824,9 +820,11 @@
- #
- # CONFIG_USB_ISP116X_HCD is not set
- CONFIG_USB_OHCI_HCD=y
--# CONFIG_USB_OHCI_BIG_ENDIAN is not set
-+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
- CONFIG_USB_OHCI_LITTLE_ENDIAN=y
- # CONFIG_USB_SL811_HCD is not set
-+# CONFIG_USB_R8A66597_HCD is not set
-
- #
- # USB Device Class drivers
-@@ -845,6 +843,7 @@
- # CONFIG_USB_STORAGE_DEBUG is not set
- # CONFIG_USB_STORAGE_DATAFAB is not set
- # CONFIG_USB_STORAGE_FREECOM is not set
-+# CONFIG_USB_STORAGE_ISD200 is not set
- # CONFIG_USB_STORAGE_DPCM is not set
- # CONFIG_USB_STORAGE_USBAT is not set
- # CONFIG_USB_STORAGE_SDDR09 is not set
-@@ -856,43 +855,10 @@
- # CONFIG_USB_LIBUSUAL is not set
-
- #
--# USB Input Devices
--#
--# CONFIG_USB_HID is not set
--
--#
--# USB HID Boot Protocol drivers
--#
--# CONFIG_USB_KBD is not set
--# CONFIG_USB_MOUSE is not set
--# CONFIG_USB_AIPTEK is not set
--# CONFIG_USB_WACOM is not set
--# CONFIG_USB_ACECAD is not set
--# CONFIG_USB_KBTAB is not set
--# CONFIG_USB_POWERMATE is not set
--# CONFIG_USB_TOUCHSCREEN is not set
--# CONFIG_USB_YEALINK is not set
--# CONFIG_USB_XPAD is not set
--# CONFIG_USB_ATI_REMOTE is not set
--# CONFIG_USB_ATI_REMOTE2 is not set
--# CONFIG_USB_KEYSPAN_REMOTE is not set
--# CONFIG_USB_APPLETOUCH is not set
--
--#
- # USB Imaging devices
- #
- # CONFIG_USB_MDC800 is not set
- # CONFIG_USB_MICROTEK is not set
--
--#
--# USB Network Adapters
--#
--# CONFIG_USB_CATC is not set
--# CONFIG_USB_KAWETH is not set
--# CONFIG_USB_PEGASUS is not set
--# CONFIG_USB_RTL8150 is not set
--# CONFIG_USB_USBNET_MII is not set
--# CONFIG_USB_USBNET is not set
- CONFIG_USB_MON=y
-
- #
-@@ -914,6 +880,7 @@
- # CONFIG_USB_RIO500 is not set
- # CONFIG_USB_LEGOTOWER is not set
- # CONFIG_USB_LCD is not set
-+# CONFIG_USB_BERRY_CHARGE is not set
- # CONFIG_USB_LED is not set
- # CONFIG_USB_CYPRESS_CY7C63 is not set
- # CONFIG_USB_CYTHERM is not set
-@@ -923,6 +890,7 @@
- # CONFIG_USB_APPLEDISPLAY is not set
- # CONFIG_USB_LD is not set
- # CONFIG_USB_TRANCEVIBRATOR is not set
-+# CONFIG_USB_IOWARRIOR is not set
- # CONFIG_USB_TEST is not set
-
- #
-@@ -933,13 +901,19 @@
- # USB Gadget Support
- #
- CONFIG_USB_GADGET=y
-+# CONFIG_USB_GADGET_DEBUG is not set
- # CONFIG_USB_GADGET_DEBUG_FILES is not set
- CONFIG_USB_GADGET_SELECTED=y
-+# CONFIG_USB_GADGET_AMD5536UDC is not set
-+# CONFIG_USB_GADGET_ATMEL_USBA is not set
-+# CONFIG_USB_GADGET_FSL_USB2 is not set
- # CONFIG_USB_GADGET_NET2280 is not set
- # CONFIG_USB_GADGET_PXA2XX is not set
-+# CONFIG_USB_GADGET_M66592 is not set
- # CONFIG_USB_GADGET_GOKU is not set
- # CONFIG_USB_GADGET_LH7A40X is not set
- # CONFIG_USB_GADGET_OMAP is not set
-+# CONFIG_USB_GADGET_S3C2410 is not set
- CONFIG_USB_GADGET_AT91=y
- CONFIG_USB_AT91=y
- # CONFIG_USB_GADGET_DUMMY_HCD is not set
-@@ -951,21 +925,73 @@
- # CONFIG_USB_FILE_STORAGE_TEST is not set
- CONFIG_USB_G_SERIAL=m
- # CONFIG_USB_MIDI_GADGET is not set
-+CONFIG_MMC=y
-+# CONFIG_MMC_DEBUG is not set
-+# CONFIG_MMC_UNSAFE_RESUME is not set
-
- #
--# MMC/SD Card support
-+# MMC/SD Card Drivers
- #
--CONFIG_MMC=y
--# CONFIG_MMC_DEBUG is not set
- CONFIG_MMC_BLOCK=y
--CONFIG_MMC_AT91=m
--# CONFIG_MMC_TIFM_SD is not set
-+CONFIG_MMC_BLOCK_BOUNCE=y
-+# CONFIG_SDIO_UART is not set
-
- #
--# Real Time Clock
-+# MMC/SD Host Controller Drivers
- #
-+CONFIG_MMC_AT91=m
-+# CONFIG_MMC_SPI is not set
-+# CONFIG_NEW_LEDS is not set
- CONFIG_RTC_LIB=y
--# CONFIG_RTC_CLASS is not set
-+CONFIG_RTC_CLASS=y
-+CONFIG_RTC_HCTOSYS=y
-+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-+# CONFIG_RTC_DEBUG is not set
-+
-+#
-+# RTC interfaces
-+#
-+CONFIG_RTC_INTF_SYSFS=y
-+CONFIG_RTC_INTF_PROC=y
-+CONFIG_RTC_INTF_DEV=y
-+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-+# CONFIG_RTC_DRV_TEST is not set
-+
-+#
-+# I2C RTC drivers
-+#
-+# CONFIG_RTC_DRV_DS1307 is not set
-+# CONFIG_RTC_DRV_DS1374 is not set
-+# CONFIG_RTC_DRV_DS1672 is not set
-+# CONFIG_RTC_DRV_MAX6900 is not set
-+# CONFIG_RTC_DRV_RS5C372 is not set
-+# CONFIG_RTC_DRV_ISL1208 is not set
-+# CONFIG_RTC_DRV_X1205 is not set
-+# CONFIG_RTC_DRV_PCF8563 is not set
-+# CONFIG_RTC_DRV_PCF8583 is not set
-+# CONFIG_RTC_DRV_M41T80 is not set
-+
-+#
-+# SPI RTC drivers
-+#
-+# CONFIG_RTC_DRV_RS5C348 is not set
-+# CONFIG_RTC_DRV_MAX6902 is not set
-+
-+#
-+# Platform RTC drivers
-+#
-+# CONFIG_RTC_DRV_CMOS is not set
-+# CONFIG_RTC_DRV_DS1553 is not set
-+# CONFIG_RTC_DRV_STK17TA8 is not set
-+# CONFIG_RTC_DRV_DS1742 is not set
-+# CONFIG_RTC_DRV_M48T86 is not set
-+# CONFIG_RTC_DRV_M48T59 is not set
-+# CONFIG_RTC_DRV_V3020 is not set
-+
-+#
-+# on-CPU RTC drivers
-+#
-+CONFIG_RTC_DRV_AT91SAM9=y
-
- #
- # File systems
-@@ -1016,7 +1042,6 @@
- CONFIG_TMPFS=y
- # CONFIG_TMPFS_POSIX_ACL is not set
- # CONFIG_HUGETLB_PAGE is not set
--CONFIG_RAMFS=y
- # CONFIG_CONFIGFS_FS is not set
-
- #
-@@ -1032,10 +1057,12 @@
- CONFIG_JFFS2_FS=y
- CONFIG_JFFS2_FS_DEBUG=0
- CONFIG_JFFS2_FS_WRITEBUFFER=y
-+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
- # CONFIG_JFFS2_SUMMARY is not set
- # CONFIG_JFFS2_FS_XATTR is not set
- # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
- CONFIG_JFFS2_ZLIB=y
-+# CONFIG_JFFS2_LZO is not set
- CONFIG_JFFS2_RTIME=y
- # CONFIG_JFFS2_RUBIN is not set
- CONFIG_CRAMFS=y
-@@ -1044,10 +1071,7 @@
- # CONFIG_QNX4FS_FS is not set
- # CONFIG_SYSV_FS is not set
- # CONFIG_UFS_FS is not set
--
--#
--# Network File Systems
--#
-+CONFIG_NETWORK_FILESYSTEMS=y
- CONFIG_NFS_FS=y
- # CONFIG_NFS_V3 is not set
- # CONFIG_NFS_V4 is not set
-@@ -1057,6 +1081,7 @@
- CONFIG_LOCKD=y
- CONFIG_NFS_COMMON=y
- CONFIG_SUNRPC=y
-+# CONFIG_SUNRPC_BIND34 is not set
- # CONFIG_RPCSEC_GSS_KRB5 is not set
- # CONFIG_RPCSEC_GSS_SPKM3 is not set
- # CONFIG_SMB_FS is not set
-@@ -1064,17 +1089,12 @@
- # CONFIG_NCP_FS is not set
- # CONFIG_CODA_FS is not set
- # CONFIG_AFS_FS is not set
--# CONFIG_9P_FS is not set
-
- #
- # Partition Types
- #
- # CONFIG_PARTITION_ADVANCED is not set
- CONFIG_MSDOS_PARTITION=y
--
--#
--# Native Language Support
--#
- CONFIG_NLS=y
- CONFIG_NLS_DEFAULT="iso8859-1"
- CONFIG_NLS_CODEPAGE_437=y
-@@ -1115,36 +1135,35 @@
- # CONFIG_NLS_KOI8_R is not set
- # CONFIG_NLS_KOI8_U is not set
- # CONFIG_NLS_UTF8 is not set
--
--#
--# Distributed Lock Manager
--#
- # CONFIG_DLM is not set
--
--#
--# Profiling support
--#
-+CONFIG_INSTRUMENTATION=y
- # CONFIG_PROFILING is not set
-+# CONFIG_MARKERS is not set
-
- #
- # Kernel hacking
- #
- # CONFIG_PRINTK_TIME is not set
-+CONFIG_ENABLE_WARN_DEPRECATED=y
- CONFIG_ENABLE_MUST_CHECK=y
- # CONFIG_MAGIC_SYSRQ is not set
- # CONFIG_UNUSED_SYMBOLS is not set
- # CONFIG_DEBUG_FS is not set
- # CONFIG_HEADERS_CHECK is not set
- CONFIG_DEBUG_KERNEL=y
--CONFIG_LOG_BUF_SHIFT=14
-+# CONFIG_DEBUG_SHIRQ is not set
- CONFIG_DETECT_SOFTLOCKUP=y
-+CONFIG_SCHED_DEBUG=y
- # CONFIG_SCHEDSTATS is not set
-+# CONFIG_TIMER_STATS is not set
- # CONFIG_DEBUG_SLAB is not set
- # CONFIG_DEBUG_RT_MUTEXES is not set
- # CONFIG_RT_MUTEX_TESTER is not set
- # CONFIG_DEBUG_SPINLOCK is not set
- # CONFIG_DEBUG_MUTEXES is not set
--# CONFIG_DEBUG_RWSEMS is not set
-+# CONFIG_DEBUG_LOCK_ALLOC is not set
-+# CONFIG_PROVE_LOCKING is not set
-+# CONFIG_LOCK_STAT is not set
- # CONFIG_DEBUG_SPINLOCK_SLEEP is not set
- # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
- # CONFIG_DEBUG_KOBJECT is not set
-@@ -1152,9 +1171,13 @@
- # CONFIG_DEBUG_INFO is not set
- # CONFIG_DEBUG_VM is not set
- # CONFIG_DEBUG_LIST is not set
-+# CONFIG_DEBUG_SG is not set
- CONFIG_FRAME_POINTER=y
- CONFIG_FORCED_INLINING=y
-+# CONFIG_BOOT_PRINTK_DELAY is not set
- # CONFIG_RCU_TORTURE_TEST is not set
-+# CONFIG_FAULT_INJECTION is not set
-+# CONFIG_SAMPLES is not set
- CONFIG_DEBUG_USER=y
- # CONFIG_DEBUG_ERRORS is not set
- CONFIG_DEBUG_LL=y
-@@ -1165,10 +1188,7 @@
- #
- # CONFIG_KEYS is not set
- # CONFIG_SECURITY is not set
--
--#
--# Cryptographic options
--#
-+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
- # CONFIG_CRYPTO is not set
-
- #
-@@ -1177,8 +1197,13 @@
- CONFIG_BITREVERSE=y
- # CONFIG_CRC_CCITT is not set
- # CONFIG_CRC16 is not set
-+# CONFIG_CRC_ITU_T is not set
- CONFIG_CRC32=y
-+# CONFIG_CRC7 is not set
- # CONFIG_LIBCRC32C is not set
- CONFIG_ZLIB_INFLATE=y
-+CONFIG_ZLIB_DEFLATE=y
- CONFIG_PLIST=y
--CONFIG_IOMAP_COPY=y
-+CONFIG_HAS_IOMEM=y
-+CONFIG_HAS_IOPORT=y
-+CONFIG_HAS_DMA=y
-diff -urN -x CVS linux-2.6.24/arch/arm/configs/at91sam9rlek_defconfig linux-2.6/arch/arm/configs/at91sam9rlek_defconfig
---- linux-2.6.24/arch/arm/configs/at91sam9rlek_defconfig 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/configs/at91sam9rlek_defconfig 2008-01-08 22:24:22.000000000 +0200
-@@ -1,15 +1,18 @@
- #
- # Automatically generated make config: don't edit
--# Linux kernel version: 2.6.21
--# Mon May 7 16:30:40 2007
-+# Linux kernel version: 2.6.24-rc7
-+# Tue Jan 8 22:24:14 2008
- #
- CONFIG_ARM=y
- CONFIG_SYS_SUPPORTS_APM_EMULATION=y
- CONFIG_GENERIC_GPIO=y
- # CONFIG_GENERIC_TIME is not set
-+# CONFIG_GENERIC_CLOCKEVENTS is not set
- CONFIG_MMU=y
- # CONFIG_NO_IOPORT is not set
- CONFIG_GENERIC_HARDIRQS=y
-+CONFIG_STACKTRACE_SUPPORT=y
-+CONFIG_LOCKDEP_SUPPORT=y
- CONFIG_TRACE_IRQFLAGS_SUPPORT=y
- CONFIG_HARDIRQS_SW_RESEND=y
- CONFIG_GENERIC_IRQ_PROBE=y
-@@ -23,27 +26,28 @@
- CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
- #
--# Code maturity level options
-+# General setup
- #
- CONFIG_EXPERIMENTAL=y
- CONFIG_BROKEN_ON_SMP=y
- CONFIG_INIT_ENV_ARG_LIMIT=32
--
--#
--# General setup
--#
- CONFIG_LOCALVERSION=""
- # CONFIG_LOCALVERSION_AUTO is not set
- # CONFIG_SWAP is not set
- CONFIG_SYSVIPC=y
--# CONFIG_IPC_NS is not set
- CONFIG_SYSVIPC_SYSCTL=y
- # CONFIG_POSIX_MQUEUE is not set
- # CONFIG_BSD_PROCESS_ACCT is not set
- # CONFIG_TASKSTATS is not set
--# CONFIG_UTS_NS is not set
-+# CONFIG_USER_NS is not set
-+# CONFIG_PID_NS is not set
- # CONFIG_AUDIT is not set
- # CONFIG_IKCONFIG is not set
-+CONFIG_LOG_BUF_SHIFT=14
-+# CONFIG_CGROUPS is not set
-+CONFIG_FAIR_GROUP_SCHED=y
-+CONFIG_FAIR_USER_SCHED=y
-+# CONFIG_FAIR_CGROUP_SCHED is not set
- CONFIG_SYSFS_DEPRECATED=y
- # CONFIG_RELAY is not set
- CONFIG_BLK_DEV_INITRD=y
-@@ -62,32 +66,30 @@
- CONFIG_ELF_CORE=y
- CONFIG_BASE_FULL=y
- CONFIG_FUTEX=y
-+CONFIG_ANON_INODES=y
- CONFIG_EPOLL=y
-+CONFIG_SIGNALFD=y
-+CONFIG_EVENTFD=y
- CONFIG_SHMEM=y
--CONFIG_SLAB=y
- CONFIG_VM_EVENT_COUNTERS=y
-+CONFIG_SLAB=y
-+# CONFIG_SLUB is not set
-+# CONFIG_SLOB is not set
-+CONFIG_SLABINFO=y
- CONFIG_RT_MUTEXES=y
- # CONFIG_TINY_SHMEM is not set
- CONFIG_BASE_SMALL=0
--# CONFIG_SLOB is not set
--
--#
--# Loadable module support
--#
- CONFIG_MODULES=y
- CONFIG_MODULE_UNLOAD=y
- # CONFIG_MODULE_FORCE_UNLOAD is not set
- # CONFIG_MODVERSIONS is not set
- # CONFIG_MODULE_SRCVERSION_ALL is not set
- CONFIG_KMOD=y
--
--#
--# Block layer
--#
- CONFIG_BLOCK=y
- # CONFIG_LBD is not set
- # CONFIG_BLK_DEV_IO_TRACE is not set
- # CONFIG_LSF is not set
-+# CONFIG_BLK_DEV_BSG is not set
-
- #
- # IO Schedulers
-@@ -119,14 +121,16 @@
- # 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_IOP13XX is not set
--# CONFIG_ARCH_IXP4XX is not set
--# CONFIG_ARCH_IXP2000 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_KS8695 is not set
- # CONFIG_ARCH_NS9XXX is not set
-+# CONFIG_ARCH_MXC is not set
- # CONFIG_ARCH_PNX4008 is not set
- # CONFIG_ARCH_PXA is not set
- # CONFIG_ARCH_RPC is not set
-@@ -134,9 +138,18 @@
- # CONFIG_ARCH_S3C2410 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
-
- #
-+# Boot options
-+#
-+
-+#
-+# Power management
-+#
-+
-+#
- # Atmel AT91 System-on-Chip
- #
- # CONFIG_ARCH_AT91RM9200 is not set
-@@ -144,6 +157,8 @@
- # CONFIG_ARCH_AT91SAM9261 is not set
- # CONFIG_ARCH_AT91SAM9263 is not set
- CONFIG_ARCH_AT91SAM9RL=y
-+# CONFIG_ARCH_AT91X40 is not set
-+CONFIG_AT91_PMC_UNIT=y
-
- #
- # AT91SAM9RL Board Type
-@@ -157,7 +172,9 @@
- #
- # AT91 Feature Selections
- #
--# CONFIG_AT91_PROGRAMMABLE_CLOCKS is not set
-+CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
-+# CONFIG_ATMEL_TCLIB is not set
-+CONFIG_AT91_TIMER_HZ=100
-
- #
- # Processor Type
-@@ -185,15 +202,14 @@
- #
- # Bus support
- #
--
--#
--# PCCARD (PCMCIA/CardBus) support
--#
-+# CONFIG_PCI_SYSCALL is not set
-+# CONFIG_ARCH_SUPPORTS_MSI is not set
- # CONFIG_PCCARD is not set
-
- #
- # Kernel Features
- #
-+# CONFIG_TICK_ONESHOT is not set
- # CONFIG_PREEMPT is not set
- # CONFIG_NO_IDLE_HZ is not set
- CONFIG_HZ=100
-@@ -206,9 +222,12 @@
- CONFIG_FLATMEM=y
- CONFIG_FLAT_NODE_MEM_MAP=y
- # CONFIG_SPARSEMEM_STATIC is not set
-+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
- CONFIG_SPLIT_PTLOCK_CPUS=4096
- # CONFIG_RESOURCES_64BIT is not set
- CONFIG_ZONE_DMA_FLAG=1
-+CONFIG_BOUNCE=y
-+CONFIG_VIRT_TO_BUS=y
- # CONFIG_LEDS is not set
- CONFIG_ALIGNMENT_TRAP=y
-
-@@ -245,6 +264,7 @@
- # Power management options
- #
- # CONFIG_PM is not set
-+CONFIG_SUSPEND_UP_POSSIBLE=y
-
- #
- # Networking
-@@ -254,7 +274,6 @@
- #
- # Networking options
- #
--# CONFIG_NETDEBUG is not set
- # CONFIG_PACKET is not set
- CONFIG_UNIX=y
- # CONFIG_NET_KEY is not set
-@@ -271,10 +290,6 @@
- # CONFIG_X25 is not set
- # CONFIG_LAPB is not set
- # CONFIG_WAN_ROUTER is not set
--
--#
--# QoS and/or fair queueing
--#
- # CONFIG_NET_SCHED is not set
-
- #
-@@ -284,7 +299,16 @@
- # CONFIG_HAMRADIO is not set
- # CONFIG_IRDA is not set
- # CONFIG_BT is not set
-+
-+#
-+# Wireless
-+#
-+# CONFIG_CFG80211 is not set
-+# CONFIG_WIRELESS_EXT is not set
-+# CONFIG_MAC80211 is not set
- # CONFIG_IEEE80211 is not set
-+# CONFIG_RFKILL is not set
-+# CONFIG_NET_9P is not set
-
- #
- # Device Drivers
-@@ -293,21 +317,14 @@
- #
- # Generic Driver Options
- #
-+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
- CONFIG_STANDALONE=y
- CONFIG_PREVENT_FIRMWARE_BUILD=y
- # CONFIG_FW_LOADER is not set
- # CONFIG_DEBUG_DRIVER is not set
- # CONFIG_DEBUG_DEVRES is not set
- # CONFIG_SYS_HYPERVISOR is not set
--
--#
--# Connector - unified userspace <-> kernelspace linker
--#
- # CONFIG_CONNECTOR is not set
--
--#
--# Memory Technology Devices (MTD)
--#
- CONFIG_MTD=y
- # CONFIG_MTD_DEBUG is not set
- CONFIG_MTD_CONCAT=y
-@@ -327,6 +344,7 @@
- # 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
-@@ -346,7 +364,6 @@
- # CONFIG_MTD_RAM is not set
- # CONFIG_MTD_ROM is not set
- # CONFIG_MTD_ABSENT is not set
--# CONFIG_MTD_OBSOLETE_CHIPS is not set
-
- #
- # Mapping drivers for chip access
-@@ -370,36 +387,23 @@
- # CONFIG_MTD_DOC2000 is not set
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOC2001PLUS is not set
--
--#
--# NAND Flash Device Drivers
--#
- CONFIG_MTD_NAND=y
- # CONFIG_MTD_NAND_VERIFY_WRITE is not set
- # CONFIG_MTD_NAND_ECC_SMC is not set
-+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
- CONFIG_MTD_NAND_IDS=y
- # CONFIG_MTD_NAND_DISKONCHIP is not set
- CONFIG_MTD_NAND_AT91=y
- # CONFIG_MTD_NAND_NANDSIM is not set
--
--#
--# OneNAND Flash Device Drivers
--#
-+# CONFIG_MTD_NAND_PLATFORM is not set
- # CONFIG_MTD_ONENAND is not set
-
- #
--# Parallel port support
-+# UBI - Unsorted block images
- #
-+# CONFIG_MTD_UBI is not set
- # CONFIG_PARPORT is not set
--
--#
--# Plug and Play support
--#
--# CONFIG_PNPACPI is not set
--
--#
--# Block devices
--#
-+CONFIG_BLK_DEV=y
- # CONFIG_BLK_DEV_COW_COMMON is not set
- CONFIG_BLK_DEV_LOOP=y
- # CONFIG_BLK_DEV_CRYPTOLOOP is not set
-@@ -410,12 +414,16 @@
- CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
- # CONFIG_CDROM_PKTCDVD is not set
- # CONFIG_ATA_OVER_ETH is not set
-+CONFIG_MISC_DEVICES=y
-+# CONFIG_EEPROM_93CX6 is not set
-+CONFIG_ATMEL_SSC=y
-
- #
- # SCSI device support
- #
- # CONFIG_RAID_ATTRS is not set
- CONFIG_SCSI=y
-+CONFIG_SCSI_DMA=y
- # CONFIG_SCSI_TGT is not set
- # CONFIG_SCSI_NETLINK is not set
- CONFIG_SCSI_PROC_FS=y
-@@ -437,6 +445,7 @@
- # CONFIG_SCSI_CONSTANTS is not set
- # CONFIG_SCSI_LOGGING is not set
- # CONFIG_SCSI_SCAN_ASYNC is not set
-+CONFIG_SCSI_WAIT_SCAN=m
-
- #
- # SCSI Transports
-@@ -444,47 +453,13 @@
- # CONFIG_SCSI_SPI_ATTRS is not set
- # CONFIG_SCSI_FC_ATTRS is not set
- # CONFIG_SCSI_ISCSI_ATTRS is not set
--# CONFIG_SCSI_SAS_ATTRS is not set
- # CONFIG_SCSI_SAS_LIBSAS is not set
--
--#
--# SCSI low-level drivers
--#
-+# CONFIG_SCSI_SRP_ATTRS is not set
-+CONFIG_SCSI_LOWLEVEL=y
- # CONFIG_SCSI_DEBUG is not set
--
--#
--# Serial ATA (prod) and Parallel ATA (experimental) drivers
--#
- # CONFIG_ATA is not set
--
--#
--# Multi-device support (RAID and LVM)
--#
- # CONFIG_MD is not set
--
--#
--# Fusion MPT device support
--#
--# CONFIG_FUSION is not set
--
--#
--# IEEE 1394 (FireWire) support
--#
--
--#
--# I2O device support
--#
--
--#
--# Network device support
--#
- # CONFIG_NETDEVICES is not set
--# CONFIG_NETPOLL is not set
--# CONFIG_NET_POLL_CONTROLLER is not set
--
--#
--# ISDN subsystem
--#
- # CONFIG_ISDN is not set
-
- #
-@@ -492,6 +467,7 @@
- #
- CONFIG_INPUT=y
- # CONFIG_INPUT_FF_MEMLESS is not set
-+# CONFIG_INPUT_POLLDEV is not set
-
- #
- # Userland interfaces
-@@ -501,7 +477,6 @@
- CONFIG_INPUT_MOUSEDEV_SCREEN_X=320
- CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240
- # CONFIG_INPUT_JOYDEV is not set
--# CONFIG_INPUT_TSDEV is not set
- CONFIG_INPUT_EVDEV=y
- # CONFIG_INPUT_EVBUG is not set
-
-@@ -511,8 +486,10 @@
- # CONFIG_INPUT_KEYBOARD is not set
- # CONFIG_INPUT_MOUSE is not set
- # CONFIG_INPUT_JOYSTICK is not set
-+# CONFIG_INPUT_TABLET is not set
- CONFIG_INPUT_TOUCHSCREEN=y
- # CONFIG_TOUCHSCREEN_ADS7846 is not set
-+# CONFIG_TOUCHSCREEN_FUJITSU is not set
- # CONFIG_TOUCHSCREEN_GUNZE is not set
- # CONFIG_TOUCHSCREEN_ELO is not set
- # CONFIG_TOUCHSCREEN_MTOUCH is not set
-@@ -521,6 +498,7 @@
- # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
- # CONFIG_TOUCHSCREEN_TOUCHWIN is not set
- # CONFIG_TOUCHSCREEN_UCB1400 is not set
-+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
- # CONFIG_INPUT_MISC is not set
-
- #
-@@ -554,37 +532,50 @@
- CONFIG_UNIX98_PTYS=y
- CONFIG_LEGACY_PTYS=y
- CONFIG_LEGACY_PTY_COUNT=256
--
--#
--# IPMI
--#
- # CONFIG_IPMI_HANDLER is not set
--
--#
--# Watchdog Cards
--#
--CONFIG_WATCHDOG=y
--CONFIG_WATCHDOG_NOWAYOUT=y
--
--#
--# Watchdog Device Drivers
--#
--# CONFIG_SOFT_WATCHDOG is not set
--CONFIG_HW_RANDOM=y
-+# CONFIG_HW_RANDOM is not set
- # CONFIG_NVRAM is not set
--# CONFIG_DTLK is not set
- # CONFIG_R3964 is not set
- # CONFIG_RAW_DRIVER is not set
--
--#
--# TPM devices
--#
- # CONFIG_TCG_TPM is not set
--
--#
--# I2C support
--#
--# CONFIG_I2C is not set
-+CONFIG_I2C=y
-+CONFIG_I2C_BOARDINFO=y
-+CONFIG_I2C_CHARDEV=y
-+
-+#
-+# I2C Algorithms
-+#
-+CONFIG_I2C_ALGOBIT=y
-+# CONFIG_I2C_ALGOPCF is not set
-+# CONFIG_I2C_ALGOPCA is not set
-+
-+#
-+# I2C Hardware Bus support
-+#
-+CONFIG_I2C_GPIO=y
-+# CONFIG_I2C_OCORES is not set
-+# CONFIG_I2C_PARPORT_LIGHT is not set
-+# CONFIG_I2C_SIMTEC is not set
-+# CONFIG_I2C_TAOS_EVM is not set
-+# CONFIG_I2C_STUB is not set
-+# CONFIG_I2C_PCA is not set
-+
-+#
-+# Miscellaneous I2C Chip support
-+#
-+# CONFIG_SENSORS_DS1337 is not set
-+# CONFIG_SENSORS_DS1374 is not set
-+# CONFIG_DS1682 is not set
-+# CONFIG_SENSORS_EEPROM is not set
-+# CONFIG_SENSORS_PCF8574 is not set
-+# CONFIG_SENSORS_PCA9539 is not set
-+# CONFIG_SENSORS_PCF8591 is not set
-+# CONFIG_SENSORS_MAX6875 is not set
-+# CONFIG_SENSORS_TSL2550 is not set
-+# CONFIG_I2C_DEBUG_CORE is not set
-+# CONFIG_I2C_DEBUG_ALGO is not set
-+# CONFIG_I2C_DEBUG_BUS is not set
-+# CONFIG_I2C_DEBUG_CHIP is not set
-
- #
- # SPI support
-@@ -603,21 +594,25 @@
- # SPI Protocol Masters
- #
- # CONFIG_SPI_AT25 is not set
--
--#
--# Dallas's 1-wire bus
--#
-+# CONFIG_SPI_SPIDEV is not set
-+# CONFIG_SPI_TLE62X0 is not set
- # CONFIG_W1 is not set
-+# CONFIG_POWER_SUPPLY is not set
-+# CONFIG_HWMON is not set
-+CONFIG_WATCHDOG=y
-+CONFIG_WATCHDOG_NOWAYOUT=y
-
- #
--# Hardware Monitoring support
-+# Watchdog Device Drivers
- #
--# CONFIG_HWMON is not set
--# CONFIG_HWMON_VID is not set
-+# CONFIG_SOFT_WATCHDOG is not set
-+CONFIG_AT91SAM9_WATCHDOG=y
-
- #
--# Misc devices
-+# Sonics Silicon Backplane
- #
-+CONFIG_SSB_POSSIBLE=y
-+# CONFIG_SSB is not set
-
- #
- # Multifunction device drivers
-@@ -625,37 +620,28 @@
- # CONFIG_MFD_SM501 is not set
-
- #
--# LED devices
--#
--# CONFIG_NEW_LEDS is not set
--
--#
--# LED drivers
--#
--
--#
--# LED Triggers
--#
--
--#
- # Multimedia devices
- #
- # CONFIG_VIDEO_DEV is not set
--
--#
--# Digital Video Broadcasting Devices
--#
-+# CONFIG_DAB is not set
-
- #
- # Graphics support
- #
--# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-+# CONFIG_VGASTATE is not set
-+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
- CONFIG_FB=y
- # CONFIG_FIRMWARE_EDID is not set
- # CONFIG_FB_DDC is not set
- CONFIG_FB_CFB_FILLRECT=y
- CONFIG_FB_CFB_COPYAREA=y
- CONFIG_FB_CFB_IMAGEBLIT=y
-+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-+# CONFIG_FB_SYS_FILLRECT is not set
-+# CONFIG_FB_SYS_COPYAREA is not set
-+# CONFIG_FB_SYS_IMAGEBLIT is not set
-+# CONFIG_FB_SYS_FOPS is not set
-+CONFIG_FB_DEFERRED_IO=y
- # CONFIG_FB_SVGALIB is not set
- # CONFIG_FB_MACMODES is not set
- # CONFIG_FB_BACKLIGHT is not set
-@@ -665,9 +651,16 @@
- #
- # Frame buffer hardware drivers
- #
-+# CONFIG_FB_S1D15605 is not set
- # CONFIG_FB_S1D13XXX is not set
- CONFIG_FB_ATMEL=y
- # CONFIG_FB_VIRTUAL is not set
-+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-+
-+#
-+# Display device support
-+#
-+# CONFIG_DISPLAY_SUPPORT is not set
-
- #
- # Console display driver support
-@@ -675,97 +668,97 @@
- # CONFIG_VGA_CONSOLE is not set
- CONFIG_DUMMY_CONSOLE=y
- # CONFIG_FRAMEBUFFER_CONSOLE is not set
--
--#
--# Logo configuration
--#
- # CONFIG_LOGO is not set
-
- #
- # Sound
- #
--CONFIG_SOUND=y
--
--#
--# Advanced Linux Sound Architecture
--#
--CONFIG_SND=y
--CONFIG_SND_TIMER=y
--CONFIG_SND_PCM=y
--CONFIG_SND_SEQUENCER=y
--CONFIG_SND_SEQ_DUMMY=y
--CONFIG_SND_OSSEMUL=y
--CONFIG_SND_MIXER_OSS=y
--CONFIG_SND_PCM_OSS=y
--CONFIG_SND_PCM_OSS_PLUGINS=y
--CONFIG_SND_SEQUENCER_OSS=y
--# CONFIG_SND_DYNAMIC_MINORS is not set
--CONFIG_SND_SUPPORT_OLD_API=y
--CONFIG_SND_VERBOSE_PROCFS=y
--CONFIG_SND_VERBOSE_PRINTK=y
--CONFIG_SND_DEBUG=y
--CONFIG_SND_DEBUG_DETECT=y
--# CONFIG_SND_PCM_XRUN_DEBUG is not set
--
--#
--# Generic devices
--#
--# CONFIG_SND_DUMMY is not set
--# CONFIG_SND_VIRMIDI is not set
--# CONFIG_SND_MTPAV is not set
--# CONFIG_SND_SERIAL_U16550 is not set
--# CONFIG_SND_MPU401 is not set
-+# CONFIG_SOUND is not set
-+CONFIG_HID_SUPPORT=y
-+CONFIG_HID=y
-+# CONFIG_HID_DEBUG is not set
-+# CONFIG_HIDRAW is not set
-+CONFIG_USB_SUPPORT=y
-+CONFIG_USB_ARCH_HAS_HCD=y
-+CONFIG_USB_ARCH_HAS_OHCI=y
-+# CONFIG_USB_ARCH_HAS_EHCI is not set
-+# CONFIG_USB is not set
-
- #
--# ALSA ARM devices
-+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
- #
-
- #
--# SoC audio support
-+# USB Gadget Support
- #
--# CONFIG_SND_SOC is not set
-+# CONFIG_USB_GADGET is not set
-+CONFIG_MMC=y
-+# CONFIG_MMC_DEBUG is not set
-+# CONFIG_MMC_UNSAFE_RESUME is not set
-
- #
--# Open Sound System
-+# MMC/SD Card Drivers
- #
--# CONFIG_SOUND_PRIME is not set
-+CONFIG_MMC_BLOCK=y
-+CONFIG_MMC_BLOCK_BOUNCE=y
-+# CONFIG_SDIO_UART is not set
-
- #
--# HID Devices
-+# MMC/SD Host Controller Drivers
- #
--CONFIG_HID=y
--# CONFIG_HID_DEBUG is not set
-+CONFIG_MMC_AT91=y
-+# CONFIG_MMC_SPI is not set
-+# CONFIG_NEW_LEDS is not set
-+CONFIG_RTC_LIB=y
-+CONFIG_RTC_CLASS=y
-+CONFIG_RTC_HCTOSYS=y
-+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-+# CONFIG_RTC_DEBUG is not set
-
- #
--# USB support
-+# RTC interfaces
- #
--CONFIG_USB_ARCH_HAS_HCD=y
--CONFIG_USB_ARCH_HAS_OHCI=y
--# CONFIG_USB_ARCH_HAS_EHCI is not set
--# CONFIG_USB is not set
-+CONFIG_RTC_INTF_SYSFS=y
-+CONFIG_RTC_INTF_PROC=y
-+CONFIG_RTC_INTF_DEV=y
-+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-+# CONFIG_RTC_DRV_TEST is not set
-
- #
--# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-+# I2C RTC drivers
- #
-+# CONFIG_RTC_DRV_DS1307 is not set
-+# CONFIG_RTC_DRV_DS1374 is not set
-+# CONFIG_RTC_DRV_DS1672 is not set
-+# CONFIG_RTC_DRV_MAX6900 is not set
-+# CONFIG_RTC_DRV_RS5C372 is not set
-+# CONFIG_RTC_DRV_ISL1208 is not set
-+# CONFIG_RTC_DRV_X1205 is not set
-+# CONFIG_RTC_DRV_PCF8563 is not set
-+# CONFIG_RTC_DRV_PCF8583 is not set
-+# CONFIG_RTC_DRV_M41T80 is not set
-
- #
--# USB Gadget Support
-+# SPI RTC drivers
- #
--# CONFIG_USB_GADGET is not set
-+# CONFIG_RTC_DRV_RS5C348 is not set
-+# CONFIG_RTC_DRV_MAX6902 is not set
-
- #
--# MMC/SD Card support
-+# Platform RTC drivers
- #
--CONFIG_MMC=y
--# CONFIG_MMC_DEBUG is not set
--CONFIG_MMC_BLOCK=y
--CONFIG_MMC_AT91=y
-+# CONFIG_RTC_DRV_CMOS is not set
-+# CONFIG_RTC_DRV_DS1553 is not set
-+# CONFIG_RTC_DRV_STK17TA8 is not set
-+# CONFIG_RTC_DRV_DS1742 is not set
-+# CONFIG_RTC_DRV_M48T86 is not set
-+# CONFIG_RTC_DRV_M48T59 is not set
-+# CONFIG_RTC_DRV_V3020 is not set
-
- #
--# Real Time Clock
-+# on-CPU RTC drivers
- #
--CONFIG_RTC_LIB=y
--# CONFIG_RTC_CLASS is not set
-+CONFIG_RTC_DRV_AT91SAM9=y
-
- #
- # File systems
-@@ -816,7 +809,6 @@
- CONFIG_TMPFS=y
- # CONFIG_TMPFS_POSIX_ACL is not set
- # CONFIG_HUGETLB_PAGE is not set
--CONFIG_RAMFS=y
- # CONFIG_CONFIGFS_FS is not set
-
- #
-@@ -836,20 +828,13 @@
- # CONFIG_QNX4FS_FS is not set
- # CONFIG_SYSV_FS is not set
- # CONFIG_UFS_FS is not set
--
--#
--# Network File Systems
--#
-+CONFIG_NETWORK_FILESYSTEMS=y
-
- #
- # Partition Types
- #
- # CONFIG_PARTITION_ADVANCED is not set
- CONFIG_MSDOS_PARTITION=y
--
--#
--# Native Language Support
--#
- CONFIG_NLS=y
- CONFIG_NLS_DEFAULT="iso8859-1"
- CONFIG_NLS_CODEPAGE_437=y
-@@ -890,16 +875,15 @@
- # CONFIG_NLS_KOI8_R is not set
- # CONFIG_NLS_KOI8_U is not set
- CONFIG_NLS_UTF8=y
--
--#
--# Profiling support
--#
-+CONFIG_INSTRUMENTATION=y
- # CONFIG_PROFILING is not set
-+# CONFIG_MARKERS is not set
-
- #
- # Kernel hacking
- #
- # CONFIG_PRINTK_TIME is not set
-+CONFIG_ENABLE_WARN_DEPRECATED=y
- CONFIG_ENABLE_MUST_CHECK=y
- # CONFIG_MAGIC_SYSRQ is not set
- # CONFIG_UNUSED_SYMBOLS is not set
-@@ -907,8 +891,8 @@
- # CONFIG_HEADERS_CHECK is not set
- CONFIG_DEBUG_KERNEL=y
- # CONFIG_DEBUG_SHIRQ is not set
--CONFIG_LOG_BUF_SHIFT=14
- CONFIG_DETECT_SOFTLOCKUP=y
-+CONFIG_SCHED_DEBUG=y
- # CONFIG_SCHEDSTATS is not set
- # CONFIG_TIMER_STATS is not set
- # CONFIG_DEBUG_SLAB is not set
-@@ -916,6 +900,9 @@
- # CONFIG_RT_MUTEX_TESTER is not set
- # CONFIG_DEBUG_SPINLOCK is not set
- # CONFIG_DEBUG_MUTEXES is not set
-+# CONFIG_DEBUG_LOCK_ALLOC is not set
-+# CONFIG_PROVE_LOCKING is not set
-+# CONFIG_LOCK_STAT is not set
- # CONFIG_DEBUG_SPINLOCK_SLEEP is not set
- # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
- # CONFIG_DEBUG_KOBJECT is not set
-@@ -923,10 +910,13 @@
- CONFIG_DEBUG_INFO=y
- # CONFIG_DEBUG_VM is not set
- # CONFIG_DEBUG_LIST is not set
-+# CONFIG_DEBUG_SG is not set
- CONFIG_FRAME_POINTER=y
- CONFIG_FORCED_INLINING=y
-+# CONFIG_BOOT_PRINTK_DELAY is not set
- # CONFIG_RCU_TORTURE_TEST is not set
- # CONFIG_FAULT_INJECTION is not set
-+# CONFIG_SAMPLES is not set
- CONFIG_DEBUG_USER=y
- # CONFIG_DEBUG_ERRORS is not set
- CONFIG_DEBUG_LL=y
-@@ -937,10 +927,7 @@
- #
- # CONFIG_KEYS is not set
- # CONFIG_SECURITY is not set
--
--#
--# Cryptographic options
--#
-+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
- # CONFIG_CRYPTO is not set
-
- #
-@@ -949,9 +936,12 @@
- CONFIG_BITREVERSE=y
- # CONFIG_CRC_CCITT is not set
- # CONFIG_CRC16 is not set
-+# CONFIG_CRC_ITU_T is not set
- CONFIG_CRC32=y
-+# CONFIG_CRC7 is not set
- # CONFIG_LIBCRC32C is not set
- CONFIG_ZLIB_INFLATE=y
- CONFIG_PLIST=y
- CONFIG_HAS_IOMEM=y
- CONFIG_HAS_IOPORT=y
-+CONFIG_HAS_DMA=y
-diff -urN -x CVS linux-2.6.24/arch/arm/configs/ateb9200_defconfig linux-2.6/arch/arm/configs/ateb9200_defconfig
---- linux-2.6.24/arch/arm/configs/ateb9200_defconfig 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/configs/ateb9200_defconfig 2007-12-31 10:43:35.000000000 +0200
-@@ -714,7 +714,7 @@
- #
- # I2C Hardware Bus support
- #
--CONFIG_I2C_AT91=m
-+CONFIG_I2C_GPIO=m
- # CONFIG_I2C_PARPORT_LIGHT is not set
- # CONFIG_I2C_STUB is not set
- # CONFIG_I2C_PCA_ISA is not set
-diff -urN -x CVS linux-2.6.24/arch/arm/configs/cam60_defconfig linux-2.6/arch/arm/configs/cam60_defconfig
---- linux-2.6.24/arch/arm/configs/cam60_defconfig 1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/configs/cam60_defconfig 2008-01-11 09:36:44.000000000 +0200
-@@ -0,0 +1,1217 @@
-+#
-+# Automatically generated make config: don't edit
-+# Linux kernel version: 2.6.23
-+# Wed Jan 9 22:44:49 2008
-+#
-+CONFIG_ARM=y
-+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-+CONFIG_GENERIC_GPIO=y
-+# CONFIG_GENERIC_TIME is not set
-+# CONFIG_GENERIC_CLOCKEVENTS is not set
-+CONFIG_MMU=y
-+# CONFIG_NO_IOPORT is not set
-+CONFIG_GENERIC_HARDIRQS=y
-+CONFIG_STACKTRACE_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_ZONE_DMA=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=y
-+CONFIG_SYSVIPC=y
-+CONFIG_SYSVIPC_SYSCTL=y
-+CONFIG_POSIX_MQUEUE=y
-+CONFIG_BSD_PROCESS_ACCT=y
-+CONFIG_BSD_PROCESS_ACCT_V3=y
-+# CONFIG_TASKSTATS is not set
-+# CONFIG_USER_NS is not set
-+CONFIG_AUDIT=y
-+CONFIG_IKCONFIG=y
-+CONFIG_IKCONFIG_PROC=y
-+CONFIG_LOG_BUF_SHIFT=17
-+CONFIG_SYSFS_DEPRECATED=y
-+CONFIG_RELAY=y
-+CONFIG_BLK_DEV_INITRD=y
-+CONFIG_INITRAMFS_SOURCE=""
-+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-+CONFIG_SYSCTL=y
-+CONFIG_EMBEDDED=y
-+CONFIG_UID16=y
-+CONFIG_SYSCTL_SYSCALL=y
-+CONFIG_KALLSYMS=y
-+CONFIG_KALLSYMS_ALL=y
-+# CONFIG_KALLSYMS_EXTRA_PASS is not set
-+CONFIG_HOTPLUG=y
-+CONFIG_PRINTK=y
-+CONFIG_BUG=y
-+CONFIG_ELF_CORE=y
-+CONFIG_BASE_FULL=y
-+CONFIG_FUTEX=y
-+CONFIG_ANON_INODES=y
-+CONFIG_EPOLL=y
-+CONFIG_SIGNALFD=y
-+CONFIG_EVENTFD=y
-+CONFIG_SHMEM=y
-+CONFIG_VM_EVENT_COUNTERS=y
-+CONFIG_SLUB_DEBUG=y
-+# CONFIG_SLAB is not set
-+CONFIG_SLUB=y
-+# CONFIG_SLOB is not set
-+CONFIG_RT_MUTEXES=y
-+# CONFIG_TINY_SHMEM is not set
-+CONFIG_BASE_SMALL=0
-+CONFIG_MODULES=y
-+CONFIG_MODULE_UNLOAD=y
-+# CONFIG_MODULE_FORCE_UNLOAD is not set
-+CONFIG_MODVERSIONS=y
-+CONFIG_MODULE_SRCVERSION_ALL=y
-+CONFIG_KMOD=y
-+CONFIG_BLOCK=y
-+CONFIG_LBD=y
-+CONFIG_BLK_DEV_IO_TRACE=y
-+# CONFIG_LSF is not set
-+# CONFIG_BLK_DEV_BSG is not set
-+
-+#
-+# IO Schedulers
-+#
-+CONFIG_IOSCHED_NOOP=y
-+CONFIG_IOSCHED_AS=y
-+CONFIG_IOSCHED_DEADLINE=y
-+CONFIG_IOSCHED_CFQ=y
-+# CONFIG_DEFAULT_AS is not set
-+# CONFIG_DEFAULT_DEADLINE is not set
-+CONFIG_DEFAULT_CFQ=y
-+# CONFIG_DEFAULT_NOOP is not set
-+CONFIG_DEFAULT_IOSCHED="cfq"
-+
-+#
-+# 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_CLPS7500 is not set
-+# CONFIG_ARCH_CLPS711X is not set
-+# CONFIG_ARCH_CO285 is not set
-+# CONFIG_ARCH_EBSA110 is not set
-+# CONFIG_ARCH_EP93XX 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_KS8695 is not set
-+# CONFIG_ARCH_NS9XXX is not set
-+# CONFIG_ARCH_MXC is not set
-+# CONFIG_ARCH_PNX4008 is not set
-+# CONFIG_ARCH_PXA is not set
-+# CONFIG_ARCH_RPC is not set
-+# CONFIG_ARCH_SA1100 is not set
-+# CONFIG_ARCH_S3C2410 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
-+
-+#
-+# Boot options
-+#
-+
-+#
-+# Power management
-+#
-+
-+#
-+# Atmel AT91 System-on-Chip
-+#
-+# CONFIG_ARCH_AT91RM9200 is not set
-+CONFIG_ARCH_AT91SAM9260=y
-+# CONFIG_ARCH_AT91SAM9261 is not set
-+# CONFIG_ARCH_AT91SAM9263 is not set
-+# CONFIG_ARCH_AT91SAM9RL is not set
-+
-+#
-+# AT91SAM9260 Variants
-+#
-+# CONFIG_ARCH_AT91SAM9260_SAM9XE is not set
-+
-+#
-+# AT91SAM9260 / AT91SAM9XE Board Type
-+#
-+# CONFIG_MACH_AT91SAM9260EK is not set
-+CONFIG_MACH_CAM60=y
-+# CONFIG_MACH_SAM9_L9260 is not set
-+
-+#
-+# AT91 Board Options
-+#
-+
-+#
-+# AT91 Feature Selections
-+#
-+# CONFIG_AT91_PROGRAMMABLE_CLOCKS is not set
-+# CONFIG_ATMEL_TCLIB is not set
-+CONFIG_AT91_TIMER_HZ=100
-+
-+#
-+# Processor Type
-+#
-+CONFIG_CPU_32=y
-+CONFIG_CPU_ARM926T=y
-+CONFIG_CPU_32v5=y
-+CONFIG_CPU_ABRT_EV5TJ=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=y
-+# 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
-+
-+#
-+# PCCARD (PCMCIA/CardBus) support
-+#
-+CONFIG_PCCARD=m
-+# CONFIG_PCMCIA_DEBUG is not set
-+CONFIG_PCMCIA=m
-+CONFIG_PCMCIA_LOAD_CIS=y
-+CONFIG_PCMCIA_IOCTL=y
-+
-+#
-+# PC-card bridges
-+#
-+
-+#
-+# Kernel Features
-+#
-+# CONFIG_TICK_ONESHOT is not set
-+# CONFIG_PREEMPT is not set
-+# CONFIG_NO_IDLE_HZ is not set
-+CONFIG_HZ=100
-+# CONFIG_AEABI is not set
-+# CONFIG_ARCH_DISCONTIGMEM_ENABLE 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_SPARSEMEM_STATIC is not set
-+CONFIG_SPLIT_PTLOCK_CPUS=4096
-+# CONFIG_RESOURCES_64BIT is not set
-+CONFIG_ZONE_DMA_FLAG=1
-+CONFIG_BOUNCE=y
-+CONFIG_VIRT_TO_BUS=y
-+# CONFIG_LEDS is not set
-+CONFIG_ALIGNMENT_TRAP=y
-+
-+#
-+# Boot options
-+#
-+CONFIG_ZBOOT_ROM_TEXT=0
-+CONFIG_ZBOOT_ROM_BSS=0x20004000
-+# CONFIG_ZBOOT_ROM is not set
-+CONFIG_CMDLINE="console=ttyS0,115200 noinitrd root=/dev/mtdblock0 rootfstype=jffs2 mem=64M"
-+# CONFIG_XIP_KERNEL is not set
-+CONFIG_KEXEC=y
-+
-+#
-+# 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_BINFMT_AOUT=y
-+CONFIG_BINFMT_MISC=y
-+# CONFIG_ARTHUR is not set
-+
-+#
-+# Power management options
-+#
-+# CONFIG_PM is not set
-+CONFIG_SUSPEND_UP_POSSIBLE=y
-+
-+#
-+# Networking
-+#
-+CONFIG_NET=y
-+
-+#
-+# Networking options
-+#
-+CONFIG_PACKET=y
-+# CONFIG_PACKET_MMAP is not set
-+CONFIG_UNIX=y
-+# CONFIG_NET_KEY is not set
-+CONFIG_INET=y
-+CONFIG_IP_MULTICAST=y
-+# CONFIG_IP_ADVANCED_ROUTER is not set
-+CONFIG_IP_FIB_HASH=y
-+CONFIG_IP_PNP=y
-+CONFIG_IP_PNP_DHCP=y
-+# CONFIG_IP_PNP_BOOTP is not set
-+# CONFIG_IP_PNP_RARP is not set
-+# CONFIG_NET_IPIP is not set
-+# CONFIG_NET_IPGRE is not set
-+# CONFIG_IP_MROUTE 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 is not set
-+# 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_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 is not set
-+# CONFIG_INET6_XFRM_TUNNEL is not set
-+# CONFIG_INET6_TUNNEL is not set
-+CONFIG_NETWORK_SECMARK=y
-+# 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_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
-+
-+#
-+# QoS and/or fair queueing
-+#
-+# CONFIG_NET_SCHED is not set
-+CONFIG_NET_SCH_FIFO=y
-+
-+#
-+# Network testing
-+#
-+# CONFIG_NET_PKTGEN is not set
-+# CONFIG_HAMRADIO is not set
-+# CONFIG_IRDA is not set
-+# CONFIG_BT is not set
-+# CONFIG_AF_RXRPC is not set
-+
-+#
-+# Wireless
-+#
-+CONFIG_CFG80211=m
-+CONFIG_WIRELESS_EXT=y
-+CONFIG_MAC80211=m
-+# CONFIG_MAC80211_DEBUGFS is not set
-+# CONFIG_MAC80211_DEBUG is not set
-+CONFIG_IEEE80211=m
-+# CONFIG_IEEE80211_DEBUG is not set
-+CONFIG_IEEE80211_CRYPT_WEP=m
-+CONFIG_IEEE80211_CRYPT_CCMP=m
-+CONFIG_IEEE80211_CRYPT_TKIP=m
-+CONFIG_IEEE80211_SOFTMAC=m
-+# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
-+# CONFIG_RFKILL is not set
-+# CONFIG_NET_9P is not set
-+
-+#
-+# Device Drivers
-+#
-+
-+#
-+# Generic Driver Options
-+#
-+CONFIG_STANDALONE=y
-+CONFIG_PREVENT_FIRMWARE_BUILD=y
-+CONFIG_FW_LOADER=m
-+# 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=y
-+CONFIG_MTD_PARTITIONS=y
-+# CONFIG_MTD_REDBOOT_PARTS is not set
-+CONFIG_MTD_CMDLINE_PARTS=y
-+# CONFIG_MTD_AFS_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
-+
-+#
-+# 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=m
-+# CONFIG_MTD_ROM is not set
-+# CONFIG_MTD_ABSENT is not set
-+
-+#
-+# Mapping drivers for chip access
-+#
-+CONFIG_MTD_COMPLEX_MAPPINGS=y
-+CONFIG_MTD_PLATRAM=m
-+
-+#
-+# Self-contained MTD device drivers
-+#
-+CONFIG_MTD_DATAFLASH=y
-+# 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=y
-+
-+#
-+# Disk-On-Chip Device Drivers
-+#
-+# CONFIG_MTD_DOC2000 is not set
-+# CONFIG_MTD_DOC2001 is not set
-+# CONFIG_MTD_DOC2001PLUS is not set
-+CONFIG_MTD_NAND=y
-+CONFIG_MTD_NAND_VERIFY_WRITE=y
-+# CONFIG_MTD_NAND_ECC_SMC is not set
-+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-+CONFIG_MTD_NAND_IDS=y
-+# CONFIG_MTD_NAND_DISKONCHIP is not set
-+CONFIG_MTD_NAND_AT91=y
-+# CONFIG_MTD_NAND_NANDSIM is not set
-+# CONFIG_MTD_NAND_PLATFORM is not set
-+# CONFIG_MTD_ONENAND is not set
-+
-+#
-+# UBI - Unsorted block images
-+#
-+# CONFIG_MTD_UBI is not set
-+# CONFIG_PARPORT is not set
-+CONFIG_BLK_DEV=y
-+# CONFIG_BLK_DEV_COW_COMMON is not set
-+CONFIG_BLK_DEV_LOOP=y
-+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-+# CONFIG_BLK_DEV_NBD is not set
-+# CONFIG_BLK_DEV_UB is not set
-+CONFIG_BLK_DEV_RAM=y
-+CONFIG_BLK_DEV_RAM_COUNT=16
-+CONFIG_BLK_DEV_RAM_SIZE=4096
-+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
-+# CONFIG_CDROM_PKTCDVD is not set
-+# CONFIG_ATA_OVER_ETH is not set
-+# CONFIG_IDE is not set
-+
-+#
-+# SCSI device support
-+#
-+# CONFIG_RAID_ATTRS is not set
-+CONFIG_SCSI=y
-+CONFIG_SCSI_DMA=y
-+CONFIG_SCSI_TGT=y
-+CONFIG_SCSI_NETLINK=y
-+CONFIG_SCSI_PROC_FS=y
-+
-+#
-+# SCSI support type (disk, tape, CD-ROM)
-+#
-+CONFIG_BLK_DEV_SD=y
-+# CONFIG_CHR_DEV_ST is not set
-+# CONFIG_CHR_DEV_OSST is not set
-+# CONFIG_BLK_DEV_SR is not set
-+CONFIG_CHR_DEV_SG=y
-+CONFIG_CHR_DEV_SCH=y
-+
-+#
-+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-+#
-+CONFIG_SCSI_MULTI_LUN=y
-+# CONFIG_SCSI_CONSTANTS is not set
-+CONFIG_SCSI_LOGGING=y
-+CONFIG_SCSI_SCAN_ASYNC=y
-+CONFIG_SCSI_WAIT_SCAN=m
-+
-+#
-+# SCSI Transports
-+#
-+CONFIG_SCSI_SPI_ATTRS=m
-+CONFIG_SCSI_FC_ATTRS=m
-+CONFIG_SCSI_ISCSI_ATTRS=m
-+CONFIG_SCSI_SAS_ATTRS=m
-+CONFIG_SCSI_SAS_LIBSAS=m
-+# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
-+# CONFIG_SCSI_LOWLEVEL is not set
-+# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-+# CONFIG_ATA is not set
-+# CONFIG_MD is not set
-+CONFIG_NETDEVICES=y
-+# CONFIG_NETDEVICES_MULTIQUEUE is not set
-+# CONFIG_DUMMY is not set
-+# CONFIG_BONDING is not set
-+# CONFIG_MACVLAN is not set
-+# CONFIG_EQUALIZER is not set
-+# CONFIG_TUN is not set
-+CONFIG_PHYLIB=y
-+
-+#
-+# MII PHY device drivers
-+#
-+CONFIG_MARVELL_PHY=m
-+CONFIG_DAVICOM_PHY=m
-+CONFIG_QSEMI_PHY=m
-+CONFIG_LXT_PHY=m
-+CONFIG_CICADA_PHY=m
-+CONFIG_VITESSE_PHY=m
-+CONFIG_SMSC_PHY=m
-+CONFIG_BROADCOM_PHY=m
-+# CONFIG_ICPLUS_PHY is not set
-+CONFIG_FIXED_PHY=m
-+# CONFIG_FIXED_MII_10_FDX is not set
-+# CONFIG_FIXED_MII_100_FDX is not set
-+CONFIG_NET_ETHERNET=y
-+CONFIG_MII=m
-+CONFIG_MACB=y
-+# CONFIG_AX88796 is not set
-+# CONFIG_SMC91X is not set
-+# CONFIG_DM9000 is not set
-+# CONFIG_NETDEV_1000 is not set
-+# CONFIG_NETDEV_10000 is not set
-+
-+#
-+# Wireless LAN
-+#
-+# CONFIG_WLAN_PRE80211 is not set
-+# CONFIG_WLAN_80211 is not set
-+
-+#
-+# USB Network Adapters
-+#
-+# CONFIG_USB_CATC is not set
-+# CONFIG_USB_KAWETH is not set
-+# CONFIG_USB_PEGASUS is not set
-+# CONFIG_USB_RTL8150 is not set
-+# CONFIG_USB_USBNET_MII is not set
-+# CONFIG_USB_USBNET is not set
-+# CONFIG_NET_PCMCIA is not set
-+# CONFIG_WAN is not set
-+# CONFIG_PPP is not set
-+# CONFIG_SLIP is not set
-+# CONFIG_SHAPER is not set
-+# CONFIG_NETCONSOLE is not set
-+# CONFIG_NETPOLL is not set
-+# CONFIG_NET_POLL_CONTROLLER is not set
-+# CONFIG_ISDN is not set
-+
-+#
-+# Input device support
-+#
-+CONFIG_INPUT=y
-+# CONFIG_INPUT_FF_MEMLESS is not set
-+# CONFIG_INPUT_POLLDEV is not set
-+
-+#
-+# Userland interfaces
-+#
-+CONFIG_INPUT_MOUSEDEV=y
-+CONFIG_INPUT_MOUSEDEV_PSAUX=y
-+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-+# CONFIG_INPUT_JOYDEV is not set
-+# CONFIG_INPUT_TSDEV is not set
-+CONFIG_INPUT_EVDEV=y
-+# CONFIG_INPUT_EVBUG is not set
-+
-+#
-+# Input Device Drivers
-+#
-+CONFIG_INPUT_KEYBOARD=y
-+CONFIG_KEYBOARD_ATKBD=y
-+CONFIG_KEYBOARD_SUNKBD=m
-+CONFIG_KEYBOARD_LKKBD=m
-+CONFIG_KEYBOARD_XTKBD=m
-+CONFIG_KEYBOARD_NEWTON=m
-+CONFIG_KEYBOARD_STOWAWAY=m
-+# CONFIG_KEYBOARD_GPIO is not set
-+CONFIG_INPUT_MOUSE=y
-+CONFIG_MOUSE_PS2=y
-+CONFIG_MOUSE_PS2_ALPS=y
-+CONFIG_MOUSE_PS2_LOGIPS2PP=y
-+CONFIG_MOUSE_PS2_SYNAPTICS=y
-+CONFIG_MOUSE_PS2_LIFEBOOK=y
-+CONFIG_MOUSE_PS2_TRACKPOINT=y
-+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-+CONFIG_MOUSE_SERIAL=m
-+CONFIG_MOUSE_APPLETOUCH=m
-+CONFIG_MOUSE_VSXXXAA=m
-+# CONFIG_MOUSE_GPIO is not set
-+# CONFIG_INPUT_JOYSTICK is not set
-+# CONFIG_INPUT_TABLET is not set
-+# CONFIG_INPUT_TOUCHSCREEN is not set
-+# CONFIG_INPUT_MISC is not set
-+
-+#
-+# Hardware I/O ports
-+#
-+CONFIG_SERIO=y
-+# CONFIG_SERIO_SERPORT is not set
-+CONFIG_SERIO_LIBPS2=y
-+# CONFIG_SERIO_RAW is not set
-+# CONFIG_GAMEPORT is not set
-+
-+#
-+# Character devices
-+#
-+CONFIG_VT=y
-+CONFIG_VT_CONSOLE=y
-+CONFIG_HW_CONSOLE=y
-+CONFIG_VT_HW_CONSOLE_BINDING=y
-+CONFIG_SERIAL_NONSTANDARD=y
-+# CONFIG_MOXA_SMARTIO is not set
-+# CONFIG_N_HDLC is not set
-+# CONFIG_RISCOM8 is not set
-+# CONFIG_SPECIALIX is not set
-+# CONFIG_RIO is not set
-+# CONFIG_STALDRV is not set
-+
-+#
-+# Serial drivers
-+#
-+# CONFIG_SERIAL_8250 is not set
-+
-+#
-+# Non-8250 serial port support
-+#
-+CONFIG_SERIAL_ATMEL=y
-+CONFIG_SERIAL_ATMEL_CONSOLE=y
-+# CONFIG_SERIAL_ATMEL_TTYAT is not set
-+CONFIG_SERIAL_CORE=y
-+CONFIG_SERIAL_CORE_CONSOLE=y
-+CONFIG_UNIX98_PTYS=y
-+# CONFIG_LEGACY_PTYS is not set
-+# CONFIG_IPMI_HANDLER is not set
-+# CONFIG_WATCHDOG is not set
-+CONFIG_HW_RANDOM=y
-+# CONFIG_NVRAM is not set
-+# CONFIG_R3964 is not set
-+
-+#
-+# PCMCIA character devices
-+#
-+# CONFIG_SYNCLINK_CS is not set
-+# CONFIG_CARDMAN_4000 is not set
-+# CONFIG_CARDMAN_4040 is not set
-+# CONFIG_RAW_DRIVER is not set
-+# CONFIG_TCG_TPM is not set
-+CONFIG_I2C=y
-+CONFIG_I2C_BOARDINFO=y
-+CONFIG_I2C_CHARDEV=y
-+
-+#
-+# I2C Algorithms
-+#
-+CONFIG_I2C_ALGOBIT=y
-+# CONFIG_I2C_ALGOPCF is not set
-+# CONFIG_I2C_ALGOPCA is not set
-+
-+#
-+# I2C Hardware Bus support
-+#
-+# CONFIG_I2C_AT91 is not set
-+# CONFIG_I2C_GPIO is not set
-+# CONFIG_I2C_OCORES is not set
-+# CONFIG_I2C_PARPORT_LIGHT is not set
-+# CONFIG_I2C_SIMTEC is not set
-+# CONFIG_I2C_TAOS_EVM is not set
-+# CONFIG_I2C_STUB is not set
-+# CONFIG_I2C_TINY_USB is not set
-+# CONFIG_I2C_PCA is not set
-+
-+#
-+# Miscellaneous I2C Chip support
-+#
-+# CONFIG_SENSORS_DS1337 is not set
-+# CONFIG_SENSORS_DS1374 is not set
-+# CONFIG_DS1682 is not set
-+# CONFIG_SENSORS_EEPROM is not set
-+# CONFIG_SENSORS_PCF8574 is not set
-+# CONFIG_SENSORS_PCA9539 is not set
-+# CONFIG_SENSORS_PCF8591 is not set
-+# CONFIG_SENSORS_MAX6875 is not set
-+# CONFIG_SENSORS_TSL2550 is not set
-+# CONFIG_I2C_DEBUG_CORE is not set
-+# CONFIG_I2C_DEBUG_ALGO is not set
-+# CONFIG_I2C_DEBUG_BUS is not set
-+# CONFIG_I2C_DEBUG_CHIP is not set
-+
-+#
-+# SPI support
-+#
-+CONFIG_SPI=y
-+# CONFIG_SPI_DEBUG is not set
-+CONFIG_SPI_MASTER=y
-+
-+#
-+# SPI Master Controller Drivers
-+#
-+CONFIG_SPI_ATMEL=y
-+# CONFIG_SPI_BITBANG is not set
-+
-+#
-+# SPI Protocol Masters
-+#
-+# CONFIG_SPI_AT25 is not set
-+# CONFIG_SPI_SPIDEV is not set
-+# CONFIG_SPI_TLE62X0 is not set
-+# CONFIG_W1 is not set
-+# CONFIG_HWMON is not set
-+# CONFIG_MISC_DEVICES is not set
-+
-+#
-+# Multifunction device drivers
-+#
-+# CONFIG_MFD_SM501 is not set
-+# CONFIG_NEW_LEDS is not set
-+
-+#
-+# Multimedia devices
-+#
-+# CONFIG_VIDEO_DEV is not set
-+# CONFIG_DVB_CORE is not set
-+# CONFIG_DAB is not set
-+
-+#
-+# Graphics support
-+#
-+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-+
-+#
-+# Display device support
-+#
-+# CONFIG_DISPLAY_SUPPORT is not set
-+# CONFIG_VGASTATE is not set
-+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-+# CONFIG_FB is not set
-+
-+#
-+# Console display driver support
-+#
-+# CONFIG_VGA_CONSOLE is not set
-+CONFIG_DUMMY_CONSOLE=y
-+
-+#
-+# Sound
-+#
-+# CONFIG_SOUND is not set
-+# CONFIG_HID_SUPPORT is not set
-+CONFIG_USB_SUPPORT=y
-+CONFIG_USB_ARCH_HAS_HCD=y
-+CONFIG_USB_ARCH_HAS_OHCI=y
-+# CONFIG_USB_ARCH_HAS_EHCI is not set
-+CONFIG_USB=y
-+# CONFIG_USB_DEBUG is not set
-+
-+#
-+# Miscellaneous USB options
-+#
-+CONFIG_USB_DEVICEFS=y
-+CONFIG_USB_DEVICE_CLASS=y
-+# CONFIG_USB_DYNAMIC_MINORS is not set
-+# CONFIG_USB_OTG is not set
-+
-+#
-+# USB Host Controller Drivers
-+#
-+# CONFIG_USB_ISP116X_HCD is not set
-+CONFIG_USB_OHCI_HCD=y
-+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
-+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-+# CONFIG_USB_SL811_HCD is not set
-+# CONFIG_USB_R8A66597_HCD is not set
-+
-+#
-+# USB Device Class drivers
-+#
-+# CONFIG_USB_ACM is not set
-+# CONFIG_USB_PRINTER is not set
-+
-+#
-+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-+#
-+
-+#
-+# may also be needed; see USB_STORAGE Help for more information
-+#
-+CONFIG_USB_STORAGE=y
-+# CONFIG_USB_STORAGE_DEBUG is not set
-+# CONFIG_USB_STORAGE_DATAFAB is not set
-+# CONFIG_USB_STORAGE_FREECOM is not set
-+# CONFIG_USB_STORAGE_DPCM is not set
-+# CONFIG_USB_STORAGE_USBAT is not set
-+# CONFIG_USB_STORAGE_SDDR09 is not set
-+# CONFIG_USB_STORAGE_SDDR55 is not set
-+# CONFIG_USB_STORAGE_JUMPSHOT is not set
-+# CONFIG_USB_STORAGE_ALAUDA is not set
-+# CONFIG_USB_STORAGE_ONETOUCH is not set
-+# CONFIG_USB_STORAGE_KARMA is not set
-+CONFIG_USB_LIBUSUAL=y
-+
-+#
-+# USB Imaging devices
-+#
-+# CONFIG_USB_MDC800 is not set
-+# CONFIG_USB_MICROTEK is not set
-+# CONFIG_USB_MON is not set
-+
-+#
-+# USB port drivers
-+#
-+
-+#
-+# USB Serial Converter support
-+#
-+# CONFIG_USB_SERIAL is not set
-+
-+#
-+# USB Miscellaneous drivers
-+#
-+# CONFIG_USB_EMI62 is not set
-+# CONFIG_USB_EMI26 is not set
-+# CONFIG_USB_ADUTUX is not set
-+# CONFIG_USB_AUERSWALD is not set
-+# CONFIG_USB_RIO500 is not set
-+# CONFIG_USB_LEGOTOWER is not set
-+# CONFIG_USB_LCD is not set
-+# CONFIG_USB_BERRY_CHARGE is not set
-+# CONFIG_USB_LED is not set
-+# CONFIG_USB_CYPRESS_CY7C63 is not set
-+# CONFIG_USB_CYTHERM is not set
-+# CONFIG_USB_PHIDGET is not set
-+# CONFIG_USB_IDMOUSE is not set
-+# CONFIG_USB_FTDI_ELAN is not set
-+# CONFIG_USB_APPLEDISPLAY is not set
-+# CONFIG_USB_LD is not set
-+# CONFIG_USB_TRANCEVIBRATOR is not set
-+# CONFIG_USB_IOWARRIOR is not set
-+# CONFIG_USB_TEST is not set
-+
-+#
-+# USB DSL modem support
-+#
-+
-+#
-+# USB Gadget Support
-+#
-+# CONFIG_USB_GADGET is not set
-+# CONFIG_MMC is not set
-+CONFIG_RTC_LIB=y
-+CONFIG_RTC_CLASS=y
-+CONFIG_RTC_HCTOSYS=y
-+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-+# CONFIG_RTC_DEBUG is not set
-+
-+#
-+# RTC interfaces
-+#
-+CONFIG_RTC_INTF_SYSFS=y
-+CONFIG_RTC_INTF_PROC=y
-+CONFIG_RTC_INTF_DEV=y
-+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
-+CONFIG_RTC_DRV_TEST=m
-+
-+#
-+# I2C RTC drivers
-+#
-+# CONFIG_RTC_DRV_DS1307 is not set
-+# CONFIG_RTC_DRV_DS1672 is not set
-+# CONFIG_RTC_DRV_MAX6900 is not set
-+# CONFIG_RTC_DRV_RS5C372 is not set
-+# CONFIG_RTC_DRV_ISL1208 is not set
-+# CONFIG_RTC_DRV_X1205 is not set
-+# CONFIG_RTC_DRV_PCF8563 is not set
-+# CONFIG_RTC_DRV_PCF8583 is not set
-+# CONFIG_RTC_DRV_M41T80 is not set
-+
-+#
-+# SPI RTC drivers
-+#
-+# CONFIG_RTC_DRV_RS5C348 is not set
-+# CONFIG_RTC_DRV_MAX6902 is not set
-+
-+#
-+# Platform RTC drivers
-+#
-+# CONFIG_RTC_DRV_CMOS is not set
-+# CONFIG_RTC_DRV_DS1553 is not set
-+# CONFIG_RTC_DRV_STK17TA8 is not set
-+# CONFIG_RTC_DRV_DS1742 is not set
-+# CONFIG_RTC_DRV_M48T86 is not set
-+# CONFIG_RTC_DRV_M48T59 is not set
-+# CONFIG_RTC_DRV_V3020 is not set
-+
-+#
-+# on-CPU RTC drivers
-+#
-+CONFIG_RTC_DRV_AT91SAM9=y
-+
-+#
-+# DMA Engine support
-+#
-+# CONFIG_DMA_ENGINE is not set
-+
-+#
-+# DMA Clients
-+#
-+
-+#
-+# DMA Devices
-+#
-+
-+#
-+# File systems
-+#
-+CONFIG_EXT2_FS=y
-+CONFIG_EXT2_FS_XATTR=y
-+CONFIG_EXT2_FS_POSIX_ACL=y
-+# CONFIG_EXT2_FS_SECURITY is not set
-+# CONFIG_EXT2_FS_XIP is not set
-+CONFIG_EXT3_FS=y
-+CONFIG_EXT3_FS_XATTR=y
-+# CONFIG_EXT3_FS_POSIX_ACL is not set
-+# CONFIG_EXT3_FS_SECURITY is not set
-+# CONFIG_EXT4DEV_FS is not set
-+CONFIG_JBD=y
-+# CONFIG_JBD_DEBUG is not set
-+CONFIG_FS_MBCACHE=y
-+# CONFIG_REISERFS_FS is not set
-+# CONFIG_JFS_FS is not set
-+CONFIG_FS_POSIX_ACL=y
-+# CONFIG_XFS_FS is not set
-+# CONFIG_GFS2_FS is not set
-+# CONFIG_OCFS2_FS is not set
-+# CONFIG_MINIX_FS is not set
-+# CONFIG_ROMFS_FS is not set
-+CONFIG_INOTIFY=y
-+CONFIG_INOTIFY_USER=y
-+CONFIG_QUOTA=y
-+# CONFIG_QFMT_V1 is not set
-+# CONFIG_QFMT_V2 is not set
-+CONFIG_QUOTACTL=y
-+CONFIG_DNOTIFY=y
-+CONFIG_AUTOFS_FS=y
-+CONFIG_AUTOFS4_FS=y
-+# CONFIG_FUSE_FS is not set
-+
-+#
-+# CD-ROM/DVD Filesystems
-+#
-+# CONFIG_ISO9660_FS is not set
-+# CONFIG_UDF_FS is not set
-+
-+#
-+# DOS/FAT/NT Filesystems
-+#
-+CONFIG_FAT_FS=y
-+CONFIG_MSDOS_FS=y
-+CONFIG_VFAT_FS=y
-+CONFIG_FAT_DEFAULT_CODEPAGE=437
-+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-+# CONFIG_NTFS_FS is not set
-+
-+#
-+# Pseudo filesystems
-+#
-+CONFIG_PROC_FS=y
-+CONFIG_PROC_SYSCTL=y
-+CONFIG_SYSFS=y
-+CONFIG_TMPFS=y
-+# CONFIG_TMPFS_POSIX_ACL is not set
-+# CONFIG_HUGETLB_PAGE is not set
-+CONFIG_RAMFS=y
-+CONFIG_CONFIGFS_FS=y
-+
-+#
-+# Miscellaneous filesystems
-+#
-+# CONFIG_ADFS_FS is not set
-+# CONFIG_AFFS_FS is not set
-+# CONFIG_HFS_FS is not set
-+# CONFIG_HFSPLUS_FS is not set
-+# CONFIG_BEFS_FS is not set
-+# CONFIG_BFS_FS is not set
-+# CONFIG_EFS_FS is not set
-+CONFIG_JFFS2_FS=y
-+CONFIG_JFFS2_FS_DEBUG=0
-+CONFIG_JFFS2_FS_WRITEBUFFER=y
-+# CONFIG_JFFS2_SUMMARY is not set
-+# CONFIG_JFFS2_FS_XATTR is not set
-+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-+CONFIG_JFFS2_ZLIB=y
-+CONFIG_JFFS2_RTIME=y
-+# CONFIG_JFFS2_RUBIN is not set
-+CONFIG_CRAMFS=y
-+# CONFIG_VXFS_FS is not set
-+# CONFIG_HPFS_FS is not set
-+# CONFIG_QNX4FS_FS is not set
-+# CONFIG_SYSV_FS is not set
-+# CONFIG_UFS_FS is not set
-+
-+#
-+# Network File Systems
-+#
-+CONFIG_NFS_FS=y
-+CONFIG_NFS_V3=y
-+# CONFIG_NFS_V3_ACL is not set
-+# CONFIG_NFS_V4 is not set
-+# CONFIG_NFS_DIRECTIO is not set
-+# CONFIG_NFSD is not set
-+CONFIG_ROOT_NFS=y
-+CONFIG_LOCKD=y
-+CONFIG_LOCKD_V4=y
-+CONFIG_NFS_COMMON=y
-+CONFIG_SUNRPC=y
-+# CONFIG_SUNRPC_BIND34 is not set
-+# CONFIG_RPCSEC_GSS_KRB5 is not set
-+# CONFIG_RPCSEC_GSS_SPKM3 is not set
-+# CONFIG_SMB_FS is not set
-+# CONFIG_CIFS is not set
-+# CONFIG_NCP_FS is not set
-+# CONFIG_CODA_FS is not set
-+# CONFIG_AFS_FS is not set
-+
-+#
-+# Partition Types
-+#
-+# CONFIG_PARTITION_ADVANCED is not set
-+CONFIG_MSDOS_PARTITION=y
-+
-+#
-+# Native Language Support
-+#
-+CONFIG_NLS=y
-+CONFIG_NLS_DEFAULT="cp437"
-+CONFIG_NLS_CODEPAGE_437=y
-+# CONFIG_NLS_CODEPAGE_737 is not set
-+# CONFIG_NLS_CODEPAGE_775 is not set
-+# CONFIG_NLS_CODEPAGE_850 is not set
-+# CONFIG_NLS_CODEPAGE_852 is not set
-+# CONFIG_NLS_CODEPAGE_855 is not set
-+# CONFIG_NLS_CODEPAGE_857 is not set
-+# CONFIG_NLS_CODEPAGE_860 is not set
-+# CONFIG_NLS_CODEPAGE_861 is not set
-+# CONFIG_NLS_CODEPAGE_862 is not set
-+# CONFIG_NLS_CODEPAGE_863 is not set
-+# CONFIG_NLS_CODEPAGE_864 is not set
-+# CONFIG_NLS_CODEPAGE_865 is not set
-+# CONFIG_NLS_CODEPAGE_866 is not set
-+# CONFIG_NLS_CODEPAGE_869 is not set
-+# CONFIG_NLS_CODEPAGE_936 is not set
-+# CONFIG_NLS_CODEPAGE_950 is not set
-+# CONFIG_NLS_CODEPAGE_932 is not set
-+# CONFIG_NLS_CODEPAGE_949 is not set
-+# CONFIG_NLS_CODEPAGE_874 is not set
-+# CONFIG_NLS_ISO8859_8 is not set
-+# CONFIG_NLS_CODEPAGE_1250 is not set
-+# CONFIG_NLS_CODEPAGE_1251 is not set
-+CONFIG_NLS_ASCII=y
-+CONFIG_NLS_ISO8859_1=y
-+# CONFIG_NLS_ISO8859_2 is not set
-+# CONFIG_NLS_ISO8859_3 is not set
-+# CONFIG_NLS_ISO8859_4 is not set
-+# CONFIG_NLS_ISO8859_5 is not set
-+# CONFIG_NLS_ISO8859_6 is not set
-+# CONFIG_NLS_ISO8859_7 is not set
-+# CONFIG_NLS_ISO8859_9 is not set
-+# CONFIG_NLS_ISO8859_13 is not set
-+# CONFIG_NLS_ISO8859_14 is not set
-+# CONFIG_NLS_ISO8859_15 is not set
-+# CONFIG_NLS_KOI8_R is not set
-+# CONFIG_NLS_KOI8_U is not set
-+CONFIG_NLS_UTF8=y
-+
-+#
-+# Distributed Lock Manager
-+#
-+# CONFIG_DLM is not set
-+
-+#
-+# Profiling support
-+#
-+# CONFIG_PROFILING is not set
-+
-+#
-+# Kernel hacking
-+#
-+CONFIG_PRINTK_TIME=y
-+# CONFIG_ENABLE_MUST_CHECK is not set
-+CONFIG_MAGIC_SYSRQ=y
-+CONFIG_UNUSED_SYMBOLS=y
-+CONFIG_DEBUG_FS=y
-+# CONFIG_HEADERS_CHECK is not set
-+CONFIG_DEBUG_KERNEL=y
-+# CONFIG_DEBUG_SHIRQ is not set
-+CONFIG_DETECT_SOFTLOCKUP=y
-+CONFIG_SCHED_DEBUG=y
-+# CONFIG_SCHEDSTATS is not set
-+# CONFIG_TIMER_STATS is not set
-+# CONFIG_SLUB_DEBUG_ON is not set
-+# CONFIG_DEBUG_RT_MUTEXES is not set
-+# CONFIG_RT_MUTEX_TESTER is not set
-+# CONFIG_DEBUG_SPINLOCK is not set
-+# CONFIG_DEBUG_MUTEXES is not set
-+# CONFIG_DEBUG_LOCK_ALLOC is not set
-+# CONFIG_PROVE_LOCKING is not set
-+# CONFIG_LOCK_STAT is not set
-+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
-+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-+# CONFIG_DEBUG_KOBJECT is not set
-+# CONFIG_DEBUG_BUGVERBOSE is not set
-+# CONFIG_DEBUG_INFO is not set
-+# CONFIG_DEBUG_VM is not set
-+# CONFIG_DEBUG_LIST is not set
-+CONFIG_FRAME_POINTER=y
-+# CONFIG_FORCED_INLINING is not set
-+# CONFIG_RCU_TORTURE_TEST is not set
-+# CONFIG_FAULT_INJECTION is not set
-+# CONFIG_DEBUG_USER is not set
-+# CONFIG_DEBUG_ERRORS is not set
-+# CONFIG_DEBUG_LL is not set
-+
-+#
-+# Security options
-+#
-+# CONFIG_KEYS is not set
-+# CONFIG_SECURITY is not set
-+CONFIG_CRYPTO=y
-+CONFIG_CRYPTO_ALGAPI=y
-+CONFIG_CRYPTO_ABLKCIPHER=m
-+CONFIG_CRYPTO_BLKCIPHER=m
-+CONFIG_CRYPTO_HASH=y
-+CONFIG_CRYPTO_MANAGER=y
-+CONFIG_CRYPTO_HMAC=y
-+CONFIG_CRYPTO_XCBC=m
-+CONFIG_CRYPTO_NULL=m
-+CONFIG_CRYPTO_MD4=m
-+CONFIG_CRYPTO_MD5=y
-+CONFIG_CRYPTO_SHA1=m
-+CONFIG_CRYPTO_SHA256=m
-+CONFIG_CRYPTO_SHA512=m
-+CONFIG_CRYPTO_WP512=m
-+CONFIG_CRYPTO_TGR192=m
-+CONFIG_CRYPTO_GF128MUL=m
-+CONFIG_CRYPTO_ECB=m
-+CONFIG_CRYPTO_CBC=m
-+CONFIG_CRYPTO_PCBC=m
-+CONFIG_CRYPTO_LRW=m
-+CONFIG_CRYPTO_CRYPTD=m
-+CONFIG_CRYPTO_DES=m
-+CONFIG_CRYPTO_FCRYPT=m
-+CONFIG_CRYPTO_BLOWFISH=m
-+CONFIG_CRYPTO_TWOFISH=m
-+CONFIG_CRYPTO_TWOFISH_COMMON=m
-+CONFIG_CRYPTO_SERPENT=m
-+CONFIG_CRYPTO_AES=m
-+CONFIG_CRYPTO_CAST5=m
-+CONFIG_CRYPTO_CAST6=m
-+CONFIG_CRYPTO_TEA=m
-+CONFIG_CRYPTO_ARC4=m
-+CONFIG_CRYPTO_KHAZAD=m
-+CONFIG_CRYPTO_ANUBIS=m
-+CONFIG_CRYPTO_DEFLATE=m
-+CONFIG_CRYPTO_MICHAEL_MIC=m
-+CONFIG_CRYPTO_CRC32C=m
-+CONFIG_CRYPTO_CAMELLIA=m
-+CONFIG_CRYPTO_TEST=m
-+CONFIG_CRYPTO_HW=y
-+
-+#
-+# Library routines
-+#
-+CONFIG_BITREVERSE=y
-+# CONFIG_CRC_CCITT is not set
-+# CONFIG_CRC16 is not set
-+# CONFIG_CRC_ITU_T is not set
-+CONFIG_CRC32=y
-+# CONFIG_CRC7 is not set
-+CONFIG_LIBCRC32C=m
-+CONFIG_AUDIT_GENERIC=y
-+CONFIG_ZLIB_INFLATE=y
-+CONFIG_ZLIB_DEFLATE=y
-+CONFIG_PLIST=y
-+CONFIG_HAS_IOMEM=y
-+CONFIG_HAS_IOPORT=y
-+CONFIG_HAS_DMA=y
-diff -urN -x CVS linux-2.6.24/arch/arm/configs/csb337_defconfig linux-2.6/arch/arm/configs/csb337_defconfig
---- linux-2.6.24/arch/arm/configs/csb337_defconfig 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/configs/csb337_defconfig 2008-01-09 22:19:31.000000000 +0200
-@@ -1,69 +1,96 @@
- #
- # Automatically generated make config: don't edit
--# Linux kernel version: 2.6.15
--# Mon Jan 9 21:51:31 2006
-+# Linux kernel version: 2.6.24-rc7
-+# Wed Jan 9 22:19:24 2008
- #
- 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_UID16=y
-+# CONFIG_NO_IOPORT is not set
-+CONFIG_GENERIC_HARDIRQS=y
-+CONFIG_STACKTRACE_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_ZONE_DMA=y
-+CONFIG_VECTORS_BASE=0xffff0000
-+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
- #
--# Code maturity level options
-+# General setup
- #
- CONFIG_EXPERIMENTAL=y
--CONFIG_CLEAN_COMPILE=y
- CONFIG_BROKEN_ON_SMP=y
- CONFIG_INIT_ENV_ARG_LIMIT=32
--
--#
--# General setup
--#
- CONFIG_LOCALVERSION=""
- CONFIG_LOCALVERSION_AUTO=y
- # 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_SYSCTL=y
-+# CONFIG_TASKSTATS is not set
-+# CONFIG_USER_NS is not set
-+# CONFIG_PID_NS is not set
- # CONFIG_AUDIT is not set
--CONFIG_HOTPLUG=y
--CONFIG_KOBJECT_UEVENT=y
- # CONFIG_IKCONFIG is not set
-+CONFIG_LOG_BUF_SHIFT=14
-+# CONFIG_CGROUPS is not set
-+CONFIG_FAIR_GROUP_SCHED=y
-+CONFIG_FAIR_USER_SCHED=y
-+# CONFIG_FAIR_CGROUP_SCHED is not set
-+CONFIG_SYSFS_DEPRECATED=y
-+# CONFIG_RELAY is not set
-+CONFIG_BLK_DEV_INITRD=y
- CONFIG_INITRAMFS_SOURCE=""
- CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-+CONFIG_SYSCTL=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_HOTPLUG=y
- CONFIG_PRINTK=y
- CONFIG_BUG=y
-+CONFIG_ELF_CORE=y
- CONFIG_BASE_FULL=y
- CONFIG_FUTEX=y
-+CONFIG_ANON_INODES=y
- CONFIG_EPOLL=y
-+CONFIG_SIGNALFD=y
-+CONFIG_EVENTFD=y
- CONFIG_SHMEM=y
--CONFIG_CC_ALIGN_FUNCTIONS=0
--CONFIG_CC_ALIGN_LABELS=0
--CONFIG_CC_ALIGN_LOOPS=0
--CONFIG_CC_ALIGN_JUMPS=0
-+CONFIG_VM_EVENT_COUNTERS=y
-+CONFIG_SLUB_DEBUG=y
-+# CONFIG_SLAB is not set
-+CONFIG_SLUB=y
-+# CONFIG_SLOB is not set
-+CONFIG_SLABINFO=y
-+CONFIG_RT_MUTEXES=y
- # CONFIG_TINY_SHMEM is not set
- CONFIG_BASE_SMALL=0
--
--#
--# Loadable module support
--#
- CONFIG_MODULES=y
- CONFIG_MODULE_UNLOAD=y
- # CONFIG_MODULE_FORCE_UNLOAD is not set
--CONFIG_OBSOLETE_MODPARM=y
- # CONFIG_MODVERSIONS is not set
- # CONFIG_MODULE_SRCVERSION_ALL is not set
- CONFIG_KMOD=y
--
--#
--# Block layer
--#
-+CONFIG_BLOCK=y
-+# CONFIG_LBD is not set
-+# CONFIG_BLK_DEV_IO_TRACE is not set
-+# CONFIG_LSF is not set
-+# CONFIG_BLK_DEV_BSG is not set
-
- #
- # IO Schedulers
-@@ -81,62 +108,101 @@
- #
- # 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_CLPS7500 is not set
- # CONFIG_ARCH_CLPS711X is not set
- # CONFIG_ARCH_CO285 is not set
- # CONFIG_ARCH_EBSA110 is not set
-+# CONFIG_ARCH_EP93XX is not set
- # CONFIG_ARCH_FOOTBRIDGE is not set
--# CONFIG_ARCH_INTEGRATOR is not set
--# CONFIG_ARCH_IOP3XX is not set
--# CONFIG_ARCH_IXP4XX 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_KS8695 is not set
-+# CONFIG_ARCH_NS9XXX is not set
-+# CONFIG_ARCH_MXC is not set
-+# CONFIG_ARCH_PNX4008 is not set
- # CONFIG_ARCH_PXA is not set
- # CONFIG_ARCH_RPC is not set
- # CONFIG_ARCH_SA1100 is not set
- # CONFIG_ARCH_S3C2410 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_VERSATILE is not set
--# CONFIG_ARCH_REALVIEW is not set
--# CONFIG_ARCH_IMX is not set
--# CONFIG_ARCH_H720X is not set
--# CONFIG_ARCH_AAEC2000 is not set
--CONFIG_ARCH_AT91=y
--CONFIG_ARCH_AT91RM9200=y
-
- #
--# AT91RM9200 Implementations
-+# Boot options
- #
-
- #
-+# Power management
-+#
-+
-+#
-+# Atmel AT91 System-on-Chip
-+#
-+CONFIG_ARCH_AT91RM9200=y
-+# CONFIG_ARCH_AT91SAM9260 is not set
-+# CONFIG_ARCH_AT91SAM9261 is not set
-+# CONFIG_ARCH_AT91SAM9263 is not set
-+# CONFIG_ARCH_AT91SAM9RL is not set
-+# CONFIG_ARCH_AT91X40 is not set
-+CONFIG_AT91_PMC_UNIT=y
-+
-+#
- # AT91RM9200 Board Type
- #
-+# CONFIG_MACH_ONEARM is not set
- # CONFIG_ARCH_AT91RM9200DK is not set
- # CONFIG_MACH_AT91RM9200EK is not set
- CONFIG_MACH_CSB337=y
- # CONFIG_MACH_CSB637 is not set
- # CONFIG_MACH_CARMEVA is not set
--# CONFIG_MACH_KB9200 is not set
- # CONFIG_MACH_ATEB9200 is not set
-+# CONFIG_MACH_KB9200 is not set
-+# CONFIG_MACH_PICOTUX2XX is not set
-+# CONFIG_MACH_KAFA is not set
-+# CONFIG_MACH_CHUB is not set
-+# CONFIG_MACH_HOMEMATIC is not set
-+# CONFIG_MACH_ECBAT91 is not set
-+# CONFIG_MACH_SWEDATMS is not set
-
- #
--# AT91RM9200 Feature Selections
-+# AT91 Board Options
-+#
-+
-+#
-+# AT91 Feature Selections
- #
- CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
-+# CONFIG_ATMEL_TCLIB is not set
-+CONFIG_AT91_TIMER_HZ=128
-
- #
- # Processor Type
- #
- CONFIG_CPU_32=y
- CONFIG_CPU_ARM920T=y
--CONFIG_CPU_32v4=y
-+CONFIG_CPU_32v4T=y
- CONFIG_CPU_ABRT_EV4T=y
- CONFIG_CPU_CACHE_V4WT=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
-@@ -145,15 +211,13 @@
- # CONFIG_CPU_ICACHE_DISABLE is not set
- # CONFIG_CPU_DCACHE_DISABLE is not set
- # CONFIG_CPU_DCACHE_WRITETHROUGH is not set
-+# CONFIG_OUTER_CACHE is not set
-
- #
- # Bus support
- #
--CONFIG_ISA_DMA_API=y
--
--#
--# PCCARD (PCMCIA/CardBus) support
--#
-+# CONFIG_PCI_SYSCALL is not set
-+# CONFIG_ARCH_SUPPORTS_MSI is not set
- CONFIG_PCCARD=y
- # CONFIG_PCMCIA_DEBUG is not set
- CONFIG_PCMCIA=y
-@@ -168,8 +232,13 @@
- #
- # Kernel Features
- #
-+# CONFIG_TICK_ONESHOT is not set
-+# CONFIG_NO_HZ is not set
-+# CONFIG_HIGH_RES_TIMERS is not set
-+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
- # CONFIG_PREEMPT is not set
--# CONFIG_NO_IDLE_HZ is not set
-+CONFIG_HZ=128
-+# CONFIG_AEABI is not set
- # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
- CONFIG_SELECT_MEMORY_MODEL=y
- CONFIG_FLATMEM_MANUAL=y
-@@ -178,9 +247,13 @@
- CONFIG_FLATMEM=y
- CONFIG_FLAT_NODE_MEM_MAP=y
- # CONFIG_SPARSEMEM_STATIC is not set
-+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
- CONFIG_SPLIT_PTLOCK_CPUS=4096
-+# CONFIG_RESOURCES_64BIT is not set
-+CONFIG_ZONE_DMA_FLAG=1
-+CONFIG_BOUNCE=y
-+CONFIG_VIRT_TO_BUS=y
- CONFIG_LEDS=y
--CONFIG_LEDS_TIMER=y
- CONFIG_LEDS_CPU=y
- CONFIG_ALIGNMENT_TRAP=y
-
-@@ -191,6 +264,7 @@
- CONFIG_ZBOOT_ROM_BSS=0x0
- CONFIG_CMDLINE="mem=32M console=ttyS0,38400 initrd=0x20410000,3145728 root=/dev/ram0 rw"
- # CONFIG_XIP_KERNEL is not set
-+# CONFIG_KEXEC is not set
-
- #
- # Floating point emulation
-@@ -215,6 +289,7 @@
- # Power management options
- #
- # CONFIG_PM is not set
-+CONFIG_SUSPEND_UP_POSSIBLE=y
-
- #
- # Networking
-@@ -227,6 +302,10 @@
- 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_NET_KEY is not set
- CONFIG_INET=y
- # CONFIG_IP_MULTICAST is not set
-@@ -243,23 +322,26 @@
- # 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 is not set
-+CONFIG_INET_XFRM_MODE_TRANSPORT=y
-+CONFIG_INET_XFRM_MODE_TUNNEL=y
-+CONFIG_INET_XFRM_MODE_BEET=y
-+# CONFIG_INET_LRO is not set
- CONFIG_INET_DIAG=y
- CONFIG_INET_TCP_DIAG=y
- # CONFIG_TCP_CONG_ADVANCED is not set
--CONFIG_TCP_CONG_BIC=y
-+CONFIG_TCP_CONG_CUBIC=y
-+CONFIG_DEFAULT_TCP_CONG="cubic"
-+# CONFIG_TCP_MD5SIG is not set
- # CONFIG_IPV6 is not set
-+# CONFIG_INET6_XFRM_TUNNEL is not set
-+# CONFIG_INET6_TUNNEL is not set
-+# CONFIG_NETWORK_SECMARK is not set
- # CONFIG_NETFILTER is not set
--
--#
--# DCCP Configuration (EXPERIMENTAL)
--#
- # CONFIG_IP_DCCP is not set
--
--#
--# SCTP Configuration (EXPERIMENTAL)
--#
- # CONFIG_IP_SCTP is not set
-+# CONFIG_TIPC is not set
- # CONFIG_ATM is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_VLAN_8021Q is not set
-@@ -269,13 +351,8 @@
- # CONFIG_ATALK is not set
- # CONFIG_X25 is not set
- # CONFIG_LAPB is not set
--# CONFIG_NET_DIVERT is not set
- # CONFIG_ECONET is not set
- # CONFIG_WAN_ROUTER is not set
--
--#
--# QoS and/or fair queueing
--#
- # CONFIG_NET_SCHED is not set
-
- #
-@@ -285,7 +362,17 @@
- # CONFIG_HAMRADIO is not set
- # CONFIG_IRDA is not set
- # CONFIG_BT is not set
-+# CONFIG_AF_RXRPC is not set
-+
-+#
-+# Wireless
-+#
-+# CONFIG_CFG80211 is not set
-+# CONFIG_WIRELESS_EXT is not set
-+# CONFIG_MAC80211 is not set
- # CONFIG_IEEE80211 is not set
-+# CONFIG_RFKILL is not set
-+# CONFIG_NET_9P is not set
-
- #
- # Device Drivers
-@@ -294,19 +381,14 @@
- #
- # Generic Driver Options
- #
-+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
- CONFIG_STANDALONE=y
- CONFIG_PREVENT_FIRMWARE_BUILD=y
- CONFIG_FW_LOADER=y
- # CONFIG_DEBUG_DRIVER is not set
--
--#
--# Connector - unified userspace <-> kernelspace linker
--#
-+# CONFIG_DEBUG_DEVRES is not set
-+# CONFIG_SYS_HYPERVISOR is not set
- # CONFIG_CONNECTOR is not set
--
--#
--# Memory Technology Devices (MTD)
--#
- CONFIG_MTD=y
- # CONFIG_MTD_DEBUG is not set
- # CONFIG_MTD_CONCAT is not set
-@@ -319,11 +401,14 @@
- # 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
-@@ -349,15 +434,14 @@
- # CONFIG_MTD_RAM is not set
- # CONFIG_MTD_ROM is not set
- # CONFIG_MTD_ABSENT is not set
--# CONFIG_MTD_XIP is not set
-
- #
- # Mapping drivers for chip access
- #
- # CONFIG_MTD_COMPLEX_MAPPINGS is not set
- CONFIG_MTD_PHYSMAP=y
--CONFIG_MTD_PHYSMAP_START=0
--CONFIG_MTD_PHYSMAP_LEN=0
-+CONFIG_MTD_PHYSMAP_START=0x0
-+CONFIG_MTD_PHYSMAP_LEN=0x0
- CONFIG_MTD_PHYSMAP_BANKWIDTH=0
- # CONFIG_MTD_ARM_INTEGRATOR is not set
- # CONFIG_MTD_PLATRAM is not set
-@@ -368,7 +452,6 @@
- # CONFIG_MTD_SLRAM is not set
- # CONFIG_MTD_PHRAM is not set
- # CONFIG_MTD_MTDRAM is not set
--# CONFIG_MTD_BLKMTD is not set
- # CONFIG_MTD_BLOCK2MTD is not set
-
- #
-@@ -378,29 +461,15 @@
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOC2001PLUS is not set
- # CONFIG_MTD_AT91_DATAFLASH is not set
--
--#
--# NAND Flash Device Drivers
--#
- # CONFIG_MTD_NAND is not set
--
--#
--# OneNAND Flash Device Drivers
--#
- # CONFIG_MTD_ONENAND is not set
-
- #
--# Parallel port support
-+# UBI - Unsorted block images
- #
-+# CONFIG_MTD_UBI is not set
- # CONFIG_PARPORT is not set
--
--#
--# Plug and Play support
--#
--
--#
--# Block devices
--#
-+CONFIG_BLK_DEV=y
- # CONFIG_BLK_DEV_COW_COMMON is not set
- CONFIG_BLK_DEV_LOOP=y
- # CONFIG_BLK_DEV_CRYPTOLOOP is not set
-@@ -409,13 +478,12 @@
- CONFIG_BLK_DEV_RAM=y
- CONFIG_BLK_DEV_RAM_COUNT=16
- CONFIG_BLK_DEV_RAM_SIZE=8192
--CONFIG_BLK_DEV_INITRD=y
-+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
- # CONFIG_CDROM_PKTCDVD is not set
- # CONFIG_ATA_OVER_ETH is not set
--
--#
--# ATA/ATAPI/MFM/RLL support
--#
-+CONFIG_MISC_DEVICES=y
-+# CONFIG_EEPROM_93CX6 is not set
-+CONFIG_ATMEL_SSC=y
- # CONFIG_IDE is not set
-
- #
-@@ -423,6 +491,9 @@
- #
- # CONFIG_RAID_ATTRS is not set
- CONFIG_SCSI=y
-+CONFIG_SCSI_DMA=y
-+# CONFIG_SCSI_TGT is not set
-+# CONFIG_SCSI_NETLINK is not set
- CONFIG_SCSI_PROC_FS=y
-
- #
-@@ -441,97 +512,61 @@
- # CONFIG_SCSI_MULTI_LUN is not set
- # CONFIG_SCSI_CONSTANTS is not set
- # CONFIG_SCSI_LOGGING is not set
-+# CONFIG_SCSI_SCAN_ASYNC is not set
-+CONFIG_SCSI_WAIT_SCAN=m
-
- #
--# SCSI Transport Attributes
-+# SCSI Transports
- #
- # CONFIG_SCSI_SPI_ATTRS is not set
- # CONFIG_SCSI_FC_ATTRS is not set
- # CONFIG_SCSI_ISCSI_ATTRS is not set
--# CONFIG_SCSI_SAS_ATTRS is not set
--
--#
--# SCSI low-level drivers
--#
-+# CONFIG_SCSI_SAS_LIBSAS is not set
-+# CONFIG_SCSI_SRP_ATTRS is not set
-+CONFIG_SCSI_LOWLEVEL=y
- # CONFIG_ISCSI_TCP is not set
--# CONFIG_SCSI_SATA is not set
- # CONFIG_SCSI_DEBUG is not set
--
--#
--# PCMCIA SCSI adapter support
--#
--# CONFIG_PCMCIA_AHA152X is not set
--# CONFIG_PCMCIA_FDOMAIN is not set
--# CONFIG_PCMCIA_NINJA_SCSI is not set
--# CONFIG_PCMCIA_QLOGIC is not set
--# CONFIG_PCMCIA_SYM53C500 is not set
--
--#
--# Multi-device support (RAID and LVM)
--#
-+# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-+# CONFIG_ATA is not set
- # CONFIG_MD is not set
--
--#
--# Fusion MPT device support
--#
--# CONFIG_FUSION is not set
--
--#
--# IEEE 1394 (FireWire) support
--#
--
--#
--# I2O device support
--#
--
--#
--# Network device support
--#
- CONFIG_NETDEVICES=y
-+# CONFIG_NETDEVICES_MULTIQUEUE is not set
- # CONFIG_DUMMY is not set
- # CONFIG_BONDING is not set
-+# CONFIG_MACVLAN is not set
- # CONFIG_EQUALIZER is not set
- # CONFIG_TUN is not set
--
--#
--# PHY device support
--#
-+# CONFIG_VETH is not set
- # CONFIG_PHYLIB is not set
--
--#
--# Ethernet (10 or 100Mbit)
--#
- CONFIG_NET_ETHERNET=y
- CONFIG_MII=y
- CONFIG_ARM_AT91_ETHER=y
-+# CONFIG_AX88796 is not set
- # CONFIG_SMC91X is not set
- # CONFIG_DM9000 is not set
-+# CONFIG_IBM_NEW_EMAC_ZMII is not set
-+# CONFIG_IBM_NEW_EMAC_RGMII is not set
-+# CONFIG_IBM_NEW_EMAC_TAH is not set
-+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
-+# CONFIG_B44 is not set
-+CONFIG_NETDEV_1000=y
-+CONFIG_NETDEV_10000=y
-
- #
--# Ethernet (1000 Mbit)
--#
--
--#
--# Ethernet (10000 Mbit)
--#
--
--#
--# Token Ring devices
-+# Wireless LAN
- #
-+# CONFIG_WLAN_PRE80211 is not set
-+# CONFIG_WLAN_80211 is not set
-
- #
--# Wireless LAN (non-hamradio)
--#
--# CONFIG_NET_RADIO is not set
--
--#
--# PCMCIA network device support
-+# USB Network Adapters
- #
-+# CONFIG_USB_CATC is not set
-+# CONFIG_USB_KAWETH is not set
-+# CONFIG_USB_PEGASUS is not set
-+# CONFIG_USB_RTL8150 is not set
-+# CONFIG_USB_USBNET is not set
- # CONFIG_NET_PCMCIA is not set
--
--#
--# Wan interfaces
--#
- # CONFIG_WAN is not set
- # CONFIG_PPP is not set
- # CONFIG_SLIP is not set
-@@ -539,26 +574,23 @@
- # CONFIG_NETCONSOLE is not set
- # CONFIG_NETPOLL is not set
- # CONFIG_NET_POLL_CONTROLLER is not set
--
--#
--# ISDN subsystem
--#
- # CONFIG_ISDN is not set
-
- #
- # Input device support
- #
- CONFIG_INPUT=y
-+# CONFIG_INPUT_FF_MEMLESS is not set
-+# CONFIG_INPUT_POLLDEV is not set
-
- #
- # Userland interfaces
- #
- CONFIG_INPUT_MOUSEDEV=y
--CONFIG_INPUT_MOUSEDEV_PSAUX=y
-+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
- CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
- CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
- # CONFIG_INPUT_JOYDEV is not set
--# CONFIG_INPUT_TSDEV is not set
- # CONFIG_INPUT_EVDEV is not set
- # CONFIG_INPUT_EVBUG is not set
-
-@@ -568,6 +600,7 @@
- # CONFIG_INPUT_KEYBOARD is not set
- # CONFIG_INPUT_MOUSE is not set
- # CONFIG_INPUT_JOYSTICK is not set
-+# CONFIG_INPUT_TABLET is not set
- # CONFIG_INPUT_TOUCHSCREEN is not set
- # CONFIG_INPUT_MISC is not set
-
-@@ -583,6 +616,7 @@
- CONFIG_VT=y
- CONFIG_VT_CONSOLE=y
- CONFIG_HW_CONSOLE=y
-+# CONFIG_VT_HW_CONSOLE_BINDING is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
-
- #
-@@ -601,152 +635,114 @@
- CONFIG_UNIX98_PTYS=y
- CONFIG_LEGACY_PTYS=y
- CONFIG_LEGACY_PTY_COUNT=256
--
--#
--# IPMI
--#
- # CONFIG_IPMI_HANDLER is not set
--
--#
--# Watchdog Cards
--#
--CONFIG_WATCHDOG=y
--CONFIG_WATCHDOG_NOWAYOUT=y
--
--#
--# Watchdog Device Drivers
--#
--# CONFIG_SOFT_WATCHDOG is not set
--CONFIG_AT91RM9200_WATCHDOG=y
--
--#
--# USB-based Watchdog Cards
--#
--# CONFIG_USBPCWATCHDOG is not set
- # CONFIG_HW_RANDOM is not set
- # CONFIG_NVRAM is not set
--# CONFIG_DTLK is not set
- # CONFIG_R3964 is not set
-
- #
--# Ftape, the floppy tape device driver
--#
--
--#
- # PCMCIA character devices
- #
- # CONFIG_SYNCLINK_CS is not set
- # CONFIG_CARDMAN_4000 is not set
- # CONFIG_CARDMAN_4040 is not set
- # CONFIG_RAW_DRIVER is not set
--
--#
--# TPM devices
--#
- # CONFIG_TCG_TPM is not set
--# CONFIG_TELCLOCK is not set
- CONFIG_AT91_SPI=y
- CONFIG_AT91_SPIDEV=y
--
--#
--# I2C support
--#
- CONFIG_I2C=y
-+CONFIG_I2C_BOARDINFO=y
- CONFIG_I2C_CHARDEV=y
-
- #
- # I2C Algorithms
- #
--# CONFIG_I2C_ALGOBIT is not set
-+CONFIG_I2C_ALGOBIT=y
- # CONFIG_I2C_ALGOPCF is not set
- # CONFIG_I2C_ALGOPCA is not set
-
- #
- # I2C Hardware Bus support
- #
--CONFIG_I2C_AT91=y
-+CONFIG_I2C_GPIO=y
-+# CONFIG_I2C_OCORES is not set
- # CONFIG_I2C_PARPORT_LIGHT is not set
-+# CONFIG_I2C_SIMTEC is not set
-+# CONFIG_I2C_TAOS_EVM is not set
- # CONFIG_I2C_STUB is not set
--# CONFIG_I2C_PCA_ISA is not set
-+# CONFIG_I2C_TINY_USB is not set
-+# CONFIG_I2C_PCA is not set
-
- #
- # Miscellaneous I2C Chip support
- #
- # CONFIG_SENSORS_DS1337 is not set
- # CONFIG_SENSORS_DS1374 is not set
-+# CONFIG_DS1682 is not set
- # CONFIG_SENSORS_EEPROM is not set
- # CONFIG_SENSORS_PCF8574 is not set
- # CONFIG_SENSORS_PCA9539 is not set
- # CONFIG_SENSORS_PCF8591 is not set
--# CONFIG_SENSORS_RTC8564 is not set
- # CONFIG_SENSORS_MAX6875 is not set
--# CONFIG_RTC_X1205_I2C is not set
-+# CONFIG_SENSORS_TSL2550 is not set
- # CONFIG_I2C_DEBUG_CORE is not set
- # CONFIG_I2C_DEBUG_ALGO is not set
- # CONFIG_I2C_DEBUG_BUS is not set
- # CONFIG_I2C_DEBUG_CHIP is not set
-
- #
--# Hardware Monitoring support
-+# SPI support
-+#
-+# CONFIG_SPI is not set
-+# CONFIG_SPI_MASTER is not set
-+# CONFIG_W1 is not set
-+# CONFIG_POWER_SUPPLY is not set
-+# CONFIG_HWMON is not set
-+CONFIG_WATCHDOG=y
-+CONFIG_WATCHDOG_NOWAYOUT=y
-+
-+#
-+# Watchdog Device Drivers
- #
--CONFIG_HWMON=y
--# CONFIG_HWMON_VID is not set
--# CONFIG_SENSORS_ADM1021 is not set
--# CONFIG_SENSORS_ADM1025 is not set
--# CONFIG_SENSORS_ADM1026 is not set
--# CONFIG_SENSORS_ADM1031 is not set
--# CONFIG_SENSORS_ADM9240 is not set
--# CONFIG_SENSORS_ASB100 is not set
--# CONFIG_SENSORS_ATXP1 is not set
--# CONFIG_SENSORS_DS1621 is not set
--# CONFIG_SENSORS_FSCHER is not set
--# CONFIG_SENSORS_FSCPOS is not set
--# CONFIG_SENSORS_GL518SM is not set
--# CONFIG_SENSORS_GL520SM is not set
--# CONFIG_SENSORS_IT87 is not set
--# CONFIG_SENSORS_LM63 is not set
--# CONFIG_SENSORS_LM75 is not set
--# CONFIG_SENSORS_LM77 is not set
--# CONFIG_SENSORS_LM78 is not set
--# CONFIG_SENSORS_LM80 is not set
--# CONFIG_SENSORS_LM83 is not set
--# CONFIG_SENSORS_LM85 is not set
--# CONFIG_SENSORS_LM87 is not set
--# CONFIG_SENSORS_LM90 is not set
--# CONFIG_SENSORS_LM92 is not set
--# CONFIG_SENSORS_MAX1619 is not set
--# CONFIG_SENSORS_PC87360 is not set
--# CONFIG_SENSORS_SMSC47M1 is not set
--# CONFIG_SENSORS_SMSC47B397 is not set
--# CONFIG_SENSORS_W83781D is not set
--# CONFIG_SENSORS_W83792D is not set
--# CONFIG_SENSORS_W83L785TS is not set
--# CONFIG_SENSORS_W83627HF is not set
--# CONFIG_SENSORS_W83627EHF is not set
--# CONFIG_HWMON_DEBUG_CHIP is not set
-+# CONFIG_SOFT_WATCHDOG is not set
-+CONFIG_AT91RM9200_WATCHDOG=y
-
- #
--# Misc devices
-+# USB-based Watchdog Cards
- #
-+# CONFIG_USBPCWATCHDOG is not set
-
- #
--# Multimedia Capabilities Port drivers
-+# Sonics Silicon Backplane
- #
-+CONFIG_SSB_POSSIBLE=y
-+# CONFIG_SSB is not set
-
- #
--# Multimedia devices
-+# Multifunction device drivers
- #
--# CONFIG_VIDEO_DEV is not set
-+# CONFIG_MFD_SM501 is not set
-
- #
--# Digital Video Broadcasting Devices
-+# Multimedia devices
- #
--# CONFIG_DVB is not set
-+# CONFIG_VIDEO_DEV is not set
-+# CONFIG_DVB_CORE is not set
-+CONFIG_DAB=y
-+# CONFIG_USB_DABUSB is not set
-
- #
- # Graphics support
- #
-+# CONFIG_VGASTATE is not set
-+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
- # CONFIG_FB is not set
-+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-+
-+#
-+# Display device support
-+#
-+# CONFIG_DISPLAY_SUPPORT is not set
-
- #
- # Console display driver support
-@@ -758,12 +754,25 @@
- # Sound
- #
- # CONFIG_SOUND is not set
-+CONFIG_HID_SUPPORT=y
-+CONFIG_HID=y
-+CONFIG_HID_DEBUG=y
-+# CONFIG_HIDRAW is not set
-
- #
--# USB support
-+# USB Input Devices
- #
-+# CONFIG_USB_HID is not set
-+
-+#
-+# USB HID Boot Protocol drivers
-+#
-+# CONFIG_USB_KBD is not set
-+# CONFIG_USB_MOUSE is not set
-+CONFIG_USB_SUPPORT=y
- CONFIG_USB_ARCH_HAS_HCD=y
- CONFIG_USB_ARCH_HAS_OHCI=y
-+# CONFIG_USB_ARCH_HAS_EHCI is not set
- CONFIG_USB=y
- CONFIG_USB_DEBUG=y
-
-@@ -771,7 +780,7 @@
- # Miscellaneous USB options
- #
- CONFIG_USB_DEVICEFS=y
--# CONFIG_USB_BANDWIDTH is not set
-+CONFIG_USB_DEVICE_CLASS=y
- # CONFIG_USB_DYNAMIC_MINORS is not set
- # CONFIG_USB_OTG is not set
-
-@@ -780,9 +789,11 @@
- #
- # CONFIG_USB_ISP116X_HCD is not set
- CONFIG_USB_OHCI_HCD=y
--# CONFIG_USB_OHCI_BIG_ENDIAN is not set
-+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
- CONFIG_USB_OHCI_LITTLE_ENDIAN=y
- # CONFIG_USB_SL811_HCD is not set
-+# CONFIG_USB_R8A66597_HCD is not set
-
- #
- # USB Device Class drivers
-@@ -801,59 +812,21 @@
- # CONFIG_USB_STORAGE_DEBUG is not set
- # CONFIG_USB_STORAGE_DATAFAB is not set
- # CONFIG_USB_STORAGE_FREECOM is not set
-+# CONFIG_USB_STORAGE_ISD200 is not set
- # CONFIG_USB_STORAGE_DPCM is not set
- # CONFIG_USB_STORAGE_USBAT is not set
- # CONFIG_USB_STORAGE_SDDR09 is not set
- # CONFIG_USB_STORAGE_SDDR55 is not set
- # CONFIG_USB_STORAGE_JUMPSHOT is not set
--
--#
--# USB Input Devices
--#
--# CONFIG_USB_HID is not set
--
--#
--# USB HID Boot Protocol drivers
--#
--# CONFIG_USB_KBD is not set
--# CONFIG_USB_MOUSE is not set
--# CONFIG_USB_AIPTEK is not set
--# CONFIG_USB_WACOM is not set
--# CONFIG_USB_ACECAD is not set
--# CONFIG_USB_KBTAB is not set
--# CONFIG_USB_POWERMATE is not set
--# CONFIG_USB_MTOUCH is not set
--# CONFIG_USB_ITMTOUCH is not set
--# CONFIG_USB_EGALAX is not set
--# CONFIG_USB_YEALINK is not set
--# CONFIG_USB_XPAD is not set
--# CONFIG_USB_ATI_REMOTE is not set
--# CONFIG_USB_KEYSPAN_REMOTE is not set
--# CONFIG_USB_APPLETOUCH is not set
-+# CONFIG_USB_STORAGE_ALAUDA is not set
-+# CONFIG_USB_STORAGE_KARMA is not set
-+# CONFIG_USB_LIBUSUAL is not set
-
- #
- # USB Imaging devices
- #
- # CONFIG_USB_MDC800 is not set
- # CONFIG_USB_MICROTEK is not set
--
--#
--# USB Multimedia devices
--#
--# CONFIG_USB_DABUSB is not set
--
--#
--# Video4Linux support is needed for USB Multimedia device support
--#
--
--#
--# USB Network Adapters
--#
--# CONFIG_USB_CATC is not set
--# CONFIG_USB_KAWETH is not set
--# CONFIG_USB_PEGASUS is not set
--# CONFIG_USB_RTL8150 is not set
--# CONFIG_USB_USBNET is not set
- CONFIG_USB_MON=y
-
- #
-@@ -866,15 +839,18 @@
- CONFIG_USB_SERIAL=y
- CONFIG_USB_SERIAL_CONSOLE=y
- CONFIG_USB_SERIAL_GENERIC=y
-+# CONFIG_USB_SERIAL_AIRCABLE is not set
- # CONFIG_USB_SERIAL_AIRPRIME is not set
--# CONFIG_USB_SERIAL_ANYDATA is not set
-+# CONFIG_USB_SERIAL_ARK3116 is not set
- # CONFIG_USB_SERIAL_BELKIN is not set
-+# CONFIG_USB_SERIAL_CH341 is not set
- # CONFIG_USB_SERIAL_WHITEHEAT is not set
- # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
- # CONFIG_USB_SERIAL_CP2101 is not set
- # CONFIG_USB_SERIAL_CYPRESS_M8 is not set
- # CONFIG_USB_SERIAL_EMPEG is not set
- CONFIG_USB_SERIAL_FTDI_SIO=y
-+# CONFIG_USB_SERIAL_FUNSOFT is not set
- # CONFIG_USB_SERIAL_VISOR is not set
- # CONFIG_USB_SERIAL_IPAQ is not set
- # CONFIG_USB_SERIAL_IR is not set
-@@ -899,14 +875,20 @@
- # CONFIG_USB_SERIAL_KLSI is not set
- # CONFIG_USB_SERIAL_KOBIL_SCT is not set
- CONFIG_USB_SERIAL_MCT_U232=y
-+# CONFIG_USB_SERIAL_MOS7720 is not set
-+# CONFIG_USB_SERIAL_MOS7840 is not set
-+# CONFIG_USB_SERIAL_NAVMAN is not set
- # CONFIG_USB_SERIAL_PL2303 is not set
-+# CONFIG_USB_SERIAL_OTI6858 is not set
- # CONFIG_USB_SERIAL_HP4X is not set
- # CONFIG_USB_SERIAL_SAFE is not set
-+# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
- # CONFIG_USB_SERIAL_TI is not set
- # CONFIG_USB_SERIAL_CYBERJACK is not set
- # CONFIG_USB_SERIAL_XIRCOM is not set
- # CONFIG_USB_SERIAL_OPTION is not set
- # CONFIG_USB_SERIAL_OMNINET is not set
-+# CONFIG_USB_SERIAL_DEBUG is not set
- CONFIG_USB_EZUSB=y
-
- #
-@@ -914,16 +896,22 @@
- #
- # CONFIG_USB_EMI62 is not set
- # CONFIG_USB_EMI26 is not set
-+# CONFIG_USB_ADUTUX is not set
- # CONFIG_USB_AUERSWALD is not set
- # CONFIG_USB_RIO500 is not set
- # CONFIG_USB_LEGOTOWER is not set
- # CONFIG_USB_LCD is not set
-+# CONFIG_USB_BERRY_CHARGE is not set
- # CONFIG_USB_LED is not set
-+# CONFIG_USB_CYPRESS_CY7C63 is not set
- # CONFIG_USB_CYTHERM is not set
--# CONFIG_USB_PHIDGETKIT is not set
--# CONFIG_USB_PHIDGETSERVO is not set
-+# CONFIG_USB_PHIDGET is not set
- # CONFIG_USB_IDMOUSE is not set
-+# CONFIG_USB_FTDI_ELAN is not set
-+# CONFIG_USB_APPLEDISPLAY is not set
- # CONFIG_USB_LD is not set
-+# CONFIG_USB_TRANCEVIBRATOR is not set
-+# CONFIG_USB_IOWARRIOR is not set
- # CONFIG_USB_TEST is not set
-
- #
-@@ -934,13 +922,19 @@
- # USB Gadget Support
- #
- CONFIG_USB_GADGET=y
-+# CONFIG_USB_GADGET_DEBUG is not set
- # CONFIG_USB_GADGET_DEBUG_FILES is not set
- CONFIG_USB_GADGET_SELECTED=y
-+# CONFIG_USB_GADGET_AMD5536UDC is not set
-+# CONFIG_USB_GADGET_ATMEL_USBA is not set
-+# CONFIG_USB_GADGET_FSL_USB2 is not set
- # CONFIG_USB_GADGET_NET2280 is not set
- # CONFIG_USB_GADGET_PXA2XX is not set
-+# CONFIG_USB_GADGET_M66592 is not set
- # CONFIG_USB_GADGET_GOKU is not set
- # CONFIG_USB_GADGET_LH7A40X is not set
- # CONFIG_USB_GADGET_OMAP is not set
-+# CONFIG_USB_GADGET_S3C2410 is not set
- CONFIG_USB_GADGET_AT91=y
- CONFIG_USB_AT91=y
- # CONFIG_USB_GADGET_DUMMY_HCD is not set
-@@ -950,22 +944,28 @@
- # CONFIG_USB_GADGETFS is not set
- # CONFIG_USB_FILE_STORAGE is not set
- # CONFIG_USB_G_SERIAL is not set
-+# CONFIG_USB_MIDI_GADGET is not set
-+CONFIG_MMC=y
-+# CONFIG_MMC_DEBUG is not set
-+# CONFIG_MMC_UNSAFE_RESUME is not set
-
- #
--# MMC/SD Card support
-+# MMC/SD Card Drivers
- #
--CONFIG_MMC=y
--# CONFIG_MMC_DEBUG is not set
- CONFIG_MMC_BLOCK=y
--CONFIG_MMC_AT91RM9200=y
-+CONFIG_MMC_BLOCK_BOUNCE=y
-+# CONFIG_SDIO_UART is not set
-
- #
--# Real Time Clock
-+# MMC/SD Host Controller Drivers
- #
-+# CONFIG_MMC_AT91 is not set
-+# CONFIG_NEW_LEDS is not set
- CONFIG_RTC_LIB=y
- CONFIG_RTC_CLASS=y
- CONFIG_RTC_HCTOSYS=y
- CONFIG_RTC_HCTOSYS_DEVICE="rtc1"
-+# CONFIG_RTC_DEBUG is not set
-
- #
- # RTC interfaces
-@@ -974,39 +974,60 @@
- CONFIG_RTC_INTF_PROC=y
- CONFIG_RTC_INTF_DEV=y
- # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-+# CONFIG_RTC_DRV_TEST is not set
-
- #
--# RTC drivers
-+# I2C RTC drivers
- #
--# CONFIG_RTC_DRV_X1205 is not set
- CONFIG_RTC_DRV_DS1307=y
--# CONFIG_RTC_DRV_DS1553 is not set
--# CONFIG_RTC_DRV_ISL1208 is not set
-+# CONFIG_RTC_DRV_DS1374 is not set
- # CONFIG_RTC_DRV_DS1672 is not set
--# CONFIG_RTC_DRV_DS1742 is not set
-+# CONFIG_RTC_DRV_MAX6900 is not set
-+# CONFIG_RTC_DRV_RS5C372 is not set
-+# CONFIG_RTC_DRV_ISL1208 is not set
-+# CONFIG_RTC_DRV_X1205 is not set
- # CONFIG_RTC_DRV_PCF8563 is not set
- # CONFIG_RTC_DRV_PCF8583 is not set
--# CONFIG_RTC_DRV_RS5C372 is not set
-+# CONFIG_RTC_DRV_M41T80 is not set
-+
-+#
-+# SPI RTC drivers
-+#
-+
-+#
-+# Platform RTC drivers
-+#
-+# CONFIG_RTC_DRV_CMOS is not set
-+# CONFIG_RTC_DRV_DS1553 is not set
-+# CONFIG_RTC_DRV_STK17TA8 is not set
-+# CONFIG_RTC_DRV_DS1742 is not set
- # CONFIG_RTC_DRV_M48T86 is not set
--CONFIG_RTC_DRV_AT91RM9200=y
--# CONFIG_RTC_DRV_TEST is not set
-+# CONFIG_RTC_DRV_M48T59 is not set
- # CONFIG_RTC_DRV_V3020 is not set
-
- #
-+# on-CPU RTC drivers
-+#
-+CONFIG_RTC_DRV_AT91RM9200=y
-+
-+#
- # File systems
- #
- CONFIG_EXT2_FS=y
- # CONFIG_EXT2_FS_XATTR is not set
- # CONFIG_EXT2_FS_XIP is not set
- # CONFIG_EXT3_FS is not set
--# CONFIG_JBD is not set
-+# CONFIG_EXT4DEV_FS is not set
- # CONFIG_REISERFS_FS is not set
- # CONFIG_JFS_FS is not set
- # CONFIG_FS_POSIX_ACL is not set
- # CONFIG_XFS_FS is not set
-+# CONFIG_GFS2_FS is not set
-+# CONFIG_OCFS2_FS is not set
- # CONFIG_MINIX_FS is not set
- # CONFIG_ROMFS_FS is not set
- CONFIG_INOTIFY=y
-+CONFIG_INOTIFY_USER=y
- # CONFIG_QUOTA is not set
- CONFIG_DNOTIFY=y
- # CONFIG_AUTOFS_FS is not set
-@@ -1030,11 +1051,12 @@
- # Pseudo filesystems
- #
- CONFIG_PROC_FS=y
-+CONFIG_PROC_SYSCTL=y
- CONFIG_SYSFS=y
- CONFIG_TMPFS=y
-+# CONFIG_TMPFS_POSIX_ACL is not set
- # CONFIG_HUGETLB_PAGE is not set
--CONFIG_RAMFS=y
--# CONFIG_RELAYFS_FS is not set
-+# CONFIG_CONFIGFS_FS is not set
-
- #
- # Miscellaneous filesystems
-@@ -1046,7 +1068,6 @@
- # CONFIG_BEFS_FS is not set
- # CONFIG_BFS_FS is not set
- # CONFIG_EFS_FS is not set
--# CONFIG_JFFS_FS is not set
- # CONFIG_JFFS2_FS is not set
- CONFIG_CRAMFS=y
- # CONFIG_VXFS_FS is not set
-@@ -1054,10 +1075,7 @@
- # CONFIG_QNX4FS_FS is not set
- # CONFIG_SYSV_FS is not set
- # CONFIG_UFS_FS is not set
--
--#
--# Network File Systems
--#
-+CONFIG_NETWORK_FILESYSTEMS=y
- CONFIG_NFS_FS=y
- CONFIG_NFS_V3=y
- # CONFIG_NFS_V3_ACL is not set
-@@ -1070,6 +1088,7 @@
- CONFIG_NFS_COMMON=y
- CONFIG_SUNRPC=y
- CONFIG_SUNRPC_GSS=y
-+# CONFIG_SUNRPC_BIND34 is not set
- CONFIG_RPCSEC_GSS_KRB5=y
- # CONFIG_RPCSEC_GSS_SPKM3 is not set
- # CONFIG_SMB_FS is not set
-@@ -1077,43 +1096,56 @@
- # CONFIG_NCP_FS is not set
- # CONFIG_CODA_FS is not set
- # CONFIG_AFS_FS is not set
--# CONFIG_9P_FS is not set
-
- #
- # Partition Types
- #
- # CONFIG_PARTITION_ADVANCED is not set
- CONFIG_MSDOS_PARTITION=y
--
--#
--# Native Language Support
--#
- # CONFIG_NLS is not set
--
--#
--# Profiling support
--#
-+# CONFIG_DLM is not set
-+CONFIG_INSTRUMENTATION=y
- # CONFIG_PROFILING is not set
-+# CONFIG_MARKERS is not set
-
- #
- # Kernel hacking
- #
- # CONFIG_PRINTK_TIME is not set
--CONFIG_DEBUG_KERNEL=y
-+CONFIG_ENABLE_WARN_DEPRECATED=y
-+CONFIG_ENABLE_MUST_CHECK=y
- # CONFIG_MAGIC_SYSRQ is not set
--CONFIG_LOG_BUF_SHIFT=14
-+# CONFIG_UNUSED_SYMBOLS is not set
-+# CONFIG_DEBUG_FS is not set
-+# CONFIG_HEADERS_CHECK is not set
-+CONFIG_DEBUG_KERNEL=y
-+# CONFIG_DEBUG_SHIRQ is not set
- CONFIG_DETECT_SOFTLOCKUP=y
-+CONFIG_SCHED_DEBUG=y
- # CONFIG_SCHEDSTATS is not set
--# CONFIG_DEBUG_SLAB is not set
-+# CONFIG_TIMER_STATS is not set
-+# CONFIG_SLUB_DEBUG_ON is not set
-+# CONFIG_DEBUG_RT_MUTEXES is not set
-+# CONFIG_RT_MUTEX_TESTER is not set
- # CONFIG_DEBUG_SPINLOCK is not set
-+# CONFIG_DEBUG_MUTEXES is not set
-+# CONFIG_DEBUG_LOCK_ALLOC is not set
-+# CONFIG_PROVE_LOCKING is not set
-+# CONFIG_LOCK_STAT is not set
- # CONFIG_DEBUG_SPINLOCK_SLEEP is not set
-+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
- # CONFIG_DEBUG_KOBJECT is not set
- CONFIG_DEBUG_BUGVERBOSE=y
- # CONFIG_DEBUG_INFO is not set
--# CONFIG_DEBUG_FS is not set
- # CONFIG_DEBUG_VM is not set
-+# CONFIG_DEBUG_LIST is not set
-+# CONFIG_DEBUG_SG is not set
- CONFIG_FRAME_POINTER=y
-+CONFIG_FORCED_INLINING=y
-+# CONFIG_BOOT_PRINTK_DELAY is not set
- # CONFIG_RCU_TORTURE_TEST is not set
-+# CONFIG_FAULT_INJECTION is not set
-+# CONFIG_SAMPLES is not set
- CONFIG_DEBUG_USER=y
- # CONFIG_DEBUG_ERRORS is not set
- CONFIG_DEBUG_LL=y
-@@ -1124,12 +1156,13 @@
- #
- # CONFIG_KEYS is not set
- # CONFIG_SECURITY is not set
--
--#
--# Cryptographic options
--#
-+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
- CONFIG_CRYPTO=y
-+CONFIG_CRYPTO_ALGAPI=y
-+CONFIG_CRYPTO_BLKCIPHER=y
-+CONFIG_CRYPTO_MANAGER=y
- # CONFIG_CRYPTO_HMAC is not set
-+# CONFIG_CRYPTO_XCBC is not set
- # CONFIG_CRYPTO_NULL is not set
- # CONFIG_CRYPTO_MD4 is not set
- CONFIG_CRYPTO_MD5=y
-@@ -1138,7 +1171,15 @@
- # CONFIG_CRYPTO_SHA512 is not set
- # CONFIG_CRYPTO_WP512 is not set
- # CONFIG_CRYPTO_TGR192 is not set
-+# CONFIG_CRYPTO_GF128MUL is not set
-+# CONFIG_CRYPTO_ECB is not set
-+CONFIG_CRYPTO_CBC=y
-+# CONFIG_CRYPTO_PCBC is not set
-+# CONFIG_CRYPTO_LRW is not set
-+# CONFIG_CRYPTO_XTS is not set
-+# CONFIG_CRYPTO_CRYPTD is not set
- CONFIG_CRYPTO_DES=y
-+# CONFIG_CRYPTO_FCRYPT is not set
- # CONFIG_CRYPTO_BLOWFISH is not set
- # CONFIG_CRYPTO_TWOFISH is not set
- # CONFIG_CRYPTO_SERPENT is not set
-@@ -1149,20 +1190,27 @@
- # CONFIG_CRYPTO_ARC4 is not set
- # CONFIG_CRYPTO_KHAZAD is not set
- # CONFIG_CRYPTO_ANUBIS is not set
-+# CONFIG_CRYPTO_SEED is not set
- # CONFIG_CRYPTO_DEFLATE is not set
- # CONFIG_CRYPTO_MICHAEL_MIC is not set
- # CONFIG_CRYPTO_CRC32C is not set
-+# CONFIG_CRYPTO_CAMELLIA is not set
- # CONFIG_CRYPTO_TEST is not set
--
--#
--# Hardware crypto devices
--#
-+# CONFIG_CRYPTO_AUTHENC is not set
-+CONFIG_CRYPTO_HW=y
-
- #
- # Library routines
- #
-+CONFIG_BITREVERSE=y
- # CONFIG_CRC_CCITT is not set
- # CONFIG_CRC16 is not set
-+# CONFIG_CRC_ITU_T is not set
- CONFIG_CRC32=y
-+# CONFIG_CRC7 is not set
- # CONFIG_LIBCRC32C is not set
- CONFIG_ZLIB_INFLATE=y
-+CONFIG_PLIST=y
-+CONFIG_HAS_IOMEM=y
-+CONFIG_HAS_IOPORT=y
-+CONFIG_HAS_DMA=y
-diff -urN -x CVS linux-2.6.24/arch/arm/configs/csb637_defconfig linux-2.6/arch/arm/configs/csb637_defconfig
---- linux-2.6.24/arch/arm/configs/csb637_defconfig 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/configs/csb637_defconfig 2007-12-31 10:43:35.000000000 +0200
-@@ -658,14 +658,14 @@
- #
- # I2C Algorithms
- #
--# CONFIG_I2C_ALGOBIT is not set
-+CONFIG_I2C_ALGOBIT=y
- # CONFIG_I2C_ALGOPCF is not set
- # CONFIG_I2C_ALGOPCA is not set
-
- #
- # I2C Hardware Bus support
- #
--CONFIG_I2C_AT91=y
-+CONFIG_I2C_GPIO=y
- # CONFIG_I2C_PARPORT_LIGHT is not set
- # CONFIG_I2C_STUB is not set
- # CONFIG_I2C_PCA_ISA is not set
-diff -urN -x CVS linux-2.6.24/arch/arm/configs/ecbat91_defconfig linux-2.6/arch/arm/configs/ecbat91_defconfig
---- linux-2.6.24/arch/arm/configs/ecbat91_defconfig 1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/configs/ecbat91_defconfig 2007-12-31 15:18:42.000000000 +0200
-@@ -0,0 +1,1315 @@
-+#
-+# Automatically generated make config: don't edit
-+# Linux kernel version: 2.6.22-rc4
-+# Sat Jun 9 01:30:18 2007
-+#
-+CONFIG_ARM=y
-+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-+CONFIG_GENERIC_GPIO=y
-+# CONFIG_GENERIC_TIME is not set
-+# CONFIG_GENERIC_CLOCKEVENTS is not set
-+CONFIG_MMU=y
-+# CONFIG_NO_IOPORT is not set
-+CONFIG_GENERIC_HARDIRQS=y
-+CONFIG_STACKTRACE_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_ZONE_DMA=y
-+CONFIG_VECTORS_BASE=0xffff0000
-+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-+
-+#
-+# Code maturity level options
-+#
-+CONFIG_EXPERIMENTAL=y
-+CONFIG_BROKEN_ON_SMP=y
-+CONFIG_LOCK_KERNEL=y
-+CONFIG_INIT_ENV_ARG_LIMIT=32
-+
-+#
-+# General setup
-+#
-+CONFIG_LOCALVERSION=""
-+CONFIG_LOCALVERSION_AUTO=y
-+CONFIG_SWAP=y
-+CONFIG_SYSVIPC=y
-+# CONFIG_IPC_NS is not set
-+CONFIG_SYSVIPC_SYSCTL=y
-+# CONFIG_POSIX_MQUEUE is not set
-+# CONFIG_BSD_PROCESS_ACCT is not set
-+# CONFIG_TASKSTATS is not set
-+# CONFIG_UTS_NS is not set
-+# CONFIG_AUDIT is not set
-+CONFIG_IKCONFIG=y
-+CONFIG_IKCONFIG_PROC=y
-+CONFIG_LOG_BUF_SHIFT=14
-+CONFIG_SYSFS_DEPRECATED=y
-+# CONFIG_RELAY is not set
-+# CONFIG_BLK_DEV_INITRD is not set
-+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-+CONFIG_SYSCTL=y
-+# CONFIG_EMBEDDED is not set
-+CONFIG_UID16=y
-+CONFIG_SYSCTL_SYSCALL=y
-+CONFIG_KALLSYMS=y
-+# CONFIG_KALLSYMS_EXTRA_PASS is not set
-+CONFIG_HOTPLUG=y
-+CONFIG_PRINTK=y
-+CONFIG_BUG=y
-+CONFIG_ELF_CORE=y
-+CONFIG_BASE_FULL=y
-+CONFIG_FUTEX=y
-+CONFIG_ANON_INODES=y
-+CONFIG_EPOLL=y
-+CONFIG_SIGNALFD=y
-+CONFIG_TIMERFD=y
-+CONFIG_EVENTFD=y
-+CONFIG_SHMEM=y
-+CONFIG_VM_EVENT_COUNTERS=y
-+CONFIG_SLAB=y
-+# CONFIG_SLUB is not set
-+# CONFIG_SLOB is not set
-+CONFIG_RT_MUTEXES=y
-+# CONFIG_TINY_SHMEM is not set
-+CONFIG_BASE_SMALL=0
-+
-+#
-+# Loadable module support
-+#
-+CONFIG_MODULES=y
-+CONFIG_MODULE_UNLOAD=y
-+# CONFIG_MODULE_FORCE_UNLOAD is not set
-+# CONFIG_MODVERSIONS is not set
-+# CONFIG_MODULE_SRCVERSION_ALL is not set
-+CONFIG_KMOD=y
-+
-+#
-+# Block layer
-+#
-+CONFIG_BLOCK=y
-+# CONFIG_LBD is not set
-+# CONFIG_BLK_DEV_IO_TRACE is not set
-+# CONFIG_LSF 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"
-+
-+#
-+# 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_CLPS7500 is not set
-+# CONFIG_ARCH_CLPS711X is not set
-+# CONFIG_ARCH_CO285 is not set
-+# CONFIG_ARCH_EBSA110 is not set
-+# CONFIG_ARCH_EP93XX 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_KS8695 is not set
-+# CONFIG_ARCH_NS9XXX is not set
-+# CONFIG_ARCH_PNX4008 is not set
-+# CONFIG_ARCH_PXA is not set
-+# CONFIG_ARCH_RPC is not set
-+# CONFIG_ARCH_SA1100 is not set
-+# CONFIG_ARCH_S3C2410 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
-+
-+#
-+# Atmel AT91 System-on-Chip
-+#
-+CONFIG_ARCH_AT91RM9200=y
-+# CONFIG_ARCH_AT91SAM9260 is not set
-+# CONFIG_ARCH_AT91SAM9261 is not set
-+# CONFIG_ARCH_AT91SAM9263 is not set
-+# CONFIG_ARCH_AT91SAM9RL is not set
-+
-+#
-+# AT91RM9200 Board Type
-+#
-+# CONFIG_MACH_ONEARM is not set
-+# CONFIG_ARCH_AT91RM9200DK is not set
-+# CONFIG_MACH_AT91RM9200EK is not set
-+# CONFIG_MACH_CSB337 is not set
-+# CONFIG_MACH_CSB637 is not set
-+# CONFIG_MACH_CARMEVA is not set
-+# CONFIG_MACH_ATEB9200 is not set
-+# CONFIG_MACH_KB9200 is not set
-+# CONFIG_MACH_PICOTUX2XX is not set
-+# CONFIG_MACH_KAFA is not set
-+# CONFIG_MACH_CHUB is not set
-+CONFIG_MACH_ECBAT91=y
-+
-+#
-+# AT91 Board Options
-+#
-+# CONFIG_MTD_AT91_DATAFLASH_CARD is not set
-+
-+#
-+# AT91 Feature Selections
-+#
-+CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
-+# CONFIG_ATMEL_TCLIB is not set
-+
-+#
-+# Processor Type
-+#
-+CONFIG_CPU_32=y
-+CONFIG_CPU_ARM920T=y
-+CONFIG_CPU_32v4T=y
-+CONFIG_CPU_ABRT_EV4T=y
-+CONFIG_CPU_CACHE_V4WT=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=y
-+# CONFIG_CPU_ICACHE_DISABLE is not set
-+# CONFIG_CPU_DCACHE_DISABLE is not set
-+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
-+# CONFIG_OUTER_CACHE is not set
-+
-+#
-+# Bus support
-+#
-+# CONFIG_ARCH_SUPPORTS_MSI is not set
-+
-+#
-+# PCCARD (PCMCIA/CardBus) support
-+#
-+CONFIG_PCCARD=y
-+# CONFIG_PCMCIA_DEBUG is not set
-+CONFIG_PCMCIA=y
-+CONFIG_PCMCIA_LOAD_CIS=y
-+CONFIG_PCMCIA_IOCTL=y
-+
-+#
-+# PC-card bridges
-+#
-+CONFIG_AT91_CF=y
-+
-+#
-+# Kernel Features
-+#
-+# CONFIG_TICK_ONESHOT is not set
-+CONFIG_PREEMPT=y
-+# CONFIG_NO_IDLE_HZ is not set
-+CONFIG_HZ=100
-+# CONFIG_AEABI is not set
-+# CONFIG_ARCH_DISCONTIGMEM_ENABLE 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_SPARSEMEM_STATIC is not set
-+CONFIG_SPLIT_PTLOCK_CPUS=4096
-+# CONFIG_RESOURCES_64BIT is not set
-+CONFIG_ZONE_DMA_FLAG=1
-+CONFIG_LEDS=y
-+CONFIG_LEDS_TIMER=y
-+CONFIG_LEDS_CPU=y
-+CONFIG_ALIGNMENT_TRAP=y
-+
-+#
-+# Boot options
-+#
-+CONFIG_ZBOOT_ROM_TEXT=0x0
-+CONFIG_ZBOOT_ROM_BSS=0x0
-+CONFIG_CMDLINE="rootfstype=reiserfs root=/dev/mmcblk0p1 console=ttyS0,115200n8 rootdelay=1"
-+# CONFIG_XIP_KERNEL is not set
-+# CONFIG_KEXEC 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
-+
-+#
-+# Userspace binary formats
-+#
-+CONFIG_BINFMT_ELF=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
-+
-+#
-+# Networking
-+#
-+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_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=y
-+# CONFIG_IP_PNP_BOOTP is not set
-+# CONFIG_IP_PNP_RARP is not set
-+# 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 is not set
-+CONFIG_INET_XFRM_MODE_TRANSPORT=y
-+CONFIG_INET_XFRM_MODE_TUNNEL=y
-+CONFIG_INET_XFRM_MODE_BEET=y
-+CONFIG_INET_DIAG=y
-+CONFIG_INET_TCP_DIAG=y
-+# 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 is not set
-+# CONFIG_INET6_XFRM_TUNNEL is not set
-+# CONFIG_INET6_TUNNEL 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_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
-+
-+#
-+# QoS and/or fair queueing
-+#
-+# CONFIG_NET_SCHED is not set
-+CONFIG_NET_SCH_FIFO=y
-+
-+#
-+# Network testing
-+#
-+# CONFIG_NET_PKTGEN is not set
-+# CONFIG_HAMRADIO is not set
-+# CONFIG_IRDA is not set
-+# CONFIG_BT is not set
-+# CONFIG_AF_RXRPC is not set
-+
-+#
-+# Wireless
-+#
-+CONFIG_CFG80211=y
-+CONFIG_WIRELESS_EXT=y
-+CONFIG_MAC80211=y
-+# CONFIG_MAC80211_DEBUG is not set
-+CONFIG_IEEE80211=y
-+# CONFIG_IEEE80211_DEBUG is not set
-+CONFIG_IEEE80211_CRYPT_WEP=y
-+# CONFIG_IEEE80211_CRYPT_CCMP is not set
-+# CONFIG_IEEE80211_CRYPT_TKIP is not set
-+CONFIG_IEEE80211_SOFTMAC=y
-+CONFIG_IEEE80211_SOFTMAC_DEBUG=y
-+# CONFIG_RFKILL is not set
-+
-+#
-+# Device Drivers
-+#
-+
-+#
-+# Generic Driver Options
-+#
-+# CONFIG_STANDALONE is not set
-+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
-+CONFIG_FW_LOADER=y
-+# CONFIG_SYS_HYPERVISOR is not set
-+
-+#
-+# Connector - unified userspace <-> kernelspace linker
-+#
-+# 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_REDBOOT_PARTS is not set
-+CONFIG_MTD_CMDLINE_PARTS=y
-+CONFIG_MTD_AFS_PARTS=y
-+
-+#
-+# 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
-+
-+#
-+# 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_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 is not set
-+# CONFIG_MTD_DOC2001PLUS is not set
-+# CONFIG_MTD_NAND is not set
-+# CONFIG_MTD_ONENAND is not set
-+
-+#
-+# UBI - Unsorted block images
-+#
-+# CONFIG_MTD_UBI is not set
-+
-+#
-+# Parallel port support
-+#
-+# CONFIG_PARPORT is not set
-+
-+#
-+# Plug and Play support
-+#
-+# CONFIG_PNPACPI is not set
-+
-+#
-+# Block devices
-+#
-+# CONFIG_BLK_DEV_COW_COMMON is not set
-+CONFIG_BLK_DEV_LOOP=y
-+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-+# CONFIG_BLK_DEV_NBD is not set
-+# CONFIG_BLK_DEV_UB is not set
-+# CONFIG_BLK_DEV_RAM is not set
-+# CONFIG_CDROM_PKTCDVD is not set
-+# CONFIG_ATA_OVER_ETH is not set
-+# CONFIG_IDE is not set
-+
-+#
-+# SCSI device support
-+#
-+# CONFIG_RAID_ATTRS is not set
-+CONFIG_SCSI=y
-+# CONFIG_SCSI_TGT is not set
-+# CONFIG_SCSI_NETLINK is not set
-+CONFIG_SCSI_PROC_FS=y
-+
-+#
-+# SCSI support type (disk, tape, CD-ROM)
-+#
-+CONFIG_BLK_DEV_SD=y
-+# CONFIG_CHR_DEV_ST is not set
-+# CONFIG_CHR_DEV_OSST is not set
-+# CONFIG_BLK_DEV_SR is not set
-+CONFIG_CHR_DEV_SG=y
-+# CONFIG_CHR_DEV_SCH is not set
-+
-+#
-+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-+#
-+# CONFIG_SCSI_MULTI_LUN is not set
-+# CONFIG_SCSI_CONSTANTS is not set
-+# CONFIG_SCSI_LOGGING is not set
-+# CONFIG_SCSI_SCAN_ASYNC is not set
-+CONFIG_SCSI_WAIT_SCAN=m
-+
-+#
-+# SCSI Transports
-+#
-+# CONFIG_SCSI_SPI_ATTRS is not set
-+# CONFIG_SCSI_FC_ATTRS is not set
-+# CONFIG_SCSI_ISCSI_ATTRS is not set
-+# CONFIG_SCSI_SAS_ATTRS is not set
-+# CONFIG_SCSI_SAS_LIBSAS is not set
-+
-+#
-+# SCSI low-level drivers
-+#
-+# CONFIG_ISCSI_TCP is not set
-+# CONFIG_SCSI_DEBUG is not set
-+
-+#
-+# PCMCIA SCSI adapter support
-+#
-+# CONFIG_PCMCIA_AHA152X is not set
-+# CONFIG_PCMCIA_FDOMAIN is not set
-+# CONFIG_PCMCIA_NINJA_SCSI is not set
-+# CONFIG_PCMCIA_QLOGIC is not set
-+# CONFIG_PCMCIA_SYM53C500 is not set
-+# CONFIG_ATA is not set
-+
-+#
-+# Multi-device support (RAID and LVM)
-+#
-+# CONFIG_MD is not set
-+
-+#
-+# Network device support
-+#
-+CONFIG_NETDEVICES=y
-+# CONFIG_DUMMY is not set
-+# CONFIG_BONDING is not set
-+# CONFIG_EQUALIZER is not set
-+# CONFIG_TUN is not set
-+# CONFIG_PHYLIB is not set
-+
-+#
-+# Ethernet (10 or 100Mbit)
-+#
-+CONFIG_NET_ETHERNET=y
-+CONFIG_MII=y
-+CONFIG_ARM_AT91_ETHER=y
-+# CONFIG_SMC91X is not set
-+# CONFIG_DM9000 is not set
-+# CONFIG_NETDEV_1000 is not set
-+# CONFIG_NETDEV_10000 is not set
-+
-+#
-+# Wireless LAN
-+#
-+# CONFIG_WLAN_PRE80211 is not set
-+# CONFIG_WLAN_80211 is not set
-+
-+#
-+# USB Network Adapters
-+#
-+# CONFIG_USB_CATC is not set
-+# CONFIG_USB_KAWETH is not set
-+# CONFIG_USB_PEGASUS is not set
-+# CONFIG_USB_RTL8150 is not set
-+# CONFIG_USB_USBNET_MII is not set
-+# CONFIG_USB_USBNET is not set
-+# CONFIG_NET_PCMCIA is not set
-+# CONFIG_WAN is not set
-+CONFIG_PPP=y
-+CONFIG_PPP_MULTILINK=y
-+CONFIG_PPP_FILTER=y
-+CONFIG_PPP_ASYNC=y
-+# CONFIG_PPP_SYNC_TTY is not set
-+# CONFIG_PPP_DEFLATE is not set
-+# CONFIG_PPP_BSDCOMP is not set
-+# CONFIG_PPP_MPPE is not set
-+# CONFIG_PPPOE is not set
-+# CONFIG_SLIP is not set
-+CONFIG_SLHC=y
-+# CONFIG_SHAPER is not set
-+# CONFIG_NETCONSOLE is not set
-+# CONFIG_NETPOLL is not set
-+# CONFIG_NET_POLL_CONTROLLER is not set
-+
-+#
-+# ISDN subsystem
-+#
-+# CONFIG_ISDN is not set
-+
-+#
-+# Input device support
-+#
-+CONFIG_INPUT=y
-+# CONFIG_INPUT_FF_MEMLESS is not set
-+
-+#
-+# Userland interfaces
-+#
-+CONFIG_INPUT_MOUSEDEV=y
-+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-+# CONFIG_INPUT_JOYDEV is not set
-+# CONFIG_INPUT_TSDEV is not set
-+# CONFIG_INPUT_EVDEV is not set
-+# CONFIG_INPUT_EVBUG is not set
-+
-+#
-+# Input Device Drivers
-+#
-+# CONFIG_INPUT_KEYBOARD is not set
-+# CONFIG_INPUT_MOUSE is not set
-+# CONFIG_INPUT_JOYSTICK is not set
-+# CONFIG_INPUT_TABLET is not set
-+# CONFIG_INPUT_TOUCHSCREEN is not set
-+# CONFIG_INPUT_MISC is not set
-+
-+#
-+# Hardware I/O ports
-+#
-+# CONFIG_SERIO is not set
-+# CONFIG_GAMEPORT is not set
-+
-+#
-+# Character devices
-+#
-+CONFIG_VT=y
-+CONFIG_VT_CONSOLE=y
-+CONFIG_HW_CONSOLE=y
-+# CONFIG_VT_HW_CONSOLE_BINDING is not set
-+# CONFIG_SERIAL_NONSTANDARD is not set
-+
-+#
-+# Serial drivers
-+#
-+# CONFIG_SERIAL_8250 is not set
-+
-+#
-+# Non-8250 serial port support
-+#
-+CONFIG_SERIAL_ATMEL=y
-+CONFIG_SERIAL_ATMEL_CONSOLE=y
-+# CONFIG_SERIAL_ATMEL_TTYAT is not set
-+CONFIG_SERIAL_CORE=y
-+CONFIG_SERIAL_CORE_CONSOLE=y
-+CONFIG_UNIX98_PTYS=y
-+CONFIG_LEGACY_PTYS=y
-+CONFIG_LEGACY_PTY_COUNT=256
-+
-+#
-+# IPMI
-+#
-+# CONFIG_IPMI_HANDLER is not set
-+CONFIG_WATCHDOG=y
-+CONFIG_WATCHDOG_NOWAYOUT=y
-+
-+#
-+# Watchdog Device Drivers
-+#
-+# CONFIG_SOFT_WATCHDOG is not set
-+# CONFIG_AT91RM9200_WATCHDOG is not set
-+
-+#
-+# USB-based Watchdog Cards
-+#
-+# CONFIG_USBPCWATCHDOG is not set
-+CONFIG_HW_RANDOM=y
-+# CONFIG_NVRAM is not set
-+# CONFIG_R3964 is not set
-+
-+#
-+# PCMCIA character devices
-+#
-+# CONFIG_SYNCLINK_CS is not set
-+# CONFIG_CARDMAN_4000 is not set
-+# CONFIG_CARDMAN_4040 is not set
-+# CONFIG_RAW_DRIVER is not set
-+
-+#
-+# TPM devices
-+#
-+# CONFIG_TCG_TPM is not set
-+# CONFIG_AT91_SPI is not set
-+CONFIG_I2C=y
-+CONFIG_I2C_BOARDINFO=y
-+CONFIG_I2C_CHARDEV=y
-+
-+#
-+# I2C Algorithms
-+#
-+CONFIG_I2C_ALGOBIT=y
-+# CONFIG_I2C_ALGOPCF is not set
-+# CONFIG_I2C_ALGOPCA is not set
-+
-+#
-+# I2C Hardware Bus support
-+#
-+CONFIG_I2C_GPIO=y
-+# CONFIG_I2C_GPIO is not set
-+# CONFIG_I2C_OCORES is not set
-+# CONFIG_I2C_PARPORT_LIGHT is not set
-+# CONFIG_I2C_SIMTEC is not set
-+# CONFIG_I2C_STUB is not set
-+# CONFIG_I2C_TINY_USB is not set
-+# CONFIG_I2C_PCA is not set
-+
-+#
-+# Miscellaneous I2C Chip support
-+#
-+# CONFIG_SENSORS_DS1337 is not set
-+# CONFIG_SENSORS_DS1374 is not set
-+# CONFIG_SENSORS_EEPROM is not set
-+# CONFIG_SENSORS_PCF8574 is not set
-+# CONFIG_SENSORS_PCA9539 is not set
-+# CONFIG_SENSORS_PCF8591 is not set
-+# CONFIG_SENSORS_MAX6875 is not set
-+# CONFIG_I2C_DEBUG_CORE is not set
-+# CONFIG_I2C_DEBUG_ALGO is not set
-+# CONFIG_I2C_DEBUG_BUS is not set
-+# CONFIG_I2C_DEBUG_CHIP is not set
-+
-+#
-+# SPI support
-+#
-+CONFIG_SPI=y
-+CONFIG_SPI_MASTER=y
-+
-+#
-+# SPI Master Controller Drivers
-+#
-+# CONFIG_SPI_ATMEL is not set
-+CONFIG_SPI_BITBANG=y
-+CONFIG_SPI_AT91=y
-+
-+#
-+# SPI Protocol Masters
-+#
-+# CONFIG_SPI_AT25 is not set
-+# CONFIG_SPI_SPIDEV is not set
-+
-+#
-+# Dallas's 1-wire bus
-+#
-+# CONFIG_W1 is not set
-+CONFIG_HWMON=y
-+# CONFIG_HWMON_VID is not set
-+# CONFIG_SENSORS_ABITUGURU is not set
-+# CONFIG_SENSORS_AD7418 is not set
-+# CONFIG_SENSORS_ADM1021 is not set
-+# CONFIG_SENSORS_ADM1025 is not set
-+# CONFIG_SENSORS_ADM1026 is not set
-+# CONFIG_SENSORS_ADM1029 is not set
-+# CONFIG_SENSORS_ADM1031 is not set
-+# CONFIG_SENSORS_ADM9240 is not set
-+# CONFIG_SENSORS_ASB100 is not set
-+# CONFIG_SENSORS_ATXP1 is not set
-+# CONFIG_SENSORS_DS1621 is not set
-+# CONFIG_SENSORS_F71805F is not set
-+# CONFIG_SENSORS_FSCHER is not set
-+# CONFIG_SENSORS_FSCPOS is not set
-+# CONFIG_SENSORS_GL518SM is not set
-+# CONFIG_SENSORS_GL520SM is not set
-+# CONFIG_SENSORS_IT87 is not set
-+# CONFIG_SENSORS_LM63 is not set
-+# CONFIG_SENSORS_LM70 is not set
-+# CONFIG_SENSORS_LM75 is not set
-+# CONFIG_SENSORS_LM77 is not set
-+# CONFIG_SENSORS_LM78 is not set
-+# CONFIG_SENSORS_LM80 is not set
-+# CONFIG_SENSORS_LM83 is not set
-+# CONFIG_SENSORS_LM85 is not set
-+# CONFIG_SENSORS_LM87 is not set
-+# CONFIG_SENSORS_LM90 is not set
-+# CONFIG_SENSORS_LM92 is not set
-+# CONFIG_SENSORS_MAX1619 is not set
-+# CONFIG_SENSORS_MAX6650 is not set
-+# CONFIG_SENSORS_PC87360 is not set
-+# CONFIG_SENSORS_PC87427 is not set
-+# CONFIG_SENSORS_SMSC47M1 is not set
-+# CONFIG_SENSORS_SMSC47M192 is not set
-+# CONFIG_SENSORS_SMSC47B397 is not set
-+# CONFIG_SENSORS_VT1211 is not set
-+# CONFIG_SENSORS_W83781D is not set
-+# CONFIG_SENSORS_W83791D is not set
-+# CONFIG_SENSORS_W83792D is not set
-+# CONFIG_SENSORS_W83793 is not set
-+# CONFIG_SENSORS_W83L785TS is not set
-+# CONFIG_SENSORS_W83627HF is not set
-+# CONFIG_SENSORS_W83627EHF is not set
-+# CONFIG_HWMON_DEBUG_CHIP is not set
-+
-+#
-+# Misc devices
-+#
-+# CONFIG_BLINK is not set
-+
-+#
-+# Multifunction device drivers
-+#
-+# CONFIG_MFD_SM501 is not set
-+
-+#
-+# LED devices
-+#
-+CONFIG_NEW_LEDS=y
-+CONFIG_LEDS_CLASS=y
-+
-+#
-+# LED drivers
-+#
-+
-+#
-+# LED Triggers
-+#
-+# CONFIG_LEDS_TRIGGERS is not set
-+
-+#
-+# Multimedia devices
-+#
-+# CONFIG_VIDEO_DEV is not set
-+# CONFIG_DVB_CORE is not set
-+CONFIG_DAB=y
-+# CONFIG_USB_DABUSB is not set
-+
-+#
-+# Graphics support
-+#
-+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-+
-+#
-+# Display device support
-+#
-+# CONFIG_DISPLAY_SUPPORT is not set
-+# CONFIG_VGASTATE is not set
-+# CONFIG_FB is not set
-+
-+#
-+# Console display driver support
-+#
-+# CONFIG_VGA_CONSOLE is not set
-+CONFIG_DUMMY_CONSOLE=y
-+
-+#
-+# Sound
-+#
-+# CONFIG_SOUND is not set
-+
-+#
-+# HID Devices
-+#
-+CONFIG_HID=y
-+# CONFIG_HID_DEBUG is not set
-+
-+#
-+# USB Input Devices
-+#
-+# CONFIG_USB_HID is not set
-+
-+#
-+# USB HID Boot Protocol drivers
-+#
-+# CONFIG_USB_KBD is not set
-+# CONFIG_USB_MOUSE is not set
-+
-+#
-+# USB support
-+#
-+CONFIG_USB_ARCH_HAS_HCD=y
-+CONFIG_USB_ARCH_HAS_OHCI=y
-+# CONFIG_USB_ARCH_HAS_EHCI is not set
-+CONFIG_USB=y
-+# CONFIG_USB_DEBUG is not set
-+
-+#
-+# Miscellaneous USB options
-+#
-+CONFIG_USB_DEVICEFS=y
-+# CONFIG_USB_DEVICE_CLASS is not set
-+# CONFIG_USB_DYNAMIC_MINORS is not set
-+# CONFIG_USB_OTG is not set
-+
-+#
-+# USB Host Controller Drivers
-+#
-+# CONFIG_USB_ISP116X_HCD is not set
-+CONFIG_USB_OHCI_HCD=y
-+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
-+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-+# CONFIG_USB_SL811_HCD is not set
-+
-+#
-+# USB Device Class drivers
-+#
-+# CONFIG_USB_ACM is not set
-+CONFIG_USB_PRINTER=y
-+
-+#
-+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-+#
-+
-+#
-+# may also be needed; see USB_STORAGE Help for more information
-+#
-+CONFIG_USB_STORAGE=y
-+# CONFIG_USB_STORAGE_DEBUG is not set
-+# CONFIG_USB_STORAGE_DATAFAB is not set
-+# CONFIG_USB_STORAGE_FREECOM is not set
-+# CONFIG_USB_STORAGE_DPCM is not set
-+# CONFIG_USB_STORAGE_USBAT is not set
-+# CONFIG_USB_STORAGE_SDDR09 is not set
-+# CONFIG_USB_STORAGE_SDDR55 is not set
-+# CONFIG_USB_STORAGE_JUMPSHOT is not set
-+# CONFIG_USB_STORAGE_ALAUDA is not set
-+# CONFIG_USB_STORAGE_KARMA is not set
-+# CONFIG_USB_LIBUSUAL is not set
-+
-+#
-+# USB Imaging devices
-+#
-+# CONFIG_USB_MDC800 is not set
-+# CONFIG_USB_MICROTEK is not set
-+# CONFIG_USB_MON is not set
-+
-+#
-+# USB port drivers
-+#
-+
-+#
-+# USB Serial Converter support
-+#
-+# CONFIG_USB_SERIAL is not set
-+
-+#
-+# USB Miscellaneous drivers
-+#
-+# CONFIG_USB_EMI62 is not set
-+# CONFIG_USB_EMI26 is not set
-+# CONFIG_USB_ADUTUX is not set
-+# CONFIG_USB_AUERSWALD is not set
-+# CONFIG_USB_RIO500 is not set
-+# CONFIG_USB_LEGOTOWER is not set
-+# CONFIG_USB_LCD is not set
-+# CONFIG_USB_BERRY_CHARGE is not set
-+# CONFIG_USB_LED is not set
-+# CONFIG_USB_CYPRESS_CY7C63 is not set
-+# CONFIG_USB_CYTHERM is not set
-+# CONFIG_USB_PHIDGET is not set
-+# CONFIG_USB_IDMOUSE is not set
-+# CONFIG_USB_FTDI_ELAN is not set
-+# CONFIG_USB_APPLEDISPLAY is not set
-+# CONFIG_USB_LD is not set
-+# CONFIG_USB_TRANCEVIBRATOR is not set
-+# CONFIG_USB_IOWARRIOR is not set
-+# CONFIG_USB_TEST is not set
-+
-+#
-+# USB DSL modem support
-+#
-+
-+#
-+# USB Gadget Support
-+#
-+CONFIG_USB_GADGET=y
-+# CONFIG_USB_GADGET_DEBUG_FILES is not set
-+CONFIG_USB_GADGET_SELECTED=y
-+# CONFIG_USB_GADGET_FSL_USB2 is not set
-+# CONFIG_USB_GADGET_NET2280 is not set
-+# CONFIG_USB_GADGET_PXA2XX is not set
-+# CONFIG_USB_GADGET_GOKU is not set
-+# CONFIG_USB_GADGET_LH7A40X is not set
-+# CONFIG_USB_GADGET_OMAP is not set
-+CONFIG_USB_GADGET_AT91=y
-+CONFIG_USB_AT91=y
-+# CONFIG_USB_GADGET_DUMMY_HCD is not set
-+# CONFIG_USB_GADGET_DUALSPEED is not set
-+# CONFIG_USB_ZERO is not set
-+# CONFIG_USB_ETH is not set
-+# CONFIG_USB_GADGETFS is not set
-+# CONFIG_USB_FILE_STORAGE is not set
-+# CONFIG_USB_G_SERIAL is not set
-+# CONFIG_USB_MIDI_GADGET is not set
-+CONFIG_MMC=y
-+CONFIG_MMC_DEBUG=y
-+# CONFIG_MMC_UNSAFE_RESUME is not set
-+
-+#
-+# MMC/SD Card Drivers
-+#
-+CONFIG_MMC_BLOCK=y
-+
-+#
-+# MMC/SD Host Controller Drivers
-+#
-+CONFIG_MMC_AT91=y
-+
-+#
-+# Real Time Clock
-+#
-+CONFIG_RTC_LIB=y
-+CONFIG_RTC_CLASS=y
-+# CONFIG_RTC_HCTOSYS is not set
-+# CONFIG_RTC_DEBUG is not set
-+
-+#
-+# RTC interfaces
-+#
-+CONFIG_RTC_INTF_SYSFS=y
-+CONFIG_RTC_INTF_PROC=y
-+CONFIG_RTC_INTF_DEV=y
-+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-+# CONFIG_RTC_DRV_TEST is not set
-+
-+#
-+# I2C RTC drivers
-+#
-+# CONFIG_RTC_DRV_DS1307 is not set
-+# CONFIG_RTC_DRV_DS1672 is not set
-+# CONFIG_RTC_DRV_MAX6900 is not set
-+# CONFIG_RTC_DRV_RS5C372 is not set
-+# CONFIG_RTC_DRV_ISL1208 is not set
-+# CONFIG_RTC_DRV_X1205 is not set
-+# CONFIG_RTC_DRV_PCF8563 is not set
-+# CONFIG_RTC_DRV_PCF8583 is not set
-+
-+#
-+# SPI RTC drivers
-+#
-+# CONFIG_RTC_DRV_RS5C348 is not set
-+# CONFIG_RTC_DRV_MAX6902 is not set
-+
-+#
-+# Platform RTC drivers
-+#
-+# CONFIG_RTC_DRV_CMOS is not set
-+# CONFIG_RTC_DRV_DS1553 is not set
-+# CONFIG_RTC_DRV_DS1742 is not set
-+# CONFIG_RTC_DRV_M48T86 is not set
-+# CONFIG_RTC_DRV_V3020 is not set
-+
-+#
-+# on-CPU RTC drivers
-+#
-+CONFIG_RTC_DRV_AT91RM9200=y
-+
-+#
-+# File systems
-+#
-+CONFIG_EXT2_FS=y
-+# CONFIG_EXT2_FS_XATTR is not set
-+# CONFIG_EXT2_FS_XIP is not set
-+CONFIG_EXT3_FS=y
-+CONFIG_EXT3_FS_XATTR=y
-+# CONFIG_EXT3_FS_POSIX_ACL is not set
-+# CONFIG_EXT3_FS_SECURITY is not set
-+# CONFIG_EXT4DEV_FS is not set
-+CONFIG_JBD=y
-+# CONFIG_JBD_DEBUG is not set
-+CONFIG_FS_MBCACHE=y
-+CONFIG_REISERFS_FS=y
-+# CONFIG_REISERFS_CHECK is not set
-+# CONFIG_REISERFS_PROC_INFO is not set
-+# CONFIG_REISERFS_FS_XATTR is not set
-+# CONFIG_JFS_FS is not set
-+CONFIG_FS_POSIX_ACL=y
-+# CONFIG_XFS_FS is not set
-+# CONFIG_GFS2_FS is not set
-+# CONFIG_OCFS2_FS is not set
-+# CONFIG_MINIX_FS is not set
-+# CONFIG_ROMFS_FS is not set
-+CONFIG_INOTIFY=y
-+CONFIG_INOTIFY_USER=y
-+# CONFIG_QUOTA is not set
-+CONFIG_DNOTIFY=y
-+# CONFIG_AUTOFS_FS is not set
-+# CONFIG_AUTOFS4_FS is not set
-+# CONFIG_FUSE_FS is not set
-+
-+#
-+# CD-ROM/DVD Filesystems
-+#
-+# CONFIG_ISO9660_FS is not set
-+# CONFIG_UDF_FS is not set
-+
-+#
-+# DOS/FAT/NT Filesystems
-+#
-+# CONFIG_MSDOS_FS is not set
-+# CONFIG_VFAT_FS is not set
-+# CONFIG_NTFS_FS is not set
-+
-+#
-+# Pseudo filesystems
-+#
-+CONFIG_PROC_FS=y
-+CONFIG_PROC_SYSCTL=y
-+CONFIG_SYSFS=y
-+CONFIG_TMPFS=y
-+# CONFIG_TMPFS_POSIX_ACL is not set
-+# CONFIG_HUGETLB_PAGE is not set
-+CONFIG_RAMFS=y
-+CONFIG_CONFIGFS_FS=y
-+
-+#
-+# Miscellaneous filesystems
-+#
-+# CONFIG_ADFS_FS is not set
-+# CONFIG_AFFS_FS is not set
-+# CONFIG_HFS_FS is not set
-+# CONFIG_HFSPLUS_FS is not set
-+# CONFIG_BEFS_FS is not set
-+# CONFIG_BFS_FS is not set
-+# CONFIG_EFS_FS is not set
-+# CONFIG_JFFS2_FS is not set
-+CONFIG_CRAMFS=y
-+# CONFIG_VXFS_FS is not set
-+# CONFIG_HPFS_FS is not set
-+# CONFIG_QNX4FS_FS is not set
-+# CONFIG_SYSV_FS is not set
-+# CONFIG_UFS_FS is not set
-+
-+#
-+# Network File Systems
-+#
-+CONFIG_NFS_FS=y
-+CONFIG_NFS_V3=y
-+CONFIG_NFS_V3_ACL=y
-+CONFIG_NFS_V4=y
-+# CONFIG_NFS_DIRECTIO is not set
-+# CONFIG_NFSD is not set
-+CONFIG_ROOT_NFS=y
-+CONFIG_LOCKD=y
-+CONFIG_LOCKD_V4=y
-+CONFIG_NFS_ACL_SUPPORT=y
-+CONFIG_NFS_COMMON=y
-+CONFIG_SUNRPC=y
-+CONFIG_SUNRPC_GSS=y
-+# CONFIG_SUNRPC_BIND34 is not set
-+CONFIG_RPCSEC_GSS_KRB5=y
-+# CONFIG_RPCSEC_GSS_SPKM3 is not set
-+# CONFIG_SMB_FS is not set
-+# CONFIG_CIFS is not set
-+# CONFIG_NCP_FS is not set
-+# CONFIG_CODA_FS is not set
-+# CONFIG_AFS_FS is not set
-+# CONFIG_9P_FS is not set
-+
-+#
-+# Partition Types
-+#
-+CONFIG_PARTITION_ADVANCED=y
-+# CONFIG_ACORN_PARTITION is not set
-+# CONFIG_OSF_PARTITION is not set
-+# CONFIG_AMIGA_PARTITION is not set
-+# CONFIG_ATARI_PARTITION is not set
-+# CONFIG_MAC_PARTITION is not set
-+CONFIG_MSDOS_PARTITION=y
-+# CONFIG_BSD_DISKLABEL is not set
-+# CONFIG_MINIX_SUBPARTITION is not set
-+# CONFIG_SOLARIS_X86_PARTITION is not set
-+# CONFIG_UNIXWARE_DISKLABEL is not set
-+# CONFIG_LDM_PARTITION is not set
-+# CONFIG_SGI_PARTITION is not set
-+# CONFIG_ULTRIX_PARTITION is not set
-+# CONFIG_SUN_PARTITION is not set
-+# CONFIG_KARMA_PARTITION is not set
-+# CONFIG_EFI_PARTITION is not set
-+# CONFIG_SYSV68_PARTITION is not set
-+
-+#
-+# Native Language Support
-+#
-+CONFIG_NLS=y
-+CONFIG_NLS_DEFAULT="iso8859-1"
-+# CONFIG_NLS_CODEPAGE_437 is not set
-+# CONFIG_NLS_CODEPAGE_737 is not set
-+# CONFIG_NLS_CODEPAGE_775 is not set
-+# CONFIG_NLS_CODEPAGE_850 is not set
-+# CONFIG_NLS_CODEPAGE_852 is not set
-+# CONFIG_NLS_CODEPAGE_855 is not set
-+# CONFIG_NLS_CODEPAGE_857 is not set
-+# CONFIG_NLS_CODEPAGE_860 is not set
-+# CONFIG_NLS_CODEPAGE_861 is not set
-+# CONFIG_NLS_CODEPAGE_862 is not set
-+# CONFIG_NLS_CODEPAGE_863 is not set
-+# CONFIG_NLS_CODEPAGE_864 is not set
-+# CONFIG_NLS_CODEPAGE_865 is not set
-+# CONFIG_NLS_CODEPAGE_866 is not set
-+# CONFIG_NLS_CODEPAGE_869 is not set
-+# CONFIG_NLS_CODEPAGE_936 is not set
-+# CONFIG_NLS_CODEPAGE_950 is not set
-+# CONFIG_NLS_CODEPAGE_932 is not set
-+# CONFIG_NLS_CODEPAGE_949 is not set
-+# CONFIG_NLS_CODEPAGE_874 is not set
-+# CONFIG_NLS_ISO8859_8 is not set
-+# CONFIG_NLS_CODEPAGE_1250 is not set
-+# CONFIG_NLS_CODEPAGE_1251 is not set
-+# CONFIG_NLS_ASCII is not set
-+# CONFIG_NLS_ISO8859_1 is not set
-+# CONFIG_NLS_ISO8859_2 is not set
-+# CONFIG_NLS_ISO8859_3 is not set
-+# CONFIG_NLS_ISO8859_4 is not set
-+# CONFIG_NLS_ISO8859_5 is not set
-+# CONFIG_NLS_ISO8859_6 is not set
-+# CONFIG_NLS_ISO8859_7 is not set
-+# CONFIG_NLS_ISO8859_9 is not set
-+# CONFIG_NLS_ISO8859_13 is not set
-+# CONFIG_NLS_ISO8859_14 is not set
-+# CONFIG_NLS_ISO8859_15 is not set
-+# CONFIG_NLS_KOI8_R is not set
-+# CONFIG_NLS_KOI8_U is not set
-+# CONFIG_NLS_UTF8 is not set
-+
-+#
-+# Distributed Lock Manager
-+#
-+# CONFIG_DLM is not set
-+
-+#
-+# Profiling support
-+#
-+# CONFIG_PROFILING is not set
-+
-+#
-+# Kernel hacking
-+#
-+# CONFIG_PRINTK_TIME is not set
-+CONFIG_ENABLE_MUST_CHECK=y
-+# CONFIG_MAGIC_SYSRQ is not set
-+# CONFIG_UNUSED_SYMBOLS is not set
-+# CONFIG_DEBUG_FS is not set
-+# CONFIG_HEADERS_CHECK is not set
-+# CONFIG_DEBUG_KERNEL is not set
-+CONFIG_DEBUG_BUGVERBOSE=y
-+CONFIG_FRAME_POINTER=y
-+CONFIG_DEBUG_USER=y
-+
-+#
-+# Security options
-+#
-+# CONFIG_KEYS is not set
-+# CONFIG_SECURITY is not set
-+
-+#
-+# Cryptographic options
-+#
-+CONFIG_CRYPTO=y
-+CONFIG_CRYPTO_ALGAPI=y
-+CONFIG_CRYPTO_BLKCIPHER=y
-+CONFIG_CRYPTO_MANAGER=y
-+# CONFIG_CRYPTO_HMAC is not set
-+# CONFIG_CRYPTO_XCBC is not set
-+# CONFIG_CRYPTO_NULL is not set
-+# CONFIG_CRYPTO_MD4 is not set
-+CONFIG_CRYPTO_MD5=y
-+CONFIG_CRYPTO_SHA1=y
-+# CONFIG_CRYPTO_SHA256 is not set
-+# CONFIG_CRYPTO_SHA512 is not set
-+# CONFIG_CRYPTO_WP512 is not set
-+# CONFIG_CRYPTO_TGR192 is not set
-+# CONFIG_CRYPTO_GF128MUL is not set
-+CONFIG_CRYPTO_ECB=y
-+CONFIG_CRYPTO_CBC=y
-+CONFIG_CRYPTO_PCBC=y
-+# CONFIG_CRYPTO_LRW is not set
-+# CONFIG_CRYPTO_CRYPTD is not set
-+CONFIG_CRYPTO_DES=y
-+# CONFIG_CRYPTO_FCRYPT is not set
-+# CONFIG_CRYPTO_BLOWFISH is not set
-+# CONFIG_CRYPTO_TWOFISH is not set
-+# CONFIG_CRYPTO_SERPENT is not set
-+CONFIG_CRYPTO_AES=y
-+# CONFIG_CRYPTO_CAST5 is not set
-+# CONFIG_CRYPTO_CAST6 is not set
-+# CONFIG_CRYPTO_TEA is not set
-+CONFIG_CRYPTO_ARC4=y
-+# CONFIG_CRYPTO_KHAZAD is not set
-+# CONFIG_CRYPTO_ANUBIS is not set
-+# CONFIG_CRYPTO_DEFLATE is not set
-+# CONFIG_CRYPTO_MICHAEL_MIC is not set
-+# CONFIG_CRYPTO_CRC32C is not set
-+# CONFIG_CRYPTO_CAMELLIA is not set
-+# CONFIG_CRYPTO_TEST is not set
-+
-+#
-+# Hardware crypto devices
-+#
-+
-+#
-+# Library routines
-+#
-+CONFIG_BITREVERSE=y
-+CONFIG_CRC_CCITT=y
-+# CONFIG_CRC16 is not set
-+# CONFIG_CRC_ITU_T is not set
-+CONFIG_CRC32=y
-+# CONFIG_LIBCRC32C is not set
-+CONFIG_ZLIB_INFLATE=y
-+CONFIG_PLIST=y
-+CONFIG_HAS_IOMEM=y
-+CONFIG_HAS_IOPORT=y
-+CONFIG_HAS_DMA=y
-diff -urN -x CVS linux-2.6.24/arch/arm/configs/homematic_defconfig linux-2.6/arch/arm/configs/homematic_defconfig
---- linux-2.6.24/arch/arm/configs/homematic_defconfig 1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/configs/homematic_defconfig 2007-12-31 15:18:42.000000000 +0200
-@@ -0,0 +1,1263 @@
-+#
-+# Automatically generated make config: don't edit
-+# Linux kernel version: 2.6.21.3
-+# Mon Jun 18 12:28:42 2007
-+#
-+CONFIG_ARM=y
-+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-+CONFIG_GENERIC_GPIO=y
-+# CONFIG_GENERIC_TIME is not set
-+CONFIG_MMU=y
-+# CONFIG_NO_IOPORT is not set
-+CONFIG_GENERIC_HARDIRQS=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_ZONE_DMA=y
-+CONFIG_VECTORS_BASE=0xffff0000
-+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-+
-+#
-+# Code maturity level options
-+#
-+CONFIG_EXPERIMENTAL=y
-+CONFIG_BROKEN_ON_SMP=y
-+CONFIG_INIT_ENV_ARG_LIMIT=32
-+
-+#
-+# General setup
-+#
-+CONFIG_LOCALVERSION=""
-+CONFIG_LOCALVERSION_AUTO=y
-+# CONFIG_SWAP is not set
-+CONFIG_SYSVIPC=y
-+# CONFIG_IPC_NS is not set
-+CONFIG_SYSVIPC_SYSCTL=y
-+# CONFIG_POSIX_MQUEUE is not set
-+# CONFIG_BSD_PROCESS_ACCT is not set
-+# CONFIG_TASKSTATS is not set
-+# CONFIG_UTS_NS is not set
-+# CONFIG_AUDIT is not set
-+# CONFIG_IKCONFIG is not set
-+# CONFIG_SYSFS_DEPRECATED is not set
-+# CONFIG_RELAY is not set
-+CONFIG_BLK_DEV_INITRD=y
-+CONFIG_INITRAMFS_SOURCE=""
-+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-+CONFIG_SYSCTL=y
-+# CONFIG_EMBEDDED is not set
-+CONFIG_UID16=y
-+CONFIG_SYSCTL_SYSCALL=y
-+CONFIG_KALLSYMS=y
-+# CONFIG_KALLSYMS_EXTRA_PASS 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_SHMEM=y
-+CONFIG_SLAB=y
-+CONFIG_VM_EVENT_COUNTERS=y
-+CONFIG_RT_MUTEXES=y
-+# CONFIG_TINY_SHMEM is not set
-+CONFIG_BASE_SMALL=0
-+# CONFIG_SLOB is not set
-+
-+#
-+# Loadable module support
-+#
-+CONFIG_MODULES=y
-+CONFIG_MODULE_UNLOAD=y
-+# CONFIG_MODULE_FORCE_UNLOAD is not set
-+# CONFIG_MODVERSIONS is not set
-+# CONFIG_MODULE_SRCVERSION_ALL is not set
-+CONFIG_KMOD=y
-+
-+#
-+# Block layer
-+#
-+CONFIG_BLOCK=y
-+# CONFIG_LBD is not set
-+# CONFIG_BLK_DEV_IO_TRACE is not set
-+# CONFIG_LSF is not set
-+
-+#
-+# IO Schedulers
-+#
-+CONFIG_IOSCHED_NOOP=y
-+# CONFIG_IOSCHED_AS is not set
-+CONFIG_IOSCHED_DEADLINE=y
-+# CONFIG_IOSCHED_CFQ is not set
-+# CONFIG_DEFAULT_AS is not set
-+CONFIG_DEFAULT_DEADLINE=y
-+# CONFIG_DEFAULT_CFQ is not set
-+# CONFIG_DEFAULT_NOOP is not set
-+CONFIG_DEFAULT_IOSCHED="deadline"
-+
-+#
-+# 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_CLPS7500 is not set
-+# CONFIG_ARCH_CLPS711X is not set
-+# CONFIG_ARCH_CO285 is not set
-+# CONFIG_ARCH_EBSA110 is not set
-+# CONFIG_ARCH_EP93XX 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_IOP32X is not set
-+# CONFIG_ARCH_IOP33X is not set
-+# CONFIG_ARCH_IOP13XX is not set
-+# CONFIG_ARCH_IXP4XX is not set
-+# CONFIG_ARCH_IXP2000 is not set
-+# CONFIG_ARCH_IXP23XX is not set
-+# CONFIG_ARCH_L7200 is not set
-+# CONFIG_ARCH_NS9XXX is not set
-+# CONFIG_ARCH_PNX4008 is not set
-+# CONFIG_ARCH_PXA is not set
-+# CONFIG_ARCH_RPC is not set
-+# CONFIG_ARCH_SA1100 is not set
-+# CONFIG_ARCH_S3C2410 is not set
-+# CONFIG_ARCH_SHARK is not set
-+# CONFIG_ARCH_LH7A40X is not set
-+# CONFIG_ARCH_OMAP is not set
-+
-+#
-+# Atmel AT91 System-on-Chip
-+#
-+CONFIG_ARCH_AT91RM9200=y
-+# CONFIG_ARCH_AT91SAM9260 is not set
-+# CONFIG_ARCH_AT91SAM9261 is not set
-+# CONFIG_ARCH_AT91SAM9263 is not set
-+# CONFIG_ARCH_AT91SAM9RL is not set
-+
-+#
-+# AT91RM9200 Board Type
-+#
-+# CONFIG_MACH_ONEARM is not set
-+# CONFIG_ARCH_AT91RM9200DK is not set
-+# CONFIG_MACH_AT91RM9200EK is not set
-+# CONFIG_MACH_CSB337 is not set
-+# CONFIG_MACH_CSB637 is not set
-+# CONFIG_MACH_CARMEVA is not set
-+# CONFIG_MACH_ATEB9200 is not set
-+# CONFIG_MACH_KB9200 is not set
-+# CONFIG_MACH_KAFA is not set
-+# CONFIG_MACH_CHUB is not set
-+CONFIG_MACH_HOMEMATIC=y
-+
-+#
-+# AT91 Board Options
-+#
-+
-+#
-+# AT91 Feature Selections
-+#
-+# CONFIG_AT91_PROGRAMMABLE_CLOCKS is not set
-+# CONFIG_ATMEL_TCLIB is not set
-+
-+#
-+# Processor Type
-+#
-+CONFIG_CPU_32=y
-+CONFIG_CPU_ARM920T=y
-+CONFIG_CPU_32v4T=y
-+CONFIG_CPU_ABRT_EV4T=y
-+CONFIG_CPU_CACHE_V4WT=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=y
-+# CONFIG_CPU_ICACHE_DISABLE is not set
-+# CONFIG_CPU_DCACHE_DISABLE is not set
-+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
-+# CONFIG_OUTER_CACHE is not set
-+
-+#
-+# Bus support
-+#
-+
-+#
-+# PCCARD (PCMCIA/CardBus) support
-+#
-+# CONFIG_PCCARD is not set
-+
-+#
-+# Kernel Features
-+#
-+# CONFIG_PREEMPT is not set
-+# CONFIG_NO_IDLE_HZ is not set
-+CONFIG_HZ=100
-+# CONFIG_AEABI is not set
-+# CONFIG_ARCH_DISCONTIGMEM_ENABLE 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_SPARSEMEM_STATIC is not set
-+CONFIG_SPLIT_PTLOCK_CPUS=4096
-+# CONFIG_RESOURCES_64BIT is not set
-+CONFIG_ZONE_DMA_FLAG=1
-+# CONFIG_LEDS is not set
-+CONFIG_ALIGNMENT_TRAP=y
-+
-+#
-+# Boot options
-+#
-+CONFIG_ZBOOT_ROM_TEXT=0x0
-+CONFIG_ZBOOT_ROM_BSS=0x0
-+CONFIG_CMDLINE=""
-+# CONFIG_XIP_KERNEL is not set
-+# CONFIG_KEXEC 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
-+
-+#
-+# Userspace binary formats
-+#
-+CONFIG_BINFMT_ELF=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
-+
-+#
-+# Networking
-+#
-+CONFIG_NET=y
-+
-+#
-+# Networking options
-+#
-+# CONFIG_NETDEBUG is not set
-+CONFIG_PACKET=y
-+# CONFIG_PACKET_MMAP is not set
-+CONFIG_UNIX=y
-+# CONFIG_NET_KEY is not set
-+CONFIG_INET=y
-+CONFIG_IP_MULTICAST=y
-+# CONFIG_IP_ADVANCED_ROUTER is not set
-+CONFIG_IP_FIB_HASH=y
-+CONFIG_IP_PNP=y
-+CONFIG_IP_PNP_DHCP=y
-+# CONFIG_IP_PNP_BOOTP is not set
-+# CONFIG_IP_PNP_RARP is not set
-+# CONFIG_NET_IPIP is not set
-+# CONFIG_NET_IPGRE is not set
-+# CONFIG_IP_MROUTE 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 is not set
-+# 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_DIAG=y
-+CONFIG_INET_TCP_DIAG=y
-+# 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 is not set
-+# CONFIG_INET6_XFRM_TUNNEL is not set
-+# CONFIG_INET6_TUNNEL is not set
-+# CONFIG_NETWORK_SECMARK is not set
-+# CONFIG_NETFILTER is not set
-+
-+#
-+# DCCP Configuration (EXPERIMENTAL)
-+#
-+# CONFIG_IP_DCCP is not set
-+
-+#
-+# SCTP Configuration (EXPERIMENTAL)
-+#
-+# CONFIG_IP_SCTP is not set
-+
-+#
-+# TIPC Configuration (EXPERIMENTAL)
-+#
-+# CONFIG_TIPC is not set
-+# CONFIG_ATM is not set
-+# CONFIG_BRIDGE 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
-+
-+#
-+# QoS and/or fair queueing
-+#
-+# CONFIG_NET_SCHED is not set
-+
-+#
-+# Network testing
-+#
-+# CONFIG_NET_PKTGEN is not set
-+# CONFIG_HAMRADIO is not set
-+# CONFIG_IRDA is not set
-+# CONFIG_BT is not set
-+CONFIG_IEEE80211=m
-+# CONFIG_IEEE80211_DEBUG is not set
-+CONFIG_IEEE80211_CRYPT_WEP=m
-+CONFIG_IEEE80211_CRYPT_CCMP=m
-+CONFIG_IEEE80211_CRYPT_TKIP=m
-+CONFIG_IEEE80211_SOFTMAC=m
-+# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
-+CONFIG_WIRELESS_EXT=y
-+
-+#
-+# Device Drivers
-+#
-+
-+#
-+# Generic Driver Options
-+#
-+CONFIG_STANDALONE=y
-+CONFIG_PREVENT_FIRMWARE_BUILD=y
-+CONFIG_FW_LOADER=y
-+# CONFIG_SYS_HYPERVISOR is not set
-+
-+#
-+# Connector - unified userspace <-> kernelspace linker
-+#
-+# CONFIG_CONNECTOR is not set
-+
-+#
-+# Memory Technology Devices (MTD)
-+#
-+CONFIG_MTD=y
-+# CONFIG_MTD_DEBUG is not set
-+# CONFIG_MTD_CONCAT is not set
-+CONFIG_MTD_PARTITIONS=y
-+# CONFIG_MTD_REDBOOT_PARTS is not set
-+CONFIG_MTD_CMDLINE_PARTS=y
-+# CONFIG_MTD_AFS_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
-+
-+#
-+# 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
-+# CONFIG_MTD_OBSOLETE_CHIPS 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_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 is not set
-+# CONFIG_MTD_DOC2001PLUS is not set
-+CONFIG_MTD_AT91_DATAFLASH=y
-+
-+#
-+# NAND Flash Device Drivers
-+#
-+CONFIG_MTD_NAND=y
-+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-+# CONFIG_MTD_NAND_ECC_SMC is not set
-+CONFIG_MTD_NAND_IDS=y
-+# CONFIG_MTD_NAND_DISKONCHIP is not set
-+CONFIG_MTD_NAND_AT91=y
-+# CONFIG_MTD_NAND_NANDSIM is not set
-+
-+#
-+# OneNAND Flash Device Drivers
-+#
-+# CONFIG_MTD_ONENAND is not set
-+
-+#
-+# Parallel port support
-+#
-+# CONFIG_PARPORT is not set
-+
-+#
-+# Plug and Play support
-+#
-+# CONFIG_PNPACPI is not set
-+
-+#
-+# Block devices
-+#
-+# CONFIG_BLK_DEV_COW_COMMON is not set
-+# CONFIG_BLK_DEV_LOOP is not set
-+# CONFIG_BLK_DEV_NBD is not set
-+# CONFIG_BLK_DEV_UB is not set
-+CONFIG_BLK_DEV_RAM=y
-+CONFIG_BLK_DEV_RAM_COUNT=16
-+CONFIG_BLK_DEV_RAM_SIZE=4096
-+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
-+# CONFIG_CDROM_PKTCDVD is not set
-+# CONFIG_ATA_OVER_ETH is not set
-+
-+#
-+# SCSI device support
-+#
-+# CONFIG_RAID_ATTRS is not set
-+CONFIG_SCSI=y
-+# CONFIG_SCSI_TGT is not set
-+# CONFIG_SCSI_NETLINK is not set
-+# CONFIG_SCSI_PROC_FS is not set
-+
-+#
-+# SCSI support type (disk, tape, CD-ROM)
-+#
-+CONFIG_BLK_DEV_SD=y
-+# CONFIG_CHR_DEV_ST is not set
-+# CONFIG_CHR_DEV_OSST is not set
-+# CONFIG_BLK_DEV_SR is not set
-+# CONFIG_CHR_DEV_SG is not set
-+# CONFIG_CHR_DEV_SCH is not set
-+
-+#
-+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-+#
-+# CONFIG_SCSI_MULTI_LUN is not set
-+# CONFIG_SCSI_CONSTANTS is not set
-+# CONFIG_SCSI_LOGGING is not set
-+# CONFIG_SCSI_SCAN_ASYNC is not set
-+
-+#
-+# SCSI Transports
-+#
-+# CONFIG_SCSI_SPI_ATTRS is not set
-+# CONFIG_SCSI_FC_ATTRS is not set
-+# CONFIG_SCSI_ISCSI_ATTRS is not set
-+# CONFIG_SCSI_SAS_ATTRS is not set
-+# CONFIG_SCSI_SAS_LIBSAS is not set
-+
-+#
-+# SCSI low-level drivers
-+#
-+# CONFIG_ISCSI_TCP is not set
-+# CONFIG_SCSI_DEBUG is not set
-+
-+#
-+# Serial ATA (prod) and Parallel ATA (experimental) drivers
-+#
-+# CONFIG_ATA is not set
-+
-+#
-+# Multi-device support (RAID and LVM)
-+#
-+# CONFIG_MD is not set
-+
-+#
-+# Fusion MPT device support
-+#
-+# CONFIG_FUSION is not set
-+
-+#
-+# IEEE 1394 (FireWire) support
-+#
-+
-+#
-+# I2O device support
-+#
-+
-+#
-+# Network device support
-+#
-+CONFIG_NETDEVICES=y
-+# CONFIG_DUMMY is not set
-+# CONFIG_BONDING is not set
-+# CONFIG_EQUALIZER is not set
-+# CONFIG_TUN is not set
-+
-+#
-+# PHY device support
-+#
-+# CONFIG_PHYLIB is not set
-+
-+#
-+# Ethernet (10 or 100Mbit)
-+#
-+CONFIG_NET_ETHERNET=y
-+CONFIG_MII=y
-+CONFIG_ARM_AT91_ETHER=y
-+# CONFIG_SMC91X is not set
-+# CONFIG_DM9000 is not set
-+
-+#
-+# Ethernet (1000 Mbit)
-+#
-+
-+#
-+# Ethernet (10000 Mbit)
-+#
-+
-+#
-+# Token Ring devices
-+#
-+
-+#
-+# Wireless LAN (non-hamradio)
-+#
-+CONFIG_NET_RADIO=y
-+# CONFIG_NET_WIRELESS_RTNETLINK is not set
-+
-+#
-+# Obsolete Wireless cards support (pre-802.11)
-+#
-+# CONFIG_STRIP is not set
-+# CONFIG_USB_ZD1201 is not set
-+# CONFIG_HOSTAP is not set
-+CONFIG_ZD1211RW=m
-+# CONFIG_ZD1211RW_DEBUG is not set
-+
-+#
-+# Wan interfaces
-+#
-+# CONFIG_WAN is not set
-+# CONFIG_PPP is not set
-+# CONFIG_SLIP is not set
-+# CONFIG_SHAPER is not set
-+# CONFIG_NETCONSOLE is not set
-+# CONFIG_NETPOLL is not set
-+# CONFIG_NET_POLL_CONTROLLER is not set
-+
-+#
-+# ISDN subsystem
-+#
-+# CONFIG_ISDN is not set
-+
-+#
-+# Input device support
-+#
-+CONFIG_INPUT=y
-+# CONFIG_INPUT_FF_MEMLESS is not set
-+
-+#
-+# Userland interfaces
-+#
-+CONFIG_INPUT_MOUSEDEV=y
-+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-+# CONFIG_INPUT_JOYDEV is not set
-+# CONFIG_INPUT_TSDEV is not set
-+# CONFIG_INPUT_EVDEV is not set
-+# CONFIG_INPUT_EVBUG is not set
-+
-+#
-+# Input Device Drivers
-+#
-+CONFIG_INPUT_KEYBOARD=y
-+CONFIG_KEYBOARD_ATKBD=y
-+# CONFIG_KEYBOARD_SUNKBD is not set
-+# CONFIG_KEYBOARD_LKKBD is not set
-+# CONFIG_KEYBOARD_XTKBD is not set
-+# CONFIG_KEYBOARD_NEWTON is not set
-+# CONFIG_KEYBOARD_STOWAWAY is not set
-+# CONFIG_KEYBOARD_GPIO is not set
-+# CONFIG_INPUT_MOUSE is not set
-+# CONFIG_INPUT_JOYSTICK is not set
-+# CONFIG_INPUT_TOUCHSCREEN is not set
-+# CONFIG_INPUT_MISC is not set
-+
-+#
-+# Hardware I/O ports
-+#
-+CONFIG_SERIO=y
-+CONFIG_SERIO_SERPORT=y
-+CONFIG_SERIO_LIBPS2=y
-+# CONFIG_SERIO_RAW is not set
-+# CONFIG_GAMEPORT is not set
-+
-+#
-+# Character devices
-+#
-+CONFIG_VT=y
-+CONFIG_VT_CONSOLE=y
-+CONFIG_HW_CONSOLE=y
-+# CONFIG_VT_HW_CONSOLE_BINDING is not set
-+# CONFIG_SERIAL_NONSTANDARD is not set
-+
-+#
-+# Serial drivers
-+#
-+# CONFIG_SERIAL_8250 is not set
-+
-+#
-+# Non-8250 serial port support
-+#
-+CONFIG_SERIAL_ATMEL=y
-+CONFIG_SERIAL_ATMEL_CONSOLE=y
-+# CONFIG_SERIAL_ATMEL_TTYAT is not set
-+CONFIG_SERIAL_CORE=y
-+CONFIG_SERIAL_CORE_CONSOLE=y
-+CONFIG_UNIX98_PTYS=y
-+CONFIG_LEGACY_PTYS=y
-+CONFIG_LEGACY_PTY_COUNT=256
-+
-+#
-+# IPMI
-+#
-+# CONFIG_IPMI_HANDLER is not set
-+
-+#
-+# Watchdog Cards
-+#
-+CONFIG_WATCHDOG=y
-+CONFIG_WATCHDOG_NOWAYOUT=y
-+
-+#
-+# Watchdog Device Drivers
-+#
-+# CONFIG_SOFT_WATCHDOG is not set
-+CONFIG_AT91RM9200_WATCHDOG=y
-+
-+#
-+# USB-based Watchdog Cards
-+#
-+# CONFIG_USBPCWATCHDOG is not set
-+# CONFIG_HW_RANDOM is not set
-+# CONFIG_NVRAM is not set
-+# CONFIG_DTLK is not set
-+# CONFIG_R3964 is not set
-+# CONFIG_RAW_DRIVER is not set
-+
-+#
-+# TPM devices
-+#
-+# CONFIG_TCG_TPM is not set
-+CONFIG_AT91_SPI=y
-+# CONFIG_AT91_SPIDEV is not set
-+
-+#
-+# I2C support
-+#
-+CONFIG_I2C=y
-+CONFIG_I2C_CHARDEV=m
-+
-+#
-+# I2C Algorithms
-+#
-+# CONFIG_I2C_ALGOBIT is not set
-+# CONFIG_I2C_ALGOPCF is not set
-+# CONFIG_I2C_ALGOPCA is not set
-+
-+#
-+# I2C Hardware Bus support
-+#
-+# CONFIG_I2C_AT91 is not set
-+# CONFIG_I2C_OCORES is not set
-+# CONFIG_I2C_PARPORT_LIGHT is not set
-+# CONFIG_I2C_STUB is not set
-+# CONFIG_I2C_PCA is not set
-+# CONFIG_I2C_PCA_ISA is not set
-+
-+#
-+# Miscellaneous I2C Chip support
-+#
-+# CONFIG_SENSORS_DS1337 is not set
-+# CONFIG_SENSORS_DS1374 is not set
-+# CONFIG_SENSORS_EEPROM is not set
-+# CONFIG_SENSORS_PCF8574 is not set
-+# CONFIG_SENSORS_PCA9539 is not set
-+# CONFIG_SENSORS_PCF8591 is not set
-+# CONFIG_SENSORS_MAX6875 is not set
-+# CONFIG_I2C_DEBUG_CORE is not set
-+# CONFIG_I2C_DEBUG_ALGO is not set
-+# CONFIG_I2C_DEBUG_BUS is not set
-+# CONFIG_I2C_DEBUG_CHIP is not set
-+
-+#
-+# SPI support
-+#
-+# CONFIG_SPI is not set
-+# CONFIG_SPI_MASTER is not set
-+
-+#
-+# Dallas's 1-wire bus
-+#
-+# CONFIG_W1 is not set
-+
-+#
-+# Hardware Monitoring support
-+#
-+# CONFIG_HWMON is not set
-+# CONFIG_HWMON_VID is not set
-+
-+#
-+# Misc devices
-+#
-+
-+#
-+# Multifunction device drivers
-+#
-+# CONFIG_MFD_SM501 is not set
-+
-+#
-+# LED devices
-+#
-+# CONFIG_NEW_LEDS is not set
-+
-+#
-+# LED drivers
-+#
-+
-+#
-+# LED Triggers
-+#
-+
-+#
-+# Multimedia devices
-+#
-+# CONFIG_VIDEO_DEV is not set
-+
-+#
-+# Digital Video Broadcasting Devices
-+#
-+# CONFIG_DVB is not set
-+# CONFIG_USB_DABUSB is not set
-+
-+#
-+# Graphics support
-+#
-+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-+# CONFIG_FB is not set
-+
-+#
-+# Console display driver support
-+#
-+# CONFIG_VGA_CONSOLE is not set
-+CONFIG_DUMMY_CONSOLE=y
-+
-+#
-+# Sound
-+#
-+# CONFIG_SOUND is not set
-+
-+#
-+# HID Devices
-+#
-+# CONFIG_HID is not set
-+
-+#
-+# USB support
-+#
-+CONFIG_USB_ARCH_HAS_HCD=y
-+CONFIG_USB_ARCH_HAS_OHCI=y
-+# CONFIG_USB_ARCH_HAS_EHCI is not set
-+CONFIG_USB=y
-+# CONFIG_USB_DEBUG is not set
-+
-+#
-+# Miscellaneous USB options
-+#
-+CONFIG_USB_DEVICEFS=y
-+# CONFIG_USB_DYNAMIC_MINORS is not set
-+# CONFIG_USB_OTG is not set
-+
-+#
-+# USB Host Controller Drivers
-+#
-+# CONFIG_USB_ISP116X_HCD is not set
-+CONFIG_USB_OHCI_HCD=y
-+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
-+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-+# CONFIG_USB_SL811_HCD is not set
-+
-+#
-+# USB Device Class drivers
-+#
-+# CONFIG_USB_ACM is not set
-+# CONFIG_USB_PRINTER is not set
-+
-+#
-+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-+#
-+
-+#
-+# may also be needed; see USB_STORAGE Help for more information
-+#
-+CONFIG_USB_STORAGE=y
-+# CONFIG_USB_STORAGE_DEBUG is not set
-+# CONFIG_USB_STORAGE_DATAFAB is not set
-+# CONFIG_USB_STORAGE_FREECOM is not set
-+# CONFIG_USB_STORAGE_DPCM is not set
-+# CONFIG_USB_STORAGE_USBAT is not set
-+# CONFIG_USB_STORAGE_SDDR09 is not set
-+# CONFIG_USB_STORAGE_SDDR55 is not set
-+# CONFIG_USB_STORAGE_JUMPSHOT is not set
-+# CONFIG_USB_STORAGE_ALAUDA is not set
-+# CONFIG_USB_STORAGE_KARMA is not set
-+# CONFIG_USB_LIBUSUAL is not set
-+
-+#
-+# USB Input Devices
-+#
-+# CONFIG_USB_HID is not set
-+
-+#
-+# USB HID Boot Protocol drivers
-+#
-+# CONFIG_USB_KBD is not set
-+# CONFIG_USB_MOUSE is not set
-+# CONFIG_USB_AIPTEK is not set
-+# CONFIG_USB_WACOM is not set
-+# CONFIG_USB_ACECAD is not set
-+# CONFIG_USB_KBTAB is not set
-+# CONFIG_USB_POWERMATE is not set
-+# CONFIG_USB_TOUCHSCREEN is not set
-+# CONFIG_USB_YEALINK is not set
-+# CONFIG_USB_XPAD is not set
-+# CONFIG_USB_ATI_REMOTE is not set
-+# CONFIG_USB_ATI_REMOTE2 is not set
-+# CONFIG_USB_KEYSPAN_REMOTE is not set
-+# CONFIG_USB_APPLETOUCH is not set
-+# CONFIG_USB_GTCO is not set
-+
-+#
-+# USB Imaging devices
-+#
-+# CONFIG_USB_MDC800 is not set
-+# CONFIG_USB_MICROTEK is not set
-+
-+#
-+# USB Network Adapters
-+#
-+# CONFIG_USB_CATC is not set
-+# CONFIG_USB_KAWETH is not set
-+# CONFIG_USB_PEGASUS is not set
-+# CONFIG_USB_RTL8150 is not set
-+# CONFIG_USB_USBNET_MII is not set
-+# CONFIG_USB_USBNET is not set
-+# CONFIG_USB_MON is not set
-+
-+#
-+# USB port drivers
-+#
-+
-+#
-+# USB Serial Converter support
-+#
-+CONFIG_USB_SERIAL=m
-+# CONFIG_USB_SERIAL_GENERIC is not set
-+# CONFIG_USB_SERIAL_AIRCABLE is not set
-+# CONFIG_USB_SERIAL_AIRPRIME is not set
-+# CONFIG_USB_SERIAL_ARK3116 is not set
-+# CONFIG_USB_SERIAL_BELKIN is not set
-+# CONFIG_USB_SERIAL_WHITEHEAT is not set
-+# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
-+# CONFIG_USB_SERIAL_CP2101 is not set
-+# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
-+# CONFIG_USB_SERIAL_EMPEG is not set
-+CONFIG_USB_SERIAL_FTDI_SIO=m
-+# CONFIG_USB_SERIAL_FUNSOFT is not set
-+# CONFIG_USB_SERIAL_VISOR is not set
-+# CONFIG_USB_SERIAL_IPAQ is not set
-+# CONFIG_USB_SERIAL_IR is not set
-+# CONFIG_USB_SERIAL_EDGEPORT is not set
-+# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
-+# CONFIG_USB_SERIAL_GARMIN is not set
-+# CONFIG_USB_SERIAL_IPW is not set
-+# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
-+# CONFIG_USB_SERIAL_KEYSPAN is not set
-+# CONFIG_USB_SERIAL_KLSI is not set
-+# CONFIG_USB_SERIAL_KOBIL_SCT is not set
-+# CONFIG_USB_SERIAL_MCT_U232 is not set
-+# CONFIG_USB_SERIAL_MOS7720 is not set
-+# CONFIG_USB_SERIAL_MOS7840 is not set
-+# CONFIG_USB_SERIAL_NAVMAN is not set
-+# CONFIG_USB_SERIAL_PL2303 is not set
-+# CONFIG_USB_SERIAL_HP4X is not set
-+# CONFIG_USB_SERIAL_SAFE is not set
-+# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
-+# CONFIG_USB_SERIAL_TI is not set
-+# CONFIG_USB_SERIAL_CYBERJACK is not set
-+# CONFIG_USB_SERIAL_XIRCOM is not set
-+# CONFIG_USB_SERIAL_OPTION is not set
-+# CONFIG_USB_SERIAL_OMNINET is not set
-+# CONFIG_USB_SERIAL_DEBUG is not set
-+
-+#
-+# USB Miscellaneous drivers
-+#
-+# CONFIG_USB_EMI62 is not set
-+# CONFIG_USB_EMI26 is not set
-+# CONFIG_USB_ADUTUX is not set
-+# CONFIG_USB_AUERSWALD is not set
-+# CONFIG_USB_RIO500 is not set
-+# CONFIG_USB_LEGOTOWER is not set
-+# CONFIG_USB_LCD is not set
-+# CONFIG_USB_BERRY_CHARGE is not set
-+# CONFIG_USB_LED is not set
-+# CONFIG_USB_CYPRESS_CY7C63 is not set
-+# CONFIG_USB_CYTHERM is not set
-+# CONFIG_USB_PHIDGET is not set
-+# CONFIG_USB_IDMOUSE is not set
-+# CONFIG_USB_FTDI_ELAN is not set
-+# CONFIG_USB_APPLEDISPLAY is not set
-+# CONFIG_USB_LD is not set
-+# CONFIG_USB_TRANCEVIBRATOR is not set
-+# CONFIG_USB_IOWARRIOR is not set
-+# CONFIG_USB_TEST is not set
-+
-+#
-+# USB DSL modem support
-+#
-+
-+#
-+# USB Gadget Support
-+#
-+CONFIG_USB_GADGET=m
-+# CONFIG_USB_GADGET_DEBUG_FILES is not set
-+CONFIG_USB_GADGET_SELECTED=y
-+# CONFIG_USB_GADGET_NET2280 is not set
-+# CONFIG_USB_GADGET_PXA2XX is not set
-+# CONFIG_USB_GADGET_GOKU is not set
-+# CONFIG_USB_GADGET_LH7A40X is not set
-+# CONFIG_USB_GADGET_OMAP is not set
-+CONFIG_USB_GADGET_AT91=y
-+CONFIG_USB_AT91=m
-+# CONFIG_USB_GADGET_DUMMY_HCD is not set
-+# CONFIG_USB_GADGET_DUALSPEED is not set
-+CONFIG_USB_ZERO=m
-+CONFIG_USB_ETH=m
-+CONFIG_USB_ETH_RNDIS=y
-+CONFIG_USB_GADGETFS=m
-+CONFIG_USB_FILE_STORAGE=m
-+CONFIG_USB_FILE_STORAGE_TEST=y
-+CONFIG_USB_G_SERIAL=m
-+# CONFIG_USB_MIDI_GADGET is not set
-+
-+#
-+# MMC/SD Card support
-+#
-+# CONFIG_MMC is not set
-+
-+#
-+# Real Time Clock
-+#
-+CONFIG_RTC_LIB=y
-+# CONFIG_RTC_CLASS is not set
-+
-+#
-+# File systems
-+#
-+# CONFIG_EXT2_FS is not set
-+# CONFIG_EXT3_FS is not set
-+# CONFIG_EXT4DEV_FS is not set
-+# CONFIG_REISERFS_FS is not set
-+# CONFIG_JFS_FS is not set
-+# CONFIG_FS_POSIX_ACL is not set
-+# CONFIG_XFS_FS is not set
-+# CONFIG_GFS2_FS is not set
-+# CONFIG_OCFS2_FS is not set
-+CONFIG_MINIX_FS=y
-+# CONFIG_ROMFS_FS is not set
-+# CONFIG_INOTIFY is not set
-+# CONFIG_QUOTA is not set
-+CONFIG_DNOTIFY=y
-+# CONFIG_AUTOFS_FS is not set
-+# CONFIG_AUTOFS4_FS is not set
-+# CONFIG_FUSE_FS is not set
-+
-+#
-+# CD-ROM/DVD Filesystems
-+#
-+# CONFIG_ISO9660_FS is not set
-+# CONFIG_UDF_FS is not set
-+
-+#
-+# DOS/FAT/NT Filesystems
-+#
-+CONFIG_FAT_FS=m
-+CONFIG_MSDOS_FS=m
-+CONFIG_VFAT_FS=m
-+CONFIG_FAT_DEFAULT_CODEPAGE=437
-+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-+# CONFIG_NTFS_FS is not set
-+
-+#
-+# Pseudo filesystems
-+#
-+CONFIG_PROC_FS=y
-+CONFIG_PROC_SYSCTL=y
-+CONFIG_SYSFS=y
-+CONFIG_TMPFS=y
-+# CONFIG_TMPFS_POSIX_ACL is not set
-+# CONFIG_HUGETLB_PAGE is not set
-+CONFIG_RAMFS=y
-+# CONFIG_CONFIGFS_FS is not set
-+
-+#
-+# Miscellaneous filesystems
-+#
-+# CONFIG_ADFS_FS is not set
-+# CONFIG_AFFS_FS is not set
-+# CONFIG_HFS_FS is not set
-+# CONFIG_HFSPLUS_FS is not set
-+# CONFIG_BEFS_FS is not set
-+# CONFIG_BFS_FS is not set
-+# CONFIG_EFS_FS is not set
-+CONFIG_YAFFS_FS=y
-+CONFIG_YAFFS_YAFFS1=y
-+# CONFIG_YAFFS_DOES_ECC is not set
-+CONFIG_YAFFS_YAFFS2=y
-+CONFIG_YAFFS_AUTO_YAFFS2=y
-+# CONFIG_YAFFS_DISABLE_LAZY_LOAD is not set
-+CONFIG_YAFFS_CHECKPOINT_RESERVED_BLOCKS=10
-+# CONFIG_YAFFS_DISABLE_WIDE_TNODES is not set
-+# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set
-+CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y
-+CONFIG_JFFS2_FS=y
-+CONFIG_JFFS2_FS_DEBUG=0
-+CONFIG_JFFS2_FS_WRITEBUFFER=y
-+# CONFIG_JFFS2_SUMMARY is not set
-+# CONFIG_JFFS2_FS_XATTR is not set
-+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-+CONFIG_JFFS2_ZLIB=y
-+CONFIG_JFFS2_RTIME=y
-+# CONFIG_JFFS2_RUBIN is not set
-+CONFIG_CRAMFS=y
-+# CONFIG_VXFS_FS is not set
-+# CONFIG_HPFS_FS is not set
-+# CONFIG_QNX4FS_FS is not set
-+# CONFIG_SYSV_FS is not set
-+# CONFIG_UFS_FS is not set
-+
-+#
-+# Network File Systems
-+#
-+CONFIG_NFS_FS=y
-+CONFIG_NFS_V3=y
-+# CONFIG_NFS_V3_ACL is not set
-+# CONFIG_NFS_V4 is not set
-+# CONFIG_NFS_DIRECTIO is not set
-+# CONFIG_NFSD is not set
-+CONFIG_ROOT_NFS=y
-+CONFIG_LOCKD=y
-+CONFIG_LOCKD_V4=y
-+CONFIG_NFS_COMMON=y
-+CONFIG_SUNRPC=y
-+# CONFIG_RPCSEC_GSS_KRB5 is not set
-+# CONFIG_RPCSEC_GSS_SPKM3 is not set
-+# CONFIG_SMB_FS is not set
-+# CONFIG_CIFS is not set
-+# CONFIG_NCP_FS is not set
-+# CONFIG_CODA_FS is not set
-+# CONFIG_AFS_FS is not set
-+# CONFIG_9P_FS is not set
-+
-+#
-+# Partition Types
-+#
-+# CONFIG_PARTITION_ADVANCED is not set
-+CONFIG_MSDOS_PARTITION=y
-+
-+#
-+# Native Language Support
-+#
-+CONFIG_NLS=m
-+CONFIG_NLS_DEFAULT="iso8859-1"
-+CONFIG_NLS_CODEPAGE_437=m
-+# CONFIG_NLS_CODEPAGE_737 is not set
-+# CONFIG_NLS_CODEPAGE_775 is not set
-+CONFIG_NLS_CODEPAGE_850=m
-+# CONFIG_NLS_CODEPAGE_852 is not set
-+# CONFIG_NLS_CODEPAGE_855 is not set
-+# CONFIG_NLS_CODEPAGE_857 is not set
-+# CONFIG_NLS_CODEPAGE_860 is not set
-+# CONFIG_NLS_CODEPAGE_861 is not set
-+# CONFIG_NLS_CODEPAGE_862 is not set
-+# CONFIG_NLS_CODEPAGE_863 is not set
-+# CONFIG_NLS_CODEPAGE_864 is not set
-+# CONFIG_NLS_CODEPAGE_865 is not set
-+# CONFIG_NLS_CODEPAGE_866 is not set
-+# CONFIG_NLS_CODEPAGE_869 is not set
-+# CONFIG_NLS_CODEPAGE_936 is not set
-+# CONFIG_NLS_CODEPAGE_950 is not set
-+# CONFIG_NLS_CODEPAGE_932 is not set
-+# CONFIG_NLS_CODEPAGE_949 is not set
-+# CONFIG_NLS_CODEPAGE_874 is not set
-+# CONFIG_NLS_ISO8859_8 is not set
-+# CONFIG_NLS_CODEPAGE_1250 is not set
-+# CONFIG_NLS_CODEPAGE_1251 is not set
-+# CONFIG_NLS_ASCII is not set
-+CONFIG_NLS_ISO8859_1=m
-+# CONFIG_NLS_ISO8859_2 is not set
-+# CONFIG_NLS_ISO8859_3 is not set
-+# CONFIG_NLS_ISO8859_4 is not set
-+# CONFIG_NLS_ISO8859_5 is not set
-+# CONFIG_NLS_ISO8859_6 is not set
-+# CONFIG_NLS_ISO8859_7 is not set
-+# CONFIG_NLS_ISO8859_9 is not set
-+# CONFIG_NLS_ISO8859_13 is not set
-+# CONFIG_NLS_ISO8859_14 is not set
-+# CONFIG_NLS_ISO8859_15 is not set
-+# CONFIG_NLS_KOI8_R is not set
-+# CONFIG_NLS_KOI8_U is not set
-+# CONFIG_NLS_UTF8 is not set
-+
-+#
-+# Distributed Lock Manager
-+#
-+# CONFIG_DLM is not set
-+
-+#
-+# Profiling support
-+#
-+# CONFIG_PROFILING is not set
-+
-+#
-+# Kernel hacking
-+#
-+# CONFIG_PRINTK_TIME is not set
-+CONFIG_ENABLE_MUST_CHECK=y
-+# CONFIG_MAGIC_SYSRQ is not set
-+# CONFIG_UNUSED_SYMBOLS is not set
-+# CONFIG_DEBUG_FS is not set
-+# CONFIG_HEADERS_CHECK is not set
-+# CONFIG_DEBUG_KERNEL is not set
-+CONFIG_LOG_BUF_SHIFT=14
-+CONFIG_DEBUG_BUGVERBOSE=y
-+CONFIG_FRAME_POINTER=y
-+# CONFIG_DEBUG_USER is not set
-+
-+#
-+# Security options
-+#
-+# CONFIG_KEYS is not set
-+# CONFIG_SECURITY is not set
-+
-+#
-+# Cryptographic options
-+#
-+CONFIG_CRYPTO=y
-+CONFIG_CRYPTO_ALGAPI=m
-+CONFIG_CRYPTO_BLKCIPHER=m
-+CONFIG_CRYPTO_MANAGER=m
-+# CONFIG_CRYPTO_HMAC is not set
-+# CONFIG_CRYPTO_XCBC is not set
-+# CONFIG_CRYPTO_NULL is not set
-+# CONFIG_CRYPTO_MD4 is not set
-+# CONFIG_CRYPTO_MD5 is not set
-+# CONFIG_CRYPTO_SHA1 is not set
-+# CONFIG_CRYPTO_SHA256 is not set
-+# CONFIG_CRYPTO_SHA512 is not set
-+# CONFIG_CRYPTO_WP512 is not set
-+# CONFIG_CRYPTO_TGR192 is not set
-+# CONFIG_CRYPTO_GF128MUL is not set
-+CONFIG_CRYPTO_ECB=m
-+CONFIG_CRYPTO_CBC=m
-+CONFIG_CRYPTO_PCBC=m
-+# CONFIG_CRYPTO_LRW is not set
-+# CONFIG_CRYPTO_DES is not set
-+# CONFIG_CRYPTO_FCRYPT is not set
-+# CONFIG_CRYPTO_BLOWFISH is not set
-+# CONFIG_CRYPTO_TWOFISH is not set
-+# CONFIG_CRYPTO_SERPENT is not set
-+CONFIG_CRYPTO_AES=m
-+# CONFIG_CRYPTO_CAST5 is not set
-+# CONFIG_CRYPTO_CAST6 is not set
-+# CONFIG_CRYPTO_TEA is not set
-+CONFIG_CRYPTO_ARC4=m
-+# CONFIG_CRYPTO_KHAZAD is not set
-+# CONFIG_CRYPTO_ANUBIS is not set
-+# CONFIG_CRYPTO_DEFLATE is not set
-+CONFIG_CRYPTO_MICHAEL_MIC=m
-+# CONFIG_CRYPTO_CRC32C is not set
-+# CONFIG_CRYPTO_CAMELLIA is not set
-+# CONFIG_CRYPTO_TEST is not set
-+
-+#
-+# Hardware crypto devices
-+#
-+
-+#
-+# Library routines
-+#
-+CONFIG_BITREVERSE=y
-+# CONFIG_CRC_CCITT is not set
-+# CONFIG_CRC16 is not set
-+CONFIG_CRC32=y
-+# CONFIG_LIBCRC32C is not set
-+CONFIG_ZLIB_INFLATE=y
-+CONFIG_ZLIB_DEFLATE=y
-+CONFIG_PLIST=y
-+CONFIG_HAS_IOMEM=y
-+CONFIG_HAS_IOPORT=y
-diff -urN -x CVS linux-2.6.24/arch/arm/configs/kafa_defconfig linux-2.6/arch/arm/configs/kafa_defconfig
---- linux-2.6.24/arch/arm/configs/kafa_defconfig 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/configs/kafa_defconfig 2007-12-31 10:43:35.000000000 +0200
-@@ -587,14 +587,14 @@
- #
- # I2C Algorithms
- #
--# CONFIG_I2C_ALGOBIT is not set
-+CONFIG_I2C_ALGOBIT=y
- # CONFIG_I2C_ALGOPCF is not set
- # CONFIG_I2C_ALGOPCA is not set
-
- #
- # I2C Hardware Bus support
- #
--CONFIG_I2C_AT91=y
-+CONFIG_I2C_GPIO=y
- # CONFIG_I2C_PARPORT_LIGHT is not set
- # CONFIG_I2C_STUB is not set
- # CONFIG_I2C_PCA_ISA is not set
-diff -urN -x CVS linux-2.6.24/arch/arm/configs/kb9202_defconfig linux-2.6/arch/arm/configs/kb9202_defconfig
---- linux-2.6.24/arch/arm/configs/kb9202_defconfig 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/configs/kb9202_defconfig 2007-12-31 10:43:35.000000000 +0200
-@@ -1,19 +1,31 @@
- #
- # Automatically generated make config: don't edit
--# Linux kernel version: 2.6.13-rc2
--# Sun Aug 14 19:26:59 2005
-+# Linux kernel version: 2.6.21
-+# Mon May 7 11:43:14 2007
- #
- CONFIG_ARM=y
-+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-+CONFIG_GENERIC_GPIO=y
-+# CONFIG_GENERIC_TIME is not set
- CONFIG_MMU=y
--CONFIG_UID16=y
-+# CONFIG_NO_IOPORT is not set
-+CONFIG_GENERIC_HARDIRQS=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_ZONE_DMA=y
-+CONFIG_VECTORS_BASE=0xffff0000
-+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
- #
- # Code maturity level options
- #
--# CONFIG_EXPERIMENTAL is not set
--CONFIG_CLEAN_COMPILE=y
-+CONFIG_EXPERIMENTAL=y
- CONFIG_BROKEN_ON_SMP=y
- CONFIG_INIT_ENV_ARG_LIMIT=32
-
-@@ -21,54 +33,103 @@
- # General setup
- #
- CONFIG_LOCALVERSION=""
--# CONFIG_SWAP is not set
--# CONFIG_SYSVIPC is not set
--# CONFIG_BSD_PROCESS_ACCT is not set
-+CONFIG_LOCALVERSION_AUTO=y
-+CONFIG_SWAP=y
-+CONFIG_SYSVIPC=y
-+# CONFIG_IPC_NS is not set
-+CONFIG_SYSVIPC_SYSCTL=y
-+CONFIG_POSIX_MQUEUE=y
-+CONFIG_BSD_PROCESS_ACCT=y
-+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
-+# CONFIG_TASKSTATS is not set
-+# CONFIG_UTS_NS is not set
-+CONFIG_AUDIT=y
-+CONFIG_IKCONFIG=y
-+CONFIG_IKCONFIG_PROC=y
-+CONFIG_SYSFS_DEPRECATED=y
-+# CONFIG_RELAY is not set
-+CONFIG_BLK_DEV_INITRD=y
-+CONFIG_INITRAMFS_SOURCE=""
-+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
- CONFIG_SYSCTL=y
--# CONFIG_AUDIT is not set
--CONFIG_HOTPLUG=y
--# CONFIG_KOBJECT_UEVENT is not set
--# CONFIG_IKCONFIG is not set
- # 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_KALLSYMS_EXTRA_PASS=y
-+CONFIG_HOTPLUG=y
- CONFIG_PRINTK=y
- CONFIG_BUG=y
-+CONFIG_ELF_CORE=y
- CONFIG_BASE_FULL=y
- CONFIG_FUTEX=y
- CONFIG_EPOLL=y
--CONFIG_CC_OPTIMIZE_FOR_SIZE=y
- CONFIG_SHMEM=y
--CONFIG_CC_ALIGN_FUNCTIONS=0
--CONFIG_CC_ALIGN_LABELS=0
--CONFIG_CC_ALIGN_LOOPS=0
--CONFIG_CC_ALIGN_JUMPS=0
-+CONFIG_SLAB=y
-+CONFIG_VM_EVENT_COUNTERS=y
-+CONFIG_RT_MUTEXES=y
- # CONFIG_TINY_SHMEM is not set
- CONFIG_BASE_SMALL=0
-+# CONFIG_SLOB is not set
-
- #
- # Loadable module support
- #
- CONFIG_MODULES=y
- CONFIG_MODULE_UNLOAD=y
--CONFIG_OBSOLETE_MODPARM=y
--# CONFIG_MODULE_SRCVERSION_ALL is not set
-+# CONFIG_MODULE_FORCE_UNLOAD is not set
-+CONFIG_MODVERSIONS=y
-+CONFIG_MODULE_SRCVERSION_ALL=y
- CONFIG_KMOD=y
-
- #
-+# Block layer
-+#
-+CONFIG_BLOCK=y
-+CONFIG_LBD=y
-+# CONFIG_BLK_DEV_IO_TRACE is not set
-+# CONFIG_LSF is not set
-+
-+#
-+# IO Schedulers
-+#
-+CONFIG_IOSCHED_NOOP=y
-+CONFIG_IOSCHED_AS=y
-+CONFIG_IOSCHED_DEADLINE=y
-+CONFIG_IOSCHED_CFQ=y
-+# CONFIG_DEFAULT_AS is not set
-+# CONFIG_DEFAULT_DEADLINE is not set
-+CONFIG_DEFAULT_CFQ=y
-+# CONFIG_DEFAULT_NOOP is not set
-+CONFIG_DEFAULT_IOSCHED="cfq"
-+
-+#
- # 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_CLPS7500 is not set
- # CONFIG_ARCH_CLPS711X is not set
- # CONFIG_ARCH_CO285 is not set
- # CONFIG_ARCH_EBSA110 is not set
-+# CONFIG_ARCH_EP93XX is not set
- # CONFIG_ARCH_FOOTBRIDGE is not set
--# CONFIG_ARCH_INTEGRATOR is not set
--# CONFIG_ARCH_IOP3XX is not set
-+# CONFIG_ARCH_NETX is not set
-+# CONFIG_ARCH_H720X is not set
-+# CONFIG_ARCH_IMX is not set
-+# CONFIG_ARCH_IOP32X is not set
-+# CONFIG_ARCH_IOP33X is not set
-+# CONFIG_ARCH_IOP13XX is not set
- # CONFIG_ARCH_IXP4XX is not set
- # CONFIG_ARCH_IXP2000 is not set
-+# CONFIG_ARCH_IXP23XX is not set
- # CONFIG_ARCH_L7200 is not set
-+# CONFIG_ARCH_NS9XXX is not set
-+# CONFIG_ARCH_PNX4008 is not set
- # CONFIG_ARCH_PXA is not set
- # CONFIG_ARCH_RPC is not set
- # CONFIG_ARCH_SA1100 is not set
-@@ -76,34 +137,52 @@
- # CONFIG_ARCH_SHARK is not set
- # CONFIG_ARCH_LH7A40X is not set
- # CONFIG_ARCH_OMAP is not set
--# CONFIG_ARCH_VERSATILE is not set
--# CONFIG_ARCH_IMX is not set
--# CONFIG_ARCH_H720X is not set
--# CONFIG_ARCH_AAEC2000 is not set
--CONFIG_ARCH_AT91=y
-+
-+#
-+# Atmel AT91 System-on-Chip
-+#
- CONFIG_ARCH_AT91RM9200=y
-+# CONFIG_ARCH_AT91SAM9260 is not set
-+# CONFIG_ARCH_AT91SAM9261 is not set
-+# CONFIG_ARCH_AT91SAM9263 is not set
-
- #
--# AT91RM9200 Implementations
-+# AT91RM9200 Board Type
- #
-+# CONFIG_MACH_ONEARM is not set
- # CONFIG_ARCH_AT91RM9200DK is not set
- # CONFIG_MACH_AT91RM9200EK is not set
- # CONFIG_MACH_CSB337 is not set
- # CONFIG_MACH_CSB637 is not set
- # CONFIG_MACH_CARMEVA is not set
-+# CONFIG_MACH_ATEB9200 is not set
- CONFIG_MACH_KB9200=y
-+# CONFIG_MACH_KAFA is not set
-+# CONFIG_MACH_CHUB is not set
-+
-+#
-+# AT91 Board Options
-+#
-+
-+#
-+# AT91 Feature Selections
-+#
-+# CONFIG_AT91_PROGRAMMABLE_CLOCKS is not set
-+# CONFIG_ATMEL_TCLIB is not set
-
- #
- # Processor Type
- #
- CONFIG_CPU_32=y
- CONFIG_CPU_ARM920T=y
--CONFIG_CPU_32v4=y
-+CONFIG_CPU_32v4T=y
- CONFIG_CPU_ABRT_EV4T=y
- CONFIG_CPU_CACHE_V4WT=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
-@@ -112,24 +191,44 @@
- # CONFIG_CPU_ICACHE_DISABLE is not set
- # CONFIG_CPU_DCACHE_DISABLE is not set
- # CONFIG_CPU_DCACHE_WRITETHROUGH is not set
-+# CONFIG_OUTER_CACHE is not set
-
- #
- # Bus support
- #
--CONFIG_ISA_DMA_API=y
-
- #
- # PCCARD (PCMCIA/CardBus) support
- #
--# CONFIG_PCCARD is not set
-+CONFIG_PCCARD=m
-+# CONFIG_PCMCIA_DEBUG is not set
-+CONFIG_PCMCIA=m
-+CONFIG_PCMCIA_LOAD_CIS=y
-+CONFIG_PCMCIA_IOCTL=y
-+
-+#
-+# PC-card bridges
-+#
-+# CONFIG_AT91_CF is not set
-
- #
- # Kernel Features
- #
-+# CONFIG_PREEMPT is not set
- # CONFIG_NO_IDLE_HZ is not set
-+CONFIG_HZ=100
-+# CONFIG_AEABI is not set
- # CONFIG_ARCH_DISCONTIGMEM_ENABLE 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_SPARSEMEM_STATIC is not set
-+CONFIG_SPLIT_PTLOCK_CPUS=4096
-+# CONFIG_RESOURCES_64BIT is not set
-+CONFIG_ZONE_DMA_FLAG=1
- # CONFIG_LEDS is not set
- CONFIG_ALIGNMENT_TRAP=y
-
-@@ -138,8 +237,10 @@
- #
- CONFIG_ZBOOT_ROM_TEXT=0x10000000
- CONFIG_ZBOOT_ROM_BSS=0x20040000
--CONFIG_ZBOOT_ROM=y
--CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/ram rw initrd=0x20210000,654933"
-+# CONFIG_ZBOOT_ROM is not set
-+CONFIG_CMDLINE="noinitrd root=/dev/mtdblock0 rootfstype=jffs2 mem=64M"
-+# CONFIG_XIP_KERNEL is not set
-+# CONFIG_KEXEC is not set
-
- #
- # Floating point emulation
-@@ -150,6 +251,7 @@
- #
- CONFIG_FPE_NWFPE=y
- # CONFIG_FPE_NWFPE_XP is not set
-+# CONFIG_FPE_FASTFPE is not set
-
- #
- # Userspace binary formats
-@@ -165,6 +267,96 @@
- # CONFIG_PM is not set
-
- #
-+# Networking
-+#
-+CONFIG_NET=y
-+
-+#
-+# Networking options
-+#
-+# CONFIG_NETDEBUG is not set
-+CONFIG_PACKET=y
-+# CONFIG_PACKET_MMAP is not set
-+CONFIG_UNIX=y
-+# CONFIG_NET_KEY is not set
-+CONFIG_INET=y
-+CONFIG_IP_MULTICAST=y
-+# 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 is not set
-+# CONFIG_IP_PNP_RARP is not set
-+# CONFIG_NET_IPIP is not set
-+# CONFIG_NET_IPGRE is not set
-+# CONFIG_IP_MROUTE 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 is not set
-+# 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_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 is not set
-+# CONFIG_INET6_XFRM_TUNNEL is not set
-+# CONFIG_INET6_TUNNEL is not set
-+# CONFIG_NETWORK_SECMARK is not set
-+# CONFIG_NETFILTER is not set
-+
-+#
-+# DCCP Configuration (EXPERIMENTAL)
-+#
-+# CONFIG_IP_DCCP is not set
-+
-+#
-+# SCTP Configuration (EXPERIMENTAL)
-+#
-+CONFIG_IP_SCTP=m
-+# CONFIG_SCTP_DBG_MSG is not set
-+# CONFIG_SCTP_DBG_OBJCNT is not set
-+# CONFIG_SCTP_HMAC_NONE is not set
-+# CONFIG_SCTP_HMAC_SHA1 is not set
-+CONFIG_SCTP_HMAC_MD5=y
-+
-+#
-+# TIPC Configuration (EXPERIMENTAL)
-+#
-+# CONFIG_TIPC is not set
-+# CONFIG_ATM is not set
-+# CONFIG_BRIDGE 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
-+
-+#
-+# QoS and/or fair queueing
-+#
-+# CONFIG_NET_SCHED is not set
-+
-+#
-+# Network testing
-+#
-+# CONFIG_NET_PKTGEN is not set
-+# CONFIG_HAMRADIO is not set
-+# CONFIG_IRDA is not set
-+# CONFIG_BT is not set
-+# CONFIG_IEEE80211 is not set
-+
-+#
- # Device Drivers
- #
-
-@@ -173,13 +365,95 @@
- #
- CONFIG_STANDALONE=y
- CONFIG_PREVENT_FIRMWARE_BUILD=y
--# CONFIG_FW_LOADER is not set
--CONFIG_DEBUG_DRIVER=y
-+CONFIG_FW_LOADER=y
-+# CONFIG_DEBUG_DRIVER is not set
-+# CONFIG_DEBUG_DEVRES is not set
-+# CONFIG_SYS_HYPERVISOR is not set
-+
-+#
-+# Connector - unified userspace <-> kernelspace linker
-+#
-+# CONFIG_CONNECTOR is not set
-
- #
- # Memory Technology Devices (MTD)
- #
--# CONFIG_MTD is not set
-+CONFIG_MTD=y
-+# CONFIG_MTD_DEBUG is not set
-+CONFIG_MTD_CONCAT=y
-+CONFIG_MTD_PARTITIONS=y
-+# CONFIG_MTD_REDBOOT_PARTS is not set
-+CONFIG_MTD_CMDLINE_PARTS=y
-+# CONFIG_MTD_AFS_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
-+
-+#
-+# 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
-+# CONFIG_MTD_OBSOLETE_CHIPS is not set
-+
-+#
-+# Mapping drivers for chip access
-+#
-+CONFIG_MTD_COMPLEX_MAPPINGS=y
-+# CONFIG_MTD_PLATRAM is not set
-+
-+#
-+# Self-contained MTD device drivers
-+#
-+# 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 is not set
-+# CONFIG_MTD_DOC2001PLUS is not set
-+
-+#
-+# NAND Flash Device Drivers
-+#
-+CONFIG_MTD_NAND=y
-+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-+# CONFIG_MTD_NAND_ECC_SMC is not set
-+CONFIG_MTD_NAND_IDS=y
-+# CONFIG_MTD_NAND_DISKONCHIP is not set
-+CONFIG_MTD_NAND_AT91=y
-+# CONFIG_MTD_NAND_NANDSIM is not set
-+
-+#
-+# OneNAND Flash Device Drivers
-+#
-+# CONFIG_MTD_ONENAND is not set
-
- #
- # Parallel port support
-@@ -189,6 +463,7 @@
- #
- # Plug and Play support
- #
-+# CONFIG_PNPACPI is not set
-
- #
- # Block devices
-@@ -196,28 +471,27 @@
- # CONFIG_BLK_DEV_COW_COMMON is not set
- CONFIG_BLK_DEV_LOOP=y
- # CONFIG_BLK_DEV_CRYPTOLOOP is not set
--CONFIG_BLK_DEV_NBD=y
-+# CONFIG_BLK_DEV_NBD is not set
- # CONFIG_BLK_DEV_UB is not set
- CONFIG_BLK_DEV_RAM=y
- CONFIG_BLK_DEV_RAM_COUNT=16
--CONFIG_BLK_DEV_RAM_SIZE=4096
--CONFIG_BLK_DEV_INITRD=y
--CONFIG_INITRAMFS_SOURCE=""
-+CONFIG_BLK_DEV_RAM_SIZE=16384
-+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
- # CONFIG_CDROM_PKTCDVD is not set
-+# CONFIG_ATA_OVER_ETH is not set
-
- #
--# IO Schedulers
-+# ATA/ATAPI/MFM/RLL support
- #
--CONFIG_IOSCHED_NOOP=y
--CONFIG_IOSCHED_AS=y
--CONFIG_IOSCHED_DEADLINE=y
--CONFIG_IOSCHED_CFQ=y
--# CONFIG_ATA_OVER_ETH is not set
-+# CONFIG_IDE is not set
-
- #
- # SCSI device support
- #
-+# CONFIG_RAID_ATTRS is not set
- CONFIG_SCSI=y
-+# CONFIG_SCSI_TGT is not set
-+# CONFIG_SCSI_NETLINK is not set
- CONFIG_SCSI_PROC_FS=y
-
- #
-@@ -233,97 +507,61 @@
- #
- # Some SCSI devices (e.g. CD jukebox) support multiple LUNs
- #
--# CONFIG_SCSI_MULTI_LUN is not set
--# CONFIG_SCSI_CONSTANTS is not set
--# CONFIG_SCSI_LOGGING is not set
-+CONFIG_SCSI_MULTI_LUN=y
-+CONFIG_SCSI_CONSTANTS=y
-+CONFIG_SCSI_LOGGING=y
-+# CONFIG_SCSI_SCAN_ASYNC is not set
-
- #
--# SCSI Transport Attributes
-+# SCSI Transports
- #
--# CONFIG_SCSI_SPI_ATTRS is not set
-+CONFIG_SCSI_SPI_ATTRS=m
- # CONFIG_SCSI_FC_ATTRS is not set
- # CONFIG_SCSI_ISCSI_ATTRS is not set
-+# CONFIG_SCSI_SAS_ATTRS is not set
-+# CONFIG_SCSI_SAS_LIBSAS is not set
-
- #
- # SCSI low-level drivers
- #
--# CONFIG_SCSI_SATA is not set
-+# CONFIG_ISCSI_TCP is not set
- # CONFIG_SCSI_DEBUG is not set
-
- #
--# Multi-device support (RAID and LVM)
--#
--# CONFIG_MD is not set
--
--#
--# Fusion MPT device support
-+# PCMCIA SCSI adapter support
- #
--# CONFIG_FUSION is not set
-+# CONFIG_PCMCIA_AHA152X is not set
-+# CONFIG_PCMCIA_FDOMAIN is not set
-+# CONFIG_PCMCIA_NINJA_SCSI is not set
-+# CONFIG_PCMCIA_QLOGIC is not set
-+# CONFIG_PCMCIA_SYM53C500 is not set
-
- #
--# IEEE 1394 (FireWire) support
-+# Serial ATA (prod) and Parallel ATA (experimental) drivers
- #
-+# CONFIG_ATA is not set
-
- #
--# I2O device support
-+# Multi-device support (RAID and LVM)
- #
-+# CONFIG_MD is not set
-
- #
--# Networking support
-+# Fusion MPT device support
- #
--CONFIG_NET=y
-+# CONFIG_FUSION is not set
-
- #
--# Networking options
-+# IEEE 1394 (FireWire) support
- #
--CONFIG_PACKET=y
--# CONFIG_PACKET_MMAP is not set
--CONFIG_UNIX=y
--# CONFIG_NET_KEY is not set
--CONFIG_INET=y
--CONFIG_IP_MULTICAST=y
--# CONFIG_IP_ADVANCED_ROUTER is not set
--CONFIG_IP_FIB_HASH=y
--CONFIG_IP_PNP=y
--CONFIG_IP_PNP_DHCP=y
--# CONFIG_IP_PNP_BOOTP is not set
--# CONFIG_IP_PNP_RARP is not set
--# CONFIG_NET_IPIP is not set
--# CONFIG_NET_IPGRE is not set
--# CONFIG_IP_MROUTE 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_TUNNEL is not set
--# CONFIG_IP_TCPDIAG is not set
--# CONFIG_IP_TCPDIAG_IPV6 is not set
--# CONFIG_TCP_CONG_ADVANCED is not set
--CONFIG_TCP_CONG_BIC=y
--# CONFIG_IPV6 is not set
--# CONFIG_NETFILTER is not set
--# CONFIG_BRIDGE 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
-
- #
--# QoS and/or fair queueing
-+# I2O device support
- #
--# CONFIG_NET_SCHED is not set
--# CONFIG_NET_CLS_ROUTE is not set
-
- #
--# Network testing
-+# Network device support
- #
--# CONFIG_NET_PKTGEN is not set
--# CONFIG_NETPOLL is not set
--# CONFIG_NET_POLL_CONTROLLER is not set
--# CONFIG_HAMRADIO is not set
--# CONFIG_IRDA is not set
--# CONFIG_BT is not set
- CONFIG_NETDEVICES=y
- # CONFIG_DUMMY is not set
- # CONFIG_BONDING is not set
-@@ -331,6 +569,11 @@
- # CONFIG_TUN is not set
-
- #
-+# PHY device support
-+#
-+# CONFIG_PHYLIB is not set
-+
-+#
- # Ethernet (10 or 100Mbit)
- #
- CONFIG_NET_ETHERNET=y
-@@ -357,11 +600,20 @@
- # CONFIG_NET_RADIO is not set
-
- #
-+# PCMCIA network device support
-+#
-+# CONFIG_NET_PCMCIA is not set
-+
-+#
- # Wan interfaces
- #
- # CONFIG_WAN is not set
- # CONFIG_PPP is not set
- # CONFIG_SLIP is not set
-+# CONFIG_SHAPER is not set
-+# CONFIG_NETCONSOLE is not set
-+# CONFIG_NETPOLL is not set
-+# CONFIG_NET_POLL_CONTROLLER is not set
-
- #
- # ISDN subsystem
-@@ -372,6 +624,7 @@
- # Input device support
- #
- CONFIG_INPUT=y
-+# CONFIG_INPUT_FF_MEMLESS is not set
-
- #
- # Userland interfaces
-@@ -397,9 +650,7 @@
- #
- # Hardware I/O ports
- #
--CONFIG_SERIO=y
--# CONFIG_SERIO_SERPORT is not set
--# CONFIG_SERIO_RAW is not set
-+# CONFIG_SERIO is not set
- # CONFIG_GAMEPORT is not set
-
- #
-@@ -408,6 +659,7 @@
- CONFIG_VT=y
- CONFIG_VT_CONSOLE=y
- CONFIG_HW_CONSOLE=y
-+# CONFIG_VT_HW_CONSOLE_BINDING is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
-
- #
-@@ -420,11 +672,11 @@
- #
- CONFIG_SERIAL_ATMEL=y
- CONFIG_SERIAL_ATMEL_CONSOLE=y
-+# CONFIG_SERIAL_ATMEL_TTYAT is not set
- CONFIG_SERIAL_CORE=y
- CONFIG_SERIAL_CORE_CONSOLE=y
- CONFIG_UNIX98_PTYS=y
--CONFIG_LEGACY_PTYS=y
--CONFIG_LEGACY_PTY_COUNT=256
-+# CONFIG_LEGACY_PTYS is not set
-
- #
- # IPMI
-@@ -435,21 +687,23 @@
- # Watchdog Cards
- #
- # CONFIG_WATCHDOG is not set
-+# CONFIG_HW_RANDOM is not set
- # CONFIG_NVRAM is not set
--# CONFIG_RTC is not set
--# CONFIG_AT91RM9200_RTC is not set
- # CONFIG_DTLK is not set
- # CONFIG_R3964 is not set
-
- #
--# Ftape, the floppy tape device driver
-+# PCMCIA character devices
- #
-+# CONFIG_SYNCLINK_CS is not set
-+# CONFIG_CARDMAN_4000 is not set
-+# CONFIG_CARDMAN_4040 is not set
- # CONFIG_RAW_DRIVER is not set
-
- #
- # TPM devices
- #
--# CONFIG_AT91_SPI is not set
-+# CONFIG_TCG_TPM is not set
-
- #
- # I2C support
-@@ -457,10 +711,50 @@
- # CONFIG_I2C is not set
-
- #
-+# SPI support
-+#
-+# CONFIG_SPI is not set
-+# CONFIG_SPI_MASTER is not set
-+
-+#
-+# Dallas's 1-wire bus
-+#
-+# CONFIG_W1 is not set
-+
-+#
-+# Hardware Monitoring support
-+#
-+CONFIG_HWMON=y
-+# CONFIG_HWMON_VID is not set
-+# CONFIG_SENSORS_ABITUGURU is not set
-+# CONFIG_SENSORS_F71805F is not set
-+# CONFIG_SENSORS_PC87427 is not set
-+# CONFIG_SENSORS_VT1211 is not set
-+CONFIG_HWMON_DEBUG_CHIP=y
-+
-+#
- # Misc devices
- #
-
- #
-+# Multifunction device drivers
-+#
-+# CONFIG_MFD_SM501 is not set
-+
-+#
-+# LED devices
-+#
-+# CONFIG_NEW_LEDS is not set
-+
-+#
-+# LED drivers
-+#
-+
-+#
-+# LED Triggers
-+#
-+
-+#
- # Multimedia devices
- #
- # CONFIG_VIDEO_DEV is not set
-@@ -469,17 +763,57 @@
- # Digital Video Broadcasting Devices
- #
- # CONFIG_DVB is not set
-+# CONFIG_USB_DABUSB is not set
-
- #
- # Graphics support
- #
--# CONFIG_FB is not set
-+CONFIG_BACKLIGHT_LCD_SUPPORT=y
-+CONFIG_BACKLIGHT_CLASS_DEVICE=y
-+# CONFIG_LCD_CLASS_DEVICE is not set
-+CONFIG_BACKLIGHT_KB920x=y
-+CONFIG_FB=y
-+# CONFIG_FIRMWARE_EDID is not set
-+# CONFIG_FB_DDC is not set
-+CONFIG_FB_CFB_FILLRECT=y
-+CONFIG_FB_CFB_COPYAREA=y
-+CONFIG_FB_CFB_IMAGEBLIT=y
-+# CONFIG_FB_SVGALIB is not set
-+# CONFIG_FB_MACMODES is not set
-+# CONFIG_FB_BACKLIGHT is not set
-+CONFIG_FB_MODE_HELPERS=y
-+CONFIG_FB_TILEBLITTING=y
-+
-+#
-+# Frame buffer hardware drivers
-+#
-+CONFIG_FB_S1D15605=y
-+# CONFIG_FB_S1D13XXX is not set
-+# CONFIG_FB_VIRTUAL is not set
-
- #
- # Console display driver support
- #
- # CONFIG_VGA_CONSOLE is not set
- CONFIG_DUMMY_CONSOLE=y
-+CONFIG_FRAMEBUFFER_CONSOLE=y
-+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-+CONFIG_FONTS=y
-+# CONFIG_FONT_8x8 is not set
-+# CONFIG_FONT_8x16 is not set
-+# CONFIG_FONT_6x11 is not set
-+# CONFIG_FONT_7x14 is not set
-+# CONFIG_FONT_PEARL_8x8 is not set
-+# CONFIG_FONT_ACORN_8x8 is not set
-+CONFIG_FONT_MINI_4x6=y
-+# CONFIG_FONT_SUN8x16 is not set
-+# CONFIG_FONT_SUN12x22 is not set
-+# CONFIG_FONT_10x18 is not set
-+
-+#
-+# Logo configuration
-+#
-+# CONFIG_LOGO is not set
-
- #
- # Sound
-@@ -487,82 +821,98 @@
- # CONFIG_SOUND is not set
-
- #
-+# HID Devices
-+#
-+CONFIG_HID=y
-+# CONFIG_HID_DEBUG is not set
-+
-+#
- # USB support
- #
- CONFIG_USB_ARCH_HAS_HCD=y
- CONFIG_USB_ARCH_HAS_OHCI=y
-+# CONFIG_USB_ARCH_HAS_EHCI is not set
- CONFIG_USB=y
--CONFIG_USB_DEBUG=y
-+# CONFIG_USB_DEBUG is not set
-
- #
- # Miscellaneous USB options
- #
- CONFIG_USB_DEVICEFS=y
-+# CONFIG_USB_DYNAMIC_MINORS is not set
-+# CONFIG_USB_OTG is not set
-
- #
- # USB Host Controller Drivers
- #
- # CONFIG_USB_ISP116X_HCD is not set
- CONFIG_USB_OHCI_HCD=y
--# CONFIG_USB_OHCI_BIG_ENDIAN is not set
-+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
- CONFIG_USB_OHCI_LITTLE_ENDIAN=y
- # CONFIG_USB_SL811_HCD is not set
-
- #
- # USB Device Class drivers
- #
--# CONFIG_USB_BLUETOOTH_TTY is not set
- # CONFIG_USB_ACM is not set
- # CONFIG_USB_PRINTER is not set
-
- #
--# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
-+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-+#
-+
-+#
-+# may also be needed; see USB_STORAGE Help for more information
- #
- CONFIG_USB_STORAGE=y
--CONFIG_USB_STORAGE_DEBUG=y
-+# CONFIG_USB_STORAGE_DEBUG is not set
-+# CONFIG_USB_STORAGE_DATAFAB is not set
- # CONFIG_USB_STORAGE_FREECOM is not set
- # CONFIG_USB_STORAGE_DPCM is not set
-+# CONFIG_USB_STORAGE_USBAT is not set
-+# CONFIG_USB_STORAGE_SDDR09 is not set
-+# CONFIG_USB_STORAGE_SDDR55 is not set
-+# CONFIG_USB_STORAGE_JUMPSHOT is not set
-+# CONFIG_USB_STORAGE_ALAUDA is not set
-+# CONFIG_USB_STORAGE_KARMA is not set
-+CONFIG_USB_LIBUSUAL=y
-
- #
- # USB Input Devices
- #
--# CONFIG_USB_HID is not set
--
--#
--# USB HID Boot Protocol drivers
--#
--# CONFIG_USB_KBD is not set
--# CONFIG_USB_MOUSE is not set
-+CONFIG_USB_HID=y
-+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
-+# CONFIG_HID_FF is not set
-+# CONFIG_USB_HIDDEV is not set
- # CONFIG_USB_AIPTEK is not set
- # CONFIG_USB_WACOM is not set
- # CONFIG_USB_ACECAD is not set
- # CONFIG_USB_KBTAB is not set
- # CONFIG_USB_POWERMATE is not set
--# CONFIG_USB_MTOUCH is not set
--# CONFIG_USB_ITMTOUCH is not set
--# CONFIG_USB_EGALAX is not set
-+# CONFIG_USB_TOUCHSCREEN is not set
-+# CONFIG_USB_YEALINK is not set
- # CONFIG_USB_XPAD is not set
- # CONFIG_USB_ATI_REMOTE is not set
-+# CONFIG_USB_ATI_REMOTE2 is not set
-+# CONFIG_USB_KEYSPAN_REMOTE is not set
-+# CONFIG_USB_APPLETOUCH is not set
-+# CONFIG_USB_GTCO is not set
-
- #
- # USB Imaging devices
- #
-+# CONFIG_USB_MDC800 is not set
- # CONFIG_USB_MICROTEK is not set
-
- #
--# USB Multimedia devices
--#
--# CONFIG_USB_DABUSB is not set
--
--#
--# Video4Linux support is needed for USB Multimedia device support
--#
--
--#
- # USB Network Adapters
- #
-+# CONFIG_USB_CATC is not set
- # CONFIG_USB_KAWETH is not set
- # CONFIG_USB_PEGASUS is not set
-+# CONFIG_USB_RTL8150 is not set
-+# CONFIG_USB_USBNET_MII is not set
- # CONFIG_USB_USBNET is not set
- # CONFIG_USB_MON is not set
-
-@@ -580,12 +930,23 @@
- #
- # CONFIG_USB_EMI62 is not set
- # CONFIG_USB_EMI26 is not set
-+# CONFIG_USB_ADUTUX is not set
-+# CONFIG_USB_AUERSWALD is not set
-+# CONFIG_USB_RIO500 is not set
-+# CONFIG_USB_LEGOTOWER is not set
- # CONFIG_USB_LCD is not set
-+# CONFIG_USB_BERRY_CHARGE is not set
- # CONFIG_USB_LED is not set
-+# CONFIG_USB_CYPRESS_CY7C63 is not set
- # CONFIG_USB_CYTHERM is not set
--# CONFIG_USB_PHIDGETKIT is not set
--# CONFIG_USB_PHIDGETSERVO is not set
-+# CONFIG_USB_PHIDGET is not set
- # CONFIG_USB_IDMOUSE is not set
-+# CONFIG_USB_FTDI_ELAN is not set
-+# CONFIG_USB_APPLEDISPLAY is not set
-+# CONFIG_USB_LD is not set
-+# CONFIG_USB_TRANCEVIBRATOR is not set
-+# CONFIG_USB_IOWARRIOR is not set
-+# CONFIG_USB_TEST is not set
-
- #
- # USB DSL modem support
-@@ -599,36 +960,51 @@
- #
- # MMC/SD Card support
- #
--# CONFIG_MMC is not set
-+CONFIG_MMC=y
-+# CONFIG_MMC_DEBUG is not set
-+CONFIG_MMC_BLOCK=y
-+CONFIG_MMC_AT91=y
-+
-+#
-+# Real Time Clock
-+#
-+CONFIG_RTC_LIB=y
-+# CONFIG_RTC_CLASS is not set
-
- #
- # File systems
- #
- CONFIG_EXT2_FS=y
- CONFIG_EXT2_FS_XATTR=y
--# CONFIG_EXT2_FS_POSIX_ACL is not set
--# CONFIG_EXT2_FS_SECURITY is not set
-+CONFIG_EXT2_FS_POSIX_ACL=y
-+CONFIG_EXT2_FS_SECURITY=y
- # CONFIG_EXT2_FS_XIP is not set
- CONFIG_EXT3_FS=y
- CONFIG_EXT3_FS_XATTR=y
--# CONFIG_EXT3_FS_POSIX_ACL is not set
--# CONFIG_EXT3_FS_SECURITY is not set
-+CONFIG_EXT3_FS_POSIX_ACL=y
-+CONFIG_EXT3_FS_SECURITY=y
-+# CONFIG_EXT4DEV_FS is not set
- CONFIG_JBD=y
- # CONFIG_JBD_DEBUG is not set
- CONFIG_FS_MBCACHE=y
- # CONFIG_REISERFS_FS is not set
- # CONFIG_JFS_FS is not set
--
--#
--# XFS support
--#
-+CONFIG_FS_POSIX_ACL=y
- # CONFIG_XFS_FS is not set
-+# CONFIG_GFS2_FS is not set
-+# CONFIG_OCFS2_FS is not set
- # CONFIG_MINIX_FS is not set
- # CONFIG_ROMFS_FS is not set
--# CONFIG_QUOTA is not set
-+CONFIG_INOTIFY=y
-+CONFIG_INOTIFY_USER=y
-+CONFIG_QUOTA=y
-+# CONFIG_QFMT_V1 is not set
-+CONFIG_QFMT_V2=y
-+CONFIG_QUOTACTL=y
- CONFIG_DNOTIFY=y
--CONFIG_AUTOFS_FS=y
-+# CONFIG_AUTOFS_FS is not set
- CONFIG_AUTOFS4_FS=y
-+# CONFIG_FUSE_FS is not set
-
- #
- # CD-ROM/DVD Filesystems
-@@ -643,25 +1019,40 @@
- CONFIG_MSDOS_FS=y
- CONFIG_VFAT_FS=y
- CONFIG_FAT_DEFAULT_CODEPAGE=437
--CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-+CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
- # CONFIG_NTFS_FS is not set
-
- #
- # Pseudo filesystems
- #
- CONFIG_PROC_FS=y
-+CONFIG_PROC_SYSCTL=y
- CONFIG_SYSFS=y
--CONFIG_DEVPTS_FS_XATTR=y
--# CONFIG_DEVPTS_FS_SECURITY is not set
- CONFIG_TMPFS=y
--# CONFIG_TMPFS_XATTR is not set
-+# CONFIG_TMPFS_POSIX_ACL is not set
- # CONFIG_HUGETLB_PAGE is not set
- CONFIG_RAMFS=y
-+CONFIG_CONFIGFS_FS=y
-
- #
- # Miscellaneous filesystems
- #
-+# CONFIG_ADFS_FS is not set
-+# CONFIG_AFFS_FS is not set
-+# CONFIG_HFS_FS is not set
- # CONFIG_HFSPLUS_FS is not set
-+# CONFIG_BEFS_FS is not set
-+# CONFIG_BFS_FS is not set
-+# CONFIG_EFS_FS is not set
-+CONFIG_JFFS2_FS=y
-+CONFIG_JFFS2_FS_DEBUG=0
-+CONFIG_JFFS2_FS_WRITEBUFFER=y
-+# CONFIG_JFFS2_SUMMARY is not set
-+# CONFIG_JFFS2_FS_XATTR is not set
-+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-+CONFIG_JFFS2_ZLIB=y
-+CONFIG_JFFS2_RTIME=y
-+# CONFIG_JFFS2_RUBIN is not set
- # CONFIG_CRAMFS is not set
- # CONFIG_VXFS_FS is not set
- # CONFIG_HPFS_FS is not set
-@@ -675,16 +1066,23 @@
- CONFIG_NFS_FS=y
- CONFIG_NFS_V3=y
- # CONFIG_NFS_V3_ACL is not set
-+CONFIG_NFS_V4=y
-+# CONFIG_NFS_DIRECTIO is not set
- # CONFIG_NFSD is not set
- CONFIG_ROOT_NFS=y
- CONFIG_LOCKD=y
- CONFIG_LOCKD_V4=y
- CONFIG_NFS_COMMON=y
- CONFIG_SUNRPC=y
-+CONFIG_SUNRPC_GSS=y
-+CONFIG_RPCSEC_GSS_KRB5=y
-+# CONFIG_RPCSEC_GSS_SPKM3 is not set
- # CONFIG_SMB_FS is not set
- # CONFIG_CIFS is not set
- # CONFIG_NCP_FS is not set
- # CONFIG_CODA_FS is not set
-+# CONFIG_AFS_FS is not set
-+# CONFIG_9P_FS is not set
-
- #
- # Partition Types
-@@ -734,26 +1132,51 @@
- # CONFIG_NLS_ISO8859_15 is not set
- # CONFIG_NLS_KOI8_R is not set
- # CONFIG_NLS_KOI8_U is not set
--# CONFIG_NLS_UTF8 is not set
-+CONFIG_NLS_UTF8=y
-+
-+#
-+# Distributed Lock Manager
-+#
-+# CONFIG_DLM is not set
-+
-+#
-+# Profiling support
-+#
-+# CONFIG_PROFILING is not set
-
- #
- # Kernel hacking
- #
- # CONFIG_PRINTK_TIME is not set
-+CONFIG_ENABLE_MUST_CHECK=y
-+CONFIG_MAGIC_SYSRQ=y
-+# CONFIG_UNUSED_SYMBOLS is not set
-+# CONFIG_DEBUG_FS is not set
-+# CONFIG_HEADERS_CHECK is not set
- CONFIG_DEBUG_KERNEL=y
--# CONFIG_MAGIC_SYSRQ is not set
--CONFIG_LOG_BUF_SHIFT=14
-+# CONFIG_DEBUG_SHIRQ is not set
-+CONFIG_LOG_BUF_SHIFT=17
-+CONFIG_DETECT_SOFTLOCKUP=y
- # CONFIG_SCHEDSTATS is not set
-+# CONFIG_TIMER_STATS is not set
- # CONFIG_DEBUG_SLAB is not set
--# CONFIG_DEBUG_SPINLOCK is not set
--# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
-+# CONFIG_DEBUG_RT_MUTEXES is not set
-+# CONFIG_RT_MUTEX_TESTER is not set
-+CONFIG_DEBUG_SPINLOCK=y
-+# CONFIG_DEBUG_MUTEXES is not set
-+CONFIG_DEBUG_SPINLOCK_SLEEP=y
-+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
- # CONFIG_DEBUG_KOBJECT is not set
- CONFIG_DEBUG_BUGVERBOSE=y
- # CONFIG_DEBUG_INFO is not set
--# CONFIG_DEBUG_FS is not set
-+# CONFIG_DEBUG_VM is not set
-+# CONFIG_DEBUG_LIST is not set
- CONFIG_FRAME_POINTER=y
--CONFIG_DEBUG_USER=y
--CONFIG_DEBUG_ERRORS=y
-+CONFIG_FORCED_INLINING=y
-+# CONFIG_RCU_TORTURE_TEST is not set
-+# CONFIG_FAULT_INJECTION is not set
-+# CONFIG_DEBUG_USER is not set
-+# CONFIG_DEBUG_ERRORS is not set
- CONFIG_DEBUG_LL=y
- # CONFIG_DEBUG_ICEDCC is not set
-
-@@ -766,7 +1189,43 @@
- #
- # Cryptographic options
- #
--# CONFIG_CRYPTO is not set
-+CONFIG_CRYPTO=y
-+CONFIG_CRYPTO_ALGAPI=y
-+CONFIG_CRYPTO_BLKCIPHER=y
-+CONFIG_CRYPTO_HASH=m
-+CONFIG_CRYPTO_MANAGER=y
-+CONFIG_CRYPTO_HMAC=m
-+# CONFIG_CRYPTO_XCBC is not set
-+# CONFIG_CRYPTO_NULL is not set
-+# CONFIG_CRYPTO_MD4 is not set
-+CONFIG_CRYPTO_MD5=y
-+# CONFIG_CRYPTO_SHA1 is not set
-+# CONFIG_CRYPTO_SHA256 is not set
-+# CONFIG_CRYPTO_SHA512 is not set
-+# CONFIG_CRYPTO_WP512 is not set
-+# CONFIG_CRYPTO_TGR192 is not set
-+# CONFIG_CRYPTO_GF128MUL is not set
-+# CONFIG_CRYPTO_ECB is not set
-+CONFIG_CRYPTO_CBC=y
-+CONFIG_CRYPTO_PCBC=m
-+# CONFIG_CRYPTO_LRW is not set
-+CONFIG_CRYPTO_DES=y
-+# CONFIG_CRYPTO_FCRYPT is not set
-+# CONFIG_CRYPTO_BLOWFISH is not set
-+# CONFIG_CRYPTO_TWOFISH is not set
-+# CONFIG_CRYPTO_SERPENT is not set
-+# CONFIG_CRYPTO_AES is not set
-+# CONFIG_CRYPTO_CAST5 is not set
-+# CONFIG_CRYPTO_CAST6 is not set
-+# CONFIG_CRYPTO_TEA is not set
-+# CONFIG_CRYPTO_ARC4 is not set
-+# CONFIG_CRYPTO_KHAZAD is not set
-+# CONFIG_CRYPTO_ANUBIS is not set
-+# CONFIG_CRYPTO_DEFLATE is not set
-+# CONFIG_CRYPTO_MICHAEL_MIC is not set
-+# CONFIG_CRYPTO_CRC32C is not set
-+# CONFIG_CRYPTO_CAMELLIA is not set
-+# CONFIG_CRYPTO_TEST is not set
-
- #
- # Hardware crypto devices
-@@ -775,6 +1234,14 @@
- #
- # Library routines
- #
-+CONFIG_BITREVERSE=y
- # CONFIG_CRC_CCITT is not set
-+# CONFIG_CRC16 is not set
- CONFIG_CRC32=y
- # CONFIG_LIBCRC32C is not set
-+CONFIG_AUDIT_GENERIC=y
-+CONFIG_ZLIB_INFLATE=y
-+CONFIG_ZLIB_DEFLATE=y
-+CONFIG_PLIST=y
-+CONFIG_HAS_IOMEM=y
-+CONFIG_HAS_IOPORT=y
-diff -urN -x CVS linux-2.6.24/arch/arm/configs/picotux200_defconfig linux-2.6/arch/arm/configs/picotux200_defconfig
---- linux-2.6.24/arch/arm/configs/picotux200_defconfig 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/configs/picotux200_defconfig 2007-12-31 10:43:35.000000000 +0200
-@@ -727,14 +727,14 @@
- #
- # I2C Algorithms
- #
--# CONFIG_I2C_ALGOBIT is not set
-+CONFIG_I2C_ALGOBIT=m
- # CONFIG_I2C_ALGOPCF is not set
- # CONFIG_I2C_ALGOPCA is not set
-
- #
- # I2C Hardware Bus support
- #
--CONFIG_I2C_AT91=m
-+CONFIG_I2C_GPIO=m
- # CONFIG_I2C_OCORES is not set
- # CONFIG_I2C_PARPORT_LIGHT is not set
- # CONFIG_I2C_STUB is not set
-diff -urN -x CVS linux-2.6.24/arch/arm/configs/sam9_l9260_defconfig linux-2.6/arch/arm/configs/sam9_l9260_defconfig
---- linux-2.6.24/arch/arm/configs/sam9_l9260_defconfig 1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/configs/sam9_l9260_defconfig 2007-12-31 15:18:42.000000000 +0200
-@@ -0,0 +1,1098 @@
-+#
-+# Automatically generated make config: don't edit
-+# Linux kernel version: 2.6.23
-+# Sun Oct 14 02:01:07 2007
-+#
-+CONFIG_ARM=y
-+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-+CONFIG_GENERIC_GPIO=y
-+# CONFIG_GENERIC_TIME is not set
-+# CONFIG_GENERIC_CLOCKEVENTS is not set
-+CONFIG_MMU=y
-+# CONFIG_NO_IOPORT is not set
-+CONFIG_GENERIC_HARDIRQS=y
-+CONFIG_STACKTRACE_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_ZONE_DMA=y
-+CONFIG_VECTORS_BASE=0xffff0000
-+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-+
-+#
-+# General setup
-+#
-+CONFIG_EXPERIMENTAL=y
-+CONFIG_BROKEN_ON_SMP=y
-+CONFIG_LOCK_KERNEL=y
-+CONFIG_INIT_ENV_ARG_LIMIT=32
-+CONFIG_LOCALVERSION=""
-+# CONFIG_LOCALVERSION_AUTO is not set
-+CONFIG_SWAP=y
-+CONFIG_SYSVIPC=y
-+CONFIG_SYSVIPC_SYSCTL=y
-+CONFIG_POSIX_MQUEUE=y
-+CONFIG_BSD_PROCESS_ACCT=y
-+CONFIG_BSD_PROCESS_ACCT_V3=y
-+# CONFIG_TASKSTATS is not set
-+# CONFIG_USER_NS is not set
-+CONFIG_AUDIT=y
-+# CONFIG_IKCONFIG is not set
-+CONFIG_LOG_BUF_SHIFT=15
-+CONFIG_SYSFS_DEPRECATED=y
-+# CONFIG_RELAY is not set
-+CONFIG_BLK_DEV_INITRD=y
-+CONFIG_INITRAMFS_SOURCE=""
-+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-+CONFIG_SYSCTL=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_HOTPLUG=y
-+CONFIG_PRINTK=y
-+CONFIG_BUG=y
-+CONFIG_ELF_CORE=y
-+CONFIG_BASE_FULL=y
-+CONFIG_FUTEX=y
-+CONFIG_ANON_INODES=y
-+CONFIG_EPOLL=y
-+CONFIG_SIGNALFD=y
-+CONFIG_EVENTFD=y
-+CONFIG_SHMEM=y
-+CONFIG_VM_EVENT_COUNTERS=y
-+CONFIG_SLAB=y
-+# CONFIG_SLUB is not set
-+# CONFIG_SLOB is not set
-+CONFIG_RT_MUTEXES=y
-+# CONFIG_TINY_SHMEM is not set
-+CONFIG_BASE_SMALL=0
-+# CONFIG_MODULES is not set
-+CONFIG_BLOCK=y
-+CONFIG_LBD=y
-+# CONFIG_BLK_DEV_IO_TRACE is not set
-+CONFIG_LSF=y
-+# CONFIG_BLK_DEV_BSG is not set
-+
-+#
-+# IO Schedulers
-+#
-+CONFIG_IOSCHED_NOOP=y
-+CONFIG_IOSCHED_AS=y
-+CONFIG_IOSCHED_DEADLINE=y
-+CONFIG_IOSCHED_CFQ=y
-+# CONFIG_DEFAULT_AS is not set
-+# CONFIG_DEFAULT_DEADLINE is not set
-+CONFIG_DEFAULT_CFQ=y
-+# CONFIG_DEFAULT_NOOP is not set
-+CONFIG_DEFAULT_IOSCHED="cfq"
-+
-+#
-+# 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_CLPS7500 is not set
-+# CONFIG_ARCH_CLPS711X is not set
-+# CONFIG_ARCH_CO285 is not set
-+# CONFIG_ARCH_EBSA110 is not set
-+# CONFIG_ARCH_EP93XX 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_KS8695 is not set
-+# CONFIG_ARCH_NS9XXX is not set
-+# CONFIG_ARCH_MXC is not set
-+# CONFIG_ARCH_PNX4008 is not set
-+# CONFIG_ARCH_PXA is not set
-+# CONFIG_ARCH_RPC is not set
-+# CONFIG_ARCH_SA1100 is not set
-+# CONFIG_ARCH_S3C2410 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
-+
-+#
-+# Boot options
-+#
-+
-+#
-+# Power management
-+#
-+
-+#
-+# Atmel AT91 System-on-Chip
-+#
-+# CONFIG_ARCH_AT91RM9200 is not set
-+CONFIG_ARCH_AT91SAM9260=y
-+# CONFIG_ARCH_AT91SAM9261 is not set
-+# CONFIG_ARCH_AT91SAM9263 is not set
-+# CONFIG_ARCH_AT91SAM9RL is not set
-+
-+#
-+# AT91SAM9260 Variants
-+#
-+# CONFIG_ARCH_AT91SAM9260_SAM9XE is not set
-+
-+#
-+# AT91SAM9260 / AT91SAM9XE Board Type
-+#
-+# CONFIG_MACH_AT91SAM9260EK is not set
-+# CONFIG_MACH_CAM60 is not set
-+CONFIG_MACH_SAM9_L9260=y
-+
-+#
-+# AT91 Board Options
-+#
-+CONFIG_MTD_AT91_DATAFLASH_CARD=y
-+
-+#
-+# AT91 Feature Selections
-+#
-+# CONFIG_AT91_PROGRAMMABLE_CLOCKS is not set
-+# CONFIG_ATMEL_TCLIB is not set
-+
-+#
-+# Processor Type
-+#
-+CONFIG_CPU_32=y
-+CONFIG_CPU_ARM926T=y
-+CONFIG_CPU_32v5=y
-+CONFIG_CPU_ABRT_EV5TJ=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=y
-+# 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
-+
-+#
-+# PCCARD (PCMCIA/CardBus) support
-+#
-+# CONFIG_PCCARD is not set
-+
-+#
-+# Kernel Features
-+#
-+# CONFIG_TICK_ONESHOT is not set
-+CONFIG_PREEMPT=y
-+# CONFIG_NO_IDLE_HZ is not set
-+CONFIG_HZ=100
-+# CONFIG_AEABI is not set
-+# CONFIG_ARCH_DISCONTIGMEM_ENABLE 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_SPARSEMEM_STATIC is not set
-+CONFIG_SPLIT_PTLOCK_CPUS=4096
-+# CONFIG_RESOURCES_64BIT is not set
-+CONFIG_ZONE_DMA_FLAG=1
-+CONFIG_BOUNCE=y
-+CONFIG_VIRT_TO_BUS=y
-+CONFIG_LEDS=y
-+CONFIG_LEDS_TIMER=y
-+CONFIG_LEDS_CPU=y
-+CONFIG_ALIGNMENT_TRAP=y
-+
-+#
-+# Boot options
-+#
-+CONFIG_ZBOOT_ROM_TEXT=0x0
-+CONFIG_ZBOOT_ROM_BSS=0x0
-+CONFIG_CMDLINE="console=ttyS0,115200 mem=64M initrd=0x21100000,4194304 root=/dev/ram0 rw"
-+# CONFIG_XIP_KERNEL is not set
-+# CONFIG_KEXEC 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_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_SUSPEND_UP_POSSIBLE=y
-+
-+#
-+# Networking
-+#
-+CONFIG_NET=y
-+
-+#
-+# Networking options
-+#
-+CONFIG_PACKET=y
-+CONFIG_PACKET_MMAP=y
-+CONFIG_UNIX=y
-+CONFIG_XFRM=y
-+CONFIG_XFRM_USER=y
-+# CONFIG_XFRM_SUB_POLICY is not set
-+# CONFIG_XFRM_MIGRATE is not set
-+CONFIG_NET_KEY=y
-+# CONFIG_NET_KEY_MIGRATE 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 is not set
-+# 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 is not set
-+# 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_DIAG=y
-+CONFIG_INET_TCP_DIAG=y
-+# 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 is not set
-+# CONFIG_INET6_XFRM_TUNNEL is not set
-+# CONFIG_INET6_TUNNEL 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_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
-+
-+#
-+# QoS and/or fair queueing
-+#
-+# CONFIG_NET_SCHED is not set
-+
-+#
-+# Network testing
-+#
-+# CONFIG_NET_PKTGEN is not set
-+# CONFIG_HAMRADIO is not set
-+# CONFIG_IRDA is not set
-+# CONFIG_BT is not set
-+# CONFIG_AF_RXRPC is not set
-+
-+#
-+# Wireless
-+#
-+# CONFIG_CFG80211 is not set
-+# CONFIG_WIRELESS_EXT is not set
-+# CONFIG_MAC80211 is not set
-+# CONFIG_IEEE80211 is not set
-+# CONFIG_RFKILL is not set
-+# CONFIG_NET_9P is not set
-+
-+#
-+# Device Drivers
-+#
-+
-+#
-+# Generic Driver Options
-+#
-+CONFIG_STANDALONE=y
-+CONFIG_PREVENT_FIRMWARE_BUILD=y
-+CONFIG_FW_LOADER=y
-+# 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_REDBOOT_PARTS is not set
-+# CONFIG_MTD_CMDLINE_PARTS is not set
-+# CONFIG_MTD_AFS_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
-+
-+#
-+# 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_SLRAM is not set
-+# CONFIG_MTD_PHRAM is not set
-+# CONFIG_MTD_MTDRAM is not set
-+CONFIG_MTD_BLOCK2MTD=y
-+
-+#
-+# Disk-On-Chip Device Drivers
-+#
-+# CONFIG_MTD_DOC2000 is not set
-+# CONFIG_MTD_DOC2001 is not set
-+# CONFIG_MTD_DOC2001PLUS is not set
-+CONFIG_MTD_NAND=y
-+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-+# CONFIG_MTD_NAND_ECC_SMC is not set
-+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-+CONFIG_MTD_NAND_IDS=y
-+# CONFIG_MTD_NAND_DISKONCHIP is not set
-+CONFIG_MTD_NAND_AT91=y
-+# CONFIG_MTD_NAND_NANDSIM is not set
-+CONFIG_MTD_NAND_PLATFORM=y
-+# CONFIG_MTD_ONENAND is not set
-+
-+#
-+# UBI - Unsorted block images
-+#
-+CONFIG_MTD_UBI=y
-+CONFIG_MTD_UBI_WL_THRESHOLD=4096
-+CONFIG_MTD_UBI_BEB_RESERVE=3
-+CONFIG_MTD_UBI_GLUEBI=y
-+
-+#
-+# UBI debugging options
-+#
-+# CONFIG_MTD_UBI_DEBUG is not set
-+# CONFIG_PARPORT is not set
-+CONFIG_BLK_DEV=y
-+# CONFIG_BLK_DEV_COW_COMMON is not set
-+CONFIG_BLK_DEV_LOOP=y
-+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-+# CONFIG_BLK_DEV_NBD is not set
-+# CONFIG_BLK_DEV_UB is not set
-+CONFIG_BLK_DEV_RAM=y
-+CONFIG_BLK_DEV_RAM_COUNT=16
-+CONFIG_BLK_DEV_RAM_SIZE=8192
-+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
-+# CONFIG_CDROM_PKTCDVD is not set
-+# CONFIG_ATA_OVER_ETH is not set
-+
-+#
-+# SCSI device support
-+#
-+CONFIG_RAID_ATTRS=y
-+CONFIG_SCSI=y
-+CONFIG_SCSI_DMA=y
-+# CONFIG_SCSI_TGT is not set
-+# CONFIG_SCSI_NETLINK is not set
-+CONFIG_SCSI_PROC_FS=y
-+
-+#
-+# SCSI support type (disk, tape, CD-ROM)
-+#
-+CONFIG_BLK_DEV_SD=y
-+# CONFIG_CHR_DEV_ST is not set
-+# CONFIG_CHR_DEV_OSST is not set
-+# CONFIG_BLK_DEV_SR is not set
-+CONFIG_CHR_DEV_SG=y
-+# CONFIG_CHR_DEV_SCH is not set
-+
-+#
-+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-+#
-+CONFIG_SCSI_MULTI_LUN=y
-+CONFIG_SCSI_CONSTANTS=y
-+CONFIG_SCSI_LOGGING=y
-+# CONFIG_SCSI_SCAN_ASYNC is not set
-+
-+#
-+# SCSI Transports
-+#
-+# CONFIG_SCSI_SPI_ATTRS is not set
-+# CONFIG_SCSI_FC_ATTRS is not set
-+# CONFIG_SCSI_ISCSI_ATTRS is not set
-+# CONFIG_SCSI_SAS_LIBSAS is not set
-+# CONFIG_SCSI_LOWLEVEL is not set
-+# CONFIG_ATA is not set
-+# CONFIG_MD is not set
-+CONFIG_NETDEVICES=y
-+# CONFIG_NETDEVICES_MULTIQUEUE is not set
-+# CONFIG_DUMMY is not set
-+# CONFIG_BONDING is not set
-+# CONFIG_MACVLAN is not set
-+# CONFIG_EQUALIZER is not set
-+# CONFIG_TUN is not set
-+CONFIG_PHYLIB=y
-+
-+#
-+# MII PHY device drivers
-+#
-+# CONFIG_MARVELL_PHY is not set
-+# CONFIG_DAVICOM_PHY is not set
-+# CONFIG_QSEMI_PHY is not set
-+# CONFIG_LXT_PHY is not set
-+# CONFIG_CICADA_PHY is not set
-+# CONFIG_VITESSE_PHY is not set
-+# CONFIG_SMSC_PHY is not set
-+# CONFIG_BROADCOM_PHY is not set
-+# CONFIG_ICPLUS_PHY is not set
-+# CONFIG_FIXED_PHY is not set
-+CONFIG_NET_ETHERNET=y
-+CONFIG_MII=y
-+CONFIG_MACB=y
-+# CONFIG_AX88796 is not set
-+# CONFIG_SMC91X is not set
-+# CONFIG_DM9000 is not set
-+# CONFIG_NETDEV_1000 is not set
-+# CONFIG_NETDEV_10000 is not set
-+
-+#
-+# Wireless LAN
-+#
-+# CONFIG_WLAN_PRE80211 is not set
-+# CONFIG_WLAN_80211 is not set
-+
-+#
-+# USB Network Adapters
-+#
-+# CONFIG_USB_CATC is not set
-+# CONFIG_USB_KAWETH is not set
-+# CONFIG_USB_PEGASUS is not set
-+# CONFIG_USB_RTL8150 is not set
-+# CONFIG_USB_USBNET_MII is not set
-+# CONFIG_USB_USBNET is not set
-+# CONFIG_WAN is not set
-+# CONFIG_PPP is not set
-+# CONFIG_SLIP is not set
-+# CONFIG_SHAPER is not set
-+# CONFIG_NETCONSOLE is not set
-+# CONFIG_NETPOLL is not set
-+# CONFIG_NET_POLL_CONTROLLER is not set
-+# CONFIG_ISDN is not set
-+
-+#
-+# Input device support
-+#
-+CONFIG_INPUT=y
-+# CONFIG_INPUT_FF_MEMLESS is not set
-+# CONFIG_INPUT_POLLDEV is not set
-+
-+#
-+# Userland interfaces
-+#
-+CONFIG_INPUT_MOUSEDEV=y
-+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-+# CONFIG_INPUT_JOYDEV is not set
-+# CONFIG_INPUT_TSDEV is not set
-+# CONFIG_INPUT_EVDEV is not set
-+# CONFIG_INPUT_EVBUG is not set
-+
-+#
-+# Input Device Drivers
-+#
-+# CONFIG_INPUT_KEYBOARD is not set
-+# CONFIG_INPUT_MOUSE is not set
-+# CONFIG_INPUT_JOYSTICK is not set
-+# CONFIG_INPUT_TABLET is not set
-+# CONFIG_INPUT_TOUCHSCREEN is not set
-+# CONFIG_INPUT_MISC is not set
-+
-+#
-+# Hardware I/O ports
-+#
-+# CONFIG_SERIO is not set
-+# CONFIG_GAMEPORT is not set
-+
-+#
-+# Character devices
-+#
-+CONFIG_VT=y
-+CONFIG_VT_CONSOLE=y
-+CONFIG_HW_CONSOLE=y
-+# CONFIG_VT_HW_CONSOLE_BINDING is not set
-+# CONFIG_SERIAL_NONSTANDARD is not set
-+
-+#
-+# Serial drivers
-+#
-+# CONFIG_SERIAL_8250 is not set
-+
-+#
-+# Non-8250 serial port support
-+#
-+CONFIG_SERIAL_ATMEL=y
-+CONFIG_SERIAL_ATMEL_CONSOLE=y
-+# CONFIG_SERIAL_ATMEL_TTYAT is not set
-+CONFIG_SERIAL_CORE=y
-+CONFIG_SERIAL_CORE_CONSOLE=y
-+CONFIG_UNIX98_PTYS=y
-+CONFIG_LEGACY_PTYS=y
-+CONFIG_LEGACY_PTY_COUNT=16
-+# CONFIG_IPMI_HANDLER is not set
-+# CONFIG_WATCHDOG is not set
-+# CONFIG_HW_RANDOM is not set
-+# CONFIG_NVRAM is not set
-+# CONFIG_R3964 is not set
-+# CONFIG_RAW_DRIVER is not set
-+# CONFIG_TCG_TPM is not set
-+# CONFIG_I2C is not set
-+
-+#
-+# SPI support
-+#
-+# CONFIG_SPI is not set
-+# CONFIG_SPI_MASTER is not set
-+# CONFIG_W1 is not set
-+# CONFIG_HWMON is not set
-+# CONFIG_MISC_DEVICES is not set
-+
-+#
-+# Multifunction device drivers
-+#
-+# CONFIG_MFD_SM501 is not set
-+CONFIG_NEW_LEDS=y
-+CONFIG_LEDS_CLASS=y
-+
-+#
-+# LED drivers
-+#
-+CONFIG_LEDS_GPIO=y
-+
-+#
-+# LED Triggers
-+#
-+CONFIG_LEDS_TRIGGERS=y
-+CONFIG_LEDS_TRIGGER_TIMER=y
-+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-+
-+#
-+# Multimedia devices
-+#
-+# CONFIG_VIDEO_DEV is not set
-+# CONFIG_DVB_CORE is not set
-+# CONFIG_DAB is not set
-+
-+#
-+# Graphics support
-+#
-+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-+
-+#
-+# Display device support
-+#
-+# CONFIG_DISPLAY_SUPPORT is not set
-+# CONFIG_VGASTATE is not set
-+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-+# CONFIG_FB is not set
-+
-+#
-+# Console display driver support
-+#
-+# CONFIG_VGA_CONSOLE is not set
-+CONFIG_DUMMY_CONSOLE=y
-+
-+#
-+# Sound
-+#
-+# CONFIG_SOUND is not set
-+# CONFIG_HID_SUPPORT is not set
-+CONFIG_USB_SUPPORT=y
-+CONFIG_USB_ARCH_HAS_HCD=y
-+CONFIG_USB_ARCH_HAS_OHCI=y
-+# CONFIG_USB_ARCH_HAS_EHCI is not set
-+CONFIG_USB=y
-+# CONFIG_USB_DEBUG is not set
-+
-+#
-+# Miscellaneous USB options
-+#
-+CONFIG_USB_DEVICEFS=y
-+CONFIG_USB_DEVICE_CLASS=y
-+# CONFIG_USB_DYNAMIC_MINORS is not set
-+# CONFIG_USB_OTG is not set
-+
-+#
-+# USB Host Controller Drivers
-+#
-+# CONFIG_USB_ISP116X_HCD is not set
-+CONFIG_USB_OHCI_HCD=y
-+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
-+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-+# CONFIG_USB_SL811_HCD is not set
-+# CONFIG_USB_R8A66597_HCD is not set
-+
-+#
-+# USB Device Class drivers
-+#
-+# CONFIG_USB_ACM is not set
-+# CONFIG_USB_PRINTER is not set
-+
-+#
-+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-+#
-+
-+#
-+# may also be needed; see USB_STORAGE Help for more information
-+#
-+CONFIG_USB_STORAGE=y
-+# CONFIG_USB_STORAGE_DEBUG is not set
-+# CONFIG_USB_STORAGE_DATAFAB is not set
-+# CONFIG_USB_STORAGE_FREECOM is not set
-+# CONFIG_USB_STORAGE_DPCM is not set
-+# CONFIG_USB_STORAGE_USBAT is not set
-+# CONFIG_USB_STORAGE_SDDR09 is not set
-+# CONFIG_USB_STORAGE_SDDR55 is not set
-+# CONFIG_USB_STORAGE_JUMPSHOT is not set
-+# CONFIG_USB_STORAGE_ALAUDA is not set
-+# CONFIG_USB_STORAGE_KARMA is not set
-+CONFIG_USB_LIBUSUAL=y
-+
-+#
-+# USB Imaging devices
-+#
-+# CONFIG_USB_MDC800 is not set
-+# CONFIG_USB_MICROTEK is not set
-+# CONFIG_USB_MON is not set
-+
-+#
-+# USB port drivers
-+#
-+
-+#
-+# USB Serial Converter support
-+#
-+# CONFIG_USB_SERIAL is not set
-+
-+#
-+# USB Miscellaneous drivers
-+#
-+# CONFIG_USB_EMI62 is not set
-+# CONFIG_USB_EMI26 is not set
-+# CONFIG_USB_ADUTUX is not set
-+# CONFIG_USB_AUERSWALD is not set
-+# CONFIG_USB_RIO500 is not set
-+# CONFIG_USB_LEGOTOWER is not set
-+# CONFIG_USB_LCD is not set
-+# CONFIG_USB_BERRY_CHARGE is not set
-+# CONFIG_USB_LED is not set
-+# CONFIG_USB_CYPRESS_CY7C63 is not set
-+# CONFIG_USB_CYTHERM is not set
-+# CONFIG_USB_PHIDGET is not set
-+# CONFIG_USB_IDMOUSE is not set
-+# CONFIG_USB_FTDI_ELAN is not set
-+# CONFIG_USB_APPLEDISPLAY is not set
-+# CONFIG_USB_LD is not set
-+# CONFIG_USB_TRANCEVIBRATOR is not set
-+# CONFIG_USB_IOWARRIOR is not set
-+# CONFIG_USB_TEST is not set
-+
-+#
-+# USB DSL modem support
-+#
-+
-+#
-+# USB Gadget Support
-+#
-+CONFIG_USB_GADGET=y
-+# CONFIG_USB_GADGET_DEBUG is not set
-+# CONFIG_USB_GADGET_DEBUG_FILES is not set
-+CONFIG_USB_GADGET_SELECTED=y
-+# CONFIG_USB_GADGET_AMD5536UDC is not set
-+# CONFIG_USB_GADGET_FSL_USB2 is not set
-+# CONFIG_USB_GADGET_NET2280 is not set
-+# CONFIG_USB_GADGET_PXA2XX is not set
-+# CONFIG_USB_GADGET_M66592 is not set
-+# CONFIG_USB_GADGET_GOKU is not set
-+# CONFIG_USB_GADGET_LH7A40X is not set
-+# CONFIG_USB_GADGET_OMAP is not set
-+# CONFIG_USB_GADGET_S3C2410 is not set
-+CONFIG_USB_GADGET_AT91=y
-+CONFIG_USB_AT91=y
-+# CONFIG_USB_GADGET_DUMMY_HCD is not set
-+# CONFIG_USB_GADGET_DUALSPEED is not set
-+# CONFIG_USB_ZERO is not set
-+CONFIG_USB_ETH=y
-+CONFIG_USB_ETH_RNDIS=y
-+# CONFIG_USB_GADGETFS is not set
-+# CONFIG_USB_FILE_STORAGE is not set
-+# CONFIG_USB_G_SERIAL is not set
-+# CONFIG_USB_MIDI_GADGET is not set
-+CONFIG_MMC=y
-+CONFIG_MMC_DEBUG=y
-+# CONFIG_MMC_UNSAFE_RESUME is not set
-+
-+#
-+# MMC/SD Card Drivers
-+#
-+CONFIG_MMC_BLOCK=y
-+CONFIG_MMC_BLOCK_BOUNCE=y
-+
-+#
-+# MMC/SD Host Controller Drivers
-+#
-+CONFIG_MMC_AT91=y
-+CONFIG_RTC_LIB=y
-+CONFIG_RTC_CLASS=y
-+CONFIG_RTC_HCTOSYS=y
-+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-+# CONFIG_RTC_DEBUG is not set
-+
-+#
-+# RTC interfaces
-+#
-+CONFIG_RTC_INTF_SYSFS=y
-+CONFIG_RTC_INTF_PROC=y
-+CONFIG_RTC_INTF_DEV=y
-+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-+# CONFIG_RTC_DRV_TEST is not set
-+
-+#
-+# SPI RTC drivers
-+#
-+
-+#
-+# Platform RTC drivers
-+#
-+# CONFIG_RTC_DRV_CMOS is not set
-+CONFIG_RTC_DRV_DS1553=y
-+# CONFIG_RTC_DRV_STK17TA8 is not set
-+CONFIG_RTC_DRV_DS1742=y
-+CONFIG_RTC_DRV_M48T86=y
-+# CONFIG_RTC_DRV_M48T59 is not set
-+CONFIG_RTC_DRV_V3020=y
-+
-+#
-+# on-CPU RTC drivers
-+#
-+
-+#
-+# DMA Engine support
-+#
-+# CONFIG_DMA_ENGINE is not set
-+
-+#
-+# DMA Clients
-+#
-+
-+#
-+# DMA Devices
-+#
-+
-+#
-+# File systems
-+#
-+CONFIG_EXT2_FS=y
-+CONFIG_EXT2_FS_XATTR=y
-+CONFIG_EXT2_FS_POSIX_ACL=y
-+CONFIG_EXT2_FS_SECURITY=y
-+# CONFIG_EXT2_FS_XIP is not set
-+CONFIG_EXT3_FS=y
-+CONFIG_EXT3_FS_XATTR=y
-+CONFIG_EXT3_FS_POSIX_ACL=y
-+CONFIG_EXT3_FS_SECURITY=y
-+# CONFIG_EXT4DEV_FS is not set
-+CONFIG_JBD=y
-+# CONFIG_JBD_DEBUG is not set
-+CONFIG_FS_MBCACHE=y
-+# CONFIG_REISERFS_FS is not set
-+# CONFIG_JFS_FS is not set
-+CONFIG_FS_POSIX_ACL=y
-+# CONFIG_XFS_FS is not set
-+# CONFIG_GFS2_FS is not set
-+# CONFIG_OCFS2_FS is not set
-+# CONFIG_MINIX_FS is not set
-+# CONFIG_ROMFS_FS is not set
-+CONFIG_INOTIFY=y
-+CONFIG_INOTIFY_USER=y
-+# CONFIG_QUOTA is not set
-+CONFIG_DNOTIFY=y
-+# CONFIG_AUTOFS_FS is not set
-+# CONFIG_AUTOFS4_FS is not set
-+# CONFIG_FUSE_FS is not set
-+
-+#
-+# CD-ROM/DVD Filesystems
-+#
-+# CONFIG_ISO9660_FS is not set
-+# CONFIG_UDF_FS is not set
-+
-+#
-+# DOS/FAT/NT Filesystems
-+#
-+CONFIG_FAT_FS=y
-+CONFIG_MSDOS_FS=y
-+CONFIG_VFAT_FS=y
-+CONFIG_FAT_DEFAULT_CODEPAGE=437
-+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-+# CONFIG_NTFS_FS is not set
-+
-+#
-+# Pseudo filesystems
-+#
-+CONFIG_PROC_FS=y
-+CONFIG_PROC_SYSCTL=y
-+CONFIG_SYSFS=y
-+CONFIG_TMPFS=y
-+# CONFIG_TMPFS_POSIX_ACL is not set
-+# CONFIG_HUGETLB_PAGE is not set
-+CONFIG_RAMFS=y
-+# CONFIG_CONFIGFS_FS is not set
-+
-+#
-+# Miscellaneous filesystems
-+#
-+# CONFIG_ADFS_FS is not set
-+# CONFIG_AFFS_FS is not set
-+# CONFIG_HFS_FS is not set
-+# CONFIG_HFSPLUS_FS is not set
-+# CONFIG_BEFS_FS is not set
-+# CONFIG_BFS_FS is not set
-+# CONFIG_EFS_FS is not set
-+CONFIG_JFFS2_FS=y
-+CONFIG_JFFS2_FS_DEBUG=0
-+CONFIG_JFFS2_FS_WRITEBUFFER=y
-+# CONFIG_JFFS2_SUMMARY is not set
-+# CONFIG_JFFS2_FS_XATTR is not set
-+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-+CONFIG_JFFS2_ZLIB=y
-+CONFIG_JFFS2_RTIME=y
-+# CONFIG_JFFS2_RUBIN is not set
-+# CONFIG_CRAMFS is not set
-+# CONFIG_VXFS_FS is not set
-+# CONFIG_HPFS_FS is not set
-+# CONFIG_QNX4FS_FS is not set
-+# CONFIG_SYSV_FS is not set
-+# CONFIG_UFS_FS is not set
-+
-+#
-+# Network File Systems
-+#
-+CONFIG_NFS_FS=y
-+CONFIG_NFS_V3=y
-+# CONFIG_NFS_V3_ACL is not set
-+# CONFIG_NFS_V4 is not set
-+CONFIG_NFS_DIRECTIO=y
-+# CONFIG_NFSD is not set
-+CONFIG_LOCKD=y
-+CONFIG_LOCKD_V4=y
-+CONFIG_NFS_COMMON=y
-+CONFIG_SUNRPC=y
-+# CONFIG_SUNRPC_BIND34 is not set
-+# CONFIG_RPCSEC_GSS_KRB5 is not set
-+# CONFIG_RPCSEC_GSS_SPKM3 is not set
-+# CONFIG_SMB_FS is not set
-+# CONFIG_CIFS is not set
-+# CONFIG_NCP_FS is not set
-+# CONFIG_CODA_FS is not set
-+# CONFIG_AFS_FS is not set
-+
-+#
-+# Partition Types
-+#
-+# CONFIG_PARTITION_ADVANCED is not set
-+CONFIG_MSDOS_PARTITION=y
-+
-+#
-+# Native Language Support
-+#
-+CONFIG_NLS=y
-+CONFIG_NLS_DEFAULT="iso8859-1"
-+CONFIG_NLS_CODEPAGE_437=y
-+CONFIG_NLS_CODEPAGE_737=y
-+CONFIG_NLS_CODEPAGE_775=y
-+CONFIG_NLS_CODEPAGE_850=y
-+CONFIG_NLS_CODEPAGE_852=y
-+CONFIG_NLS_CODEPAGE_855=y
-+CONFIG_NLS_CODEPAGE_857=y
-+CONFIG_NLS_CODEPAGE_860=y
-+CONFIG_NLS_CODEPAGE_861=y
-+CONFIG_NLS_CODEPAGE_862=y
-+CONFIG_NLS_CODEPAGE_863=y
-+CONFIG_NLS_CODEPAGE_864=y
-+CONFIG_NLS_CODEPAGE_865=y
-+CONFIG_NLS_CODEPAGE_866=y
-+CONFIG_NLS_CODEPAGE_869=y
-+CONFIG_NLS_CODEPAGE_936=y
-+CONFIG_NLS_CODEPAGE_950=y
-+CONFIG_NLS_CODEPAGE_932=y
-+CONFIG_NLS_CODEPAGE_949=y
-+CONFIG_NLS_CODEPAGE_874=y
-+CONFIG_NLS_ISO8859_8=y
-+CONFIG_NLS_CODEPAGE_1250=y
-+CONFIG_NLS_CODEPAGE_1251=y
-+CONFIG_NLS_ASCII=y
-+CONFIG_NLS_ISO8859_1=y
-+CONFIG_NLS_ISO8859_2=y
-+CONFIG_NLS_ISO8859_3=y
-+CONFIG_NLS_ISO8859_4=y
-+CONFIG_NLS_ISO8859_5=y
-+CONFIG_NLS_ISO8859_6=y
-+CONFIG_NLS_ISO8859_7=y
-+CONFIG_NLS_ISO8859_9=y
-+CONFIG_NLS_ISO8859_13=y
-+CONFIG_NLS_ISO8859_14=y
-+CONFIG_NLS_ISO8859_15=y
-+CONFIG_NLS_KOI8_R=y
-+CONFIG_NLS_KOI8_U=y
-+CONFIG_NLS_UTF8=y
-+
-+#
-+# Distributed Lock Manager
-+#
-+# CONFIG_DLM is not set
-+
-+#
-+# Profiling support
-+#
-+# CONFIG_PROFILING is not set
-+
-+#
-+# Kernel hacking
-+#
-+# CONFIG_PRINTK_TIME is not set
-+CONFIG_ENABLE_MUST_CHECK=y
-+CONFIG_MAGIC_SYSRQ=y
-+CONFIG_UNUSED_SYMBOLS=y
-+CONFIG_DEBUG_FS=y
-+# CONFIG_HEADERS_CHECK is not set
-+CONFIG_DEBUG_KERNEL=y
-+# CONFIG_DEBUG_SHIRQ is not set
-+CONFIG_DETECT_SOFTLOCKUP=y
-+CONFIG_SCHED_DEBUG=y
-+# CONFIG_SCHEDSTATS is not set
-+# CONFIG_TIMER_STATS is not set
-+# CONFIG_DEBUG_SLAB is not set
-+CONFIG_DEBUG_PREEMPT=y
-+# CONFIG_DEBUG_RT_MUTEXES is not set
-+# CONFIG_RT_MUTEX_TESTER is not set
-+# CONFIG_DEBUG_SPINLOCK is not set
-+# CONFIG_DEBUG_MUTEXES is not set
-+# CONFIG_DEBUG_LOCK_ALLOC is not set
-+# CONFIG_PROVE_LOCKING is not set
-+# CONFIG_LOCK_STAT is not set
-+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
-+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-+# CONFIG_DEBUG_KOBJECT is not set
-+CONFIG_DEBUG_BUGVERBOSE=y
-+# CONFIG_DEBUG_INFO is not set
-+# CONFIG_DEBUG_VM is not set
-+# CONFIG_DEBUG_LIST is not set
-+CONFIG_FRAME_POINTER=y
-+CONFIG_FORCED_INLINING=y
-+# CONFIG_FAULT_INJECTION is not set
-+# CONFIG_DEBUG_USER is not set
-+# CONFIG_DEBUG_ERRORS is not set
-+CONFIG_DEBUG_LL=y
-+# CONFIG_DEBUG_ICEDCC is not set
-+
-+#
-+# Security options
-+#
-+# CONFIG_KEYS is not set
-+# CONFIG_SECURITY is not set
-+# CONFIG_CRYPTO is not set
-+
-+#
-+# Library routines
-+#
-+CONFIG_BITREVERSE=y
-+# CONFIG_CRC_CCITT is not set
-+# CONFIG_CRC16 is not set
-+# CONFIG_CRC_ITU_T is not set
-+CONFIG_CRC32=y
-+# CONFIG_CRC7 is not set
-+# CONFIG_LIBCRC32C is not set
-+CONFIG_AUDIT_GENERIC=y
-+CONFIG_ZLIB_INFLATE=y
-+CONFIG_ZLIB_DEFLATE=y
-+CONFIG_PLIST=y
-+CONFIG_HAS_IOMEM=y
-+CONFIG_HAS_IOPORT=y
-+CONFIG_HAS_DMA=y
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/Kconfig linux-2.6/arch/arm/mach-at91/Kconfig
---- linux-2.6.24/arch/arm/mach-at91/Kconfig 2008-03-01 22:02:07.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/Kconfig 2008-03-01 19:29:48.000000000 +0200
-@@ -12,15 +12,28 @@
-
- config ARCH_AT91SAM9260
- bool "AT91SAM9260 or AT91SAM9XE"
-+ select GENERIC_TIME
-+ select GENERIC_CLOCKEVENTS
-
- config ARCH_AT91SAM9261
- bool "AT91SAM9261"
-+ select GENERIC_TIME
-+ select GENERIC_CLOCKEVENTS
-
- config ARCH_AT91SAM9263
- bool "AT91SAM9263"
-+ select GENERIC_TIME
-+ select GENERIC_CLOCKEVENTS
-
- config ARCH_AT91SAM9RL
- bool "AT91SAM9RL"
-+ select GENERIC_TIME
-+ select GENERIC_CLOCKEVENTS
-+
-+config ARCH_AT91CAP9
-+ bool "AT91CAP9"
-+ select GENERIC_TIME
-+ select GENERIC_CLOCKEVENTS
-
- config ARCH_AT91X40
- bool "AT91x40"
-@@ -42,7 +55,7 @@
- depends on ARCH_AT91RM9200
- help
- Select this if you are using Ajeco's 1ARM Single Board Computer.
-- <http://www.ajeco.fi/products.htm>
-+ <http://www.ajeco.fi/eng/products_e.htm>
-
- config ARCH_AT91RM9200DK
- bool "Atmel AT91RM9200-DK Development board"
-@@ -106,6 +119,32 @@
- help
- Select this if you are using Sperry-Sun's KAFA board.
-
-+config MACH_CHUB
-+ bool "Promwad Chub board"
-+ depends on ARCH_AT91RM9200
-+ help
-+ Select this if you are using Promwad's Chub board.
-+
-+config MACH_HOMEMATIC
-+ bool "eQ-3 HomeMatic"
-+ depends on ARCH_AT91RM9200
-+ help
-+ Select this if you are using eQ-3's HomeMatic device.
-+ <http://www.eq-3.com>
-+
-+config MACH_ECBAT91
-+ bool "emQbit ECB_AT91 SBC"
-+ depends on ARCH_AT91RM9200
-+ help
-+ Select this if you are using emQbit's ECB_AT91 board.
-+ <http://wiki.emqbit.com/free-ecb-at91>
-+
-+config MACH_SWEDATMS
-+ bool "Sweda TMS Board"
-+ depends on ARCH_AT91RM9200
-+ help
-+ Select this if you are using Sweda TMS-100 board.
-+
- endif
-
- # ----------------------------------------------------------
-@@ -130,6 +169,20 @@
- 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>
-
-+config MACH_CAM60
-+ bool "KwikByte CAM60 board"
-+ depends on ARCH_AT91SAM9260
-+ help
-+ Select this if you are using KwikByte's CAM60 board based on the Atmel AT91SAM9260.
-+ <http://www.kwikbyte.com>
-+
-+config MACH_SAM9_L9260
-+ bool "Olimex SAM9-L9260 board"
-+ depends on ARCH_AT91SAM9260
-+ help
-+ Select this if you are using Olimex's SAM9-L9260 board based on the Atmel AT91SAM9260.
-+ http://www.olimex.com/dev/sam9-L9260.html
-+
- endif
-
- # ----------------------------------------------------------
-@@ -178,6 +231,21 @@
-
- # ----------------------------------------------------------
-
-+if ARCH_AT91CAP9
-+
-+comment "AT91CAP9 Board Type"
-+
-+config MACH_AT91CAP9ADK
-+ bool "Atmel AT91CAP9A-DK Evaluation Kit"
-+ depends on ARCH_AT91CAP9
-+ 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>
-+
-+endif
-+
-+# ----------------------------------------------------------
-+
- if ARCH_AT91X40
-
- comment "AT91X40 Board Type"
-@@ -198,13 +266,13 @@
-
- config MTD_AT91_DATAFLASH_CARD
- bool "Enable DataFlash Card support"
-- depends on (ARCH_AT91RM9200DK || MACH_AT91RM9200EK || MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9263EK)
-+ depends on (ARCH_AT91RM9200DK || MACH_AT91RM9200EK || MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9263EK || MACH_ECBAT91 || MACH_SAM9_L9260 || MACH_AT91CAP9ADK)
- help
- Enable support for the DataFlash card.
-
- config MTD_NAND_AT91_BUSWIDTH_16
- bool "Enable 16-bit data bus interface to NAND flash"
-- depends on (MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9263EK)
-+ depends on (MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9263EK || MACH_AT91CAP9ADK)
- help
- On AT91SAM926x boards both types of NAND flash can be present
- (8 and 16 bit data bus width).
-@@ -219,6 +287,65 @@
- Select this if you need to program one or more of the PCK0..PCK3
- programmable clock outputs.
-
-+config AT91_SLOW_CLOCK
-+ bool "Suspend-to-RAM disables main oscillator"
-+ depends on SUSPEND
-+ help
-+ Select this if you want Suspend-to-RAM to save the most power
-+ possible (without powering off the CPU) by disabling the PLLs
-+ and main oscillator so that only the 32 KiHz clock is available.
-+
-+ When only that slow-clock is available, some peripherals lose
-+ functionality. Many can't issue wakeup events unless faster
-+ clocks are available. Some lose their operating state and
-+ need to be completely re-initialized.
-+
-+config AT91_TIMER_HZ
-+ int "Kernel HZ (jiffies per second)"
-+ range 32 1024
-+ depends on ARCH_AT91
-+ default "128" if ARCH_AT91RM9200
-+ default "100"
-+ help
-+ On AT91rm9200 chips where you're using a system clock derived
-+ from the 32768 Hz hardware clock, this tick rate should divide
-+ it exactly: use a power-of-two value, such as 128 or 256, to
-+ reduce timing errors caused by rounding.
-+
-+ On AT91sam926x chips, or otherwise using a higher precision
-+ system clock (of at least several MHz), rounding is less of a
-+ problem so it can be safer to use a decimal values like 100.
-+
-+choice
-+ prompt "Select a UART for early kernel messages"
-+
-+config AT91_EARLY_DBGU
-+ bool "DBGU"
-+
-+config AT91_EARLY_USART0
-+ bool "USART0"
-+
-+config AT91_EARLY_USART1
-+ bool "USART1"
-+
-+config AT91_EARLY_USART2
-+ bool "USART2"
-+ depends on ! ARCH_AT91X40
-+
-+config AT91_EARLY_USART3
-+ bool "USART3"
-+ depends on (ARCH_AT91RM9200 || ARCH_AT91SAM9RL || ARCH_AT91SAM9260)
-+
-+config AT91_EARLY_USART4
-+ bool "USART4"
-+ depends on ARCH_AT91SAM9260
-+
-+config AT91_EARLY_USART5
-+ bool "USART5"
-+ depends on ARCH_AT91SAM9260
-+
-+endchoice
-+
- endmenu
-
- endif
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/Makefile linux-2.6/arch/arm/mach-at91/Makefile
---- linux-2.6.24/arch/arm/mach-at91/Makefile 2008-03-01 22:02:07.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/Makefile 2008-03-01 18:45:33.000000000 +0200
-@@ -8,7 +8,6 @@
- obj- :=
-
- obj-$(CONFIG_AT91_PMC_UNIT) += clock.o
--obj-$(CONFIG_PM) += pm.o
-
- # CPU-specific support
- obj-$(CONFIG_ARCH_AT91RM9200) += at91rm9200.o at91rm9200_time.o at91rm9200_devices.o
-@@ -16,6 +15,7 @@
- obj-$(CONFIG_ARCH_AT91SAM9261) += at91sam9261.o at91sam926x_time.o at91sam9261_devices.o
- obj-$(CONFIG_ARCH_AT91SAM9263) += at91sam9263.o at91sam926x_time.o at91sam9263_devices.o
- obj-$(CONFIG_ARCH_AT91SAM9RL) += at91sam9rl.o at91sam926x_time.o at91sam9rl_devices.o
-+obj-$(CONFIG_ARCH_AT91CAP9) += at91cap9.o at91sam926x_time.o at91cap9_devices.o
- obj-$(CONFIG_ARCH_AT91X40) += at91x40.o at91x40_time.o
-
- # AT91RM9200 board-specific support
-@@ -28,11 +28,16 @@
- obj-$(CONFIG_MACH_KB9200) += board-kb9202.o
- obj-$(CONFIG_MACH_ATEB9200) += board-eb9200.o
- obj-$(CONFIG_MACH_KAFA) += board-kafa.o
-+obj-$(CONFIG_MACH_CHUB) += board-chub.o
- obj-$(CONFIG_MACH_PICOTUX2XX) += board-picotux200.o
--obj-$(CONFIG_MACH_AT91EB01) += board-eb01.o
-+obj-$(CONFIG_MACH_HOMEMATIC) += board-homematic.o
-+obj-$(CONFIG_MACH_ECBAT91) += board-ecbat91.o
-+obj-$(CONFIG_MACH_SWEDATMS) += board-tms.o
-
- # AT91SAM9260 board-specific support
- obj-$(CONFIG_MACH_AT91SAM9260EK) += board-sam9260ek.o
-+obj-$(CONFIG_MACH_CAM60) += board-cam60.o
-+obj-$(CONFIG_MACH_SAM9_L9260) += board-sam9-l9260.o
-
- # AT91SAM9261 board-specific support
- obj-$(CONFIG_MACH_AT91SAM9261EK) += board-sam9261ek.o
-@@ -43,19 +48,19 @@
- # AT91SAM9RL board-specific support
- obj-$(CONFIG_MACH_AT91SAM9RLEK) += board-sam9rlek.o
-
--# LEDs support
--led-$(CONFIG_ARCH_AT91RM9200DK) += leds.o
--led-$(CONFIG_MACH_AT91RM9200EK) += leds.o
--led-$(CONFIG_MACH_AT91SAM9261EK)+= leds.o
--led-$(CONFIG_MACH_CSB337) += leds.o
--led-$(CONFIG_MACH_CSB637) += leds.o
--led-$(CONFIG_MACH_KB9200) += leds.o
--led-$(CONFIG_MACH_KAFA) += leds.o
--obj-$(CONFIG_LEDS) += $(led-y)
-+# AT91CAP9 board-specific support
-+obj-$(CONFIG_MACH_AT91CAP9ADK) += board-cap9adk.o
-
--# VGA support
--#obj-$(CONFIG_FB_S1D13XXX) += ics1523.o
-+# AT91X40 board-specific support
-+obj-$(CONFIG_MACH_AT91EB01) += board-eb01.o
-
-+# Drivers
-+obj-y += leds.o
-+obj-$(CONFIG_FB_S1D13XXX) += ics1523.o
-+
-+# Power Management
-+obj-$(CONFIG_PM) += pm.o
-+obj-$(CONFIG_AT91_SLOW_CLOCK) += pm_slowclock.o
-
- ifeq ($(CONFIG_PM_DEBUG),y)
- CFLAGS_pm.o += -DDEBUG
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/Makefile.boot linux-2.6/arch/arm/mach-at91/Makefile.boot
---- linux-2.6.24/arch/arm/mach-at91/Makefile.boot 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/Makefile.boot 2008-01-16 20:26:54.000000000 +0200
-@@ -3,7 +3,12 @@
- # PARAMS_PHYS must be within 4MB of ZRELADDR
- # INITRD_PHYS must be in RAM
-
-+ifeq ($(CONFIG_ARCH_AT91CAP9),y)
-+ zreladdr-y := 0x70008000
-+params_phys-y := 0x70000100
-+initrd_phys-y := 0x70410000
-+else
- zreladdr-y := 0x20008000
- params_phys-y := 0x20000100
- initrd_phys-y := 0x20410000
--
-+endif
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/at91cap9.c linux-2.6/arch/arm/mach-at91/at91cap9.c
---- linux-2.6.24/arch/arm/mach-at91/at91cap9.c 1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91cap9.c 2008-03-01 19:34:19.000000000 +0200
-@@ -0,0 +1,374 @@
-+/*
-+ * arch/arm/mach-at91/at91cap9.c
-+ *
-+ * Copyright (C) 2007 Stelian Pop <stelian.pop@leadtechdesign.com>
-+ * Copyright (C) 2007 Lead Tech Design <www.leadtechdesign.com>
-+ * Copyright (C) 2007 Atmel Corporation.
-+ *
-+ * 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.
-+ *
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/pm.h>
-+
-+#include <asm/mach/arch.h>
-+#include <asm/mach/map.h>
-+#include <asm/arch/at91cap9.h>
-+#include <asm/arch/at91_pmc.h>
-+#include <asm/arch/at91_rstc.h>
-+#include <asm/arch/at91_shdwc.h>
-+
-+#include "generic.h"
-+#include "clock.h"
-+
-+static struct map_desc at91cap9_io_desc[] __initdata = {
-+ {
-+ .virtual = AT91_VA_BASE_SYS,
-+ .pfn = __phys_to_pfn(AT91_BASE_SYS),
-+ .length = SZ_16K,
-+ .type = MT_DEVICE,
-+ }, {
-+ .virtual = AT91_IO_VIRT_BASE - AT91CAP9_SRAM_SIZE,
-+ .pfn = __phys_to_pfn(AT91CAP9_SRAM_BASE),
-+ .length = AT91CAP9_SRAM_SIZE,
-+ .type = MT_DEVICE,
-+ },
-+};
-+
-+/* --------------------------------------------------------------------
-+ * Clocks
-+ * -------------------------------------------------------------------- */
-+
-+/*
-+ * The peripheral clocks.
-+ */
-+static struct clk pioABCD_clk = {
-+ .name = "pioABCD_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_PIOABCD,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk mpb0_clk = {
-+ .name = "mpb0_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_MPB0,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk mpb1_clk = {
-+ .name = "mpb1_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_MPB1,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk mpb2_clk = {
-+ .name = "mpb2_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_MPB2,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk mpb3_clk = {
-+ .name = "mpb3_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_MPB3,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk mpb4_clk = {
-+ .name = "mpb4_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_MPB4,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk usart0_clk = {
-+ .name = "usart0_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_US0,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk usart1_clk = {
-+ .name = "usart1_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_US1,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk usart2_clk = {
-+ .name = "usart2_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_US2,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk mmc0_clk = {
-+ .name = "mci0_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_MCI0,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk mmc1_clk = {
-+ .name = "mci1_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_MCI1,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk can_clk = {
-+ .name = "can_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_CAN,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk twi_clk = {
-+ .name = "twi_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_TWI,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk spi0_clk = {
-+ .name = "spi0_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_SPI0,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk spi1_clk = {
-+ .name = "spi1_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_SPI1,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk ssc0_clk = {
-+ .name = "ssc0_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_SSC0,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk ssc1_clk = {
-+ .name = "ssc1_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_SSC1,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk ac97_clk = {
-+ .name = "ac97_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_AC97C,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk tcb_clk = {
-+ .name = "tcb_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_TCB,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk pwmc_clk = {
-+ .name = "pwmc_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_PWMC,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk macb_clk = {
-+ .name = "macb_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_EMAC,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk aestdes_clk = {
-+ .name = "aestdes_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_AESTDES,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk adc_clk = {
-+ .name = "adc_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_ADC,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk isi_clk = {
-+ .name = "isi_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_ISI,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk lcdc_clk = {
-+ .name = "lcdc_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_LCDC,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk dma_clk = {
-+ .name = "dma_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_DMA,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk udphs_clk = {
-+ .name = "udphs_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_UDPHS,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+static struct clk ohci_clk = {
-+ .name = "ohci_clk",
-+ .pmc_mask = 1 << AT91CAP9_ID_UHP,
-+ .type = CLK_TYPE_PERIPHERAL,
-+};
-+
-+static struct clk *periph_clocks[] __initdata = {
-+ &pioABCD_clk,
-+ &mpb0_clk,
-+ &mpb1_clk,
-+ &mpb2_clk,
-+ &mpb3_clk,
-+ &mpb4_clk,
-+ &usart0_clk,
-+ &usart1_clk,
-+ &usart2_clk,
-+ &mmc0_clk,
-+ &mmc1_clk,
-+ &can_clk,
-+ &twi_clk,
-+ &spi0_clk,
-+ &spi1_clk,
-+ &ssc0_clk,
-+ &ssc1_clk,
-+ &ac97_clk,
-+ &tcb_clk,
-+ &pwmc_clk,
-+ &macb_clk,
-+ &aestdes_clk,
-+ &adc_clk,
-+ &isi_clk,
-+ &lcdc_clk,
-+ &dma_clk,
-+ &udphs_clk,
-+ &ohci_clk,
-+ // irq0 .. irq1
-+};
-+
-+/*
-+ * The four programmable clocks.
-+ * You must configure pin multiplexing to bring these signals out.
-+ */
-+static struct clk pck0 = {
-+ .name = "pck0",
-+ .pmc_mask = AT91_PMC_PCK0,
-+ .type = CLK_TYPE_PROGRAMMABLE,
-+ .id = 0,
-+};
-+static struct clk pck1 = {
-+ .name = "pck1",
-+ .pmc_mask = AT91_PMC_PCK1,
-+ .type = CLK_TYPE_PROGRAMMABLE,
-+ .id = 1,
-+};
-+static struct clk pck2 = {
-+ .name = "pck2",
-+ .pmc_mask = AT91_PMC_PCK2,
-+ .type = CLK_TYPE_PROGRAMMABLE,
-+ .id = 2,
-+};
-+static struct clk pck3 = {
-+ .name = "pck3",
-+ .pmc_mask = AT91_PMC_PCK3,
-+ .type = CLK_TYPE_PROGRAMMABLE,
-+ .id = 3,
-+};
-+
-+static void __init at91cap9_register_clocks(void)
-+{
-+ int i;
-+
-+ for (i = 0; i < ARRAY_SIZE(periph_clocks); i++)
-+ clk_register(periph_clocks[i]);
-+
-+ clk_register(&pck0);
-+ clk_register(&pck1);
-+ clk_register(&pck2);
-+ clk_register(&pck3);
-+}
-+
-+/* --------------------------------------------------------------------
-+ * GPIO
-+ * -------------------------------------------------------------------- */
-+
-+static struct at91_gpio_bank at91cap9_gpio[] = {
-+ {
-+ .id = AT91CAP9_ID_PIOABCD,
-+ .offset = AT91_PIOA,
-+ .clock = &pioABCD_clk,
-+ }, {
-+ .id = AT91CAP9_ID_PIOABCD,
-+ .offset = AT91_PIOB,
-+ .clock = &pioABCD_clk,
-+ }, {
-+ .id = AT91CAP9_ID_PIOABCD,
-+ .offset = AT91_PIOC,
-+ .clock = &pioABCD_clk,
-+ }, {
-+ .id = AT91CAP9_ID_PIOABCD,
-+ .offset = AT91_PIOD,
-+ .clock = &pioABCD_clk,
-+ }
-+};
-+
-+static void at91cap9_reset(void)
-+{
-+ at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
-+}
-+
-+static void at91cap9_poweroff(void)
-+{
-+ at91_sys_write(AT91_SHDW_CR, AT91_SHDW_KEY | AT91_SHDW_SHDW);
-+}
-+
-+
-+/* --------------------------------------------------------------------
-+ * AT91CAP9 processor initialization
-+ * -------------------------------------------------------------------- */
-+
-+void __init at91cap9_initialize(unsigned long main_clock)
-+{
-+ /* Map peripherals */
-+ iotable_init(at91cap9_io_desc, ARRAY_SIZE(at91cap9_io_desc));
-+
-+ at91_arch_reset = at91cap9_reset;
-+ pm_power_off = at91cap9_poweroff;
-+ at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1);
-+
-+ /* Init clock subsystem */
-+ at91_clock_init(main_clock);
-+
-+ /* Register the processor-specific clocks */
-+ at91cap9_register_clocks();
-+
-+ /* Register GPIO subsystem */
-+ at91_gpio_init(at91cap9_gpio, 4);
-+}
-+
-+/* --------------------------------------------------------------------
-+ * Interrupt initialization
-+ * -------------------------------------------------------------------- */
-+
-+/*
-+ * The default interrupt priority levels (0 = lowest, 7 = highest).
-+ */
-+static unsigned int at91cap9_default_irq_priority[NR_AIC_IRQS] __initdata = {
-+ 7, /* Advanced Interrupt Controller (FIQ) */
-+ 7, /* System Peripherals */
-+ 1, /* Parallel IO Controller A, B, C and D */
-+ 0, /* MP Block Peripheral 0 */
-+ 0, /* MP Block Peripheral 1 */
-+ 0, /* MP Block Peripheral 2 */
-+ 0, /* MP Block Peripheral 3 */
-+ 0, /* MP Block Peripheral 4 */
-+ 5, /* USART 0 */
-+ 5, /* USART 1 */
-+ 5, /* USART 2 */
-+ 0, /* Multimedia Card Interface 0 */
-+ 0, /* Multimedia Card Interface 1 */
-+ 3, /* CAN */
-+ 6, /* Two-Wire Interface */
-+ 5, /* Serial Peripheral Interface 0 */
-+ 5, /* Serial Peripheral Interface 1 */
-+ 4, /* Serial Synchronous Controller 0 */
-+ 4, /* Serial Synchronous Controller 1 */
-+ 5, /* AC97 Controller */
-+ 0, /* Timer Counter 0, 1 and 2 */
-+ 0, /* Pulse Width Modulation Controller */
-+ 3, /* Ethernet */
-+ 0, /* Advanced Encryption Standard, Triple DES*/
-+ 0, /* Analog-to-Digital Converter */
-+ 0, /* Image Sensor Interface */
-+ 3, /* LCD Controller */
-+ 0, /* DMA Controller */
-+ 2, /* USB Device Port */
-+ 2, /* USB Host port */
-+ 0, /* Advanced Interrupt Controller (IRQ0) */
-+ 0, /* Advanced Interrupt Controller (IRQ1) */
-+};
-+
-+void __init at91cap9_init_interrupts(unsigned int priority[NR_AIC_IRQS])
-+{
-+ if (!priority)
-+ priority = at91cap9_default_irq_priority;
-+
-+ /* Initialize the AIC interrupt controller */
-+ at91_aic_init(priority);
-+
-+ /* Enable GPIO interrupts */
-+ at91_gpio_irq_setup();
-+}
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/at91cap9_devices.c linux-2.6/arch/arm/mach-at91/at91cap9_devices.c
---- linux-2.6.24/arch/arm/mach-at91/at91cap9_devices.c 1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91cap9_devices.c 2008-03-01 20:41:49.000000000 +0200
-@@ -0,0 +1,1119 @@
-+/*
-+ * arch/arm/mach-at91/at91cap9_devices.c
-+ *
-+ * Copyright (C) 2007 Stelian Pop <stelian.pop@leadtechdesign.com>
-+ * Copyright (C) 2007 Lead Tech Design <www.leadtechdesign.com>
-+ * Copyright (C) 2007 Atmel Corporation.
-+ *
-+ * 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.
-+ *
-+ */
-+#include <asm/mach/arch.h>
-+#include <asm/mach/map.h>
-+
-+#include <linux/dma-mapping.h>
-+#include <linux/platform_device.h>
-+#include <linux/i2c-gpio.h>
-+
-+#include <video/atmel_lcdc.h>
-+
-+#include <asm/arch/board.h>
-+#include <asm/arch/gpio.h>
-+#include <asm/arch/at91cap9.h>
-+#include <asm/arch/at91sam926x_smc.h>
-+#include <asm/arch/at91cap9_matrix.h>
-+
-+#include "generic.h"
-+
-+
-+/* --------------------------------------------------------------------
-+ * USB Host
-+ * -------------------------------------------------------------------- */
-+
-+#if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
-+static u64 ohci_dmamask = DMA_BIT_MASK(32);
-+static struct at91_usbh_data usbh_data;
-+
-+static struct resource usbh_resources[] = {
-+ [0] = {
-+ .start = AT91CAP9_UHP_BASE,
-+ .end = AT91CAP9_UHP_BASE + SZ_1M - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91CAP9_ID_UHP,
-+ .end = AT91CAP9_ID_UHP,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91_usbh_device = {
-+ .name = "at91_ohci",
-+ .id = -1,
-+ .dev = {
-+ .dma_mask = &ohci_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &usbh_data,
-+ },
-+ .resource = usbh_resources,
-+ .num_resources = ARRAY_SIZE(usbh_resources),
-+};
-+
-+void __init at91_add_device_usbh(struct at91_usbh_data *data)
-+{
-+ int i;
-+
-+ if (!data)
-+ return;
-+
-+ /* Enable VBus control for UHP ports */
-+ for (i = 0; i < data->ports; i++) {
-+ if (data->vbus_pin[i])
-+ at91_set_gpio_output(data->vbus_pin[i], 0);
-+ }
-+
-+ usbh_data = *data;
-+ platform_device_register(&at91_usbh_device);
-+}
-+#else
-+void __init at91_add_device_usbh(struct at91_usbh_data *data) {}
-+#endif
-+
-+
-+/* --------------------------------------------------------------------
-+ * Ethernet
-+ * -------------------------------------------------------------------- */
-+
-+#if defined(CONFIG_MACB) || defined(CONFIG_MACB_MODULE)
-+static u64 eth_dmamask = DMA_BIT_MASK(32);
-+static struct at91_eth_data eth_data;
-+
-+static struct resource eth_resources[] = {
-+ [0] = {
-+ .start = AT91CAP9_BASE_EMAC,
-+ .end = AT91CAP9_BASE_EMAC + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91CAP9_ID_EMAC,
-+ .end = AT91CAP9_ID_EMAC,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91cap9_eth_device = {
-+ .name = "macb",
-+ .id = -1,
-+ .dev = {
-+ .dma_mask = &eth_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &eth_data,
-+ },
-+ .resource = eth_resources,
-+ .num_resources = ARRAY_SIZE(eth_resources),
-+};
-+
-+void __init at91_add_device_eth(struct at91_eth_data *data)
-+{
-+ if (!data)
-+ return;
-+
-+ if (data->phy_irq_pin) {
-+ at91_set_gpio_input(data->phy_irq_pin, 0);
-+ at91_set_deglitch(data->phy_irq_pin, 1);
-+ }
-+
-+ /* Pins used for MII and RMII */
-+ at91_set_A_periph(AT91_PIN_PB21, 0); /* ETXCK_EREFCK */
-+ at91_set_A_periph(AT91_PIN_PB22, 0); /* ERXDV */
-+ at91_set_A_periph(AT91_PIN_PB25, 0); /* ERX0 */
-+ at91_set_A_periph(AT91_PIN_PB26, 0); /* ERX1 */
-+ at91_set_A_periph(AT91_PIN_PB27, 0); /* ERXER */
-+ at91_set_A_periph(AT91_PIN_PB28, 0); /* ETXEN */
-+ at91_set_A_periph(AT91_PIN_PB23, 0); /* ETX0 */
-+ at91_set_A_periph(AT91_PIN_PB24, 0); /* ETX1 */
-+ at91_set_A_periph(AT91_PIN_PB30, 0); /* EMDIO */
-+ at91_set_A_periph(AT91_PIN_PB29, 0); /* EMDC */
-+
-+ if (!data->is_rmii) {
-+ at91_set_B_periph(AT91_PIN_PC25, 0); /* ECRS */
-+ at91_set_B_periph(AT91_PIN_PC26, 0); /* ECOL */
-+ at91_set_B_periph(AT91_PIN_PC22, 0); /* ERX2 */
-+ at91_set_B_periph(AT91_PIN_PC23, 0); /* ERX3 */
-+ at91_set_B_periph(AT91_PIN_PC27, 0); /* ERXCK */
-+ at91_set_B_periph(AT91_PIN_PC20, 0); /* ETX2 */
-+ at91_set_B_periph(AT91_PIN_PC21, 0); /* ETX3 */
-+ at91_set_B_periph(AT91_PIN_PC24, 0); /* ETXER */
-+ }
-+
-+ eth_data = *data;
-+ platform_device_register(&at91cap9_eth_device);
-+}
-+#else
-+void __init at91_add_device_eth(struct at91_eth_data *data) {}
-+#endif
-+
-+
-+/* --------------------------------------------------------------------
-+ * MMC / SD
-+ * -------------------------------------------------------------------- */
-+
-+#if defined(CONFIG_MMC_AT91) || defined(CONFIG_MMC_AT91_MODULE)
-+static u64 mmc_dmamask = DMA_BIT_MASK(32);
-+static struct at91_mmc_data mmc0_data, mmc1_data;
-+
-+static struct resource mmc0_resources[] = {
-+ [0] = {
-+ .start = AT91CAP9_BASE_MCI0,
-+ .end = AT91CAP9_BASE_MCI0 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91CAP9_ID_MCI0,
-+ .end = AT91CAP9_ID_MCI0,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91cap9_mmc0_device = {
-+ .name = "at91_mci",
-+ .id = 0,
-+ .dev = {
-+ .dma_mask = &mmc_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &mmc0_data,
-+ },
-+ .resource = mmc0_resources,
-+ .num_resources = ARRAY_SIZE(mmc0_resources),
-+};
-+
-+static struct resource mmc1_resources[] = {
-+ [0] = {
-+ .start = AT91CAP9_BASE_MCI1,
-+ .end = AT91CAP9_BASE_MCI1 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91CAP9_ID_MCI1,
-+ .end = AT91CAP9_ID_MCI1,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91cap9_mmc1_device = {
-+ .name = "at91_mci",
-+ .id = 1,
-+ .dev = {
-+ .dma_mask = &mmc_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &mmc1_data,
-+ },
-+ .resource = mmc1_resources,
-+ .num_resources = ARRAY_SIZE(mmc1_resources),
-+};
-+
-+void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data)
-+{
-+ if (!data)
-+ return;
-+
-+ /* input/irq */
-+ if (data->det_pin) {
-+ at91_set_gpio_input(data->det_pin, 1);
-+ at91_set_deglitch(data->det_pin, 1);
-+ }
-+ if (data->wp_pin)
-+ at91_set_gpio_input(data->wp_pin, 1);
-+ if (data->vcc_pin)
-+ at91_set_gpio_output(data->vcc_pin, 0);
-+
-+ if (mmc_id == 0) { /* MCI0 */
-+ /* CLK */
-+ at91_set_A_periph(AT91_PIN_PA2, 0);
-+
-+ /* CMD */
-+ at91_set_A_periph(AT91_PIN_PA1, 1);
-+
-+ /* DAT0, maybe DAT1..DAT3 */
-+ at91_set_A_periph(AT91_PIN_PA0, 1);
-+ if (data->wire4) {
-+ at91_set_A_periph(AT91_PIN_PA3, 1);
-+ at91_set_A_periph(AT91_PIN_PA4, 1);
-+ at91_set_A_periph(AT91_PIN_PA5, 1);
-+ }
-+
-+ mmc0_data = *data;
-+ at91_clock_associate("mci0_clk", &at91cap9_mmc1_device.dev, "mci_clk");
-+ platform_device_register(&at91cap9_mmc0_device);
-+ } else { /* MCI1 */
-+ /* CLK */
-+ at91_set_A_periph(AT91_PIN_PA16, 0);
-+
-+ /* CMD */
-+ at91_set_A_periph(AT91_PIN_PA17, 1);
-+
-+ /* DAT0, maybe DAT1..DAT3 */
-+ at91_set_A_periph(AT91_PIN_PA18, 1);
-+ if (data->wire4) {
-+ at91_set_A_periph(AT91_PIN_PA19, 1);
-+ at91_set_A_periph(AT91_PIN_PA20, 1);
-+ at91_set_A_periph(AT91_PIN_PA21, 1);
-+ }
-+
-+ mmc1_data = *data;
-+ at91_clock_associate("mci1_clk", &at91cap9_mmc1_device.dev, "mci_clk");
-+ platform_device_register(&at91cap9_mmc1_device);
-+ }
-+}
-+#else
-+void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {}
-+#endif
-+
-+
-+/* --------------------------------------------------------------------
-+ * NAND / SmartMedia
-+ * -------------------------------------------------------------------- */
-+
-+#if defined(CONFIG_MTD_NAND_AT91) || defined(CONFIG_MTD_NAND_AT91_MODULE)
-+static struct at91_nand_data nand_data;
-+
-+#define NAND_BASE AT91_CHIPSELECT_3
-+
-+static struct resource nand_resources[] = {
-+ [0] = {
-+ .start = NAND_BASE,
-+ .end = NAND_BASE + SZ_256M - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91_BASE_SYS + AT91_ECC,
-+ .end = AT91_BASE_SYS + AT91_ECC + SZ_512 - 1,
-+ .flags = IORESOURCE_MEM,
-+ }
-+};
-+
-+static struct platform_device at91cap9_nand_device = {
-+ .name = "at91_nand",
-+ .id = -1,
-+ .dev = {
-+ .platform_data = &nand_data,
-+ },
-+ .resource = nand_resources,
-+ .num_resources = ARRAY_SIZE(nand_resources),
-+};
-+
-+void __init at91_add_device_nand(struct at91_nand_data *data)
-+{
-+ unsigned long csa, mode;
-+
-+ if (!data)
-+ return;
-+
-+ csa = at91_sys_read(AT91_MATRIX_EBICSA);
-+ at91_sys_write(AT91_MATRIX_EBICSA, csa | AT91_MATRIX_EBI_CS3A_SMC_SMARTMEDIA | AT91_MATRIX_EBI_VDDIOMSEL_3_3V);
-+
-+ /* set the bus interface characteristics */
-+ at91_sys_write(AT91_SMC_SETUP(3), AT91_SMC_NWESETUP_(2) | AT91_SMC_NCS_WRSETUP_(1)
-+ | AT91_SMC_NRDSETUP_(2) | AT91_SMC_NCS_RDSETUP_(1));
-+
-+ at91_sys_write(AT91_SMC_PULSE(3), AT91_SMC_NWEPULSE_(4) | AT91_SMC_NCS_WRPULSE_(6)
-+ | AT91_SMC_NRDPULSE_(4) | AT91_SMC_NCS_RDPULSE_(6));
-+
-+ at91_sys_write(AT91_SMC_CYCLE(3), AT91_SMC_NWECYCLE_(8) | AT91_SMC_NRDCYCLE_(8));
-+
-+ if (data->bus_width_16)
-+ mode = AT91_SMC_DBW_16;
-+ else
-+ mode = AT91_SMC_DBW_8;
-+ at91_sys_write(AT91_SMC_MODE(3), mode | AT91_SMC_READMODE | AT91_SMC_WRITEMODE | AT91_SMC_EXNWMODE_DISABLE | AT91_SMC_TDF_(1));
-+
-+ /* enable pin */
-+ if (data->enable_pin)
-+ at91_set_gpio_output(data->enable_pin, 1);
-+
-+ /* ready/busy pin */
-+ if (data->rdy_pin)
-+ at91_set_gpio_input(data->rdy_pin, 1);
-+
-+ /* card detect pin */
-+ if (data->det_pin)
-+ at91_set_gpio_input(data->det_pin, 1);
-+
-+ nand_data = *data;
-+ platform_device_register(&at91cap9_nand_device);
-+}
-+#else
-+void __init at91_add_device_nand(struct at91_nand_data *data) {}
-+#endif
-+
-+
-+/* --------------------------------------------------------------------
-+ * TWI (i2c)
-+ * -------------------------------------------------------------------- */
-+
-+/*
-+ * Prefer the GPIO code since the TWI controller isn't robust
-+ * (gets overruns and underruns under load) and can only issue
-+ * repeated STARTs in one scenario (the driver doesn't yet handle them).
-+ */
-+#if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE)
-+
-+static struct i2c_gpio_platform_data pdata = {
-+ .sda_pin = AT91_PIN_PB4,
-+ .sda_is_open_drain = 1,
-+ .scl_pin = AT91_PIN_PB5,
-+ .scl_is_open_drain = 1,
-+ .udelay = 2, /* ~100 kHz */
-+};
-+
-+static struct platform_device at91cap9_twi_device = {
-+ .name = "i2c-gpio",
-+ .id = -1,
-+ .dev.platform_data = &pdata,
-+};
-+
-+void __init at91_add_device_i2c(struct i2c_board_info *devices, int nr_devices)
-+{
-+ at91_set_GPIO_periph(AT91_PIN_PB4, 1); /* TWD (SDA) */
-+ at91_set_multi_drive(AT91_PIN_PB4, 1);
-+
-+ at91_set_GPIO_periph(AT91_PIN_PB5, 1); /* TWCK (SCL) */
-+ at91_set_multi_drive(AT91_PIN_PB5, 1);
-+
-+ i2c_register_board_info(0, devices, nr_devices);
-+ platform_device_register(&at91cap9_twi_device);
-+}
-+
-+#elif defined(CONFIG_I2C_AT91) || defined(CONFIG_I2C_AT91_MODULE)
-+
-+static struct resource twi_resources[] = {
-+ [0] = {
-+ .start = AT91CAP9_BASE_TWI,
-+ .end = AT91CAP9_BASE_TWI + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91CAP9_ID_TWI,
-+ .end = AT91CAP9_ID_TWI,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91cap9_twi_device = {
-+ .name = "at91_i2c",
-+ .id = -1,
-+ .resource = twi_resources,
-+ .num_resources = ARRAY_SIZE(twi_resources),
-+};
-+
-+void __init at91_add_device_i2c(struct i2c_board_info *devices, int nr_devices)
-+{
-+ /* pins used for TWI interface */
-+ at91_set_B_periph(AT91_PIN_PB4, 0); /* TWD */
-+ at91_set_multi_drive(AT91_PIN_PB4, 1);
-+
-+ at91_set_B_periph(AT91_PIN_PB5, 0); /* TWCK */
-+ at91_set_multi_drive(AT91_PIN_PB5, 1);
-+
-+ i2c_register_board_info(0, devices, nr_devices);
-+ platform_device_register(&at91cap9_twi_device);
-+}
-+#else
-+void __init at91_add_device_i2c(struct i2c_board_info *devices, int nr_devices) {}
-+#endif
-+
-+/* --------------------------------------------------------------------
-+ * SPI
-+ * -------------------------------------------------------------------- */
-+
-+#if defined(CONFIG_SPI_ATMEL) || defined(CONFIG_SPI_ATMEL_MODULE)
-+static u64 spi_dmamask = DMA_BIT_MASK(32);
-+
-+static struct resource spi0_resources[] = {
-+ [0] = {
-+ .start = AT91CAP9_BASE_SPI0,
-+ .end = AT91CAP9_BASE_SPI0 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91CAP9_ID_SPI0,
-+ .end = AT91CAP9_ID_SPI0,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91cap9_spi0_device = {
-+ .name = "atmel_spi",
-+ .id = 0,
-+ .dev = {
-+ .dma_mask = &spi_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ },
-+ .resource = spi0_resources,
-+ .num_resources = ARRAY_SIZE(spi0_resources),
-+};
-+
-+static const unsigned spi0_standard_cs[4] = { AT91_PIN_PA5, AT91_PIN_PA3, AT91_PIN_PD0, AT91_PIN_PD1 };
-+
-+static struct resource spi1_resources[] = {
-+ [0] = {
-+ .start = AT91CAP9_BASE_SPI1,
-+ .end = AT91CAP9_BASE_SPI1 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91CAP9_ID_SPI1,
-+ .end = AT91CAP9_ID_SPI1,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91cap9_spi1_device = {
-+ .name = "atmel_spi",
-+ .id = 1,
-+ .dev = {
-+ .dma_mask = &spi_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ },
-+ .resource = spi1_resources,
-+ .num_resources = ARRAY_SIZE(spi1_resources),
-+};
-+
-+static const unsigned spi1_standard_cs[4] = { AT91_PIN_PB15, AT91_PIN_PB16, AT91_PIN_PB17, AT91_PIN_PB18 };
-+
-+void __init at91_add_device_spi(struct spi_board_info *devices, int nr_devices)
-+{
-+ int i;
-+ unsigned long cs_pin;
-+ short enable_spi0 = 0;
-+ short enable_spi1 = 0;
-+
-+ /* Choose SPI chip-selects */
-+ for (i = 0; i < nr_devices; i++) {
-+ if (devices[i].controller_data)
-+ cs_pin = (unsigned long) devices[i].controller_data;
-+ else if (devices[i].bus_num == 0)
-+ cs_pin = spi0_standard_cs[devices[i].chip_select];
-+ else
-+ cs_pin = spi1_standard_cs[devices[i].chip_select];
-+
-+ if (devices[i].bus_num == 0)
-+ enable_spi0 = 1;
-+ else
-+ enable_spi1 = 1;
-+
-+ /* enable chip-select pin */
-+ at91_set_gpio_output(cs_pin, 1);
-+
-+ /* pass chip-select pin to driver */
-+ devices[i].controller_data = (void *) cs_pin;
-+ }
-+
-+ spi_register_board_info(devices, nr_devices);
-+
-+ /* Configure SPI bus(es) */
-+ if (enable_spi0) {
-+ at91_set_B_periph(AT91_PIN_PA0, 0); /* SPI0_MISO */
-+ at91_set_B_periph(AT91_PIN_PA1, 0); /* SPI0_MOSI */
-+ at91_set_B_periph(AT91_PIN_PA2, 0); /* SPI0_SPCK */
-+
-+ at91_clock_associate("spi0_clk", &at91cap9_spi0_device.dev, "spi_clk");
-+ platform_device_register(&at91cap9_spi0_device);
-+ }
-+ if (enable_spi1) {
-+ at91_set_A_periph(AT91_PIN_PB12, 0); /* SPI1_MISO */
-+ at91_set_A_periph(AT91_PIN_PB13, 0); /* SPI1_MOSI */
-+ at91_set_A_periph(AT91_PIN_PB14, 0); /* SPI1_SPCK */
-+
-+ at91_clock_associate("spi1_clk", &at91cap9_spi1_device.dev, "spi_clk");
-+ platform_device_register(&at91cap9_spi1_device);
-+ }
-+}
-+#else
-+void __init at91_add_device_spi(struct spi_board_info *devices, int nr_devices) {}
-+#endif
-+
-+
-+/* --------------------------------------------------------------------
-+ * Timer/Counter block
-+ * -------------------------------------------------------------------- */
-+
-+#ifdef CONFIG_ATMEL_TCLIB
-+
-+static struct resource tcb_resources[] = {
-+ [0] = {
-+ .start = AT91CAP9_BASE_TCB0,
-+ .end = AT91CAP9_BASE_TCB0 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91CAP9_ID_TCB,
-+ .end = AT91CAP9_ID_TCB,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91cap9_tcb_device = {
-+ .name = "atmel_tcb",
-+ .id = 0,
-+ .resource = tcb_resources,
-+ .num_resources = ARRAY_SIZE(tcb_resources),
-+};
-+
-+static void __init at91_add_device_tc(void)
-+{
-+ /* this chip has one clock and irq for all three TC channels */
-+ at91_clock_associate("tcb_clk", &at91cap9_tcb_device.dev, "t0_clk");
-+ platform_device_register(&at91cap9_tcb_device);
-+}
-+#else
-+static void __init at91_add_device_tc(void) { }
-+#endif
-+
-+/* --------------------------------------------------------------------
-+ * RTT
-+ * -------------------------------------------------------------------- */
-+
-+static struct resource rtt_resources[] = {
-+ {
-+ .start = AT91_BASE_SYS + AT91_RTT,
-+ .end = AT91_BASE_SYS + AT91_RTT + SZ_16 - 1,
-+ .flags = IORESOURCE_MEM,
-+ }
-+};
-+
-+static struct platform_device at91cap9_rtt_device = {
-+ .name = "at91_rtt",
-+ .id = -1,
-+ .resource = rtt_resources,
-+ .num_resources = ARRAY_SIZE(rtt_resources),
-+};
-+
-+static void __init at91_add_device_rtt(void)
-+{
-+ device_init_wakeup(&at91cap9_rtt_device.dev, 1);
-+ platform_device_register(&at91cap9_rtt_device);
-+}
-+
-+
-+/* --------------------------------------------------------------------
-+ * Watchdog
-+ * -------------------------------------------------------------------- */
-+
-+#if defined(CONFIG_AT91SAM9_WATCHDOG) || defined(CONFIG_AT91SAM9_WATCHDOG_MODULE)
-+static struct platform_device at91cap9_wdt_device = {
-+ .name = "at91_wdt",
-+ .id = -1,
-+ .num_resources = 0,
-+};
-+
-+static void __init at91_add_device_watchdog(void)
-+{
-+ platform_device_register(&at91cap9_wdt_device);
-+}
-+#else
-+static void __init at91_add_device_watchdog(void) {}
-+#endif
-+
-+
-+/* --------------------------------------------------------------------
-+ * AC97
-+ * -------------------------------------------------------------------- */
-+
-+#if defined(CONFIG_SND_AT91_AC97) || defined(CONFIG_SND_AT91_AC97_MODULE)
-+static u64 ac97_dmamask = DMA_BIT_MASK(32);
-+static struct atmel_ac97_data ac97_data;
-+
-+static struct resource ac97_resources[] = {
-+ [0] = {
-+ .start = AT91CAP9_BASE_AC97C,
-+ .end = AT91CAP9_BASE_AC97C + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91CAP9_ID_AC97C,
-+ .end = AT91CAP9_ID_AC97C,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91cap9_ac97_device = {
-+ .name = "ac97c",
-+ .id = 1,
-+ .dev = {
-+ .dma_mask = &ac97_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &ac97_data,
-+ },
-+ .resource = ac97_resources,
-+ .num_resources = ARRAY_SIZE(ac97_resources),
-+};
-+
-+void __init at91_add_device_ac97(struct atmel_ac97_data *data)
-+{
-+ if (!data)
-+ return;
-+
-+ at91_set_A_periph(AT91_PIN_PA6, 0); /* AC97FS */
-+ at91_set_A_periph(AT91_PIN_PA7, 0); /* AC97CK */
-+ at91_set_A_periph(AT91_PIN_PA8, 0); /* AC97TX */
-+ at91_set_A_periph(AT91_PIN_PA9, 0); /* AC97RX */
-+
-+ /* reset */
-+ if (data->reset_pin)
-+ at91_set_gpio_output(data->reset_pin, 0);
-+
-+ ac97_data = *data;
-+ platform_device_register(&at91cap9_ac97_device);
-+}
-+#else
-+void __init at91_add_device_ac97(struct atmel_ac97_data *data) {}
-+#endif
-+
-+
-+/* --------------------------------------------------------------------
-+ * LCD Controller
-+ * -------------------------------------------------------------------- */
-+
-+#if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE)
-+static u64 lcdc_dmamask = DMA_BIT_MASK(32);
-+static struct atmel_lcdfb_info lcdc_data;
-+
-+static struct resource lcdc_resources[] = {
-+ [0] = {
-+ .start = AT91CAP9_LCDC_BASE,
-+ .end = AT91CAP9_LCDC_BASE + SZ_4K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91CAP9_ID_LCDC,
-+ .end = AT91CAP9_ID_LCDC,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91_lcdc_device = {
-+ .name = "atmel_lcdfb",
-+ .id = 0,
-+ .dev = {
-+ .dma_mask = &lcdc_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &lcdc_data,
-+ },
-+ .resource = lcdc_resources,
-+ .num_resources = ARRAY_SIZE(lcdc_resources),
-+};
-+
-+void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data)
-+{
-+ if (!data)
-+ return;
-+
-+ at91_set_A_periph(AT91_PIN_PC1, 0); /* LCDHSYNC */
-+ at91_set_A_periph(AT91_PIN_PC2, 0); /* LCDDOTCK */
-+ at91_set_A_periph(AT91_PIN_PC3, 0); /* LCDDEN */
-+ at91_set_B_periph(AT91_PIN_PB9, 0); /* LCDCC */
-+ at91_set_A_periph(AT91_PIN_PC6, 0); /* LCDD2 */
-+ at91_set_A_periph(AT91_PIN_PC7, 0); /* LCDD3 */
-+ at91_set_A_periph(AT91_PIN_PC8, 0); /* LCDD4 */
-+ at91_set_A_periph(AT91_PIN_PC9, 0); /* LCDD5 */
-+ at91_set_A_periph(AT91_PIN_PC10, 0); /* LCDD6 */
-+ at91_set_A_periph(AT91_PIN_PC11, 0); /* LCDD7 */
-+ at91_set_A_periph(AT91_PIN_PC14, 0); /* LCDD10 */
-+ at91_set_A_periph(AT91_PIN_PC15, 0); /* LCDD11 */
-+ at91_set_A_periph(AT91_PIN_PC16, 0); /* LCDD12 */
-+ at91_set_A_periph(AT91_PIN_PC17, 0); /* LCDD13 */
-+ at91_set_A_periph(AT91_PIN_PC18, 0); /* LCDD14 */
-+ at91_set_A_periph(AT91_PIN_PC19, 0); /* LCDD15 */
-+ at91_set_A_periph(AT91_PIN_PC22, 0); /* LCDD18 */
-+ at91_set_A_periph(AT91_PIN_PC23, 0); /* LCDD19 */
-+ at91_set_A_periph(AT91_PIN_PC24, 0); /* LCDD20 */
-+ at91_set_A_periph(AT91_PIN_PC25, 0); /* LCDD21 */
-+ at91_set_A_periph(AT91_PIN_PC26, 0); /* LCDD22 */
-+ at91_set_A_periph(AT91_PIN_PC27, 0); /* LCDD23 */
-+
-+ lcdc_data = *data;
-+ platform_device_register(&at91_lcdc_device);
-+}
-+#else
-+void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data) {}
-+#endif
-+
-+
-+/* --------------------------------------------------------------------
-+ * SSC -- Synchronous Serial Controller
-+ * -------------------------------------------------------------------- */
-+
-+#if defined(CONFIG_ATMEL_SSC) || defined(CONFIG_ATMEL_SSC_MODULE)
-+static u64 ssc0_dmamask = DMA_BIT_MASK(32);
-+
-+static struct resource ssc0_resources[] = {
-+ [0] = {
-+ .start = AT91CAP9_BASE_SSC0,
-+ .end = AT91CAP9_BASE_SSC0 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91CAP9_ID_SSC0,
-+ .end = AT91CAP9_ID_SSC0,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91cap9_ssc0_device = {
-+ .name = "ssc",
-+ .id = 0,
-+ .dev = {
-+ .dma_mask = &ssc0_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ },
-+ .resource = ssc0_resources,
-+ .num_resources = ARRAY_SIZE(ssc0_resources),
-+};
-+
-+static inline void configure_ssc0_pins(unsigned pins)
-+{
-+ if (pins & ATMEL_SSC_TF)
-+ at91_set_A_periph(AT91_PIN_PB0, 1);
-+ if (pins & ATMEL_SSC_TK)
-+ at91_set_A_periph(AT91_PIN_PB1, 1);
-+ if (pins & ATMEL_SSC_TD)
-+ at91_set_A_periph(AT91_PIN_PB2, 1);
-+ if (pins & ATMEL_SSC_RD)
-+ at91_set_A_periph(AT91_PIN_PB3, 1);
-+ if (pins & ATMEL_SSC_RK)
-+ at91_set_A_periph(AT91_PIN_PB4, 1);
-+ if (pins & ATMEL_SSC_RF)
-+ at91_set_A_periph(AT91_PIN_PB5, 1);
-+}
-+
-+static u64 ssc1_dmamask = DMA_BIT_MASK(32);
-+
-+static struct resource ssc1_resources[] = {
-+ [0] = {
-+ .start = AT91CAP9_BASE_SSC1,
-+ .end = AT91CAP9_BASE_SSC1 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91CAP9_ID_SSC1,
-+ .end = AT91CAP9_ID_SSC1,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91cap9_ssc1_device = {
-+ .name = "ssc",
-+ .id = 1,
-+ .dev = {
-+ .dma_mask = &ssc1_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ },
-+ .resource = ssc1_resources,
-+ .num_resources = ARRAY_SIZE(ssc1_resources),
-+};
-+
-+static inline void configure_ssc1_pins(unsigned pins)
-+{
-+ if (pins & ATMEL_SSC_TF)
-+ at91_set_A_periph(AT91_PIN_PB6, 1);
-+ if (pins & ATMEL_SSC_TK)
-+ at91_set_A_periph(AT91_PIN_PB7, 1);
-+ if (pins & ATMEL_SSC_TD)
-+ at91_set_A_periph(AT91_PIN_PB8, 1);
-+ if (pins & ATMEL_SSC_RD)
-+ at91_set_A_periph(AT91_PIN_PB9, 1);
-+ if (pins & ATMEL_SSC_RK)
-+ at91_set_A_periph(AT91_PIN_PB10, 1);
-+ if (pins & ATMEL_SSC_RF)
-+ at91_set_A_periph(AT91_PIN_PB11, 1);
-+}
-+
-+/*
-+ * SSC controllers are accessed through library code, instead of any
-+ * kind of all-singing/all-dancing driver. For example one could be
-+ * used by a particular I2S audio codec's driver, while another one
-+ * on the same system might be used by a custom data capture driver.
-+ */
-+void __init at91_add_device_ssc(unsigned id, unsigned pins)
-+{
-+ struct platform_device *pdev;
-+
-+ /*
-+ * NOTE: caller is responsible for passing information matching
-+ * "pins" to whatever will be using each particular controller.
-+ */
-+ switch (id) {
-+ case AT91CAP9_ID_SSC0:
-+ pdev = &at91cap9_ssc0_device;
-+ configure_ssc0_pins(pins);
-+ at91_clock_associate("ssc0_clk", &pdev->dev, "ssc");
-+ break;
-+ case AT91CAP9_ID_SSC1:
-+ pdev = &at91cap9_ssc1_device;
-+ configure_ssc1_pins(pins);
-+ at91_clock_associate("ssc1_clk", &pdev->dev, "ssc");
-+ break;
-+ default:
-+ return;
-+ }
-+
-+ platform_device_register(pdev);
-+}
-+
-+#else
-+void __init at91_add_device_ssc(unsigned id, unsigned pins) {}
-+#endif
-+
-+
-+/* --------------------------------------------------------------------
-+ * UART
-+ * -------------------------------------------------------------------- */
-+
-+#if defined(CONFIG_SERIAL_ATMEL)
-+static struct resource dbgu_resources[] = {
-+ [0] = {
-+ .start = AT91_VA_BASE_SYS + AT91_DBGU,
-+ .end = AT91_VA_BASE_SYS + AT91_DBGU + SZ_512 - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91_ID_SYS,
-+ .end = AT91_ID_SYS,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct atmel_uart_data dbgu_data = {
-+ .use_dma_tx = 0,
-+ .use_dma_rx = 0, /* DBGU not capable of receive DMA */
-+ .regs = (void __iomem *)(AT91_VA_BASE_SYS + AT91_DBGU),
-+};
-+
-+static u64 dbgu_dmamask = DMA_BIT_MASK(32);
-+
-+static struct platform_device at91cap9_dbgu_device = {
-+ .name = "atmel_usart",
-+ .id = 0,
-+ .dev = {
-+ .dma_mask = &dbgu_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &dbgu_data,
-+ },
-+ .resource = dbgu_resources,
-+ .num_resources = ARRAY_SIZE(dbgu_resources),
-+};
-+
-+static inline void configure_dbgu_pins(void)
-+{
-+ at91_set_A_periph(AT91_PIN_PC30, 0); /* DRXD */
-+ at91_set_A_periph(AT91_PIN_PC31, 1); /* DTXD */
-+}
-+
-+static struct resource uart0_resources[] = {
-+ [0] = {
-+ .start = AT91CAP9_BASE_US0,
-+ .end = AT91CAP9_BASE_US0 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91CAP9_ID_US0,
-+ .end = AT91CAP9_ID_US0,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct atmel_uart_data uart0_data = {
-+ .use_dma_tx = 1,
-+ .use_dma_rx = 1,
-+};
-+
-+static u64 uart0_dmamask = DMA_BIT_MASK(32);
-+
-+static struct platform_device at91cap9_uart0_device = {
-+ .name = "atmel_usart",
-+ .id = 1,
-+ .dev = {
-+ .dma_mask = &uart0_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart0_data,
-+ },
-+ .resource = uart0_resources,
-+ .num_resources = ARRAY_SIZE(uart0_resources),
-+};
-+
-+static inline void configure_usart0_pins(unsigned pins)
-+{
-+ at91_set_A_periph(AT91_PIN_PA22, 1); /* TXD0 */
-+ at91_set_A_periph(AT91_PIN_PA23, 0); /* RXD0 */
-+
-+ if (pins & ATMEL_UART_RTS)
-+ at91_set_A_periph(AT91_PIN_PA24, 0); /* RTS0 */
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_A_periph(AT91_PIN_PA25, 0); /* CTS0 */
-+}
-+
-+static struct resource uart1_resources[] = {
-+ [0] = {
-+ .start = AT91CAP9_BASE_US1,
-+ .end = AT91CAP9_BASE_US1 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91CAP9_ID_US1,
-+ .end = AT91CAP9_ID_US1,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct atmel_uart_data uart1_data = {
-+ .use_dma_tx = 1,
-+ .use_dma_rx = 1,
-+};
-+
-+static u64 uart1_dmamask = DMA_BIT_MASK(32);
-+
-+static struct platform_device at91cap9_uart1_device = {
-+ .name = "atmel_usart",
-+ .id = 2,
-+ .dev = {
-+ .dma_mask = &uart1_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart1_data,
-+ },
-+ .resource = uart1_resources,
-+ .num_resources = ARRAY_SIZE(uart1_resources),
-+};
-+
-+static inline void configure_usart1_pins(unsigned pins)
-+{
-+ at91_set_A_periph(AT91_PIN_PD0, 1); /* TXD1 */
-+ at91_set_A_periph(AT91_PIN_PD1, 0); /* RXD1 */
-+
-+ if (pins & ATMEL_UART_RTS)
-+ at91_set_B_periph(AT91_PIN_PD7, 0); /* RTS1 */
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_B_periph(AT91_PIN_PD8, 0); /* CTS1 */
-+}
-+
-+static struct resource uart2_resources[] = {
-+ [0] = {
-+ .start = AT91CAP9_BASE_US2,
-+ .end = AT91CAP9_BASE_US2 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91CAP9_ID_US2,
-+ .end = AT91CAP9_ID_US2,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct atmel_uart_data uart2_data = {
-+ .use_dma_tx = 1,
-+ .use_dma_rx = 1,
-+};
-+
-+static u64 uart2_dmamask = DMA_BIT_MASK(32);
-+
-+static struct platform_device at91cap9_uart2_device = {
-+ .name = "atmel_usart",
-+ .id = 3,
-+ .dev = {
-+ .dma_mask = &uart2_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart2_data,
-+ },
-+ .resource = uart2_resources,
-+ .num_resources = ARRAY_SIZE(uart2_resources),
-+};
-+
-+static inline void configure_usart2_pins(unsigned pins)
-+{
-+ at91_set_A_periph(AT91_PIN_PD2, 1); /* TXD2 */
-+ at91_set_A_periph(AT91_PIN_PD3, 0); /* RXD2 */
-+
-+ if (pins & ATMEL_UART_RTS)
-+ at91_set_B_periph(AT91_PIN_PD5, 0); /* RTS2 */
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_B_periph(AT91_PIN_PD6, 0); /* CTS2 */
-+}
-+
-+static struct platform_device *at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */
-+struct platform_device *atmel_default_console_device; /* the serial console device */
-+
-+void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins)
-+{
-+ struct platform_device *pdev;
-+
-+ switch (id) {
-+ case 0: /* DBGU */
-+ pdev = &at91cap9_dbgu_device;
-+ configure_dbgu_pins();
-+ at91_clock_associate("mck", &pdev->dev, "usart");
-+ break;
-+ case AT91CAP9_ID_US0:
-+ pdev = &at91cap9_uart0_device;
-+ configure_usart0_pins(pins);
-+ at91_clock_associate("usart0_clk", &pdev->dev, "usart");
-+ break;
-+ case AT91CAP9_ID_US1:
-+ pdev = &at91cap9_uart1_device;
-+ configure_usart1_pins(pins);
-+ at91_clock_associate("usart1_clk", &pdev->dev, "usart");
-+ break;
-+ case AT91CAP9_ID_US2:
-+ pdev = &at91cap9_uart2_device;
-+ configure_usart2_pins(pins);
-+ at91_clock_associate("usart2_clk", &pdev->dev, "usart");
-+ break;
-+ default:
-+ return;
-+ }
-+ pdev->id = portnr; /* update to mapped ID */
-+
-+ if (portnr < ATMEL_MAX_UART)
-+ at91_uarts[portnr] = pdev;
-+}
-+
-+void __init at91_set_serial_console(unsigned portnr)
-+{
-+ if (portnr < ATMEL_MAX_UART)
-+ atmel_default_console_device = at91_uarts[portnr];
-+ if (!atmel_default_console_device)
-+ printk(KERN_INFO "AT91: No default serial console defined.\n");
-+}
-+
-+void __init at91_add_device_serial(void)
-+{
-+ int i;
-+
-+ for (i = 0; i < ATMEL_MAX_UART; i++) {
-+ if (at91_uarts[i])
-+ platform_device_register(at91_uarts[i]);
-+ }
-+}
-+#else
-+void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {}
-+void __init at91_set_serial_console(unsigned portnr) {}
-+void __init at91_add_device_serial(void) {}
-+#endif
-+
-+
-+/* -------------------------------------------------------------------- */
-+/*
-+ * These devices are always present and don't need any board-specific
-+ * setup.
-+ */
-+static int __init at91_add_standard_devices(void)
-+{
-+ at91_add_device_rtt();
-+ at91_add_device_watchdog();
-+ at91_add_device_tc();
-+ return 0;
-+}
-+
-+arch_initcall(at91_add_standard_devices);
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/at91rm9200.c linux-2.6/arch/arm/mach-at91/at91rm9200.c
---- linux-2.6.24/arch/arm/mach-at91/at91rm9200.c 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91rm9200.c 2008-03-01 18:46:49.000000000 +0200
-@@ -301,28 +301,28 @@
- static unsigned int at91rm9200_default_irq_priority[NR_AIC_IRQS] __initdata = {
- 7, /* Advanced Interrupt Controller (FIQ) */
- 7, /* System Peripherals */
-- 0, /* Parallel IO Controller A */
-- 0, /* Parallel IO Controller B */
-- 0, /* Parallel IO Controller C */
-- 0, /* Parallel IO Controller D */
-- 6, /* USART 0 */
-- 6, /* USART 1 */
-- 6, /* USART 2 */
-- 6, /* USART 3 */
-+ 1, /* Parallel IO Controller A */
-+ 1, /* Parallel IO Controller B */
-+ 1, /* Parallel IO Controller C */
-+ 1, /* Parallel IO Controller D */
-+ 5, /* USART 0 */
-+ 5, /* USART 1 */
-+ 5, /* USART 2 */
-+ 5, /* USART 3 */
- 0, /* Multimedia Card Interface */
-- 4, /* USB Device Port */
-- 0, /* Two-Wire Interface */
-- 6, /* Serial Peripheral Interface */
-- 5, /* Serial Synchronous Controller 0 */
-- 5, /* Serial Synchronous Controller 1 */
-- 5, /* Serial Synchronous Controller 2 */
-+ 2, /* USB Device Port */
-+ 6, /* Two-Wire Interface */
-+ 5, /* Serial Peripheral Interface */
-+ 4, /* Serial Synchronous Controller 0 */
-+ 4, /* Serial Synchronous Controller 1 */
-+ 4, /* Serial Synchronous Controller 2 */
- 0, /* Timer Counter 0 */
- 0, /* Timer Counter 1 */
- 0, /* Timer Counter 2 */
- 0, /* Timer Counter 3 */
- 0, /* Timer Counter 4 */
- 0, /* Timer Counter 5 */
-- 3, /* USB Host port */
-+ 2, /* USB Host port */
- 3, /* Ethernet MAC */
- 0, /* Advanced Interrupt Controller (IRQ0) */
- 0, /* Advanced Interrupt Controller (IRQ1) */
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/at91rm9200_devices.c linux-2.6/arch/arm/mach-at91/at91rm9200_devices.c
---- linux-2.6.24/arch/arm/mach-at91/at91rm9200_devices.c 2008-03-01 22:02:07.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91rm9200_devices.c 2008-03-01 18:50:43.000000000 +0200
-@@ -13,6 +13,7 @@
- #include <asm/mach/arch.h>
- #include <asm/mach/map.h>
-
-+#include <linux/dma-mapping.h>
- #include <linux/platform_device.h>
- #include <linux/i2c-gpio.h>
-
-@@ -29,7 +30,7 @@
- * -------------------------------------------------------------------- */
-
- #if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
--static u64 ohci_dmamask = 0xffffffffUL;
-+static u64 ohci_dmamask = DMA_BIT_MASK(32);
- static struct at91_usbh_data usbh_data;
-
- static struct resource usbh_resources[] = {
-@@ -50,7 +51,7 @@
- .id = -1,
- .dev = {
- .dma_mask = &ohci_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- .platform_data = &usbh_data,
- },
- .resource = usbh_resources,
-@@ -125,7 +126,7 @@
- * -------------------------------------------------------------------- */
-
- #if defined(CONFIG_ARM_AT91_ETHER) || defined(CONFIG_ARM_AT91_ETHER_MODULE)
--static u64 eth_dmamask = 0xffffffffUL;
-+static u64 eth_dmamask = DMA_BIT_MASK(32);
- static struct at91_eth_data eth_data;
-
- static struct resource eth_resources[] = {
-@@ -146,7 +147,7 @@
- .id = -1,
- .dev = {
- .dma_mask = &eth_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- .platform_data = &eth_data,
- },
- .resource = eth_resources,
-@@ -285,7 +286,7 @@
- * -------------------------------------------------------------------- */
-
- #if defined(CONFIG_MMC_AT91) || defined(CONFIG_MMC_AT91_MODULE)
--static u64 mmc_dmamask = 0xffffffffUL;
-+static u64 mmc_dmamask = DMA_BIT_MASK(32);
- static struct at91_mmc_data mmc_data;
-
- static struct resource mmc_resources[] = {
-@@ -306,7 +307,7 @@
- .id = -1,
- .dev = {
- .dma_mask = &mmc_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- .platform_data = &mmc_data,
- },
- .resource = mmc_resources,
-@@ -375,7 +376,7 @@
- static struct resource nand_resources[] = {
- {
- .start = NAND_BASE,
-- .end = NAND_BASE + SZ_8M - 1,
-+ .end = NAND_BASE + SZ_256M - 1,
- .flags = IORESOURCE_MEM,
- }
- };
-@@ -512,8 +513,19 @@
- * SPI
- * -------------------------------------------------------------------- */
-
--#if defined(CONFIG_SPI_ATMEL) || defined(CONFIG_SPI_ATMEL_MODULE)
--static u64 spi_dmamask = 0xffffffffUL;
-+#if defined(CONFIG_AT91_SPI) || defined(CONFIG_AT91_SPI_MODULE) /* legacy SPI driver */
-+#define SPI_DEVNAME "at91_spi"
-+
-+#elif defined(CONFIG_SPI_AT91) || defined(CONFIG_SPI_AT91_MODULE) /* SPI bitbanging driver */
-+#define SPI_DEVNAME "at91_spi"
-+
-+#elif defined(CONFIG_SPI_ATMEL) || defined(CONFIG_SPI_ATMEL_MODULE) /* new SPI driver */
-+#define SPI_DEVNAME "atmel_spi"
-+
-+#endif
-+
-+#ifdef SPI_DEVNAME
-+static u64 spi_dmamask = DMA_BIT_MASK(32);
-
- static struct resource spi_resources[] = {
- [0] = {
-@@ -529,11 +541,11 @@
- };
-
- static struct platform_device at91rm9200_spi_device = {
-- .name = "atmel_spi",
-+ .name = SPI_DEVNAME,
- .id = 0,
- .dev = {
- .dma_mask = &spi_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- },
- .resource = spi_resources,
- .num_resources = ARRAY_SIZE(spi_resources),
-@@ -557,8 +569,17 @@
- else
- cs_pin = spi_standard_cs[devices[i].chip_select];
-
-- /* enable chip-select pin */
-- at91_set_gpio_output(cs_pin, 1);
-+ if (devices[i].chip_select == 0) /* for CS0 errata */
-+ at91_set_A_periph(cs_pin, 0);
-+ else
-+ at91_set_gpio_output(cs_pin, 1);
-+
-+#if defined(CONFIG_AT91_SPI) || defined(CONFIG_AT91_SPI_MODULE)
-+ /*
-+ * Force peripheral mode when using the legacy SPI driver.
-+ */
-+ at91_set_A_periph(cs_pin, 0);
-+#endif
-
- /* pass chip-select pin to driver */
- devices[i].controller_data = (void *) cs_pin;
-@@ -573,6 +594,90 @@
-
-
- /* --------------------------------------------------------------------
-+ * Timer/Counter blocks
-+ * -------------------------------------------------------------------- */
-+
-+#ifdef CONFIG_ATMEL_TCLIB
-+
-+static struct resource tcb0_resources[] = {
-+ [0] = {
-+ .start = AT91RM9200_BASE_TCB0,
-+ .end = AT91RM9200_BASE_TCB0 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91RM9200_ID_TC0,
-+ .end = AT91RM9200_ID_TC0,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+ [2] = {
-+ .start = AT91RM9200_ID_TC1,
-+ .end = AT91RM9200_ID_TC1,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+ [3] = {
-+ .start = AT91RM9200_ID_TC2,
-+ .end = AT91RM9200_ID_TC2,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91rm9200_tcb0_device = {
-+ .name = "atmel_tcb",
-+ .id = 0,
-+ .resource = tcb0_resources,
-+ .num_resources = ARRAY_SIZE(tcb0_resources),
-+};
-+
-+static struct resource tcb1_resources[] = {
-+ [0] = {
-+ .start = AT91RM9200_BASE_TCB1,
-+ .end = AT91RM9200_BASE_TCB1 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91RM9200_ID_TC3,
-+ .end = AT91RM9200_ID_TC3,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+ [2] = {
-+ .start = AT91RM9200_ID_TC4,
-+ .end = AT91RM9200_ID_TC4,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+ [3] = {
-+ .start = AT91RM9200_ID_TC5,
-+ .end = AT91RM9200_ID_TC5,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91rm9200_tcb1_device = {
-+ .name = "atmel_tcb",
-+ .id = 1,
-+ .resource = tcb1_resources,
-+ .num_resources = ARRAY_SIZE(tcb1_resources),
-+};
-+
-+static void __init at91_add_device_tc(void)
-+{
-+ /* this chip has a separate clock and irq for each TC channel */
-+ at91_clock_associate("tc0_clk", &at91rm9200_tcb0_device.dev, "t0_clk");
-+ at91_clock_associate("tc1_clk", &at91rm9200_tcb0_device.dev, "t1_clk");
-+ at91_clock_associate("tc2_clk", &at91rm9200_tcb0_device.dev, "t2_clk");
-+ platform_device_register(&at91rm9200_tcb0_device);
-+
-+ at91_clock_associate("tc3_clk", &at91rm9200_tcb1_device.dev, "t0_clk");
-+ at91_clock_associate("tc4_clk", &at91rm9200_tcb1_device.dev, "t1_clk");
-+ at91_clock_associate("tc5_clk", &at91rm9200_tcb1_device.dev, "t2_clk");
-+ platform_device_register(&at91rm9200_tcb1_device);
-+}
-+#else
-+static void __init at91_add_device_tc(void) { }
-+#endif
-+
-+
-+/* --------------------------------------------------------------------
- * RTC
- * -------------------------------------------------------------------- */
-
-@@ -585,6 +690,7 @@
-
- static void __init at91_add_device_rtc(void)
- {
-+ device_init_wakeup(&at91rm9200_rtc_device.dev, 1);
- platform_device_register(&at91rm9200_rtc_device);
- }
- #else
-@@ -613,24 +719,175 @@
-
-
- /* --------------------------------------------------------------------
-- * LEDs
-+ * SSC -- Synchronous Serial Controller
- * -------------------------------------------------------------------- */
-
--#if defined(CONFIG_LEDS)
--u8 at91_leds_cpu;
--u8 at91_leds_timer;
-+#if defined(CONFIG_ATMEL_SSC) || defined(CONFIG_ATMEL_SSC_MODULE)
-+static u64 ssc0_dmamask = DMA_BIT_MASK(32);
-+
-+static struct resource ssc0_resources[] = {
-+ [0] = {
-+ .start = AT91RM9200_BASE_SSC0,
-+ .end = AT91RM9200_BASE_SSC0 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91RM9200_ID_SSC0,
-+ .end = AT91RM9200_ID_SSC0,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91rm9200_ssc0_device = {
-+ .name = "ssc",
-+ .id = 0,
-+ .dev = {
-+ .dma_mask = &ssc0_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ },
-+ .resource = ssc0_resources,
-+ .num_resources = ARRAY_SIZE(ssc0_resources),
-+};
-+
-+static inline void configure_ssc0_pins(unsigned pins)
-+{
-+ if (pins & ATMEL_SSC_TF)
-+ at91_set_A_periph(AT91_PIN_PB0, 1);
-+ if (pins & ATMEL_SSC_TK)
-+ at91_set_A_periph(AT91_PIN_PB1, 1);
-+ if (pins & ATMEL_SSC_TD)
-+ at91_set_A_periph(AT91_PIN_PB2, 1);
-+ if (pins & ATMEL_SSC_RD)
-+ at91_set_A_periph(AT91_PIN_PB3, 1);
-+ if (pins & ATMEL_SSC_RK)
-+ at91_set_A_periph(AT91_PIN_PB4, 1);
-+ if (pins & ATMEL_SSC_RF)
-+ at91_set_A_periph(AT91_PIN_PB5, 1);
-+}
-+
-+static u64 ssc1_dmamask = DMA_BIT_MASK(32);
-+
-+static struct resource ssc1_resources[] = {
-+ [0] = {
-+ .start = AT91RM9200_BASE_SSC1,
-+ .end = AT91RM9200_BASE_SSC1 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91RM9200_ID_SSC1,
-+ .end = AT91RM9200_ID_SSC1,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91rm9200_ssc1_device = {
-+ .name = "ssc",
-+ .id = 1,
-+ .dev = {
-+ .dma_mask = &ssc1_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ },
-+ .resource = ssc1_resources,
-+ .num_resources = ARRAY_SIZE(ssc1_resources),
-+};
-
--void __init at91_init_leds(u8 cpu_led, u8 timer_led)
-+static inline void configure_ssc1_pins(unsigned pins)
- {
-- /* Enable GPIO to access the LEDs */
-- at91_set_gpio_output(cpu_led, 1);
-- at91_set_gpio_output(timer_led, 1);
-+ if (pins & ATMEL_SSC_TF)
-+ at91_set_A_periph(AT91_PIN_PB6, 1);
-+ if (pins & ATMEL_SSC_TK)
-+ at91_set_A_periph(AT91_PIN_PB7, 1);
-+ if (pins & ATMEL_SSC_TD)
-+ at91_set_A_periph(AT91_PIN_PB8, 1);
-+ if (pins & ATMEL_SSC_RD)
-+ at91_set_A_periph(AT91_PIN_PB9, 1);
-+ if (pins & ATMEL_SSC_RK)
-+ at91_set_A_periph(AT91_PIN_PB10, 1);
-+ if (pins & ATMEL_SSC_RF)
-+ at91_set_A_periph(AT91_PIN_PB11, 1);
-+}
-+
-+static u64 ssc2_dmamask = DMA_BIT_MASK(32);
-
-- at91_leds_cpu = cpu_led;
-- at91_leds_timer = timer_led;
-+static struct resource ssc2_resources[] = {
-+ [0] = {
-+ .start = AT91RM9200_BASE_SSC2,
-+ .end = AT91RM9200_BASE_SSC2 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91RM9200_ID_SSC2,
-+ .end = AT91RM9200_ID_SSC2,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91rm9200_ssc2_device = {
-+ .name = "ssc",
-+ .id = 2,
-+ .dev = {
-+ .dma_mask = &ssc2_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ },
-+ .resource = ssc2_resources,
-+ .num_resources = ARRAY_SIZE(ssc2_resources),
-+};
-+
-+static inline void configure_ssc2_pins(unsigned pins)
-+{
-+ if (pins & ATMEL_SSC_TF)
-+ at91_set_A_periph(AT91_PIN_PB12, 1);
-+ if (pins & ATMEL_SSC_TK)
-+ at91_set_A_periph(AT91_PIN_PB13, 1);
-+ if (pins & ATMEL_SSC_TD)
-+ at91_set_A_periph(AT91_PIN_PB14, 1);
-+ if (pins & ATMEL_SSC_RD)
-+ at91_set_A_periph(AT91_PIN_PB15, 1);
-+ if (pins & ATMEL_SSC_RK)
-+ at91_set_A_periph(AT91_PIN_PB16, 1);
-+ if (pins & ATMEL_SSC_RF)
-+ at91_set_A_periph(AT91_PIN_PB17, 1);
- }
-+
-+/*
-+ * SSC controllers are accessed through library code, instead of any
-+ * kind of all-singing/all-dancing driver. For example one could be
-+ * used by a particular I2S audio codec's driver, while another one
-+ * on the same system might be used by a custom data capture driver.
-+ */
-+void __init at91_add_device_ssc(unsigned id, unsigned pins)
-+{
-+ struct platform_device *pdev;
-+
-+ /*
-+ * NOTE: caller is responsible for passing information matching
-+ * "pins" to whatever will be using each particular controller.
-+ */
-+ switch (id) {
-+ case AT91RM9200_ID_SSC0:
-+ pdev = &at91rm9200_ssc0_device;
-+ configure_ssc0_pins(pins);
-+ at91_clock_associate("ssc0_clk", &pdev->dev, "ssc");
-+ break;
-+ case AT91RM9200_ID_SSC1:
-+ pdev = &at91rm9200_ssc1_device;
-+ configure_ssc1_pins(pins);
-+ at91_clock_associate("ssc1_clk", &pdev->dev, "ssc");
-+ break;
-+ case AT91RM9200_ID_SSC2:
-+ pdev = &at91rm9200_ssc2_device;
-+ configure_ssc2_pins(pins);
-+ at91_clock_associate("ssc2_clk", &pdev->dev, "ssc");
-+ break;
-+ default:
-+ return;
-+ }
-+
-+ platform_device_register(pdev);
-+}
-+
- #else
--void __init at91_init_leds(u8 cpu_led, u8 timer_led) {}
-+void __init at91_add_device_ssc(unsigned id, unsigned pins) {}
- #endif
-
-
-@@ -657,13 +914,15 @@
- .use_dma_rx = 0, /* DBGU not capable of receive DMA */
- .regs = (void __iomem *)(AT91_VA_BASE_SYS + AT91_DBGU),
- };
-+static u64 dbgu_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91rm9200_dbgu_device = {
- .name = "atmel_usart",
- .id = 0,
- .dev = {
-- .platform_data = &dbgu_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &dbgu_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &dbgu_data,
- },
- .resource = dbgu_resources,
- .num_resources = ARRAY_SIZE(dbgu_resources),
-@@ -692,29 +951,36 @@
- .use_dma_tx = 1,
- .use_dma_rx = 1,
- };
-+static u64 uart0_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91rm9200_uart0_device = {
- .name = "atmel_usart",
- .id = 1,
- .dev = {
-- .platform_data = &uart0_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &uart0_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart0_data,
- },
- .resource = uart0_resources,
- .num_resources = ARRAY_SIZE(uart0_resources),
- };
-
--static inline void configure_usart0_pins(void)
-+static inline void configure_usart0_pins(unsigned pins)
- {
- at91_set_A_periph(AT91_PIN_PA17, 1); /* TXD0 */
- at91_set_A_periph(AT91_PIN_PA18, 0); /* RXD0 */
-- at91_set_A_periph(AT91_PIN_PA20, 0); /* CTS0 */
-
-- /*
-- * AT91RM9200 Errata #39 - RTS0 is not internally connected to PA21.
-- * We need to drive the pin manually. Default is off (RTS is active low).
-- */
-- at91_set_gpio_output(AT91_PIN_PA21, 1);
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_A_periph(AT91_PIN_PA20, 0); /* CTS0 */
-+
-+ if (pins & ATMEL_UART_RTS) {
-+ /*
-+ * AT91RM9200 Errata #39 - RTS0 is not internally connected
-+ * to PA21, so we need to drive the pin manually.
-+ * Default is off (RTS is active low).
-+ */
-+ at91_set_gpio_output(AT91_PIN_PA21, 1);
-+ }
- }
-
- static struct resource uart1_resources[] = {
-@@ -734,28 +1000,37 @@
- .use_dma_tx = 1,
- .use_dma_rx = 1,
- };
-+static u64 uart1_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91rm9200_uart1_device = {
- .name = "atmel_usart",
- .id = 2,
- .dev = {
-- .platform_data = &uart1_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &uart1_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart1_data,
- },
- .resource = uart1_resources,
- .num_resources = ARRAY_SIZE(uart1_resources),
- };
-
--static inline void configure_usart1_pins(void)
-+static inline void configure_usart1_pins(unsigned pins)
- {
-- at91_set_A_periph(AT91_PIN_PB18, 0); /* RI1 */
-- at91_set_A_periph(AT91_PIN_PB19, 0); /* DTR1 */
- at91_set_A_periph(AT91_PIN_PB20, 1); /* TXD1 */
- at91_set_A_periph(AT91_PIN_PB21, 0); /* RXD1 */
-- at91_set_A_periph(AT91_PIN_PB23, 0); /* DCD1 */
-- at91_set_A_periph(AT91_PIN_PB24, 0); /* CTS1 */
-- at91_set_A_periph(AT91_PIN_PB25, 0); /* DSR1 */
-- at91_set_A_periph(AT91_PIN_PB26, 0); /* RTS1 */
-+
-+ if (pins & ATMEL_UART_RI)
-+ at91_set_A_periph(AT91_PIN_PB18, 0); /* RI1 */
-+ if (pins & ATMEL_UART_DTR)
-+ at91_set_A_periph(AT91_PIN_PB19, 0); /* DTR1 */
-+ if (pins & ATMEL_UART_DCD)
-+ at91_set_A_periph(AT91_PIN_PB23, 0); /* DCD1 */
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_A_periph(AT91_PIN_PB24, 0); /* CTS1 */
-+ if (pins & ATMEL_UART_DSR)
-+ at91_set_A_periph(AT91_PIN_PB25, 0); /* DSR1 */
-+ if (pins & ATMEL_UART_RTS)
-+ at91_set_A_periph(AT91_PIN_PB26, 0); /* RTS1 */
- }
-
- static struct resource uart2_resources[] = {
-@@ -775,22 +1050,29 @@
- .use_dma_tx = 1,
- .use_dma_rx = 1,
- };
-+static u64 uart2_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91rm9200_uart2_device = {
- .name = "atmel_usart",
- .id = 3,
- .dev = {
-- .platform_data = &uart2_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &uart2_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart2_data,
- },
- .resource = uart2_resources,
- .num_resources = ARRAY_SIZE(uart2_resources),
- };
-
--static inline void configure_usart2_pins(void)
-+static inline void configure_usart2_pins(unsigned pins)
- {
- at91_set_A_periph(AT91_PIN_PA22, 0); /* RXD2 */
- at91_set_A_periph(AT91_PIN_PA23, 1); /* TXD2 */
-+
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_B_periph(AT91_PIN_PA30, 0); /* CTS2 */
-+ if (pins & ATMEL_UART_RTS)
-+ at91_set_B_periph(AT91_PIN_PA31, 0); /* RTS2 */
- }
-
- static struct resource uart3_resources[] = {
-@@ -810,28 +1092,35 @@
- .use_dma_tx = 1,
- .use_dma_rx = 1,
- };
-+static u64 uart3_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91rm9200_uart3_device = {
- .name = "atmel_usart",
- .id = 4,
- .dev = {
-- .platform_data = &uart3_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &uart3_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart3_data,
- },
- .resource = uart3_resources,
- .num_resources = ARRAY_SIZE(uart3_resources),
- };
-
--static inline void configure_usart3_pins(void)
-+static inline void configure_usart3_pins(unsigned pins)
- {
- at91_set_B_periph(AT91_PIN_PA5, 1); /* TXD3 */
- at91_set_B_periph(AT91_PIN_PA6, 0); /* RXD3 */
-+
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_B_periph(AT91_PIN_PB1, 0); /* CTS3 */
-+ if (pins & ATMEL_UART_RTS)
-+ at91_set_B_periph(AT91_PIN_PB0, 0); /* RTS3 */
- }
-
--struct platform_device *at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */
-+static struct platform_device *__initdata at91_uarts[ATMEL_MAX_UART]; /* UARTs to use */
- struct platform_device *atmel_default_console_device; /* the serial console device */
-
--void __init at91_init_serial(struct at91_uart_config *config)
-+void __init __deprecated at91_init_serial(struct at91_uart_config *config)
- {
- int i;
-
-@@ -839,22 +1128,22 @@
- for (i = 0; i < config->nr_tty; i++) {
- switch (config->tty_map[i]) {
- case 0:
-- configure_usart0_pins();
-+ configure_usart0_pins(ATMEL_UART_CTS | ATMEL_UART_RTS);
- at91_uarts[i] = &at91rm9200_uart0_device;
- at91_clock_associate("usart0_clk", &at91rm9200_uart0_device.dev, "usart");
- break;
- case 1:
-- configure_usart1_pins();
-+ configure_usart1_pins(ATMEL_UART_CTS | ATMEL_UART_RTS | ATMEL_UART_DSR | ATMEL_UART_DTR | ATMEL_UART_DCD | ATMEL_UART_RI);
- at91_uarts[i] = &at91rm9200_uart1_device;
- at91_clock_associate("usart1_clk", &at91rm9200_uart1_device.dev, "usart");
- break;
- case 2:
-- configure_usart2_pins();
-+ configure_usart2_pins(0);
- at91_uarts[i] = &at91rm9200_uart2_device;
- at91_clock_associate("usart2_clk", &at91rm9200_uart2_device.dev, "usart");
- break;
- case 3:
-- configure_usart3_pins();
-+ configure_usart3_pins(0);
- at91_uarts[i] = &at91rm9200_uart3_device;
- at91_clock_associate("usart3_clk", &at91rm9200_uart3_device.dev, "usart");
- break;
-@@ -876,6 +1165,53 @@
- printk(KERN_INFO "AT91: No default serial console defined.\n");
- }
-
-+void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins)
-+{
-+ struct platform_device *pdev;
-+
-+ switch (id) {
-+ case 0: /* DBGU */
-+ pdev = &at91rm9200_dbgu_device;
-+ configure_dbgu_pins();
-+ at91_clock_associate("mck", &pdev->dev, "usart");
-+ break;
-+ case AT91RM9200_ID_US0:
-+ pdev = &at91rm9200_uart0_device;
-+ configure_usart0_pins(pins);
-+ at91_clock_associate("usart0_clk", &pdev->dev, "usart");
-+ break;
-+ case AT91RM9200_ID_US1:
-+ pdev = &at91rm9200_uart1_device;
-+ configure_usart1_pins(pins);
-+ at91_clock_associate("usart1_clk", &pdev->dev, "usart");
-+ break;
-+ case AT91RM9200_ID_US2:
-+ pdev = &at91rm9200_uart2_device;
-+ configure_usart2_pins(pins);
-+ at91_clock_associate("usart2_clk", &pdev->dev, "usart");
-+ break;
-+ case AT91RM9200_ID_US3:
-+ pdev = &at91rm9200_uart3_device;
-+ configure_usart3_pins(pins);
-+ at91_clock_associate("usart3_clk", &pdev->dev, "usart");
-+ break;
-+ default:
-+ return;
-+ }
-+ pdev->id = portnr; /* update to mapped ID */
-+
-+ if (portnr < ATMEL_MAX_UART)
-+ at91_uarts[portnr] = pdev;
-+}
-+
-+void __init at91_set_serial_console(unsigned portnr)
-+{
-+ if (portnr < ATMEL_MAX_UART)
-+ atmel_default_console_device = at91_uarts[portnr];
-+ if (!atmel_default_console_device)
-+ printk(KERN_INFO "AT91: No default serial console defined.\n");
-+}
-+
- void __init at91_add_device_serial(void)
- {
- int i;
-@@ -886,7 +1222,9 @@
- }
- }
- #else
--void __init at91_init_serial(struct at91_uart_config *config) {}
-+void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
-+void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {}
-+void __init at91_set_serial_console(unsigned portnr) {}
- void __init at91_add_device_serial(void) {}
- #endif
-
-@@ -901,6 +1239,7 @@
- {
- at91_add_device_rtc();
- at91_add_device_watchdog();
-+ at91_add_device_tc();
- return 0;
- }
-
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/at91rm9200_time.c linux-2.6/arch/arm/mach-at91/at91rm9200_time.c
---- linux-2.6.24/arch/arm/mach-at91/at91rm9200_time.c 2008-03-01 22:02:07.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91rm9200_time.c 2007-12-31 15:04:28.000000000 +0200
-@@ -136,8 +136,6 @@
- u32 alm;
- int status = 0;
-
-- BUG_ON(delta < 2);
--
- /* Use "raw" primitives so we behave correctly on RT kernels. */
- raw_local_irq_save(flags);
-
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/at91sam9260.c linux-2.6/arch/arm/mach-at91/at91sam9260.c
---- linux-2.6.24/arch/arm/mach-at91/at91sam9260.c 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91sam9260.c 2008-03-01 19:03:06.000000000 +0200
-@@ -11,6 +11,7 @@
- */
-
- #include <linux/module.h>
-+#include <linux/pm.h>
-
- #include <asm/mach/arch.h>
- #include <asm/mach/map.h>
-@@ -18,6 +19,7 @@
- #include <asm/arch/at91sam9260.h>
- #include <asm/arch/at91_pmc.h>
- #include <asm/arch/at91_rstc.h>
-+#include <asm/arch/at91_shdwc.h>
-
- #include "generic.h"
- #include "clock.h"
-@@ -267,6 +269,11 @@
- at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
- }
-
-+static void at91sam9260_poweroff(void)
-+{
-+ at91_sys_write(AT91_SHDW_CR, AT91_SHDW_KEY | AT91_SHDW_SHDW);
-+}
-+
-
- /* --------------------------------------------------------------------
- * AT91SAM9260 processor initialization
-@@ -304,6 +311,7 @@
- iotable_init(at91sam9260_sram_desc, ARRAY_SIZE(at91sam9260_sram_desc));
-
- 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);
-
-@@ -327,30 +335,30 @@
- static unsigned int at91sam9260_default_irq_priority[NR_AIC_IRQS] __initdata = {
- 7, /* Advanced Interrupt Controller */
- 7, /* System Peripherals */
-- 0, /* Parallel IO Controller A */
-- 0, /* Parallel IO Controller B */
-- 0, /* Parallel IO Controller C */
-+ 1, /* Parallel IO Controller A */
-+ 1, /* Parallel IO Controller B */
-+ 1, /* Parallel IO Controller C */
- 0, /* Analog-to-Digital Converter */
-- 6, /* USART 0 */
-- 6, /* USART 1 */
-- 6, /* USART 2 */
-+ 5, /* USART 0 */
-+ 5, /* USART 1 */
-+ 5, /* USART 2 */
- 0, /* Multimedia Card Interface */
-- 4, /* USB Device Port */
-- 0, /* Two-Wire Interface */
-- 6, /* Serial Peripheral Interface 0 */
-- 6, /* Serial Peripheral Interface 1 */
-+ 2, /* USB Device Port */
-+ 6, /* Two-Wire Interface */
-+ 5, /* Serial Peripheral Interface 0 */
-+ 5, /* Serial Peripheral Interface 1 */
- 5, /* Serial Synchronous Controller */
- 0,
- 0,
- 0, /* Timer Counter 0 */
- 0, /* Timer Counter 1 */
- 0, /* Timer Counter 2 */
-- 3, /* USB Host port */
-+ 2, /* USB Host port */
- 3, /* Ethernet */
- 0, /* Image Sensor Interface */
-- 6, /* USART 3 */
-- 6, /* USART 4 */
-- 6, /* USART 5 */
-+ 5, /* USART 3 */
-+ 5, /* USART 4 */
-+ 5, /* USART 5 */
- 0, /* Timer Counter 3 */
- 0, /* Timer Counter 4 */
- 0, /* Timer Counter 5 */
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/at91sam9260_devices.c linux-2.6/arch/arm/mach-at91/at91sam9260_devices.c
---- linux-2.6.24/arch/arm/mach-at91/at91sam9260_devices.c 2008-03-01 22:02:07.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91sam9260_devices.c 2008-03-01 22:09:03.000000000 +0200
-@@ -12,13 +12,14 @@
- #include <asm/mach/arch.h>
- #include <asm/mach/map.h>
-
-+#include <linux/dma-mapping.h>
- #include <linux/platform_device.h>
- #include <linux/i2c-gpio.h>
-
- #include <asm/arch/board.h>
- #include <asm/arch/gpio.h>
- #include <asm/arch/at91sam9260.h>
--#include <asm/arch/at91sam926x_mc.h>
-+#include <asm/arch/at91sam926x_smc.h>
- #include <asm/arch/at91sam9260_matrix.h>
-
- #include "generic.h"
-@@ -29,7 +30,7 @@
- * -------------------------------------------------------------------- */
-
- #if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
--static u64 ohci_dmamask = 0xffffffffUL;
-+static u64 ohci_dmamask = DMA_BIT_MASK(32);
- static struct at91_usbh_data usbh_data;
-
- static struct resource usbh_resources[] = {
-@@ -50,7 +51,7 @@
- .id = -1,
- .dev = {
- .dma_mask = &ohci_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- .platform_data = &usbh_data,
- },
- .resource = usbh_resources,
-@@ -125,7 +126,7 @@
- * -------------------------------------------------------------------- */
-
- #if defined(CONFIG_MACB) || defined(CONFIG_MACB_MODULE)
--static u64 eth_dmamask = 0xffffffffUL;
-+static u64 eth_dmamask = DMA_BIT_MASK(32);
- static struct at91_eth_data eth_data;
-
- static struct resource eth_resources[] = {
-@@ -146,7 +147,7 @@
- .id = -1,
- .dev = {
- .dma_mask = &eth_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- .platform_data = &eth_data,
- },
- .resource = eth_resources,
-@@ -199,7 +200,7 @@
- * -------------------------------------------------------------------- */
-
- #if defined(CONFIG_MMC_AT91) || defined(CONFIG_MMC_AT91_MODULE)
--static u64 mmc_dmamask = 0xffffffffUL;
-+static u64 mmc_dmamask = DMA_BIT_MASK(32);
- static struct at91_mmc_data mmc_data;
-
- static struct resource mmc_resources[] = {
-@@ -220,7 +221,7 @@
- .id = -1,
- .dev = {
- .dma_mask = &mmc_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- .platform_data = &mmc_data,
- },
- .resource = mmc_resources,
-@@ -287,9 +288,14 @@
- #define NAND_BASE AT91_CHIPSELECT_3
-
- static struct resource nand_resources[] = {
-- {
-+ [0] = {
- .start = NAND_BASE,
-- .end = NAND_BASE + SZ_8M - 1,
-+ .end = NAND_BASE + SZ_256M - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91_BASE_SYS + AT91_ECC,
-+ .end = AT91_BASE_SYS + AT91_ECC + SZ_512 - 1,
- .flags = IORESOURCE_MEM,
- }
- };
-@@ -312,7 +318,7 @@
- return;
-
- csa = at91_sys_read(AT91_MATRIX_EBICSA);
-- at91_sys_write(AT91_MATRIX_EBICSA, csa | AT91_MATRIX_CS3A_SMC);
-+ at91_sys_write(AT91_MATRIX_EBICSA, csa | AT91_MATRIX_CS3A_SMC_SMARTMEDIA);
-
- /* set the bus interface characteristics */
- at91_sys_write(AT91_SMC_SETUP(3), AT91_SMC_NWESETUP_(0) | AT91_SMC_NCS_WRSETUP_(0)
-@@ -431,7 +437,7 @@
- * -------------------------------------------------------------------- */
-
- #if defined(CONFIG_SPI_ATMEL) || defined(CONFIG_SPI_ATMEL_MODULE)
--static u64 spi_dmamask = 0xffffffffUL;
-+static u64 spi_dmamask = DMA_BIT_MASK(32);
-
- static struct resource spi0_resources[] = {
- [0] = {
-@@ -451,7 +457,7 @@
- .id = 0,
- .dev = {
- .dma_mask = &spi_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- },
- .resource = spi0_resources,
- .num_resources = ARRAY_SIZE(spi0_resources),
-@@ -477,7 +483,7 @@
- .id = 1,
- .dev = {
- .dma_mask = &spi_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- },
- .resource = spi1_resources,
- .num_resources = ARRAY_SIZE(spi1_resources),
-@@ -539,24 +545,211 @@
-
-
- /* --------------------------------------------------------------------
-- * LEDs
-+ * Timer/Counter blocks
- * -------------------------------------------------------------------- */
-
--#if defined(CONFIG_LEDS)
--u8 at91_leds_cpu;
--u8 at91_leds_timer;
-+#ifdef CONFIG_ATMEL_TCLIB
-+
-+static struct resource tcb0_resources[] = {
-+ [0] = {
-+ .start = AT91SAM9260_BASE_TCB0,
-+ .end = AT91SAM9260_BASE_TCB0 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91SAM9260_ID_TC0,
-+ .end = AT91SAM9260_ID_TC0,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+ [2] = {
-+ .start = AT91SAM9260_ID_TC1,
-+ .end = AT91SAM9260_ID_TC1,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+ [3] = {
-+ .start = AT91SAM9260_ID_TC2,
-+ .end = AT91SAM9260_ID_TC2,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91sam9260_tcb0_device = {
-+ .name = "atmel_tcb",
-+ .id = 0,
-+ .resource = tcb0_resources,
-+ .num_resources = ARRAY_SIZE(tcb0_resources),
-+};
-+
-+static struct resource tcb1_resources[] = {
-+ [0] = {
-+ .start = AT91SAM9260_BASE_TCB1,
-+ .end = AT91SAM9260_BASE_TCB1 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91SAM9260_ID_TC3,
-+ .end = AT91SAM9260_ID_TC3,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+ [2] = {
-+ .start = AT91SAM9260_ID_TC4,
-+ .end = AT91SAM9260_ID_TC4,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+ [3] = {
-+ .start = AT91SAM9260_ID_TC5,
-+ .end = AT91SAM9260_ID_TC5,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91sam9260_tcb1_device = {
-+ .name = "atmel_tcb",
-+ .id = 1,
-+ .resource = tcb1_resources,
-+ .num_resources = ARRAY_SIZE(tcb1_resources),
-+};
-
--void __init at91_init_leds(u8 cpu_led, u8 timer_led)
-+static void __init at91_add_device_tc(void)
- {
-- /* Enable GPIO to access the LEDs */
-- at91_set_gpio_output(cpu_led, 1);
-- at91_set_gpio_output(timer_led, 1);
-+ /* this chip has a separate clock and irq for each TC channel */
-+ at91_clock_associate("tc0_clk", &at91sam9260_tcb0_device.dev, "t0_clk");
-+ at91_clock_associate("tc1_clk", &at91sam9260_tcb0_device.dev, "t1_clk");
-+ at91_clock_associate("tc2_clk", &at91sam9260_tcb0_device.dev, "t2_clk");
-+ platform_device_register(&at91sam9260_tcb0_device);
-+
-+ at91_clock_associate("tc3_clk", &at91sam9260_tcb1_device.dev, "t0_clk");
-+ at91_clock_associate("tc4_clk", &at91sam9260_tcb1_device.dev, "t1_clk");
-+ at91_clock_associate("tc5_clk", &at91sam9260_tcb1_device.dev, "t2_clk");
-+ platform_device_register(&at91sam9260_tcb1_device);
-+}
-+#else
-+static void __init at91_add_device_tc(void) { }
-+#endif
-
-- at91_leds_cpu = cpu_led;
-- at91_leds_timer = timer_led;
-+
-+/* --------------------------------------------------------------------
-+ * RTT
-+ * -------------------------------------------------------------------- */
-+
-+static struct resource rtt_resources[] = {
-+ {
-+ .start = AT91_BASE_SYS + AT91_RTT,
-+ .end = AT91_BASE_SYS + AT91_RTT + SZ_16 - 1,
-+ .flags = IORESOURCE_MEM,
-+ }
-+};
-+
-+static struct platform_device at91sam9260_rtt_device = {
-+ .name = "at91_rtt",
-+ .id = -1,
-+ .resource = rtt_resources,
-+ .num_resources = ARRAY_SIZE(rtt_resources),
-+};
-+
-+static void __init at91_add_device_rtt(void)
-+{
-+ device_init_wakeup(&at91sam9260_rtt_device.dev, 1);
-+ platform_device_register(&at91sam9260_rtt_device);
-+}
-+
-+
-+/* --------------------------------------------------------------------
-+ * Watchdog
-+ * -------------------------------------------------------------------- */
-+
-+#if defined(CONFIG_AT91SAM9_WATCHDOG) || defined(CONFIG_AT91SAM9_WATCHDOG_MODULE)
-+static struct platform_device at91sam9260_wdt_device = {
-+ .name = "at91_wdt",
-+ .id = -1,
-+ .num_resources = 0,
-+};
-+
-+static void __init at91_add_device_watchdog(void)
-+{
-+ platform_device_register(&at91sam9260_wdt_device);
- }
- #else
--void __init at91_init_leds(u8 cpu_led, u8 timer_led) {}
-+static void __init at91_add_device_watchdog(void) {}
-+#endif
-+
-+
-+/* --------------------------------------------------------------------
-+ * SSC -- Synchronous Serial Controller
-+ * -------------------------------------------------------------------- */
-+
-+#if defined(CONFIG_ATMEL_SSC) || defined(CONFIG_ATMEL_SSC_MODULE)
-+static u64 ssc_dmamask = DMA_BIT_MASK(32);
-+
-+static struct resource ssc_resources[] = {
-+ [0] = {
-+ .start = AT91SAM9260_BASE_SSC,
-+ .end = AT91SAM9260_BASE_SSC + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91SAM9260_ID_SSC,
-+ .end = AT91SAM9260_ID_SSC,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91sam9260_ssc_device = {
-+ .name = "ssc",
-+ .id = 0,
-+ .dev = {
-+ .dma_mask = &ssc_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ },
-+ .resource = ssc_resources,
-+ .num_resources = ARRAY_SIZE(ssc_resources),
-+};
-+
-+static inline void configure_ssc_pins(unsigned pins)
-+{
-+ if (pins & ATMEL_SSC_TF)
-+ at91_set_A_periph(AT91_PIN_PB17, 1);
-+ if (pins & ATMEL_SSC_TK)
-+ at91_set_A_periph(AT91_PIN_PB16, 1);
-+ if (pins & ATMEL_SSC_TD)
-+ at91_set_A_periph(AT91_PIN_PB18, 1);
-+ if (pins & ATMEL_SSC_RD)
-+ at91_set_A_periph(AT91_PIN_PB19, 1);
-+ if (pins & ATMEL_SSC_RK)
-+ at91_set_A_periph(AT91_PIN_PB20, 1);
-+ if (pins & ATMEL_SSC_RF)
-+ at91_set_A_periph(AT91_PIN_PB21, 1);
-+}
-+
-+/*
-+ * SSC controllers are accessed through library code, instead of any
-+ * kind of all-singing/all-dancing driver. For example one could be
-+ * used by a particular I2S audio codec's driver, while another one
-+ * on the same system might be used by a custom data capture driver.
-+ */
-+void __init at91_add_device_ssc(unsigned id, unsigned pins)
-+{
-+ struct platform_device *pdev;
-+
-+ /*
-+ * NOTE: caller is responsible for passing information matching
-+ * "pins" to whatever will be using each particular controller.
-+ */
-+ switch (id) {
-+ case AT91SAM9260_ID_SSC:
-+ pdev = &at91sam9260_ssc_device;
-+ configure_ssc_pins(pins);
-+ at91_clock_associate("ssc_clk", &pdev->dev, "pclk");
-+ break;
-+ default:
-+ return;
-+ }
-+
-+ platform_device_register(pdev);
-+}
-+
-+#else
-+struct platform_device *__init at91_add_device_ssc(unsigned id, unsigned pins) {}
- #endif
-
-
-@@ -582,13 +775,15 @@
- .use_dma_rx = 0, /* DBGU not capable of receive DMA */
- .regs = (void __iomem *)(AT91_VA_BASE_SYS + AT91_DBGU),
- };
-+static u64 dbgu_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91sam9260_dbgu_device = {
- .name = "atmel_usart",
- .id = 0,
- .dev = {
-- .platform_data = &dbgu_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &dbgu_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &dbgu_data,
- },
- .resource = dbgu_resources,
- .num_resources = ARRAY_SIZE(dbgu_resources),
-@@ -617,28 +812,37 @@
- .use_dma_tx = 1,
- .use_dma_rx = 1,
- };
-+static u64 uart0_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91sam9260_uart0_device = {
- .name = "atmel_usart",
- .id = 1,
- .dev = {
-- .platform_data = &uart0_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &uart0_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart0_data,
- },
- .resource = uart0_resources,
- .num_resources = ARRAY_SIZE(uart0_resources),
- };
-
--static inline void configure_usart0_pins(void)
-+static inline void configure_usart0_pins(unsigned pins)
- {
- at91_set_A_periph(AT91_PIN_PB4, 1); /* TXD0 */
- at91_set_A_periph(AT91_PIN_PB5, 0); /* RXD0 */
-- at91_set_A_periph(AT91_PIN_PB26, 0); /* RTS0 */
-- at91_set_A_periph(AT91_PIN_PB27, 0); /* CTS0 */
-- at91_set_A_periph(AT91_PIN_PB24, 0); /* DTR0 */
-- at91_set_A_periph(AT91_PIN_PB22, 0); /* DSR0 */
-- at91_set_A_periph(AT91_PIN_PB23, 0); /* DCD0 */
-- at91_set_A_periph(AT91_PIN_PB25, 0); /* RI0 */
-+
-+ if (pins & ATMEL_UART_RTS)
-+ at91_set_A_periph(AT91_PIN_PB26, 0); /* RTS0 */
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_A_periph(AT91_PIN_PB27, 0); /* CTS0 */
-+ if (pins & ATMEL_UART_DTR)
-+ at91_set_A_periph(AT91_PIN_PB24, 0); /* DTR0 */
-+ if (pins & ATMEL_UART_DSR)
-+ at91_set_A_periph(AT91_PIN_PB22, 0); /* DSR0 */
-+ if (pins & ATMEL_UART_DCD)
-+ at91_set_A_periph(AT91_PIN_PB23, 0); /* DCD0 */
-+ if (pins & ATMEL_UART_RI)
-+ at91_set_A_periph(AT91_PIN_PB25, 0); /* RI0 */
- }
-
- static struct resource uart1_resources[] = {
-@@ -658,24 +862,29 @@
- .use_dma_tx = 1,
- .use_dma_rx = 1,
- };
-+static u64 uart1_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91sam9260_uart1_device = {
- .name = "atmel_usart",
- .id = 2,
- .dev = {
-- .platform_data = &uart1_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &uart1_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart1_data,
- },
- .resource = uart1_resources,
- .num_resources = ARRAY_SIZE(uart1_resources),
- };
-
--static inline void configure_usart1_pins(void)
-+static inline void configure_usart1_pins(unsigned pins)
- {
- at91_set_A_periph(AT91_PIN_PB6, 1); /* TXD1 */
- at91_set_A_periph(AT91_PIN_PB7, 0); /* RXD1 */
-- at91_set_A_periph(AT91_PIN_PB28, 0); /* RTS1 */
-- at91_set_A_periph(AT91_PIN_PB29, 0); /* CTS1 */
-+
-+ if (pins & ATMEL_UART_RTS)
-+ at91_set_A_periph(AT91_PIN_PB28, 0); /* RTS1 */
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_A_periph(AT91_PIN_PB29, 0); /* CTS1 */
- }
-
- static struct resource uart2_resources[] = {
-@@ -695,22 +904,29 @@
- .use_dma_tx = 1,
- .use_dma_rx = 1,
- };
-+static u64 uart2_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91sam9260_uart2_device = {
- .name = "atmel_usart",
- .id = 3,
- .dev = {
-- .platform_data = &uart2_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &uart2_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart2_data,
- },
- .resource = uart2_resources,
- .num_resources = ARRAY_SIZE(uart2_resources),
- };
-
--static inline void configure_usart2_pins(void)
-+static inline void configure_usart2_pins(unsigned pins)
- {
- at91_set_A_periph(AT91_PIN_PB8, 1); /* TXD2 */
- at91_set_A_periph(AT91_PIN_PB9, 0); /* RXD2 */
-+
-+ if (pins & ATMEL_UART_RTS)
-+ at91_set_A_periph(AT91_PIN_PA4, 0); /* RTS2 */
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_A_periph(AT91_PIN_PA5, 0); /* CTS2 */
- }
-
- static struct resource uart3_resources[] = {
-@@ -730,22 +946,29 @@
- .use_dma_tx = 1,
- .use_dma_rx = 1,
- };
-+static u64 uart3_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91sam9260_uart3_device = {
- .name = "atmel_usart",
- .id = 4,
- .dev = {
-- .platform_data = &uart3_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &uart3_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart3_data,
- },
- .resource = uart3_resources,
- .num_resources = ARRAY_SIZE(uart3_resources),
- };
-
--static inline void configure_usart3_pins(void)
-+static inline void configure_usart3_pins(unsigned pins)
- {
- at91_set_A_periph(AT91_PIN_PB10, 1); /* TXD3 */
- at91_set_A_periph(AT91_PIN_PB11, 0); /* RXD3 */
-+
-+ if (pins & ATMEL_UART_RTS)
-+ at91_set_B_periph(AT91_PIN_PC8, 0); /* RTS3 */
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_B_periph(AT91_PIN_PC10, 0); /* CTS3 */
- }
-
- static struct resource uart4_resources[] = {
-@@ -765,13 +988,15 @@
- .use_dma_tx = 1,
- .use_dma_rx = 1,
- };
-+static u64 uart4_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91sam9260_uart4_device = {
- .name = "atmel_usart",
- .id = 5,
- .dev = {
-- .platform_data = &uart4_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &uart4_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart4_data,
- },
- .resource = uart4_resources,
- .num_resources = ARRAY_SIZE(uart4_resources),
-@@ -800,13 +1025,15 @@
- .use_dma_tx = 1,
- .use_dma_rx = 1,
- };
-+static u64 uart5_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91sam9260_uart5_device = {
- .name = "atmel_usart",
- .id = 6,
- .dev = {
-- .platform_data = &uart5_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &uart5_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart5_data,
- },
- .resource = uart5_resources,
- .num_resources = ARRAY_SIZE(uart5_resources),
-@@ -818,10 +1045,10 @@
- at91_set_A_periph(AT91_PIN_PB13, 0); /* RXD5 */
- }
-
--struct platform_device *at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */
-+static struct platform_device *__initdata at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */
- struct platform_device *atmel_default_console_device; /* the serial console device */
-
--void __init at91_init_serial(struct at91_uart_config *config)
-+void __init __deprecated at91_init_serial(struct at91_uart_config *config)
- {
- int i;
-
-@@ -829,22 +1056,22 @@
- for (i = 0; i < config->nr_tty; i++) {
- switch (config->tty_map[i]) {
- case 0:
-- configure_usart0_pins();
-+ configure_usart0_pins(ATMEL_UART_CTS | ATMEL_UART_RTS | ATMEL_UART_DSR | ATMEL_UART_DTR | ATMEL_UART_DCD | ATMEL_UART_RI);
- at91_uarts[i] = &at91sam9260_uart0_device;
- at91_clock_associate("usart0_clk", &at91sam9260_uart0_device.dev, "usart");
- break;
- case 1:
-- configure_usart1_pins();
-+ configure_usart1_pins(ATMEL_UART_CTS | ATMEL_UART_RTS);
- at91_uarts[i] = &at91sam9260_uart1_device;
- at91_clock_associate("usart1_clk", &at91sam9260_uart1_device.dev, "usart");
- break;
- case 2:
-- configure_usart2_pins();
-+ configure_usart2_pins(0);
- at91_uarts[i] = &at91sam9260_uart2_device;
- at91_clock_associate("usart2_clk", &at91sam9260_uart2_device.dev, "usart");
- break;
- case 3:
-- configure_usart3_pins();
-+ configure_usart3_pins(0);
- at91_uarts[i] = &at91sam9260_uart3_device;
- at91_clock_associate("usart3_clk", &at91sam9260_uart3_device.dev, "usart");
- break;
-@@ -876,6 +1103,63 @@
- printk(KERN_INFO "AT91: No default serial console defined.\n");
- }
-
-+void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins)
-+{
-+ struct platform_device *pdev;
-+
-+ switch (id) {
-+ case 0: /* DBGU */
-+ pdev = &at91sam9260_dbgu_device;
-+ configure_dbgu_pins();
-+ at91_clock_associate("mck", &pdev->dev, "usart");
-+ break;
-+ case AT91SAM9260_ID_US0:
-+ pdev = &at91sam9260_uart0_device;
-+ configure_usart0_pins(pins);
-+ at91_clock_associate("usart0_clk", &pdev->dev, "usart");
-+ break;
-+ case AT91SAM9260_ID_US1:
-+ pdev = &at91sam9260_uart1_device;
-+ configure_usart1_pins(pins);
-+ at91_clock_associate("usart1_clk", &pdev->dev, "usart");
-+ break;
-+ case AT91SAM9260_ID_US2:
-+ pdev = &at91sam9260_uart2_device;
-+ configure_usart2_pins(pins);
-+ at91_clock_associate("usart2_clk", &pdev->dev, "usart");
-+ break;
-+ case AT91SAM9260_ID_US3:
-+ pdev = &at91sam9260_uart3_device;
-+ configure_usart3_pins(pins);
-+ at91_clock_associate("usart3_clk", &pdev->dev, "usart");
-+ break;
-+ case AT91SAM9260_ID_US4:
-+ pdev = &at91sam9260_uart4_device;
-+ configure_usart4_pins();
-+ at91_clock_associate("usart4_clk", &pdev->dev, "usart");
-+ break;
-+ case AT91SAM9260_ID_US5:
-+ pdev = &at91sam9260_uart5_device;
-+ configure_usart5_pins();
-+ at91_clock_associate("usart5_clk", &pdev->dev, "usart");
-+ break;
-+ default:
-+ return;
-+ }
-+ pdev->id = portnr; /* update to mapped ID */
-+
-+ if (portnr < ATMEL_MAX_UART)
-+ at91_uarts[portnr] = pdev;
-+}
-+
-+void __init at91_set_serial_console(unsigned portnr)
-+{
-+ if (portnr < ATMEL_MAX_UART)
-+ atmel_default_console_device = at91_uarts[portnr];
-+ if (!atmel_default_console_device)
-+ printk(KERN_INFO "AT91: No default serial console defined.\n");
-+}
-+
- void __init at91_add_device_serial(void)
- {
- int i;
-@@ -886,7 +1170,9 @@
- }
- }
- #else
--void __init at91_init_serial(struct at91_uart_config *config) {}
-+void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
-+void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {}
-+void __init at91_set_serial_console(unsigned portnr) {}
- void __init at91_add_device_serial(void) {}
- #endif
-
-@@ -898,6 +1184,9 @@
- */
- static int __init at91_add_standard_devices(void)
- {
-+ at91_add_device_rtt();
-+ at91_add_device_watchdog();
-+ at91_add_device_tc();
- return 0;
- }
-
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/at91sam9261.c linux-2.6/arch/arm/mach-at91/at91sam9261.c
---- linux-2.6.24/arch/arm/mach-at91/at91sam9261.c 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91sam9261.c 2008-03-01 19:03:29.000000000 +0200
-@@ -11,12 +11,14 @@
- */
-
- #include <linux/module.h>
-+#include <linux/pm.h>
-
- #include <asm/mach/arch.h>
- #include <asm/mach/map.h>
- #include <asm/arch/at91sam9261.h>
- #include <asm/arch/at91_pmc.h>
- #include <asm/arch/at91_rstc.h>
-+#include <asm/arch/at91_shdwc.h>
-
- #include "generic.h"
- #include "clock.h"
-@@ -245,6 +247,11 @@
- at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
- }
-
-+static void at91sam9261_poweroff(void)
-+{
-+ at91_sys_write(AT91_SHDW_CR, AT91_SHDW_KEY | AT91_SHDW_SHDW);
-+}
-+
-
- /* --------------------------------------------------------------------
- * AT91SAM9261 processor initialization
-@@ -256,6 +263,7 @@
- iotable_init(at91sam9261_io_desc, ARRAY_SIZE(at91sam9261_io_desc));
-
- at91_arch_reset = at91sam9261_reset;
-+ pm_power_off = at91sam9261_poweroff;
- at91_extern_irq = (1 << AT91SAM9261_ID_IRQ0) | (1 << AT91SAM9261_ID_IRQ1)
- | (1 << AT91SAM9261_ID_IRQ2);
-
-@@ -279,25 +287,25 @@
- static unsigned int at91sam9261_default_irq_priority[NR_AIC_IRQS] __initdata = {
- 7, /* Advanced Interrupt Controller */
- 7, /* System Peripherals */
-- 0, /* Parallel IO Controller A */
-- 0, /* Parallel IO Controller B */
-- 0, /* Parallel IO Controller C */
-+ 1, /* Parallel IO Controller A */
-+ 1, /* Parallel IO Controller B */
-+ 1, /* Parallel IO Controller C */
- 0,
-- 6, /* USART 0 */
-- 6, /* USART 1 */
-- 6, /* USART 2 */
-+ 5, /* USART 0 */
-+ 5, /* USART 1 */
-+ 5, /* USART 2 */
- 0, /* Multimedia Card Interface */
-- 4, /* USB Device Port */
-- 0, /* Two-Wire Interface */
-- 6, /* Serial Peripheral Interface 0 */
-- 6, /* Serial Peripheral Interface 1 */
-- 5, /* Serial Synchronous Controller 0 */
-- 5, /* Serial Synchronous Controller 1 */
-- 5, /* Serial Synchronous Controller 2 */
-+ 2, /* USB Device Port */
-+ 6, /* Two-Wire Interface */
-+ 5, /* Serial Peripheral Interface 0 */
-+ 5, /* Serial Peripheral Interface 1 */
-+ 4, /* Serial Synchronous Controller 0 */
-+ 4, /* Serial Synchronous Controller 1 */
-+ 4, /* Serial Synchronous Controller 2 */
- 0, /* Timer Counter 0 */
- 0, /* Timer Counter 1 */
- 0, /* Timer Counter 2 */
-- 3, /* USB Host port */
-+ 2, /* USB Host port */
- 3, /* LCD Controller */
- 0,
- 0,
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/at91sam9261_devices.c linux-2.6/arch/arm/mach-at91/at91sam9261_devices.c
---- linux-2.6.24/arch/arm/mach-at91/at91sam9261_devices.c 2008-03-01 22:02:07.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91sam9261_devices.c 2008-03-01 22:09:18.000000000 +0200
-@@ -13,6 +13,7 @@
- #include <asm/mach/arch.h>
- #include <asm/mach/map.h>
-
-+#include <linux/dma-mapping.h>
- #include <linux/platform_device.h>
- #include <linux/i2c-gpio.h>
-
-@@ -23,7 +24,7 @@
- #include <asm/arch/gpio.h>
- #include <asm/arch/at91sam9261.h>
- #include <asm/arch/at91sam9261_matrix.h>
--#include <asm/arch/at91sam926x_mc.h>
-+#include <asm/arch/at91sam926x_smc.h>
-
- #include "generic.h"
-
-@@ -33,7 +34,7 @@
- * -------------------------------------------------------------------- */
-
- #if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
--static u64 ohci_dmamask = 0xffffffffUL;
-+static u64 ohci_dmamask = DMA_BIT_MASK(32);
- static struct at91_usbh_data usbh_data;
-
- static struct resource usbh_resources[] = {
-@@ -54,7 +55,7 @@
- .id = -1,
- .dev = {
- .dma_mask = &ohci_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- .platform_data = &usbh_data,
- },
- .resource = usbh_resources,
-@@ -106,8 +107,6 @@
-
- void __init at91_add_device_udc(struct at91_udc_data *data)
- {
-- unsigned long x;
--
- if (!data)
- return;
-
-@@ -116,9 +115,7 @@
- at91_set_deglitch(data->vbus_pin, 1);
- }
-
-- /* Pullup pin is handled internally */
-- x = at91_sys_read(AT91_MATRIX_USBPUCR);
-- at91_sys_write(AT91_MATRIX_USBPUCR, x | AT91_MATRIX_USBPUCR_PUON);
-+ /* Pullup pin is handled internally by USB device peripheral */
-
- udc_data = *data;
- platform_device_register(&at91sam9261_udc_device);
-@@ -132,7 +129,7 @@
- * -------------------------------------------------------------------- */
-
- #if defined(CONFIG_MMC_AT91) || defined(CONFIG_MMC_AT91_MODULE)
--static u64 mmc_dmamask = 0xffffffffUL;
-+static u64 mmc_dmamask = DMA_BIT_MASK(32);
- static struct at91_mmc_data mmc_data;
-
- static struct resource mmc_resources[] = {
-@@ -153,7 +150,7 @@
- .id = -1,
- .dev = {
- .dma_mask = &mmc_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- .platform_data = &mmc_data,
- },
- .resource = mmc_resources,
-@@ -232,7 +229,7 @@
- return;
-
- csa = at91_sys_read(AT91_MATRIX_EBICSA);
-- at91_sys_write(AT91_MATRIX_EBICSA, csa | AT91_MATRIX_CS3A_SMC);
-+ at91_sys_write(AT91_MATRIX_EBICSA, csa | AT91_MATRIX_CS3A_SMC_SMARTMEDIA);
-
- /* set the bus interface characteristics */
- at91_sys_write(AT91_SMC_SETUP(3), AT91_SMC_NWESETUP_(0) | AT91_SMC_NCS_WRSETUP_(0)
-@@ -354,7 +351,7 @@
- * -------------------------------------------------------------------- */
-
- #if defined(CONFIG_SPI_ATMEL) || defined(CONFIG_SPI_ATMEL_MODULE)
--static u64 spi_dmamask = 0xffffffffUL;
-+static u64 spi_dmamask = DMA_BIT_MASK(32);
-
- static struct resource spi0_resources[] = {
- [0] = {
-@@ -374,7 +371,7 @@
- .id = 0,
- .dev = {
- .dma_mask = &spi_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- },
- .resource = spi0_resources,
- .num_resources = ARRAY_SIZE(spi0_resources),
-@@ -400,7 +397,7 @@
- .id = 1,
- .dev = {
- .dma_mask = &spi_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- },
- .resource = spi1_resources,
- .num_resources = ARRAY_SIZE(spi1_resources),
-@@ -466,7 +463,7 @@
- * -------------------------------------------------------------------- */
-
- #if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE)
--static u64 lcdc_dmamask = 0xffffffffUL;
-+static u64 lcdc_dmamask = DMA_BIT_MASK(32);
- static struct atmel_lcdfb_info lcdc_data;
-
- static struct resource lcdc_resources[] = {
-@@ -494,7 +491,7 @@
- .id = 0,
- .dev = {
- .dma_mask = &lcdc_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- .platform_data = &lcdc_data,
- },
- .resource = lcdc_resources,
-@@ -507,6 +504,17 @@
- return;
- }
-
-+#if defined(CONFIG_FB_ATMEL_STN)
-+ at91_set_A_periph(AT91_PIN_PB0, 0); /* LCDVSYNC */
-+ at91_set_A_periph(AT91_PIN_PB1, 0); /* LCDHSYNC */
-+ at91_set_A_periph(AT91_PIN_PB2, 0); /* LCDDOTCK */
-+ at91_set_A_periph(AT91_PIN_PB3, 0); /* LCDDEN */
-+ at91_set_A_periph(AT91_PIN_PB4, 0); /* LCDCC */
-+ at91_set_A_periph(AT91_PIN_PB5, 0); /* LCDD0 */
-+ at91_set_A_periph(AT91_PIN_PB6, 0); /* LCDD1 */
-+ at91_set_A_periph(AT91_PIN_PB7, 0); /* LCDD2 */
-+ at91_set_A_periph(AT91_PIN_PB8, 0); /* LCDD3 */
-+#else
- at91_set_A_periph(AT91_PIN_PB1, 0); /* LCDHSYNC */
- at91_set_A_periph(AT91_PIN_PB2, 0); /* LCDDOTCK */
- at91_set_A_periph(AT91_PIN_PB3, 0); /* LCDDEN */
-@@ -529,6 +537,7 @@
- at91_set_B_periph(AT91_PIN_PB26, 0); /* LCDD21 */
- at91_set_B_periph(AT91_PIN_PB27, 0); /* LCDD22 */
- at91_set_B_periph(AT91_PIN_PB28, 0); /* LCDD23 */
-+#endif
-
- lcdc_data = *data;
- platform_device_register(&at91_lcdc_device);
-@@ -539,24 +548,270 @@
-
-
- /* --------------------------------------------------------------------
-- * LEDs
-+ * Timer/Counter block
-+ * -------------------------------------------------------------------- */
-+
-+#ifdef CONFIG_ATMEL_TCLIB
-+
-+static struct resource tcb_resources[] = {
-+ [0] = {
-+ .start = AT91SAM9261_BASE_TCB0,
-+ .end = AT91SAM9261_BASE_TCB0 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91SAM9261_ID_TC0,
-+ .end = AT91SAM9261_ID_TC0,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+ [2] = {
-+ .start = AT91SAM9261_ID_TC1,
-+ .end = AT91SAM9261_ID_TC1,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+ [3] = {
-+ .start = AT91SAM9261_ID_TC2,
-+ .end = AT91SAM9261_ID_TC2,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91sam9261_tcb_device = {
-+ .name = "atmel_tcb",
-+ .id = 0,
-+ .resource = tcb_resources,
-+ .num_resources = ARRAY_SIZE(tcb_resources),
-+};
-+
-+static void __init at91_add_device_tc(void)
-+{
-+ /* this chip has a separate clock and irq for each TC channel */
-+ at91_clock_associate("tc0_clk", &at91sam9261_tcb_device.dev, "t0_clk");
-+ at91_clock_associate("tc1_clk", &at91sam9261_tcb_device.dev, "t1_clk");
-+ at91_clock_associate("tc2_clk", &at91sam9261_tcb_device.dev, "t2_clk");
-+ platform_device_register(&at91sam9261_tcb_device);
-+}
-+#else
-+static void __init at91_add_device_tc(void) { }
-+#endif
-+
-+
-+/* --------------------------------------------------------------------
-+ * RTT
-+ * -------------------------------------------------------------------- */
-+
-+static struct resource rtt_resources[] = {
-+ {
-+ .start = AT91_BASE_SYS + AT91_RTT,
-+ .end = AT91_BASE_SYS + AT91_RTT + SZ_16 - 1,
-+ .flags = IORESOURCE_MEM,
-+ }
-+};
-+
-+static struct platform_device at91sam9261_rtt_device = {
-+ .name = "at91_rtt",
-+ .id = -1,
-+ .resource = rtt_resources,
-+ .num_resources = ARRAY_SIZE(rtt_resources),
-+};
-+
-+static void __init at91_add_device_rtt(void)
-+{
-+ device_init_wakeup(&at91sam9261_rtt_device.dev, 1);
-+ platform_device_register(&at91sam9261_rtt_device);
-+}
-+
-+
-+/* --------------------------------------------------------------------
-+ * Watchdog
-+ * -------------------------------------------------------------------- */
-+
-+#if defined(CONFIG_AT91SAM9_WATCHDOG) || defined(CONFIG_AT91SAM9_WATCHDOG_MODULE)
-+static struct platform_device at91sam9261_wdt_device = {
-+ .name = "at91_wdt",
-+ .id = -1,
-+ .num_resources = 0,
-+};
-+
-+static void __init at91_add_device_watchdog(void)
-+{
-+ platform_device_register(&at91sam9261_wdt_device);
-+}
-+#else
-+static void __init at91_add_device_watchdog(void) {}
-+#endif
-+
-+
-+/* --------------------------------------------------------------------
-+ * SSC -- Synchronous Serial Controller
- * -------------------------------------------------------------------- */
-
--#if defined(CONFIG_LEDS)
--u8 at91_leds_cpu;
--u8 at91_leds_timer;
-+#if defined(CONFIG_ATMEL_SSC) || defined(CONFIG_ATMEL_SSC_MODULE)
-+static u64 ssc0_dmamask = DMA_BIT_MASK(32);
-+
-+static struct resource ssc0_resources[] = {
-+ [0] = {
-+ .start = AT91SAM9261_BASE_SSC0,
-+ .end = AT91SAM9261_BASE_SSC0 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91SAM9261_ID_SSC0,
-+ .end = AT91SAM9261_ID_SSC0,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91sam9261_ssc0_device = {
-+ .name = "ssc",
-+ .id = 0,
-+ .dev = {
-+ .dma_mask = &ssc0_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ },
-+ .resource = ssc0_resources,
-+ .num_resources = ARRAY_SIZE(ssc0_resources),
-+};
-+
-+static inline void configure_ssc0_pins(unsigned pins)
-+{
-+ if (pins & ATMEL_SSC_TF)
-+ at91_set_A_periph(AT91_PIN_PB21, 1);
-+ if (pins & ATMEL_SSC_TK)
-+ at91_set_A_periph(AT91_PIN_PB22, 1);
-+ if (pins & ATMEL_SSC_TD)
-+ at91_set_A_periph(AT91_PIN_PB23, 1);
-+ if (pins & ATMEL_SSC_RD)
-+ at91_set_A_periph(AT91_PIN_PB24, 1);
-+ if (pins & ATMEL_SSC_RK)
-+ at91_set_A_periph(AT91_PIN_PB25, 1);
-+ if (pins & ATMEL_SSC_RF)
-+ at91_set_A_periph(AT91_PIN_PB26, 1);
-+}
-+
-+static u64 ssc1_dmamask = DMA_BIT_MASK(32);
-+
-+static struct resource ssc1_resources[] = {
-+ [0] = {
-+ .start = AT91SAM9261_BASE_SSC1,
-+ .end = AT91SAM9261_BASE_SSC1 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91SAM9261_ID_SSC1,
-+ .end = AT91SAM9261_ID_SSC1,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91sam9261_ssc1_device = {
-+ .name = "ssc",
-+ .id = 1,
-+ .dev = {
-+ .dma_mask = &ssc1_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ },
-+ .resource = ssc1_resources,
-+ .num_resources = ARRAY_SIZE(ssc1_resources),
-+};
-+
-+static inline void configure_ssc1_pins(unsigned pins)
-+{
-+ if (pins & ATMEL_SSC_TF)
-+ at91_set_B_periph(AT91_PIN_PA17, 1);
-+ if (pins & ATMEL_SSC_TK)
-+ at91_set_B_periph(AT91_PIN_PA18, 1);
-+ if (pins & ATMEL_SSC_TD)
-+ at91_set_B_periph(AT91_PIN_PA19, 1);
-+ if (pins & ATMEL_SSC_RD)
-+ at91_set_B_periph(AT91_PIN_PA20, 1);
-+ if (pins & ATMEL_SSC_RK)
-+ at91_set_B_periph(AT91_PIN_PA21, 1);
-+ if (pins & ATMEL_SSC_RF)
-+ at91_set_B_periph(AT91_PIN_PA22, 1);
-+}
-+
-+static u64 ssc2_dmamask = DMA_BIT_MASK(32);
-+
-+static struct resource ssc2_resources[] = {
-+ [0] = {
-+ .start = AT91SAM9261_BASE_SSC2,
-+ .end = AT91SAM9261_BASE_SSC2 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91SAM9261_ID_SSC2,
-+ .end = AT91SAM9261_ID_SSC2,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91sam9261_ssc2_device = {
-+ .name = "ssc",
-+ .id = 2,
-+ .dev = {
-+ .dma_mask = &ssc2_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ },
-+ .resource = ssc2_resources,
-+ .num_resources = ARRAY_SIZE(ssc2_resources),
-+};
-
--void __init at91_init_leds(u8 cpu_led, u8 timer_led)
-+static inline void configure_ssc2_pins(unsigned pins)
- {
-- /* Enable GPIO to access the LEDs */
-- at91_set_gpio_output(cpu_led, 1);
-- at91_set_gpio_output(timer_led, 1);
-+ if (pins & ATMEL_SSC_TF)
-+ at91_set_B_periph(AT91_PIN_PC25, 1);
-+ if (pins & ATMEL_SSC_TK)
-+ at91_set_B_periph(AT91_PIN_PC26, 1);
-+ if (pins & ATMEL_SSC_TD)
-+ at91_set_B_periph(AT91_PIN_PC27, 1);
-+ if (pins & ATMEL_SSC_RD)
-+ at91_set_B_periph(AT91_PIN_PC28, 1);
-+ if (pins & ATMEL_SSC_RK)
-+ at91_set_B_periph(AT91_PIN_PC29, 1);
-+ if (pins & ATMEL_SSC_RF)
-+ at91_set_B_periph(AT91_PIN_PC30, 1);
-+}
-+
-+/*
-+ * SSC controllers are accessed through library code, instead of any
-+ * kind of all-singing/all-dancing driver. For example one could be
-+ * used by a particular I2S audio codec's driver, while another one
-+ * on the same system might be used by a custom data capture driver.
-+ */
-+void __init at91_add_device_ssc(unsigned id, unsigned pins)
-+{
-+ struct platform_device *pdev;
-+
-+ /*
-+ * NOTE: caller is responsible for passing information matching
-+ * "pins" to whatever will be using each particular controller.
-+ */
-+ switch (id) {
-+ case AT91SAM9261_ID_SSC0:
-+ pdev = &at91sam9261_ssc0_device;
-+ configure_ssc0_pins(pins);
-+ at91_clock_associate("ssc0_clk", &pdev->dev, "pclk");
-+ break;
-+ case AT91SAM9261_ID_SSC1:
-+ pdev = &at91sam9261_ssc1_device;
-+ configure_ssc1_pins(pins);
-+ at91_clock_associate("ssc1_clk", &pdev->dev, "pclk");
-+ break;
-+ case AT91SAM9261_ID_SSC2:
-+ pdev = &at91sam9261_ssc2_device;
-+ configure_ssc2_pins(pins);
-+ at91_clock_associate("ssc2_clk", &pdev->dev, "pclk");
-+ break;
-+ default:
-+ return;
-+ }
-
-- at91_leds_cpu = cpu_led;
-- at91_leds_timer = timer_led;
-+ platform_device_register(pdev);
- }
-+
- #else
--void __init at91_init_leds(u8 cpu_led, u8 timer_led) {}
-+struct platform_device *__init at91_add_device_ssc(unsigned id, unsigned pins) {}
- #endif
-
-
-@@ -583,13 +838,15 @@
- .use_dma_rx = 0, /* DBGU not capable of receive DMA */
- .regs = (void __iomem *)(AT91_VA_BASE_SYS + AT91_DBGU),
- };
-+static u64 dbgu_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91sam9261_dbgu_device = {
- .name = "atmel_usart",
- .id = 0,
- .dev = {
-- .platform_data = &dbgu_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &dbgu_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &dbgu_data,
- },
- .resource = dbgu_resources,
- .num_resources = ARRAY_SIZE(dbgu_resources),
-@@ -618,24 +875,29 @@
- .use_dma_tx = 1,
- .use_dma_rx = 1,
- };
-+static u64 uart0_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91sam9261_uart0_device = {
- .name = "atmel_usart",
- .id = 1,
- .dev = {
-- .platform_data = &uart0_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &uart0_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart0_data,
- },
- .resource = uart0_resources,
- .num_resources = ARRAY_SIZE(uart0_resources),
- };
-
--static inline void configure_usart0_pins(void)
-+static inline void configure_usart0_pins(unsigned pins)
- {
- at91_set_A_periph(AT91_PIN_PC8, 1); /* TXD0 */
- at91_set_A_periph(AT91_PIN_PC9, 0); /* RXD0 */
-- at91_set_A_periph(AT91_PIN_PC10, 0); /* RTS0 */
-- at91_set_A_periph(AT91_PIN_PC11, 0); /* CTS0 */
-+
-+ if (pins & ATMEL_UART_RTS)
-+ at91_set_A_periph(AT91_PIN_PC10, 0); /* RTS0 */
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_A_periph(AT91_PIN_PC11, 0); /* CTS0 */
- }
-
- static struct resource uart1_resources[] = {
-@@ -655,22 +917,29 @@
- .use_dma_tx = 1,
- .use_dma_rx = 1,
- };
-+static u64 uart1_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91sam9261_uart1_device = {
- .name = "atmel_usart",
- .id = 2,
- .dev = {
-- .platform_data = &uart1_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &uart1_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart1_data,
- },
- .resource = uart1_resources,
- .num_resources = ARRAY_SIZE(uart1_resources),
- };
-
--static inline void configure_usart1_pins(void)
-+static inline void configure_usart1_pins(unsigned pins)
- {
- at91_set_A_periph(AT91_PIN_PC12, 1); /* TXD1 */
- at91_set_A_periph(AT91_PIN_PC13, 0); /* RXD1 */
-+
-+ if (pins & ATMEL_UART_RTS)
-+ at91_set_B_periph(AT91_PIN_PA12, 0); /* RTS1 */
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_B_periph(AT91_PIN_PA13, 0); /* CTS1 */
- }
-
- static struct resource uart2_resources[] = {
-@@ -690,28 +959,35 @@
- .use_dma_tx = 1,
- .use_dma_rx = 1,
- };
-+static u64 uart2_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91sam9261_uart2_device = {
- .name = "atmel_usart",
- .id = 3,
- .dev = {
-- .platform_data = &uart2_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &uart2_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart2_data,
- },
- .resource = uart2_resources,
- .num_resources = ARRAY_SIZE(uart2_resources),
- };
-
--static inline void configure_usart2_pins(void)
-+static inline void configure_usart2_pins(unsigned pins)
- {
- at91_set_A_periph(AT91_PIN_PC15, 0); /* RXD2 */
- at91_set_A_periph(AT91_PIN_PC14, 1); /* TXD2 */
-+
-+ if (pins & ATMEL_UART_RTS)
-+ at91_set_B_periph(AT91_PIN_PA15, 0); /* RTS2*/
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_B_periph(AT91_PIN_PA16, 0); /* CTS2 */
- }
-
--struct platform_device *at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */
-+static struct platform_device *__initdata at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */
- struct platform_device *atmel_default_console_device; /* the serial console device */
-
--void __init at91_init_serial(struct at91_uart_config *config)
-+void __init __deprecated at91_init_serial(struct at91_uart_config *config)
- {
- int i;
-
-@@ -719,17 +995,17 @@
- for (i = 0; i < config->nr_tty; i++) {
- switch (config->tty_map[i]) {
- case 0:
-- configure_usart0_pins();
-+ configure_usart0_pins(ATMEL_UART_CTS | ATMEL_UART_RTS);
- at91_uarts[i] = &at91sam9261_uart0_device;
- at91_clock_associate("usart0_clk", &at91sam9261_uart0_device.dev, "usart");
- break;
- case 1:
-- configure_usart1_pins();
-+ configure_usart1_pins(0);
- at91_uarts[i] = &at91sam9261_uart1_device;
- at91_clock_associate("usart1_clk", &at91sam9261_uart1_device.dev, "usart");
- break;
- case 2:
-- configure_usart2_pins();
-+ configure_usart2_pins(0);
- at91_uarts[i] = &at91sam9261_uart2_device;
- at91_clock_associate("usart2_clk", &at91sam9261_uart2_device.dev, "usart");
- break;
-@@ -751,6 +1027,48 @@
- printk(KERN_INFO "AT91: No default serial console defined.\n");
- }
-
-+void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins)
-+{
-+ struct platform_device *pdev;
-+
-+ switch (id) {
-+ case 0: /* DBGU */
-+ pdev = &at91sam9261_dbgu_device;
-+ configure_dbgu_pins();
-+ at91_clock_associate("mck", &pdev->dev, "usart");
-+ break;
-+ case AT91SAM9261_ID_US0:
-+ pdev = &at91sam9261_uart0_device;
-+ configure_usart0_pins(pins);
-+ at91_clock_associate("usart0_clk", &pdev->dev, "usart");
-+ break;
-+ case AT91SAM9261_ID_US1:
-+ pdev = &at91sam9261_uart1_device;
-+ configure_usart1_pins(pins);
-+ at91_clock_associate("usart1_clk", &pdev->dev, "usart");
-+ break;
-+ case AT91SAM9261_ID_US2:
-+ pdev = &at91sam9261_uart2_device;
-+ configure_usart2_pins(pins);
-+ at91_clock_associate("usart2_clk", &pdev->dev, "usart");
-+ break;
-+ default:
-+ return;
-+ }
-+ pdev->id = portnr; /* update to mapped ID */
-+
-+ if (portnr < ATMEL_MAX_UART)
-+ at91_uarts[portnr] = pdev;
-+}
-+
-+void __init at91_set_serial_console(unsigned portnr)
-+{
-+ if (portnr < ATMEL_MAX_UART)
-+ atmel_default_console_device = at91_uarts[portnr];
-+ if (!atmel_default_console_device)
-+ printk(KERN_INFO "AT91: No default serial console defined.\n");
-+}
-+
- void __init at91_add_device_serial(void)
- {
- int i;
-@@ -761,7 +1079,9 @@
- }
- }
- #else
--void __init at91_init_serial(struct at91_uart_config *config) {}
-+void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
-+void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {}
-+void __init at91_set_serial_console(unsigned portnr) {}
- void __init at91_add_device_serial(void) {}
- #endif
-
-@@ -774,6 +1094,9 @@
- */
- static int __init at91_add_standard_devices(void)
- {
-+ at91_add_device_rtt();
-+ at91_add_device_watchdog();
-+ at91_add_device_tc();
- return 0;
- }
-
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/at91sam9263.c linux-2.6/arch/arm/mach-at91/at91sam9263.c
---- linux-2.6.24/arch/arm/mach-at91/at91sam9263.c 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91sam9263.c 2008-03-01 19:03:55.000000000 +0200
-@@ -11,12 +11,14 @@
- */
-
- #include <linux/module.h>
-+#include <linux/pm.h>
-
- #include <asm/mach/arch.h>
- #include <asm/mach/map.h>
- #include <asm/arch/at91sam9263.h>
- #include <asm/arch/at91_pmc.h>
- #include <asm/arch/at91_rstc.h>
-+#include <asm/arch/at91_shdwc.h>
-
- #include "generic.h"
- #include "clock.h"
-@@ -271,6 +273,11 @@
- at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
- }
-
-+static void at91sam9263_poweroff(void)
-+{
-+ at91_sys_write(AT91_SHDW_CR, AT91_SHDW_KEY | AT91_SHDW_SHDW);
-+}
-+
-
- /* --------------------------------------------------------------------
- * AT91SAM9263 processor initialization
-@@ -282,6 +289,7 @@
- iotable_init(at91sam9263_io_desc, ARRAY_SIZE(at91sam9263_io_desc));
-
- at91_arch_reset = at91sam9263_reset;
-+ pm_power_off = at91sam9263_poweroff;
- at91_extern_irq = (1 << AT91SAM9263_ID_IRQ0) | (1 << AT91SAM9263_ID_IRQ1);
-
- /* Init clock subsystem */
-@@ -304,34 +312,34 @@
- static unsigned int at91sam9263_default_irq_priority[NR_AIC_IRQS] __initdata = {
- 7, /* Advanced Interrupt Controller (FIQ) */
- 7, /* System Peripherals */
-- 0, /* Parallel IO Controller A */
-- 0, /* Parallel IO Controller B */
-- 0, /* Parallel IO Controller C, D and E */
-+ 1, /* Parallel IO Controller A */
-+ 1, /* Parallel IO Controller B */
-+ 1, /* Parallel IO Controller C, D and E */
- 0,
- 0,
-- 6, /* USART 0 */
-- 6, /* USART 1 */
-- 6, /* USART 2 */
-+ 5, /* USART 0 */
-+ 5, /* USART 1 */
-+ 5, /* USART 2 */
- 0, /* Multimedia Card Interface 0 */
- 0, /* Multimedia Card Interface 1 */
-- 4, /* CAN */
-- 0, /* Two-Wire Interface */
-- 6, /* Serial Peripheral Interface 0 */
-- 6, /* Serial Peripheral Interface 1 */
-- 5, /* Serial Synchronous Controller 0 */
-- 5, /* Serial Synchronous Controller 1 */
-- 6, /* AC97 Controller */
-+ 3, /* CAN */
-+ 6, /* Two-Wire Interface */
-+ 5, /* Serial Peripheral Interface 0 */
-+ 5, /* Serial Peripheral Interface 1 */
-+ 4, /* Serial Synchronous Controller 0 */
-+ 4, /* Serial Synchronous Controller 1 */
-+ 5, /* AC97 Controller */
- 0, /* Timer Counter 0, 1 and 2 */
- 0, /* Pulse Width Modulation Controller */
- 3, /* Ethernet */
- 0,
- 0, /* 2D Graphic Engine */
-- 3, /* USB Device Port */
-+ 2, /* USB Device Port */
- 0, /* Image Sensor Interface */
- 3, /* LDC Controller */
- 0, /* DMA Controller */
- 0,
-- 3, /* USB Host port */
-+ 2, /* USB Host port */
- 0, /* Advanced Interrupt Controller (IRQ0) */
- 0, /* Advanced Interrupt Controller (IRQ1) */
- };
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/at91sam9263_devices.c linux-2.6/arch/arm/mach-at91/at91sam9263_devices.c
---- linux-2.6.24/arch/arm/mach-at91/at91sam9263_devices.c 2008-03-01 22:02:07.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91sam9263_devices.c 2008-03-01 22:09:36.000000000 +0200
-@@ -12,6 +12,7 @@
- #include <asm/mach/arch.h>
- #include <asm/mach/map.h>
-
-+#include <linux/dma-mapping.h>
- #include <linux/platform_device.h>
- #include <linux/i2c-gpio.h>
-
-@@ -21,7 +22,7 @@
- #include <asm/arch/board.h>
- #include <asm/arch/gpio.h>
- #include <asm/arch/at91sam9263.h>
--#include <asm/arch/at91sam926x_mc.h>
-+#include <asm/arch/at91sam926x_smc.h>
- #include <asm/arch/at91sam9263_matrix.h>
-
- #include "generic.h"
-@@ -32,7 +33,7 @@
- * -------------------------------------------------------------------- */
-
- #if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
--static u64 ohci_dmamask = 0xffffffffUL;
-+static u64 ohci_dmamask = DMA_BIT_MASK(32);
- static struct at91_usbh_data usbh_data;
-
- static struct resource usbh_resources[] = {
-@@ -53,7 +54,7 @@
- .id = -1,
- .dev = {
- .dma_mask = &ohci_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- .platform_data = &usbh_data,
- },
- .resource = usbh_resources,
-@@ -136,7 +137,7 @@
- * -------------------------------------------------------------------- */
-
- #if defined(CONFIG_MACB) || defined(CONFIG_MACB_MODULE)
--static u64 eth_dmamask = 0xffffffffUL;
-+static u64 eth_dmamask = DMA_BIT_MASK(32);
- static struct at91_eth_data eth_data;
-
- static struct resource eth_resources[] = {
-@@ -157,7 +158,7 @@
- .id = -1,
- .dev = {
- .dma_mask = &eth_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- .platform_data = &eth_data,
- },
- .resource = eth_resources,
-@@ -210,7 +211,7 @@
- * -------------------------------------------------------------------- */
-
- #if defined(CONFIG_MMC_AT91) || defined(CONFIG_MMC_AT91_MODULE)
--static u64 mmc_dmamask = 0xffffffffUL;
-+static u64 mmc_dmamask = DMA_BIT_MASK(32);
- static struct at91_mmc_data mmc0_data, mmc1_data;
-
- static struct resource mmc0_resources[] = {
-@@ -231,7 +232,7 @@
- .id = 0,
- .dev = {
- .dma_mask = &mmc_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- .platform_data = &mmc0_data,
- },
- .resource = mmc0_resources,
-@@ -256,7 +257,7 @@
- .id = 1,
- .dev = {
- .dma_mask = &mmc_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- .platform_data = &mmc1_data,
- },
- .resource = mmc1_resources,
-@@ -357,10 +358,15 @@
- #define NAND_BASE AT91_CHIPSELECT_3
-
- static struct resource nand_resources[] = {
-- {
-+ [0] = {
- .start = NAND_BASE,
- .end = NAND_BASE + SZ_256M - 1,
- .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91_BASE_SYS + AT91_ECC0,
-+ .end = AT91_BASE_SYS + AT91_ECC0 + SZ_512 - 1,
-+ .flags = IORESOURCE_MEM,
- }
- };
-
-@@ -382,7 +388,7 @@
- return;
-
- csa = at91_sys_read(AT91_MATRIX_EBI0CSA);
-- at91_sys_write(AT91_MATRIX_EBI0CSA, csa | AT91_MATRIX_EBI0_CS3A_SMC);
-+ at91_sys_write(AT91_MATRIX_EBI0CSA, csa | AT91_MATRIX_EBI0_CS3A_SMC_SMARTMEDIA);
-
- /* set the bus interface characteristics */
- at91_sys_write(AT91_SMC_SETUP(3), AT91_SMC_NWESETUP_(0) | AT91_SMC_NCS_WRSETUP_(0)
-@@ -500,7 +506,7 @@
- * -------------------------------------------------------------------- */
-
- #if defined(CONFIG_SPI_ATMEL) || defined(CONFIG_SPI_ATMEL_MODULE)
--static u64 spi_dmamask = 0xffffffffUL;
-+static u64 spi_dmamask = DMA_BIT_MASK(32);
-
- static struct resource spi0_resources[] = {
- [0] = {
-@@ -520,7 +526,7 @@
- .id = 0,
- .dev = {
- .dma_mask = &spi_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- },
- .resource = spi0_resources,
- .num_resources = ARRAY_SIZE(spi0_resources),
-@@ -546,7 +552,7 @@
- .id = 1,
- .dev = {
- .dma_mask = &spi_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- },
- .resource = spi1_resources,
- .num_resources = ARRAY_SIZE(spi1_resources),
-@@ -612,7 +618,7 @@
- * -------------------------------------------------------------------- */
-
- #if defined(CONFIG_SND_AT91_AC97) || defined(CONFIG_SND_AT91_AC97_MODULE)
--static u64 ac97_dmamask = 0xffffffffUL;
-+static u64 ac97_dmamask = DMA_BIT_MASK(32);
- static struct atmel_ac97_data ac97_data;
-
- static struct resource ac97_resources[] = {
-@@ -633,7 +639,7 @@
- .id = 1,
- .dev = {
- .dma_mask = &ac97_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- .platform_data = &ac97_data,
- },
- .resource = ac97_resources,
-@@ -663,11 +669,61 @@
-
-
- /* --------------------------------------------------------------------
-+ * Image Sensor Interface
-+ * -------------------------------------------------------------------- */
-+
-+#if defined(CONFIG_VIDEO_AT91_ISI) || defined(CONFIG_VIDEO_AT91_ISI_MODULE)
-+
-+struct resource isi_resources[] = {
-+ [0] = {
-+ .start = AT91SAM9263_BASE_ISI,
-+ .end = AT91SAM9263_BASE_ISI + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91SAM9263_ID_ISI,
-+ .end = AT91SAM9263_ID_ISI,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91sam9263_isi_device = {
-+ .name = "at91_isi",
-+ .id = -1,
-+ .resource = isi_resources,
-+ .num_resources = ARRAY_SIZE(isi_resources),
-+};
-+
-+void __init at91_add_device_isi(void)
-+{
-+ at91_set_A_periph(AT91_PIN_PE0, 0); /* ISI_D0 */
-+ at91_set_A_periph(AT91_PIN_PE1, 0); /* ISI_D1 */
-+ at91_set_A_periph(AT91_PIN_PE2, 0); /* ISI_D2 */
-+ at91_set_A_periph(AT91_PIN_PE3, 0); /* ISI_D3 */
-+ at91_set_A_periph(AT91_PIN_PE4, 0); /* ISI_D4 */
-+ at91_set_A_periph(AT91_PIN_PE5, 0); /* ISI_D5 */
-+ at91_set_A_periph(AT91_PIN_PE6, 0); /* ISI_D6 */
-+ at91_set_A_periph(AT91_PIN_PE7, 0); /* ISI_D7 */
-+ at91_set_A_periph(AT91_PIN_PE8, 0); /* ISI_PCK */
-+ at91_set_A_periph(AT91_PIN_PE9, 0); /* ISI_HSYNC */
-+ at91_set_A_periph(AT91_PIN_PE10, 0); /* ISI_VSYNC */
-+ at91_set_B_periph(AT91_PIN_PE11, 0); /* ISI_MCK (PCK3) */
-+ at91_set_B_periph(AT91_PIN_PE12, 0); /* ISI_PD8 */
-+ at91_set_B_periph(AT91_PIN_PE13, 0); /* ISI_PD9 */
-+ at91_set_B_periph(AT91_PIN_PE14, 0); /* ISI_PD10 */
-+ at91_set_B_periph(AT91_PIN_PE15, 0); /* ISI_PD11 */
-+}
-+#else
-+void __init at91_add_device_isi(void) {}
-+#endif
-+
-+
-+/* --------------------------------------------------------------------
- * LCD Controller
- * -------------------------------------------------------------------- */
-
- #if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE)
--static u64 lcdc_dmamask = 0xffffffffUL;
-+static u64 lcdc_dmamask = DMA_BIT_MASK(32);
- static struct atmel_lcdfb_info lcdc_data;
-
- static struct resource lcdc_resources[] = {
-@@ -688,7 +744,7 @@
- .id = 0,
- .dev = {
- .dma_mask = &lcdc_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- .platform_data = &lcdc_data,
- },
- .resource = lcdc_resources,
-@@ -732,24 +788,227 @@
-
-
- /* --------------------------------------------------------------------
-- * LEDs
-+ * Timer/Counter block
-+ * -------------------------------------------------------------------- */
-+
-+#ifdef CONFIG_ATMEL_TCLIB
-+
-+static struct resource tcb_resources[] = {
-+ [0] = {
-+ .start = AT91SAM9263_BASE_TCB0,
-+ .end = AT91SAM9263_BASE_TCB0 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91SAM9263_ID_TCB,
-+ .end = AT91SAM9263_ID_TCB,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91sam9263_tcb_device = {
-+ .name = "atmel_tcb",
-+ .id = 0,
-+ .resource = tcb_resources,
-+ .num_resources = ARRAY_SIZE(tcb_resources),
-+};
-+
-+static void __init at91_add_device_tc(void)
-+{
-+ /* this chip has one clock and irq for all three TC channels */
-+ at91_clock_associate("tcb_clk", &at91sam9263_tcb_device.dev, "t0_clk");
-+ platform_device_register(&at91sam9263_tcb_device);
-+}
-+#else
-+static void __init at91_add_device_tc(void) { }
-+#endif
-+
-+/* --------------------------------------------------------------------
-+ * RTT
-+ * -------------------------------------------------------------------- */
-+
-+static struct resource rtt0_resources[] = {
-+ {
-+ .start = AT91_BASE_SYS + AT91_RTT0,
-+ .end = AT91_BASE_SYS + AT91_RTT0 + SZ_16 - 1,
-+ .flags = IORESOURCE_MEM,
-+ }
-+};
-+
-+static struct platform_device at91sam9263_rtt0_device = {
-+ .name = "at91_rtt",
-+ .id = 0,
-+ .resource = rtt0_resources,
-+ .num_resources = ARRAY_SIZE(rtt0_resources),
-+};
-+
-+static struct resource rtt1_resources[] = {
-+ {
-+ .start = AT91_BASE_SYS + AT91_RTT1,
-+ .end = AT91_BASE_SYS + AT91_RTT1 + SZ_16 - 1,
-+ .flags = IORESOURCE_MEM,
-+ }
-+};
-+
-+static struct platform_device at91sam9263_rtt1_device = {
-+ .name = "at91_rtt",
-+ .id = 1,
-+ .resource = rtt1_resources,
-+ .num_resources = ARRAY_SIZE(rtt1_resources),
-+};
-+
-+static void __init at91_add_device_rtt(void)
-+{
-+ device_init_wakeup(&at91sam9263_rtt0_device.dev, 1);
-+ platform_device_register(&at91sam9263_rtt0_device);
-+ device_init_wakeup(&at91sam9263_rtt1_device.dev, 1);
-+ platform_device_register(&at91sam9263_rtt1_device);
-+}
-+
-+
-+/* --------------------------------------------------------------------
-+ * Watchdog
-+ * -------------------------------------------------------------------- */
-+
-+#if defined(CONFIG_AT91SAM9_WATCHDOG) || defined(CONFIG_AT91SAM9_WATCHDOG_MODULE)
-+static struct platform_device at91sam9263_wdt_device = {
-+ .name = "at91_wdt",
-+ .id = -1,
-+ .num_resources = 0,
-+};
-+
-+static void __init at91_add_device_watchdog(void)
-+{
-+ platform_device_register(&at91sam9263_wdt_device);
-+}
-+#else
-+static void __init at91_add_device_watchdog(void) {}
-+#endif
-+
-+
-+/* --------------------------------------------------------------------
-+ * SSC -- Synchronous Serial Controller
- * -------------------------------------------------------------------- */
-
--#if defined(CONFIG_LEDS)
--u8 at91_leds_cpu;
--u8 at91_leds_timer;
-+#if defined(CONFIG_ATMEL_SSC) || defined(CONFIG_ATMEL_SSC_MODULE)
-+static u64 ssc0_dmamask = DMA_BIT_MASK(32);
-
--void __init at91_init_leds(u8 cpu_led, u8 timer_led)
-+static struct resource ssc0_resources[] = {
-+ [0] = {
-+ .start = AT91SAM9263_BASE_SSC0,
-+ .end = AT91SAM9263_BASE_SSC0 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91SAM9263_ID_SSC0,
-+ .end = AT91SAM9263_ID_SSC0,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91sam9263_ssc0_device = {
-+ .name = "ssc",
-+ .id = 0,
-+ .dev = {
-+ .dma_mask = &ssc0_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ },
-+ .resource = ssc0_resources,
-+ .num_resources = ARRAY_SIZE(ssc0_resources),
-+};
-+
-+static inline void configure_ssc0_pins(unsigned pins)
- {
-- /* Enable GPIO to access the LEDs */
-- at91_set_gpio_output(cpu_led, 1);
-- at91_set_gpio_output(timer_led, 1);
-+ if (pins & ATMEL_SSC_TF)
-+ at91_set_B_periph(AT91_PIN_PB0, 1);
-+ if (pins & ATMEL_SSC_TK)
-+ at91_set_B_periph(AT91_PIN_PB1, 1);
-+ if (pins & ATMEL_SSC_TD)
-+ at91_set_B_periph(AT91_PIN_PB2, 1);
-+ if (pins & ATMEL_SSC_RD)
-+ at91_set_B_periph(AT91_PIN_PB3, 1);
-+ if (pins & ATMEL_SSC_RK)
-+ at91_set_B_periph(AT91_PIN_PB4, 1);
-+ if (pins & ATMEL_SSC_RF)
-+ at91_set_B_periph(AT91_PIN_PB5, 1);
-+}
-+
-+static u64 ssc1_dmamask = DMA_BIT_MASK(32);
-
-- at91_leds_cpu = cpu_led;
-- at91_leds_timer = timer_led;
-+static struct resource ssc1_resources[] = {
-+ [0] = {
-+ .start = AT91SAM9263_BASE_SSC1,
-+ .end = AT91SAM9263_BASE_SSC1 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91SAM9263_ID_SSC1,
-+ .end = AT91SAM9263_ID_SSC1,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91sam9263_ssc1_device = {
-+ .name = "ssc",
-+ .id = 1,
-+ .dev = {
-+ .dma_mask = &ssc1_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ },
-+ .resource = ssc1_resources,
-+ .num_resources = ARRAY_SIZE(ssc1_resources),
-+};
-+
-+static inline void configure_ssc1_pins(unsigned pins)
-+{
-+ if (pins & ATMEL_SSC_TF)
-+ at91_set_A_periph(AT91_PIN_PB6, 1);
-+ if (pins & ATMEL_SSC_TK)
-+ at91_set_A_periph(AT91_PIN_PB7, 1);
-+ if (pins & ATMEL_SSC_TD)
-+ at91_set_A_periph(AT91_PIN_PB8, 1);
-+ if (pins & ATMEL_SSC_RD)
-+ at91_set_A_periph(AT91_PIN_PB9, 1);
-+ if (pins & ATMEL_SSC_RK)
-+ at91_set_A_periph(AT91_PIN_PB10, 1);
-+ if (pins & ATMEL_SSC_RF)
-+ at91_set_A_periph(AT91_PIN_PB11, 1);
-+}
-+
-+/*
-+ * SSC controllers are accessed through library code, instead of any
-+ * kind of all-singing/all-dancing driver. For example one could be
-+ * used by a particular I2S audio codec's driver, while another one
-+ * on the same system might be used by a custom data capture driver.
-+ */
-+void __init at91_add_device_ssc(unsigned id, unsigned pins)
-+{
-+ struct platform_device *pdev;
-+
-+ /*
-+ * NOTE: caller is responsible for passing information matching
-+ * "pins" to whatever will be using each particular controller.
-+ */
-+ switch (id) {
-+ case AT91SAM9263_ID_SSC0:
-+ pdev = &at91sam9263_ssc0_device;
-+ configure_ssc0_pins(pins);
-+ at91_clock_associate("ssc0_clk", &pdev->dev, "pclk");
-+ break;
-+ case AT91SAM9263_ID_SSC1:
-+ pdev = &at91sam9263_ssc1_device;
-+ configure_ssc1_pins(pins);
-+ at91_clock_associate("ssc1_clk", &pdev->dev, "pclk");
-+ break;
-+ default:
-+ return;
-+ }
-+
-+ platform_device_register(pdev);
- }
-+
- #else
--void __init at91_init_leds(u8 cpu_led, u8 timer_led) {}
-+struct platform_device *__init at91_add_device_ssc(unsigned id, unsigned pins) {}
- #endif
-
-
-@@ -777,13 +1036,15 @@
- .use_dma_rx = 0, /* DBGU not capable of receive DMA */
- .regs = (void __iomem *)(AT91_VA_BASE_SYS + AT91_DBGU),
- };
-+static u64 dbgu_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91sam9263_dbgu_device = {
- .name = "atmel_usart",
- .id = 0,
- .dev = {
-- .platform_data = &dbgu_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &dbgu_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &dbgu_data,
- },
- .resource = dbgu_resources,
- .num_resources = ARRAY_SIZE(dbgu_resources),
-@@ -812,24 +1073,29 @@
- .use_dma_tx = 1,
- .use_dma_rx = 1,
- };
-+static u64 uart0_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91sam9263_uart0_device = {
- .name = "atmel_usart",
- .id = 1,
- .dev = {
-- .platform_data = &uart0_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &uart0_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart0_data,
- },
- .resource = uart0_resources,
- .num_resources = ARRAY_SIZE(uart0_resources),
- };
-
--static inline void configure_usart0_pins(void)
-+static inline void configure_usart0_pins(unsigned pins)
- {
- at91_set_A_periph(AT91_PIN_PA26, 1); /* TXD0 */
- at91_set_A_periph(AT91_PIN_PA27, 0); /* RXD0 */
-- at91_set_A_periph(AT91_PIN_PA28, 0); /* RTS0 */
-- at91_set_A_periph(AT91_PIN_PA29, 0); /* CTS0 */
-+
-+ if (pins & ATMEL_UART_RTS)
-+ at91_set_A_periph(AT91_PIN_PA28, 0); /* RTS0 */
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_A_periph(AT91_PIN_PA29, 0); /* CTS0 */
- }
-
- static struct resource uart1_resources[] = {
-@@ -849,24 +1115,29 @@
- .use_dma_tx = 1,
- .use_dma_rx = 1,
- };
-+static u64 uart1_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91sam9263_uart1_device = {
- .name = "atmel_usart",
- .id = 2,
- .dev = {
-- .platform_data = &uart1_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &uart1_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart1_data,
- },
- .resource = uart1_resources,
- .num_resources = ARRAY_SIZE(uart1_resources),
- };
-
--static inline void configure_usart1_pins(void)
-+static inline void configure_usart1_pins(unsigned pins)
- {
- at91_set_A_periph(AT91_PIN_PD0, 1); /* TXD1 */
- at91_set_A_periph(AT91_PIN_PD1, 0); /* RXD1 */
-- at91_set_B_periph(AT91_PIN_PD7, 0); /* RTS1 */
-- at91_set_B_periph(AT91_PIN_PD8, 0); /* CTS1 */
-+
-+ if (pins & ATMEL_UART_RTS)
-+ at91_set_B_periph(AT91_PIN_PD7, 0); /* RTS1 */
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_B_periph(AT91_PIN_PD8, 0); /* CTS1 */
- }
-
- static struct resource uart2_resources[] = {
-@@ -886,30 +1157,35 @@
- .use_dma_tx = 1,
- .use_dma_rx = 1,
- };
-+static u64 uart2_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91sam9263_uart2_device = {
- .name = "atmel_usart",
- .id = 3,
- .dev = {
-- .platform_data = &uart2_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &uart2_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart2_data,
- },
- .resource = uart2_resources,
- .num_resources = ARRAY_SIZE(uart2_resources),
- };
-
--static inline void configure_usart2_pins(void)
-+static inline void configure_usart2_pins(unsigned pins)
- {
- at91_set_A_periph(AT91_PIN_PD2, 1); /* TXD2 */
- at91_set_A_periph(AT91_PIN_PD3, 0); /* RXD2 */
-- at91_set_B_periph(AT91_PIN_PD5, 0); /* RTS2 */
-- at91_set_B_periph(AT91_PIN_PD6, 0); /* CTS2 */
-+
-+ if (pins & ATMEL_UART_RTS)
-+ at91_set_B_periph(AT91_PIN_PD5, 0); /* RTS2 */
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_B_periph(AT91_PIN_PD6, 0); /* CTS2 */
- }
-
--struct platform_device *at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */
-+static struct platform_device *__initdata at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */
- struct platform_device *atmel_default_console_device; /* the serial console device */
-
--void __init at91_init_serial(struct at91_uart_config *config)
-+void __init __deprecated at91_init_serial(struct at91_uart_config *config)
- {
- int i;
-
-@@ -917,17 +1193,17 @@
- for (i = 0; i < config->nr_tty; i++) {
- switch (config->tty_map[i]) {
- case 0:
-- configure_usart0_pins();
-+ configure_usart0_pins(ATMEL_UART_CTS | ATMEL_UART_RTS);
- at91_uarts[i] = &at91sam9263_uart0_device;
- at91_clock_associate("usart0_clk", &at91sam9263_uart0_device.dev, "usart");
- break;
- case 1:
-- configure_usart1_pins();
-+ configure_usart1_pins(ATMEL_UART_CTS | ATMEL_UART_RTS);
- at91_uarts[i] = &at91sam9263_uart1_device;
- at91_clock_associate("usart1_clk", &at91sam9263_uart1_device.dev, "usart");
- break;
- case 2:
-- configure_usart2_pins();
-+ configure_usart2_pins(ATMEL_UART_CTS | ATMEL_UART_RTS);
- at91_uarts[i] = &at91sam9263_uart2_device;
- at91_clock_associate("usart2_clk", &at91sam9263_uart2_device.dev, "usart");
- break;
-@@ -949,6 +1225,48 @@
- printk(KERN_INFO "AT91: No default serial console defined.\n");
- }
-
-+void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins)
-+{
-+ struct platform_device *pdev;
-+
-+ switch (id) {
-+ case 0: /* DBGU */
-+ pdev = &at91sam9263_dbgu_device;
-+ configure_dbgu_pins();
-+ at91_clock_associate("mck", &pdev->dev, "usart");
-+ break;
-+ case AT91SAM9263_ID_US0:
-+ pdev = &at91sam9263_uart0_device;
-+ configure_usart0_pins(pins);
-+ at91_clock_associate("usart0_clk", &pdev->dev, "usart");
-+ break;
-+ case AT91SAM9263_ID_US1:
-+ pdev = &at91sam9263_uart1_device;
-+ configure_usart1_pins(pins);
-+ at91_clock_associate("usart1_clk", &pdev->dev, "usart");
-+ break;
-+ case AT91SAM9263_ID_US2:
-+ pdev = &at91sam9263_uart2_device;
-+ configure_usart2_pins(pins);
-+ at91_clock_associate("usart2_clk", &pdev->dev, "usart");
-+ break;
-+ default:
-+ return;
-+ }
-+ pdev->id = portnr; /* update to mapped ID */
-+
-+ if (portnr < ATMEL_MAX_UART)
-+ at91_uarts[portnr] = pdev;
-+}
-+
-+void __init at91_set_serial_console(unsigned portnr)
-+{
-+ if (portnr < ATMEL_MAX_UART)
-+ atmel_default_console_device = at91_uarts[portnr];
-+ if (!atmel_default_console_device)
-+ printk(KERN_INFO "AT91: No default serial console defined.\n");
-+}
-+
- void __init at91_add_device_serial(void)
- {
- int i;
-@@ -959,7 +1277,9 @@
- }
- }
- #else
--void __init at91_init_serial(struct at91_uart_config *config) {}
-+void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
-+void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {}
-+void __init at91_set_serial_console(unsigned portnr) {}
- void __init at91_add_device_serial(void) {}
- #endif
-
-@@ -971,6 +1291,9 @@
- */
- static int __init at91_add_standard_devices(void)
- {
-+ at91_add_device_rtt();
-+ at91_add_device_watchdog();
-+ at91_add_device_tc();
- return 0;
- }
-
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/at91sam926x_time.c linux-2.6/arch/arm/mach-at91/at91sam926x_time.c
---- linux-2.6.24/arch/arm/mach-at91/at91sam926x_time.c 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91sam926x_time.c 2008-02-25 22:18:18.000000000 +0200
-@@ -1,23 +1,20 @@
- /*
-- * linux/arch/arm/mach-at91/at91sam926x_time.c
-+ * at91sam926x_time.c - Periodic Interval Timer (PIT) for at91sam926x
- *
- * Copyright (C) 2005-2006 M. Amine SAYA, ATMEL Rousset, France
- * Revision 2005 M. Nicolas Diremdjian, ATMEL Rousset, France
-+ * Converted to ClockSource/ClockEvents by David Brownell.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
--
--#include <linux/init.h>
- #include <linux/interrupt.h>
- #include <linux/irq.h>
- #include <linux/kernel.h>
--#include <linux/sched.h>
--#include <linux/time.h>
-+#include <linux/clk.h>
-+#include <linux/clockchips.h>
-
--#include <asm/hardware.h>
--#include <asm/io.h>
- #include <asm/mach/time.h>
-
- #include <asm/arch/at91_pit.h>
-@@ -26,88 +23,166 @@
- #define PIT_CPIV(x) ((x) & AT91_PIT_CPIV)
- #define PIT_PICNT(x) (((x) & AT91_PIT_PICNT) >> 20)
-
-+static u32 pit_cycle; /* write-once */
-+static u32 pit_cnt; /* access only w/system irq blocked */
-+
-+
- /*
-- * Returns number of microseconds since last timer interrupt. Note that interrupts
-- * will have been disabled by do_gettimeofday()
-- * 'LATCH' is hwclock ticks (see CLOCK_TICK_RATE in timex.h) per jiffy.
-+ * Clocksource: just a monotonic counter of MCK/16 cycles.
-+ * We don't care whether or not PIT irqs are enabled.
- */
--static unsigned long at91sam926x_gettimeoffset(void)
-+static cycle_t read_pit_clk(void)
- {
-- unsigned long elapsed;
-- unsigned long t = at91_sys_read(AT91_PIT_PIIR);
-+ unsigned long flags;
-+ u32 elapsed;
-+ u32 t;
-+
-+ raw_local_irq_save(flags);
-+ elapsed = pit_cnt;
-+ t = at91_sys_read(AT91_PIT_PIIR);
-+ raw_local_irq_restore(flags);
-+
-+ elapsed += PIT_PICNT(t) * pit_cycle;
-+ elapsed += PIT_CPIV(t);
-+ return elapsed;
-+}
-
-- elapsed = (PIT_PICNT(t) * LATCH) + PIT_CPIV(t); /* hardware clock cycles */
-+static struct clocksource pit_clk = {
-+ .name = "pit",
-+ .rating = 175,
-+ .read = read_pit_clk,
-+ .shift = 20,
-+ .flags = CLOCK_SOURCE_IS_CONTINUOUS,
-+};
-+
-+
-+/*
-+ * Clockevent device: interrupts every 1/HZ (== pit_cycles * MCK/16)
-+ */
-+static void
-+pit_clkevt_mode(enum clock_event_mode mode, struct clock_event_device *dev)
-+{
-+ unsigned long flags;
-
-- return (unsigned long)(elapsed * jiffies_to_usecs(1)) / LATCH;
-+ switch (mode) {
-+ case CLOCK_EVT_MODE_PERIODIC:
-+ case CLOCK_EVT_MODE_RESUME:
-+ /* update clocksource counter, then enable the IRQ */
-+ raw_local_irq_save(flags);
-+ pit_cnt += pit_cycle * PIT_PICNT(at91_sys_read(AT91_PIT_PIVR));
-+ at91_sys_write(AT91_PIT_MR, (pit_cycle - 1) | AT91_PIT_PITEN
-+ | AT91_PIT_PITIEN);
-+ raw_local_irq_restore(flags);
-+ break;
-+ case CLOCK_EVT_MODE_ONESHOT:
-+ BUG();
-+ /* FALLTHROUGH */
-+ case CLOCK_EVT_MODE_SHUTDOWN:
-+ case CLOCK_EVT_MODE_UNUSED:
-+ /* disable irq, leaving the clocksource active */
-+ at91_sys_write(AT91_PIT_MR, (pit_cycle - 1) | AT91_PIT_PITEN);
-+ break;
-+ }
- }
-
-+static struct clock_event_device pit_clkevt = {
-+ .name = "pit",
-+ .features = CLOCK_EVT_FEAT_PERIODIC,
-+ .shift = 32,
-+ .rating = 100,
-+ .cpumask = CPU_MASK_CPU0,
-+ .set_mode = pit_clkevt_mode,
-+};
-+
-+
- /*
- * IRQ handler for the timer.
- */
--static irqreturn_t at91sam926x_timer_interrupt(int irq, void *dev_id)
-+static irqreturn_t at91sam926x_pit_interrupt(int irq, void *dev_id)
- {
-- volatile long nr_ticks;
-
-- if (at91_sys_read(AT91_PIT_SR) & AT91_PIT_PITS) { /* This is a shared interrupt */
-- write_seqlock(&xtime_lock);
-+ /* The PIT interrupt may be disabled, and is shared */
-+ if ((pit_clkevt.mode == CLOCK_EVT_MODE_PERIODIC)
-+ && (at91_sys_read(AT91_PIT_SR) & AT91_PIT_PITS)) {
-+ unsigned nr_ticks;
-
-- /* Get number to ticks performed before interrupt and clear PIT interrupt */
-+ /* Get number of ticks performed before irq, and ack it */
- nr_ticks = PIT_PICNT(at91_sys_read(AT91_PIT_PIVR));
- do {
-- timer_tick();
-+ pit_cnt += pit_cycle;
-+ pit_clkevt.event_handler(&pit_clkevt);
- nr_ticks--;
- } while (nr_ticks);
-
-- write_sequnlock(&xtime_lock);
- return IRQ_HANDLED;
-- } else
-- return IRQ_NONE; /* not handled */
-+ }
-+
-+ return IRQ_NONE;
- }
-
--static struct irqaction at91sam926x_timer_irq = {
-+static struct irqaction at91sam926x_pit_irq = {
- .name = "at91_tick",
- .flags = IRQF_SHARED | IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL,
-- .handler = at91sam926x_timer_interrupt
-+ .handler = at91sam926x_pit_interrupt
- };
-
--void at91sam926x_timer_reset(void)
-+static void at91sam926x_pit_reset(void)
- {
-- /* Disable timer */
-+ /* Disable timer and irqs */
- at91_sys_write(AT91_PIT_MR, 0);
-
-- /* Clear any pending interrupts */
-- (void) at91_sys_read(AT91_PIT_PIVR);
-+ /* Clear any pending interrupts, wait for PIT to stop counting */
-+ while (PIT_CPIV(at91_sys_read(AT91_PIT_PIVR)) != 0)
-+ cpu_relax();
-
-- /* Set Period Interval timer and enable its interrupt */
-- at91_sys_write(AT91_PIT_MR, (LATCH & AT91_PIT_PIV) | AT91_PIT_PITIEN | AT91_PIT_PITEN);
-+ /* Start PIT but don't enable IRQ */
-+ at91_sys_write(AT91_PIT_MR, (pit_cycle - 1) | AT91_PIT_PITEN);
- }
-
- /*
-- * Set up timer interrupt.
-+ * Set up both clocksource and clockevent support.
- */
--void __init at91sam926x_timer_init(void)
-+static void __init at91sam926x_pit_init(void)
- {
-+ unsigned long pit_rate;
-+ unsigned bits;
-+
-+ /*
-+ * Use our actual MCK to figure out how many MCK/16 ticks per
-+ * 1/HZ period (instead of a compile-time constant LATCH).
-+ */
-+ pit_rate = clk_get_rate(clk_get(NULL, "mck")) / 16;
-+ pit_cycle = (pit_rate + HZ/2) / HZ;
-+ WARN_ON(((pit_cycle - 1) & ~AT91_PIT_PIV) != 0);
-+
- /* Initialize and enable the timer */
-- at91sam926x_timer_reset();
-+ at91sam926x_pit_reset();
-
-- /* Make IRQs happen for the system timer. */
-- setup_irq(AT91_ID_SYS, &at91sam926x_timer_irq);
-+ /*
-+ * Register clocksource. The high order bits of PIV are unused,
-+ * so this isn't a 32-bit counter unless we get clockevent irqs.
-+ */
-+ pit_clk.mult = clocksource_hz2mult(pit_rate, pit_clk.shift);
-+ bits = 12 /* PICNT */ + ilog2(pit_cycle) /* PIV */;
-+ pit_clk.mask = CLOCKSOURCE_MASK(bits);
-+ clocksource_register(&pit_clk);
-+
-+ /* Set up irq handler */
-+ setup_irq(AT91_ID_SYS, &at91sam926x_pit_irq);
-+
-+ /* Set up and register clockevents */
-+ pit_clkevt.mult = div_sc(pit_rate, NSEC_PER_SEC, pit_clkevt.shift);
-+ clockevents_register_device(&pit_clkevt);
- }
-
--#ifdef CONFIG_PM
--static void at91sam926x_timer_suspend(void)
-+static void at91sam926x_pit_suspend(void)
- {
- /* Disable timer */
- at91_sys_write(AT91_PIT_MR, 0);
- }
--#else
--#define at91sam926x_timer_suspend NULL
--#endif
-
- struct sys_timer at91sam926x_timer = {
-- .init = at91sam926x_timer_init,
-- .offset = at91sam926x_gettimeoffset,
-- .suspend = at91sam926x_timer_suspend,
-- .resume = at91sam926x_timer_reset,
-+ .init = at91sam926x_pit_init,
-+ .suspend = at91sam926x_pit_suspend,
-+ .resume = at91sam926x_pit_reset,
- };
--
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/at91sam9rl.c linux-2.6/arch/arm/mach-at91/at91sam9rl.c
---- linux-2.6.24/arch/arm/mach-at91/at91sam9rl.c 2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91sam9rl.c 2008-03-01 19:04:12.000000000 +0200
-@@ -10,6 +10,7 @@
- */
-
- #include <linux/module.h>
-+#include <linux/pm.h>
-
- #include <asm/mach/arch.h>
- #include <asm/mach/map.h>
-@@ -17,6 +18,7 @@
- #include <asm/arch/at91sam9rl.h>
- #include <asm/arch/at91_pmc.h>
- #include <asm/arch/at91_rstc.h>
-+#include <asm/arch/at91_shdwc.h>
-
- #include "generic.h"
- #include "clock.h"
-@@ -244,6 +246,11 @@
- at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
- }
-
-+static void at91sam9rl_poweroff(void)
-+{
-+ at91_sys_write(AT91_SHDW_CR, AT91_SHDW_KEY | AT91_SHDW_SHDW);
-+}
-+
-
- /* --------------------------------------------------------------------
- * AT91SAM9RL processor initialization
-@@ -274,6 +281,7 @@
- iotable_init(at91sam9rl_sram_desc, ARRAY_SIZE(at91sam9rl_sram_desc));
-
- at91_arch_reset = at91sam9rl_reset;
-+ pm_power_off = at91sam9rl_poweroff;
- at91_extern_irq = (1 << AT91SAM9RL_ID_IRQ0);
-
- /* Init clock subsystem */
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/at91sam9rl_devices.c linux-2.6/arch/arm/mach-at91/at91sam9rl_devices.c
---- linux-2.6.24/arch/arm/mach-at91/at91sam9rl_devices.c 2008-03-01 22:02:07.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/at91sam9rl_devices.c 2008-03-01 22:10:11.000000000 +0200
-@@ -9,6 +9,7 @@
- #include <asm/mach/arch.h>
- #include <asm/mach/map.h>
-
-+#include <linux/dma-mapping.h>
- #include <linux/platform_device.h>
- #include <linux/i2c-gpio.h>
-
-@@ -19,7 +20,7 @@
- #include <asm/arch/gpio.h>
- #include <asm/arch/at91sam9rl.h>
- #include <asm/arch/at91sam9rl_matrix.h>
--#include <asm/arch/at91sam926x_mc.h>
-+#include <asm/arch/at91sam926x_smc.h>
-
- #include "generic.h"
-
-@@ -29,7 +30,7 @@
- * -------------------------------------------------------------------- */
-
- #if defined(CONFIG_MMC_AT91) || defined(CONFIG_MMC_AT91_MODULE)
--static u64 mmc_dmamask = 0xffffffffUL;
-+static u64 mmc_dmamask = DMA_BIT_MASK(32);
- static struct at91_mmc_data mmc_data;
-
- static struct resource mmc_resources[] = {
-@@ -50,7 +51,7 @@
- .id = -1,
- .dev = {
- .dma_mask = &mmc_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- .platform_data = &mmc_data,
- },
- .resource = mmc_resources,
-@@ -104,10 +105,15 @@
- #define NAND_BASE AT91_CHIPSELECT_3
-
- static struct resource nand_resources[] = {
-- {
-+ [0] = {
- .start = NAND_BASE,
- .end = NAND_BASE + SZ_256M - 1,
- .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91_BASE_SYS + AT91_ECC,
-+ .end = AT91_BASE_SYS + AT91_ECC + SZ_512 - 1,
-+ .flags = IORESOURCE_MEM,
- }
- };
-
-@@ -247,7 +253,7 @@
- * -------------------------------------------------------------------- */
-
- #if defined(CONFIG_SPI_ATMEL) || defined(CONFIG_SPI_ATMEL_MODULE)
--static u64 spi_dmamask = 0xffffffffUL;
-+static u64 spi_dmamask = DMA_BIT_MASK(32);
-
- static struct resource spi_resources[] = {
- [0] = {
-@@ -267,7 +273,7 @@
- .id = 0,
- .dev = {
- .dma_mask = &spi_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- },
- .resource = spi_resources,
- .num_resources = ARRAY_SIZE(spi_resources),
-@@ -312,7 +318,7 @@
- * -------------------------------------------------------------------- */
-
- #if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE)
--static u64 lcdc_dmamask = 0xffffffffUL;
-+static u64 lcdc_dmamask = DMA_BIT_MASK(32);
- static struct atmel_lcdfb_info lcdc_data;
-
- static struct resource lcdc_resources[] = {
-@@ -340,7 +346,7 @@
- .id = 0,
- .dev = {
- .dma_mask = &lcdc_dmamask,
-- .coherent_dma_mask = 0xffffffff,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
- .platform_data = &lcdc_data,
- },
- .resource = lcdc_resources,
-@@ -384,24 +390,244 @@
-
-
- /* --------------------------------------------------------------------
-- * LEDs
-+ * Timer/Counter block
-+ * -------------------------------------------------------------------- */
-+
-+#ifdef CONFIG_ATMEL_TCLIB
-+
-+static struct resource tcb_resources[] = {
-+ [0] = {
-+ .start = AT91SAM9RL_BASE_TCB0,
-+ .end = AT91SAM9RL_BASE_TCB0 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91SAM9RL_ID_TC0,
-+ .end = AT91SAM9RL_ID_TC0,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+ [2] = {
-+ .start = AT91SAM9RL_ID_TC1,
-+ .end = AT91SAM9RL_ID_TC1,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+ [3] = {
-+ .start = AT91SAM9RL_ID_TC2,
-+ .end = AT91SAM9RL_ID_TC2,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91sam9rl_tcb_device = {
-+ .name = "atmel_tcb",
-+ .id = 0,
-+ .resource = tcb_resources,
-+ .num_resources = ARRAY_SIZE(tcb_resources),
-+};
-+
-+static void __init at91_add_device_tc(void)
-+{
-+ /* this chip has a separate clock and irq for each TC channel */
-+ at91_clock_associate("tc0_clk", &at91sam9rl_tcb_device.dev, "t0_clk");
-+ at91_clock_associate("tc1_clk", &at91sam9rl_tcb_device.dev, "t1_clk");
-+ at91_clock_associate("tc2_clk", &at91sam9rl_tcb_device.dev, "t2_clk");
-+ platform_device_register(&at91sam9rl_tcb_device);
-+}
-+#else
-+static void __init at91_add_device_tc(void) { }
-+#endif
-+
-+
-+/* --------------------------------------------------------------------
-+ * RTC
-+ * -------------------------------------------------------------------- */
-+
-+#if defined(CONFIG_RTC_DRV_AT91RM9200) || defined(CONFIG_RTC_DRV_AT91RM9200_MODULE)
-+static struct platform_device at91sam9rl_rtc_device = {
-+ .name = "at91_rtc",
-+ .id = -1,
-+ .num_resources = 0,
-+};
-+
-+static void __init at91_add_device_rtc(void)
-+{
-+ device_init_wakeup(&at91sam9rl_rtc_device.dev, 1);
-+ platform_device_register(&at91sam9rl_rtc_device);
-+}
-+#else
-+static void __init at91_add_device_rtc(void) {}
-+#endif
-+
-+
-+/* --------------------------------------------------------------------
-+ * RTT
-+ * -------------------------------------------------------------------- */
-+
-+static struct resource rtt_resources[] = {
-+ {
-+ .start = AT91_BASE_SYS + AT91_RTT,
-+ .end = AT91_BASE_SYS + AT91_RTT + SZ_16 - 1,
-+ .flags = IORESOURCE_MEM,
-+ }
-+};
-+
-+static struct platform_device at91sam9rl_rtt_device = {
-+ .name = "at91_rtt",
-+ .id = -1,
-+ .resource = rtt_resources,
-+ .num_resources = ARRAY_SIZE(rtt_resources),
-+};
-+
-+static void __init at91_add_device_rtt(void)
-+{
-+ device_init_wakeup(&at91sam9rl_rtt_device.dev, 1);
-+ platform_device_register(&at91sam9rl_rtt_device);
-+}
-+
-+
-+/* --------------------------------------------------------------------
-+ * Watchdog
-+ * -------------------------------------------------------------------- */
-+
-+#if defined(CONFIG_AT91SAM9_WATCHDOG) || defined(CONFIG_AT91SAM9_WATCHDOG_MODULE)
-+static struct platform_device at91sam9rl_wdt_device = {
-+ .name = "at91_wdt",
-+ .id = -1,
-+ .num_resources = 0,
-+};
-+
-+static void __init at91_add_device_watchdog(void)
-+{
-+ platform_device_register(&at91sam9rl_wdt_device);
-+}
-+#else
-+static void __init at91_add_device_watchdog(void) {}
-+#endif
-+
-+
-+/* --------------------------------------------------------------------
-+ * SSC -- Synchronous Serial Controller
- * -------------------------------------------------------------------- */
-
--#if defined(CONFIG_LEDS)
--u8 at91_leds_cpu;
--u8 at91_leds_timer;
-+#if defined(CONFIG_ATMEL_SSC) || defined(CONFIG_ATMEL_SSC_MODULE)
-+static u64 ssc0_dmamask = DMA_BIT_MASK(32);
-+
-+static struct resource ssc0_resources[] = {
-+ [0] = {
-+ .start = AT91SAM9RL_BASE_SSC0,
-+ .end = AT91SAM9RL_BASE_SSC0 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91SAM9RL_ID_SSC0,
-+ .end = AT91SAM9RL_ID_SSC0,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91sam9rl_ssc0_device = {
-+ .name = "ssc",
-+ .id = 0,
-+ .dev = {
-+ .dma_mask = &ssc0_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ },
-+ .resource = ssc0_resources,
-+ .num_resources = ARRAY_SIZE(ssc0_resources),
-+};
-+
-+static inline void configure_ssc0_pins(unsigned pins)
-+{
-+ if (pins & ATMEL_SSC_TF)
-+ at91_set_A_periph(AT91_PIN_PC0, 1);
-+ if (pins & ATMEL_SSC_TK)
-+ at91_set_A_periph(AT91_PIN_PC1, 1);
-+ if (pins & ATMEL_SSC_TD)
-+ at91_set_A_periph(AT91_PIN_PA15, 1);
-+ if (pins & ATMEL_SSC_RD)
-+ at91_set_A_periph(AT91_PIN_PA16, 1);
-+ if (pins & ATMEL_SSC_RK)
-+ at91_set_B_periph(AT91_PIN_PA10, 1);
-+ if (pins & ATMEL_SSC_RF)
-+ at91_set_B_periph(AT91_PIN_PA22, 1);
-+}
-+
-+static u64 ssc1_dmamask = DMA_BIT_MASK(32);
-+
-+static struct resource ssc1_resources[] = {
-+ [0] = {
-+ .start = AT91SAM9RL_BASE_SSC1,
-+ .end = AT91SAM9RL_BASE_SSC1 + SZ_16K - 1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = {
-+ .start = AT91SAM9RL_ID_SSC1,
-+ .end = AT91SAM9RL_ID_SSC1,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+static struct platform_device at91sam9rl_ssc1_device = {
-+ .name = "ssc",
-+ .id = 1,
-+ .dev = {
-+ .dma_mask = &ssc1_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ },
-+ .resource = ssc1_resources,
-+ .num_resources = ARRAY_SIZE(ssc1_resources),
-+};
-+
-+static inline void configure_ssc1_pins(unsigned pins)
-+{
-+ if (pins & ATMEL_SSC_TF)
-+ at91_set_B_periph(AT91_PIN_PA29, 1);
-+ if (pins & ATMEL_SSC_TK)
-+ at91_set_B_periph(AT91_PIN_PA30, 1);
-+ if (pins & ATMEL_SSC_TD)
-+ at91_set_B_periph(AT91_PIN_PA13, 1);
-+ if (pins & ATMEL_SSC_RD)
-+ at91_set_B_periph(AT91_PIN_PA14, 1);
-+ if (pins & ATMEL_SSC_RK)
-+ at91_set_B_periph(AT91_PIN_PA9, 1);
-+ if (pins & ATMEL_SSC_RF)
-+ at91_set_B_periph(AT91_PIN_PA8, 1);
-+}
-
--void __init at91_init_leds(u8 cpu_led, u8 timer_led)
-+/*
-+ * SSC controllers are accessed through library code, instead of any
-+ * kind of all-singing/all-dancing driver. For example one could be
-+ * used by a particular I2S audio codec's driver, while another one
-+ * on the same system might be used by a custom data capture driver.
-+ */
-+void __init at91_add_device_ssc(unsigned id, unsigned pins)
- {
-- /* Enable GPIO to access the LEDs */
-- at91_set_gpio_output(cpu_led, 1);
-- at91_set_gpio_output(timer_led, 1);
-+ struct platform_device *pdev;
-
-- at91_leds_cpu = cpu_led;
-- at91_leds_timer = timer_led;
-+ /*
-+ * NOTE: caller is responsible for passing information matching
-+ * "pins" to whatever will be using each particular controller.
-+ */
-+ switch (id) {
-+ case AT91SAM9RL_ID_SSC0:
-+ pdev = &at91sam9rl_ssc0_device;
-+ configure_ssc0_pins(pins);
-+ at91_clock_associate("ssc0_clk", &pdev->dev, "pclk");
-+ break;
-+ case AT91SAM9RL_ID_SSC1:
-+ pdev = &at91sam9rl_ssc1_device;
-+ configure_ssc1_pins(pins);
-+ at91_clock_associate("ssc1_clk", &pdev->dev, "pclk");
-+ break;
-+ default:
-+ return;
-+ }
-+
-+ platform_device_register(pdev);
- }
-+
- #else
--void __init at91_init_leds(u8 cpu_led, u8 timer_led) {}
-+struct platform_device *__init at91_add_device_ssc(unsigned id, unsigned pins) {}
- #endif
-
-
-@@ -428,13 +654,15 @@
- .use_dma_rx = 0, /* DBGU not capable of receive DMA */
- .regs = (void __iomem *)(AT91_VA_BASE_SYS + AT91_DBGU),
- };
-+static u64 dbgu_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91sam9rl_dbgu_device = {
- .name = "atmel_usart",
- .id = 0,
- .dev = {
-- .platform_data = &dbgu_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &dbgu_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &dbgu_data,
- },
- .resource = dbgu_resources,
- .num_resources = ARRAY_SIZE(dbgu_resources),
-@@ -463,24 +691,37 @@
- .use_dma_tx = 1,
- .use_dma_rx = 1,
- };
-+static u64 uart0_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91sam9rl_uart0_device = {
- .name = "atmel_usart",
- .id = 1,
- .dev = {
-- .platform_data = &uart0_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &uart0_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart0_data,
- },
- .resource = uart0_resources,
- .num_resources = ARRAY_SIZE(uart0_resources),
- };
-
--static inline void configure_usart0_pins(void)
-+static inline void configure_usart0_pins(unsigned pins)
- {
-- at91_set_A_periph(AT91_PIN_PA6, 1); /* TXD0 */
-- at91_set_A_periph(AT91_PIN_PA7, 0); /* RXD0 */
-- at91_set_A_periph(AT91_PIN_PA9, 0); /* RTS0 */
-- at91_set_A_periph(AT91_PIN_PA10, 0); /* CTS0 */
-+ at91_set_A_periph(AT91_PIN_PA6, 1); /* TXD0 */
-+ at91_set_A_periph(AT91_PIN_PA7, 0); /* RXD0 */
-+
-+ if (pins & ATMEL_UART_RTS)
-+ at91_set_A_periph(AT91_PIN_PA9, 0); /* RTS0 */
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_A_periph(AT91_PIN_PA10, 0); /* CTS0 */
-+ if (pins & ATMEL_UART_DSR)
-+ at91_set_A_periph(AT91_PIN_PD14, 0); /* DSR0 */
-+ if (pins & ATMEL_UART_DTR)
-+ at91_set_A_periph(AT91_PIN_PD15, 0); /* DTR0 */
-+ if (pins & ATMEL_UART_DCD)
-+ at91_set_A_periph(AT91_PIN_PD16, 0); /* DCD0 */
-+ if (pins & ATMEL_UART_RI)
-+ at91_set_A_periph(AT91_PIN_PD17, 0); /* RI0 */
- }
-
- static struct resource uart1_resources[] = {
-@@ -500,22 +741,29 @@
- .use_dma_tx = 1,
- .use_dma_rx = 1,
- };
-+static u64 uart1_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91sam9rl_uart1_device = {
- .name = "atmel_usart",
- .id = 2,
- .dev = {
-- .platform_data = &uart1_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &uart1_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart1_data,
- },
- .resource = uart1_resources,
- .num_resources = ARRAY_SIZE(uart1_resources),
- };
-
--static inline void configure_usart1_pins(void)
-+static inline void configure_usart1_pins(unsigned pins)
- {
- at91_set_A_periph(AT91_PIN_PA11, 1); /* TXD1 */
- at91_set_A_periph(AT91_PIN_PA12, 0); /* RXD1 */
-+
-+ if (pins & ATMEL_UART_RTS)
-+ at91_set_B_periph(AT91_PIN_PA18, 0); /* RTS1 */
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_B_periph(AT91_PIN_PA19, 0); /* CTS1 */
- }
-
- static struct resource uart2_resources[] = {
-@@ -535,22 +783,29 @@
- .use_dma_tx = 1,
- .use_dma_rx = 1,
- };
-+static u64 uart2_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91sam9rl_uart2_device = {
- .name = "atmel_usart",
- .id = 3,
- .dev = {
-- .platform_data = &uart2_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &uart2_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart2_data,
- },
- .resource = uart2_resources,
- .num_resources = ARRAY_SIZE(uart2_resources),
- };
-
--static inline void configure_usart2_pins(void)
-+static inline void configure_usart2_pins(unsigned pins)
- {
- at91_set_A_periph(AT91_PIN_PA13, 1); /* TXD2 */
- at91_set_A_periph(AT91_PIN_PA14, 0); /* RXD2 */
-+
-+ if (pins & ATMEL_UART_RTS)
-+ at91_set_A_periph(AT91_PIN_PA29, 0); /* RTS2 */
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_A_periph(AT91_PIN_PA30, 0); /* CTS2 */
- }
-
- static struct resource uart3_resources[] = {
-@@ -570,28 +825,35 @@
- .use_dma_tx = 1,
- .use_dma_rx = 1,
- };
-+static u64 uart3_dmamask = DMA_BIT_MASK(32);
-
- static struct platform_device at91sam9rl_uart3_device = {
- .name = "atmel_usart",
- .id = 4,
- .dev = {
-- .platform_data = &uart3_data,
-- .coherent_dma_mask = 0xffffffff,
-+ .dma_mask = &uart3_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &uart3_data,
- },
- .resource = uart3_resources,
- .num_resources = ARRAY_SIZE(uart3_resources),
- };
-
--static inline void configure_usart3_pins(void)
-+static inline void configure_usart3_pins(unsigned pins)
- {
- at91_set_A_periph(AT91_PIN_PB0, 1); /* TXD3 */
- at91_set_A_periph(AT91_PIN_PB1, 0); /* RXD3 */
-+
-+ if (pins & ATMEL_UART_RTS)
-+ at91_set_B_periph(AT91_PIN_PD4, 0); /* RTS3 */
-+ if (pins & ATMEL_UART_CTS)
-+ at91_set_B_periph(AT91_PIN_PD3, 0); /* CTS3 */
- }
-
--struct platform_device *at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */
-+static struct platform_device *__initdata at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */
- struct platform_device *atmel_default_console_device; /* the serial console device */
-
--void __init at91_init_serial(struct at91_uart_config *config)
-+void __init __deprecated at91_init_serial(struct at91_uart_config *config)
- {
- int i;
-
-@@ -599,22 +861,22 @@
- for (i = 0; i < config->nr_tty; i++) {
- switch (config->tty_map[i]) {
- case 0:
-- configure_usart0_pins();
-+ configure_usart0_pins(ATMEL_UART_CTS | ATMEL_UART_RTS);
- at91_uarts[i] = &at91sam9rl_uart0_device;
- at91_clock_associate("usart0_clk", &at91sam9rl_uart0_device.dev, "usart");
- break;
- case 1:
-- configure_usart1_pins();
-+ configure_usart1_pins(0);
- at91_uarts[i] = &at91sam9rl_uart1_device;
- at91_clock_associate("usart1_clk", &at91sam9rl_uart1_device.dev, "usart");
- break;
- case 2:
-- configure_usart2_pins();
-+ configure_usart2_pins(0);
- at91_uarts[i] = &at91sam9rl_uart2_device;
- at91_clock_associate("usart2_clk", &at91sam9rl_uart2_device.dev, "usart");
- break;
- case 3:
-- configure_usart3_pins();
-+ configure_usart3_pins(0);
- at91_uarts[i] = &at91sam9rl_uart3_device;
- at91_clock_associate("usart3_clk", &at91sam9rl_uart3_device.dev, "usart");
- break;
-@@ -636,6 +898,53 @@
- printk(KERN_INFO "AT91: No default serial console defined.\n");
- }
-
-+void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins)
-+{
-+ struct platform_device *pdev;
-+
-+ switch (id) {
-+ case 0: /* DBGU */
-+ pdev = &at91sam9rl_dbgu_device;
-+ configure_dbgu_pins();
-+ at91_clock_associate("mck", &pdev->dev, "usart");
-+ break;
-+ case AT91SAM9RL_ID_US0:
-+ pdev = &at91sam9rl_uart0_device;
-+ configure_usart0_pins(pins);
-+ at91_clock_associate("usart0_clk", &pdev->dev, "usart");
-+ break;
-+ case AT91SAM9RL_ID_US1:
-+ pdev = &at91sam9rl_uart1_device;
-+ configure_usart1_pins(pins);
-+ at91_clock_associate("usart1_clk", &pdev->dev, "usart");
-+ break;
-+ case AT91SAM9RL_ID_US2:
-+ pdev = &at91sam9rl_uart2_device;
-+ configure_usart2_pins(pins);
-+ at91_clock_associate("usart2_clk", &pdev->dev, "usart");
-+ break;
-+ case AT91SAM9RL_ID_US3:
-+ pdev = &at91sam9rl_uart3_device;
-+ configure_usart3_pins(pins);
-+ at91_clock_associate("usart3_clk", &pdev->dev, "usart");
-+ break;
-+ default:
-+ return;
-+ }
-+ pdev->id = portnr; /* update to mapped ID */
-+
-+ if (portnr < ATMEL_MAX_UART)
-+ at91_uarts[portnr] = pdev;
-+}
-+
-+void __init at91_set_serial_console(unsigned portnr)
-+{
-+ if (portnr < ATMEL_MAX_UART)
-+ atmel_default_console_device = at91_uarts[portnr];
-+ if (!atmel_default_console_device)
-+ printk(KERN_INFO "AT91: No default serial console defined.\n");
-+}
-+
- void __init at91_add_device_serial(void)
- {
- int i;
-@@ -646,7 +955,9 @@
- }
- }
- #else
--void __init at91_init_serial(struct at91_uart_config *config) {}
-+void __init __deprecated at91_init_serial(struct at91_uart_config *config) {}
-+void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {}
-+void __init at91_set_serial_console(unsigned portnr) {}
- void __init at91_add_device_serial(void) {}
- #endif
-
-@@ -659,6 +970,10 @@
- */
- static int __init at91_add_standard_devices(void)
- {
-+ at91_add_device_rtc();
-+ at91_add_device_rtt();
-+ at91_add_device_watchdog();
-+ at91_add_device_tc();
- return 0;
- }
-
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/board-cam60.c linux-2.6/arch/arm/mach-at91/board-cam60.c
---- linux-2.6.24/arch/arm/mach-at91/board-cam60.c 1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-cam60.c 2008-03-01 20:40:51.000000000 +0200
-@@ -0,0 +1,188 @@
-+/*
-+ * KwikByte CAM60
-+ *
-+ * based on board-sam9260ek.c
-+ * Copyright (C) 2005 SAN People
-+ * Copyright (C) 2006 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
-+ */
-+
-+#include <linux/types.h>
-+#include <linux/init.h>
-+#include <linux/mm.h>
-+#include <linux/module.h>
-+#include <linux/platform_device.h>
-+#include <linux/spi/spi.h>
-+#include <linux/spi/flash.h>
-+
-+#include <asm/hardware.h>
-+#include <asm/setup.h>
-+#include <asm/mach-types.h>
-+#include <asm/irq.h>
-+
-+#include <asm/mach/arch.h>
-+#include <asm/mach/map.h>
-+#include <asm/mach/irq.h>
-+
-+#include <asm/arch/board.h>
-+#include <asm/arch/gpio.h>
-+
-+#include "generic.h"
-+
-+
-+/*
-+ * Serial port configuration.
-+ * 0 .. 5 = USART0 .. USART5
-+ * 6 = DBGU
-+ */
-+static struct at91_uart_config __initdata cam60_uart_config = {
-+ .console_tty = 0, /* ttyS0 */
-+ .nr_tty = 1,
-+ .tty_map = { 6, -1, -1, -1, -1, -1, -1 } /* ttyS0, ..., ttyS6 */
-+};
-+
-+static void __init cam60_map_io(void)
-+{
-+ /* Initialize processor: 10 MHz crystal */
-+ at91sam9260_initialize(10000000);
-+
-+ /* Setup the serial ports and console */
-+ at91_init_serial(&cam60_uart_config);
-+}
-+
-+static void __init cam60_init_irq(void)
-+{
-+ at91sam9260_init_interrupts(NULL);
-+}
-+
-+
-+/*
-+ * USB Host
-+ */
-+static struct at91_usbh_data __initdata cam60_usbh_data = {
-+ .ports = 1,
-+};
-+
-+
-+/*
-+ * SPI devices.
-+ */
-+#if defined(CONFIG_MTD_DATAFLASH)
-+static struct mtd_partition __initdata cam60_spi_partitions[] = {
-+ {
-+ .name = "BOOT1",
-+ .offset = 0,
-+ .size = 4 * 1056,
-+ },
-+ {
-+ .name = "BOOT2",
-+ .offset = MTDPART_OFS_NXTBLK,
-+ .size = 256 * 1056,
-+ },
-+ {
-+ .name = "kernel",
-+ .offset = MTDPART_OFS_NXTBLK,
-+ .size = 2222 * 1056,
-+ },
-+ {
-+ .name = "file system",
-+ .offset = MTDPART_OFS_NXTBLK,
-+ .size = MTDPART_SIZ_FULL,
-+ },
-+};
-+
-+static struct flash_platform_data __initdata cam60_spi_flash_platform_data = {
-+ .name = "spi_flash",
-+ .parts = cam60_spi_partitions,
-+ .nr_parts = ARRAY_SIZE(cam60_spi_partitions)
-+};
-+#endif
-+
-+static struct spi_board_info cam60_spi_devices[] = {
-+#if defined(CONFIG_MTD_DATAFLASH)
-+ { /* DataFlash chip */
-+ .modalias = "mtd_dataflash",
-+ .chip_select = 0,
-+ .max_speed_hz = 15 * 1000 * 1000,
-+ .bus_num = 0,
-+ .platform_data = &cam60_spi_flash_platform_data
-+ },
-+#endif
-+};
-+
-+
-+/*
-+ * MACB Ethernet device
-+ */
-+static struct __initdata at91_eth_data cam60_macb_data = {
-+ .phy_irq_pin = AT91_PIN_PB5,
-+ .is_rmii = 0,
-+};
-+
-+
-+/*
-+ * NAND Flash
-+ */
-+static struct mtd_partition __initdata cam60_nand_partition[] = {
-+ {
-+ .name = "nand_fs",
-+ .offset = 0,
-+ .size = MTDPART_SIZ_FULL,
-+ },
-+};
-+
-+static struct mtd_partition * __init nand_partitions(int size, int *num_partitions)
-+{
-+ *num_partitions = ARRAY_SIZE(cam60_nand_partition);
-+ return cam60_nand_partition;
-+}
-+
-+static struct at91_nand_data __initdata cam60_nand_data = {
-+ .ale = 21,
-+ .cle = 22,
-+ // .det_pin = ... not there
-+ .rdy_pin = AT91_PIN_PA9,
-+ .enable_pin = AT91_PIN_PA7,
-+ .partition_info = nand_partitions,
-+};
-+
-+
-+static void __init cam60_board_init(void)
-+{
-+ /* Serial */
-+ at91_add_device_serial();
-+ /* SPI */
-+ at91_add_device_spi(cam60_spi_devices, ARRAY_SIZE(cam60_spi_devices));
-+ /* Ethernet */
-+ at91_add_device_eth(&cam60_macb_data);
-+ /* USB Host */
-+ /* enable USB power supply circuit */
-+ at91_set_gpio_output(AT91_PIN_PB18, 1);
-+ at91_add_device_usbh(&cam60_usbh_data);
-+ /* NAND */
-+ at91_add_device_nand(&cam60_nand_data);
-+}
-+
-+MACHINE_START(CAM60, "KwikByte CAM60")
-+ /* Maintainer: KwikByte */
-+ .phys_io = AT91_BASE_SYS,
-+ .io_pg_offst = (AT91_VA_BASE_SYS >> 18) & 0xfffc,
-+ .boot_params = AT91_SDRAM_BASE + 0x100,
-+ .timer = &at91sam926x_timer,
-+ .map_io = cam60_map_io,
-+ .init_irq = cam60_init_irq,
-+ .init_machine = cam60_board_init,
-+MACHINE_END
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/board-cap9adk.c linux-2.6/arch/arm/mach-at91/board-cap9adk.c
---- linux-2.6.24/arch/arm/mach-at91/board-cap9adk.c 1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-cap9adk.c 2008-03-01 20:43:07.000000000 +0200
-@@ -0,0 +1,359 @@
-+/*
-+ * linux/arch/arm/mach-at91/board-cap9adk.c
-+ *
-+ * Copyright (C) 2007 Stelian Pop <stelian.pop@leadtechdesign.com>
-+ * Copyright (C) 2007 Lead Tech Design <www.leadtechdesign.com>
-+ * Copyright (C) 2005 SAN People
-+ * Copyright (C) 2007 Atmel Corporation.
-+ *
-+ * 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
-+ */
-+
-+#include <linux/types.h>
-+#include <linux/init.h>
-+#include <linux/mm.h>
-+#include <linux/module.h>
-+#include <linux/platform_device.h>
-+#include <linux/spi/spi.h>
-+#include <linux/spi/ads7846.h>
-+#include <linux/fb.h>
-+#include <linux/mtd/physmap.h>
-+
-+#include <video/atmel_lcdc.h>
-+
-+#include <asm/hardware.h>
-+#include <asm/setup.h>
-+#include <asm/mach-types.h>
-+#include <asm/irq.h>
-+
-+#include <asm/mach/arch.h>
-+#include <asm/mach/map.h>
-+#include <asm/mach/irq.h>
-+
-+#include <asm/arch/board.h>
-+#include <asm/arch/gpio.h>
-+#include <asm/arch/at91cap9_matrix.h>
-+#include <asm/arch/at91sam926x_smc.h>
-+
-+#include "generic.h"
-+
-+
-+static void __init cap9adk_map_io(void)
-+{
-+ /* Initialize processor: 12 MHz crystal */
-+ at91cap9_initialize(12000000);
-+
-+ /* Setup the LEDs: USER1 and USER2 LED for cpu/timer... */
-+ at91_init_leds(AT91_PIN_PA10, AT91_PIN_PA11);
-+ /* ... POWER LED always on */
-+ at91_set_gpio_output(AT91_PIN_PC29, 1);
-+
-+ /* Setup the serial ports and console */
-+ at91_register_uart(0, 0, 0); /* DBGU = ttyS0 */
-+ at91_set_serial_console(0);
-+}
-+
-+static void __init cap9adk_init_irq(void)
-+{
-+ at91cap9_init_interrupts(NULL);
-+}
-+
-+
-+/*
-+ * USB Host port
-+ */
-+static struct at91_usbh_data __initdata cap9adk_usbh_data = {
-+ .ports = 2,
-+};
-+
-+
-+/*
-+ * ADS7846 Touchscreen
-+ */
-+#if defined(CONFIG_TOUCHSCREEN_ADS7846) || defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
-+static int ads7843_pendown_state(void)
-+{
-+ return !at91_get_gpio_value(AT91_PIN_PC4); /* Touchscreen PENIRQ */
-+}
-+
-+static struct ads7846_platform_data ads_info = {
-+ .model = 7843,
-+ .x_min = 150,
-+ .x_max = 3830,
-+ .y_min = 190,
-+ .y_max = 3830,
-+ .vref_delay_usecs = 100,
-+ .x_plate_ohms = 450,
-+ .y_plate_ohms = 250,
-+ .pressure_max = 15000,
-+ .debounce_max = 1,
-+ .debounce_rep = 0,
-+ .debounce_tol = (~0),
-+ .get_pendown_state = ads7843_pendown_state,
-+};
-+
-+static void __init cap9adk_add_device_ts(void)
-+{
-+ at91_set_gpio_input(AT91_PIN_PC4, 1); /* Touchscreen PENIRQ */
-+ at91_set_gpio_input(AT91_PIN_PC5, 1); /* Touchscreen BUSY */
-+}
-+#else
-+static void __init cap9adk_add_device_ts(void) {}
-+#endif
-+
-+
-+/*
-+ * SPI devices.
-+ */
-+static struct spi_board_info cap9adk_spi_devices[] = {
-+#if defined(CONFIG_MTD_AT91_DATAFLASH_CARD)
-+ { /* DataFlash card */
-+ .modalias = "mtd_dataflash",
-+ .chip_select = 0,
-+ .max_speed_hz = 15 * 1000 * 1000,
-+ .bus_num = 0,
-+ },
-+#endif
-+#if defined(CONFIG_TOUCHSCREEN_ADS7846) || defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
-+ {
-+ .modalias = "ads7846",
-+ .chip_select = 3, /* can be 2 or 3, depending on J2 jumper */
-+ .max_speed_hz = 125000 * 26, /* (max sample rate @ 3V) * (cmd + data + overhead) */
-+ .bus_num = 0,
-+ .platform_data = &ads_info,
-+ .irq = AT91_PIN_PC4,
-+ },
-+#endif
-+};
-+
-+
-+/*
-+ * MCI (SD/MMC)
-+ */
-+static struct at91_mmc_data __initdata cap9adk_mmc_data = {
-+ .wire4 = 1,
-+// .det_pin = ... not connected
-+// .wp_pin = ... not connected
-+// .vcc_pin = ... not connected
-+};
-+
-+
-+/*
-+ * MACB Ethernet device
-+ */
-+static struct at91_eth_data __initdata cap9adk_macb_data = {
-+ .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;
-+}
-+
-+static struct at91_nand_data __initdata cap9adk_nand_data = {
-+ .ale = 21,
-+ .cle = 22,
-+// .det_pin = ... not connected
-+// .rdy_pin = ... not connected
-+ .enable_pin = AT91_PIN_PD15,
-+ .partition_info = nand_partitions,
-+#if defined(CONFIG_MTD_NAND_AT91_BUSWIDTH_16)
-+ .bus_width_16 = 1,
-+#else
-+ .bus_width_16 = 0,
-+#endif
-+};
-+
-+
-+/*
-+ * NOR flash
-+ */
-+static struct mtd_partition cap9adk_nor_partitions[] = {
-+ {
-+ .name = "NOR partition",
-+ .offset = 0,
-+ .size = MTDPART_SIZ_FULL,
-+ },
-+};
-+
-+static struct physmap_flash_data cap9adk_nor_data = {
-+ .width = 2,
-+ .parts = cap9adk_nor_partitions,
-+ .nr_parts = ARRAY_SIZE(cap9adk_nor_partitions),
-+};
-+
-+#define NOR_BASE AT91_CHIPSELECT_0
-+#define NOR_SIZE 0x800000
-+
-+static struct resource nor_flash_resources[] = {
-+ {
-+ .start = NOR_BASE,
-+ .end = NOR_BASE + NOR_SIZE - 1,
-+ .flags = IORESOURCE_MEM,
-+ }
-+};
-+
-+static struct platform_device cap9adk_nor_flash = {
-+ .name = "physmap-flash",
-+ .id = 0,
-+ .dev = {
-+ .platform_data = &cap9adk_nor_data,
-+ },
-+ .resource = nor_flash_resources,
-+ .num_resources = ARRAY_SIZE(nor_flash_resources),
-+};
-+
-+static __init void cap9adk_add_device_nor(void)
-+{
-+ unsigned long csa;
-+
-+ csa = at91_sys_read(AT91_MATRIX_EBICSA);
-+ at91_sys_write(AT91_MATRIX_EBICSA, csa | AT91_MATRIX_EBI_VDDIOMSEL_3_3V);
-+
-+ /* set the bus interface characteristics */
-+ at91_sys_write(AT91_SMC_SETUP(0), AT91_SMC_NWESETUP_(4) | AT91_SMC_NCS_WRSETUP_(2)
-+ | AT91_SMC_NRDSETUP_(4) | AT91_SMC_NCS_RDSETUP_(2));
-+
-+ at91_sys_write(AT91_SMC_PULSE(0), AT91_SMC_NWEPULSE_(8) | AT91_SMC_NCS_WRPULSE_(10)
-+ | AT91_SMC_NRDPULSE_(8) | AT91_SMC_NCS_RDPULSE_(10));
-+
-+ at91_sys_write(AT91_SMC_CYCLE(0), AT91_SMC_NWECYCLE_(16) | AT91_SMC_NRDCYCLE_(16));
-+
-+ at91_sys_write(AT91_SMC_MODE(0), AT91_SMC_READMODE | AT91_SMC_WRITEMODE
-+ | AT91_SMC_EXNWMODE_DISABLE | AT91_SMC_BAT_WRITE
-+ | AT91_SMC_DBW_16 | AT91_SMC_TDF_(1));
-+
-+ platform_device_register(&cap9adk_nor_flash);
-+}
-+
-+
-+/*
-+ * LCD Controller
-+ */
-+#if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE)
-+static struct fb_videomode at91_tft_vga_modes[] = {
-+ {
-+ .name = "TX09D50VM1CCA @ 60",
-+ .refresh = 60,
-+ .xres = 240, .yres = 320,
-+ .pixclock = KHZ2PICOS(4965),
-+
-+ .left_margin = 1, .right_margin = 33,
-+ .upper_margin = 1, .lower_margin = 0,
-+ .hsync_len = 5, .vsync_len = 1,
-+
-+ .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
-+ .vmode = FB_VMODE_NONINTERLACED,
-+ },
-+};
-+
-+static struct fb_monspecs at91fb_default_monspecs = {
-+ .manufacturer = "HIT",
-+ .monitor = "TX09D70VM1CCA",
-+
-+ .modedb = at91_tft_vga_modes,
-+ .modedb_len = ARRAY_SIZE(at91_tft_vga_modes),
-+ .hfmin = 15000,
-+ .hfmax = 64000,
-+ .vfmin = 50,
-+ .vfmax = 150,
-+};
-+
-+#define AT91CAP9_DEFAULT_LCDCON2 (ATMEL_LCDC_MEMOR_LITTLE \
-+ | ATMEL_LCDC_DISTYPE_TFT \
-+ | ATMEL_LCDC_CLKMOD_ALWAYSACTIVE)
-+
-+static void at91_lcdc_power_control(int on)
-+{
-+ if (on)
-+ at91_set_gpio_value(AT91_PIN_PC0, 0); /* power up */
-+ else
-+ at91_set_gpio_value(AT91_PIN_PC0, 1); /* power down */
-+}
-+
-+/* Driver datas */
-+static struct atmel_lcdfb_info __initdata cap9adk_lcdc_data = {
-+ .default_bpp = 16,
-+ .default_dmacon = ATMEL_LCDC_DMAEN,
-+ .default_lcdcon2 = AT91CAP9_DEFAULT_LCDCON2,
-+ .default_monspecs = &at91fb_default_monspecs,
-+ .atmel_lcdfb_power_control = at91_lcdc_power_control,
-+ .guard_time = 1,
-+};
-+
-+#else
-+static struct atmel_lcdfb_info __initdata cap9adk_lcdc_data;
-+#endif
-+
-+
-+/*
-+ * AC97
-+ */
-+static struct atmel_ac97_data cap9adk_ac97_data = {
-+// .reset_pin = ... not connected
-+};
-+
-+
-+static void __init cap9adk_board_init(void)
-+{
-+ /* Serial */
-+ at91_add_device_serial();
-+ /* USB Host */
-+ set_irq_type(AT91CAP9_ID_UHP, IRQT_HIGH);
-+ at91_add_device_usbh(&cap9adk_usbh_data);
-+ /* SPI */
-+ at91_add_device_spi(cap9adk_spi_devices, ARRAY_SIZE(cap9adk_spi_devices));
-+ /* Touchscreen */
-+ cap9adk_add_device_ts();
-+ /* MMC */
-+ at91_add_device_mmc(1, &cap9adk_mmc_data);
-+ /* Ethernet */
-+ at91_add_device_eth(&cap9adk_macb_data);
-+ /* NAND */
-+ at91_add_device_nand(&cap9adk_nand_data);
-+ /* NOR Flash */
-+ cap9adk_add_device_nor();
-+ /* I2C */
-+ at91_add_device_i2c(NULL, 0);
-+ /* LCD Controller */
-+ set_irq_type(AT91CAP9_ID_LCDC, IRQT_HIGH);
-+ at91_add_device_lcdc(&cap9adk_lcdc_data);
-+ /* AC97 */
-+ at91_add_device_ac97(&cap9adk_ac97_data);
-+}
-+
-+MACHINE_START(AT91CAP9ADK, "Atmel AT91CAP9A-DK")
-+ /* Maintainer: Stelian Pop <stelian.pop@leadtechdesign.com> */
-+ .phys_io = AT91_BASE_SYS,
-+ .io_pg_offst = (AT91_VA_BASE_SYS >> 18) & 0xfffc,
-+ .boot_params = AT91_SDRAM_BASE + 0x100,
-+ .timer = &at91sam926x_timer,
-+ .map_io = cap9adk_map_io,
-+ .init_irq = cap9adk_init_irq,
-+ .init_machine = cap9adk_board_init,
-+MACHINE_END
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/board-chub.c linux-2.6/arch/arm/mach-at91/board-chub.c
---- linux-2.6.24/arch/arm/mach-at91/board-chub.c 1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-chub.c 2007-12-31 15:18:42.000000000 +0200
-@@ -0,0 +1,132 @@
-+/*
-+ * linux/arch/arm/mach-at91/board-chub.c
-+ *
-+ * Copyright (C) 2005 SAN People, adapted for Promwad Chub board
-+ * by Kuten Ivan
-+ *
-+ * 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
-+ */
-+
-+#include <linux/types.h>
-+#include <linux/init.h>
-+#include <linux/mm.h>
-+#include <linux/module.h>
-+#include <linux/platform_device.h>
-+
-+#include <asm/hardware.h>
-+#include <asm/setup.h>
-+#include <asm/mach-types.h>
-+#include <asm/irq.h>
-+
-+#include <asm/mach/arch.h>
-+#include <asm/mach/map.h>
-+#include <asm/mach/irq.h>
-+
-+#include <asm/arch/board.h>
-+#include <asm/arch/gpio.h>
-+
-+#include "generic.h"
-+
-+/*
-+ * Serial port configuration.
-+ * 0 .. 3 = USART0 .. USART3
-+ * 4 = DBGU
-+ */
-+static struct at91_uart_config __initdata chub_uart_config = {
-+ .console_tty = 0, /* ttyS0 */
-+ .nr_tty = 5,
-+ .tty_map = { 4, 0, 1, 2, 3 } /* ttyS0, ..., ttyS4 */
-+};
-+
-+static void __init chub_init_irq(void)
-+{
-+ at91rm9200_init_interrupts(NULL);
-+}
-+
-+static void __init chub_map_io(void)
-+{
-+ /* Initialize clocks: 18.432 MHz crystal */
-+ at91rm9200_initialize(18432000, AT91RM9200_PQFP);
-+
-+ /* Setup the serial ports and console */
-+ at91_init_serial(&chub_uart_config);
-+}
-+
-+static struct at91_eth_data __initdata chub_eth_data = {
-+ .phy_irq_pin = AT91_PIN_PB29,
-+ .is_rmii = 0,
-+};
-+
-+static struct mtd_partition __initdata chub_nand_partition[] = {
-+ {
-+ .name = "NAND Partition 1",
-+ .offset = 0,
-+ .size = MTDPART_SIZ_FULL,
-+ },
-+};
-+
-+static struct mtd_partition * __init nand_partitions(int size, int *num_partitions)
-+{
-+ *num_partitions = ARRAY_SIZE(chub_nand_partition);
-+ return chub_nand_partition;
-+}
-+
-+static struct at91_nand_data __initdata chub_nand_data = {
-+ .ale = 22,
-+ .cle = 21,
-+ .enable_pin = AT91_PIN_PA27,
-+ .partition_info = nand_partitions,
-+};
-+
-+static struct spi_board_info chub_spi_devices[] = {
-+ { /* DataFlash chip */
-+ .modalias = "mtd_dataflash",
-+ .chip_select = 0,
-+ .max_speed_hz = 15 * 1000 * 1000,
-+ },
-+};
-+
-+static void __init chub_board_init(void)
-+{
-+ /* Serial */
-+ at91_add_device_serial();
-+ /* I2C */
-+ at91_add_device_i2c(NULL, 0);
-+ /* Ethernet */
-+ at91_add_device_eth(&chub_eth_data);
-+ /* SPI */
-+ at91_add_device_spi(chub_spi_devices, ARRAY_SIZE(chub_spi_devices));
-+ /* NAND Flash */
-+ at91_add_device_nand(&chub_nand_data);
-+ /* Disable write protect for NAND */
-+ at91_set_gpio_output(AT91_PIN_PB7, 1);
-+ /* Power enable for 3x RS-232 and 1x RS-485 */
-+ at91_set_gpio_output(AT91_PIN_PB9, 1);
-+ /* Disable write protect for FRAM */
-+ at91_set_gpio_output(AT91_PIN_PA21, 1);
-+ /* Disable write protect for Dataflash */
-+ at91_set_gpio_output(AT91_PIN_PA19, 1);
-+}
-+
-+MACHINE_START(CHUB, "Promwad Chub")
-+ /* Maintainer: Ivan Kuten AT Promwad DOT com */
-+ .phys_io = AT91_BASE_SYS,
-+ .io_pg_offst = (AT91_VA_BASE_SYS >> 18) & 0xfffc,
-+ .boot_params = AT91_SDRAM_BASE + 0x100,
-+ .timer = &at91rm9200_timer,
-+ .map_io = chub_map_io,
-+ .init_irq = chub_init_irq,
-+ .init_machine = chub_board_init,
-+MACHINE_END
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/board-csb337.c linux-2.6/arch/arm/mach-at91/board-csb337.c
---- linux-2.6.24/arch/arm/mach-at91/board-csb337.c 2008-03-01 22:02:07.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-csb337.c 2008-03-01 22:04:55.000000000 +0200
-@@ -24,6 +24,9 @@
- #include <linux/module.h>
- #include <linux/platform_device.h>
- #include <linux/spi/spi.h>
-+#include <linux/interrupt.h>
-+#include <linux/input.h>
-+#include <linux/gpio_keys.h>
- #include <linux/mtd/physmap.h>
-
- #include <asm/hardware.h>
-@@ -59,6 +62,7 @@
-
- /* Setup the LEDs */
- at91_init_leds(AT91_PIN_PB0, AT91_PIN_PB1);
-+ at91_set_gpio_output(AT91_PIN_PB2, 1); /* third (unused) LED */
-
- /* Setup the serial ports and console */
- at91_init_serial(&csb337_uart_config);
-@@ -156,6 +160,84 @@
- .num_resources = ARRAY_SIZE(csb_flash_resources),
- };
-
-+static struct gpio_led csb337_leds[] = {
-+ { /* "led0", yellow */
-+ .name = "led0",
-+ .gpio = AT91_PIN_PB2,
-+ .active_low = 1,
-+ .default_trigger = "heartbeat",
-+ },
-+ { /* "led1", green */
-+ .name = "led1",
-+ .gpio = AT91_PIN_PB1,
-+ .active_low = 1,
-+ .default_trigger = "mmc0",
-+ },
-+ { /* "led2", yellow */
-+ .name = "led2",
-+ .gpio = AT91_PIN_PB0,
-+ .active_low = 1,
-+ .default_trigger = "ide-disk",
-+ }
-+};
-+
-+/*
-+ * GPIO Buttons
-+ */
-+#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
-+static struct gpio_keys_button csb300_buttons[] = {
-+ {
-+ .gpio = AT91_PIN_PB29,
-+ .code = BTN_0,
-+ .desc = "sw0",
-+ .active_low = 1,
-+ .wakeup = 1,
-+ },
-+ {
-+ .gpio = AT91_PIN_PB28,
-+ .code = BTN_1,
-+ .desc = "sw1",
-+ .active_low = 1,
-+ .wakeup = 1,
-+ },
-+ {
-+ .gpio = AT91_PIN_PA21,
-+ .code = BTN_2,
-+ .desc = "sw2",
-+ .active_low = 1,
-+ .wakeup = 1,
-+ }
-+};
-+
-+static struct gpio_keys_platform_data csb300_button_data = {
-+ .buttons = csb300_buttons,
-+ .nbuttons = ARRAY_SIZE(csb300_buttons),
-+};
-+
-+static struct platform_device csb300_button_device = {
-+ .name = "gpio-keys",
-+ .id = -1,
-+ .num_resources = 0,
-+ .dev = {
-+ .platform_data = &csb300_button_data,
-+ }
-+};
-+
-+static void __init csb300_add_device_buttons(void)
-+{
-+ at91_set_gpio_input(AT91_PIN_PB29, 0); /* sw0 */
-+ at91_set_deglitch(AT91_PIN_PB29, 1);
-+ at91_set_gpio_input(AT91_PIN_PB28, 0); /* sw1 */
-+ at91_set_deglitch(AT91_PIN_PB28, 1);
-+ at91_set_gpio_input(AT91_PIN_PA21, 0); /* sw2 */
-+ at91_set_deglitch(AT91_PIN_PA21, 1);
-+
-+ platform_device_register(&csb300_button_device);
-+}
-+#else
-+static void __init csb300_add_device_buttons(void) {}
-+#endif
-+
- static void __init csb337_board_init(void)
- {
- /* Serial */
-@@ -175,8 +257,12 @@
- at91_add_device_spi(csb337_spi_devices, ARRAY_SIZE(csb337_spi_devices));
- /* MMC */
- at91_add_device_mmc(0, &csb337_mmc_data);
-+ /* LEDS */
-+ at91_gpio_leds(csb337_leds, ARRAY_SIZE(csb337_leds));
- /* NOR flash */
- platform_device_register(&csb_flash);
-+ /* Switches on CSB300 */
-+ csb300_add_device_buttons();
- }
-
- MACHINE_START(CSB337, "Cogent CSB337")
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/board-dk.c linux-2.6/arch/arm/mach-at91/board-dk.c
---- linux-2.6.24/arch/arm/mach-at91/board-dk.c 2008-03-01 22:02:07.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-dk.c 2008-02-18 23:23:26.000000000 +0200
-@@ -25,6 +25,7 @@
- #include <linux/init.h>
- #include <linux/mm.h>
- #include <linux/module.h>
-+#include <linux/dma-mapping.h>
- #include <linux/platform_device.h>
- #include <linux/spi/spi.h>
- #include <linux/mtd/physmap.h>
-@@ -73,6 +74,185 @@
- at91rm9200_init_interrupts(NULL);
- }
-
-+#if defined(CONFIG_FB_S1D13XXX) || defined(CONFIG_FB_S1D13XXX_MODULE)
-+#include <video/s1d13xxxfb.h>
-+#include <asm/arch/ics1523.h>
-+
-+/* EPSON S1D13806 FB */
-+#define AT91_FB_REG_BASE 0x30000000L
-+#define AT91_FB_REG_SIZE 0x200
-+#define AT91_FB_VMEM_BASE 0x30200000L
-+#define AT91_FB_VMEM_SIZE 0x140000L
-+
-+static void __init dk_init_video(void)
-+{
-+ /* NWAIT Signal */
-+ at91_set_A_periph(AT91_PIN_PC6, 0);
-+
-+ /* Initialization of the Static Memory Controller for Chip Select 2 */
-+ at91_sys_write(AT91_SMC_CSR(2), AT91_SMC_DBW_16 /* 16 bit */
-+ | AT91_SMC_WSEN | AT91_SMC_NWS_(4) /* wait states */
-+ | AT91_SMC_TDF_(1) /* float time */
-+ );
-+
-+ at91_ics1523_init();
-+}
-+
-+/* CRT: (active) 640x480 60Hz (PCLK=CLKI=25.175MHz)
-+ Memory: Embedded SDRAM (MCLK=CLKI3=50.000MHz) (BUSCLK=60.000MHz) */
-+static const struct s1d13xxxfb_regval dk_s1dfb_initregs[] = {
-+ {S1DREG_MISC, 0x00}, /* Enable Memory/Register select bit */
-+ {S1DREG_COM_DISP_MODE, 0x00}, /* disable display output */
-+ {S1DREG_GPIO_CNF0, 0x00},
-+ {S1DREG_GPIO_CNF1, 0x00},
-+ {S1DREG_GPIO_CTL0, 0x08},
-+ {S1DREG_GPIO_CTL1, 0x00},
-+ {S1DREG_CLK_CNF, 0x01}, /* no divide, MCLK source is CLKI3 0x02*/
-+ {S1DREG_LCD_CLK_CNF, 0x00},
-+ {S1DREG_CRT_CLK_CNF, 0x00},
-+ {S1DREG_MPLUG_CLK_CNF, 0x00},
-+ {S1DREG_CPU2MEM_WST_SEL, 0x01}, /* 2*period(MCLK) - 4ns > period(BCLK) */
-+ {S1DREG_SDRAM_REF_RATE, 0x03}, /* 32768 <= MCLK <= 50000 (MHz) */
-+ {S1DREG_SDRAM_TC0, 0x00}, /* MCLK source freq (MHz): */
-+ {S1DREG_SDRAM_TC1, 0x01}, /* 42 <= MCLK <= 50 */
-+ {S1DREG_MEM_CNF, 0x80}, /* SDRAM Initialization - needed before mem access */
-+ {S1DREG_PANEL_TYPE, 0x25}, /* std TFT 16bit, 8bit SCP format 2, single passive LCD */
-+ {S1DREG_MOD_RATE, 0x00}, /* toggle every FPFRAME */
-+ {S1DREG_LCD_DISP_HWIDTH, 0x4F}, /* 680 pix */
-+ {S1DREG_LCD_NDISP_HPER, 0x12}, /* 152 pix */
-+ {S1DREG_TFT_FPLINE_START, 0x01}, /* 13 pix */
-+ {S1DREG_TFT_FPLINE_PWIDTH, 0x0B}, /* 96 pix */
-+ {S1DREG_LCD_DISP_VHEIGHT0, 0xDF},
-+ {S1DREG_LCD_DISP_VHEIGHT1, 0x01}, /* 480 lines */
-+ {S1DREG_LCD_NDISP_VPER, 0x2C}, /* 44 lines */
-+ {S1DREG_TFT_FPFRAME_START, 0x0A}, /* 10 lines */
-+ {S1DREG_TFT_FPFRAME_PWIDTH, 0x01}, /* 2 lines */
-+ {S1DREG_LCD_DISP_MODE, 0x05}, /* 16 bpp */
-+ {S1DREG_LCD_MISC, 0x00}, /* dithering enabled, dual panel buffer enabled */
-+ {S1DREG_LCD_DISP_START0, 0x00},
-+ {S1DREG_LCD_DISP_START1, 0xC8},
-+ {S1DREG_LCD_DISP_START2, 0x00},
-+ {S1DREG_LCD_MEM_OFF0, 0x80},
-+ {S1DREG_LCD_MEM_OFF1, 0x02},
-+ {S1DREG_LCD_PIX_PAN, 0x00},
-+ {S1DREG_LCD_DISP_FIFO_HTC, 0x3B},
-+ {S1DREG_LCD_DISP_FIFO_LTC, 0x3C},
-+ {S1DREG_CRT_DISP_HWIDTH, 0x4F}, /* 680 pix */
-+ {S1DREG_CRT_NDISP_HPER, 0x13}, /* 160 pix */
-+ {S1DREG_CRT_HRTC_START, 0x01}, /* 13 pix */
-+ {S1DREG_CRT_HRTC_PWIDTH, 0x0B}, /* 96 pix */
-+ {S1DREG_CRT_DISP_VHEIGHT0, 0xDF},
-+ {S1DREG_CRT_DISP_VHEIGHT1, 0x01}, /* 480 lines */
-+ {S1DREG_CRT_NDISP_VPER, 0x2B}, /* 44 lines */
-+ {S1DREG_CRT_VRTC_START, 0x09}, /* 10 lines */
-+ {S1DREG_CRT_VRTC_PWIDTH, 0x01}, /* 2 lines */
-+ {S1DREG_TV_OUT_CTL, 0x10},
-+ {S1DREG_CRT_DISP_MODE, 0x05}, /* 16 bpp */
-+ {S1DREG_CRT_DISP_START0, 0x00},
-+ {S1DREG_CRT_DISP_START1, 0x00},
-+ {S1DREG_CRT_DISP_START2, 0x00},
-+ {S1DREG_CRT_MEM_OFF0, 0x80},
-+ {S1DREG_CRT_MEM_OFF1, 0x02},
-+ {S1DREG_CRT_PIX_PAN, 0x00},
-+ {S1DREG_CRT_DISP_FIFO_HTC, 0x3B},
-+ {S1DREG_CRT_DISP_FIFO_LTC, 0x3C},
-+ {S1DREG_LCD_CUR_CTL, 0x00}, /* inactive */
-+ {S1DREG_LCD_CUR_START, 0x01},
-+ {S1DREG_LCD_CUR_XPOS0, 0x00},
-+ {S1DREG_LCD_CUR_XPOS1, 0x00},
-+ {S1DREG_LCD_CUR_YPOS0, 0x00},
-+ {S1DREG_LCD_CUR_YPOS1, 0x00},
-+ {S1DREG_LCD_CUR_BCTL0, 0x00},
-+ {S1DREG_LCD_CUR_GCTL0, 0x00},
-+ {S1DREG_LCD_CUR_RCTL0, 0x00},
-+ {S1DREG_LCD_CUR_BCTL1, 0x1F},
-+ {S1DREG_LCD_CUR_GCTL1, 0x3F},
-+ {S1DREG_LCD_CUR_RCTL1, 0x1F},
-+ {S1DREG_LCD_CUR_FIFO_HTC, 0x00},
-+ {S1DREG_CRT_CUR_CTL, 0x00}, /* inactive */
-+ {S1DREG_CRT_CUR_START, 0x01},
-+ {S1DREG_CRT_CUR_XPOS0, 0x00},
-+ {S1DREG_CRT_CUR_XPOS1, 0x00},
-+ {S1DREG_CRT_CUR_YPOS0, 0x00},
-+ {S1DREG_CRT_CUR_YPOS1, 0x00},
-+ {S1DREG_CRT_CUR_BCTL0, 0x00},
-+ {S1DREG_CRT_CUR_GCTL0, 0x00},
-+ {S1DREG_CRT_CUR_RCTL0, 0x00},
-+ {S1DREG_CRT_CUR_BCTL1, 0x1F},
-+ {S1DREG_CRT_CUR_GCTL1, 0x3F},
-+ {S1DREG_CRT_CUR_RCTL1, 0x1F},
-+ {S1DREG_CRT_CUR_FIFO_HTC, 0x00},
-+ {S1DREG_BBLT_CTL0, 0x00},
-+ {S1DREG_BBLT_CTL0, 0x00},
-+ {S1DREG_BBLT_CC_EXP, 0x00},
-+ {S1DREG_BBLT_OP, 0x00},
-+ {S1DREG_BBLT_SRC_START0, 0x00},
-+ {S1DREG_BBLT_SRC_START1, 0x00},
-+ {S1DREG_BBLT_SRC_START2, 0x00},
-+ {S1DREG_BBLT_DST_START0, 0x00},
-+ {S1DREG_BBLT_DST_START1, 0x00},
-+ {S1DREG_BBLT_DST_START2, 0x00},
-+ {S1DREG_BBLT_MEM_OFF0, 0x00},
-+ {S1DREG_BBLT_MEM_OFF1, 0x00},
-+ {S1DREG_BBLT_WIDTH0, 0x00},
-+ {S1DREG_BBLT_WIDTH1, 0x00},
-+ {S1DREG_BBLT_HEIGHT0, 0x00},
-+ {S1DREG_BBLT_HEIGHT1, 0x00},
-+ {S1DREG_BBLT_BGC0, 0x00},
-+ {S1DREG_BBLT_BGC1, 0x00},
-+ {S1DREG_BBLT_FGC0, 0x00},
-+ {S1DREG_BBLT_FGC1, 0x00},
-+ {S1DREG_LKUP_MODE, 0x00}, /* LCD LUT r | LCD and CRT/TV LUT w */
-+ {S1DREG_LKUP_ADDR, 0x00},
-+ {S1DREG_PS_CNF, 0x00}, /* Power Save disable */
-+ {S1DREG_PS_STATUS, 0x02}, /* LCD Panel down, mem up */
-+ {S1DREG_CPU2MEM_WDOGT, 0x00},
-+ {S1DREG_COM_DISP_MODE, 0x02}, /* enable CRT display output */
-+};
-+
-+static struct s1d13xxxfb_pdata dk_s1dfb_pdata = {
-+ .initregs = dk_s1dfb_initregs,
-+ .initregssize = ARRAY_SIZE(dk_s1dfb_initregs),
-+ .platform_init_video = dk_init_video,
-+};
-+
-+static u64 s1dfb_dmamask = DMA_BIT_MASK(32);
-+
-+static struct resource dk_s1dfb_resource[] = {
-+ [0] = { /* video mem */
-+ .name = "s1d13806 memory",
-+ .start = AT91_FB_VMEM_BASE,
-+ .end = AT91_FB_VMEM_BASE + AT91_FB_VMEM_SIZE -1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = { /* video registers */
-+ .name = "s1d13806 registers",
-+ .start = AT91_FB_REG_BASE,
-+ .end = AT91_FB_REG_BASE + AT91_FB_REG_SIZE -1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+};
-+
-+static struct platform_device dk_s1dfb_device = {
-+ .name = "s1d13806fb",
-+ .id = -1,
-+ .dev = {
-+ .dma_mask = &s1dfb_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &dk_s1dfb_pdata,
-+ },
-+ .resource = dk_s1dfb_resource,
-+ .num_resources = ARRAY_SIZE(dk_s1dfb_resource),
-+};
-+
-+static void __init dk_add_device_video(void)
-+{
-+ platform_device_register(&dk_s1dfb_device);
-+}
-+#else
-+static void __init dk_add_device_video(void) {}
-+#endif
-+
- static struct at91_eth_data __initdata dk_eth_data = {
- .phy_irq_pin = AT91_PIN_PC4,
- .is_rmii = 1,
-@@ -164,7 +344,7 @@
- #define DK_FLASH_SIZE 0x200000
-
- static struct physmap_flash_data dk_flash_data = {
-- .width = 2,
-+ .width = 2,
- };
-
- static struct resource dk_flash_resource = {
-@@ -183,6 +363,14 @@
- .num_resources = 1,
- };
-
-+static struct gpio_led dk_leds[] = {
-+ {
-+ .name = "led0",
-+ .gpio = AT91_PIN_PB2,
-+ .active_low = 1,
-+ .default_trigger = "heartbeat",
-+ }
-+};
-
- static void __init dk_board_init(void)
- {
-@@ -213,8 +401,14 @@
- at91_add_device_nand(&dk_nand_data);
- /* NOR Flash */
- platform_device_register(&dk_flash);
-+ /* LEDs */
-+ at91_gpio_leds(dk_leds, ARRAY_SIZE(dk_leds));
-+ /* SSC (to LM4549 audio codec) */
-+ at91_add_device_ssc(AT91RM9200_ID_SSC1, ATMEL_SSC_TD | ATMEL_SSC_RX);
-+ /* SSC (to SI3021 line interface) */
-+ at91_add_device_ssc(AT91RM9200_ID_SSC2, ATMEL_SSC_TD | ATMEL_SSC_TK | ATMEL_SSC_RD | ATMEL_SSC_RF);
- /* VGA */
--// dk_add_device_video();
-+ dk_add_device_video();
- }
-
- MACHINE_START(AT91RM9200DK, "Atmel AT91RM9200-DK")
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/board-ecbat91.c linux-2.6/arch/arm/mach-at91/board-ecbat91.c
---- linux-2.6.24/arch/arm/mach-at91/board-ecbat91.c 1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-ecbat91.c 2007-12-31 15:18:42.000000000 +0200
-@@ -0,0 +1,183 @@
-+/*
-+ * linux/arch/arm/mach-at91rm9200/board-ecbat91.c
-+ * Copyright (C) 2007 emQbit.com.
-+ *
-+ * We started from board-dk.c, which is Copyright (C) 2005 SAN People.
-+ *
-+ * 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
-+ */
-+
-+#include <linux/types.h>
-+#include <linux/init.h>
-+#include <linux/mm.h>
-+#include <linux/module.h>
-+#include <linux/platform_device.h>
-+#include <linux/spi/spi.h>
-+#include <linux/spi/flash.h>
-+
-+#include <asm/hardware.h>
-+#include <asm/setup.h>
-+#include <asm/mach-types.h>
-+#include <asm/irq.h>
-+
-+#include <asm/mach/arch.h>
-+#include <asm/mach/map.h>
-+#include <asm/mach/irq.h>
-+
-+#include <asm/arch/board.h>
-+#include <asm/arch/gpio.h>
-+
-+#include "generic.h"
-+
-+
-+/*
-+ * Serial port configuration.
-+ * 0 .. 3 = USART0 .. USART3
-+ * 4 = DBGU
-+ */
-+static struct at91_uart_config __initdata ecb_at91uart_config = {
-+ .console_tty = 0, /* ttyS0 */
-+ .nr_tty = 2,
-+ .tty_map = { 4, 0, -1, -1, -1 } /* ttyS0, ..., ttyS4 */
-+};
-+
-+static void __init ecb_at91map_io(void)
-+{
-+ /* Initialize processor: 18.432 MHz crystal */
-+ at91rm9200_initialize(18432000, AT91RM9200_PQFP);
-+
-+ /* Setup the LEDs */
-+ at91_init_leds(AT91_PIN_PC7, AT91_PIN_PC7);
-+
-+ /* Setup the serial ports and console */
-+ at91_init_serial(&ecb_at91uart_config);
-+}
-+
-+static void __init ecb_at91init_irq(void)
-+{
-+ at91rm9200_init_interrupts(NULL);
-+}
-+
-+static struct at91_eth_data __initdata ecb_at91eth_data = {
-+ .phy_irq_pin = AT91_PIN_PC4,
-+ .is_rmii = 0,
-+};
-+
-+static struct at91_usbh_data __initdata ecb_at91usbh_data = {
-+ .ports = 1,
-+};
-+
-+static struct at91_mmc_data __initdata ecb_at91mmc_data = {
-+ .slot_b = 0,
-+ .wire4 = 1,
-+};
-+
-+
-+#if defined(CONFIG_MTD_DATAFLASH)
-+static struct mtd_partition __initdata my_flash0_partitions[] =
-+{
-+ { /* 0x8400 */
-+ .name = "Darrell-loader",
-+ .offset = 0,
-+ .size = 12* 1056,
-+ },
-+ {
-+ .name = "U-boot",
-+ .offset = MTDPART_OFS_NXTBLK,
-+ .size = 110 * 1056,
-+ },
-+ { /* 1336 (167 blocks) pages * 1056 bytes = 0x158700 bytes */
-+ .name = "Uoot-env",
-+ .offset = MTDPART_OFS_NXTBLK,
-+ .size = 8 * 1056,
-+ },
-+ { /* 1336 (167 blocks) pages * 1056 bytes = 0x158700 bytes */
-+ .name = "Kernel",
-+ .offset = MTDPART_OFS_NXTBLK,
-+ .size = 1534 * 1056,
-+ },
-+ { /* 190200 - jffs2 root filesystem */
-+ .name = "Filesystem",
-+ .offset = MTDPART_OFS_NXTBLK,
-+ .size = MTDPART_SIZ_FULL, /* 26 sectors */
-+ }
-+};
-+
-+static struct flash_platform_data __initdata my_flash0_platform = {
-+ .name = "Removable flash card",
-+ .parts = my_flash0_partitions,
-+ .nr_parts = ARRAY_SIZE(my_flash0_partitions)
-+};
-+
-+#endif
-+
-+static struct spi_board_info __initdata ecb_at91spi_devices[] = {
-+ { /* DataFlash chip */
-+ .modalias = "mtd_dataflash",
-+ .chip_select = 0,
-+ .max_speed_hz = 10 * 1000 * 1000,
-+ .bus_num = 0,
-+#if defined(CONFIG_MTD_DATAFLASH)
-+ .platform_data = &my_flash0_platform,
-+#endif
-+ },
-+ { /* User accessable spi - cs1 (250KHz) */
-+ .modalias = "spi-cs1",
-+ .chip_select = 1,
-+ .max_speed_hz = 250 * 1000,
-+ },
-+ { /* User accessable spi - cs2 (1MHz) */
-+ .modalias = "spi-cs2",
-+ .chip_select = 2,
-+ .max_speed_hz = 1 * 1000 * 1000,
-+ },
-+ { /* User accessable spi - cs3 (10MHz) */
-+ .modalias = "spi-cs3",
-+ .chip_select = 3,
-+ .max_speed_hz = 10 * 1000 * 1000,
-+ },
-+};
-+
-+static void __init ecb_at91board_init(void)
-+{
-+ /* Serial */
-+ at91_add_device_serial();
-+
-+ /* Ethernet */
-+ at91_add_device_eth(&ecb_at91eth_data);
-+
-+ /* USB Host */
-+ at91_add_device_usbh(&ecb_at91usbh_data);
-+
-+ /* I2C */
-+ at91_add_device_i2c(NULL, 0);
-+
-+ /* MMC */
-+ at91_add_device_mmc(0, &ecb_at91mmc_data);
-+
-+ /* SPI */
-+ at91_add_device_spi(ecb_at91spi_devices, ARRAY_SIZE(ecb_at91spi_devices));
-+}
-+
-+MACHINE_START(ECBAT91, "emQbit's ECB_AT91")
-+ /* Maintainer: emQbit.com */
-+ .phys_io = AT91_BASE_SYS,
-+ .io_pg_offst = (AT91_VA_BASE_SYS >> 18) & 0xfffc,
-+ .boot_params = AT91_SDRAM_BASE + 0x100,
-+ .timer = &at91rm9200_timer,
-+ .map_io = ecb_at91map_io,
-+ .init_irq = ecb_at91init_irq,
-+ .init_machine = ecb_at91board_init,
-+MACHINE_END
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/board-ek.c linux-2.6/arch/arm/mach-at91/board-ek.c
---- linux-2.6.24/arch/arm/mach-at91/board-ek.c 2008-03-01 22:02:07.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-ek.c 2008-02-18 22:26:42.000000000 +0200
-@@ -25,6 +25,7 @@
- #include <linux/init.h>
- #include <linux/mm.h>
- #include <linux/module.h>
-+#include <linux/dma-mapping.h>
- #include <linux/platform_device.h>
- #include <linux/spi/spi.h>
- #include <linux/mtd/physmap.h>
-@@ -73,6 +74,187 @@
- at91rm9200_init_interrupts(NULL);
- }
-
-+#if defined(CONFIG_FB_S1D13XXX) || defined(CONFIG_FB_S1D13XXX_MODULE)
-+#include <video/s1d13xxxfb.h>
-+#include <asm/arch/ics1523.h>
-+
-+/* EPSON S1D13806 FB */
-+#define AT91_FB_REG_BASE 0x40000000L
-+#define AT91_FB_REG_SIZE 0x200
-+#define AT91_FB_VMEM_BASE 0x40200000L
-+#define AT91_FB_VMEM_SIZE 0x140000L
-+
-+static void __init ek_init_video(void)
-+{
-+ /* NWAIT Signal */
-+ at91_set_A_periph(AT91_PIN_PC6, 0);
-+
-+ /* Initialization of the Static Memory Controller for Chip Select 3 */
-+ at91_sys_write(AT91_SMC_CSR(3), AT91_SMC_DBW_16 /* 16 bit */
-+ | AT91_SMC_WSEN | AT91_SMC_NWS_(5) /* wait states */
-+ | AT91_SMC_TDF_(1) /* float time */
-+ );
-+
-+ at91_ics1523_init();
-+}
-+
-+/* CRT: (active) 640x480 60Hz (PCLK=CLKI=25.175MHz)
-+ Memory: Embedded SDRAM (MCLK=CLKI3=50.000MHz) (BUSCLK=60.000MHz) */
-+static const struct s1d13xxxfb_regval ek_s1dfb_initregs[] = {
-+ {S1DREG_MISC, 0x00}, /* Enable Memory/Register select bit */
-+ {S1DREG_COM_DISP_MODE, 0x00}, /* disable display output */
-+ {S1DREG_GPIO_CNF0, 0xFF}, // 0x00
-+ {S1DREG_GPIO_CNF1, 0x1F}, // 0x08
-+ {S1DREG_GPIO_CTL0, 0x00},
-+ {S1DREG_GPIO_CTL1, 0x00},
-+ {S1DREG_CLK_CNF, 0x01}, /* no divide, MCLK source is CLKI3 0x02*/
-+ {S1DREG_LCD_CLK_CNF, 0x00},
-+ {S1DREG_CRT_CLK_CNF, 0x00},
-+ {S1DREG_MPLUG_CLK_CNF, 0x00},
-+ {S1DREG_CPU2MEM_WST_SEL, 0x01}, /* 2*period(MCLK) - 4ns > period(BCLK) */
-+ {S1DREG_SDRAM_REF_RATE, 0x03}, /* 32768 <= MCLK <= 50000 (MHz) */
-+ {S1DREG_SDRAM_TC0, 0x00}, /* MCLK source freq (MHz): */
-+ {S1DREG_SDRAM_TC1, 0x01}, /* 42 <= MCLK <= 50 */
-+ {S1DREG_MEM_CNF, 0x80}, /* SDRAM Initialization - needed before mem access */
-+ {S1DREG_PANEL_TYPE, 0x25}, /* std TFT 16bit, 8bit SCP format 2, single passive LCD */
-+ {S1DREG_MOD_RATE, 0x00}, /* toggle every FPFRAME */
-+ {S1DREG_LCD_DISP_HWIDTH, 0x4F}, /* 680 pix */
-+ {S1DREG_LCD_NDISP_HPER, 0x12}, /* 152 pix */
-+ {S1DREG_TFT_FPLINE_START, 0x01}, /* 13 pix */
-+ {S1DREG_TFT_FPLINE_PWIDTH, 0x0B}, /* 96 pix */
-+ {S1DREG_LCD_DISP_VHEIGHT0, 0xDF},
-+ {S1DREG_LCD_DISP_VHEIGHT1, 0x01}, /* 480 lines */
-+ {S1DREG_LCD_NDISP_VPER, 0x2C}, /* 44 lines */
-+ {S1DREG_TFT_FPFRAME_START, 0x0A}, /* 10 lines */
-+ {S1DREG_TFT_FPFRAME_PWIDTH, 0x01}, /* 2 lines */
-+ {S1DREG_LCD_DISP_MODE, 0x05}, /* 16 bpp */
-+ {S1DREG_LCD_MISC, 0x00}, /* dithering enabled, dual panel buffer enabled */
-+ {S1DREG_LCD_DISP_START0, 0x00},
-+ {S1DREG_LCD_DISP_START1, 0xC8},
-+ {S1DREG_LCD_DISP_START2, 0x00},
-+ {S1DREG_LCD_MEM_OFF0, 0x80},
-+ {S1DREG_LCD_MEM_OFF1, 0x02},
-+ {S1DREG_LCD_PIX_PAN, 0x00},
-+ {S1DREG_LCD_DISP_FIFO_HTC, 0x3B},
-+ {S1DREG_LCD_DISP_FIFO_LTC, 0x3C},
-+ {S1DREG_CRT_DISP_HWIDTH, 0x4F}, /* 680 pix */
-+ {S1DREG_CRT_NDISP_HPER, 0x13}, /* 160 pix */
-+ {S1DREG_CRT_HRTC_START, 0x01}, /* 13 pix */
-+ {S1DREG_CRT_HRTC_PWIDTH, 0x0B}, /* 96 pix */
-+ {S1DREG_CRT_DISP_VHEIGHT0, 0xDF},
-+ {S1DREG_CRT_DISP_VHEIGHT1, 0x01}, /* 480 lines */
-+ {S1DREG_CRT_NDISP_VPER, 0x2B}, /* 44 lines */
-+ {S1DREG_CRT_VRTC_START, 0x09}, /* 10 lines */
-+ {S1DREG_CRT_VRTC_PWIDTH, 0x01}, /* 2 lines */
-+ {S1DREG_TV_OUT_CTL, 0x10},
-+ {0x005E, 0x9F},
-+ {0x005F, 0x00},
-+ {S1DREG_CRT_DISP_MODE, 0x05}, /* 16 bpp */
-+ {S1DREG_CRT_DISP_START0, 0x00},
-+ {S1DREG_CRT_DISP_START1, 0x00},
-+ {S1DREG_CRT_DISP_START2, 0x00},
-+ {S1DREG_CRT_MEM_OFF0, 0x80},
-+ {S1DREG_CRT_MEM_OFF1, 0x02},
-+ {S1DREG_CRT_PIX_PAN, 0x00},
-+ {S1DREG_CRT_DISP_FIFO_HTC, 0x3B},
-+ {S1DREG_CRT_DISP_FIFO_LTC, 0x3C},
-+ {S1DREG_LCD_CUR_CTL, 0x00}, /* inactive */
-+ {S1DREG_LCD_CUR_START, 0x01},
-+ {S1DREG_LCD_CUR_XPOS0, 0x00},
-+ {S1DREG_LCD_CUR_XPOS1, 0x00},
-+ {S1DREG_LCD_CUR_YPOS0, 0x00},
-+ {S1DREG_LCD_CUR_YPOS1, 0x00},
-+ {S1DREG_LCD_CUR_BCTL0, 0x00},
-+ {S1DREG_LCD_CUR_GCTL0, 0x00},
-+ {S1DREG_LCD_CUR_RCTL0, 0x00},
-+ {S1DREG_LCD_CUR_BCTL1, 0x1F},
-+ {S1DREG_LCD_CUR_GCTL1, 0x3F},
-+ {S1DREG_LCD_CUR_RCTL1, 0x1F},
-+ {S1DREG_LCD_CUR_FIFO_HTC, 0x00},
-+ {S1DREG_CRT_CUR_CTL, 0x00}, /* inactive */
-+ {S1DREG_CRT_CUR_START, 0x01},
-+ {S1DREG_CRT_CUR_XPOS0, 0x00},
-+ {S1DREG_CRT_CUR_XPOS1, 0x00},
-+ {S1DREG_CRT_CUR_YPOS0, 0x00},
-+ {S1DREG_CRT_CUR_YPOS1, 0x00},
-+ {S1DREG_CRT_CUR_BCTL0, 0x00},
-+ {S1DREG_CRT_CUR_GCTL0, 0x00},
-+ {S1DREG_CRT_CUR_RCTL0, 0x00},
-+ {S1DREG_CRT_CUR_BCTL1, 0x1F},
-+ {S1DREG_CRT_CUR_GCTL1, 0x3F},
-+ {S1DREG_CRT_CUR_RCTL1, 0x1F},
-+ {S1DREG_CRT_CUR_FIFO_HTC, 0x00},
-+ {S1DREG_BBLT_CTL0, 0x00},
-+ {S1DREG_BBLT_CTL0, 0x00},
-+ {S1DREG_BBLT_CC_EXP, 0x00},
-+ {S1DREG_BBLT_OP, 0x00},
-+ {S1DREG_BBLT_SRC_START0, 0x00},
-+ {S1DREG_BBLT_SRC_START1, 0x00},
-+ {S1DREG_BBLT_SRC_START2, 0x00},
-+ {S1DREG_BBLT_DST_START0, 0x00},
-+ {S1DREG_BBLT_DST_START1, 0x00},
-+ {S1DREG_BBLT_DST_START2, 0x00},
-+ {S1DREG_BBLT_MEM_OFF0, 0x00},
-+ {S1DREG_BBLT_MEM_OFF1, 0x00},
-+ {S1DREG_BBLT_WIDTH0, 0x00},
-+ {S1DREG_BBLT_WIDTH1, 0x00},
-+ {S1DREG_BBLT_HEIGHT0, 0x00},
-+ {S1DREG_BBLT_HEIGHT1, 0x00},
-+ {S1DREG_BBLT_BGC0, 0x00},
-+ {S1DREG_BBLT_BGC1, 0x00},
-+ {S1DREG_BBLT_FGC0, 0x00},
-+ {S1DREG_BBLT_FGC1, 0x00},
-+ {S1DREG_LKUP_MODE, 0x00}, /* LCD LUT r | LCD and CRT/TV LUT w */
-+ {S1DREG_LKUP_ADDR, 0x00},
-+ {S1DREG_PS_CNF, 0x10}, /* Power Save disable */
-+ {S1DREG_PS_STATUS, 0x02}, /* LCD Panel down, mem up */
-+ {S1DREG_CPU2MEM_WDOGT, 0x00},
-+ {S1DREG_COM_DISP_MODE, 0x02}, /* enable CRT display output */
-+};
-+
-+static struct s1d13xxxfb_pdata ek_s1dfb_pdata = {
-+ .initregs = ek_s1dfb_initregs,
-+ .initregssize = ARRAY_SIZE(ek_s1dfb_initregs),
-+ .platform_init_video = ek_init_video,
-+};
-+
-+static u64 s1dfb_dmamask = DMA_BIT_MASK(32);
-+
-+static struct resource ek_s1dfb_resource[] = {
-+ [0] = { /* video mem */
-+ .name = "s1d13806 memory",
-+ .start = AT91_FB_VMEM_BASE,
-+ .end = AT91_FB_VMEM_BASE + AT91_FB_VMEM_SIZE -1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ [1] = { /* video registers */
-+ .name = "s1d13806 registers",
-+ .start = AT91_FB_REG_BASE,
-+ .end = AT91_FB_REG_BASE + AT91_FB_REG_SIZE -1,
-+ .flags = IORESOURCE_MEM,
-+ },
-+};
-+
-+static struct platform_device ek_s1dfb_device = {
-+ .name = "s1d13806fb",
-+ .id = -1,
-+ .dev = {
-+ .dma_mask = &s1dfb_dmamask,
-+ .coherent_dma_mask = DMA_BIT_MASK(32),
-+ .platform_data = &ek_s1dfb_pdata,
-+ },
-+ .resource = ek_s1dfb_resource,
-+ .num_resources = ARRAY_SIZE(ek_s1dfb_resource),
-+};
-+
-+static void __init ek_add_device_video(void)
-+{
-+ platform_device_register(&ek_s1dfb_device);
-+}
-+#else
-+static void __init ek_add_device_video(void) {}
-+#endif
-+
- static struct at91_eth_data __initdata ek_eth_data = {
- .phy_irq_pin = AT91_PIN_PC4,
- .is_rmii = 1,
-@@ -122,7 +304,7 @@
- #define EK_FLASH_SIZE 0x200000
-
- static struct physmap_flash_data ek_flash_data = {
-- .width = 2,
-+ .width = 2,
- };
-
- static struct resource ek_flash_resource = {
-@@ -141,6 +323,25 @@
- .num_resources = 1,
- };
-
-+static struct gpio_led ek_leds[] = {
-+ { /* "user led 1", DS2 */
-+ .name = "green",
-+ .gpio = AT91_PIN_PB0,
-+ .active_low = 1,
-+ .default_trigger = "mmc0",
-+ },
-+ { /* "user led 2", DS4 */
-+ .name = "yellow",
-+ .gpio = AT91_PIN_PB1,
-+ .active_low = 1,
-+ .default_trigger = "heartbeat",
-+ },
-+ { /* "user led 3", DS6 */
-+ .name = "red",
-+ .gpio = AT91_PIN_PB2,
-+ .active_low = 1,
-+ }
-+};
-
- static void __init ek_board_init(void)
- {
-@@ -167,8 +368,10 @@
- #endif
- /* NOR Flash */
- platform_device_register(&ek_flash);
-+ /* LEDs */
-+ at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
- /* VGA */
--// ek_add_device_video();
-+ ek_add_device_video();
- }
-
- MACHINE_START(AT91RM9200EK, "Atmel AT91RM9200-EK")
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/board-homematic.c linux-2.6/arch/arm/mach-at91/board-homematic.c
---- linux-2.6.24/arch/arm/mach-at91/board-homematic.c 1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-homematic.c 2007-12-31 15:18:42.000000000 +0200
-@@ -0,0 +1,163 @@
-+/*
-+ * linux/arch/arm/mach-at91/board-homematic.c
-+ *
-+ * Copyright (C) 2007 eQ-3 Entwicklung GmbH
-+ *
-+ * based on work
-+ * Copyright (C) 2005 SAN People
-+ *
-+ * 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
-+ */
-+
-+#include <linux/types.h>
-+#include <linux/init.h>
-+#include <linux/mm.h>
-+#include <linux/module.h>
-+#include <linux/platform_device.h>
-+#include <linux/spi/spi.h>
-+#include <linux/mtd/physmap.h>
-+
-+#include <asm/hardware.h>
-+#include <asm/setup.h>
-+#include <asm/mach-types.h>
-+#include <asm/irq.h>
-+
-+#include <asm/mach/arch.h>
-+#include <asm/mach/map.h>
-+#include <asm/mach/irq.h>
-+
-+#include <asm/arch/board.h>
-+#include <asm/arch/gpio.h>
-+#include <asm/arch/at91rm9200_mc.h>
-+
-+#include "generic.h"
-+
-+
-+/*
-+ * Serial port configuration.
-+ * 0 .. 3 = USART0 .. USART3
-+ * 4 = DBGU
-+ */
-+static struct at91_uart_config __initdata homematic_uart_config = {
-+ .console_tty = 0, /* ttyS0 */
-+ .nr_tty = 2,
-+ .tty_map = { 4, 1, -1, -1, -1 } /* ttyS0, ..., ttyS4 */
-+};
-+
-+static void __init homematic_map_io(void)
-+{
-+ /* Initialize processor: 18.432 MHz crystal */
-+ at91rm9200_initialize(18432000, AT91RM9200_BGA);
-+
-+ /* Setup the serial ports and console */
-+ at91_init_serial(&homematic_uart_config);
-+}
-+
-+static void __init homematic_init_irq(void)
-+{
-+ at91rm9200_init_interrupts(NULL);
-+}
-+
-+static struct at91_eth_data __initdata homematic_eth_data = {
-+ .phy_irq_pin = AT91_PIN_PC4,
-+ .is_rmii = 0,
-+};
-+
-+static struct at91_usbh_data __initdata homematic_usbh_data = {
-+ .ports = 2,
-+};
-+
-+static struct at91_udc_data __initdata homematic_udc_data = {
-+ .vbus_pin = AT91_PIN_PD4,
-+ .pullup_pin = AT91_PIN_PD5,
-+};
-+
-+static struct at91_mmc_data __initdata homematic_mmc_data = {
-+ .slot_b = 0,
-+ .wire4 = 1,
-+};
-+
-+static struct spi_board_info homematic_spi_devices[] = {
-+ { /* DataFlash chip */
-+ .modalias = "mtd_dataflash",
-+ .chip_select = 0,
-+ .max_speed_hz = 15 * 1000 * 1000,
-+ },
-+};
-+
-+static struct mtd_partition __initdata homematic_nand_partition[] = {
-+ {
-+ .name = "root",
-+ .offset = 0,
-+ .size = 0x02000000,
-+ }, {
-+ .name = "storage",
-+ .offset = 0x02000000,
-+ .size = MTDPART_SIZ_FULL,
-+ },
-+};
-+
-+static struct mtd_partition * __init nand_partitions(int size, int *num_partitions)
-+{
-+ *num_partitions = ARRAY_SIZE(homematic_nand_partition);
-+ return homematic_nand_partition;
-+}
-+
-+static struct at91_nand_data __initdata homematic_nand_data = {
-+ .ale = 22,
-+ .cle = 21,
-+// .det_pin = AT91_PIN_PB1,
-+ .rdy_pin = AT91_PIN_PC2,
-+ .enable_pin = AT91_PIN_PC0,
-+ .partition_info = nand_partitions,
-+};
-+
-+static void __init homematic_board_init(void)
-+{
-+ /* Serial */
-+ at91_add_device_serial();
-+ /* Ethernet */
-+ at91_add_device_eth(&homematic_eth_data);
-+ /* USB Host */
-+ at91_add_device_usbh(&homematic_usbh_data);
-+ /* USB Device */
-+ at91_add_device_udc(&homematic_udc_data);
-+ at91_set_multi_drive(homematic_udc_data.pullup_pin, 1); /* pullup_pin is connected to reset */
-+ /* I2C */
-+ at91_add_device_i2c(NULL, 0);
-+ /* SPI */
-+ at91_add_device_spi(homematic_spi_devices, ARRAY_SIZE(homematic_spi_devices));
-+#ifdef CONFIG_MTD_AT91_DATAFLASH_CARD
-+ /* DataFlash card */
-+ at91_set_gpio_output(AT91_PIN_PB7, 0);
-+#else
-+ /* MMC */
-+ at91_set_gpio_output(AT91_PIN_PB7, 1); /* this MMC card slot can optionally use SPI signaling (CS3). */
-+ at91_add_device_mmc(0, &homematic_mmc_data);
-+#endif
-+ /* NAND */
-+ at91_add_device_nand(&homematic_nand_data);
-+}
-+
-+MACHINE_START(HOMEMATIC, "HomeMatic")
-+ /* Maintainer: eQ-3 */
-+ .phys_io = AT91_BASE_SYS,
-+ .io_pg_offst = (AT91_VA_BASE_SYS >> 18) & 0xfffc,
-+ .boot_params = AT91_SDRAM_BASE + 0x100,
-+ .timer = &at91rm9200_timer,
-+ .map_io = homematic_map_io,
-+ .init_irq = homematic_init_irq,
-+ .init_machine = homematic_board_init,
-+MACHINE_END
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/board-kb9202.c linux-2.6/arch/arm/mach-at91/board-kb9202.c
---- linux-2.6.24/arch/arm/mach-at91/board-kb9202.c 2008-03-01 22:02:07.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-kb9202.c 2008-02-18 23:21:36.000000000 +0200
-@@ -37,6 +37,8 @@
- #include <asm/arch/board.h>
- #include <asm/arch/gpio.h>
-
-+#include <asm/arch/at91rm9200_mc.h>
-+
- #include "generic.h"
-
-
-@@ -111,6 +113,48 @@
- .partition_info = nand_partitions,
- };
-
-+
-+#if defined(CONFIG_FB_S1D15605)
-+#warning "The Reset pin must be passed via platform_data, not this way"
-+static struct resource kb9202_lcd_resources[] = {
-+ [0] = {
-+ .start = AT91_CHIPSELECT_2,
-+ .end = AT91_CHIPSELECT_2 + 0x200FF,
-+ .flags = IORESOURCE_MEM
-+ },
-+ [1] = { /* reset pin */
-+ .start = AT91_PIN_PC22,
-+ .end = AT91_PIN_PC22,
-+ .flags = IORESOURCE_MEM
-+ },
-+};
-+
-+static struct platform_device kb9202_lcd_device = {
-+ .name = "s1d15605fb",
-+ .id = 0,
-+ .num_resources = ARRAY_SIZE(kb9202_lcd_resources),
-+ .resource = kb9202_lcd_resources,
-+};
-+
-+static void __init kb9202_add_device_lcd(void)
-+{
-+ /* In case the boot loader did not set the chip select mode and timing */
-+ at91_sys_write(AT91_SMC_CSR(2),
-+ AT91_SMC_WSEN | AT91_SMC_NWS_(18) | AT91_SMC_TDF_(1) | AT91_SMC_DBW_8 |
-+ AT91_SMC_RWSETUP_(1) | AT91_SMC_RWHOLD_(1));
-+
-+ /* Backlight pin = output, off */
-+ at91_set_gpio_output(AT91_PIN_PC23, 0);
-+
-+ /* Reset pin = output, in reset */
-+ at91_set_gpio_output(AT91_PIN_PC22, 0);
-+
-+ platform_device_register(&kb9202_lcd_device);
-+}
-+#else
-+static void __init kb9202_add_device_lcd(void) {}
-+#endif
-+
- static void __init kb9202_board_init(void)
- {
- /* Serial */
-@@ -129,6 +173,8 @@
- at91_add_device_spi(NULL, 0);
- /* NAND */
- at91_add_device_nand(&kb9202_nand_data);
-+ /* LCD */
-+ kb9202_add_device_lcd();
- }
-
- MACHINE_START(KB9200, "KB920x")
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/board-sam9-l9260.c linux-2.6/arch/arm/mach-at91/board-sam9-l9260.c
---- linux-2.6.24/arch/arm/mach-at91/board-sam9-l9260.c 1970-01-01 02:00:00.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-sam9-l9260.c 2008-03-01 20:39:38.000000000 +0200
-@@ -0,0 +1,199 @@
-+/*
-+ * linux/arch/arm/mach-at91/board-sam9-l9260.c
-+ *
-+ * Copyright (C) 2005 SAN People
-+ * Copyright (C) 2006 Atmel
-+ * Copyright (C) 2007 Olimex Ltd
-+ *
-+ * 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
-+ */
-+
-+#include <linux/types.h>
-+#include <linux/init.h>
-+#include <linux/mm.h>
-+#include <linux/module.h>
-+#include <linux/platform_device.h>
-+#include <linux/spi/spi.h>
-+
-+#include <asm/hardware.h>
-+#include <asm/setup.h>
-+#include <asm/mach-types.h>
-+#include <asm/irq.h>
-+
-+#include <asm/mach/arch.h>
-+#include <asm/mach/map.h>
-+#include <asm/mach/irq.h>
-+
-+#include <asm/arch/board.h>
-+#include <asm/arch/gpio.h>
-+
-+#include "generic.h"
-+
-+
-+/*
-+ * Serial port configuration.
-+ * 0 .. 5 = USART0 .. USART5
-+ * 6 = DBGU
-+ */
-+static struct at91_uart_config __initdata ek_uart_config = {
-+ .console_tty = 0, /* ttyS0 */
-+ .nr_tty = 3,
-+ .tty_map = { 6, 0, 1, -1, -1, -1, -1 } /* ttyS0, ..., ttyS6 */
-+};
-+
-+static void __init ek_map_io(void)
-+{
-+ /* Initialize processor: 18.432 MHz crystal */
-+ at91sam9260_initialize(18432000);
-+
-+ /* Setup the LEDs */
-+ at91_init_leds(AT91_PIN_PA9, AT91_PIN_PA6);
-+
-+ /* Setup the serial ports and console */
-+ at91_init_serial(&ek_uart_config);
-+}
-+
-+static void __init ek_init_irq(void)
-+{
-+ at91sam9260_init_interrupts(NULL);
-+}
-+
-+
-+/*
-+ * USB Host port
-+ */
-+static struct at91_usbh_data __initdata ek_usbh_data = {
-+ .ports = 2,
-+};
-+
-+/*
-+ * USB Device port
-+ */
-+static struct at91_udc_data __initdata ek_udc_data = {
-+ .vbus_pin = AT91_PIN_PC5,
-+ .pullup_pin = 0, /* pull-up driven by UDC */
-+};
-+
-+
-+/*
-+ * SPI devices.
-+ */
-+static struct spi_board_info ek_spi_devices[] = {
-+#if !defined(CONFIG_MMC_AT91)
-+ { /* DataFlash chip */
-+ .modalias = "mtd_dataflash",
-+ .chip_select = 1,
-+ .max_speed_hz = 15 * 1000 * 1000,
-+ .bus_num = 0,
-+ },
-+#if defined(CONFIG_MTD_AT91_DATAFLASH_CARD)
-+ { /* DataFlash card */
-+ .modalias = "mtd_dataflash",
-+ .chip_select = 0,
-+ .max_speed_hz = 15 * 1000 * 1000,
-+ .bus_num = 0,
-+ },
-+#endif
-+#endif
-+};
-+
-+
-+/*
-+ * MACB Ethernet device
-+ */
-+static struct at91_eth_data __initdata ek_macb_data = {
-+ .phy_irq_pin = AT91_PIN_PA7,
-+ .is_rmii = 0,
-+};
-+
-+
-+/*
-+ * NAND flash
-+ */
-+static struct mtd_partition __initdata ek_nand_partition[] = {
-+ {
-+ .name = "Bootloader Area",
-+ .offset = 0,
-+ .size = 10 * 1024 * 1024,
-+ },
-+ {
-+ .name = "User Area",
-+ .offset = 10 * 1024 * 1024,
-+ .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;
-+}
-+
-+static struct at91_nand_data __initdata ek_nand_data = {
-+ .ale = 21,
-+ .cle = 22,
-+// .det_pin = ... not connected
-+ .rdy_pin = AT91_PIN_PC13,
-+ .enable_pin = AT91_PIN_PC14,
-+ .partition_info = nand_partitions,
-+#if defined(CONFIG_MTD_NAND_AT91_BUSWIDTH_16)
-+ .bus_width_16 = 1,
-+#else
-+ .bus_width_16 = 0,
-+#endif
-+};
-+
-+
-+/*
-+ * MCI (SD/MMC)
-+ */
-+static struct at91_mmc_data __initdata ek_mmc_data = {
-+ .slot_b = 1,
-+ .wire4 = 1,
-+ .det_pin = AT91_PIN_PC8,
-+ .wp_pin = AT91_PIN_PC4,
-+// .vcc_pin = ... not connected
-+};
-+
-+static void __init ek_board_init(void)
-+{
-+ /* Serial */
-+ at91_add_device_serial();
-+ /* USB Host */
-+ at91_add_device_usbh(&ek_usbh_data);
-+ /* USB Device */
-+ at91_add_device_udc(&ek_udc_data);
-+ /* SPI */
-+ at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices));
-+ /* NAND */
-+ at91_add_device_nand(&ek_nand_data);
-+ /* Ethernet */
-+ at91_add_device_eth(&ek_macb_data);
-+ /* MMC */
-+ at91_add_device_mmc(0, &ek_mmc_data);
-+ /* I2C */
-+ at91_add_device_i2c(NULL, 0);
-+}
-+
-+MACHINE_START(SAM9_L9260, "Olimex SAM9-L9260")
-+ /* Maintainer: Olimex */
-+ .phys_io = AT91_BASE_SYS,
-+ .io_pg_offst = (AT91_VA_BASE_SYS >> 18) & 0xfffc,
-+ .boot_params = AT91_SDRAM_BASE + 0x100,
-+ .timer = &at91sam926x_timer,
-+ .map_io = ek_map_io,
-+ .init_irq = ek_init_irq,
-+ .init_machine = ek_board_init,
-+MACHINE_END
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/board-sam9260ek.c linux-2.6/arch/arm/mach-at91/board-sam9260ek.c
---- linux-2.6.24/arch/arm/mach-at91/board-sam9260ek.c 2008-03-01 22:02:07.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-sam9260ek.c 2008-03-01 20:40:19.000000000 +0200
-@@ -25,6 +25,8 @@
- #include <linux/module.h>
- #include <linux/platform_device.h>
- #include <linux/spi/spi.h>
-+#include <linux/spi/at73c213.h>
-+#include <linux/clk.h>
-
- #include <asm/hardware.h>
- #include <asm/setup.h>
-@@ -37,29 +39,29 @@
-
- #include <asm/arch/board.h>
- #include <asm/arch/gpio.h>
--#include <asm/arch/at91sam926x_mc.h>
-+#include <asm/arch/at91_shdwc.h>
-
- #include "generic.h"
-
-
--/*
-- * Serial port configuration.
-- * 0 .. 5 = USART0 .. USART5
-- * 6 = DBGU
-- */
--static struct at91_uart_config __initdata ek_uart_config = {
-- .console_tty = 0, /* ttyS0 */
-- .nr_tty = 3,
-- .tty_map = { 6, 0, 1, -1, -1, -1, -1 } /* ttyS0, ..., ttyS6 */
--};
--
- static void __init ek_map_io(void)
- {
- /* Initialize processor: 18.432 MHz crystal */
- at91sam9260_initialize(18432000);
-
-- /* Setup the serial ports and console */
-- at91_init_serial(&ek_uart_config);
-+ /* DGBU on ttyS0. (Rx & Tx only) */
-+ at91_register_uart(0, 0, 0);
-+
-+ /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */
-+ at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS
-+ | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD
-+ | ATMEL_UART_RI);
-+
-+ /* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */
-+ at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS);
-+
-+ /* set serial console to ttyS0 (ie, DBGU) */
-+ at91_set_serial_console(0);
- }
-
- static void __init ek_init_irq(void)
-@@ -85,6 +87,36 @@
-
-
- /*
-+ * Audio
-+ */
-+static struct at73c213_board_info at73c213_data = {
-+ .ssc_id = 0,
-+ .shortname = "AT91SAM9260-EK external DAC",
-+};
-+
-+#if defined(CONFIG_SND_AT73C213) || defined(CONFIG_SND_AT73C213_MODULE)
-+static void __init at73c213_set_clk(struct at73c213_board_info *info)
-+{
-+ struct clk *pck0;
-+ struct clk *plla;
-+
-+ pck0 = clk_get(NULL, "pck0");
-+ plla = clk_get(NULL, "plla");
-+
-+ /* AT73C213 MCK Clock */
-+ at91_set_B_periph(AT91_PIN_PC1, 0); /* PCK0 */
-+
-+ clk_set_parent(pck0, plla);
-+ clk_set_rate(pck0, 12416000);
-+ clk_enable(pck0);
-+
-+ info->dac_clk = pck0;
-+}
-+#else
-+static void __init at73c213_set_clk(struct at73c213_board_info *info) {}
-+#endif
-+
-+/*
- * SPI devices.
- */
- static struct spi_board_info ek_spi_devices[] = {
-@@ -110,6 +142,8 @@
- .chip_select = 0,
- .max_speed_hz = 10 * 1000 * 1000,
- .bus_num = 1,
-+ .mode = SPI_MODE_1,
-+ .platform_data = &at73c213_data,
- },
- #endif
- };
-@@ -172,6 +206,24 @@
- // .vcc_pin = ... not connected
- };
-
-+
-+/*
-+ * LEDs
-+ */
-+static struct gpio_led ek_leds[] = {
-+ { /* "bottom" led, green, userled1 to be defined */
-+ .name = "ds5",
-+ .gpio = AT91_PIN_PA6,
-+ .active_low = 1,
-+ .default_trigger = "none",
-+ },
-+ { /* "power" led, yellow */
-+ .name = "ds1",
-+ .gpio = AT91_PIN_PA9,
-+ .default_trigger = "heartbeat",
-+ }
-+};
-+
- static void __init ek_board_init(void)
- {
- /* Serial */
-@@ -190,6 +242,14 @@
- at91_add_device_mmc(0, &ek_mmc_data);
- /* I2C */
- at91_add_device_i2c(NULL, 0);
-+ /* SSC (to AT73C213) */
-+ at73c213_set_clk(&at73c213_data);
-+ at91_add_device_ssc(AT91SAM9260_ID_SSC, ATMEL_SSC_TX);
-+ /* LEDs */
-+ at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
-+ /* shutdown controller, wakeup button (5 msec low) */
-+ at91_sys_write(AT91_SHDW_MR, AT91_SHDW_CPTWK0_(10) | AT91_SHDW_WKMODE0_LOW
-+ | AT91_SHDW_RTTWKEN);
- }
-
- MACHINE_START(AT91SAM9260EK, "Atmel AT91SAM9260-EK")
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/board-sam9261ek.c linux-2.6/arch/arm/mach-at91/board-sam9261ek.c
---- linux-2.6.24/arch/arm/mach-at91/board-sam9261ek.c 2008-03-01 22:02:07.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-sam9261ek.c 2008-03-04 21:05:58.000000000 +0200
-@@ -26,6 +26,8 @@
- #include <linux/platform_device.h>
- #include <linux/spi/spi.h>
- #include <linux/spi/ads7846.h>
-+#include <linux/spi/at73c213.h>
-+#include <linux/clk.h>
- #include <linux/dm9000.h>
- #include <linux/fb.h>
- #include <linux/gpio_keys.h>
-@@ -44,22 +46,12 @@
-
- #include <asm/arch/board.h>
- #include <asm/arch/gpio.h>
--#include <asm/arch/at91sam926x_mc.h>
-+#include <asm/arch/at91sam926x_smc.h>
-+#include <asm/arch/at91_shdwc.h>
-
- #include "generic.h"
-
-
--/*
-- * Serial port configuration.
-- * 0 .. 2 = USART0 .. USART2
-- * 3 = DBGU
-- */
--static struct at91_uart_config __initdata ek_uart_config = {
-- .console_tty = 0, /* ttyS0 */
-- .nr_tty = 1,
-- .tty_map = { 3, -1, -1, -1 } /* ttyS0, ..., ttyS3 */
--};
--
- static void __init ek_map_io(void)
- {
- /* Initialize processor: 18.432 MHz crystal */
-@@ -68,8 +60,11 @@
- /* Setup the LEDs */
- at91_init_leds(AT91_PIN_PA13, AT91_PIN_PA14);
-
-- /* Setup the serial ports and console */
-- at91_init_serial(&ek_uart_config);
-+ /* DGBU on ttyS0. (Rx & Tx only) */
-+ at91_register_uart(0, 0, 0);
-+
-+ /* set serial console to ttyS0 (ie, DBGU) */
-+ at91_set_serial_console(0);
- }
-
- static void __init ek_init_irq(void)
-@@ -239,6 +234,36 @@
- #endif
-
- /*
-+ * Audio
-+ */
-+static struct at73c213_board_info at73c213_data = {
-+ .ssc_id = 1,
-+ .shortname = "AT91SAM9261-EK external DAC",
-+};
-+
-+#if defined(CONFIG_SND_AT73C213) || defined(CONFIG_SND_AT73C213_MODULE)
-+static void __init at73c213_set_clk(struct at73c213_board_info *info)
-+{
-+ struct clk *pck2;
-+ struct clk *plla;
-+
-+ pck2 = clk_get(NULL, "pck2");
-+ plla = clk_get(NULL, "plla");
-+
-+ /* AT73C213 MCK Clock */
-+ at91_set_B_periph(AT91_PIN_PB31, 0); /* PCK2 */
-+
-+ clk_set_parent(pck2, plla);
-+ clk_set_rate(pck2, 12416000);
-+ clk_enable(pck2);
-+
-+ info->dac_clk = pck2;
-+}
-+#else
-+static void __init at73c213_set_clk(struct at73c213_board_info *info) {}
-+#endif
-+
-+/*
- * SPI devices
- */
- static struct spi_board_info ek_spi_devices[] = {
-@@ -256,6 +281,7 @@
- .bus_num = 0,
- .platform_data = &ads_info,
- .irq = AT91SAM9261_ID_IRQ0,
-+ .controller_data = (void *) AT91_PIN_PA28, /* CS pin */
- },
- #endif
- #if defined(CONFIG_MTD_AT91_DATAFLASH_CARD)
-@@ -271,6 +297,9 @@
- .chip_select = 3,
- .max_speed_hz = 10 * 1000 * 1000,
- .bus_num = 0,
-+ .mode = SPI_MODE_1,
-+ .platform_data = &at73c213_data,
-+ .controller_data = (void*) AT91_PIN_PA29, /* default for CS3 is PA6, but it must be PA29 */
- },
- #endif
- };
-@@ -280,6 +309,68 @@
- * LCD Controller
- */
- #if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE)
-+
-+#if defined(CONFIG_FB_ATMEL_STN)
-+
-+/* STN */
-+static struct fb_videomode at91_stn_modes[] = {
-+ {
-+ .name = "SP06Q002 @ 75",
-+ .refresh = 75,
-+ .xres = 320, .yres = 240,
-+ .pixclock = KHZ2PICOS(1440),
-+
-+ .left_margin = 1, .right_margin = 1,
-+ .upper_margin = 0, .lower_margin = 0,
-+ .hsync_len = 1, .vsync_len = 1,
-+
-+ .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
-+ .vmode = FB_VMODE_NONINTERLACED,
-+ },
-+};
-+
-+static struct fb_monspecs at91fb_default_stn_monspecs = {
-+ .manufacturer = "HIT",
-+ .monitor = "SP06Q002",
-+
-+ .modedb = at91_stn_modes,
-+ .modedb_len = ARRAY_SIZE(at91_stn_modes),
-+ .hfmin = 15000,
-+ .hfmax = 64000,
-+ .vfmin = 50,
-+ .vfmax = 150,
-+};
-+
-+#define AT91SAM9261_DEFAULT_STN_LCDCON2 (ATMEL_LCDC_MEMOR_LITTLE \
-+ | ATMEL_LCDC_DISTYPE_STNMONO \
-+ | ATMEL_LCDC_CLKMOD_ALWAYSACTIVE \
-+ | ATMEL_LCDC_IFWIDTH_4 \
-+ | ATMEL_LCDC_SCANMOD_SINGLE)
-+
-+static void at91_lcdc_stn_power_control(int on)
-+{
-+ /* backlight */
-+ if (on) { /* power up */
-+ at91_set_gpio_value(AT91_PIN_PC14, 0);
-+ at91_set_gpio_value(AT91_PIN_PC15, 0);
-+ } else { /* power down */
-+ at91_set_gpio_value(AT91_PIN_PC14, 1);
-+ at91_set_gpio_value(AT91_PIN_PC15, 1);
-+ }
-+}
-+
-+static struct atmel_lcdfb_info __initdata ek_lcdc_data = {
-+ .default_bpp = 1,
-+ .default_dmacon = ATMEL_LCDC_DMAEN,
-+ .default_lcdcon2 = AT91SAM9261_DEFAULT_STN_LCDCON2,
-+ .default_monspecs = &at91fb_default_stn_monspecs,
-+ .atmel_lcdfb_power_control = at91_lcdc_stn_power_control,
-+ .guard_time = 1,
-+};
-+
-+#else
-+
-+/* TFT */
- static struct fb_videomode at91_tft_vga_modes[] = {
- {
- .name = "TX09D50VM1CCA @ 60",
-@@ -296,7 +387,7 @@
- },
- };
-
--static struct fb_monspecs at91fb_default_monspecs = {
-+static struct fb_monspecs at91fb_default_tft_monspecs = {
- .manufacturer = "HIT",
- .monitor = "TX09D50VM1CCA",
-
-@@ -308,11 +399,11 @@
- .vfmax = 150,
- };
-
--#define AT91SAM9261_DEFAULT_LCDCON2 (ATMEL_LCDC_MEMOR_LITTLE \
-+#define AT91SAM9261_DEFAULT_TFT_LCDCON2 (ATMEL_LCDC_MEMOR_LITTLE \
- | ATMEL_LCDC_DISTYPE_TFT \
- | ATMEL_LCDC_CLKMOD_ALWAYSACTIVE)
-
--static void at91_lcdc_power_control(int on)
-+static void at91_lcdc_tft_power_control(int on)
- {
- if (on)
- at91_set_gpio_value(AT91_PIN_PA12, 0); /* power up */
-@@ -320,15 +411,16 @@
- at91_set_gpio_value(AT91_PIN_PA12, 1); /* power down */
- }
-
--/* Driver datas */
- static struct atmel_lcdfb_info __initdata ek_lcdc_data = {
-+ .lcdcon_is_backlight = true,
- .default_bpp = 16,
- .default_dmacon = ATMEL_LCDC_DMAEN,
-- .default_lcdcon2 = AT91SAM9261_DEFAULT_LCDCON2,
-- .default_monspecs = &at91fb_default_monspecs,
-- .atmel_lcdfb_power_control = at91_lcdc_power_control,
-+ .default_lcdcon2 = AT91SAM9261_DEFAULT_TFT_LCDCON2,
-+ .default_monspecs = &at91fb_default_tft_monspecs,
-+ .atmel_lcdfb_power_control = at91_lcdc_tft_power_control,
- .guard_time = 1,
- };
-+#endif
-
- #else
- static struct atmel_lcdfb_info __initdata ek_lcdc_data;
-@@ -342,25 +434,25 @@
- static struct gpio_keys_button ek_buttons[] = {
- {
- .gpio = AT91_PIN_PA27,
-- .keycode = BTN_0,
-+ .code = BTN_0,
- .desc = "Button 0",
- .active_low = 1,
- },
- {
- .gpio = AT91_PIN_PA26,
-- .keycode = BTN_1,
-+ .code = BTN_1,
- .desc = "Button 1",
- .active_low = 1,
- },
- {
- .gpio = AT91_PIN_PA25,
-- .keycode = BTN_2,
-+ .code = BTN_2,
- .desc = "Button 2",
- .active_low = 1,
- },
- {
- .gpio = AT91_PIN_PA24,
-- .keycode = BTN_3,
-+ .code = BTN_3,
- .desc = "Button 3",
- .active_low = 1,
- }
-@@ -397,6 +489,29 @@
- static void __init ek_add_device_buttons(void) {}
- #endif
-
-+/*
-+ * LEDs
-+ */
-+static struct gpio_led ek_leds[] = {
-+ { /* "bottom" led, green, userled1 to be defined */
-+ .name = "ds7",
-+ .gpio = AT91_PIN_PA14,
-+ .active_low = 1,
-+ .default_trigger = "none",
-+ },
-+ { /* "top" led, green, userled2 to be defined */
-+ .name = "ds8",
-+ .gpio = AT91_PIN_PA13,
-+ .active_low = 1,
-+ .default_trigger = "none",
-+ },
-+ { /* "power" led, yellow */
-+ .name = "ds1",
-+ .gpio = AT91_PIN_PA23,
-+ .default_trigger = "heartbeat",
-+ }
-+};
-+
- static void __init ek_board_init(void)
- {
- /* Serial */
-@@ -418,6 +533,9 @@
- at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices));
- /* Touchscreen */
- ek_add_device_ts();
-+ /* SSC (to AT73C213) */
-+ at73c213_set_clk(&at73c213_data);
-+ at91_add_device_ssc(AT91SAM9261_ID_SSC1, ATMEL_SSC_TX);
- #else
- /* MMC */
- at91_add_device_mmc(0, &ek_mmc_data);
-@@ -426,6 +544,11 @@
- at91_add_device_lcdc(&ek_lcdc_data);
- /* Push Buttons */
- ek_add_device_buttons();
-+ /* LEDs */
-+ at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
-+ /* shutdown controller, wakeup button (5 msec low) */
-+ at91_sys_write(AT91_SHDW_MR, AT91_SHDW_CPTWK0_(10) | AT91_SHDW_WKMODE0_LOW
-+ | AT91_SHDW_RTTWKEN);
- }
-
- MACHINE_START(AT91SAM9261EK, "Atmel AT91SAM9261-EK")
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/board-sam9263ek.c linux-2.6/arch/arm/mach-at91/board-sam9263ek.c
---- linux-2.6.24/arch/arm/mach-at91/board-sam9263ek.c 2008-03-01 22:02:07.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-sam9263ek.c 2008-03-01 20:41:13.000000000 +0200
-@@ -27,6 +27,8 @@
- #include <linux/spi/spi.h>
- #include <linux/spi/ads7846.h>
- #include <linux/fb.h>
-+#include <linux/gpio_keys.h>
-+#include <linux/input.h>
-
- #include <video/atmel_lcdc.h>
-
-@@ -41,29 +43,24 @@
-
- #include <asm/arch/board.h>
- #include <asm/arch/gpio.h>
--#include <asm/arch/at91sam926x_mc.h>
-+#include <asm/arch/at91_shdwc.h>
-
- #include "generic.h"
-
-
--/*
-- * Serial port configuration.
-- * 0 .. 2 = USART0 .. USART2
-- * 3 = DBGU
-- */
--static struct at91_uart_config __initdata ek_uart_config = {
-- .console_tty = 0, /* ttyS0 */
-- .nr_tty = 2,
-- .tty_map = { 3, 0, -1, -1, } /* ttyS0, ..., ttyS3 */
--};
--
- static void __init ek_map_io(void)
- {
- /* Initialize processor: 16.367 MHz crystal */
- at91sam9263_initialize(16367660);
-
-- /* Setup the serial ports and console */
-- at91_init_serial(&ek_uart_config);
-+ /* DGBU on ttyS0. (Rx & Tx only) */
-+ at91_register_uart(0, 0, 0);
-+
-+ /* USART0 on ttyS1. (Rx, Tx, RTS, CTS) */
-+ at91_register_uart(AT91SAM9263_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS);
-+
-+ /* set serial console to ttyS0 (ie, DBGU) */
-+ at91_set_serial_console(0);
- }
-
- static void __init ek_init_irq(void)
-@@ -163,6 +160,7 @@
- * MACB Ethernet device
- */
- static struct at91_eth_data __initdata ek_macb_data = {
-+ .phy_irq_pin = AT91_PIN_PE31,
- .is_rmii = 1,
- };
-
-@@ -242,14 +240,12 @@
-
- static void at91_lcdc_power_control(int on)
- {
-- if (on)
-- at91_set_gpio_value(AT91_PIN_PD12, 0); /* power up */
-- else
-- at91_set_gpio_value(AT91_PIN_PD12, 1); /* power down */
-+ at91_set_gpio_value(AT91_PIN_PA30, on);
- }
-
- /* Driver datas */
- static struct atmel_lcdfb_info __initdata ek_lcdc_data = {
-+ .lcdcon_is_backlight = true,
- .default_bpp = 16,
- .default_dmacon = ATMEL_LCDC_DMAEN,
- .default_lcdcon2 = AT91SAM9263_DEFAULT_LCDCON2,
-@@ -264,6 +260,55 @@
-
-
- /*
-+ * GPIO Buttons
-+ */
-+#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
-+static struct gpio_keys_button ek_buttons[] = {
-+ { /* BP1, "leftclic" */
-+ .code = BTN_LEFT,
-+ .gpio = AT91_PIN_PC5,
-+ .active_low = 1,
-+ .desc = "left_click",
-+ .wakeup = 1,
-+ },
-+ { /* BP2, "rightclic" */
-+ .code = BTN_RIGHT,
-+ .gpio = AT91_PIN_PC4,
-+ .active_low = 1,
-+ .desc = "right_click",
-+ .wakeup = 1,
-+ },
-+};
-+
-+static struct gpio_keys_platform_data ek_button_data = {
-+ .buttons = ek_buttons,
-+ .nbuttons = ARRAY_SIZE(ek_buttons),
-+};
-+
-+static struct platform_device ek_button_device = {
-+ .name = "gpio-keys",
-+ .id = -1,
-+ .num_resources = 0,
-+ .dev = {
-+ .platform_data = &ek_button_data,
-+ }
-+};
-+
-+static void __init ek_add_device_buttons(void)
-+{
-+ at91_set_GPIO_periph(AT91_PIN_PC5, 0); /* left button */
-+ at91_set_deglitch(AT91_PIN_PC5, 1);
-+ at91_set_GPIO_periph(AT91_PIN_PC4, 0); /* right button */
-+ at91_set_deglitch(AT91_PIN_PC4, 1);
-+
-+ platform_device_register(&ek_button_device);
-+}
-+#else
-+static void __init ek_add_device_buttons(void) {}
-+#endif
-+
-+
-+/*
- * AC97
- */
- static struct atmel_ac97_data ek_ac97_data = {
-@@ -271,6 +316,30 @@
- };
-
-
-+/*
-+ * LEDs ... these could all be PWM-driven, for variable brightness
-+ */
-+static struct gpio_led ek_leds[] = {
-+ { /* "left" led, green, userled1, pwm1 */
-+ .name = "ds1",
-+ .gpio = AT91_PIN_PB8,
-+ .active_low = 1,
-+ .default_trigger = "mmc0",
-+ },
-+ { /* "right" led, green, userled2, pwm2 */
-+ .name = "ds2",
-+ .gpio = AT91_PIN_PC29,
-+ .active_low = 1,
-+ .default_trigger = "nand-disk",
-+ },
-+ { /* "power" led, yellow, pwm0 */
-+ .name = "ds3",
-+ .gpio = AT91_PIN_PB7,
-+ .default_trigger = "heartbeat",
-+ }
-+};
-+
-+
- static void __init ek_board_init(void)
- {
- /* Serial */
-@@ -294,8 +363,15 @@
- at91_add_device_i2c(NULL, 0);
- /* LCD Controller */
- at91_add_device_lcdc(&ek_lcdc_data);
-+ /* Push Buttons */
-+ ek_add_device_buttons();
- /* AC97 */
- at91_add_device_ac97(&ek_ac97_data);
-+ /* LEDs */
-+ at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
-+ /* shutdown controller, wakeup button (5 msec low) */
-+ at91_sys_write(AT91_SHDW_MR, AT91_SHDW_CPTWK0_(10) | AT91_SHDW_WKMODE0_LOW
-+ | AT91_SHDW_RTTWKEN);
- }
-
- MACHINE_START(AT91SAM9263EK, "Atmel AT91SAM9263-EK")
-diff -urN -x CVS linux-2.6.24/arch/arm/mach-at91/board-sam9rlek.c linux-2.6/arch/arm/mach-at91/board-sam9rlek.c
---- linux-2.6.24/arch/arm/mach-at91/board-sam9rlek.c 2008-03-01 22:02:07.000000000 +0200
-+++ linux-2.6/arch/arm/mach-at91/board-sam9rlek.c 2008-03-01 20:39:17.000000000 +0200
-@@ -29,29 +29,24 @@
-
- #include <asm/arch/board.h>
- #include <asm/arch/gpio.h>
--#include <asm/arch/at91sam926x_mc.h>
-+#include <asm/arch/at91_shdwc.h>
-
- #include "generic.h"
-
-
--/*
-- * Serial port configuration.
-- * 0 .. 3 = USART0 .. USART3
-- * 4 = DBGU
-- */
--static struct at91_uart_config __initdata ek_uart_config = {
-- .console_tty = 0, /* ttyS0 */
-- .nr_tty = 2,
-- .tty_map = { 4, 0, -1, -1, -1 } /* ttyS0, ..., ttyS4 */
--};
--
- static void __init ek_map_io(void)
- {
- /* Initialize processor: 12.000 MHz crystal */
- at91sam9rl_initialize(12000000);
- <