]> code.ossystems Code Review - openembedded-core.git/commitdiff
Drop obsolete linux-cmx270 kernels
authorRichard Purdie <richard@openedhand.com>
Thu, 21 Feb 2008 00:59:56 +0000 (00:59 +0000)
committerRichard Purdie <richard@openedhand.com>
Thu, 21 Feb 2008 00:59:56 +0000 (00:59 +0000)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3840 311d38ba-8fff-0310-9ca6-ca027cbcb966

13 files changed:
meta/packages/linux/linux-cmx270-2.6.16/CL_FlashDrv [deleted file]
meta/packages/linux/linux-cmx270-2.6.16/diff-2.6.16-cm-x270 [deleted file]
meta/packages/linux/linux-cmx270-2.6.17/add_2700g_plat-r0.patch [deleted file]
meta/packages/linux/linux-cmx270-2.6.17/cm_x2xx_mbx.patch [deleted file]
meta/packages/linux/linux-cmx270-2.6.17/defconfig [deleted file]
meta/packages/linux/linux-cmx270-2.6.17/mach-types [deleted file]
meta/packages/linux/linux-cmx270-2.6.17/mtd_fixes-r0.patch [deleted file]
meta/packages/linux/linux-cmx270-2.6.17/mtd_fixes1-r0.patch [deleted file]
meta/packages/linux/linux-cmx270-rp-2.6.17/defconfig [deleted file]
meta/packages/linux/linux-cmx270-rp-2.6.17/mach-types [deleted file]
meta/packages/linux/linux-cmx270-rp_2.6.17.bb [deleted file]
meta/packages/linux/linux-cmx270_2.6.16.bb [deleted file]
meta/packages/linux/linux-cmx270_2.6.17.bb [deleted file]

diff --git a/meta/packages/linux/linux-cmx270-2.6.16/CL_FlashDrv b/meta/packages/linux/linux-cmx270-2.6.16/CL_FlashDrv
deleted file mode 100644 (file)
index 4c35c9e..0000000
Binary files a/meta/packages/linux/linux-cmx270-2.6.16/CL_FlashDrv and /dev/null differ
diff --git a/meta/packages/linux/linux-cmx270-2.6.16/diff-2.6.16-cm-x270 b/meta/packages/linux/linux-cmx270-2.6.16/diff-2.6.16-cm-x270
deleted file mode 100644 (file)
index 5610a3e..0000000
+++ /dev/null
@@ -1,9154 +0,0 @@
-diff --git a/Makefile b/Makefile
-index cb57905..dd02f27 100644
---- a/Makefile
-+++ b/Makefile
-@@ -172,8 +172,11 @@ # Alternatively CROSS_COMPILE can be set
- # Default value for CROSS_COMPILE is not to prefix executables
- # Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
--ARCH          ?= $(SUBARCH)
--CROSS_COMPILE ?=
-+#ARCH         ?= $(SUBARCH)
-+#CROSS_COMPILE        ?=
-+
-+ARCH          = arm
-+CROSS_COMPILE = arm-linux-
- # Architecture as present in compile.h
- UTS_MACHINE := $(ARCH)
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 32ba00b..2de9ceb 100644
---- a/arch/arm/Kconfig
-+++ b/arch/arm/Kconfig
-@@ -331,7 +331,7 @@ config ISA_DMA_API
-       bool
- config PCI
--      bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB
-+      bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || MACH_ARMCORE
-       help
-         Find out whether you have a PCI motherboard. PCI is the name of a
-         bus system, i.e. the way the CPU talks to the other stuff inside
-@@ -349,6 +349,12 @@ config PCI_HOST_VIA82C505
-       depends on PCI && ARCH_SHARK
-       default y
-+config PCI_HOST_ITE8152
-+      bool
-+      depends on PCI && MACH_ARMCORE
-+      default y
-+      select DMABOUNCE
-+
- source "drivers/pci/Kconfig"
- source "drivers/pcmcia/Kconfig"
-@@ -484,7 +490,7 @@ config LEDS
-                  ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
-                  ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
-                  ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
--                 ARCH_AT91RM9200
-+                 ARCH_AT91RM9200 || MACH_ARMCORE
-       help
-         If you say Y here, the LEDs on your machine will be used
-         to provide useful information about your current system status.
-diff --git a/arch/arm/common/dmabounce.c b/arch/arm/common/dmabounce.c
-index ad6c89a..dc2bbd0 100644
---- a/arch/arm/common/dmabounce.c
-+++ b/arch/arm/common/dmabounce.c
-@@ -235,7 +235,7 @@ map_single(struct device *dev, void *ptr
-               /*
-                * Figure out if we need to bounce from the DMA mask.
-                */
--              needs_bounce = (dma_addr | (dma_addr + size - 1)) & ~mask;
-+              needs_bounce = ((dma_addr | (dma_addr + size - 1)) - PHYS_OFFSET) & ~mask;
-       }
-       if (device_info && (needs_bounce || dma_needs_bounce(dev, dma_addr, size))) {
-@@ -275,6 +275,7 @@ unmap_single(struct device *dev, dma_add
- {
-       struct dmabounce_device_info *device_info = find_dmabounce_dev(dev);
-       struct safe_buffer *buf = NULL;
-+      unsigned long flags;
-       /*
-        * Trying to unmap an invalid mapping
-@@ -284,6 +285,8 @@ unmap_single(struct device *dev, dma_add
-               return;
-       }
-+      local_irq_save(flags);
-+
-       if (device_info)
-               buf = find_safe_buffer(device_info, dma_addr);
-@@ -316,8 +319,11 @@ unmap_single(struct device *dev, dma_add
-                       ptr = (unsigned long)buf->ptr;
-                       dmac_clean_range(ptr, ptr + size);
-               }
-+              local_irq_restore(flags);
-               free_safe_buffer(device_info, buf);
-       }
-+      else
-+              local_irq_restore(flags);
- }
- static inline void
-@@ -424,18 +430,12 @@ void
- dma_unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size,
-                       enum dma_data_direction dir)
- {
--      unsigned long flags;
--
-       dev_dbg(dev, "%s(ptr=%p,size=%d,dir=%x)\n",
-               __func__, (void *) dma_addr, size, dir);
-       BUG_ON(dir == DMA_NONE);
--      local_irq_save(flags);
--
-       unmap_single(dev, dma_addr, size, dir);
--
--      local_irq_restore(flags);
- }
- int
-@@ -471,7 +471,6 @@ void
- dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nents,
-               enum dma_data_direction dir)
- {
--      unsigned long flags;
-       int i;
-       dev_dbg(dev, "%s(sg=%p,nents=%d,dir=%x)\n",
-@@ -479,16 +478,12 @@ dma_unmap_sg(struct device *dev, struct 
-       BUG_ON(dir == DMA_NONE);
--      local_irq_save(flags);
--
-       for (i = 0; i < nents; i++, sg++) {
-               dma_addr_t dma_addr = sg->dma_address;
-               unsigned int length = sg->length;
-               unmap_single(dev, dma_addr, length, dir);
-       }
--
--      local_irq_restore(flags);
- }
- void
-@@ -632,7 +627,7 @@ #endif
-       list_add(&device_info->node, &dmabounce_devs);
-       printk(KERN_INFO "dmabounce: registered device %s on %s bus\n",
--              dev->bus_id, dev->bus->name);
-+             dev->bus_id, dev->bus ? dev->bus->name : "no");
-       return 0;
-@@ -677,7 +672,7 @@ #endif
-       kfree(device_info);
-       printk(KERN_INFO "dmabounce: device %s on %s bus unregistered\n",
--              dev->bus_id, dev->bus->name);
-+             dev->bus_id, dev->bus ? dev->bus->name : "no");
- }
-diff --git a/arch/arm/configs/cm_x270_defconfig b/arch/arm/configs/cm_x270_defconfig
-new file mode 100644
-index 0000000..7f6d1f7
---- /dev/null
-+++ b/arch/arm/configs/cm_x270_defconfig
-@@ -0,0 +1,1311 @@
-+#
-+# Automatically generated make config: don't edit
-+# Linux kernel version: 2.6.16
-+# Wed Jun 14 17:50:29 2006
-+#
-+CONFIG_ARM=y
-+CONFIG_MMU=y
-+CONFIG_RWSEM_GENERIC_SPINLOCK=y
-+CONFIG_GENERIC_CALIBRATE_DELAY=y
-+CONFIG_ARCH_MTD_XIP=y
-+
-+#
-+# Code maturity level options
-+#
-+CONFIG_EXPERIMENTAL=y
-+CONFIG_BROKEN_ON_SMP=y
-+CONFIG_INIT_ENV_ARG_LIMIT=32
-+
-+#
-+# General setup
-+#
-+CONFIG_LOCALVERSION="-cm-x270"
-+# CONFIG_LOCALVERSION_AUTO is not set
-+CONFIG_SWAP=y
-+CONFIG_SYSVIPC=y
-+# CONFIG_POSIX_MQUEUE is not set
-+# CONFIG_BSD_PROCESS_ACCT is not set
-+CONFIG_SYSCTL=y
-+# CONFIG_AUDIT is not set
-+CONFIG_IKCONFIG=y
-+CONFIG_IKCONFIG_PROC=y
-+CONFIG_INITRAMFS_SOURCE=""
-+CONFIG_UID16=y
-+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-+CONFIG_EMBEDDED=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=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_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=y
-+CONFIG_OBSOLETE_MODPARM=y
-+# CONFIG_MODVERSIONS is not set
-+# CONFIG_MODULE_SRCVERSION_ALL is not set
-+CONFIG_KMOD=y
-+
-+#
-+# Block layer
-+#
-+
-+#
-+# IO Schedulers
-+#
-+CONFIG_IOSCHED_NOOP=y
-+CONFIG_IOSCHED_AS=y
-+CONFIG_IOSCHED_DEADLINE=y
-+CONFIG_IOSCHED_CFQ=y
-+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_CLPS7500 is not set
-+# CONFIG_ARCH_CLPS711X is not set
-+# CONFIG_ARCH_CO285 is not set
-+# CONFIG_ARCH_EBSA110 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_IXP2000 is not set
-+# CONFIG_ARCH_L7200 is not set
-+CONFIG_ARCH_PXA=y
-+# 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
-+# 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_AT91RM9200 is not set
-+
-+#
-+# Intel PXA2xx Implementations
-+#
-+# CONFIG_ARCH_LUBBOCK is not set
-+# CONFIG_MACH_MAINSTONE is not set
-+CONFIG_MACH_ARMCORE=y
-+# CONFIG_ARCH_PXA_IDP is not set
-+# CONFIG_PXA_SHARPSL is not set
-+CONFIG_ARMCORE_ATXBASE=y
-+# CONFIG_ARMCORE_SB270 is not set
-+CONFIG_ARMCORE_REV12=y
-+# CONFIG_ARMCORE_REV11 is not set
-+CONFIG_PXA27x=y
-+CONFIG_IWMMXT=y
-+
-+#
-+# Processor Type
-+#
-+CONFIG_CPU_32=y
-+CONFIG_CPU_XSCALE=y
-+CONFIG_CPU_32v5=y
-+CONFIG_CPU_ABRT_EV5T=y
-+CONFIG_CPU_CACHE_VIVT=y
-+CONFIG_CPU_TLB_V4WBI=y
-+
-+#
-+# Processor Features
-+#
-+CONFIG_ARM_THUMB=y
-+CONFIG_XSCALE_PMU=y
-+CONFIG_DMABOUNCE=y
-+
-+#
-+# Bus support
-+#
-+CONFIG_PCI=y
-+CONFIG_PCI_HOST_ITE8152=y
-+# CONFIG_PCI_LEGACY_PROC is not set
-+# CONFIG_PCI_DEBUG is not set
-+
-+#
-+# PCCARD (PCMCIA/CardBus) support
-+#
-+CONFIG_PCCARD=y
-+# CONFIG_PCMCIA_DEBUG is not set
-+CONFIG_PCMCIA=y
-+# CONFIG_PCMCIA_LOAD_CIS is not set
-+CONFIG_PCMCIA_IOCTL=y
-+CONFIG_CARDBUS=y
-+
-+#
-+# PC-card bridges
-+#
-+CONFIG_YENTA=m
-+CONFIG_YENTA_O2=y
-+CONFIG_YENTA_RICOH=y
-+CONFIG_YENTA_TI=y
-+CONFIG_YENTA_ENE_TUNE=y
-+CONFIG_YENTA_TOSHIBA=y
-+# CONFIG_PD6729 is not set
-+# CONFIG_I82092 is not set
-+CONFIG_PCMCIA_PXA2XX=m
-+CONFIG_PCCARD_NONSTATIC=m
-+
-+#
-+# Kernel Features
-+#
-+# CONFIG_PREEMPT is not set
-+# CONFIG_NO_IDLE_HZ is not set
-+# 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_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=""
-+# CONFIG_XIP_KERNEL 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=y
-+CONFIG_PM_LEGACY=y
-+# CONFIG_PM_DEBUG is not set
-+# CONFIG_APM 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 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=y
-+# 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_TUNNEL 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_IPV6 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_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
-+
-+#
-+# 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 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
-+
-+#
-+# 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_CPQ_DA is not set
-+# CONFIG_BLK_CPQ_CISS_DA is not set
-+# CONFIG_BLK_DEV_DAC960 is not set
-+# CONFIG_BLK_DEV_UMEM is not set
-+# 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_SX8 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=12000
-+CONFIG_BLK_DEV_INITRD=y
-+# CONFIG_CDROM_PKTCDVD is not set
-+# CONFIG_ATA_OVER_ETH is not set
-+CONFIG_ARMCORE_FLASH=y
-+# CONFIG_ARMCORE_NOR is not set
-+CONFIG_ARMCORE_NAND=y
-+
-+#
-+# ATA/ATAPI/MFM/RLL support
-+#
-+CONFIG_IDE=y
-+CONFIG_BLK_DEV_IDE=y
-+
-+#
-+# Please see Documentation/ide.txt for help/info on IDE drives
-+#
-+# CONFIG_BLK_DEV_IDE_SATA is not set
-+CONFIG_BLK_DEV_IDEDISK=y
-+# CONFIG_IDEDISK_MULTI_MODE is not set
-+CONFIG_BLK_DEV_IDECS=y
-+CONFIG_BLK_DEV_IDECD=y
-+# CONFIG_BLK_DEV_IDETAPE is not set
-+# CONFIG_BLK_DEV_IDEFLOPPY is not set
-+CONFIG_BLK_DEV_IDESCSI=y
-+# CONFIG_IDE_TASK_IOCTL is not set
-+
-+#
-+# IDE chipset support/bugfixes
-+#
-+CONFIG_IDE_GENERIC=y
-+# CONFIG_BLK_DEV_IDEPCI is not set
-+# CONFIG_IDE_ARM is not set
-+CONFIG_BLK_DEV_IDE_CM_X270=m
-+# CONFIG_BLK_DEV_IDEDMA is not set
-+# CONFIG_IDEDMA_AUTO is not set
-+# CONFIG_BLK_DEV_HD is not set
-+
-+#
-+# SCSI device support
-+#
-+# CONFIG_RAID_ATTRS is not set
-+CONFIG_SCSI=y
-+# 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
-+
-+#
-+# SCSI Transport Attributes
-+#
-+# 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_ISCSI_TCP is not set
-+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-+# CONFIG_SCSI_3W_9XXX is not set
-+# CONFIG_SCSI_ACARD is not set
-+# CONFIG_SCSI_AACRAID is not set
-+# CONFIG_SCSI_AIC7XXX is not set
-+# CONFIG_SCSI_AIC7XXX_OLD is not set
-+# CONFIG_SCSI_AIC79XX is not set
-+# CONFIG_SCSI_DPT_I2O is not set
-+# CONFIG_MEGARAID_NEWGEN is not set
-+# CONFIG_MEGARAID_LEGACY is not set
-+# CONFIG_MEGARAID_SAS is not set
-+# CONFIG_SCSI_SATA is not set
-+# CONFIG_SCSI_DMX3191D is not set
-+# CONFIG_SCSI_FUTURE_DOMAIN is not set
-+# CONFIG_SCSI_IPS is not set
-+# CONFIG_SCSI_INITIO is not set
-+# CONFIG_SCSI_INIA100 is not set
-+# CONFIG_SCSI_SYM53C8XX_2 is not set
-+# CONFIG_SCSI_IPR is not set
-+# CONFIG_SCSI_QLOGIC_FC is not set
-+# CONFIG_SCSI_QLOGIC_1280 is not set
-+# CONFIG_SCSI_QLA_FC is not set
-+# CONFIG_SCSI_LPFC is not set
-+# CONFIG_SCSI_DC395x is not set
-+# CONFIG_SCSI_DC390T is not set
-+# CONFIG_SCSI_NSP32 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_MD is not set
-+
-+#
-+# Fusion MPT device support
-+#
-+# CONFIG_FUSION is not set
-+# CONFIG_FUSION_SPI is not set
-+# CONFIG_FUSION_FC is not set
-+# CONFIG_FUSION_SAS is not set
-+
-+#
-+# IEEE 1394 (FireWire) support
-+#
-+# CONFIG_IEEE1394 is not set
-+
-+#
-+# I2O device support
-+#
-+# CONFIG_I2O 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
-+
-+#
-+# ARCnet devices
-+#
-+# CONFIG_ARCNET is not set
-+
-+#
-+# PHY device support
-+#
-+# CONFIG_PHYLIB is not set
-+
-+#
-+# Ethernet (10 or 100Mbit)
-+#
-+CONFIG_NET_ETHERNET=y
-+CONFIG_MII=y
-+# CONFIG_HAPPYMEAL is not set
-+# CONFIG_SUNGEM is not set
-+# CONFIG_CASSINI is not set
-+# CONFIG_NET_VENDOR_3COM is not set
-+# CONFIG_SMC91X is not set
-+CONFIG_DM9000=y
-+CONFIG_DM9000_NOEPROM=y
-+
-+#
-+# Tulip family network device support
-+#
-+# CONFIG_NET_TULIP is not set
-+# CONFIG_HP100 is not set
-+CONFIG_NET_PCI=y
-+# CONFIG_PCNET32 is not set
-+# CONFIG_AMD8111_ETH is not set
-+# CONFIG_ADAPTEC_STARFIRE is not set
-+# CONFIG_B44 is not set
-+# CONFIG_FORCEDETH is not set
-+# CONFIG_DGRS is not set
-+# CONFIG_EEPRO100 is not set
-+# CONFIG_E100 is not set
-+# CONFIG_FEALNX is not set
-+# CONFIG_NATSEMI is not set
-+# CONFIG_NE2K_PCI is not set
-+# CONFIG_8139CP is not set
-+CONFIG_8139TOO=m
-+# CONFIG_8139TOO_PIO is not set
-+# CONFIG_8139TOO_TUNE_TWISTER is not set
-+# CONFIG_8139TOO_8129 is not set
-+# CONFIG_8139_OLD_RX_RESET is not set
-+# CONFIG_SIS900 is not set
-+# CONFIG_EPIC100 is not set
-+# CONFIG_SUNDANCE is not set
-+# CONFIG_TLAN is not set
-+# CONFIG_VIA_RHINE is not set
-+
-+#
-+# Ethernet (1000 Mbit)
-+#
-+# CONFIG_ACENIC is not set
-+# CONFIG_DL2K is not set
-+# CONFIG_E1000 is not set
-+# CONFIG_NS83820 is not set
-+# CONFIG_HAMACHI is not set
-+# CONFIG_YELLOWFIN is not set
-+# CONFIG_R8169 is not set
-+# CONFIG_SIS190 is not set
-+# CONFIG_SKGE is not set
-+# CONFIG_SKY2 is not set
-+# CONFIG_SK98LIN is not set
-+# CONFIG_VIA_VELOCITY is not set
-+# CONFIG_TIGON3 is not set
-+# CONFIG_BNX2 is not set
-+
-+#
-+# Ethernet (10000 Mbit)
-+#
-+# CONFIG_CHELSIO_T1 is not set
-+# CONFIG_IXGB is not set
-+# CONFIG_S2IO is not set
-+
-+#
-+# Token Ring devices
-+#
-+# CONFIG_TR is not set
-+
-+#
-+# Wireless LAN (non-hamradio)
-+#
-+CONFIG_NET_RADIO=y
-+
-+#
-+# Obsolete Wireless cards support (pre-802.11)
-+#
-+# CONFIG_STRIP is not set
-+# CONFIG_PCMCIA_WAVELAN is not set
-+# CONFIG_PCMCIA_NETWAVE is not set
-+
-+#
-+# Wireless 802.11 Frequency Hopping cards support
-+#
-+# CONFIG_PCMCIA_RAYCS is not set
-+
-+#
-+# Wireless 802.11b ISA/PCI cards support
-+#
-+# CONFIG_IPW2100 is not set
-+# CONFIG_IPW2200 is not set
-+# CONFIG_HERMES is not set
-+# CONFIG_ATMEL is not set
-+
-+#
-+# Wireless 802.11b Pcmcia/Cardbus cards support
-+#
-+# CONFIG_AIRO_CS is not set
-+# CONFIG_PCMCIA_WL3501 is not set
-+
-+#
-+# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
-+#
-+# CONFIG_PRISM54 is not set
-+# CONFIG_HOSTAP is not set
-+CONFIG_NET_WIRELESS=y
-+
-+#
-+# PCMCIA network device support
-+#
-+CONFIG_NET_PCMCIA=y
-+# CONFIG_PCMCIA_3C589 is not set
-+# CONFIG_PCMCIA_3C574 is not set
-+# CONFIG_PCMCIA_FMVJ18X is not set
-+CONFIG_PCMCIA_PCNET=y
-+# CONFIG_PCMCIA_NMCLAN is not set
-+# CONFIG_PCMCIA_SMC91C92 is not set
-+# CONFIG_PCMCIA_XIRC2PS is not set
-+# CONFIG_PCMCIA_AXNET is not set
-+
-+#
-+# Wan interfaces
-+#
-+# CONFIG_WAN is not set
-+# CONFIG_FDDI is not set
-+# CONFIG_HIPPI is not set
-+# CONFIG_PPP is not set
-+# CONFIG_SLIP is not set
-+# CONFIG_NET_FC 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
-+
-+#
-+# 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 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 is not set
-+# CONFIG_SERIO_PCIPS2 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_SERIAL_NONSTANDARD is not set
-+
-+#
-+# Serial drivers
-+#
-+CONFIG_SERIAL_8250=y
-+# CONFIG_SERIAL_8250_CONSOLE is not set
-+# CONFIG_SERIAL_8250_CS is not set
-+CONFIG_SERIAL_8250_NR_UARTS=4
-+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-+# CONFIG_SERIAL_8250_EXTENDED is not set
-+
-+#
-+# Non-8250 serial port support
-+#
-+CONFIG_SERIAL_PXA=y
-+CONFIG_SERIAL_PXA_CONSOLE=y
-+CONFIG_SERIAL_CORE=y
-+CONFIG_SERIAL_CORE_CONSOLE=y
-+# CONFIG_SERIAL_JSM is not set
-+CONFIG_UNIX98_PTYS=y
-+CONFIG_LEGACY_PTYS=y
-+CONFIG_LEGACY_PTY_COUNT=256
-+
-+#
-+# IPMI
-+#
-+# CONFIG_IPMI_HANDLER is not set
-+
-+#
-+# Watchdog Cards
-+#
-+# CONFIG_WATCHDOG is not set
-+# CONFIG_NVRAM is not set
-+# CONFIG_RTC is not set
-+# CONFIG_DTLK is not set
-+# CONFIG_R3964 is not set
-+# CONFIG_APPLICOM is not set
-+
-+#
-+# Ftape, the floppy tape device driver
-+#
-+# CONFIG_DRM 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_TELCLOCK is not set
-+CONFIG_EMV3020_RTC=y
-+
-+#
-+# I2C support
-+#
-+# 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 is not set
-+# CONFIG_HWMON_VID is not set
-+
-+#
-+# Misc devices
-+#
-+
-+#
-+# Multimedia Capabilities Port drivers
-+#
-+CONFIG_UCB1400=m
-+CONFIG_UCB1400_TS=m
-+
-+#
-+# Multimedia devices
-+#
-+# CONFIG_VIDEO_DEV is not set
-+
-+#
-+# Digital Video Broadcasting Devices
-+#
-+# CONFIG_DVB is not set
-+
-+#
-+# Graphics support
-+#
-+CONFIG_FB=y
-+CONFIG_FB_CFB_FILLRECT=y
-+CONFIG_FB_CFB_COPYAREA=y
-+CONFIG_FB_CFB_IMAGEBLIT=y
-+# CONFIG_FB_MACMODES is not set
-+# CONFIG_FB_MODE_HELPERS is not set
-+# CONFIG_FB_TILEBLITTING is not set
-+# CONFIG_FB_CIRRUS is not set
-+# CONFIG_FB_PM2 is not set
-+# CONFIG_FB_CYBER2000 is not set
-+# CONFIG_FB_ASILIANT is not set
-+# CONFIG_FB_IMSTT is not set
-+# CONFIG_FB_S1D13XXX is not set
-+# CONFIG_FB_NVIDIA is not set
-+# CONFIG_FB_RIVA is not set
-+# CONFIG_FB_MATROX is not set
-+# CONFIG_FB_RADEON_OLD is not set
-+# CONFIG_FB_RADEON is not set
-+# CONFIG_FB_ATY128 is not set
-+# CONFIG_FB_ATY is not set
-+# CONFIG_FB_SAVAGE is not set
-+# CONFIG_FB_SIS is not set
-+# CONFIG_FB_NEOMAGIC is not set
-+# CONFIG_FB_KYRO is not set
-+# CONFIG_FB_3DFX is not set
-+# CONFIG_FB_VOODOO1 is not set
-+# CONFIG_FB_TRIDENT is not set
-+CONFIG_FB_PXA=y
-+# CONFIG_FB_PXA_PARAMETERS is not set
-+CONFIG_FB_MBX=m
-+# 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 is not set
-+CONFIG_FONT_8x8=y
-+CONFIG_FONT_8x16=y
-+
-+#
-+# Logo configuration
-+#
-+CONFIG_LOGO=y
-+CONFIG_LOGO_LINUX_MONO=y
-+CONFIG_LOGO_LINUX_VGA16=y
-+CONFIG_LOGO_LINUX_CLUT224=y
-+# CONFIG_BACKLIGHT_LCD_SUPPORT 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 is not set
-+CONFIG_SND_OSSEMUL=y
-+CONFIG_SND_MIXER_OSS=y
-+CONFIG_SND_PCM_OSS=y
-+# CONFIG_SND_DYNAMIC_MINORS is not set
-+CONFIG_SND_SUPPORT_OLD_API=y
-+# CONFIG_SND_VERBOSE_PRINTK is not set
-+# CONFIG_SND_DEBUG is not set
-+
-+#
-+# Generic devices
-+#
-+CONFIG_SND_AC97_CODEC=y
-+CONFIG_SND_AC97_BUS=y
-+# CONFIG_SND_DUMMY is not set
-+# CONFIG_SND_MTPAV is not set
-+# CONFIG_SND_SERIAL_U16550 is not set
-+# CONFIG_SND_MPU401 is not set
-+
-+#
-+# PCI devices
-+#
-+# CONFIG_SND_AD1889 is not set
-+# CONFIG_SND_ALI5451 is not set
-+# CONFIG_SND_ATIIXP is not set
-+# CONFIG_SND_ATIIXP_MODEM is not set
-+# CONFIG_SND_AU8810 is not set
-+# CONFIG_SND_AU8820 is not set
-+# CONFIG_SND_AU8830 is not set
-+# CONFIG_SND_AZT3328 is not set
-+# CONFIG_SND_BT87X is not set
-+# CONFIG_SND_CA0106 is not set
-+# CONFIG_SND_CMIPCI is not set
-+# CONFIG_SND_CS4281 is not set
-+# CONFIG_SND_CS46XX is not set
-+# CONFIG_SND_EMU10K1 is not set
-+# CONFIG_SND_EMU10K1X is not set
-+# CONFIG_SND_ENS1370 is not set
-+# CONFIG_SND_ENS1371 is not set
-+# CONFIG_SND_ES1938 is not set
-+# CONFIG_SND_ES1968 is not set
-+# CONFIG_SND_FM801 is not set
-+# CONFIG_SND_HDA_INTEL is not set
-+# CONFIG_SND_HDSP is not set
-+# CONFIG_SND_HDSPM is not set
-+# CONFIG_SND_ICE1712 is not set
-+# CONFIG_SND_ICE1724 is not set
-+# CONFIG_SND_INTEL8X0 is not set
-+# CONFIG_SND_INTEL8X0M is not set
-+# CONFIG_SND_KORG1212 is not set
-+# CONFIG_SND_MAESTRO3 is not set
-+# CONFIG_SND_MIXART is not set
-+# CONFIG_SND_NM256 is not set
-+# CONFIG_SND_PCXHR is not set
-+# CONFIG_SND_RME32 is not set
-+# CONFIG_SND_RME96 is not set
-+# CONFIG_SND_RME9652 is not set
-+# CONFIG_SND_SONICVIBES is not set
-+# CONFIG_SND_TRIDENT is not set
-+# CONFIG_SND_VIA82XX is not set
-+# CONFIG_SND_VIA82XX_MODEM is not set
-+# CONFIG_SND_VX222 is not set
-+# CONFIG_SND_YMFPCI is not set
-+
-+#
-+# ALSA ARM devices
-+#
-+CONFIG_SND_PXA2XX_PCM=y
-+CONFIG_SND_PXA2XX_AC97=y
-+
-+#
-+# USB devices
-+#
-+# CONFIG_SND_USB_AUDIO is not set
-+
-+#
-+# PCMCIA devices
-+#
-+
-+#
-+# Open Sound System
-+#
-+# CONFIG_SOUND_PRIME is not set
-+
-+#
-+# USB support
-+#
-+CONFIG_USB_ARCH_HAS_HCD=y
-+CONFIG_USB_ARCH_HAS_OHCI=y
-+CONFIG_USB=y
-+# CONFIG_USB_DEBUG is not set
-+
-+#
-+# Miscellaneous USB options
-+#
-+CONFIG_USB_DEVICEFS=y
-+# CONFIG_USB_BANDWIDTH is not set
-+# CONFIG_USB_DYNAMIC_MINORS is not set
-+# CONFIG_USB_SUSPEND is not set
-+# CONFIG_USB_OTG is not set
-+
-+#
-+# USB Host Controller Drivers
-+#
-+# CONFIG_USB_EHCI_HCD is not set
-+# CONFIG_USB_ISP116X_HCD is not set
-+CONFIG_USB_OHCI_HCD=y
-+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
-+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-+# CONFIG_USB_UHCI_HCD is not set
-+# CONFIG_USB_SL811_HCD is not set
-+
-+#
-+# USB Device Class drivers
-+#
-+# CONFIG_OBSOLETE_OSS_USB_DRIVER 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
-+#
-+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_LIBUSUAL is not set
-+
-+#
-+# USB Input Devices
-+#
-+CONFIG_USB_HID=y
-+CONFIG_USB_HIDINPUT=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_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 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_ZD1201 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_AUERSWALD is not set
-+# CONFIG_USB_RIO500 is not set
-+# CONFIG_USB_LEGOTOWER is not set
-+# CONFIG_USB_LCD is not set
-+# CONFIG_USB_LED is not set
-+# CONFIG_USB_CYTHERM is not set
-+# CONFIG_USB_PHIDGETKIT is not set
-+# CONFIG_USB_PHIDGETSERVO is not set
-+# CONFIG_USB_IDMOUSE is not set
-+# CONFIG_USB_LD 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
-+
-+#
-+# 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_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 is not set
-+# CONFIG_XFS_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_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_SYSFS=y
-+CONFIG_TMPFS=y
-+# CONFIG_HUGETLB_PAGE is not set
-+CONFIG_RAMFS=y
-+# CONFIG_RELAYFS_FS 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_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 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=y
-+# CONFIG_SMB_NLS_DEFAULT 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=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 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=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
-+
-+#
-+# Profiling support
-+#
-+# CONFIG_PROFILING is not set
-+
-+#
-+# Kernel hacking
-+#
-+# CONFIG_PRINTK_TIME is not set
-+CONFIG_MAGIC_SYSRQ=y
-+CONFIG_DEBUG_KERNEL=y
-+CONFIG_LOG_BUF_SHIFT=17
-+# CONFIG_DETECT_SOFTLOCKUP is not set
-+# CONFIG_SCHEDSTATS is not set
-+# CONFIG_DEBUG_SLAB is not set
-+# CONFIG_DEBUG_MUTEXES is not set
-+# CONFIG_DEBUG_SPINLOCK is not set
-+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
-+# CONFIG_DEBUG_KOBJECT is not set
-+# CONFIG_DEBUG_BUGVERBOSE is not set
-+CONFIG_DEBUG_INFO=y
-+# CONFIG_DEBUG_FS is not set
-+# CONFIG_DEBUG_VM is not set
-+CONFIG_FRAME_POINTER=y
-+CONFIG_FORCED_INLINING=y
-+# CONFIG_RCU_TORTURE_TEST is not set
-+CONFIG_DEBUG_USER=y
-+# CONFIG_DEBUG_WAITQ is not set
-+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_HMAC 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_DES 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 is not set
-+# CONFIG_CRYPTO_CRC32C is not set
-+# CONFIG_CRYPTO_TEST is not set
-+
-+#
-+# Hardware crypto devices
-+#
-+
-+#
-+# Library routines
-+#
-+# CONFIG_CRC_CCITT is not set
-+# CONFIG_CRC16 is not set
-+CONFIG_CRC32=y
-+# CONFIG_LIBCRC32C is not set
-diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c
-index c4923fa..4ff2a62 100644
---- a/arch/arm/kernel/bios32.c
-+++ b/arch/arm/kernel/bios32.c
-@@ -280,6 +280,34 @@ static void __devinit pci_fixup_cy82c693
- }
- DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693, pci_fixup_cy82c693);
-+static void __init pci_fixup_it8152(struct pci_dev *dev) 
-+{
-+      int i;
-+      if ((dev->class >> 8) == PCI_CLASS_BRIDGE_HOST) {
-+              for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-+                      dev->resource[i].start = 0;
-+                      dev->resource[i].end   = 0;
-+                      dev->resource[i].flags = 0;
-+              }
-+      }
-+      if (dev->class == 0x68000) {
-+              for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-+                      dev->resource[i].start = 0;
-+                      dev->resource[i].end   = 0;
-+                      dev->resource[i].flags = 0;
-+              }
-+      }
-+      if (dev->class == 0x80103) {
-+              for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-+                      dev->resource[i].start = 0;
-+                      dev->resource[i].end   = 0;
-+                      dev->resource[i].flags = 0;
-+              }
-+      }
-+}     
-+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ITE, PCI_DEVICE_ID_ITE_IT8152, pci_fixup_it8152);
-+
-+
- void __devinit pcibios_update_irq(struct pci_dev *dev, int irq)
- {
-       if (debug_pci)
-@@ -293,9 +321,11 @@ void __devinit pcibios_update_irq(struct
-  */
- static inline int pdev_bad_for_parity(struct pci_dev *dev)
- {
--      return (dev->vendor == PCI_VENDOR_ID_INTERG &&
--              (dev->device == PCI_DEVICE_ID_INTERG_2000 ||
--               dev->device == PCI_DEVICE_ID_INTERG_2010));
-+      return ((dev->vendor == PCI_VENDOR_ID_INTERG &&
-+               (dev->device == PCI_DEVICE_ID_INTERG_2000 ||
-+                dev->device == PCI_DEVICE_ID_INTERG_2010)) ||
-+              (dev->vendor == PCI_VENDOR_ID_ITE &&
-+               dev->device == PCI_DEVICE_ID_ITE_IT8152));
- }
- /*
-diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S
-index 2b254e8..310ccf5 100644
---- a/arch/arm/kernel/vmlinux.lds.S
-+++ b/arch/arm/kernel/vmlinux.lds.S
-@@ -175,5 +175,5 @@ #endif
-  * If you have to comment these two assert statements out, your
-  * binutils is too old (for other reasons as well)
-  */
--ASSERT((__proc_info_end - __proc_info_begin), "missing CPU support")
--ASSERT((__arch_info_end - __arch_info_begin), "no machine record defined")
-+/* ASSERT((__proc_info_end - __proc_info_begin), "missing CPU support") */
-+/* ASSERT((__arch_info_end - __arch_info_begin), "no machine record defined") */
-diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
-index c1d77f5..c240211 100644
---- a/arch/arm/mach-pxa/Kconfig
-+++ b/arch/arm/mach-pxa/Kconfig
-@@ -15,6 +15,11 @@ config MACH_MAINSTONE
-       select PXA27x
-       select IWMMXT
-+config MACH_ARMCORE
-+      bool "CompuLab CM-X270 modules"
-+      select PXA27x
-+      select IWMMXT
-+
- config ARCH_PXA_IDP
-       bool "Accelent Xscale IDP"
-       select PXA25x
-@@ -50,6 +55,25 @@ endchoice
- endif
-+if MACH_ARMCORE
-+choice
-+      prompt "Select CM-X270 base board"
-+      config ARMCORE_ATXBASE
-+      bool "ATX-X270 base board"
-+      config ARMCORE_SB270
-+      bool "SB-270 base board"
-+endchoice
-+
-+choice
-+      prompt "Select CM-X270 revision"
-+      config ARMCORE_REV12
-+      bool "CM-X270 revision 1.2"
-+      config ARMCORE_REV11
-+      bool "CM-X270 revision 1.1"
-+endchoice
-+
-+endif
-+
- endmenu
- config MACH_POODLE
-diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile
-index 32526a0..d78d061 100644
---- a/arch/arm/mach-pxa/Makefile
-+++ b/arch/arm/mach-pxa/Makefile
-@@ -16,12 +16,14 @@ obj-$(CONFIG_PXA_SHARP_Cxx00)      += spitz.o
- obj-$(CONFIG_MACH_AKITA)      += akita-ioexp.o
- obj-$(CONFIG_MACH_POODLE)     += poodle.o
- obj-$(CONFIG_MACH_TOSA)         += tosa.o
-+obj-$(CONFIG_MACH_ARMCORE) += cm-x270.o
- # Support for blinky lights
- led-y := leds.o
- led-$(CONFIG_ARCH_LUBBOCK) += leds-lubbock.o
- led-$(CONFIG_MACH_MAINSTONE) += leds-mainstone.o
- led-$(CONFIG_ARCH_PXA_IDP) += leds-idp.o
-+led-$(CONFIG_MACH_ARMCORE) += leds-cm-x270.o
- obj-$(CONFIG_LEDS) += $(led-y)
-@@ -32,3 +34,10 @@ obj-$(CONFIG_PXA_SSP) += ssp.o
- ifeq ($(CONFIG_PXA27x),y)
- obj-$(CONFIG_PM) += standby.o
- endif
-+
-+# PCI support on CM-X270
-+obj-$(CONFIG_PCI_HOST_ITE8152) += it8152.o
-+
-+ifeq ($(CONFIG_PCI),y)
-+obj-$(CONFIG_MACH_ARMCORE) += cm-x270-pci.o
-+endif
-diff --git a/arch/arm/mach-pxa/cm-x270-pci.c b/arch/arm/mach-pxa/cm-x270-pci.c
-new file mode 100644
-index 0000000..73243d3
---- /dev/null
-+++ b/arch/arm/mach-pxa/cm-x270-pci.c
-@@ -0,0 +1,152 @@
-+/*
-+ * arch/arm/kernel/cm-x270-pci.c
-+ *
-+ * PCI bios-type initialisation for PCI machines
-+ *
-+ * Bits taken from various places.
-+ *
-+ * Copyright (C) 2006 Compulab, Ltd.
-+ *
-+ * 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/kernel.h>
-+#include <linux/pci.h>
-+#include <linux/init.h>
-+#include <linux/device.h>
-+#include <linux/platform_device.h>
-+
-+#include <asm/irq.h>
-+#include <asm/mach/pci.h>
-+#include <asm/arch/cm-x270.h>
-+#include <asm/mach-types.h>
-+
-+#include <asm/hardware/it8152.h>
-+
-+unsigned long armcore_pcibios_min_mem = 0x10000000;
-+unsigned long armcore_pcibios_min_io = CMX270_IT8152_VIRT + 0x03e00000 + 0x120000;
-+unsigned long it8152_base_address = CMX270_IT8152_VIRT;
-+
-+/* these symbols needed for CardBus driver (yenta_socket) */
-+EXPORT_SYMBOL(armcore_pcibios_min_io);
-+EXPORT_SYMBOL(armcore_pcibios_min_mem);
-+
-+static u8 __init cmx270_pci_swizzle(struct pci_dev *dev, u8 *pin)
-+{
-+      return PCI_SLOT(dev->devfn);
-+}
-+
-+/* Platform specific IRQ mapping */
-+static int __init cmx270_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
-+{
-+      if((dev->vendor==0x1283) && (dev->device==0x8152) &&
-+         ((dev->class >> 8)==0x801)) return(CDMA_INT);
-+      if((dev->vendor==0x1283) && (dev->device==0x0801) &&
-+         ((dev->class >> 8)==0x401)) return(AUDIO_INT);
-+      if((dev->vendor==0x1283) && (dev->device==0x8152) &&
-+         ((dev->class >> 8)==0xc03)) return(USB_INT);
-+
-+      /* ATXBASE PCI slot */
-+      if ( slot == 7 )
-+              return(PCI_INTA);
-+
-+      /* ATXBASE/SB-X270 CardBus */
-+      if ( (slot == 8) || (slot == 0) )
-+              return(PCI_INTB);
-+
-+      /* ATXBASE ETH */
-+      if ( slot == 9 )
-+              return(PCI_INTA);
-+
-+      /* ARMCore onboard ETH */
-+      if ( slot == 15 )
-+              return(PCI_INTC);
-+
-+      /* ARMBase ETH */
-+      if ( slot == 16 )
-+              return(PCI_INTA);
-+
-+      /* PC104+ interrupt routing */
-+      if ( (slot == 17) || (slot == 19) )
-+              return(PCI_INTA);
-+      if ( (slot == 18) || (slot == 20) )
-+              return(PCI_INTB);
-+   
-+      return(0);
-+}
-+
-+extern int it8152_pci_setup(int nr, struct pci_sys_data *sys);
-+extern struct pci_bus * it8152_pci_scan_bus(int nr, struct pci_sys_data *sys);
-+
-+static struct pci_bus* __init cmx270_pci_scan_bus(int nr, struct pci_sys_data *sys)
-+{
-+      IT8152_PCI_CFG_ADDR     = 0x800;
-+      if(IT8152_PCI_CFG_DATA == 0x81521283) {
-+              printk("PCI Bridge found.\n");
-+
-+              IT8152_GPIO_GPLR=0x20;
-+
-+/***********  CardBus Controller on ATXBASE configuration     ********/               
-+              IT8152_PCI_CFG_ADDR     = 0x4000;
-+              if(IT8152_PCI_CFG_DATA == 0xAC51104C) {
-+                      unsigned int temp;
-+                      printk("CardBus Bridge found.\n");
-+
-+                      // Configure socket 0
-+                      IT8152_PCI_CFG_ADDR     = 0x408C;
-+                      IT8152_PCI_CFG_DATA = 0x1022;
-+
-+                      IT8152_PCI_CFG_ADDR     = 0x4080;
-+                      IT8152_PCI_CFG_DATA = 0x3844d060;
-+
-+                      IT8152_PCI_CFG_ADDR     = 0x4090;
-+                      temp = IT8152_PCI_CFG_DATA;
-+                      temp = temp & 0xFFFF;
-+                      temp = temp | (0x60440000);
-+                      IT8152_PCI_CFG_ADDR     = 0x4090;
-+                      IT8152_PCI_CFG_DATA = temp;
-+
-+                      IT8152_PCI_CFG_ADDR     = 0x4018;
-+                      IT8152_PCI_CFG_DATA = 0xb0000000;
-+
-+                      // Configure socket 1
-+                      IT8152_PCI_CFG_ADDR     = 0x418C;
-+                      IT8152_PCI_CFG_DATA = 0x1022;
-+
-+                      IT8152_PCI_CFG_ADDR     = 0x4180;
-+                      IT8152_PCI_CFG_DATA = 0x3844d060;
-+
-+                      IT8152_PCI_CFG_ADDR     = 0x4190;
-+                      temp = IT8152_PCI_CFG_DATA;
-+                      temp = temp & 0xFFFF;
-+                      temp = temp | (0x60440000);
-+                      IT8152_PCI_CFG_ADDR     = 0x4190;
-+                      IT8152_PCI_CFG_DATA = temp;
-+
-+                      IT8152_PCI_CFG_ADDR     = 0x4118;
-+                      IT8152_PCI_CFG_DATA = 0xb0000000;  
-+              }
-+/***********  End of CardBus controller configuration **************/
-+      }
-+      return it8152_pci_scan_bus(nr, sys);
-+}
-+
-+static struct hw_pci cmx270_pci __initdata = {
-+      .swizzle                = cmx270_pci_swizzle,
-+      .map_irq                = cmx270_pci_map_irq,
-+      .nr_controllers         = 1,
-+      .setup                  = it8152_pci_setup,
-+      .scan                   = cmx270_pci_scan_bus,
-+};
-+
-+static int __init cmx270_init_pci(void)
-+{
-+      if (machine_is_armcore()) {
-+              pci_common_init(&cmx270_pci);
-+      }
-+      return 0;
-+}
-+
-+subsys_initcall(cmx270_init_pci);
-diff --git a/arch/arm/mach-pxa/cm-x270.c b/arch/arm/mach-pxa/cm-x270.c
-new file mode 100644
-index 0000000..6157135
---- /dev/null
-+++ b/arch/arm/mach-pxa/cm-x270.c
-@@ -0,0 +1,887 @@
-+/*
-+ * linux/arch/arm/mach-pxa/cm-x270.c
-+ *
-+ * Copyright (C) 2006 CompuLab, Ltd.
-+ *
-+ * 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/pm.h>
-+#include <linux/fb.h>
-+#include <linux/platform_device.h>
-+#include <linux/sysdev.h>
-+#include <linux/dm9000.h>
-+#include <linux/serial_8250.h>
-+
-+#include <asm/types.h>
-+#include <asm/setup.h>
-+#include <asm/memory.h>
-+#include <asm/mach-types.h>
-+#include <asm/hardware.h>
-+#include <asm/irq.h>
-+#include <asm/io.h>
-+#include <asm/delay.h>
-+
-+#include <asm/mach/arch.h>
-+#include <asm/mach/map.h>
-+#include <asm/mach/irq.h>
-+
-+#include <asm/arch/pxa-regs.h>
-+#include <asm/arch/irq.h>
-+#include <asm/arch/pxafb.h>
-+#include <asm/arch/marathonfb.h>
-+#include <asm/arch/ohci.h>
-+#include <asm/arch/pxafbsetup.h>
-+#include <asm/arch/bitfield.h>
-+#include <asm/arch/cm-x270.h>
-+
-+#include <asm/hardware/it8152.h>
-+
-+#include "generic.h"
-+
-+#define RTC_PHYS_BASE         (PXA_CS1_PHYS + (5 << 22))
-+#define DM9000_PHYS_BASE      (PXA_CS1_PHYS + (6 << 22))
-+
-+static struct resource cmx270_dm9k_resource[] = {
-+      [0] = {
-+              .start = DM9000_PHYS_BASE,
-+              .end   = DM9000_PHYS_BASE + 4,
-+              .flags = IORESOURCE_MEM,
-+      },
-+      [1] = {
-+              .start = DM9000_PHYS_BASE + 8,
-+              .end   = DM9000_PHYS_BASE + 8 + 500,
-+              .flags = IORESOURCE_MEM,
-+      },
-+      [2] = {
-+              .start = CMX270_ETHIRQ,
-+              .end   = CMX270_ETHIRQ,
-+              .flags = IORESOURCE_IRQ,
-+      }
-+};
-+
-+/* for the moment we limit ourselves to 32bit IO until some
-+ * better IO routines can be written and tested
-+ */
-+static struct dm9000_plat_data cmx270_dm9k_platdata = {
-+      .flags          = DM9000_PLATF_32BITONLY,
-+};
-+
-+/* Ethernet device */
-+static struct platform_device cmx270_device_dm9k = {
-+      .name           = "dm9000",
-+      .id             = 0,
-+      .num_resources  = ARRAY_SIZE(cmx270_dm9k_resource),
-+      .resource       = cmx270_dm9k_resource,
-+      .dev            = {
-+              .platform_data = &cmx270_dm9k_platdata,
-+      }
-+};
-+
-+/* audio device */
-+static struct platform_device cmx270_audio_device = {
-+      .name           = "pxa2xx-ac97",
-+      .id             = -1,
-+};
-+
-+/* touchscreen controller */
-+static struct platform_device cmx270_ts_device = {
-+      .name           = "ucb1x00",
-+      .id             = -1,
-+};
-+
-+/* RTC */
-+static struct resource cmx270_v3020_resource[] = {
-+      [0] = {
-+              .start = RTC_PHYS_BASE,
-+              .end   = RTC_PHYS_BASE + 4,
-+              .flags = IORESOURCE_MEM,
-+      },
-+};
-+
-+static struct platform_device cmx270_rtc_device = {
-+      .name           = "emv3020-rtc",
-+      .num_resources  = ARRAY_SIZE(cmx270_v3020_resource),
-+      .resource       = cmx270_v3020_resource,
-+      .id             = -1,
-+};
-+
-+/* UART on the ITE8152 chip */
-+#ifdef CONFIG_PCI
-+static struct plat_serial8250_port ite_uart_port[] = {
-+      {
-+              .irq            = IRQ_ITESER,           /* interrupt number */
-+              .uartclk        = 115200 * 16,  /* UART clock rate */
-+              .iotype         = UPIO_MEM,             /* UPIO_* */
-+              .flags          = UPF_BOOT_AUTOCONF,
-+      },
-+      {}
-+};
-+
-+static struct platform_device iteuart_device = {
-+      .name           = "serial8250",
-+      .id             = PLAT8250_DEV_PLATFORM,
-+      .dev                    = {
-+              .platform_data  = ite_uart_port,
-+      },
-+};
-+#endif
-+
-+/* 2700G graphics */
-+static u64 fb_dma_mask = ~(u64)0;
-+
-+static struct resource cmx270_2700G_resource[] = {
-+      /* frame buffer memory including ODFB and External SDRAM */
-+      [0] = {
-+              .start = MARATHON_PHYS,
-+              .end   = MARATHON_PHYS + 0x02000000,
-+              .flags = IORESOURCE_MEM,
-+      },
-+      /* Marathon registers */
-+      [1] = {
-+              .start = MARATHON_PHYS + 0x03fe0000,
-+              .end   = MARATHON_PHYS + 0x03ffffff,
-+              .flags = IORESOURCE_MEM,
-+      },
-+};
-+
-+static unsigned long save_lcd_regs[10];
-+
-+#define LB_TROTTLE_OFF (PXA_CS1_PHYS | (1 << 25))
-+#define LB_TROTTLE_MAX (PXA_CS1_PHYS | (1 << 25) | (1 << 22))
-+static int cmx270_marathon_probe(struct fb_info *fb)
-+{
-+      volatile unsigned long *cpld;
-+      
-+      cpld = (volatile unsigned long*)ioremap(LB_TROTTLE_OFF, 4);
-+      
-+      if ( !cpld ) {
-+              return -ENODEV;
-+      }
-+      *cpld = 0;
-+      iounmap((void*)cpld);
-+      
-+
-+      /* save PXA-270 pin settings before enabling 2700G */
-+      save_lcd_regs[0] = GPDR1;
-+      save_lcd_regs[1] = GPDR2;
-+      save_lcd_regs[2] = GAFR1_U;
-+      save_lcd_regs[3] = GAFR2_L;
-+      save_lcd_regs[4] = GAFR2_U;
-+
-+      /* Disable PXA-270 on-chip controller driving pins */
-+      GPDR1 &= ~(0xfc000000);
-+      GPDR2 &= ~(0x00c03fff);
-+      GAFR1_U &= ~(0xfff00000);
-+      GAFR2_L &= ~(0x0fffffff);
-+      GAFR2_U &= ~(0x0000f000);
-+      return 0;
-+}
-+
-+static int cmx270_marathon_remove(struct fb_info *fb)
-+{
-+      volatile unsigned long *cpld;
-+      
-+      cpld = (volatile unsigned long*)ioremap(LB_TROTTLE_MAX, 4);
-+      
-+      if ( !cpld ) {
-+              return -ENODEV;
-+      }
-+      *cpld = 0;
-+      iounmap((void*)cpld);
-+
-+      GPDR1 =   save_lcd_regs[0];
-+      GPDR2 =   save_lcd_regs[1];
-+      GAFR1_U = save_lcd_regs[2];
-+      GAFR2_L = save_lcd_regs[3];
-+      GAFR2_U = save_lcd_regs[4];
-+      return 0;
-+}
-+
-+static struct mbxfb_platform_data cmx270_2700G_data = {
-+      .xres = {
-+              .min = 240,
-+              .max = 1200,
-+              .defval = 640,
-+      },
-+      .yres = { 
-+              .min = 240,
-+              .max = 1200,
-+              .defval = 480,
-+      },
-+      .bpp = {
-+              .min = 16,
-+              .max = 32,
-+              .defval = 16,
-+      },
-+      .memsize = 8*1024*1024,
-+      .probe = cmx270_marathon_probe,
-+      .remove = cmx270_marathon_remove,
-+};
-+
-+static struct platform_device cmx270_2700G = {
-+      .name           = "mbx-fb",
-+      .dev            = {
-+              .platform_data  = &cmx270_2700G_data,
-+              .dma_mask       = &fb_dma_mask,
-+              .coherent_dma_mask = 0xffffffff,
-+      },
-+      .num_resources  = ARRAY_SIZE(cmx270_2700G_resource),
-+      .resource       = cmx270_2700G_resource,
-+      .id             = -1,
-+};
-+
-+/* platform devices */
-+static struct platform_device *platform_devices[] __initdata = {
-+      &cmx270_device_dm9k,
-+      &cmx270_audio_device,
-+      &cmx270_ts_device,
-+      &cmx270_rtc_device,
-+      &cmx270_2700G,
-+#ifdef CONFIG_PCI
-+      &iteuart_device,
-+#endif
-+};
-+
-+#ifdef CONFIG_PCI
-+/*
-+ * Install handler for IT8152 IRQ.  Yes, yes... we are way down the IRQ
-+ * cascade which is not good for IRQ latency, but the hardware has been
-+ * designed that way...
-+ */
-+static inline void cmx270_irq(int irq, struct pt_regs *regs)
-+{
-+      struct irqdesc *desc;
-+      desc = irq_desc + irq;
-+      desc->handle(irq, desc, regs);
-+}
-+
-+static void cmx270_irq_demux(unsigned int irq, struct irqdesc *desc,
-+                           struct pt_regs *regs)
-+{
-+      unsigned long pdcnimr, ldcnimr;
-+      int pdcnirr, ldcnir;
-+
-+      /* clear our parent irq */
-+      GEDR(GPIO_IT8152_IRQ) = GPIO_bit(GPIO_IT8152_IRQ);
-+
-+      /* read pending IRQs in the chip registers and clear them */
-+      pdcnirr = IT8152_INTC_PDCNIRR;
-+      ldcnir = IT8152_INTC_LDCNIRR;
-+      IT8152_INTC_PDCNIRR = ~pdcnirr;
-+      IT8152_INTC_LDCNIRR = ~ldcnir;
-+
-+      /* mask ITE irqs */
-+      pdcnimr = IT8152_INTC_PDCNIMR;
-+      ldcnimr = IT8152_INTC_LDCNIMR;
-+      IT8152_INTC_PDCNIMR = 0xffff;
-+      IT8152_INTC_LDCNIMR = 0xffff;
-+ 
-+      pdcnirr &= (PCISERR_BIT | H2PTADR_BIT | H2PMAR_BIT |
-+                  PCI_INTD_BIT | PCI_INTC_BIT | PCI_INTB_BIT | PCI_INTA_BIT |
-+                  USB_INT_BIT | CDMA_INT_BIT);
-+              
-+      ldcnir &= ITESER_BIT;
-+
-+      IT8152_INTC_PDCNIRR = ~pdcnirr;
-+      IT8152_INTC_LDCNIRR = ~ldcnir;
-+
-+      /* are there interrupts pending ? */
-+      if( (pdcnirr | ldcnir) ) {
-+              if (pdcnirr) {
-+                      if( pdcnirr & PCISERR_BIT )
-+                              cmx270_irq(PCISERR, regs);
-+                      if( pdcnirr & H2PTADR_BIT )
-+                              cmx270_irq(H2PTADR, regs);
-+                      if( pdcnirr & H2PMAR_BIT )
-+                              cmx270_irq(H2PMAR, regs);
-+                      if( pdcnirr & PCI_INTA_BIT )
-+                              cmx270_irq(PCI_INTA, regs);
-+                      if( pdcnirr & PCI_INTB_BIT )
-+                              cmx270_irq(PCI_INTB, regs);
-+                      if( pdcnirr & PCI_INTC_BIT )
-+                              cmx270_irq(PCI_INTC, regs);
-+                      if( pdcnirr & PCI_INTD_BIT )
-+                              cmx270_irq(PCI_INTD, regs);
-+                      if( pdcnirr & USB_INT_BIT )
-+                              cmx270_irq(USB_INT, regs);
-+                      if( pdcnirr & CDMA_INT_BIT )
-+                              cmx270_irq(CDMA_INT, regs);
-+              }
-+              if(ldcnir) {
-+                      if( ldcnir & ITESER_BIT )
-+                              cmx270_irq(IRQ_ITESER, regs);
-+              }
-+      }
-+
-+      /* re-enable ITE interrupts */
-+      IT8152_INTC_PDCNIMR = pdcnimr;
-+      IT8152_INTC_LDCNIMR = ldcnimr;
-+}
-+#else
-+unsigned long it8152_base_address = CMX270_IT8152_VIRT;
-+#endif
-+
-+/* Map PCI companion and IDE/General Purpose CS statically */
-+static struct map_desc cmx270_io_desc[] __initdata = {
-+      {
-+              .virtual        = CMX270_IDE104_VIRT,
-+              .pfn            = __phys_to_pfn(CMX270_IDE104_PHYS),
-+              .length         = PXA_CS_SIZE,
-+              .type           = MT_DEVICE
-+      },
-+      {
-+              .virtual        = CMX270_IT8152_VIRT,
-+              .pfn            = __phys_to_pfn(CMX270_IT8152_PHYS),
-+              .length         = PXA_CS_SIZE,
-+              .type           = MT_DEVICE
-+      },
-+};
-+
-+/*********************** Display definitions ****************************/
-+static int mtype=MTYPE_CRT640x480;
-+static int mbpp=-1;
-+
-+struct cmx270_display_info {
-+      struct pxafb_mach_info fb_info;
-+      char *display_name;
-+};
-+
-+static struct __initdata cmx270_display_info cmx270_displays[] = {
-+      [ MTYPE_STN320x240 ] = {
-+              .fb_info = {
-+                      .pixclock       = 76923,
-+                      .bpp            = 8,
-+                      .xres           = 320,
-+                      .yres           = 240,
-+                      .hsync_len      = 3,
-+                      .vsync_len      = 2,
-+                      .left_margin    = 3,
-+                      .upper_margin   = 0,
-+                      .right_margin   = 3,
-+                      .lower_margin   = 0,
-+                      .sync           = (FB_SYNC_HOR_HIGH_ACT |
-+                                         FB_SYNC_VERT_HIGH_ACT),
-+                      .lccr0          = 0,
-+                      .lccr3          = (LCCR3_PixClkDiv(0x03) |
-+                                         LCCR3_Acb(0xff) |
-+                                         LCCR3_PCP),
-+                      .cmap_greyscale  = 0,
-+                      .cmap_inverse    = 0,
-+                      .cmap_static     = 0,
-+              },
-+              .display_name    = "STN 320x240",
-+      },
-+      [ MTYPE_TFT640x480 ] = {
-+              .fb_info = {
-+                      .pixclock       = 38461,
-+                      .bpp            = 8,
-+                      .xres           = 640,
-+                      .yres           = 480,
-+                      .hsync_len      = 60,
-+                      .vsync_len      = 2,
-+                      .left_margin    = 70,
-+                      .upper_margin   = 10,
-+                      .right_margin   = 70,
-+                      .lower_margin   = 5,
-+                      .sync           = 0,
-+                      .lccr0          = (LCCR0_PAS),
-+                      .lccr3          = (LCCR3_PixClkDiv(0x01) |
-+                                         LCCR3_Acb(0xff) |
-+                                         LCCR3_PCP),
-+                      .cmap_greyscale         = 0,
-+                      .cmap_inverse           = 0,
-+                      .cmap_static            = 0,
-+              },
-+              .display_name           = "TFT 640x480",
-+      },
-+      [ MTYPE_CRT640x480 ] = {
-+              .fb_info = {
-+                      .pixclock       = 38461,
-+                      .bpp            = 8,
-+                      .xres           = 640,
-+                      .yres           = 480,
-+                      .hsync_len      = 63,
-+                      .vsync_len      = 2,
-+                      .left_margin    = 81,
-+                      .upper_margin   = 33,
-+                      .right_margin   = 16,
-+                      .lower_margin   = 10,
-+                      .sync           = (FB_SYNC_HOR_HIGH_ACT |
-+                                         FB_SYNC_VERT_HIGH_ACT),
-+                      .lccr0          = (LCCR0_PAS),
-+                      .lccr3          = (LCCR3_PixClkDiv(0x01) |
-+                                         LCCR3_Acb(0xff)),
-+                      .cmap_greyscale  = 0,
-+                      .cmap_inverse    = 0,
-+                      .cmap_static     = 0,
-+              },
-+              .display_name    = "CRT 640x480",
-+      },
-+      [ MTYPE_CRT800x600 ] = {
-+              .fb_info = {
-+                      .pixclock       = 28846,
-+                      .bpp            = 8,
-+                      .xres           = 800,
-+                      .yres           = 600,
-+                      .hsync_len      = 63,
-+                      .vsync_len      = 2,
-+                      .left_margin    = 26,
-+                      .upper_margin   = 21,
-+                      .right_margin   = 26,
-+                      .lower_margin   = 11,
-+                      .sync           = (FB_SYNC_HOR_HIGH_ACT |
-+                                         FB_SYNC_VERT_HIGH_ACT),
-+                      .lccr0          = (LCCR0_PAS),
-+                      .lccr3          = (LCCR3_PixClkDiv(0x02) |
-+                                         LCCR3_Acb(0xff)),
-+                      .cmap_greyscale = 0,
-+                      .cmap_inverse   = 0,
-+                      .cmap_static    = 0,
-+              },
-+              .display_name   = "CRT 800x600",
-+      },
-+      [ MTYPE_CRT1024x768 ] = {
-+              .fb_info = {
-+                      .pixclock = 0,
-+                      .xres = 0,
-+                      .yres = 0,
-+              },
-+              .display_name   = "CRT 1024x768",
-+      },
-+      [ MTYPE_USER_DEFINED ] = {
-+              .fb_info = {
-+                      .pixclock       = LCD_PIXCLOCK,
-+                      .bpp            = LCD_BPP,
-+                      .xres           = LCD_XRES,
-+                      .yres           = LCD_YRES,
-+                      .hsync_len      = LCD_HORIZONTAL_SYNC_PULSE_WIDTH,
-+                      .vsync_len      = LCD_VERTICAL_SYNC_PULSE_WIDTH,
-+                      .left_margin    = LCD_BEGIN_OF_LINE_WAIT_COUNT,
-+                      .upper_margin   = LCD_BEGIN_FRAME_WAIT_COUNT,
-+                      .right_margin   = LCD_END_OF_LINE_WAIT_COUNT,
-+                      .lower_margin   = LCD_END_OF_FRAME_WAIT_COUNT,
-+                      .sync           = LCD_SYNC,
-+                      .lccr0          = LCD_LCCR0,
-+                      .lccr3          = LCD_LCCR3,
-+                      .cmap_greyscale = CMAP_GREYSCALE,
-+                      .cmap_inverse   = CMAP_INVERSE,
-+                      .cmap_static    = CMAP_STATIC,
-+              },
-+              .display_name   = LCD_NAME,
-+      },
-+      [ MTYPE_TFT320x240 ] = {
-+              .fb_info = {
-+                      .pixclock       = 134615,
-+                      .bpp            = 16,
-+                      .xres           = 320,
-+                      .yres           = 240,
-+                      .hsync_len      = 63,
-+                      .vsync_len      = 7,
-+                      .left_margin    = 75,
-+                      .upper_margin   = 0,
-+                      .right_margin   = 15,
-+                      .lower_margin   = 15,
-+                      .sync           = 0,
-+                      .lccr0          = (LCCR0_PAS),
-+                      .lccr3          = (LCCR3_PixClkDiv(0x06) |
-+                                         LCCR3_Acb(0xff) |
-+                                         LCCR3_PCP),
-+                      .cmap_greyscale  = 0,
-+                      .cmap_inverse    = 0,
-+                      .cmap_static     = 0,
-+              },
-+              .display_name   = "TFT 320x240",
-+      },
-+      [ MTYPE_STN640x480 ] = {
-+              .fb_info = {
-+                      .pixclock       = 57692,
-+                      .bpp            = 8,
-+                      .xres           = 640,
-+                      .yres           = 480,
-+                      .hsync_len      = 4,
-+                      .vsync_len      = 2,
-+                      .left_margin    = 10,
-+                      .upper_margin   = 5,
-+                      .right_margin   = 10,
-+                      .lower_margin   = 5,
-+                      .sync           = (FB_SYNC_HOR_HIGH_ACT |
-+                                         FB_SYNC_VERT_HIGH_ACT),
-+                      .lccr0          = 0,
-+                      .lccr3          = (LCCR3_PixClkDiv(0x02) |
-+                                         LCCR3_Acb(0xff)),
-+                      .cmap_greyscale  = 0,
-+                      .cmap_inverse    = 0,
-+                      .cmap_static     = 0,
-+              },
-+              .display_name   = "STN 640x480",
-+      },
-+};
-+
-+static int __init monitor_params(char *str)
-+{
-+      mtype = simple_strtol(str, NULL, 0);
-+      return 1;
-+}
-+
-+__setup("monitor=", monitor_params);
-+
-+static int __init fb_bpp(char *str)
-+{
-+      mbpp = simple_strtol(str, NULL, 0);
-+      return 1;
-+}
-+
-+__setup("bpp=", fb_bpp);
-+
-+/* PXA27x OHCI controller setup */
-+static int cmx270_ohci_init(struct device *dev)
-+{
-+      /* Set the Power Control Polarity Low */
-+      UHCHR = (UHCHR | UHCHR_PCPL) &
-+              ~(UHCHR_SSEP1 | UHCHR_SSEP2 | UHCHR_SSE);
-+
-+      return 0;
-+}
-+
-+static struct pxaohci_platform_data cmx270_ohci_platform_data = {
-+      .port_mode      = PMM_PERPORT_MODE,
-+      .init           = cmx270_ohci_init,
-+};
-+
-+#ifdef CONFIG_PM
-+/* timeout for RTC wakeup */
-+unsigned int cmx270_suspend_timeout;
-+
-+static ssize_t timeout_show(struct subsystem * subsys, char * buf)
-+{
-+      char * s = buf;
-+
-+      s += sprintf(s,"%d seconds\n", cmx270_suspend_timeout);
-+      return (s - buf);
-+}
-+
-+static ssize_t timeout_store(struct subsystem * subsys, const char * buf, size_t n)
-+{
-+      char *endp = 0;
-+      int timeout;
-+
-+      timeout = simple_strtoul(buf, &endp, 10);
-+      if ( *endp && *endp != '\n')
-+              return -EINVAL;
-+
-+      cmx270_suspend_timeout = timeout;
-+      return n;
-+}
-+
-+static struct subsys_attribute timeout_attr = {
-+      .attr   = {
-+              .name = __stringify(timeout),
-+              .mode = 0644,
-+      },
-+      .show   = timeout_show,
-+      .store  = timeout_store,
-+};
-+
-+static struct attribute * g[] = {
-+      &timeout_attr.attr,
-+      NULL,
-+};
-+
-+static struct attribute_group attr_group = {
-+      .attrs = g,
-+};
-+
-+extern struct subsystem power_subsys;
-+static unsigned long sleep_save_ite[10];
-+static unsigned long sleep_save_msc[10];
-+
-+static int cmx270_suspend(struct sys_device *dev, pm_message_t state)
-+{
-+#ifdef CONFIG_PCI
-+      /* save ITE state */
-+      sleep_save_ite[0] = IT8152_INTC_PDCNIMR;
-+      sleep_save_ite[1] = IT8152_INTC_LPCNIMR;
-+      sleep_save_ite[2] = IT8152_INTC_LPNIAR;
-+
-+      /* Clear ITE IRQ's */
-+      IT8152_INTC_PDCNIRR = 0;
-+      IT8152_INTC_LPCNIRR = 0;
-+#endif
-+
-+      /* save MSC registers */
-+      sleep_save_msc[0] = MSC0;
-+      sleep_save_msc[1] = MSC1;
-+      sleep_save_msc[2] = MSC2;
-+
-+      /* setup power saving mode registers */
-+      PCFR = 0x0;
-+      PSLR = 0xff400000;
-+      PMCR  = 0x00000005;
-+      PWER  = 0x80000000;
-+      PFER  = 0x00000000;
-+      PRER  = 0x00000000;
-+      PGSR0 = 0xC0018800;
-+      PGSR1 = 0x004F0002;
-+      PGSR2 = 0x6021C000;
-+      PGSR3 = 0x00020000;
-+
-+      if ( cmx270_suspend_timeout ) {
-+              RTAR = RCNR + cmx270_suspend_timeout;
-+              cmx270_suspend_timeout = 0;
-+      }
-+
-+      return 0;
-+}
-+
-+static int cmx270_resume(struct sys_device *dev)
-+{
-+#ifdef CONFIG_PCI
-+      /* restore IT8152 state */
-+      IT8152_INTC_PDCNIMR = sleep_save_ite[0];
-+      IT8152_INTC_LPCNIMR = sleep_save_ite[1];
-+      IT8152_INTC_LPNIAR = sleep_save_ite[2];
-+#endif
-+
-+      /* restore MSC registers */
-+      MSC0 = sleep_save_msc[0];
-+      MSC1 = sleep_save_msc[1];
-+      MSC2 = sleep_save_msc[2];
-+
-+      return 0;
-+}
-+
-+static struct sysdev_class cmx270_pm_sysclass = {
-+      set_kset_name("pm"),
-+      .resume = cmx270_resume,
-+      .suspend = cmx270_suspend,
-+};
-+
-+static struct sys_device cmx270_pm_device = {
-+      .cls = &cmx270_pm_sysclass,
-+};
-+
-+static int __init cmx270_pm_init(void)
-+{
-+      int error;
-+      error = sysdev_class_register(&cmx270_pm_sysclass);
-+      if (error == 0)
-+              error = sysdev_register(&cmx270_pm_device);
-+
-+      error = sysfs_create_group(&power_subsys.kset.kobj,&attr_group);
-+      return error;
-+}
-+#else
-+static int __init cmx270_pm_init(void) { return 0; }
-+#endif
-+
-+/* SA1111 compatibiliy 8 bit read register needed for proper function
-+   of ITE8152 UART */
-+#define MEMC_SA1111   __REG(0x48000064)  
-+
-+static void __init cmx270_init(void)
-+{
-+      /* set display timings for VGA 640x480 by default */
-+      struct cmx270_display_info *tfbi = &cmx270_displays[2];
-+
-+      MEMC_SA1111 = 0x3c;
-+
-+      cmx270_pm_init();
-+      
-+      if ( mtype >= 0 && mtype < ARRAY_SIZE(cmx270_displays) )
-+              tfbi = &cmx270_displays[mtype];
-+
-+      /* use default instead of unsupported displays */
-+      if ( tfbi->fb_info.pixclock == 0 &&
-+           tfbi->fb_info.xres == 0 &&
-+           tfbi->fb_info.yres == 0 ) {
-+              printk(KERN_WARNING "CM-X270 does not support %s display\n", cmx270_displays[mtype].display_name);
-+              tfbi = &cmx270_displays[2];
-+      }
-+           
-+      /* setup color depth */
-+      if( mtype == MTYPE_USER_DEFINED ) {
-+              mbpp = tfbi->fb_info.bpp;
-+      }
-+      if( mbpp > 0 ) {
-+              if( (mbpp!=1) && (mbpp!=2) && (mbpp!=4) &&
-+                  (mbpp!=8) && (mbpp!=16)) {
-+                      printk(KERN_WARNING "Illegal BPP value "
-+                             "supplied, leaving default\n");
-+                      mbpp = 8;
-+              }
-+      } 
-+      else mbpp = 8;
-+      tfbi->fb_info.bpp = mbpp;
-+           
-+      printk(KERN_INFO "Running a %s display with %d bits per pixel\n",
-+             tfbi->display_name, tfbi->fb_info.bpp);
-+      set_pxa_fb_info(&tfbi->fb_info);
-+           
-+#ifdef CONFIG_PCI
-+      /* setup ITE8152 UART base addresses */
-+      ite_uart_port[0].membase = (void *)&IT8152_UART_BASE;
-+      ite_uart_port[0].mapbase = IT8152_UART_BASE;
-+#endif
-+
-+      /* register CM-X270 platform devices */
-+      platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
-+
-+      pxa_set_ohci_info(&cmx270_ohci_platform_data);
-+
-+      /* This enables the STUART */
-+      pxa_gpio_mode(GPIO46_STRXD_MD);
-+      pxa_gpio_mode(GPIO47_STTXD_MD);
-+
-+      /* This enables the BTUART  */ 
-+      pxa_gpio_mode(GPIO42_BTRXD_MD);
-+      pxa_gpio_mode(GPIO43_BTTXD_MD);
-+      pxa_gpio_mode(GPIO44_BTCTS_MD);
-+      pxa_gpio_mode(GPIO45_BTRTS_MD);
-+}
-+
-+#ifdef CONFIG_PCI
-+static void cmx270_mask_irq(unsigned int irq)
-+{
-+      switch(irq) {
-+              case IT8152_IRQ(0):
-+                      IT8152_INTC_PDCNIMR |= PCISERR_BIT;
-+                      break;
-+              case IT8152_IRQ(1):
-+                      IT8152_INTC_PDCNIMR |= H2PTADR_BIT;
-+                      break;
-+              case IT8152_IRQ(2):
-+                      IT8152_INTC_PDCNIMR |= H2PMAR_BIT;
-+                      break;
-+              case IT8152_IRQ(3):
-+                      IT8152_INTC_PDCNIMR |= PCI_INTA_BIT;
-+                      break;
-+              case IT8152_IRQ(4):
-+                      IT8152_INTC_PDCNIMR |= PCI_INTB_BIT;
-+                      break;
-+              case IT8152_IRQ(5):
-+                      IT8152_INTC_PDCNIMR |= PCI_INTC_BIT;
-+                      break;
-+              case IT8152_IRQ(6):
-+                      IT8152_INTC_PDCNIMR |= PCI_INTD_BIT;
-+                      break;
-+              case IT8152_IRQ(7):
-+                      IT8152_INTC_PDCNIMR |= USB_INT_BIT;
-+                      break;
-+              case IT8152_IRQ(9):
-+                      IT8152_INTC_PDCNIMR |= CDMA_INT_BIT;
-+                      break;
-+              case IT8152_IRQ(10):
-+                      IT8152_INTC_LDCNIMR |= ITESER_BIT;
-+                      break;
-+      }
-+}
-+
-+static void cmx270_unmask_irq(unsigned int irq)
-+{
-+      switch(irq) {
-+              case IT8152_IRQ(0):
-+                      IT8152_INTC_PDCNIMR &= (~PCISERR_BIT);
-+                      break;
-+              case IT8152_IRQ(1):
-+                      IT8152_INTC_PDCNIMR &= (~H2PTADR_BIT);
-+                      break;
-+              case IT8152_IRQ(2):
-+                      IT8152_INTC_PDCNIMR &= (~H2PMAR_BIT);
-+                      break;
-+              case IT8152_IRQ(3):
-+                      IT8152_INTC_PDCNIMR &= (~PCI_INTA_BIT);
-+                      break;
-+              case IT8152_IRQ(4):
-+                      IT8152_INTC_PDCNIMR &= (~PCI_INTB_BIT);
-+                      break;
-+              case IT8152_IRQ(5):
-+                      IT8152_INTC_PDCNIMR &= (~PCI_INTC_BIT);
-+                      break;
-+              case IT8152_IRQ(6):
-+                      IT8152_INTC_PDCNIMR &= (~PCI_INTD_BIT);
-+                      break;
-+              case IT8152_IRQ(7):
-+                      IT8152_INTC_PDCNIMR &= (~USB_INT_BIT);
-+                      break;
-+              case IT8152_IRQ(9):
-+                      IT8152_INTC_PDCNIMR &= (~CDMA_INT_BIT);
-+                      break;
-+              case IT8152_IRQ(10):
-+                      IT8152_INTC_LDCNIMR &= (~ITESER_BIT);
-+                      break;
-+      }
-+}
-+
-+static struct irqchip cmx270_irq_chip = {
-+      .ack            = cmx270_mask_irq,
-+      .mask           = cmx270_mask_irq,
-+      .unmask         = cmx270_unmask_irq,
-+};
-+#endif
-+
-+static void __init cmx270_init_irq(void)
-+{
-+      int irq;
-+
-+      pxa_init_irq();
-+
-+      /* LED and NAND GPIOs should not be probed for IRQ */
-+      irq_desc[IRQ_GPIO(11)].probe_ok = 0;
-+      irq_desc[IRQ_GPIO(89)].probe_ok = 0;
-+      irq_desc[IRQ_GPIO(93)].probe_ok = 0;
-+      irq_desc[IRQ_GPIO(94)].probe_ok = 0;
-+
-+      IT8152_INTC_PDCNIMR = 0xffff;
-+
-+#ifdef CONFIG_PCI
-+      /* Disable and clear IRQ's for ITE8152 */
-+      IT8152_INTC_PDCNIMR = 0xffff;
-+      IT8152_INTC_PDCNIRR = 0;
-+      IT8152_INTC_LPCNIMR = 0xffff;
-+      IT8152_INTC_LPCNIRR = 0;
-+      IT8152_INTC_LDCNIMR = 0xffff;
-+      IT8152_INTC_LDCNIRR = 0;
-+
-+      /* Set IT8152 serial port IRQ as active high*/
-+      IT8152_INTC_LDNIAR |= ITESER_BIT;
-+
-+      for(irq = IT8152_IRQ(0); irq <= IT8152_IRQ_MAX; irq++) {
-+              set_irq_chip(irq, &cmx270_irq_chip);
-+              set_irq_handler(irq, do_level_IRQ);
-+              set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
-+      }
-+
-+      /* INTC signal from IT8152 is connected to GPIO0 */
-+      pxa_gpio_mode(IRQ_GPIO_IT8152_IRQ);
-+      set_irq_chained_handler(IRQ_GPIO_IT8152_IRQ, cmx270_irq_demux);
-+      set_irq_type(IRQ_GPIO_IT8152_IRQ, IRQT_RISING);
-+#endif
-+
-+      /* Setup interrupt for dm9000 */
-+      pxa_gpio_mode(IRQ_TO_GPIO(CMX270_ETHIRQ));
-+      set_irq_type(CMX270_ETHIRQ, IRQT_RISING);
-+
-+      /* Setup interrupt for 2700G */
-+      pxa_gpio_mode(IRQ_TO_GPIO(CMX270_GFXIRQ));
-+      set_irq_type(CMX270_GFXIRQ, IRQT_FALLING);
-+}
-+
-+static void __init cmx270_map_io(void)
-+{
-+      pxa_map_io();
-+      iotable_init(cmx270_io_desc, ARRAY_SIZE(cmx270_io_desc));
-+}
-+
-+
-+MACHINE_START(ARMCORE, "Compulab CM-x270")
-+      .boot_params    = 0xa0000100,
-+      .phys_io        = 0x40000000,
-+      .io_pg_offst    = (io_p2v(0x40000000) >> 18) & 0xfffc,
-+      .map_io         = cmx270_map_io,
-+      .init_irq       = cmx270_init_irq,
-+      .timer          = &pxa_timer,
-+      .init_machine   = cmx270_init,
-+MACHINE_END
-diff --git a/arch/arm/mach-pxa/it8152.c b/arch/arm/mach-pxa/it8152.c
-new file mode 100644
-index 0000000..91bb49c
---- /dev/null
-+++ b/arch/arm/mach-pxa/it8152.c
-@@ -0,0 +1,248 @@
-+/*
-+ * arch/arm/common/it8152.c: PCI functions for IT8152
-+ *
-+ * Compulab Ltd, 2002-2006
-+ *
-+ * The DMA bouncing is taken from arch/arm/mach-ixp4xx/common-pci.c
-+ * (see this file for respective copyrights)
-+ *
-+ * 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/sched.h>
-+#include <linux/kernel.h>
-+#include <linux/pci.h>
-+#include <linux/ptrace.h>
-+#include <linux/interrupt.h>
-+#include <linux/mm.h>
-+#include <linux/slab.h>
-+#include <linux/init.h>
-+#include <linux/ioport.h>
-+#include <asm/mach/map.h>
-+
-+
-+#include <asm/io.h>
-+#include <asm/irq.h>
-+#include <asm/system.h>
-+#include <asm/mach/pci.h>
-+#include <asm/hardware/it8152.h>
-+
-+#define MAX_SLOTS             21
-+
-+static unsigned long
-+it8152_pci_dev_base_address(struct pci_bus *bus, unsigned int devfn)
-+{
-+      unsigned long addr = 0;
-+
-+      if (bus->number == 0) {
-+                      if (devfn < PCI_DEVFN(MAX_SLOTS, 0))
-+                              addr = (devfn << 8);
-+      } else
-+              addr = (bus->number << 16) | (devfn << 8);
-+
-+      return addr;
-+}
-+
-+static int
-+it8152_pci_read_config(struct pci_bus *bus, unsigned int devfn, int where,
-+                  int size, u32 *value)
-+{
-+      unsigned long addr = it8152_pci_dev_base_address(bus, devfn);
-+      u32 v;
-+      int shift;
-+
-+#ifdef CONFIG_MACH_ARMCORE
-+      if(devfn!=0) IT8152_GPIO_GPLR=0x00;
-+#endif        
-+      shift = (where & 3);
-+
-+      IT8152_PCI_CFG_ADDR = (addr + where);
-+      v = (IT8152_PCI_CFG_DATA  >> (8 * (shift)));    
-+
-+      *value = v;
-+
-+#ifdef CONFIG_MACH_ARMCORE
-+      if(devfn!=0) IT8152_GPIO_GPLR=0x20;
-+#endif        
-+
-+      return PCIBIOS_SUCCESSFUL;
-+}
-+
-+
-+static int
-+it8152_pci_write_config(struct pci_bus *bus, unsigned int devfn, int where,
-+                   int size, u32 value)
-+{
-+      unsigned long addr = it8152_pci_dev_base_address(bus, devfn);
-+      u32 v, vtemp, mask=0;
-+      int shift;
-+
-+#ifdef CONFIG_MACH_ARMCORE
-+      if(devfn!=0) IT8152_GPIO_GPLR=0x00;
-+#endif
-+
-+      if(size==1) mask=0xff;
-+      if(size==2) mask=0xffff;
-+
-+      shift = (where & 3);
-+
-+      IT8152_PCI_CFG_ADDR = addr + where;
-+      vtemp = IT8152_PCI_CFG_DATA;
-+
-+      if(mask) vtemp &= ~(mask << (8 * shift));
-+      else vtemp = 0;
-+
-+      v = (value << (8 * shift));
-+      IT8152_PCI_CFG_ADDR = addr + where;
-+      IT8152_PCI_CFG_DATA  = (v | vtemp);
-+
-+#ifdef CONFIG_MACH_ARMCORE
-+      if(devfn!=0) IT8152_GPIO_GPLR=0x20;
-+#endif
-+
-+      return PCIBIOS_SUCCESSFUL;
-+}
-+
-+static struct pci_ops it8152_ops = {
-+      .read = it8152_pci_read_config,
-+      .write = it8152_pci_write_config,
-+};
-+
-+static struct resource it8152_io = {
-+      .name   = "IT8152 PCI I/O region",
-+      .flags  = IORESOURCE_IO,
-+};
-+
-+static struct resource it8152_mem1 = {
-+      .name   = "First IT8152 PCI memory region",
-+      .start  = 0x10000000,
-+      .end    = 0x13e00000,
-+      .flags  = IORESOURCE_MEM,
-+};
-+
-+/*
-+ * The following functions are needed for DMA bouncing.
-+ * ITE8152 chip can addrees up to 64MByte, so all the devices
-+ * connected to ITE8152 (PCI and USB) should have limited DMA window
-+ */
-+
-+/*
-+ * Setup DMA mask to 64MB on devices connected to ITE8152. Ignore all
-+ * other devices.
-+ */
-+static int it8152_pci_platform_notify(struct device *dev)
-+{
-+      if ( dev->bus == &pci_bus_type ) {
-+              if ( dev->dma_mask )
-+                      *dev->dma_mask =  SZ_64M - 1;
-+              dev->coherent_dma_mask = SZ_64M - 1;
-+              dmabounce_register_dev(dev, 2048, 4096);
-+      }
-+      return 0;
-+}
-+
-+static int it8152_pci_platform_notify_remove(struct device *dev)
-+{
-+      if ( dev->bus == &pci_bus_type ) {
-+              dmabounce_unregister_dev(dev);
-+      }
-+      return 0;
-+}
-+
-+int dma_needs_bounce(struct device *dev, dma_addr_t dma_addr, size_t size)
-+{
-+      dev_dbg(dev, "%s: dma_addr %08x, size %08x\n",
-+              __FUNCTION__, dma_addr, size);
-+      return (dev->bus == &pci_bus_type ) && 
-+              ((dma_addr + size - PHYS_OFFSET) >= SZ_64M);
-+}
-+
-+/*
-+ * Only first 64MB of memory can be accessed via PCI.
-+ * We use GFP_DMA to allocate safe buffers to do map/unmap.
-+ * This is really ugly and we need a better way of specifying
-+ * DMA-capable regions of memory.
-+ */
-+void __init it8152_adjust_zones(int node, unsigned long *zone_size,
-+      unsigned long *zhole_size)
-+{
-+      unsigned int sz = SZ_64M >> PAGE_SHIFT;
-+
-+      /*
-+       * Only adjust if > 64M on current system
-+       */
-+      if (node || (zone_size[0] <= sz))
-+              return;
-+
-+      zone_size[1] = zone_size[0] - sz;
-+      zone_size[0] = sz;
-+      zhole_size[1] = zhole_size[0];
-+      zhole_size[0] = 0;
-+}
-+
-+/*
-+ * We override these so we properly do dmabounce otherwise drivers
-+ * are able to set the dma_mask to 0xffffffff and we can no longer
-+ * trap bounces. :(
-+ *
-+ * We just return true on everyhing except for < 64MB in which case 
-+ * we will fail miseralby and die since we can't handle that case.
-+ */
-+int
-+pci_set_dma_mask(struct pci_dev *dev, u64 mask)
-+{
-+      if (mask >= SZ_64M - 1 )
-+              return 0;
-+
-+      return -EIO;
-+}
-+    
-+int
-+pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask)
-+{
-+      if (mask >= SZ_64M - 1 )
-+              return 0;
-+
-+      return -EIO;
-+}
-+
-+EXPORT_SYMBOL(pci_set_dma_mask);
-+EXPORT_SYMBOL(pci_set_consistent_dma_mask);
-+
-+
-+int __init it8152_pci_setup(int nr, struct pci_sys_data *sys)
-+{
-+      it8152_io.start = IT8152_IO_BASE + 0x12000;
-+      it8152_io.end   = IT8152_IO_BASE + 0x100000;
-+
-+      if (request_resource(&ioport_resource, &it8152_io)) {
-+              printk(KERN_ERR "PCI: unable to allocate IO region\n");
-+              return -EBUSY;
-+      }
-+      if (request_resource(&iomem_resource, &it8152_mem1)) {
-+              printk(KERN_ERR "PCI: unable to allocate memory region\n");
-+              return -EBUSY;
-+      }
-+
-+      sys->resource[0] = &it8152_io;
-+      sys->resource[1] = &it8152_mem1;
-+
-+      if (platform_notify || platform_notify_remove) {
-+              printk(KERN_ERR "PCI: Can't use platform_notify\n");
-+              return -EBUSY;
-+      }
-+
-+      platform_notify = it8152_pci_platform_notify;
-+      platform_notify_remove = it8152_pci_platform_notify_remove;
-+
-+      return 1;  
-+}
-+                        
-+
-+struct pci_bus * __init it8152_pci_scan_bus(int nr, struct pci_sys_data *sys)
-+{
-+      return pci_scan_bus(nr, &it8152_ops, sys);
-+}
-+
-diff --git a/arch/arm/mach-pxa/leds-cm-x270.c b/arch/arm/mach-pxa/leds-cm-x270.c
-new file mode 100644
-index 0000000..5402b69
---- /dev/null
-+++ b/arch/arm/mach-pxa/leds-cm-x270.c
-@@ -0,0 +1,134 @@
-+/*
-+ * linux/arch/arm/mach-pxa/leds-cm-x270.c
-+ *
-+ * Compulab Ltd., 2003
-+ *
-+ * Original (leds-footbridge.c) by Russell King
-+ * 
-+ * Macros for actual LED manipulation should be in machine specific
-+ * files in this 'mach' directory.
-+ */
-+
-+
-+#include <linux/config.h>
-+#include <linux/types.h>
-+#include <linux/init.h>
-+
-+#include <asm/hardware.h>
-+#include <asm/leds.h>
-+#include <asm/system.h>
-+
-+#include <asm/arch/pxa-regs.h>
-+#include <asm/arch/cm-x270.h>
-+
-+#include "leds.h"
-+
-+#define LED_STATE_ENABLED     1
-+#define LED_STATE_CLAIMED     2
-+
-+#define RED_LED_ON                    1
-+#define GREEN_LED_ON          2
-+
-+static unsigned int led_state;
-+static unsigned int hw_led_state;
-+
-+void armcore_leds_event(led_event_t evt)
-+{
-+      unsigned long flags;
-+
-+      local_irq_save(flags);
-+
-+      switch (evt) {
-+      case led_start:
-+              hw_led_state = GREEN_LED_ON | RED_LED_ON;
-+              led_state = LED_STATE_ENABLED;
-+              break;
-+
-+      case led_stop:
-+              led_state &= ~LED_STATE_ENABLED;
-+              break;
-+
-+      case led_claim:
-+              led_state |= LED_STATE_CLAIMED;
-+              hw_led_state = GREEN_LED_ON | RED_LED_ON;
-+              break;
-+
-+      case led_release:
-+              led_state &= ~LED_STATE_CLAIMED;
-+              hw_led_state = GREEN_LED_ON | RED_LED_ON;
-+              break;
-+
-+#ifdef CONFIG_LEDS_TIMER
-+      case led_timer:
-+              if (!(led_state & LED_STATE_CLAIMED))
-+                      hw_led_state ^= GREEN_LED_ON;
-+              break;
-+#endif
-+
-+#ifdef CONFIG_LEDS_CPU
-+      case led_idle_start:
-+              if (!(led_state & LED_STATE_CLAIMED))
-+                      hw_led_state &= ~RED_LED_ON;
-+              break;
-+
-+      case led_idle_end:
-+              if (!(led_state & LED_STATE_CLAIMED))
-+                      hw_led_state |= RED_LED_ON;
-+              break;
-+#endif
-+
-+      case led_halted:
-+              break;
-+
-+      case led_green_on:
-+              if (led_state & LED_STATE_CLAIMED)
-+                      hw_led_state &= ~GREEN_LED_ON;
-+              break;
-+
-+      case led_green_off:
-+              if (led_state & LED_STATE_CLAIMED)
-+                      hw_led_state |= GREEN_LED_ON;
-+              break;
-+
-+      case led_amber_on:
-+              break;
-+
-+      case led_amber_off:
-+              break;
-+
-+      case led_red_on:
-+              if (led_state & LED_STATE_CLAIMED)
-+                      hw_led_state &= ~RED_LED_ON;
-+              break;
-+
-+      case led_red_off:
-+              if (led_state & LED_STATE_CLAIMED)
-+                      hw_led_state |= RED_LED_ON;
-+              break;
-+
-+      default:
-+              break;
-+      }
-+
-+      if  (led_state & LED_STATE_ENABLED) 
-+      {
-+              if(hw_led_state & RED_LED_ON)  {
-+                      CMX270_RED_ON();
-+//                    printk("Red on\n");
-+              }
-+              else {
-+//                    printk("Red off\n");
-+                      CMX270_RED_OFF();
-+              }
-+              if(hw_led_state & GREEN_LED_ON)  {
-+//                    printk("Green on\n");
-+                      CMX270_GREEN_ON();
-+              }
-+              else {
-+//                    printk("Green off\n");
-+                      CMX270_GREEN_OFF();
-+              }
-+      }
-+
-+      local_irq_restore(flags);
-+}
-diff --git a/arch/arm/mach-pxa/leds.c b/arch/arm/mach-pxa/leds.c
-index bbe4d5f..a27d027 100644
---- a/arch/arm/mach-pxa/leds.c
-+++ b/arch/arm/mach-pxa/leds.c
-@@ -24,6 +24,8 @@ pxa_leds_init(void)
-               leds_event = mainstone_leds_event;
-       if (machine_is_pxa_idp())
-               leds_event = idp_leds_event;
-+      if (machine_is_armcore())         
-+              leds_event = armcore_leds_event;
-       leds_event(led_start);
-       return 0;
-diff --git a/arch/arm/mach-pxa/leds.h b/arch/arm/mach-pxa/leds.h
-index d98f6e9..0dcc346 100644
---- a/arch/arm/mach-pxa/leds.h
-+++ b/arch/arm/mach-pxa/leds.h
-@@ -10,3 +10,4 @@
- extern void idp_leds_event(led_event_t evt);
- extern void lubbock_leds_event(led_event_t evt);
- extern void mainstone_leds_event(led_event_t evt);
-+extern void armcore_leds_event(led_event_t evt);
-diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c
-index 3baa708..823c32d 100644
---- a/arch/arm/mach-pxa/pxa27x.c
-+++ b/arch/arm/mach-pxa/pxa27x.c
-@@ -140,10 +140,12 @@ void pxa_cpu_pm_enter(suspend_state_t st
-       extern void pxa_cpu_suspend(unsigned int);
-       extern void pxa_cpu_resume(void);
-+#ifndef CONFIG_MACH_ARMCORE
-       if (state == PM_SUSPEND_STANDBY)
-               CKEN = CKEN22_MEMC | CKEN9_OSTIMER | CKEN16_LCD |CKEN0_PWM0;
-       else
-               CKEN = CKEN22_MEMC | CKEN9_OSTIMER;
-+#endif
-       /* ensure voltage-change sequencer not initiated, which hangs */
-       PCFR &= ~PCFR_FVC;
-@@ -158,7 +160,11 @@ void pxa_cpu_pm_enter(suspend_state_t st
-       case PM_SUSPEND_MEM:
-               /* set resume return address */
-               PSPR = virt_to_phys(pxa_cpu_resume);
-+#ifdef CONFIG_MACH_ARMCORE
-+              pxa_cpu_suspend(PWRMODE_DEEPSLEEP);
-+#else
-               pxa_cpu_suspend(PWRMODE_SLEEP);
-+#endif
-               break;
-       }
- }
-diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
-index 8b13316..8ffaad0 100644
---- a/drivers/block/Kconfig
-+++ b/drivers/block/Kconfig
-@@ -453,4 +453,9 @@ config ATA_OVER_ETH
-       This driver provides Support for ATA over Ethernet block
-       devices like the Coraid EtherDrive (R) Storage Blade.
-+config ARMCORE_FLASH
-+      tristate "ARMCORE flash drivers"
-+      depends on MACH_ARMCORE
-+      source "drivers/block/cl_flash/Kconfig"
-+
- endmenu
-diff --git a/drivers/block/Makefile b/drivers/block/Makefile
-index 3ec1f8d..ebeb4c6 100644
---- a/drivers/block/Makefile
-+++ b/drivers/block/Makefile
-@@ -31,3 +31,4 @@ obj-$(CONFIG_VIODASD)                += viodasd.o
- obj-$(CONFIG_BLK_DEV_SX8)     += sx8.o
- obj-$(CONFIG_BLK_DEV_UB)      += ub.o
-+obj-$(CONFIG_ARMCORE_FLASH)   += cl_flash/
-diff --git a/drivers/block/cl_flash/CL_Logic.h b/drivers/block/cl_flash/CL_Logic.h
-new file mode 100644
-index 0000000..fe3e8d7
---- /dev/null
-+++ b/drivers/block/cl_flash/CL_Logic.h
-@@ -0,0 +1,245 @@
-+/*    Module: CL_Logic.h
-+      Author: Vova Lifliand
-+      Description: Controls Nand flash management logic
-+      Notes:
-+*/
-+
-+#ifndef __CL_LOGIC__ 
-+#define __CL_LOGIC__
-+/*#define CL_NAND_BIG_DELAYS*/
-+#if defined(FLASH_PLATFORM_LINUX) || defined(FLASH_PLATFORM_ARMonitor)
-+/* Structure packaging */ 
-+ #define PACKAGE __attribute__ ((packed,aligned(1)))
-+ #define CL_ST static
-+#else 
-+ #define PACKAGE
-+ #define CL_ST 
-+#endif 
-+ #define FAR
-+ #define far 
-+/* NOR Flash management constants */
-+#define CL_NOR_FLASH_PAGE_SIZE            512      /*  bytes  */
-+
-+#ifdef FLASH_PLATFORM_DOS
-+  #define cl_error_log(x,...){} 
-+#endif                        /*  MS-DOS  */
-+/*  Nand Flash management constants  */
-+
-+/*  Page size must not be changed because this value is also used for
-+    page size of Nand flash  */
-+/*#define CL_FLASH_PAGE_SIZE            512      //  bytes  */
-+#define CL_FLASH_MAXIMUM_PAGE_SIZE      2048/*  bytes  */
-+#define CL_FLASH_MINIMAL_SECTOR_SIZE    512 /* Sectors can't be less than 512 bytes */
-+/*#define CL_FLASH_SPARE_AREA_SIZE        16       //  bytes  */
-+/*#define CL_FLASH_MAXIMUM_SPARE_AREA_SIZE  128         bytes  - twice the needed for biggest
-+                                                      flash today 2004/05   */
-+#define CL_FLASH_MAXIMUM_SPARE_AREA_SIZE  128 /*Stingy with space...*/
-+                                                      
-+/*  Maximum blocks number in flash - adjust according to maximum flash size  */
-+#define CL_MAX_BLKS_NUMBER              8192     /*  good for 128MB flash  */
-+                                                                                              /* Good up to 512 MB flash, if 64kb is the smallest block */
-+/*  Number of pages in Nand flash block  */
-+/* #define CL_FLASH_PAGES_PER_NAND_BLK     32 */
-+/*  Maximum Number of pages in Nand flash block  */
-+#define CL_FLASH_MAXIMUM_PAGES_PER_NAND_BLK 128 /* 32 */ /* Can't be more than 255
-+                                                      to fit in unsigned char arrays*/
-+/*  Number of pages to make free  */
-+#define CL_FLASH_FREE_PAGE_PER_BLK      1
-+/*  Usable pages per 16 KB Nand flash block  */
-+/*#define CL_FLASH_USE_PAGE_PER_BLK       (CL_FLASH_PAGES_PER_NAND_BLK - CL_FLASH_FREE_PAGE_PER_BLK)*/
-+#define CL_FLASH_USE_PAGE_PER_BLK       (flogic->nand->pages_per_block - CL_FLASH_FREE_PAGE_PER_BLK)
-+/*  Number of logical to physical page translation tables stored in memory
-+    Each table size is ~40 bytes  */
-+#define CL_LTF_PAGE_TBLS                30
-+/*  Always leave a number of blocks unused - just for sure  */
-+#define CL_EXTRA_SPARE_BLKS             10
-+/*  Define maximum number of different blocks with cached pages  */
-+#define CL_MAX_CACHED_BLKS              4
-+/*  Number of erases per one launching of anti wearing procedure  */
-+#define CL_ERASE_PER_ANTI_WEARING       1000
-+
-+
-+#define CLBYTEPTR      unsigned char far*
-+
-+
-+/*  Flash mapping and accessing interface  */
-+typedef struct PACKAGE cl_nand_map_if_t
-+{
-+    /*  Destroy function must free all allocated resources (such as virtual memory)  */
-+    void (*init) (void);
-+    void (*destroy) (void);
-+    /*  Chip select operation. When on = 1: chip select, on = 0: disable chip select  */
-+    /* need_auto_operation - Whe the ON is false, the pin is expected to pulse in accordance
-+       with bus transactions. This function exists on x86, but not on ARM */
-+    void (*chip_select) (int on, int need_auto_operation);
-+    /*  Reading from flash (HW read access, not actual data reading)  */
-+    unsigned char (*readb) (unsigned char offset);
-+    /*  Writing to flash (HW write access, not actual data writing)  */
-+    void (*writeb) (unsigned char offset, unsigned char data);
-+    /*  Reads block from flash: reads data from address 0 while incrementing data pointer  */
-+    void (*blockread) (CLBYTEPTR data, int count);
-+    /*  Writes block to flash: writes data to address 0 while incrementing data pointer  */
-+    void (*blockwrite) ( CLBYTEPTR data, int count);
-+    /*  Turns on/off activity indication leds  */
-+    void (*activity_leds) (short operation, short reclaim);
-+    /*  Performs specified delay (parameter in microsecond units)  */
-+    int (*sleep) (unsigned long microseconds);
-+      /* Wait for completion using R/B line */
-+      /* Use microseconds, if R/B line not implemented */
-+    int (*rbwait) (unsigned long  microseconds);
-+} cl_nand_map_if;
-+
-+
-+/*  Internal flash logic structure  */
-+typedef struct cl_logic_t  far*cl_logic;
-+
-+
-+/*  Parameter retrive enum  */
-+typedef enum
-+{
-+    CL_FLASH_TOTAL_SIZE,        /*  Total size of the flash in bytes  */
-+    CL_FLASH_HEADS_NUM,         /*  Number of heads  */
-+    CL_FLASH_SECTOR_SIZE = 512,       /*  Sector size (in bytes)  =512 - is legacy for ARMonitor only*/
-+    CL_FLASH_SECTORS_NUM,       /*  Number of sectors per tracks */
-+    CL_FLASH_CYLINDERS_NUM,     /*  Number of cylinders  */
-+    CL_FLASH_PAGE_SIZE,         /*  Size of the page without spare area */
-+    CL_FLASH_READ_PAGE_CNT,     /*  Read page operations count  */
-+    CL_FLASH_WRITE_PAGE_CNT,    /*  Write page operations count  */
-+    CL_FLASH_RECLAIM_CNT,       /*  Reclaim block count  */
-+    CL_FLASH_BURSTS_NUM,        /*  Bursts of length 'var' numbers  */
-+    CL_FLASH_ERASE_CNT,         /*  Erase cnt of block specified by 'var'  */
-+    CL_FLASH_BAD_BLOCK_CNT,
-+} PACKAGE cl_logic_param;
-+
-+/*  Direct access type enum  */
-+typedef enum 
-+{
-+    CL_FLASH_READ_PAGE,
-+    CL_FLASH_READ_SPARE_AREA,
-+    CL_FLASH_READ_BLK_SPARES,   /*  All spare areas of specified block  */
-+    CL_FLASH_WRITE_PAGE,
-+    CL_FLASH_WRITE_SPARE_AREA,
-+    CL_FLASH_ERASE_BLOCK        /*  Data ignored  */
-+} PACKAGE cl_nand_direct_access_type;
-+
-+/* memory access type enum */
-+typedef enum //Memory areas usage is dscribed in separate document.
-+{
-+      CL_FLOGIC = 0,
-+      CL_NAND,
-+      CL_CACHE,
-+      CL_CACHE_ORDERED_ARRAY,
-+      CL_SP_AREA, 
-+      CL_SP_AREA_2, 
-+      CL_SP_AREA_3,
-+      CL_PAGE, 
-+      CL_CACHE_REF
-+} PACKAGE  cl_memory_region_name;
-+
-+#define NUMBER_OF_MEMORY_REGIONS 9
-+
-+
-+typedef enum 
-+{
-+      CL_FIRST_ALLOCATION_STAGE,
-+      CL_SECOND_ALLOCATION_STAGE
-+}PACKAGE cl_memory_allocation_stages;
-+
-+typedef struct cl_memory_pointer_type
-+{
-+      void far* pMemory;
-+      char IN_USE;
-+} PACKAGE cl_memory_pointer;
-+
-+void far* cl_memory_request (cl_memory_region_name mem_name);
-+
-+void cl_memory_return (cl_memory_region_name mem_name);
-+
-+/*  Creates flash logic object and attaches it to specified HW nand flash.
-+    cache_size is max. number of pages, the cache can hold.
-+    The flash is formatted prior initialization if format != 0.
-+    When formatting reseved blocks and bad are not erased.  */
-+cl_logic cl_logic_create (cl_nand_map_if* nand_if, long cache_size, int format, unsigned short sector_size);
-+
-+/*  Removes flash logic object and frees all allocated resources.  */
-+void cl_logic_free (cl_logic flogic);
-+
-+/*  Parameters retrival function.  */
-+long cl_logic_get_param (cl_logic flogic, cl_logic_param prm, long var);
-+
-+/*  Read page command.  */
-+int cl_logic_read_page (cl_logic flogic,  long fs_sectn,
-+                          CLBYTEPTR sector_data);
-+
-+/*  Write page command.  */
-+int cl_logic_write_page (cl_logic flogic,  long fs_pagen,
-+                            CLBYTEPTR page_data);
-+
-+/*  Flushes too old cache. If force_one_flush is TRUE, at least one
-+    cached block is flushed.  */
-+void cl_logic_on_idle (cl_logic flogic, int force_one_flush);
-+
-+/*  Flushes all cached data to disk.  */
-+void cl_logic_sync (cl_logic flogic);
-+
-+/*  Direct accessing commands  */
-+int cl_logic_direct_access (cl_logic flogic, cl_nand_direct_access_type type,
-+                            unsigned short block, unsigned char page, CLBYTEPTR data);
-+
-+
-+/*  NOR Flash Disk Driver  */
-+
-+/*  The header describes block information  */
-+typedef struct
-+{
-+    unsigned short Signature;       /*  0x1998 for initialized blocks  */
-+    unsigned short State;
-+    unsigned short EraseCounter;
-+    unsigned short PageIndex[128];
-+    unsigned short Unused[10];
-+    unsigned short BlockReserved;     /*      0xFFFF - usable block, 0 - reserved block  */
-+} PACKAGE cl_nor_block_header;
-+
-+/*  Abstract class for flash access  */
-+typedef struct
-+{
-+    /*  Constructor  */
-+    void (*Constructor)(void);
-+    /*  Destructor  */
-+    void (*Destructor)(void);
-+    /*  Define flash access functions  */
-+    /*  Returns usable size  */
-+    unsigned long (*GetSize)(void);
-+    /*  Remaps or unmaps MMS windows, allocated by flash  */
-+    void (*EnableFlashMap)(int EnableFlag);
-+    /*  Returns number of usable pages, 512 bytes each.  */
-+    /*  Doesn't include first page that is used for header - signature, state . . .  */
-+    int (*GetPagesPerBlock)(void);
-+    /*  Header  */
-+    int (*ReadHeader)(unsigned short BlockN, cl_nor_block_header* Header);
-+    /*  The PageNum == 0 is first data page and not the header. Max. value of PageNum  */
-+    /*  is GetBlockSize() / BytesPerPage - 1 (min. is 0)  */
-+    int (*ReadPage)(unsigned short BlockN, unsigned char PageNum, CLBYTEPTR DestBuff);
-+    int (*SetBlockState) (unsigned short BlockN, unsigned short Signature,
-+                        unsigned short State, unsigned short Reserved);
-+    /*  Sets logical page index to zero - invalidates page. PageN is like in WritePage  */
-+    int (*InvalidatePage)(unsigned short BlockN, unsigned char PageN);
-+    /*  BlockN and PageN - destination location, where PageN doesn't include header  */
-+    /*  information (PageN = 0 means first logical page and it's seconds physical page).  */
-+    /*  PageIndex is physical page number for further identification (by ReadHeader)  */
-+    int (*WritePage)(unsigned short BlockN, unsigned char PageN,
-+                      const CLBYTEPTR PageData, unsigned short PageIndex);
-+    int (*EraseBlock)(unsigned short BlockN);
-+} PACKAGE cl_nor_flash_access;
-+
-+/*  Define flash access functions  */
-+int cl_nor_init_flash (void);
-+int cl_nor_free_mem (void);
-+int cl_nor_format_flash (int (*ProgressCallback)(int Percentage));
-+int cl_nor_write_page (int PageIndex, CLBYTEPTR Data);
-+int cl_nor_read_page (int PageIndex, CLBYTEPTR Data);
-+int cl_nor_get_disk_param (unsigned long* TotalPage, unsigned long* BytesPerPage,
-+                         unsigned long* Cylinders, unsigned long* PagesPerTrk,
-+                         unsigned long* Heads);
-+#endif      /*  __CL_LOGIC__  */
-+
-diff --git a/drivers/block/cl_flash/Kconfig b/drivers/block/cl_flash/Kconfig
-new file mode 100644
-index 0000000..60aa80d
---- /dev/null
-+++ b/drivers/block/cl_flash/Kconfig
-@@ -0,0 +1,11 @@
-+#
-+# Block device driver configuration
-+#
-+
-+config ARMCORE_NOR
-+      bool "CompuLab NOR flash driver"
-+      depends on ARMCORE_FLASH
-+config ARMCORE_NAND
-+      bool "CompuLab NAND flash driver"
-+      depends on ARMCORE_FLASH
-+
-diff --git a/drivers/block/cl_flash/Makefile b/drivers/block/cl_flash/Makefile
-new file mode 100644
-index 0000000..538cb2c
---- /dev/null
-+++ b/drivers/block/cl_flash/Makefile
-@@ -0,0 +1,12 @@
-+#
-+# Makefile for Compulab flash disk driver
-+#
-+
-+EXTRA_CFLAGS += -DTARGET_ARM_CORE -DFLASH_PLATFORM_LINUX
-+
-+obj-$(CONFIG_ARMCORE_FLASH)   += fdrv.o
-+
-+fdrv-y                                +=  cl_nordev.o cl_blkdev.o CL_FlashDrv
-+
-+
-+fdrv-$(CONFIG_MACH_ARMCORE)   += cl_nanddev_x270.o
-diff --git a/drivers/block/cl_flash/cl_blkdev.c b/drivers/block/cl_flash/cl_blkdev.c
-new file mode 100644
-index 0000000..adb030d
---- /dev/null
-+++ b/drivers/block/cl_flash/cl_blkdev.c
-@@ -0,0 +1,731 @@
-+/*
-+ * Flash Disk Driver for Linux.
-+ * Generic block device and genric disk implementation
-+ *
-+ * Copyright Compulab 2003-2006 (c).
-+ */
-+
-+#include <linux/timer.h>
-+#include <linux/hdreg.h>
-+#include <linux/devfs_fs_kernel.h>
-+#include <linux/blkdev.h>
-+#include <linux/blkpg.h>
-+#include <linux/ioctl.h>
-+
-+#include "CL_Logic.h"
-+#include "cl_blkdev.h"
-+
-+/*  I/O Controls  */
-+#define CL_FLASH_IOC_MAGIC          'f'
-+#define CL_FLASH_IO_GET_PARAM        _IOWR (CL_FLASH_IOC_MAGIC, 1, char[12])
-+#define CL_FLASH_IO_DIRECT_ACCESS    _IOWR (CL_FLASH_IOC_MAGIC, 2, char[524])
-+
-+#define FLUSH_INTERVAL        100
-+
-+struct cl_blkdev;
-+
-+struct flash_blkdev_ops {
-+      /* timer for periodic flushes of NAND flash */
-+      void (*flush_proc)(void* dev);
-+
-+      /* HW specific ioctl */
-+      int (*flash_hw_ioctl)(struct cl_blkdev *dev, struct inode *inode,
-+                            struct file *file, unsigned int cmd,
-+                            unsigned long arg);
-+
-+      /* HW specific request handling */
-+      int (*do_flash_hw_request)(struct cl_blkdev *dev, struct request *q);
-+      /* HW specific cleanups */
-+      int (*flash_hw_release)(struct cl_blkdev *dev, struct inode *inode,
-+                              struct file *file);
-+};
-+
-+struct cl_blkdev_priv {
-+      /* thread is dead indication */
-+      struct completion thread_dead;  
-+      /* flag to notify the thread that we are done */
-+      int exiting;
-+      /* thread wait queue head for requests */
-+      wait_queue_head_t thread_wq;
-+      /* block device request queue */
-+      struct request_queue *rq;
-+      /* request queue lock */
-+      spinlock_t queue_lock;
-+};
-+
-+struct cl_blkdev {
-+      struct cl_blkdev_priv *blkdev_priv;
-+      struct gendisk  *flash_disk;
-+      struct flash_blkdev_ops *ops;
-+      struct semaphore sem;
-+      char name[32];
-+              
-+      int major;
-+      void *hw_private; /* Low level hook */
-+
-+#ifdef CONFIG_PROC_FS
-+      /* proc entry */
-+      struct proc_dir_entry   *pde;
-+#endif
-+};
-+
-+#define FLASH_SECTOR  512
-+
-+/* declarations of cl_mem_set etc */
-+#include "cl_common.c"
-+
-+
-+/***************************************************************/
-+/* Flash software write protect setup                        */
-+/***************************************************************/
-+unsigned long wpstart=0, wpend=0;
-+
-+static int __init wpstart_det(char *str) /*30-May-04, interrupts */
-+{
-+      wpstart = simple_strtol(str, NULL, 0);
-+      return 1;
-+}
-+
-+static int __init wpend_det(char *str) /*30-May-04, interrupts */
-+{
-+      wpend = simple_strtol(str, NULL, 0);
-+      return 1;
-+}
-+
-+__setup("wpstart=", wpstart_det); 
-+__setup("wpend=", wpend_det); 
-+
-+
-+/***************************************************************/
-+/* generic block device interface                            */
-+/***************************************************************/
-+/* cl_blkdev_open: open a device */
-+static int cl_blkdev_open(struct inode *inode, struct file *file)
-+{
-+      return 0;
-+}
-+
-+static int cl_blkdev_check_media_change(struct gendisk* dev)
-+{
-+      return 0;           /*  Disk not changed  */
-+}
-+
-+static int cl_blkdev_revalidate(struct gendisk* dev)
-+{
-+      return 0;
-+}
-+
-+/* cl_blkdev_release: release the device */
-+static int cl_blkdev_release(struct inode *inode, struct file *file)
-+{
-+      struct cl_blkdev *dev;
-+      dev = inode->i_bdev->bd_disk->private_data;
-+      
-+      down (&dev->sem);
-+      dev->ops->flash_hw_release(dev, inode, file);
-+      up (&dev->sem);
-+
-+      return 0;
-+}
-+
-+/* 
-+   cl_blkdev_ioctl: handle device ioctl's 
-+   common ioctls (if any) for NAND and NOR flash are handled here
-+   then HW specific ioctl handler is invoked
-+ */
-+static int cl_blkdev_ioctl(struct inode *inode, 
-+                         struct file *file, u_int cmd, u_long arg)
-+{
-+      struct cl_blkdev *dev;
-+
-+      if ((!inode) || !(inode->i_rdev))
-+              return -EINVAL;
-+
-+      dev = inode->i_bdev->bd_disk->private_data;
-+      return dev->ops->flash_hw_ioctl(dev, inode, file, cmd, arg);
-+}
-+
-+static struct block_device_operations flash_fops =
-+{
-+      .owner                  = THIS_MODULE,
-+      .open                   = cl_blkdev_open,
-+      .release                = cl_blkdev_release,
-+      .ioctl                  = cl_blkdev_ioctl,
-+      .media_changed          = cl_blkdev_check_media_change,
-+      .revalidate_disk        = cl_blkdev_revalidate
-+};
-+
-+static int cl_nand_request (struct cl_blkdev *_dev, struct request * req);
-+
-+/* wake up the flashdiskd thread to handle the request */
-+static void do_cl_blkdev_request(struct request_queue *rq)
-+{
-+      struct cl_blkdev *dev = rq->queuedata;
-+      wake_up(&dev->blkdev_priv->thread_wq);
-+}
-+
-+void cl_blkdev_suspend(struct cl_blkdev* dev)
-+{
-+      dev->ops->flush_proc(dev);
-+}
-+
-+/***************************************************************/
-+/* flashdiskd thread is handling all transfer requests         */
-+/***************************************************************/
-+static int cl_flashdisk_thread(void *arg)
-+{
-+      struct cl_blkdev *dev = (struct cl_blkdev*)arg;
-+      struct request_queue *rq = dev->blkdev_priv->rq;
-+      unsigned long flush_period = msecs_to_jiffies(FLUSH_INTERVAL);
-+      unsigned long last_flush_jiffies = jiffies;
-+
-+      current->flags |= PF_MEMALLOC/*  | PF_NOFREEZE */;
-+      daemonize("%sd", "flashdisk");
-+
-+      while (!dev->blkdev_priv->exiting) {
-+              struct request *req;
-+              int res = 0;
-+              DECLARE_WAITQUEUE(wait, current);
-+
-+              try_to_freeze();
-+
-+              spin_lock_irq(rq->queue_lock);
-+              req = elv_next_request(rq);
-+
-+              if (!req) {
-+                      add_wait_queue(&dev->blkdev_priv->thread_wq, &wait);
-+                      set_current_state(TASK_INTERRUPTIBLE);
-+
-+                      spin_unlock_irq(rq->queue_lock);
-+
-+                      schedule();
-+                      remove_wait_queue(&dev->blkdev_priv->thread_wq, &wait);
-+
-+                      continue;
-+              }
-+
-+              dev = req->rq_disk->private_data;
-+              spin_unlock_irq(rq->queue_lock);
-+
-+              down(&dev->sem);
-+              res = dev->ops->do_flash_hw_request(dev, req);
-+
-+              if ( jiffies - last_flush_jiffies > flush_period ) {
-+                      if ( dev->ops->flush_proc )
-+                              dev->ops->flush_proc(dev);
-+                      last_flush_jiffies = jiffies;
-+              }
-+              up(&dev->sem);
-+
-+              spin_lock_irq(rq->queue_lock);
-+              end_request(req, res);
-+              spin_unlock_irq(rq->queue_lock);
-+      }
-+      complete_and_exit(&dev->blkdev_priv->thread_dead, 0);
-+}
-+
-+/***************************************************************/
-+/* block device initialization routines                        */
-+/***************************************************************/
-+
-+/*
-+  cl_blkdev_init: 
-+      - initialize and register generic block device, 
-+      - initialize timers for peroidic flushes
-+      - initialize thread syncronization data
-+      - start request processing thread
-+
-+  dev - preallocated device that should be initialized
-+  ops - HW specific implementation of block device ioctl, do_request etc
-+  name        - device name
-+*/
-+int cl_blkdev_init(struct cl_blkdev *dev, 
-+                 struct flash_blkdev_ops *ops, const char *name)
-+{
-+      int ret;
-+
-+      /* allocate the thread synchronization structure */
-+      dev->blkdev_priv = kmalloc(sizeof(*dev->blkdev_priv), GFP_KERNEL);
-+      if (!dev->blkdev_priv)
-+              return -ENOMEM;
-+      memset(dev->blkdev_priv, 0, sizeof(*dev->blkdev_priv));
-+
-+      dev->ops = ops;
-+      dev->major = 0;
-+      strcpy(dev->name, name);
-+
-+      /* register block device */
-+      if ((dev->major = register_blkdev(dev->major, dev->name)) <= 0) {
-+              printk("flash: Unable to get major number.\n");
-+              return -ENODEV;
-+      }
-+      else 
-+              printk("Major number received: %d\n", dev->major);
-+
-+      /* initialize data for 'flashdiskd' thread */
-+      spin_lock_init(&dev->blkdev_priv->queue_lock);
-+      init_completion(&dev->blkdev_priv->thread_dead);
-+      init_waitqueue_head(&dev->blkdev_priv->thread_wq);
-+      init_MUTEX(&dev->sem);
-+
-+      /* initialize block device request queue */
-+      dev->blkdev_priv->rq = blk_init_queue(do_cl_blkdev_request, 
-+                                            &dev->blkdev_priv->queue_lock);
-+      if(!dev->blkdev_priv->rq) {
-+              printk ("Could not initialize queue.\n");
-+              unregister_blkdev(dev->major, dev->name);
-+              kfree(dev->blkdev_priv);
-+              return -ENOMEM;
-+      }
-+      dev->blkdev_priv->rq->queuedata = dev;
-+      blk_queue_hardsect_size(dev->blkdev_priv->rq, FLASH_SECTOR);
-+
-+      /* start thread */
-+      ret = kernel_thread(cl_flashdisk_thread, dev, CLONE_KERNEL);
-+      if (ret < 0) {
-+              blk_cleanup_queue(dev->blkdev_priv->rq);
-+              unregister_blkdev(dev->major, dev->name);
-+              kfree(dev->blkdev_priv);
-+              printk(KERN_ERR "%s: kernel_thread returned %d\n", __FUNCTION__, ret);
-+              return ret;
-+      }
-+
-+      return 0;
-+}
-+
-+/*
-+  cl_blkdev_register_disk:
-+      - allocate generic dik object
-+      - setup the disk (major, minors, name, ops)
-+      - register the disk
-+
-+  dev - block device enclosing the disk
-+  name        - disk name
-+  size        - size of the disk in sectors
-+*/
-+int cl_blkdev_register_disk(struct cl_blkdev *dev, 
-+                          const char* name, sector_t size)
-+{
-+      /* allocate disk data structure */
-+      dev->flash_disk = alloc_disk(16);
-+      if (! dev->flash_disk) 
-+              return -ENOMEM;
-+      
-+      /* initialize disk parameters */
-+      dev->flash_disk->major = dev->major;
-+      dev->flash_disk->first_minor = 0;
-+      dev->flash_disk->fops = &flash_fops;
-+      dev->flash_disk->private_data = dev;
-+      dev->flash_disk->queue = dev->blkdev_priv->rq;
-+
-+      /* set /dev node names */
-+      strcpy(dev->flash_disk->disk_name, name);
-+      strcpy(dev->flash_disk->devfs_name, name);
-+      set_capacity(dev->flash_disk, size);
-+
-+      /*  Insert this disk into linked list of disks  */
-+      add_disk(dev->flash_disk);
-+
-+      return 0;
-+}
-+
-+/*
-+  cl_blkdev_unregister: unregister flash disk and associated block device
-+*/
-+void cl_blkdev_unregister(struct cl_blkdev *dev)
-+{
-+      dev->blkdev_priv->exiting = 1;
-+      wake_up(&dev->blkdev_priv->thread_wq);
-+      wait_for_completion(&dev->blkdev_priv->thread_dead);
-+
-+      del_gendisk(dev->flash_disk);
-+      put_disk(dev->flash_disk);
-+      blk_cleanup_queue(dev->blkdev_priv->rq);
-+
-+      unregister_blkdev(dev->major, dev->name);
-+}
-+
-+/***************************************************************/
-+/* NAND flash specific                                         */
-+/***************************************************************/
-+int format = 0;
-+MODULE_PARM(format, "i");
-+
-+#define CACHE_SIZE 128
-+
-+/* This buffer is used for cach allocation, when cash size is bigger
-+   than 128kb. 300 KB is the approximate amount needed for cache of 128
-+   pages, 2kb each. */
-+#define BUFFER_SIZE (300 * 1024)
-+#define MAXIMUM_ALLOCATABLE_MEMORY (128 * 1024)
-+char tmp_buff[BUFFER_SIZE];
-+
-+/* 
-+   cl_nand_mem_alloc: allocates memory for driver cache 
-+*/
-+void* cl_nand_mem_alloc (unsigned long size)
-+{
-+      static int buf_not_used = 1;
-+      if ((size > MAXIMUM_ALLOCATABLE_MEMORY) && 
-+          (size < BUFFER_SIZE) && buf_not_used) {
-+              buf_not_used = 0;
-+              return (void*)tmp_buff;
-+      }
-+      return kmalloc (size, GFP_KERNEL);
-+}
-+
-+/* 
-+   cl_nand_mem_free: frees memory allocated for driver cache 
-+*/
-+void cl_nand_mem_free (void* ptr)
-+{
-+      kfree (ptr);
-+}
-+
-+/* 
-+   cl_nand_flush_proc: flushes driver caches to the device
-+*/
-+static void cl_nand_flush_proc (void* _dev)
-+{
-+      struct cl_blkdev *blkdev = (struct cl_blkdev*)_dev;
-+      struct cl_nand_dev *dev = (struct cl_nand_dev*)blkdev->hw_private;
-+
-+      dev->logic_sync(dev->logic);
-+      cl_trace_log ("Data synced\n");
-+      dev->last_end_write_cmd = 0;
-+}
-+
-+/* 
-+   cl_nand_request: handles an incoming IO request 
-+*/
-+static int cl_nand_request (struct cl_blkdev *_dev, struct request * req)
-+{
-+      struct cl_blkdev *blkdev = (struct cl_blkdev*)_dev;
-+      struct cl_nand_dev *dev = (struct cl_nand_dev*)blkdev->hw_private;
-+
-+      u_int block, count;
-+      int code=1, i;
-+
-+      block = req->sector;
-+      count = req->current_nr_sectors;
-+
-+      switch (rq_data_dir(req)) {
-+              case 0: /* READ */
-+                      for (i = 0, code = 1;  i < count;  i++)
-+                              if (!dev->logic_read_page(
-+                                          dev->logic, block + i,
-+                                          (char*)req->buffer + i * 512)) {
-+                                      cl_trace_log ("Reading failed.\n");
-+                                      code = 0;    /* failure */
-+                                      break;
-+                              }
-+                      break;
-+              case 1: /* WRITE */
-+                      for (i = 0, code = 1;  i < count;  i++) {
-+                              if(wpend) {
-+                                      if (((block + i) >= wpstart) || 
-+                                          ((block + i) <= wpend)) {
-+                                              code=0; 
-+                                              break;
-+                                      }
-+                              }
-+                              if (!dev->logic_write_page(
-+                                          dev->logic, block + i,
-+                                          (char*)req->buffer + i * 512)) {
-+                                      cl_trace_log ("Writing failed.\n");
-+                                      code = 0;    /* failure */
-+                                      break;
-+                              }
-+                      }
-+                      dev->last_end_write_cmd = jiffies;
-+                      break;
-+              default:
-+                      printk("do_flash_request: unknown request\n");
-+                      break;
-+      }
-+
-+      return code;
-+}
-+
-+/* 
-+   cl_nand_ioctl: handles device ioctl's 
-+*/
-+static int cl_nand_ioctl(struct cl_blkdev *_dev, struct inode *inode,
-+                       struct file *file,unsigned int cmd,unsigned long arg)
-+{
-+      struct cl_nand_dev *dev = (struct cl_nand_dev*)_dev->hw_private;
-+
-+      cl_trace_log ("flash_ioctl called.\n");
-+      printk("fdrv.o ioctl\n");
-+      if ((!inode) || !(inode->i_rdev))
-+              return -EINVAL;
-+
-+      switch (cmd) {
-+              case HDIO_GETGEO:
-+              {
-+                      struct hd_geometry *geometry = (struct hd_geometry*)arg;
-+                      if (!geometry)
-+                              return -EINVAL; /* Bad arguments to ioctl */
-+                      put_user(dev->logic_get_param(dev->logic,
-+                                                    CL_FLASH_CYLINDERS_NUM, 
-+                                                    0),
-+                               &geometry->cylinders);
-+                      put_user(dev->logic_get_param(dev->logic,
-+                                                    CL_FLASH_HEADS_NUM, 0),
-+                               &geometry->heads);
-+                      put_user(dev->logic_get_param(dev->logic,
-+                                                    CL_FLASH_SECTORS_NUM, 0),
-+                               &geometry->sectors);
-+                      put_user(0, &geometry->start);
-+                      return 0;
-+              }
-+              case BLKGETSIZE:
-+                      if (!arg)
-+                              return -EINVAL;
-+                      return put_user(dev->logic_get_param(
-+                                              dev->logic,
-+                                              CL_FLASH_TOTAL_SIZE, 0) / 512,
-+                                      (long *) arg);
-+              case HDIO_SET_DMA:
-+                      /*      We don't use DMA for flash. 
-+                              This has no meaning  */
-+                      if (!capable (CAP_SYS_ADMIN))
-+                              return -EACCES;
-+                      return 0;
-+              case HDIO_GET_DMA:
-+                      return put_user( 0, (long *) arg);      /*  No DMA  */
-+              case HDIO_GET_MULTCOUNT:
-+                      /*  We don't have a limitation of number of 
-+                          sectors in op.  */
-+                      return put_user (128, (long *) arg);
-+              case BLKRRPART:
-+              case BLKFLSBUF:
-+              case BLKROSET:
-+              case BLKROGET:
-+              case BLKRASET:
-+              case BLKRAGET:
-+              case BLKPG:
-+              case CL_FLASH_IO_GET_PARAM:
-+              {
-+                      int err;
-+                      long* prm = (long*)arg;
-+                      err = access_ok(VERIFY_READ, prm,
-+                                      sizeof(long) * 2) ? 0 : -EFAULT;
-+                      if (err)
-+                              return err;
-+                      err = access_ok(VERIFY_WRITE, prm,
-+                                      sizeof (long)) ? 0 : -EFAULT;
-+                      if (err)
-+                              return err;
-+                      prm[0] = dev->logic_get_param(dev->logic, 
-+                                                    prm[0], prm[1]);
-+                      return 0;
-+              }
-+
-+              case CL_FLASH_IO_DIRECT_ACCESS:
-+              {
-+                      int err;
-+                      printk("====> CL_FLASH_IO_DIRECT_ACCESS\n");
-+                      long* prm = (long*)arg;
-+                      err = access_ok(VERIFY_READ, prm,
-+                                      sizeof(long) * 3) ? 0 : -EFAULT;
-+                      if(err) return err;
-+                      err = access_ok(VERIFY_WRITE, prm,
-+                                      CL_FLASH_SECTOR_SIZE) ? 0 : -EFAULT;
-+                      if(err) return err;
-+                      return dev->logic_direct_access(
-+                              dev->logic,
-+                              (cl_nand_direct_access_type)prm[0],
-+                              (unsigned short)prm[1],
-+                              (unsigned short)prm[2],
-+                              (unsigned char*)(prm + 3));
-+              }
-+              
-+              default:
-+                      return -EINVAL;
-+      }
-+}
-+
-+/* 
-+   cl_nand_release: releases the device 
-+*/
-+static int cl_nand_release (struct cl_blkdev *_dev,
-+                          struct inode *inode, struct file *file)
-+{
-+      struct cl_nand_dev *dev = (struct cl_nand_dev*)_dev->hw_private;
-+
-+      dev->logic_sync(dev->logic);
-+      cl_trace_log ("Data synced after RELEASE command\n");
-+      dev->last_end_write_cmd = 0;
-+
-+      return 0;
-+}
-+
-+static struct flash_blkdev_ops nand_blkdev_ops = {
-+      .flush_proc = cl_nand_flush_proc,
-+      .flash_hw_ioctl = cl_nand_ioctl,
-+      .do_flash_hw_request = cl_nand_request,
-+      .flash_hw_release = cl_nand_release
-+};
-+
-+#ifdef CONFIG_PROC_FS
-+/***************************************************************/
-+/* proc entry /proc/flashdisk implementation                   */
-+/***************************************************************/
-+#include <linux/proc_fs.h>
-+#include <linux/seq_file.h>
-+
-+static void cl_nand_proc_show(struct seq_file *s, struct cl_blkdev *_dev)
-+{
-+      struct cl_nand_dev *dev = _dev->hw_private;
-+
-+      unsigned long heads, sects, tot_size, cylinders;
-+      unsigned short sector_size, page_size;
-+      long read_page_cnt, write_page_cnt, reclaim_cnt;
-+
-+      tot_size = dev->logic_get_param(dev->logic, CL_FLASH_TOTAL_SIZE, 0);
-+      heads = dev->logic_get_param(dev->logic, CL_FLASH_HEADS_NUM, 0);
-+      sects = dev->logic_get_param(dev->logic, CL_FLASH_SECTOR_SIZE, 0);
-+      cylinders = dev->logic_get_param(dev->logic, CL_FLASH_CYLINDERS_NUM, 0);
-+      sector_size = dev->logic_get_param(dev->logic, CL_FLASH_SECTOR_SIZE, 0);
-+      page_size = dev->logic_get_param(dev->logic, CL_FLASH_PAGE_SIZE, 0);
-+      read_page_cnt = dev->logic_get_param(dev->logic,
-+                                           CL_FLASH_READ_PAGE_CNT, 0);
-+      write_page_cnt = dev->logic_get_param(dev->logic,
-+                                            CL_FLASH_WRITE_PAGE_CNT, 0);
-+      reclaim_cnt = dev->logic_get_param(dev->logic, CL_FLASH_RECLAIM_CNT, 0);
-+
-+
-+      seq_printf(s, "NAND flash disk:\n");
-+      seq_printf(s, "\ttotal size: %lu Mbytes (%lu bytes)\n",
-+                 (tot_size >> 20), tot_size);
-+      seq_printf(s, "\theads: %lu \tcylinders: %lu\tsectors: %lu\n", heads,
-+                 cylinders, sects);
-+      seq_printf(s, "\tsector: %d\tpage: %d\n", sector_size, page_size);
-+      seq_printf(s, "Stats:\n");
-+      seq_printf(s, "\tread: %ld\twritten: %ld\treclaimed: %ld\n",
-+                 read_page_cnt, write_page_cnt, reclaim_cnt);
-+}
-+
-+static int cl_blkdev_proc_show(struct seq_file *s, void *unused)
-+{
-+      struct cl_blkdev *dev = s->private;
-+
-+      seq_printf(s, "CompuLab flash disks:\n");
-+      cl_nand_proc_show(s, dev);
-+
-+      return 0;
-+}
-+
-+static int cl_blkdev_proc_open(struct inode *inode, struct file *file)
-+{
-+      return single_open(file, cl_blkdev_proc_show, PDE(inode)->data);
-+}
-+
-+static struct file_operations proc_ops = {
-+      .open           = cl_blkdev_proc_open,
-+      .read           = seq_read,
-+      .llseek         = seq_lseek,
-+      .release        = single_release,
-+};
-+                 
-+static const char proc_filename[] = "flashdisk";
-+
-+static void cl_blkdev_proc_create_file(struct cl_blkdev *dev)
-+{
-+      struct proc_dir_entry *pde;
-+      pde = create_proc_entry(proc_filename, 0666, NULL);
-+      if (pde == NULL)
-+              return;
-+
-+      pde->proc_fops = &proc_ops;
-+      pde->data = dev;
-+      dev->pde = pde;
-+}
-+
-+static void cl_blkdev_remove_proc_file(struct cl_blkdev *dev)
-+{
-+      if (dev->pde)
-+              remove_proc_entry(proc_filename, NULL);
-+}
-+
-+#else 
-+
-+#define cl_blkdev_create_proc_file(x) do {} while(0)
-+#define cl_blkdev_remove_proc_file(x) do {} while(0)
-+
-+#endif
-+
-+/*******************************************************************/
-+/* NAND device initialization and cleanup                          */
-+/*******************************************************************/
-+/* 
-+   cl_nand_flash_init:
-+      - initialize the CL_Logic
-+      - register the block device and gendisk
-+
-+   dev        - preallocated cl_nand_dev object 
-+   cl_nand_linux - HW interface
-+*/
-+int cl_nand_flash_init(struct cl_nand_dev *dev, cl_nand_map_if *cl_nand_linux)
-+{
-+      const char *name = "nand";
-+      int ret = 0;
-+      printk ("Nand Flash disk driver, CompuLab");
-+
-+      if( wpend ) 
-+              printk("NAND Write Protection activated from %ld to %ld.\n",
-+                     wpstart, wpend);
-+
-+      if (format)
-+              printk ("Formatting Nand flash . . .\n");
-+      dev->logic = dev->logic_create(cl_nand_linux, CACHE_SIZE, format, FLASH_SECTOR);
-+      if (!dev->logic) {
-+              printk ("Flash logic couldn't be created.\n");
-+              return -1;
-+      }
-+
-+      dev->blkdev = kmalloc(sizeof(*dev->blkdev), GFP_KERNEL);
-+      if ( !dev->blkdev ) {
-+              return -ENOMEM;
-+      }
-+      
-+      dev->blkdev->hw_private = dev;
-+      if ( (ret = cl_blkdev_init(dev->blkdev, &nand_blkdev_ops, name)) ) {
-+              printk(KERN_ERR "%s: cl_blkdev initialization failed: %d\n", 
-+                     __FUNCTION__, ret);
-+              dev->logic_free(dev->logic);
-+              return ret;
-+      }
-+
-+      ret = cl_blkdev_register_disk(dev->blkdev, name,
-+                                    dev->logic_get_param(dev->logic,
-+                                                         CL_FLASH_TOTAL_SIZE, 
-+                                                         0) / 512);
-+      if ( ret ) {
-+              printk(KERN_ERR "%s: NAND disk registration failed: %d\n", 
-+                     __FUNCTION__, ret);
-+              cl_blkdev_unregister(dev->blkdev);
-+              dev->logic_free(dev->logic);
-+              return ret;
-+      }
-+
-+      cl_blkdev_proc_create_file(dev->blkdev);
-+
-+      return 0;
-+}
-+
-+/* 
-+   cl_nand_flash_cleanup: performs cleanup when driver is no longer used
-+*/
-+void cl_nand_flash_cleanup(struct cl_nand_dev * dev)
-+{
-+      cl_blkdev_unregister(dev->blkdev);
-+      if ( dev->logic )
-+              dev->logic_free(dev->logic);
-+
-+      cl_blkdev_remove_proc_file(dev->blkdev);
-+      
-+      if ( dev->blkdev )
-+              kfree(dev->blkdev);
-+}
-diff --git a/drivers/block/cl_flash/cl_blkdev.h b/drivers/block/cl_flash/cl_blkdev.h
-new file mode 100644
-index 0000000..bca1944
---- /dev/null
-+++ b/drivers/block/cl_flash/cl_blkdev.h
-@@ -0,0 +1,43 @@
-+#ifndef __CL_BLKDEV_H__
-+#define __CL_BLKDEV_H__
-+
-+struct cl_blkdev;
-+
-+struct cl_nand_dev {
-+      struct cl_blkdev *blkdev; 
-+      cl_logic logic;
-+      unsigned long last_end_write_cmd;
-+
-+      /* CL logic access layer */
-+      cl_logic (*logic_create)(cl_nand_map_if*, long,
-+                               int, unsigned short);
-+      void (*logic_free)(cl_logic);
-+      long (*logic_get_param)(cl_logic, cl_logic_param, long);
-+      int  (*logic_read_page)(cl_logic, long, CLBYTEPTR);
-+      int  (*logic_write_page)(cl_logic, long, CLBYTEPTR);
-+      void (*logic_on_idle)(cl_logic, int);
-+      void (*logic_sync)(cl_logic);
-+      int  (*logic_direct_access)(cl_logic,cl_nand_direct_access_type,
-+                                  unsigned short, unsigned char, CLBYTEPTR);
-+};
-+
-+extern int cl_nand_flash_init(struct cl_nand_dev *dev, cl_nand_map_if *cl_nand_linux);
-+extern void cl_nand_flash_cleanup(struct cl_nand_dev * dev);
-+
-+#define INIT_NAND_DEV(dev) \
-+      do {                                                            \
-+              dev->logic = 0;                                         \
-+              dev->blkdev = 0;                                        \
-+              dev->last_end_write_cmd = 0;                            \
-+              dev->logic_create = cl_logic_create;                    \
-+              dev->logic_free = cl_logic_free;                        \
-+              dev->logic_get_param = cl_logic_get_param;              \
-+              dev->logic_read_page = cl_logic_read_page;              \
-+              dev->logic_write_page = cl_logic_write_page;            \
-+              dev->logic_on_idle = cl_logic_on_idle;                  \
-+              dev->logic_sync = cl_logic_sync;                        \
-+              dev->logic_direct_access = cl_logic_direct_access;      \
-+      } while(0)
-+
-+
-+#endif /*  __CL_BLKDEV_H__ */
-diff --git a/drivers/block/cl_flash/cl_common.c b/drivers/block/cl_flash/cl_common.c
-new file mode 100644
-index 0000000..a0d2a9c
---- /dev/null
-+++ b/drivers/block/cl_flash/cl_common.c
-@@ -0,0 +1,52 @@
-+void cl_zero_mem (void* ptr, long size)
-+{
-+      memset (ptr, 0, size);
-+}
-+
-+void cl_ff_mem (void* ptr, long size)
-+{
-+      memset (ptr, 0xff, size);
-+}
-+void cl_mem_copy (void* dest,  void* src, long size)
-+{
-+      memcpy (dest, src, size);
-+}
-+
-+int cl_mem_compare (void* mem1, void* mem2, long size)
-+{
-+      return memcmp (mem1, mem2, size);
-+}
-+
-+unsigned long cl_get_jiffies (void)
-+{
-+      return jiffies;
-+}
-+
-+unsigned long cl_nand_get_max_cache_time (void)
-+{
-+      return HZ * 30;       /*  30 seconds in cache maximum  */
-+}
-+
-+void cl_trace_log ( char* format, ...)
-+{
-+#ifdef DO_CL_TRACE_LOG
-+      char full_msg[300];
-+      va_list marker;
-+
-+      va_start(marker, format);
-+      vsprintf(full_msg, format, marker);
-+      printk(full_msg);
-+      va_end(marker);
-+#endif
-+}
-+
-+void cl_error_log ( char* format, ...)
-+{
-+      char full_msg[300];
-+      va_list marker;
-+
-+      va_start(marker, format);
-+      vsprintf(full_msg, format, marker);
-+      printk(full_msg);
-+      va_end(marker);
-+}
-diff --git a/drivers/block/cl_flash/cl_nanddev_x270.c b/drivers/block/cl_flash/cl_nanddev_x270.c
-new file mode 100644
-index 0000000..71f05f8
---- /dev/null
-+++ b/drivers/block/cl_flash/cl_nanddev_x270.c
-@@ -0,0 +1,233 @@
-+/*
-+ * drivers/block/cl_flash/cl_nandded_x270.c
-+ *
-+ * Flash Disk Driver for CM-X270 platform.
-+ * Low level device interface implementation
-+ *
-+ * Copyright Compulab 2003-2006 (c).
-+ */
-+
-+#include <linux/sched.h>
-+#include <linux/delay.h>
-+#include <linux/platform_device.h>
-+
-+#include <asm/io.h>
-+#include <asm/arch/hardware.h>
-+#include <asm/arch/pxa-regs.h>
-+#include <asm/arch/cm-x270.h>
-+
-+#include "CL_Logic.h"
-+#include "cl_blkdev.h"
-+
-+/*  The following macro enables flash activity indication by LEDs  */
-+#undef USE_LEDS
-+
-+#define NAND_RB                       (GPLR2 & (1<<25))
-+
-+#define NandCLE               (1<<0)
-+#define NandALE               (1<<1)
-+
-+/*
-+ * Values specific to the ARMCore
-+ */
-+volatile unsigned long * FLASH_DATA;
-+volatile unsigned long * FLASH_DATA_ALE;
-+volatile unsigned long * FLASH_DATA_CLE;
-+
-+/* asm-arm/arch-pxa/hardware.h defines UNCACHED_ADDR */
-+volatile unsigned char * UNC = (volatile unsigned char *)UNCACHED_ADDR;
-+
-+/*******************************************************************/
-+/* CM-X270 NAND HW access layer                                    */
-+/*******************************************************************/
-+static inline void nand_cs_on(void)
-+{
-+      GPCR0 = 1<<11;
-+      while( (GPLR0 & (1<<11)) );
-+}
-+
-+static inline void nand_cs_off(void)
-+{
-+      unsigned char dummy;
-+      asm volatile ("mcr p15, 0, r0, c7, c10, 4":::"r0");
-+      dummy=*UNC;
-+
-+      GPSR0 = 1<<11;
-+      while( !(GPLR0 & (1<<11)) );
-+}
-+
-+static void FlashInitial(void)
-+{
-+}
-+
-+static void FlashChipSelect (int on, int need_auto_operation)
-+{
-+      static int cs_state = -1;
-+
-+      if (need_auto_operation)
-+              on = 1;
-+
-+      if (cs_state == on)
-+              return;
-+      
-+      cs_state = on;
-+
-+      if (on) {
-+              nand_cs_on();
-+      }
-+      else {
-+              nand_cs_off();
-+      }
-+}
-+
-+static unsigned char FlashReadByte (unsigned char offset)
-+{
-+      return (unsigned char)(*FLASH_DATA >> 16);
-+}
-+
-+static void FlashWriteByte (unsigned char offset, unsigned char data)
-+{
-+    if(offset & NandALE) *FLASH_DATA_ALE = (data << 16);
-+    else if(offset & NandCLE) *FLASH_DATA_CLE = (data << 16);
-+    else *FLASH_DATA = (data << 16);
-+}
-+
-+static void FlashBlockRead (unsigned char* data, int count)
-+{
-+    while (count--)   
-+        *data++ = (unsigned char)(*FLASH_DATA >> 16);
-+}
-+
-+static void FlashBlockWrite ( unsigned char* data, int count)
-+{
-+    while (count--)   
-+        *FLASH_DATA = (*data++ << 16);
-+}
-+
-+/*  Orange LED used by Linux kernel activity  */
-+static void FlashCoreLeds (short operation, short reclaim)
-+{
-+#ifdef USE_LEDS
-+
-+#endif
-+}
-+
-+static void do_nothing (void)
-+{
-+}
-+
-+int nand_delay(unsigned long microseconds) 
-+{
-+      if ( microseconds < 1000 ) {
-+              udelay(microseconds);
-+              return 0;
-+      }
-+      udelay(1000);
-+      udelay(1000);
-+      udelay(1000);
-+      return 0;
-+}
-+
-+/* Wait on Ready/Busy signal */
-+static int RBWait(unsigned long microseconds)
-+{
-+      unsigned char dummy;
-+      int i=0;
-+
-+      /* ensure there's no outstanding bus transaction */
-+      asm volatile ("mcr p15, 0, r0, c7, c10, 4":::"r0");
-+      dummy=*UNC;
-+
-+      /* protect from big delays in R/B GPIO falling edge (or no R/B
-+         falling edge activity) */
-+      while((NAND_RB == 1) && (i < 3000)){
-+              udelay(1);
-+              i++;
-+      };
-+
-+      if ( i > 0 )
-+              printk(KERN_DEBUG "%s: No immediate R/B activity\n", __FILE__);
-+
-+      if (i == 3000){
-+              printk(KERN_DEBUG "%s: No R/B activity for 3 ms\n", __FILE__);
-+              return (0);
-+      }
-+
-+      i=0;
-+
-+      /* protect from big delays in R/B GPIO rising edge */
-+      while((NAND_RB == 0) && (i < 3000)){
-+              udelay(1);
-+              i++;
-+      };
-+
-+      if (i == 3000){
-+              printk(KERN_DEBUG "%s: R/B timed out\n", __FILE__);
-+              return (0);
-+      }
-+
-+      /* ensure there's no outstanding bus transaction */
-+      asm volatile ("mcr p15, 0, r0, c7, c10, 4":::"r0");
-+      dummy=*UNC;
-+
-+      return(1);
-+}
-+
-+static cl_nand_map_if cl_nand_linux = {
-+        .init = FlashInitial,
-+        .destroy = do_nothing,
-+        .chip_select = FlashChipSelect,
-+        .readb = FlashReadByte,
-+        .writeb = FlashWriteByte,
-+        .blockread = FlashBlockRead,
-+        .blockwrite = FlashBlockWrite,
-+        .activity_leds = FlashCoreLeds,
-+        .sleep = nand_delay,
-+        .rbwait = RBWait
-+};
-+
-+static struct cl_nand_dev nand_dev;
-+
-+/* 
-+   nand_flash_init:
-+      - perform board specific initialization
-+      - initialize NAND device data structure
-+      - initialize block device layer
-+*/
-+static int nand_flash_init (void)
-+{
-+      struct cl_nand_dev *dev = &nand_dev;
-+
-+      FLASH_DATA = (volatile unsigned long*)ioremap(PXA_CS1_PHYS, 12);
-+      if (FLASH_DATA == NULL) {
-+              printk("Bad NAND flash window at %X (already in use)\n", 0x04000000);
-+              return -1;
-+      }
-+      FLASH_DATA_CLE = FLASH_DATA + 1;
-+      FLASH_DATA_ALE = FLASH_DATA + 2;
-+
-+      INIT_NAND_DEV(dev);
-+      return cl_nand_flash_init(dev, &cl_nand_linux);
-+}
-+
-+#ifdef CONFIG_ARMCORE_NAND
-+int cl_nand_init_module(void)
-+{
-+      return nand_flash_init();
-+}
-+
-+void cl_nand_cleanup_module(void)
-+{
-+      struct cl_nand_dev *dev = &nand_dev;
-+      cl_nand_flash_cleanup(dev);
-+}
-+#else
-+int cl_nand_init_module(void)
-+{
-+      return 0;
-+}
-+
-+void cl_nand_cleanup_module(void)
-+{
-+}
-+#endif
-diff --git a/drivers/block/cl_flash/cl_nordev.c b/drivers/block/cl_flash/cl_nordev.c
-new file mode 100644
-index 0000000..c141735
---- /dev/null
-+++ b/drivers/block/cl_flash/cl_nordev.c
-@@ -0,0 +1,594 @@
-+/*  
-+    Flash Disk Driver Interface for Linux 2.4.x
-+    Written by Vova Lifliand
-+*/
-+
-+/*  Includes  */
-+#include <linux/module.h>
-+#include <linux/errno.h>
-+#include <linux/sched.h>
-+#include <linux/mm.h>
-+#include <linux/fs.h>
-+#include <linux/kernel.h>
-+#include <linux/timer.h>
-+#include <linux/genhd.h>
-+#include <linux/hdreg.h>
-+#include <linux/ioport.h>
-+#include <linux/init.h>
-+#include <linux/devfs_fs_kernel.h>
-+#include <linux/delay.h>
-+
-+#include <asm/system.h>
-+#include <asm/io.h>
-+#include <asm/uaccess.h>
-+
-+/*  Macros for correct linux/blk.h inclusion  */
-+
-+#define DEVICE_NAME           "nor"
-+
-+static int major = 0;     
-+
-+#define FLASH_SECTOR  512
-+
-+#include <linux/blkdev.h>
-+#include <linux/blkpg.h>
-+
-+extern void cl_error_log ( char* format, ...);
-+extern void cl_trace_log ( char* format, ...);
-+extern void cl_mem_copy (void* dest,  void* src, long size);
-+
-+
-+/*  Undefine for custom LEDs usage  */
-+#undef USE_LEDS
-+
-+/*  CrFlash driver interface  */
-+#ifndef FLASH_PLATFORM_LINUX
-+#define FLASH_PLATFORM_LINUX
-+#endif
-+#include "CL_Logic.h"
-+
-+typedef  unsigned long ULONG;
-+
-+/*  Forward functions declaration  */
-+static int flash_open (struct inode *inode,struct file *file);
-+static void do_flash_request (request_queue_t * q);
-+static int flash_ioctl (struct inode *inode,struct file *file,unsigned int cmd,unsigned long arg);
-+static int flash_release (struct inode *inode, struct file *file);
-+
-+static DECLARE_MUTEX (nor_flash_sem);
-+static int nor_flash_sem_catched = 0;
-+
-+
-+volatile unsigned short * NorFlashMem;
-+
-+static int flash_check_media_change (struct gendisk* dev)
-+{
-+/*    printk ("flash_check_media_change called.\r\n");*/
-+    return 0;     /*  Disk not changed  */
-+}
-+
-+static int flash_revalidate (struct gendisk* dev)
-+{
-+/*    printk ("flash_revalidate called.\r\n");*/
-+    return 0;
-+}
-+
-+static struct block_device_operations flash_fops =
-+{
-+      .owner                  = THIS_MODULE,
-+      .open                   = flash_open,
-+      .release                = flash_release,
-+      .ioctl                  = flash_ioctl,
-+      .media_changed          = flash_check_media_change,
-+      .revalidate_disk        = flash_revalidate
-+};
-+
-+static struct gendisk *flash_gendisk;
-+static spinlock_t flash_lock;
-+static struct request_queue *flash_queue;
-+
-+
-+#ifdef CONFIG_ARMCORE_NOR
-+/* nor_flash_init: register the block device number and set up pointer tables */
-+int __init nor_flash_init (void)
-+{
-+    ULONG trash1, trash2, trash3, trash4, TotalSect;
-+
-+    /*  Request memory for NOR Flash  */
-+    NorFlashMem = (volatile unsigned short*)ioremap (0x00000000, 0x800000);
-+    if (NorFlashMem == NULL) {
-+        printk("Bad NOR flash window at %X (already in use)\n", 0x00000000);
-+        return -1;
-+    }
-+
-+    /*  Do flash initialization  */
-+    if (!cl_nor_init_flash()) {
-+          printk("NOR: Flash initialization failed\n");
-+          iounmap((void __iomem *)NorFlashMem);
-+          return -1;
-+    }
-+
-+      spin_lock_init(&flash_lock);
-+      flash_queue = blk_init_queue(do_flash_request, &flash_lock);
-+      if(flash_queue == NULL)
-+    {
-+        printk ("Could not initialize queue.\r\n");
-+      iounmap((void __iomem *)NorFlashMem);
-+        return -1;
-+    }
-+      blk_queue_hardsect_size(flash_queue, FLASH_SECTOR);
-+
-+    if ((major=register_blkdev (0, DEVICE_NAME)) <= 0)
-+    {
-+              printk("flash: Unable to get major number \n");
-+              iounmap((void __iomem *)NorFlashMem);
-+              return -1;
-+    }  else printk("Major number received: %d\n", major);
-+
-+    /*  Insert this disk into linked list of disks  */
-+
-+    flash_gendisk = alloc_disk(16);
-+    if (! flash_gendisk) return -ENOMEM;
-+    flash_gendisk->major = major;
-+      flash_gendisk->first_minor = 0;
-+      flash_gendisk->fops = &flash_fops;
-+      flash_gendisk->private_data=NULL;
-+      flash_gendisk->queue = flash_queue;
-+      strcpy(flash_gendisk->disk_name, "nor");
-+    cl_nor_get_disk_param( &TotalSect, &trash1, &trash2, &trash3, &trash4);
-+      set_capacity(flash_gendisk, TotalSect);
-+    add_disk(flash_gendisk);
-+
-+    /*  Starting flush timer: the cl_timer_proc will be executed on each timer interrupt  */
-+
-+    return 0;
-+}
-+#else
-+int __init nor_flash_init (void)
-+{
-+      return 0;
-+}
-+#endif
-+
-+/* flash_open: open a device */
-+static int flash_open (struct inode *inode, struct file *file)
-+{
-+    
-+      return 0;
-+    
-+}
-+
-+/* do_flash_request: handle an incoming request */
-+static void do_flash_request (request_queue_t * q)
-+{
-+    u_int block, count;
-+    int code=1, i;
-+      struct request* req=NULL;
-+
-+    while ((code == 1) && ((req = elv_next_request(q)) != NULL)) 
-+    {
-+          block = req->sector;
-+          // printk ("req->nr_sectors = %d.\r\n", req->nr_sectors);
-+          // printk ("req->current_nr_sectors = %d.\r\n", req->current_nr_sectors);
-+          count = req->current_nr_sectors;
-+
-+          nor_flash_sem_catched++;
-+          down (&nor_flash_sem);    
-+          
-+          switch (rq_data_dir(req)) {
-+              case 0: // READ
-+                  for (i = 0, code = 1;  i < count;  i++) 
-+                              // printk ("Reading sector %d (of %d).\r\n", block + i, count);
-+                      if (!cl_nor_read_page ( block + i,
-+                                      (void *)((char*)req->buffer + i * 512))) {
-+                              //                      printk ("Reading failed.\r\n");
-+                                          code = 0;    /*     failure  */
-+                                      break;
-+                              }
-+                              // printk ("Reading completed successfully.\r\n");
-+                  break;
-+              case 1: // WRITE
-+                  for (i = 0, code = 1;  i < count;  i++) {
-+                              // printk ("Writing sector %d.\r\n", block + i);
-+                              if (!cl_nor_write_page ( block + i,
-+                                      (void *)((char*)req->buffer + i * 512))) {
-+                              //                      printk ("Writing failed.\r\n");
-+                                      code = 0;    /* failure  */
-+                                          break;
-+                              }
-+                              // printk ("Writing completed successfully.\r\n");
-+                  }   
-+                  break;
-+              default:
-+                  printk("do_flash_request: unknown request\n");
-+                  break;
-+          }
-+          up (&nor_flash_sem);
-+          nor_flash_sem_catched--;
-+              end_request (req, code);        /* wrap up, 0 = fail, 1 = success */
-+      }
-+}
-+
-+/* flash_ioctl: handle device ioctl's */
-+static int flash_ioctl (struct inode *inode, struct file *file, u_int cmd, u_long arg)
-+{
-+    ULONG trash1, trash2, trash3, trash4, TotalSect;
-+    
-+    // printk ("flash_ioctl called.\r\n");
-+
-+    if ((!inode) || !(inode->i_rdev))
-+      return -EINVAL;
-+
-+    cl_nor_get_disk_param( &TotalSect, &trash1, &trash2, &trash3, &trash4);
-+    // printk ("flash_ioctl in switch.\r\n");
-+    switch (cmd)
-+    {
-+      case HDIO_GETGEO:
-+      {
-+          struct hd_geometry *geometry = (struct hd_geometry*)arg;
-+          if (!geometry)
-+              return -EINVAL;     /*  Bad arguments to ioctl  */
-+          put_user(TotalSect / 32 , &geometry->cylinders);
-+          put_user(1, &geometry->heads);
-+          put_user(32, &geometry->sectors);
-+          put_user(2, &geometry->start);
-+      }
-+      case BLKGETSIZE:
-+          if (!arg)
-+              return -EINVAL;
-+          return put_user (TotalSect, (long *) arg);
-+      case HDIO_SET_DMA:          /*  We don't use DMA for flash. This has no meaning  */
-+          if (!capable (CAP_SYS_ADMIN))
-+              return -EACCES;
-+          return 0;
-+      case HDIO_GET_DMA:
-+          return put_user( 0, (long *) arg);  /*  No DMA  */
-+      case HDIO_GET_MULTCOUNT:        /*  We don't have a limitation of number of sectors in op.  */
-+          return put_user (128, (long *) arg);
-+      case BLKFLSBUF:
-+      case BLKROSET:
-+      case BLKROGET:
-+      case BLKRASET:
-+      case BLKRAGET:
-+      case BLKPG:
-+    
-+      default:
-+          return -EINVAL;
-+    }
-+}
-+
-+/* flash_release: release the device */
-+static int flash_release (struct inode *inode, struct file *file)
-+{
-+    
-+    return 0;
-+}
-+
-+#ifdef CONFIG_ARMCORE_NOR
-+static void flash_done (void)
-+{
-+      del_gendisk(flash_gendisk);
-+      put_disk(flash_gendisk);    
-+    blk_cleanup_queue(flash_queue);
-+
-+    /*        Free memory allocated by flash module  */
-+    cl_nor_free_mem ();
-+
-+    unregister_blkdev (major, DEVICE_NAME);
-+}
-+#else
-+static void flash_done (void)
-+{
-+}
-+#endif
-+
-+extern int cl_nand_init_module(void);
-+extern void cl_nand_cleanup_module(void);
-+
-+int flash_init_module(void)
-+{
-+    int error;
-+
-+    error = cl_nand_init_module();
-+    if (error) return error;
-+
-+    error = nor_flash_init();
-+    if (error) return error;
-+
-+    return 0;
-+}
-+
-+void flash_cleanup_module(void)
-+{
-+    flash_done();
-+    cl_nand_cleanup_module();
-+}
-+
-+module_init (flash_init_module);
-+module_exit (flash_cleanup_module);   
-+
-+//-------------------- CMNLIN.C ---------
-+
-+#define TRUE 1
-+#define FALSE 0
-+
-+#define FL_CLKS_PER_SEC                   182
-+
-+#define NAND_HEAP_SIZE            64000           /*  bytes  */
-+#define NOR_HEAP_SIZE     50000           /*  bytes  */
-+
-+/*  NOR Flash constants  */
-+#define NorFlashBlockSize             0x10000L        /*  64 KB  */
-+#define NorFlashDiskPagesPerBlock   127
-+
-+#define NOR_DRIVE_STARTING_BLOCK      27
-+
-+/*  NOR Flash Functions Support  */
-+
-+/*  Constructor / destructor  */
-+static void Nor_Create(void);
-+/*  Basic operations  */
-+static void Nor_EnableFlashMap(int EnableFlag);
-+static unsigned long Nor_GetSize(void);
-+static int Nor_GetPagesPerBlock(void);
-+static int Nor_ReadHeader (unsigned short BlockN, cl_nor_block_header* Header);
-+static int Nor_ReadPage (unsigned short BlockN, unsigned char PageNum, CLBYTEPTR DestBuff);
-+static int Nor_SetBlockState(unsigned short BlockN, unsigned short Signature,
-+                           unsigned short State, unsigned short Reserved);
-+static int Nor_InvalidatePage(unsigned short BlockN, unsigned char PageN);
-+static int Nor_WritePage(unsigned short BlockN, unsigned char PageN,
-+                           CLBYTEPTR PageData, unsigned short PageIndex);
-+static int Nor_EraseBlock(unsigned short BlockN);
-+
-+extern volatile unsigned short * NorFlashMem;
-+unsigned char Nor_IntelFlash;
-+
-+void Nor_EmptyFunc(void){};
-+
-+cl_nor_flash_access NorFlashAccess =
-+      {
-+              Nor_Create,
-+              Nor_EmptyFunc, /*NULL,*/                /*  Destructor not needed  */
-+              Nor_GetSize,
-+              Nor_EnableFlashMap,
-+              Nor_GetPagesPerBlock,
-+              Nor_ReadHeader,
-+              Nor_ReadPage,
-+              Nor_SetBlockState,
-+              Nor_InvalidatePage,
-+              Nor_WritePage,
-+              Nor_EraseBlock,
-+      };
-+
-+/*  Driver see NOR Flash Blocks as linear, while there are BIOS holes  */
-+static int Nor_GetPhysBlockIndex (int BlockN)
-+{
-+    return (BlockN + NOR_DRIVE_STARTING_BLOCK);
-+}
-+
-+static void NorWrWord(unsigned long index, unsigned short data)
-+{
-+    *(NorFlashMem+index)=data;
-+}
-+extern void NorWrWord(unsigned long index, unsigned short data);
-+
-+static unsigned short NorRdWord(unsigned long index)
-+{
-+    return *(NorFlashMem+index);
-+}
-+
-+static unsigned char Nor_OutAMDCommand(unsigned short command)
-+{
-+    NorWrWord(0x555, 0xAAAA);        
-+    NorWrWord(0x2AA, 0x5555);        
-+    NorWrWord(0x555, command);        
-+    return TRUE;
-+}
-+
-+
-+static void Nor_Create(void)
-+{
-+    /*        Nothing should be done here - all services are provided by BIOS  */
-+}
-+
-+static unsigned long Nor_GetSize(void)
-+{
-+    unsigned long NorFlashSize = 0x100000;
-+    unsigned short n;
-+/*    unsigned long i; */
-+    
-+    /*  Determine flash type  */
-+    NorWrWord(0, 0xFFFF);
-+    NorWrWord(0, 0x9090);
-+    if(NorRdWord(0) == 0x89)
-+        Nor_IntelFlash = TRUE;
-+    else Nor_IntelFlash = FALSE;
-+    NorWrWord(0, 0xFFFF);
-+
-+    /*  Query flash size  */
-+    /*  1. Do reset command  */
-+    NorWrWord(0, 0xF0F0);        /*  was 0f0f  */
-+    NorWrWord(0, 0xFFFF);        /*  Will also reset intel flash  */
-+    /*  2. Enter CFI mode  */
-+    NorWrWord(0x55, 0x9898);
-+    /*  3. Read flash size  */
-+/*  READ WHOLE CFI  for (i=10; i<0x3D; i++){
-+        n = NorRdWord(i);
-+        printk("CFI n=%x\n", n);} */
-+    n = NorRdWord(0x27);
-+    /*  4. Do reset again - exit CFI mode  */
-+    NorWrWord(0, 0xF0F0);        /*  was 0f0f  */
-+    NorWrWord(0, 0xFFFF);        /*  Will also reset intel flash  */
-+    /*  Exclude BIOS area  */
-+    if((n>0x17) | (n<0x14)) n=0x14; // if detection is unsuccessfull (no CFI) default to 1MB
-+    NorFlashSize = (1 << n);        /*  2 ^ n  */
-+
-+    cl_error_log("NOR Flash (%s) size: %d MB total\n",(Nor_IntelFlash ? "Intel" : "AMD"),NorFlashSize / (1024 * 1024));
-+                  
-+    if(NorFlashSize == (1024 * 1024)) {
-+              cl_error_log("1Mb flash not supported!\n");
-+              return 0;
-+      }
-+    
-+    return     NorFlashSize -= NOR_DRIVE_STARTING_BLOCK * 64L * 1024L; /*exclude BIOS and jump areas, spareblocks etc.*/
-+}
-+
-+/*  Remaps or unmaps MMS windows, allocated by flash  */
-+static void Nor_EnableFlashMap (int EnableFlag)
-+{
-+    /*        Just to prevent warning  */
-+    int x = EnableFlag;
-+    EnableFlag = x;
-+    /*        Nothing should be done here - all services are provided by BIOS  */
-+}
-+
-+static int Nor_GetPagesPerBlock(void)
-+{
-+    return NorFlashDiskPagesPerBlock;
-+}
-+
-+static int Nor_ReadHeader (unsigned short BlockN, cl_nor_block_header* Header)
-+{
-+
-+    cl_mem_copy (Header,
-+                 (char*)(NorFlashMem + (0x8000 * Nor_GetPhysBlockIndex(BlockN))),
-+                 (sizeof (cl_nor_block_header) + 1) & 0xFFFE);
-+    return 1;
-+}
-+
-+static int Nor_ReadPage (unsigned short BlockN, unsigned char PageNum, CLBYTEPTR DestBuff)
-+{
-+    cl_mem_copy (DestBuff,
-+                 (char*)(NorFlashMem + (0x8000 * Nor_GetPhysBlockIndex(BlockN)) +
-+                               ((PageNum + 1) * (CL_NOR_FLASH_PAGE_SIZE / 2))),
-+                 CL_NOR_FLASH_PAGE_SIZE);
-+    return 1;
-+}
-+
-+static int Nor_EraseBlock(unsigned short BlockN)
-+{
-+    unsigned long addr;
-+    unsigned short dummy;
-+    
-+    addr=(Nor_GetPhysBlockIndex(BlockN)*NorFlashBlockSize)/2;
-+    if(Nor_IntelFlash)
-+    {           /*  Erase block sequence from Intel flash  */
-+        NorWrWord(addr, 0xFFFF);
-+        NorWrWord(addr, 0x7070);
-+        NorWrWord(addr, 0x2020);
-+        NorWrWord(addr, 0xD0D0);
-+        NorWrWord(addr, 0xD0D0);
-+        while(!(NorRdWord(addr) & 128))
-+            ;
-+        NorWrWord(0, 0xFFFF);
-+        return TRUE;
-+    }
-+    else
-+    {
-+        /*  Do "erase block" commands sequence  */
-+        if(!Nor_OutAMDCommand(0xF0F0))  return FALSE;
-+        dummy = NorRdWord(addr);      /*  read and discard  */
-+        if(!Nor_OutAMDCommand(0x8080)) return FALSE;
-+        NorWrWord(0x555, 0xAAAA);        
-+        NorWrWord(0x2AA, 0x5555);        
-+        NorWrWord(addr, 0x3030);        
-+
-+        /*  Waiting block is erased - no timeout here  */
-+        while(TRUE)
-+        {
-+            /*  Stall processor execution for about 20 microseconds <--- it is much less  */
-+            for(dummy = 0;  dummy < 20;  dummy++)
-+                ;
-+            /*  Check if ready  */
-+            if(NorRdWord(addr) == 0xFFFF)
-+                return TRUE;
-+        }
-+    }
-+}
-+
-+static int Nor_SetWord (unsigned long ofs, unsigned short word)
-+{
-+    unsigned short timeout = 0xFFF;
-+    unsigned long addr;
-+    addr = ((Nor_GetPhysBlockIndex (ofs >> 15))<<15)+(ofs&0x7FFF);// 15 because address is given for word argument
-+    /*  The address should be word aligned since accessing by word and not by byte  */
-+
-+    if(Nor_IntelFlash)
-+    {       /*  Write sequence from Intel flash  */
-+        NorWrWord(addr, 0x4040);
-+        NorWrWord(addr, word);
-+        while(timeout--)
-+                      udelay(1);
-+            if(NorRdWord(addr) & 128)
-+            {
-+                unsigned char res = !(NorRdWord(addr) & 16);
-+                NorWrWord(addr, 0x5050);
-+                NorWrWord(addr, 0xFFFF);
-+                return res;
-+            }
-+        NorWrWord(0, 0x5050);
-+    }
-+    else
-+    {       /*  Write sequence from AMD flash  */
-+        /*  Output command is a necessary sequence to write word  */
-+        if(!Nor_OutAMDCommand(0xA0A0))
-+            return FALSE;
-+
-+        /*  Write data  */
-+        NorWrWord(addr, word);
-+        /*  Wait data written  */
-+        while(timeout--)   {
-+                      udelay(1);
-+            if(NorRdWord(addr) == word)
-+                return TRUE;
-+              }
-+    }
-+    /*  Failure  */
-+    cl_error_log("ERROR: SetWord timeout.");
-+
-+    return FALSE;
-+}
-+
-+static int Nor_SetBlockState(unsigned short BlockN, unsigned short Signature,
-+                              unsigned short State, unsigned short Reserved)
-+{
-+    return Nor_SetWord ((BlockN * NorFlashBlockSize + 0)/2, Signature) &&
-+           Nor_SetWord ((BlockN * NorFlashBlockSize + 2)/2, State) &&
-+           Nor_SetWord ((BlockN * NorFlashBlockSize + 26 + 127 * 2)/2, Reserved);
-+}
-+
-+static int Nor_InvalidatePage (unsigned short BlockN, unsigned char PageN)
-+{
-+    return Nor_SetWord ((BlockN * NorFlashBlockSize + 6 + 2 * PageN)/2, 0);
-+}
-+
-+static int Nor_WritePage (unsigned short BlockN, unsigned char PageN,
-+                            CLBYTEPTR PageData, unsigned short PageIndex)
-+{
-+    int words_left, dest_addr;
-+    unsigned short* ptr;
-+
-+    /*  Write index to first page - header information  */
-+    if(!Nor_SetWord((BlockN * NorFlashBlockSize + 6 + 2 * PageN)/2, PageIndex))
-+    {
-+        cl_error_log("A");
-+        return FALSE;       /*  Couldn't write page index  */
-+    }
-+
-+    /*  Write page data  */
-+    words_left = (512 >> 1);     /*  Write by word  */
-+    dest_addr = BlockN * NorFlashBlockSize + (PageN + 1) * 512;
-+    ptr = (unsigned short*)PageData;
-+    while(words_left--)
-+    {
-+        if(!Nor_SetWord(dest_addr/2, *ptr++))
-+        {
-+            cl_error_log("B");
-+            return FALSE;           /*  Page data writing failure  */
-+        }
-+        dest_addr += 2;     /*  Write by word (2 bytes each write command)  */
-+    }
-+
-+    return TRUE;
-+}
-+
-diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
-index 05ba410..a820db0 100644
---- a/drivers/char/Kconfig
-+++ b/drivers/char/Kconfig
-@@ -1020,5 +1020,11 @@ config TELCLOCK
-         sysfs directory, /sys/devices/platform/telco_clock, with a number of
-         files for controlling the behavior of this hardware.
-+
-+config EMV3020_RTC
-+      tristate "EM-V3020 RTC"
-+      ---help---
-+        Support for EM Microelectronics V3020 RTC
-+
- endmenu
-diff --git a/drivers/char/Makefile b/drivers/char/Makefile
-index 503dd90..625bfd9 100644
---- a/drivers/char/Makefile
-+++ b/drivers/char/Makefile
-@@ -49,6 +49,7 @@ obj-$(CONFIG_VIOCONS) += viocons.o
- obj-$(CONFIG_VIOTAPE)         += viotape.o
- obj-$(CONFIG_HVCS)            += hvcs.o
- obj-$(CONFIG_SGI_MBCS)                += mbcs.o
-+obj-$(CONFIG_EMV3020_RTC)       += emv3020.o
- obj-$(CONFIG_PRINTER) += lp.o
- obj-$(CONFIG_TIPAR) += tipar.o
-diff --git a/drivers/char/emv3020.c b/drivers/char/emv3020.c
-new file mode 100644
-index 0000000..df7f1a4
---- /dev/null
-+++ b/drivers/char/emv3020.c
-@@ -0,0 +1,365 @@
-+/*
-+ * emv3020.c
-+ *
-+ * Driver for EMV3020 RTC
-+ *
-+ * Copyright (C) 2006 Compulab Ltd.
-+ *
-+ * 
-+ * 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/module.h>
-+#include <linux/fs.h>
-+#include <linux/string.h>
-+#include <linux/init.h>
-+#include <linux/platform_device.h>
-+#include <linux/interrupt.h>
-+#include <linux/rtc.h>
-+#include <linux/bcd.h>
-+#include <linux/clk.h>
-+
-+#include <asm/hardware.h>
-+#include <asm/uaccess.h>
-+#include <asm/io.h>
-+#include <asm/irq.h>
-+#include <asm/rtc.h>
-+
-+#include <asm/hardware.h>
-+#include <asm/delay.h>
-+
-+#define EMV3020_VA_RTC                emv3020_rtc_base
-+
-+static struct resource *emv3020_rtc_mem;
-+static void __iomem *emv3020_rtc_base;
-+
-+#define DEBUG 0
-+#if DEBUG
-+static unsigned int rtc_debug = DEBUG;
-+#else
-+#define rtc_debug 0     /* gcc will remove all the debug code for us */
-+#endif
-+
-+static void emv3020_set_reg(unsigned char address, unsigned char data)
-+{
-+      int i;
-+
-+      for ( i = 0; i < 4; i++ )
-+              writel((address << (16-i)), EMV3020_VA_RTC);
-+
-+      if ( address < 0xe)
-+              for ( i = 0; i < 8; i++)
-+                      writel((data << (16-i)), EMV3020_VA_RTC);
-+}
-+
-+static unsigned char emv3020_get_reg(unsigned char address)
-+{
-+      unsigned int data=0;
-+      int i, tmp;
-+
-+      for ( i = 0; i < 4; i++ )
-+              writel((address << (16-i)), EMV3020_VA_RTC);
-+
-+      for ( i = 0; i < 8; i++ ) {
-+              tmp = readl(EMV3020_VA_RTC);
-+              data |= ((tmp & 0x10000) >> (16 - i));
-+      }
-+
-+      return data;
-+}
-+
-+static int emv3020_detect(struct device *dev) 
-+{
-+      int i;
-+      int temp;
-+
-+      for ( i=0; i<8; i++)
-+              temp = readl(EMV3020_VA_RTC);
-+
-+      emv3020_set_reg(0x2, 0x33);
-+
-+      if ( emv3020_get_reg(0x2) == 0x33 ) {
-+              emv3020_set_reg(0x0, 0x0);      
-+              return 0;
-+      }
-+
-+      return -ENODEV;
-+}
-+ 
-+static int emv3020_rtc_gettime(struct rtc_time *dt)
-+{
-+      int ret=0;
-+
-+      emv3020_set_reg(0x0F, 0);
-+
-+      dt->tm_sec  = emv3020_get_reg(0x02);
-+      dt->tm_min  = emv3020_get_reg(0x03);
-+      dt->tm_hour = emv3020_get_reg(0x04);
-+      dt->tm_mday = emv3020_get_reg(0x05);
-+      dt->tm_mon  = emv3020_get_reg(0x06);
-+      dt->tm_wday = emv3020_get_reg(0x08);
-+      dt->tm_year = emv3020_get_reg(0x07);
-+
-+      BCD_TO_BIN(dt->tm_sec);
-+      BCD_TO_BIN(dt->tm_min);
-+      BCD_TO_BIN(dt->tm_hour);
-+      BCD_TO_BIN(dt->tm_mday);
-+      BCD_TO_BIN(dt->tm_mon);
-+      BCD_TO_BIN(dt->tm_wday);
-+      BCD_TO_BIN(dt->tm_year);
-+      dt->tm_year += 100;
-+
-+      if(rtc_debug)printk("\n%s : Read RTC values\n",__FUNCTION__);
-+      if(rtc_debug)printk("tm_hour: %i\n",dt->tm_hour);
-+      if(rtc_debug)printk("tm_min : %i\n",dt->tm_min);
-+      if(rtc_debug)printk("tm_sec : %i\n",dt->tm_sec);
-+      if(rtc_debug)printk("tm_year: %i\n",dt->tm_year);
-+      if(rtc_debug)printk("tm_mon : %i\n",dt->tm_mon);
-+      if(rtc_debug)printk("tm_mday: %i\n",dt->tm_mday);
-+      if(rtc_debug)printk("tm_wday: %i\n",dt->tm_wday);
-+
-+      return ret;
-+}
-+
-+static int emv3020_rtc_settime(struct rtc_time *dt)
-+{
-+      if(rtc_debug)printk("\n%s : Setting RTC values\n",__FUNCTION__);
-+      if(rtc_debug)printk("tm_sec : %i\n",dt->tm_sec);
-+      if(rtc_debug)printk("tm_min : %i\n",dt->tm_min);
-+      if(rtc_debug)printk("tm_hour: %i\n",dt->tm_hour);
-+      if(rtc_debug)printk("tm_mday: %i\n",dt->tm_mday);
-+      if(rtc_debug)printk("tm_wday: %i\n",dt->tm_wday);
-+      if(rtc_debug)printk("tm_year: %i\n",dt->tm_year);
-+
-+      dt->tm_year %= 100;
-+      BIN_TO_BCD(dt->tm_sec);
-+      BIN_TO_BCD(dt->tm_min);
-+      BIN_TO_BCD(dt->tm_hour);
-+      BIN_TO_BCD(dt->tm_mday);
-+      BIN_TO_BCD(dt->tm_mon);
-+      BIN_TO_BCD(dt->tm_wday);
-+      BIN_TO_BCD(dt->tm_year);
-+
-+      emv3020_set_reg(0x02, dt->tm_sec);
-+      emv3020_set_reg(0x03, dt->tm_min);
-+      emv3020_set_reg(0x04, dt->tm_hour);
-+      emv3020_set_reg(0x05, dt->tm_mday);
-+      emv3020_set_reg(0x06, dt->tm_mon);
-+      emv3020_set_reg(0x08, dt->tm_wday);
-+      emv3020_set_reg(0x07, dt->tm_year);
-+
-+      emv3020_set_reg(0x0E, 0);
-+
-+      return 0;
-+}
-+
-+static int emv3020_rtc_open(void)
-+{
-+      return 0;
-+}
-+
-+static void emv3020_rtc_release(void)
-+{
-+}
-+
-+static int emv3020_rtc_ioctl(unsigned int cmd, unsigned long arg)
-+{
-+      struct rtc_time wtime;
-+      int status = 0;
-+
-+      switch (cmd) {
-+              default:
-+              case RTC_UIE_ON:
-+              case RTC_UIE_OFF:
-+              case RTC_PIE_ON:
-+              case RTC_PIE_OFF:
-+              case RTC_AIE_ON:
-+              case RTC_AIE_OFF:
-+              case RTC_ALM_SET: 
-+              case RTC_ALM_READ:
-+              case RTC_IRQP_READ:
-+              case RTC_IRQP_SET:
-+              case RTC_EPOCH_READ:
-+              case RTC_EPOCH_SET:
-+              case RTC_WKALM_SET:
-+              case RTC_WKALM_RD:
-+                      status = -EINVAL;
-+                      break;
-+
-+              case RTC_RD_TIME:
-+                      emv3020_rtc_gettime(&wtime);
-+                      if( copy_to_user((void *)arg, &wtime,
-+                                       sizeof (struct rtc_time)))
-+                              status = -EFAULT;
-+                      break;
-+
-+              case RTC_SET_TIME:
-+                      if (!capable(CAP_SYS_TIME)) {
-+                              status = -EACCES;
-+                              break;
-+                      }
-+
-+                      if (copy_from_user(&wtime, (struct rtc_time *)arg,
-+                                         sizeof(struct rtc_time)) ) {
-+                              status = -EFAULT;
-+                              break;
-+                      }
-+
-+                      emv3020_rtc_settime(&wtime);
-+                      break;
-+      }
-+
-+      return status;
-+}
-+
-+static char *emv3020_mon2str(unsigned int mon)
-+{
-+        char *mon2str[12] = {
-+          "Jan", "Feb", "Mar", "Apr", "May", "Jun",
-+          "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
-+        };
-+        if( mon > 11) return "error";
-+        else return mon2str[ mon];
-+}
-+
-+static int emv3020_rtc_proc( char *buf)
-+{
-+      char *p = buf;
-+      struct rtc_time dt;
-+
-+      emv3020_rtc_gettime(&dt);
-+
-+      p += sprintf(p, "\nEMV3020 (Real Time Clock)\n");
-+      p += sprintf(p, "Date/Time           : %02d-%s-%04d %02d:%02d:%02d\n",
-+                   dt.tm_mday,
-+                   emv3020_mon2str(dt.tm_mon),
-+                   dt.tm_year+1900,
-+                   dt.tm_hour,
-+                   dt.tm_min,
-+                   dt.tm_sec);
-+      return  p - buf;
-+}
-+
-+static struct rtc_ops emv3020_rtcops = {
-+      .owner          = THIS_MODULE,
-+      .open           = emv3020_rtc_open,
-+      .release        = emv3020_rtc_release,
-+      .ioctl          = emv3020_rtc_ioctl,
-+      .read_time      = emv3020_rtc_gettime,
-+      .set_time       = emv3020_rtc_settime,
-+      .read_alarm     = 0,
-+      .set_alarm      = 0,
-+      .proc           = emv3020_rtc_proc,
-+};
-+
-+static int emv3020_rtc_remove(struct device *dev)
-+{
-+      unregister_rtc(&emv3020_rtcops);
-+
-+      if (emv3020_rtc_mem != NULL) {
-+              pr_debug("emv3020_rtc: releasing emv3020_rtc_mem\n");
-+              iounmap(emv3020_rtc_base);
-+              release_resource(emv3020_rtc_mem);
-+      }
-+
-+      return 0;
-+}
-+
-+static int emv3020_rtc_probe(struct device *dev)
-+{
-+      struct platform_device *pdev = to_platform_device(dev);
-+      struct resource *res;
-+      int ret;
-+
-+      pr_debug("%s: probe=%p, device=%p\n", __FUNCTION__, pdev, dev);
-+
-+      /* get the memory region */
-+      res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-+      if (res == NULL) {
-+              dev_err(dev, "failed to get memory region resource\n");
-+              return -ENOENT;
-+      }
-+
-+      emv3020_rtc_mem = request_mem_region(res->start, 
-+                                           res->end - res->start + 1,
-+                                           pdev->name);
-+
-+      if (emv3020_rtc_mem == NULL) {
-+              dev_err(dev, "failed to reserve memory region\n");
-+              ret = -ENOENT;
-+              goto exit_err;
-+      }
-+
-+      emv3020_rtc_base = ioremap(res->start, res->end - res->start + 1);
-+      if (emv3020_rtc_base == NULL) {
-+              dev_err(dev, "failed ioremap()\n");
-+              ret = -EINVAL;
-+              goto exit_err;
-+      }
-+
-+      emv3020_rtc_mem = res;
-+      pr_debug("emv3020_rtc_base=%p\n", emv3020_rtc_base);
-+
-+      /* check to see if everything is setup correctly */
-+      if ( (ret = emv3020_detect(dev)) != 0 ) {
-+              iounmap(emv3020_rtc_base);
-+              release_resource(emv3020_rtc_mem);
-+              goto exit_err;
-+      }
-+
-+      /* register RTC and exit */
-+      register_rtc(&emv3020_rtcops);
-+
-+      return 0;
-+
-+ exit_err:
-+      dev_err(dev, "error %d during initialisation\n", ret);
-+
-+      return ret;
-+}
-+
-+#ifdef CONFIG_PM
-+/* EMV3020 RTC Power management control */
-+static int emv3020_rtc_suspend(struct device *dev, pm_message_t state)
-+{
-+      return 0;
-+}
-+
-+static int emv3020_rtc_resume(struct device *dev)
-+{
-+      return 0;
-+}
-+#else
-+#define emv3020_rtc_suspend NULL
-+#define emv3020_rtc_resume  NULL
-+#endif
-+
-+static struct device_driver emv3020_rtcdrv = {
-+      .name           = "emv3020-rtc",
-+      .bus            = &platform_bus_type,
-+      .probe          = emv3020_rtc_probe,
-+      .remove         = emv3020_rtc_remove,
-+      .suspend        = emv3020_rtc_suspend,
-+      .resume         = emv3020_rtc_resume,
-+};
-+
-+static __init int emv3020_init(void)
-+{
-+      return driver_register(&emv3020_rtcdrv);
-+}
-+
-+static __exit void emv3020_exit(void)
-+{
-+      driver_unregister(&emv3020_rtcdrv);
-+}
-+
-+module_init(emv3020_init);
-+module_exit(emv3020_exit);
-+
-+
-+MODULE_AUTHOR ("Compulab Ltd.");
-+MODULE_LICENSE ("GPL");
-diff --git a/drivers/ide/Kconfig b/drivers/ide/Kconfig
-index d633081..5e7f6ee 100644
---- a/drivers/ide/Kconfig
-+++ b/drivers/ide/Kconfig
-@@ -850,6 +850,13 @@ config BLK_DEV_IDE_BAST
-         Say Y here if you want to support the onboard IDE channels on the
-         Simtec BAST or the Thorcom VR1000
-+config BLK_DEV_IDE_CM_X270
-+      tristate "CompuLab CM-X270 IDE support"
-+      depends on ARM && (MACH_ARMCORE)
-+      help
-+        Say Y here if you want to support the onboard IDE channels on the
-+        CompuLab CM-X270 module
-+
- config BLK_DEV_GAYLE
-       bool "Amiga Gayle IDE interface support"
-       depends on AMIGA
-diff --git a/drivers/ide/arm/Makefile b/drivers/ide/arm/Makefile
-index 6a78f07..e5cadb7 100644
---- a/drivers/ide/arm/Makefile
-+++ b/drivers/ide/arm/Makefile
-@@ -2,5 +2,6 @@
- obj-$(CONFIG_BLK_DEV_IDE_ICSIDE)      += icside.o
- obj-$(CONFIG_BLK_DEV_IDE_RAPIDE)      += rapide.o
- obj-$(CONFIG_BLK_DEV_IDE_BAST)                += bast-ide.o
-+obj-$(CONFIG_BLK_DEV_IDE_CM_X270)     += cm-x270-ide.o
- EXTRA_CFLAGS  := -Idrivers/ide
-diff --git a/drivers/ide/arm/cm-x270-ide.c b/drivers/ide/arm/cm-x270-ide.c
-new file mode 100644
-index 0000000..ba0904c
---- /dev/null
-+++ b/drivers/ide/arm/cm-x270-ide.c
-@@ -0,0 +1,113 @@
-+/* linux/drivers/ide/arm/bast-ide.c
-+ *
-+ * Copyright (c) 2003-2004 Simtec Electronics
-+ *  Ben Dooks <ben@simtec.co.uk>
-+ *
-+ * 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/module.h>
-+#include <linux/errno.h>
-+#include <linux/ide.h>
-+#include <linux/init.h>
-+
-+#include <asm/mach-types.h>
-+
-+#include <asm/io.h>
-+#include <asm/irq.h>
-+#include <asm/arch/pxa-regs.h>
-+#include <asm/arch/cm-x270.h>
-+
-+/* list of registered interfaces */
-+static ide_hwif_t *ifs[1];
-+
-+static int __init
-+cmx270_register(unsigned int base, unsigned int aux, int irq,
-+               ide_hwif_t **hwif)
-+{
-+      hw_regs_t hw;
-+
-+      memset(&hw, 0, sizeof(hw));
-+
-+      if(!base || !aux) return -EINVAL;
-+
-+      printk(KERN_DEBUG "%s: base = %08x, aux = %08x\n", __FUNCTION__,
-+             base, aux);
-+
-+      // Different mappings for local bus IDE and PCMCIA IDE
-+      if(base == CMX270_IDECS0_VIRT) {
-+#ifdef CONFIG_ARMCORE_SB270
-+              hw.io_ports[IDE_DATA_OFFSET] =  base + 0;
-+              hw.io_ports[IDE_ERROR_OFFSET] =         base + (0x1<<3);
-+              hw.io_ports[IDE_NSECTOR_OFFSET]=        base + (0x2<<3);
-+              hw.io_ports[IDE_SECTOR_OFFSET]=         base + (0x3<<3);
-+              hw.io_ports[IDE_LCYL_OFFSET]=           base + (0x4<<3);
-+              hw.io_ports[IDE_HCYL_OFFSET]=           base + (0x5<<3);
-+              hw.io_ports[IDE_SELECT_OFFSET]=         base + (0x6<<3);
-+              hw.io_ports[IDE_STATUS_OFFSET]=         base + (0x7<<3);
-+
-+              hw.io_ports[IDE_CONTROL_OFFSET] =       aux+(0x6<<3);
-+#else
-+              hw.io_ports[IDE_DATA_OFFSET] =  base + 0; 
-+              hw.io_ports[IDE_ERROR_OFFSET] =         base + 8; 
-+              hw.io_ports[IDE_NSECTOR_OFFSET]=        base + 2; 
-+              hw.io_ports[IDE_SECTOR_OFFSET]=         base + 10; 
-+              hw.io_ports[IDE_LCYL_OFFSET]=           base + 4; 
-+              hw.io_ports[IDE_HCYL_OFFSET]=           base + 12; 
-+              hw.io_ports[IDE_SELECT_OFFSET]=         base + 6; //6; 
-+              hw.io_ports[IDE_STATUS_OFFSET]=         base + 14; 
-+
-+              hw.io_ports[IDE_CONTROL_OFFSET] =       (aux+0x6);
-+#endif
-+      } else {
-+              printk(KERN_DEBUG "%s: registering wrong IDE i/f\n", __FUNCTION__);
-+              hw.io_ports[IDE_DATA_OFFSET] =          base + 8;
-+              hw.io_ports[IDE_ERROR_OFFSET] =         base + 13;
-+              hw.io_ports[IDE_NSECTOR_OFFSET] =       base + 2;
-+              hw.io_ports[IDE_SECTOR_OFFSET] =        base + 3;
-+              hw.io_ports[IDE_LCYL_OFFSET] =  base + 4;
-+              hw.io_ports[IDE_HCYL_OFFSET] =  base + 5;
-+              hw.io_ports[IDE_SELECT_OFFSET] =        base + 6;
-+              hw.io_ports[IDE_STATUS_OFFSET] =        base + 7;
-+      
-+              hw.io_ports[IDE_CONTROL_OFFSET] = aux;
-+      } 
-+
-+      hw.irq = irq;
-+
-+      ide_register_hw(&hw, hwif);
-+
-+      return 0;
-+}
-+
-+static int __init cmx270_init(void)
-+{
-+      if (!(machine_is_armcore()))
-+              return 0;
-+
-+      printk("CM-X270: IDE driver, (c) 2003-2006 CompuLab Ltd\n");
-+
-+      MSC1 = 0x7ffc7ff4;
-+
-+      /* Interrupts on rising edge: lines are inverted before they get to
-+           the PXA */
-+      pxa_gpio_mode(IRQ_TO_GPIO(CMX270_IDE_IRQ));
-+
-+#ifdef CONFIG_ARMCORE_SB270
-+      set_irq_type(CMX270_IDE_IRQ, IRQT_RISING);
-+#else
-+      set_irq_type(CMX270_IDE_IRQ, IRQT_FALLING);
-+#endif
-+
-+      return cmx270_register(CMX270_IDECS0_VIRT, CMX270_IDECS1_VIRT, CMX270_IDE_IRQ, &ifs[0]);
-+      return 0;
-+}
-+
-+module_init(cmx270_init);
-+
-+MODULE_AUTHOR("CompuLab");
-+MODULE_LICENSE("GPL");
-+MODULE_DESCRIPTION("CompuLab CM-X270 IDE driver");
-diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
-index 550f297..ed5bb70 100644
---- a/drivers/mfd/Kconfig
-+++ b/drivers/mfd/Kconfig
-@@ -23,3 +23,13 @@ config MCP_UCB1200_TS
-       depends on MCP_UCB1200 && INPUT
- endmenu
-+
-+config UCB1400
-+      tristate
-+
-+config UCB1400_TS
-+      tristate "UCB1400 Touchscreen support"
-+      depends on ARCH_LUBBOCK || MACH_MAINSTONE || MACH_ARMCORE
-+      select UCB1400
-+      select SND_AC97_BUS
-+
-diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
-index adb29b5..24429d1 100644
---- a/drivers/mfd/Makefile
-+++ b/drivers/mfd/Makefile
-@@ -10,3 +10,10 @@ obj-$(CONFIG_MCP_UCB1200_TS)        += ucb1x00-
- ifeq ($(CONFIG_SA1100_ASSABET),y)
- obj-$(CONFIG_MCP_UCB1200)     += ucb1x00-assabet.o
- endif
-+
-+ucb1400-core-y                        := ucb1x00-core.o mcp-ac97.o
-+obj-$(CONFIG_UCB1400_TS)      += ucb1400-core.o ucb1x00-ts.o
-+
-+ucb1400-core-$(CONFIG_UCB1400)        := ucb1x00-core.o mcp-ac97.o
-+obj-$(CONFIG_UCB1400_TS)      += ucb1400-core.o ucb1x00-ts.o
-+
-diff --git a/drivers/mfd/mcp-ac97.c b/drivers/mfd/mcp-ac97.c
-new file mode 100644
-index 0000000..223f8c2
---- /dev/null
-+++ b/drivers/mfd/mcp-ac97.c
-@@ -0,0 +1,151 @@
-+/*
-+ * linux/drivers/misc/mcp-ac97.c
-+ *
-+ * Author:    Nicolas Pitre
-+ * Created:   Jan 14, 2005
-+ * Copyright: (C) MontaVista Software Inc.
-+ *
-+ * 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.
-+ *
-+ * This module provides the minimum replacement for mcp-core.c allowing for
-+ * the UCB1400 chip to be driven by the ucb1x00 driver over an AC97 link.
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/init.h>
-+#include <linux/errno.h>
-+#include <linux/device.h>
-+
-+#include <sound/driver.h>
-+#include <sound/core.h>
-+#include <sound/ac97_codec.h>
-+
-+#include "mcp.h"
-+
-+/* ucb1x00 SIB register to ucb1400 AC-link register mapping */
-+
-+static const unsigned char regmap[] = {
-+      0x5a,   /* UCB_IO_DATA */
-+      0X5C,   /* UCB_IO_DIR */
-+      0X5E,   /* UCB_IE_RIS */
-+      0x60,   /* UCB_IE_FAL */
-+      0x62,   /* UCB_IE_STATUS */
-+      0,      /* UCB_TC_A */
-+      0,      /* UCB_TC_B */
-+      0,      /* UCB_AC_A */
-+      0,      /* UCB_AC_B */
-+      0x64,   /* UCB_TS_CR */
-+      0x66,   /* UCB_ADC_CR */
-+      0x68,   /* UCB_ADC_DATA */
-+      0x7e,   /* UCB_ID */
-+      0,      /* UCB_MODE */
-+};
-+
-+unsigned int mcp_reg_read(struct mcp *mcp, unsigned int reg)
-+{
-+      ac97_t *ac97 = to_ac97_t(mcp->dev);
-+      if (reg < ARRAY_SIZE(regmap)) {
-+              reg = regmap[reg];
-+              if (reg)
-+                      return ac97->bus->ops->read(ac97, reg);
-+      }
-+      return -1;
-+}
-+EXPORT_SYMBOL(mcp_reg_read);
-+
-+void mcp_reg_write(struct mcp *mcp, unsigned int reg, unsigned int val)
-+{
-+      ac97_t *ac97 = to_ac97_t(mcp->dev);
-+      if (reg < ARRAY_SIZE(regmap)) {
-+              reg = regmap[reg];
-+              if (reg)
-+                      ac97->bus->ops->write(ac97, reg, val);
-+      }
-+}
-+EXPORT_SYMBOL(mcp_reg_write);
-+
-+void mcp_enable(struct mcp *mcp)
-+{
-+}
-+EXPORT_SYMBOL(mcp_enable);
-+
-+void mcp_disable(struct mcp *mcp)
-+{
-+}
-+EXPORT_SYMBOL(mcp_disable);
-+
-+#define to_mcp_driver(d)      container_of(d, struct mcp_driver, drv)
-+
-+static int mcp_probe(struct device *dev)
-+{
-+      struct mcp_driver *drv = to_mcp_driver(dev->driver);
-+      struct mcp *mcp;
-+      int ret;
-+
-+      ret = -ENOMEM;
-+      mcp = kmalloc(sizeof(*mcp), GFP_KERNEL);
-+      if (mcp) {
-+              memset(mcp, 0, sizeof(*mcp));
-+              mcp->owner = THIS_MODULE;
-+              mcp->dev = dev;
-+              ret = drv->probe(mcp);
-+              if (ret)
-+                      kfree(mcp);
-+      }
-+      if (!ret)
-+              dev_set_drvdata(dev, mcp);
-+      return ret;
-+}
-+
-+static int mcp_remove(struct device *dev)
-+{
-+      struct mcp_driver *drv = to_mcp_driver(dev->driver);
-+      struct mcp *mcp = dev_get_drvdata(dev);
-+
-+      drv->remove(mcp);
-+      dev_set_drvdata(dev, NULL);
-+      kfree(mcp);
-+      return 0;
-+}
-+
-+static int mcp_suspend(struct device *dev, pm_message_t state)
-+{
-+      struct mcp_driver *drv = to_mcp_driver(dev->driver);
-+      struct mcp *mcp = dev_get_drvdata(dev);
-+      int ret = 0;
-+
-+      if (drv->suspend)
-+              ret = drv->suspend(mcp, state);
-+      return ret;
-+}
-+
-+static int mcp_resume(struct device *dev)
-+{
-+      struct mcp_driver *drv = to_mcp_driver(dev->driver);
-+      struct mcp *mcp = dev_get_drvdata(dev);
-+      int ret = 0;
-+
-+      if (drv->resume)
-+              ret = drv->resume(mcp);
-+      return ret;
-+}
-+
-+int mcp_driver_register(struct mcp_driver *mcpdrv)
-+{
-+      mcpdrv->drv.owner = THIS_MODULE;
-+      mcpdrv->drv.bus = &ac97_bus_type;
-+      mcpdrv->drv.probe = mcp_probe;
-+      mcpdrv->drv.remove = mcp_remove;
-+      mcpdrv->drv.suspend = mcp_suspend;
-+      mcpdrv->drv.resume = mcp_resume;
-+      return driver_register(&mcpdrv->drv);
-+}
-+
-+void mcp_driver_unregister(struct mcp_driver *mcpdrv)
-+{
-+      driver_unregister(&mcpdrv->drv);
-+}
-+
-+MODULE_LICENSE("GPL");
-diff --git a/drivers/mfd/mcp-core.c b/drivers/mfd/mcp-core.c
-index 75f401d..2a7c176 100644
---- a/drivers/mfd/mcp-core.c
-+++ b/drivers/mfd/mcp-core.c
-@@ -208,6 +208,7 @@ struct mcp *mcp_host_alloc(struct device
-               mcp->attached_device.bus = &mcp_bus_type;
-               mcp->attached_device.dma_mask = parent->dma_mask;
-               mcp->attached_device.release = mcp_release;
-+              mcp->dev = &mcp->attached_device;
-       }
-       return mcp;
- }
-diff --git a/drivers/mfd/mcp.h b/drivers/mfd/mcp.h
-index c093a93..2897d8c 100644
---- a/drivers/mfd/mcp.h
-+++ b/drivers/mfd/mcp.h
-@@ -19,11 +19,12 @@ struct mcp {
-       int             use_count;
-       unsigned int    sclk_rate;
-       unsigned int    rw_timeout;
--      dma_device_t    dma_audio_rd;
--      dma_device_t    dma_audio_wr;
--      dma_device_t    dma_telco_rd;
--      dma_device_t    dma_telco_wr;
-+/*    dma_device_t    dma_audio_rd; */
-+/*    dma_device_t    dma_audio_wr; */
-+/*    dma_device_t    dma_telco_rd; */
-+/*    dma_device_t    dma_telco_wr; */
-       struct device   attached_device;
-+      struct device   *dev;
- };
- struct mcp_ops {
-diff --git a/drivers/mfd/ucb1x00-core.c b/drivers/mfd/ucb1x00-core.c
-index aff83f9..f9a532b 100644
---- a/drivers/mfd/ucb1x00-core.c
-+++ b/drivers/mfd/ucb1x00-core.c
-@@ -23,6 +23,7 @@ #include <linux/slab.h>
- #include <linux/init.h>
- #include <linux/errno.h>
- #include <linux/interrupt.h>
-+#include <linux/kthread.h>
- #include <linux/device.h>
- #include <linux/mutex.h>
-@@ -31,6 +32,12 @@ #include <asm/hardware.h>
- #include "ucb1x00.h"
-+#if defined(CONFIG_UCB1400) || defined(CONFIG_UCB1400_MODULE)
-+#define UCB_IS_1400(id)  ((id) == UCB_ID_1400)
-+#else
-+#define UCB_IS_1400(id)  (0)
-+#endif
-+
- static DEFINE_MUTEX(ucb1x00_mutex);
- static LIST_HEAD(ucb1x00_drivers);
- static LIST_HEAD(ucb1x00_devices);
-@@ -58,9 +65,9 @@ void ucb1x00_io_set_dir(struct ucb1x00 *
-       spin_lock_irqsave(&ucb->io_lock, flags);
-       ucb->io_dir |= out;
-       ucb->io_dir &= ~in;
-+      spin_unlock_irqrestore(&ucb->io_lock, flags);
-       ucb1x00_reg_write(ucb, UCB_IO_DIR, ucb->io_dir);
--      spin_unlock_irqrestore(&ucb->io_lock, flags);
- }
- /**
-@@ -86,9 +93,9 @@ void ucb1x00_io_write(struct ucb1x00 *uc
-       spin_lock_irqsave(&ucb->io_lock, flags);
-       ucb->io_out |= set;
-       ucb->io_out &= ~clear;
-+      spin_unlock_irqrestore(&ucb->io_lock, flags);
-       ucb1x00_reg_write(ucb, UCB_IO_DATA, ucb->io_out);
--      spin_unlock_irqrestore(&ucb->io_lock, flags);
- }
- /**
-@@ -178,7 +185,7 @@ unsigned int ucb1x00_adc_read(struct ucb
-               schedule_timeout(1);
-       }
--      return UCB_ADC_DAT(val);
-+      return UCB_IS_1400(ucb->id) ? (val & 0x3ff) : ((val & 0x7fe0) >> 5);
- }
- /**
-@@ -223,6 +230,47 @@ static irqreturn_t ucb1x00_irq(int irqnr
-       return IRQ_HANDLED;
- }
-+/*
-+ * A restriction with interrupts exists when using the ucb1400, as
-+ * the codec read/write routines may sleep while waiting for codec
-+ * access completion and uses semaphores for access control to the
-+ * AC97 bus.  A complete codec read cycle could take  anywhere from
-+ * 60 to 100uSec so we *definitely* don't want to spin inside the
-+ * interrupt handler waiting for codec access.  So, we handle the
-+ * interrupt by scheduling a RT kernel thread to run in process
-+ * context instead of interrupt context.
-+ */
-+static int ucb1x00_thread(void *_ucb)
-+{
-+      struct task_struct *tsk = current;
-+      struct ucb1x00 *ucb = _ucb;
-+
-+      tsk->policy = SCHED_FIFO;
-+      tsk->rt_priority = 1;
-+      
-+      while (!kthread_should_stop()) {
-+              wait_for_completion_interruptible(&ucb->irq_wait);
-+              if (try_to_freeze())
-+                      continue;
-+              ucb1x00_irq(ucb->irq, ucb, NULL);
-+              enable_irq(ucb->irq);
-+      }
-+
-+      ucb->irq_task = NULL;
-+      return 0;
-+}
-+
-+static irqreturn_t ucb1x00_threaded_irq(int irqnr, void *devid, struct pt_regs *regs)
-+{
-+      struct ucb1x00 *ucb = devid;
-+      if (irqnr == ucb->irq) {
-+              disable_irq(ucb->irq);
-+              complete(&ucb->irq_wait);
-+              return IRQ_HANDLED;
-+      }
-+      return IRQ_NONE;
-+}
-+
- /**
-  *    ucb1x00_hook_irq - hook a UCB1x00 interrupt
-  *    @ucb:   UCB1x00 structure describing chip
-@@ -276,18 +324,22 @@ void ucb1x00_enable_irq(struct ucb1x00 *
-       if (idx < 16) {
-               spin_lock_irqsave(&ucb->lock, flags);
--
--              ucb1x00_enable(ucb);
--              if (edges & UCB_RISING) {
-+              if (edges & UCB_RISING)
-                       ucb->irq_ris_enbl |= 1 << idx;
--                      ucb1x00_reg_write(ucb, UCB_IE_RIS, ucb->irq_ris_enbl);
--              }
--              if (edges & UCB_FALLING) {
-+              if (edges & UCB_FALLING)
-                       ucb->irq_fal_enbl |= 1 << idx;
--                      ucb1x00_reg_write(ucb, UCB_IE_FAL, ucb->irq_fal_enbl);
--              }
--              ucb1x00_disable(ucb);
-               spin_unlock_irqrestore(&ucb->lock, flags);
-+
-+              ucb1x00_enable(ucb);
-+
-+              /* This prevents spurious interrupts on the UCB1400 */
-+              ucb1x00_reg_write(ucb, UCB_IE_CLEAR, 1 << idx);
-+              ucb1x00_reg_write(ucb, UCB_IE_CLEAR, 0);
-+
-+              ucb1x00_reg_write(ucb, UCB_IE_RIS, ucb->irq_ris_enbl);
-+              ucb1x00_reg_write(ucb, UCB_IE_FAL, ucb->irq_fal_enbl);
-+
-+              ucb1x00_disable(ucb);
-       }
- }
-@@ -305,18 +357,16 @@ void ucb1x00_disable_irq(struct ucb1x00 
-       if (idx < 16) {
-               spin_lock_irqsave(&ucb->lock, flags);
--
--              ucb1x00_enable(ucb);
--              if (edges & UCB_RISING) {
-+              if (edges & UCB_RISING)
-                       ucb->irq_ris_enbl &= ~(1 << idx);
--                      ucb1x00_reg_write(ucb, UCB_IE_RIS, ucb->irq_ris_enbl);
--              }
--              if (edges & UCB_FALLING) {
-+              if (edges & UCB_FALLING)
-                       ucb->irq_fal_enbl &= ~(1 << idx);
--                      ucb1x00_reg_write(ucb, UCB_IE_FAL, ucb->irq_fal_enbl);
--              }
--              ucb1x00_disable(ucb);
-               spin_unlock_irqrestore(&ucb->lock, flags);
-+
-+              ucb1x00_enable(ucb);
-+              ucb1x00_reg_write(ucb, UCB_IE_RIS, ucb->irq_ris_enbl);
-+              ucb1x00_reg_write(ucb, UCB_IE_FAL, ucb->irq_fal_enbl);
-+              ucb1x00_disable(ucb);
-       }
- }
-@@ -349,16 +399,17 @@ int ucb1x00_free_irq(struct ucb1x00 *ucb
-               ucb->irq_ris_enbl &= ~(1 << idx);
-               ucb->irq_fal_enbl &= ~(1 << idx);
--              ucb1x00_enable(ucb);
--              ucb1x00_reg_write(ucb, UCB_IE_RIS, ucb->irq_ris_enbl);
--              ucb1x00_reg_write(ucb, UCB_IE_FAL, ucb->irq_fal_enbl);
--              ucb1x00_disable(ucb);
--
-               irq->fn = NULL;
-               irq->devid = NULL;
-               ret = 0;
-       }
-       spin_unlock_irq(&ucb->lock);
-+
-+      ucb1x00_enable(ucb);
-+      ucb1x00_reg_write(ucb, UCB_IE_RIS, ucb->irq_ris_enbl);
-+      ucb1x00_reg_write(ucb, UCB_IE_FAL, ucb->irq_fal_enbl);
-+      ucb1x00_disable(ucb);
-+
-       return ret;
- bad:
-@@ -478,7 +529,7 @@ static int ucb1x00_probe(struct mcp *mcp
-       mcp_enable(mcp);
-       id = mcp_reg_read(mcp, UCB_ID);
--      if (id != UCB_ID_1200 && id != UCB_ID_1300) {
-+      if (id != UCB_ID_1200 && id != UCB_ID_1300 && !UCB_IS_1400(id)) {
-               printk(KERN_WARNING "UCB1x00 ID not found: %04x\n", id);
-               goto err_disable;
-       }
-@@ -491,12 +542,13 @@ static int ucb1x00_probe(struct mcp *mcp
-       memset(ucb, 0, sizeof(struct ucb1x00));
-       ucb->cdev.class = &ucb1x00_class;
--      ucb->cdev.dev = &mcp->attached_device;
-+      ucb->cdev.dev = mcp->dev;
-       strlcpy(ucb->cdev.class_id, "ucb1x00", sizeof(ucb->cdev.class_id));
-       spin_lock_init(&ucb->lock);
-       spin_lock_init(&ucb->io_lock);
-       sema_init(&ucb->adc_sem, 1);
-+      init_completion(&ucb->irq_wait);
-       ucb->id  = id;
-       ucb->mcp = mcp;
-@@ -507,13 +559,22 @@ static int ucb1x00_probe(struct mcp *mcp
-               goto err_free;
-       }
--      ret = request_irq(ucb->irq, ucb1x00_irq, SA_TRIGGER_RISING,
--                        "UCB1x00", ucb);
-+      ret = request_irq(ucb->irq,
-+                        UCB_IS_1400(id) ? ucb1x00_threaded_irq : ucb1x00_irq,
-+                        SA_TRIGGER_RISING, "UCB1x00", ucb);
-       if (ret) {
-               printk(KERN_ERR "ucb1x00: unable to grab irq%d: %d\n",
-                       ucb->irq, ret);
-               goto err_free;
-       }
-+      if (UCB_IS_1400(id)) {
-+              ucb->irq_task = kthread_run(ucb1x00_thread, ucb, "kUCB1x00d");
-+              if (IS_ERR(ucb->irq_task)) {
-+                      ret = PTR_ERR(ucb->irq_task);
-+                      ucb->irq_task = NULL;
-+                      goto err_irq;
-+              }
-+      }
-       mcp_set_drvdata(mcp, ucb);
-@@ -531,6 +592,8 @@ static int ucb1x00_probe(struct mcp *mcp
-       goto out;
-  err_irq:
-+      if (UCB_IS_1400(id) && ucb->irq_task)
-+              kthread_stop(ucb->irq_task);
-       free_irq(ucb->irq, ucb);
-  err_free:
-       kfree(ucb);
-@@ -553,6 +616,10 @@ static void ucb1x00_remove(struct mcp *m
-       }
-       mutex_unlock(&ucb1x00_mutex);
-+      if (UCB_IS_1400(ucb->id) && ucb->irq_task) {
-+              complete(&ucb->irq_wait);
-+              kthread_stop(ucb->irq_task);
-+      }
-       free_irq(ucb->irq, ucb);
-       class_device_unregister(&ucb->cdev);
- }
-diff --git a/drivers/mfd/ucb1x00-ts.c b/drivers/mfd/ucb1x00-ts.c
-index 79fd062..e68132d 100644
---- a/drivers/mfd/ucb1x00-ts.c
-+++ b/drivers/mfd/ucb1x00-ts.c
-@@ -35,7 +35,15 @@ #include <linux/kthread.h>
- #include <asm/dma.h>
- #include <asm/semaphore.h>
-+
-+/* FIXME: proper machine detection should be implemented */
-+#ifdef CONFIG_SA1100_COLLIE
- #include <asm/arch/collie.h>
-+#else
-+#define machine_is_collie() (0)
-+#define COLLIE_TC35143_GPIO_TBL_CHK (0)
-+#endif
-+
- #include <asm/mach-types.h>
- #include "ucb1x00.h"
-@@ -45,7 +53,7 @@ struct ucb1x00_ts {
-       struct input_dev        *idev;
-       struct ucb1x00          *ucb;
--      wait_queue_head_t       irq_wait;
-+      struct completion       irq_wait;
-       struct task_struct      *rtask;
-       u16                     x_res;
-       u16                     y_res;
-@@ -98,7 +106,8 @@ static inline unsigned int ucb1x00_ts_re
-               udelay(55);
-               return ucb1x00_adc_read(ts->ucb, UCB_ADC_INP_AD2, ts->adcsync);
--      } else {
-+      } 
-+      else {
-               ucb1x00_reg_write(ts->ucb, UCB_TS_CR,
-                                 UCB_TS_CR_TSMX_POW | UCB_TS_CR_TSPX_POW |
-                                 UCB_TS_CR_TSMY_GND | UCB_TS_CR_TSPY_GND |
-@@ -205,7 +214,6 @@ static int ucb1x00_thread(void *_ts)
- {
-       struct ucb1x00_ts *ts = _ts;
-       struct task_struct *tsk = current;
--      DECLARE_WAITQUEUE(wait, tsk);
-       int valid;
-       /*
-@@ -217,10 +225,8 @@ static int ucb1x00_thread(void *_ts)
-       valid = 0;
--      add_wait_queue(&ts->irq_wait, &wait);
-       while (!kthread_should_stop()) {
-               unsigned int x, y, p;
--              signed long timeout;
-               ts->restart = 0;
-@@ -242,8 +248,6 @@ static int ucb1x00_thread(void *_ts)
-               if (ucb1x00_ts_pen_down(ts)) {
--                      set_task_state(tsk, TASK_INTERRUPTIBLE);
--
-                       ucb1x00_enable_irq(ts->ucb, UCB_IRQ_TSPX, machine_is_collie() ? UCB_RISING : UCB_FALLING);
-                       ucb1x00_disable(ts->ucb);
-@@ -256,7 +260,15 @@ static int ucb1x00_thread(void *_ts)
-                               valid = 0;
-                       }
--                      timeout = MAX_SCHEDULE_TIMEOUT;
-+                      /*
-+                       * Since ucb1x00_enable_irq() might sleep due
-+                       * to the way the UCB1400 regs are accessed, we
-+                       * can't use set_task_state() before that call,
-+                       * and not changing state before enabling the
-+                       * interrupt is racy. A completion handler avoids
-+                       * the issue.
-+                       */
-+                      wait_for_completion_interruptible(&ts->irq_wait);
-               } else {
-                       ucb1x00_disable(ts->ucb);
-@@ -271,16 +283,12 @@ static int ucb1x00_thread(void *_ts)
-                       }
-                       set_task_state(tsk, TASK_INTERRUPTIBLE);
--                      timeout = HZ / 100;
-+                      schedule_timeout(HZ/100);
-               }
-               try_to_freeze();
--
--              schedule_timeout(timeout);
-       }
--      remove_wait_queue(&ts->irq_wait, &wait);
--
-       ts->rtask = NULL;
-       return 0;
- }
-@@ -293,7 +301,7 @@ static void ucb1x00_ts_irq(int idx, void
- {
-       struct ucb1x00_ts *ts = id;
-       ucb1x00_disable_irq(ts->ucb, UCB_IRQ_TSPX, UCB_FALLING);
--      wake_up(&ts->irq_wait);
-+      complete(&ts->irq_wait);
- }
- static int ucb1x00_ts_open(struct input_dev *idev)
-@@ -303,7 +311,7 @@ static int ucb1x00_ts_open(struct input_
-       BUG_ON(ts->rtask);
--      init_waitqueue_head(&ts->irq_wait);
-+      init_completion(&ts->irq_wait);
-       ret = ucb1x00_hook_irq(ts->ucb, UCB_IRQ_TSPX, ucb1x00_ts_irq, ts);
-       if (ret < 0)
-               goto out;
-@@ -337,8 +345,10 @@ static void ucb1x00_ts_close(struct inpu
- {
-       struct ucb1x00_ts *ts = idev->private;
--      if (ts->rtask)
-+      if (ts->rtask) {
-+              complete(&ts->irq_wait);
-               kthread_stop(ts->rtask);
-+      }
-       ucb1x00_enable(ts->ucb);
-       ucb1x00_free_irq(ts->ucb, UCB_IRQ_TSPX, ts);
-@@ -358,7 +368,7 @@ static int ucb1x00_ts_resume(struct ucb1
-                * after sleep.
-                */
-               ts->restart = 1;
--              wake_up(&ts->irq_wait);
-+              complete(&ts->irq_wait);
-       }
-       return 0;
- }
-diff --git a/drivers/mfd/ucb1x00.h b/drivers/mfd/ucb1x00.h
-index 9c9a647..ff04dc9 100644
---- a/drivers/mfd/ucb1x00.h
-+++ b/drivers/mfd/ucb1x00.h
-@@ -94,6 +94,7 @@ #define UCB_ADC_DAT(x)               (((x) & 0x7fe0) 
- #define UCB_ID                0x0c
- #define UCB_ID_1200           0x1004
- #define UCB_ID_1300           0x1005
-+#define UCB_ID_1400           0x4304
- #define UCB_MODE      0x0d
- #define UCB_MODE_DYN_VFLAG_ENA        (1 << 12)
-@@ -110,6 +111,8 @@ struct ucb1x00 {
-       spinlock_t              lock;
-       struct mcp              *mcp;
-       unsigned int            irq;
-+      struct task_struct      *irq_task;
-+      struct completion       irq_wait;
-       struct semaphore        adc_sem;
-       spinlock_t              io_lock;
-       u16                     id;
-@@ -122,6 +125,7 @@ struct ucb1x00 {
-       struct class_device     cdev;
-       struct list_head        node;
-       struct list_head        devs;
-+
- };
- struct ucb1x00_driver;
-diff --git a/drivers/mtd/nand/cmx270-nand.c b/drivers/mtd/nand/cmx270-nand.c
-new file mode 100644
-index 0000000..fb37d6d
---- /dev/null
-+++ b/drivers/mtd/nand/cmx270-nand.c
-@@ -0,0 +1,291 @@
-+/*
-+ *  drivers/mtd/nand/cmx270-nand.c
-+ *
-+ *  Copyright (C) 2005 Compulab, Ltd. (mike@compulab.co.il)
-+ *
-+ *  Derived from drivers/mtd/nand/h1910.c
-+ *       Copyright (C) 2002 Marius Gröger (mag@sysgo.de)
-+ *       Copyright (c) 2001 Thomas Gleixner (gleixner@autronix.de)
-+ *
-+ *
-+ * 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.
-+ *
-+ *  Overview:
-+ *   This is a device driver for the NAND flash device found on the
-+ *   CM-X270 board.
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/slab.h>
-+#include <linux/init.h>
-+#include <linux/module.h>
-+#include <linux/mtd/mtd.h>
-+#include <linux/mtd/nand.h>
-+#include <linux/mtd/partitions.h>
-+
-+#include <asm/io.h>
-+#include <asm/irq.h>
-+#include <asm/arch/armcore.h>
-+
-+#define NAND_CS_ON            (GPCR0 = (1<<11))
-+#define NAND_CS_OFF           (GPSR0 = (1<<11))
-+#define NAND_RB                       (GPLR2 & (1<<25))
-+
-+/*
-+ * MTD structure for CM-X270 board
-+ */
-+static struct mtd_info *cmx270_nand_mtd = NULL;
-+
-+/*
-+ * Module stuff
-+ */
-+
-+#ifdef CONFIG_MTD_PARTITIONS
-+/*
-+ * Define static partitions for flash device
-+ */
-+static struct mtd_partition partition_info[] = {
-+/*    { */
-+/*            name: "cmx270-0", */
-+/*            offset: 0, */
-+/*            size: 2*1024*1024 */
-+/*    }, */
-+      {
-+              name: "cmx270-0",
-+              offset: 0,
-+              size: MTDPART_SIZ_FULL
-+      }
-+};
-+#define NUM_PARTITIONS 1
-+
-+#endif
-+
-+
-+static        u_char cmx270_read_byte(struct mtd_info *mtd)
-+{
-+      struct nand_chip *this = mtd->priv;
-+      volatile u_long* addr = (volatile u_long*)this->IO_ADDR_R;
-+      u_long word = *addr;
-+      
-+/*    printk(KERN_DEBUG "%s: addr = %p, byte = %x, byte_shift = %x\n",  */
-+/*           __FUNCTION__, addr, word, (word >> 16)); */
-+
-+      return (unsigned char)(word >> 16);
-+/*    return (unsigned char)(*addr >> 16); */
-+}
-+
-+static void cmx270_write_byte(struct mtd_info *mtd, u_char byte)
-+{
-+      struct nand_chip *this = mtd->priv;
-+      volatile u_long* addr = (volatile u_long*)this->IO_ADDR_R;
-+
-+/*    printk(KERN_DEBUG "%s: addr = %p, byte = %x, byte_shift = %x\n",  */
-+/*           __FUNCTION__, addr, byte, (byte << 16)); */
-+
-+      *addr = (byte << 16);
-+}
-+
-+static void cmx270_write_buf(struct mtd_info *mtd, const u_char *buf, int len)
-+{
-+      int i;
-+      struct nand_chip *this = mtd->priv;
-+      volatile u_long* addr = (volatile u_long*)this->IO_ADDR_R;
-+      u_long value;
-+
-+      for (i=0; i<len; i++) {
-+              *addr = (*buf++ << 16);
-+      }
-+/*            value =  (buf[i] << 24) | (buf[i] << 16) | (buf[i] << 8) |buf[i]; */
-+/*            *addr = value; */
-+/*    } */
-+}
-+
-+static void cmx270_read_buf(struct mtd_info *mtd, u_char *buf, int len)
-+{
-+      int i;
-+      struct nand_chip *this = mtd->priv;
-+      volatile u_long* addr = (volatile u_long*)this->IO_ADDR_R;
-+/*    u_long value; */
-+
-+      for (i=0; i<len; i++) {
-+              *buf++ = (unsigned char)(*addr >> 16);
-+/*            value = *addr; */
-+/*            buf[i] = (u_char)((value & 0x000000ff)); */
-+      }
-+}
-+
-+static int cmx270_verify_buf(struct mtd_info *mtd, const u_char *buf, int len)
-+{
-+      int i;
-+      struct nand_chip *this = mtd->priv;
-+      volatile u_long* addr = (volatile u_long*)this->IO_ADDR_R;
-+      u_long value;
-+
-+/*    for (i=0; i<len; i++) { */
-+/*            value = *addr; */
-+/*            if ( buf[i] != (u_char)((value & 0x000000ff)) ) */
-+/*                    return -EFAULT; */
-+/*    } */
-+
-+      return 0;
-+}
-+
-+/*
-+ *    hardware specific access to control-lines
-+ */
-+static void cmx270_hwcontrol(struct mtd_info *mtd, int cmd)
-+{
-+      struct nand_chip* this = (struct nand_chip *) (mtd->priv);
-+      unsigned int nandaddr = (unsigned int)this->IO_ADDR_R;
-+
-+      switch(cmd) {
-+
-+      case NAND_CTL_SETCLE:
-+              nandaddr |= (1 << 2);
-+              this->IO_ADDR_R = (void __iomem*)nandaddr;
-+              this->IO_ADDR_W = (void __iomem*)nandaddr;
-+              break;
-+      case NAND_CTL_CLRCLE:
-+              nandaddr &= ~(1 << 2);
-+              this->IO_ADDR_R = (void __iomem*)nandaddr;
-+              this->IO_ADDR_W = (void __iomem*)nandaddr;
-+              break;
-+
-+      case NAND_CTL_SETALE:
-+              nandaddr |= (1 << 3);
-+              this->IO_ADDR_R = (void __iomem*)nandaddr;
-+              this->IO_ADDR_W = (void __iomem*)nandaddr;
-+              break;
-+      case NAND_CTL_CLRALE:
-+              nandaddr &= ~(1 << 3);
-+              this->IO_ADDR_R = (void __iomem*)nandaddr;
-+              this->IO_ADDR_W = (void __iomem*)nandaddr;
-+              break;
-+
-+      case NAND_CTL_SETNCE:
-+              NAND_CS_ON;
-+              break;
-+      case NAND_CTL_CLRNCE:
-+              NAND_CS_OFF;
-+              break;
-+      }
-+}
-+
-+/*
-+ *    read device ready pin
-+ */
-+static int cmx270_device_ready(struct mtd_info *mtd)
-+{
-+/*    volatile cpm2_map_t *immap = (volatile cpm2_map_t *)CPM_MAP_ADDR; */
-+/*    return ((immap->im_ioport.iop_pdatd & NAND_RDY) != 0); */
-+
-+      return ( NAND_RB != 0 );
-+}
-+
-+/*
-+ * Main initialization routine
-+ */
-+static int __init cmx270_init (void)
-+{
-+      struct nand_chip *this;
-+      const char *part_type = 0;
-+      int mtd_parts_nb = 0;
-+      struct mtd_partition *mtd_parts = 0;
-+      static unsigned int nandaddr = 0;
-+
-+
-+      /* Allocate memory for MTD device structure and private data */
-+      cmx270_nand_mtd = kmalloc(sizeof(struct mtd_info) +
-+                                  sizeof(struct nand_chip),
-+                                  GFP_KERNEL);
-+      if (!cmx270_nand_mtd) {
-+              printk("Unable to allocate CM-X270 NAND MTD device structure.\n");
-+              return -ENOMEM;
-+      }
-+
-+      nandaddr = (volatile unsigned long*)ARMCORE_CS1_VIRT;
-+
-+      /* Get pointer to private data */
-+      this = (struct nand_chip *) (&cmx270_nand_mtd[1]);
-+
-+      /* Initialize structures */
-+      memset((char *) cmx270_nand_mtd, 0, sizeof(struct mtd_info));
-+      memset((char *) this, 0, sizeof(struct nand_chip));
-+
-+/*    pxa_gpio_mode(89 | GPIO_IN ); */
-+      printk(KERN_WARNING "%s: PSSR = %x\n", __FUNCTION__, PSSR);
-+      printk(KERN_WARNING "%s: GPDR2 = %x\n", __FUNCTION__, GPDR2);
-+      printk(KERN_WARNING "%s: GRER2 = %x\n", __FUNCTION__, GRER2);
-+      printk(KERN_WARNING "%s: GAFR2_U = %x\n", __FUNCTION__, GAFR2_U);
-+      printk(KERN_WARNING "%s: GPLR2 = %x\n", __FUNCTION__, GPLR2);
-+      printk(KERN_WARNING "%s: GEDR2 = %x\n", __FUNCTION__, GEDR2);
-+
-+      /* Link the private data with the MTD structure */
-+      cmx270_nand_mtd->priv = this;
-+
-+      /* insert callbacks */
-+      this->IO_ADDR_R = (void __iomem *)nandaddr;
-+      this->IO_ADDR_W = (void __iomem *)nandaddr;
-+      this->hwcontrol = cmx270_hwcontrol;
-+/*    this->dev_ready = cmx270_device_ready;  /\* unknown whether that was correct or not so we will just do it like this *\/ */
-+
-+      /* 15 us command delay time */
-+      this->chip_delay = 50;
-+      this->eccmode = NAND_ECC_SOFT;
-+
-+      /* read/write functions */
-+      this->read_byte = cmx270_read_byte;
-+      this->write_byte = cmx270_write_byte;
-+      this->read_buf = cmx270_read_buf;
-+      this->write_buf = cmx270_write_buf;
-+      this->verify_buf = cmx270_verify_buf;
-+
-+      /* Scan to find existence of the device */
-+      if (nand_scan (cmx270_nand_mtd, 1)) {
-+              printk(KERN_NOTICE "No NAND device - returning -ENXIO\n");
-+              kfree (cmx270_nand_mtd);
-+              return -ENXIO;
-+      }
-+
-+#ifdef CONFIG_MTD_CMDLINE_PARTS
-+      mtd_parts_nb = parse_cmdline_partitions(cmx270_nand_mtd, &mtd_parts,
-+                                              "cmx270");
-+      if (mtd_parts_nb > 0)
-+        part_type = "command line";
-+      else
-+        mtd_parts_nb = 0;
-+#endif
-+      if (mtd_parts_nb == 0)
-+      {
-+              mtd_parts = partition_info;
-+              mtd_parts_nb = NUM_PARTITIONS;
-+              part_type = "static";
-+      }
-+
-+      /* Register the partitions */
-+      printk(KERN_NOTICE "Using %s partition definition\n", part_type);
-+      add_mtd_partitions(cmx270_nand_mtd, mtd_parts, mtd_parts_nb);
-+
-+      /* Return happy */
-+      return 0;
-+}
-+module_init(cmx270_init);
-+
-+/*
-+ * Clean up routine
-+ */
-+static void __exit cmx270_cleanup (void)
-+{
-+      /* Release resources, unregister device */
-+      nand_release (cmx270_nand_mtd);
-+
-+      /* Free the MTD device structure */
-+      kfree (cmx270_nand_mtd);
-+}
-+module_exit(cmx270_cleanup);
-+
-+MODULE_LICENSE("GPL");
-+MODULE_AUTHOR("Mike Rapoport <mike at compulab dot co dot il>");
-+MODULE_DESCRIPTION("NAND flash driver for Compulab CM-X270 Core");
-diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
-index aa633fa..505f92b 100644
---- a/drivers/net/Kconfig
-+++ b/drivers/net/Kconfig
-@@ -865,6 +865,14 @@ config DM9000
-         <file:Documentation/networking/net-modules.txt>.  The module will be
-         called dm9000.
-+config DM9000_NOEPROM
-+      bool "DM9000 without EEPROM attached"
-+      depends on DM9000
-+      ---help---
-+        Select this option if you have DM9000 chipset without EEPROM
-+        containing the MAC address. In this case MAC address should
-+        be set either by the bootloader or using ifconfig
-+
- config NET_VENDOR_RACAL
-       bool "Racal-Interlan (Micom) NI cards"
-       depends on NET_ETHERNET && ISA
-diff --git a/drivers/net/dm9000.c b/drivers/net/dm9000.c
-index 24996da..7e45756 100644
---- a/drivers/net/dm9000.c
-+++ b/drivers/net/dm9000.c
-@@ -561,8 +561,14 @@ #endif
-               ((u16 *) db->srom)[i] = read_srom_word(db, i);
-       /* Set Node Address */
-+#ifndef CONFIG_DM9000_NOEPROM
-       for (i = 0; i < 6; i++)
-               ndev->dev_addr[i] = db->srom[i];
-+#else
-+      /* The Node Address was set by bootloader */
-+      for (i=0; i<6; i++)
-+              ndev->dev_addr[i] = ior(db, 0x10+i);
-+#endif
-       if (!is_valid_ether_addr(ndev->dev_addr))
-               printk("%s: Invalid ethernet MAC address.  Please "
-@@ -1098,6 +1104,10 @@ dm9000_phy_read(struct net_device *dev, 
-       /* The read data keeps on REG_0D & REG_0E */
-       ret = (ior(db, DM9000_EPDRH) << 8) | ior(db, DM9000_EPDRL);
-+/*    if ( reg == MII_BMSR ) { */
-+/*            printk(KERN_WARNING "===> %s: ret = %x\n", __FUNCTION__, ret); */
-+/*    } */
-+
-       /* restore the previous address */
-       writeb(reg_save, db->io_addr);
-@@ -1163,7 +1173,6 @@ dm9000_drv_resume(struct platform_device
-               if (netif_running(ndev)) {
-                       dm9000_reset(db);
-                       dm9000_init_dm9000(ndev);
--
-                       netif_device_attach(ndev);
-               }
-       }
-diff --git a/drivers/pcmcia/Makefile b/drivers/pcmcia/Makefile
-index bcecf51..b6a4173 100644
---- a/drivers/pcmcia/Makefile
-+++ b/drivers/pcmcia/Makefile
-@@ -68,4 +68,4 @@ sa1100_cs-$(CONFIG_SA1100_SIMPAD)            += sa
- pxa2xx_cs-$(CONFIG_ARCH_LUBBOCK)              += pxa2xx_lubbock.o sa1111_generic.o
- pxa2xx_cs-$(CONFIG_MACH_MAINSTONE)            += pxa2xx_mainstone.o
- pxa2xx_cs-$(CONFIG_PXA_SHARPSL)                       += pxa2xx_sharpsl.o
--
-+pxa2xx_cs-$(CONFIG_MACH_ARMCORE)              += pxa2xx_cm_x270.o
-diff --git a/drivers/pcmcia/pxa2xx_cm_x270.c b/drivers/pcmcia/pxa2xx_cm_x270.c
-new file mode 100644
-index 0000000..eb4df11
---- /dev/null
-+++ b/drivers/pcmcia/pxa2xx_cm_x270.c
-@@ -0,0 +1,198 @@
-+/*
-+ * linux/drivers/pcmcia/pxa/pxa_armcore.c
-+ *
-+ * 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.
-+ *
-+ * Compulab Ltd., 2003
-+ * 
-+ */
-+
-+#include <linux/kernel.h>
-+#include <linux/sched.h>
-+#include <linux/platform_device.h>
-+
-+#include <pcmcia/ss.h>
-+#include <asm/delay.h>
-+#include <asm/hardware.h>
-+#include <asm/irq.h>
-+
-+#include <asm/arch/pxa-regs.h>
-+#include <asm/arch/cm-x270.h>
-+
-+#include "soc_common.h"
-+
-+
-+static struct pcmcia_irqs irqs[] = {
-+      { 0, PCMCIA_S0_CD_VALID, "PCMCIA0 CD" },
-+      { 1, PCMCIA_S1_CD_VALID, "PCMCIA1 CD" },
-+};
-+
-+
-+static int 
-+cmx270_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
-+{
-+      int return_val=0;
-+      
-+      GPSR(GPIO48_nPOE) = GPIO_bit(GPIO48_nPOE) |
-+              GPIO_bit(GPIO49_nPWE) |
-+              GPIO_bit(GPIO50_nPIOR) |
-+              GPIO_bit(GPIO51_nPIOW) |
-+              GPIO_bit(GPIO85_nPCE_1) |
-+              GPIO_bit(GPIO54_nPCE_2);
-+
-+      pxa_gpio_mode(GPIO48_nPOE_MD);
-+      pxa_gpio_mode(GPIO49_nPWE_MD);
-+      pxa_gpio_mode(GPIO50_nPIOR_MD);
-+      pxa_gpio_mode(GPIO51_nPIOW_MD);
-+      pxa_gpio_mode(GPIO85_nPCE_1_MD);
-+      pxa_gpio_mode(GPIO54_nPCE_2_MD);
-+      //pxa_gpio_mode(GPIO79_pSKTSEL_MD); /* REVISIT: s/b dependent on num sockets (on ATX base not routed)*/
-+      pxa_gpio_mode(GPIO55_nPREG_MD);
-+      pxa_gpio_mode(GPIO56_nPWAIT_MD);
-+      pxa_gpio_mode(GPIO57_nIOIS16_MD);
-+
-+      // Reset signal 
-+      GPDR(GPIO53_nPCE_2) |= GPIO_bit(GPIO53_nPCE_2);
-+      GPCR(GPIO53_nPCE_2) = GPIO_bit(GPIO53_nPCE_2);
-+      
-+      GPDR(IRQ_TO_GPIO(PCMCIA_S0_CD_VALID)) &= ~GPIO_bit(IRQ_TO_GPIO(PCMCIA_S0_CD_VALID));
-+      GPDR(IRQ_TO_GPIO(PCMCIA_S1_CD_VALID)) &= ~GPIO_bit(IRQ_TO_GPIO(PCMCIA_S1_CD_VALID));
-+      
-+      set_irq_type(PCMCIA_S0_CD_VALID, IRQT_BOTHEDGE);
-+      set_irq_type(PCMCIA_S1_CD_VALID, IRQT_BOTHEDGE);
-+
-+      //irq's for slots:
-+      GPDR(IRQ_TO_GPIO(PCMCIA_S0_RDYINT)) &= ~GPIO_bit(IRQ_TO_GPIO(PCMCIA_S0_RDYINT));
-+      GPDR(IRQ_TO_GPIO(PCMCIA_S1_RDYINT)) &= ~GPIO_bit(IRQ_TO_GPIO(PCMCIA_S1_RDYINT));
-+
-+      set_irq_type(PCMCIA_S0_RDYINT, IRQT_FALLING);
-+      set_irq_type(PCMCIA_S1_RDYINT, IRQT_FALLING);
-+      
-+      skt->irq = (skt->nr == 0) ? PCMCIA_S0_RDYINT : PCMCIA_S1_RDYINT;
-+      return_val = soc_pcmcia_request_irqs(skt, irqs, ARRAY_SIZE(irqs));
-+
-+      return return_val;
-+}
-+
-+
-+static void cmx270_pcmcia_shutdown(struct soc_pcmcia_socket *skt)
-+{
-+      soc_pcmcia_free_irqs(skt, irqs, ARRAY_SIZE(irqs));
-+
-+      set_irq_type(IRQ_TO_GPIO(PCMCIA_S0_CD_VALID), IRQT_NOEDGE);
-+      set_irq_type(IRQ_TO_GPIO(PCMCIA_S1_CD_VALID), IRQT_NOEDGE);
-+
-+      set_irq_type(IRQ_TO_GPIO(PCMCIA_S0_RDYINT), IRQT_NOEDGE);
-+      set_irq_type(IRQ_TO_GPIO(PCMCIA_S1_RDYINT), IRQT_NOEDGE);
-+}
-+
-+
-+static void cmx270_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
-+                                  struct pcmcia_state *state)
-+{
-+
-+      state->detect = (PCC_DETECT(skt->nr) == 0) ? 1 : 0;  
-+      state->ready  = (PCC_READY(skt->nr) == 0) ? 0 : 1;
-+      state->bvd1   = 1;
-+      state->bvd2   = 1;
-+      state->vs_3v  = 0;
-+      state->vs_Xv  = 0;
-+      state->wrprot = 0;  /* not available */
-+
-+}
-+
-+
-+static int
-+cmx270_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
-+                                     const socket_state_t *state)
-+{
-+
-+      GPSR(GPIO49_nPWE) = GPIO_bit(GPIO49_nPWE);
-+      pxa_gpio_mode(GPIO49_nPWE | GPIO_OUT);
-+      //pxa_gpio_mode(GPIO79_pSKTSEL_MD | GPIO_OUT); /* For 2-socket mode */
-+
-+      switch(skt->nr){
-+          case 0:
-+                      if(state->flags & SS_RESET) {
-+                              //GPCR(GPIO79_pSKTSEL) = GPIO_bit(GPIO79_pSKTSEL); /* For 2-socket mode */
-+                              //udelay(1);
-+                              GPCR(GPIO49_nPWE) = GPIO_bit(GPIO49_nPWE);
-+                              GPSR(GPIO53_nPCE_2) = GPIO_bit(GPIO53_nPCE_2);
-+                              udelay(10);
-+                              GPCR(GPIO53_nPCE_2) = GPIO_bit(GPIO53_nPCE_2);
-+                              GPSR(GPIO49_nPWE) = GPIO_bit(GPIO49_nPWE);
-+                      }
-+                  break;
-+              case 1:
-+                      if(state->flags & SS_RESET) {
-+                              //GPCR(GPIO79_pSKTSEL) = GPIO_bit(GPIO79_pSKTSEL); /* For 2-socket mode */
-+                              //udelay(1);
-+                              GPCR(GPIO49_nPWE) = GPIO_bit(GPIO49_nPWE);
-+                              GPSR(GPIO53_nPCE_2) = GPIO_bit(GPIO53_nPCE_2);
-+                              udelay(10);
-+                              GPCR(GPIO53_nPCE_2) = GPIO_bit(GPIO53_nPCE_2);
-+                              GPSR(GPIO49_nPWE) = GPIO_bit(GPIO49_nPWE);
-+                      }
-+                  break;
-+      }  
-+
-+      pxa_gpio_mode(GPIO49_nPWE_MD);
-+      //pxa_gpio_mode(GPIO79_pSKTSEL_MD); /* For 2-socket mode */
-+
-+
-+      return 0;
-+}
-+
-+static void cmx270_pcmcia_socket_init(struct soc_pcmcia_socket *skt)
-+{
-+}
-+
-+static void cmx270_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt)
-+{
-+}
-+
-+
-+static struct pcmcia_low_level cmx270_pcmcia_ops = {
-+      .owner                  = THIS_MODULE,
-+      .hw_init                = cmx270_pcmcia_hw_init,
-+      .hw_shutdown            = cmx270_pcmcia_shutdown,
-+      .socket_state           = cmx270_pcmcia_socket_state,
-+      .configure_socket       = cmx270_pcmcia_configure_socket,
-+      .socket_init            = cmx270_pcmcia_socket_init,
-+      .socket_suspend         = cmx270_pcmcia_socket_suspend,
-+      .nr                     = 2,
-+};
-+
-+static struct platform_device *cmx270_pcmcia_device;
-+
-+static int __init cmx270_pcmcia_init(void)
-+{
-+      int ret;
-+
-+      cmx270_pcmcia_device = platform_device_alloc("pxa2xx-pcmcia", -1);
-+
-+      if (!cmx270_pcmcia_device)
-+              return -ENOMEM;
-+
-+      cmx270_pcmcia_device->dev.platform_data = &cmx270_pcmcia_ops;
-+
-+      printk ("Registering cm-x270 PCMCIA interface.\n");
-+      ret = platform_device_add(cmx270_pcmcia_device);
-+
-+      if (ret)
-+              platform_device_put(cmx270_pcmcia_device);
-+
-+      return ret;
-+}
-+
-+static void __exit cmx270_pcmcia_exit(void)
-+{
-+      platform_device_unregister(cmx270_pcmcia_device);
-+}
-+
-+module_init(cmx270_pcmcia_init);
-+module_exit(cmx270_pcmcia_exit);
-+
-+MODULE_LICENSE("GPL");
-diff --git a/drivers/serial/pxa.c b/drivers/serial/pxa.c
-index 10535f0..e04624f 100644
---- a/drivers/serial/pxa.c
-+++ b/drivers/serial/pxa.c
-@@ -49,6 +49,8 @@ #include <asm/hardware.h>
- #include <asm/irq.h>
- #include <asm/arch/pxa-regs.h>
-+#define SERIAL_SA1100_MAJOR   204
-+#define MINOR_START           5
- struct uart_pxa_port {
-       struct uart_port        port;
-@@ -683,7 +685,7 @@ serial_pxa_console_setup(struct console 
- }
- static struct console serial_pxa_console = {
--      .name           = "ttyS",
-+      .name           = "ttySA",
-       .write          = serial_pxa_console_write,
-       .device         = uart_console_device,
-       .setup          = serial_pxa_console_setup,
-@@ -788,11 +790,16 @@ static struct uart_pxa_port serial_pxa_p
- static struct uart_driver serial_pxa_reg = {
-       .owner          = THIS_MODULE,
--      .driver_name    = "PXA serial",
--      .devfs_name     = "tts/",
--      .dev_name       = "ttyS",
--      .major          = TTY_MAJOR,
--      .minor          = 64,
-+/*    .driver_name    = "PXA serial", */
-+/*    .devfs_name     = "tts/", */
-+/*    .dev_name       = "ttyS", */
-+/*    .major          = TTY_MAJOR, */
-+/*    .minor          = 64, */
-+      .driver_name            = "ttySA",
-+      .dev_name               = "ttySA",
-+      .devfs_name             = "ttySA",
-+      .major                  = SERIAL_SA1100_MAJOR,
-+      .minor                  = MINOR_START,
-       .nr             = ARRAY_SIZE(serial_pxa_ports),
-       .cons           = PXA_CONSOLE,
- };
-diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
-index f5079c7..e49580a 100644
---- a/drivers/video/Kconfig
-+++ b/drivers/video/Kconfig
-@@ -1387,6 +1387,16 @@ config FB_PXA_PARAMETERS
-         <file:Documentation/fb/pxafb.txt> describes the available parameters.
-+config FB_MBX
-+      tristate "2700G LCD framebuffer support"
-+      depends on FB && ARCH_PXA
-+      select FB_CFB_FILLRECT
-+      select FB_CFB_COPYAREA
-+      select FB_CFB_IMAGEBLIT
-+      ---help---
-+
-+        If unsure, say N.
-+
- config FB_W100
-       tristate "W100 frame buffer support"
-       depends on FB && PXA_SHARPSL
-diff --git a/drivers/video/Makefile b/drivers/video/Makefile
-index aa434e7..c6fe5e4 100644
---- a/drivers/video/Makefile
-+++ b/drivers/video/Makefile
-@@ -94,6 +94,7 @@ obj-$(CONFIG_FB_TX3912)                += tx3912fb.o
- obj-$(CONFIG_FB_S1D13XXX)       += s1d13xxxfb.o
- obj-$(CONFIG_FB_IMX)              += imxfb.o
- obj-$(CONFIG_FB_S3C2410)        += s3c2410fb.o
-+obj-$(CONFIG_FB_MBX)            += mbx/
- # Platform or fallback drivers go here
- obj-$(CONFIG_FB_VESA)             += vesafb.o
-diff --git a/drivers/video/mbx/Makefile b/drivers/video/mbx/Makefile
-new file mode 100644
-index 0000000..ef6b729
---- /dev/null
-+++ b/drivers/video/mbx/Makefile
-@@ -0,0 +1,7 @@
-+# Makefile for the Linux video drivers.
-+# 5 Aug 1999, James Simmons, <mailto:jsimmons@users.sf.net>
-+# Rewritten to use lists instead of if-statements.
-+
-+# Each configuration option enables a list of files.
-+
-+obj-$(CONFIG_FB_MBX)  += mbxfb.o
-diff --git a/drivers/video/mbx/mbxfb.c b/drivers/video/mbx/mbxfb.c
-new file mode 100644
-index 0000000..93dcfa5
---- /dev/null
-+++ b/drivers/video/mbx/mbxfb.c
-@@ -0,0 +1,659 @@
-+/*
-+ *  linux/drivers/video/mbx/mbxfb.c
-+ *
-+ *  Copyright (C) 2006 Compulab, Ltd.
-+ *
-+ *   Based on pxafb.c
-+ *
-+ * This file is subject to the terms and conditions of the GNU General Public
-+ * License.  See the file COPYING in the main directory of this archive for
-+ * more details.
-+ *
-+ *   Intel 2700G (Marathon) Graphics Accelerator Frame Buffer Driver
-+ *
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+#include <linux/moduleparam.h>
-+#include <linux/kernel.h>
-+#include <linux/sched.h>
-+#include <linux/errno.h>
-+#include <linux/string.h>
-+#include <linux/interrupt.h>
-+#include <linux/slab.h>
-+#include <linux/fb.h>
-+#include <linux/delay.h>
-+#include <linux/init.h>
-+#include <linux/ioport.h>
-+#include <linux/cpufreq.h>
-+#include <linux/platform_device.h>
-+#include <linux/dma-mapping.h>
-+
-+#include <asm/hardware.h>
-+#include <asm/io.h>
-+#include <asm/irq.h>
-+#include <asm/uaccess.h>
-+#include <asm/div64.h>
-+#include <asm/arch/pxa-regs.h>
-+#include <asm/arch/bitfield.h>
-+#include <asm/arch/marathonfb.h>
-+
-+static unsigned long virt_base_2700;
-+#include "regs.h"
-+#include "reg_bits.h"
-+
-+#define MIN_XRES      16
-+#define MIN_YRES      16
-+#define MAX_XRES      2048
-+#define MAX_YRES      2048
-+
-+/* FIXME: take care of different chip reivsions with different sizes
-+   of ODFB */
-+#define MEMORY_OFFSET 0x60000
-+
-+struct mbxfb_info {
-+              struct device *dev;
-+              
-+              struct resource *fb_res;
-+              struct resource *fb_req;
-+
-+              struct resource *reg_res;
-+              struct resource *reg_req;
-+
-+              void __iomem *fb_virt_addr;
-+              unsigned long fb_phys_addr;
-+
-+              void __iomem *reg_virt_addr;
-+              unsigned long reg_phys_addr;
-+
-+              int (*platform_probe)(struct fb_info *fb);
-+              int (*platform_remove)(struct fb_info *fb);
-+};
-+
-+static struct fb_var_screeninfo mbxfb_default __initdata = {
-+      .xres =         640,
-+      .yres =         480,
-+      .xres_virtual = 640,
-+      .yres_virtual = 480,
-+      .bits_per_pixel = 16,
-+      .red =          { 11, 5, 0 },
-+              .green =        { 5, 6, 0 },
-+              .blue =         { 0, 5, 0 },
-+              .activate =     FB_ACTIVATE_TEST,
-+              .height =       -1,
-+              .width =        -1,
-+              .pixclock =     40000,
-+              .left_margin =  48,
-+              .right_margin = 16,
-+              .upper_margin = 33,
-+              .lower_margin = 10,
-+              .hsync_len =    96,
-+              .vsync_len =    2,
-+              .vmode =        FB_VMODE_NONINTERLACED,
-+      .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
-+};
-+
-+static struct fb_fix_screeninfo mbxfb_fix __initdata = {
-+      .id =           "MBX",
-+      .type =         FB_TYPE_PACKED_PIXELS,
-+      .visual =       FB_VISUAL_TRUECOLOR,
-+      .xpanstep =     0,
-+      .ypanstep =     0,
-+      .ywrapstep =    0,
-+      .accel =        FB_ACCEL_NONE,
-+};
-+
-+struct pixclock_div {
-+      u8 m;
-+      u8 n;
-+      u8 p;
-+};
-+
-+static unsigned int mbxfb_get_pixclock(unsigned int pixclock_ps, struct pixclock_div *div)
-+{
-+      u8  m, n, p;
-+      unsigned int err = 0;
-+      unsigned int min_err = ~0x0;
-+      unsigned int clk;
-+      unsigned int best_clk = 0;
-+      unsigned int ref_clk = 13000; /* FIXME: take from platform data */
-+      unsigned int pixclock;
-+
-+      /* convert pixclock to KHz */
-+      pixclock = PICOS2KHZ(pixclock_ps);
-+
-+      for ( m = 1; m < 64; m++ ) {
-+              for ( n = 1; n < 8; n++ ) {
-+                      for ( p = 0; p < 8; p++ ) {
-+                              clk = (ref_clk * m) / (n * (1 << p));
-+                              err = (clk > pixclock) ? (clk - pixclock) : 
-+                                      (pixclock - clk);
-+                              if ( err < min_err ) {
-+                                      min_err = err;
-+                                      best_clk = clk;
-+                                      div->m = m;
-+                                      div->n = n;
-+                                      div->p = p;
-+                              }
-+                      }
-+              }
-+      }
-+      return KHZ2PICOS(best_clk);
-+}
-+
-+static int
-+mbxfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
-+                 u_int trans, struct fb_info *info)
-+{
-+      uint val, ret = 1;
-+
-+      if ( regno < 255 ) {
-+              val = (red & 0xff) << 16;
-+              val |= (green & 0xff) << 8;
-+              val |= (blue & 0xff) << 0;
-+              GPLUT = Gplut_Lutadr(regno) | Gplut_Lutdata(val);
-+              udelay(1000);
-+              ret = 0;
-+      }
-+      return ret;
-+}
-+
-+static int mbxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
-+{
-+      struct pixclock_div div;
-+      
-+      var->pixclock = mbxfb_get_pixclock(var->pixclock, &div);
-+
-+      if (var->xres < MIN_XRES)
-+              var->xres = MIN_XRES;
-+      if (var->yres < MIN_YRES)
-+              var->yres = MIN_YRES;
-+      if (var->xres > MAX_XRES)
-+              var->xres = MAX_XRES;
-+      if (var->yres > MAX_YRES)
-+              var->yres = MAX_YRES;
-+      var->xres_virtual =
-+              max(var->xres_virtual, var->xres);
-+      var->yres_virtual =
-+              max(var->yres_virtual, var->yres);
-+
-+      switch (var->bits_per_pixel) {
-+      /* FIXME: implement 8 bits-per-pixel */
-+      case 8:
-+              var->bits_per_pixel = 16;
-+      case 16:
-+              var->green.length = (var->green.length == 5) ? 5 : 6;
-+              var->red.length = 5;
-+              var->blue.length = 5;
-+              var->transp.length = 6 - var->green.length;
-+              var->blue.offset = 0;
-+              var->green.offset = 5;
-+              var->red.offset = 5 + var->green.length;
-+              var->transp.offset =  (5 + var->red.offset) & 15;
-+              break;
-+      case 24:        /* RGB 888   */
-+      case 32:        /* RGBA 8888 */
-+              var->red.offset = 16;
-+              var->red.length = 8;
-+              var->green.offset = 8;
-+              var->green.length = 8;
-+              var->blue.offset = 0;
-+              var->blue.length = 8;
-+              var->transp.length = var->bits_per_pixel - 24;
-+              var->transp.offset = (var->transp.length) ? 24 : 0;
-+              break;
-+      }
-+      var->red.msb_right = 0;
-+      var->green.msb_right = 0;
-+      var->blue.msb_right = 0;
-+      var->transp.msb_right = 0;
-+
-+      return 0;
-+}
-+
-+static int mbxfb_set_par(struct fb_info *info)
-+{
-+      struct fb_var_screeninfo *var = &info->var;
-+      struct pixclock_div div;
-+      ushort hbps, ht, hfps, has;
-+      ushort vbps, vt, vfps, vas;
-+
-+      info->fix.line_length = var->xres_virtual * var->bits_per_pixel / 8;
-+      
-+      /* setup color mode */
-+      GSCTRL &= ~(FMsk(GSCTRL_GPIXFMT));
-+      /* FIXME: add *WORKING* support for 8-bits per color */
-+      if ( info->var.bits_per_pixel == 8 ) {
-+              GSCTRL |= GSCTRL_GPIXFMT_INDEXED;
-+              GSCTRL |= GSCTRL_LUT_EN;
-+              GSCTRL &= ~GSCTRL_GAMMA_EN;
-+              info->fix.visual = FB_VISUAL_PSEUDOCOLOR;
-+              fb_alloc_cmap(&info->cmap, 1<<info->var.bits_per_pixel, 0);
-+      }
-+      else {
-+              fb_dealloc_cmap(&info->cmap);
-+              GSCTRL &= ~GSCTRL_LUT_EN;
-+              info->fix.visual = FB_VISUAL_TRUECOLOR;
-+              switch ( info->var.bits_per_pixel ) {
-+                      case 16:
-+                              if ( info->var.green.length == 5 )
-+                                      GSCTRL |= GSCTRL_GPIXFMT_ARGB1555;
-+                              else
-+                                      GSCTRL |= GSCTRL_GPIXFMT_RGB565;
-+                              break;
-+                      case 24:
-+                              GSCTRL |= GSCTRL_GPIXFMT_RGB888;
-+                              break;
-+                      case 32:
-+                              GSCTRL |= GSCTRL_GPIXFMT_ARGB8888;
-+                              break;
-+              }
-+      }
-+
-+      /* setup resolution */
-+      GSCTRL &= ~(FMsk(GSCTRL_GSWIDTH) | FMsk(GSCTRL_GSHEIGHT));
-+      GSCTRL |= Gsctrl_Width(info->var.xres - 1) |
-+              Gsctrl_Height(info->var.yres - 1);
-+      
-+      GSADR &= ~(FMsk(GSADR_SRCSTRIDE)); udelay(1000);
-+      GSADR |=  Gsadr_Srcstride(info->var.xres * info->var.bits_per_pixel / (8 * 16) - 1); udelay(1000);
-+
-+      /* setup timings */
-+      var->pixclock = mbxfb_get_pixclock(info->var.pixclock, &div);
-+
-+      DISPPLL = Disp_Pll_M(div.m) | Disp_Pll_N(div.n) | Disp_Pll_P(div.p) | DISP_PLL_EN;
-+      
-+      hbps = var->hsync_len;
-+      has = hbps + var->left_margin;
-+      hfps = has + var->xres;
-+      ht = hfps + var->right_margin;
-+
-+      vbps = var->vsync_len;
-+      vas = vbps + var->upper_margin;
-+      vfps = vas + var->yres;
-+      vt = vfps + var->lower_margin;
-+
-+      DHT01 = Dht01_Hbps(hbps) | Dht01_Ht(ht);
-+      DHT02 = Dht02_Hlbs(has) | Dht02_Has(has);
-+      DHT03 = Dht03_Hfps(hfps) | Dht03_Hrbs(hfps);
-+      DHDET = Dhdet_Hdes(has) | Dhdet_Hdef(hfps);
-+      
-+      DVT01 = Dvt01_Vbps(vbps) | Dvt01_Vt(vt);
-+      DVT02 = Dvt02_Vtbs(vas) | Dvt02_Vas(vas);
-+      DVT03 = Dvt03_Vfps(vfps) | Dvt03_Vbbs(vfps);
-+      DVDET = Dvdet_Vdes(vas) | Dvdet_Vdef(vfps);
-+      DVECTRL = Dvectrl_Vevent(vfps) | Dvectrl_Vfetch(vbps);
-+      DSCTRL |= DSCTRL_SYNCGEN_EN;
-+
-+      return 0;
-+}
-+
-+static char *blank_mode[] = {
-+      "FB_BLANK_UNBLANK",
-+      "FB_BLANK_NORMAL",
-+      "FB_BLANK_VSYNC_SUSPEND",
-+      "FB_BLANK_HSYNC_SUSPEND",
-+      "FB_BLANK_POWERDOWN",
-+};
-+
-+static int mbxfb_blank(int blank, struct fb_info *info)
-+{
-+      switch (blank) {
-+      case FB_BLANK_POWERDOWN:
-+      case FB_BLANK_VSYNC_SUSPEND:
-+      case FB_BLANK_HSYNC_SUSPEND:
-+      case FB_BLANK_NORMAL:
-+              DSCTRL &= ~DSCTRL_SYNCGEN_EN; udelay(1000);
-+              PIXCLK &= ~PIXCLK_EN; udelay(1000);
-+              VOVRCLK &= ~VOVRCLK_EN; udelay(1000);
-+              break;
-+      case FB_BLANK_UNBLANK:
-+              DSCTRL |= DSCTRL_SYNCGEN_EN; udelay(1000);
-+              PIXCLK |= PIXCLK_EN; udelay(1000);
-+              break;
-+      }
-+      return 0;
-+}
-+
-+static struct fb_ops mbxfb_ops = {
-+      .owner          = THIS_MODULE,
-+      .fb_check_var   = mbxfb_check_var,
-+      .fb_set_par     = mbxfb_set_par,
-+      .fb_setcolreg   = mbxfb_setcolreg,
-+      .fb_fillrect    = cfb_fillrect,
-+      .fb_copyarea    = cfb_copyarea,
-+      .fb_imageblit   = cfb_imageblit,
-+      .fb_blank       = mbxfb_blank,
-+};
-+
-+/*
-+   Enable external SDRAM controller. Assume that all clocks are active
-+   by now. 
-+*/
-+static void setup_memc(struct fb_info *fbi)
-+{
-+      unsigned long tmp;
-+
-+      /* FIXME: use platfrom specific parameters */
-+      /* setup SDRAM controller */
-+      LMCFG = LMCFG_LMC_DS | LMCFG_LMC_TS | LMCFG_LMD_TS | LMCFG_LMA_TS;
-+      udelay(1000);
-+      LMPWR = LMPWR_MC_PWR_ACT;
-+      udelay(1000);
-+      /* setup SDRAM timings */
-+      LMTIM = Lmtim_Tras(7) | Lmtim_Trp(3) | Lmtim_Trcd(3) | Lmtim_Trc(9) |
-+              Lmtim_Tdpl(2);
-+      udelay(1000);
-+      /* setup SDRAM refresh rate */
-+      LMREFRESH = 0xc2b;
-+      udelay(1000);
-+      /* setup SDRAM type parameters */
-+      LMTYPE = LMTYPE_CASLAT_3 | LMTYPE_BKSZ_2 | LMTYPE_ROWSZ_11 | 
-+              LMTYPE_COLSZ_8;
-+      udelay(1000);
-+      /* enable memory controller */
-+      LMPWR = LMPWR_MC_PWR_ACT;
-+      udelay(1000);
-+
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+}
-+
-+static void enable_clocks(struct fb_info* fbi)
-+{
-+      /* enable clocks */
-+      SYSCLKSRC = SYSCLKSRC_PLL_2; udelay(1000);
-+      PIXCLKSRC = PIXCLKSRC_PLL_1; udelay(1000);
-+      CLKSLEEP = 0x00000000; udelay(1000);
-+      COREPLL = Core_Pll_M(0x17) | Core_Pll_N(0x3) | Core_Pll_P(0x0) | CORE_PLL_EN; udelay(1000);
-+      DISPPLL = Disp_Pll_M(0x1b) | Disp_Pll_N(0x7) | Disp_Pll_P(0x1) | DISP_PLL_EN;
-+
-+      VOVRCLK = 0x00000000; udelay(1000);
-+      PIXCLK = PIXCLK_EN; udelay(1000);
-+      MEMCLK = MEMCLK_EN; udelay(1000);
-+      M24CLK = 0x00000006; udelay(1000);
-+      MBXCLK = 0x00000006; udelay(1000);
-+      SDCLK = SDCLK_EN; udelay(1000);
-+      PIXCLKDIV = 0x00000001; udelay(1000);
-+}
-+
-+static void setup_graphics(struct fb_info* fbi)
-+{
-+      unsigned long gsctrl;
-+
-+      gsctrl = GSCTRL_GAMMA_EN | Gsctrl_Width(fbi->var.xres-1) |
-+              Gsctrl_Height(fbi->var.yres-1);
-+      switch ( fbi->var.bits_per_pixel ) {
-+              case 16:
-+                      if ( fbi->var.green.length == 5 )
-+                              gsctrl |= GSCTRL_GPIXFMT_ARGB1555;
-+                      else
-+                              gsctrl |= GSCTRL_GPIXFMT_RGB565;
-+                      break;
-+              case 24: gsctrl |= GSCTRL_GPIXFMT_RGB888; break;
-+              case 32: gsctrl |= GSCTRL_GPIXFMT_ARGB8888; break;
-+      }
-+
-+      GSCTRL = gsctrl; udelay(1000);
-+      GBBASE = 0x00000000; udelay(1000);
-+      GDRCTRL = 0x00ffffff; udelay(1000);
-+      GSCADR = GSCADR_STR_EN | Gscadr_Gbase_Adr(0x6000); udelay(1000);
-+      GPLUT = 0x00000000; udelay(1000);
-+}
-+
-+static void setup_display(struct fb_info* fbi)
-+{
-+      unsigned long dsctrl = 0;
-+ 
-+      dsctrl = DSCTRL_BLNK_POL;
-+      if ( fbi->var.sync & FB_SYNC_HOR_HIGH_ACT )
-+              dsctrl |= DSCTRL_HS_POL;
-+      if ( fbi->var.sync & FB_SYNC_VERT_HIGH_ACT )
-+              dsctrl |= DSCTRL_VS_POL;
-+      DSCTRL = dsctrl; udelay(1000);
-+      DMCTRL = 0xd0303010; udelay(1000);
-+      DSCTRL |= DSCTRL_SYNCGEN_EN;
-+}
-+
-+static void enable_controller(struct fb_info* fbi)
-+{
-+      SYSRST = SYSRST_RST;
-+      udelay(1000);
-+
-+      enable_clocks(fbi);
-+      setup_memc(fbi);        
-+      setup_graphics(fbi);
-+      setup_display(fbi);
-+}
-+
-+
-+#ifdef CONFIG_PM
-+/*
-+ * Power management hooks.  Note that we won't be called from IRQ context,
-+ * unlike the blank functions above, so we may sleep.
-+ */
-+static int mbxfb_suspend(struct platform_device *dev, pm_message_t state)
-+{
-+      /* make frame buffer memory enter self-refresh mode */
-+      LMPWR = LMPWR_MC_PWR_SRM;
-+      while ( LMPWRSTAT != LMPWRSTAT_MC_PWR_SRM );
-+
-+      /* reset the device, since it's initial state is 'mostly sleeping' */
-+      SYSRST = SYSRST_RST;
-+      return 0;
-+}
-+
-+static int mbxfb_resume(struct platform_device *dev)
-+{
-+      struct fb_info *fbi = (struct fb_info*)platform_get_drvdata(dev);
-+
-+      enable_clocks(fbi);
-+/*    setup_graphics(fbi); */
-+/*    setup_display(fbi); */
-+
-+      DSCTRL |= DSCTRL_SYNCGEN_EN;
-+      return 0;
-+}
-+#else
-+#define mbxfb_suspend NULL
-+#define mbxfb_resume  NULL
-+#endif
-+
-+#include "mbxsysfs.c"
-+
-+#define res_size(_r) (((_r)->end - (_r)->start) + 1)
-+
-+static int mbxfb_probe(struct platform_device *dev)
-+{
-+      int ret;
-+      struct fb_info *fbi;
-+      struct mbxfb_info *mfbi;
-+      struct mbxfb_platform_data *pdata;
-+
-+      dev_dbg(dev, "mbxfb_probe\n");
-+
-+      fbi = framebuffer_alloc(sizeof(struct mbxfb_info), &dev->dev);
-+      if ( fbi == NULL ) {
-+              dev_err(&dev->dev, "framebuffer_alloc failed\n");
-+              return -ENOMEM;
-+      }
-+
-+      mfbi = fbi->par;
-+      pdata = dev->dev.platform_data;
-+      if ( pdata->probe )
-+              mfbi->platform_probe = pdata->probe;
-+      if ( pdata->remove )
-+              mfbi->platform_remove = pdata->remove;
-+
-+      mfbi->fb_res = platform_get_resource(dev, IORESOURCE_MEM, 0);
-+      mfbi->reg_res = platform_get_resource(dev, IORESOURCE_MEM, 1);
-+
-+      if ( !mfbi->fb_res || !mfbi->reg_res ) {
-+              dev_err(&dev->dev, "no resources found\n");
-+              ret = -ENODEV;
-+              goto err1;
-+      }
-+
-+      mfbi->fb_req = request_mem_region(mfbi->fb_res->start,
-+                                        res_size(mfbi->fb_res),
-+                                        dev->name);
-+      if ( mfbi->fb_req == NULL ) {
-+              dev_err(&dev->dev, "failed to claim framebuffer memory\n");
-+              ret = -EINVAL;
-+              goto err1;
-+      }
-+      mfbi->fb_phys_addr = mfbi->fb_res->start;
-+
-+      mfbi->reg_req = request_mem_region(mfbi->reg_res->start,
-+                                        res_size(mfbi->reg_res),
-+                                         dev->name);
-+      if ( mfbi->reg_req == NULL ) {
-+              dev_err(&dev->dev, "failed to claim Marathon registers\n");
-+              ret = -EINVAL;
-+              goto err2;
-+      }
-+      mfbi->reg_phys_addr = mfbi->reg_res->start;
-+
-+      mfbi->reg_virt_addr = ioremap_nocache(mfbi->reg_phys_addr,
-+                                            res_size(mfbi->reg_req));
-+      if ( !mfbi->reg_virt_addr ) {
-+              dev_err(&dev->dev, "failed to ioremap Marathon registers\n");
-+              ret = -EINVAL;
-+              goto err3;
-+      }
-+      virt_base_2700 = mfbi->reg_virt_addr;
-+
-+      mfbi->fb_virt_addr = ioremap_nocache(mfbi->fb_phys_addr,
-+                                           res_size(mfbi->fb_req));
-+      if ( !mfbi->reg_virt_addr ) {
-+              dev_err(&dev->dev, "failed to ioremap frame buffer\n");
-+              ret = -EINVAL;
-+              goto err4;
-+      }
-+
-+      fbi->screen_base = (char __iomem *)(mfbi->fb_virt_addr + 0x60000); /* FIXME: */
-+      fbi->screen_size = 8*1024*1024; /* 8 Megs */ /* FIXME: get from platform */
-+      fbi->fbops = &mbxfb_ops;
-+
-+      fbi->var = mbxfb_default;
-+      fbi->fix = mbxfb_fix;
-+      fbi->fix.smem_start = mfbi->fb_phys_addr + 0x60000;
-+      fbi->fix.smem_len = 8*1024*1024;
-+      fbi->fix.line_length = 640*2;
-+
-+      ret = fb_alloc_cmap(&fbi->cmap, 256, 0);
-+      if (ret < 0) {
-+              dev_err(&dev->dev, "fb_alloc_cmap failed\n");
-+              ret = -EINVAL;
-+              goto err5;
-+      }
-+
-+      ret = register_framebuffer(fbi);
-+      if (ret < 0) {
-+              dev_err(&dev->dev, "register_framebuffer failed\n");
-+              ret = -EINVAL;
-+              goto err6;
-+      }
-+
-+      platform_set_drvdata(dev, fbi);
-+
-+      printk(KERN_INFO "fb%d: mbx frame buffer device\n", fbi->node);
-+
-+      if ( mfbi->platform_probe )
-+              mfbi->platform_probe(fbi);
-+
-+      enable_controller(fbi);
-+
-+      mbxfb_sysfs_register(fbi);
-+
-+      return 0;
-+
-+  err6:
-+      fb_dealloc_cmap(&fbi->cmap);
-+  err5:
-+      iounmap(mfbi->fb_virt_addr);
-+  err4:
-+      iounmap(mfbi->reg_virt_addr);
-+  err3:
-+      release_mem_region(mfbi->reg_res->start,
-+                         res_size(mfbi->reg_res));
-+  err2:
-+      release_mem_region(mfbi->fb_res->start,
-+                         res_size(mfbi->fb_res));
-+  err1:
-+      framebuffer_release(fbi);
-+
-+      return ret;
-+}
-+
-+static int mbxfb_remove(struct platform_device *dev)
-+{
-+      struct fb_info *fbi = (struct fb_info*)platform_get_drvdata(dev);
-+
-+      SYSRST = SYSRST_RST;
-+      udelay(1000);
-+
-+      if (fbi) {
-+              struct mbxfb_info *mfbi = fbi->par;
-+
-+              unregister_framebuffer(fbi);
-+              if ( mfbi ) {
-+                      if ( mfbi->platform_remove )
-+                              mfbi->platform_remove(fbi);
-+
-+                      if ( mfbi->fb_virt_addr )
-+                              iounmap(mfbi->fb_virt_addr);
-+                      if ( mfbi->reg_virt_addr )
-+                              iounmap(mfbi->reg_virt_addr);
-+                      if ( mfbi->reg_req ) 
-+                              release_mem_region(mfbi->reg_req->start,
-+                                                 res_size(mfbi->reg_req));
-+                      if ( mfbi->fb_req ) 
-+                              release_mem_region(mfbi->fb_req->start,
-+                                                 res_size(mfbi->fb_req));
-+              }
-+              framebuffer_release(fbi);
-+      }
-+
-+      return 0;
-+}
-+
-+static struct platform_driver mbxfb_driver = {
-+      .probe          = mbxfb_probe,
-+      .remove         = mbxfb_remove,
-+
-+#ifdef CONFIG_PM
-+      .suspend        = mbxfb_suspend,
-+      .resume         = mbxfb_resume,
-+#endif
-+      .driver         = {
-+              .name   = "mbx-fb",
-+      },
-+};
-+
-+int __devinit mbxfb_init(void)
-+{
-+      return platform_driver_register(&mbxfb_driver);
-+}
-+
-+static void __exit mbxfb_exit(void)
-+{
-+      platform_driver_unregister(&mbxfb_driver);
-+}
-+
-+module_init(mbxfb_init);
-+module_exit(mbxfb_exit);
-+
-+MODULE_DESCRIPTION("loadable framebuffer driver for Marathon device");
-+MODULE_AUTHOR("Mike Rapoport, Compulab");
-+MODULE_LICENSE("GPL");
-diff --git a/drivers/video/mbx/mbxsysfs.c b/drivers/video/mbx/mbxsysfs.c
-new file mode 100644
-index 0000000..4b9571a
---- /dev/null
-+++ b/drivers/video/mbx/mbxsysfs.c
-@@ -0,0 +1,129 @@
-+static ssize_t sysconf_show(struct class_device * subsys, char * buf)
-+{
-+      char * s = buf;
-+
-+      s += sprintf(s, "SYSCFG = %08lx\n", SYSCFG);
-+      s += sprintf(s, "PFBASE = %08lx\n", PFBASE);
-+      s += sprintf(s, "PFCEIL = %08lx\n", PFCEIL);
-+      s += sprintf(s, "POLLFLAG = %08lx\n", POLLFLAG);
-+      s += sprintf(s, "SYSRST = %08lx\n", SYSRST);
-+      return (s - buf);
-+}
-+
-+static ssize_t sysconf_store(struct class_device * subsys, const char * buf, size_t n)
-+{
-+      return n;
-+}
-+
-+static ssize_t gsctl_show(struct class_device * subsys, char * buf)
-+{
-+      char * s = buf;
-+
-+      s += sprintf(s, "GSCTRL = %08lx\n", GSCTRL);
-+      s += sprintf(s, "VSCTRL = %08lx\n", VSCTRL);
-+      s += sprintf(s, "GBBASE = %08lx\n", GBBASE);
-+      s += sprintf(s, "VBBASE = %08lx\n", VBBASE);
-+      s += sprintf(s, "GDRCTRL = %08lx\n", GDRCTRL);
-+      s += sprintf(s, "VCMSK = %08lx\n", VCMSK);
-+      s += sprintf(s, "GSCADR = %08lx\n", GSCADR);
-+      s += sprintf(s, "VSCADR = %08lx\n", VSCADR);
-+      s += sprintf(s, "VUBASE = %08lx\n", VUBASE);
-+      s += sprintf(s, "VVBASE = %08lx\n", VVBASE);
-+      s += sprintf(s, "GSADR = %08lx\n", GSADR);
-+      s += sprintf(s, "VSADR = %08lx\n", VSADR);
-+      s += sprintf(s, "HCCTRL = %08lx\n", HCCTRL);
-+      s += sprintf(s, "HCSIZE = %08lx\n", HCSIZE);
-+      s += sprintf(s, "HCPOS = %08lx\n", HCPOS);
-+      s += sprintf(s, "HCBADR = %08lx\n", HCBADR);
-+      s += sprintf(s, "HCCKMSK = %08lx\n", HCCKMSK);
-+      s += sprintf(s, "GPLUT = %08lx\n", GPLUT);
-+      return (s - buf);
-+}
-+
-+static ssize_t gsctl_store(struct class_device * subsys, const char * buf, size_t n)
-+{
-+      return n;
-+}
-+
-+static ssize_t display_show(struct class_device * subsys, char * buf)
-+{
-+      char * s = buf;
-+
-+      s += sprintf(s, "DSCTRL = %08lx\n", DSCTRL);
-+      s += sprintf(s, "DHT01 = %08lx\n", DHT01);
-+      s += sprintf(s, "DHT02 = %08lx\n", DHT02);
-+      s += sprintf(s, "DHT03 = %08lx\n", DHT03);
-+      s += sprintf(s, "DVT01 = %08lx\n", DVT01);
-+      s += sprintf(s, "DVT02 = %08lx\n", DVT02);
-+      s += sprintf(s, "DVT03 = %08lx\n", DVT03);
-+      s += sprintf(s, "DBCOL = %08lx\n", DBCOL);
-+      s += sprintf(s, "BGCOLOR = %08lx\n", BGCOLOR);
-+      s += sprintf(s, "DINTRS = %08lx\n", DINTRS);
-+      s += sprintf(s, "DINTRE = %08lx\n", DINTRE);
-+      s += sprintf(s, "DINTRCNT = %08lx\n", DINTRCNT);
-+      s += sprintf(s, "DSIG = %08lx\n", DSIG);
-+      s += sprintf(s, "DMCTRL = %08lx\n", DMCTRL);
-+      s += sprintf(s, "CLIPCTRL = %08lx\n", CLIPCTRL);
-+      s += sprintf(s, "SPOCTRL = %08lx\n", SPOCTRL);
-+      s += sprintf(s, "SVCTRL = %08lx\n", SVCTRL);
-+      s += sprintf(s, "DLSTS = %08lx\n", DLSTS);
-+      s += sprintf(s, "DLLCTRL = %08lx\n", DLLCTRL);
-+      s += sprintf(s, "DVLNUM = %08lx\n", DVLNUM);
-+      s += sprintf(s, "DUCTRL = %08lx\n", DUCTRL);
-+      s += sprintf(s, "DVECTRL = %08lx\n", DVECTRL);
-+      s += sprintf(s, "DHDET = %08lx\n", DHDET);
-+      s += sprintf(s, "DVDET = %08lx\n", DVDET);
-+      s += sprintf(s, "DODMSK = %08lx\n", DODMSK);
-+      s += sprintf(s, "CSC01 = %08lx\n", CSC01);
-+      s += sprintf(s, "CSC02 = %08lx\n", CSC02);
-+      s += sprintf(s, "CSC03 = %08lx\n", CSC03);
-+      s += sprintf(s, "CSC04 = %08lx\n", CSC04);
-+      s += sprintf(s, "CSC05 = %08lx\n", CSC05);
-+      return (s - buf);
-+}
-+
-+static ssize_t display_store(struct class_device * subsys, const char * buf, size_t n)
-+{
-+      return n;
-+}
-+
-+static ssize_t clock_show(struct class_device * subsys, char * buf)
-+{
-+      char * s = buf;
-+
-+      s += sprintf(s, "SYSCLKSRC = %08lx\n", SYSCLKSRC);
-+      s += sprintf(s, "PIXCLKSRC = %08lx\n", PIXCLKSRC);
-+      s += sprintf(s, "CLKSLEEP = %08lx\n", CLKSLEEP);
-+      s += sprintf(s, "COREPLL = %08lx\n", COREPLL);
-+      s += sprintf(s, "DISPPLL = %08lx\n", DISPPLL);
-+      s += sprintf(s, "PLLSTAT = %08lx\n", PLLSTAT);
-+      s += sprintf(s, "VOVRCLK = %08lx\n", VOVRCLK);
-+      s += sprintf(s, "PIXCLK = %08lx\n", PIXCLK);
-+      s += sprintf(s, "MEMCLK = %08lx\n", MEMCLK);
-+      s += sprintf(s, "M24CLK = %08lx\n", M24CLK);
-+      s += sprintf(s, "MBXCLK = %08lx\n", MBXCLK);
-+      s += sprintf(s, "SDCLK = %08lx\n", SDCLK);
-+      s += sprintf(s, "PIXCLKDIV = %08lx\n", PIXCLKDIV);
-+      return (s - buf);
-+}
-+
-+static ssize_t clock_store(struct class_device * subsys, const char * buf, size_t n)
-+{
-+      return n;
-+}
-+
-+static struct class_device_attribute mbx_class_attrs[] = {
-+      __ATTR(sysconf,0644,sysconf_show,sysconf_store),
-+      __ATTR(gsctl,0644,gsctl_show,gsctl_store),
-+      __ATTR(display,0644,display_show,display_store),
-+      __ATTR(clock,0644,clock_show,clock_store),
-+};
-+
-+
-+static void mbxfb_sysfs_register(struct fb_info *fbi)
-+{
-+      int i;
-+      for (i = 0; i < ARRAY_SIZE(mbx_class_attrs); i++)
-+              class_device_create_file(fbi->class_device,
-+                                       &mbx_class_attrs[i]);
-+}
-diff --git a/drivers/video/mbx/reg_bits.h b/drivers/video/mbx/reg_bits.h
-new file mode 100644
-index 0000000..be152f6
---- /dev/null
-+++ b/drivers/video/mbx/reg_bits.h
-@@ -0,0 +1,489 @@
-+#ifndef __REG_BITS_2700G_
-+#define __REG_BITS_2700G_
-+
-+/* /\* System Configuration Registers (0x03FE_0000  0x03FE_0010) *\/ */
-+/* #define SYSCFG             __REG_2700G(0x03FE0000) */
-+/* #define PFBASE             __REG_2700G(0x03FE0004) */
-+/* #define PFCEIL             __REG_2700G(0x03FE0008) */
-+/* #define POLLFLAG   __REG_2700G(0x03FE000C) */
-+
-+#define SYSRST_RST    (1 << 0)
-+
-+/* /\* Interrupt Control Registers (0x03FE_0014  0x03FE_002F) *\/ */
-+/* #define NINTPW             __REG_2700G(0x03FE0014) */
-+/* #define MINTENABLE __REG_2700G(0x03FE0018) */
-+/* #define MINTSTAT   __REG_2700G(0x03FE001C) */
-+/* #define SINTENABLE __REG_2700G(0x03FE0020) */
-+/* #define SINTSTAT   __REG_2700G(0x03FE0024) */
-+/* #define SINTCLR            __REG_2700G(0x03FE0028) */
-+
-+/* SYSCLKSRC - SYSCLK Source Control Register */
-+#define SYSCLKSRC_SEL Fld(2,0)
-+#define SYSCLKSRC_REF ((0x0) << FShft(SYSCLKSRC_SEL))
-+#define SYSCLKSRC_PLL_1       ((0x1) << FShft(SYSCLKSRC_SEL))
-+#define SYSCLKSRC_PLL_2       ((0x2) << FShft(SYSCLKSRC_SEL))
-+
-+/* PIXCLKSRC - PIXCLK Source Control Register */
-+#define PIXCLKSRC_SEL Fld(2,0)
-+#define PIXCLKSRC_REF ((0x0) << FShft(PIXCLKSRC_SEL))
-+#define PIXCLKSRC_PLL_1       ((0x1) << FShft(PIXCLKSRC_SEL))
-+#define PIXCLKSRC_PLL_2       ((0x2) << FShft(PIXCLKSRC_SEL))
-+
-+/* Clock Disable Register */
-+#define CLKSLEEP_SLP  (1 << 0)
-+
-+/* Core PLL Control Register */
-+#define CORE_PLL_M    Fld(6,7)
-+#define Core_Pll_M(x) ((x) << FShft(CORE_PLL_M))
-+#define CORE_PLL_N    Fld(3,4)
-+#define Core_Pll_N(x) ((x) << FShft(CORE_PLL_N))
-+#define CORE_PLL_P    Fld(3,1)
-+#define Core_Pll_P(x) ((x) << FShft(CORE_PLL_P))
-+#define CORE_PLL_EN   (1 << 0)
-+
-+/* Display PLL Control Register */
-+#define DISP_PLL_M    Fld(6,7)
-+#define Disp_Pll_M(x) ((x) << FShft(DISP_PLL_M))
-+#define DISP_PLL_N    Fld(3,4)
-+#define Disp_Pll_N(x) ((x) << FShft(DISP_PLL_N))
-+#define DISP_PLL_P    Fld(3,1)
-+#define Disp_Pll_P(x) ((x) << FShft(DISP_PLL_P))
-+#define DISP_PLL_EN   (1 << 0)
-+
-+/* PLL status register */
-+#define PLLSTAT_CORE_PLL_LOST_L       (1 << 3)
-+#define PLLSTAT_CORE_PLL_LSTS (1 << 2)
-+#define PLLSTAT_DISP_PLL_LOST_L       (1 << 1)
-+#define PLLSTAT_DISP_PLL_LSTS (1 << 0)
-+
-+/* Video and scale clock control register */
-+#define VOVRCLK_EN    (1 << 0)
-+
-+/* Pixel clock control register */
-+#define PIXCLK_EN     (1 << 0)
-+
-+/* Memory clock control register */
-+#define MEMCLK_EN     (1 << 0)
-+
-+/* MBX clock control register */
-+#define MBXCLK_DIV    Fld(2,2)
-+#define MBXCLK_DIV_1  ((0x0) << FShft(MBXCLK_DIV))
-+#define MBXCLK_DIV_2  ((0x1) << FShft(MBXCLK_DIV))
-+#define MBXCLK_DIV_3  ((0x2) << FShft(MBXCLK_DIV))
-+#define MBXCLK_DIV_4  ((0x3) << FShft(MBXCLK_DIV))
-+#define MBXCLK_EN     Fld(2,0)
-+#define MBXCLK_EN_NONE        ((0x0) << FShft(MBXCLK_EN))
-+#define MBXCLK_EN_2D  ((0x1) << FShft(MBXCLK_EN))
-+#define MBXCLK_EN_BOTH        ((0x2) << FShft(MBXCLK_EN))
-+
-+/* M24 clock control register */
-+#define M24CLK_DIV    Fld(2,1)
-+#define M24CLK_DIV_1  ((0x0) << FShft(M24CLK_DIV))
-+#define M24CLK_DIV_2  ((0x1) << FShft(M24CLK_DIV))
-+#define M24CLK_DIV_3  ((0x2) << FShft(M24CLK_DIV))
-+#define M24CLK_DIV_4  ((0x3) << FShft(M24CLK_DIV))
-+#define M24CLK_EN     (1 << 0)
-+
-+/* SDRAM clock control register */
-+#define SDCLK_EN      (1 << 0)
-+
-+/* PixClk Divisor Register */
-+#define PIXCLKDIV_PD  Fld(9,0)
-+#define Pixclkdiv_Pd(x)       ((x) << FShft(PIXCLKDIV_PD))
-+
-+/* LCD Config control register */ 
-+#define LCDCFG_IN_FMT Fld(3,28)
-+#define Lcdcfg_In_Fmt(x)      ((x) << FShft(LCDCFG_IN_FMT))
-+#define LCDCFG_LCD1DEN_POL    (1 << 27)
-+#define LCDCFG_LCD1FCLK_POL   (1 << 26)
-+#define LCDCFG_LCD1LCLK_POL   (1 << 25)
-+#define LCDCFG_LCD1D_POL      (1 << 24)
-+#define LCDCFG_LCD2DEN_POL    (1 << 23)
-+#define LCDCFG_LCD2FCLK_POL   (1 << 22)
-+#define LCDCFG_LCD2LCLK_POL   (1 << 21)
-+#define LCDCFG_LCD2D_POL      (1 << 20)
-+#define LCDCFG_LCD1_TS                (1 << 19)
-+#define LCDCFG_LCD1D_DS               (1 << 18)
-+#define LCDCFG_LCD1C_DS               (1 << 17)
-+#define LCDCFG_LCD1_IS_IN     (1 << 16)
-+#define LCDCFG_LCD2_TS                (1 << 3)
-+#define LCDCFG_LCD2D_DS               (1 << 2)
-+#define LCDCFG_LCD2C_DS               (1 << 1)
-+#define LCDCFG_LCD2_IS_IN     (1 << 0)
-+
-+/* On-Die Frame Buffer Power Control Register */
-+#define ODFBPWR_SLOW  (1 << 2)
-+#define ODFBPWR_MODE  Fld(2,0)
-+#define ODFBPWR_MODE_ACT      ((0x0) << FShft(ODFBPWR_MODE))
-+#define ODFBPWR_MODE_ACT_LP   ((0x1) << FShft(ODFBPWR_MODE))
-+#define ODFBPWR_MODE_SLEEP    ((0x2) << FShft(ODFBPWR_MODE))
-+#define ODFBPWR_MODE_SHUTD    ((0x3) << FShft(ODFBPWR_MODE))
-+
-+/* On-Die Frame Buffer Power State Status Register */
-+#define ODFBSTAT_ACT  (1 << 2)
-+#define ODFBSTAT_SLP  (1 << 1)
-+#define ODFBSTAT_SDN  (1 << 0)
-+
-+/* /\* GPIO Registers (0x03FE_006C  0x03FE_007F) *\/ */
-+/* #define GPIOCGF            __REG_2700G(0x03FE006C) */
-+/* #define GPIOHI             __REG_2700G(0x03FE0070) */
-+/* #define GPIOLO             __REG_2700G(0x03FE0074) */
-+/* #define GPIOSTAT   __REG_2700G(0x03FE0078) */
-+
-+/* /\* Pulse Width Modulator (PWM) Registers (0x03FE_0200  0x03FE_02FF) *\/ */
-+/* #define PWMRST             __REG_2700G(0x03FE0200) */
-+/* #define PWMCFG             __REG_2700G(0x03FE0204) */
-+/* #define PWM0DIV            __REG_2700G(0x03FE0210) */
-+/* #define PWM0DUTY   __REG_2700G(0x03FE0214) */
-+/* #define PWM0PER            __REG_2700G(0x03FE0218) */
-+/* #define PWM1DIV            __REG_2700G(0x03FE0220) */
-+/* #define PWM1DUTY   __REG_2700G(0x03FE0224) */
-+/* #define PWM1PER            __REG_2700G(0x03FE0228) */
-+
-+
-+/* LMRST - Local Memory (SDRAM) Reset */
-+#define LMRST_MC_RST  (1 << 0)
-+
-+/* LMCFG - Local Memory (SDRAM) Configuration Register */
-+#define LMCFG_LMC_DS  (1 << 5)
-+#define LMCFG_LMD_DS  (1 << 4)
-+#define LMCFG_LMA_DS  (1 << 3)
-+#define LMCFG_LMC_TS  (1 << 2)
-+#define LMCFG_LMD_TS  (1 << 1)
-+#define LMCFG_LMA_TS  (1 << 0)
-+
-+/* LMPWR - Local Memory (SDRAM) Power Control Register */
-+#define LMPWR_MC_PWR_CNT      Fld(2,0)
-+#define LMPWR_MC_PWR_ACT      ((0x0) << FShft(LMPWR_MC_PWR_CNT)) /* Active */
-+#define LMPWR_MC_PWR_SRM      ((0x1) << FShft(LMPWR_MC_PWR_CNT)) /* Self-refresh */
-+#define LMPWR_MC_PWR_DPD      ((0x3) << FShft(LMPWR_MC_PWR_CNT)) /* deep power down */
-+
-+/* LMPWRSTAT - Local Memory (SDRAM) Power Status Register */
-+#define LMPWRSTAT_MC_PWR_CNT  Fld(2,0)
-+#define LMPWRSTAT_MC_PWR_ACT  ((0x0) << FShft(LMPWRSTAT_MC_PWR_CNT)) /* Active */
-+#define LMPWRSTAT_MC_PWR_SRM  ((0x1) << FShft(LMPWRSTAT_MC_PWR_CNT)) /* Self-refresh */
-+#define LMPWRSTAT_MC_PWR_DPD  ((0x3) << FShft(LMPWRSTAT_MC_PWR_CNT)) /* deep power down */
-+
-+/* LMTYPE - Local Memory (SDRAM) Type Register */
-+#define LMTYPE_CASLAT Fld(3,10)
-+#define LMTYPE_CASLAT_1       ((0x1) << FShft(LMTYPE_CASLAT))
-+#define LMTYPE_CASLAT_2       ((0x2) << FShft(LMTYPE_CASLAT))
-+#define LMTYPE_CASLAT_3       ((0x3) << FShft(LMTYPE_CASLAT))
-+#define LMTYPE_BKSZ   Fld(2,8)
-+#define LMTYPE_BKSZ_1 ((0x1) << FShft(LMTYPE_BKSZ))
-+#define LMTYPE_BKSZ_2 ((0x2) << FShft(LMTYPE_BKSZ))
-+#define LMTYPE_ROWSZ  Fld(4,4)
-+#define LMTYPE_ROWSZ_11       ((0xb) << FShft(LMTYPE_ROWSZ))
-+#define LMTYPE_ROWSZ_12       ((0xc) << FShft(LMTYPE_ROWSZ))
-+#define LMTYPE_ROWSZ_13       ((0xd) << FShft(LMTYPE_ROWSZ))
-+#define LMTYPE_COLSZ  Fld(4,0)
-+#define LMTYPE_COLSZ_7        ((0x7) << FShft(LMTYPE_COLSZ))
-+#define LMTYPE_COLSZ_8        ((0x8) << FShft(LMTYPE_COLSZ))
-+#define LMTYPE_COLSZ_9        ((0x9) << FShft(LMTYPE_COLSZ))
-+#define LMTYPE_COLSZ_10       ((0xa) << FShft(LMTYPE_COLSZ))
-+#define LMTYPE_COLSZ_11       ((0xb) << FShft(LMTYPE_COLSZ))
-+#define LMTYPE_COLSZ_12       ((0xc) << FShft(LMTYPE_COLSZ))
-+
-+/* LMTIM - Local Memory (SDRAM) Timing Register */
-+#define LMTIM_TRAS    Fld(4,16)
-+#define Lmtim_Tras(x) ((x) << FShft(LMTIM_TRAS))
-+#define LMTIM_TRP     Fld(4,12)
-+#define Lmtim_Trp(x)  ((x) << FShft(LMTIM_TRP))
-+#define LMTIM_TRCD    Fld(4,8)
-+#define Lmtim_Trcd(x) ((x) << FShft(LMTIM_TRCD))
-+#define LMTIM_TRC     Fld(4,4)
-+#define Lmtim_Trc(x)  ((x) << FShft(LMTIM_TRC))
-+#define LMTIM_TDPL    Fld(4,0)
-+#define Lmtim_Tdpl(x) ((x) << FShft(LMTIM_TDPL))
-+
-+/* LMREFRESH - Local Memory (SDRAM) tREF Control Register */
-+#define LMREFRESH_TREF        Fld(2,0)
-+#define Lmrefresh_Tref(x)     ((x) << FShft(LMREFRESH_TREF))
-+
-+/* #define LMCEMR     __REG_2700G(0x03FE1010) */
-+/* #define LMPROTMIN  __REG_2700G(0x03FE1020) */
-+/* #define LMPROTMAX  __REG_2700G(0x03FE1024) */
-+/* #define LMPROTCFG  __REG_2700G(0x03FE1028) */
-+/* #define LMPROTERR  __REG_2700G(0x03FE102C) */
-+
-+/* GSCTRL - Graphics surface control register */
-+#define GSCTRL_LUT_EN (1 << 31)
-+#define GSCTRL_GPIXFMT        Fld(4,27)
-+#define GSCTRL_GPIXFMT_INDEXED        ((0x0) << FShft(GSCTRL_GPIXFMT))
-+#define GSCTRL_GPIXFMT_ARGB4444       ((0x4) << FShft(GSCTRL_GPIXFMT))
-+#define GSCTRL_GPIXFMT_ARGB1555       ((0x5) << FShft(GSCTRL_GPIXFMT))
-+#define GSCTRL_GPIXFMT_RGB888 ((0x6) << FShft(GSCTRL_GPIXFMT))
-+#define GSCTRL_GPIXFMT_RGB565 ((0x7) << FShft(GSCTRL_GPIXFMT))
-+#define GSCTRL_GPIXFMT_ARGB8888       ((0x8) << FShft(GSCTRL_GPIXFMT))
-+#define GSCTRL_GAMMA_EN       (1 << 26)
-+
-+#define GSCTRL_GSWIDTH Fld(11,11)
-+#define Gsctrl_Width(Pixel)   /* Display Width [1..2048 pix.]  */ \
-+                        (((Pixel) - 1) << FShft(GSCTRL_GSWIDTH))
-+
-+#define GSCTRL_GSHEIGHT Fld(11,0)
-+#define Gsctrl_Height(Pixel)  /* Display Height [1..2048 pix.]  */ \
-+                        (((Pixel) - 1) << FShft(GSCTRL_GSHEIGHT))
-+
-+/* GBBASE fileds */
-+#define GBBASE_GLALPHA Fld(8,24)
-+#define Gbbase_Glalpha(x)     ((x) << FShft(GBBASE_GLALPHA))
-+
-+#define GBBASE_COLKEY Fld(24,0)
-+#define Gbbase_Colkey(x)      ((x) << FShft(GBBASE_COLKEY))
-+
-+/* GDRCTRL fields */
-+#define GDRCTRL_PIXDBL        (1 << 31)
-+#define GDRCTRL_PIXHLV        (1 << 30)
-+#define GDRCTRL_LNDBL (1 << 29)
-+#define GDRCTRL_LNHLV (1 << 28)
-+#define GDRCTRL_COLKEYM       Fld(24,0)
-+#define Gdrctrl_Colkeym(x)    ((x) << FShft(GDRCTRL_COLKEYM))
-+
-+/* GSCADR graphics stream control address register fields */
-+#define GSCADR_STR_EN (1 << 31)
-+#define GSCADR_COLKEY_EN      (1 << 30)
-+#define GSCADR_COLKEYSCR      (1 << 29)
-+#define GSCADR_BLEND_M        Fld(2,27)
-+#define GSCADR_BLEND_NONE     ((0x0) << FShft(GSCADR_BLEND_M))
-+#define GSCADR_BLEND_INV      ((0x1) << FShft(GSCADR_BLEND_M))
-+#define GSCADR_BLEND_GLOB     ((0x2) << FShft(GSCADR_BLEND_M))
-+#define GSCADR_BLEND_PIX      ((0x3) << FShft(GSCADR_BLEND_M))
-+#define GSCADR_BLEND_POS      Fld(2,24)
-+#define GSCADR_BLEND_GFX      ((0x0) << FShft(GSCADR_BLEND_POS))
-+#define GSCADR_BLEND_VID      ((0x1) << FShft(GSCADR_BLEND_POS))
-+#define GSCADR_BLEND_CUR      ((0x2) << FShft(GSCADR_BLEND_POS))
-+#define GSCADR_GBASE_ADR      Fld(23,0)
-+#define Gscadr_Gbase_Adr(x)   ((x) << FShft(GSCADR_GBASE_ADR))
-+
-+/* GSADR graphics stride address register fields */
-+#define GSADR_SRCSTRIDE       Fld(10,22)
-+#define Gsadr_Srcstride(x)    ((x) << FShft(GSADR_SRCSTRIDE))
-+#define GSADR_XSTART  Fld(11,11)
-+#define Gsadr_Xstart(x)               ((x) << FShft(GSADR_XSTART))
-+#define GSADR_YSTART  Fld(11,0)
-+#define Gsadr_Ystart(y)               ((y) << FShft(GSADR_YSTART))
-+
-+/* GPLUT graphics palette register fields */
-+#define GPLUT_LUTADR  Fld(8,24)
-+#define Gplut_Lutadr(x)       ((x) << FShft(GPLUT_LUTADR))
-+#define GPLUT_LUTDATA Fld(24,0)
-+#define Gplut_Lutdata(x)      ((x) << FShft(GPLUT_LUTDATA))
-+
-+/* #define VSCTRL             __REG_2700G(0x03FE2004) */
-+/* #define VBBASE             __REG_2700G(0x03FE2024) */
-+/* #define VCMSK              __REG_2700G(0x03FE2044) */
-+/* #define VSCADR             __REG_2700G(0x03FE2064) */
-+/* #define VUBASE             __REG_2700G(0x03FE2084) */
-+/* #define VVBASE             __REG_2700G(0x03FE20A4) */
-+/* #define VSADR              __REG_2700G(0x03FE20C4) */
-+
-+
-+/* HCCTRL - Hardware Cursor Register fields */
-+#define HCCTRL_CUR_EN (1 << 31)
-+#define HCCTRL_COLKEY_EN      (1 << 29)
-+#define HCCTRL_COLKEYSRC      (1 << 28)
-+#define HCCTRL_BLEND_M        Fld(2,26)
-+#define HCCTRL_BLEND_NONE     ((0x0) << FShft(HCCTRL_BLEND_M))
-+#define HCCTRL_BLEND_INV      ((0x1) << FShft(HCCTRL_BLEND_M))
-+#define HCCTRL_BLEND_GLOB     ((0x2) << FShft(HCCTRL_BLEND_M))
-+#define HCCTRL_BLEND_PIX      ((0x3) << FShft(HCCTRL_BLEND_M))
-+#define HCCTRL_CPIXFMT        Fld(3,23)
-+#define HCCTRL_CPIXFMT_RGB332 ((0x3) << FShft(HCCTRL_CPIXFMT))
-+#define HCCTRL_CPIXFMT_ARGB4444       ((0x4) << FShft(HCCTRL_CPIXFMT))
-+#define HCCTRL_CPIXFMT_ARGB1555       ((0x5) << FShft(HCCTRL_CPIXFMT))
-+#define HCCTRL_CBASE_ADR      Fld(23,0)
-+#define Hcctrl_Cbase_Adr(x)   ((x) << FShft(HCCTRL_CBASE_ADR))
-+
-+/* HCSIZE Hardware Cursor Size Register fields */
-+#define HCSIZE_BLEND_POS      Fld(2,29)
-+#define HCSIZE_BLEND_GFX      ((0x0) << FShft(HCSIZE_BLEND_POS))
-+#define HCSIZE_BLEND_VID      ((0x1) << FShft(HCSIZE_BLEND_POS))
-+#define HCSIZE_BLEND_CUR      ((0x2) << FShft(HCSIZE_BLEND_POS))
-+#define HCSIZE_CWIDTH Fld(3,16)
-+#define Hcsize_Cwidth(x)      ((x) << FShft(HCSIZE_CWIDTH))
-+#define HCSIZE_CHEIGHT        Fld(3,0)
-+#define Hcsize_Cheight(x)     ((x) << FShft(HCSIZE_CHEIGHT))
-+
-+/* HCPOS Hardware Cursor Position Register fields */
-+#define HCPOS_SWITCHSRC       (1 << 30)
-+#define HCPOS_CURBLINK        Fld(6,24)
-+#define Hcpos_Curblink(x)     ((x) << FShft(HCPOS_CURBLINK))
-+#define HCPOS_XSTART  Fld(12,12)
-+#define Hcpos_Xstart(x)       ((x) << FShft(HCPOS_XSTART))
-+#define HCPOS_YSTART  Fld(12,0)
-+#define Hcpos_Ystart(y)       ((y) << FShft(HCPOS_YSTART))
-+
-+/* HCBADR Hardware Cursor Blend Address Register */
-+#define HCBADR_GLALPHA        Fld(8,24)
-+#define Hcbadr_Glalpha(x)     ((x) << FShft(HCBADR_GLALPHA))
-+#define HCBADR_COLKEY Fld(24,0)
-+#define Hcbadr_Colkey(x)      ((x) << FShft(HCBADR_COLKEY))
-+
-+/* HCCKMSK - Hardware Cursor Color Key Mask Register */
-+#define HCCKMSK_COLKEY_M      Fld(24,0)
-+#define Hcckmsk_Colkey_M(x)   ((x) << FShft(HCCKMSK_COLKEY_M))
-+
-+/* DSCTRL - Display sync control register */
-+#define DSCTRL_SYNCGEN_EN     (1 << 31)
-+#define DSCTRL_DPL_RST                (1 << 29)
-+#define DSCTRL_PWRDN_M                (1 << 28)
-+#define DSCTRL_UPDSYNCCNT     (1 << 26)
-+#define DSCTRL_UPDINTCNT      (1 << 25)
-+#define DSCTRL_UPDCNT         (1 << 24)
-+#define DSCTRL_UPDWAIT        Fld(4,16)
-+#define Dsctrl_Updwait(x)     ((x) << FShft(DSCTRL_UPDWAIT))
-+#define DSCTRL_CLKPOL         (1 << 11)
-+#define DSCTRL_CSYNC_EN               (1 << 10)
-+#define DSCTRL_VS_SLAVE               (1 << 7)
-+#define DSCTRL_HS_SLAVE               (1 << 6)
-+#define DSCTRL_BLNK_POL               (1 << 5)
-+#define DSCTRL_BLNK_DIS               (1 << 4)
-+#define DSCTRL_VS_POL         (1 << 3)
-+#define DSCTRL_VS_DIS         (1 << 2)
-+#define DSCTRL_HS_POL         (1 << 1)
-+#define DSCTRL_HS_DIS         (1 << 0)
-+
-+/* DHT01 - Display horizontal timing register 01 */
-+#define DHT01_HBPS    Fld(12,16)
-+#define Dht01_Hbps(x) ((x) << FShft(DHT01_HBPS))
-+#define DHT01_HT      Fld(12,0)
-+#define Dht01_Ht(x)   ((x) << FShft(DHT01_HT))
-+
-+/* DHT02 - Display horizontal timing register 02 */
-+#define DHT02_HAS     Fld(12,16)
-+#define Dht02_Has(x)  ((x) << FShft(DHT02_HAS))
-+#define DHT02_HLBS    Fld(12,0)
-+#define Dht02_Hlbs(x) ((x) << FShft(DHT02_HLBS))
-+
-+/* DHT03 - Display horizontal timing register 03 */
-+#define DHT03_HFPS    Fld(12,16)
-+#define Dht03_Hfps(x) ((x) << FShft(DHT03_HFPS))
-+#define DHT03_HRBS    Fld(12,0)
-+#define Dht03_Hrbs(x) ((x) << FShft(DHT03_HRBS))
-+
-+/* DVT01 - Display vertical timing register 01 */
-+#define DVT01_VBPS    Fld(12,16)
-+#define Dvt01_Vbps(x) ((x) << FShft(DVT01_VBPS))
-+#define DVT01_VT      Fld(12,0)
-+#define Dvt01_Vt(x)   ((x) << FShft(DVT01_VT))
-+
-+/* DVT02 - Display vertical timing register 02 */
-+#define DVT02_VAS     Fld(12,16)
-+#define Dvt02_Vas(x)  ((x) << FShft(DVT02_VAS))
-+#define DVT02_VTBS    Fld(12,0)
-+#define Dvt02_Vtbs(x) ((x) << FShft(DVT02_VTBS))
-+
-+/* DVT03 - Display vertical timing register 03 */
-+#define DVT03_VFPS    Fld(12,16)
-+#define Dvt03_Vfps(x) ((x) << FShft(DVT03_VFPS))
-+#define DVT03_VBBS    Fld(12,0)
-+#define Dvt03_Vbbs(x) ((x) << FShft(DVT03_VBBS))
-+
-+/* DVECTRL - display vertical event control register */
-+#define DVECTRL_VEVENT        Fld(12,16)
-+#define Dvectrl_Vevent(x)     ((x) << FShft(DVECTRL_VEVENT))
-+#define DVECTRL_VFETCH        Fld(12,0)
-+#define Dvectrl_Vfetch(x)     ((x) << FShft(DVECTRL_VFETCH))
-+
-+/* DHDET - display horizontal DE timing register */
-+#define DHDET_HDES    Fld(12,16)
-+#define Dhdet_Hdes(x) ((x) << FShft(DHDET_HDES))
-+#define DHDET_HDEF    Fld(12,0)
-+#define Dhdet_Hdef(x) ((x) << FShft(DHDET_HDEF))
-+
-+/* DVDET - display vertical DE timing register */
-+#define DVDET_VDES    Fld(12,16)
-+#define Dvdet_Vdes(x) ((x) << FShft(DVDET_VDES))
-+#define DVDET_VDEF    Fld(12,0)
-+#define Dvdet_Vdef(x) ((x) << FShft(DVDET_VDEF))
-+
-+/* DODMSK - display output data mask register */
-+#define DODMSK_MASK_LVL       (1 << 31)
-+#define DODMSK_BLNK_LVL       (1 << 30)
-+#define DODMSK_MASK_B Fld(8,16)
-+#define Dodmsk_Mask_B(x)      ((x) << FShft(DODMSK_MASK_B))
-+#define DODMSK_MASK_G Fld(8,8)
-+#define Dodmsk_Mask_G(x)      ((x) << FShft(DODMSK_MASK_G))
-+#define DODMSK_MASK_R Fld(8,0)
-+#define Dodmsk_Mask_R(x)      ((x) << FShft(DODMSK_MASK_R))
-+
-+/* DBCOL - display border color control register */
-+#define DBCOL_BORDCOL Fld(24,0)
-+#define Dbcol_Bordcol(x)      ((x) << FShft(DBCOL_BORDCOL))   
-+
-+/* DVLNUM - display vertical line number register */
-+#define DVLNUM_VLINE  Fld(12,0)
-+#define Dvlnum_Vline(x)       ((x) << FShft(DVLNUM_VLINE))
-+
-+/* DMCTRL - Display Memory Control Register */
-+#define DMCTRL_MEM_REF        Fld(2,30)
-+#define DMCTRL_MEM_REF_ACT    ((0x0) << FShft(DMCTRL_MEM_REF))
-+#define DMCTRL_MEM_REF_HB     ((0x1) << FShft(DMCTRL_MEM_REF))
-+#define DMCTRL_MEM_REF_VB     ((0x2) << FShft(DMCTRL_MEM_REF))
-+#define DMCTRL_MEM_REF_BOTH   ((0x3) << FShft(DMCTRL_MEM_REF))
-+#define DMCTRL_UV_THRHLD      Fld(6,24)
-+#define Dmctrl_Uv_Thrhld(x)   ((x) << FShft(DMCTRL_UV_THRHLD))
-+#define DMCTRL_V_THRHLD               Fld(7,16)
-+#define Dmctrl_V_Thrhld(x)    ((x) << FShft(DMCTRL_V_THRHLD))
-+#define DMCTRL_D_THRHLD               Fld(7,8)
-+#define Dmctrl_D_Thrhld(x)    ((x) << FShft(DMCTRL_D_THRHLD))
-+#define DMCTRL_BURSTLEN       Fld(6,0)
-+#define Dmctrl_Burstlen(x)    ((x) << FShft(DMCTRL_BURSTLEN))
-+
-+
-+/* DLSTS - display load status register */
-+#define DLSTS_RLD_ADONE       (1 << 23)
-+/* #define DLSTS_RLD_ADOUT    Fld(23,0) */
-+
-+/* DLLCTRL - display list load control register */
-+#define DLLCTRL_RLD_ADRLN     Fld(8,24)
-+#define Dllctrl_Rld_Adrln(x)  ((x) << FShft(DLLCTRL_RLD_ADRLN))
-+
-+/* #define DSIG               __REG_2700G(0x03FE2184) */
-+/* #define DINTRS             __REG_2700G(0x03FE2178) */
-+/* #define DINTRE             __REG_2700G(0x03FE217C) */
-+/* #define DINTRCNT   __REG_2700G(0x03FE2180) */
-+/* #define DUCTRL             __REG_2700G(0x03FE230C) */
-+
-+/* BGCOLOR - background color control register */
-+/* #define BGCOLOR            __REG_2700G(0x03FE2174) */
-+
-+/* #define CLIPCTRL   __REG_2700G(0x03FE218C) */
-+/* SPOCTRL - Scale Pitch/Order Control Register */
-+#define SPOCTRL_H_SC_BP               (1 << 31)
-+#define SPOCTRL_V_SC_BP               (1 << 30)
-+#define SPOCTRL_HV_SC_OR      (1 << 29)
-+#define SPOCTRL_VS_UR_C               (1 << 27)
-+#define SPOCTRL_VORDER        Fld(2,16)
-+#define SPOCTRL_VORDER_1TAP   ((0x0) << FShft(SPOCTRL_VORDER))
-+#define SPOCTRL_VORDER_2TAP   ((0x1) << FShft(SPOCTRL_VORDER))
-+#define SPOCTRL_VORDER_4TAP   ((0x3) << FShft(SPOCTRL_VORDER))
-+#define SPOCTRL_VPITCH        Fld(16,0)
-+#define Spoctrl_Vpitch(x)     ((x) << FShft(SPOCTRL_VPITCH))
-+
-+/* #define SVCTRL             __REG_2700G(0x03FE2194) */
-+
-+/* /\* 0x03FE_2198 *\/ */
-+/* /\* 0x03FE_21A8 VSCOEFF[0:4] Video Scalar Vertical Coefficient [0:4] 4.14.5 *\/ */
-+
-+/* #define SHCTRL             __REG_2700G(0x03FE21B0) */
-+
-+/* /\* 0x03FE_21B4 *\/ */
-+/* /\* 0x03FE_21D4 HSCOEFF[0:8] Video Scalar Horizontal Coefficient [0:8] 4.14.7 *\/ */
-+
-+/* #define SSSIZE             __REG_2700G(0x03FE21D8) */
-+
-+/* /\* 0x03FE_2200 *\/ */
-+/* /\* 0x03FE_2240 VIDGAM[0:16] Video Gamma LUT Index [0:16] 4.15.2 *\/ */
-+
-+/* /\* 0x03FE_2250 *\/ */
-+/* /\* 0x03FE_2290 GFXGAM[0:16] Graphics Gamma LUT Index [0:16] 4.15.3 *\/ */
-+
-+/* #define CSC01              __REG_2700G(0x03FE2330) */
-+/* #define CSC02              __REG_2700G(0x03FE2334) */
-+/* #define CSC03              __REG_2700G(0x03FE2338) */
-+/* #define CSC04              __REG_2700G(0x03FE233C) */
-+/* #define CSC05              __REG_2700G(0x03FE2340) */
-+
-+#endif /* __REG_BITS_2700G_ */
-diff --git a/drivers/video/mbx/regs.h b/drivers/video/mbx/regs.h
-new file mode 100644
-index 0000000..edf0f14
---- /dev/null
-+++ b/drivers/video/mbx/regs.h
-@@ -0,0 +1,192 @@
-+#ifndef __REGS_2700G_
-+#define __REGS_2700G_
-+
-+/* extern unsigned long virt_base_2700; */
-+#define __REG_2700G(x)        (*(volatile unsigned long*)((x)+virt_base_2700))
-+
-+/* System Configuration Registers (0x0000_0000  0x0000_0010) */
-+#define SYSCFG                __REG_2700G(0x00000000)
-+#define PFBASE                __REG_2700G(0x00000004)
-+#define PFCEIL                __REG_2700G(0x00000008)
-+#define POLLFLAG      __REG_2700G(0x0000000c)
-+#define SYSRST                __REG_2700G(0x00000010)
-+
-+/* Interrupt Control Registers (0x0000_0014  0x0000_002F) */
-+#define NINTPW                __REG_2700G(0x00000014)
-+#define MINTENABLE    __REG_2700G(0x00000018)
-+#define MINTSTAT      __REG_2700G(0x0000001c)
-+#define SINTENABLE    __REG_2700G(0x00000020)
-+#define SINTSTAT      __REG_2700G(0x00000024)
-+#define SINTCLR               __REG_2700G(0x00000028)
-+
-+/* Clock Control Registers (0x0000_002C  0x0000_005F) */
-+#define SYSCLKSRC     __REG_2700G(0x0000002c)
-+#define PIXCLKSRC     __REG_2700G(0x00000030)
-+#define CLKSLEEP      __REG_2700G(0x00000034)
-+#define COREPLL               __REG_2700G(0x00000038)
-+#define DISPPLL               __REG_2700G(0x0000003c)
-+#define PLLSTAT               __REG_2700G(0x00000040)
-+#define VOVRCLK               __REG_2700G(0x00000044)
-+#define PIXCLK                __REG_2700G(0x00000048)
-+#define MEMCLK                __REG_2700G(0x0000004c)
-+#define M24CLK                __REG_2700G(0x00000054)
-+#define MBXCLK                __REG_2700G(0x00000054)
-+#define SDCLK         __REG_2700G(0x00000058)
-+#define PIXCLKDIV     __REG_2700G(0x0000005c)
-+
-+/* LCD Port Control Register (0x0000_0060  0x0000_006F) */
-+#define LCD_CONFIG    __REG_2700G(0x00000060)
-+
-+/* On-Die Frame Buffer Registers (0x0000_0064  0x0000_006B) */
-+#define ODFBPWR               __REG_2700G(0x00000064)
-+#define ODFBSTAT      __REG_2700G(0x00000068)
-+
-+/* GPIO Registers (0x0000_006C  0x0000_007F) */
-+#define GPIOCGF               __REG_2700G(0x0000006c)
-+#define GPIOHI                __REG_2700G(0x00000070)
-+#define GPIOLO                __REG_2700G(0x00000074)
-+#define GPIOSTAT      __REG_2700G(0x00000078)
-+
-+/* Pulse Width Modulator (PWM) Registers (0x0000_0200  0x0000_02FF) */
-+#define PWMRST                __REG_2700G(0x00000200)
-+#define PWMCFG                __REG_2700G(0x00000204)
-+#define PWM0DIV               __REG_2700G(0x00000210)
-+#define PWM0DUTY      __REG_2700G(0x00000214)
-+#define PWM0PER               __REG_2700G(0x00000218)
-+#define PWM1DIV               __REG_2700G(0x00000220)
-+#define PWM1DUTY      __REG_2700G(0x00000224)
-+#define PWM1PER               __REG_2700G(0x00000228)
-+
-+/* Identification (ID) Registers (0x0000_0300  0x0000_0FFF) */
-+#define ID            __REG_2700G(0x00000FF0)
-+
-+/* Local Memory (SDRAM) Interface Registers (0x0000_1000  0x0000_1FFF) */
-+#define LMRST         __REG_2700G(0x00001000)
-+#define LMCFG         __REG_2700G(0x00001004)
-+#define LMPWR         __REG_2700G(0x00001008)
-+#define LMPWRSTAT     __REG_2700G(0x0000100c)
-+#define LMCEMR                __REG_2700G(0x00001010)
-+#define LMTYPE                __REG_2700G(0x00001014)
-+#define LMTIM         __REG_2700G(0x00001018)
-+#define LMREFRESH     __REG_2700G(0x0000101c)
-+#define LMPROTMIN     __REG_2700G(0x00001020)
-+#define LMPROTMAX     __REG_2700G(0x00001024)
-+#define LMPROTCFG     __REG_2700G(0x00001028)
-+#define LMPROTERR     __REG_2700G(0x0000102c)
-+
-+/* Plane Controller Registers (0x0000_2000  0x0000_2FFF) */
-+#define GSCTRL                __REG_2700G(0x00002000)
-+#define VSCTRL                __REG_2700G(0x00002004)
-+#define GBBASE                __REG_2700G(0x00002020)
-+#define VBBASE                __REG_2700G(0x00002024)
-+#define GDRCTRL               __REG_2700G(0x00002040)
-+#define VCMSK         __REG_2700G(0x00002044)
-+#define GSCADR                __REG_2700G(0x00002060)
-+#define VSCADR                __REG_2700G(0x00002064)
-+#define VUBASE                __REG_2700G(0x00002084)
-+#define VVBASE                __REG_2700G(0x000020a4)
-+#define GSADR         __REG_2700G(0x000020c0)
-+#define VSADR         __REG_2700G(0x000020c4)
-+#define HCCTRL                __REG_2700G(0x00002100)
-+#define HCSIZE                __REG_2700G(0x00002110)
-+#define HCPOS         __REG_2700G(0x00002120)
-+#define HCBADR                __REG_2700G(0x00002130)
-+#define HCCKMSK               __REG_2700G(0x00002140)
-+#define GPLUT         __REG_2700G(0x00002150)
-+#define DSCTRL                __REG_2700G(0x00002154)
-+#define DHT01         __REG_2700G(0x00002158)
-+#define DHT02         __REG_2700G(0x0000215c)
-+#define DHT03         __REG_2700G(0x00002160)
-+#define DVT01         __REG_2700G(0x00002164)
-+#define DVT02         __REG_2700G(0x00002168)
-+#define DVT03         __REG_2700G(0x0000216c)
-+#define DBCOL         __REG_2700G(0x00002170)
-+#define BGCOLOR               __REG_2700G(0x00002174)
-+#define DINTRS                __REG_2700G(0x00002178)
-+#define DINTRE                __REG_2700G(0x0000217c)
-+#define DINTRCNT      __REG_2700G(0x00002180)
-+#define DSIG          __REG_2700G(0x00002184)
-+#define DMCTRL                __REG_2700G(0x00002188)
-+#define CLIPCTRL      __REG_2700G(0x0000218c)
-+#define SPOCTRL               __REG_2700G(0x00002190)
-+#define SVCTRL                __REG_2700G(0x00002194)
-+
-+/* 0x0000_2198 */
-+/* 0x0000_21A8 VSCOEFF[0:4] Video Scalar Vertical Coefficient [0:4] 4.14.5 */
-+#define VSCOEFF0      __REG_2700G(0x00002198)
-+#define VSCOEFF1      __REG_2700G(0x0000219c)
-+#define VSCOEFF2      __REG_2700G(0x000021a0)
-+#define VSCOEFF3      __REG_2700G(0x000021a4)
-+#define VSCOEFF4      __REG_2700G(0x000021a8)
-+
-+#define SHCTRL                __REG_2700G(0x000021b0)
-+
-+/* 0x0000_21B4 */
-+/* 0x0000_21D4 HSCOEFF[0:8] Video Scalar Horizontal Coefficient [0:8] 4.14.7 */
-+#define HSCOEFF0      __REG_2700G(0x000021b4)
-+#define HSCOEFF1      __REG_2700G(0x000021b8)
-+#define HSCOEFF2      __REG_2700G(0x000021bc)
-+#define HSCOEFF3      __REG_2700G(0x000021b0)
-+#define HSCOEFF4      __REG_2700G(0x000021c4)
-+#define HSCOEFF5      __REG_2700G(0x000021c8)
-+#define HSCOEFF6      __REG_2700G(0x000021cc)
-+#define HSCOEFF7      __REG_2700G(0x000021d0)
-+#define HSCOEFF8      __REG_2700G(0x000021d4)
-+
-+#define SSSIZE                __REG_2700G(0x000021D8)
-+
-+/* 0x0000_2200 */
-+/* 0x0000_2240 VIDGAM[0:16] Video Gamma LUT Index [0:16] 4.15.2 */
-+#define VIDGAM0               __REG_2700G(0x00002200)
-+#define VIDGAM1               __REG_2700G(0x00002204)
-+#define VIDGAM2               __REG_2700G(0x00002208)
-+#define VIDGAM3               __REG_2700G(0x0000220c)
-+#define VIDGAM4               __REG_2700G(0x00002210)
-+#define VIDGAM5               __REG_2700G(0x00002214)
-+#define VIDGAM6               __REG_2700G(0x00002218)
-+#define VIDGAM7               __REG_2700G(0x0000221c)
-+#define VIDGAM8               __REG_2700G(0x00002220)
-+#define VIDGAM9               __REG_2700G(0x00002224)
-+#define VIDGAM10      __REG_2700G(0x00002228)
-+#define VIDGAM11      __REG_2700G(0x0000222c)
-+#define VIDGAM12      __REG_2700G(0x00002230)
-+#define VIDGAM13      __REG_2700G(0x00002234)
-+#define VIDGAM14      __REG_2700G(0x00002238)
-+#define VIDGAM15      __REG_2700G(0x0000223c)
-+#define VIDGAM16      __REG_2700G(0x00002240)
-+
-+/* 0x0000_2250 */
-+/* 0x0000_2290 GFXGAM[0:16] Graphics Gamma LUT Index [0:16] 4.15.3 */
-+#define GFXGAM0               __REG_2700G(0x00002250)
-+#define GFXGAM1               __REG_2700G(0x00002254)
-+#define GFXGAM2               __REG_2700G(0x00002258)
-+#define GFXGAM3               __REG_2700G(0x0000225c)
-+#define GFXGAM4               __REG_2700G(0x00002260)
-+#define GFXGAM5               __REG_2700G(0x00002264)
-+#define GFXGAM6               __REG_2700G(0x00002268)
-+#define GFXGAM7               __REG_2700G(0x0000226c)
-+#define GFXGAM8               __REG_2700G(0x00002270)
-+#define GFXGAM9               __REG_2700G(0x00002274)
-+#define GFXGAM10      __REG_2700G(0x00002278)
-+#define GFXGAM11      __REG_2700G(0x0000227c)
-+#define GFXGAM12      __REG_2700G(0x00002280)
-+#define GFXGAM13      __REG_2700G(0x00002284)
-+#define GFXGAM14      __REG_2700G(0x00002288)
-+#define GFXGAM15      __REG_2700G(0x0000228c)
-+#define GFXGAM16      __REG_2700G(0x00002290)
-+
-+#define DLSTS         __REG_2700G(0x00002300)
-+#define DLLCTRL               __REG_2700G(0x00002304)
-+#define DVLNUM                __REG_2700G(0x00002308)
-+#define DUCTRL                __REG_2700G(0x0000230c)
-+#define DVECTRL               __REG_2700G(0x00002310)
-+#define DHDET         __REG_2700G(0x00002314)
-+#define DVDET         __REG_2700G(0x00002318)
-+#define DODMSK                __REG_2700G(0x0000231c)
-+#define CSC01         __REG_2700G(0x00002330)
-+#define CSC02         __REG_2700G(0x00002334)
-+#define CSC03         __REG_2700G(0x00002338)
-+#define CSC04         __REG_2700G(0x0000233c)
-+#define CSC05         __REG_2700G(0x00002340)
-+
-+#endif /* __REGS_2700G_ */
-diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c
-index 53ad61f..76675f6 100644
---- a/drivers/video/pxafb.c
-+++ b/drivers/video/pxafb.c
-@@ -48,6 +48,11 @@ #include <asm/arch/pxa-regs.h>
- #include <asm/arch/bitfield.h>
- #include <asm/arch/pxafb.h>
-+#ifdef CONFIG_PXA27x
-+#define LCCR4         __REG(0x44000010)  /* LCD Controller Control Register 3 */
-+#endif
-+
-+
- /*
-  * Complain if VAR is out of range.
-  */
-@@ -113,9 +118,15 @@ pxafb_setpalettereg(u_int regno, u_int r
-               if (fbi->fb.var.grayscale) {
-                       val = ((blue >> 8) & 0x00ff);
-               } else {
-+#ifdef CONFIG_ARMCORE_REV11
-+                      val  = (((red & 0xff)   <<  16) & 0xfc0000);
-+                      val |= (((green & 0xff) <<  8)  & 0xfc00);
-+                      val |= (((blue  & 0xff) <<  0)  & 0x00fc);
-+#else
-                       val  = ((red   >>  0) & 0xf800);
-                       val |= ((green >>  5) & 0x07e0);
-                       val |= ((blue  >> 11) & 0x001f);
-+#endif
-               }
-               fbi->palette_cpu[regno] = val;
-               ret = 0;
-@@ -426,6 +437,8 @@ static struct fb_ops pxafb_ops = {
-  * We take account of the PPCR clock setting.
-  * From PXA Developer's Manual:
-  *
-+ * If PCDDIV = 0 then:
-+ *
-  *   PixelClock =      LCLK
-  *                -------------
-  *                2 ( PCD + 1 )
-@@ -434,6 +447,17 @@ static struct fb_ops pxafb_ops = {
-  *         ------------- - 1
-  *         2(PixelClock)
-  *
-+ *
-+ * If PCDDIV = 1 then:
-+ *
-+ *   PixelClock =      LCLK
-+ *                -------------
-+ *                 ( PCD + 1 )
-+ *
-+ *   PCD =      LCLK
-+ *         ------------- - 1
-+ *           PixelClock
-+ *
-  * Where:
-  *   LCLK = LCD/Memory Clock
-  *   PCD = LCCR3[7:0]
-@@ -448,22 +472,64 @@ static struct fb_ops pxafb_ops = {
-  *    PCD = (lclk * 10^4 ) * ( pixclock * 10^-12 )
-  *          -------------------------------------- - 1
-  *                          2
-+ * or
-+ *    PCD = (lclk * 10^4 ) * ( pixclock * 10^-12 ) - 1
-  *
-  * Factoring the 10^4 and 10^-12 out gives 10^-8 == 1 / 100000000 as used below.
-  */
--static inline unsigned int get_pcd(unsigned int pixclock)
-+static inline unsigned int get_pcd(unsigned int pixclock, unsigned int *lccr4)
- {
--      unsigned long long pcd;
-+      /* pcd1 is for PCDDIV=0 and pcd2 for PCDDIV=1 */
-+      unsigned long long pcd1, pcd2;
-+      unsigned long long clk1, clk2;
-+      unsigned long long dif1, dif2;
-+
-+      *lccr4 = LCCR4;
-       /* FIXME: Need to take into account Double Pixel Clock mode
-          * (DPC) bit? or perhaps set it based on the various clock
-          * speeds */
--      pcd = (unsigned long long)get_lcdclk_frequency_10khz() * pixclock;
--      do_div(pcd, 100000000 * 2);
-+      pcd1 = pcd2 = (unsigned long long)get_lcdclk_frequency_10khz() * pixclock;
-+      do_div(pcd1, 100000000 * 2); /* pcd1 /= 100000000 * 2; */
-+      do_div(pcd2, 100000000); /* pcd2 /= 100000000; */
-+
-+/*    clk1 = 100000000*(2 * (pcd1 + 1))/get_lcdclk_frequency_10khz(); */
-+/*    clk2 = 100000000*(pcd2 + 1)/get_lcdclk_frequency_10khz(); */
-+
-+      clk1 = 100000000*(2 * (pcd1 + 1));
-+      clk2 = 100000000*(pcd2 + 1);
-+      do_div(clk1, get_lcdclk_frequency_10khz());
-+      do_div(clk2, get_lcdclk_frequency_10khz());
-+
-+      pr_debug("get_pcd: pcd1 = %lld, dotclock = %lld\n", pcd1, clk1);
-+      pr_debug("get_pcd: pcd2 = %lld, dotclock = %lld\n", pcd2, clk2);
-+
-+      dif1 = pixclock - clk1;
-+      if ( clk1 > pixclock ) 
-+              dif1 *= -1;
-+
-+      dif2 = pixclock - clk2;
-+      if ( clk2 > pixclock ) 
-+              dif2 *= -1;
-+
-+      if ( dif1 > dif2 ) {
-+              *lccr4 |= (1 << 31);
-+              pr_debug(KERN_INFO "get_pcd: setting pixclock to high rate\n");
-+              return (unsigned int)pcd2;
-+      }
-+      else {
-+              *lccr4 &= ~(1 << 31);
-+              pr_debug(KERN_INFO "get_pcd: setting pixclock to low rate\n");
-+              return (unsigned int)pcd1;
-+      }
-+
-       /* no need for this, since we should subtract 1 anyway. they cancel */
-       /* pcd += 1; */ /* make up for integer math truncations */
--      return (unsigned int)pcd;
-+/*    return (unsigned int)pcd2; */
-+
-+      /* never get here */
-+      return (unsigned int)0;
- }
- /*
-@@ -505,7 +571,9 @@ static int pxafb_activate_var(struct fb_
- {
-       struct pxafb_lcd_reg new_regs;
-       u_long flags;
--      u_int lines_per_panel, pcd = get_pcd(var->pixclock);
-+      u_int lines_per_panel;
-+      u_int lccr4;
-+      u_int pcd = get_pcd(var->pixclock, &lccr4);
-       pr_debug("pxafb: Configuring PXA LCD\n");
-@@ -735,10 +803,18 @@ static void pxafb_setup_gpio(struct pxaf
-       pxa_gpio_mode(GPIO75_LCD_LCLK_MD);
-       pxa_gpio_mode(GPIO76_LCD_PCLK_MD);
-       pxa_gpio_mode(GPIO77_LCD_ACBIAS_MD);
-+
-+#ifdef CONFIG_ARMCORE_REV11
-+      pxa_gpio_mode(86 | GPIO_ALT_FN_2_OUT);
-+      pxa_gpio_mode(87 | GPIO_ALT_FN_2_OUT);
-+#endif
- }
- static void pxafb_enable_controller(struct pxafb_info *fbi)
- {
-+      unsigned int lccr4;
-+      unsigned int pcd = get_pcd(fbi->fb.var.pixclock, &lccr4);
-+
-       pr_debug("pxafb: Enabling LCD controller\n");
-       pr_debug("fdadr0 0x%08x\n", (unsigned int) fbi->fdadr0);
-       pr_debug("fdadr1 0x%08x\n", (unsigned int) fbi->fdadr1);
-@@ -751,7 +827,20 @@ static void pxafb_enable_controller(stru
-       pxa_set_cken(CKEN16_LCD, 1);
-       /* Sequence from 11.7.10 */
--      LCCR3 = fbi->reg_lccr3;
-+#ifdef CONFIG_ARMCORE_REV12
-+      LCCR4 = lccr4;
-+#else
-+      LCCR4 = 0 | (2 << 15) | lccr4;
-+#endif
-+
-+      fbi->reg_lccr3 = (fbi->reg_lccr3 & ~0xff) | LCCR3_PixClkDiv(pcd);
-+
-+#ifdef CONFIG_ARMCORE_REV12
-+      LCCR3 = (fbi->reg_lccr3);//& (~(7 << 24))) | (3 << 24);
-+#else
-+      LCCR3 = (fbi->reg_lccr3 | (3 << 30)) ;//& (~(7 << 24))) | (3 << 24);
-+#endif
-+
-       LCCR2 = fbi->reg_lccr2;
-       LCCR1 = fbi->reg_lccr1;
-       LCCR0 = fbi->reg_lccr0 & ~LCCR0_ENB;
-@@ -1083,6 +1172,7 @@ static struct pxafb_info * __init pxafb_
-       addr = addr + sizeof(struct pxafb_info);
-       fbi->fb.pseudo_palette  = addr;
-+      fbi->fb.var.pixclock            = inf->pixclock;
-       fbi->max_xres                   = inf->xres;
-       fbi->fb.var.xres                = inf->xres;
-       fbi->fb.var.xres_virtual        = inf->xres;
-diff --git a/include/asm-arm/arch-pxa/cm-x270.h b/include/asm-arm/arch-pxa/cm-x270.h
-new file mode 100644
-index 0000000..f2d3675
---- /dev/null
-+++ b/include/asm-arm/arch-pxa/cm-x270.h
-@@ -0,0 +1,169 @@
-+/*
-+ *  linux/include/asm/arch-pxa/armcore.h
-+ *
-+ *  Compulab Ltd., 2003 
-+ *
-+ *  ARMCore registers
-+ */
-+
-+#include <linux/config.h>
-+
-+#define CMX270_CS1_PHYS               (PXA_CS1_PHYS)
-+#define MARATHON_PHYS         (PXA_CS2_PHYS)
-+#define CMX270_IDE104_PHYS    (PXA_CS3_PHYS)
-+#define CMX270_IT8152_PHYS    (PXA_CS4_PHYS)
-+
-+#define PXA_CS_SIZE           (64*1024*1024)
-+
-+/* Virtual map */
-+
-+#define CMX270_VIRT_BASE              (0xe8000000)
-+/* #define MARATHON_VIRT                      (CMX270_VIRT_BASE) */
-+
-+#define CMX270_IT8152_VIRT            (CMX270_VIRT_BASE)
-+
-+#define CMX270_IDE104_VIRT            (CMX270_IT8152_VIRT + PXA_CS_SIZE)
-+#ifdef CONFIG_CMX270_SB270
-+#define CMX270_IDECS0_VIRT            (CMX270_IDE104_VIRT + (1<<24) + (1<<25))
-+#define CMX270_IDECS1_VIRT            (CMX270_IDE104_VIRT + (1<<25))
-+#else
-+#define CMX270_IDECS0_VIRT            (CMX270_IDE104_VIRT + (1<<25))
-+#define CMX270_IDECS1_VIRT            (CMX270_IDE104_VIRT + (1<<25) + (1<<22))
-+#endif
-+
-+/* #define CMX270_RTC_VIRT            (CMX270_CS1_VIRT + (5<<22)) */
-+
-+
-+/* GPIO related definitions */
-+#define GPIO_IT8152_IRQ                       (22)
-+#define GPIO_RED_LED                  (93)
-+#define GPIO_GREEN_LED                        (94)
-+
-+
-+#define IRQ_GPIO_IT8152_IRQ   IRQ_GPIO(GPIO_IT8152_IRQ)
-+#define PME_IRQ                       IRQ_GPIO(0)
-+#define CMX270_IDE_IRQ                IRQ_GPIO(100)
-+#define CMX270_GPIRQ1         IRQ_GPIO(101)
-+#define CMX270_TOUCHIRQ               IRQ_GPIO(96)
-+#define CMX270_ETHIRQ         IRQ_GPIO(10)
-+#define CMX270_GFXIRQ         IRQ_GPIO(95)
-+#define CMX270_NANDIRQ                IRQ_GPIO(89)
-+#define ARMCORE_MMC_IRQ               IRQ_GPIO(83)
-+
-+/* LED macros */
-+#define CMX270_RED_ON()                GPCR(GPIO_RED_LED) = GPIO_bit(GPIO_RED_LED)
-+#define CMX270_RED_OFF()               GPSR(GPIO_RED_LED) = GPIO_bit(GPIO_RED_LED)
-+#define CMX270_GREEN_ON()              GPCR(GPIO_GREEN_LED) = GPIO_bit(GPIO_GREEN_LED)
-+#define CMX270_GREEN_OFF()             GPSR(GPIO_GREEN_LED) = GPIO_bit(GPIO_GREEN_LED)
-+
-+/* PCMCIA related definitions */
-+#define PCC_DETECT(x) (GPLR(84 - (x)) & GPIO_bit(84 - (x)))
-+#define PCC_READY(x)  (GPLR(82 - (x)) & GPIO_bit(81 - (x)))
-+
-+#define PCMCIA_S0_CD_VALID            IRQ_GPIO(84)
-+#define PCMCIA_S0_CD_VALID_EDGE               GPIO_BOTH_EDGES
-+
-+#define PCMCIA_S1_CD_VALID            IRQ_GPIO(83)
-+#define PCMCIA_S1_CD_VALID_EDGE               GPIO_BOTH_EDGES
-+
-+#define PCMCIA_S0_RDYINT              IRQ_GPIO(82)
-+#define PCMCIA_S1_RDYINT              IRQ_GPIO(81)
-+
-+#define PCMCIA_RESET_GPIO             53
-+
-+
-+/* #define IT8152_IO_BASE                     (CMX270_IT8152_VIRT + 0x03e00000) */
-+/* #define IT8152_CFGREG_BASE         (CMX270_IT8152_VIRT + 0x03f00000) */
-+/* #define CMX270_CS1_VIRT                    (CMX270_IT8152_VIRT + PXA_CS_SIZE) */
-+/* #define IT8152_SHORT_IO(x)         (*((volatile unsigned short *)(IT8152_CFGREG_BASE+(x)))) */
-+/* #define IT8152_LONG_IO(x)          (*((volatile unsigned long *)(IT8152_CFGREG_BASE+(x)))) */
-+
-+
-+/* /\* PCI related definitions *\/ */
-+
-+/* /\* #define PCIBIOS_MIN_IO                                 (IT8152_IO_BASE + 0x12000) *\/ */
-+/* /\* #define PCIBIOS_MIN_MEM                                (0x10000000) *\/ */
-+
-+
-+/* #define IT8152_PCI_IACK                    (*((volatile unsigned long *)(CMX270_IT8152_VIRT + 0x3f00808))) */
-+/* #define IT8152_PCI_CFG_ADDR                (*((volatile unsigned long *)(CMX270_IT8152_VIRT + 0x3f00800))) */
-+/* #define IT8152_PCI_CFG_DATA                (*((volatile unsigned long *)(CMX270_IT8152_VIRT + 0x3f00804))) */
-+/* #define IT8152_PCI_MEMBASE         (*((volatile unsigned long *)(CMX270_IT8152_VIRT))) */
-+/* #define IT8152_PCI_IOBASE          (*((volatile unsigned long *)(CMX270_IT8152_VIRT + 0x3e00000))) */
-+
-+/* #define IT_BUSNUM_SHF                   16 */
-+/* #define IT_DEVNUM_SHF                   11 */
-+/* #define IT_FUNCNUM_SHF                  8 */
-+/* #define IT_REGNUM_SHF                   2 */
-+
-+
-+/* /\* Power management & PLL registers *\/ */
-+/* #define IT8152_PMPLL_DSR           IT8152_LONG_IO(0x00) */
-+/* #define IT8152_PMPLL_DSSR          IT8152_LONG_IO(0x04) */
-+/* #define IT8152_PMPLL_PLLCR         IT8152_LONG_IO(0x20) */
-+/* #define IT8152_PMPLL_MFSR          IT8152_LONG_IO(0x24) */
-+
-+
-+/* /\* Memory controller *\/ */
-+/* #define IT8152_MC_REG_OFFSET               0x100 */
-+
-+/* #define IT8152_MC_SDCR                     IT8152_LONG_IO(IT8152_MC_REG_OFFSET + 0x00) */
-+/* #define IT8152_MC_PCICR                    IT8152_LONG_IO(IT8152_MC_REG_OFFSET + 0x04) */
-+
-+/* /\* Interrupt related definitions *\/ */
-+/* #define IT8152_INTC_REG_OFFSET             0x300 */
-+
-+/* #define IT8152_INTC_LDCNIRR                IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x00) */
-+/* #define IT8152_INTC_LDPNIRR                IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x04) */
-+/* #define IT8152_INTC_LDCNIMR                IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x08) */
-+/* #define IT8152_INTC_LDPNIMR                IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x0C) */
-+/* #define IT8152_INTC_LDNITR         IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x10) */
-+/* #define IT8152_INTC_LDNIAR         IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x14) */
-+/* #define IT8152_INTC_LPCNIRR                IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x20) */
-+/* #define IT8152_INTC_LPPNIRR                IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x24) */
-+/* #define IT8152_INTC_LPCNIMR                IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x28) */
-+/* #define IT8152_INTC_LPPNIMR                IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x2C) */
-+/* #define IT8152_INTC_LPNITR         IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x30) */
-+/* #define IT8152_INTC_LPNIAR         IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x34) */
-+/* #define IT8152_INTC_PDCNIRR                IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x40) */
-+/* #define IT8152_INTC_PDPNIRR                IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x44) */
-+/* #define IT8152_INTC_PDCNIMR                IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x48) */
-+/* #define IT8152_INTC_PDPNIMR                IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x4C) */
-+/* #define IT8152_INTC_PDNITR         IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x50) */
-+/* #define IT8152_INTC_PDNIAR         IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x54) */
-+/* #define IT8152_INTC_INTC_TYPER     IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0xFC) */
-+
-+/* #define IT8152_UART_BASE           IT8152_LONG_IO(0x200) */
-+
-+/* #define IT8152_GPIO_REG_OFFSET             0x500 */
-+
-+/* #define IT8152_GPIO_GPLR           IT8152_LONG_IO(IT8152_GPIO_REG_OFFSET) */
-+/* #define IT8152_GPIO_GPCR12         IT8152_LONG_IO(IT8152_GPIO_REG_OFFSET + 0x04) */
-+/* #define IT8152_GPIO_GPCR34         IT8152_LONG_IO(IT8152_GPIO_REG_OFFSET + 0x08) */
-+
-+
-+/* /\* Interrupt bit definitions *\/ */
-+/* #define PCISERR_BIT                (1<<14) */
-+/* #define H2PTADR_BIT                (1<<13) */
-+/* #define H2PMAR_BIT         (1<<12) */
-+/* #define PCI_INTD_BIT       (1<<11) */
-+/* #define PCI_INTC_BIT       (1<<10) */
-+/* #define PCI_INTB_BIT       (1<<9) */
-+/* #define PCI_INTA_BIT       (1<<8) */
-+/* #define CDMA_INT_BIT       (1<<2) */
-+/* #define USB_INT_BIT                (1<<1) */
-+/* #define AUDIO_INT_BIT      (1<<0) */
-+
-+/* // IT8152 UART */
-+/* #define ITESER_BIT         (1<<5) */
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+ 
-+
-diff --git a/include/asm-arm/arch-pxa/hardware.h b/include/asm-arm/arch-pxa/hardware.h
-index 3e70bd9..cb4fb2f 100644
---- a/include/asm-arm/arch-pxa/hardware.h
-+++ b/include/asm-arm/arch-pxa/hardware.h
-@@ -80,4 +80,15 @@ extern unsigned int get_lcdclk_frequency
- #endif
-+#if defined(CONFIG_MACH_ARMCORE) && defined(CONFIG_PCI)
-+#define      HAVE_ARCH_PCI_SET_DMA_MASK
-+#ifndef __ASSEMBLY__
-+extern unsigned long armcore_pcibios_min_io;
-+extern unsigned long armcore_pcibios_min_mem;
-+#endif
-+#define PCIBIOS_MIN_IO      (armcore_pcibios_min_io)
-+#define PCIBIOS_MIN_MEM     (armcore_pcibios_min_mem)
-+#define pcibios_assign_all_busses()   1
-+#endif
-+
- #endif  /* _ASM_ARCH_HARDWARE_H */
-diff --git a/include/asm-arm/arch-pxa/irqs.h b/include/asm-arm/arch-pxa/irqs.h
-index 05c4b70..f0259cd 100644
---- a/include/asm-arm/arch-pxa/irqs.h
-+++ b/include/asm-arm/arch-pxa/irqs.h
-@@ -176,7 +176,8 @@ #define NR_IRQS                    (IRQ_S1_BVD1_STSCHG + 
- #elif defined(CONFIG_SHARP_LOCOMO)
- #define NR_IRQS                       (IRQ_LOCOMO_SPI_TEND + 1)
- #elif defined(CONFIG_ARCH_LUBBOCK) || \
--      defined(CONFIG_MACH_MAINSTONE)
-+      defined(CONFIG_MACH_MAINSTONE) || \
-+      defined(CONFIG_MACH_ARMCORE)
- #define NR_IRQS                       (IRQ_BOARD_END)
- #else
- #define NR_IRQS                       (IRQ_BOARD_START)
-@@ -217,3 +218,24 @@ #define IRQ_LOCOMO_KEY_BASE       (IRQ_BOARD_S
- #define IRQ_LOCOMO_GPIO_BASE  (IRQ_BOARD_START + 1)
- #define IRQ_LOCOMO_LT_BASE    (IRQ_BOARD_START + 2)
- #define IRQ_LOCOMO_SPI_BASE   (IRQ_BOARD_START + 3)
-+
-+/* ITE8152 irqs on CM-x2xx */
-+#ifdef CONFIG_MACH_ARMCORE
-+#define IT8152_IRQ(x) (IRQ_BOARD_START + (x))
-+#define PCISERR                       IT8152_IRQ(0)
-+#define H2PTADR                       IT8152_IRQ(1)
-+#define H2PMAR                        IT8152_IRQ(2)
-+#define PCI_INTA              IT8152_IRQ(3)
-+#define PCI_INTB              IT8152_IRQ(4)
-+#define PCI_INTC              IT8152_IRQ(5)
-+#define PCI_INTD              IT8152_IRQ(6)
-+#define USB_INT                       IT8152_IRQ(7)
-+#define AUDIO_INT             IT8152_IRQ(8)
-+#define CDMA_INT              IT8152_IRQ(9)
-+#define IRQ_ITESER            IT8152_IRQ(10)
-+#define IT8152_IRQ_MAX                IT8152_IRQ(10)
-+
-+
-+#undef NR_IRQS
-+#define NR_IRQS IT8152_IRQ_MAX+1
-+#endif
-diff --git a/include/asm-arm/arch-pxa/marathonfb.h b/include/asm-arm/arch-pxa/marathonfb.h
-new file mode 100644
-index 0000000..97b69ef
---- /dev/null
-+++ b/include/asm-arm/arch-pxa/marathonfb.h
-@@ -0,0 +1,28 @@
-+#ifndef __MARATHON_FB_H
-+#define __MARATHON_FB_H
-+
-+struct mbxfb_val {
-+      unsigned int    defval;
-+      unsigned int    min;
-+      unsigned int    max;
-+};
-+
-+struct fb_info;
-+
-+struct mbxfb_platform_data {
-+              /* Screen info */
-+              struct mbxfb_val xres;
-+              struct mbxfb_val yres;
-+              struct mbxfb_val bpp;
-+
-+              /* Memory info */
-+              unsigned long memsize; /* if 0 use ODFB? */
-+              unsigned long timings1;
-+              unsigned long timings2;
-+              unsigned long timings3;
-+
-+              int (*probe)(struct fb_info *fb);
-+              int (*remove)(struct fb_info *fb);
-+};
-+
-+#endif /* __MARATHON_FB_H */
-diff --git a/include/asm-arm/arch-pxa/memory.h b/include/asm-arm/arch-pxa/memory.h
-index eaf6d43..98807e7 100644
---- a/include/asm-arm/arch-pxa/memory.h
-+++ b/include/asm-arm/arch-pxa/memory.h
-@@ -17,6 +17,19 @@ #define __ASM_ARCH_MEMORY_H
-  */
- #define PHYS_OFFSET   UL(0xa0000000)
-+
-+#ifdef CONFIG_PCI_HOST_ITE8152
-+#ifndef __ASSEMBLY__
-+void it8152_adjust_zones(int node, unsigned long *size, unsigned long *holes);
-+
-+#define arch_adjust_zones(node, size, holes) \
-+      it8152_adjust_zones(node, size, holes)
-+
-+#define ISA_DMA_THRESHOLD (SZ_64M - 1)
-+#endif
-+#endif
-+
-+
- /*
-  * Virtual view <-> DMA view memory address translations
-  * virt_to_bus: Used to translate the virtual address to an
-diff --git a/include/asm-arm/arch-pxa/pxafbsetup.h b/include/asm-arm/arch-pxa/pxafbsetup.h
-new file mode 100644
-index 0000000..8a7c8de
---- /dev/null
-+++ b/include/asm-arm/arch-pxa/pxafbsetup.h
-@@ -0,0 +1,39 @@
-+/*
-+ Panel specific LCD controller setup
-+ */
-+
-+#ifndef _PXAFBSETUP_H
-+#define _PXAFBSETUP_H
-+
-+#define MTYPE_STN320x240      0
-+#define MTYPE_TFT640x480      1
-+#define MTYPE_CRT640x480      2
-+#define MTYPE_CRT800x600      3
-+#define MTYPE_CRT1024x768     4
-+#define MTYPE_USER_DEFINED    5
-+#define MTYPE_TFT320x240      6
-+#define MTYPE_STN640x480      7
-+
-+#define       CMAP_GREYSCALE          0
-+#define CMAP_INVERSE          0
-+#define CMAP_STATIC                   0
-+
-+
-+// Example for user defined display
-+// Hitach SX19V-009
-+#define LCD_PIXCLOCK                  38461
-+#define LCD_BPP                               8
-+#define LCD_XRES                      640
-+#define LCD_YRES                      480
-+#define LCD_HORIZONTAL_SYNC_PULSE_WIDTH 4
-+#define LCD_VERTICAL_SYNC_PULSE_WIDTH 2
-+#define LCD_BEGIN_OF_LINE_WAIT_COUNT  10
-+#define LCD_BEGIN_FRAME_WAIT_COUNT    5
-+#define LCD_END_OF_LINE_WAIT_COUNT    10
-+#define LCD_END_OF_FRAME_WAIT_COUNT   5
-+#define LCD_SYNC                      (FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT)
-+#define LCD_LCCR0                     (LCCR0_LDM | LCCR0_IUM | LCCR0_QDM | LCCR0_BM  | LCCR0_OUM )
-+#define LCD_LCCR3                     (LCCR3_PixClkDiv(0x02) | LCCR3_Acb(0xff))
-+#define LCD_NAME                      "Hitachi SX19V-009-ZZA-1"
-+
-+#endif
-diff --git a/include/asm-arm/hardware/it8152.h b/include/asm-arm/hardware/it8152.h
-new file mode 100644
-index 0000000..d28210d
---- /dev/null
-+++ b/include/asm-arm/hardware/it8152.h
-@@ -0,0 +1,104 @@
-+/*
-+ *  arch/arm/mach-pxa/it8152.h
-+ *
-+ *  Compulab Ltd., 2006
-+ *
-+ *  ITE 8152 companion chip definitions
-+ */
-+
-+
-+/* #define CMX270_IT8152_VIRT         (CMX270_VIRT_BASE) */
-+
-+
-+extern unsigned long it8152_base_address;
-+
-+#define IT8152_IO_BASE                        (it8152_base_address + 0x03e00000)
-+#define IT8152_CFGREG_BASE            (it8152_base_address + 0x03f00000)
-+
-+/* #define IRQ_GPIO_IT8152_IRQ                IRQ_GPIO(GPIO_IT8152_IRQ) */
-+
-+#define IT8152_SHORT_IO(x)            (*((volatile unsigned short *)(IT8152_CFGREG_BASE+(x))))
-+#define IT8152_LONG_IO(x)             (*((volatile unsigned long *)(IT8152_CFGREG_BASE+(x))))
-+
-+
-+#define IT8152_PCI_MEMBASE            (*((volatile unsigned long *)(it8152_base_address)))
-+/* #define IT8152_PCI_IOBASE          (*((volatile unsigned long *)(it8152_base_address + 0x3e00000))) */
-+
-+#define IT8152_PCI_IACK                       (*((volatile unsigned long *)(it8152_base_address + 0x3f00808)))
-+#define IT8152_PCI_CFG_ADDR           (*((volatile unsigned long *)(it8152_base_address + 0x3f00800)))
-+#define IT8152_PCI_CFG_DATA           (*((volatile unsigned long *)(it8152_base_address + 0x3f00804)))
-+
-+#define IT_BUSNUM_SHF                   16
-+#define IT_DEVNUM_SHF                   11
-+#define IT_FUNCNUM_SHF                  8
-+#define IT_REGNUM_SHF                   2
-+
-+/* Power management & PLL registers */
-+#define IT8152_PMPLL_DSR              IT8152_LONG_IO(0x00)
-+#define IT8152_PMPLL_DSSR             IT8152_LONG_IO(0x04)
-+#define IT8152_PMPLL_PLLCR            IT8152_LONG_IO(0x20)
-+#define IT8152_PMPLL_MFSR             IT8152_LONG_IO(0x24)
-+
-+/* Memory controller */
-+#define IT8152_MC_REG_OFFSET          0x100
-+
-+#define IT8152_MC_SDCR                        IT8152_LONG_IO(IT8152_MC_REG_OFFSET + 0x00)
-+#define IT8152_MC_PCICR                       IT8152_LONG_IO(IT8152_MC_REG_OFFSET + 0x04)
-+
-+/* Interrupt related definitions */
-+#define IT8152_INTC_REG_OFFSET                0x300
-+
-+#define IT8152_INTC_LDCNIRR           IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x00)
-+#define IT8152_INTC_LDPNIRR           IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x04)
-+#define IT8152_INTC_LDCNIMR           IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x08)
-+#define IT8152_INTC_LDPNIMR           IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x0C)
-+#define IT8152_INTC_LDNITR            IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x10)
-+#define IT8152_INTC_LDNIAR            IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x14)
-+#define IT8152_INTC_LPCNIRR           IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x20)
-+#define IT8152_INTC_LPPNIRR           IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x24)
-+#define IT8152_INTC_LPCNIMR           IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x28)
-+#define IT8152_INTC_LPPNIMR           IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x2C)
-+#define IT8152_INTC_LPNITR            IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x30)
-+#define IT8152_INTC_LPNIAR            IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x34)
-+#define IT8152_INTC_PDCNIRR           IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x40)
-+#define IT8152_INTC_PDPNIRR           IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x44)
-+#define IT8152_INTC_PDCNIMR           IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x48)
-+#define IT8152_INTC_PDPNIMR           IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x4C)
-+#define IT8152_INTC_PDNITR            IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x50)
-+#define IT8152_INTC_PDNIAR            IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x54)
-+#define IT8152_INTC_INTC_TYPER        IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0xFC)
-+
-+#define IT8152_UART_BASE              IT8152_LONG_IO(0x200)
-+
-+#define IT8152_GPIO_REG_OFFSET                0x500
-+
-+#define IT8152_GPIO_GPLR              IT8152_LONG_IO(IT8152_GPIO_REG_OFFSET)
-+#define IT8152_GPIO_GPCR12            IT8152_LONG_IO(IT8152_GPIO_REG_OFFSET + 0x04)
-+#define IT8152_GPIO_GPCR34            IT8152_LONG_IO(IT8152_GPIO_REG_OFFSET + 0x08)
-+
-+
-+/* Interrupt bit definitions */
-+#define PCISERR_BIT           (1<<14)
-+#define H2PTADR_BIT           (1<<13)
-+#define H2PMAR_BIT            (1<<12)
-+#define PCI_INTD_BIT  (1<<11)
-+#define PCI_INTC_BIT  (1<<10)
-+#define PCI_INTB_BIT  (1<<9)
-+#define PCI_INTA_BIT  (1<<8)
-+#define CDMA_INT_BIT  (1<<2)
-+#define USB_INT_BIT           (1<<1)
-+#define AUDIO_INT_BIT (1<<0)
-+
-+/* IT8152 UART */
-+#define ITESER_BIT            (1<<5)
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+ 
-+
-diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
-index 751eea5..bc45d11 100644
---- a/include/linux/pci_ids.h
-+++ b/include/linux/pci_ids.h
-@@ -1568,6 +1568,7 @@ #define PCI_DEVICE_ID_EFFICEON           0x0060
- #define PCI_VENDOR_ID_ROCKWELL                0x127A
- #define PCI_VENDOR_ID_ITE             0x1283
-+#define PCI_DEVICE_ID_ITE_IT8152      0x8152
- #define PCI_DEVICE_ID_ITE_IT8172G     0x8172
- #define PCI_DEVICE_ID_ITE_IT8172G_AUDIO 0x0801
- #define PCI_DEVICE_ID_ITE_8211                0x8211
-diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c
-index 3020ca2..ba1dc8a 100644
---- a/sound/pci/ac97/ac97_codec.c
-+++ b/sound/pci/ac97/ac97_codec.c
-@@ -150,7 +150,7 @@ static const struct ac97_codec_id snd_ac
- { 0x4e534300, 0xffffffff, "LM4540,43,45,46,48",       NULL,           NULL }, // only guess --jk
- { 0x4e534331, 0xffffffff, "LM4549",           NULL,           NULL },
- { 0x4e534350, 0xffffffff, "LM4550",           NULL,           NULL },
--{ 0x50534304, 0xffffffff, "UCB1400",          NULL,           NULL },
-+{ 0x50534304, 0xffffffff, "UCB1400",          patch_ucb1400,  NULL },
- { 0x53494c20, 0xffffffe0, "Si3036,8",         mpatch_si3036,  mpatch_si3036, AC97_MODEM_PATCH },
- { 0x54524102, 0xffffffff, "TR28022",          NULL,           NULL },
- { 0x54524106, 0xffffffff, "TR28026",          NULL,           NULL },
-diff --git a/sound/pci/ac97/ac97_patch.c b/sound/pci/ac97/ac97_patch.c
-index a444a78..0bb1d71 100644
---- a/sound/pci/ac97/ac97_patch.c
-+++ b/sound/pci/ac97/ac97_patch.c
-@@ -2823,3 +2823,33 @@ int mpatch_si3036(struct snd_ac97 * ac97
-       snd_ac97_write_cache(ac97, 0x68, 0);
-       return 0;
- }
-+
-+/* 
-+ *  UCB1400 codec
-+ */
-+static const struct snd_kcontrol_new snd_ac97_controls_ucb1400[] = {
-+AC97_SINGLE("Headphone driver", 0x6a, 6, 1, 0),
-+AC97_SINGLE("DC filter", 0x6a, 4, 1, 0),
-+AC97_SINGLE("Smart power mode", 0x6c, 4, 3, 0),
-+};
-+
-+static int patch_ucb1400_specific(struct snd_ac97 * ac97)
-+{
-+      int idx, err;
-+      for (idx = 0; idx < ARRAY_SIZE(snd_ac97_controls_ucb1400); idx++)
-+              if ((err = snd_ctl_add(ac97->bus->card, snd_ctl_new1(&snd_ac97_controls_ucb1400[idx], ac97))) < 0)
-+                      return err;
-+      return 0;
-+}
-+
-+static struct snd_ac97_build_ops patch_ucb1400_ops = {
-+      .build_specific = patch_ucb1400_specific,
-+};
-+
-+int patch_ucb1400(struct snd_ac97 * ac97)
-+{
-+      ac97->build_ops = &patch_ucb1400_ops;
-+      snd_ac97_write(ac97, 0x6a, 0x0050);
-+      snd_ac97_write(ac97, 0x6c, 0x0030);
-+      return 0;
-+}
-diff --git a/sound/pci/ac97/ac97_patch.h b/sound/pci/ac97/ac97_patch.h
-index 5060cb6..068b674 100644
---- a/sound/pci/ac97/ac97_patch.h
-+++ b/sound/pci/ac97/ac97_patch.h
-@@ -58,4 +58,5 @@ int patch_cm9780(struct snd_ac97 * ac97)
- int patch_vt1616(struct snd_ac97 * ac97);
- int patch_vt1617a(struct snd_ac97 * ac97);
- int patch_it2646(struct snd_ac97 * ac97);
-+int patch_ucb1400(struct snd_ac97 * ac97);
- int mpatch_si3036(struct snd_ac97 * ac97);
diff --git a/meta/packages/linux/linux-cmx270-2.6.17/add_2700g_plat-r0.patch b/meta/packages/linux/linux-cmx270-2.6.17/add_2700g_plat-r0.patch
deleted file mode 100644 (file)
index b4a33e2..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-Index: linux-2.6.17/arch/arm/mach-pxa/cm-x270.c
-===================================================================
---- linux-2.6.17.orig/arch/arm/mach-pxa/cm-x270.c      2006-07-18 15:40:10.000000000 +0100
-+++ linux-2.6.17/arch/arm/mach-pxa/cm-x270.c   2006-07-20 20:25:22.000000000 +0100
-@@ -11,6 +11,7 @@
- #include <linux/pm.h>
- #include <linux/fb.h>
- #include <linux/rtc-v3020.h>
-+#include <linux/mbxfb.h>
- #include <asm/types.h>
- #include <asm/setup.h>
-@@ -396,10 +397,113 @@
-       .resource = dm9000_resources,
- };
-+/* 2700G graphics */
-+static u64 fb_dma_mask = ~(u64)0;
-+
-+static struct resource cmx270_2700G_resource[] = {
-+       /* frame buffer memory including ODFB and External SDRAM */
-+       [0] = {
-+               .start = MARATHON_PHYS,
-+               .end   = MARATHON_PHYS + 0x02000000,
-+               .flags = IORESOURCE_MEM,
-+       },
-+       /* Marathon registers */
-+       [1] = {
-+               .start = MARATHON_PHYS + 0x03fe0000,
-+               .end   = MARATHON_PHYS + 0x03ffffff,
-+               .flags = IORESOURCE_MEM,
-+       },
-+};
-+
-+static unsigned long save_lcd_regs[10];
-+
-+/* if 2700G is used, disable PCI throttle */
-+#define LB_TROTTLE_OFF (PXA_CS1_PHYS | (1 << 25))
-+#define LB_TROTTLE_MAX (PXA_CS1_PHYS | (1 << 25) | (1 << 22))
-+static int cmx270_marathon_probe(struct fb_info *fb)
-+{
-+       volatile unsigned long *cpld;
-+       
-+       cpld = (volatile unsigned long*)ioremap(LB_TROTTLE_OFF, 4);
-+       if ( !cpld ) {
-+               return -ENODEV;
-+       }
-+       *cpld = 0;
-+       iounmap((void*)cpld);
-+
-+       /* save PXA-270 pin settings before enabling 2700G */
-+       save_lcd_regs[0] = GPDR1;
-+       save_lcd_regs[1] = GPDR2;
-+       save_lcd_regs[2] = GAFR1_U;
-+       save_lcd_regs[3] = GAFR2_L;
-+       save_lcd_regs[4] = GAFR2_U;
-+
-+       /* Disable PXA-270 on-chip controller driving pins */
-+       GPDR1 &= ~(0xfc000000);
-+       GPDR2 &= ~(0x00c03fff);
-+       GAFR1_U &= ~(0xfff00000);
-+       GAFR2_L &= ~(0x0fffffff);
-+       GAFR2_U &= ~(0x0000f000);
-+       return 0;
-+}
-+
-+static int cmx270_marathon_remove(struct fb_info *fb)
-+{
-+       volatile unsigned long *cpld;
-+       cpld = (volatile unsigned long*)ioremap(LB_TROTTLE_MAX, 4);
-+       
-+       if ( !cpld ) {
-+               return -ENODEV;
-+       }
-+       *cpld = 0;
-+       iounmap((void*)cpld);
-+
-+       GPDR1 =   save_lcd_regs[0];
-+       GPDR2 =   save_lcd_regs[1];
-+       GAFR1_U = save_lcd_regs[2];
-+       GAFR2_L = save_lcd_regs[3];
-+       GAFR2_U = save_lcd_regs[4];
-+       return 0;
-+}
-+
-+static struct mbxfb_platform_data cmx270_2700G_data = {
-+       .xres = {
-+               .min = 240,
-+               .max = 1200,
-+               .defval = 640,
-+       },
-+       .yres = { 
-+               .min = 240,
-+               .max = 1200,
-+               .defval = 480,
-+       },
-+       .bpp = {
-+               .min = 16,
-+               .max = 32,
-+               .defval = 16,
-+       },
-+       .memsize = 8*1024*1024,
-+       .probe = cmx270_marathon_probe,
-+       .remove = cmx270_marathon_remove,
-+};
-+
-+static struct platform_device cmx270_2700G = {
-+       .name           = "mbx-fb",
-+       .dev            = {
-+               .platform_data  = &cmx270_2700G_data,
-+               .dma_mask       = &fb_dma_mask,
-+               .coherent_dma_mask = 0xffffffff,
-+       },
-+       .num_resources  = ARRAY_SIZE(cmx270_2700G_resource),
-+       .resource       = cmx270_2700G_resource,
-+       .id             = -1,
-+};
-+
- static struct platform_device *platform_devices[] __initdata = {\
-       &cmx270_audio_device,
-       &v3020_rtc_device,
-       &dm9000_device,
-+      &cmx270_2700G,
- };
- static int cmx270_ohci_init(struct device *dev)
diff --git a/meta/packages/linux/linux-cmx270-2.6.17/cm_x2xx_mbx.patch b/meta/packages/linux/linux-cmx270-2.6.17/cm_x2xx_mbx.patch
deleted file mode 100644 (file)
index d33f452..0000000
+++ /dev/null
@@ -1,1566 +0,0 @@
- drivers/video/Kconfig        |   10 +
- drivers/video/Makefile       |    1 
- drivers/video/mbx/Makefile   |    3 
- drivers/video/mbx/mbxfb.c    |  646 ++++++++++++++++++++++++++++++++++++++++++
- drivers/video/mbx/mbxsysfs.c |  129 ++++++++
- drivers/video/mbx/reg_bits.h |  489 ++++++++++++++++++++++++++++++++
- drivers/video/mbx/regs.h     |  192 ++++++++++++
- include/linux/mbxfb.h        |   28 ++
- 8 files changed, 1498 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
-index 17de4c8..3f472d4 100644
---- a/drivers/video/Kconfig
-+++ b/drivers/video/Kconfig
-@@ -1518,6 +1518,16 @@ config FB_PXA_PARAMETERS
-         <file:Documentation/fb/pxafb.txt> describes the available parameters.
-+config FB_MBX
-+      tristate "2700G LCD framebuffer support"
-+      depends on FB && ARCH_PXA
-+      select FB_CFB_FILLRECT
-+      select FB_CFB_COPYAREA
-+      select FB_CFB_IMAGEBLIT
-+      ---help---
-+
-+        If unsure, say N.
-+
- config FB_W100
-       tristate "W100 frame buffer support"
-       depends on FB && PXA_SHARPSL
-diff --git a/drivers/video/Makefile b/drivers/video/Makefile
-index c335e9b..eabb5be 100644
---- a/drivers/video/Makefile
-+++ b/drivers/video/Makefile
-@@ -38,6 +38,7 @@ obj-$(CONFIG_FB_SIS)           += sis/
- obj-$(CONFIG_FB_KYRO)             += kyro/
- obj-$(CONFIG_FB_SAVAGE)                 += savage/
- obj-$(CONFIG_FB_GEODE)                  += geode/
-+obj-$(CONFIG_FB_MBX)            += mbx/
- obj-$(CONFIG_FB_I810)             += vgastate.o
- obj-$(CONFIG_FB_NEOMAGIC)         += neofb.o vgastate.o
- obj-$(CONFIG_FB_VIRGE)            += virgefb.o
-diff --git a/drivers/video/mbx/Makefile b/drivers/video/mbx/Makefile
-new file mode 100644
-index 0000000..ad042f5
---- /dev/null
-+++ b/drivers/video/mbx/Makefile
-@@ -0,0 +1,3 @@
-+# Makefile for the 2700G controller driver.
-+
-+obj-$(CONFIG_FB_MBX)  += mbxfb.o
-diff --git a/drivers/video/mbx/mbxfb.c b/drivers/video/mbx/mbxfb.c
-new file mode 100644
-index 0000000..fcf164f
---- /dev/null
-+++ b/drivers/video/mbx/mbxfb.c
-@@ -0,0 +1,646 @@
-+/*
-+ *  linux/drivers/video/mbx/mbxfb.c
-+ *
-+ *  Copyright (C) 2006 Compulab, Ltd.
-+ *  Mike Rapoport <mike@compulab.co.il>
-+ *
-+ *   Based on pxafb.c
-+ *
-+ * This file is subject to the terms and conditions of the GNU General Public
-+ * License.  See the file COPYING in the main directory of this archive for
-+ * more details.
-+ *
-+ *   Intel 2700G (Marathon) Graphics Accelerator Frame Buffer Driver
-+ *
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+#include <linux/fb.h>
-+#include <linux/delay.h>
-+#include <linux/init.h>
-+#include <linux/platform_device.h>
-+#include <linux/mbxfb.h>
-+
-+#include <asm/io.h>
-+
-+/* use defines from asm-arm/arch-pxa/bitfields.h for now */
-+/* review (and maybe rework) all bitfields access later */
-+#define UData(Data)   ((unsigned long) (Data))
-+#define Fld(Size, Shft)       (((Size) << 16) + (Shft))
-+#define FSize(Field)  ((Field) >> 16)
-+#define FShft(Field)  ((Field) & 0x0000FFFF)
-+#define FMsk(Field)   (((UData (1) << FSize (Field)) - 1) << FShft (Field))
-+#define FAlnMsk(Field)        ((UData (1) << FSize (Field)) - 1)
-+#define F1stBit(Field)        (UData (1) << FShft (Field))
-+
-+static unsigned long virt_base_2700;
-+#include "regs.h"
-+#include "reg_bits.h"
-+
-+#define MIN_XRES      16
-+#define MIN_YRES      16
-+#define MAX_XRES      2048
-+#define MAX_YRES      2048
-+
-+/* FIXME: take care of different chip reivsions with different sizes
-+   of ODFB */
-+#define MEMORY_OFFSET 0x60000
-+
-+struct mbxfb_info {
-+              struct device *dev;
-+              
-+              struct resource *fb_res;
-+              struct resource *fb_req;
-+
-+              struct resource *reg_res;
-+              struct resource *reg_req;
-+
-+              void __iomem *fb_virt_addr;
-+              unsigned long fb_phys_addr;
-+
-+              void __iomem *reg_virt_addr;
-+              unsigned long reg_phys_addr;
-+
-+              int (*platform_probe)(struct fb_info *fb);
-+              int (*platform_remove)(struct fb_info *fb);
-+};
-+
-+static struct fb_var_screeninfo mbxfb_default = {
-+      .xres =         640,
-+      .yres =         480,
-+      .xres_virtual = 640,
-+      .yres_virtual = 480,
-+      .bits_per_pixel = 16,
-+      .red =          { 11, 5, 0 },
-+              .green =        { 5, 6, 0 },
-+              .blue =         { 0, 5, 0 },
-+              .activate =     FB_ACTIVATE_TEST,
-+              .height =       -1,
-+              .width =        -1,
-+              .pixclock =     40000,
-+              .left_margin =  48,
-+              .right_margin = 16,
-+              .upper_margin = 33,
-+              .lower_margin = 10,
-+              .hsync_len =    96,
-+              .vsync_len =    2,
-+              .vmode =        FB_VMODE_NONINTERLACED,
-+      .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
-+};
-+
-+static struct fb_fix_screeninfo mbxfb_fix = {
-+      .id =           "MBX",
-+      .type =         FB_TYPE_PACKED_PIXELS,
-+      .visual =       FB_VISUAL_TRUECOLOR,
-+      .xpanstep =     0,
-+      .ypanstep =     0,
-+      .ywrapstep =    0,
-+      .accel =        FB_ACCEL_NONE,
-+};
-+
-+struct pixclock_div {
-+      u8 m;
-+      u8 n;
-+      u8 p;
-+};
-+
-+static unsigned int mbxfb_get_pixclock(unsigned int pixclock_ps, struct pixclock_div *div)
-+{
-+      u8  m, n, p;
-+      unsigned int err = 0;
-+      unsigned int min_err = ~0x0;
-+      unsigned int clk;
-+      unsigned int best_clk = 0;
-+      unsigned int ref_clk = 13000; /* FIXME: take from platform data */
-+      unsigned int pixclock;
-+
-+      /* convert pixclock to KHz */
-+      pixclock = PICOS2KHZ(pixclock_ps);
-+
-+      for ( m = 1; m < 64; m++ ) {
-+              for ( n = 1; n < 8; n++ ) {
-+                      for ( p = 0; p < 8; p++ ) {
-+                              clk = (ref_clk * m) / (n * (1 << p));
-+                              err = (clk > pixclock) ? (clk - pixclock) : 
-+                                      (pixclock - clk);
-+                              if ( err < min_err ) {
-+                                      min_err = err;
-+                                      best_clk = clk;
-+                                      div->m = m;
-+                                      div->n = n;
-+                                      div->p = p;
-+                              }
-+                      }
-+              }
-+      }
-+      return KHZ2PICOS(best_clk);
-+}
-+
-+static int
-+mbxfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
-+                 u_int trans, struct fb_info *info)
-+{
-+      uint val, ret = 1;
-+
-+      if ( regno < 255 ) {
-+              val = (red & 0xff) << 16;
-+              val |= (green & 0xff) << 8;
-+              val |= (blue & 0xff) << 0;
-+              GPLUT = Gplut_Lutadr(regno) | Gplut_Lutdata(val);
-+              udelay(1000);
-+              ret = 0;
-+      }
-+      return ret;
-+}
-+
-+static int mbxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
-+{
-+      struct pixclock_div div;
-+      
-+      var->pixclock = mbxfb_get_pixclock(var->pixclock, &div);
-+
-+      if (var->xres < MIN_XRES)
-+              var->xres = MIN_XRES;
-+      if (var->yres < MIN_YRES)
-+              var->yres = MIN_YRES;
-+      if (var->xres > MAX_XRES)
-+              var->xres = MAX_XRES;
-+      if (var->yres > MAX_YRES)
-+              var->yres = MAX_YRES;
-+      var->xres_virtual =
-+              max(var->xres_virtual, var->xres);
-+      var->yres_virtual =
-+              max(var->yres_virtual, var->yres);
-+
-+      switch (var->bits_per_pixel) {
-+      /* FIXME: implement 8 bits-per-pixel */
-+      case 8:
-+              var->bits_per_pixel = 16;
-+      case 16:
-+              var->green.length = (var->green.length == 5) ? 5 : 6;
-+              var->red.length = 5;
-+              var->blue.length = 5;
-+              var->transp.length = 6 - var->green.length;
-+              var->blue.offset = 0;
-+              var->green.offset = 5;
-+              var->red.offset = 5 + var->green.length;
-+              var->transp.offset =  (5 + var->red.offset) & 15;
-+              break;
-+      case 24:        /* RGB 888   */
-+      case 32:        /* RGBA 8888 */
-+              var->red.offset = 16;
-+              var->red.length = 8;
-+              var->green.offset = 8;
-+              var->green.length = 8;
-+              var->blue.offset = 0;
-+              var->blue.length = 8;
-+              var->transp.length = var->bits_per_pixel - 24;
-+              var->transp.offset = (var->transp.length) ? 24 : 0;
-+              break;
-+      }
-+      var->red.msb_right = 0;
-+      var->green.msb_right = 0;
-+      var->blue.msb_right = 0;
-+      var->transp.msb_right = 0;
-+
-+      return 0;
-+}
-+
-+static int mbxfb_set_par(struct fb_info *info)
-+{
-+      struct fb_var_screeninfo *var = &info->var;
-+      struct pixclock_div div;
-+      ushort hbps, ht, hfps, has;
-+      ushort vbps, vt, vfps, vas;
-+
-+      info->fix.line_length = var->xres_virtual * var->bits_per_pixel / 8;
-+      
-+      /* setup color mode */
-+      GSCTRL &= ~(FMsk(GSCTRL_GPIXFMT));
-+      /* FIXME: add *WORKING* support for 8-bits per color */
-+      if ( info->var.bits_per_pixel == 8 ) {
-+              GSCTRL |= GSCTRL_GPIXFMT_INDEXED;
-+              GSCTRL |= GSCTRL_LUT_EN;
-+              GSCTRL &= ~GSCTRL_GAMMA_EN;
-+              info->fix.visual = FB_VISUAL_PSEUDOCOLOR;
-+              fb_alloc_cmap(&info->cmap, 1<<info->var.bits_per_pixel, 0);
-+      }
-+      else {
-+              fb_dealloc_cmap(&info->cmap);
-+              GSCTRL &= ~GSCTRL_LUT_EN;
-+              info->fix.visual = FB_VISUAL_TRUECOLOR;
-+              switch ( info->var.bits_per_pixel ) {
-+                      case 16:
-+                              if ( info->var.green.length == 5 )
-+                                      GSCTRL |= GSCTRL_GPIXFMT_ARGB1555;
-+                              else
-+                                      GSCTRL |= GSCTRL_GPIXFMT_RGB565;
-+                              break;
-+                      case 24:
-+                              GSCTRL |= GSCTRL_GPIXFMT_RGB888;
-+                              break;
-+                      case 32:
-+                              GSCTRL |= GSCTRL_GPIXFMT_ARGB8888;
-+                              break;
-+              }
-+      }
-+
-+      /* setup resolution */
-+      GSCTRL &= ~(FMsk(GSCTRL_GSWIDTH) | FMsk(GSCTRL_GSHEIGHT));
-+      GSCTRL |= Gsctrl_Width(info->var.xres - 1) |
-+              Gsctrl_Height(info->var.yres - 1);
-+      
-+      GSADR &= ~(FMsk(GSADR_SRCSTRIDE)); udelay(1000);
-+      GSADR |=  Gsadr_Srcstride(info->var.xres * info->var.bits_per_pixel / (8 * 16) - 1); udelay(1000);
-+
-+      /* setup timings */
-+      var->pixclock = mbxfb_get_pixclock(info->var.pixclock, &div);
-+
-+      DISPPLL = Disp_Pll_M(div.m) | Disp_Pll_N(div.n) | Disp_Pll_P(div.p) | DISP_PLL_EN;
-+      
-+      hbps = var->hsync_len;
-+      has = hbps + var->left_margin;
-+      hfps = has + var->xres;
-+      ht = hfps + var->right_margin;
-+
-+      vbps = var->vsync_len;
-+      vas = vbps + var->upper_margin;
-+      vfps = vas + var->yres;
-+      vt = vfps + var->lower_margin;
-+
-+      DHT01 = Dht01_Hbps(hbps) | Dht01_Ht(ht);
-+      DHT02 = Dht02_Hlbs(has) | Dht02_Has(has);
-+      DHT03 = Dht03_Hfps(hfps) | Dht03_Hrbs(hfps);
-+      DHDET = Dhdet_Hdes(has) | Dhdet_Hdef(hfps);
-+      
-+      DVT01 = Dvt01_Vbps(vbps) | Dvt01_Vt(vt);
-+      DVT02 = Dvt02_Vtbs(vas) | Dvt02_Vas(vas);
-+      DVT03 = Dvt03_Vfps(vfps) | Dvt03_Vbbs(vfps);
-+      DVDET = Dvdet_Vdes(vas) | Dvdet_Vdef(vfps);
-+      DVECTRL = Dvectrl_Vevent(vfps) | Dvectrl_Vfetch(vbps);
-+      DSCTRL |= DSCTRL_SYNCGEN_EN;
-+
-+      return 0;
-+}
-+
-+static int mbxfb_blank(int blank, struct fb_info *info)
-+{
-+      switch (blank) {
-+      case FB_BLANK_POWERDOWN:
-+      case FB_BLANK_VSYNC_SUSPEND:
-+      case FB_BLANK_HSYNC_SUSPEND:
-+      case FB_BLANK_NORMAL:
-+              DSCTRL &= ~DSCTRL_SYNCGEN_EN; udelay(1000);
-+              PIXCLK &= ~PIXCLK_EN; udelay(1000);
-+              VOVRCLK &= ~VOVRCLK_EN; udelay(1000);
-+              break;
-+      case FB_BLANK_UNBLANK:
-+              DSCTRL |= DSCTRL_SYNCGEN_EN; udelay(1000);
-+              PIXCLK |= PIXCLK_EN; udelay(1000);
-+              break;
-+      }
-+      return 0;
-+}
-+
-+static struct fb_ops mbxfb_ops = {
-+      .owner          = THIS_MODULE,
-+      .fb_check_var   = mbxfb_check_var,
-+      .fb_set_par     = mbxfb_set_par,
-+      .fb_setcolreg   = mbxfb_setcolreg,
-+      .fb_fillrect    = cfb_fillrect,
-+      .fb_copyarea    = cfb_copyarea,
-+      .fb_imageblit   = cfb_imageblit,
-+      .fb_blank       = mbxfb_blank,
-+};
-+
-+/*
-+   Enable external SDRAM controller. Assume that all clocks are active
-+   by now. 
-+*/
-+static void setup_memc(struct fb_info *fbi)
-+{
-+      unsigned long tmp;
-+
-+      /* FIXME: use platfrom specific parameters */
-+      /* setup SDRAM controller */
-+      LMCFG = LMCFG_LMC_DS | LMCFG_LMC_TS | LMCFG_LMD_TS | LMCFG_LMA_TS;
-+      udelay(1000);
-+      LMPWR = LMPWR_MC_PWR_ACT;
-+      udelay(1000);
-+      /* setup SDRAM timings */
-+      LMTIM = Lmtim_Tras(7) | Lmtim_Trp(3) | Lmtim_Trcd(3) | Lmtim_Trc(9) |
-+              Lmtim_Tdpl(2);
-+      udelay(1000);
-+      /* setup SDRAM refresh rate */
-+      LMREFRESH = 0xc2b;
-+      udelay(1000);
-+      /* setup SDRAM type parameters */
-+      LMTYPE = LMTYPE_CASLAT_3 | LMTYPE_BKSZ_2 | LMTYPE_ROWSZ_11 | 
-+              LMTYPE_COLSZ_8;
-+      udelay(1000);
-+      /* enable memory controller */
-+      LMPWR = LMPWR_MC_PWR_ACT;
-+      udelay(1000);
-+
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+      tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
-+}
-+
-+static void enable_clocks(struct fb_info* fbi)
-+{
-+      /* enable clocks */
-+      SYSCLKSRC = SYSCLKSRC_PLL_2; udelay(1000);
-+      PIXCLKSRC = PIXCLKSRC_PLL_1; udelay(1000);
-+      CLKSLEEP = 0x00000000; udelay(1000);
-+      COREPLL = Core_Pll_M(0x17) | Core_Pll_N(0x3) | Core_Pll_P(0x0) | CORE_PLL_EN; udelay(1000);
-+      DISPPLL = Disp_Pll_M(0x1b) | Disp_Pll_N(0x7) | Disp_Pll_P(0x1) | DISP_PLL_EN;
-+
-+      VOVRCLK = 0x00000000; udelay(1000);
-+      PIXCLK = PIXCLK_EN; udelay(1000);
-+      MEMCLK = MEMCLK_EN; udelay(1000);
-+      M24CLK = 0x00000006; udelay(1000);
-+      MBXCLK = 0x00000006; udelay(1000);
-+      SDCLK = SDCLK_EN; udelay(1000);
-+      PIXCLKDIV = 0x00000001; udelay(1000);
-+}
-+
-+static void setup_graphics(struct fb_info* fbi)
-+{
-+      unsigned long gsctrl;
-+
-+      gsctrl = GSCTRL_GAMMA_EN | Gsctrl_Width(fbi->var.xres-1) |
-+              Gsctrl_Height(fbi->var.yres-1);
-+      switch ( fbi->var.bits_per_pixel ) {
-+              case 16:
-+                      if ( fbi->var.green.length == 5 )
-+                              gsctrl |= GSCTRL_GPIXFMT_ARGB1555;
-+                      else
-+                              gsctrl |= GSCTRL_GPIXFMT_RGB565;
-+                      break;
-+              case 24: gsctrl |= GSCTRL_GPIXFMT_RGB888; break;
-+              case 32: gsctrl |= GSCTRL_GPIXFMT_ARGB8888; break;
-+      }
-+
-+      GSCTRL = gsctrl; udelay(1000);
-+      GBBASE = 0x00000000; udelay(1000);
-+      GDRCTRL = 0x00ffffff; udelay(1000);
-+      GSCADR = GSCADR_STR_EN | Gscadr_Gbase_Adr(0x6000); udelay(1000);
-+      GPLUT = 0x00000000; udelay(1000);
-+}
-+
-+static void setup_display(struct fb_info* fbi)
-+{
-+      unsigned long dsctrl = 0;
-+ 
-+      dsctrl = DSCTRL_BLNK_POL;
-+      if ( fbi->var.sync & FB_SYNC_HOR_HIGH_ACT )
-+              dsctrl |= DSCTRL_HS_POL;
-+      if ( fbi->var.sync & FB_SYNC_VERT_HIGH_ACT )
-+              dsctrl |= DSCTRL_VS_POL;
-+      DSCTRL = dsctrl; udelay(1000);
-+      DMCTRL = 0xd0303010; udelay(1000);
-+      DSCTRL |= DSCTRL_SYNCGEN_EN;
-+}
-+
-+static void enable_controller(struct fb_info* fbi)
-+{
-+      SYSRST = SYSRST_RST;
-+      udelay(1000);
-+
-+      enable_clocks(fbi);
-+      setup_memc(fbi);        
-+      setup_graphics(fbi);
-+      setup_display(fbi);
-+}
-+
-+
-+#ifdef CONFIG_PM
-+/*
-+ * Power management hooks.  Note that we won't be called from IRQ context,
-+ * unlike the blank functions above, so we may sleep.
-+ */
-+static int mbxfb_suspend(struct platform_device *dev, pm_message_t state)
-+{
-+      /* make frame buffer memory enter self-refresh mode */
-+      LMPWR = LMPWR_MC_PWR_SRM;
-+      while ( LMPWRSTAT != LMPWRSTAT_MC_PWR_SRM );
-+
-+      /* reset the device, since it's initial state is 'mostly sleeping' */
-+      SYSRST = SYSRST_RST;
-+      return 0;
-+}
-+
-+static int mbxfb_resume(struct platform_device *dev)
-+{
-+      struct fb_info *fbi = (struct fb_info*)platform_get_drvdata(dev);
-+
-+      enable_clocks(fbi);
-+/*    setup_graphics(fbi); */
-+/*    setup_display(fbi); */
-+
-+      DSCTRL |= DSCTRL_SYNCGEN_EN;
-+      return 0;
-+}
-+#else
-+#define mbxfb_suspend NULL
-+#define mbxfb_resume  NULL
-+#endif
-+
-+#include "mbxsysfs.c"
-+
-+#define res_size(_r) (((_r)->end - (_r)->start) + 1)
-+
-+static int mbxfb_probe(struct platform_device *dev)
-+{
-+      int ret;
-+      struct fb_info *fbi;
-+      struct mbxfb_info *mfbi;
-+      struct mbxfb_platform_data *pdata;
-+
-+      dev_dbg(dev, "mbxfb_probe\n");
-+
-+      fbi = framebuffer_alloc(sizeof(struct mbxfb_info), &dev->dev);
-+      if ( fbi == NULL ) {
-+              dev_err(&dev->dev, "framebuffer_alloc failed\n");
-+              return -ENOMEM;
-+      }
-+
-+      mfbi = fbi->par;
-+      pdata = dev->dev.platform_data;
-+      if ( pdata->probe )
-+              mfbi->platform_probe = pdata->probe;
-+      if ( pdata->remove )
-+              mfbi->platform_remove = pdata->remove;
-+
-+      mfbi->fb_res = platform_get_resource(dev, IORESOURCE_MEM, 0);
-+      mfbi->reg_res = platform_get_resource(dev, IORESOURCE_MEM, 1);
-+
-+      if ( !mfbi->fb_res || !mfbi->reg_res ) {
-+              dev_err(&dev->dev, "no resources found\n");
-+              ret = -ENODEV;
-+              goto err1;
-+      }
-+
-+      mfbi->fb_req = request_mem_region(mfbi->fb_res->start,
-+                                        res_size(mfbi->fb_res),
-+                                        dev->name);
-+      if ( mfbi->fb_req == NULL ) {
-+              dev_err(&dev->dev, "failed to claim framebuffer memory\n");
-+              ret = -EINVAL;
-+              goto err1;
-+      }
-+      mfbi->fb_phys_addr = mfbi->fb_res->start;
-+
-+      mfbi->reg_req = request_mem_region(mfbi->reg_res->start,
-+                                        res_size(mfbi->reg_res),
-+                                         dev->name);
-+      if ( mfbi->reg_req == NULL ) {
-+              dev_err(&dev->dev, "failed to claim Marathon registers\n");
-+              ret = -EINVAL;
-+              goto err2;
-+      }
-+      mfbi->reg_phys_addr = mfbi->reg_res->start;
-+
-+      mfbi->reg_virt_addr = ioremap_nocache(mfbi->reg_phys_addr,
-+                                            res_size(mfbi->reg_req));
-+      if ( !mfbi->reg_virt_addr ) {
-+              dev_err(&dev->dev, "failed to ioremap Marathon registers\n");
-+              ret = -EINVAL;
-+              goto err3;
-+      }
-+      virt_base_2700 = (unsigned long)mfbi->reg_virt_addr;
-+
-+      mfbi->fb_virt_addr = ioremap_nocache(mfbi->fb_phys_addr,
-+                                           res_size(mfbi->fb_req));
-+      if ( !mfbi->reg_virt_addr ) {
-+              dev_err(&dev->dev, "failed to ioremap frame buffer\n");
-+              ret = -EINVAL;
-+              goto err4;
-+      }
-+
-+      fbi->screen_base = (char __iomem *)(mfbi->fb_virt_addr + 0x60000); /* FIXME: */
-+      fbi->screen_size = 8*1024*1024; /* 8 Megs */ /* FIXME: get from platform */
-+      fbi->fbops = &mbxfb_ops;
-+
-+      fbi->var = mbxfb_default;
-+      fbi->fix = mbxfb_fix;
-+      fbi->fix.smem_start = mfbi->fb_phys_addr + 0x60000;
-+      fbi->fix.smem_len = 8*1024*1024;
-+      fbi->fix.line_length = 640*2;
-+
-+      ret = fb_alloc_cmap(&fbi->cmap, 256, 0);
-+      if (ret < 0) {
-+              dev_err(&dev->dev, "fb_alloc_cmap failed\n");
-+              ret = -EINVAL;
-+              goto err5;
-+      }
-+
-+      ret = register_framebuffer(fbi);
-+      if (ret < 0) {
-+              dev_err(&dev->dev, "register_framebuffer failed\n");
-+              ret = -EINVAL;
-+              goto err6;
-+      }
-+
-+      platform_set_drvdata(dev, fbi);
-+
-+      printk(KERN_INFO "fb%d: mbx frame buffer device\n", fbi->node);
-+
-+      if ( mfbi->platform_probe )
-+              mfbi->platform_probe(fbi);
-+
-+      enable_controller(fbi);
-+
-+      mbxfb_sysfs_register(fbi);
-+
-+      return 0;
-+
-+  err6:
-+      fb_dealloc_cmap(&fbi->cmap);
-+  err5:
-+      iounmap(mfbi->fb_virt_addr);
-+  err4:
-+      iounmap(mfbi->reg_virt_addr);
-+  err3:
-+      release_mem_region(mfbi->reg_res->start,
-+                         res_size(mfbi->reg_res));
-+  err2:
-+      release_mem_region(mfbi->fb_res->start,
-+                         res_size(mfbi->fb_res));
-+  err1:
-+      framebuffer_release(fbi);
-+
-+      return ret;
-+}
-+
-+static int mbxfb_remove(struct platform_device *dev)
-+{
-+      struct fb_info *fbi = (struct fb_info*)platform_get_drvdata(dev);
-+
-+      SYSRST = SYSRST_RST;
-+      udelay(1000);
-+
-+      if (fbi) {
-+              struct mbxfb_info *mfbi = fbi->par;
-+
-+              unregister_framebuffer(fbi);
-+              if ( mfbi ) {
-+                      if ( mfbi->platform_remove )
-+                              mfbi->platform_remove(fbi);
-+
-+                      if ( mfbi->fb_virt_addr )
-+                              iounmap(mfbi->fb_virt_addr);
-+                      if ( mfbi->reg_virt_addr )
-+                              iounmap(mfbi->reg_virt_addr);
-+                      if ( mfbi->reg_req ) 
-+                              release_mem_region(mfbi->reg_req->start,
-+                                                 res_size(mfbi->reg_req));
-+                      if ( mfbi->fb_req ) 
-+                              release_mem_region(mfbi->fb_req->start,
-+                                                 res_size(mfbi->fb_req));
-+              }
-+              framebuffer_release(fbi);
-+      }
-+
-+      return 0;
-+}
-+
-+static struct platform_driver mbxfb_driver = {
-+      .probe          = mbxfb_probe,
-+      .remove         = mbxfb_remove,
-+
-+#ifdef CONFIG_PM
-+      .suspend        = mbxfb_suspend,
-+      .resume         = mbxfb_resume,
-+#endif
-+      .driver         = {
-+              .name   = "mbx-fb",
-+      },
-+};
-+
-+int __devinit mbxfb_init(void)
-+{
-+      return platform_driver_register(&mbxfb_driver);
-+}
-+
-+static void __exit mbxfb_exit(void)
-+{
-+      platform_driver_unregister(&mbxfb_driver);
-+}
-+
-+module_init(mbxfb_init);
-+module_exit(mbxfb_exit);
-+
-+MODULE_DESCRIPTION("loadable framebuffer driver for Marathon device");
-+MODULE_AUTHOR("Mike Rapoport, Compulab");
-+MODULE_LICENSE("GPL");
-diff --git a/drivers/video/mbx/mbxsysfs.c b/drivers/video/mbx/mbxsysfs.c
-new file mode 100644
-index 0000000..4b9571a
---- /dev/null
-+++ b/drivers/video/mbx/mbxsysfs.c
-@@ -0,0 +1,129 @@
-+static ssize_t sysconf_show(struct class_device * subsys, char * buf)
-+{
-+      char * s = buf;
-+
-+      s += sprintf(s, "SYSCFG = %08lx\n", SYSCFG);
-+      s += sprintf(s, "PFBASE = %08lx\n", PFBASE);
-+      s += sprintf(s, "PFCEIL = %08lx\n", PFCEIL);
-+      s += sprintf(s, "POLLFLAG = %08lx\n", POLLFLAG);
-+      s += sprintf(s, "SYSRST = %08lx\n", SYSRST);
-+      return (s - buf);
-+}
-+
-+static ssize_t sysconf_store(struct class_device * subsys, const char * buf, size_t n)
-+{
-+      return n;
-+}
-+
-+static ssize_t gsctl_show(struct class_device * subsys, char * buf)
-+{
-+      char * s = buf;
-+
-+      s += sprintf(s, "GSCTRL = %08lx\n", GSCTRL);
-+      s += sprintf(s, "VSCTRL = %08lx\n", VSCTRL);
-+      s += sprintf(s, "GBBASE = %08lx\n", GBBASE);
-+      s += sprintf(s, "VBBASE = %08lx\n", VBBASE);
-+      s += sprintf(s, "GDRCTRL = %08lx\n", GDRCTRL);
-+      s += sprintf(s, "VCMSK = %08lx\n", VCMSK);
-+      s += sprintf(s, "GSCADR = %08lx\n", GSCADR);
-+      s += sprintf(s, "VSCADR = %08lx\n", VSCADR);
-+      s += sprintf(s, "VUBASE = %08lx\n", VUBASE);
-+      s += sprintf(s, "VVBASE = %08lx\n", VVBASE);
-+      s += sprintf(s, "GSADR = %08lx\n", GSADR);
-+      s += sprintf(s, "VSADR = %08lx\n", VSADR);
-+      s += sprintf(s, "HCCTRL = %08lx\n", HCCTRL);
-+      s += sprintf(s, "HCSIZE = %08lx\n", HCSIZE);
-+      s += sprintf(s, "HCPOS = %08lx\n", HCPOS);
-+      s += sprintf(s, "HCBADR = %08lx\n", HCBADR);
-+      s += sprintf(s, "HCCKMSK = %08lx\n", HCCKMSK);
-+      s += sprintf(s, "GPLUT = %08lx\n", GPLUT);
-+      return (s - buf);
-+}
-+
-+static ssize_t gsctl_store(struct class_device * subsys, const char * buf, size_t n)
-+{
-+      return n;
-+}
-+
-+static ssize_t display_show(struct class_device * subsys, char * buf)
-+{
-+      char * s = buf;
-+
-+      s += sprintf(s, "DSCTRL = %08lx\n", DSCTRL);
-+      s += sprintf(s, "DHT01 = %08lx\n", DHT01);
-+      s += sprintf(s, "DHT02 = %08lx\n", DHT02);
-+      s += sprintf(s, "DHT03 = %08lx\n", DHT03);
-+      s += sprintf(s, "DVT01 = %08lx\n", DVT01);
-+      s += sprintf(s, "DVT02 = %08lx\n", DVT02);
-+      s += sprintf(s, "DVT03 = %08lx\n", DVT03);
-+      s += sprintf(s, "DBCOL = %08lx\n", DBCOL);
-+      s += sprintf(s, "BGCOLOR = %08lx\n", BGCOLOR);
-+      s += sprintf(s, "DINTRS = %08lx\n", DINTRS);
-+      s += sprintf(s, "DINTRE = %08lx\n", DINTRE);
-+      s += sprintf(s, "DINTRCNT = %08lx\n", DINTRCNT);
-+      s += sprintf(s, "DSIG = %08lx\n", DSIG);
-+      s += sprintf(s, "DMCTRL = %08lx\n", DMCTRL);
-+      s += sprintf(s, "CLIPCTRL = %08lx\n", CLIPCTRL);
-+      s += sprintf(s, "SPOCTRL = %08lx\n", SPOCTRL);
-+      s += sprintf(s, "SVCTRL = %08lx\n", SVCTRL);
-+      s += sprintf(s, "DLSTS = %08lx\n", DLSTS);
-+      s += sprintf(s, "DLLCTRL = %08lx\n", DLLCTRL);
-+      s += sprintf(s, "DVLNUM = %08lx\n", DVLNUM);
-+      s += sprintf(s, "DUCTRL = %08lx\n", DUCTRL);
-+      s += sprintf(s, "DVECTRL = %08lx\n", DVECTRL);
-+      s += sprintf(s, "DHDET = %08lx\n", DHDET);
-+      s += sprintf(s, "DVDET = %08lx\n", DVDET);
-+      s += sprintf(s, "DODMSK = %08lx\n", DODMSK);
-+      s += sprintf(s, "CSC01 = %08lx\n", CSC01);
-+      s += sprintf(s, "CSC02 = %08lx\n", CSC02);
-+      s += sprintf(s, "CSC03 = %08lx\n", CSC03);
-+      s += sprintf(s, "CSC04 = %08lx\n", CSC04);
-+      s += sprintf(s, "CSC05 = %08lx\n", CSC05);
-+      return (s - buf);
-+}
-+
-+static ssize_t display_store(struct class_device * subsys, const char * buf, size_t n)
-+{
-+      return n;
-+}
-+
-+static ssize_t clock_show(struct class_device * subsys, char * buf)
-+{
-+      char * s = buf;
-+
-+      s += sprintf(s, "SYSCLKSRC = %08lx\n", SYSCLKSRC);
-+      s += sprintf(s, "PIXCLKSRC = %08lx\n", PIXCLKSRC);
-+      s += sprintf(s, "CLKSLEEP = %08lx\n", CLKSLEEP);
-+      s += sprintf(s, "COREPLL = %08lx\n", COREPLL);
-+      s += sprintf(s, "DISPPLL = %08lx\n", DISPPLL);
-+      s += sprintf(s, "PLLSTAT = %08lx\n", PLLSTAT);
-+      s += sprintf(s, "VOVRCLK = %08lx\n", VOVRCLK);
-+      s += sprintf(s, "PIXCLK = %08lx\n", PIXCLK);
-+      s += sprintf(s, "MEMCLK = %08lx\n", MEMCLK);
-+      s += sprintf(s, "M24CLK = %08lx\n", M24CLK);
-+      s += sprintf(s, "MBXCLK = %08lx\n", MBXCLK);
-+      s += sprintf(s, "SDCLK = %08lx\n", SDCLK);
-+      s += sprintf(s, "PIXCLKDIV = %08lx\n", PIXCLKDIV);
-+      return (s - buf);
-+}
-+
-+static ssize_t clock_store(struct class_device * subsys, const char * buf, size_t n)
-+{
-+      return n;
-+}
-+
-+static struct class_device_attribute mbx_class_attrs[] = {
-+      __ATTR(sysconf,0644,sysconf_show,sysconf_store),
-+      __ATTR(gsctl,0644,gsctl_show,gsctl_store),
-+      __ATTR(display,0644,display_show,display_store),
-+      __ATTR(clock,0644,clock_show,clock_store),
-+};
-+
-+
-+static void mbxfb_sysfs_register(struct fb_info *fbi)
-+{
-+      int i;
-+      for (i = 0; i < ARRAY_SIZE(mbx_class_attrs); i++)
-+              class_device_create_file(fbi->class_device,
-+                                       &mbx_class_attrs[i]);
-+}
-diff --git a/drivers/video/mbx/reg_bits.h b/drivers/video/mbx/reg_bits.h
-new file mode 100644
-index 0000000..be152f6
---- /dev/null
-+++ b/drivers/video/mbx/reg_bits.h
-@@ -0,0 +1,489 @@
-+#ifndef __REG_BITS_2700G_
-+#define __REG_BITS_2700G_
-+
-+/* /\* System Configuration Registers (0x03FE_0000  0x03FE_0010) *\/ */
-+/* #define SYSCFG             __REG_2700G(0x03FE0000) */
-+/* #define PFBASE             __REG_2700G(0x03FE0004) */
-+/* #define PFCEIL             __REG_2700G(0x03FE0008) */
-+/* #define POLLFLAG   __REG_2700G(0x03FE000C) */
-+
-+#define SYSRST_RST    (1 << 0)
-+
-+/* /\* Interrupt Control Registers (0x03FE_0014  0x03FE_002F) *\/ */
-+/* #define NINTPW             __REG_2700G(0x03FE0014) */
-+/* #define MINTENABLE __REG_2700G(0x03FE0018) */
-+/* #define MINTSTAT   __REG_2700G(0x03FE001C) */
-+/* #define SINTENABLE __REG_2700G(0x03FE0020) */
-+/* #define SINTSTAT   __REG_2700G(0x03FE0024) */
-+/* #define SINTCLR            __REG_2700G(0x03FE0028) */
-+
-+/* SYSCLKSRC - SYSCLK Source Control Register */
-+#define SYSCLKSRC_SEL Fld(2,0)
-+#define SYSCLKSRC_REF ((0x0) << FShft(SYSCLKSRC_SEL))
-+#define SYSCLKSRC_PLL_1       ((0x1) << FShft(SYSCLKSRC_SEL))
-+#define SYSCLKSRC_PLL_2       ((0x2) << FShft(SYSCLKSRC_SEL))
-+
-+/* PIXCLKSRC - PIXCLK Source Control Register */
-+#define PIXCLKSRC_SEL Fld(2,0)
-+#define PIXCLKSRC_REF ((0x0) << FShft(PIXCLKSRC_SEL))
-+#define PIXCLKSRC_PLL_1       ((0x1) << FShft(PIXCLKSRC_SEL))
-+#define PIXCLKSRC_PLL_2       ((0x2) << FShft(PIXCLKSRC_SEL))
-+
-+/* Clock Disable Register */
-+#define CLKSLEEP_SLP  (1 << 0)
-+
-+/* Core PLL Control Register */
-+#define CORE_PLL_M    Fld(6,7)
-+#define Core_Pll_M(x) ((x) << FShft(CORE_PLL_M))
-+#define CORE_PLL_N    Fld(3,4)
-+#define Core_Pll_N(x) ((x) << FShft(CORE_PLL_N))
-+#define CORE_PLL_P    Fld(3,1)
-+#define Core_Pll_P(x) ((x) << FShft(CORE_PLL_P))
-+#define CORE_PLL_EN   (1 << 0)
-+
-+/* Display PLL Control Register */
-+#define DISP_PLL_M    Fld(6,7)
-+#define Disp_Pll_M(x) ((x) << FShft(DISP_PLL_M))
-+#define DISP_PLL_N    Fld(3,4)
-+#define Disp_Pll_N(x) ((x) << FShft(DISP_PLL_N))
-+#define DISP_PLL_P    Fld(3,1)
-+#define Disp_Pll_P(x) ((x) << FShft(DISP_PLL_P))
-+#define DISP_PLL_EN   (1 << 0)
-+
-+/* PLL status register */
-+#define PLLSTAT_CORE_PLL_LOST_L       (1 << 3)
-+#define PLLSTAT_CORE_PLL_LSTS (1 << 2)
-+#define PLLSTAT_DISP_PLL_LOST_L       (1 << 1)
-+#define PLLSTAT_DISP_PLL_LSTS (1 << 0)
-+
-+/* Video and scale clock control register */
-+#define VOVRCLK_EN    (1 << 0)
-+
-+/* Pixel clock control register */
-+#define PIXCLK_EN     (1 << 0)
-+
-+/* Memory clock control register */
-+#define MEMCLK_EN     (1 << 0)
-+
-+/* MBX clock control register */
-+#define MBXCLK_DIV    Fld(2,2)
-+#define MBXCLK_DIV_1  ((0x0) << FShft(MBXCLK_DIV))
-+#define MBXCLK_DIV_2  ((0x1) << FShft(MBXCLK_DIV))
-+#define MBXCLK_DIV_3  ((0x2) << FShft(MBXCLK_DIV))
-+#define MBXCLK_DIV_4  ((0x3) << FShft(MBXCLK_DIV))
-+#define MBXCLK_EN     Fld(2,0)
-+#define MBXCLK_EN_NONE        ((0x0) << FShft(MBXCLK_EN))
-+#define MBXCLK_EN_2D  ((0x1) << FShft(MBXCLK_EN))
-+#define MBXCLK_EN_BOTH        ((0x2) << FShft(MBXCLK_EN))
-+
-+/* M24 clock control register */
-+#define M24CLK_DIV    Fld(2,1)
-+#define M24CLK_DIV_1  ((0x0) << FShft(M24CLK_DIV))
-+#define M24CLK_DIV_2  ((0x1) << FShft(M24CLK_DIV))
-+#define M24CLK_DIV_3  ((0x2) << FShft(M24CLK_DIV))
-+#define M24CLK_DIV_4  ((0x3) << FShft(M24CLK_DIV))
-+#define M24CLK_EN     (1 << 0)
-+
-+/* SDRAM clock control register */
-+#define SDCLK_EN      (1 << 0)
-+
-+/* PixClk Divisor Register */
-+#define PIXCLKDIV_PD  Fld(9,0)
-+#define Pixclkdiv_Pd(x)       ((x) << FShft(PIXCLKDIV_PD))
-+
-+/* LCD Config control register */ 
-+#define LCDCFG_IN_FMT Fld(3,28)
-+#define Lcdcfg_In_Fmt(x)      ((x) << FShft(LCDCFG_IN_FMT))
-+#define LCDCFG_LCD1DEN_POL    (1 << 27)
-+#define LCDCFG_LCD1FCLK_POL   (1 << 26)
-+#define LCDCFG_LCD1LCLK_POL   (1 << 25)
-+#define LCDCFG_LCD1D_POL      (1 << 24)
-+#define LCDCFG_LCD2DEN_POL    (1 << 23)
-+#define LCDCFG_LCD2FCLK_POL   (1 << 22)
-+#define LCDCFG_LCD2LCLK_POL   (1 << 21)
-+#define LCDCFG_LCD2D_POL      (1 << 20)
-+#define LCDCFG_LCD1_TS                (1 << 19)
-+#define LCDCFG_LCD1D_DS               (1 << 18)
-+#define LCDCFG_LCD1C_DS               (1 << 17)
-+#define LCDCFG_LCD1_IS_IN     (1 << 16)
-+#define LCDCFG_LCD2_TS                (1 << 3)
-+#define LCDCFG_LCD2D_DS               (1 << 2)
-+#define LCDCFG_LCD2C_DS               (1 << 1)
-+#define LCDCFG_LCD2_IS_IN     (1 << 0)
-+
-+/* On-Die Frame Buffer Power Control Register */
-+#define ODFBPWR_SLOW  (1 << 2)
-+#define ODFBPWR_MODE  Fld(2,0)
-+#define ODFBPWR_MODE_ACT      ((0x0) << FShft(ODFBPWR_MODE))
-+#define ODFBPWR_MODE_ACT_LP   ((0x1) << FShft(ODFBPWR_MODE))
-+#define ODFBPWR_MODE_SLEEP    ((0x2) << FShft(ODFBPWR_MODE))
-+#define ODFBPWR_MODE_SHUTD    ((0x3) << FShft(ODFBPWR_MODE))
-+
-+/* On-Die Frame Buffer Power State Status Register */
-+#define ODFBSTAT_ACT  (1 << 2)
-+#define ODFBSTAT_SLP  (1 << 1)
-+#define ODFBSTAT_SDN  (1 << 0)
-+
-+/* /\* GPIO Registers (0x03FE_006C  0x03FE_007F) *\/ */
-+/* #define GPIOCGF            __REG_2700G(0x03FE006C) */
-+/* #define GPIOHI             __REG_2700G(0x03FE0070) */
-+/* #define GPIOLO             __REG_2700G(0x03FE0074) */
-+/* #define GPIOSTAT   __REG_2700G(0x03FE0078) */
-+
-+/* /\* Pulse Width Modulator (PWM) Registers (0x03FE_0200  0x03FE_02FF) *\/ */
-+/* #define PWMRST             __REG_2700G(0x03FE0200) */
-+/* #define PWMCFG             __REG_2700G(0x03FE0204) */
-+/* #define PWM0DIV            __REG_2700G(0x03FE0210) */
-+/* #define PWM0DUTY   __REG_2700G(0x03FE0214) */
-+/* #define PWM0PER            __REG_2700G(0x03FE0218) */
-+/* #define PWM1DIV            __REG_2700G(0x03FE0220) */
-+/* #define PWM1DUTY   __REG_2700G(0x03FE0224) */
-+/* #define PWM1PER            __REG_2700G(0x03FE0228) */
-+
-+
-+/* LMRST - Local Memory (SDRAM) Reset */
-+#define LMRST_MC_RST  (1 << 0)
-+
-+/* LMCFG - Local Memory (SDRAM) Configuration Register */
-+#define LMCFG_LMC_DS  (1 << 5)
-+#define LMCFG_LMD_DS  (1 << 4)
-+#define LMCFG_LMA_DS  (1 << 3)
-+#define LMCFG_LMC_TS  (1 << 2)
-+#define LMCFG_LMD_TS  (1 << 1)
-+#define LMCFG_LMA_TS  (1 << 0)
-+
-+/* LMPWR - Local Memory (SDRAM) Power Control Register */
-+#define LMPWR_MC_PWR_CNT      Fld(2,0)
-+#define LMPWR_MC_PWR_ACT      ((0x0) << FShft(LMPWR_MC_PWR_CNT)) /* Active */
-+#define LMPWR_MC_PWR_SRM      ((0x1) << FShft(LMPWR_MC_PWR_CNT)) /* Self-refresh */
-+#define LMPWR_MC_PWR_DPD      ((0x3) << FShft(LMPWR_MC_PWR_CNT)) /* deep power down */
-+
-+/* LMPWRSTAT - Local Memory (SDRAM) Power Status Register */
-+#define LMPWRSTAT_MC_PWR_CNT  Fld(2,0)
-+#define LMPWRSTAT_MC_PWR_ACT  ((0x0) << FShft(LMPWRSTAT_MC_PWR_CNT)) /* Active */
-+#define LMPWRSTAT_MC_PWR_SRM  ((0x1) << FShft(LMPWRSTAT_MC_PWR_CNT)) /* Self-refresh */
-+#define LMPWRSTAT_MC_PWR_DPD  ((0x3) << FShft(LMPWRSTAT_MC_PWR_CNT)) /* deep power down */
-+
-+/* LMTYPE - Local Memory (SDRAM) Type Register */
-+#define LMTYPE_CASLAT Fld(3,10)
-+#define LMTYPE_CASLAT_1       ((0x1) << FShft(LMTYPE_CASLAT))
-+#define LMTYPE_CASLAT_2       ((0x2) << FShft(LMTYPE_CASLAT))
-+#define LMTYPE_CASLAT_3       ((0x3) << FShft(LMTYPE_CASLAT))
-+#define LMTYPE_BKSZ   Fld(2,8)
-+#define LMTYPE_BKSZ_1 ((0x1) << FShft(LMTYPE_BKSZ))
-+#define LMTYPE_BKSZ_2 ((0x2) << FShft(LMTYPE_BKSZ))
-+#define LMTYPE_ROWSZ  Fld(4,4)
-+#define LMTYPE_ROWSZ_11       ((0xb) << FShft(LMTYPE_ROWSZ))
-+#define LMTYPE_ROWSZ_12       ((0xc) << FShft(LMTYPE_ROWSZ))
-+#define LMTYPE_ROWSZ_13       ((0xd) << FShft(LMTYPE_ROWSZ))
-+#define LMTYPE_COLSZ  Fld(4,0)
-+#define LMTYPE_COLSZ_7        ((0x7) << FShft(LMTYPE_COLSZ))
-+#define LMTYPE_COLSZ_8        ((0x8) << FShft(LMTYPE_COLSZ))
-+#define LMTYPE_COLSZ_9        ((0x9) << FShft(LMTYPE_COLSZ))
-+#define LMTYPE_COLSZ_10       ((0xa) << FShft(LMTYPE_COLSZ))
-+#define LMTYPE_COLSZ_11       ((0xb) << FShft(LMTYPE_COLSZ))
-+#define LMTYPE_COLSZ_12       ((0xc) << FShft(LMTYPE_COLSZ))
-+
-+/* LMTIM - Local Memory (SDRAM) Timing Register */
-+#define LMTIM_TRAS    Fld(4,16)
-+#define Lmtim_Tras(x) ((x) << FShft(LMTIM_TRAS))
-+#define LMTIM_TRP     Fld(4,12)
-+#define Lmtim_Trp(x)  ((x) << FShft(LMTIM_TRP))
-+#define LMTIM_TRCD    Fld(4,8)
-+#define Lmtim_Trcd(x) ((x) << FShft(LMTIM_TRCD))
-+#define LMTIM_TRC     Fld(4,4)
-+#define Lmtim_Trc(x)  ((x) << FShft(LMTIM_TRC))
-+#define LMTIM_TDPL    Fld(4,0)
-+#define Lmtim_Tdpl(x) ((x) << FShft(LMTIM_TDPL))
-+
-+/* LMREFRESH - Local Memory (SDRAM) tREF Control Register */
-+#define LMREFRESH_TREF        Fld(2,0)
-+#define Lmrefresh_Tref(x)     ((x) << FShft(LMREFRESH_TREF))
-+
-+/* #define LMCEMR     __REG_2700G(0x03FE1010) */
-+/* #define LMPROTMIN  __REG_2700G(0x03FE1020) */
-+/* #define LMPROTMAX  __REG_2700G(0x03FE1024) */
-+/* #define LMPROTCFG  __REG_2700G(0x03FE1028) */
-+/* #define LMPROTERR  __REG_2700G(0x03FE102C) */
-+
-+/* GSCTRL - Graphics surface control register */
-+#define GSCTRL_LUT_EN (1 << 31)
-+#define GSCTRL_GPIXFMT        Fld(4,27)
-+#define GSCTRL_GPIXFMT_INDEXED        ((0x0) << FShft(GSCTRL_GPIXFMT))
-+#define GSCTRL_GPIXFMT_ARGB4444       ((0x4) << FShft(GSCTRL_GPIXFMT))
-+#define GSCTRL_GPIXFMT_ARGB1555       ((0x5) << FShft(GSCTRL_GPIXFMT))
-+#define GSCTRL_GPIXFMT_RGB888 ((0x6) << FShft(GSCTRL_GPIXFMT))
-+#define GSCTRL_GPIXFMT_RGB565 ((0x7) << FShft(GSCTRL_GPIXFMT))
-+#define GSCTRL_GPIXFMT_ARGB8888       ((0x8) << FShft(GSCTRL_GPIXFMT))
-+#define GSCTRL_GAMMA_EN       (1 << 26)
-+
-+#define GSCTRL_GSWIDTH Fld(11,11)
-+#define Gsctrl_Width(Pixel)   /* Display Width [1..2048 pix.]  */ \
-+                        (((Pixel) - 1) << FShft(GSCTRL_GSWIDTH))
-+
-+#define GSCTRL_GSHEIGHT Fld(11,0)
-+#define Gsctrl_Height(Pixel)  /* Display Height [1..2048 pix.]  */ \
-+                        (((Pixel) - 1) << FShft(GSCTRL_GSHEIGHT))
-+
-+/* GBBASE fileds */
-+#define GBBASE_GLALPHA Fld(8,24)
-+#define Gbbase_Glalpha(x)     ((x) << FShft(GBBASE_GLALPHA))
-+
-+#define GBBASE_COLKEY Fld(24,0)
-+#define Gbbase_Colkey(x)      ((x) << FShft(GBBASE_COLKEY))
-+
-+/* GDRCTRL fields */
-+#define GDRCTRL_PIXDBL        (1 << 31)
-+#define GDRCTRL_PIXHLV        (1 << 30)
-+#define GDRCTRL_LNDBL (1 << 29)
-+#define GDRCTRL_LNHLV (1 << 28)
-+#define GDRCTRL_COLKEYM       Fld(24,0)
-+#define Gdrctrl_Colkeym(x)    ((x) << FShft(GDRCTRL_COLKEYM))
-+
-+/* GSCADR graphics stream control address register fields */
-+#define GSCADR_STR_EN (1 << 31)
-+#define GSCADR_COLKEY_EN      (1 << 30)
-+#define GSCADR_COLKEYSCR      (1 << 29)
-+#define GSCADR_BLEND_M        Fld(2,27)
-+#define GSCADR_BLEND_NONE     ((0x0) << FShft(GSCADR_BLEND_M))
-+#define GSCADR_BLEND_INV      ((0x1) << FShft(GSCADR_BLEND_M))
-+#define GSCADR_BLEND_GLOB     ((0x2) << FShft(GSCADR_BLEND_M))
-+#define GSCADR_BLEND_PIX      ((0x3) << FShft(GSCADR_BLEND_M))
-+#define GSCADR_BLEND_POS      Fld(2,24)
-+#define GSCADR_BLEND_GFX      ((0x0) << FShft(GSCADR_BLEND_POS))
-+#define GSCADR_BLEND_VID      ((0x1) << FShft(GSCADR_BLEND_POS))
-+#define GSCADR_BLEND_CUR      ((0x2) << FShft(GSCADR_BLEND_POS))
-+#define GSCADR_GBASE_ADR      Fld(23,0)
-+#define Gscadr_Gbase_Adr(x)   ((x) << FShft(GSCADR_GBASE_ADR))
-+
-+/* GSADR graphics stride address register fields */
-+#define GSADR_SRCSTRIDE       Fld(10,22)
-+#define Gsadr_Srcstride(x)    ((x) << FShft(GSADR_SRCSTRIDE))
-+#define GSADR_XSTART  Fld(11,11)
-+#define Gsadr_Xstart(x)               ((x) << FShft(GSADR_XSTART))
-+#define GSADR_YSTART  Fld(11,0)
-+#define Gsadr_Ystart(y)               ((y) << FShft(GSADR_YSTART))
-+
-+/* GPLUT graphics palette register fields */
-+#define GPLUT_LUTADR  Fld(8,24)
-+#define Gplut_Lutadr(x)       ((x) << FShft(GPLUT_LUTADR))
-+#define GPLUT_LUTDATA Fld(24,0)
-+#define Gplut_Lutdata(x)      ((x) << FShft(GPLUT_LUTDATA))
-+
-+/* #define VSCTRL             __REG_2700G(0x03FE2004) */
-+/* #define VBBASE             __REG_2700G(0x03FE2024) */
-+/* #define VCMSK              __REG_2700G(0x03FE2044) */
-+/* #define VSCADR             __REG_2700G(0x03FE2064) */
-+/* #define VUBASE             __REG_2700G(0x03FE2084) */
-+/* #define VVBASE             __REG_2700G(0x03FE20A4) */
-+/* #define VSADR              __REG_2700G(0x03FE20C4) */
-+
-+
-+/* HCCTRL - Hardware Cursor Register fields */
-+#define HCCTRL_CUR_EN (1 << 31)
-+#define HCCTRL_COLKEY_EN      (1 << 29)
-+#define HCCTRL_COLKEYSRC      (1 << 28)
-+#define HCCTRL_BLEND_M        Fld(2,26)
-+#define HCCTRL_BLEND_NONE     ((0x0) << FShft(HCCTRL_BLEND_M))
-+#define HCCTRL_BLEND_INV      ((0x1) << FShft(HCCTRL_BLEND_M))
-+#define HCCTRL_BLEND_GLOB     ((0x2) << FShft(HCCTRL_BLEND_M))
-+#define HCCTRL_BLEND_PIX      ((0x3) << FShft(HCCTRL_BLEND_M))
-+#define HCCTRL_CPIXFMT        Fld(3,23)
-+#define HCCTRL_CPIXFMT_RGB332 ((0x3) << FShft(HCCTRL_CPIXFMT))
-+#define HCCTRL_CPIXFMT_ARGB4444       ((0x4) << FShft(HCCTRL_CPIXFMT))
-+#define HCCTRL_CPIXFMT_ARGB1555       ((0x5) << FShft(HCCTRL_CPIXFMT))
-+#define HCCTRL_CBASE_ADR      Fld(23,0)
-+#define Hcctrl_Cbase_Adr(x)   ((x) << FShft(HCCTRL_CBASE_ADR))
-+
-+/* HCSIZE Hardware Cursor Size Register fields */
-+#define HCSIZE_BLEND_POS      Fld(2,29)
-+#define HCSIZE_BLEND_GFX      ((0x0) << FShft(HCSIZE_BLEND_POS))
-+#define HCSIZE_BLEND_VID      ((0x1) << FShft(HCSIZE_BLEND_POS))
-+#define HCSIZE_BLEND_CUR      ((0x2) << FShft(HCSIZE_BLEND_POS))
-+#define HCSIZE_CWIDTH Fld(3,16)
-+#define Hcsize_Cwidth(x)      ((x) << FShft(HCSIZE_CWIDTH))
-+#define HCSIZE_CHEIGHT        Fld(3,0)
-+#define Hcsize_Cheight(x)     ((x) << FShft(HCSIZE_CHEIGHT))
-+
-+/* HCPOS Hardware Cursor Position Register fields */
-+#define HCPOS_SWITCHSRC       (1 << 30)
-+#define HCPOS_CURBLINK        Fld(6,24)
-+#define Hcpos_Curblink(x)     ((x) << FShft(HCPOS_CURBLINK))
-+#define HCPOS_XSTART  Fld(12,12)
-+#define Hcpos_Xstart(x)       ((x) << FShft(HCPOS_XSTART))
-+#define HCPOS_YSTART  Fld(12,0)
-+#define Hcpos_Ystart(y)       ((y) << FShft(HCPOS_YSTART))
-+
-+/* HCBADR Hardware Cursor Blend Address Register */
-+#define HCBADR_GLALPHA        Fld(8,24)
-+#define Hcbadr_Glalpha(x)     ((x) << FShft(HCBADR_GLALPHA))
-+#define HCBADR_COLKEY Fld(24,0)
-+#define Hcbadr_Colkey(x)      ((x) << FShft(HCBADR_COLKEY))
-+
-+/* HCCKMSK - Hardware Cursor Color Key Mask Register */
-+#define HCCKMSK_COLKEY_M      Fld(24,0)
-+#define Hcckmsk_Colkey_M(x)   ((x) << FShft(HCCKMSK_COLKEY_M))
-+
-+/* DSCTRL - Display sync control register */
-+#define DSCTRL_SYNCGEN_EN     (1 << 31)
-+#define DSCTRL_DPL_RST                (1 << 29)
-+#define DSCTRL_PWRDN_M                (1 << 28)
-+#define DSCTRL_UPDSYNCCNT     (1 << 26)
-+#define DSCTRL_UPDINTCNT      (1 << 25)
-+#define DSCTRL_UPDCNT         (1 << 24)
-+#define DSCTRL_UPDWAIT        Fld(4,16)
-+#define Dsctrl_Updwait(x)     ((x) << FShft(DSCTRL_UPDWAIT))
-+#define DSCTRL_CLKPOL         (1 << 11)
-+#define DSCTRL_CSYNC_EN               (1 << 10)
-+#define DSCTRL_VS_SLAVE               (1 << 7)
-+#define DSCTRL_HS_SLAVE               (1 << 6)
-+#define DSCTRL_BLNK_POL               (1 << 5)
-+#define DSCTRL_BLNK_DIS               (1 << 4)
-+#define DSCTRL_VS_POL         (1 << 3)
-+#define DSCTRL_VS_DIS         (1 << 2)
-+#define DSCTRL_HS_POL         (1 << 1)
-+#define DSCTRL_HS_DIS         (1 << 0)
-+
-+/* DHT01 - Display horizontal timing register 01 */
-+#define DHT01_HBPS    Fld(12,16)
-+#define Dht01_Hbps(x) ((x) << FShft(DHT01_HBPS))
-+#define DHT01_HT      Fld(12,0)
-+#define Dht01_Ht(x)   ((x) << FShft(DHT01_HT))
-+
-+/* DHT02 - Display horizontal timing register 02 */
-+#define DHT02_HAS     Fld(12,16)
-+#define Dht02_Has(x)  ((x) << FShft(DHT02_HAS))
-+#define DHT02_HLBS    Fld(12,0)
-+#define Dht02_Hlbs(x) ((x) << FShft(DHT02_HLBS))
-+
-+/* DHT03 - Display horizontal timing register 03 */
-+#define DHT03_HFPS    Fld(12,16)
-+#define Dht03_Hfps(x) ((x) << FShft(DHT03_HFPS))
-+#define DHT03_HRBS    Fld(12,0)
-+#define Dht03_Hrbs(x) ((x) << FShft(DHT03_HRBS))
-+
-+/* DVT01 - Display vertical timing register 01 */
-+#define DVT01_VBPS    Fld(12,16)
-+#define Dvt01_Vbps(x) ((x) << FShft(DVT01_VBPS))
-+#define DVT01_VT      Fld(12,0)
-+#define Dvt01_Vt(x)   ((x) << FShft(DVT01_VT))
-+
-+/* DVT02 - Display vertical timing register 02 */
-+#define DVT02_VAS     Fld(12,16)
-+#define Dvt02_Vas(x)  ((x) << FShft(DVT02_VAS))
-+#define DVT02_VTBS    Fld(12,0)
-+#define Dvt02_Vtbs(x) ((x) << FShft(DVT02_VTBS))
-+
-+/* DVT03 - Display vertical timing register 03 */
-+#define DVT03_VFPS    Fld(12,16)
-+#define Dvt03_Vfps(x) ((x) << FShft(DVT03_VFPS))
-+#define DVT03_VBBS    Fld(12,0)
-+#define Dvt03_Vbbs(x) ((x) << FShft(DVT03_VBBS))
-+
-+/* DVECTRL - display vertical event control register */
-+#define DVECTRL_VEVENT        Fld(12,16)
-+#define Dvectrl_Vevent(x)     ((x) << FShft(DVECTRL_VEVENT))
-+#define DVECTRL_VFETCH        Fld(12,0)
-+#define Dvectrl_Vfetch(x)     ((x) << FShft(DVECTRL_VFETCH))
-+
-+/* DHDET - display horizontal DE timing register */
-+#define DHDET_HDES    Fld(12,16)
-+#define Dhdet_Hdes(x) ((x) << FShft(DHDET_HDES))
-+#define DHDET_HDEF    Fld(12,0)
-+#define Dhdet_Hdef(x) ((x) << FShft(DHDET_HDEF))
-+
-+/* DVDET - display vertical DE timing register */
-+#define DVDET_VDES    Fld(12,16)
-+#define Dvdet_Vdes(x) ((x) << FShft(DVDET_VDES))
-+#define DVDET_VDEF    Fld(12,0)
-+#define Dvdet_Vdef(x) ((x) << FShft(DVDET_VDEF))
-+
-+/* DODMSK - display output data mask register */
-+#define DODMSK_MASK_LVL       (1 << 31)
-+#define DODMSK_BLNK_LVL       (1 << 30)
-+#define DODMSK_MASK_B Fld(8,16)
-+#define Dodmsk_Mask_B(x)      ((x) << FShft(DODMSK_MASK_B))
-+#define DODMSK_MASK_G Fld(8,8)
-+#define Dodmsk_Mask_G(x)      ((x) << FShft(DODMSK_MASK_G))
-+#define DODMSK_MASK_R Fld(8,0)
-+#define Dodmsk_Mask_R(x)      ((x) << FShft(DODMSK_MASK_R))
-+
-+/* DBCOL - display border color control register */
-+#define DBCOL_BORDCOL Fld(24,0)
-+#define Dbcol_Bordcol(x)      ((x) << FShft(DBCOL_BORDCOL))   
-+
-+/* DVLNUM - display vertical line number register */
-+#define DVLNUM_VLINE  Fld(12,0)
-+#define Dvlnum_Vline(x)       ((x) << FShft(DVLNUM_VLINE))
-+
-+/* DMCTRL - Display Memory Control Register */
-+#define DMCTRL_MEM_REF        Fld(2,30)
-+#define DMCTRL_MEM_REF_ACT    ((0x0) << FShft(DMCTRL_MEM_REF))
-+#define DMCTRL_MEM_REF_HB     ((0x1) << FShft(DMCTRL_MEM_REF))
-+#define DMCTRL_MEM_REF_VB     ((0x2) << FShft(DMCTRL_MEM_REF))
-+#define DMCTRL_MEM_REF_BOTH   ((0x3) << FShft(DMCTRL_MEM_REF))
-+#define DMCTRL_UV_THRHLD      Fld(6,24)
-+#define Dmctrl_Uv_Thrhld(x)   ((x) << FShft(DMCTRL_UV_THRHLD))
-+#define DMCTRL_V_THRHLD               Fld(7,16)
-+#define Dmctrl_V_Thrhld(x)    ((x) << FShft(DMCTRL_V_THRHLD))
-+#define DMCTRL_D_THRHLD               Fld(7,8)
-+#define Dmctrl_D_Thrhld(x)    ((x) << FShft(DMCTRL_D_THRHLD))
-+#define DMCTRL_BURSTLEN       Fld(6,0)
-+#define Dmctrl_Burstlen(x)    ((x) << FShft(DMCTRL_BURSTLEN))
-+
-+
-+/* DLSTS - display load status register */
-+#define DLSTS_RLD_ADONE       (1 << 23)
-+/* #define DLSTS_RLD_ADOUT    Fld(23,0) */
-+
-+/* DLLCTRL - display list load control register */
-+#define DLLCTRL_RLD_ADRLN     Fld(8,24)
-+#define Dllctrl_Rld_Adrln(x)  ((x) << FShft(DLLCTRL_RLD_ADRLN))
-+
-+/* #define DSIG               __REG_2700G(0x03FE2184) */
-+/* #define DINTRS             __REG_2700G(0x03FE2178) */
-+/* #define DINTRE             __REG_2700G(0x03FE217C) */
-+/* #define DINTRCNT   __REG_2700G(0x03FE2180) */
-+/* #define DUCTRL             __REG_2700G(0x03FE230C) */
-+
-+/* BGCOLOR - background color control register */
-+/* #define BGCOLOR            __REG_2700G(0x03FE2174) */
-+
-+/* #define CLIPCTRL   __REG_2700G(0x03FE218C) */
-+/* SPOCTRL - Scale Pitch/Order Control Register */
-+#define SPOCTRL_H_SC_BP               (1 << 31)
-+#define SPOCTRL_V_SC_BP               (1 << 30)
-+#define SPOCTRL_HV_SC_OR      (1 << 29)
-+#define SPOCTRL_VS_UR_C               (1 << 27)
-+#define SPOCTRL_VORDER        Fld(2,16)
-+#define SPOCTRL_VORDER_1TAP   ((0x0) << FShft(SPOCTRL_VORDER))
-+#define SPOCTRL_VORDER_2TAP   ((0x1) << FShft(SPOCTRL_VORDER))
-+#define SPOCTRL_VORDER_4TAP   ((0x3) << FShft(SPOCTRL_VORDER))
-+#define SPOCTRL_VPITCH        Fld(16,0)
-+#define Spoctrl_Vpitch(x)     ((x) << FShft(SPOCTRL_VPITCH))
-+
-+/* #define SVCTRL             __REG_2700G(0x03FE2194) */
-+
-+/* /\* 0x03FE_2198 *\/ */
-+/* /\* 0x03FE_21A8 VSCOEFF[0:4] Video Scalar Vertical Coefficient [0:4] 4.14.5 *\/ */
-+
-+/* #define SHCTRL             __REG_2700G(0x03FE21B0) */
-+
-+/* /\* 0x03FE_21B4 *\/ */
-+/* /\* 0x03FE_21D4 HSCOEFF[0:8] Video Scalar Horizontal Coefficient [0:8] 4.14.7 *\/ */
-+
-+/* #define SSSIZE             __REG_2700G(0x03FE21D8) */
-+
-+/* /\* 0x03FE_2200 *\/ */
-+/* /\* 0x03FE_2240 VIDGAM[0:16] Video Gamma LUT Index [0:16] 4.15.2 *\/ */
-+
-+/* /\* 0x03FE_2250 *\/ */
-+/* /\* 0x03FE_2290 GFXGAM[0:16] Graphics Gamma LUT Index [0:16] 4.15.3 *\/ */
-+
-+/* #define CSC01              __REG_2700G(0x03FE2330) */
-+/* #define CSC02              __REG_2700G(0x03FE2334) */
-+/* #define CSC03              __REG_2700G(0x03FE2338) */
-+/* #define CSC04              __REG_2700G(0x03FE233C) */
-+/* #define CSC05              __REG_2700G(0x03FE2340) */
-+
-+#endif /* __REG_BITS_2700G_ */
-diff --git a/drivers/video/mbx/regs.h b/drivers/video/mbx/regs.h
-new file mode 100644
-index 0000000..edf0f14
---- /dev/null
-+++ b/drivers/video/mbx/regs.h
-@@ -0,0 +1,192 @@
-+#ifndef __REGS_2700G_
-+#define __REGS_2700G_
-+
-+/* extern unsigned long virt_base_2700; */
-+#define __REG_2700G(x)        (*(volatile unsigned long*)((x)+virt_base_2700))
-+
-+/* System Configuration Registers (0x0000_0000  0x0000_0010) */
-+#define SYSCFG                __REG_2700G(0x00000000)
-+#define PFBASE                __REG_2700G(0x00000004)
-+#define PFCEIL                __REG_2700G(0x00000008)
-+#define POLLFLAG      __REG_2700G(0x0000000c)
-+#define SYSRST                __REG_2700G(0x00000010)
-+
-+/* Interrupt Control Registers (0x0000_0014  0x0000_002F) */
-+#define NINTPW                __REG_2700G(0x00000014)
-+#define MINTENABLE    __REG_2700G(0x00000018)
-+#define MINTSTAT      __REG_2700G(0x0000001c)
-+#define SINTENABLE    __REG_2700G(0x00000020)
-+#define SINTSTAT      __REG_2700G(0x00000024)
-+#define SINTCLR               __REG_2700G(0x00000028)
-+
-+/* Clock Control Registers (0x0000_002C  0x0000_005F) */
-+#define SYSCLKSRC     __REG_2700G(0x0000002c)
-+#define PIXCLKSRC     __REG_2700G(0x00000030)
-+#define CLKSLEEP      __REG_2700G(0x00000034)
-+#define COREPLL               __REG_2700G(0x00000038)
-+#define DISPPLL               __REG_2700G(0x0000003c)
-+#define PLLSTAT               __REG_2700G(0x00000040)
-+#define VOVRCLK               __REG_2700G(0x00000044)
-+#define PIXCLK                __REG_2700G(0x00000048)
-+#define MEMCLK                __REG_2700G(0x0000004c)
-+#define M24CLK                __REG_2700G(0x00000054)
-+#define MBXCLK                __REG_2700G(0x00000054)
-+#define SDCLK         __REG_2700G(0x00000058)
-+#define PIXCLKDIV     __REG_2700G(0x0000005c)
-+
-+/* LCD Port Control Register (0x0000_0060  0x0000_006F) */
-+#define LCD_CONFIG    __REG_2700G(0x00000060)
-+
-+/* On-Die Frame Buffer Registers (0x0000_0064  0x0000_006B) */
-+#define ODFBPWR               __REG_2700G(0x00000064)
-+#define ODFBSTAT      __REG_2700G(0x00000068)
-+
-+/* GPIO Registers (0x0000_006C  0x0000_007F) */
-+#define GPIOCGF               __REG_2700G(0x0000006c)
-+#define GPIOHI                __REG_2700G(0x00000070)
-+#define GPIOLO                __REG_2700G(0x00000074)
-+#define GPIOSTAT      __REG_2700G(0x00000078)
-+
-+/* Pulse Width Modulator (PWM) Registers (0x0000_0200  0x0000_02FF) */
-+#define PWMRST                __REG_2700G(0x00000200)
-+#define PWMCFG                __REG_2700G(0x00000204)
-+#define PWM0DIV               __REG_2700G(0x00000210)
-+#define PWM0DUTY      __REG_2700G(0x00000214)
-+#define PWM0PER               __REG_2700G(0x00000218)
-+#define PWM1DIV               __REG_2700G(0x00000220)
-+#define PWM1DUTY      __REG_2700G(0x00000224)
-+#define PWM1PER               __REG_2700G(0x00000228)
-+
-+/* Identification (ID) Registers (0x0000_0300  0x0000_0FFF) */
-+#define ID            __REG_2700G(0x00000FF0)
-+
-+/* Local Memory (SDRAM) Interface Registers (0x0000_1000  0x0000_1FFF) */
-+#define LMRST         __REG_2700G(0x00001000)
-+#define LMCFG         __REG_2700G(0x00001004)
-+#define LMPWR         __REG_2700G(0x00001008)
-+#define LMPWRSTAT     __REG_2700G(0x0000100c)
-+#define LMCEMR                __REG_2700G(0x00001010)
-+#define LMTYPE                __REG_2700G(0x00001014)
-+#define LMTIM         __REG_2700G(0x00001018)
-+#define LMREFRESH     __REG_2700G(0x0000101c)
-+#define LMPROTMIN     __REG_2700G(0x00001020)
-+#define LMPROTMAX     __REG_2700G(0x00001024)
-+#define LMPROTCFG     __REG_2700G(0x00001028)
-+#define LMPROTERR     __REG_2700G(0x0000102c)
-+
-+/* Plane Controller Registers (0x0000_2000  0x0000_2FFF) */
-+#define GSCTRL                __REG_2700G(0x00002000)
-+#define VSCTRL                __REG_2700G(0x00002004)
-+#define GBBASE                __REG_2700G(0x00002020)
-+#define VBBASE                __REG_2700G(0x00002024)
-+#define GDRCTRL               __REG_2700G(0x00002040)
-+#define VCMSK         __REG_2700G(0x00002044)
-+#define GSCADR                __REG_2700G(0x00002060)
-+#define VSCADR                __REG_2700G(0x00002064)
-+#define VUBASE                __REG_2700G(0x00002084)
-+#define VVBASE                __REG_2700G(0x000020a4)
-+#define GSADR         __REG_2700G(0x000020c0)
-+#define VSADR         __REG_2700G(0x000020c4)
-+#define HCCTRL                __REG_2700G(0x00002100)
-+#define HCSIZE                __REG_2700G(0x00002110)
-+#define HCPOS         __REG_2700G(0x00002120)
-+#define HCBADR                __REG_2700G(0x00002130)
-+#define HCCKMSK               __REG_2700G(0x00002140)
-+#define GPLUT         __REG_2700G(0x00002150)
-+#define DSCTRL                __REG_2700G(0x00002154)
-+#define DHT01         __REG_2700G(0x00002158)
-+#define DHT02         __REG_2700G(0x0000215c)
-+#define DHT03         __REG_2700G(0x00002160)
-+#define DVT01         __REG_2700G(0x00002164)
-+#define DVT02         __REG_2700G(0x00002168)
-+#define DVT03         __REG_2700G(0x0000216c)
-+#define DBCOL         __REG_2700G(0x00002170)
-+#define BGCOLOR               __REG_2700G(0x00002174)
-+#define DINTRS                __REG_2700G(0x00002178)
-+#define DINTRE                __REG_2700G(0x0000217c)
-+#define DINTRCNT      __REG_2700G(0x00002180)
-+#define DSIG          __REG_2700G(0x00002184)
-+#define DMCTRL                __REG_2700G(0x00002188)
-+#define CLIPCTRL      __REG_2700G(0x0000218c)
-+#define SPOCTRL               __REG_2700G(0x00002190)
-+#define SVCTRL                __REG_2700G(0x00002194)
-+
-+/* 0x0000_2198 */
-+/* 0x0000_21A8 VSCOEFF[0:4] Video Scalar Vertical Coefficient [0:4] 4.14.5 */
-+#define VSCOEFF0      __REG_2700G(0x00002198)
-+#define VSCOEFF1      __REG_2700G(0x0000219c)
-+#define VSCOEFF2      __REG_2700G(0x000021a0)
-+#define VSCOEFF3      __REG_2700G(0x000021a4)
-+#define VSCOEFF4      __REG_2700G(0x000021a8)
-+
-+#define SHCTRL                __REG_2700G(0x000021b0)
-+
-+/* 0x0000_21B4 */
-+/* 0x0000_21D4 HSCOEFF[0:8] Video Scalar Horizontal Coefficient [0:8] 4.14.7 */
-+#define HSCOEFF0      __REG_2700G(0x000021b4)
-+#define HSCOEFF1      __REG_2700G(0x000021b8)
-+#define HSCOEFF2      __REG_2700G(0x000021bc)
-+#define HSCOEFF3      __REG_2700G(0x000021b0)
-+#define HSCOEFF4      __REG_2700G(0x000021c4)
-+#define HSCOEFF5      __REG_2700G(0x000021c8)
-+#define HSCOEFF6      __REG_2700G(0x000021cc)
-+#define HSCOEFF7      __REG_2700G(0x000021d0)
-+#define HSCOEFF8      __REG_2700G(0x000021d4)
-+
-+#define SSSIZE                __REG_2700G(0x000021D8)
-+
-+/* 0x0000_2200 */
-+/* 0x0000_2240 VIDGAM[0:16] Video Gamma LUT Index [0:16] 4.15.2 */
-+#define VIDGAM0               __REG_2700G(0x00002200)
-+#define VIDGAM1               __REG_2700G(0x00002204)
-+#define VIDGAM2               __REG_2700G(0x00002208)
-+#define VIDGAM3               __REG_2700G(0x0000220c)
-+#define VIDGAM4               __REG_2700G(0x00002210)
-+#define VIDGAM5               __REG_2700G(0x00002214)
-+#define VIDGAM6               __REG_2700G(0x00002218)
-+#define VIDGAM7               __REG_2700G(0x0000221c)
-+#define VIDGAM8               __REG_2700G(0x00002220)
-+#define VIDGAM9               __REG_2700G(0x00002224)
-+#define VIDGAM10      __REG_2700G(0x00002228)
-+#define VIDGAM11      __REG_2700G(0x0000222c)
-+#define VIDGAM12      __REG_2700G(0x00002230)
-+#define VIDGAM13      __REG_2700G(0x00002234)
-+#define VIDGAM14      __REG_2700G(0x00002238)
-+#define VIDGAM15      __REG_2700G(0x0000223c)
-+#define VIDGAM16      __REG_2700G(0x00002240)
-+
-+/* 0x0000_2250 */
-+/* 0x0000_2290 GFXGAM[0:16] Graphics Gamma LUT Index [0:16] 4.15.3 */
-+#define GFXGAM0               __REG_2700G(0x00002250)
-+#define GFXGAM1               __REG_2700G(0x00002254)
-+#define GFXGAM2               __REG_2700G(0x00002258)
-+#define GFXGAM3               __REG_2700G(0x0000225c)
-+#define GFXGAM4               __REG_2700G(0x00002260)
-+#define GFXGAM5               __REG_2700G(0x00002264)
-+#define GFXGAM6               __REG_2700G(0x00002268)
-+#define GFXGAM7               __REG_2700G(0x0000226c)
-+#define GFXGAM8               __REG_2700G(0x00002270)
-+#define GFXGAM9               __REG_2700G(0x00002274)
-+#define GFXGAM10      __REG_2700G(0x00002278)
-+#define GFXGAM11      __REG_2700G(0x0000227c)
-+#define GFXGAM12      __REG_2700G(0x00002280)
-+#define GFXGAM13      __REG_2700G(0x00002284)
-+#define GFXGAM14      __REG_2700G(0x00002288)
-+#define GFXGAM15      __REG_2700G(0x0000228c)
-+#define GFXGAM16      __REG_2700G(0x00002290)
-+
-+#define DLSTS         __REG_2700G(0x00002300)
-+#define DLLCTRL               __REG_2700G(0x00002304)
-+#define DVLNUM                __REG_2700G(0x00002308)
-+#define DUCTRL                __REG_2700G(0x0000230c)
-+#define DVECTRL               __REG_2700G(0x00002310)
-+#define DHDET         __REG_2700G(0x00002314)
-+#define DVDET         __REG_2700G(0x00002318)
-+#define DODMSK                __REG_2700G(0x0000231c)
-+#define CSC01         __REG_2700G(0x00002330)
-+#define CSC02         __REG_2700G(0x00002334)
-+#define CSC03         __REG_2700G(0x00002338)
-+#define CSC04         __REG_2700G(0x0000233c)
-+#define CSC05         __REG_2700G(0x00002340)
-+
-+#endif /* __REGS_2700G_ */
-diff --git a/include/linux/mbxfb.h b/include/linux/mbxfb.h
-new file mode 100644
-index 0000000..3bde0f5
---- /dev/null
-+++ b/include/linux/mbxfb.h
-@@ -0,0 +1,28 @@
-+#ifndef __MBX_FB_H
-+#define __MBX_FB_H
-+
-+struct mbxfb_val {
-+      unsigned int    defval;
-+      unsigned int    min;
-+      unsigned int    max;
-+};
-+
-+struct fb_info;
-+
-+struct mbxfb_platform_data {
-+              /* Screen info */
-+              struct mbxfb_val xres;
-+              struct mbxfb_val yres;
-+              struct mbxfb_val bpp;
-+
-+              /* Memory info */
-+              unsigned long memsize; /* if 0 use ODFB? */
-+              unsigned long timings1;
-+              unsigned long timings2;
-+              unsigned long timings3;
-+
-+              int (*probe)(struct fb_info *fb);
-+              int (*remove)(struct fb_info *fb);
-+};
-+
-+#endif /* __MBX_FB_H */
diff --git a/meta/packages/linux/linux-cmx270-2.6.17/defconfig b/meta/packages/linux/linux-cmx270-2.6.17/defconfig
deleted file mode 100644 (file)
index 621fae7..0000000
+++ /dev/null
@@ -1,1169 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.17
-# Tue Jul 18 15:06:47 2006
-#
-CONFIG_ARM=y
-CONFIG_MMU=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_ARCH_MTD_XIP=y
-CONFIG_VECTORS_BASE=0xffff0000
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION="-8d"
-CONFIG_LOCALVERSION_AUTO=y
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-# CONFIG_AUDIT is not set
-# CONFIG_IKCONFIG is not set
-# CONFIG_RELAY is not set
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_UID16=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-# CONFIG_EMBEDDED is not set
-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=y
-CONFIG_SLAB=y
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=0
-# CONFIG_SLOB is not set
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-
-#
-# Block layer
-#
-# CONFIG_BLK_DEV_IO_TRACE is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-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_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_IXP2000 is not set
-# CONFIG_ARCH_IXP23XX is not set
-# CONFIG_ARCH_L7200 is not set
-CONFIG_ARCH_PXA=y
-# 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
-# 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_AT91RM9200 is not set
-
-#
-# Intel PXA2xx Implementations
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_MAINSTONE is not set
-CONFIG_MACH_CM_X270=y
-# CONFIG_MACH_CM_X255 is not set
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_PXA_SHARPSL is not set
-#CONFIG_CM_X270_SB270=y
-CONFIG_CM_X270_ATXBASE=y
-CONFIG_CM_X270_REV12=y
-# CONFIG_CM_X270_REV11 is not set
-CONFIG_PXA27x=y
-CONFIG_IWMMXT=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_TLB_V4WBI=y
-
-#
-# Processor Features
-#
-# CONFIG_ARM_THUMB is not set
-CONFIG_XSCALE_PMU=y
-
-#
-# Bus support
-#
-# CONFIG_PCI 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_PCMCIA_PXA2XX=y
-
-#
-# 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_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,38400 console=tty0 root=/dev/sda1 rootdelay=10 video=mbxfb"
-#CONFIG_CMDLINE="console=ttyS0,38400 root=/dev/sda1 rootdelay=10 rw video=pxafb:mode:240x320-16,pixclock:367647,left:20,right:2,hsynclen:10,upper:3,lower:2,vsynclen:2,active,color,outputen:1,pixclockpol:1,vsync:0,hsync:0"
-# CONFIG_XIP_KERNEL 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=y
-CONFIG_PM_LEGACY=y
-# CONFIG_PM_DEBUG is not set
-# CONFIG_APM 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 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_DIAG=y
-CONFIG_INET_TCP_DIAG=y
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_BIC=y
-# CONFIG_IPV6 is not set
-# CONFIG_INET6_XFRM_TUNNEL is not set
-# CONFIG_INET6_TUNNEL 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_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
-
-#
-# 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
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-# CONFIG_DEBUG_DRIVER is not set
-
-#
-# Connector - unified userspace <-> kernelspace linker
-#
-# CONFIG_CONNECTOR is not set
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-CONFIG_MTD_DEBUG=y
-CONFIG_MTD_DEBUG_VERBOSE=0
-# 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_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-# CONFIG_RFD_FTL 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_SHARP_SL is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# 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
-# 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=y
-# CONFIG_MTD_NAND_H1900 is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_SHARPSL is not set
-# CONFIG_MTD_NAND_NANDSIM is not set
-CONFIG_MTD_NAND_CM_X270=y
-
-#
-# OneNAND Flash Device Drivers
-#
-# CONFIG_MTD_ONENAND is not set
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Plug and Play support
-#
-
-#
-# 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_BLK_DEV_INITRD is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-
-#
-# ATA/ATAPI/MFM/RLL support
-#
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=y
-# 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=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
-
-#
-# SCSI Transport Attributes
-#
-# 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_ISCSI_TCP is not set
-# CONFIG_SCSI_SATA is not set
-# CONFIG_SCSI_DEBUG 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_SMC91X is not set
-CONFIG_DM9000=y
-
-#
-# Ethernet (1000 Mbit)
-#
-
-#
-# Ethernet (10000 Mbit)
-#
-
-#
-# Token Ring devices
-#
-
-#
-# Wireless LAN (non-hamradio)
-#
-# 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=y
-# CONFIG_PPP_MULTILINK is not set
-# CONFIG_PPP_FILTER is not set
-CONFIG_PPP_ASYNC=y
-# CONFIG_PPP_SYNC_TTY is not set
-CONFIG_PPP_DEFLATE=y
-CONFIG_PPP_BSDCOMP=y
-# CONFIG_PPP_MPPE is not set
-# CONFIG_PPPOE 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
-
-#
-# 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_TSLIBDEV 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=y
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# CONFIG_KEYBOARD_NEWTON 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 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_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_PXA=y
-CONFIG_SERIAL_PXA_CONSOLE=y
-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 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
-
-#
-# I2C support
-#
-# CONFIG_I2C is not set
-
-#
-# SPI support
-#
-CONFIG_SPI=y
-# CONFIG_SPI_DEBUG is not set
-CONFIG_SPI_MASTER=y
-
-#
-# SPI Master Controller Drivers
-#
-# CONFIG_SPI_BITBANG is not set
-CONFIG_SPI_PXA2XX=y
-
-#
-# SPI Protocol Masters
-#
-
-#
-# 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
-#
-
-#
-# Multimedia Capabilities Port drivers
-#
-CONFIG_UCB1400_TS=y
-
-#
-# LED devices
-#
-# CONFIG_NEW_LEDS is not set
-
-#
-# LED drivers
-#
-
-#
-# LED Triggers
-#
-
-#
-# Multimedia devices
-#
-# CONFIG_VIDEO_DEV is not set
-CONFIG_VIDEO_V4L2=y
-
-#
-# Digital Video Broadcasting Devices
-#
-# CONFIG_DVB is not set
-# CONFIG_USB_DABUSB is not set
-
-#
-# Graphics support
-#
-CONFIG_FB=y
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_MACMODES is not set
-# CONFIG_FB_FIRMWARE_EDID is not set
-# CONFIG_FB_MODE_HELPERS is not set
-# CONFIG_FB_TILEBLITTING is not set
-# CONFIG_FB_S1D13XXX is not set
-#CONFIG_FB_PXA is not set
-#CONFIG_FB_PXA_PARAMETERS is not set
-CONFIG_FB_MBX=y
-# CONFIG_FB_VIRTUAL is not set
-
-#
-# Console display driver support
-#
-# CONFIG_VGA_CONSOLE is not set
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-
-#
-# Logo configuration
-#
-# CONFIG_LOGO is not set
-# CONFIG_BACKLIGHT_LCD_SUPPORT 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 is not set
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=y
-CONFIG_SND_PCM_OSS=y
-CONFIG_SND_PCM_OSS_PLUGINS=y
-# CONFIG_SND_DYNAMIC_MINORS is not set
-CONFIG_SND_SUPPORT_OLD_API=y
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-
-#
-# Generic devices
-#
-CONFIG_SND_AC97_CODEC=y
-CONFIG_SND_AC97_BUS=y
-# CONFIG_SND_DUMMY is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-
-#
-# ALSA ARM devices
-#
-CONFIG_SND_PXA2XX_PCM=y
-CONFIG_SND_PXA2XX_AC97=y
-
-#
-# USB devices
-#
-# CONFIG_SND_USB_AUDIO is not set
-
-#
-# PCMCIA devices
-#
-# CONFIG_SND_VXPOCKET is not set
-# CONFIG_SND_PDAUDIOCF is not set
-
-#
-# Open Sound System
-#
-# CONFIG_SOUND_PRIME 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_BANDWIDTH is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-# CONFIG_USB_SUSPEND 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_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_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 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_AUERSWALD is not set
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_LEGOTOWER is not set
-# CONFIG_USB_LCD is not set
-# CONFIG_USB_LED is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_PHIDGETKIT is not set
-# CONFIG_USB_PHIDGETSERVO is not set
-# CONFIG_USB_IDMOUSE is not set
-# CONFIG_USB_LD 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_NET2280 is not set
-# CONFIG_USB_GADGET_PXA2XX is not set
-CONFIG_USB_GADGET_PXA27X=y
-CONFIG_USB_PXA27X=y
-# 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 is not set
-# 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_G_CHAR is not set
-
-#
-# MMC/SD Card support
-#
-# CONFIG_MMC is not set
-
-#
-# Real Time Clock
-#
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-
-#
-# RTC drivers
-#
-# CONFIG_RTC_DRV_M48T86 is not set
-# CONFIG_RTC_DRV_SA1100 is not set
-# CONFIG_RTC_DRV_TEST is not set
-# CONFIG_RTC_DRV_MAX6902 is not set
-CONFIG_RTC_DRV_V3020=y
-
-#
-# 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_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_OCFS2_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_INOTIFY=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_SYSFS=y
-CONFIG_TMPFS=y
-# 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_JFFS_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_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 is not set
-# CONFIG_NFSD is not set
-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=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 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
-
-#
-# Profiling support
-#
-# CONFIG_PROFILING is not set
-
-#
-# Kernel hacking
-#
-# CONFIG_PRINTK_TIME is not set
-# CONFIG_MAGIC_SYSRQ is not set
-CONFIG_DEBUG_KERNEL=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_DETECT_SOFTLOCKUP=y
-# CONFIG_SCHEDSTATS is not set
-# CONFIG_DEBUG_SLAB is not set
-CONFIG_DEBUG_MUTEXES=y
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_SPINLOCK_SLEEP 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_FRAME_POINTER=y
-# CONFIG_UNWIND_INFO is not set
-CONFIG_FORCED_INLINING=y
-# CONFIG_RCU_TORTURE_TEST is not set
-CONFIG_DEBUG_USER=y
-# CONFIG_DEBUG_WAITQ 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
-
-#
-# Cryptographic options
-#
-# CONFIG_CRYPTO is not set
-
-#
-# Hardware crypto devices
-#
-
-#
-# Library routines
-#
-CONFIG_CRC_CCITT=y
-# CONFIG_CRC16 is not set
-CONFIG_CRC32=y
-# CONFIG_LIBCRC32C is not set
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-cmx270-2.6.17/mach-types b/meta/packages/linux/linux-cmx270-2.6.17/mach-types
deleted file mode 100644 (file)
index 2354f82..0000000
+++ /dev/null
@@ -1,1112 +0,0 @@
-# Database of machine macros and numbers
-#
-# This file is linux/arch/arm/tools/mach-types
-#
-# Up to date versions of this file can be obtained from:
-#
-#   http://www.arm.linux.org.uk/developer/machines/?action=download
-#
-# Please do not send patches to this file; it is automatically generated!
-# To add an entry into this database, please see Documentation/arm/README,
-# or visit:
-#
-#   http://www.arm.linux.org.uk/developer/machines/?action=new
-#
-# Last update: Tue Jul 18 14:35:04 2006
-#
-# machine_is_xxx       CONFIG_xxxx             MACH_TYPE_xxx           number
-#
-ebsa110                        ARCH_EBSA110            EBSA110                 0
-riscpc                 ARCH_RPC                RISCPC                  1
-nexuspci               ARCH_NEXUSPCI           NEXUSPCI                3
-ebsa285                        ARCH_EBSA285            EBSA285                 4
-netwinder              ARCH_NETWINDER          NETWINDER               5
-cats                   ARCH_CATS               CATS                    6
-tbox                   ARCH_TBOX               TBOX                    7
-co285                  ARCH_CO285              CO285                   8
-clps7110               ARCH_CLPS7110           CLPS7110                9
-archimedes             ARCH_ARC                ARCHIMEDES              10
-a5k                    ARCH_A5K                A5K                     11
-etoile                 ARCH_ETOILE             ETOILE                  12
-lacie_nas              ARCH_LACIE_NAS          LACIE_NAS               13
-clps7500               ARCH_CLPS7500           CLPS7500                14
-shark                  ARCH_SHARK              SHARK                   15
-brutus                 SA1100_BRUTUS           BRUTUS                  16
-personal_server                ARCH_PERSONAL_SERVER    PERSONAL_SERVER         17
-itsy                   SA1100_ITSY             ITSY                    18
-l7200                  ARCH_L7200              L7200                   19
-pleb                   SA1100_PLEB             PLEB                    20
-integrator             ARCH_INTEGRATOR         INTEGRATOR              21
-h3600                  SA1100_H3600            H3600                   22
-ixp1200                        ARCH_IXP1200            IXP1200                 23
-p720t                  ARCH_P720T              P720T                   24
-assabet                        SA1100_ASSABET          ASSABET                 25
-victor                 SA1100_VICTOR           VICTOR                  26
-lart                   SA1100_LART             LART                    27
-ranger                 SA1100_RANGER           RANGER                  28
-graphicsclient         SA1100_GRAPHICSCLIENT   GRAPHICSCLIENT          29
-xp860                  SA1100_XP860            XP860                   30
-cerf                   SA1100_CERF             CERF                    31
-nanoengine             SA1100_NANOENGINE       NANOENGINE              32
-fpic                   SA1100_FPIC             FPIC                    33
-extenex1               SA1100_EXTENEX1         EXTENEX1                34
-sherman                        SA1100_SHERMAN          SHERMAN                 35
-accelent_sa            SA1100_ACCELENT         ACCELENT_SA             36
-accelent_l7200         ARCH_L7200_ACCELENT     ACCELENT_L7200          37
-netport                        SA1100_NETPORT          NETPORT                 38
-pangolin               SA1100_PANGOLIN         PANGOLIN                39
-yopy                   SA1100_YOPY             YOPY                    40
-coolidge               SA1100_COOLIDGE         COOLIDGE                41
-huw_webpanel           SA1100_HUW_WEBPANEL     HUW_WEBPANEL            42
-spotme                 ARCH_SPOTME             SPOTME                  43
-freebird               ARCH_FREEBIRD           FREEBIRD                44
-ti925                  ARCH_TI925              TI925                   45
-riscstation            ARCH_RISCSTATION        RISCSTATION             46
-cavy                   SA1100_CAVY             CAVY                    47
-jornada720             SA1100_JORNADA720       JORNADA720              48
-omnimeter              SA1100_OMNIMETER        OMNIMETER               49
-edb7211                        ARCH_EDB7211            EDB7211                 50
-citygo                 SA1100_CITYGO           CITYGO                  51
-pfs168                 SA1100_PFS168           PFS168                  52
-spot                   SA1100_SPOT             SPOT                    53
-flexanet               SA1100_FLEXANET         FLEXANET                54
-webpal                 ARCH_WEBPAL             WEBPAL                  55
-linpda                 SA1100_LINPDA           LINPDA                  56
-anakin                 ARCH_ANAKIN             ANAKIN                  57
-mvi                    SA1100_MVI              MVI                     58
-jupiter                        SA1100_JUPITER          JUPITER                 59
-psionw                 ARCH_PSIONW             PSIONW                  60
-aln                    SA1100_ALN              ALN                     61
-epxa                   ARCH_CAMELOT            CAMELOT                 62
-gds2200                        SA1100_GDS2200          GDS2200                 63
-psion_series7          SA1100_PSION_SERIES7    PSION_SERIES7           64
-xfile                  SA1100_XFILE            XFILE                   65
-accelent_ep9312                ARCH_ACCELENT_EP9312    ACCELENT_EP9312         66
-ic200                  ARCH_IC200              IC200                   67
-creditlart             SA1100_CREDITLART       CREDITLART              68
-htm                    SA1100_HTM              HTM                     69
-iq80310                        ARCH_IQ80310            IQ80310                 70
-freebot                        SA1100_FREEBOT          FREEBOT                 71
-entel                  ARCH_ENTEL              ENTEL                   72
-enp3510                        ARCH_ENP3510            ENP3510                 73
-trizeps                        SA1100_TRIZEPS          TRIZEPS                 74
-nesa                   SA1100_NESA             NESA                    75
-venus                  ARCH_VENUS              VENUS                   76
-tardis                 ARCH_TARDIS             TARDIS                  77
-mercury                        ARCH_MERCURY            MERCURY                 78
-empeg                  SA1100_EMPEG            EMPEG                   79
-adi_evb                        ARCH_I80200FCC          I80200FCC               80
-itt_cpb                        SA1100_ITT_CPB          ITT_CPB                 81
-svc                    SA1100_SVC              SVC                     82
-alpha2                 SA1100_ALPHA2           ALPHA2                  84
-alpha1                 SA1100_ALPHA1           ALPHA1                  85
-netarm                 ARCH_NETARM             NETARM                  86
-simpad                 SA1100_SIMPAD           SIMPAD                  87
-pda1                   ARCH_PDA1               PDA1                    88
-lubbock                        ARCH_LUBBOCK            LUBBOCK                 89
-aniko                  ARCH_ANIKO              ANIKO                   90
-clep7212               ARCH_CLEP7212           CLEP7212                91
-cs89712                        ARCH_CS89712            CS89712                 92
-weararm                        SA1100_WEARARM          WEARARM                 93
-possio_px              SA1100_POSSIO_PX        POSSIO_PX               94
-sidearm                        SA1100_SIDEARM          SIDEARM                 95
-stork                  SA1100_STORK            STORK                   96
-shannon                        SA1100_SHANNON          SHANNON                 97
-ace                    ARCH_ACE                ACE                     98
-ballyarm               SA1100_BALLYARM         BALLYARM                99
-simputer               SA1100_SIMPUTER         SIMPUTER                100
-nexterm                        SA1100_NEXTERM          NEXTERM                 101
-sa1100_elf             SA1100_SA1100_ELF       SA1100_ELF              102
-gator                  SA1100_GATOR            GATOR                   103
-granite                        ARCH_GRANITE            GRANITE                 104
-consus                 SA1100_CONSUS           CONSUS                  105
-aaed2000               ARCH_AAED2000           AAED2000                106
-cdb89712               ARCH_CDB89712           CDB89712                107
-graphicsmaster         SA1100_GRAPHICSMASTER   GRAPHICSMASTER          108
-adsbitsy               SA1100_ADSBITSY         ADSBITSY                109
-pxa_idp                        ARCH_PXA_IDP            PXA_IDP                 110
-plce                   ARCH_PLCE               PLCE                    111
-pt_system3             SA1100_PT_SYSTEM3       PT_SYSTEM3              112
-murphy                 ARCH_MEDALB             MEDALB                  113
-eagle                  ARCH_EAGLE              EAGLE                   114
-dsc21                  ARCH_DSC21              DSC21                   115
-dsc24                  ARCH_DSC24              DSC24                   116
-ti5472                 ARCH_TI5472             TI5472                  117
-autcpu12               ARCH_AUTCPU12           AUTCPU12                118
-uengine                        ARCH_UENGINE            UENGINE                 119
-bluestem               SA1100_BLUESTEM         BLUESTEM                120
-xingu8                 ARCH_XINGU8             XINGU8                  121
-bushstb                        ARCH_BUSHSTB            BUSHSTB                 122
-epsilon1               SA1100_EPSILON1         EPSILON1                123
-balloon                        SA1100_BALLOON          BALLOON                 124
-puppy                  ARCH_PUPPY              PUPPY                   125
-elroy                  SA1100_ELROY            ELROY                   126
-gms720                 ARCH_GMS720             GMS720                  127
-s24x                   ARCH_S24X               S24X                    128
-jtel_clep7312          ARCH_JTEL_CLEP7312      JTEL_CLEP7312           129
-cx821xx                        ARCH_CX821XX            CX821XX                 130
-edb7312                        ARCH_EDB7312            EDB7312                 131
-bsa1110                        SA1100_BSA1110          BSA1110                 132
-powerpin               ARCH_POWERPIN           POWERPIN                133
-openarm                        ARCH_OPENARM            OPENARM                 134
-whitechapel            SA1100_WHITECHAPEL      WHITECHAPEL             135
-h3100                  SA1100_H3100            H3100                   136
-h3800                  SA1100_H3800            H3800                   137
-blue_v1                        ARCH_BLUE_V1            BLUE_V1                 138
-pxa_cerf               ARCH_PXA_CERF           PXA_CERF                139
-arm7tevb               ARCH_ARM7TEVB           ARM7TEVB                140
-d7400                  SA1100_D7400            D7400                   141
-piranha                        ARCH_PIRANHA            PIRANHA                 142
-sbcamelot              SA1100_SBCAMELOT        SBCAMELOT               143
-kings                  SA1100_KINGS            KINGS                   144
-smdk2400               ARCH_SMDK2400           SMDK2400                145
-collie                 SA1100_COLLIE           COLLIE                  146
-idr                    ARCH_IDR                IDR                     147
-badge4                 SA1100_BADGE4           BADGE4                  148
-webnet                 ARCH_WEBNET             WEBNET                  149
-d7300                  SA1100_D7300            D7300                   150
-cep                    SA1100_CEP              CEP                     151
-fortunet               ARCH_FORTUNET           FORTUNET                152
-vc547x                 ARCH_VC547X             VC547X                  153
-filewalker             SA1100_FILEWALKER       FILEWALKER              154
-netgateway             SA1100_NETGATEWAY       NETGATEWAY              155
-symbol2800             SA1100_SYMBOL2800       SYMBOL2800              156
-suns                   SA1100_SUNS             SUNS                    157
-frodo                  SA1100_FRODO            FRODO                   158
-ms301                  SA1100_MACH_TYTE_MS301  MACH_TYTE_MS301         159
-mx1ads                 ARCH_MX1ADS             MX1ADS                  160
-h7201                  ARCH_H7201              H7201                   161
-h7202                  ARCH_H7202              H7202                   162
-amico                  ARCH_AMICO              AMICO                   163
-iam                    SA1100_IAM              IAM                     164
-tt530                  SA1100_TT530            TT530                   165
-sam2400                        ARCH_SAM2400            SAM2400                 166
-jornada56x             SA1100_JORNADA56X       JORNADA56X              167
-active                 SA1100_ACTIVE           ACTIVE                  168
-iq80321                        ARCH_IQ80321            IQ80321                 169
-wid                    SA1100_WID              WID                     170
-sabinal                        ARCH_SABINAL            SABINAL                 171
-ixp425_matacumbe       ARCH_IXP425_MATACUMBE   IXP425_MATACUMBE        172
-miniprint              SA1100_MINIPRINT        MINIPRINT               173
-adm510x                        ARCH_ADM510X            ADM510X                 174
-svs200                 SA1100_SVS200           SVS200                  175
-atg_tcu                        ARCH_ATG_TCU            ATG_TCU                 176
-jornada820             SA1100_JORNADA820       JORNADA820              177
-s3c44b0                        ARCH_S3C44B0            S3C44B0                 178
-margis2                        ARCH_MARGIS2            MARGIS2                 179
-ks8695                 ARCH_KS8695             KS8695                  180
-brh                    ARCH_BRH                BRH                     181
-s3c2410                        ARCH_S3C2410            S3C2410                 182
-possio_px30            ARCH_POSSIO_PX30        POSSIO_PX30             183
-s3c2800                        ARCH_S3C2800            S3C2800                 184
-fleetwood              SA1100_FLEETWOOD        FLEETWOOD               185
-omaha                  ARCH_OMAHA              OMAHA                   186
-ta7                    ARCH_TA7                TA7                     187
-nova                   SA1100_NOVA             NOVA                    188
-hmk                    ARCH_HMK                HMK                     189
-karo                   ARCH_KARO               KARO                    190
-fester                 SA1100_FESTER           FESTER                  191
-gpi                    ARCH_GPI                GPI                     192
-smdk2410               ARCH_SMDK2410           SMDK2410                193
-i519                   ARCH_I519               I519                    194
-nexio                  SA1100_NEXIO            NEXIO                   195
-bitbox                 SA1100_BITBOX           BITBOX                  196
-g200                   SA1100_G200             G200                    197
-gill                   SA1100_GILL             GILL                    198
-pxa_mercury            ARCH_PXA_MERCURY        PXA_MERCURY             199
-ceiva                  ARCH_CEIVA              CEIVA                   200
-fret                   SA1100_FRET             FRET                    201
-emailphone             SA1100_EMAILPHONE       EMAILPHONE              202
-h3900                  ARCH_H3900              H3900                   203
-pxa1                   ARCH_PXA1               PXA1                    204
-koan369                        SA1100_KOAN369          KOAN369                 205
-cogent                 ARCH_COGENT             COGENT                  206
-esl_simputer           ARCH_ESL_SIMPUTER       ESL_SIMPUTER            207
-esl_simputer_clr       ARCH_ESL_SIMPUTER_CLR   ESL_SIMPUTER_CLR        208
-esl_simputer_bw                ARCH_ESL_SIMPUTER_BW    ESL_SIMPUTER_BW         209
-hhp_cradle             ARCH_HHP_CRADLE         HHP_CRADLE              210
-he500                  ARCH_HE500              HE500                   211
-inhandelf2             SA1100_INHANDELF2       INHANDELF2              212
-inhandftip             SA1100_INHANDFTIP       INHANDFTIP              213
-dnp1110                        SA1100_DNP1110          DNP1110                 214
-pnp1110                        SA1100_PNP1110          PNP1110                 215
-csb226                 ARCH_CSB226             CSB226                  216
-arnold                 SA1100_ARNOLD           ARNOLD                  217
-voiceblue              MACH_VOICEBLUE          VOICEBLUE               218
-jz8028                 ARCH_JZ8028             JZ8028                  219
-h5400                  ARCH_H5400              H5400                   220
-forte                  SA1100_FORTE            FORTE                   221
-acam                   SA1100_ACAM             ACAM                    222
-abox                   SA1100_ABOX             ABOX                    223
-atmel                  ARCH_ATMEL              ATMEL                   224
-sitsang                        ARCH_SITSANG            SITSANG                 225
-cpu1110lcdnet          SA1100_CPU1110LCDNET    CPU1110LCDNET           226
-mpl_vcma9              ARCH_MPL_VCMA9          MPL_VCMA9               227
-opus_a1                        ARCH_OPUS_A1            OPUS_A1                 228
-daytona                        ARCH_DAYTONA            DAYTONA                 229
-killbear               SA1100_KILLBEAR         KILLBEAR                230
-yoho                   ARCH_YOHO               YOHO                    231
-jasper                 ARCH_JASPER             JASPER                  232
-dsc25                  ARCH_DSC25              DSC25                   233
-omap_innovator         MACH_OMAP_INNOVATOR     OMAP_INNOVATOR          234
-mnci                   ARCH_RAMSES             RAMSES                  235
-s28x                   ARCH_S28X               S28X                    236
-mport3                 ARCH_MPORT3             MPORT3                  237
-pxa_eagle250           ARCH_PXA_EAGLE250       PXA_EAGLE250            238
-pdb                    ARCH_PDB                PDB                     239
-blue_2g                        SA1100_BLUE_2G          BLUE_2G                 240
-bluearch               SA1100_BLUEARCH         BLUEARCH                241
-ixdp2400               ARCH_IXDP2400           IXDP2400                242
-ixdp2800               ARCH_IXDP2800           IXDP2800                243
-explorer               SA1100_EXPLORER         EXPLORER                244
-ixdp425                        ARCH_IXDP425            IXDP425                 245
-chimp                  ARCH_CHIMP              CHIMP                   246
-stork_nest             ARCH_STORK_NEST         STORK_NEST              247
-stork_egg              ARCH_STORK_EGG          STORK_EGG               248
-wismo                  SA1100_WISMO            WISMO                   249
-ezlinx                 ARCH_EZLINX             EZLINX                  250
-at91rm9200             ARCH_AT91RM9200         AT91RM9200              251
-orion                  ARCH_ORION              ORION                   252
-neptune                        ARCH_NEPTUNE            NEPTUNE                 253
-hackkit                        SA1100_HACKKIT          HACKKIT                 254
-pxa_wins30             ARCH_PXA_WINS30         PXA_WINS30              255
-lavinna                        SA1100_LAVINNA          LAVINNA                 256
-pxa_uengine            ARCH_PXA_UENGINE        PXA_UENGINE             257
-innokom                        ARCH_INNOKOM            INNOKOM                 258
-bms                    ARCH_BMS                BMS                     259
-ixcdp1100              ARCH_IXCDP1100          IXCDP1100               260
-prpmc1100              ARCH_PRPMC1100          PRPMC1100               261
-at91rm9200dk           ARCH_AT91RM9200DK       AT91RM9200DK            262
-armstick               ARCH_ARMSTICK           ARMSTICK                263
-armonie                        ARCH_ARMONIE            ARMONIE                 264
-mport1                 ARCH_MPORT1             MPORT1                  265
-s3c5410                        ARCH_S3C5410            S3C5410                 266
-zcp320a                        ARCH_ZCP320A            ZCP320A                 267
-i_box                  ARCH_I_BOX              I_BOX                   268
-stlc1502               ARCH_STLC1502           STLC1502                269
-siren                  ARCH_SIREN              SIREN                   270
-greenlake              ARCH_GREENLAKE          GREENLAKE               271
-argus                  ARCH_ARGUS              ARGUS                   272
-combadge               SA1100_COMBADGE         COMBADGE                273
-rokepxa                        ARCH_ROKEPXA            ROKEPXA                 274
-cintegrator            ARCH_CINTEGRATOR        CINTEGRATOR             275
-guidea07               ARCH_GUIDEA07           GUIDEA07                276
-tat257                 ARCH_TAT257             TAT257                  277
-igp2425                        ARCH_IGP2425            IGP2425                 278
-bluegrama              ARCH_BLUEGRAMMA         BLUEGRAMMA              279
-ipod                   ARCH_IPOD               IPOD                    280
-adsbitsyx              ARCH_ADSBITSYX          ADSBITSYX               281
-trizeps2               ARCH_TRIZEPS2           TRIZEPS2                282
-viper                  ARCH_VIPER              VIPER                   283
-adsbitsyplus           SA1100_ADSBITSYPLUS     ADSBITSYPLUS            284
-adsagc                 SA1100_ADSAGC           ADSAGC                  285
-stp7312                        ARCH_STP7312            STP7312                 286
-nx_phnx                        MACH_NX_PHNX            NX_PHNX                 287
-wep_ep250              ARCH_WEP_EP250          WEP_EP250               288
-inhandelf3             ARCH_INHANDELF3         INHANDELF3              289
-adi_coyote             ARCH_ADI_COYOTE         ADI_COYOTE              290
-iyonix                 ARCH_IYONIX             IYONIX                  291
-damicam1               ARCH_DAMICAM_SA1110     DAMICAM_SA1110          292
-meg03                  ARCH_MEG03              MEG03                   293
-pxa_whitechapel                ARCH_PXA_WHITECHAPEL    PXA_WHITECHAPEL         294
-nwsc                   ARCH_NWSC               NWSC                    295
-nwlarm                 ARCH_NWLARM             NWLARM                  296
-ixp425_mguard          ARCH_IXP425_MGUARD      IXP425_MGUARD           297
-pxa_netdcu4            ARCH_PXA_NETDCU4        PXA_NETDCU4             298
-ixdp2401               ARCH_IXDP2401           IXDP2401                299
-ixdp2801               ARCH_IXDP2801           IXDP2801                300
-zodiac                 ARCH_ZODIAC             ZODIAC                  301
-armmodul               ARCH_ARMMODUL           ARMMODUL                302
-ketop                  SA1100_KETOP            KETOP                   303
-av7200                 ARCH_AV7200             AV7200                  304
-arch_ti925             ARCH_ARCH_TI925         ARCH_TI925              305
-acq200                 ARCH_ACQ200             ACQ200                  306
-pt_dafit               SA1100_PT_DAFIT         PT_DAFIT                307
-ihba                   ARCH_IHBA               IHBA                    308
-quinque                        ARCH_QUINQUE            QUINQUE                 309
-nimbraone              ARCH_NIMBRAONE          NIMBRAONE               310
-nimbra29x              ARCH_NIMBRA29X          NIMBRA29X               311
-nimbra210              ARCH_NIMBRA210          NIMBRA210               312
-hhp_d95xx              ARCH_HHP_D95XX          HHP_D95XX               313
-labarm                 ARCH_LABARM             LABARM                  314
-m825xx                 ARCH_M825XX             M825XX                  315
-m7100                  SA1100_M7100            M7100                   316
-nipc2                  ARCH_NIPC2              NIPC2                   317
-fu7202                 ARCH_FU7202             FU7202                  318
-adsagx                 ARCH_ADSAGX             ADSAGX                  319
-pxa_pooh               ARCH_PXA_POOH           PXA_POOH                320
-bandon                 ARCH_BANDON             BANDON                  321
-pcm7210                        ARCH_PCM7210            PCM7210                 322
-nms9200                        ARCH_NMS9200            NMS9200                 323
-logodl                 ARCH_LOGODL             LOGODL                  324
-m7140                  SA1100_M7140            M7140                   325
-korebot                        ARCH_KOREBOT            KOREBOT                 326
-iq31244                        ARCH_IQ31244            IQ31244                 327
-koan393                        SA1100_KOAN393          KOAN393                 328
-inhandftip3            ARCH_INHANDFTIP3        INHANDFTIP3             329
-gonzo                  ARCH_GONZO              GONZO                   330
-bast                   ARCH_BAST               BAST                    331
-scanpass               ARCH_SCANPASS           SCANPASS                332
-ep7312_pooh            ARCH_EP7312_POOH        EP7312_POOH             333
-ta7s                   ARCH_TA7S               TA7S                    334
-ta7v                   ARCH_TA7V               TA7V                    335
-icarus                 SA1100_ICARUS           ICARUS                  336
-h1900                  ARCH_H1900              H1900                   337
-gemini                 SA1100_GEMINI           GEMINI                  338
-axim                   ARCH_AXIM               AXIM                    339
-audiotron              ARCH_AUDIOTRON          AUDIOTRON               340
-h2200                  ARCH_H2200              H2200                   341
-loox600                        ARCH_LOOX600            LOOX600                 342
-niop                   ARCH_NIOP               NIOP                    343
-dm310                  ARCH_DM310              DM310                   344
-seedpxa_c2             ARCH_SEEDPXA_C2         SEEDPXA_C2              345
-ixp4xx_mguardpci       ARCH_IXP4XX_MGUARD_PCI  IXP4XX_MGUARD_PCI       346
-h1940                  ARCH_H1940              H1940                   347
-scorpio                        ARCH_SCORPIO            SCORPIO                 348
-viva                   ARCH_VIVA               VIVA                    349
-pxa_xcard              ARCH_PXA_XCARD          PXA_XCARD               350
-csb335                 ARCH_CSB335             CSB335                  351
-ixrd425                        ARCH_IXRD425            IXRD425                 352
-iq80315                        ARCH_IQ80315            IQ80315                 353
-nmp7312                        ARCH_NMP7312            NMP7312                 354
-cx861xx                        ARCH_CX861XX            CX861XX                 355
-enp2611                        ARCH_ENP2611            ENP2611                 356
-xda                    SA1100_XDA              XDA                     357
-csir_ims               ARCH_CSIR_IMS           CSIR_IMS                358
-ixp421_dnaeeth         ARCH_IXP421_DNAEETH     IXP421_DNAEETH          359
-pocketserv9200         ARCH_POCKETSERV9200     POCKETSERV9200          360
-toto                   ARCH_TOTO               TOTO                    361
-s3c2440                        ARCH_S3C2440            S3C2440                 362
-ks8695p                        ARCH_KS8695P            KS8695P                 363
-se4000                 ARCH_SE4000             SE4000                  364
-quadriceps             ARCH_QUADRICEPS         QUADRICEPS              365
-bronco                 ARCH_BRONCO             BRONCO                  366
-esl_wireless_tab       ARCH_ESL_WIRELESS_TABLETESL_WIRELESS_TABLET     367
-esl_sofcomp            ARCH_ESL_SOFCOMP        ESL_SOFCOMP             368
-s5c7375                        ARCH_S5C7375            S5C7375                 369
-spearhead              ARCH_SPEARHEAD          SPEARHEAD               370
-pantera                        ARCH_PANTERA            PANTERA                 371
-prayoglite             ARCH_PRAYOGLITE         PRAYOGLITE              372
-gumstix                        ARCH_GUMSTIK            GUMSTIK                 373
-rcube                  ARCH_RCUBE              RCUBE                   374
-rea_olv                        ARCH_REA_OLV            REA_OLV                 375
-pxa_iphone             ARCH_PXA_IPHONE         PXA_IPHONE              376
-s3c3410                        ARCH_S3C3410            S3C3410                 377
-espd_4510b             ARCH_ESPD_4510B         ESPD_4510B              378
-mp1x                   ARCH_MP1X               MP1X                    379
-at91rm9200tb           ARCH_AT91RM9200TB       AT91RM9200TB            380
-adsvgx                 ARCH_ADSVGX             ADSVGX                  381
-omap_h2                        MACH_OMAP_H2            OMAP_H2                 382
-pelee                  ARCH_PELEE              PELEE                   383
-e740                   MACH_E740               E740                    384
-iq80331                        ARCH_IQ80331            IQ80331                 385
-versatile_pb           ARCH_VERSATILE_PB       VERSATILE_PB            387
-kev7a400               MACH_KEV7A400           KEV7A400                388
-lpd7a400               MACH_LPD7A400           LPD7A400                389
-lpd7a404               MACH_LPD7A404           LPD7A404                390
-fujitsu_camelot                ARCH_FUJITSU_CAMELOT    FUJITSU_CAMELOT         391
-janus2m                        ARCH_JANUS2M            JANUS2M                 392
-embtf                  MACH_EMBTF              EMBTF                   393
-hpm                    MACH_HPM                HPM                     394
-smdk2410tk             MACH_SMDK2410TK         SMDK2410TK              395
-smdk2410aj             MACH_SMDK2410AJ         SMDK2410AJ              396
-streetracer            MACH_STREETRACER        STREETRACER             397
-eframe                 MACH_EFRAME             EFRAME                  398
-csb337                 MACH_CSB337             CSB337                  399
-pxa_lark               MACH_PXA_LARK           PXA_LARK                400
-pxa_pnp2110            MACH_PNP2110            PNP2110                 401
-tcc72x                 MACH_TCC72X             TCC72X                  402
-altair                 MACH_ALTAIR             ALTAIR                  403
-kc3                    MACH_KC3                KC3                     404
-sinteftd               MACH_SINTEFTD           SINTEFTD                405
-mainstone              MACH_MAINSTONE          MAINSTONE               406
-aday4x                 MACH_ADAY4X             ADAY4X                  407
-lite300                        MACH_LITE300            LITE300                 408
-s5c7376                        MACH_S5C7376            S5C7376                 409
-mt02                   MACH_MT02               MT02                    410
-mport3s                        MACH_MPORT3S            MPORT3S                 411
-ra_alpha               MACH_RA_ALPHA           RA_ALPHA                412
-xcep                   MACH_XCEP               XCEP                    413
-arcom_vulcan           MACH_ARCOM_VULCAN       ARCOM_VULCAN            414
-stargate               MACH_STARGATE           STARGATE                415
-armadilloj             MACH_ARMADILLOJ         ARMADILLOJ              416
-elroy_jack             MACH_ELROY_JACK         ELROY_JACK              417
-backend                        MACH_BACKEND            BACKEND                 418
-s5linbox               MACH_S5LINBOX           S5LINBOX                419
-nomadik                        MACH_NOMADIK            NOMADIK                 420
-ia_cpu_9200            MACH_IA_CPU_9200        IA_CPU_9200             421
-at91_bja1              MACH_AT91_BJA1          AT91_BJA1               422
-corgi                  MACH_CORGI              CORGI                   423
-poodle                 MACH_POODLE             POODLE                  424
-ten                    MACH_TEN                TEN                     425
-roverp5p               MACH_ROVERP5P           ROVERP5P                426
-sc2700                 MACH_SC2700             SC2700                  427
-ex_eagle               MACH_EX_EAGLE           EX_EAGLE                428
-nx_pxa12               MACH_NX_PXA12           NX_PXA12                429
-nx_pxa5                        MACH_NX_PXA5            NX_PXA5                 430
-blackboard2            MACH_BLACKBOARD2        BLACKBOARD2             431
-i819                   MACH_I819               I819                    432
-ixmb995e               MACH_IXMB995E           IXMB995E                433
-skyrider               MACH_SKYRIDER           SKYRIDER                434
-skyhawk                        MACH_SKYHAWK            SKYHAWK                 435
-enterprise             MACH_ENTERPRISE         ENTERPRISE              436
-dep2410                        MACH_DEP2410            DEP2410                 437
-armcore                        MACH_ARMCORE            ARMCORE                 438
-hobbit                 MACH_HOBBIT             HOBBIT                  439
-h7210                  MACH_H7210              H7210                   440
-pxa_netdcu5            MACH_PXA_NETDCU5        PXA_NETDCU5             441
-acc                    MACH_ACC                ACC                     442
-esl_sarva              MACH_ESL_SARVA          ESL_SARVA               443
-xm250                  MACH_XM250              XM250                   444
-t6tc1xb                        MACH_T6TC1XB            T6TC1XB                 445
-ess710                 MACH_ESS710             ESS710                  446
-mx31ads                        MACH_MX31ADS            MX31ADS                 447
-himalaya               MACH_HIMALAYA           HIMALAYA                448
-bolfenk                        MACH_BOLFENK            BOLFENK                 449
-at91rm9200kr           MACH_AT91RM9200KR       AT91RM9200KR            450
-edb9312                        MACH_EDB9312            EDB9312                 451
-omap_generic           MACH_OMAP_GENERIC       OMAP_GENERIC            452
-aximx3                 MACH_AXIMX3             AXIMX3                  453
-eb67xdip               MACH_EB67XDIP           EB67XDIP                454
-webtxs                 MACH_WEBTXS             WEBTXS                  455
-hawk                   MACH_HAWK               HAWK                    456
-ccat91sbc001           MACH_CCAT91SBC001       CCAT91SBC001            457
-expresso               MACH_EXPRESSO           EXPRESSO                458
-h4000                  MACH_H4000              H4000                   459
-dino                   MACH_DINO               DINO                    460
-ml675k                 MACH_ML675K             ML675K                  461
-edb9301                        MACH_EDB9301            EDB9301                 462
-edb9315                        MACH_EDB9315            EDB9315                 463
-reciva_tt              MACH_RECIVA_TT          RECIVA_TT               464
-cstcb01                        MACH_CSTCB01            CSTCB01                 465
-cstcb1                 MACH_CSTCB1             CSTCB1                  466
-shadwell               MACH_SHADWELL           SHADWELL                467
-goepel263              MACH_GOEPEL263          GOEPEL263               468
-acq100                 MACH_ACQ100             ACQ100                  469
-mx1fs2                 MACH_MX1FS2             MX1FS2                  470
-hiptop_g1              MACH_HIPTOP_G1          HIPTOP_G1               471
-sparky                 MACH_SPARKY             SPARKY                  472
-ns9750                 MACH_NS9750             NS9750                  473
-phoenix                        MACH_PHOENIX            PHOENIX                 474
-vr1000                 MACH_VR1000             VR1000                  475
-deisterpxa             MACH_DEISTERPXA         DEISTERPXA              476
-bcm1160                        MACH_BCM1160            BCM1160                 477
-pcm022                 MACH_PCM022             PCM022                  478
-adsgcx                 MACH_ADSGCX             ADSGCX                  479
-dreadnaught            MACH_DREADNAUGHT        DREADNAUGHT             480
-dm320                  MACH_DM320              DM320                   481
-markov                 MACH_MARKOV             MARKOV                  482
-cos7a400               MACH_COS7A400           COS7A400                483
-milano                 MACH_MILANO             MILANO                  484
-ue9328                 MACH_UE9328             UE9328                  485
-uex255                 MACH_UEX255             UEX255                  486
-ue2410                 MACH_UE2410             UE2410                  487
-a620                   MACH_A620               A620                    488
-ocelot                 MACH_OCELOT             OCELOT                  489
-cheetah                        MACH_CHEETAH            CHEETAH                 490
-omap_perseus2          MACH_OMAP_PERSEUS2      OMAP_PERSEUS2           491
-zvue                   MACH_ZVUE               ZVUE                    492
-roverp1                        MACH_ROVERP1            ROVERP1                 493
-asidial2               MACH_ASIDIAL2           ASIDIAL2                494
-s3c24a0                        MACH_S3C24A0            S3C24A0                 495
-e800                   MACH_E800               E800                    496
-e750                   MACH_E750               E750                    497
-s3c5500                        MACH_S3C5500            S3C5500                 498
-smdk5500               MACH_SMDK5500           SMDK5500                499
-signalsync             MACH_SIGNALSYNC         SIGNALSYNC              500
-nbc                    MACH_NBC                NBC                     501
-kodiak                 MACH_KODIAK             KODIAK                  502
-netbookpro             MACH_NETBOOKPRO         NETBOOKPRO              503
-hw90200                        MACH_HW90200            HW90200                 504
-condor                 MACH_CONDOR             CONDOR                  505
-cup                    MACH_CUP                CUP                     506
-kite                   MACH_KITE               KITE                    507
-scb9328                        MACH_SCB9328            SCB9328                 508
-omap_h3                        MACH_OMAP_H3            OMAP_H3                 509
-omap_h4                        MACH_OMAP_H4            OMAP_H4                 510
-n10                    MACH_N10                N10                     511
-montejade              MACH_MONTAJADE          MONTAJADE               512
-sg560                  MACH_SG560              SG560                   513
-dp1000                 MACH_DP1000             DP1000                  514
-omap_osk               MACH_OMAP_OSK           OMAP_OSK                515
-rg100v3                        MACH_RG100V3            RG100V3                 516
-mx2ads                 MACH_MX2ADS             MX2ADS                  517
-pxa_kilo               MACH_PXA_KILO           PXA_KILO                518
-ixp4xx_eagle           MACH_IXP4XX_EAGLE       IXP4XX_EAGLE            519
-tosa                   MACH_TOSA               TOSA                    520
-mb2520f                        MACH_MB2520F            MB2520F                 521
-emc1000                        MACH_EMC1000            EMC1000                 522
-tidsc25                        MACH_TIDSC25            TIDSC25                 523
-akcpmxl                        MACH_AKCPMXL            AKCPMXL                 524
-av3xx                  MACH_AV3XX              AV3XX                   525
-avila                  MACH_AVILA              AVILA                   526
-pxa_mpm10              MACH_PXA_MPM10          PXA_MPM10               527
-pxa_kyanite            MACH_PXA_KYANITE        PXA_KYANITE             528
-sgold                  MACH_SGOLD              SGOLD                   529
-oscar                  MACH_OSCAR              OSCAR                   530
-epxa4usb2              MACH_EPXA4USB2          EPXA4USB2               531
-xsengine               MACH_XSENGINE           XSENGINE                532
-ip600                  MACH_IP600              IP600                   533
-mcan2                  MACH_MCAN2              MCAN2                   534
-ddi_blueridge          MACH_DDI_BLUERIDGE      DDI_BLUERIDGE           535
-skyminder              MACH_SKYMINDER          SKYMINDER               536
-lpd79520               MACH_LPD79520           LPD79520                537
-edb9302                        MACH_EDB9302            EDB9302                 538
-hw90340                        MACH_HW90340            HW90340                 539
-cip_box                        MACH_CIP_BOX            CIP_BOX                 540
-ivpn                   MACH_IVPN               IVPN                    541
-rsoc2                  MACH_RSOC2              RSOC2                   542
-husky                  MACH_HUSKY              HUSKY                   543
-boxer                  MACH_BOXER              BOXER                   544
-shepherd               MACH_SHEPHERD           SHEPHERD                545
-aml42800aa             MACH_AML42800AA         AML42800AA              546
-ml674001               MACH_MACH_TYPE_ML674001 MACH_TYPE_ML674001      547
-lpc2294                        MACH_LPC2294            LPC2294                 548
-switchgrass            MACH_SWITCHGRASS        SWITCHGRASS             549
-ens_cmu                        MACH_ENS_CMU            ENS_CMU                 550
-mm6_sdb                        MACH_MM6_SDB            MM6_SDB                 551
-saturn                 MACH_SATURN             SATURN                  552
-i30030evb              MACH_I30030EVB          I30030EVB               553
-mxc27530evb            MACH_MXC27530EVB        MXC27530EVB             554
-smdk2800               MACH_SMDK2800           SMDK2800                555
-mtwilson               MACH_MTWILSON           MTWILSON                556
-ziti                   MACH_ZITI               ZITI                    557
-grandfather            MACH_GRANDFATHER        GRANDFATHER             558
-tengine                        MACH_TENGINE            TENGINE                 559
-s3c2460                        MACH_S3C2460            S3C2460                 560
-pdm                    MACH_PDM                PDM                     561
-h4700                  MACH_H4700              H4700                   562
-h6300                  MACH_H6300              H6300                   563
-rz1700                 MACH_RZ1700             RZ1700                  564
-a716                   MACH_A716               A716                    565
-estk2440a              MACH_ESTK2440A          ESTK2440A               566
-atwixp425              MACH_ATWIXP425          ATWIXP425               567
-csb336                 MACH_CSB336             CSB336                  568
-rirm2                  MACH_RIRM2              RIRM2                   569
-cx23518                        MACH_CX23518            CX23518                 570
-cx2351x                        MACH_CX2351X            CX2351X                 571
-computime              MACH_COMPUTIME          COMPUTIME               572
-izarus                 MACH_IZARUS             IZARUS                  573
-pxa_rts                        MACH_RTS                RTS                     574
-se5100                 MACH_SE5100             SE5100                  575
-s3c2510                        MACH_S3C2510            S3C2510                 576
-csb437tl               MACH_CSB437TL           CSB437TL                577
-slauson                        MACH_SLAUSON            SLAUSON                 578
-pearlriver             MACH_PEARLRIVER         PEARLRIVER              579
-tdc_p210               MACH_TDC_P210           TDC_P210                580
-sg580                  MACH_SG580              SG580                   581
-wrsbcarm7              MACH_WRSBCARM7          WRSBCARM7               582
-ipd                    MACH_IPD                IPD                     583
-pxa_dnp2110            MACH_PXA_DNP2110        PXA_DNP2110             584
-xaeniax                        MACH_XAENIAX            XAENIAX                 585
-somn4250               MACH_SOMN4250           SOMN4250                586
-pleb2                  MACH_PLEB2              PLEB2                   587
-cornwallis             MACH_CORNWALLIS         CORNWALLIS              588
-gurney_drv             MACH_GURNEY_DRV         GURNEY_DRV              589
-chaffee                        MACH_CHAFFEE            CHAFFEE                 590
-rms101                 MACH_RMS101             RMS101                  591
-rx3715                 MACH_RX3715             RX3715                  592
-swift                  MACH_SWIFT              SWIFT                   593
-roverp7                        MACH_ROVERP7            ROVERP7                 594
-pr818s                 MACH_PR818S             PR818S                  595
-trxpro                 MACH_TRXPRO             TRXPRO                  596
-nslu2                  MACH_NSLU2              NSLU2                   597
-e400                   MACH_E400               E400                    598
-trab                   MACH_TRAB               TRAB                    599
-cmc_pu2                        MACH_CMC_PU2            CMC_PU2                 600
-fulcrum                        MACH_FULCRUM            FULCRUM                 601
-netgate42x             MACH_NETGATE42X         NETGATE42X              602
-str710                 MACH_STR710             STR710                  603
-ixdpg425               MACH_IXDPG425           IXDPG425                604
-tomtomgo               MACH_TOMTOMGO           TOMTOMGO                605
-versatile_ab           MACH_VERSATILE_AB       VERSATILE_AB            606
-edb9307                        MACH_EDB9307            EDB9307                 607
-sg565                  MACH_SG565              SG565                   608
-lpd79524               MACH_LPD79524           LPD79524                609
-lpd79525               MACH_LPD79525           LPD79525                610
-rms100                 MACH_RMS100             RMS100                  611
-kb9200                 MACH_KB9200             KB9200                  612
-sx1                    MACH_SX1                SX1                     613
-hms39c7092             MACH_HMS39C7092         HMS39C7092              614
-armadillo              MACH_ARMADILLO          ARMADILLO               615
-ipcu                   MACH_IPCU               IPCU                    616
-loox720                        MACH_LOOX720            LOOX720                 617
-ixdp465                        MACH_IXDP465            IXDP465                 618
-ixdp2351               MACH_IXDP2351           IXDP2351                619
-adsvix                 MACH_ADSVIX             ADSVIX                  620
-dm270                  MACH_DM270              DM270                   621
-socltplus              MACH_SOCLTPLUS          SOCLTPLUS               622
-ecia                   MACH_ECIA               ECIA                    623
-cm4008                 MACH_CM4008             CM4008                  624
-p2001                  MACH_P2001              P2001                   625
-twister                        MACH_TWISTER            TWISTER                 626
-mudshark               MACH_MUDSHARK           MUDSHARK                627
-hb2                    MACH_HB2                HB2                     628
-iq80332                        MACH_IQ80332            IQ80332                 629
-sendt                  MACH_SENDT              SENDT                   630
-mx2jazz                        MACH_MX2JAZZ            MX2JAZZ                 631
-multiio                        MACH_MULTIIO            MULTIIO                 632
-hrdisplay              MACH_HRDISPLAY          HRDISPLAY               633
-mxc27530ads            MACH_MXC27530ADS        MXC27530ADS             634
-trizeps3               MACH_TRIZEPS3           TRIZEPS3                635
-zefeerdza              MACH_ZEFEERDZA          ZEFEERDZA               636
-zefeerdzb              MACH_ZEFEERDZB          ZEFEERDZB               637
-zefeerdzg              MACH_ZEFEERDZG          ZEFEERDZG               638
-zefeerdzn              MACH_ZEFEERDZN          ZEFEERDZN               639
-zefeerdzq              MACH_ZEFEERDZQ          ZEFEERDZQ               640
-gtwx5715               MACH_GTWX5715           GTWX5715                641
-astro_jack             MACH_ASTRO_JACK         ASTRO_JACK              643
-tip03                  MACH_TIP03              TIP03                   644
-a9200ec                        MACH_A9200EC            A9200EC                 645
-pnx0105                        MACH_PNX0105            PNX0105                 646
-adcpoecpu              MACH_ADCPOECPU          ADCPOECPU               647
-csb637                 MACH_CSB637             CSB637                  648
-ml69q6203              MACH_ML69Q6203          ML69Q6203               649
-mb9200                 MACH_MB9200             MB9200                  650
-kulun                  MACH_KULUN              KULUN                   651
-snapper                        MACH_SNAPPER            SNAPPER                 652
-optima                 MACH_OPTIMA             OPTIMA                  653
-dlhsbc                 MACH_DLHSBC             DLHSBC                  654
-x30                    MACH_X30                X30                     655
-n30                    MACH_N30                N30                     656
-manga_ks8695           MACH_MANGA_KS8695       MANGA_KS8695            657
-ajax                   MACH_AJAX               AJAX                    658
-nec_mp900              MACH_NEC_MP900          NEC_MP900               659
-vvtk1000               MACH_VVTK1000           VVTK1000                661
-kafa                   MACH_KAFA               KAFA                    662
-vvtk3000               MACH_VVTK3000           VVTK3000                663
-pimx1                  MACH_PIMX1              PIMX1                   664
-ollie                  MACH_OLLIE              OLLIE                   665
-skymax                 MACH_SKYMAX             SKYMAX                  666
-jazz                   MACH_JAZZ               JAZZ                    667
-tel_t3                 MACH_TEL_T3             TEL_T3                  668
-aisino_fcr255          MACH_AISINO_FCR255      AISINO_FCR255           669
-btweb                  MACH_BTWEB              BTWEB                   670
-dbg_lh79520            MACH_DBG_LH79520        DBG_LH79520             671
-cm41xx                 MACH_CM41XX             CM41XX                  672
-ts72xx                 MACH_TS72XX             TS72XX                  673
-nggpxa                 MACH_NGGPXA             NGGPXA                  674
-csb535                 MACH_CSB535             CSB535                  675
-csb536                 MACH_CSB536             CSB536                  676
-pxa_trakpod            MACH_PXA_TRAKPOD        PXA_TRAKPOD             677
-praxis                 MACH_PRAXIS             PRAXIS                  678
-lh75411                        MACH_LH75411            LH75411                 679
-otom                   MACH_OTOM               OTOM                    680
-nexcoder_2440          MACH_NEXCODER_2440      NEXCODER_2440           681
-loox410                        MACH_LOOX410            LOOX410                 682
-westlake               MACH_WESTLAKE           WESTLAKE                683
-nsb                    MACH_NSB                NSB                     684
-esl_sarva_stn          MACH_ESL_SARVA_STN      ESL_SARVA_STN           685
-esl_sarva_tft          MACH_ESL_SARVA_TFT      ESL_SARVA_TFT           686
-esl_sarva_iad          MACH_ESL_SARVA_IAD      ESL_SARVA_IAD           687
-esl_sarva_acc          MACH_ESL_SARVA_ACC      ESL_SARVA_ACC           688
-typhoon                        MACH_TYPHOON            TYPHOON                 689
-cnav                   MACH_CNAV               CNAV                    690
-a730                   MACH_A730               A730                    691
-netstar                        MACH_NETSTAR            NETSTAR                 692
-supercon               MACH_PHASEFALE_SUPERCON PHASEFALE_SUPERCON      693
-shiva1100              MACH_SHIVA1100          SHIVA1100               694
-etexsc                 MACH_ETEXSC             ETEXSC                  695
-ixdpg465               MACH_IXDPG465           IXDPG465                696
-a9m2410                        MACH_A9M2410            A9M2410                 697
-a9m2440                        MACH_A9M2440            A9M2440                 698
-a9m9750                        MACH_A9M9750            A9M9750                 699
-a9m9360                        MACH_A9M9360            A9M9360                 700
-unc90                  MACH_UNC90              UNC90                   701
-eco920                 MACH_ECO920             ECO920                  702
-satview                        MACH_SATVIEW            SATVIEW                 703
-roadrunner             MACH_ROADRUNNER         ROADRUNNER              704
-at91rm9200ek           MACH_AT91RM9200EK       AT91RM9200EK            705
-gp32                   MACH_GP32               GP32                    706
-gem                    MACH_GEM                GEM                     707
-i858                   MACH_I858               I858                    708
-hx2750                 MACH_HX2750             HX2750                  709
-mxc91131evb            MACH_MXC91131EVB        MXC91131EVB             710
-p700                   MACH_P700               P700                    711
-cpe                    MACH_CPE                CPE                     712
-spitz                  MACH_SPITZ              SPITZ                   713
-nimbra340              MACH_NIMBRA340          NIMBRA340               714
-lpc22xx                        MACH_LPC22XX            LPC22XX                 715
-omap_comet3            MACH_COMET3             COMET3                  716
-omap_comet4            MACH_COMET4             COMET4                  717
-csb625                 MACH_CSB625             CSB625                  718
-fortunet2              MACH_FORTUNET2          FORTUNET2               719
-s5h2200                        MACH_S5H2200            S5H2200                 720
-optorm920              MACH_OPTORM920          OPTORM920               721
-adsbitsyxb             MACH_ADSBITSYXB         ADSBITSYXB              722
-adssphere              MACH_ADSSPHERE          ADSSPHERE               723
-adsportal              MACH_ADSPORTAL          ADSPORTAL               724
-ln2410sbc              MACH_LN2410SBC          LN2410SBC               725
-cb3rufc                        MACH_CB3RUFC            CB3RUFC                 726
-mp2usb                 MACH_MP2USB             MP2USB                  727
-ntnp425c               MACH_NTNP425C           NTNP425C                728
-colibri                        MACH_COLIBRI            COLIBRI                 729
-pcm7220                        MACH_PCM7220            PCM7220                 730
-gateway7001            MACH_GATEWAY7001        GATEWAY7001             731
-pcm027                 MACH_PCM027             PCM027                  732
-cmpxa                  MACH_CMPXA              CMPXA                   733
-anubis                 MACH_ANUBIS             ANUBIS                  734
-ite8152                        MACH_ITE8152            ITE8152                 735
-lpc3xxx                        MACH_LPC3XXX            LPC3XXX                 736
-puppeteer              MACH_PUPPETEER          PUPPETEER               737
-vt001                  MACH_MACH_VADATECH      MACH_VADATECH           738
-e570                   MACH_E570               E570                    739
-x50                    MACH_X50                X50                     740
-recon                  MACH_RECON              RECON                   741
-xboardgp8              MACH_XBOARDGP8          XBOARDGP8               742
-fpic2                  MACH_FPIC2              FPIC2                   743
-akita                  MACH_AKITA              AKITA                   744
-a81                    MACH_A81                A81                     745
-svm_sc25x              MACH_SVM_SC25X          SVM_SC25X               746
-vt020                  MACH_VADATECH020        VADATECH020             747
-tli                    MACH_TLI                TLI                     748
-edb9315lc              MACH_EDB9315LC          EDB9315LC               749
-passec                 MACH_PASSEC             PASSEC                  750
-ds_tiger               MACH_DS_TIGER           DS_TIGER                751
-e310                   MACH_E310               E310                    752
-e330                   MACH_E330               E330                    753
-rt3000                 MACH_RT3000             RT3000                  754
-nokia770               MACH_NOKIA770           NOKIA770                755
-pnx0106                        MACH_PNX0106            PNX0106                 756
-hx21xx                 MACH_HX21XX             HX21XX                  757
-faraday                        MACH_FARADAY            FARADAY                 758
-sbc9312                        MACH_SBC9312            SBC9312                 759
-batman                 MACH_BATMAN             BATMAN                  760
-jpd201                 MACH_JPD201             JPD201                  761
-mipsa                  MACH_MIPSA              MIPSA                   762
-kacom                  MACH_KACOM              KACOM                   763
-swarcocpu              MACH_SWARCOCPU          SWARCOCPU               764
-swarcodsl              MACH_SWARCODSL          SWARCODSL               765
-blueangel              MACH_BLUEANGEL          BLUEANGEL               766
-hairygrama             MACH_HAIRYGRAMA         HAIRYGRAMA              767
-banff                  MACH_BANFF              BANFF                   768
-carmeva                        MACH_CARMEVA            CARMEVA                 769
-sam255                 MACH_SAM255             SAM255                  770
-ppm10                  MACH_PPM10              PPM10                   771
-edb9315a               MACH_EDB9315A           EDB9315A                772
-sunset                 MACH_SUNSET             SUNSET                  773
-stargate2              MACH_STARGATE2          STARGATE2               774
-intelmote2             MACH_INTELMOTE2         INTELMOTE2              775
-trizeps4               MACH_TRIZEPS4           TRIZEPS4                776
-mainstone2             MACH_MAINSTONE2         MAINSTONE2              777
-ez_ixp42x              MACH_EZ_IXP42X          EZ_IXP42X               778
-tapwave_zodiac         MACH_TAPWAVE_ZODIAC     TAPWAVE_ZODIAC          779
-universalmeter         MACH_UNIVERSALMETER     UNIVERSALMETER          780
-hicoarm9               MACH_HICOARM9           HICOARM9                781
-pnx4008                        MACH_PNX4008            PNX4008                 782
-kws6000                        MACH_KWS6000            KWS6000                 783
-portux920t             MACH_PORTUX920T         PORTUX920T              784
-ez_x5                  MACH_EZ_X5              EZ_X5                   785
-omap_rudolph           MACH_OMAP_RUDOLPH       OMAP_RUDOLPH            786
-cpuat91                        MACH_CPUAT91            CPUAT91                 787
-rea9200                        MACH_REA9200            REA9200                 788
-acts_pune_sa1110       MACH_ACTS_PUNE_SA1110   ACTS_PUNE_SA1110        789
-ixp425                 MACH_IXP425             IXP425                  790
-i30030ads              MACH_I30030ADS          I30030ADS               791
-perch                  MACH_PERCH              PERCH                   792
-eis05r1                        MACH_EIS05R1            EIS05R1                 793
-pepperpad              MACH_PEPPERPAD          PEPPERPAD               794
-sb3010                 MACH_SB3010             SB3010                  795
-rm9200                 MACH_RM9200             RM9200                  796
-dma03                  MACH_DMA03              DMA03                   797
-road_s101              MACH_ROAD_S101          ROAD_S101               798
-iq_nextgen_a           MACH_IQ_NEXTGEN_A       IQ_NEXTGEN_A            799
-iq_nextgen_b           MACH_IQ_NEXTGEN_B       IQ_NEXTGEN_B            800
-iq_nextgen_c           MACH_IQ_NEXTGEN_C       IQ_NEXTGEN_C            801
-iq_nextgen_d           MACH_IQ_NEXTGEN_D       IQ_NEXTGEN_D            802
-iq_nextgen_e           MACH_IQ_NEXTGEN_E       IQ_NEXTGEN_E            803
-mallow_at91            MACH_MALLOW_AT91        MALLOW_AT91             804
-cybertracker_i         MACH_CYBERTRACKER_I     CYBERTRACKER_I          805
-gesbc931x              MACH_GESBC931X          GESBC931X               806
-centipad               MACH_CENTIPAD           CENTIPAD                807
-armsoc                 MACH_ARMSOC             ARMSOC                  808
-se4200                 MACH_SE4200             SE4200                  809
-ems197a                        MACH_EMS197A            EMS197A                 810
-micro9                 MACH_MICRO9             MICRO9                  811
-micro9l                        MACH_MICRO9L            MICRO9L                 812
-uc5471dsp              MACH_UC5471DSP          UC5471DSP               813
-sj5471eng              MACH_SJ5471ENG          SJ5471ENG               814
-none                   MACH_CMPXA26X           CMPXA26X                815
-nc1                    MACH_NC                 NC                      816
-omap_palmte            MACH_OMAP_PALMTE        OMAP_PALMTE             817
-ajax52x                        MACH_AJAX52X            AJAX52X                 818
-siriustar              MACH_SIRIUSTAR          SIRIUSTAR               819
-iodata_hdlg            MACH_IODATA_HDLG        IODATA_HDLG             820
-at91rm9200utl          MACH_AT91RM9200UTL      AT91RM9200UTL           821
-biosafe                        MACH_BIOSAFE            BIOSAFE                 822
-mp1000                 MACH_MP1000             MP1000                  823
-parsy                  MACH_PARSY              PARSY                   824
-ccxp270                        MACH_CCXP               CCXP                    825
-omap_gsample           MACH_OMAP_GSAMPLE       OMAP_GSAMPLE            826
-realview_eb            MACH_REALVIEW_EB        REALVIEW_EB             827
-samoa                  MACH_SAMOA              SAMOA                   828
-t3xscale               MACH_T3XSCALE           T3XSCALE                829
-i878                   MACH_I878               I878                    830
-borzoi                 MACH_BORZOI             BORZOI                  831
-gecko                  MACH_GECKO              GECKO                   832
-ds101                  MACH_DS101              DS101                   833
-omap_palmtt2           MACH_OMAP_PALMTT2       OMAP_PALMTT2            834
-xscale_palmld          MACH_XSCALE_PALMLD      XSCALE_PALMLD           835
-cc9c                   MACH_CC9C               CC9C                    836
-sbc1670                        MACH_SBC1670            SBC1670                 837
-ixdp28x5               MACH_IXDP28X5           IXDP28X5                838
-omap_palmtt            MACH_OMAP_PALMTT        OMAP_PALMTT             839
-ml696k                 MACH_ML696K             ML696K                  840
-arcom_zeus             MACH_ARCOM_ZEUS         ARCOM_ZEUS              841
-osiris                 MACH_OSIRIS             OSIRIS                  842
-maestro                        MACH_MAESTRO            MAESTRO                 843
-tunge2                 MACH_TUNGE2             TUNGE2                  844
-ixbbm                  MACH_IXBBM              IXBBM                   845
-mx27ads                        MACH_MX27               MX27                    846
-ax8004                 MACH_AX8004             AX8004                  847
-at91sam9261ek          MACH_AT91SAM9261EK      AT91SAM9261EK           848
-loft                   MACH_LOFT               LOFT                    849
-magpie                 MACH_MAGPIE             MAGPIE                  850
-mx21ads                        MACH_MX21               MX21                    851
-mb87m3400              MACH_MB87M3400          MB87M3400               852
-mguard_delta           MACH_MGUARD_DELTA       MGUARD_DELTA            853
-davinci_dvdp           MACH_DAVINCI_DVDP       DAVINCI_DVDP            854
-htcuniversal           MACH_HTCUNIVERSAL       HTCUNIVERSAL            855
-tpad                   MACH_TPAD               TPAD                    856
-roverp3                        MACH_ROVERP3            ROVERP3                 857
-jornada928             MACH_JORNADA928         JORNADA928              858
-mv88fxx81              MACH_MV88FXX81          MV88FXX81               859
-stmp36xx               MACH_STMP36XX           STMP36XX                860
-sxni79524              MACH_SXNI79524          SXNI79524               861
-ams_delta              MACH_AMS_DELTA          AMS_DELTA               862
-uranium                        MACH_URANIUM            URANIUM                 863
-ucon                   MACH_UCON               UCON                    864
-nas100d                        MACH_NAS100D            NAS100D                 865
-l083                   MACH_L083_1000          L083_1000               866
-ezx                    MACH_EZX                EZX                     867
-pnx5220                        MACH_PNX5220            PNX5220                 868
-butte                  MACH_BUTTE              BUTTE                   869
-srm2                   MACH_SRM2               SRM2                    870
-dsbr                   MACH_DSBR               DSBR                    871
-crystalball            MACH_CRYSTALBALL        CRYSTALBALL             872
-tinypxa27x             MACH_TINYPXA27X         TINYPXA27X              873
-herbie                 MACH_HERBIE             HERBIE                  874
-magician               MACH_MAGICIAN           MAGICIAN                875
-cm4002                 MACH_CM4002             CM4002                  876
-b4                     MACH_B4                 B4                      877
-maui                   MACH_MAUI               MAUI                    878
-cybertracker_g         MACH_CYBERTRACKER_G     CYBERTRACKER_G          879
-nxdkn                  MACH_NXDKN              NXDKN                   880
-mio8390                        MACH_MIO8390            MIO8390                 881
-omi_board              MACH_OMI_BOARD          OMI_BOARD               882
-mx21civ                        MACH_MX21CIV            MX21CIV                 883
-mahi_cdac              MACH_MAHI_CDAC          MAHI_CDAC               884
-xscale_palmtx          MACH_XSCALE_PALMTX      XSCALE_PALMTX           885
-s3c2413                        MACH_S3C2413            S3C2413                 887
-samsys_ep0             MACH_SAMSYS_EP0         SAMSYS_EP0              888
-wg302v1                        MACH_WG302V1            WG302V1                 889
-wg302v2                        MACH_WG302V2            WG302V2                 890
-eb42x                  MACH_EB42X              EB42X                   891
-iq331es                        MACH_IQ331ES            IQ331ES                 892
-cosydsp                        MACH_COSYDSP            COSYDSP                 893
-uplat7d_proto          MACH_UPLAT7D            UPLAT7D                 894
-ptdavinci              MACH_PTDAVINCI          PTDAVINCI               895
-mbus                   MACH_MBUS               MBUS                    896
-nadia2vb               MACH_NADIA2VB           NADIA2VB                897
-r1000                  MACH_R1000              R1000                   898
-hw90250                        MACH_HW90250            HW90250                 899
-omap_2430sdp           MACH_OMAP_2430SDP       OMAP_2430SDP            900
-davinci_evm            MACH_DAVINCI_EVM        DAVINCI_EVM             901
-omap_tornado           MACH_OMAP_TORNADO       OMAP_TORNADO            902
-olocreek               MACH_OLOCREEK           OLOCREEK                903
-palmz72                        MACH_PALMZ72            PALMZ72                 904
-nxdb500                        MACH_NXDB500            NXDB500                 905
-apf9328                        MACH_APF9328            APF9328                 906
-omap_wipoq             MACH_OMAP_WIPOQ         OMAP_WIPOQ              907
-omap_twip              MACH_OMAP_TWIP          OMAP_TWIP               908
-xscale_treo650         MACH_XSCALE_PALMTREO650 XSCALE_PALMTREO650      909
-acumen                 MACH_ACUMEN             ACUMEN                  910
-xp100                  MACH_XP100              XP100                   911
-fs2410                 MACH_FS2410             FS2410                  912
-pxa270_cerf            MACH_PXA270_CERF        PXA270_CERF             913
-sq2ftlpalm             MACH_SQ2FTLPALM         SQ2FTLPALM              914
-bsemserver             MACH_BSEMSERVER         BSEMSERVER              915
-netclient              MACH_NETCLIENT          NETCLIENT               916
-xscale_palmtt5         MACH_XSCALE_PALMTT5     XSCALE_PALMTT5          917
-xscale_palmtc          MACH_OMAP_PALMTC        OMAP_PALMTC             918
-omap_apollon           MACH_OMAP_APOLLON       OMAP_APOLLON            919
-mxc30030evb            MACH_MXC30030EVB        MXC30030EVB             920
-rea_2d                 MACH_REA_2D             REA_2D                  921
-eti3e524               MACH_TI3E524            TI3E524                 922
-ateb9200               MACH_ATEB9200           ATEB9200                923
-auckland               MACH_AUCKLAND           AUCKLAND                924
-ak3220m                        MACH_AK3320M            AK3320M                 925
-duramax                        MACH_DURAMAX            DURAMAX                 926
-n35                    MACH_N35                N35                     927
-pronghorn              MACH_PRONGHORN          PRONGHORN               928
-fundy                  MACH_FUNDY              FUNDY                   929
-logicpd_pxa270         MACH_LOGICPD_PXA270     LOGICPD_PXA270          930
-cpu777                 MACH_CPU777             CPU777                  931
-simicon9201            MACH_SIMICON9201        SIMICON9201             932
-leap2_hpm              MACH_LEAP2_HPM          LEAP2_HPM               933
-cm922txa10             MACH_CM922TXA10         CM922TXA10              934
-sandgate               MACH_PXA                PXA                     935
-sandgate2              MACH_SANDGATE2          SANDGATE2               936
-sandgate2g             MACH_SANDGATE2G         SANDGATE2G              937
-sandgate2p             MACH_SANDGATE2P         SANDGATE2P              938
-fred_jack              MACH_FRED_JACK          FRED_JACK               939
-ttg_color1             MACH_TTG_COLOR1         TTG_COLOR1              940
-nxeb500hmi             MACH_NXEB500HMI         NXEB500HMI              941
-netdcu8                        MACH_NETDCU8            NETDCU8                 942
-ml675050_cpu_boa       MACH_ML675050_CPU_BOA   ML675050_CPU_BOA        943
-ng_fvx538              MACH_NG_FVX538          NG_FVX538               944
-ng_fvs338              MACH_NG_FVS338          NG_FVS338               945
-pnx4103                        MACH_PNX4103            PNX4103                 946
-hesdb                  MACH_HESDB              HESDB                   947
-xsilo                  MACH_XSILO              XSILO                   948
-espresso               MACH_ESPRESSO           ESPRESSO                949
-emlc                   MACH_EMLC               EMLC                    950
-sisteron               MACH_SISTERON           SISTERON                951
-rx1950                 MACH_RX1950             RX1950                  952
-tsc_venus              MACH_TSC_VENUS          TSC_VENUS               953
-ds101j                 MACH_DS101J             DS101J                  954
-mxc30030ads            MACH_MXC30030ADS        MXC30030ADS             955
-fujitsu_wimaxsoc       MACH_FUJITSU_WIMAXSOC   FUJITSU_WIMAXSOC        956
-dualpcmodem            MACH_DUALPCMODEM        DUALPCMODEM             957
-gesbc9312              MACH_GESBC9312          GESBC9312               958
-htcapache              MACH_HTCAPACHE          HTCAPACHE               959
-ixdp435                        MACH_IXDP435            IXDP435                 960
-catprovt100            MACH_CATPROVT100        CATPROVT100             961
-picotux1xx             MACH_PICOTUX1XX         PICOTUX1XX              962
-picotux2xx             MACH_PICOTUX2XX         PICOTUX2XX              963
-dsmg600                        MACH_DSMG600            DSMG600                 964
-empc2                  MACH_EMPC2              EMPC2                   965
-ventura                        MACH_VENTURA            VENTURA                 966
-phidget_sbc            MACH_PHIDGET_SBC        PHIDGET_SBC             967
-ij3k                   MACH_IJ3K               IJ3K                    968
-pisgah                 MACH_PISGAH             PISGAH                  969
-omap_fsample           MACH_OMAP_FSAMPLE       OMAP_FSAMPLE            970
-sg720                  MACH_SG720              SG720                   971
-redfox                 MACH_REDFOX             REDFOX                  972
-mysh_ep9315_1          MACH_MYSH_EP9315_1      MYSH_EP9315_1           973
-tpf106                 MACH_TPF106             TPF106                  974
-at91rm9200kg           MACH_AT91RM9200KG       AT91RM9200KG            975
-rcmt2                  MACH_SLEDB              SLEDB                   976
-ontrack                        MACH_ONTRACK            ONTRACK                 977
-pm1200                 MACH_PM1200             PM1200                  978
-ess24562               MACH_ESS24XXX           ESS24XXX                979
-coremp7                        MACH_COREMP7            COREMP7                 980
-nexcoder_6446          MACH_NEXCODER_6446      NEXCODER_6446           981
-stvc8380               MACH_STVC8380           STVC8380                982
-teklynx                        MACH_TEKLYNX            TEKLYNX                 983
-carbonado              MACH_CARBONADO          CARBONADO               984
-sysmos_mp730           MACH_SYSMOS_MP730       SYSMOS_MP730            985
-snapper_cl15           MACH_SNAPPER_CL15       SNAPPER_CL15            986
-pgigim                 MACH_PGIGIM             PGIGIM                  987
-ptx9160p2              MACH_PTX9160P2          PTX9160P2               988
-dcore1                 MACH_DCORE1             DCORE1                  989
-victorpxa              MACH_VICTORPXA          VICTORPXA               990
-mx2dtb                 MACH_MX2DTB             MX2DTB                  991
-pxa_irex_er0100                MACH_PXA_IREX_ER0100    PXA_IREX_ER0100         992
-omap_palmz71           MACH_OMAP_PALMZ71       OMAP_PALMZ71            993
-bartec_deg             MACH_BARTEC_DEG         BARTEC_DEG              994
-hw50251                        MACH_HW50251            HW50251                 995
-ibox                   MACH_IBOX               IBOX                    996
-atlaslh7a404           MACH_ATLASLH7A404       ATLASLH7A404            997
-pt2026                 MACH_PT2026             PT2026                  998
-htcalpine              MACH_HTCALPINE          HTCALPINE               999
-bartec_vtu             MACH_BARTEC_VTU         BARTEC_VTU              1000
-vcoreii                        MACH_VCOREII            VCOREII                 1001
-pdnb3                  MACH_PDNB3              PDNB3                   1002
-htcbeetles             MACH_HTCBEETLES         HTCBEETLES              1003
-s3c6400                        MACH_S3C6400            S3C6400                 1004
-s3c2443                        MACH_S3C2443            S3C2443                 1005
-omap_ldk               MACH_OMAP_LDK           OMAP_LDK                1006
-smdk2460               MACH_SMDK2460           SMDK2460                1007
-smdk2440               MACH_SMDK2440           SMDK2440                1008
-smdk2412               MACH_SMDK2412           SMDK2412                1009
-webbox                 MACH_WEBBOX             WEBBOX                  1010
-cwwndp                 MACH_CWWNDP             CWWNDP                  1011
-i839                   MACH_DRAGON             DRAGON                  1012
-opendo_cpu_board       MACH_OPENDO_CPU_BOARD   OPENDO_CPU_BOARD        1013
-ccm2200                        MACH_CCM2200            CCM2200                 1014
-etwarm                 MACH_ETWARM             ETWARM                  1015
-m93030                 MACH_M93030             M93030                  1016
-cc7u                   MACH_CC7U               CC7U                    1017
-mtt_ranger             MACH_MTT_RANGER         MTT_RANGER              1018
-nexus                  MACH_NEXUS              NEXUS                   1019
-desman                 MACH_DESMAN             DESMAN                  1020
-bkde303                        MACH_BKDE303            BKDE303                 1021
-smdk2413               MACH_SMDK2413           SMDK2413                1022
-aml_m7200              MACH_AML_M7200          AML_M7200               1023
-aml_m5900              MACH_AML_M5900          AML_M5900               1024
-sg640                  MACH_SG640              SG640                   1025
-edg79524               MACH_EDG79524           EDG79524                1026
-ai2410                 MACH_AI2410             AI2410                  1027
-ixp465                 MACH_IXP465             IXP465                  1028
-balloon3               MACH_BALLOON3           BALLOON3                1029
-heins                  MACH_HEINS              HEINS                   1030
-mpluseva               MACH_MPLUSEVA           MPLUSEVA                1031
-rt042                  MACH_RT042              RT042                   1032
-cwiem                  MACH_CWIEM              CWIEM                   1033
-cm_x270                        MACH_CM_X270            CM_X270                 1034
-cm_x255                        MACH_CM_X255            CM_X255                 1035
-esh_at91               MACH_ESH_AT91           ESH_AT91                1036
-sandgate3              MACH_SANDGATE3          SANDGATE3               1037
-primo                  MACH_PRIMO              PRIMO                   1038
-gemstone               MACH_GEMSTONE           GEMSTONE                1039
-pronghorn_metro                MACH_PRONGHORNMETRO     PRONGHORNMETRO          1040
-sidewinder             MACH_SIDEWINDER         SIDEWINDER              1041
-picomod1               MACH_PICOMOD1           PICOMOD1                1042
-sg590                  MACH_SG590              SG590                   1043
-akai9307               MACH_AKAI9307           AKAI9307                1044
-fontaine               MACH_FONTAINE           FONTAINE                1045
-wombat                 MACH_WOMBAT             WOMBAT                  1046
-acq300                 MACH_ACQ300             ACQ300                  1047
-mod_270                        MACH_MOD_270            MOD_270                 1048
-vmc_vc0820             MACH_VC0820             VC0820                  1049
-ani_aim                        MACH_ANI_AIM            ANI_AIM                 1050
-jellyfish              MACH_JELLYFISH          JELLYFISH               1051
-amanita                        MACH_AMANITA            AMANITA                 1052
-vlink                  MACH_VLINK              VLINK                   1053
-dexflex                        MACH_DEXFLEX            DEXFLEX                 1054
-eigen_ttq              MACH_EIGEN_TTQ          EIGEN_TTQ               1055
-arcom_titan            MACH_ARCOM_TITAN        ARCOM_TITAN             1056
-tabla                  MACH_TABLA              TABLA                   1057
-mdirac3                        MACH_MDIRAC3            MDIRAC3                 1058
-mrhfbp2                        MACH_MRHFBP2            MRHFBP2                 1059
-at91rm9200rb           MACH_AT91RM9200RB       AT91RM9200RB            1060
-ani_apm                        MACH_ANI_APM            ANI_APM                 1061
-ella1                  MACH_ELLA1              ELLA1                   1062
-inhand_pxa27x          MACH_INHAND_PXA27X      INHAND_PXA27X           1063
-inhand_pxa25x          MACH_INHAND_PXA25X      INHAND_PXA25X           1064
-empos_xm               MACH_EMPOS_XM           EMPOS_XM                1065
-empos                  MACH_EMPOS              EMPOS                   1066
-empos_tiny             MACH_EMPOS_TINY         EMPOS_TINY              1067
-empos_sm               MACH_EMPOS_SM           EMPOS_SM                1068
-egret                  MACH_EGRET              EGRET                   1069
-ostrich                        MACH_OSTRICH            OSTRICH                 1070
-n50                    MACH_N50                N50                     1071
-ecbat91                        MACH_ECBAT91            ECBAT91                 1072
-stareast               MACH_STAREAST           STAREAST                1073
-dspg_dw                        MACH_DSPG_DW            DSPG_DW                 1074
-onearm                 MACH_ONEARM             ONEARM                  1075
-mrg110_6               MACH_MRG110_6           MRG110_6                1076
-wrt300nv2              MACH_WRT300NV2          WRT300NV2               1077
-xm_bulverde            MACH_XM_BULVERDE        XM_BULVERDE             1078
-msm6100                        MACH_MSM6100            MSM6100                 1079
-eti_b1                 MACH_ETI_B1             ETI_B1                  1080
-za9l_series            MACH_ZILOG_ZA9L         ZILOG_ZA9L              1081
-bit2440                        MACH_BIT2440            BIT2440                 1082
-nbi                    MACH_NBI                NBI                     1083
-smdk2443               MACH_SMDK2443           SMDK2443                1084
-vdavinci               MACH_VDAVINCI           VDAVINCI                1085
-atc6                   MACH_ATC6               ATC6                    1086
-multmdw                        MACH_MULTMDW            MULTMDW                 1087
-mba2440                        MACH_MBA2440            MBA2440                 1088
-ecsd                   MACH_ECSD               ECSD                    1089
-zire31                 MACH_ZIRE31             ZIRE31                  1090
-fsg                    MACH_FSG                FSG                     1091
-razor101               MACH_RAZOR101           RAZOR101                1092
-opera_tdm              MACH_OPERA_TDM          OPERA_TDM               1093
-comcerto               MACH_COMCERTO           COMCERTO                1094
-tb0319                 MACH_TB0319             TB0319                  1095
-kws8000                        MACH_KWS8000            KWS8000                 1096
-b2                     MACH_B2                 B2                      1097
-lcl54                  MACH_LCL54              LCL54                   1098
-at91sam9260ek          MACH_AT91SAM9260EK      AT91SAM9260EK           1099
diff --git a/meta/packages/linux/linux-cmx270-2.6.17/mtd_fixes-r0.patch b/meta/packages/linux/linux-cmx270-2.6.17/mtd_fixes-r0.patch
deleted file mode 100644 (file)
index d77e9d8..0000000
+++ /dev/null
@@ -1,599 +0,0 @@
-Index: linux-2.6.17/drivers/mtd/nand/cm-x270.c
-===================================================================
---- linux-2.6.17.orig/drivers/mtd/nand/cm-x270.c       2006-07-18 15:40:10.000000000 +0100
-+++ linux-2.6.17/drivers/mtd/nand/cm-x270.c    2006-07-19 15:35:18.000000000 +0100
-@@ -1,7 +1,13 @@
- /*
-- * drivers/mtd/nand/cm-x270.c
-+ *  linux/drivers/mtd/nand/cmx270-nand.c
-+ *
-+ *  Copyright (C) 2006 Compulab, Ltd.
-+ *  Mike Rapoport <mike@compulab.co.il>
-+ *
-+ *  Derived from drivers/mtd/nand/h1910.c
-+ *       Copyright (C) 2002 Marius Gröger (mag@sysgo.de)
-+ *       Copyright (c) 2001 Thomas Gleixner (gleixner@autronix.de)
-  *
-- * Copyright (c) 2006, 8D Technologies inc.
-  *
-  * 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
-@@ -9,397 +15,269 @@
-  *
-  *  Overview:
-  *   This is a device driver for the NAND flash device found on the
-- *   cm-x270 compulab SBC.
-- *
-- *  Changelog:
-- *  - April 2006, Raphael Assenat <raph@8d.com>:
-- *    Creation of the driver.
-+ *   CM-X270 board.
-  */
--#include <linux/delay.h>
-+#include <linux/slab.h>
-+#include <linux/init.h>
-+#include <linux/module.h>
- #include <linux/mtd/mtd.h>
- #include <linux/mtd/nand.h>
- #include <linux/mtd/partitions.h>
--#include <asm/hardware.h>
-+
- #include <asm/io.h>
-+#include <asm/irq.h>
-+
-+#include <asm/arch/hardware.h>
- #include <asm/arch/pxa-regs.h>
--#include <asm/arch/cm-x270.h>
-+#define GPIO_NAND_CS  (11)
-+#define GPIO_NAND_RB  (89)
--static struct mtd_info *cmx270_mtd = NULL;
--static void *cmx270_nand_io_base;
--#define OFFSET_BASE   0
--#define OFFSET_CLE    4
--#define OFFSET_ALE    8
--
--#define DEFAULT_NUM_PARTITIONS        1
--static int nr_partitions;
--static struct mtd_partition cmx270_default_partition_info[] = {
--      {
--      .name = "rootfs",
--      .offset = 0,
--      .size = MTDPART_SIZ_FULL,
--      },
--};
-+/* This macro needed to ensure in-order operation of GPIO and local
-+ * bus. Without both asm command and dummy uncached read there're
-+ * states when NAND access is broken. I've looked for such macro(s) in
-+ * include/asm-arm but found nothing approptiate.
-+ * dmac_clean_range is close, but is makes cache invalidation
-+ * unnecessary here and it cannot be used in module
-+ */
-+#define DRAIN_WB() \
-+      do { \
-+              unsigned char dummy; \
-+              asm volatile ("mcr p15, 0, r0, c7, c10, 4":::"r0"); \
-+              dummy=*((unsigned char*)UNCACHED_ADDR); \
-+      } while(0)
--static void cmx270_nand_hwcontrol(struct mtd_info *mtd, int cmd)
--{
--      udelay(1);
--      switch(cmd)
-+/* MTD structure for CM-X270 board */
-+static struct mtd_info *cmx270_nand_mtd;
-+
-+/* remaped IO address of the device */
-+static void __iomem *cmx270_nand_io;
-+
-+/*
-+ * Define static partitions for flash device
-+ */
-+static struct mtd_partition partition_info[] = {
-       {
--              case NAND_CTL_SETNCE:
--                      GPCR(CM_X270_GPIO_NAND_CS) = GPIO_bit(CM_X270_GPIO_NAND_CS);
--                      break;
--              case NAND_CTL_CLRNCE:
--                      GPSR(CM_X270_GPIO_NAND_CS) = GPIO_bit(CM_X270_GPIO_NAND_CS);
--                      break;
-+              .name   = "cmx270-0",
-+              .offset = 0,
-+              .size   = MTDPART_SIZ_FULL
-       }
--      udelay(1);
--}
--
--static int cmx270_nand_device_ready(struct mtd_info *mtd)
--{
--      /* I was getting ecc errors on reads, but adding this delay
--         made the problem disappear. There is probably a timing 
--         issue somewhere. */ 
--      //ndelay (500);
--      udelay (25);
-+};
-+#define NUM_PARTITIONS (ARRAY_SIZE(partition_info))
--      return GPLR(CM_X270_GPIO_NAND_RB) & GPIO_bit(CM_X270_GPIO_NAND_RB);
--}
-+const char *part_probes[] = { "cmdlinepart", NULL };
--static u_char cmx270_nand_read_byte(struct mtd_info *mtd)
-+static        u_char cmx270_read_byte(struct mtd_info *mtd)
- {
-       struct nand_chip *this = mtd->priv;
--//    unsigned long raw = readl(this->IO_ADDR_R);
--      unsigned char res = ( readl(this->IO_ADDR_R) >> 16 ) & 0xff;
--      return res;
--}
--static void cmx270_nand_write_byte(struct mtd_info *mtd, u_char byte)
--{
--      struct nand_chip *this = mtd->priv;
--      writel( (byte<<16), this->IO_ADDR_W );
--      udelay(1);
-+      return (readl(this->IO_ADDR_R) >> 16);
- }
--static void cmx270_nand_write_buf(struct mtd_info *mtd, const u_char *buf, int len)
-+static void cmx270_write_buf(struct mtd_info *mtd, const u_char *buf, int len)
- {
-       int i;
-       struct nand_chip *this = mtd->priv;
-       for (i=0; i<len; i++)
--              writel((buf[i]<<16), this->IO_ADDR_W);
--      udelay(1);
-+              writel((*buf++ << 16), this->IO_ADDR_W);
- }
--static void cmx270_nand_read_buf(struct mtd_info *mtd, u_char *buf, int len)
-+static void cmx270_read_buf(struct mtd_info *mtd, u_char *buf, int len)
- {
-       int i;
-       struct nand_chip *this = mtd->priv;
-       for (i=0; i<len; i++)
--              buf[i] = (readl(this->IO_ADDR_R) >> 16 ) & 0xff;
--      udelay(1);
-+              *buf++ = readl(this->IO_ADDR_R) >> 16;
- }
--static int cmx270_nand_verify_buf(struct mtd_info *mtd, const u_char *buf, int len)
-+static int cmx270_verify_buf(struct mtd_info *mtd, const u_char *buf, int len)
- {
-       int i;
-       struct nand_chip *this = mtd->priv;
-       for (i=0; i<len; i++)
--              if (buf[i] != ((readl(this->IO_ADDR_R) >> 16) & 0xff))
-+              if (buf[i] != (u_char)(readl(this->IO_ADDR_R) >> 16))
-                       return -EFAULT;
--      udelay(1);
-       return 0;
- }
--static void cmx270_nand_write_ALE(struct mtd_info *mtd, const u_char byte)
-+static inline void nand_cs_on(void)
- {
--      struct nand_chip *this = mtd->priv;
--      writel( byte << 16 , this->IO_ADDR_W + OFFSET_ALE);
--      udelay(1);
-+      GPCR(GPIO_NAND_CS) = GPIO_bit(GPIO_NAND_CS);
- }
--static void cmx270_nand_write_CLE(struct mtd_info *mtd, const u_char byte)
-+static void nand_cs_off(void)
- {
--      struct nand_chip *this = mtd->priv;
--      writel( byte << 16 , this->IO_ADDR_W + OFFSET_CLE);
--      udelay(1);
-+      DRAIN_WB();
-+
-+      GPSR(GPIO_NAND_CS) = GPIO_bit(GPIO_NAND_CS);
- }
--/* Same as nand_core:nand_command() but with different memory
-- * addresses for writing to ALE and CLE and without 16 bit support.
-+/*
-+ *    hardware specific access to control-lines
-  */
--static void cmx270_nand_command(struct mtd_info *mtd, unsigned command, int column, int page_addr)
-+static void cmx270_hwcontrol(struct mtd_info *mtd, int cmd)
- {
--      register struct nand_chip *this = mtd->priv;
-+       struct nand_chip* this = (struct nand_chip *) (mtd->priv);
-+       unsigned int nandaddr = (unsigned int)this->IO_ADDR_R;
--//    printk("cmd: 0x%02x col: 0x%x page_addr: 0x%x\n",
--//                    command, column, page_addr);
--      
--      if (command == NAND_CMD_SEQIN) {
--              int readcmd;
--
--              if (column >= mtd->oobblock) {
--                      /* OOB area */
--                      column -= mtd->oobblock;
--                      readcmd = NAND_CMD_READOOB;
--              } else if (column < 256) {
--                      /* First 256 bytes --> READ0 */
--                      readcmd = NAND_CMD_READ0;
--              } else {
--                      column -= 256;
--                      readcmd = NAND_CMD_READ1;
--              }
--              cmx270_nand_write_CLE(mtd, readcmd);
--      }
--      cmx270_nand_write_CLE(mtd, command);
-+       DRAIN_WB();
--      if (column != -1 || page_addr != -1) {
--              
--              /* Serially input address */
--              if (column != -1) {
--                      cmx270_nand_write_ALE(mtd, column);
--              }
--              if (page_addr != -1) {
--                      cmx270_nand_write_ALE(mtd, (unsigned char) (page_addr & 0xff));
--                      cmx270_nand_write_ALE(mtd, (unsigned char) ((page_addr >> 8) & 0xff));
--                      /* One more address cycle for devices > 32MiB */
--                      if (this->chipsize > (32 << 20))
--                              cmx270_nand_write_ALE(mtd, (unsigned char) ((page_addr >> 16) & 0x0f));
--              }
--      }
-+       switch(cmd) {
--      /*
--       * program and erase have their own busy handlers
--       * status and sequential in needs no delay
--       */
--      switch (command) {
--              
--      case NAND_CMD_PAGEPROG:
--      case NAND_CMD_ERASE1:
--      case NAND_CMD_ERASE2:
--      case NAND_CMD_SEQIN:
--      case NAND_CMD_STATUS:
--              return;
--
--      case NAND_CMD_RESET:
--              if (this->dev_ready)
--                      break;
--              udelay(this->chip_delay);
--              cmx270_nand_write_CLE(mtd, NAND_CMD_STATUS);
--              while ( !(this->read_byte(mtd) & 0x40));
--              return;
--              
--      /* This applies to read commands */     
--      default:
--              /*
--               * If we don't have access to the busy pin, we apply the given
--               * command delay
--               */
--              if (!this->dev_ready) {
--                      udelay(this->chip_delay);
--                      return;
--              }
--      }
--      
--      /* Apply this short delay always to ensure that we do wait tWB in
--       * any case on any machine. */
--      ndelay (100);
--      /* wait until command is processed */
--      while (!this->dev_ready(mtd));
--      ndelay (100);
-+       case NAND_CTL_SETCLE:
-+               nandaddr |= (1 << 2);
-+               this->IO_ADDR_R = (void __iomem*)nandaddr;
-+               this->IO_ADDR_W = (void __iomem*)nandaddr;
-+               break;
-+       case NAND_CTL_CLRCLE:
-+               nandaddr &= ~(1 << 2);
-+               this->IO_ADDR_R = (void __iomem*)nandaddr;
-+               this->IO_ADDR_W = (void __iomem*)nandaddr;
-+               break;
-+
-+       case NAND_CTL_SETALE:
-+               nandaddr |= (1 << 3);
-+               this->IO_ADDR_R = (void __iomem*)nandaddr;
-+               this->IO_ADDR_W = (void __iomem*)nandaddr;
-+               break;
-+       case NAND_CTL_CLRALE:
-+               nandaddr &= ~(1 << 3);
-+               this->IO_ADDR_R = (void __iomem*)nandaddr;
-+               this->IO_ADDR_W = (void __iomem*)nandaddr;
-+               break;
-+
-+       case NAND_CTL_SETNCE:
-+               nand_cs_on();
-+               break;
-+       case NAND_CTL_CLRNCE:
-+               nand_cs_off();
-+               break;
-+       }
-+
-+       DRAIN_WB();
- }
--/* Same as nand_core:nand_command_lp() but with different memory
-- * addresses for writing to ALE and CLE and without 16 bit support.
-+
-+/*
-+ *    read device ready pin
-  */
--static void cmx270_nand_command_lp (struct mtd_info *mtd, unsigned command, int column, int page_addr)
-+static int cmx270_device_ready(struct mtd_info *mtd)
- {
--      register struct nand_chip *this = mtd->priv;
--
--      /* Emulate NAND_CMD_READOOB */
--      if (command == NAND_CMD_READOOB) {
--              column += mtd->oobblock;
--              command = NAND_CMD_READ0;
--//            printk("Read OOB: column: $%x, page: $%x\n", column, page_addr);
--      }
--              
--      /* Write out the command to the device. */
--      cmx270_nand_write_CLE(mtd, command);    
--
--      if (column != -1 || page_addr != -1) {
--
--              /* Serially input address */
--              if (column != -1) {
--                      cmx270_nand_write_ALE(mtd, column & 0xff);
--                      cmx270_nand_write_ALE(mtd, column >> 8);
--                      if ((column >> 8) > 0xf) {
--                              printk("out of range column\n");
--                      }
--              }       
--              if (page_addr != -1) {
--                      cmx270_nand_write_ALE(mtd, (unsigned char) (page_addr & 0xff));
--                      cmx270_nand_write_ALE(mtd, (unsigned char) ((page_addr >> 8) & 0xff));
--                      /* One more address cycle for devices > 128MiB */
--                      if (this->chipsize > (128 << 20)) {
--                              cmx270_nand_write_ALE(mtd, (unsigned char) ((page_addr >> 16) & 0xff));
--                      }
--              }
--      }
-+      DRAIN_WB();
--      udelay(1);
--      
--      /* 
--       * program and erase have their own busy handlers 
--       * status and sequential in needs no delay
--      */
--      switch (command) {
--                      
--      case NAND_CMD_CACHEDPROG:
--      case NAND_CMD_PAGEPROG:
--      case NAND_CMD_ERASE1:
--      case NAND_CMD_ERASE2:
--      case NAND_CMD_SEQIN:
--      case NAND_CMD_STATUS:
--      case NAND_CMD_DEPLETE1:
--              return;
--
--      /* 
--       * read error status commands require only a short delay
--       */
--      case NAND_CMD_STATUS_ERROR:
--      case NAND_CMD_STATUS_ERROR0:
--      case NAND_CMD_STATUS_ERROR1:
--      case NAND_CMD_STATUS_ERROR2:
--      case NAND_CMD_STATUS_ERROR3:
--              udelay(this->chip_delay);
--              return;
--
--      case NAND_CMD_RESET:
--              if (this->dev_ready)    
--                      break;
--              udelay(this->chip_delay);
--              cmx270_nand_write_CLE(mtd, NAND_CMD_STATUS);
--              while ( !(this->read_byte(mtd) & NAND_STATUS_READY));
--              return;
--
--      case NAND_CMD_READ0:
--              /* Write out the start read command */
--              cmx270_nand_write_CLE(mtd, NAND_CMD_READSTART);
--              /* Fall through into ready check */
--              
--      /* This applies to read commands */     
--      default:
--              /* 
--               * If we don't have access to the busy pin, we apply the given
--               * command delay
--              */
--              if (!this->dev_ready) {
--                      udelay (this->chip_delay);
--                      return;
--              }       
--      }
--
--      /* Apply this short delay always to ensure that we do wait tWB in
--       * any case on any machine. */
--      ndelay (100);
--      /* wait until command is processed */
--      while (!this->dev_ready(mtd));
-+      return (GPLR(GPIO_NAND_RB) & GPIO_bit(GPIO_NAND_RB));
- }
--
--#ifdef CONFIG_MTD_PARTITIONS
--const char *part_probes[] = { "cmdlinepart", NULL };
--#endif
--
--int __init cmx270_nand_init(void)
-+/*
-+ * Main initialization routine
-+ */
-+static int __devinit cmx270_init(void)
- {
-       struct nand_chip *this;
--      struct mtd_partition* cmx270_partition_info;
--      int err = 0;
--
--      pxa_gpio_mode(CM_X270_GPIO_NAND_RB);
-+      const char *part_type;
-+      struct mtd_partition *mtd_parts;
-+      int mtd_parts_nb = 0;
-+      int ret;
--      GPSR(CM_X270_GPIO_NAND_CS) = GPIO_bit(CM_X270_GPIO_NAND_CS);
--      pxa_gpio_mode(CM_X270_GPIO_NAND_CS | GPIO_OUT);
--      
-       /* Allocate memory for MTD device structure and private data */
--      cmx270_mtd = kmalloc(sizeof(struct mtd_info) + sizeof(struct nand_chip),
--                                      GFP_KERNEL);
--      if (!cmx270_mtd) {
--              printk(KERN_WARNING "Unable to allocate cm-x270 NAND mtd device structure.\n");
--              err = -ENOMEM;
--              goto out;
-+      cmx270_nand_mtd = kzalloc(sizeof(struct mtd_info) +
-+                                sizeof(struct nand_chip),
-+                                GFP_KERNEL);
-+      if (!cmx270_nand_mtd) {
-+              printk("Unable to allocate CM-X270 NAND MTD device structure.\n");
-+              return -ENOMEM;
-       }
--      /* map physical address */
--      cmx270_nand_io_base = ioremap(CM_X270_NAND_PHYS, 0x100);
--      if (!cmx270_nand_io_base) {
--              err = -EIO;
--              goto out_mtd;
-+      cmx270_nand_io = ioremap(PXA_CS1_PHYS, 12);
-+      if (!cmx270_nand_io) {
-+              printk("Unable to ioremap NAND device\n");
-+              ret = -EINVAL;
-+              goto err1;
-       }
-       /* Get pointer to private data */
--      this = (struct nand_chip *)(&cmx270_mtd[1]);
--      
--      /* Initialize structures */
--      memset((char *) cmx270_mtd, 0, sizeof(struct mtd_info));
--      memset((char *) this, 0, sizeof(struct nand_chip));
-+      this = (struct nand_chip *)(&cmx270_nand_mtd[1]);
-       /* Link the private data with the MTD structure */
--      cmx270_mtd->priv = this;
-+      cmx270_nand_mtd->owner = THIS_MODULE;
-+      cmx270_nand_mtd->priv = this;
--      this->IO_ADDR_R = cmx270_nand_io_base;
--      this->IO_ADDR_W = cmx270_nand_io_base;
--      this->read_byte = cmx270_nand_read_byte;
--      this->write_byte = cmx270_nand_write_byte;
--      this->write_buf = cmx270_nand_write_buf;
--      this->read_buf = cmx270_nand_read_buf;
--      this->verify_buf = cmx270_nand_verify_buf;
--      this->hwcontrol = cmx270_nand_hwcontrol;
--      this->dev_ready = cmx270_nand_device_ready;
--      this->cmdfunc = cmx270_nand_command_lp;
--      this->chip_delay = 25;
-+      /* insert callbacks */
-+      this->IO_ADDR_R = cmx270_nand_io;
-+      this->IO_ADDR_W = cmx270_nand_io;
-+      this->hwcontrol = cmx270_hwcontrol;
-+      this->dev_ready = cmx270_device_ready;
-+
-+      /* 15 us command delay time */
-+      this->chip_delay = 20;
-       this->eccmode = NAND_ECC_SOFT;
--      /* Scan to find existance of the device */
--      if (nand_scan(cmx270_mtd, 1)) {
--              err = -ENXIO;
--              goto out_ior;
-+      /* read/write functions */
-+      this->read_byte = cmx270_read_byte;
-+      this->read_buf = cmx270_read_buf;
-+      this->write_buf = cmx270_write_buf;
-+      this->verify_buf = cmx270_verify_buf;
-+
-+      /* Scan to find existence of the device */
-+      if (nand_scan (cmx270_nand_mtd, 1)) {
-+              printk(KERN_NOTICE "No NAND device\n");
-+              ret = -ENXIO;
-+              goto err2;
-+      }
-+
-+#ifdef CONFIG_MTD_CMDLINE_PARTS
-+      mtd_parts_nb = parse_mtd_partitions(cmx270_nand_mtd, part_probes,
-+                                          &mtd_parts, 0);
-+      if (mtd_parts_nb > 0)
-+              part_type = "command line";
-+      else
-+              mtd_parts_nb = 0;
-+#endif
-+      if (!mtd_parts_nb) {
-+              mtd_parts = partition_info;
-+              mtd_parts_nb = NUM_PARTITIONS;
-+              part_type = "static";
-       }
-       /* Register the partitions */
--      cmx270_mtd->name = "cmx270-mtd";
--      nr_partitions = parse_mtd_partitions(cmx270_mtd, part_probes, &cmx270_partition_info, 0);
--      if (nr_partitions <= 0) {
--              nr_partitions = DEFAULT_NUM_PARTITIONS;
--              cmx270_partition_info = cmx270_default_partition_info;
--      }
-+      printk(KERN_NOTICE "Using %s partition definition\n", part_type);
-+      ret = add_mtd_partitions(cmx270_nand_mtd, mtd_parts, mtd_parts_nb);
-+      if (ret)
-+              goto err2;
-+
-+      /* Return happy */
-+      return 0;
-+
-+err2:
-+      iounmap(cmx270_nand_io);
-+err1:
-+      kfree(cmx270_nand_mtd);
-+
-+      return ret;
--      add_mtd_partitions(cmx270_mtd, cmx270_partition_info, nr_partitions);
--      
--      goto out;
--      
--out_ior:      
--      iounmap((void*) cmx270_nand_io_base);
--out_mtd:      
--      kfree(cmx270_mtd);
--out:
--      return err;
- }
--module_init(cmx270_nand_init);
-+module_init(cmx270_init);
--static void __exit cmx270_nand_cleanup(void)
-+/*
-+ * Clean up routine
-+ */
-+static void __devexit cmx270_cleanup(void)
- {
--      nand_release(cmx270_mtd);
--      kfree(cmx270_mtd);      
-+      /* Release resources, unregister device */
-+      nand_release(cmx270_nand_mtd);
-+
-+      iounmap(cmx270_nand_io);
-+
-+      /* Free the MTD device structure */
-+      kfree (cmx270_nand_mtd);
- }
-+module_exit(cmx270_cleanup);
- MODULE_LICENSE("GPL");
--MODULE_AUTHOR("Raphael Assenat <raph@8d.com>");
--MODULE_DESCRIPTION("NAND flash driver for cm-x270 boards");
--
-+MODULE_AUTHOR("Mike Rapoport <mike@compulab.co.il>");
-+MODULE_DESCRIPTION("NAND flash driver for Compulab CM-X270 Module");
diff --git a/meta/packages/linux/linux-cmx270-2.6.17/mtd_fixes1-r0.patch b/meta/packages/linux/linux-cmx270-2.6.17/mtd_fixes1-r0.patch
deleted file mode 100644 (file)
index da00e1f..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-Index: linux-2.6.17/drivers/mtd/nand/cm-x270.c
-===================================================================
---- linux-2.6.17.orig/drivers/mtd/nand/cm-x270.c       2006-07-19 16:47:08.000000000 +0100
-+++ linux-2.6.17/drivers/mtd/nand/cm-x270.c    2006-07-19 16:55:23.000000000 +0100
-@@ -184,6 +184,10 @@
-       int mtd_parts_nb = 0;
-       int ret;
-+      pxa_gpio_mode(GPIO_NAND_RB);
-+      GPSR(GPIO_NAND_CS) = GPIO_bit(GPIO_NAND_CS);
-+      pxa_gpio_mode(GPIO_NAND_CS | GPIO_OUT);
-+
-       /* Allocate memory for MTD device structure and private data */
-       cmx270_nand_mtd = kzalloc(sizeof(struct mtd_info) +
-                                 sizeof(struct nand_chip),
diff --git a/meta/packages/linux/linux-cmx270-rp-2.6.17/defconfig b/meta/packages/linux/linux-cmx270-rp-2.6.17/defconfig
deleted file mode 100644 (file)
index d41dd2c..0000000
+++ /dev/null
@@ -1,1485 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.17
-# Mon Jul  3 17:36:37 2006
-#
-CONFIG_ARM=y
-CONFIG_MMU=y
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_HARDIRQS_SW_RESEND=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_ARCH_MTD_XIP=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="-cm-x270"
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-# CONFIG_POSIX_MQUEUE is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-# CONFIG_AUDIT is not set
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-# CONFIG_RELAY is not set
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_UID16=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_EMBEDDED=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_RT_MUTEXES=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SHMEM=y
-CONFIG_SLAB=y
-CONFIG_VM_EVENT_COUNTERS=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=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-# CONFIG_KMOD is not set
-
-#
-# Block layer
-#
-# CONFIG_BLK_DEV_IO_TRACE is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-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 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_FOOTBRIDGE is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_IOP3XX 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_PNX4008 is not set
-CONFIG_ARCH_PXA=y
-# 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
-CONFIG_DMABOUNCE=y
-
-#
-# Intel PXA2xx Implementations
-#
-# CONFIG_ARCH_LUBBOCK is not set
-# CONFIG_MACH_LOGICPD_PXA270 is not set
-# CONFIG_MACH_MAINSTONE is not set
-# CONFIG_ARCH_PXA_IDP is not set
-# CONFIG_PXA_SHARPSL is not set
-# CONFIG_MACH_TRIZEPS4 is not set
-CONFIG_MACH_ARMCORE=y
-CONFIG_CM_X270=y
-# CONFIG_CM_X255 is not set
-CONFIG_CM_X270_ATXBASE=y
-# CONFIG_CM_X270_SB2XX is not set
-CONFIG_PXA27x=y
-CONFIG_IWMMXT=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_TLB_V4WBI=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-CONFIG_XSCALE_PMU=y
-
-#
-# Bus support
-#
-CONFIG_PCI=y
-CONFIG_PCI_HOST_ITE8152=y
-# CONFIG_PCI_DEBUG is not set
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
-CONFIG_PCCARD=y
-# CONFIG_PCMCIA_DEBUG is not set
-CONFIG_PCMCIA=y
-# CONFIG_PCMCIA_LOAD_CIS is not set
-CONFIG_PCMCIA_IOCTL=y
-CONFIG_CARDBUS=y
-
-#
-# PC-card bridges
-#
-CONFIG_YENTA=m
-CONFIG_YENTA_O2=y
-CONFIG_YENTA_RICOH=y
-CONFIG_YENTA_TI=y
-CONFIG_YENTA_ENE_TUNE=y
-CONFIG_YENTA_TOSHIBA=y
-# CONFIG_PD6729 is not set
-# CONFIG_I82092 is not set
-CONFIG_PCMCIA_PXA2XX=m
-CONFIG_PCCARD_NONSTATIC=m
-
-#
-# 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_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,38400 root=/dev/nfs"
-# CONFIG_XIP_KERNEL 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=y
-CONFIG_PM_LEGACY=y
-# CONFIG_PM_DEBUG is not set
-# CONFIG_APM 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_XFRM=y
-# CONFIG_XFRM_USER 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=y
-# 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_DIAG=y
-CONFIG_INET_TCP_DIAG=y
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_BIC=y
-# 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_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
-
-#
-# 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_DEBUG_DRIVER 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=m
-# 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=m
-CONFIG_MTD_BLOCK=m
-# CONFIG_MTD_BLOCK_RO is not set
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-# CONFIG_RFD_FTL 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_SHARP_SL is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_PMC551 is not set
-# 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
-# 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=m
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-# CONFIG_MTD_NAND_H1900 is not set
-CONFIG_MTD_NAND_IDS=m
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_SHARPSL is not set
-CONFIG_MTD_NAND_CM_X270=m
-# 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
-#
-
-#
-# Block devices
-#
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# 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_SX8 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=12000
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-
-#
-# ATA/ATAPI/MFM/RLL support
-#
-CONFIG_IDE=y
-CONFIG_BLK_DEV_IDE=y
-
-#
-# Please see Documentation/ide.txt for help/info on IDE drives
-#
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_BLK_DEV_IDEDISK=y
-CONFIG_IDEDISK_MULTI_MODE=y
-CONFIG_BLK_DEV_IDECS=m
-CONFIG_BLK_DEV_IDECD=m
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_BLK_DEV_IDEFLOPPY is not set
-# CONFIG_BLK_DEV_IDESCSI is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-
-#
-# IDE chipset support/bugfixes
-#
-CONFIG_IDE_GENERIC=y
-# CONFIG_BLK_DEV_IDEPCI is not set
-# CONFIG_IDE_ARM is not set
-CONFIG_BLK_DEV_IDE_CM_X270=m
-# CONFIG_BLK_DEV_IDEDMA is not set
-# CONFIG_IDEDMA_AUTO is not set
-# CONFIG_BLK_DEV_HD is not set
-
-#
-# SCSI device support
-#
-# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=y
-# 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
-
-#
-# SCSI Transport Attributes
-#
-# 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_ISCSI_TCP is not set
-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_3W_9XXX is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_MEGARAID_NEWGEN is not set
-# CONFIG_MEGARAID_LEGACY is not set
-# CONFIG_MEGARAID_SAS is not set
-# CONFIG_SCSI_SATA is not set
-# CONFIG_SCSI_HPTIOP is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_IPS is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_IPR is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-# CONFIG_SCSI_QLA_FC is not set
-# CONFIG_SCSI_LPFC is not set
-# CONFIG_SCSI_DC395x is not set
-# CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_NSP32 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_MD is not set
-
-#
-# Fusion MPT device support
-#
-# CONFIG_FUSION is not set
-# CONFIG_FUSION_SPI is not set
-# CONFIG_FUSION_FC is not set
-# CONFIG_FUSION_SAS is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-# CONFIG_IEEE1394 is not set
-
-#
-# I2O device support
-#
-# CONFIG_I2O 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
-
-#
-# ARCnet devices
-#
-# CONFIG_ARCNET is not set
-
-#
-# PHY device support
-#
-# CONFIG_PHYLIB is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
-CONFIG_NET_ETHERNET=y
-CONFIG_MII=y
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_CASSINI is not set
-# CONFIG_NET_VENDOR_3COM is not set
-CONFIG_SMC91X=y
-CONFIG_DM9000=y
-# CONFIG_SMC911X is not set
-
-#
-# Tulip family network device support
-#
-# CONFIG_NET_TULIP is not set
-# CONFIG_HP100 is not set
-CONFIG_NET_PCI=y
-# CONFIG_PCNET32 is not set
-# CONFIG_AMD8111_ETH is not set
-# CONFIG_ADAPTEC_STARFIRE is not set
-# CONFIG_B44 is not set
-# CONFIG_FORCEDETH is not set
-# CONFIG_DGRS is not set
-# CONFIG_EEPRO100 is not set
-# CONFIG_E100 is not set
-# CONFIG_FEALNX is not set
-# CONFIG_NATSEMI is not set
-# CONFIG_NE2K_PCI is not set
-# CONFIG_8139CP is not set
-CONFIG_8139TOO=m
-# CONFIG_8139TOO_PIO is not set
-# CONFIG_8139TOO_TUNE_TWISTER is not set
-# CONFIG_8139TOO_8129 is not set
-# CONFIG_8139_OLD_RX_RESET is not set
-# CONFIG_SIS900 is not set
-# CONFIG_EPIC100 is not set
-# CONFIG_SUNDANCE is not set
-# CONFIG_TLAN is not set
-# CONFIG_VIA_RHINE is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-# CONFIG_ACENIC is not set
-# CONFIG_DL2K is not set
-# CONFIG_E1000 is not set
-# CONFIG_NS83820 is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_R8169 is not set
-# CONFIG_SIS190 is not set
-# CONFIG_SKGE is not set
-# CONFIG_SKY2 is not set
-# CONFIG_SK98LIN is not set
-# CONFIG_VIA_VELOCITY is not set
-# CONFIG_TIGON3 is not set
-# CONFIG_BNX2 is not set
-
-#
-# Ethernet (10000 Mbit)
-#
-# CONFIG_CHELSIO_T1 is not set
-# CONFIG_IXGB is not set
-# CONFIG_S2IO is not set
-# CONFIG_MYRI10GE is not set
-
-#
-# Token Ring devices
-#
-# CONFIG_TR is not set
-
-#
-# 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_PCMCIA_WAVELAN is not set
-# CONFIG_PCMCIA_NETWAVE is not set
-
-#
-# Wireless 802.11 Frequency Hopping cards support
-#
-# CONFIG_PCMCIA_RAYCS is not set
-
-#
-# Wireless 802.11b ISA/PCI cards support
-#
-# CONFIG_IPW2100 is not set
-# CONFIG_IPW2200 is not set
-# CONFIG_HERMES is not set
-# CONFIG_ATMEL is not set
-
-#
-# Wireless 802.11b Pcmcia/Cardbus cards support
-#
-# CONFIG_AIRO_CS is not set
-# CONFIG_PCMCIA_WL3501 is not set
-
-#
-# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
-#
-# CONFIG_PRISM54 is not set
-# CONFIG_USB_ZD1201 is not set
-# CONFIG_HOSTAP is not set
-# CONFIG_BCM43XX is not set
-CONFIG_NET_WIRELESS=y
-
-#
-# PCMCIA network device support
-#
-CONFIG_NET_PCMCIA=y
-# CONFIG_PCMCIA_3C589 is not set
-# CONFIG_PCMCIA_3C574 is not set
-# CONFIG_PCMCIA_FMVJ18X is not set
-# CONFIG_PCMCIA_PCNET is not set
-# CONFIG_PCMCIA_NMCLAN is not set
-# CONFIG_PCMCIA_SMC91C92 is not set
-# CONFIG_PCMCIA_XIRC2PS is not set
-# CONFIG_PCMCIA_AXNET is not set
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-# CONFIG_NET_FC 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
-
-#
-# 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 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 is not set
-# CONFIG_SERIO_PCIPS2 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 is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=m
-CONFIG_SERIAL_8250_PCI=m
-# CONFIG_SERIAL_8250_CS is not set
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-# CONFIG_SERIAL_8250_EXTENDED is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_PXA=y
-CONFIG_SERIAL_PXA_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_JSM is not set
-CONFIG_UNIX98_PTYS=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=256
-
-#
-# 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_APPLICOM is not set
-
-#
-# Ftape, the floppy tape device driver
-#
-# CONFIG_DRM 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_TELCLOCK is not set
-
-#
-# I2C support
-#
-# CONFIG_I2C is not set
-
-#
-# SPI support
-#
-CONFIG_SPI=y
-# CONFIG_SPI_DEBUG is not set
-CONFIG_SPI_MASTER=y
-
-#
-# SPI Master Controller Drivers
-#
-# CONFIG_SPI_BITBANG is not set
-CONFIG_SPI_PXA2XX=m
-
-#
-# SPI Protocol Masters
-#
-
-#
-# Dallas's 1-wire bus
-#
-
-#
-# Hardware Monitoring support
-#
-# CONFIG_HWMON is not set
-# CONFIG_HWMON_VID is not set
-
-#
-# Misc devices
-#
-
-#
-# Multimedia Capabilities Port drivers
-#
-# CONFIG_UCB1400_TS is not set
-
-#
-# LED devices
-#
-# CONFIG_NEW_LEDS is not set
-
-#
-# LED drivers
-#
-
-#
-# LED Triggers
-#
-
-#
-# Multimedia devices
-#
-# CONFIG_VIDEO_DEV is not set
-CONFIG_VIDEO_V4L2=y
-
-#
-# Digital Video Broadcasting Devices
-#
-# CONFIG_DVB is not set
-# CONFIG_USB_DABUSB is not set
-
-#
-# Graphics support
-#
-CONFIG_FIRMWARE_EDID=y
-CONFIG_FB=y
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# 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
-# CONFIG_FB_CIRRUS is not set
-# CONFIG_FB_PM2 is not set
-# CONFIG_FB_CYBER2000 is not set
-# CONFIG_FB_ASILIANT is not set
-# CONFIG_FB_IMSTT is not set
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_NVIDIA is not set
-# CONFIG_FB_RIVA is not set
-# CONFIG_FB_MATROX is not set
-# CONFIG_FB_RADEON is not set
-# CONFIG_FB_ATY128 is not set
-# CONFIG_FB_ATY is not set
-# CONFIG_FB_SAVAGE is not set
-# CONFIG_FB_SIS is not set
-# CONFIG_FB_NEOMAGIC is not set
-# CONFIG_FB_KYRO is not set
-# CONFIG_FB_3DFX is not set
-# CONFIG_FB_VOODOO1 is not set
-# CONFIG_FB_TRIDENT is not set
-# CONFIG_FB_PXA is not set
-# CONFIG_FB_PXA_PARAMETERS is not set
-CONFIG_FB_MBX=y
-# 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 is not set
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-
-#
-# Logo configuration
-#
-CONFIG_LOGO=y
-CONFIG_LOGO_LINUX_MONO=y
-CONFIG_LOGO_LINUX_VGA16=y
-CONFIG_LOGO_LINUX_CLUT224=y
-# CONFIG_BACKLIGHT_LCD_SUPPORT 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 is not set
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=y
-CONFIG_SND_PCM_OSS=y
-CONFIG_SND_PCM_OSS_PLUGINS=y
-# CONFIG_SND_DYNAMIC_MINORS is not set
-# CONFIG_SND_SUPPORT_OLD_API is not set
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-
-#
-# Generic devices
-#
-CONFIG_SND_AC97_CODEC=y
-CONFIG_SND_AC97_BUS=y
-# CONFIG_SND_DUMMY is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-
-#
-# PCI devices
-#
-# CONFIG_SND_AD1889 is not set
-# CONFIG_SND_ALS300 is not set
-# CONFIG_SND_ALI5451 is not set
-# CONFIG_SND_ATIIXP is not set
-# CONFIG_SND_ATIIXP_MODEM is not set
-# CONFIG_SND_AU8810 is not set
-# CONFIG_SND_AU8820 is not set
-# CONFIG_SND_AU8830 is not set
-# CONFIG_SND_AZT3328 is not set
-# CONFIG_SND_BT87X is not set
-# CONFIG_SND_CA0106 is not set
-# CONFIG_SND_CMIPCI is not set
-# CONFIG_SND_CS4281 is not set
-# CONFIG_SND_CS46XX is not set
-# CONFIG_SND_DARLA20 is not set
-# CONFIG_SND_GINA20 is not set
-# CONFIG_SND_LAYLA20 is not set
-# CONFIG_SND_DARLA24 is not set
-# CONFIG_SND_GINA24 is not set
-# CONFIG_SND_LAYLA24 is not set
-# CONFIG_SND_MONA is not set
-# CONFIG_SND_MIA is not set
-# CONFIG_SND_ECHO3G is not set
-# CONFIG_SND_INDIGO is not set
-# CONFIG_SND_INDIGOIO is not set
-# CONFIG_SND_INDIGODJ is not set
-# CONFIG_SND_EMU10K1 is not set
-# CONFIG_SND_EMU10K1X is not set
-# CONFIG_SND_ENS1370 is not set
-# CONFIG_SND_ENS1371 is not set
-# CONFIG_SND_ES1938 is not set
-# CONFIG_SND_ES1968 is not set
-# CONFIG_SND_FM801 is not set
-# CONFIG_SND_HDA_INTEL is not set
-# CONFIG_SND_HDSP is not set
-# CONFIG_SND_HDSPM is not set
-# CONFIG_SND_ICE1712 is not set
-# CONFIG_SND_ICE1724 is not set
-# CONFIG_SND_INTEL8X0 is not set
-# CONFIG_SND_INTEL8X0M is not set
-# CONFIG_SND_KORG1212 is not set
-# CONFIG_SND_MAESTRO3 is not set
-# CONFIG_SND_MIXART is not set
-# CONFIG_SND_NM256 is not set
-# CONFIG_SND_PCXHR is not set
-# CONFIG_SND_RIPTIDE is not set
-# CONFIG_SND_RME32 is not set
-# CONFIG_SND_RME96 is not set
-# CONFIG_SND_RME9652 is not set
-# CONFIG_SND_SONICVIBES is not set
-# CONFIG_SND_TRIDENT is not set
-# CONFIG_SND_VIA82XX is not set
-# CONFIG_SND_VIA82XX_MODEM is not set
-# CONFIG_SND_VX222 is not set
-# CONFIG_SND_YMFPCI is not set
-
-#
-# ALSA ARM devices
-#
-CONFIG_SND_PXA2XX_PCM=y
-CONFIG_SND_PXA2XX_AC97=y
-
-#
-# USB devices
-#
-# CONFIG_SND_USB_AUDIO is not set
-
-#
-# PCMCIA devices
-#
-# CONFIG_SND_VXPOCKET is not set
-# CONFIG_SND_PDAUDIOCF is not set
-
-#
-# Open Sound System
-#
-# CONFIG_SOUND_PRIME is not set
-
-#
-# USB support
-#
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-# CONFIG_USB_BANDWIDTH is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-# CONFIG_USB_SUSPEND is not set
-# CONFIG_USB_OTG is not set
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_EHCI_HCD is not set
-# CONFIG_USB_ISP116X_HCD is not set
-CONFIG_USB_OHCI_HCD=y
-# CONFIG_USB_OHCI_BIG_ENDIAN is not set
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-# CONFIG_USB_UHCI_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_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_LIBUSUAL is not set
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=y
-CONFIG_USB_HIDINPUT=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_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 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_AUERSWALD is not set
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_LEGOTOWER is not set
-# CONFIG_USB_LCD is not set
-# CONFIG_USB_LED is not set
-# CONFIG_USB_CY7C63 is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_PHIDGETKIT is not set
-# CONFIG_USB_PHIDGETSERVO is not set
-# CONFIG_USB_IDMOUSE is not set
-# CONFIG_USB_APPLEDISPLAY is not set
-# CONFIG_USB_LD 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=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-
-#
-# 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
-
-#
-# RTC drivers
-#
-# CONFIG_RTC_DRV_DS1553 is not set
-# CONFIG_RTC_DRV_DS1742 is not set
-# CONFIG_RTC_DRV_RS5C348 is not set
-# CONFIG_RTC_DRV_M48T86 is not set
-# CONFIG_RTC_DRV_SA1100 is not set
-# CONFIG_RTC_DRV_TEST is not set
-# CONFIG_RTC_DRV_MAX6902 is not set
-CONFIG_RTC_DRV_V3020=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_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 is not set
-# CONFIG_XFS_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_SYSFS=y
-CONFIG_TMPFS=y
-# 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_JFFS_FS is not set
-# CONFIG_JFFS2_FS 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 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=y
-# CONFIG_SMB_NLS_DEFAULT is not set
-# CONFIG_CIFS is not set
-# CONFIG_CIFS_DEBUG2 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=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 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=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
-
-#
-# Profiling support
-#
-# CONFIG_PROFILING is not set
-
-#
-# Kernel hacking
-#
-# CONFIG_PRINTK_TIME is not set
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_UNUSED_SYMBOLS is not set
-CONFIG_DEBUG_KERNEL=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_DETECT_SOFTLOCKUP=y
-# CONFIG_SCHEDSTATS is not set
-# CONFIG_DEBUG_SLAB is not set
-CONFIG_DEBUG_MUTEXES=y
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
-# CONFIG_DEBUG_KOBJECT is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-CONFIG_DEBUG_INFO=y
-# CONFIG_DEBUG_FS is not set
-# CONFIG_DEBUG_VM is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_UNWIND_INFO is not set
-CONFIG_FORCED_INLINING=y
-# CONFIG_RCU_TORTURE_TEST is not set
-CONFIG_DEBUG_USER=y
-# CONFIG_DEBUG_WAITQ is not set
-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_HMAC 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_DES 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_TEST is not set
-
-#
-# Hardware crypto devices
-#
-
-#
-# Library routines
-#
-# CONFIG_CRC_CCITT is not set
-# CONFIG_CRC16 is not set
-CONFIG_CRC32=y
-# CONFIG_LIBCRC32C is not set
-CONFIG_PLIST=y
diff --git a/meta/packages/linux/linux-cmx270-rp-2.6.17/mach-types b/meta/packages/linux/linux-cmx270-rp-2.6.17/mach-types
deleted file mode 100644 (file)
index e1372a2..0000000
+++ /dev/null
@@ -1,1095 +0,0 @@
-# Database of machine macros and numbers
-#
-# This file is linux/arch/arm/tools/mach-types
-#
-# Up to date versions of this file can be obtained from:
-#
-#   http://www.arm.linux.org.uk/developer/machines/?action=download
-#
-# Please do not send patches to this file; it is automatically generated!
-# To add an entry into this database, please see Documentation/arm/README,
-# or visit:
-#
-#   http://www.arm.linux.org.uk/developer/machines/?action=new
-#
-# Last update: Mon Jun 26 22:26:08 2006
-#
-# machine_is_xxx       CONFIG_xxxx             MACH_TYPE_xxx           number
-#
-ebsa110                        ARCH_EBSA110            EBSA110                 0
-riscpc                 ARCH_RPC                RISCPC                  1
-nexuspci               ARCH_NEXUSPCI           NEXUSPCI                3
-ebsa285                        ARCH_EBSA285            EBSA285                 4
-netwinder              ARCH_NETWINDER          NETWINDER               5
-cats                   ARCH_CATS               CATS                    6
-tbox                   ARCH_TBOX               TBOX                    7
-co285                  ARCH_CO285              CO285                   8
-clps7110               ARCH_CLPS7110           CLPS7110                9
-archimedes             ARCH_ARC                ARCHIMEDES              10
-a5k                    ARCH_A5K                A5K                     11
-etoile                 ARCH_ETOILE             ETOILE                  12
-lacie_nas              ARCH_LACIE_NAS          LACIE_NAS               13
-clps7500               ARCH_CLPS7500           CLPS7500                14
-shark                  ARCH_SHARK              SHARK                   15
-brutus                 SA1100_BRUTUS           BRUTUS                  16
-personal_server                ARCH_PERSONAL_SERVER    PERSONAL_SERVER         17
-itsy                   SA1100_ITSY             ITSY                    18
-l7200                  ARCH_L7200              L7200                   19
-pleb                   SA1100_PLEB             PLEB                    20
-integrator             ARCH_INTEGRATOR         INTEGRATOR              21
-h3600                  SA1100_H3600            H3600                   22
-ixp1200                        ARCH_IXP1200            IXP1200                 23
-p720t                  ARCH_P720T              P720T                   24
-assabet                        SA1100_ASSABET          ASSABET                 25
-victor                 SA1100_VICTOR           VICTOR                  26
-lart                   SA1100_LART             LART                    27
-ranger                 SA1100_RANGER           RANGER                  28
-graphicsclient         SA1100_GRAPHICSCLIENT   GRAPHICSCLIENT          29
-xp860                  SA1100_XP860            XP860                   30
-cerf                   SA1100_CERF             CERF                    31
-nanoengine             SA1100_NANOENGINE       NANOENGINE              32
-fpic                   SA1100_FPIC             FPIC                    33
-extenex1               SA1100_EXTENEX1         EXTENEX1                34
-sherman                        SA1100_SHERMAN          SHERMAN                 35
-accelent_sa            SA1100_ACCELENT         ACCELENT_SA             36
-accelent_l7200         ARCH_L7200_ACCELENT     ACCELENT_L7200          37
-netport                        SA1100_NETPORT          NETPORT                 38
-pangolin               SA1100_PANGOLIN         PANGOLIN                39
-yopy                   SA1100_YOPY             YOPY                    40
-coolidge               SA1100_COOLIDGE         COOLIDGE                41
-huw_webpanel           SA1100_HUW_WEBPANEL     HUW_WEBPANEL            42
-spotme                 ARCH_SPOTME             SPOTME                  43
-freebird               ARCH_FREEBIRD           FREEBIRD                44
-ti925                  ARCH_TI925              TI925                   45
-riscstation            ARCH_RISCSTATION        RISCSTATION             46
-cavy                   SA1100_CAVY             CAVY                    47
-jornada720             SA1100_JORNADA720       JORNADA720              48
-omnimeter              SA1100_OMNIMETER        OMNIMETER               49
-edb7211                        ARCH_EDB7211            EDB7211                 50
-citygo                 SA1100_CITYGO           CITYGO                  51
-pfs168                 SA1100_PFS168           PFS168                  52
-spot                   SA1100_SPOT             SPOT                    53
-flexanet               SA1100_FLEXANET         FLEXANET                54
-webpal                 ARCH_WEBPAL             WEBPAL                  55
-linpda                 SA1100_LINPDA           LINPDA                  56
-anakin                 ARCH_ANAKIN             ANAKIN                  57
-mvi                    SA1100_MVI              MVI                     58
-jupiter                        SA1100_JUPITER          JUPITER                 59
-psionw                 ARCH_PSIONW             PSIONW                  60
-aln                    SA1100_ALN              ALN                     61
-epxa                   ARCH_CAMELOT            CAMELOT                 62
-gds2200                        SA1100_GDS2200          GDS2200                 63
-psion_series7          SA1100_PSION_SERIES7    PSION_SERIES7           64
-xfile                  SA1100_XFILE            XFILE                   65
-accelent_ep9312                ARCH_ACCELENT_EP9312    ACCELENT_EP9312         66
-ic200                  ARCH_IC200              IC200                   67
-creditlart             SA1100_CREDITLART       CREDITLART              68
-htm                    SA1100_HTM              HTM                     69
-iq80310                        ARCH_IQ80310            IQ80310                 70
-freebot                        SA1100_FREEBOT          FREEBOT                 71
-entel                  ARCH_ENTEL              ENTEL                   72
-enp3510                        ARCH_ENP3510            ENP3510                 73
-trizeps                        SA1100_TRIZEPS          TRIZEPS                 74
-nesa                   SA1100_NESA             NESA                    75
-venus                  ARCH_VENUS              VENUS                   76
-tardis                 ARCH_TARDIS             TARDIS                  77
-mercury                        ARCH_MERCURY            MERCURY                 78
-empeg                  SA1100_EMPEG            EMPEG                   79
-adi_evb                        ARCH_I80200FCC          I80200FCC               80
-itt_cpb                        SA1100_ITT_CPB          ITT_CPB                 81
-svc                    SA1100_SVC              SVC                     82
-alpha2                 SA1100_ALPHA2           ALPHA2                  84
-alpha1                 SA1100_ALPHA1           ALPHA1                  85
-netarm                 ARCH_NETARM             NETARM                  86
-simpad                 SA1100_SIMPAD           SIMPAD                  87
-pda1                   ARCH_PDA1               PDA1                    88
-lubbock                        ARCH_LUBBOCK            LUBBOCK                 89
-aniko                  ARCH_ANIKO              ANIKO                   90
-clep7212               ARCH_CLEP7212           CLEP7212                91
-cs89712                        ARCH_CS89712            CS89712                 92
-weararm                        SA1100_WEARARM          WEARARM                 93
-possio_px              SA1100_POSSIO_PX        POSSIO_PX               94
-sidearm                        SA1100_SIDEARM          SIDEARM                 95
-stork                  SA1100_STORK            STORK                   96
-shannon                        SA1100_SHANNON          SHANNON                 97
-ace                    ARCH_ACE                ACE                     98
-ballyarm               SA1100_BALLYARM         BALLYARM                99
-simputer               SA1100_SIMPUTER         SIMPUTER                100
-nexterm                        SA1100_NEXTERM          NEXTERM                 101
-sa1100_elf             SA1100_SA1100_ELF       SA1100_ELF              102
-gator                  SA1100_GATOR            GATOR                   103
-granite                        ARCH_GRANITE            GRANITE                 104
-consus                 SA1100_CONSUS           CONSUS                  105
-aaed2000               ARCH_AAED2000           AAED2000                106
-cdb89712               ARCH_CDB89712           CDB89712                107
-graphicsmaster         SA1100_GRAPHICSMASTER   GRAPHICSMASTER          108
-adsbitsy               SA1100_ADSBITSY         ADSBITSY                109
-pxa_idp                        ARCH_PXA_IDP            PXA_IDP                 110
-plce                   ARCH_PLCE               PLCE                    111
-pt_system3             SA1100_PT_SYSTEM3       PT_SYSTEM3              112
-murphy                 ARCH_MEDALB             MEDALB                  113
-eagle                  ARCH_EAGLE              EAGLE                   114
-dsc21                  ARCH_DSC21              DSC21                   115
-dsc24                  ARCH_DSC24              DSC24                   116
-ti5472                 ARCH_TI5472             TI5472                  117
-autcpu12               ARCH_AUTCPU12           AUTCPU12                118
-uengine                        ARCH_UENGINE            UENGINE                 119
-bluestem               SA1100_BLUESTEM         BLUESTEM                120
-xingu8                 ARCH_XINGU8             XINGU8                  121
-bushstb                        ARCH_BUSHSTB            BUSHSTB                 122
-epsilon1               SA1100_EPSILON1         EPSILON1                123
-balloon                        SA1100_BALLOON          BALLOON                 124
-puppy                  ARCH_PUPPY              PUPPY                   125
-elroy                  SA1100_ELROY            ELROY                   126
-gms720                 ARCH_GMS720             GMS720                  127
-s24x                   ARCH_S24X               S24X                    128
-jtel_clep7312          ARCH_JTEL_CLEP7312      JTEL_CLEP7312           129
-cx821xx                        ARCH_CX821XX            CX821XX                 130
-edb7312                        ARCH_EDB7312            EDB7312                 131
-bsa1110                        SA1100_BSA1110          BSA1110                 132
-powerpin               ARCH_POWERPIN           POWERPIN                133
-openarm                        ARCH_OPENARM            OPENARM                 134
-whitechapel            SA1100_WHITECHAPEL      WHITECHAPEL             135
-h3100                  SA1100_H3100            H3100                   136
-h3800                  SA1100_H3800            H3800                   137
-blue_v1                        ARCH_BLUE_V1            BLUE_V1                 138
-pxa_cerf               ARCH_PXA_CERF           PXA_CERF                139
-arm7tevb               ARCH_ARM7TEVB           ARM7TEVB                140
-d7400                  SA1100_D7400            D7400                   141
-piranha                        ARCH_PIRANHA            PIRANHA                 142
-sbcamelot              SA1100_SBCAMELOT        SBCAMELOT               143
-kings                  SA1100_KINGS            KINGS                   144
-smdk2400               ARCH_SMDK2400           SMDK2400                145
-collie                 SA1100_COLLIE           COLLIE                  146
-idr                    ARCH_IDR                IDR                     147
-badge4                 SA1100_BADGE4           BADGE4                  148
-webnet                 ARCH_WEBNET             WEBNET                  149
-d7300                  SA1100_D7300            D7300                   150
-cep                    SA1100_CEP              CEP                     151
-fortunet               ARCH_FORTUNET           FORTUNET                152
-vc547x                 ARCH_VC547X             VC547X                  153
-filewalker             SA1100_FILEWALKER       FILEWALKER              154
-netgateway             SA1100_NETGATEWAY       NETGATEWAY              155
-symbol2800             SA1100_SYMBOL2800       SYMBOL2800              156
-suns                   SA1100_SUNS             SUNS                    157
-frodo                  SA1100_FRODO            FRODO                   158
-ms301                  SA1100_MACH_TYTE_MS301  MACH_TYTE_MS301         159
-mx1ads                 ARCH_MX1ADS             MX1ADS                  160
-h7201                  ARCH_H7201              H7201                   161
-h7202                  ARCH_H7202              H7202                   162
-amico                  ARCH_AMICO              AMICO                   163
-iam                    SA1100_IAM              IAM                     164
-tt530                  SA1100_TT530            TT530                   165
-sam2400                        ARCH_SAM2400            SAM2400                 166
-jornada56x             SA1100_JORNADA56X       JORNADA56X              167
-active                 SA1100_ACTIVE           ACTIVE                  168
-iq80321                        ARCH_IQ80321            IQ80321                 169
-wid                    SA1100_WID              WID                     170
-sabinal                        ARCH_SABINAL            SABINAL                 171
-ixp425_matacumbe       ARCH_IXP425_MATACUMBE   IXP425_MATACUMBE        172
-miniprint              SA1100_MINIPRINT        MINIPRINT               173
-adm510x                        ARCH_ADM510X            ADM510X                 174
-svs200                 SA1100_SVS200           SVS200                  175
-atg_tcu                        ARCH_ATG_TCU            ATG_TCU                 176
-jornada820             SA1100_JORNADA820       JORNADA820              177
-s3c44b0                        ARCH_S3C44B0            S3C44B0                 178
-margis2                        ARCH_MARGIS2            MARGIS2                 179
-ks8695                 ARCH_KS8695             KS8695                  180
-brh                    ARCH_BRH                BRH                     181
-s3c2410                        ARCH_S3C2410            S3C2410                 182
-possio_px30            ARCH_POSSIO_PX30        POSSIO_PX30             183
-s3c2800                        ARCH_S3C2800            S3C2800                 184
-fleetwood              SA1100_FLEETWOOD        FLEETWOOD               185
-omaha                  ARCH_OMAHA              OMAHA                   186
-ta7                    ARCH_TA7                TA7                     187
-nova                   SA1100_NOVA             NOVA                    188
-hmk                    ARCH_HMK                HMK                     189
-karo                   ARCH_KARO               KARO                    190
-fester                 SA1100_FESTER           FESTER                  191
-gpi                    ARCH_GPI                GPI                     192
-smdk2410               ARCH_SMDK2410           SMDK2410                193
-i519                   ARCH_I519               I519                    194
-nexio                  SA1100_NEXIO            NEXIO                   195
-bitbox                 SA1100_BITBOX           BITBOX                  196
-g200                   SA1100_G200             G200                    197
-gill                   SA1100_GILL             GILL                    198
-pxa_mercury            ARCH_PXA_MERCURY        PXA_MERCURY             199
-ceiva                  ARCH_CEIVA              CEIVA                   200
-fret                   SA1100_FRET             FRET                    201
-emailphone             SA1100_EMAILPHONE       EMAILPHONE              202
-h3900                  ARCH_H3900              H3900                   203
-pxa1                   ARCH_PXA1               PXA1                    204
-koan369                        SA1100_KOAN369          KOAN369                 205
-cogent                 ARCH_COGENT             COGENT                  206
-esl_simputer           ARCH_ESL_SIMPUTER       ESL_SIMPUTER            207
-esl_simputer_clr       ARCH_ESL_SIMPUTER_CLR   ESL_SIMPUTER_CLR        208
-esl_simputer_bw                ARCH_ESL_SIMPUTER_BW    ESL_SIMPUTER_BW         209
-hhp_cradle             ARCH_HHP_CRADLE         HHP_CRADLE              210
-he500                  ARCH_HE500              HE500                   211
-inhandelf2             SA1100_INHANDELF2       INHANDELF2              212
-inhandftip             SA1100_INHANDFTIP       INHANDFTIP              213
-dnp1110                        SA1100_DNP1110          DNP1110                 214
-pnp1110                        SA1100_PNP1110          PNP1110                 215
-csb226                 ARCH_CSB226             CSB226                  216
-arnold                 SA1100_ARNOLD           ARNOLD                  217
-voiceblue              MACH_VOICEBLUE          VOICEBLUE               218
-jz8028                 ARCH_JZ8028             JZ8028                  219
-h5400                  ARCH_H5400              H5400                   220
-forte                  SA1100_FORTE            FORTE                   221
-acam                   SA1100_ACAM             ACAM                    222
-abox                   SA1100_ABOX             ABOX                    223
-atmel                  ARCH_ATMEL              ATMEL                   224
-sitsang                        ARCH_SITSANG            SITSANG                 225
-cpu1110lcdnet          SA1100_CPU1110LCDNET    CPU1110LCDNET           226
-mpl_vcma9              ARCH_MPL_VCMA9          MPL_VCMA9               227
-opus_a1                        ARCH_OPUS_A1            OPUS_A1                 228
-daytona                        ARCH_DAYTONA            DAYTONA                 229
-killbear               SA1100_KILLBEAR         KILLBEAR                230
-yoho                   ARCH_YOHO               YOHO                    231
-jasper                 ARCH_JASPER             JASPER                  232
-dsc25                  ARCH_DSC25              DSC25                   233
-omap_innovator         MACH_OMAP_INNOVATOR     OMAP_INNOVATOR          234
-mnci                   ARCH_RAMSES             RAMSES                  235
-s28x                   ARCH_S28X               S28X                    236
-mport3                 ARCH_MPORT3             MPORT3                  237
-pxa_eagle250           ARCH_PXA_EAGLE250       PXA_EAGLE250            238
-pdb                    ARCH_PDB                PDB                     239
-blue_2g                        SA1100_BLUE_2G          BLUE_2G                 240
-bluearch               SA1100_BLUEARCH         BLUEARCH                241
-ixdp2400               ARCH_IXDP2400           IXDP2400                242
-ixdp2800               ARCH_IXDP2800           IXDP2800                243
-explorer               SA1100_EXPLORER         EXPLORER                244
-ixdp425                        ARCH_IXDP425            IXDP425                 245
-chimp                  ARCH_CHIMP              CHIMP                   246
-stork_nest             ARCH_STORK_NEST         STORK_NEST              247
-stork_egg              ARCH_STORK_EGG          STORK_EGG               248
-wismo                  SA1100_WISMO            WISMO                   249
-ezlinx                 ARCH_EZLINX             EZLINX                  250
-at91rm9200             ARCH_AT91RM9200         AT91RM9200              251
-orion                  ARCH_ORION              ORION                   252
-neptune                        ARCH_NEPTUNE            NEPTUNE                 253
-hackkit                        SA1100_HACKKIT          HACKKIT                 254
-pxa_wins30             ARCH_PXA_WINS30         PXA_WINS30              255
-lavinna                        SA1100_LAVINNA          LAVINNA                 256
-pxa_uengine            ARCH_PXA_UENGINE        PXA_UENGINE             257
-innokom                        ARCH_INNOKOM            INNOKOM                 258
-bms                    ARCH_BMS                BMS                     259
-ixcdp1100              ARCH_IXCDP1100          IXCDP1100               260
-prpmc1100              ARCH_PRPMC1100          PRPMC1100               261
-at91rm9200dk           ARCH_AT91RM9200DK       AT91RM9200DK            262
-armstick               ARCH_ARMSTICK           ARMSTICK                263
-armonie                        ARCH_ARMONIE            ARMONIE                 264
-mport1                 ARCH_MPORT1             MPORT1                  265
-s3c5410                        ARCH_S3C5410            S3C5410                 266
-zcp320a                        ARCH_ZCP320A            ZCP320A                 267
-i_box                  ARCH_I_BOX              I_BOX                   268
-stlc1502               ARCH_STLC1502           STLC1502                269
-siren                  ARCH_SIREN              SIREN                   270
-greenlake              ARCH_GREENLAKE          GREENLAKE               271
-argus                  ARCH_ARGUS              ARGUS                   272
-combadge               SA1100_COMBADGE         COMBADGE                273
-rokepxa                        ARCH_ROKEPXA            ROKEPXA                 274
-cintegrator            ARCH_CINTEGRATOR        CINTEGRATOR             275
-guidea07               ARCH_GUIDEA07           GUIDEA07                276
-tat257                 ARCH_TAT257             TAT257                  277
-igp2425                        ARCH_IGP2425            IGP2425                 278
-bluegrama              ARCH_BLUEGRAMMA         BLUEGRAMMA              279
-ipod                   ARCH_IPOD               IPOD                    280
-adsbitsyx              ARCH_ADSBITSYX          ADSBITSYX               281
-trizeps2               ARCH_TRIZEPS2           TRIZEPS2                282
-viper                  ARCH_VIPER              VIPER                   283
-adsbitsyplus           SA1100_ADSBITSYPLUS     ADSBITSYPLUS            284
-adsagc                 SA1100_ADSAGC           ADSAGC                  285
-stp7312                        ARCH_STP7312            STP7312                 286
-nx_phnx                        MACH_NX_PHNX            NX_PHNX                 287
-wep_ep250              ARCH_WEP_EP250          WEP_EP250               288
-inhandelf3             ARCH_INHANDELF3         INHANDELF3              289
-adi_coyote             ARCH_ADI_COYOTE         ADI_COYOTE              290
-iyonix                 ARCH_IYONIX             IYONIX                  291
-damicam1               ARCH_DAMICAM_SA1110     DAMICAM_SA1110          292
-meg03                  ARCH_MEG03              MEG03                   293
-pxa_whitechapel                ARCH_PXA_WHITECHAPEL    PXA_WHITECHAPEL         294
-nwsc                   ARCH_NWSC               NWSC                    295
-nwlarm                 ARCH_NWLARM             NWLARM                  296
-ixp425_mguard          ARCH_IXP425_MGUARD      IXP425_MGUARD           297
-pxa_netdcu4            ARCH_PXA_NETDCU4        PXA_NETDCU4             298
-ixdp2401               ARCH_IXDP2401           IXDP2401                299
-ixdp2801               ARCH_IXDP2801           IXDP2801                300
-zodiac                 ARCH_ZODIAC             ZODIAC                  301
-armmodul               ARCH_ARMMODUL           ARMMODUL                302
-ketop                  SA1100_KETOP            KETOP                   303
-av7200                 ARCH_AV7200             AV7200                  304
-arch_ti925             ARCH_ARCH_TI925         ARCH_TI925              305
-acq200                 ARCH_ACQ200             ACQ200                  306
-pt_dafit               SA1100_PT_DAFIT         PT_DAFIT                307
-ihba                   ARCH_IHBA               IHBA                    308
-quinque                        ARCH_QUINQUE            QUINQUE                 309
-nimbraone              ARCH_NIMBRAONE          NIMBRAONE               310
-nimbra29x              ARCH_NIMBRA29X          NIMBRA29X               311
-nimbra210              ARCH_NIMBRA210          NIMBRA210               312
-hhp_d95xx              ARCH_HHP_D95XX          HHP_D95XX               313
-labarm                 ARCH_LABARM             LABARM                  314
-comcerto               ARCH_M825XX             M825XX                  315
-m7100                  SA1100_M7100            M7100                   316
-nipc2                  ARCH_NIPC2              NIPC2                   317
-fu7202                 ARCH_FU7202             FU7202                  318
-adsagx                 ARCH_ADSAGX             ADSAGX                  319
-pxa_pooh               ARCH_PXA_POOH           PXA_POOH                320
-bandon                 ARCH_BANDON             BANDON                  321
-pcm7210                        ARCH_PCM7210            PCM7210                 322
-nms9200                        ARCH_NMS9200            NMS9200                 323
-logodl                 ARCH_LOGODL             LOGODL                  324
-m7140                  SA1100_M7140            M7140                   325
-korebot                        ARCH_KOREBOT            KOREBOT                 326
-iq31244                        ARCH_IQ31244            IQ31244                 327
-koan393                        SA1100_KOAN393          KOAN393                 328
-inhandftip3            ARCH_INHANDFTIP3        INHANDFTIP3             329
-gonzo                  ARCH_GONZO              GONZO                   330
-bast                   ARCH_BAST               BAST                    331
-scanpass               ARCH_SCANPASS           SCANPASS                332
-ep7312_pooh            ARCH_EP7312_POOH        EP7312_POOH             333
-ta7s                   ARCH_TA7S               TA7S                    334
-ta7v                   ARCH_TA7V               TA7V                    335
-icarus                 SA1100_ICARUS           ICARUS                  336
-h1900                  ARCH_H1900              H1900                   337
-gemini                 SA1100_GEMINI           GEMINI                  338
-axim                   ARCH_AXIM               AXIM                    339
-audiotron              ARCH_AUDIOTRON          AUDIOTRON               340
-h2200                  ARCH_H2200              H2200                   341
-loox600                        ARCH_LOOX600            LOOX600                 342
-niop                   ARCH_NIOP               NIOP                    343
-dm310                  ARCH_DM310              DM310                   344
-seedpxa_c2             ARCH_SEEDPXA_C2         SEEDPXA_C2              345
-ixp4xx_mguardpci       ARCH_IXP4XX_MGUARD_PCI  IXP4XX_MGUARD_PCI       346
-h1940                  ARCH_H1940              H1940                   347
-scorpio                        ARCH_SCORPIO            SCORPIO                 348
-viva                   ARCH_VIVA               VIVA                    349
-pxa_xcard              ARCH_PXA_XCARD          PXA_XCARD               350
-csb335                 ARCH_CSB335             CSB335                  351
-ixrd425                        ARCH_IXRD425            IXRD425                 352
-iq80315                        ARCH_IQ80315            IQ80315                 353
-nmp7312                        ARCH_NMP7312            NMP7312                 354
-cx861xx                        ARCH_CX861XX            CX861XX                 355
-enp2611                        ARCH_ENP2611            ENP2611                 356
-xda                    SA1100_XDA              XDA                     357
-csir_ims               ARCH_CSIR_IMS           CSIR_IMS                358
-ixp421_dnaeeth         ARCH_IXP421_DNAEETH     IXP421_DNAEETH          359
-pocketserv9200         ARCH_POCKETSERV9200     POCKETSERV9200          360
-toto                   ARCH_TOTO               TOTO                    361
-s3c2440                        ARCH_S3C2440            S3C2440                 362
-ks8695p                        ARCH_KS8695P            KS8695P                 363
-se4000                 ARCH_SE4000             SE4000                  364
-quadriceps             ARCH_QUADRICEPS         QUADRICEPS              365
-bronco                 ARCH_BRONCO             BRONCO                  366
-esl_wireless_tab       ARCH_ESL_WIRELESS_TABLETESL_WIRELESS_TABLET     367
-esl_sofcomp            ARCH_ESL_SOFCOMP        ESL_SOFCOMP             368
-s5c7375                        ARCH_S5C7375            S5C7375                 369
-spearhead              ARCH_SPEARHEAD          SPEARHEAD               370
-pantera                        ARCH_PANTERA            PANTERA                 371
-prayoglite             ARCH_PRAYOGLITE         PRAYOGLITE              372
-gumstix                        ARCH_GUMSTIK            GUMSTIK                 373
-rcube                  ARCH_RCUBE              RCUBE                   374
-rea_olv                        ARCH_REA_OLV            REA_OLV                 375
-pxa_iphone             ARCH_PXA_IPHONE         PXA_IPHONE              376
-s3c3410                        ARCH_S3C3410            S3C3410                 377
-espd_4510b             ARCH_ESPD_4510B         ESPD_4510B              378
-mp1x                   ARCH_MP1X               MP1X                    379
-at91rm9200tb           ARCH_AT91RM9200TB       AT91RM9200TB            380
-adsvgx                 ARCH_ADSVGX             ADSVGX                  381
-omap_h2                        MACH_OMAP_H2            OMAP_H2                 382
-pelee                  ARCH_PELEE              PELEE                   383
-e740                   MACH_E740               E740                    384
-iq80331                        ARCH_IQ80331            IQ80331                 385
-versatile_pb           ARCH_VERSATILE_PB       VERSATILE_PB            387
-kev7a400               MACH_KEV7A400           KEV7A400                388
-lpd7a400               MACH_LPD7A400           LPD7A400                389
-lpd7a404               MACH_LPD7A404           LPD7A404                390
-fujitsu_camelot                ARCH_FUJITSU_CAMELOT    FUJITSU_CAMELOT         391
-janus2m                        ARCH_JANUS2M            JANUS2M                 392
-embtf                  MACH_EMBTF              EMBTF                   393
-hpm                    MACH_HPM                HPM                     394
-smdk2410tk             MACH_SMDK2410TK         SMDK2410TK              395
-smdk2410aj             MACH_SMDK2410AJ         SMDK2410AJ              396
-streetracer            MACH_STREETRACER        STREETRACER             397
-eframe                 MACH_EFRAME             EFRAME                  398
-csb337                 MACH_CSB337             CSB337                  399
-pxa_lark               MACH_PXA_LARK           PXA_LARK                400
-pxa_pnp2110            MACH_PNP2110            PNP2110                 401
-tcc72x                 MACH_TCC72X             TCC72X                  402
-altair                 MACH_ALTAIR             ALTAIR                  403
-kc3                    MACH_KC3                KC3                     404
-sinteftd               MACH_SINTEFTD           SINTEFTD                405
-mainstone              MACH_MAINSTONE          MAINSTONE               406
-aday4x                 MACH_ADAY4X             ADAY4X                  407
-lite300                        MACH_LITE300            LITE300                 408
-s5c7376                        MACH_S5C7376            S5C7376                 409
-mt02                   MACH_MT02               MT02                    410
-mport3s                        MACH_MPORT3S            MPORT3S                 411
-ra_alpha               MACH_RA_ALPHA           RA_ALPHA                412
-xcep                   MACH_XCEP               XCEP                    413
-arcom_vulcan           MACH_ARCOM_VULCAN       ARCOM_VULCAN            414
-stargate               MACH_STARGATE           STARGATE                415
-armadilloj             MACH_ARMADILLOJ         ARMADILLOJ              416
-elroy_jack             MACH_ELROY_JACK         ELROY_JACK              417
-backend                        MACH_BACKEND            BACKEND                 418
-s5linbox               MACH_S5LINBOX           S5LINBOX                419
-nomadik                        MACH_NOMADIK            NOMADIK                 420
-ia_cpu_9200            MACH_IA_CPU_9200        IA_CPU_9200             421
-at91_bja1              MACH_AT91_BJA1          AT91_BJA1               422
-corgi                  MACH_CORGI              CORGI                   423
-poodle                 MACH_POODLE             POODLE                  424
-ten                    MACH_TEN                TEN                     425
-roverp5p               MACH_ROVERP5P           ROVERP5P                426
-sc2700                 MACH_SC2700             SC2700                  427
-ex_eagle               MACH_EX_EAGLE           EX_EAGLE                428
-nx_pxa12               MACH_NX_PXA12           NX_PXA12                429
-nx_pxa5                        MACH_NX_PXA5            NX_PXA5                 430
-blackboard2            MACH_BLACKBOARD2        BLACKBOARD2             431
-i819                   MACH_I819               I819                    432
-ixmb995e               MACH_IXMB995E           IXMB995E                433
-skyrider               MACH_SKYRIDER           SKYRIDER                434
-skyhawk                        MACH_SKYHAWK            SKYHAWK                 435
-enterprise             MACH_ENTERPRISE         ENTERPRISE              436
-dep2410                        MACH_DEP2410            DEP2410                 437
-armcore                        MACH_ARMCORE            ARMCORE                 438
-hobbit                 MACH_HOBBIT             HOBBIT                  439
-h7210                  MACH_H7210              H7210                   440
-pxa_netdcu5            MACH_PXA_NETDCU5        PXA_NETDCU5             441
-acc                    MACH_ACC                ACC                     442
-esl_sarva              MACH_ESL_SARVA          ESL_SARVA               443
-xm250                  MACH_XM250              XM250                   444
-t6tc1xb                        MACH_T6TC1XB            T6TC1XB                 445
-ess710                 MACH_ESS710             ESS710                  446
-mx31ads                        MACH_MX31ADS            MX31ADS                 447
-himalaya               MACH_HIMALAYA           HIMALAYA                448
-bolfenk                        MACH_BOLFENK            BOLFENK                 449
-at91rm9200kr           MACH_AT91RM9200KR       AT91RM9200KR            450
-edb9312                        MACH_EDB9312            EDB9312                 451
-omap_generic           MACH_OMAP_GENERIC       OMAP_GENERIC            452
-aximx3                 MACH_AXIMX3             AXIMX3                  453
-eb67xdip               MACH_EB67XDIP           EB67XDIP                454
-webtxs                 MACH_WEBTXS             WEBTXS                  455
-hawk                   MACH_HAWK               HAWK                    456
-ccat91sbc001           MACH_CCAT91SBC001       CCAT91SBC001            457
-expresso               MACH_EXPRESSO           EXPRESSO                458
-h4000                  MACH_H4000              H4000                   459
-dino                   MACH_DINO               DINO                    460
-ml675k                 MACH_ML675K             ML675K                  461
-edb9301                        MACH_EDB9301            EDB9301                 462
-edb9315                        MACH_EDB9315            EDB9315                 463
-reciva_tt              MACH_RECIVA_TT          RECIVA_TT               464
-cstcb01                        MACH_CSTCB01            CSTCB01                 465
-cstcb1                 MACH_CSTCB1             CSTCB1                  466
-shadwell               MACH_SHADWELL           SHADWELL                467
-goepel263              MACH_GOEPEL263          GOEPEL263               468
-acq100                 MACH_ACQ100             ACQ100                  469
-mx1fs2                 MACH_MX1FS2             MX1FS2                  470
-hiptop_g1              MACH_HIPTOP_G1          HIPTOP_G1               471
-sparky                 MACH_SPARKY             SPARKY                  472
-ns9750                 MACH_NS9750             NS9750                  473
-phoenix                        MACH_PHOENIX            PHOENIX                 474
-vr1000                 MACH_VR1000             VR1000                  475
-deisterpxa             MACH_DEISTERPXA         DEISTERPXA              476
-bcm1160                        MACH_BCM1160            BCM1160                 477
-pcm022                 MACH_PCM022             PCM022                  478
-adsgcx                 MACH_ADSGCX             ADSGCX                  479
-dreadnaught            MACH_DREADNAUGHT        DREADNAUGHT             480
-dm320                  MACH_DM320              DM320                   481
-markov                 MACH_MARKOV             MARKOV                  482
-cos7a400               MACH_COS7A400           COS7A400                483
-milano                 MACH_MILANO             MILANO                  484
-ue9328                 MACH_UE9328             UE9328                  485
-uex255                 MACH_UEX255             UEX255                  486
-ue2410                 MACH_UE2410             UE2410                  487
-a620                   MACH_A620               A620                    488
-ocelot                 MACH_OCELOT             OCELOT                  489
-cheetah                        MACH_CHEETAH            CHEETAH                 490
-omap_perseus2          MACH_OMAP_PERSEUS2      OMAP_PERSEUS2           491
-zvue                   MACH_ZVUE               ZVUE                    492
-roverp1                        MACH_ROVERP1            ROVERP1                 493
-asidial2               MACH_ASIDIAL2           ASIDIAL2                494
-s3c24a0                        MACH_S3C24A0            S3C24A0                 495
-e800                   MACH_E800               E800                    496
-e750                   MACH_E750               E750                    497
-s3c5500                        MACH_S3C5500            S3C5500                 498
-smdk5500               MACH_SMDK5500           SMDK5500                499
-signalsync             MACH_SIGNALSYNC         SIGNALSYNC              500
-nbc                    MACH_NBC                NBC                     501
-kodiak                 MACH_KODIAK             KODIAK                  502
-netbookpro             MACH_NETBOOKPRO         NETBOOKPRO              503
-hw90200                        MACH_HW90200            HW90200                 504
-condor                 MACH_CONDOR             CONDOR                  505
-cup                    MACH_CUP                CUP                     506
-kite                   MACH_KITE               KITE                    507
-scb9328                        MACH_SCB9328            SCB9328                 508
-omap_h3                        MACH_OMAP_H3            OMAP_H3                 509
-omap_h4                        MACH_OMAP_H4            OMAP_H4                 510
-n10                    MACH_N10                N10                     511
-montejade              MACH_MONTAJADE          MONTAJADE               512
-sg560                  MACH_SG560              SG560                   513
-dp1000                 MACH_DP1000             DP1000                  514
-omap_osk               MACH_OMAP_OSK           OMAP_OSK                515
-rg100v3                        MACH_RG100V3            RG100V3                 516
-mx2ads                 MACH_MX2ADS             MX2ADS                  517
-pxa_kilo               MACH_PXA_KILO           PXA_KILO                518
-ixp4xx_eagle           MACH_IXP4XX_EAGLE       IXP4XX_EAGLE            519
-tosa                   MACH_TOSA               TOSA                    520
-mb2520f                        MACH_MB2520F            MB2520F                 521
-emc1000                        MACH_EMC1000            EMC1000                 522
-tidsc25                        MACH_TIDSC25            TIDSC25                 523
-akcpmxl                        MACH_AKCPMXL            AKCPMXL                 524
-av3xx                  MACH_AV3XX              AV3XX                   525
-avila                  MACH_AVILA              AVILA                   526
-pxa_mpm10              MACH_PXA_MPM10          PXA_MPM10               527
-pxa_kyanite            MACH_PXA_KYANITE        PXA_KYANITE             528
-sgold                  MACH_SGOLD              SGOLD                   529
-oscar                  MACH_OSCAR              OSCAR                   530
-epxa4usb2              MACH_EPXA4USB2          EPXA4USB2               531
-xsengine               MACH_XSENGINE           XSENGINE                532
-ip600                  MACH_IP600              IP600                   533
-mcan2                  MACH_MCAN2              MCAN2                   534
-ddi_blueridge          MACH_DDI_BLUERIDGE      DDI_BLUERIDGE           535
-skyminder              MACH_SKYMINDER          SKYMINDER               536
-lpd79520               MACH_LPD79520           LPD79520                537
-edb9302                        MACH_EDB9302            EDB9302                 538
-hw90340                        MACH_HW90340            HW90340                 539
-cip_box                        MACH_CIP_BOX            CIP_BOX                 540
-ivpn                   MACH_IVPN               IVPN                    541
-rsoc2                  MACH_RSOC2              RSOC2                   542
-husky                  MACH_HUSKY              HUSKY                   543
-boxer                  MACH_BOXER              BOXER                   544
-shepherd               MACH_SHEPHERD           SHEPHERD                545
-aml42800aa             MACH_AML42800AA         AML42800AA              546
-ml674001               MACH_MACH_TYPE_ML674001 MACH_TYPE_ML674001      547
-lpc2294                        MACH_LPC2294            LPC2294                 548
-switchgrass            MACH_SWITCHGRASS        SWITCHGRASS             549
-ens_cmu                        MACH_ENS_CMU            ENS_CMU                 550
-mm6_sdb                        MACH_MM6_SDB            MM6_SDB                 551
-saturn                 MACH_SATURN             SATURN                  552
-i30030evb              MACH_I30030EVB          I30030EVB               553
-mxc27530evb            MACH_MXC27530EVB        MXC27530EVB             554
-smdk2800               MACH_SMDK2800           SMDK2800                555
-mtwilson               MACH_MTWILSON           MTWILSON                556
-ziti                   MACH_ZITI               ZITI                    557
-grandfather            MACH_GRANDFATHER        GRANDFATHER             558
-tengine                        MACH_TENGINE            TENGINE                 559
-s3c2460                        MACH_S3C2460            S3C2460                 560
-pdm                    MACH_PDM                PDM                     561
-h4700                  MACH_H4700              H4700                   562
-h6300                  MACH_H6300              H6300                   563
-rz1700                 MACH_RZ1700             RZ1700                  564
-a716                   MACH_A716               A716                    565
-estk2440a              MACH_ESTK2440A          ESTK2440A               566
-atwixp425              MACH_ATWIXP425          ATWIXP425               567
-csb336                 MACH_CSB336             CSB336                  568
-rirm2                  MACH_RIRM2              RIRM2                   569
-cx23518                        MACH_CX23518            CX23518                 570
-cx2351x                        MACH_CX2351X            CX2351X                 571
-computime              MACH_COMPUTIME          COMPUTIME               572
-izarus                 MACH_IZARUS             IZARUS                  573
-pxa_rts                        MACH_RTS                RTS                     574
-se5100                 MACH_SE5100             SE5100                  575
-s3c2510                        MACH_S3C2510            S3C2510                 576
-csb437tl               MACH_CSB437TL           CSB437TL                577
-slauson                        MACH_SLAUSON            SLAUSON                 578
-pearlriver             MACH_PEARLRIVER         PEARLRIVER              579
-tdc_p210               MACH_TDC_P210           TDC_P210                580
-sg580                  MACH_SG580              SG580                   581
-wrsbcarm7              MACH_WRSBCARM7          WRSBCARM7               582
-ipd                    MACH_IPD                IPD                     583
-pxa_dnp2110            MACH_PXA_DNP2110        PXA_DNP2110             584
-xaeniax                        MACH_XAENIAX            XAENIAX                 585
-somn4250               MACH_SOMN4250           SOMN4250                586
-pleb2                  MACH_PLEB2              PLEB2                   587
-cornwallis             MACH_CORNWALLIS         CORNWALLIS              588
-gurney_drv             MACH_GURNEY_DRV         GURNEY_DRV              589
-chaffee                        MACH_CHAFFEE            CHAFFEE                 590
-rms101                 MACH_RMS101             RMS101                  591
-rx3715                 MACH_RX3715             RX3715                  592
-swift                  MACH_SWIFT              SWIFT                   593
-roverp7                        MACH_ROVERP7            ROVERP7                 594
-pr818s                 MACH_PR818S             PR818S                  595
-trxpro                 MACH_TRXPRO             TRXPRO                  596
-nslu2                  MACH_NSLU2              NSLU2                   597
-e400                   MACH_E400               E400                    598
-trab                   MACH_TRAB               TRAB                    599
-cmc_pu2                        MACH_CMC_PU2            CMC_PU2                 600
-fulcrum                        MACH_FULCRUM            FULCRUM                 601
-netgate42x             MACH_NETGATE42X         NETGATE42X              602
-str710                 MACH_STR710             STR710                  603
-ixdpg425               MACH_IXDPG425           IXDPG425                604
-tomtomgo               MACH_TOMTOMGO           TOMTOMGO                605
-versatile_ab           MACH_VERSATILE_AB       VERSATILE_AB            606
-edb9307                        MACH_EDB9307            EDB9307                 607
-sg565                  MACH_SG565              SG565                   608
-lpd79524               MACH_LPD79524           LPD79524                609
-lpd79525               MACH_LPD79525           LPD79525                610
-rms100                 MACH_RMS100             RMS100                  611
-kb9200                 MACH_KB9200             KB9200                  612
-sx1                    MACH_SX1                SX1                     613
-hms39c7092             MACH_HMS39C7092         HMS39C7092              614
-armadillo              MACH_ARMADILLO          ARMADILLO               615
-ipcu                   MACH_IPCU               IPCU                    616
-loox720                        MACH_LOOX720            LOOX720                 617
-ixdp465                        MACH_IXDP465            IXDP465                 618
-ixdp2351               MACH_IXDP2351           IXDP2351                619
-adsvix                 MACH_ADSVIX             ADSVIX                  620
-dm270                  MACH_DM270              DM270                   621
-socltplus              MACH_SOCLTPLUS          SOCLTPLUS               622
-ecia                   MACH_ECIA               ECIA                    623
-cm4008                 MACH_CM4008             CM4008                  624
-p2001                  MACH_P2001              P2001                   625
-twister                        MACH_TWISTER            TWISTER                 626
-mudshark               MACH_MUDSHARK           MUDSHARK                627
-hb2                    MACH_HB2                HB2                     628
-iq80332                        MACH_IQ80332            IQ80332                 629
-sendt                  MACH_SENDT              SENDT                   630
-mx2jazz                        MACH_MX2JAZZ            MX2JAZZ                 631
-multiio                        MACH_MULTIIO            MULTIIO                 632
-hrdisplay              MACH_HRDISPLAY          HRDISPLAY               633
-mxc27530ads            MACH_MXC27530ADS        MXC27530ADS             634
-trizeps3               MACH_TRIZEPS3           TRIZEPS3                635
-zefeerdza              MACH_ZEFEERDZA          ZEFEERDZA               636
-zefeerdzb              MACH_ZEFEERDZB          ZEFEERDZB               637
-zefeerdzg              MACH_ZEFEERDZG          ZEFEERDZG               638
-zefeerdzn              MACH_ZEFEERDZN          ZEFEERDZN               639
-zefeerdzq              MACH_ZEFEERDZQ          ZEFEERDZQ               640
-gtwx5715               MACH_GTWX5715           GTWX5715                641
-astro_jack             MACH_ASTRO_JACK         ASTRO_JACK              643
-tip03                  MACH_TIP03              TIP03                   644
-a9200ec                        MACH_A9200EC            A9200EC                 645
-pnx0105                        MACH_PNX0105            PNX0105                 646
-adcpoecpu              MACH_ADCPOECPU          ADCPOECPU               647
-csb637                 MACH_CSB637             CSB637                  648
-ml69q6203              MACH_ML69Q6203          ML69Q6203               649
-mb9200                 MACH_MB9200             MB9200                  650
-kulun                  MACH_KULUN              KULUN                   651
-snapper                        MACH_SNAPPER            SNAPPER                 652
-optima                 MACH_OPTIMA             OPTIMA                  653
-dlhsbc                 MACH_DLHSBC             DLHSBC                  654
-x30                    MACH_X30                X30                     655
-n30                    MACH_N30                N30                     656
-manga_ks8695           MACH_MANGA_KS8695       MANGA_KS8695            657
-ajax                   MACH_AJAX               AJAX                    658
-nec_mp900              MACH_NEC_MP900          NEC_MP900               659
-vvtk1000               MACH_VVTK1000           VVTK1000                661
-kafa                   MACH_KAFA               KAFA                    662
-vvtk3000               MACH_VVTK3000           VVTK3000                663
-pimx1                  MACH_PIMX1              PIMX1                   664
-ollie                  MACH_OLLIE              OLLIE                   665
-skymax                 MACH_SKYMAX             SKYMAX                  666
-jazz                   MACH_JAZZ               JAZZ                    667
-tel_t3                 MACH_TEL_T3             TEL_T3                  668
-aisino_fcr255          MACH_AISINO_FCR255      AISINO_FCR255           669
-btweb                  MACH_BTWEB              BTWEB                   670
-dbg_lh79520            MACH_DBG_LH79520        DBG_LH79520             671
-cm41xx                 MACH_CM41XX             CM41XX                  672
-ts72xx                 MACH_TS72XX             TS72XX                  673
-nggpxa                 MACH_NGGPXA             NGGPXA                  674
-csb535                 MACH_CSB535             CSB535                  675
-csb536                 MACH_CSB536             CSB536                  676
-pxa_trakpod            MACH_PXA_TRAKPOD        PXA_TRAKPOD             677
-praxis                 MACH_PRAXIS             PRAXIS                  678
-lh75411                        MACH_LH75411            LH75411                 679
-otom                   MACH_OTOM               OTOM                    680
-nexcoder_2440          MACH_NEXCODER_2440      NEXCODER_2440           681
-loox410                        MACH_LOOX410            LOOX410                 682
-westlake               MACH_WESTLAKE           WESTLAKE                683
-nsb                    MACH_NSB                NSB                     684
-esl_sarva_stn          MACH_ESL_SARVA_STN      ESL_SARVA_STN           685
-esl_sarva_tft          MACH_ESL_SARVA_TFT      ESL_SARVA_TFT           686
-esl_sarva_iad          MACH_ESL_SARVA_IAD      ESL_SARVA_IAD           687
-esl_sarva_acc          MACH_ESL_SARVA_ACC      ESL_SARVA_ACC           688
-typhoon                        MACH_TYPHOON            TYPHOON                 689
-cnav                   MACH_CNAV               CNAV                    690
-a730                   MACH_A730               A730                    691
-netstar                        MACH_NETSTAR            NETSTAR                 692
-supercon               MACH_PHASEFALE_SUPERCON PHASEFALE_SUPERCON      693
-shiva1100              MACH_SHIVA1100          SHIVA1100               694
-etexsc                 MACH_ETEXSC             ETEXSC                  695
-ixdpg465               MACH_IXDPG465           IXDPG465                696
-a9m2410                        MACH_A9M2410            A9M2410                 697
-a9m2440                        MACH_A9M2440            A9M2440                 698
-a9m9750                        MACH_A9M9750            A9M9750                 699
-a9m9360                        MACH_A9M9360            A9M9360                 700
-unc90                  MACH_UNC90              UNC90                   701
-eco920                 MACH_ECO920             ECO920                  702
-satview                        MACH_SATVIEW            SATVIEW                 703
-roadrunner             MACH_ROADRUNNER         ROADRUNNER              704
-at91rm9200ek           MACH_AT91RM9200EK       AT91RM9200EK            705
-gp32                   MACH_GP32               GP32                    706
-gem                    MACH_GEM                GEM                     707
-i858                   MACH_I858               I858                    708
-hx2750                 MACH_HX2750             HX2750                  709
-mxc91131evb            MACH_MXC91131EVB        MXC91131EVB             710
-p700                   MACH_P700               P700                    711
-cpe                    MACH_CPE                CPE                     712
-spitz                  MACH_SPITZ              SPITZ                   713
-nimbra340              MACH_NIMBRA340          NIMBRA340               714
-lpc22xx                        MACH_LPC22XX            LPC22XX                 715
-omap_comet3            MACH_COMET3             COMET3                  716
-omap_comet4            MACH_COMET4             COMET4                  717
-csb625                 MACH_CSB625             CSB625                  718
-fortunet2              MACH_FORTUNET2          FORTUNET2               719
-s5h2200                        MACH_S5H2200            S5H2200                 720
-optorm920              MACH_OPTORM920          OPTORM920               721
-adsbitsyxb             MACH_ADSBITSYXB         ADSBITSYXB              722
-adssphere              MACH_ADSSPHERE          ADSSPHERE               723
-adsportal              MACH_ADSPORTAL          ADSPORTAL               724
-ln2410sbc              MACH_LN2410SBC          LN2410SBC               725
-cb3rufc                        MACH_CB3RUFC            CB3RUFC                 726
-mp2usb                 MACH_MP2USB             MP2USB                  727
-ntnp425c               MACH_NTNP425C           NTNP425C                728
-colibri                        MACH_COLIBRI            COLIBRI                 729
-pcm7220                        MACH_PCM7220            PCM7220                 730
-gateway7001            MACH_GATEWAY7001        GATEWAY7001             731
-pcm027                 MACH_PCM027             PCM027                  732
-cmpxa                  MACH_CMPXA              CMPXA                   733
-anubis                 MACH_ANUBIS             ANUBIS                  734
-ite8152                        MACH_ITE8152            ITE8152                 735
-lpc3xxx                        MACH_LPC3XXX            LPC3XXX                 736
-puppeteer              MACH_PUPPETEER          PUPPETEER               737
-vt001                  MACH_MACH_VADATECH      MACH_VADATECH           738
-e570                   MACH_E570               E570                    739
-x50                    MACH_X50                X50                     740
-recon                  MACH_RECON              RECON                   741
-xboardgp8              MACH_XBOARDGP8          XBOARDGP8               742
-fpic2                  MACH_FPIC2              FPIC2                   743
-akita                  MACH_AKITA              AKITA                   744
-a81                    MACH_A81                A81                     745
-svm_sc25x              MACH_SVM_SC25X          SVM_SC25X               746
-vt020                  MACH_VADATECH020        VADATECH020             747
-tli                    MACH_TLI                TLI                     748
-edb9315lc              MACH_EDB9315LC          EDB9315LC               749
-passec                 MACH_PASSEC             PASSEC                  750
-ds_tiger               MACH_DS_TIGER           DS_TIGER                751
-e310                   MACH_E310               E310                    752
-e330                   MACH_E330               E330                    753
-rt3000                 MACH_RT3000             RT3000                  754
-nokia770               MACH_NOKIA770           NOKIA770                755
-pnx0106                        MACH_PNX0106            PNX0106                 756
-hx21xx                 MACH_HX21XX             HX21XX                  757
-faraday                        MACH_FARADAY            FARADAY                 758
-sbc9312                        MACH_SBC9312            SBC9312                 759
-batman                 MACH_BATMAN             BATMAN                  760
-jpd201                 MACH_JPD201             JPD201                  761
-mipsa                  MACH_MIPSA              MIPSA                   762
-kacom                  MACH_KACOM              KACOM                   763
-swarcocpu              MACH_SWARCOCPU          SWARCOCPU               764
-swarcodsl              MACH_SWARCODSL          SWARCODSL               765
-blueangel              MACH_BLUEANGEL          BLUEANGEL               766
-hairygrama             MACH_HAIRYGRAMA         HAIRYGRAMA              767
-banff                  MACH_BANFF              BANFF                   768
-carmeva                        MACH_CARMEVA            CARMEVA                 769
-sam255                 MACH_SAM255             SAM255                  770
-ppm10                  MACH_PPM10              PPM10                   771
-edb9315a               MACH_EDB9315A           EDB9315A                772
-sunset                 MACH_SUNSET             SUNSET                  773
-stargate2              MACH_STARGATE2          STARGATE2               774
-intelmote2             MACH_INTELMOTE2         INTELMOTE2              775
-trizeps4               MACH_TRIZEPS4           TRIZEPS4                776
-mainstone2             MACH_MAINSTONE2         MAINSTONE2              777
-ez_ixp42x              MACH_EZ_IXP42X          EZ_IXP42X               778
-tapwave_zodiac         MACH_TAPWAVE_ZODIAC     TAPWAVE_ZODIAC          779
-universalmeter         MACH_UNIVERSALMETER     UNIVERSALMETER          780
-hicoarm9               MACH_HICOARM9           HICOARM9                781
-pnx4008                        MACH_PNX4008            PNX4008                 782
-kws6000                        MACH_KWS6000            KWS6000                 783
-portux920t             MACH_PORTUX920T         PORTUX920T              784
-ez_x5                  MACH_EZ_X5              EZ_X5                   785
-omap_rudolph           MACH_OMAP_RUDOLPH       OMAP_RUDOLPH            786
-cpuat91                        MACH_CPUAT91            CPUAT91                 787
-rea9200                        MACH_REA9200            REA9200                 788
-acts_pune_sa1110       MACH_ACTS_PUNE_SA1110   ACTS_PUNE_SA1110        789
-ixp425                 MACH_IXP425             IXP425                  790
-i30030ads              MACH_I30030ADS          I30030ADS               791
-perch                  MACH_PERCH              PERCH                   792
-eis05r1                        MACH_EIS05R1            EIS05R1                 793
-pepperpad              MACH_PEPPERPAD          PEPPERPAD               794
-sb3010                 MACH_SB3010             SB3010                  795
-rm9200                 MACH_RM9200             RM9200                  796
-dma03                  MACH_DMA03              DMA03                   797
-road_s101              MACH_ROAD_S101          ROAD_S101               798
-iq_nextgen_a           MACH_IQ_NEXTGEN_A       IQ_NEXTGEN_A            799
-iq_nextgen_b           MACH_IQ_NEXTGEN_B       IQ_NEXTGEN_B            800
-iq_nextgen_c           MACH_IQ_NEXTGEN_C       IQ_NEXTGEN_C            801
-iq_nextgen_d           MACH_IQ_NEXTGEN_D       IQ_NEXTGEN_D            802
-iq_nextgen_e           MACH_IQ_NEXTGEN_E       IQ_NEXTGEN_E            803
-mallow_at91            MACH_MALLOW_AT91        MALLOW_AT91             804
-cybertracker_i         MACH_CYBERTRACKER_I     CYBERTRACKER_I          805
-gesbc931x              MACH_GESBC931X          GESBC931X               806
-centipad               MACH_CENTIPAD           CENTIPAD                807
-armsoc                 MACH_ARMSOC             ARMSOC                  808
-se4200                 MACH_SE4200             SE4200                  809
-ems197a                        MACH_EMS197A            EMS197A                 810
-micro9                 MACH_MICRO9             MICRO9                  811
-micro9l                        MACH_MICRO9L            MICRO9L                 812
-uc5471dsp              MACH_UC5471DSP          UC5471DSP               813
-sj5471eng              MACH_SJ5471ENG          SJ5471ENG               814
-none                   MACH_CMPXA26X           CMPXA26X                815
-nc1                    MACH_NC                 NC                      816
-omap_palmte            MACH_OMAP_PALMTE        OMAP_PALMTE             817
-ajax52x                        MACH_AJAX52X            AJAX52X                 818
-siriustar              MACH_SIRIUSTAR          SIRIUSTAR               819
-iodata_hdlg            MACH_IODATA_HDLG        IODATA_HDLG             820
-at91rm9200utl          MACH_AT91RM9200UTL      AT91RM9200UTL           821
-biosafe                        MACH_BIOSAFE            BIOSAFE                 822
-mp1000                 MACH_MP1000             MP1000                  823
-parsy                  MACH_PARSY              PARSY                   824
-ccxp270                        MACH_CCXP               CCXP                    825
-omap_gsample           MACH_OMAP_GSAMPLE       OMAP_GSAMPLE            826
-realview_eb            MACH_REALVIEW_EB        REALVIEW_EB             827
-samoa                  MACH_SAMOA              SAMOA                   828
-t3xscale               MACH_T3XSCALE           T3XSCALE                829
-i878                   MACH_I878               I878                    830
-borzoi                 MACH_BORZOI             BORZOI                  831
-gecko                  MACH_GECKO              GECKO                   832
-ds101                  MACH_DS101              DS101                   833
-omap_palmtt2           MACH_OMAP_PALMTT2       OMAP_PALMTT2            834
-xscale_palmld          MACH_XSCALE_PALMLD      XSCALE_PALMLD           835
-cc9c                   MACH_CC9C               CC9C                    836
-sbc1670                        MACH_SBC1670            SBC1670                 837
-ixdp28x5               MACH_IXDP28X5           IXDP28X5                838
-omap_palmtt            MACH_OMAP_PALMTT        OMAP_PALMTT             839
-ml696k                 MACH_ML696K             ML696K                  840
-arcom_zeus             MACH_ARCOM_ZEUS         ARCOM_ZEUS              841
-osiris                 MACH_OSIRIS             OSIRIS                  842
-maestro                        MACH_MAESTRO            MAESTRO                 843
-tunge2                 MACH_TUNGE2             TUNGE2                  844
-ixbbm                  MACH_IXBBM              IXBBM                   845
-mx27ads                        MACH_MX27               MX27                    846
-ax8004                 MACH_AX8004             AX8004                  847
-at91sam9261ek          MACH_AT91SAM9261EK      AT91SAM9261EK           848
-loft                   MACH_LOFT               LOFT                    849
-magpie                 MACH_MAGPIE             MAGPIE                  850
-mx21ads                        MACH_MX21               MX21                    851
-mb87m3400              MACH_MB87M3400          MB87M3400               852
-mguard_delta           MACH_MGUARD_DELTA       MGUARD_DELTA            853
-davinci_dvdp           MACH_DAVINCI_DVDP       DAVINCI_DVDP            854
-htcuniversal           MACH_HTCUNIVERSAL       HTCUNIVERSAL            855
-tpad                   MACH_TPAD               TPAD                    856
-roverp3                        MACH_ROVERP3            ROVERP3                 857
-jornada928             MACH_JORNADA928         JORNADA928              858
-mv88fxx81              MACH_MV88FXX81          MV88FXX81               859
-stmp36xx               MACH_STMP36XX           STMP36XX                860
-sxni79524              MACH_SXNI79524          SXNI79524               861
-ams_delta              MACH_AMS_DELTA          AMS_DELTA               862
-uranium                        MACH_URANIUM            URANIUM                 863
-ucon                   MACH_UCON               UCON                    864
-nas100d                        MACH_NAS100D            NAS100D                 865
-l083                   MACH_L083_1000          L083_1000               866
-ezx                    MACH_EZX                EZX                     867
-pnx5220                        MACH_PNX5220            PNX5220                 868
-butte                  MACH_BUTTE              BUTTE                   869
-srm2                   MACH_SRM2               SRM2                    870
-dsbr                   MACH_DSBR               DSBR                    871
-crystalball            MACH_CRYSTALBALL        CRYSTALBALL             872
-tinypxa27x             MACH_TINYPXA27X         TINYPXA27X              873
-herbie                 MACH_HERBIE             HERBIE                  874
-magician               MACH_MAGICIAN           MAGICIAN                875
-cm4002                 MACH_CM4002             CM4002                  876
-b4                     MACH_B4                 B4                      877
-maui                   MACH_MAUI               MAUI                    878
-cybertracker_g         MACH_CYBERTRACKER_G     CYBERTRACKER_G          879
-nxdkn                  MACH_NXDKN              NXDKN                   880
-mio8390                        MACH_MIO8390            MIO8390                 881
-omi_board              MACH_OMI_BOARD          OMI_BOARD               882
-mx21civ                        MACH_MX21CIV            MX21CIV                 883
-mahi_cdac              MACH_MAHI_CDAC          MAHI_CDAC               884
-xscale_palmtx          MACH_XSCALE_PALMTX      XSCALE_PALMTX           885
-s3c2413                        MACH_S3C2413            S3C2413                 887
-samsys_ep0             MACH_SAMSYS_EP0         SAMSYS_EP0              888
-wg302v1                        MACH_WG302V1            WG302V1                 889
-wg302v2                        MACH_WG302V2            WG302V2                 890
-eb42x                  MACH_EB42X              EB42X                   891
-iq331es                        MACH_IQ331ES            IQ331ES                 892
-cosydsp                        MACH_COSYDSP            COSYDSP                 893
-uplat7d_proto          MACH_UPLAT7D            UPLAT7D                 894
-ptdavinci              MACH_PTDAVINCI          PTDAVINCI               895
-mbus                   MACH_MBUS               MBUS                    896
-nadia2vb               MACH_NADIA2VB           NADIA2VB                897
-r1000                  MACH_R1000              R1000                   898
-hw90250                        MACH_HW90250            HW90250                 899
-omap_2430sdp           MACH_OMAP_2430SDP       OMAP_2430SDP            900
-davinci_evm            MACH_DAVINCI_EVM        DAVINCI_EVM             901
-omap_tornado           MACH_OMAP_TORNADO       OMAP_TORNADO            902
-olocreek               MACH_OLOCREEK           OLOCREEK                903
-palmz72                        MACH_PALMZ72            PALMZ72                 904
-nxdb500                        MACH_NXDB500            NXDB500                 905
-apf9328                        MACH_APF9328            APF9328                 906
-omap_wipoq             MACH_OMAP_WIPOQ         OMAP_WIPOQ              907
-omap_twip              MACH_OMAP_TWIP          OMAP_TWIP               908
-xscale_treo650         MACH_XSCALE_PALMTREO650 XSCALE_PALMTREO650      909
-acumen                 MACH_ACUMEN             ACUMEN                  910
-xp100                  MACH_XP100              XP100                   911
-fs2410                 MACH_FS2410             FS2410                  912
-pxa270_cerf            MACH_PXA270_CERF        PXA270_CERF             913
-sq2ftlpalm             MACH_SQ2FTLPALM         SQ2FTLPALM              914
-bsemserver             MACH_BSEMSERVER         BSEMSERVER              915
-netclient              MACH_NETCLIENT          NETCLIENT               916
-xscale_palmtt5         MACH_XSCALE_PALMTT5     XSCALE_PALMTT5          917
-xscale_palmtc          MACH_OMAP_PALMTC        OMAP_PALMTC             918
-omap_apollon           MACH_OMAP_APOLLON       OMAP_APOLLON            919
-mxc30030evb            MACH_MXC30030EVB        MXC30030EVB             920
-rea_2d                 MACH_REA_2D             REA_2D                  921
-eti3e524               MACH_TI3E524            TI3E524                 922
-ateb9200               MACH_ATEB9200           ATEB9200                923
-auckland               MACH_AUCKLAND           AUCKLAND                924
-ak3220m                        MACH_AK3320M            AK3320M                 925
-duramax                        MACH_DURAMAX            DURAMAX                 926
-n35                    MACH_N35                N35                     927
-pronghorn              MACH_PRONGHORN          PRONGHORN               928
-fundy                  MACH_FUNDY              FUNDY                   929
-logicpd_pxa270         MACH_LOGICPD_PXA270     LOGICPD_PXA270          930
-cpu777                 MACH_CPU777             CPU777                  931
-simicon9201            MACH_SIMICON9201        SIMICON9201             932
-leap2_hpm              MACH_LEAP2_HPM          LEAP2_HPM               933
-cm922txa10             MACH_CM922TXA10         CM922TXA10              934
-sandgate               MACH_PXA                PXA                     935
-sandgate2              MACH_SANDGATE2          SANDGATE2               936
-sandgate2g             MACH_SANDGATE2G         SANDGATE2G              937
-sandgate2p             MACH_SANDGATE2P         SANDGATE2P              938
-fred_jack              MACH_FRED_JACK          FRED_JACK               939
-ttg_color1             MACH_TTG_COLOR1         TTG_COLOR1              940
-nxeb500hmi             MACH_NXEB500HMI         NXEB500HMI              941
-netdcu8                        MACH_NETDCU8            NETDCU8                 942
-ml675050_cpu_boa       MACH_ML675050_CPU_BOA   ML675050_CPU_BOA        943
-ng_fvx538              MACH_NG_FVX538          NG_FVX538               944
-ng_fvs338              MACH_NG_FVS338          NG_FVS338               945
-pnx4103                        MACH_PNX4103            PNX4103                 946
-hesdb                  MACH_HESDB              HESDB                   947
-xsilo                  MACH_XSILO              XSILO                   948
-espresso               MACH_ESPRESSO           ESPRESSO                949
-emlc                   MACH_EMLC               EMLC                    950
-sisteron               MACH_SISTERON           SISTERON                951
-rx1950                 MACH_RX1950             RX1950                  952
-tsc_venus              MACH_TSC_VENUS          TSC_VENUS               953
-ds101j                 MACH_DS101J             DS101J                  954
-mxc30030ads            MACH_MXC30030ADS        MXC30030ADS             955
-fujitsu_wimaxsoc       MACH_FUJITSU_WIMAXSOC   FUJITSU_WIMAXSOC        956
-dualpcmodem            MACH_DUALPCMODEM        DUALPCMODEM             957
-gesbc9312              MACH_GESBC9312          GESBC9312               958
-htcapache              MACH_HTCAPACHE          HTCAPACHE               959
-ixdp435                        MACH_IXDP435            IXDP435                 960
-catprovt100            MACH_CATPROVT100        CATPROVT100             961
-picotux1xx             MACH_PICOTUX1XX         PICOTUX1XX              962
-picotux2xx             MACH_PICOTUX2XX         PICOTUX2XX              963
-dsmg600                        MACH_DSMG600            DSMG600                 964
-empc2                  MACH_EMPC2              EMPC2                   965
-ventura                        MACH_VENTURA            VENTURA                 966
-phidget_sbc            MACH_PHIDGET_SBC        PHIDGET_SBC             967
-ij3k                   MACH_IJ3K               IJ3K                    968
-pisgah                 MACH_PISGAH             PISGAH                  969
-omap_fsample           MACH_OMAP_FSAMPLE       OMAP_FSAMPLE            970
-sg720                  MACH_SG720              SG720                   971
-redfox                 MACH_REDFOX             REDFOX                  972
-mysh_ep9315_1          MACH_MYSH_EP9315_1      MYSH_EP9315_1           973
-tpf106                 MACH_TPF106             TPF106                  974
-at91rm9200kg           MACH_AT91RM9200KG       AT91RM9200KG            975
-rcmt2                  MACH_SLEDB              SLEDB                   976
-ontrack                        MACH_ONTRACK            ONTRACK                 977
-pm1200                 MACH_PM1200             PM1200                  978
-ess24562               MACH_ESS24XXX           ESS24XXX                979
-coremp7                        MACH_COREMP7            COREMP7                 980
-nexcoder_6446          MACH_NEXCODER_6446      NEXCODER_6446           981
-stvc8380               MACH_STVC8380           STVC8380                982
-teklynx                        MACH_TEKLYNX            TEKLYNX                 983
-carbonado              MACH_CARBONADO          CARBONADO               984
-sysmos_mp730           MACH_SYSMOS_MP730       SYSMOS_MP730            985
-snapper_cl15           MACH_SNAPPER_CL15       SNAPPER_CL15            986
-pgigim                 MACH_PGIGIM             PGIGIM                  987
-ptx9160p2              MACH_PTX9160P2          PTX9160P2               988
-dcore1                 MACH_DCORE1             DCORE1                  989
-victorpxa              MACH_VICTORPXA          VICTORPXA               990
-mx2dtb                 MACH_MX2DTB             MX2DTB                  991
-pxa_irex_er0100                MACH_PXA_IREX_ER0100    PXA_IREX_ER0100         992
-omap_palmz71           MACH_OMAP_PALMZ71       OMAP_PALMZ71            993
-bartec_deg             MACH_BARTEC_DEG         BARTEC_DEG              994
-hw50251                        MACH_HW50251            HW50251                 995
-ibox                   MACH_IBOX               IBOX                    996
-atlaslh7a404           MACH_ATLASLH7A404       ATLASLH7A404            997
-pt2026                 MACH_PT2026             PT2026                  998
-htcalpine              MACH_HTCALPINE          HTCALPINE               999
-bartec_vtu             MACH_BARTEC_VTU         BARTEC_VTU              1000
-vcoreii                        MACH_VCOREII            VCOREII                 1001
-pdnb3                  MACH_PDNB3              PDNB3                   1002
-htcbeetles             MACH_HTCBEETLES         HTCBEETLES              1003
-s3c6400                        MACH_S3C6400            S3C6400                 1004
-s3c2443                        MACH_S3C2443            S3C2443                 1005
-omap_ldk               MACH_OMAP_LDK           OMAP_LDK                1006
-smdk2460               MACH_SMDK2460           SMDK2460                1007
-smdk2440               MACH_SMDK2440           SMDK2440                1008
-smdk2412               MACH_SMDK2412           SMDK2412                1009
-webbox                 MACH_WEBBOX             WEBBOX                  1010
-cwwndp                 MACH_CWWNDP             CWWNDP                  1011
-i839                   MACH_DRAGON             DRAGON                  1012
-opendo_cpu_board       MACH_OPENDO_CPU_BOARD   OPENDO_CPU_BOARD        1013
-ccm2200                        MACH_CCM2200            CCM2200                 1014
-etwarm                 MACH_ETWARM             ETWARM                  1015
-m93030                 MACH_M93030             M93030                  1016
-cc7u                   MACH_CC7U               CC7U                    1017
-mtt_ranger             MACH_MTT_RANGER         MTT_RANGER              1018
-nexus                  MACH_NEXUS              NEXUS                   1019
-desman                 MACH_DESMAN             DESMAN                  1020
-bkde303                        MACH_BKDE303            BKDE303                 1021
-smdk2413               MACH_SMDK2413           SMDK2413                1022
-aml_m7200              MACH_AML_M7200          AML_M7200               1023
-aml_m5900              MACH_AML_M5900          AML_M5900               1024
-sg640                  MACH_SG640              SG640                   1025
-edg79524               MACH_EDG79524           EDG79524                1026
-ai2410                 MACH_AI2410             AI2410                  1027
-ixp465                 MACH_IXP465             IXP465                  1028
-balloon3               MACH_BALLOON3           BALLOON3                1029
-heins                  MACH_HEINS              HEINS                   1030
-mpluseva               MACH_MPLUSEVA           MPLUSEVA                1031
-rt042                  MACH_RT042              RT042                   1032
-cwiem                  MACH_CWIEM              CWIEM                   1033
-cm_x270                        MACH_CM_X270            CM_X270                 1034
-cm_x255                        MACH_CM_X255            CM_X255                 1035
-esh_at91               MACH_ESH_AT91           ESH_AT91                1036
-sandgate3              MACH_SANDGATE3          SANDGATE3               1037
-primo                  MACH_PRIMO              PRIMO                   1038
-gemstone               MACH_GEMSTONE           GEMSTONE                1039
-pronghorn_metro                MACH_PRONGHORNMETRO     PRONGHORNMETRO          1040
-sidewinder             MACH_SIDEWINDER         SIDEWINDER              1041
-picomod1               MACH_PICOMOD1           PICOMOD1                1042
-sg590                  MACH_SG590              SG590                   1043
-akai9307               MACH_AKAI9307           AKAI9307                1044
-fontaine               MACH_FONTAINE           FONTAINE                1045
-wombat                 MACH_WOMBAT             WOMBAT                  1046
-acq300                 MACH_ACQ300             ACQ300                  1047
-mod_270                        MACH_MOD_270            MOD_270                 1048
-vmc_vc0820             MACH_VC0820             VC0820                  1049
-ani_aim                        MACH_ANI_AIM            ANI_AIM                 1050
-jellyfish              MACH_JELLYFISH          JELLYFISH               1051
-amanita                        MACH_AMANITA            AMANITA                 1052
-vlink                  MACH_VLINK              VLINK                   1053
-dexflex                        MACH_DEXFLEX            DEXFLEX                 1054
-eigen_ttq              MACH_EIGEN_TTQ          EIGEN_TTQ               1055
-arcom_titan            MACH_ARCOM_TITAN        ARCOM_TITAN             1056
-tabla                  MACH_TABLA              TABLA                   1057
-mdirac3                        MACH_MDIRAC3            MDIRAC3                 1058
-mrhfbp2                        MACH_MRHFBP2            MRHFBP2                 1059
-at91rm9200rb           MACH_AT91RM9200RB       AT91RM9200RB            1060
-ani_apm                        MACH_ANI_APM            ANI_APM                 1061
-ella1                  MACH_ELLA1              ELLA1                   1062
-inhand_pxa27x          MACH_INHAND_PXA27X      INHAND_PXA27X           1063
-inhand_pxa25x          MACH_INHAND_PXA25X      INHAND_PXA25X           1064
-empos_xm               MACH_EMPOS_XM           EMPOS_XM                1065
-empos                  MACH_EMPOS              EMPOS                   1066
-empos_tiny             MACH_EMPOS_TINY         EMPOS_TINY              1067
-empos_sm               MACH_EMPOS_SM           EMPOS_SM                1068
-egret                  MACH_EGRET              EGRET                   1069
-ostrich                        MACH_OSTRICH            OSTRICH                 1070
-n50                    MACH_N50                N50                     1071
-ecbat91                        MACH_ECBAT91            ECBAT91                 1072
-stareast               MACH_STAREAST           STAREAST                1073
-dspg_dw                        MACH_DSPG_DW            DSPG_DW                 1074
-onearm                 MACH_ONEARM             ONEARM                  1075
-mrg110_6               MACH_MRG110_6           MRG110_6                1076
-wrt300nv2              MACH_WRT300NV2          WRT300NV2               1077
-xm_bulverde            MACH_XM_BULVERDE        XM_BULVERDE             1078
-msm6100                        MACH_MSM6100            MSM6100                 1079
-eti_b1                 MACH_ETI_B1             ETI_B1                  1080
-za9l_series            MACH_ZILOG_ZA9L         ZILOG_ZA9L              1081
-bit2440                        MACH_BIT2440            BIT2440                 1082
diff --git a/meta/packages/linux/linux-cmx270-rp_2.6.17.bb b/meta/packages/linux/linux-cmx270-rp_2.6.17.bb
deleted file mode 100644 (file)
index 8c601fc..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-SECTION = "kernel"
-DESCRIPTION = "Linux kernel for Compulab cmx270"
-LICENSE = "GPL"
-PR = "r1"
-
-DEFAULT_PREFERENCE = "-1"
-
-SRC_URI = "${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.17.tar.bz2 \
-           http://www.rpsys.net/openzaurus/patches/archive/cmx270/cm_x2xx_ide-r1.patch;patch=1 \
-           http://www.rpsys.net/openzaurus/patches/archive/cmx270/cm_x2xx_mtd-r2.patch;patch=1 \
-           http://www.rpsys.net/openzaurus/patches/archive/cmx270/it8152_pci-r1.patch;patch=1 \
-           http://www.rpsys.net/openzaurus/patches/archive/cmx270/cm_x2xx_core-r2.patch;patch=1 \
-           http://www.rpsys.net/openzaurus/patches/archive/cmx270/cm_x2xx_mbx.patch;patch=1 \ 
-           http://www.rpsys.net/openzaurus/patches/archive/cmx270/cm_x2xx_pccard-r1.patch;patch=1 \
-           http://www.rpsys.net/openzaurus/patches/archive/cmx270/it8711_sio-r1.patch;patch=1 \
-           http://www.rpsys.net/openzaurus/patches/archive/cmx270/cm_x2xx_core_Kconfig-r1.patch;patch=1 \
-          file://defconfig"
-
-S = "${WORKDIR}/linux-2.6.17"
-
-# to get module dependencies working
-KERNEL_RELEASE = "2.6.17"
-
-KERNEL_IMAGETYPE = "vmlinux"
-KERNEL_OUTPUT = "arch/${ARCH}/boot/compressed/${KERNEL_IMAGETYPE}"
-
-inherit kernel
-
-COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE = "cmx270"
-
-do_configure_prepend() {
-       install -m 0644 ${WORKDIR}/defconfig ${S}/.config
-        oe_runmake oldconfig
-}
-
-do_deploy() {
-        install -d ${DEPLOY_DIR}/images
-        install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin
-}
-
-do_deploy[dirs] = "${S}"
-
-addtask deploy before do_build after do_compile
diff --git a/meta/packages/linux/linux-cmx270_2.6.16.bb b/meta/packages/linux/linux-cmx270_2.6.16.bb
deleted file mode 100644 (file)
index 3e0e8b5..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-SECTION = "kernel"
-DESCRIPTION = "Linux kernel CM-X270"
-LICENSE = "GPL"
-PR = "r1"
-
-SRC_URI = "${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.16.tar.bz2 \
-          file://diff-2.6.16-cm-x270;patch=1                               \
-          file://CL_FlashDrv"
-
-S = "${WORKDIR}//linux-2.6.16"
-
-KERNEL_OUTPUT = "arch/${ARCH}/boot/compressed/${KERNEL_IMAGETYPE}"
-
-inherit kernel
-
-COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE = "cmx270"
-
-do_configure_prepend() {
-        install -m 0644 ${S}/arch/arm/configs/cm_x270_defconfig ${S}/.config
-        install -m 0644 ${WORKDIR}/CL_FlashDrv ${S}/drivers/block/cl_flash
-        oe_runmake oldconfig
-}
-
-do_deploy() {
-        install -d ${DEPLOY_DIR}/images
-        install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin
-}
-
-do_deploy[dirs] = "${S}"
-
-addtask deploy before do_build after do_compile
-
-KERNEL_RELEASE = "2.6.16"
diff --git a/meta/packages/linux/linux-cmx270_2.6.17.bb b/meta/packages/linux/linux-cmx270_2.6.17.bb
deleted file mode 100644 (file)
index bb65518..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-SECTION = "kernel"
-DESCRIPTION = "Linux kernel CM-X270"
-LICENSE = "GPL"
-PR = "r7"
-
-DEFAULT_PREFERENCE = "-1"
-
-SRC_URI = "${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.17.tar.bz2 \
-          http://raph.people.8d.com/kernels/8d-cmx2xx-2.6.17.1-june21.diff;patch=1 \
-           http://raph.people.8d.com/kernels/hardcode-archID.diff;patch=1 \
-          file://cm_x2xx_mbx.patch;patch=1                               \
-           file://add_2700g_plat-r0.patch;patch=1                         \
-          file://mtd_fixes-r0.patch;patch=1                              \
-          file://mtd_fixes1-r0.patch;patch=1                             \
-          file://mach-types \
-          file://defconfig"
-
-S = "${WORKDIR}//linux-2.6.17"
-
-KERNEL_OUTPUT = "arch/${ARCH}/boot/compressed/${KERNEL_IMAGETYPE}"
-
-inherit kernel
-
-COMPATIBLE_HOST = "arm.*-linux"
-COMPATIBLE_MACHINE = "cmx270"
-
-do_configure_prepend() {
-        install -m 0644 ${WORKDIR}/defconfig ${S}/.config
-        install -m 0644 ${WORKDIR}/mach-types ${S}/arch/arm/tools/mach-types
-        oe_runmake oldconfig
-}
-
-do_deploy() {
-        install -d ${DEPLOY_DIR}/images
-        install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin
-}
-
-do_deploy[dirs] = "${S}"
-
-addtask deploy before do_build after do_compile
-
-KERNEL_RELEASE = "2.6.17"