diff -Naur linux-2.6.30.4-orig/arch/arm/configs/ooma_darwin_defconfig linux-2.6.30.4-new/arch/arm/configs/ooma_darwin_defconfig
--- linux-2.6.30.4-orig/arch/arm/configs/ooma_darwin_defconfig	1969-12-31 16:00:00.000000000 -0800
+++ linux-2.6.30.4-new/arch/arm/configs/ooma_darwin_defconfig	2010-09-02 16:50:02.217543000 -0700
@@ -0,0 +1,1349 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.21.1
+# Mon Sep 22 16:05:52 2008
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+# CONFIG_GENERIC_GPIO is not set
+# 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=y
+# CONFIG_BSD_PROCESS_ACCT_V3 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=y
+# CONFIG_RELAY is not set
+# CONFIG_BLK_DEV_INITRD is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+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_EPOLL=y
+# CONFIG_SHMEM is not set
+CONFIG_SLAB=y
+# CONFIG_VM_EVENT_COUNTERS is not set
+CONFIG_RT_MUTEXES=y
+CONFIG_TINY_SHMEM=y
+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 is not set
+
+#
+# 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 is not set
+# 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_COMCERTO=y
+# 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
+
+#
+# Comcerto Implementation Options
+#
+CONFIG_ARCH_M821XX=y
+# CONFIG_ARCH_M825XX1 is not set
+# CONFIG_ARCH_M825XX2 is not set
+# CONFIG_ARCH_M828XX is not set
+# CONFIG_ARCH_M829XX is not set
+# CONFIG_ARCH_M822XX is not set
+# CONFIG_EVM_MOMBASA is not set
+# CONFIG_EVM_MALINDI is not set
+# CONFIG_EVM_VIKING is not set
+# CONFIG_EVM_SUPERMOMBASA is not set
+# CONFIG_EVM_ASIC is not set
+# CONFIG_EVM_ROUTER is not set
+# CONFIG_EVM_PACKET_IAD is not set
+# CONFIG_EVM_FEROUTER is not set
+CONFIG_EVM_OOMA_DARWIN=y
+# CONFIG_COMCERTO_TDM_CLOCK_2MHZ is not set
+# CONFIG_COMCERTO_TDM_CLOCK_8MHZ is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_V6=y
+# CONFIG_CPU_32v6K is not set
+CONFIG_CPU_32v6=y
+CONFIG_CPU_ABRT_EV6=y
+CONFIG_CPU_CACHE_V6=y
+CONFIG_CPU_CACHE_VIPT=y
+CONFIG_CPU_COPY_V6=y
+CONFIG_CPU_TLB_V6=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_BPREDICT_DISABLE is not set
+CONFIG_OUTER_CACHE=y
+CONFIG_CACHE_L2X0=y
+
+#
+# Bus support
+#
+# CONFIG_PCI is not set
+
+#
+# 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=4
+# CONFIG_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/mtdblock2"
+# 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
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+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=y
+CONFIG_IP_FASTFORWARD=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_ASK_IP_FIB_HASH=y
+# CONFIG_IP_FIB_TRIE is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_MULTIPATH_CACHED=y
+# CONFIG_IP_ROUTE_MULTIPATH_RR is not set
+# CONFIG_IP_ROUTE_MULTIPATH_RANDOM is not set
+# CONFIG_IP_ROUTE_MULTIPATH_WRANDOM is not set
+# CONFIG_IP_ROUTE_MULTIPATH_DRR is not set
+# CONFIG_IP_ROUTE_VERBOSE is not set
+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=y
+CONFIG_NET_IPGRE=y
+# CONFIG_NET_IPGRE_BROADCAST is not set
+CONFIG_IP_MROUTE=y
+# CONFIG_IP_PIMSM_V1 is not set
+# CONFIG_IP_PIMSM_V2 is not set
+CONFIG_ARPD=y
+# CONFIG_SYN_COOKIES is not set
+CONFIG_INET_AH=y
+CONFIG_INET_ESP=y
+CONFIG_INET_IPSEC_OFFLOAD=y
+CONFIG_INET_IPCOMP=y
+CONFIG_INET_XFRM_TUNNEL=y
+CONFIG_INET_TUNNEL=y
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+# CONFIG_INET_XFRM_MODE_BEET is not set
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_PTCAP=y
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=y
+# CONFIG_IPV6_PRIVACY is not set
+CONFIG_IPV6_ROUTER_PREF=y
+# CONFIG_IPV6_ROUTE_INFO is not set
+CONFIG_INET6_AH=y
+CONFIG_INET6_ESP=y
+CONFIG_INET6_IPSEC_OFFLOAD=y
+CONFIG_INET6_IPCOMP=y
+# CONFIG_IPV6_MIP6 is not set
+CONFIG_INET6_XFRM_TUNNEL=y
+CONFIG_INET6_TUNNEL=y
+CONFIG_INET6_XFRM_MODE_TRANSPORT=y
+CONFIG_INET6_XFRM_MODE_TUNNEL=y
+# CONFIG_INET6_XFRM_MODE_BEET is not set
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=y
+CONFIG_IPV6_SIT=y
+# CONFIG_IPV6_TUNNEL is not set
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+CONFIG_IPV6_ETHERIP=y
+# CONFIG_NETWORK_SECMARK is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=y
+# CONFIG_NETFILTER_NETLINK_QUEUE is not set
+# CONFIG_NETFILTER_NETLINK_LOG is not set
+CONFIG_NF_CONNTRACK_ENABLED=y
+CONFIG_NF_CONNTRACK_SUPPORT=y
+# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set
+CONFIG_NF_CONNTRACK=y
+CONFIG_NF_CT_ACCT=y
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CT_PROTO_SCTP=y
+CONFIG_NF_CONNTRACK_AMANDA=y
+CONFIG_NF_CONNTRACK_FTP=y
+# CONFIG_NF_CONNTRACK_H323 is not set
+# CONFIG_NF_CONNTRACK_IRC is not set
+# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
+# CONFIG_NF_CONNTRACK_PPTP is not set
+# CONFIG_NF_CONNTRACK_SANE is not set
+# CONFIG_NF_CONNTRACK_SIP is not set
+# CONFIG_NF_CONNTRACK_TFTP is not set
+CONFIG_NF_CT_NETLINK=y
+CONFIG_NETFILTER_XTABLES=y
+CONFIG_NETFILTER_XT_TARGET_CHAOS=y
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
+CONFIG_NETFILTER_XT_TARGET_DELUDE=y
+CONFIG_NETFILTER_XT_TARGET_DSCP=y
+CONFIG_NETFILTER_XT_TARGET_MARK=y
+# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
+# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=y
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
+# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
+# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
+# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
+CONFIG_NETFILTER_XT_MATCH_ESP=y
+CONFIG_NETFILTER_XT_MATCH_HELPER=y
+CONFIG_NETFILTER_XT_MATCH_LENGTH=y
+CONFIG_NETFILTER_XT_MATCH_LIMIT=y
+CONFIG_NETFILTER_XT_MATCH_MAC=y
+CONFIG_NETFILTER_XT_MATCH_MARK=y
+CONFIG_NETFILTER_XT_MATCH_POLICY=y
+CONFIG_NETFILTER_XT_MATCH_PORTSCAN=y
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
+# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
+# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
+# CONFIG_NETFILTER_XT_MATCH_REALM is not set
+# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
+CONFIG_NETFILTER_XT_MATCH_STATE=y
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
+CONFIG_NETFILTER_XT_MATCH_STRING=y
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
+# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV4=y
+CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+CONFIG_IP_NF_QUEUE=y
+CONFIG_IP_NF_IPTABLES=y
+CONFIG_IP_NF_MATCH_IPRANGE=y
+CONFIG_IP_NF_MATCH_LAYER7=y
+# CONFIG_IP_NF_MATCH_LAYER7_DEBUG is not set
+# CONFIG_IP_NF_MATCH_IPP2P is not set
+CONFIG_IP_NF_MATCH_TOS=y
+CONFIG_IP_NF_MATCH_TIME=y
+CONFIG_IP_NF_MATCH_RECENT=y
+CONFIG_IP_NF_MATCH_ECN=y
+CONFIG_IP_NF_MATCH_AH=y
+CONFIG_IP_NF_MATCH_TTL=y
+CONFIG_IP_NF_MATCH_OWNER=y
+CONFIG_IP_NF_MATCH_ADDRTYPE=y
+CONFIG_IP_NF_FILTER=y
+CONFIG_IP_NF_TARGET_REJECT=y
+CONFIG_IP_NF_TARGET_LOG=y
+CONFIG_IP_NF_TARGET_ULOG=y
+CONFIG_NF_NAT=y
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=y
+CONFIG_IP_NF_TARGET_REDIRECT=y
+CONFIG_IP_NF_TARGET_NETMAP=y
+CONFIG_IP_NF_TARGET_SAME=y
+# CONFIG_NF_NAT_SNMP_BASIC is not set
+CONFIG_NF_NAT_FTP=y
+# CONFIG_NF_NAT_IRC is not set
+# CONFIG_NF_NAT_TFTP is not set
+CONFIG_NF_NAT_AMANDA=y
+# CONFIG_NF_NAT_PPTP is not set
+# CONFIG_NF_NAT_H323 is not set
+# CONFIG_NF_NAT_SIP is not set
+CONFIG_IP_NF_MANGLE=y
+CONFIG_IP_NF_TARGET_IMQ=y
+CONFIG_IP_NF_TARGET_TOS=y
+CONFIG_IP_NF_TARGET_ECN=y
+CONFIG_IP_NF_TARGET_TTL=y
+# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
+CONFIG_IP_NF_RAW=y
+# CONFIG_IP_NF_ARPTABLES is not set
+CONFIG_IP_NF_SET=y
+CONFIG_IP_NF_SET_MAX=256
+CONFIG_IP_NF_SET_HASHSIZE=1024
+CONFIG_IP_NF_SET_IPMAP=y
+CONFIG_IP_NF_SET_MACIPMAP=y
+CONFIG_IP_NF_SET_PORTMAP=y
+CONFIG_IP_NF_SET_IPHASH=y
+CONFIG_IP_NF_SET_NETHASH=y
+CONFIG_IP_NF_SET_IPPORTHASH=y
+CONFIG_IP_NF_SET_IPTREE=y
+CONFIG_IP_NF_MATCH_SET=y
+CONFIG_IP_NF_TARGET_SET=y
+CONFIG_IP_NF_TARGET_ROUTE=y
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+CONFIG_NF_CONNTRACK_IPV6=y
+CONFIG_IP6_NF_QUEUE=y
+CONFIG_IP6_NF_IPTABLES=y
+# CONFIG_IP6_NF_MATCH_RT is not set
+# CONFIG_IP6_NF_MATCH_OPTS is not set
+# CONFIG_IP6_NF_MATCH_FRAG is not set
+# CONFIG_IP6_NF_MATCH_HL is not set
+CONFIG_IP6_NF_MATCH_OWNER=y
+# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set
+CONFIG_IP6_NF_MATCH_AH=y
+CONFIG_IP6_NF_MATCH_MH=y
+CONFIG_IP6_NF_MATCH_EUI64=y
+CONFIG_IP6_NF_FILTER=y
+# CONFIG_IP6_NF_TARGET_LOG is not set
+CONFIG_IP6_NF_TARGET_REJECT=y
+CONFIG_IP6_NF_MANGLE=y
+CONFIG_IP6_NF_TARGET_IMQ=y
+# CONFIG_IP6_NF_TARGET_HL is not set
+CONFIG_IP6_NF_RAW=y
+CONFIG_IP6_NF_TARGET_ROUTE=y
+
+#
+# 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=y
+CONFIG_NET_SCH_FIFO=y
+CONFIG_NET_SCH_CLK_JIFFIES=y
+# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
+# CONFIG_NET_SCH_CLK_CPU is not set
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=y
+CONFIG_NET_SCH_HTB=y
+# CONFIG_NET_SCH_HFSC is not set
+# CONFIG_NET_SCH_PRIO is not set
+CONFIG_NET_SCH_RED=y
+# CONFIG_NET_SCH_SFQ is not set
+# CONFIG_NET_SCH_ESFQ is not set
+# CONFIG_NET_SCH_TEQL is not set
+CONFIG_NET_SCH_TBF=y
+# CONFIG_NET_SCH_GRED is not set
+CONFIG_NET_SCH_DSMARK=y
+# CONFIG_NET_SCH_NETEM is not set
+# CONFIG_NET_SCH_INGRESS is not set
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=y
+CONFIG_NET_CLS_TCINDEX=y
+CONFIG_NET_CLS_ROUTE4=y
+CONFIG_NET_CLS_ROUTE=y
+CONFIG_NET_CLS_FW=y
+# CONFIG_NET_CLS_U32 is not set
+# CONFIG_NET_CLS_RSVP is not set
+# CONFIG_NET_CLS_RSVP6 is not set
+# CONFIG_NET_EMATCH is not set
+# CONFIG_NET_CLS_ACT is not set
+CONFIG_NET_CLS_POLICE=y
+# CONFIG_NET_CLS_IND is not set
+CONFIG_NET_ESTIMATOR=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_IEEE80211 is not set
+CONFIG_FIB_RULES=y
+
+#
+# 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
+
+#
+# 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
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_SPLIT_ROOTFS=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=y
+# CONFIG_MTD_JEDECPROBE is not set
+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
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+CONFIG_MTD_COMCERTO_NOR=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 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=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+CONFIG_BLK_DEV_NBD=y
+# 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
+
+#
+# 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 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_NET_COMCERTO=y
+CONFIG_COMCERTO_ETH=y
+CONFIG_COMCERTO_FPP=m
+CONFIG_COMCERTO_VED=y
+CONFIG_COMCERTO_MSP_HOTPLUG=y
+CONFIG_COMCERTO_MSP_COREDUMP=y
+CONFIG_NETDEVICES=y
+CONFIG_DUMMY=y
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_IMQ=m
+# CONFIG_IMQ_BEHAVIOR_AA is not set
+# CONFIG_IMQ_BEHAVIOR_AB is not set
+CONFIG_IMQ_BEHAVIOR_BA=y
+# CONFIG_IMQ_BEHAVIOR_BB is not set
+CONFIG_IMQ_NUM_DEVS=2
+CONFIG_TUN=y
+
+#
+# PHY device support
+#
+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_FIXED_PHY is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=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 is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=y
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+# CONFIG_PPP_ASYNC is not set
+# 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=y
+# 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 is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG 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 is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# SPI2 support
+#
+CONFIG_SPI_MSPD=y
+
+#
+# SPI Hardware Bus support
+#
+CONFIG_COMCERTO_SPI=y
+
+#
+# SPI devices support
+#
+# CONFIG_SPI_SI3220 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
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+CONFIG_USB_ARCH_HAS_EHCI=y
+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_EHCI_HCD=y
+CONFIG_USB_EHCI_SPLIT_ISO=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# 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=y
+
+#
+# USB Input Devices
+#
+
+#
+# USB HID Boot Protocol drivers
+#
+
+#
+# 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 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_SISUSBVGA 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
+
+#
+# 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_MINI_FO 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 is not set
+# 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 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 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=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE is not set
+# CONFIG_CRAMFS is not set
+CONFIG_SQUASHFS=y
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC 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 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 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=y
+# 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_LOG_BUF_SHIFT=16
+CONFIG_DETECT_SOFTLOCKUP=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=y
+# 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=y
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_LIST is not set
+CONFIG_FRAME_POINTER=y
+CONFIG_FORCED_INLINING=y
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_DEBUG_USER=y
+CONFIG_DEBUG_ERRORS=y
+CONFIG_DEBUG_LL=y
+# CONFIG_DEBUG_ICEDCC is not set
+
+#
+# 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_HASH=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_XCBC is not set
+CONFIG_CRYPTO_NULL=y
+CONFIG_CRYPTO_MD4=y
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=y
+# 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=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=y
+# 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=y
+# 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
+#
+
+#
+# OCF Configuration
+#
+# CONFIG_OCF_OCF is not set
+
+#
+# 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_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=y
+CONFIG_TEXTSEARCH_BM=y
+CONFIG_TEXTSEARCH_FSM=y
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+
+#
+# ooma Kernel Stuff
+#
+CONFIG_KERNEL_OOMA_HUB_DRIVER=y
+CONFIG_KERNEL_OOMA_LEGERITY_DRIVER=m
+CONFIG_KERNEL_OOMA_FRONT_PANEL_DRIVER=m
diff -Naur linux-2.6.30.4-orig/arch/arm/mach-comcerto/board-ooma_darwin.c linux-2.6.30.4-new/arch/arm/mach-comcerto/board-ooma_darwin.c
--- linux-2.6.30.4-orig/arch/arm/mach-comcerto/board-ooma_darwin.c	1969-12-31 16:00:00.000000000 -0800
+++ linux-2.6.30.4-new/arch/arm/mach-comcerto/board-ooma_darwin.c	2010-09-02 16:38:07.912269000 -0700
@@ -0,0 +1,591 @@
+/*
+ * linux/arch/arm/mach-comcerto/board-ooma-darwin.c
+ *
+ *  Copyright (C) 2008, 2009  Ooma, Inc.
+ *
+ * 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/kernel.h>
+#include <linux/init.h>
+#include <linux/device.h>
+
+#include <linux/platform_device.h>
+#include <linux/mtd/mtd.h>
+#include <linux/mtd/partitions.h>
+
+#include <linux/serial.h>
+#include <linux/serial_8250.h>
+#include <linux/slab.h>
+#include <linux/spi/spi.h>
+#include <linux/spi/flash.h>
+
+#include <asm/types.h>
+#include <asm/setup.h>
+#include <asm/memory.h>
+#include <mach/hardware.h>
+#include <asm/mach-types.h>
+#include <asm/io.h>
+#include <asm/irq.h>
+#include <asm/mach/arch.h>
+#include <asm/mach/flash.h>
+
+#include <mach/irqs.h>
+#include <mach/comcerto-timers.h>
+#include <mach/comcerto-devices.h>
+extern void comcerto_map_io (void);
+extern void comcerto_init_irq (void);
+extern struct sys_timer comcerto_timer;
+extern void device_init(void);
+
+/************************************************************************
+ * Ressources declaration
+ *
+ ************************************************************************/
+
+/********************* 
+ *  Serial interface
+ *********************/
+static struct resource comcerto_uart_resources[] = {
+	{
+	.start = COMCERTO_APB_UART0_BASE,
+	.end = COMCERTO_APB_UART0_BASE + SZ_16K -1,
+	.flags = IORESOURCE_MEM
+	},
+	{
+	.start = COMCERTO_APB_UART1_BASE,
+	.end = COMCERTO_APB_UART1_BASE + SZ_16K -1,
+	.flags = IORESOURCE_MEM
+	}
+};
+
+static struct plat_serial8250_port comcerto_uart_data[] = {
+	{
+		.mapbase	= COMCERTO_APB_UART0_BASE,
+		.membase	= (char *)APB_VADDR(COMCERTO_APB_UART0_BASE),
+		.irq	= IRQ_UART0 + 32,
+		.flags	= UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
+		.iotype	= UPIO_MEM,
+		.regshift	= 2,
+		.uartclk	= COMCERTO_AHBCLK * 1000 * 1000,
+	},
+	{
+		.mapbase	= COMCERTO_APB_UART1_BASE,
+		.membase	= (char *)APB_VADDR(COMCERTO_APB_UART1_BASE),
+		.irq	= IRQ_UART1 + 32,
+		.flags	= UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
+		.iotype	= UPIO_MEM,
+		.regshift	= 2,
+		.uartclk	= COMCERTO_AHBCLK * 1000 * 1000,
+	},
+	{ },
+};
+
+static struct platform_device comcerto_uart = {
+	.name = "serial8250",
+	.id = PLAT8250_DEV_PLATFORM,
+	.dev = {
+		.platform_data	= comcerto_uart_data,
+	},
+		.num_resources		= 2,
+	.resource		= comcerto_uart_resources
+};
+
+/********************* 
+ *  SPI
+ *********************/ 
+
+static struct resource comcerto_spi_resources[] = {
+	{
+	 .start = COMCERTO_APB_SPI_BASE,
+	 .end = COMCERTO_APB_SPI_BASE + SZ_4K - 1,
+	 .flags = IORESOURCE_MEM,
+	 },
+	{
+	 .start = IRQ_SPI,
+	 .flags = IORESOURCE_IRQ,
+	 }
+};
+
+static struct platform_device comcerto_spi_device = {
+	.name = "comcerto-spi",
+	.id = 0,
+	.num_resources = ARRAY_SIZE(comcerto_spi_resources),
+	.resource = comcerto_spi_resources,
+};
+
+static struct mtd_partition ooma_spi_flash_partitions[] = {
+      {
+              .name = "bootloader(spi)",
+              .size = 0x8000,
+              .offset = 0,
+	      .mask_flags = 0,
+      }, {
+              .name = "Config",
+              .size = 0x8000,
+              .offset = 0x8000,
+	      .mask_flags = MTD_WRITEABLE,
+      }, {
+	      .name = "uboot(spi)",
+	      .size = 0x60000,
+	      .offset = 0x10000,
+	      .mask_flags = 0,
+      }, {
+	      .name = "env(spi)",
+	      .size = 0x4000,
+	      .offset = 0x70000,
+	      .mask_flags = 0,
+      }, {
+	      .name = "env2(spi)",
+	      .size = 0x4000,
+	      .offset = 0x74000,
+	      .mask_flags = 0,
+      }
+};
+
+static struct spi_flash_platform_data ooma_spi_flash_data = {
+      .name = "spi flash",
+      .parts = ooma_spi_flash_partitions,
+      .nr_parts = ARRAY_SIZE(ooma_spi_flash_partitions),
+};
+
+static struct spi_board_info spi_board_info[] = {
+      {
+              .modalias = "m25p80",
+              .max_speed_hz = 2000000,
+              .chip_select = 0, /* SS0 */
+              .mode = SPI_CPOL | SPI_CPHA,
+              .controller_data = (void *)GPIO_3, /* use GPIO 3 */
+              .platform_data = &ooma_spi_flash_data
+      }
+};
+
+static struct platform_device spi2spi_device = {
+      .name = "spi2spi",
+      .id = 0,
+      .dev = {
+              .platform_data  = &comcerto_spi_device,
+      },
+};
+ 
+/********************* 
+ *  NOR Flash
+ *********************/
+static struct flash_platform_data ooma_darwin_flash_data = {
+  .map_name	= "cfi_probe",
+  .width	= 2,
+};
+
+static struct resource ooma_darwin_flash_resource = {
+  .start	= NORFLASH_MEMORY_PHY1,
+  .end		= NORFLASH_MEMORY_PHY1 + SZ_16M - 1,
+  .flags	= IORESOURCE_MEM,
+};
+
+static struct platform_device ooma_darwin_flash_device = {
+  .name		= "comcertoflash",
+  .id		= 0,
+   .dev		= {
+    .platform_data	= &ooma_darwin_flash_data,
+  },
+  .num_resources	= 1,
+  .resource	= &ooma_darwin_flash_resource,
+};
+
+
+
+/********************* 
+ *  NAND / SmartMedia
+ *********************/
+
+static struct resource comcerto_nand_resources[] = {
+	{
+		.start	= COMCERTO_NAND_FIO_ADDR,
+		.end	= COMCERTO_NAND_FIO_ADDR + COMCERTO_NAND_IO_SZ - 1,
+		.flags	= IORESOURCE_MEM,
+	}
+};
+
+static struct platform_device comcerto_nand_device = {
+	.name		= "comcertonand",
+	.id		= -1,
+	.dev		= {
+				.platform_data	= NULL,
+	},
+	.resource	= comcerto_nand_resources,
+	.num_resources	= ARRAY_SIZE(comcerto_nand_resources),
+};
+
+/***************************************** 
+ *  EHCI (USB high speed host controller)
+ *****************************************/
+static struct resource ehci_m821xx_usb0_resources[] = {
+	[0] = {
+		.start  = COMCERTO_AHB_USB0_BASE, 
+	    	.end    = COMCERTO_AHB_USB0_BASE + SZ_8M -1,
+	    	.flags  = IORESOURCE_MEM,
+	},
+	[1] = {
+		.start  = IRQ_USB0,
+		.end  = IRQ_USB0,
+	    	.flags  = IORESOURCE_IRQ,
+	},
+};
+
+#ifndef CONFIG_ARCH_M822XX
+static struct resource ehci_m821xx_usb1_resources[] = {
+	[0] = {
+		.start  = COMCERTO_AHB_USB1_BASE, 
+	    	.end    = COMCERTO_AHB_USB1_BASE + SZ_8M -1,
+	    	.flags  = IORESOURCE_MEM,
+	},
+	[1] = {
+		.start  = IRQ_USB1,
+		.end  = IRQ_USB1,
+	    	.flags  = IORESOURCE_IRQ,
+	},
+};
+#endif
+
+static u64 ehci_dmamask = 0xfffff000;
+static struct platform_device ehci_m821xx_usb0_device = {
+	.name		= "m821xx-ehci",
+	.id		= 1,
+	.dev = {
+		.dma_mask		= &ehci_dmamask,
+		.coherent_dma_mask	= 0xffffffff,
+	},
+	.num_resources	= ARRAY_SIZE(ehci_m821xx_usb0_resources),
+	.resource	= ehci_m821xx_usb0_resources,
+};
+
+#ifndef CONFIG_ARCH_M822XX
+static struct platform_device ehci_m821xx_usb1_device = {
+	.name		= "m821xx-ehci",
+	.id		= 2,
+	.dev = {
+		.dma_mask		= &ehci_dmamask,
+		.coherent_dma_mask	= 0xffffffff,
+	},
+	.num_resources	= ARRAY_SIZE(ehci_m821xx_usb1_resources),
+	.resource	= ehci_m821xx_usb1_resources,
+};
+#endif
+
+/********************* 
+ * IPsec
+ *********************/
+
+static struct resource comcerto_elp_resources[] = {
+  {
+    .name		= "elp",	
+    .start		= COMCERTO_IPSEC_BASE,
+    .end		= COMCERTO_IPSEC_BASE + SZ_16M  - 1,
+    .flags		= IORESOURCE_MEM
+  },
+  {
+    .name		= "irq_wrp",
+    .start		= IRQ_IPSEC_WRAP,
+    .end		= IRQ_IPSEC_WRAP,
+    .flags		= IORESOURCE_IRQ
+  },
+  {
+    .name		= "aram",
+    .start		= COMCERTO_ARAM_BASE + ARAM_MEMORY_SIZE - SZ_8K, 
+    .end		= COMCERTO_ARAM_BASE + ARAM_MEMORY_SIZE -1,
+    .flags		= IORESOURCE_MEM
+  }
+
+};
+
+
+static struct platform_device  comcerto_elp_device = {
+	.name			= "Elliptic-IPsec EAOE",
+	.id			= 0,
+	.num_resources		= 3,
+	.resource		= comcerto_elp_resources,
+	.dev = {
+		.coherent_dma_mask	= 0xffffffff,
+	},
+};
+
+/* --------------------------------------------------------------------
+ *  Network
+ * -------------------------------------------------------------------- */
+
+u8 eth0_def_mac[6] = { 0x00, 0xED, 0xCD, 0xEF, 0xAA, 0xCC };
+u8 eth2_def_mac[6] = { 0x00, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E };
+
+struct comcerto_eth_platform_data comcerto_gem0_pdata = {
+	.name = "eth0",
+	.mii_config = CONFIG_COMCERTO_USE_MII,
+	.gemac_mode = GEMAC_SW_CONF | GEMAC_SW_FULL_DUPLEX | GEMAC_SW_SPEED_100M,
+	.phy_flags = 0,
+	.bus_id = "0",
+	.phy_id = 0xf,
+	.gem_id = 0,
+	.mac_addr = (u8[]){ 0x00, 0xED, 0xCD, 0xEF, 0xAA, 0xCC },
+};
+
+struct comcerto_eth_platform_data comcerto_gem1_pdata = {
+	.name = "eth2",
+	.mii_config = CONFIG_COMCERTO_USE_MII,
+	.gemac_mode = GEMAC_SW_CONF | GEMAC_SW_FULL_DUPLEX | GEMAC_SW_SPEED_100M,
+	.phy_flags = 0,
+	.bus_id = "1",
+	.phy_id = 0x17,
+	.gem_id = 1,
+	.mac_addr = (u8[]){ 0x00, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E },
+};
+
+
+static struct platform_device comcerto_eth0_device = {
+		.name	= "comcerto-eth",
+		.id	= 0,
+		.dev.platform_data = &comcerto_gem0_pdata,
+		.num_resources	 = 6,
+		.resource = (struct resource[]) {
+			{
+				.name	= "gemac",
+				.start	= COMCERTO_APB_EMAC0_BASE,
+				.end		= COMCERTO_APB_EMAC0_BASE + SZ_64K -1,
+				.flags	= IORESOURCE_MEM,
+			},
+			{
+				.name	= "idma",
+				.start	= COMCERTO_APB_EDMA0_BASE,
+				.end		= COMCERTO_APB_EDMA0_BASE + 0x1FF,
+				.flags	= IORESOURCE_MEM,
+			},
+			{
+				.name	= "aram",
+				.start	= COMCERTO_ARAM_BASE + SZ_4K  , // 12K
+				.end	= COMCERTO_ARAM_BASE + SZ_16K -1,
+				.flags	= IORESOURCE_MEM,
+			},
+			{
+				.name	= "rx",
+				.start	= IRQ_EDMA0RX,
+				.flags	= IORESOURCE_IRQ,
+			},
+			{
+				.name	= "tx",
+				.start	= IRQ_EDMA0TX,
+				.flags	= IORESOURCE_IRQ,
+			},
+			{
+				.name	= "gemac",
+				.start	= IRQ_EMAC0,
+				.flags	= IORESOURCE_IRQ,
+			},	
+		},	
+};
+
+static struct platform_device comcerto_eth1_device = {		
+		.name	= "comcerto-eth",
+		.id	= 1,
+		.dev.platform_data = &comcerto_gem1_pdata,
+		.num_resources	 = 6,
+		.resource = (struct resource[]) {
+			{
+				.name	= "gemac",
+				.start	= COMCERTO_APB_EMAC1_BASE,
+				.end		= COMCERTO_APB_EMAC1_BASE + SZ_64K -1,
+				.flags	= IORESOURCE_MEM,
+			},
+			{
+				.name	= "idma",
+				.start	= COMCERTO_APB_EDMA1_BASE,
+				.end		= COMCERTO_APB_EDMA1_BASE + 0x1FF,
+				.flags	= IORESOURCE_MEM,
+			},
+			{
+				.name	= "aram",
+				.start	= COMCERTO_ARAM_BASE + SZ_16K, // 12K
+				.end	= COMCERTO_ARAM_BASE + SZ_16K + 1024*12 -1,
+				.flags	= IORESOURCE_MEM,
+			},
+			{
+				.name	= "rx",
+				.start	= IRQ_EDMA1RX,
+				.flags	= IORESOURCE_IRQ,
+			},
+			{
+				.name	= "tx",
+				.start	= IRQ_EDMA1TX,
+				.flags	= IORESOURCE_IRQ,
+			},
+			{
+				.name	= "gemac",
+				.start	= IRQ_EMAC1,
+				.flags	= IORESOURCE_IRQ,
+			},	
+		},
+};
+
+/*------------------------
+ * I2C
+ *------------------------*/
+
+static struct resource ooma_darwin_i2c_resources[] = {
+	{
+		.start = COMCERTO_APB_I2C_BASE,
+		.end   = COMCERTO_APB_I2C_BASE + SZ_4K - 1,
+		.flags = IORESOURCE_MEM,
+	},
+	{
+		.start = IRQ_I2C,
+		.flags = IORESOURCE_IRQ,
+	},
+};
+
+static struct platform_device ooma_darwin_i2c = {
+	.name			= "comcerto_i2c",
+	.id				= -1,
+	.num_resources 	= ARRAY_SIZE(ooma_darwin_i2c_resources),
+	.resource		= ooma_darwin_i2c_resources,
+};
+
+static struct comcerto_mdio_data comcerto_mdio0_pdata = {
+	.phy_mask = 0xFFFF7FFE,
+};
+
+static struct comcerto_mdio_data comcerto_mdio1_pdata = {
+	.phy_mask = 0xFF7FFFFE,
+};
+
+
+static struct platform_device comcerto_mdio0_device = {
+		.name	= "comcerto-mdio",
+		.id		= 0,
+		.dev.platform_data = &comcerto_mdio0_pdata,
+		.num_resources	= 1,
+		.resource = (struct resource[]) {
+			{
+				.start	= COMCERTO_APB_EMAC0_BASE + 0xE000,
+				.end		= COMCERTO_APB_EMAC0_BASE + 0xE400 - 1,
+				.flags	= IORESOURCE_MEM,
+			},
+		},
+};
+
+static struct platform_device comcerto_mdio1_device = {
+		.name	= "comcerto-mdio",
+		.id		= 1,
+		.dev.platform_data = &comcerto_mdio1_pdata,
+		.num_resources	= 1,
+		.resource = (struct resource[]) {
+			{
+				.start	= COMCERTO_APB_EMAC1_BASE + 0xE000,
+				.end		= COMCERTO_APB_EMAC1_BASE + 0xE400 - 1,
+				.flags	= IORESOURCE_MEM,
+			},
+		},
+};
+
+/********************* 
+ *  Global
+ *********************/
+static struct platform_device *ooma_darwin_devices[] __initdata = {
+  &ooma_darwin_flash_device,
+  &comcerto_uart,
+  &ehci_m821xx_usb0_device,
+#ifndef CONFIG_ARCH_M822XX
+  &ehci_m821xx_usb1_device,
+#endif
+  &comcerto_elp_device,
+  &comcerto_mdio0_device,
+  &comcerto_eth0_device,
+  &comcerto_spi_device,
+  &spi2spi_device,
+  &comcerto_mdio1_device,
+  &comcerto_eth1_device,
+  &comcerto_nand_device,
+  &ooma_darwin_i2c,
+};
+
+
+
+/************************************************************************
+ *  Expansion bus
+ *
+ ************************************************************************/
+/* This variable is used by comcerto-100.c to initialize the expansion bus */
+
+/* The NOR and NAND timings are set in u-boot. They should not be touched again in linux kernel.*/
+int comcerto_exp_values[5][6]= {
+		/* ENABLE, SEG_SZ, CFG, TMG1, TMG2, TMG3 */
+		{0, 0x7FF, EXP_MEM_BUS_SIZE_16, 0x1A1A401F, 0x06060A04, 0x00000002},		/*NOR Values*/
+		{0, 0x3FF, EXP_RDY_EN|EXP_MEM_BUS_SIZE_32, 0x1A1A401F, 0x06060A04, 0x00000002},	/*Not used*/
+		{0, 0x3FF, 0x200, 0x1A1A401F, 0x06060A04, 0x00000002},				/*Can be used by a daughter card*/
+		{0, 0x3FF, 0x200, 0x1A1A401F, 0x06060A04, 0x00000002},				/*Not used*/
+		{0, 0x000, EXP_NAND_MODE|EXP_MEM_BUS_SIZE_8, 0x1A1A401F, 0x06060A04, 0x00000002},	/* NAND: TODO Values to check */
+	};
+
+/************************************************************************
+ *  Machine definition
+ *
+ ************************************************************************/
+static void __init ooma_darwin_map_io(void)
+{
+  comcerto_map_io();
+}
+
+static void __init ooma_darwin_init_irq(void)
+{
+  comcerto_init_irq();
+}
+
+static void __init ooma_darwin_init(void)
+{
+	device_init();
+
+	/* GPIO init */
+	comcerto_gpio_ctrl(UART0_BUS, UART0_BUS);
+	comcerto_gpio_ctrl(UART1_BUS, UART1_BUS);
+	comcerto_gpio_ctrl(SPI_BUS, SPI_BUS);   /* enable SPI0 bus */
+	comcerto_gpio_ctrl(I2C_BUS, I2C_BUS);
+	comcerto_gpio_ctrl(0x0, TIMER_EVENT0);
+	comcerto_gpio_ctrl(0x0, TIMER_EVENT1);
+
+	/*In order legerity driver to detect slic, TDM and frame sync must be set*/
+	__raw_writel(__raw_readl(COMCERTO_GPIO_PAD_CTRL) | 0x4, COMCERTO_GPIO_PAD_CTRL); // Configure TDM FSync as an output
+#ifdef CONFIG_ARCH_M822XX
+	/* AHB clock @ 125 MHz */
+	__raw_writel(0x8443FDE8, COMCERTO_CLK_TDM_CLK_CNTRL); // Set TDM CLock freq to 2MHz
+#else
+	/* AHB clock @ 165 MHz */
+	__raw_writel(0x832d70d7, COMCERTO_CLK_TDM_CLK_CNTRL); // Set TDM CLock freq to 2MHz
+#endif
+	__raw_writel(0x20FF0001, COMCERTO_CLK_FSYNC_CNTRL); // Set Fsync freq to 8KHz
+
+	/*USB PHYs and UART loopback*/
+	__raw_writel(0, COMCERTO_GPIO_GENERAL_CONTROL_REG);
+
+	spi_register_board_info(spi_board_info,
+				ARRAY_SIZE(spi_board_info));
+
+	platform_add_devices(ooma_darwin_devices, ARRAY_SIZE(ooma_darwin_devices));
+}
+
+MACHINE_START(COMCERTO, "Ooma Darwin board")
+  .phys_io      = APB_PADDR_BASE,
+  .io_pg_offst  = ((APB_PADDR_BASE) >> 18) & 0xfffc,
+  .boot_params  = COMCERTO_SDRAM_BASE + 0x100,
+  .map_io       = ooma_darwin_map_io,
+  .init_irq     = ooma_darwin_init_irq,
+  .init_machine = ooma_darwin_init,
+  .timer	= &comcerto_timer,
+MACHINE_END
diff -Naur linux-2.6.30.4-orig/arch/arm/mach-comcerto/comcerto-100.c linux-2.6.30.4-new/arch/arm/mach-comcerto/comcerto-100.c
--- linux-2.6.30.4-orig/arch/arm/mach-comcerto/comcerto-100.c	2010-09-02 17:04:11.812575000 -0700
+++ linux-2.6.30.4-new/arch/arm/mach-comcerto/comcerto-100.c	2010-09-02 16:50:02.237538000 -0700
@@ -29,10 +29,10 @@
 #include <linux/kernel_stat.h>
 #include <linux/io.h>
 
+#include <asm/mach/irq.h>
+#include <asm/mach/map.h>
+#include <asm/mach/time.h>
 #include <mach/hardware.h>
-#include <mach/irq.h>
-#include <mach/map.h>
-#include <mach/time.h>
 #include <mach/comcerto-timers.h>
 #if defined(CONFIG_CACHE_L2X0)
 #include <asm/hardware/cache-l2x0.h>
@@ -118,7 +118,27 @@
 /*********************************
  * 
  *********************************/
-void fastcall
+void
+comcerto_handle_non_reseting_gpio_irq(unsigned int irq, struct irq_desc *desc)
+{
+	/*
+	 * Mask IRQ.
+	 */
+	desc->chip->mask(irq);
+
+	handle_simple_irq(irq, desc);
+	/*
+ 	* Ack IRQ.
+ 	*/
+	desc->chip->ack(irq);
+	/*
+	 * UnMask IRQ.
+	 */
+	desc->chip->unmask(irq);
+
+}
+
+void
 comcerto_handle_gpio_irq(unsigned int irq, struct irq_desc *desc)
 {
 	u32 pending;
@@ -147,7 +167,7 @@
 
 }
 
-void fastcall
+void
 comcerto_handle_secondary_level_irq(unsigned int irq, struct irq_desc *desc)
 {
 	struct irqaction *action;
@@ -288,7 +308,9 @@
 	{32 + IRQ_UART1,	comcerto_handle_secondary_level_irq,	-1},
 	{32 + IRQ_UART0,	comcerto_handle_secondary_level_irq,	-1},
 	{32 + IRQ_G2,		comcerto_handle_gpio_irq,		-1},
-	{32 + IRQ_G1,		comcerto_handle_gpio_irq,		-1},
+	{32 + IRQ_G7,		comcerto_handle_non_reseting_gpio_irq,		-1},	// front panel change
+	{32 + IRQ_G4,		comcerto_handle_non_reseting_gpio_irq,		-1},
+	{32 + IRQ_G1,		comcerto_handle_non_reseting_gpio_irq,		-1},
 	{32 + IRQ_G0,		comcerto_handle_gpio_irq,		-1},
 	{32 + IRQ_FPP,		handle_level_irq,			-1},
 	{32 + IRQ_VDMA1_TX,	handle_level_irq,			-1},
diff -Naur linux-2.6.30.4-orig/arch/arm/mach-comcerto/include/mach/boards/board-ooma_darwin.h linux-2.6.30.4-new/arch/arm/mach-comcerto/include/mach/boards/board-ooma_darwin.h
--- linux-2.6.30.4-orig/arch/arm/mach-comcerto/include/mach/boards/board-ooma_darwin.h	1969-12-31 16:00:00.000000000 -0800
+++ linux-2.6.30.4-new/arch/arm/mach-comcerto/include/mach/boards/board-ooma_darwin.h	2010-09-02 16:50:02.240539000 -0700
@@ -0,0 +1,82 @@
+/*
+ * linux/include/asm-arm/arch-comcerto/boards/board-ooma_darwin.h
+ *
+ * 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.
+ */
+
+#ifndef __BOARD_OOMA_DARWIN_H__
+#define __BOARD_OOMA_DARWIN_H__
+
+#include <mach/hardware.h>
+	
+	/***********************************
+	 * Expansion bus configuration
+	 ***********************************/
+	 
+	 /* EXP_CS0 = NOR, EXP_CS4 = NAND, Others unused */
+	#define COMCERTO_EXP_CS_EN_VALUE	(EXP_CLK_EN | EXP_CS0_EN | EXP_CS4_EN)
+
+	/*	TODO Default value to check*/
+	#define COMCERTO_EXP_CLOCK_DIV_VALUE	0x00000007			/*Default value*/
+
+	/***********************************
+	 * GPIO
+	 ***********************************/
+	/* #define COMCERTO_OUTPUT_GPIO 		(GPIO_29 | GPIO_17 | GPIO_5 | GPIO_15) */
+#define COMCERTO_OUTPUT_GPIO 		(COMCERTO_NAND_CE | COMCERTO_NAND_ALE | COMCERTO_NAND_CLE | GPIO_17 | GPIO_5)
+	#define COMCERTO_IRQ_RISING_EDGE_GPIO	(GPIO_7)
+	#define COMCERTO_IRQ_FALLING_EDGE_GPIO	(GPIO_1 | GPIO_2 | GPIO_4 )
+	#define COMCERTO_IRQ_LEVEL_GPIO 	GPIO_0
+	/*Are pins used either as GPIO or as pins for others IP blocks*/
+	#define COMCERTO_GPIO_PIN_USAGE		(EXP_BUS_A15_A16 | EXP_BUS_A17_A18 | EXP_BUS_A19_A21 | UART0_BUS | UART1_BUS | SPI_BUS)
+
+	/***********************************
+	 * EEPROM
+	 ***********************************/
+	
+	/***********************************
+	 * NOR
+	 ***********************************/
+	#define NORFLASH_MEMORY_PHY1		COMCERTO_EXP_CS0_BASE
+
+	/***********************************
+	 * NAND
+	 ***********************************/
+	#define COMCERTO_EXP_CS4_SEG_SZ		1
+	
+	#define COMCERTO_NAND_FIO_ADDR		COMCERTO_EXP_CS4_BASE
+	#define COMCERTO_NAND_BR		GPIO_6
+	#define COMCERTO_NAND_CE		GPIO_29
+	#define COMCERTO_NAND_ALE		GPIO_30
+	#define COMCERTO_NAND_CLE		GPIO_31
+	#define COMCERTO_NAND_IO_SZ		((COMCERTO_EXP_CS4_SEG_SZ << 12) +0x1000)
+
+	/***********************************
+	 * LED
+	 ***********************************/
+	#define COMCERTO_GRN_LED		GPIO_15
+
+	/***********************************
+	 * PCI
+	 ***********************************/
+	#define COMCERTO_PCI_GPIO_IRQ		IRQ_G0
+
+	/***********************************
+	 * SLIC
+	 ***********************************/
+	#define COMCERTO_SLIC_GPIO_IRQ		IRQ_G1
+
+	/***********************************
+	 * DECT
+	 ***********************************/
+	#define COMCERTO_DECT_GPIO_IRQ		IRQ_G4
+
+	/***********************************
+	 * BT8370 FRAMER
+	 ***********************************/
+	#define COMCERTO_FRAMER_GPIO_IRQ	IRQ_G1
+	#define COMCERTO_FRAMER_FIO_ADDR	COMCERTO_EXP_CS3_BASE
+
+#endif
diff -Naur linux-2.6.30.4-orig/arch/arm/mach-comcerto/include/mach/comcerto-devices.h linux-2.6.30.4-new/arch/arm/mach-comcerto/include/mach/comcerto-devices.h
--- linux-2.6.30.4-orig/arch/arm/mach-comcerto/include/mach/comcerto-devices.h	2010-09-02 17:04:11.707575000 -0700
+++ linux-2.6.30.4-new/arch/arm/mach-comcerto/include/mach/comcerto-devices.h	2010-09-02 16:50:02.242541000 -0700
@@ -77,5 +77,3 @@
 #define L210_AUX_CTRL_REG	0x01330241
 
 #endif
-
-#endif
diff -Naur linux-2.6.30.4-orig/arch/arm/mach-comcerto/include/mach/hardware.h linux-2.6.30.4-new/arch/arm/mach-comcerto/include/mach/hardware.h
--- linux-2.6.30.4-orig/arch/arm/mach-comcerto/include/mach/hardware.h	2010-09-02 17:04:11.721575000 -0700
+++ linux-2.6.30.4-new/arch/arm/mach-comcerto/include/mach/hardware.h	2010-09-02 16:50:02.245548000 -0700
@@ -27,41 +27,32 @@
 
 	/***** Device *****/
 	#if defined(CONFIG_ARCH_M821XX)
-		#include <asm/arch/comcerto-100.h>
+		#include <mach/comcerto-100.h>
 	
 	#elif defined(CONFIG_ARCH_M822XX)
-		#include <asm/arch/comcerto-50.h>
+		#include <mach/comcerto-50.h>
 
 	#elif defined(CONFIG_ARCH_M828XX)
-		#include <asm/arch/comcerto-800.h>
+		#include <mach/comcerto-800.h>
 	
 	#elif defined(CONFIG_ARCH_M829XX)
-		#include <asm/arch/comcerto-900.h>
+		#include <mach/comcerto-900.h>
 
 	#else
-		#error "asm-arm/arch/hardware.h :  Unknown architecture" 
+		#error "mach/hardware.h :  Unknown architecture" 
 	#endif
 	
 	/***** Board *****/
-	#if defined(CONFIG_EVM_ASIC)
-		#include <asm/arch/boards/board-asic.h>
-	
-	#elif defined(CONFIG_EVM_ROUTER)
-		#include <asm/arch/boards/board-router.h>
-	
-	#elif defined(CONFIG_EVM_PACKET_IAD)
-		#include <asm/arch/boards/board-packet_iad.h>
-	
-	#elif defined(CONFIG_EVM_SUPERMOMBASA)
-		#include <asm/arch/boards/board-nairobi.h>
-		
-	#elif defined(CONFIG_EVM_FEROUTER)
-		#include <asm/arch/boards/board-ferouter.h>
+	#if defined(CONFIG_EVM_ROUTER)
+		#include <mach/boards/board-router.h>
+
+	#elif defined(CONFIG_EVM_OOMA_DARWIN)
+		#include <mach/boards/board-ooma_darwin.h>
 	
 	#else
-		#error "asm-arm/arch/hardware.h :  Unknown board"
+		#error "mach/hardware.h :  Unknown board"
 	#endif
 
-	#include <asm/arch/comcerto-common.h>
+	#include <mach/comcerto-common.h>
 
 #endif
diff -Naur linux-2.6.30.4-orig/arch/arm/mach-comcerto/Kconfig linux-2.6.30.4-new/arch/arm/mach-comcerto/Kconfig
--- linux-2.6.30.4-orig/arch/arm/mach-comcerto/Kconfig	2010-09-02 17:04:12.021576000 -0700
+++ linux-2.6.30.4-new/arch/arm/mach-comcerto/Kconfig	2010-09-02 16:50:02.220539000 -0700
@@ -89,6 +89,12 @@
 	help
 	  Say Y here if you intend to run this kernel with a FastEthernet Router board.
 
+config EVM_OOMA_DARWIN
+	bool "ooma Darwin"
+	depends on ARCH_M821XX
+	help
+	  Say Y here if you intend to run this kernel with a ooma Darwin board.
+
 endchoice
 
 config COMCERTO_PCI_USE_APBB
diff -Naur linux-2.6.30.4-orig/arch/arm/mach-comcerto/Makefile linux-2.6.30.4-new/arch/arm/mach-comcerto/Makefile
--- linux-2.6.30.4-orig/arch/arm/mach-comcerto/Makefile	2010-09-02 17:04:12.008574000 -0700
+++ linux-2.6.30.4-new/arch/arm/mach-comcerto/Makefile	2010-09-02 16:50:02.223537000 -0700
@@ -19,6 +19,7 @@
 obj-$(CONFIG_EVM_ROUTER) 			+= board-router.o
 obj-$(CONFIG_EVM_PACKET_IAD)			+= board-packet_iad.o
 obj-$(CONFIG_EVM_FEROUTER) 			+= board-ferouter.o
+obj-$(CONFIG_EVM_OOMA_DARWIN)			+= board-ooma_darwin.o
 obj-$(CONFIG_COMCERTO_TDM_CLOCK)		+= sysfstdm.o
 
 ifeq ($(CONFIG_PCI),y)
diff -Naur linux-2.6.30.4-orig/drivers/mtd/maps/comcerto-nor.c linux-2.6.30.4-new/drivers/mtd/maps/comcerto-nor.c
--- linux-2.6.30.4-orig/drivers/mtd/maps/comcerto-nor.c	2010-09-02 17:04:12.304574000 -0700
+++ linux-2.6.30.4-new/drivers/mtd/maps/comcerto-nor.c	2010-09-02 16:50:02.248539000 -0700
@@ -59,12 +59,12 @@
 	/*
 	 * On baord with NOR of 16MB
 	 * The bit 23 of the address bus is driven by GPIO 5
-	 * So for access greater than 8MB, we should set GPIO to 0 (It is at one by default)
+	 * So for access greater than 8MB, we should set GPIO to 1 (It is at zero by default)
 	 */
 	if (ofs >= SZ_8M)
-		comcerto_gpio_set_0(GPIO_5);
-	else
 		comcerto_gpio_set_1(GPIO_5);
+	else
+		comcerto_gpio_set_0(GPIO_5);
 
 	/*We then call the generic function */
 	return inline_map_read(map, ofs);
@@ -76,12 +76,12 @@
 	/*
 	 * On baord with NOR of 16MB
 	 * The bit 23 of the address bus is driven by GPIO 5
-	 * So for access greater than 8MB, we should set GPIO to 0 (It is at one by default)
+	 * So for access greater than 8MB, we should set GPIO to 1(It is at zero by default)
 	 */
 	if (ofs >= SZ_8M)
-		comcerto_gpio_set_0(GPIO_5);
-	else
 		comcerto_gpio_set_1(GPIO_5);
+	else
+		comcerto_gpio_set_0(GPIO_5);
 
 	/*We then call the generic function */
 	inline_map_write(map, datum, ofs);
@@ -93,12 +93,12 @@
 	/*
 	 * On baord with NOR of 16MB
 	 * The bit 23 of the address bus is driven by GPIO 5
-	 * So for access greater than 8MB, we should set GPIO to 0 (It is at one by default)
+	 * So for access greater than 8MB, we should set GPIO to 1 (It is at zero by default)
 	 */
 	if (from >= SZ_8M)
-		comcerto_gpio_set_0(GPIO_5);
-	else
 		comcerto_gpio_set_1(GPIO_5);
+	else
+		comcerto_gpio_set_0(GPIO_5);
 
 	/* We then call the generic function */
 	inline_map_copy_from(map, to, from, len);
@@ -110,12 +110,12 @@
 	/*
 	 * On baord with NOR of 16MB
 	 * The bit 23 of the address bus is driven by GPIO 5
-	 * So for access greater than 8MB, we should set GPIO to 0 (It is at one by default)
+	 * So for access greater than 8MB, we should set GPIO to 1 (It is at zero by default)
 	 */
 	if (to >= SZ_8M)
-		comcerto_gpio_set_0(GPIO_5);
-	else
 		comcerto_gpio_set_1(GPIO_5);
+	else
+		comcerto_gpio_set_0(GPIO_5);
 
 	/*We then call the generic function */
 	inline_map_copy_to(map, to, from, len);
diff -Naur linux-2.6.30.4-orig/drivers/mtd/nand/comcerto-nand.c linux-2.6.30.4-new/drivers/mtd/nand/comcerto-nand.c
--- linux-2.6.30.4-orig/drivers/mtd/nand/comcerto-nand.c	2010-09-02 17:04:12.401588000 -0700
+++ linux-2.6.30.4-new/drivers/mtd/nand/comcerto-nand.c	2010-09-02 16:50:02.251539000 -0700
@@ -23,6 +23,7 @@
 #include <mach/hardware.h>
 #include <asm/io.h>
 #include <linux/platform_device.h>
+#include <mach/boards/board-ooma_darwin.h>
 
 /*
  * MTD structure for Comcerto board
