linux 2.6.22: merge cm-x270 kernel (from compulab-pxa270 recipe)
authorMarcin Juszkiewicz <hrw@openembedded.org>
Sun, 7 Oct 2007 18:26:48 +0000 (18:26 +0000)
committerMarcin Juszkiewicz <hrw@openembedded.org>
Sun, 7 Oct 2007 18:26:48 +0000 (18:26 +0000)
25 files changed:
packages/linux/compulab-pxa270-2.6.22/.mtn2git_empty [deleted file]
packages/linux/compulab-pxa270-2.6.22/0001-cm-x270-base2.patch [deleted file]
packages/linux/compulab-pxa270-2.6.22/0002-cm-x270-match-type.patch [deleted file]
packages/linux/compulab-pxa270-2.6.22/0003-cm-x270-ide.patch [deleted file]
packages/linux/compulab-pxa270-2.6.22/0004-cm-x270-it8152.patch [deleted file]
packages/linux/compulab-pxa270-2.6.22/0005-cm-x270-pcmcia.patch [deleted file]
packages/linux/compulab-pxa270-2.6.22/0006-ramdisk_load.patch [deleted file]
packages/linux/compulab-pxa270-2.6.22/0007-mmcsd_large_cards-r0.patch [deleted file]
packages/linux/compulab-pxa270-2.6.22/0008-cm-x270-nand-simplify-name.patch [deleted file]
packages/linux/compulab-pxa270-2.6.22/0009-cursor-fix.patch [deleted file]
packages/linux/compulab-pxa270-2.6.22/defconfig [deleted file]
packages/linux/compulab-pxa270_2.6.22.bb [deleted file]
packages/linux/linux-2.6.22/.mtn2git_empty [new file with mode: 0644]
packages/linux/linux-2.6.22/cm-x270/.mtn2git_empty [new file with mode: 0644]
packages/linux/linux-2.6.22/cm-x270/0001-cm-x270-base2.patch [new file with mode: 0644]
packages/linux/linux-2.6.22/cm-x270/0002-cm-x270-match-type.patch [new file with mode: 0644]
packages/linux/linux-2.6.22/cm-x270/0003-cm-x270-ide.patch [new file with mode: 0644]
packages/linux/linux-2.6.22/cm-x270/0004-cm-x270-it8152.patch [new file with mode: 0644]
packages/linux/linux-2.6.22/cm-x270/0005-cm-x270-pcmcia.patch [new file with mode: 0644]
packages/linux/linux-2.6.22/cm-x270/0006-ramdisk_load.patch [new file with mode: 0644]
packages/linux/linux-2.6.22/cm-x270/0007-mmcsd_large_cards-r0.patch [new file with mode: 0644]
packages/linux/linux-2.6.22/cm-x270/0008-cm-x270-nand-simplify-name.patch [new file with mode: 0644]
packages/linux/linux-2.6.22/cm-x270/0009-cursor-fix.patch [new file with mode: 0644]
packages/linux/linux-2.6.22/cm-x270/defconfig [new file with mode: 0644]
packages/linux/linux_2.6.22.bb

diff --git a/packages/linux/compulab-pxa270-2.6.22/.mtn2git_empty b/packages/linux/compulab-pxa270-2.6.22/.mtn2git_empty
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/packages/linux/compulab-pxa270-2.6.22/0001-cm-x270-base2.patch b/packages/linux/compulab-pxa270-2.6.22/0001-cm-x270-base2.patch
deleted file mode 100644 (file)
index 9a635c5..0000000
+++ /dev/null
@@ -1,2850 +0,0 @@
-From 0db989f536f29c343bb4e42dc0b34d892d86de60 Mon Sep 17 00:00:00 2001
-From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
-Date: Fri, 20 Jul 2007 18:55:59 -0400
-Subject: [PATCH] cm-x270-base2
-
----
- arch/arm/Kconfig                    |    8 +-
- arch/arm/configs/cm_x270_defconfig  | 1567 +++++++++++++++++++++++++++++++++++
- arch/arm/mach-pxa/Kconfig           |    5 +
- arch/arm/mach-pxa/Makefile          |    7 +
- arch/arm/mach-pxa/cm-x270.c         |  821 ++++++++++++++++++
- drivers/leds/Kconfig                |    6 +
- drivers/leds/Makefile               |    1 +
- drivers/leds/leds-cm-x270.c         |  126 +++
- drivers/net/Kconfig                 |    8 +
- drivers/net/dm9000.c                |    6 +
- include/asm-arm/arch-pxa/cm-x270.h  |   71 ++
- include/asm-arm/arch-pxa/hardware.h |   11 +
- include/asm-arm/arch-pxa/irqs.h     |   20 +
- include/asm-arm/memory.h            |   10 +
- 14 files changed, 2666 insertions(+), 1 deletions(-)
- create mode 100644 arch/arm/configs/cm_x270_defconfig
- create mode 100644 arch/arm/mach-pxa/cm-x270.c
- create mode 100644 drivers/leds/leds-cm-x270.c
- create mode 100644 include/asm-arm/arch-pxa/cm-x270.h
-
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 50d9f3e..dec0a27 100644
---- a/arch/arm/Kconfig
-+++ b/arch/arm/Kconfig
-@@ -519,7 +519,7 @@ config ISA_DMA_API
-       bool
- config PCI
--      bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695
-+      bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || 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
-@@ -537,6 +537,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"
-diff --git a/arch/arm/configs/cm_x270_defconfig b/arch/arm/configs/cm_x270_defconfig
-new file mode 100644
-index 0000000..f728363
---- /dev/null
-+++ b/arch/arm/configs/cm_x270_defconfig
-@@ -0,0 +1,1567 @@
-+#
-+# Automatically generated make config: don't edit
-+# Linux kernel version: 2.6.21-rc4
-+# Wed Apr  4 16:42:03 2007
-+#
-+CONFIG_ARM=y
-+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-+CONFIG_GENERIC_GPIO=y
-+CONFIG_GENERIC_TIME=y
-+CONFIG_MMU=y
-+# CONFIG_NO_IOPORT is not set
-+CONFIG_GENERIC_HARDIRQS=y
-+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-+CONFIG_HARDIRQS_SW_RESEND=y
-+CONFIG_GENERIC_IRQ_PROBE=y
-+CONFIG_RWSEM_GENERIC_SPINLOCK=y
-+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-+CONFIG_GENERIC_HWEIGHT=y
-+CONFIG_GENERIC_CALIBRATE_DELAY=y
-+CONFIG_ZONE_DMA=y
-+CONFIG_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=""
-+# CONFIG_LOCALVERSION_AUTO is not set
-+CONFIG_SWAP=y
-+CONFIG_SYSVIPC=y
-+# CONFIG_IPC_NS is not set
-+CONFIG_SYSVIPC_SYSCTL=y
-+# CONFIG_POSIX_MQUEUE is not set
-+# CONFIG_BSD_PROCESS_ACCT is not set
-+# CONFIG_TASKSTATS is not set
-+# CONFIG_UTS_NS is not set
-+# CONFIG_AUDIT is not set
-+CONFIG_IKCONFIG=y
-+CONFIG_IKCONFIG_PROC=y
-+CONFIG_SYSFS_DEPRECATED=y
-+# CONFIG_RELAY is not set
-+CONFIG_BLK_DEV_INITRD=y
-+CONFIG_INITRAMFS_SOURCE=""
-+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-+CONFIG_SYSCTL=y
-+CONFIG_EMBEDDED=y
-+CONFIG_UID16=y
-+CONFIG_SYSCTL_SYSCALL=y
-+CONFIG_KALLSYMS=y
-+# CONFIG_KALLSYMS_ALL is not set
-+# CONFIG_KALLSYMS_EXTRA_PASS is not set
-+CONFIG_HOTPLUG=y
-+CONFIG_PRINTK=y
-+CONFIG_BUG=y
-+CONFIG_ELF_CORE=y
-+CONFIG_BASE_FULL=y
-+CONFIG_FUTEX=y
-+CONFIG_EPOLL=y
-+CONFIG_SHMEM=y
-+CONFIG_SLAB=y
-+CONFIG_VM_EVENT_COUNTERS=y
-+CONFIG_RT_MUTEXES=y
-+# CONFIG_TINY_SHMEM is not set
-+CONFIG_BASE_SMALL=0
-+# CONFIG_SLOB is not set
-+
-+#
-+# Loadable module support
-+#
-+CONFIG_MODULES=y
-+CONFIG_MODULE_UNLOAD=y
-+CONFIG_MODULE_FORCE_UNLOAD=y
-+# CONFIG_MODVERSIONS is not set
-+# CONFIG_MODULE_SRCVERSION_ALL is not set
-+CONFIG_KMOD=y
-+
-+#
-+# Block layer
-+#
-+CONFIG_BLOCK=y
-+# CONFIG_LBD is not set
-+# CONFIG_BLK_DEV_IO_TRACE is not set
-+# CONFIG_LSF is not set
-+
-+#
-+# 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_IOP32X is not set
-+# CONFIG_ARCH_IOP33X is not set
-+# CONFIG_ARCH_IOP13XX is not set
-+# CONFIG_ARCH_IXP4XX is not set
-+# CONFIG_ARCH_IXP2000 is not set
-+# CONFIG_ARCH_IXP23XX is not set
-+# CONFIG_ARCH_L7200 is not set
-+# CONFIG_ARCH_NS9XXX is not set
-+# CONFIG_ARCH_PNX4008 is not set
-+CONFIG_ARCH_PXA=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_PXA27x=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
-+CONFIG_CPU_CP15=y
-+CONFIG_CPU_CP15_MMU=y
-+
-+#
-+# Processor Features
-+#
-+CONFIG_ARM_THUMB=y
-+# CONFIG_CPU_DCACHE_DISABLE is not set
-+# CONFIG_OUTER_CACHE is not set
-+CONFIG_IWMMXT=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=m
-+# CONFIG_PCMCIA_LOAD_CIS is not set
-+CONFIG_PCMCIA_IOCTL=y
-+CONFIG_CARDBUS=y
-+
-+#
-+# PC-card bridges
-+#
-+# CONFIG_YENTA is not set
-+# CONFIG_PD6729 is not set
-+# CONFIG_I82092 is not set
-+CONFIG_PCMCIA_PXA2XX=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_ZONE_DMA_FLAG=1
-+CONFIG_ALIGNMENT_TRAP=y
-+
-+#
-+# Boot options
-+#
-+CONFIG_ZBOOT_ROM_TEXT=0x0
-+CONFIG_ZBOOT_ROM_BSS=0x0
-+CONFIG_CMDLINE=""
-+# CONFIG_XIP_KERNEL is not set
-+# CONFIG_KEXEC is not set
-+
-+#
-+# Floating point emulation
-+#
-+
-+#
-+# At least one emulation must be selected
-+#
-+CONFIG_FPE_NWFPE=y
-+# CONFIG_FPE_NWFPE_XP is not set
-+# CONFIG_FPE_FASTFPE is not set
-+
-+#
-+# Userspace binary formats
-+#
-+CONFIG_BINFMT_ELF=y
-+# CONFIG_BINFMT_AOUT is not set
-+# CONFIG_BINFMT_MISC is not set
-+# CONFIG_ARTHUR is not set
-+
-+#
-+# Power management options
-+#
-+CONFIG_PM=y
-+# CONFIG_PM_LEGACY is not set
-+# CONFIG_PM_DEBUG is not set
-+# CONFIG_PM_SYSFS_DEPRECATED is not set
-+# CONFIG_APM_EMULATION 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_XFRM_SUB_POLICY is not set
-+# CONFIG_XFRM_MIGRATE is not set
-+# CONFIG_NET_KEY is not set
-+CONFIG_INET=y
-+# CONFIG_IP_MULTICAST is not set
-+# CONFIG_IP_ADVANCED_ROUTER is not set
-+CONFIG_IP_FIB_HASH=y
-+CONFIG_IP_PNP=y
-+CONFIG_IP_PNP_DHCP=y
-+CONFIG_IP_PNP_BOOTP=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_XFRM_MODE_BEET=y
-+CONFIG_INET_DIAG=y
-+CONFIG_INET_TCP_DIAG=y
-+# CONFIG_TCP_CONG_ADVANCED is not set
-+CONFIG_TCP_CONG_CUBIC=y
-+CONFIG_DEFAULT_TCP_CONG="cubic"
-+# CONFIG_TCP_MD5SIG is not set
-+# CONFIG_IPV6 is not set
-+# CONFIG_INET6_XFRM_TUNNEL is not set
-+# CONFIG_INET6_TUNNEL is not set
-+# CONFIG_NETWORK_SECMARK is not set
-+# CONFIG_NETFILTER is not set
-+
-+#
-+# DCCP Configuration (EXPERIMENTAL)
-+#
-+# CONFIG_IP_DCCP is not set
-+
-+#
-+# SCTP Configuration (EXPERIMENTAL)
-+#
-+# CONFIG_IP_SCTP is not set
-+
-+#
-+# TIPC Configuration (EXPERIMENTAL)
-+#
-+# CONFIG_TIPC is not set
-+# CONFIG_ATM is not set
-+# CONFIG_BRIDGE is not set
-+# CONFIG_VLAN_8021Q is not set
-+# CONFIG_DECNET is not set
-+# CONFIG_LLC2 is not set
-+# CONFIG_IPX is not set
-+# CONFIG_ATALK is not set
-+# CONFIG_X25 is not set
-+# CONFIG_LAPB is not set
-+# CONFIG_ECONET is not set
-+# CONFIG_WAN_ROUTER is not set
-+
-+#
-+# QoS and/or fair queueing
-+#
-+# CONFIG_NET_SCHED is not set
-+
-+#
-+# Network testing
-+#
-+# CONFIG_NET_PKTGEN is not set
-+# CONFIG_HAMRADIO is not set
-+# CONFIG_IRDA is not set
-+# CONFIG_BT is not set
-+CONFIG_IEEE80211=m
-+# CONFIG_IEEE80211_DEBUG is not set
-+CONFIG_IEEE80211_CRYPT_WEP=m
-+CONFIG_IEEE80211_CRYPT_CCMP=m
-+# CONFIG_IEEE80211_CRYPT_TKIP is not set
-+# CONFIG_IEEE80211_SOFTMAC 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_DEBUG_DEVRES is not set
-+# CONFIG_SYS_HYPERVISOR is not set
-+
-+#
-+# Connector - unified userspace <-> kernelspace linker
-+#
-+# CONFIG_CONNECTOR is not set
-+
-+#
-+# Memory Technology Devices (MTD)
-+#
-+CONFIG_MTD=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_AFS_PARTS is not set
-+
-+#
-+# User Modules And Translation Layers
-+#
-+CONFIG_MTD_CHAR=m
-+CONFIG_MTD_BLKDEVS=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
-+# CONFIG_SSFDC is not set
-+
-+#
-+# RAM/ROM/Flash chip drivers
-+#
-+# CONFIG_MTD_CFI is not set
-+# CONFIG_MTD_JEDECPROBE is not set
-+CONFIG_MTD_MAP_BANK_WIDTH_1=y
-+CONFIG_MTD_MAP_BANK_WIDTH_2=y
-+CONFIG_MTD_MAP_BANK_WIDTH_4=y
-+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-+CONFIG_MTD_CFI_I1=y
-+CONFIG_MTD_CFI_I2=y
-+# CONFIG_MTD_CFI_I4 is not set
-+# CONFIG_MTD_CFI_I8 is not set
-+# CONFIG_MTD_RAM is not set
-+# CONFIG_MTD_ROM is not set
-+# CONFIG_MTD_ABSENT is not set
-+# CONFIG_MTD_OBSOLETE_CHIPS is not set
-+
-+#
-+# Mapping drivers for chip access
-+#
-+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-+# CONFIG_MTD_SHARP_SL is not set
-+# CONFIG_MTD_PLATRAM is not set
-+
-+#
-+# Self-contained MTD device drivers
-+#
-+# CONFIG_MTD_PMC551 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_CAFE 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
-+#
-+# CONFIG_PNPACPI is not set
-+
-+#
-+# 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_RAM_BLOCKSIZE=1024
-+# CONFIG_CDROM_PKTCDVD is not set
-+# CONFIG_ATA_OVER_ETH is not set
-+
-+#
-+# ATA/ATAPI/MFM/RLL support
-+#
-+CONFIG_IDE=m
-+CONFIG_IDE_MAX_HWIFS=4
-+CONFIG_BLK_DEV_IDE=m
-+
-+#
-+# Please see Documentation/ide.txt for help/info on IDE drives
-+#
-+# CONFIG_BLK_DEV_IDE_SATA is not set
-+CONFIG_BLK_DEV_IDEDISK=m
-+# CONFIG_IDEDISK_MULTI_MODE is not set
-+CONFIG_BLK_DEV_IDECS=m
-+# CONFIG_BLK_DEV_DELKIN is not set
-+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 is not set
-+# 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_BLK_DEV_HD is not set
-+
-+#
-+# SCSI device support
-+#
-+# CONFIG_RAID_ATTRS is not set
-+CONFIG_SCSI=y
-+# CONFIG_SCSI_TGT is not set
-+# CONFIG_SCSI_NETLINK is not set
-+# CONFIG_SCSI_PROC_FS is not set
-+
-+#
-+# SCSI support type (disk, tape, CD-ROM)
-+#
-+CONFIG_BLK_DEV_SD=y
-+# CONFIG_CHR_DEV_ST is not set
-+# CONFIG_CHR_DEV_OSST is not set
-+# CONFIG_BLK_DEV_SR is not set
-+# CONFIG_CHR_DEV_SG is not set
-+# CONFIG_CHR_DEV_SCH is not set
-+
-+#
-+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-+#
-+# CONFIG_SCSI_MULTI_LUN is not set
-+# CONFIG_SCSI_CONSTANTS is not set
-+# CONFIG_SCSI_LOGGING is not set
-+# CONFIG_SCSI_SCAN_ASYNC is not set
-+
-+#
-+# SCSI Transports
-+#
-+# CONFIG_SCSI_SPI_ATTRS is not set
-+# CONFIG_SCSI_FC_ATTRS is not set
-+# CONFIG_SCSI_ISCSI_ATTRS is not set
-+# CONFIG_SCSI_SAS_ATTRS is not set
-+# CONFIG_SCSI_SAS_LIBSAS is not set
-+
-+#
-+# SCSI low-level drivers
-+#
-+# CONFIG_ISCSI_TCP is not set
-+# CONFIG_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_AIC94XX is not set
-+# CONFIG_SCSI_DPT_I2O is not set
-+# CONFIG_SCSI_ARCMSR is not set
-+# CONFIG_MEGARAID_NEWGEN is not set
-+# CONFIG_MEGARAID_LEGACY is not set
-+# CONFIG_MEGARAID_SAS 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_STEX is not set
-+# CONFIG_SCSI_SYM53C8XX_2 is not set
-+# CONFIG_SCSI_QLOGIC_1280 is not set
-+# CONFIG_SCSI_QLA_FC is not set
-+# CONFIG_SCSI_QLA_ISCSI 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
-+# CONFIG_SCSI_SRP 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
-+
-+#
-+# Serial ATA (prod) and Parallel ATA (experimental) drivers
-+#
-+# CONFIG_ATA is not set
-+
-+#
-+# Multi-device support (RAID and LVM)
-+#
-+# CONFIG_MD is not set
-+
-+#
-+# Fusion MPT device support
-+#
-+# CONFIG_FUSION is not set
-+# 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
-+# 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
-+# CONFIG_SC92031 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
-+# CONFIG_QLA3XXX is not set
-+# CONFIG_ATL1 is not set
-+
-+#
-+# Ethernet (10000 Mbit)
-+#
-+# CONFIG_CHELSIO_T1 is not set
-+# CONFIG_CHELSIO_T3 is not set
-+# CONFIG_IXGB is not set
-+# CONFIG_S2IO is not set
-+# CONFIG_MYRI10GE is not set
-+# CONFIG_NETXEN_NIC 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_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=m
-+# 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
-+# CONFIG_INPUT_FF_MEMLESS is not set
-+
-+#
-+# Userland interfaces
-+#
-+# CONFIG_INPUT_MOUSEDEV is not set
-+# 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=y
-+# CONFIG_TOUCHSCREEN_GUNZE is not set
-+# CONFIG_TOUCHSCREEN_ELO is not set
-+# CONFIG_TOUCHSCREEN_MTOUCH is not set
-+# CONFIG_TOUCHSCREEN_MK712 is not set
-+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-+CONFIG_TOUCHSCREEN_UCB1400=m
-+# CONFIG_INPUT_MISC is not set
-+
-+#
-+# Hardware I/O ports
-+#
-+# CONFIG_SERIO is not set
-+# CONFIG_GAMEPORT is not set
-+
-+#
-+# Character devices
-+#
-+CONFIG_VT=y
-+CONFIG_VT_CONSOLE=y
-+CONFIG_HW_CONSOLE=y
-+# CONFIG_VT_HW_CONSOLE_BINDING is not set
-+# CONFIG_SERIAL_NONSTANDARD is not set
-+
-+#
-+# Serial drivers
-+#
-+# CONFIG_SERIAL_8250 is not set
-+
-+#
-+# Non-8250 serial port support
-+#
-+CONFIG_SERIAL_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=m
-+# CONFIG_NVRAM is not set
-+# CONFIG_DTLK is not set
-+# CONFIG_R3964 is not set
-+# CONFIG_APPLICOM is not set
-+# 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
-+
-+#
-+# 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
-+#
-+# CONFIG_SGI_IOC4 is not set
-+# CONFIG_TIFM_CORE is not set
-+
-+#
-+# Multifunction device drivers
-+#
-+# CONFIG_MFD_SM501 is not set
-+
-+#
-+# LED devices
-+#
-+CONFIG_NEW_LEDS=y
-+CONFIG_LEDS_CLASS=y
-+
-+#
-+# LED drivers
-+#
-+CONFIG_LEDS_CM_X270=y
-+
-+#
-+# LED Triggers
-+#
-+CONFIG_LEDS_TRIGGERS=y
-+# CONFIG_LEDS_TRIGGER_TIMER is not set
-+# CONFIG_LEDS_TRIGGER_IDE_DISK is not set
-+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-+
-+#
-+# Multimedia devices
-+#
-+# CONFIG_VIDEO_DEV is not set
-+
-+#
-+# Digital Video Broadcasting Devices
-+#
-+# CONFIG_DVB is not set
-+# CONFIG_USB_DABUSB is not set
-+
-+#
-+# Graphics support
-+#
-+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-+CONFIG_FB=y
-+# CONFIG_FIRMWARE_EDID is not set
-+# CONFIG_FB_DDC is not set
-+CONFIG_FB_CFB_FILLRECT=y
-+CONFIG_FB_CFB_COPYAREA=y
-+CONFIG_FB_CFB_IMAGEBLIT=y
-+# CONFIG_FB_SVGALIB is not set
-+# CONFIG_FB_MACMODES is not set
-+# CONFIG_FB_BACKLIGHT is not set
-+# CONFIG_FB_MODE_HELPERS is not set
-+# CONFIG_FB_TILEBLITTING is not set
-+
-+#
-+# Frambuffer hardware drivers
-+#
-+# 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_S3 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
-+
-+#
-+# Sound
-+#
-+CONFIG_SOUND=m
-+
-+#
-+# Advanced Linux Sound Architecture
-+#
-+CONFIG_SND=m
-+CONFIG_SND_TIMER=m
-+CONFIG_SND_PCM=m
-+# CONFIG_SND_SEQUENCER is not set
-+CONFIG_SND_OSSEMUL=y
-+CONFIG_SND_MIXER_OSS=m
-+CONFIG_SND_PCM_OSS=m
-+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=m
-+# 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
-+# CONFIG_SND_AC97_POWER_SAVE is not set
-+
-+#
-+# ALSA ARM devices
-+#
-+CONFIG_SND_PXA2XX_PCM=m
-+CONFIG_SND_PXA2XX_AC97=m
-+
-+#
-+# USB devices
-+#
-+# CONFIG_SND_USB_AUDIO is not set
-+
-+#
-+# PCMCIA devices
-+#
-+# CONFIG_SND_VXPOCKET is not set
-+# CONFIG_SND_PDAUDIOCF is not set
-+
-+#
-+# SoC audio support
-+#
-+# CONFIG_SND_SOC is not set
-+
-+#
-+# Open Sound System
-+#
-+# CONFIG_SOUND_PRIME is not set
-+CONFIG_AC97_BUS=m
-+
-+#
-+# HID Devices
-+#
-+CONFIG_HID=y
-+# CONFIG_HID_DEBUG is not set
-+
-+#
-+# USB support
-+#
-+CONFIG_USB_ARCH_HAS_HCD=y
-+CONFIG_USB_ARCH_HAS_OHCI=y
-+CONFIG_USB_ARCH_HAS_EHCI=y
-+CONFIG_USB=y
-+# CONFIG_USB_DEBUG is not set
-+
-+#
-+# Miscellaneous USB options
-+#
-+CONFIG_USB_DEVICEFS=y
-+# CONFIG_USB_DYNAMIC_MINORS is not set
-+# CONFIG_USB_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_DESC is not set
-+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO 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_DPCM is not set
-+# CONFIG_USB_STORAGE_USBAT is not set
-+# CONFIG_USB_STORAGE_SDDR09 is not set
-+# CONFIG_USB_STORAGE_SDDR55 is not set
-+# CONFIG_USB_STORAGE_JUMPSHOT is not set
-+# CONFIG_USB_STORAGE_ALAUDA is not set
-+# CONFIG_USB_STORAGE_KARMA is not set
-+# CONFIG_USB_LIBUSUAL is not set
-+
-+#
-+# USB Input Devices
-+#
-+CONFIG_USB_HID=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
-+# CONFIG_USB_GTCO is not set
-+
-+#
-+# USB Imaging devices
-+#
-+# CONFIG_USB_MDC800 is not set
-+# CONFIG_USB_MICROTEK is not set
-+
-+#
-+# USB Network Adapters
-+#
-+# CONFIG_USB_CATC is not set
-+# CONFIG_USB_KAWETH is not set
-+# CONFIG_USB_PEGASUS is not set
-+# CONFIG_USB_RTL8150 is not set
-+# CONFIG_USB_USBNET_MII is not set
-+# CONFIG_USB_USBNET is not set
-+CONFIG_USB_MON=y
-+
-+#
-+# USB port drivers
-+#
-+
-+#
-+# USB Serial Converter support
-+#
-+# CONFIG_USB_SERIAL is not set
-+
-+#
-+# USB Miscellaneous drivers
-+#
-+# CONFIG_USB_EMI62 is not set
-+# CONFIG_USB_EMI26 is not set
-+# CONFIG_USB_ADUTUX is not set
-+# CONFIG_USB_AUERSWALD is not set
-+# CONFIG_USB_RIO500 is not set
-+# CONFIG_USB_LEGOTOWER is not set
-+# CONFIG_USB_LCD is not set
-+# CONFIG_USB_BERRY_CHARGE is not set
-+# CONFIG_USB_LED is not set
-+# CONFIG_USB_CYPRESS_CY7C63 is not set
-+# CONFIG_USB_CYTHERM is not set
-+# CONFIG_USB_PHIDGET is not set
-+# CONFIG_USB_IDMOUSE is not set
-+# CONFIG_USB_FTDI_ELAN is not set
-+# CONFIG_USB_APPLEDISPLAY is not set
-+# CONFIG_USB_LD is not set
-+# CONFIG_USB_TRANCEVIBRATOR is not set
-+# CONFIG_USB_IOWARRIOR is not set
-+# CONFIG_USB_TEST is not set
-+
-+#
-+# USB DSL modem support
-+#
-+
-+#
-+# USB Gadget Support
-+#
-+# CONFIG_USB_GADGET is not set
-+
-+#
-+# MMC/SD Card support
-+#
-+CONFIG_MMC=m
-+# CONFIG_MMC_DEBUG is not set
-+CONFIG_MMC_BLOCK=m
-+CONFIG_MMC_PXA=m
-+# CONFIG_MMC_SDHCI is not set
-+# CONFIG_MMC_TIFM_SD is not set
-+
-+#
-+# Real Time Clock
-+#
-+CONFIG_RTC_LIB=y
-+CONFIG_RTC_CLASS=y
-+CONFIG_RTC_HCTOSYS=y
-+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-+# CONFIG_RTC_DEBUG is not set
-+
-+#
-+# RTC interfaces
-+#
-+CONFIG_RTC_INTF_SYSFS=y
-+CONFIG_RTC_INTF_PROC=y
-+CONFIG_RTC_INTF_DEV=y
-+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-+
-+#
-+# RTC drivers
-+#
-+# CONFIG_RTC_DRV_CMOS is not set
-+# CONFIG_RTC_DRV_DS1553 is not set
-+# CONFIG_RTC_DRV_DS1742 is not set
-+# CONFIG_RTC_DRV_M48T86 is not set
-+CONFIG_RTC_DRV_SA1100=y
-+# CONFIG_RTC_DRV_TEST 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_EXT4DEV_FS is not set
-+CONFIG_JBD=y
-+# CONFIG_JBD_DEBUG is not set
-+CONFIG_FS_MBCACHE=y
-+# CONFIG_REISERFS_FS is not set
-+# CONFIG_JFS_FS is not set
-+# CONFIG_FS_POSIX_ACL is not set
-+# CONFIG_XFS_FS is not set
-+# CONFIG_GFS2_FS is not set
-+# CONFIG_OCFS2_FS is not set
-+# CONFIG_MINIX_FS is not set
-+# CONFIG_ROMFS_FS is not set
-+CONFIG_INOTIFY=y
-+CONFIG_INOTIFY_USER=y
-+# CONFIG_QUOTA is not set
-+CONFIG_DNOTIFY=y
-+# CONFIG_AUTOFS_FS is not set
-+# CONFIG_AUTOFS4_FS is not set
-+# CONFIG_FUSE_FS is not set
-+
-+#
-+# CD-ROM/DVD Filesystems
-+#
-+# CONFIG_ISO9660_FS is not set
-+# CONFIG_UDF_FS is not set
-+
-+#
-+# DOS/FAT/NT Filesystems
-+#
-+CONFIG_FAT_FS=y
-+CONFIG_MSDOS_FS=y
-+CONFIG_VFAT_FS=y
-+CONFIG_FAT_DEFAULT_CODEPAGE=437
-+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-+# CONFIG_NTFS_FS is not set
-+
-+#
-+# Pseudo filesystems
-+#
-+CONFIG_PROC_FS=y
-+CONFIG_PROC_SYSCTL=y
-+CONFIG_SYSFS=y
-+CONFIG_TMPFS=y
-+# CONFIG_TMPFS_POSIX_ACL is not set
-+# CONFIG_HUGETLB_PAGE is not set
-+CONFIG_RAMFS=y
-+# CONFIG_CONFIGFS_FS is not set
-+
-+#
-+# Miscellaneous filesystems
-+#
-+# CONFIG_ADFS_FS is not set
-+# CONFIG_AFFS_FS is not set
-+# CONFIG_HFS_FS is not set
-+# CONFIG_HFSPLUS_FS is not set
-+# CONFIG_BEFS_FS is not set
-+# CONFIG_BFS_FS is not set
-+# CONFIG_EFS_FS is not set
-+# CONFIG_JFFS2_FS 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
-+
-+#
-+# Distributed Lock Manager
-+#
-+# CONFIG_DLM is not set
-+
-+#
-+# Profiling support
-+#
-+# CONFIG_PROFILING is not set
-+
-+#
-+# Kernel hacking
-+#
-+# CONFIG_PRINTK_TIME is not set
-+CONFIG_ENABLE_MUST_CHECK=y
-+CONFIG_MAGIC_SYSRQ=y
-+# CONFIG_UNUSED_SYMBOLS is not set
-+# CONFIG_DEBUG_FS is not set
-+# CONFIG_HEADERS_CHECK is not set
-+CONFIG_DEBUG_KERNEL=y
-+# CONFIG_DEBUG_SHIRQ is not set
-+CONFIG_LOG_BUF_SHIFT=17
-+# CONFIG_DETECT_SOFTLOCKUP is not set
-+# CONFIG_SCHEDSTATS is not set
-+# CONFIG_TIMER_STATS is not set
-+# CONFIG_DEBUG_SLAB is not set
-+# CONFIG_DEBUG_RT_MUTEXES is not set
-+# CONFIG_RT_MUTEX_TESTER is not set
-+# CONFIG_DEBUG_SPINLOCK is not set
-+# CONFIG_DEBUG_MUTEXES is not set
-+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
-+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-+# CONFIG_DEBUG_KOBJECT is not set
-+# CONFIG_DEBUG_BUGVERBOSE is not set
-+CONFIG_DEBUG_INFO=y
-+# CONFIG_DEBUG_VM is not set
-+# CONFIG_DEBUG_LIST is not set
-+CONFIG_FRAME_POINTER=y
-+CONFIG_FORCED_INLINING=y
-+# CONFIG_RCU_TORTURE_TEST is not set
-+# CONFIG_FAULT_INJECTION is not set
-+CONFIG_DEBUG_USER=y
-+CONFIG_DEBUG_ERRORS=y
-+CONFIG_DEBUG_LL=y
-+# CONFIG_DEBUG_ICEDCC is not set
-+
-+#
-+# Security options
-+#
-+# CONFIG_KEYS is not set
-+# CONFIG_SECURITY is not set
-+
-+#
-+# Cryptographic options
-+#
-+CONFIG_CRYPTO=y
-+CONFIG_CRYPTO_ALGAPI=m
-+CONFIG_CRYPTO_BLKCIPHER=m
-+CONFIG_CRYPTO_MANAGER=m
-+# CONFIG_CRYPTO_HMAC is not set
-+# CONFIG_CRYPTO_XCBC is not set
-+# CONFIG_CRYPTO_NULL is not set
-+# CONFIG_CRYPTO_MD4 is not set
-+# CONFIG_CRYPTO_MD5 is not set
-+# CONFIG_CRYPTO_SHA1 is not set
-+# CONFIG_CRYPTO_SHA256 is not set
-+# CONFIG_CRYPTO_SHA512 is not set
-+# CONFIG_CRYPTO_WP512 is not set
-+# CONFIG_CRYPTO_TGR192 is not set
-+# CONFIG_CRYPTO_GF128MUL is not set
-+CONFIG_CRYPTO_ECB=m
-+CONFIG_CRYPTO_CBC=m
-+CONFIG_CRYPTO_PCBC=m
-+# CONFIG_CRYPTO_LRW is not set
-+# CONFIG_CRYPTO_DES is not set
-+# CONFIG_CRYPTO_FCRYPT is not set
-+# CONFIG_CRYPTO_BLOWFISH is not set
-+# CONFIG_CRYPTO_TWOFISH is not set
-+# CONFIG_CRYPTO_SERPENT is not set
-+CONFIG_CRYPTO_AES=m
-+# CONFIG_CRYPTO_CAST5 is not set
-+# CONFIG_CRYPTO_CAST6 is not set
-+# CONFIG_CRYPTO_TEA is not set
-+CONFIG_CRYPTO_ARC4=m
-+# CONFIG_CRYPTO_KHAZAD is not set
-+# CONFIG_CRYPTO_ANUBIS is not set
-+# CONFIG_CRYPTO_DEFLATE is not set
-+# CONFIG_CRYPTO_MICHAEL_MIC is not set
-+# CONFIG_CRYPTO_CRC32C is not set
-+# CONFIG_CRYPTO_CAMELLIA is not set
-+# CONFIG_CRYPTO_TEST is not set
-+
-+#
-+# Hardware crypto devices
-+#
-+
-+#
-+# Library routines
-+#
-+CONFIG_BITREVERSE=y
-+# CONFIG_CRC_CCITT is not set
-+# CONFIG_CRC16 is not set
-+CONFIG_CRC32=y
-+# CONFIG_LIBCRC32C is not set
-+CONFIG_PLIST=y
-+CONFIG_HAS_IOMEM=y
-+CONFIG_HAS_IOPORT=y
-diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
-index 5c0a100..e1cd439 100644
---- a/arch/arm/mach-pxa/Kconfig
-+++ b/arch/arm/mach-pxa/Kconfig
-@@ -37,6 +37,11 @@ config MACH_TRIZEPS4
-       bool "Keith und Koep Trizeps4 DIMM-Module"
-       select PXA27x
-+config MACH_ARMCORE
-+      bool "CompuLab CM-X270 modules"
-+      select PXA27x
-+      select IWMMXT
-+
- endchoice
- if PXA_SHARPSL
-diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile
-index 9093eb1..2a110f8 100644
---- a/arch/arm/mach-pxa/Makefile
-+++ b/arch/arm/mach-pxa/Makefile
-@@ -18,6 +18,7 @@ obj-$(CONFIG_PXA_SHARP_Cxx00)        += spitz.o corgi_ssp.o corgi_lcd.o sharpsl_pm.o sp
- obj-$(CONFIG_MACH_AKITA)      += akita-ioexp.o
- obj-$(CONFIG_MACH_POODLE)     += poodle.o corgi_ssp.o
- obj-$(CONFIG_MACH_TOSA)         += tosa.o
-+obj-$(CONFIG_MACH_ARMCORE)      += cm-x270.o
- # Support for blinky lights
- led-y := leds.o
-@@ -25,6 +26,8 @@ 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_TRIZEPS4) += leds-trizeps4.o
-+# FIXME: use driver/leds  instead
-+led-$(CONFIG_MACH_ARMCORE) += leds-cm-x270.o
- obj-$(CONFIG_LEDS) += $(led-y)
-@@ -35,3 +38,7 @@ obj-$(CONFIG_PXA_SSP) += ssp.o
- ifeq ($(CONFIG_PXA27x),y)
- obj-$(CONFIG_PM) += standby.o
- endif
-+
-+ifeq ($(CONFIG_PCI),y)
-+obj-$(CONFIG_MACH_ARMCORE) += cm-x270-pci.o
-+endif
-diff --git a/arch/arm/mach-pxa/cm-x270.c b/arch/arm/mach-pxa/cm-x270.c
-new file mode 100644
-index 0000000..88b080d
---- /dev/null
-+++ b/arch/arm/mach-pxa/cm-x270.c
-@@ -0,0 +1,821 @@
-+/*
-+ * linux/arch/arm/mach-pxa/cm-x270.c
-+ *
-+ * Copyright (C) 2007 CompuLab, Ltd.
-+ * Mike Rapoport <mike@compulab.co.il>
-+ *
-+ * 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/rtc-v3020.h>
-+#include <linux/serial_8250.h>
-+#include <video/mbxfb.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/pxafb.h>
-+#include <asm/arch/ohci.h>
-+#include <asm/arch/mmc.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-ts",
-+      .id             = -1,
-+};
-+
-+/* RTC */
-+static struct resource cmx270_v3020_resource[] = {
-+      [0] = {
-+              .start = RTC_PHYS_BASE,
-+              .end   = RTC_PHYS_BASE + 4,
-+              .flags = IORESOURCE_MEM,
-+      },
-+};
-+
-+struct v3020_platform_data cmx270_v3020_pdata = {
-+      .leftshift = 16,
-+};
-+
-+static struct platform_device cmx270_rtc_device = {
-+      .name           = "v3020",
-+      .num_resources  = ARRAY_SIZE(cmx270_v3020_resource),
-+      .resource       = cmx270_v3020_resource,
-+      .id             = -1,
-+      .dev            = {
-+              .platform_data = &cmx270_v3020_pdata,
-+      }
-+};
-+
-+/*
-+ * CM-X270 LEDs
-+ */
-+static struct platform_device cmx270led_device = {
-+      .name           = "cm-x270-led",
-+      .id             = -1,
-+};
-+
-+/* 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];
-+
-+static int cmx270_marathon_probe(struct fb_info *fb)
-+{
-+      /* 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)
-+{
-+      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_rtc_device,
-+      &cmx270_2700G,
-+      &cmx270led_device,
-+};
-+
-+#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 irq_desc *desc;
-+      desc = irq_desc + irq;
-+      desc_handle_irq(irq, desc);
-+}
-+
-+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
-+
-+/* #define CMX270_FLASH_VIRT (CMX270_IDE104_VIRT + PXA_CS_SIZE - (8<<20)) */
-+/* Map PCI companion and IDE/General Purpose CS statically */
-+static struct map_desc cmx270_io_desc[] __initdata = {
-+      [0] = { /* IDE/general purpose space */
-+              .virtual        = CMX270_IDE104_VIRT,
-+              .pfn            = __phys_to_pfn(CMX270_IDE104_PHYS),
-+              .length         = PXA_CS_SIZE - (8<<20),
-+              .type           = MT_DEVICE
-+      },
-+      [1] = { /* PCI bridge */
-+              .virtual        = CMX270_IT8152_VIRT,
-+              .pfn            = __phys_to_pfn(CMX270_IT8152_PHYS),
-+              .length         = PXA_CS_SIZE,
-+              .type           = MT_DEVICE
-+      },
-+};
-+
-+/*
-+  Display definitions
-+  keep these for backwards compatibility, although symbolic names (as
-+  e.g. in lpd270.c) looks better
-+ */
-+#define MTYPE_STN320x240      0
-+#define MTYPE_TFT640x480      1
-+#define MTYPE_CRT640x480      2
-+#define MTYPE_CRT800x600      3
-+#define MTYPE_TFT320x240      6
-+#define MTYPE_STN640x480      7
-+
-+static struct pxafb_mode_info generic_stn_320x240_mode = {
-+      .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),
-+      .cmap_greyscale = 0,
-+};
-+
-+static struct pxafb_mach_info generic_stn_320x240 = {
-+      .modes          = &generic_stn_320x240_mode,
-+      .num_modes      = 1,
-+      .lccr0          = 0,
-+      .lccr3          = (LCCR3_PixClkDiv(0x03) |
-+                         LCCR3_Acb(0xff) |
-+                         LCCR3_PCP),
-+      .cmap_inverse   = 0,
-+      .cmap_static    = 0,
-+};
-+
-+static struct pxafb_mode_info generic_tft_640x480_mode = {
-+      .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,
-+      .cmap_greyscale = 0,
-+};
-+
-+static struct pxafb_mach_info generic_tft_640x480 = {
-+      .modes          = &generic_tft_640x480_mode,
-+      .num_modes      = 1,
-+      .lccr0          = (LCCR0_PAS),
-+      .lccr3          = (LCCR3_PixClkDiv(0x01) |
-+                         LCCR3_Acb(0xff) |
-+                         LCCR3_PCP),
-+      .cmap_inverse   = 0,
-+      .cmap_static    = 0,
-+};
-+
-+static struct pxafb_mode_info generic_crt_640x480_mode = {
-+      .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),
-+      .cmap_greyscale = 0,
-+};
-+
-+static struct pxafb_mach_info generic_crt_640x480 = {
-+      .modes          = &generic_crt_640x480_mode,
-+      .num_modes      = 1,
-+      .lccr0          = (LCCR0_PAS),
-+      .lccr3          = (LCCR3_PixClkDiv(0x01) |
-+                         LCCR3_Acb(0xff)),
-+      .cmap_inverse   = 0,
-+      .cmap_static    = 0,
-+};
-+
-+static struct pxafb_mode_info generic_crt_800x600_mode = {
-+      .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),
-+      .cmap_greyscale = 0,
-+};
-+
-+static struct pxafb_mach_info generic_crt_800x600 = {
-+      .modes          = &generic_crt_800x600_mode,
-+      .num_modes      = 1,
-+      .lccr0          = (LCCR0_PAS),
-+      .lccr3          = (LCCR3_PixClkDiv(0x02) |
-+                         LCCR3_Acb(0xff)),
-+      .cmap_inverse   = 0,
-+      .cmap_static    = 0,
-+};
-+
-+static struct pxafb_mode_info generic_tft_320x240_mode = {
-+      .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,
-+      .cmap_greyscale = 0,
-+};
-+
-+static struct pxafb_mach_info generic_tft_320x240 = {
-+      .modes          = &generic_tft_320x240_mode,
-+      .num_modes      = 1,
-+      .lccr0          = (LCCR0_PAS),
-+      .lccr3          = (LCCR3_PixClkDiv(0x06) |
-+                         LCCR3_Acb(0xff) |
-+                         LCCR3_PCP),
-+      .cmap_inverse   = 0,
-+      .cmap_static    = 0,
-+};
-+
-+static struct pxafb_mode_info generic_stn_640x480_mode = {
-+      .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),
-+      .cmap_greyscale = 0,
-+};
-+
-+static struct pxafb_mach_info generic_stn_640x480 = {
-+      .modes          = &generic_stn_640x480_mode,
-+      .num_modes      = 1,
-+      .lccr0          = 0,
-+      .lccr3          = (LCCR3_PixClkDiv(0x02) |
-+                         LCCR3_Acb(0xff)),
-+      .cmap_inverse   = 0,
-+      .cmap_static    = 0,
-+};
-+
-+static struct pxafb_mach_info *cmx270_display = &generic_crt_640x480;
-+
-+static int __init cmx270_set_display(char *str)
-+{
-+      int disp_type = simple_strtol(str, NULL, 0);
-+      switch (disp_type) {
-+              case MTYPE_STN320x240: 
-+                      cmx270_display = &generic_stn_320x240;
-+                      break;
-+              case MTYPE_TFT640x480:
-+                      cmx270_display = &generic_tft_640x480;
-+                      break;
-+              case MTYPE_CRT640x480:
-+                      cmx270_display = &generic_crt_640x480;
-+                      break;
-+              case MTYPE_CRT800x600: 
-+                      cmx270_display = &generic_crt_800x600;
-+                      break;
-+              case MTYPE_TFT320x240: 
-+                      cmx270_display = &generic_tft_320x240;
-+                      break;
-+              case MTYPE_STN640x480:
-+                      cmx270_display = &generic_stn_640x480;
-+                      break;
-+              default: /* fallback to CRT 640x480 */
-+                      cmx270_display = &generic_crt_640x480;
-+                      break;
-+      }
-+      return 1;
-+}
-+
-+__setup("monitor=", cmx270_set_display);
-+
-+/* 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,
-+};
-+
-+
-+static int cmx270_mci_init(struct device *dev, irq_handler_t cmx270_detect_int, void *data)
-+{
-+      int err;
-+
-+      /*
-+       * setup GPIO for PXA27x MMC controller
-+       */
-+      pxa_gpio_mode(GPIO32_MMCCLK_MD);
-+      pxa_gpio_mode(GPIO112_MMCCMD_MD);
-+      pxa_gpio_mode(GPIO92_MMCDAT0_MD);
-+      pxa_gpio_mode(GPIO109_MMCDAT1_MD);
-+      pxa_gpio_mode(GPIO110_MMCDAT2_MD);
-+      pxa_gpio_mode(GPIO111_MMCDAT3_MD);
-+
-+      /* SB-X270 uses GPIO105 as SD power enable */
-+      pxa_gpio_mode(105 | GPIO_OUT);
-+
-+      /* card detect IRQ on GPIO 83 */
-+      pxa_gpio_mode(IRQ_TO_GPIO(CMX270_MMC_IRQ));
-+      set_irq_type(CMX270_MMC_IRQ, IRQT_FALLING);
-+
-+      err = request_irq(CMX270_MMC_IRQ, cmx270_detect_int, SA_INTERRUPT,
-+                        "MMC card detect", data);
-+      if (err) {
-+              printk(KERN_ERR "cmx270_mci_init: MMC/SD: can't request MMC card detect IRQ\n");
-+              return -1;
-+      }
-+
-+      return 0;
-+}
-+
-+static void cmx270_mci_setpower(struct device *dev, unsigned int vdd)
-+{
-+      struct pxamci_platform_data* p_d = dev->platform_data;
-+
-+      if (( 1 << vdd) & p_d->ocr_mask) {
-+              printk(KERN_DEBUG "%s: on\n", __FUNCTION__);
-+              GPCR(105) = GPIO_bit(105);
-+      } else {
-+              GPSR(105) = GPIO_bit(105);
-+              printk(KERN_DEBUG "%s: off\n", __FUNCTION__);
-+      }
-+}
-+
-+static void cmx270_mci_exit(struct device *dev, void *data)
-+{
-+      free_irq(CMX270_MMC_IRQ, data);
-+}
-+
-+static struct pxamci_platform_data cmx270_mci_platform_data = {
-+      .ocr_mask       = MMC_VDD_32_33|MMC_VDD_33_34,
-+      .init           = cmx270_mci_init,
-+      .setpower       = cmx270_mci_setpower,
-+      .exit           = cmx270_mci_exit,
-+};
-+
-+#ifdef CONFIG_PM
-+/* 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;
-+
-+      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);
-+      return error;
-+}
-+#else
-+static int __init cmx270_pm_init(void) { return 0; }
-+#endif
-+
-+static void __init cmx270_init(void)
-+{
-+      cmx270_pm_init();
-+      
-+      set_pxa_fb_info(cmx270_display);
-+           
-+      /* register CM-X270 platform devices */
-+      platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
-+
-+      /* set MCI and OHCI platform parameters */
-+      pxa_set_mci_info(&cmx270_mci_platform_data);
-+      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 irq_chip 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();
-+
-+      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;
-+
-+      for(irq = IT8152_IRQ(0); irq <= IT8152_IRQ_MAX; irq++) {
-+              set_irq_chip(irq, &cmx270_irq_chip);
-+              set_irq_handler(irq, handle_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/drivers/leds/Kconfig b/drivers/leds/Kconfig
-index 87d2046..1023411 100644
---- a/drivers/leds/Kconfig
-+++ b/drivers/leds/Kconfig
-@@ -89,6 +89,12 @@ config LEDS_H1940
-       help
-         This option enables support for the LEDs on the h1940.
-+config LEDS_CM_X270
-+      tristate "LED Support for the CM-X270 LEDs"
-+      depends on LEDS_CLASS && MACH_ARMCORE
-+      help
-+        This option enables support for the CM-X270 LEDs.
-+
- config LEDS_COBALT
-       tristate "LED Support for Cobalt Server front LED"
-       depends on LEDS_CLASS && MIPS_COBALT
-diff --git a/drivers/leds/Makefile b/drivers/leds/Makefile
-index aa2c18e..808900c 100644
---- a/drivers/leds/Makefile
-+++ b/drivers/leds/Makefile
-@@ -16,6 +16,7 @@ obj-$(CONFIG_LEDS_NET48XX)           += leds-net48xx.o
- obj-$(CONFIG_LEDS_WRAP)                       += leds-wrap.o
- obj-$(CONFIG_LEDS_H1940)              += leds-h1940.o
- obj-$(CONFIG_LEDS_COBALT)             += leds-cobalt.o
-+obj-$(CONFIG_LEDS_CM_X270)              += leds-cm-x270.o
- # LED Triggers
- obj-$(CONFIG_LEDS_TRIGGER_TIMER)      += ledtrig-timer.o
-diff --git a/drivers/leds/leds-cm-x270.c b/drivers/leds/leds-cm-x270.c
-new file mode 100644
-index 0000000..63b7e9e
---- /dev/null
-+++ b/drivers/leds/leds-cm-x270.c
-@@ -0,0 +1,126 @@
-+/*
-+ * drivers/leds/leds-cm-x270.c
-+ *
-+ * Copyright 2007 CompuLab Ltd.
-+ * Author: Mike Rapoport <mike@compulab.co.il>
-+ *
-+ * Based on leds-corgi.c
-+ * Author: Richard Purdie <rpurdie@openedhand.com>
-+ *
-+ * 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/init.h>
-+#include <linux/platform_device.h>
-+#include <linux/leds.h>
-+
-+#include <asm/arch/hardware.h>
-+#include <asm/arch/pxa-regs.h>
-+
-+#define GPIO_RED_LED                  (93)
-+#define GPIO_GREEN_LED                        (94)
-+
-+#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)
-+
-+
-+static void cmx270_red_set(struct led_classdev *led_cdev, enum led_brightness value)
-+{
-+      if (value)
-+              CMX270_RED_ON();
-+      else
-+              CMX270_RED_OFF();
-+}
-+
-+static void cmx270_green_set(struct led_classdev *led_cdev, enum led_brightness value)
-+{
-+      if (value)
-+              CMX270_GREEN_ON();
-+      else
-+              CMX270_GREEN_OFF();
-+}
-+
-+static struct led_classdev cmx270_red_led = {
-+      .name                   = "cm-x270:red",
-+      .default_trigger        = "nand-disk",
-+      .brightness_set         = cmx270_red_set,
-+};
-+
-+static struct led_classdev cmx270_green_led = {
-+      .name                   = "cm-x270:green",
-+      .default_trigger        = "heartbeat",
-+      .brightness_set         = cmx270_green_set,
-+};
-+
-+#ifdef CONFIG_PM
-+static int cmx270led_suspend(struct platform_device *dev, pm_message_t state)
-+{
-+      led_classdev_suspend(&cmx270_red_led);
-+      led_classdev_suspend(&cmx270_green_led);
-+      return 0;
-+}
-+
-+static int cmx270led_resume(struct platform_device *dev)
-+{
-+      led_classdev_resume(&cmx270_red_led);
-+      led_classdev_resume(&cmx270_green_led);
-+      return 0;
-+}
-+#endif
-+
-+static int cmx270led_probe(struct platform_device *pdev)
-+{
-+      int ret;
-+
-+      ret = led_classdev_register(&pdev->dev, &cmx270_red_led);
-+      if (ret < 0)
-+              return ret;
-+
-+      ret = led_classdev_register(&pdev->dev, &cmx270_green_led);
-+      if (ret < 0)
-+              led_classdev_unregister(&cmx270_red_led);
-+
-+      return ret;
-+}
-+
-+static int cmx270led_remove(struct platform_device *pdev)
-+{
-+      led_classdev_unregister(&cmx270_red_led);
-+      led_classdev_unregister(&cmx270_green_led);
-+      return 0;
-+}
-+
-+static struct platform_driver cmx270led_driver = {
-+      .probe          = cmx270led_probe,
-+      .remove         = cmx270led_remove,
-+#ifdef CONFIG_PM
-+      .suspend        = cmx270led_suspend,
-+      .resume         = cmx270led_resume,
-+#endif
-+      .driver         = {
-+              .name           = "cm-x270-led",
-+      },
-+};
-+
-+static int __init cmx270led_init(void)
-+{
-+      return platform_driver_register(&cmx270led_driver);
-+}
-+
-+static void __exit cmx270led_exit(void)
-+{
-+      platform_driver_unregister(&cmx270led_driver);
-+}
-+
-+module_init(cmx270led_init);
-+module_exit(cmx270led_exit);
-+
-+MODULE_AUTHOR("Richard Purdie <rpurdie@openedhand.com>");
-+MODULE_DESCRIPTION("Corgi LED driver");
-+MODULE_LICENSE("GPL");
-diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
-index b49375a..7ee6561 100644
---- a/drivers/net/Kconfig
-+++ b/drivers/net/Kconfig
-@@ -875,6 +875,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 SMC911X
-       tristate "SMSC LAN911[5678] support"
-       select CRC32
-diff --git a/drivers/net/dm9000.c b/drivers/net/dm9000.c
-index 264fa0e..4e2954b 100644
---- a/drivers/net/dm9000.c
-+++ b/drivers/net/dm9000.c
-@@ -562,6 +562,7 @@ dm9000_probe(struct platform_device *pdev)
-       db->mii.mdio_read    = dm9000_phy_read;
-       db->mii.mdio_write   = dm9000_phy_write;
-+#ifndef CONFIG_DM9000_NOEPROM
-       /* Read SROM content */
-       for (i = 0; i < 64; i++)
-               ((u16 *) db->srom)[i] = read_srom_word(db, i);
-@@ -569,6 +570,11 @@ dm9000_probe(struct platform_device *pdev)
-       /* Set Node Address */
-       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)) {
-               /* try reading from mac */
-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..24613a5
---- /dev/null
-+++ b/include/asm-arm/arch-pxa/cm-x270.h
-@@ -0,0 +1,71 @@
-+/*
-+ *  linux/include/asm/arch-pxa/armcore.h
-+ *
-+ *  Compulab Ltd., 2003 
-+ *
-+ *  ARMCore registers
-+ */
-+
-+
-+#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 CMX270_IT8152_VIRT            (CMX270_VIRT_BASE)
-+#define CMX270_IDE104_VIRT            (CMX270_IT8152_VIRT + PXA_CS_SIZE)
-+
-+
-+/* 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 CMX270_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
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+ 
-+
-diff --git a/include/asm-arm/arch-pxa/hardware.h b/include/asm-arm/arch-pxa/hardware.h
-index e2bdc2f..989303a 100644
---- a/include/asm-arm/arch-pxa/hardware.h
-+++ b/include/asm-arm/arch-pxa/hardware.h
-@@ -90,4 +90,15 @@ extern unsigned int get_lcdclk_frequency_10khz(void);
- #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 67ed436..f9c075f 100644
---- a/include/asm-arm/arch-pxa/irqs.h
-+++ b/include/asm-arm/arch-pxa/irqs.h
-@@ -222,3 +222,23 @@
- #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/memory.h b/include/asm-arm/memory.h
-index d9bfb39..83db3cb 100644
---- a/include/asm-arm/memory.h
-+++ b/include/asm-arm/memory.h
-@@ -141,6 +141,16 @@
-  * allocations.  This must be the smallest DMA mask in the system,
-  * so a successful GFP_DMA allocation will always satisfy this.
-  */
-+
-+#ifdef CONFIG_PCI_HOST_ITE8152
-+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     (PHYS_OFFSET + SZ_64M - 1)
-+#endif
-+
- #ifndef ISA_DMA_THRESHOLD
- #define ISA_DMA_THRESHOLD     (0xffffffffULL)
- #endif
--- 
-1.5.1.6
-
diff --git a/packages/linux/compulab-pxa270-2.6.22/0002-cm-x270-match-type.patch b/packages/linux/compulab-pxa270-2.6.22/0002-cm-x270-match-type.patch
deleted file mode 100644 (file)
index 68da301..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From e566813cedb9f91724597df45c11075023a7b589 Mon Sep 17 00:00:00 2001
-From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
-Date: Fri, 20 Jul 2007 18:58:27 -0400
-Subject: [PATCH] cm-x270-match-type
-
----
- arch/arm/boot/compressed/head-xscale.S |    5 +++++
- 1 files changed, 5 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/boot/compressed/head-xscale.S b/arch/arm/boot/compressed/head-xscale.S
-index 73c5d9e..dc89459 100644
---- a/arch/arm/boot/compressed/head-xscale.S
-+++ b/arch/arm/boot/compressed/head-xscale.S
-@@ -53,3 +53,8 @@ __XScale_start:
-               str     r1, [r0, #0x18]
- #endif
-+#if defined(CONFIG_MACH_ARMCORE)
-+              mov r7, #(MACH_TYPE_ARMCORE & 0xFF00)
-+              add r7, r7, #(MACH_TYPE_ARMCORE & 0xFF)
-+#endif
-+
--- 
-1.5.1.6
-
diff --git a/packages/linux/compulab-pxa270-2.6.22/0003-cm-x270-ide.patch b/packages/linux/compulab-pxa270-2.6.22/0003-cm-x270-ide.patch
deleted file mode 100644 (file)
index 0ff115e..0000000
+++ /dev/null
@@ -1,186 +0,0 @@
-From f260d5fa4c99cd7df949e6408af59807f8ccf224 Mon Sep 17 00:00:00 2001
-From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
-Date: Fri, 20 Jul 2007 18:59:39 -0400
-Subject: [PATCH] cm-x270-ide
-
----
- drivers/ide/Kconfig           |    8 +++
- drivers/ide/arm/Makefile      |    1 +
- drivers/ide/arm/cm-x270-ide.c |  135 +++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 144 insertions(+), 0 deletions(-)
- create mode 100644 drivers/ide/arm/cm-x270-ide.c
-
-diff --git a/drivers/ide/Kconfig b/drivers/ide/Kconfig
-index b1a9b81..7de4155 100644
---- a/drivers/ide/Kconfig
-+++ b/drivers/ide/Kconfig
-@@ -864,6 +864,14 @@ 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..a8b15aa
---- /dev/null
-+++ b/drivers/ide/arm/cm-x270-ide.c
-@@ -0,0 +1,135 @@
-+/* linux/drivers/ide/arm/cm-x270-ide.c
-+ *
-+ * Copyright (c) 2006 CompuLab, Ltd
-+ *  Mike Rapoport <mike@compulab.co.il>
-+ *
-+ * Based on 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 <linux/irq.h>
-+
-+#include <asm/mach-types.h>
-+
-+#include <asm/io.h>
-+#include <asm/arch/pxa-regs.h>
-+#include <asm/arch/cm-x270.h>
-+
-+#define CMX270_SB270_IDECS0_VIRT (CMX270_IDE104_VIRT + (1<<24) + (1<<25))
-+#define CMX270_SB270_IDECS1_VIRT (CMX270_IDE104_VIRT + (1<<25))
-+#define CMX270_ATX_IDECS0_VIRT (CMX270_IDE104_VIRT + (1<<25))
-+#define CMX270_ATX_IDECS1_VIRT (CMX270_IDE104_VIRT + (1<<25) + (1<<22))
-+
-+/* list of registered interfaces */
-+static ide_hwif_t *ifs[1];
-+
-+static int __init
-+cmx270_ide_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_SB270_IDECS0_VIRT) {
-+              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 if (base == CMX270_ATX_IDECS0_VIRT) { /* atx base */
-+              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);
-+      } 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;
-+
-+      return ide_register_hw(&hw, hwif);
-+}
-+
-+static int __init cmx270_ide_init(void)
-+{
-+      int retval = 0;
-+
-+      if (!(machine_is_armcore()))
-+              goto out;
-+
-+      printk("CM-X270: initializing IDE interface\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));
-+
-+      /* try SB-X270 */
-+      set_irq_type(CMX270_IDE_IRQ, IRQ_TYPE_EDGE_RISING);
-+      retval = cmx270_ide_register(CMX270_SB270_IDECS0_VIRT,
-+                               CMX270_SB270_IDECS1_VIRT,
-+                               CMX270_IDE_IRQ, &ifs[0]);
-+      if (retval >= 0) {
-+              printk(KERN_DEBUG "%s: found IDE interface on SB-X270\n",
-+                     __FUNCTION__);
-+              goto out;
-+      }
-+
-+      /* SB-X270 detection failed, try ATX */
-+      set_irq_type(CMX270_IDE_IRQ, IRQ_TYPE_EDGE_FALLING);
-+      retval = cmx270_ide_register(CMX270_ATX_IDECS0_VIRT,
-+                               CMX270_ATX_IDECS1_VIRT,
-+                               CMX270_IDE_IRQ, &ifs[0]);
-+
-+      if ( retval >= 0 ) {
-+              printk(KERN_DEBUG "%s: found IDE interface on ATX\n",
-+                     __FUNCTION__);
-+              goto out;
-+      }
-+
-+  out:
-+      return retval;
-+}
-+
-+module_init(cmx270_ide_init);
-+
-+MODULE_AUTHOR("CompuLab");
-+MODULE_LICENSE("GPL");
-+MODULE_DESCRIPTION("CompuLab CM-X270 IDE driver");
--- 
-1.5.1.6
-
diff --git a/packages/linux/compulab-pxa270-2.6.22/0004-cm-x270-it8152.patch b/packages/linux/compulab-pxa270-2.6.22/0004-cm-x270-it8152.patch
deleted file mode 100644 (file)
index 274eaf2..0000000
+++ /dev/null
@@ -1,496 +0,0 @@
-From 1306abec905df1ff5cf2b1d91ac0d94d18d96c5b Mon Sep 17 00:00:00 2001
-From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
-Date: Fri, 20 Jul 2007 19:00:07 -0400
-Subject: [PATCH] cm-x270-it8152
-
----
- arch/arm/common/Makefile          |    1 +
- arch/arm/common/it8152.c          |  272 +++++++++++++++++++++++++++++++++++++
- arch/arm/kernel/bios32.c          |   28 ++++-
- include/asm-arm/hardware/it8152.h |  104 ++++++++++++++
- include/asm-arm/pci.h             |    7 +
- include/linux/pci_ids.h           |    1 +
- 6 files changed, 410 insertions(+), 3 deletions(-)
- create mode 100644 arch/arm/common/it8152.c
- create mode 100644 include/asm-arm/hardware/it8152.h
-
-diff --git a/arch/arm/common/Makefile b/arch/arm/common/Makefile
-index e1289a2..3d0b9fa 100644
---- a/arch/arm/common/Makefile
-+++ b/arch/arm/common/Makefile
-@@ -17,3 +17,4 @@ obj-$(CONFIG_SHARPSL_PM)     += sharpsl_pm.o
- obj-$(CONFIG_SHARP_SCOOP)     += scoop.o
- obj-$(CONFIG_ARCH_IXP2000)    += uengine.o
- obj-$(CONFIG_ARCH_IXP23XX)    += uengine.o
-+obj-$(CONFIG_PCI_HOST_ITE8152)  += it8152.o
-diff --git a/arch/arm/common/it8152.c b/arch/arm/common/it8152.c
-new file mode 100644
-index 0000000..8563610
---- /dev/null
-+++ b/arch/arm/common/it8152.c
-@@ -0,0 +1,272 @@
-+/*
-+ * 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) | PHYS_OFFSET;
-+              dev->coherent_dma_mask = (SZ_64M - 1) | PHYS_OFFSET;
-+              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)
-+{
-+      printk(KERN_INFO "===> %s: %s %x\n", __FUNCTION__, dev->dev.bus_id, mask);
-+      if (mask >= PHYS_OFFSET + SZ_64M - 1 )
-+              return 0;
-+
-+      return -EIO;
-+}
-+    
-+int
-+pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask)
-+{
-+      printk(KERN_INFO "===> %s: %s %x\n", __FUNCTION__, dev->dev.bus_id, mask);
-+      if (mask >= PHYS_OFFSET + 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;  
-+}
-+                        
-+/*
-+ * If we set up a device for bus mastering, we need to check the latency
-+ * timer as we don't have even crappy BIOSes to set it properly.
-+ * The implementation is from arch/i386/pci/i386.c
-+ */
-+unsigned int pcibios_max_latency = 255;
-+
-+void pcibios_set_master(struct pci_dev *dev)
-+{
-+      u8 lat;
-+
-+      pci_read_config_byte(dev, PCI_LATENCY_TIMER, &lat);
-+      if (lat < 16)
-+              lat = (64 <= pcibios_max_latency) ? 64 : pcibios_max_latency;
-+      else if (lat > pcibios_max_latency)
-+              lat = pcibios_max_latency;
-+      else
-+              return;
-+      printk(KERN_DEBUG "PCI: Setting latency timer of device %s to %d\n", pci_name(dev), lat);
-+      pci_write_config_byte(dev, PCI_LATENCY_TIMER, lat);
-+}
-+
-+
-+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/kernel/bios32.c b/arch/arm/kernel/bios32.c
-index 240c448..d8d2352 100644
---- a/arch/arm/kernel/bios32.c
-+++ b/arch/arm/kernel/bios32.c
-@@ -279,6 +279,25 @@ static void __devinit pci_fixup_cy82c693(struct pci_dev *dev)
- }
- 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;
-+      /* fixup for ITE 8152 devices */
-+      /* FIXME: add defines for class 0x68000 and 0x80103 */
-+      if ((dev->class >> 8) == PCI_CLASS_BRIDGE_HOST ||
-+          dev->class == 0x68000 ||
-+          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_8152, pci_fixup_it8152);
-+
-+
-+
- void __devinit pcibios_update_irq(struct pci_dev *dev, int irq)
- {
-       if (debug_pci)
-@@ -292,9 +311,12 @@ void __devinit pcibios_update_irq(struct pci_dev *dev, int irq)
-  */
- 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_8152));
-+
- }
- /*
-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/asm-arm/pci.h b/include/asm-arm/pci.h
-index f21abd4..2cf30bf 100644
---- a/include/asm-arm/pci.h
-+++ b/include/asm-arm/pci.h
-@@ -8,10 +8,17 @@
- #define pcibios_scan_all_fns(a, b)    0
-+#ifdef CONFIG_PCI_HOST_ITE8152
-+/* ITE bridge requires setting latency timer to avoid early bus access
-+   termination by PIC bus mater devices
-+*/
-+extern void pcibios_set_master(struct pci_dev *dev);
-+#else
- static inline void pcibios_set_master(struct pci_dev *dev)
- {
-       /* No special bus mastering setup handling */
- }
-+#endif
- static inline void pcibios_penalize_isa_irq(int irq, int active)
- {
-diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
-index 5b1c999..b4c81d5 100644
---- a/include/linux/pci_ids.h
-+++ b/include/linux/pci_ids.h
-@@ -1650,6 +1650,7 @@
- #define PCI_DEVICE_ID_ITE_8211                0x8211
- #define PCI_DEVICE_ID_ITE_8212                0x8212
- #define PCI_DEVICE_ID_ITE_8213                0x8213
-+#define PCI_DEVICE_ID_ITE_8152                0x8152
- #define PCI_DEVICE_ID_ITE_8872                0x8872
- #define PCI_DEVICE_ID_ITE_IT8330G_0   0xe886
--- 
-1.5.1.6
-
diff --git a/packages/linux/compulab-pxa270-2.6.22/0005-cm-x270-pcmcia.patch b/packages/linux/compulab-pxa270-2.6.22/0005-cm-x270-pcmcia.patch
deleted file mode 100644 (file)
index 7dceff5..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-From 338653da8f8afcdf8afc7e8a5a0104d5083597cc Mon Sep 17 00:00:00 2001
-From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
-Date: Fri, 20 Jul 2007 19:01:27 -0400
-Subject: [PATCH] cm-x270-pcmcia
-
----
- drivers/pcmcia/Makefile         |    1 +
- drivers/pcmcia/pxa2xx_cm_x270.c |  198 +++++++++++++++++++++++++++++++++++++++
- 2 files changed, 199 insertions(+), 0 deletions(-)
- create mode 100644 drivers/pcmcia/pxa2xx_cm_x270.c
-
-diff --git a/drivers/pcmcia/Makefile b/drivers/pcmcia/Makefile
-index 4276965..353d5b7 100644
---- a/drivers/pcmcia/Makefile
-+++ b/drivers/pcmcia/Makefile
-@@ -69,4 +69,5 @@ sa1100_cs-$(CONFIG_SA1100_SIMPAD)            += sa1100_simpad.o
- 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..25e369f
---- /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 <linux/irq.h>
-+
-+#include <pcmcia/ss.h>
-+#include <asm/delay.h>
-+#include <asm/hardware.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, IRQ_TYPE_EDGE_BOTH);
-+       set_irq_type(PCMCIA_S1_CD_VALID, IRQ_TYPE_EDGE_BOTH);
-+
-+       //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, IRQ_TYPE_EDGE_FALLING);
-+       set_irq_type(PCMCIA_S1_RDYINT, IRQ_TYPE_EDGE_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), IRQ_TYPE_NONE);
-+       set_irq_type(IRQ_TO_GPIO(PCMCIA_S1_CD_VALID), IRQ_TYPE_NONE);
-+
-+       set_irq_type(IRQ_TO_GPIO(PCMCIA_S0_RDYINT), IRQ_TYPE_NONE);
-+       set_irq_type(IRQ_TO_GPIO(PCMCIA_S1_RDYINT), IRQ_TYPE_NONE);
-+}
-+
-+
-+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");
--- 
-1.5.1.6
-
diff --git a/packages/linux/compulab-pxa270-2.6.22/0006-ramdisk_load.patch b/packages/linux/compulab-pxa270-2.6.22/0006-ramdisk_load.patch
deleted file mode 100644 (file)
index aa25dd9..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-From ca4508b1266109208f62e986b51397ce2788e255 Mon Sep 17 00:00:00 2001
-From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
-Date: Fri, 20 Jul 2007 19:01:50 -0400
-Subject: [PATCH] ramdisk_load
-
----
- arch/arm/mach-pxa/cm-x270.c        |    6 ++++++
- include/asm-arm/arch-pxa/cm-x270.h |    2 ++
- init/initramfs.c                   |   16 ++++++++++++++++
- 3 files changed, 24 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-pxa/cm-x270.c b/arch/arm/mach-pxa/cm-x270.c
-index 88b080d..c6ec489 100644
---- a/arch/arm/mach-pxa/cm-x270.c
-+++ b/arch/arm/mach-pxa/cm-x270.c
-@@ -308,6 +308,12 @@ static struct map_desc cmx270_io_desc[] __initdata = {
-               .length         = PXA_CS_SIZE,
-               .type           = MT_DEVICE
-       },
-+      [2] = { /* NOR flash */
-+              .virtual        = CMX270_FLASH_VIRT,
-+              .pfn            = __phys_to_pfn(PXA_CS0_PHYS),
-+              .length         = (8<<20), /* up to 8 MByte flash */
-+              .type           = MT_DEVICE
-+      },
- };
- /*
-diff --git a/include/asm-arm/arch-pxa/cm-x270.h b/include/asm-arm/arch-pxa/cm-x270.h
-index 24613a5..aad152e 100644
---- a/include/asm-arm/arch-pxa/cm-x270.h
-+++ b/include/asm-arm/arch-pxa/cm-x270.h
-@@ -20,7 +20,9 @@
- #define CMX270_IT8152_VIRT            (CMX270_VIRT_BASE)
- #define CMX270_IDE104_VIRT            (CMX270_IT8152_VIRT + PXA_CS_SIZE)
-+#define CMX270_FLASH_VIRT             (CMX270_IDE104_VIRT + PXA_CS_SIZE)
-+#define CMX270_FLASH_RAMDISK_VIRT     (CMX270_FLASH_VIRT + 0x1c0000)
- /* GPIO related definitions */
- #define GPIO_IT8152_IRQ                       (22)
-diff --git a/init/initramfs.c b/init/initramfs.c
-index 00eff7a..0ecd40b 100644
---- a/init/initramfs.c
-+++ b/init/initramfs.c
-@@ -7,6 +7,9 @@
- #include <linux/string.h>
- #include <linux/syscalls.h>
-+// HACK for compulab cm-x270
-+#include <asm/arch/cm-x270.h>
-+
- static __initdata char *message;
- static void __init error(char *x)
- {
-@@ -550,7 +553,20 @@ static int __init populate_rootfs(void)
- #ifdef CONFIG_BLK_DEV_INITRD
-       if (initrd_start) {
- #ifdef CONFIG_BLK_DEV_RAM
-+ 
-+              /* hack to make initramfs work because the 
-+               * compulab BL does not zero out the 
-+               * initrd memory.  This only seems to affect loading
-+               * initramfs (cpio.gz) archives.  Does not seem to 
-+               * affect ramdisks.
-+               */
-+              int initrd_size = *(int *)(CMX270_FLASH_RAMDISK_VIRT);
-               int fd;
-+
-+              initrd_end = initrd_start + initrd_size;
-+              //printk("CLIFF: initrd_start = 0x%x\n", initrd_start);
-+              //printk("CLIFF: initrd_end = 0x%x\n", initrd_end);
-+
-               printk(KERN_INFO "checking if image is initramfs...");
-               err = unpack_to_rootfs((char *)initrd_start,
-                       initrd_end - initrd_start, 1);
--- 
-1.5.1.6
-
diff --git a/packages/linux/compulab-pxa270-2.6.22/0007-mmcsd_large_cards-r0.patch b/packages/linux/compulab-pxa270-2.6.22/0007-mmcsd_large_cards-r0.patch
deleted file mode 100644 (file)
index 90e66b5..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-From 26638b93f7479dc597a58e2e2b2832c6ff4c8f7b Mon Sep 17 00:00:00 2001
-From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
-Date: Fri, 20 Jul 2007 19:02:55 -0400
-Subject: [PATCH] mmcsd_large_cards-r0
-
----
- drivers/mmc/card/block.c |    6 ++++++
- 1 files changed, 6 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
-index 540ff4b..1f8d67d 100644
---- a/drivers/mmc/card/block.c
-+++ b/drivers/mmc/card/block.c
-@@ -403,6 +403,7 @@ static struct mmc_blk_data *mmc_blk_alloc(struct mmc_card *card)
- {
-       struct mmc_blk_data *md;
-       int devidx, ret;
-+      unsigned long cap;
-       devidx = find_first_zero_bit(dev_use, MMC_NUM_MINORS);
-       if (devidx >= MMC_NUM_MINORS)
-@@ -467,6 +468,11 @@ static struct mmc_blk_data *mmc_blk_alloc(struct mmc_card *card)
-       sprintf(md->disk->disk_name, "mmcblk%d", devidx);
-+      if (card->csd.read_blkbits > 9)
-+              md->block_bits = 9;
-+      else
-+              md->block_bits = card->csd.read_blkbits;
-+
-       blk_queue_hardsect_size(md->queue.queue, 1 << md->block_bits);
-       if (!mmc_card_sd(card) && mmc_card_blockaddr(card)) {
--- 
-1.5.1.6
-
diff --git a/packages/linux/compulab-pxa270-2.6.22/0008-cm-x270-nand-simplify-name.patch b/packages/linux/compulab-pxa270-2.6.22/0008-cm-x270-nand-simplify-name.patch
deleted file mode 100644 (file)
index c07f049..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From e1a243564a40d7542a62d4684f2e6ce0b95fa267 Mon Sep 17 00:00:00 2001
-From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
-Date: Fri, 20 Jul 2007 19:04:12 -0400
-Subject: [PATCH] cm-x270-nand-simplify-name
-
----
- drivers/mtd/nand/cmx270_nand.c |    2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/mtd/nand/cmx270_nand.c b/drivers/mtd/nand/cmx270_nand.c
-index cb663ef..3654ce4 100644
---- a/drivers/mtd/nand/cmx270_nand.c
-+++ b/drivers/mtd/nand/cmx270_nand.c
-@@ -191,6 +191,8 @@ static int cmx270_init(void)
-       cmx270_nand_mtd->owner = THIS_MODULE;
-       cmx270_nand_mtd->priv = this;
-+      cmx270_nand_mtd->name = "cm-x270-nand";
-+
-       /* insert callbacks */
-       this->IO_ADDR_R = cmx270_nand_io;
-       this->IO_ADDR_W = cmx270_nand_io;
--- 
-1.5.1.6
-
diff --git a/packages/linux/compulab-pxa270-2.6.22/0009-cursor-fix.patch b/packages/linux/compulab-pxa270-2.6.22/0009-cursor-fix.patch
deleted file mode 100644 (file)
index 08b0db3..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-From 94a59c25e4e0aec3c4d12e0c63e144e6af447368 Mon Sep 17 00:00:00 2001
-From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
-Date: Fri, 20 Jul 2007 19:04:42 -0400
-Subject: [PATCH] cursor-fix
-
----
- drivers/char/vt.c       |    4 ++--
- drivers/char/vt_ioctl.c |    4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/char/vt.c b/drivers/char/vt.c
-index 6650ae1..649474e 100644
---- a/drivers/char/vt.c
-+++ b/drivers/char/vt.c
-@@ -3491,8 +3491,8 @@ void do_blank_screen(int entering_gfx)
-               }
-               return;
-       }
--      if (blank_state != blank_normal_wait)
--              return;
-+      //if (blank_state != blank_normal_wait)
-+      //      return;
-       blank_state = blank_off;
-       /* entering graphics mode? */
-diff --git a/drivers/char/vt_ioctl.c b/drivers/char/vt_ioctl.c
-index c6f6f42..94121ff 100644
---- a/drivers/char/vt_ioctl.c
-+++ b/drivers/char/vt_ioctl.c
-@@ -489,8 +489,8 @@ int vt_ioctl(struct tty_struct *tty, struct file * file,
-               if (vc->vc_mode == (unsigned char) arg)
-                       return 0;
-               vc->vc_mode = (unsigned char) arg;
--              if (console != fg_console)
--                      return 0;
-+              //if (console != fg_console)
-+              //      return 0;
-               /*
-                * explicitly blank/unblank the screen if switching modes
-                */
--- 
-1.5.1.6
-
diff --git a/packages/linux/compulab-pxa270-2.6.22/defconfig b/packages/linux/compulab-pxa270-2.6.22/defconfig
deleted file mode 100644 (file)
index 63bc695..0000000
+++ /dev/null
@@ -1,1234 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.22
-# Tue Aug  7 15:22:23 2007
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_GENERIC_GPIO=y
-CONFIG_GENERIC_TIME=y
-# CONFIG_GENERIC_CLOCKEVENTS is not set
-CONFIG_MMU=y
-# CONFIG_NO_IOPORT is not set
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_HARDIRQS_SW_RESEND=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_ZONE_DMA=y
-CONFIG_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_LOCK_KERNEL=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_IPC_NS is not set
-CONFIG_SYSVIPC_SYSCTL=y
-# CONFIG_POSIX_MQUEUE is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_TASKSTATS is not set
-# CONFIG_UTS_NS is not set
-# CONFIG_AUDIT is not set
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_SYSFS_DEPRECATED=y
-# CONFIG_RELAY is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_EMBEDDED=y
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=y
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_ANON_INODES=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_SLAB=y
-# CONFIG_SLUB is not set
-# CONFIG_SLOB is not set
-CONFIG_RT_MUTEXES=y
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=0
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
-
-#
-# Block layer
-#
-CONFIG_BLOCK=y
-# CONFIG_LBD is not set
-# CONFIG_BLK_DEV_IO_TRACE is not set
-# CONFIG_LSF is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-# CONFIG_DEFAULT_AS is not set
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
-
-#
-# System Type
-#
-# CONFIG_ARCH_AAEC2000 is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_REALVIEW is not set
-# CONFIG_ARCH_VERSATILE is not set
-# CONFIG_ARCH_AT91 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_IOP13XX is not set
-# CONFIG_ARCH_IOP32X is not set
-# CONFIG_ARCH_IOP33X is not set
-# CONFIG_ARCH_IXP23XX is not set
-# CONFIG_ARCH_IXP2000 is not set
-# CONFIG_ARCH_IXP4XX is not set
-# CONFIG_ARCH_L7200 is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_PNX4008 is not set
-CONFIG_ARCH_PXA=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_DAVINCI is not set
-# CONFIG_ARCH_OMAP 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_ARCH_PXA_IDP is not set
-# CONFIG_PXA_SHARPSL is not set
-# CONFIG_MACH_TRIZEPS4 is not set
-CONFIG_MACH_ARMCORE=y
-CONFIG_PXA27x=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
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-# CONFIG_CPU_DCACHE_DISABLE is not set
-# CONFIG_OUTER_CACHE is not set
-CONFIG_IWMMXT=y
-CONFIG_XSCALE_PMU=y
-
-#
-# Bus support
-#
-# CONFIG_PCI is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
-# CONFIG_PCCARD is not set
-
-#
-# Kernel Features
-#
-# CONFIG_TICK_ONESHOT is not set
-CONFIG_PREEMPT=y
-CONFIG_NO_IDLE_HZ=y
-CONFIG_HZ=100
-CONFIG_AEABI=y
-CONFIG_OABI_COMPAT=y
-# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_DISCONTIGMEM_MANUAL is not set
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-# CONFIG_SPARSEMEM_STATIC is not set
-CONFIG_SPLIT_PTLOCK_CPUS=4096
-# CONFIG_RESOURCES_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_ALIGNMENT_TRAP=y
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="console=ttyS1,38400 monitor=8 bpp=16 mem=64M mtdparts=physmap-flash.0:256k(boot)ro,0x180000(kernel),-(root);cm-x270-nand:64m(app),-(data) rdinit=/sbin/init root=mtd3 rootfstype=jffs2"
-# CONFIG_XIP_KERNEL is not set
-# CONFIG_KEXEC is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-# CONFIG_FPE_NWFPE 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
-
-#
-# Power management options
-#
-# CONFIG_PM is not set
-
-#
-# Networking
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-# CONFIG_PACKET_MMAP is not set
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-# CONFIG_XFRM_USER is not set
-# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_MIGRATE is not set
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_FIB_HASH=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=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_XFRM_MODE_BEET=y
-CONFIG_INET_DIAG=y
-CONFIG_INET_TCP_DIAG=y
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-# CONFIG_IPV6 is not set
-# CONFIG_INET6_XFRM_TUNNEL is not set
-# CONFIG_INET6_TUNNEL is not set
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETFILTER is not set
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
-# CONFIG_AF_RXRPC is not set
-
-#
-# Wireless
-#
-# CONFIG_CFG80211 is not set
-# CONFIG_WIRELESS_EXT is not set
-# CONFIG_MAC80211 is not set
-# CONFIG_IEEE80211 is not set
-# CONFIG_RFKILL is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-# CONFIG_SYS_HYPERVISOR is not set
-
-#
-# Connector - unified userspace <-> kernelspace linker
-#
-# CONFIG_CONNECTOR is not set
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLKDEVS=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-# CONFIG_RFD_FTL is not set
-# CONFIG_SSFDC is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_GEN_PROBE=y
-# CONFIG_MTD_CFI_ADV_OPTIONS is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_CFI_INTELEXT is not set
-CONFIG_MTD_CFI_AMDSTD=y
-# CONFIG_MTD_CFI_STAA is not set
-CONFIG_MTD_CFI_UTIL=y
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_XIP is not set
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_PHYSMAP_START=0x0
-CONFIG_MTD_PHYSMAP_LEN=0x400000
-CONFIG_MTD_PHYSMAP_BANKWIDTH=2
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-# CONFIG_MTD_SHARP_SL is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-CONFIG_MTD_NAND=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_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_CM_X270=y
-# CONFIG_MTD_NAND_NANDSIM is not set
-# CONFIG_MTD_NAND_PLATFORM is not set
-# CONFIG_MTD_ONENAND is not set
-
-#
-# UBI - Unsorted block images
-#
-# CONFIG_MTD_UBI is not set
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Plug and Play support
-#
-# CONFIG_PNPACPI is not set
-
-#
-# Block devices
-#
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=y
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=4096
-CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=y
-# CONFIG_SCSI_TGT is not set
-# CONFIG_SCSI_NETLINK is not set
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-# CONFIG_BLK_DEV_SR is not set
-# CONFIG_CHR_DEV_SG is not set
-# CONFIG_CHR_DEV_SCH is not set
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-CONFIG_SCSI_WAIT_SCAN=m
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_ISCSI_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-
-#
-# SCSI low-level drivers
-#
-# CONFIG_ISCSI_TCP is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_ATA is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-
-#
-# Network device support
-#
-CONFIG_NETDEVICES=y
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-# CONFIG_PHYLIB is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
-CONFIG_NET_ETHERNET=y
-CONFIG_MII=y
-# CONFIG_SMC91X is not set
-CONFIG_DM9000=y
-CONFIG_DM9000_NOEPROM=y
-# CONFIG_SMC911X is not set
-# CONFIG_NETDEV_1000 is not set
-# CONFIG_NETDEV_10000 is not set
-
-#
-# Wireless LAN
-#
-# CONFIG_WLAN_PRE80211 is not set
-# CONFIG_WLAN_80211 is not set
-
-#
-# USB Network Adapters
-#
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_USBNET_MII=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_CDCETHER=m
-# CONFIG_USB_NET_DM9601 is not set
-CONFIG_USB_NET_GL620A=m
-CONFIG_USB_NET_NET1080=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_MCS7830=m
-# CONFIG_USB_NET_RNDIS_HOST is not set
-# CONFIG_USB_NET_CDC_SUBSET is not set
-# CONFIG_USB_NET_ZAURUS is not set
-# CONFIG_WAN is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-# CONFIG_SHAPER is not set
-# CONFIG_NETCONSOLE is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_TSDEV is not set
-CONFIG_INPUT_EVDEV=m
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-CONFIG_KEYBOARD_ATKBD=y
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_PXA27x is not set
-# CONFIG_KEYBOARD_GPIO is not set
-CONFIG_INPUT_MOUSE=y
-CONFIG_MOUSE_PS2=y
-# CONFIG_MOUSE_PS2_ALPS is not set
-# CONFIG_MOUSE_PS2_LOGIPS2PP is not set
-# CONFIG_MOUSE_PS2_SYNAPTICS is not set
-# CONFIG_MOUSE_PS2_LIFEBOOK is not set
-# CONFIG_MOUSE_PS2_TRACKPOINT is not set
-# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_SERIAL is not set
-# CONFIG_MOUSE_APPLETOUCH is not set
-# CONFIG_MOUSE_VSXXXAA is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TABLET is not set
-CONFIG_INPUT_TOUCHSCREEN=y
-# CONFIG_TOUCHSCREEN_GUNZE is not set
-# CONFIG_TOUCHSCREEN_ELO is not set
-# CONFIG_TOUCHSCREEN_MTOUCH is not set
-# CONFIG_TOUCHSCREEN_MK712 is not set
-# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-CONFIG_TOUCHSCREEN_UCB1400=m
-# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_SERPORT=y
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_SERIO_RAW is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-# CONFIG_SERIAL_8250 is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_PXA=y
-CONFIG_SERIAL_PXA_CONSOLE=y
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_UNIX98_PTYS=y
-# CONFIG_LEGACY_PTYS is not set
-
-#
-# IPMI
-#
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_HW_RANDOM=y
-# CONFIG_NVRAM is not set
-# CONFIG_R3964 is not set
-# CONFIG_RAW_DRIVER is not set
-
-#
-# TPM devices
-#
-# CONFIG_TCG_TPM is not set
-CONFIG_I2C=m
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_CHARDEV=m
-
-#
-# I2C Algorithms
-#
-# CONFIG_I2C_ALGOBIT is not set
-# CONFIG_I2C_ALGOPCF is not set
-# CONFIG_I2C_ALGOPCA is not set
-
-#
-# I2C Hardware Bus support
-#
-# CONFIG_I2C_GPIO is not set
-CONFIG_I2C_PXA=m
-# CONFIG_I2C_PXA_SLAVE is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_STUB is not set
-# CONFIG_I2C_TINY_USB is not set
-
-#
-# Miscellaneous I2C Chip support
-#
-# CONFIG_SENSORS_DS1337 is not set
-# CONFIG_SENSORS_DS1374 is not set
-# CONFIG_SENSORS_EEPROM is not set
-# CONFIG_SENSORS_PCF8574 is not set
-# CONFIG_SENSORS_PCA9539 is not set
-# CONFIG_SENSORS_PCF8591 is not set
-# CONFIG_SENSORS_MAX6875 is not set
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CHIP is not set
-
-#
-# SPI support
-#
-# CONFIG_SPI is not set
-# CONFIG_SPI_MASTER is not set
-
-#
-# Dallas's 1-wire bus
-#
-# CONFIG_W1 is not set
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_SENSORS_ABITUGURU is not set
-# CONFIG_SENSORS_AD7418 is not set
-# CONFIG_SENSORS_ADM1021 is not set
-# CONFIG_SENSORS_ADM1025 is not set
-# CONFIG_SENSORS_ADM1026 is not set
-# CONFIG_SENSORS_ADM1029 is not set
-# CONFIG_SENSORS_ADM1031 is not set
-# CONFIG_SENSORS_ADM9240 is not set
-# CONFIG_SENSORS_ASB100 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_FSCHER is not set
-# CONFIG_SENSORS_FSCPOS is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM75 is not set
-# CONFIG_SENSORS_LM77 is not set
-# CONFIG_SENSORS_LM78 is not set
-# CONFIG_SENSORS_LM80 is not set
-# CONFIG_SENSORS_LM83 is not set
-# CONFIG_SENSORS_LM85 is not set
-# CONFIG_SENSORS_LM87 is not set
-# CONFIG_SENSORS_LM90 is not set
-# CONFIG_SENSORS_LM92 is not set
-# CONFIG_SENSORS_MAX1619 is not set
-# CONFIG_SENSORS_MAX6650 is not set
-# CONFIG_SENSORS_PC87360 is not set
-# CONFIG_SENSORS_PC87427 is not set
-# CONFIG_SENSORS_SMSC47M1 is not set
-# CONFIG_SENSORS_SMSC47M192 is not set
-# CONFIG_SENSORS_SMSC47B397 is not set
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83L785TS is not set
-# CONFIG_SENSORS_W83627HF is not set
-# CONFIG_SENSORS_W83627EHF is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Misc devices
-#
-
-#
-# Multifunction device drivers
-#
-# CONFIG_MFD_SM501 is not set
-
-#
-# LED devices
-#
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-CONFIG_LEDS_CM_X270=y
-
-#
-# LED Triggers
-#
-# CONFIG_LEDS_TRIGGERS is not set
-
-#
-# Multimedia devices
-#
-# CONFIG_VIDEO_DEV is not set
-# CONFIG_DVB_CORE is not set
-# CONFIG_DAB is not set
-
-#
-# Graphics support
-#
-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-# CONFIG_VGASTATE is not set
-CONFIG_FB=y
-# CONFIG_FIRMWARE_EDID is not set
-# CONFIG_FB_DDC is not set
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_SYS_FILLRECT is not set
-# CONFIG_FB_SYS_COPYAREA is not set
-# CONFIG_FB_SYS_IMAGEBLIT is not set
-# CONFIG_FB_SYS_FOPS is not set
-CONFIG_FB_DEFERRED_IO=y
-# CONFIG_FB_SVGALIB is not set
-# CONFIG_FB_MACMODES is not set
-# CONFIG_FB_BACKLIGHT is not set
-# CONFIG_FB_MODE_HELPERS is not set
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
-CONFIG_FB_PXA=y
-CONFIG_FB_PXA_PARAMETERS=y
-# CONFIG_FB_MBX is not set
-# CONFIG_FB_VIRTUAL is not set
-
-#
-# Console display driver support
-#
-# CONFIG_VGA_CONSOLE is not set
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-# CONFIG_FONTS is not set
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-# CONFIG_LOGO is not set
-
-#
-# Sound
-#
-CONFIG_SOUND=m
-
-#
-# Advanced Linux Sound Architecture
-#
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-# CONFIG_SND_SEQUENCER is not set
-# CONFIG_SND_MIXER_OSS is not set
-# CONFIG_SND_PCM_OSS is not set
-# 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=m
-# 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=m
-CONFIG_SND_PXA2XX_AC97=m
-
-#
-# USB devices
-#
-# CONFIG_SND_USB_AUDIO is not set
-# CONFIG_SND_USB_CAIAQ is not set
-
-#
-# System on Chip audio support
-#
-# CONFIG_SND_SOC is not set
-
-#
-# Open Sound System
-#
-# CONFIG_SOUND_PRIME is not set
-CONFIG_AC97_BUS=m
-
-#
-# HID Devices
-#
-CONFIG_HID=y
-# CONFIG_HID_DEBUG is not set
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=y
-# CONFIG_USB_HIDINPUT_POWERBOOK is not set
-# CONFIG_HID_FF is not set
-# CONFIG_USB_HIDDEV is not set
-
-#
-# USB support
-#
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-# CONFIG_USB_ARCH_HAS_EHCI is not set
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-# CONFIG_USB_DEVICE_CLASS is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-# CONFIG_USB_OTG is not set
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_ISP116X_HCD is not set
-CONFIG_USB_OHCI_HCD=y
-# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-# CONFIG_USB_SL811_HCD is not set
-
-#
-# USB Device Class drivers
-#
-# CONFIG_USB_ACM is not set
-# CONFIG_USB_PRINTER is not set
-
-#
-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-#
-
-#
-# may also be needed; see USB_STORAGE Help for more information
-#
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_DPCM is not set
-# CONFIG_USB_STORAGE_USBAT is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_SDDR55 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_STORAGE_ALAUDA is not set
-# CONFIG_USB_STORAGE_ONETOUCH is not set
-# CONFIG_USB_STORAGE_KARMA is not set
-# CONFIG_USB_LIBUSUAL is not set
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
-CONFIG_USB_MON=y
-
-#
-# USB port drivers
-#
-
-#
-# USB Serial Converter support
-#
-# CONFIG_USB_SERIAL is not set
-
-#
-# USB Miscellaneous drivers
-#
-# CONFIG_USB_EMI62 is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_AUERSWALD is not set
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_LEGOTOWER is not set
-# CONFIG_USB_LCD is not set
-# CONFIG_USB_BERRY_CHARGE is not set
-# CONFIG_USB_LED is not set
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_PHIDGET is not set
-# CONFIG_USB_IDMOUSE is not set
-# CONFIG_USB_FTDI_ELAN is not set
-# CONFIG_USB_APPLEDISPLAY is not set
-# CONFIG_USB_LD is not set
-# CONFIG_USB_TRANCEVIBRATOR is not set
-# CONFIG_USB_IOWARRIOR is not set
-# CONFIG_USB_TEST is not set
-
-#
-# USB DSL modem support
-#
-
-#
-# USB Gadget Support
-#
-# CONFIG_USB_GADGET is not set
-CONFIG_MMC=m
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-
-#
-# MMC/SD Card Drivers
-#
-CONFIG_MMC_BLOCK=m
-
-#
-# MMC/SD Host Controller Drivers
-#
-CONFIG_MMC_PXA=m
-
-#
-# Real Time Clock
-#
-CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=y
-CONFIG_EXT3_FS_XATTR=y
-# CONFIG_EXT3_FS_POSIX_ACL is not set
-# CONFIG_EXT3_FS_SECURITY is not set
-# CONFIG_EXT4DEV_FS is not set
-CONFIG_JBD=y
-# CONFIG_JBD_DEBUG is not set
-CONFIG_FS_MBCACHE=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_FS_POSIX_ACL is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_GFS2_FS is not set
-# CONFIG_OCFS2_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_INOTIFY=y
-CONFIG_INOTIFY_USER=y
-# CONFIG_QUOTA is not set
-CONFIG_DNOTIFY=y
-# CONFIG_AUTOFS_FS is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_FUSE_FS is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-# CONFIG_ISO9660_FS is not set
-# CONFIG_UDF_FS is not set
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-# CONFIG_TMPFS_POSIX_ACL is not set
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_RAMFS=y
-# CONFIG_CONFIGFS_FS is not set
-
-#
-# Miscellaneous filesystems
-#
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-CONFIG_JFFS2_SUMMARY=y
-# CONFIG_JFFS2_FS_XATTR is not set
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-# CONFIG_CRAMFS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-
-#
-# Network File Systems
-#
-# CONFIG_NFS_FS is not set
-# CONFIG_NFSD 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=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
-
-#
-# Distributed Lock Manager
-#
-# CONFIG_DLM is not set
-
-#
-# Profiling support
-#
-# CONFIG_PROFILING is not set
-
-#
-# Kernel hacking
-#
-# CONFIG_PRINTK_TIME is not set
-CONFIG_ENABLE_MUST_CHECK=y
-# CONFIG_MAGIC_SYSRQ is not set
-# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_KERNEL is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_DEBUG_USER is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-
-#
-# Cryptographic options
-#
-# CONFIG_CRYPTO is not set
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-# CONFIG_CRC_CCITT is not set
-# CONFIG_CRC16 is not set
-# CONFIG_CRC_ITU_T is not set
-CONFIG_CRC32=y
-# CONFIG_LIBCRC32C is not set
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_PLIST=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
diff --git a/packages/linux/compulab-pxa270_2.6.22.bb b/packages/linux/compulab-pxa270_2.6.22.bb
deleted file mode 100644 (file)
index 84c1c63..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-require linux.inc
-
-SECTION = "kernel"
-DESCRIPTION = "Linux kernel for the Compulab PXA270 system"
-LICENSE = "GPL"
-PR = "r1"
-
-SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
-       file://0001-cm-x270-base2.patch;patch=1 \
-       file://0002-cm-x270-match-type.patch;patch=1 \
-       file://0003-cm-x270-ide.patch;patch=1 \
-       file://0004-cm-x270-it8152.patch;patch=1 \
-       file://0005-cm-x270-pcmcia.patch;patch=1 \
-       file://0006-ramdisk_load.patch;patch=1 \
-       file://0007-mmcsd_large_cards-r0.patch;patch=1 \
-       file://0008-cm-x270-nand-simplify-name.patch;patch=1 \
-        file://defconfig \
-       "
-
-#      file://0009-cursor-fix.patch
-
-
-
-# Note, for 2.6.22, we are no longer using the compulab binary
-# flash driver -- use JFFS2 instead
-# see notes in conf/machine/compulab-pxa270.conf
-
-S = "${WORKDIR}/linux-${PV}"
-
-COMPATIBLE_HOST = 'arm.*-linux'
-COMPATIBLE_MACHINE = "cm-x270"
-
-CMDLINE = "console=${CMX270_CONSOLE_SERIAL_PORT},38400 monitor=8 bpp=16 mem=64M mtdparts=physmap-flash.0:256k(boot)ro,0x180000(kernel),-(root);cm-x270-nand:64m(app),-(data) rdinit=/sbin/init root=mtd3 rootfstype=jffs2"
-
-inherit kernel
-inherit package
-
-ARCH = "arm"
-
-FILES_kernel-image = ""
-
-python do_compulab_image() {
-       import os
-       import os.path
-       import struct
-
-       deploy_dir = bb.data.getVar('DEPLOY_DIR_IMAGE', d, 1)
-       kernel_file = os.path.join(deploy_dir, bb.data.expand('${KERNEL_IMAGE_BASE_NAME}', d) + '.bin')
-       img_file = os.path.join(deploy_dir, bb.data.expand('${KERNEL_IMAGE_BASE_NAME}', d) + '.cmx270')
-
-       fo = open(img_file, 'wb')
-
-       image_data = open(kernel_file, 'rb').read()
-
-       # first write size into first 4 bytes
-       size_s = struct.pack('i', len(image_data))
-
-       # truncate size if we are running on a 64-bit host
-       size_s = size_s[:4]
-
-       fo.write(size_s)
-       fo.write(image_data)
-       fo.close()
-}
-
-addtask compulab_image after do_deploy before do_package
-
diff --git a/packages/linux/linux-2.6.22/.mtn2git_empty b/packages/linux/linux-2.6.22/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/linux/linux-2.6.22/cm-x270/.mtn2git_empty b/packages/linux/linux-2.6.22/cm-x270/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/linux/linux-2.6.22/cm-x270/0001-cm-x270-base2.patch b/packages/linux/linux-2.6.22/cm-x270/0001-cm-x270-base2.patch
new file mode 100644 (file)
index 0000000..9a635c5
--- /dev/null
@@ -0,0 +1,2850 @@
+From 0db989f536f29c343bb4e42dc0b34d892d86de60 Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
+Date: Fri, 20 Jul 2007 18:55:59 -0400
+Subject: [PATCH] cm-x270-base2
+
+---
+ arch/arm/Kconfig                    |    8 +-
+ arch/arm/configs/cm_x270_defconfig  | 1567 +++++++++++++++++++++++++++++++++++
+ arch/arm/mach-pxa/Kconfig           |    5 +
+ arch/arm/mach-pxa/Makefile          |    7 +
+ arch/arm/mach-pxa/cm-x270.c         |  821 ++++++++++++++++++
+ drivers/leds/Kconfig                |    6 +
+ drivers/leds/Makefile               |    1 +
+ drivers/leds/leds-cm-x270.c         |  126 +++
+ drivers/net/Kconfig                 |    8 +
+ drivers/net/dm9000.c                |    6 +
+ include/asm-arm/arch-pxa/cm-x270.h  |   71 ++
+ include/asm-arm/arch-pxa/hardware.h |   11 +
+ include/asm-arm/arch-pxa/irqs.h     |   20 +
+ include/asm-arm/memory.h            |   10 +
+ 14 files changed, 2666 insertions(+), 1 deletions(-)
+ create mode 100644 arch/arm/configs/cm_x270_defconfig
+ create mode 100644 arch/arm/mach-pxa/cm-x270.c
+ create mode 100644 drivers/leds/leds-cm-x270.c
+ create mode 100644 include/asm-arm/arch-pxa/cm-x270.h
+
+diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
+index 50d9f3e..dec0a27 100644
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
+@@ -519,7 +519,7 @@ config ISA_DMA_API
+       bool
+ config PCI
+-      bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695
++      bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || 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
+@@ -537,6 +537,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"
+diff --git a/arch/arm/configs/cm_x270_defconfig b/arch/arm/configs/cm_x270_defconfig
+new file mode 100644
+index 0000000..f728363
+--- /dev/null
++++ b/arch/arm/configs/cm_x270_defconfig
+@@ -0,0 +1,1567 @@
++#
++# Automatically generated make config: don't edit
++# Linux kernel version: 2.6.21-rc4
++# Wed Apr  4 16:42:03 2007
++#
++CONFIG_ARM=y
++CONFIG_SYS_SUPPORTS_APM_EMULATION=y
++CONFIG_GENERIC_GPIO=y
++CONFIG_GENERIC_TIME=y
++CONFIG_MMU=y
++# CONFIG_NO_IOPORT is not set
++CONFIG_GENERIC_HARDIRQS=y
++CONFIG_TRACE_IRQFLAGS_SUPPORT=y
++CONFIG_HARDIRQS_SW_RESEND=y
++CONFIG_GENERIC_IRQ_PROBE=y
++CONFIG_RWSEM_GENERIC_SPINLOCK=y
++# CONFIG_ARCH_HAS_ILOG2_U32 is not set
++# CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_GENERIC_HWEIGHT=y
++CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_ZONE_DMA=y
++CONFIG_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=""
++# CONFIG_LOCALVERSION_AUTO is not set
++CONFIG_SWAP=y
++CONFIG_SYSVIPC=y
++# CONFIG_IPC_NS is not set
++CONFIG_SYSVIPC_SYSCTL=y
++# CONFIG_POSIX_MQUEUE is not set
++# CONFIG_BSD_PROCESS_ACCT is not set
++# CONFIG_TASKSTATS is not set
++# CONFIG_UTS_NS is not set
++# CONFIG_AUDIT is not set
++CONFIG_IKCONFIG=y
++CONFIG_IKCONFIG_PROC=y
++CONFIG_SYSFS_DEPRECATED=y
++# CONFIG_RELAY is not set
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++CONFIG_CC_OPTIMIZE_FOR_SIZE=y
++CONFIG_SYSCTL=y
++CONFIG_EMBEDDED=y
++CONFIG_UID16=y
++CONFIG_SYSCTL_SYSCALL=y
++CONFIG_KALLSYMS=y
++# CONFIG_KALLSYMS_ALL is not set
++# CONFIG_KALLSYMS_EXTRA_PASS is not set
++CONFIG_HOTPLUG=y
++CONFIG_PRINTK=y
++CONFIG_BUG=y
++CONFIG_ELF_CORE=y
++CONFIG_BASE_FULL=y
++CONFIG_FUTEX=y
++CONFIG_EPOLL=y
++CONFIG_SHMEM=y
++CONFIG_SLAB=y
++CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_RT_MUTEXES=y
++# CONFIG_TINY_SHMEM is not set
++CONFIG_BASE_SMALL=0
++# CONFIG_SLOB is not set
++
++#
++# Loadable module support
++#
++CONFIG_MODULES=y
++CONFIG_MODULE_UNLOAD=y
++CONFIG_MODULE_FORCE_UNLOAD=y
++# CONFIG_MODVERSIONS is not set
++# CONFIG_MODULE_SRCVERSION_ALL is not set
++CONFIG_KMOD=y
++
++#
++# Block layer
++#
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_LSF is not set
++
++#
++# 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_IOP32X is not set
++# CONFIG_ARCH_IOP33X is not set
++# CONFIG_ARCH_IOP13XX is not set
++# CONFIG_ARCH_IXP4XX is not set
++# CONFIG_ARCH_IXP2000 is not set
++# CONFIG_ARCH_IXP23XX is not set
++# CONFIG_ARCH_L7200 is not set
++# CONFIG_ARCH_NS9XXX is not set
++# CONFIG_ARCH_PNX4008 is not set
++CONFIG_ARCH_PXA=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_PXA27x=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
++CONFIG_CPU_CP15=y
++CONFIG_CPU_CP15_MMU=y
++
++#
++# Processor Features
++#
++CONFIG_ARM_THUMB=y
++# CONFIG_CPU_DCACHE_DISABLE is not set
++# CONFIG_OUTER_CACHE is not set
++CONFIG_IWMMXT=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=m
++# CONFIG_PCMCIA_LOAD_CIS is not set
++CONFIG_PCMCIA_IOCTL=y
++CONFIG_CARDBUS=y
++
++#
++# PC-card bridges
++#
++# CONFIG_YENTA is not set
++# CONFIG_PD6729 is not set
++# CONFIG_I82092 is not set
++CONFIG_PCMCIA_PXA2XX=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_ZONE_DMA_FLAG=1
++CONFIG_ALIGNMENT_TRAP=y
++
++#
++# Boot options
++#
++CONFIG_ZBOOT_ROM_TEXT=0x0
++CONFIG_ZBOOT_ROM_BSS=0x0
++CONFIG_CMDLINE=""
++# CONFIG_XIP_KERNEL is not set
++# CONFIG_KEXEC is not set
++
++#
++# Floating point emulation
++#
++
++#
++# At least one emulation must be selected
++#
++CONFIG_FPE_NWFPE=y
++# CONFIG_FPE_NWFPE_XP is not set
++# CONFIG_FPE_FASTFPE is not set
++
++#
++# Userspace binary formats
++#
++CONFIG_BINFMT_ELF=y
++# CONFIG_BINFMT_AOUT is not set
++# CONFIG_BINFMT_MISC is not set
++# CONFIG_ARTHUR is not set
++
++#
++# Power management options
++#
++CONFIG_PM=y
++# CONFIG_PM_LEGACY is not set
++# CONFIG_PM_DEBUG is not set
++# CONFIG_PM_SYSFS_DEPRECATED is not set
++# CONFIG_APM_EMULATION 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_XFRM_SUB_POLICY is not set
++# CONFIG_XFRM_MIGRATE is not set
++# CONFIG_NET_KEY is not set
++CONFIG_INET=y
++# CONFIG_IP_MULTICAST is not set
++# CONFIG_IP_ADVANCED_ROUTER is not set
++CONFIG_IP_FIB_HASH=y
++CONFIG_IP_PNP=y
++CONFIG_IP_PNP_DHCP=y
++CONFIG_IP_PNP_BOOTP=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_XFRM_MODE_BEET=y
++CONFIG_INET_DIAG=y
++CONFIG_INET_TCP_DIAG=y
++# CONFIG_TCP_CONG_ADVANCED is not set
++CONFIG_TCP_CONG_CUBIC=y
++CONFIG_DEFAULT_TCP_CONG="cubic"
++# CONFIG_TCP_MD5SIG is not set
++# CONFIG_IPV6 is not set
++# CONFIG_INET6_XFRM_TUNNEL is not set
++# CONFIG_INET6_TUNNEL is not set
++# CONFIG_NETWORK_SECMARK is not set
++# CONFIG_NETFILTER is not set
++
++#
++# DCCP Configuration (EXPERIMENTAL)
++#
++# CONFIG_IP_DCCP is not set
++
++#
++# SCTP Configuration (EXPERIMENTAL)
++#
++# CONFIG_IP_SCTP is not set
++
++#
++# TIPC Configuration (EXPERIMENTAL)
++#
++# CONFIG_TIPC is not set
++# CONFIG_ATM is not set
++# CONFIG_BRIDGE is not set
++# CONFIG_VLAN_8021Q is not set
++# CONFIG_DECNET is not set
++# CONFIG_LLC2 is not set
++# CONFIG_IPX is not set
++# CONFIG_ATALK is not set
++# CONFIG_X25 is not set
++# CONFIG_LAPB is not set
++# CONFIG_ECONET is not set
++# CONFIG_WAN_ROUTER is not set
++
++#
++# QoS and/or fair queueing
++#
++# CONFIG_NET_SCHED is not set
++
++#
++# Network testing
++#
++# CONFIG_NET_PKTGEN is not set
++# CONFIG_HAMRADIO is not set
++# CONFIG_IRDA is not set
++# CONFIG_BT is not set
++CONFIG_IEEE80211=m
++# CONFIG_IEEE80211_DEBUG is not set
++CONFIG_IEEE80211_CRYPT_WEP=m
++CONFIG_IEEE80211_CRYPT_CCMP=m
++# CONFIG_IEEE80211_CRYPT_TKIP is not set
++# CONFIG_IEEE80211_SOFTMAC 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_DEBUG_DEVRES is not set
++# CONFIG_SYS_HYPERVISOR is not set
++
++#
++# Connector - unified userspace <-> kernelspace linker
++#
++# CONFIG_CONNECTOR is not set
++
++#
++# Memory Technology Devices (MTD)
++#
++CONFIG_MTD=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_AFS_PARTS is not set
++
++#
++# User Modules And Translation Layers
++#
++CONFIG_MTD_CHAR=m
++CONFIG_MTD_BLKDEVS=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
++# CONFIG_SSFDC is not set
++
++#
++# RAM/ROM/Flash chip drivers
++#
++# CONFIG_MTD_CFI is not set
++# CONFIG_MTD_JEDECPROBE is not set
++CONFIG_MTD_MAP_BANK_WIDTH_1=y
++CONFIG_MTD_MAP_BANK_WIDTH_2=y
++CONFIG_MTD_MAP_BANK_WIDTH_4=y
++# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
++CONFIG_MTD_CFI_I1=y
++CONFIG_MTD_CFI_I2=y
++# CONFIG_MTD_CFI_I4 is not set
++# CONFIG_MTD_CFI_I8 is not set
++# CONFIG_MTD_RAM is not set
++# CONFIG_MTD_ROM is not set
++# CONFIG_MTD_ABSENT is not set
++# CONFIG_MTD_OBSOLETE_CHIPS is not set
++
++#
++# Mapping drivers for chip access
++#
++# CONFIG_MTD_COMPLEX_MAPPINGS is not set
++# CONFIG_MTD_SHARP_SL is not set
++# CONFIG_MTD_PLATRAM is not set
++
++#
++# Self-contained MTD device drivers
++#
++# CONFIG_MTD_PMC551 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_CAFE 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
++#
++# CONFIG_PNPACPI is not set
++
++#
++# 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_RAM_BLOCKSIZE=1024
++# CONFIG_CDROM_PKTCDVD is not set
++# CONFIG_ATA_OVER_ETH is not set
++
++#
++# ATA/ATAPI/MFM/RLL support
++#
++CONFIG_IDE=m
++CONFIG_IDE_MAX_HWIFS=4
++CONFIG_BLK_DEV_IDE=m
++
++#
++# Please see Documentation/ide.txt for help/info on IDE drives
++#
++# CONFIG_BLK_DEV_IDE_SATA is not set
++CONFIG_BLK_DEV_IDEDISK=m
++# CONFIG_IDEDISK_MULTI_MODE is not set
++CONFIG_BLK_DEV_IDECS=m
++# CONFIG_BLK_DEV_DELKIN is not set
++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 is not set
++# 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_BLK_DEV_HD is not set
++
++#
++# SCSI device support
++#
++# CONFIG_RAID_ATTRS is not set
++CONFIG_SCSI=y
++# CONFIG_SCSI_TGT is not set
++# CONFIG_SCSI_NETLINK is not set
++# CONFIG_SCSI_PROC_FS is not set
++
++#
++# SCSI support type (disk, tape, CD-ROM)
++#
++CONFIG_BLK_DEV_SD=y
++# CONFIG_CHR_DEV_ST is not set
++# CONFIG_CHR_DEV_OSST is not set
++# CONFIG_BLK_DEV_SR is not set
++# CONFIG_CHR_DEV_SG is not set
++# CONFIG_CHR_DEV_SCH is not set
++
++#
++# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
++#
++# CONFIG_SCSI_MULTI_LUN is not set
++# CONFIG_SCSI_CONSTANTS is not set
++# CONFIG_SCSI_LOGGING is not set
++# CONFIG_SCSI_SCAN_ASYNC is not set
++
++#
++# SCSI Transports
++#
++# CONFIG_SCSI_SPI_ATTRS is not set
++# CONFIG_SCSI_FC_ATTRS is not set
++# CONFIG_SCSI_ISCSI_ATTRS is not set
++# CONFIG_SCSI_SAS_ATTRS is not set
++# CONFIG_SCSI_SAS_LIBSAS is not set
++
++#
++# SCSI low-level drivers
++#
++# CONFIG_ISCSI_TCP is not set
++# CONFIG_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_AIC94XX is not set
++# CONFIG_SCSI_DPT_I2O is not set
++# CONFIG_SCSI_ARCMSR is not set
++# CONFIG_MEGARAID_NEWGEN is not set
++# CONFIG_MEGARAID_LEGACY is not set
++# CONFIG_MEGARAID_SAS 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_STEX is not set
++# CONFIG_SCSI_SYM53C8XX_2 is not set
++# CONFIG_SCSI_QLOGIC_1280 is not set
++# CONFIG_SCSI_QLA_FC is not set
++# CONFIG_SCSI_QLA_ISCSI 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
++# CONFIG_SCSI_SRP 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
++
++#
++# Serial ATA (prod) and Parallel ATA (experimental) drivers
++#
++# CONFIG_ATA is not set
++
++#
++# Multi-device support (RAID and LVM)
++#
++# CONFIG_MD is not set
++
++#
++# Fusion MPT device support
++#
++# CONFIG_FUSION is not set
++# 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
++# 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
++# CONFIG_SC92031 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
++# CONFIG_QLA3XXX is not set
++# CONFIG_ATL1 is not set
++
++#
++# Ethernet (10000 Mbit)
++#
++# CONFIG_CHELSIO_T1 is not set
++# CONFIG_CHELSIO_T3 is not set
++# CONFIG_IXGB is not set
++# CONFIG_S2IO is not set
++# CONFIG_MYRI10GE is not set
++# CONFIG_NETXEN_NIC 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_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=m
++# 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
++# CONFIG_INPUT_FF_MEMLESS is not set
++
++#
++# Userland interfaces
++#
++# CONFIG_INPUT_MOUSEDEV is not set
++# 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=y
++# CONFIG_TOUCHSCREEN_GUNZE is not set
++# CONFIG_TOUCHSCREEN_ELO is not set
++# CONFIG_TOUCHSCREEN_MTOUCH is not set
++# CONFIG_TOUCHSCREEN_MK712 is not set
++# CONFIG_TOUCHSCREEN_PENMOUNT is not set
++# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
++# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
++CONFIG_TOUCHSCREEN_UCB1400=m
++# CONFIG_INPUT_MISC is not set
++
++#
++# Hardware I/O ports
++#
++# CONFIG_SERIO is not set
++# CONFIG_GAMEPORT is not set
++
++#
++# Character devices
++#
++CONFIG_VT=y
++CONFIG_VT_CONSOLE=y
++CONFIG_HW_CONSOLE=y
++# CONFIG_VT_HW_CONSOLE_BINDING is not set
++# CONFIG_SERIAL_NONSTANDARD is not set
++
++#
++# Serial drivers
++#
++# CONFIG_SERIAL_8250 is not set
++
++#
++# Non-8250 serial port support
++#
++CONFIG_SERIAL_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=m
++# CONFIG_NVRAM is not set
++# CONFIG_DTLK is not set
++# CONFIG_R3964 is not set
++# CONFIG_APPLICOM is not set
++# 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
++
++#
++# 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
++#
++# CONFIG_SGI_IOC4 is not set
++# CONFIG_TIFM_CORE is not set
++
++#
++# Multifunction device drivers
++#
++# CONFIG_MFD_SM501 is not set
++
++#
++# LED devices
++#
++CONFIG_NEW_LEDS=y
++CONFIG_LEDS_CLASS=y
++
++#
++# LED drivers
++#
++CONFIG_LEDS_CM_X270=y
++
++#
++# LED Triggers
++#
++CONFIG_LEDS_TRIGGERS=y
++# CONFIG_LEDS_TRIGGER_TIMER is not set
++# CONFIG_LEDS_TRIGGER_IDE_DISK is not set
++CONFIG_LEDS_TRIGGER_HEARTBEAT=y
++
++#
++# Multimedia devices
++#
++# CONFIG_VIDEO_DEV is not set
++
++#
++# Digital Video Broadcasting Devices
++#
++# CONFIG_DVB is not set
++# CONFIG_USB_DABUSB is not set
++
++#
++# Graphics support
++#
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++CONFIG_FB=y
++# CONFIG_FIRMWARE_EDID is not set
++# CONFIG_FB_DDC is not set
++CONFIG_FB_CFB_FILLRECT=y
++CONFIG_FB_CFB_COPYAREA=y
++CONFIG_FB_CFB_IMAGEBLIT=y
++# CONFIG_FB_SVGALIB is not set
++# CONFIG_FB_MACMODES is not set
++# CONFIG_FB_BACKLIGHT is not set
++# CONFIG_FB_MODE_HELPERS is not set
++# CONFIG_FB_TILEBLITTING is not set
++
++#
++# Frambuffer hardware drivers
++#
++# 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_S3 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
++
++#
++# Sound
++#
++CONFIG_SOUND=m
++
++#
++# Advanced Linux Sound Architecture
++#
++CONFIG_SND=m
++CONFIG_SND_TIMER=m
++CONFIG_SND_PCM=m
++# CONFIG_SND_SEQUENCER is not set
++CONFIG_SND_OSSEMUL=y
++CONFIG_SND_MIXER_OSS=m
++CONFIG_SND_PCM_OSS=m
++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=m
++# 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
++# CONFIG_SND_AC97_POWER_SAVE is not set
++
++#
++# ALSA ARM devices
++#
++CONFIG_SND_PXA2XX_PCM=m
++CONFIG_SND_PXA2XX_AC97=m
++
++#
++# USB devices
++#
++# CONFIG_SND_USB_AUDIO is not set
++
++#
++# PCMCIA devices
++#
++# CONFIG_SND_VXPOCKET is not set
++# CONFIG_SND_PDAUDIOCF is not set
++
++#
++# SoC audio support
++#
++# CONFIG_SND_SOC is not set
++
++#
++# Open Sound System
++#
++# CONFIG_SOUND_PRIME is not set
++CONFIG_AC97_BUS=m
++
++#
++# HID Devices
++#
++CONFIG_HID=y
++# CONFIG_HID_DEBUG is not set
++
++#
++# USB support
++#
++CONFIG_USB_ARCH_HAS_HCD=y
++CONFIG_USB_ARCH_HAS_OHCI=y
++CONFIG_USB_ARCH_HAS_EHCI=y
++CONFIG_USB=y
++# CONFIG_USB_DEBUG is not set
++
++#
++# Miscellaneous USB options
++#
++CONFIG_USB_DEVICEFS=y
++# CONFIG_USB_DYNAMIC_MINORS is not set
++# CONFIG_USB_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_DESC is not set
++# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO 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_DPCM is not set
++# CONFIG_USB_STORAGE_USBAT is not set
++# CONFIG_USB_STORAGE_SDDR09 is not set
++# CONFIG_USB_STORAGE_SDDR55 is not set
++# CONFIG_USB_STORAGE_JUMPSHOT is not set
++# CONFIG_USB_STORAGE_ALAUDA is not set
++# CONFIG_USB_STORAGE_KARMA is not set
++# CONFIG_USB_LIBUSUAL is not set
++
++#
++# USB Input Devices
++#
++CONFIG_USB_HID=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
++# CONFIG_USB_GTCO is not set
++
++#
++# USB Imaging devices
++#
++# CONFIG_USB_MDC800 is not set
++# CONFIG_USB_MICROTEK is not set
++
++#
++# USB Network Adapters
++#
++# CONFIG_USB_CATC is not set
++# CONFIG_USB_KAWETH is not set
++# CONFIG_USB_PEGASUS is not set
++# CONFIG_USB_RTL8150 is not set
++# CONFIG_USB_USBNET_MII is not set
++# CONFIG_USB_USBNET is not set
++CONFIG_USB_MON=y
++
++#
++# USB port drivers
++#
++
++#
++# USB Serial Converter support
++#
++# CONFIG_USB_SERIAL is not set
++
++#
++# USB Miscellaneous drivers
++#
++# CONFIG_USB_EMI62 is not set
++# CONFIG_USB_EMI26 is not set
++# CONFIG_USB_ADUTUX is not set
++# CONFIG_USB_AUERSWALD is not set
++# CONFIG_USB_RIO500 is not set
++# CONFIG_USB_LEGOTOWER is not set
++# CONFIG_USB_LCD is not set
++# CONFIG_USB_BERRY_CHARGE is not set
++# CONFIG_USB_LED is not set
++# CONFIG_USB_CYPRESS_CY7C63 is not set
++# CONFIG_USB_CYTHERM is not set
++# CONFIG_USB_PHIDGET is not set
++# CONFIG_USB_IDMOUSE is not set
++# CONFIG_USB_FTDI_ELAN is not set
++# CONFIG_USB_APPLEDISPLAY is not set
++# CONFIG_USB_LD is not set
++# CONFIG_USB_TRANCEVIBRATOR is not set
++# CONFIG_USB_IOWARRIOR is not set
++# CONFIG_USB_TEST is not set
++
++#
++# USB DSL modem support
++#
++
++#
++# USB Gadget Support
++#
++# CONFIG_USB_GADGET is not set
++
++#
++# MMC/SD Card support
++#
++CONFIG_MMC=m
++# CONFIG_MMC_DEBUG is not set
++CONFIG_MMC_BLOCK=m
++CONFIG_MMC_PXA=m
++# CONFIG_MMC_SDHCI is not set
++# CONFIG_MMC_TIFM_SD is not set
++
++#
++# Real Time Clock
++#
++CONFIG_RTC_LIB=y
++CONFIG_RTC_CLASS=y
++CONFIG_RTC_HCTOSYS=y
++CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
++# CONFIG_RTC_DEBUG is not set
++
++#
++# RTC interfaces
++#
++CONFIG_RTC_INTF_SYSFS=y
++CONFIG_RTC_INTF_PROC=y
++CONFIG_RTC_INTF_DEV=y
++# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
++
++#
++# RTC drivers
++#
++# CONFIG_RTC_DRV_CMOS is not set
++# CONFIG_RTC_DRV_DS1553 is not set
++# CONFIG_RTC_DRV_DS1742 is not set
++# CONFIG_RTC_DRV_M48T86 is not set
++CONFIG_RTC_DRV_SA1100=y
++# CONFIG_RTC_DRV_TEST 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_EXT4DEV_FS is not set
++CONFIG_JBD=y
++# CONFIG_JBD_DEBUG is not set
++CONFIG_FS_MBCACHE=y
++# CONFIG_REISERFS_FS is not set
++# CONFIG_JFS_FS is not set
++# CONFIG_FS_POSIX_ACL is not set
++# CONFIG_XFS_FS is not set
++# CONFIG_GFS2_FS is not set
++# CONFIG_OCFS2_FS is not set
++# CONFIG_MINIX_FS is not set
++# CONFIG_ROMFS_FS is not set
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
++# CONFIG_QUOTA is not set
++CONFIG_DNOTIFY=y
++# CONFIG_AUTOFS_FS is not set
++# CONFIG_AUTOFS4_FS is not set
++# CONFIG_FUSE_FS is not set
++
++#
++# CD-ROM/DVD Filesystems
++#
++# CONFIG_ISO9660_FS is not set
++# CONFIG_UDF_FS is not set
++
++#
++# DOS/FAT/NT Filesystems
++#
++CONFIG_FAT_FS=y
++CONFIG_MSDOS_FS=y
++CONFIG_VFAT_FS=y
++CONFIG_FAT_DEFAULT_CODEPAGE=437
++CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
++# CONFIG_NTFS_FS is not set
++
++#
++# Pseudo filesystems
++#
++CONFIG_PROC_FS=y
++CONFIG_PROC_SYSCTL=y
++CONFIG_SYSFS=y
++CONFIG_TMPFS=y
++# CONFIG_TMPFS_POSIX_ACL is not set
++# CONFIG_HUGETLB_PAGE is not set
++CONFIG_RAMFS=y
++# CONFIG_CONFIGFS_FS is not set
++
++#
++# Miscellaneous filesystems
++#
++# CONFIG_ADFS_FS is not set
++# CONFIG_AFFS_FS is not set
++# CONFIG_HFS_FS is not set
++# CONFIG_HFSPLUS_FS is not set
++# CONFIG_BEFS_FS is not set
++# CONFIG_BFS_FS is not set
++# CONFIG_EFS_FS is not set
++# CONFIG_JFFS2_FS 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
++
++#
++# Distributed Lock Manager
++#
++# CONFIG_DLM is not set
++
++#
++# Profiling support
++#
++# CONFIG_PROFILING is not set
++
++#
++# Kernel hacking
++#
++# CONFIG_PRINTK_TIME is not set
++CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_MAGIC_SYSRQ=y
++# CONFIG_UNUSED_SYMBOLS is not set
++# CONFIG_DEBUG_FS is not set
++# CONFIG_HEADERS_CHECK is not set
++CONFIG_DEBUG_KERNEL=y
++# CONFIG_DEBUG_SHIRQ is not set
++CONFIG_LOG_BUF_SHIFT=17
++# CONFIG_DETECT_SOFTLOCKUP is not set
++# CONFIG_SCHEDSTATS is not set
++# CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_SLAB is not set
++# CONFIG_DEBUG_RT_MUTEXES is not set
++# CONFIG_RT_MUTEX_TESTER is not set
++# CONFIG_DEBUG_SPINLOCK is not set
++# CONFIG_DEBUG_MUTEXES is not set
++# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
++# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
++# CONFIG_DEBUG_KOBJECT is not set
++# CONFIG_DEBUG_BUGVERBOSE is not set
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_LIST is not set
++CONFIG_FRAME_POINTER=y
++CONFIG_FORCED_INLINING=y
++# CONFIG_RCU_TORTURE_TEST is not set
++# CONFIG_FAULT_INJECTION is not set
++CONFIG_DEBUG_USER=y
++CONFIG_DEBUG_ERRORS=y
++CONFIG_DEBUG_LL=y
++# CONFIG_DEBUG_ICEDCC is not set
++
++#
++# Security options
++#
++# CONFIG_KEYS is not set
++# CONFIG_SECURITY is not set
++
++#
++# Cryptographic options
++#
++CONFIG_CRYPTO=y
++CONFIG_CRYPTO_ALGAPI=m
++CONFIG_CRYPTO_BLKCIPHER=m
++CONFIG_CRYPTO_MANAGER=m
++# CONFIG_CRYPTO_HMAC is not set
++# CONFIG_CRYPTO_XCBC is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_MD4 is not set
++# CONFIG_CRYPTO_MD5 is not set
++# CONFIG_CRYPTO_SHA1 is not set
++# CONFIG_CRYPTO_SHA256 is not set
++# CONFIG_CRYPTO_SHA512 is not set
++# CONFIG_CRYPTO_WP512 is not set
++# CONFIG_CRYPTO_TGR192 is not set
++# CONFIG_CRYPTO_GF128MUL is not set
++CONFIG_CRYPTO_ECB=m
++CONFIG_CRYPTO_CBC=m
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_LRW is not set
++# CONFIG_CRYPTO_DES is not set
++# CONFIG_CRYPTO_FCRYPT is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++# CONFIG_CRYPTO_SERPENT is not set
++CONFIG_CRYPTO_AES=m
++# CONFIG_CRYPTO_CAST5 is not set
++# CONFIG_CRYPTO_CAST6 is not set
++# CONFIG_CRYPTO_TEA is not set
++CONFIG_CRYPTO_ARC4=m
++# CONFIG_CRYPTO_KHAZAD is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_DEFLATE is not set
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
++# CONFIG_CRYPTO_CRC32C is not set
++# CONFIG_CRYPTO_CAMELLIA is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Hardware crypto devices
++#
++
++#
++# Library routines
++#
++CONFIG_BITREVERSE=y
++# CONFIG_CRC_CCITT is not set
++# CONFIG_CRC16 is not set
++CONFIG_CRC32=y
++# CONFIG_LIBCRC32C is not set
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_IOPORT=y
+diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
+index 5c0a100..e1cd439 100644
+--- a/arch/arm/mach-pxa/Kconfig
++++ b/arch/arm/mach-pxa/Kconfig
+@@ -37,6 +37,11 @@ config MACH_TRIZEPS4
+       bool "Keith und Koep Trizeps4 DIMM-Module"
+       select PXA27x
++config MACH_ARMCORE
++      bool "CompuLab CM-X270 modules"
++      select PXA27x
++      select IWMMXT
++
+ endchoice
+ if PXA_SHARPSL
+diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile
+index 9093eb1..2a110f8 100644
+--- a/arch/arm/mach-pxa/Makefile
++++ b/arch/arm/mach-pxa/Makefile
+@@ -18,6 +18,7 @@ obj-$(CONFIG_PXA_SHARP_Cxx00)        += spitz.o corgi_ssp.o corgi_lcd.o sharpsl_pm.o sp
+ obj-$(CONFIG_MACH_AKITA)      += akita-ioexp.o
+ obj-$(CONFIG_MACH_POODLE)     += poodle.o corgi_ssp.o
+ obj-$(CONFIG_MACH_TOSA)         += tosa.o
++obj-$(CONFIG_MACH_ARMCORE)      += cm-x270.o
+ # Support for blinky lights
+ led-y := leds.o
+@@ -25,6 +26,8 @@ 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_TRIZEPS4) += leds-trizeps4.o
++# FIXME: use driver/leds  instead
++led-$(CONFIG_MACH_ARMCORE) += leds-cm-x270.o
+ obj-$(CONFIG_LEDS) += $(led-y)
+@@ -35,3 +38,7 @@ obj-$(CONFIG_PXA_SSP) += ssp.o
+ ifeq ($(CONFIG_PXA27x),y)
+ obj-$(CONFIG_PM) += standby.o
+ endif
++
++ifeq ($(CONFIG_PCI),y)
++obj-$(CONFIG_MACH_ARMCORE) += cm-x270-pci.o
++endif
+diff --git a/arch/arm/mach-pxa/cm-x270.c b/arch/arm/mach-pxa/cm-x270.c
+new file mode 100644
+index 0000000..88b080d
+--- /dev/null
++++ b/arch/arm/mach-pxa/cm-x270.c
+@@ -0,0 +1,821 @@
++/*
++ * linux/arch/arm/mach-pxa/cm-x270.c
++ *
++ * Copyright (C) 2007 CompuLab, Ltd.
++ * Mike Rapoport <mike@compulab.co.il>
++ *
++ * 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/rtc-v3020.h>
++#include <linux/serial_8250.h>
++#include <video/mbxfb.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/pxafb.h>
++#include <asm/arch/ohci.h>
++#include <asm/arch/mmc.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-ts",
++      .id             = -1,
++};
++
++/* RTC */
++static struct resource cmx270_v3020_resource[] = {
++      [0] = {
++              .start = RTC_PHYS_BASE,
++              .end   = RTC_PHYS_BASE + 4,
++              .flags = IORESOURCE_MEM,
++      },
++};
++
++struct v3020_platform_data cmx270_v3020_pdata = {
++      .leftshift = 16,
++};
++
++static struct platform_device cmx270_rtc_device = {
++      .name           = "v3020",
++      .num_resources  = ARRAY_SIZE(cmx270_v3020_resource),
++      .resource       = cmx270_v3020_resource,
++      .id             = -1,
++      .dev            = {
++              .platform_data = &cmx270_v3020_pdata,
++      }
++};
++
++/*
++ * CM-X270 LEDs
++ */
++static struct platform_device cmx270led_device = {
++      .name           = "cm-x270-led",
++      .id             = -1,
++};
++
++/* 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];
++
++static int cmx270_marathon_probe(struct fb_info *fb)
++{
++      /* 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)
++{
++      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_rtc_device,
++      &cmx270_2700G,
++      &cmx270led_device,
++};
++
++#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 irq_desc *desc;
++      desc = irq_desc + irq;
++      desc_handle_irq(irq, desc);
++}
++
++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
++
++/* #define CMX270_FLASH_VIRT (CMX270_IDE104_VIRT + PXA_CS_SIZE - (8<<20)) */
++/* Map PCI companion and IDE/General Purpose CS statically */
++static struct map_desc cmx270_io_desc[] __initdata = {
++      [0] = { /* IDE/general purpose space */
++              .virtual        = CMX270_IDE104_VIRT,
++              .pfn            = __phys_to_pfn(CMX270_IDE104_PHYS),
++              .length         = PXA_CS_SIZE - (8<<20),
++              .type           = MT_DEVICE
++      },
++      [1] = { /* PCI bridge */
++              .virtual        = CMX270_IT8152_VIRT,
++              .pfn            = __phys_to_pfn(CMX270_IT8152_PHYS),
++              .length         = PXA_CS_SIZE,
++              .type           = MT_DEVICE
++      },
++};
++
++/*
++  Display definitions
++  keep these for backwards compatibility, although symbolic names (as
++  e.g. in lpd270.c) looks better
++ */
++#define MTYPE_STN320x240      0
++#define MTYPE_TFT640x480      1
++#define MTYPE_CRT640x480      2
++#define MTYPE_CRT800x600      3
++#define MTYPE_TFT320x240      6
++#define MTYPE_STN640x480      7
++
++static struct pxafb_mode_info generic_stn_320x240_mode = {
++      .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),
++      .cmap_greyscale = 0,
++};
++
++static struct pxafb_mach_info generic_stn_320x240 = {
++      .modes          = &generic_stn_320x240_mode,
++      .num_modes      = 1,
++      .lccr0          = 0,
++      .lccr3          = (LCCR3_PixClkDiv(0x03) |
++                         LCCR3_Acb(0xff) |
++                         LCCR3_PCP),
++      .cmap_inverse   = 0,
++      .cmap_static    = 0,
++};
++
++static struct pxafb_mode_info generic_tft_640x480_mode = {
++      .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,
++      .cmap_greyscale = 0,
++};
++
++static struct pxafb_mach_info generic_tft_640x480 = {
++      .modes          = &generic_tft_640x480_mode,
++      .num_modes      = 1,
++      .lccr0          = (LCCR0_PAS),
++      .lccr3          = (LCCR3_PixClkDiv(0x01) |
++                         LCCR3_Acb(0xff) |
++                         LCCR3_PCP),
++      .cmap_inverse   = 0,
++      .cmap_static    = 0,
++};
++
++static struct pxafb_mode_info generic_crt_640x480_mode = {
++      .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),
++      .cmap_greyscale = 0,
++};
++
++static struct pxafb_mach_info generic_crt_640x480 = {
++      .modes          = &generic_crt_640x480_mode,
++      .num_modes      = 1,
++      .lccr0          = (LCCR0_PAS),
++      .lccr3          = (LCCR3_PixClkDiv(0x01) |
++                         LCCR3_Acb(0xff)),
++      .cmap_inverse   = 0,
++      .cmap_static    = 0,
++};
++
++static struct pxafb_mode_info generic_crt_800x600_mode = {
++      .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),
++      .cmap_greyscale = 0,
++};
++
++static struct pxafb_mach_info generic_crt_800x600 = {
++      .modes          = &generic_crt_800x600_mode,
++      .num_modes      = 1,
++      .lccr0          = (LCCR0_PAS),
++      .lccr3          = (LCCR3_PixClkDiv(0x02) |
++                         LCCR3_Acb(0xff)),
++      .cmap_inverse   = 0,
++      .cmap_static    = 0,
++};
++
++static struct pxafb_mode_info generic_tft_320x240_mode = {
++      .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,
++      .cmap_greyscale = 0,
++};
++
++static struct pxafb_mach_info generic_tft_320x240 = {
++      .modes          = &generic_tft_320x240_mode,
++      .num_modes      = 1,
++      .lccr0          = (LCCR0_PAS),
++      .lccr3          = (LCCR3_PixClkDiv(0x06) |
++                         LCCR3_Acb(0xff) |
++                         LCCR3_PCP),
++      .cmap_inverse   = 0,
++      .cmap_static    = 0,
++};
++
++static struct pxafb_mode_info generic_stn_640x480_mode = {
++      .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),
++      .cmap_greyscale = 0,
++};
++
++static struct pxafb_mach_info generic_stn_640x480 = {
++      .modes          = &generic_stn_640x480_mode,
++      .num_modes      = 1,
++      .lccr0          = 0,
++      .lccr3          = (LCCR3_PixClkDiv(0x02) |
++                         LCCR3_Acb(0xff)),
++      .cmap_inverse   = 0,
++      .cmap_static    = 0,
++};
++
++static struct pxafb_mach_info *cmx270_display = &generic_crt_640x480;
++
++static int __init cmx270_set_display(char *str)
++{
++      int disp_type = simple_strtol(str, NULL, 0);
++      switch (disp_type) {
++              case MTYPE_STN320x240: 
++                      cmx270_display = &generic_stn_320x240;
++                      break;
++              case MTYPE_TFT640x480:
++                      cmx270_display = &generic_tft_640x480;
++                      break;
++              case MTYPE_CRT640x480:
++                      cmx270_display = &generic_crt_640x480;
++                      break;
++              case MTYPE_CRT800x600: 
++                      cmx270_display = &generic_crt_800x600;
++                      break;
++              case MTYPE_TFT320x240: 
++                      cmx270_display = &generic_tft_320x240;
++                      break;
++              case MTYPE_STN640x480:
++                      cmx270_display = &generic_stn_640x480;
++                      break;
++              default: /* fallback to CRT 640x480 */
++                      cmx270_display = &generic_crt_640x480;
++                      break;
++      }
++      return 1;
++}
++
++__setup("monitor=", cmx270_set_display);
++
++/* 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,
++};
++
++
++static int cmx270_mci_init(struct device *dev, irq_handler_t cmx270_detect_int, void *data)
++{
++      int err;
++
++      /*
++       * setup GPIO for PXA27x MMC controller
++       */
++      pxa_gpio_mode(GPIO32_MMCCLK_MD);
++      pxa_gpio_mode(GPIO112_MMCCMD_MD);
++      pxa_gpio_mode(GPIO92_MMCDAT0_MD);
++      pxa_gpio_mode(GPIO109_MMCDAT1_MD);
++      pxa_gpio_mode(GPIO110_MMCDAT2_MD);
++      pxa_gpio_mode(GPIO111_MMCDAT3_MD);
++
++      /* SB-X270 uses GPIO105 as SD power enable */
++      pxa_gpio_mode(105 | GPIO_OUT);
++
++      /* card detect IRQ on GPIO 83 */
++      pxa_gpio_mode(IRQ_TO_GPIO(CMX270_MMC_IRQ));
++      set_irq_type(CMX270_MMC_IRQ, IRQT_FALLING);
++
++      err = request_irq(CMX270_MMC_IRQ, cmx270_detect_int, SA_INTERRUPT,
++                        "MMC card detect", data);
++      if (err) {
++              printk(KERN_ERR "cmx270_mci_init: MMC/SD: can't request MMC card detect IRQ\n");
++              return -1;
++      }
++
++      return 0;
++}
++
++static void cmx270_mci_setpower(struct device *dev, unsigned int vdd)
++{
++      struct pxamci_platform_data* p_d = dev->platform_data;
++
++      if (( 1 << vdd) & p_d->ocr_mask) {
++              printk(KERN_DEBUG "%s: on\n", __FUNCTION__);
++              GPCR(105) = GPIO_bit(105);
++      } else {
++              GPSR(105) = GPIO_bit(105);
++              printk(KERN_DEBUG "%s: off\n", __FUNCTION__);
++      }
++}
++
++static void cmx270_mci_exit(struct device *dev, void *data)
++{
++      free_irq(CMX270_MMC_IRQ, data);
++}
++
++static struct pxamci_platform_data cmx270_mci_platform_data = {
++      .ocr_mask       = MMC_VDD_32_33|MMC_VDD_33_34,
++      .init           = cmx270_mci_init,
++      .setpower       = cmx270_mci_setpower,
++      .exit           = cmx270_mci_exit,
++};
++
++#ifdef CONFIG_PM
++/* 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;
++
++      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);
++      return error;
++}
++#else
++static int __init cmx270_pm_init(void) { return 0; }
++#endif
++
++static void __init cmx270_init(void)
++{
++      cmx270_pm_init();
++      
++      set_pxa_fb_info(cmx270_display);
++           
++      /* register CM-X270 platform devices */
++      platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
++
++      /* set MCI and OHCI platform parameters */
++      pxa_set_mci_info(&cmx270_mci_platform_data);
++      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 irq_chip 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();
++
++      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;
++
++      for(irq = IT8152_IRQ(0); irq <= IT8152_IRQ_MAX; irq++) {
++              set_irq_chip(irq, &cmx270_irq_chip);
++              set_irq_handler(irq, handle_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/drivers/leds/Kconfig b/drivers/leds/Kconfig
+index 87d2046..1023411 100644
+--- a/drivers/leds/Kconfig
++++ b/drivers/leds/Kconfig
+@@ -89,6 +89,12 @@ config LEDS_H1940
+       help
+         This option enables support for the LEDs on the h1940.
++config LEDS_CM_X270
++      tristate "LED Support for the CM-X270 LEDs"
++      depends on LEDS_CLASS && MACH_ARMCORE
++      help
++        This option enables support for the CM-X270 LEDs.
++
+ config LEDS_COBALT
+       tristate "LED Support for Cobalt Server front LED"
+       depends on LEDS_CLASS && MIPS_COBALT
+diff --git a/drivers/leds/Makefile b/drivers/leds/Makefile
+index aa2c18e..808900c 100644
+--- a/drivers/leds/Makefile
++++ b/drivers/leds/Makefile
+@@ -16,6 +16,7 @@ obj-$(CONFIG_LEDS_NET48XX)           += leds-net48xx.o
+ obj-$(CONFIG_LEDS_WRAP)                       += leds-wrap.o
+ obj-$(CONFIG_LEDS_H1940)              += leds-h1940.o
+ obj-$(CONFIG_LEDS_COBALT)             += leds-cobalt.o
++obj-$(CONFIG_LEDS_CM_X270)              += leds-cm-x270.o
+ # LED Triggers
+ obj-$(CONFIG_LEDS_TRIGGER_TIMER)      += ledtrig-timer.o
+diff --git a/drivers/leds/leds-cm-x270.c b/drivers/leds/leds-cm-x270.c
+new file mode 100644
+index 0000000..63b7e9e
+--- /dev/null
++++ b/drivers/leds/leds-cm-x270.c
+@@ -0,0 +1,126 @@
++/*
++ * drivers/leds/leds-cm-x270.c
++ *
++ * Copyright 2007 CompuLab Ltd.
++ * Author: Mike Rapoport <mike@compulab.co.il>
++ *
++ * Based on leds-corgi.c
++ * Author: Richard Purdie <rpurdie@openedhand.com>
++ *
++ * 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/init.h>
++#include <linux/platform_device.h>
++#include <linux/leds.h>
++
++#include <asm/arch/hardware.h>
++#include <asm/arch/pxa-regs.h>
++
++#define GPIO_RED_LED                  (93)
++#define GPIO_GREEN_LED                        (94)
++
++#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)
++
++
++static void cmx270_red_set(struct led_classdev *led_cdev, enum led_brightness value)
++{
++      if (value)
++              CMX270_RED_ON();
++      else
++              CMX270_RED_OFF();
++}
++
++static void cmx270_green_set(struct led_classdev *led_cdev, enum led_brightness value)
++{
++      if (value)
++              CMX270_GREEN_ON();
++      else
++              CMX270_GREEN_OFF();
++}
++
++static struct led_classdev cmx270_red_led = {
++      .name                   = "cm-x270:red",
++      .default_trigger        = "nand-disk",
++      .brightness_set         = cmx270_red_set,
++};
++
++static struct led_classdev cmx270_green_led = {
++      .name                   = "cm-x270:green",
++      .default_trigger        = "heartbeat",
++      .brightness_set         = cmx270_green_set,
++};
++
++#ifdef CONFIG_PM
++static int cmx270led_suspend(struct platform_device *dev, pm_message_t state)
++{
++      led_classdev_suspend(&cmx270_red_led);
++      led_classdev_suspend(&cmx270_green_led);
++      return 0;
++}
++
++static int cmx270led_resume(struct platform_device *dev)
++{
++      led_classdev_resume(&cmx270_red_led);
++      led_classdev_resume(&cmx270_green_led);
++      return 0;
++}
++#endif
++
++static int cmx270led_probe(struct platform_device *pdev)
++{
++      int ret;
++
++      ret = led_classdev_register(&pdev->dev, &cmx270_red_led);
++      if (ret < 0)
++              return ret;
++
++      ret = led_classdev_register(&pdev->dev, &cmx270_green_led);
++      if (ret < 0)
++              led_classdev_unregister(&cmx270_red_led);
++
++      return ret;
++}
++
++static int cmx270led_remove(struct platform_device *pdev)
++{
++      led_classdev_unregister(&cmx270_red_led);
++      led_classdev_unregister(&cmx270_green_led);
++      return 0;
++}
++
++static struct platform_driver cmx270led_driver = {
++      .probe          = cmx270led_probe,
++      .remove         = cmx270led_remove,
++#ifdef CONFIG_PM
++      .suspend        = cmx270led_suspend,
++      .resume         = cmx270led_resume,
++#endif
++      .driver         = {
++              .name           = "cm-x270-led",
++      },
++};
++
++static int __init cmx270led_init(void)
++{
++      return platform_driver_register(&cmx270led_driver);
++}
++
++static void __exit cmx270led_exit(void)
++{
++      platform_driver_unregister(&cmx270led_driver);
++}
++
++module_init(cmx270led_init);
++module_exit(cmx270led_exit);
++
++MODULE_AUTHOR("Richard Purdie <rpurdie@openedhand.com>");
++MODULE_DESCRIPTION("Corgi LED driver");
++MODULE_LICENSE("GPL");
+diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
+index b49375a..7ee6561 100644
+--- a/drivers/net/Kconfig
++++ b/drivers/net/Kconfig
+@@ -875,6 +875,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 SMC911X
+       tristate "SMSC LAN911[5678] support"
+       select CRC32
+diff --git a/drivers/net/dm9000.c b/drivers/net/dm9000.c
+index 264fa0e..4e2954b 100644
+--- a/drivers/net/dm9000.c
++++ b/drivers/net/dm9000.c
+@@ -562,6 +562,7 @@ dm9000_probe(struct platform_device *pdev)
+       db->mii.mdio_read    = dm9000_phy_read;
+       db->mii.mdio_write   = dm9000_phy_write;
++#ifndef CONFIG_DM9000_NOEPROM
+       /* Read SROM content */
+       for (i = 0; i < 64; i++)
+               ((u16 *) db->srom)[i] = read_srom_word(db, i);
+@@ -569,6 +570,11 @@ dm9000_probe(struct platform_device *pdev)
+       /* Set Node Address */
+       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)) {
+               /* try reading from mac */
+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..24613a5
+--- /dev/null
++++ b/include/asm-arm/arch-pxa/cm-x270.h
+@@ -0,0 +1,71 @@
++/*
++ *  linux/include/asm/arch-pxa/armcore.h
++ *
++ *  Compulab Ltd., 2003 
++ *
++ *  ARMCore registers
++ */
++
++
++#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 CMX270_IT8152_VIRT            (CMX270_VIRT_BASE)
++#define CMX270_IDE104_VIRT            (CMX270_IT8152_VIRT + PXA_CS_SIZE)
++
++
++/* 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 CMX270_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
++
++
++
++
++
++
++
++
++
++ 
++
+diff --git a/include/asm-arm/arch-pxa/hardware.h b/include/asm-arm/arch-pxa/hardware.h
+index e2bdc2f..989303a 100644
+--- a/include/asm-arm/arch-pxa/hardware.h
++++ b/include/asm-arm/arch-pxa/hardware.h
+@@ -90,4 +90,15 @@ extern unsigned int get_lcdclk_frequency_10khz(void);
+ #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 67ed436..f9c075f 100644
+--- a/include/asm-arm/arch-pxa/irqs.h
++++ b/include/asm-arm/arch-pxa/irqs.h
+@@ -222,3 +222,23 @@
+ #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/memory.h b/include/asm-arm/memory.h
+index d9bfb39..83db3cb 100644
+--- a/include/asm-arm/memory.h
++++ b/include/asm-arm/memory.h
+@@ -141,6 +141,16 @@
+  * allocations.  This must be the smallest DMA mask in the system,
+  * so a successful GFP_DMA allocation will always satisfy this.
+  */
++
++#ifdef CONFIG_PCI_HOST_ITE8152
++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     (PHYS_OFFSET + SZ_64M - 1)
++#endif
++
+ #ifndef ISA_DMA_THRESHOLD
+ #define ISA_DMA_THRESHOLD     (0xffffffffULL)
+ #endif
+-- 
+1.5.1.6
+
diff --git a/packages/linux/linux-2.6.22/cm-x270/0002-cm-x270-match-type.patch b/packages/linux/linux-2.6.22/cm-x270/0002-cm-x270-match-type.patch
new file mode 100644 (file)
index 0000000..68da301
--- /dev/null
@@ -0,0 +1,25 @@
+From e566813cedb9f91724597df45c11075023a7b589 Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
+Date: Fri, 20 Jul 2007 18:58:27 -0400
+Subject: [PATCH] cm-x270-match-type
+
+---
+ arch/arm/boot/compressed/head-xscale.S |    5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/boot/compressed/head-xscale.S b/arch/arm/boot/compressed/head-xscale.S
+index 73c5d9e..dc89459 100644
+--- a/arch/arm/boot/compressed/head-xscale.S
++++ b/arch/arm/boot/compressed/head-xscale.S
+@@ -53,3 +53,8 @@ __XScale_start:
+               str     r1, [r0, #0x18]
+ #endif
++#if defined(CONFIG_MACH_ARMCORE)
++              mov r7, #(MACH_TYPE_ARMCORE & 0xFF00)
++              add r7, r7, #(MACH_TYPE_ARMCORE & 0xFF)
++#endif
++
+-- 
+1.5.1.6
+
diff --git a/packages/linux/linux-2.6.22/cm-x270/0003-cm-x270-ide.patch b/packages/linux/linux-2.6.22/cm-x270/0003-cm-x270-ide.patch
new file mode 100644 (file)
index 0000000..0ff115e
--- /dev/null
@@ -0,0 +1,186 @@
+From f260d5fa4c99cd7df949e6408af59807f8ccf224 Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
+Date: Fri, 20 Jul 2007 18:59:39 -0400
+Subject: [PATCH] cm-x270-ide
+
+---
+ drivers/ide/Kconfig           |    8 +++
+ drivers/ide/arm/Makefile      |    1 +
+ drivers/ide/arm/cm-x270-ide.c |  135 +++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 144 insertions(+), 0 deletions(-)
+ create mode 100644 drivers/ide/arm/cm-x270-ide.c
+
+diff --git a/drivers/ide/Kconfig b/drivers/ide/Kconfig
+index b1a9b81..7de4155 100644
+--- a/drivers/ide/Kconfig
++++ b/drivers/ide/Kconfig
+@@ -864,6 +864,14 @@ 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..a8b15aa
+--- /dev/null
++++ b/drivers/ide/arm/cm-x270-ide.c
+@@ -0,0 +1,135 @@
++/* linux/drivers/ide/arm/cm-x270-ide.c
++ *
++ * Copyright (c) 2006 CompuLab, Ltd
++ *  Mike Rapoport <mike@compulab.co.il>
++ *
++ * Based on 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 <linux/irq.h>
++
++#include <asm/mach-types.h>
++
++#include <asm/io.h>
++#include <asm/arch/pxa-regs.h>
++#include <asm/arch/cm-x270.h>
++
++#define CMX270_SB270_IDECS0_VIRT (CMX270_IDE104_VIRT + (1<<24) + (1<<25))
++#define CMX270_SB270_IDECS1_VIRT (CMX270_IDE104_VIRT + (1<<25))
++#define CMX270_ATX_IDECS0_VIRT (CMX270_IDE104_VIRT + (1<<25))
++#define CMX270_ATX_IDECS1_VIRT (CMX270_IDE104_VIRT + (1<<25) + (1<<22))
++
++/* list of registered interfaces */
++static ide_hwif_t *ifs[1];
++
++static int __init
++cmx270_ide_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_SB270_IDECS0_VIRT) {
++              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 if (base == CMX270_ATX_IDECS0_VIRT) { /* atx base */
++              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);
++      } 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;
++
++      return ide_register_hw(&hw, hwif);
++}
++
++static int __init cmx270_ide_init(void)
++{
++      int retval = 0;
++
++      if (!(machine_is_armcore()))
++              goto out;
++
++      printk("CM-X270: initializing IDE interface\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));
++
++      /* try SB-X270 */
++      set_irq_type(CMX270_IDE_IRQ, IRQ_TYPE_EDGE_RISING);
++      retval = cmx270_ide_register(CMX270_SB270_IDECS0_VIRT,
++                               CMX270_SB270_IDECS1_VIRT,
++                               CMX270_IDE_IRQ, &ifs[0]);
++      if (retval >= 0) {
++              printk(KERN_DEBUG "%s: found IDE interface on SB-X270\n",
++                     __FUNCTION__);
++              goto out;
++      }
++
++      /* SB-X270 detection failed, try ATX */
++      set_irq_type(CMX270_IDE_IRQ, IRQ_TYPE_EDGE_FALLING);
++      retval = cmx270_ide_register(CMX270_ATX_IDECS0_VIRT,
++                               CMX270_ATX_IDECS1_VIRT,
++                               CMX270_IDE_IRQ, &ifs[0]);
++
++      if ( retval >= 0 ) {
++              printk(KERN_DEBUG "%s: found IDE interface on ATX\n",
++                     __FUNCTION__);
++              goto out;
++      }
++
++  out:
++      return retval;
++}
++
++module_init(cmx270_ide_init);
++
++MODULE_AUTHOR("CompuLab");
++MODULE_LICENSE("GPL");
++MODULE_DESCRIPTION("CompuLab CM-X270 IDE driver");
+-- 
+1.5.1.6
+
diff --git a/packages/linux/linux-2.6.22/cm-x270/0004-cm-x270-it8152.patch b/packages/linux/linux-2.6.22/cm-x270/0004-cm-x270-it8152.patch
new file mode 100644 (file)
index 0000000..274eaf2
--- /dev/null
@@ -0,0 +1,496 @@
+From 1306abec905df1ff5cf2b1d91ac0d94d18d96c5b Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
+Date: Fri, 20 Jul 2007 19:00:07 -0400
+Subject: [PATCH] cm-x270-it8152
+
+---
+ arch/arm/common/Makefile          |    1 +
+ arch/arm/common/it8152.c          |  272 +++++++++++++++++++++++++++++++++++++
+ arch/arm/kernel/bios32.c          |   28 ++++-
+ include/asm-arm/hardware/it8152.h |  104 ++++++++++++++
+ include/asm-arm/pci.h             |    7 +
+ include/linux/pci_ids.h           |    1 +
+ 6 files changed, 410 insertions(+), 3 deletions(-)
+ create mode 100644 arch/arm/common/it8152.c
+ create mode 100644 include/asm-arm/hardware/it8152.h
+
+diff --git a/arch/arm/common/Makefile b/arch/arm/common/Makefile
+index e1289a2..3d0b9fa 100644
+--- a/arch/arm/common/Makefile
++++ b/arch/arm/common/Makefile
+@@ -17,3 +17,4 @@ obj-$(CONFIG_SHARPSL_PM)     += sharpsl_pm.o
+ obj-$(CONFIG_SHARP_SCOOP)     += scoop.o
+ obj-$(CONFIG_ARCH_IXP2000)    += uengine.o
+ obj-$(CONFIG_ARCH_IXP23XX)    += uengine.o
++obj-$(CONFIG_PCI_HOST_ITE8152)  += it8152.o
+diff --git a/arch/arm/common/it8152.c b/arch/arm/common/it8152.c
+new file mode 100644
+index 0000000..8563610
+--- /dev/null
++++ b/arch/arm/common/it8152.c
+@@ -0,0 +1,272 @@
++/*
++ * 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) | PHYS_OFFSET;
++              dev->coherent_dma_mask = (SZ_64M - 1) | PHYS_OFFSET;
++              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)
++{
++      printk(KERN_INFO "===> %s: %s %x\n", __FUNCTION__, dev->dev.bus_id, mask);
++      if (mask >= PHYS_OFFSET + SZ_64M - 1 )
++              return 0;
++
++      return -EIO;
++}
++    
++int
++pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask)
++{
++      printk(KERN_INFO "===> %s: %s %x\n", __FUNCTION__, dev->dev.bus_id, mask);
++      if (mask >= PHYS_OFFSET + 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;  
++}
++                        
++/*
++ * If we set up a device for bus mastering, we need to check the latency
++ * timer as we don't have even crappy BIOSes to set it properly.
++ * The implementation is from arch/i386/pci/i386.c
++ */
++unsigned int pcibios_max_latency = 255;
++
++void pcibios_set_master(struct pci_dev *dev)
++{
++      u8 lat;
++
++      pci_read_config_byte(dev, PCI_LATENCY_TIMER, &lat);
++      if (lat < 16)
++              lat = (64 <= pcibios_max_latency) ? 64 : pcibios_max_latency;
++      else if (lat > pcibios_max_latency)
++              lat = pcibios_max_latency;
++      else
++              return;
++      printk(KERN_DEBUG "PCI: Setting latency timer of device %s to %d\n", pci_name(dev), lat);
++      pci_write_config_byte(dev, PCI_LATENCY_TIMER, lat);
++}
++
++
++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/kernel/bios32.c b/arch/arm/kernel/bios32.c
+index 240c448..d8d2352 100644
+--- a/arch/arm/kernel/bios32.c
++++ b/arch/arm/kernel/bios32.c
+@@ -279,6 +279,25 @@ static void __devinit pci_fixup_cy82c693(struct pci_dev *dev)
+ }
+ 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;
++      /* fixup for ITE 8152 devices */
++      /* FIXME: add defines for class 0x68000 and 0x80103 */
++      if ((dev->class >> 8) == PCI_CLASS_BRIDGE_HOST ||
++          dev->class == 0x68000 ||
++          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_8152, pci_fixup_it8152);
++
++
++
+ void __devinit pcibios_update_irq(struct pci_dev *dev, int irq)
+ {
+       if (debug_pci)
+@@ -292,9 +311,12 @@ void __devinit pcibios_update_irq(struct pci_dev *dev, int irq)
+  */
+ 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_8152));
++
+ }
+ /*
+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/asm-arm/pci.h b/include/asm-arm/pci.h
+index f21abd4..2cf30bf 100644
+--- a/include/asm-arm/pci.h
++++ b/include/asm-arm/pci.h
+@@ -8,10 +8,17 @@
+ #define pcibios_scan_all_fns(a, b)    0
++#ifdef CONFIG_PCI_HOST_ITE8152
++/* ITE bridge requires setting latency timer to avoid early bus access
++   termination by PIC bus mater devices
++*/
++extern void pcibios_set_master(struct pci_dev *dev);
++#else
+ static inline void pcibios_set_master(struct pci_dev *dev)
+ {
+       /* No special bus mastering setup handling */
+ }
++#endif
+ static inline void pcibios_penalize_isa_irq(int irq, int active)
+ {
+diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
+index 5b1c999..b4c81d5 100644
+--- a/include/linux/pci_ids.h
++++ b/include/linux/pci_ids.h
+@@ -1650,6 +1650,7 @@
+ #define PCI_DEVICE_ID_ITE_8211                0x8211
+ #define PCI_DEVICE_ID_ITE_8212                0x8212
+ #define PCI_DEVICE_ID_ITE_8213                0x8213
++#define PCI_DEVICE_ID_ITE_8152                0x8152
+ #define PCI_DEVICE_ID_ITE_8872                0x8872
+ #define PCI_DEVICE_ID_ITE_IT8330G_0   0xe886
+-- 
+1.5.1.6
+
diff --git a/packages/linux/linux-2.6.22/cm-x270/0005-cm-x270-pcmcia.patch b/packages/linux/linux-2.6.22/cm-x270/0005-cm-x270-pcmcia.patch
new file mode 100644 (file)
index 0000000..7dceff5
--- /dev/null
@@ -0,0 +1,228 @@
+From 338653da8f8afcdf8afc7e8a5a0104d5083597cc Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
+Date: Fri, 20 Jul 2007 19:01:27 -0400
+Subject: [PATCH] cm-x270-pcmcia
+
+---
+ drivers/pcmcia/Makefile         |    1 +
+ drivers/pcmcia/pxa2xx_cm_x270.c |  198 +++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 199 insertions(+), 0 deletions(-)
+ create mode 100644 drivers/pcmcia/pxa2xx_cm_x270.c
+
+diff --git a/drivers/pcmcia/Makefile b/drivers/pcmcia/Makefile
+index 4276965..353d5b7 100644
+--- a/drivers/pcmcia/Makefile
++++ b/drivers/pcmcia/Makefile
+@@ -69,4 +69,5 @@ sa1100_cs-$(CONFIG_SA1100_SIMPAD)            += sa1100_simpad.o
+ 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..25e369f
+--- /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 <linux/irq.h>
++
++#include <pcmcia/ss.h>
++#include <asm/delay.h>
++#include <asm/hardware.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, IRQ_TYPE_EDGE_BOTH);
++       set_irq_type(PCMCIA_S1_CD_VALID, IRQ_TYPE_EDGE_BOTH);
++
++       //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, IRQ_TYPE_EDGE_FALLING);
++       set_irq_type(PCMCIA_S1_RDYINT, IRQ_TYPE_EDGE_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), IRQ_TYPE_NONE);
++       set_irq_type(IRQ_TO_GPIO(PCMCIA_S1_CD_VALID), IRQ_TYPE_NONE);
++
++       set_irq_type(IRQ_TO_GPIO(PCMCIA_S0_RDYINT), IRQ_TYPE_NONE);
++       set_irq_type(IRQ_TO_GPIO(PCMCIA_S1_RDYINT), IRQ_TYPE_NONE);
++}
++
++
++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");
+-- 
+1.5.1.6
+
diff --git a/packages/linux/linux-2.6.22/cm-x270/0006-ramdisk_load.patch b/packages/linux/linux-2.6.22/cm-x270/0006-ramdisk_load.patch
new file mode 100644 (file)
index 0000000..aa25dd9
--- /dev/null
@@ -0,0 +1,80 @@
+From ca4508b1266109208f62e986b51397ce2788e255 Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
+Date: Fri, 20 Jul 2007 19:01:50 -0400
+Subject: [PATCH] ramdisk_load
+
+---
+ arch/arm/mach-pxa/cm-x270.c        |    6 ++++++
+ include/asm-arm/arch-pxa/cm-x270.h |    2 ++
+ init/initramfs.c                   |   16 ++++++++++++++++
+ 3 files changed, 24 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-pxa/cm-x270.c b/arch/arm/mach-pxa/cm-x270.c
+index 88b080d..c6ec489 100644
+--- a/arch/arm/mach-pxa/cm-x270.c
++++ b/arch/arm/mach-pxa/cm-x270.c
+@@ -308,6 +308,12 @@ static struct map_desc cmx270_io_desc[] __initdata = {
+               .length         = PXA_CS_SIZE,
+               .type           = MT_DEVICE
+       },
++      [2] = { /* NOR flash */
++              .virtual        = CMX270_FLASH_VIRT,
++              .pfn            = __phys_to_pfn(PXA_CS0_PHYS),
++              .length         = (8<<20), /* up to 8 MByte flash */
++              .type           = MT_DEVICE
++      },
+ };
+ /*
+diff --git a/include/asm-arm/arch-pxa/cm-x270.h b/include/asm-arm/arch-pxa/cm-x270.h
+index 24613a5..aad152e 100644
+--- a/include/asm-arm/arch-pxa/cm-x270.h
++++ b/include/asm-arm/arch-pxa/cm-x270.h
+@@ -20,7 +20,9 @@
+ #define CMX270_IT8152_VIRT            (CMX270_VIRT_BASE)
+ #define CMX270_IDE104_VIRT            (CMX270_IT8152_VIRT + PXA_CS_SIZE)
++#define CMX270_FLASH_VIRT             (CMX270_IDE104_VIRT + PXA_CS_SIZE)
++#define CMX270_FLASH_RAMDISK_VIRT     (CMX270_FLASH_VIRT + 0x1c0000)
+ /* GPIO related definitions */
+ #define GPIO_IT8152_IRQ                       (22)
+diff --git a/init/initramfs.c b/init/initramfs.c
+index 00eff7a..0ecd40b 100644
+--- a/init/initramfs.c
++++ b/init/initramfs.c
+@@ -7,6 +7,9 @@
+ #include <linux/string.h>
+ #include <linux/syscalls.h>
++// HACK for compulab cm-x270
++#include <asm/arch/cm-x270.h>
++
+ static __initdata char *message;
+ static void __init error(char *x)
+ {
+@@ -550,7 +553,20 @@ static int __init populate_rootfs(void)
+ #ifdef CONFIG_BLK_DEV_INITRD
+       if (initrd_start) {
+ #ifdef CONFIG_BLK_DEV_RAM
++ 
++              /* hack to make initramfs work because the 
++               * compulab BL does not zero out the 
++               * initrd memory.  This only seems to affect loading
++               * initramfs (cpio.gz) archives.  Does not seem to 
++               * affect ramdisks.
++               */
++              int initrd_size = *(int *)(CMX270_FLASH_RAMDISK_VIRT);
+               int fd;
++
++              initrd_end = initrd_start + initrd_size;
++              //printk("CLIFF: initrd_start = 0x%x\n", initrd_start);
++              //printk("CLIFF: initrd_end = 0x%x\n", initrd_end);
++
+               printk(KERN_INFO "checking if image is initramfs...");
+               err = unpack_to_rootfs((char *)initrd_start,
+                       initrd_end - initrd_start, 1);
+-- 
+1.5.1.6
+
diff --git a/packages/linux/linux-2.6.22/cm-x270/0007-mmcsd_large_cards-r0.patch b/packages/linux/linux-2.6.22/cm-x270/0007-mmcsd_large_cards-r0.patch
new file mode 100644 (file)
index 0000000..90e66b5
--- /dev/null
@@ -0,0 +1,36 @@
+From 26638b93f7479dc597a58e2e2b2832c6ff4c8f7b Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
+Date: Fri, 20 Jul 2007 19:02:55 -0400
+Subject: [PATCH] mmcsd_large_cards-r0
+
+---
+ drivers/mmc/card/block.c |    6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
+index 540ff4b..1f8d67d 100644
+--- a/drivers/mmc/card/block.c
++++ b/drivers/mmc/card/block.c
+@@ -403,6 +403,7 @@ static struct mmc_blk_data *mmc_blk_alloc(struct mmc_card *card)
+ {
+       struct mmc_blk_data *md;
+       int devidx, ret;
++      unsigned long cap;
+       devidx = find_first_zero_bit(dev_use, MMC_NUM_MINORS);
+       if (devidx >= MMC_NUM_MINORS)
+@@ -467,6 +468,11 @@ static struct mmc_blk_data *mmc_blk_alloc(struct mmc_card *card)
+       sprintf(md->disk->disk_name, "mmcblk%d", devidx);
++      if (card->csd.read_blkbits > 9)
++              md->block_bits = 9;
++      else
++              md->block_bits = card->csd.read_blkbits;
++
+       blk_queue_hardsect_size(md->queue.queue, 1 << md->block_bits);
+       if (!mmc_card_sd(card) && mmc_card_blockaddr(card)) {
+-- 
+1.5.1.6
+
diff --git a/packages/linux/linux-2.6.22/cm-x270/0008-cm-x270-nand-simplify-name.patch b/packages/linux/linux-2.6.22/cm-x270/0008-cm-x270-nand-simplify-name.patch
new file mode 100644 (file)
index 0000000..c07f049
--- /dev/null
@@ -0,0 +1,25 @@
+From e1a243564a40d7542a62d4684f2e6ce0b95fa267 Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
+Date: Fri, 20 Jul 2007 19:04:12 -0400
+Subject: [PATCH] cm-x270-nand-simplify-name
+
+---
+ drivers/mtd/nand/cmx270_nand.c |    2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/mtd/nand/cmx270_nand.c b/drivers/mtd/nand/cmx270_nand.c
+index cb663ef..3654ce4 100644
+--- a/drivers/mtd/nand/cmx270_nand.c
++++ b/drivers/mtd/nand/cmx270_nand.c
+@@ -191,6 +191,8 @@ static int cmx270_init(void)
+       cmx270_nand_mtd->owner = THIS_MODULE;
+       cmx270_nand_mtd->priv = this;
++      cmx270_nand_mtd->name = "cm-x270-nand";
++
+       /* insert callbacks */
+       this->IO_ADDR_R = cmx270_nand_io;
+       this->IO_ADDR_W = cmx270_nand_io;
+-- 
+1.5.1.6
+
diff --git a/packages/linux/linux-2.6.22/cm-x270/0009-cursor-fix.patch b/packages/linux/linux-2.6.22/cm-x270/0009-cursor-fix.patch
new file mode 100644 (file)
index 0000000..08b0db3
--- /dev/null
@@ -0,0 +1,43 @@
+From 94a59c25e4e0aec3c4d12e0c63e144e6af447368 Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
+Date: Fri, 20 Jul 2007 19:04:42 -0400
+Subject: [PATCH] cursor-fix
+
+---
+ drivers/char/vt.c       |    4 ++--
+ drivers/char/vt_ioctl.c |    4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/char/vt.c b/drivers/char/vt.c
+index 6650ae1..649474e 100644
+--- a/drivers/char/vt.c
++++ b/drivers/char/vt.c
+@@ -3491,8 +3491,8 @@ void do_blank_screen(int entering_gfx)
+               }
+               return;
+       }
+-      if (blank_state != blank_normal_wait)
+-              return;
++      //if (blank_state != blank_normal_wait)
++      //      return;
+       blank_state = blank_off;
+       /* entering graphics mode? */
+diff --git a/drivers/char/vt_ioctl.c b/drivers/char/vt_ioctl.c
+index c6f6f42..94121ff 100644
+--- a/drivers/char/vt_ioctl.c
++++ b/drivers/char/vt_ioctl.c
+@@ -489,8 +489,8 @@ int vt_ioctl(struct tty_struct *tty, struct file * file,
+               if (vc->vc_mode == (unsigned char) arg)
+                       return 0;
+               vc->vc_mode = (unsigned char) arg;
+-              if (console != fg_console)
+-                      return 0;
++              //if (console != fg_console)
++              //      return 0;
+               /*
+                * explicitly blank/unblank the screen if switching modes
+                */
+-- 
+1.5.1.6
+
diff --git a/packages/linux/linux-2.6.22/cm-x270/defconfig b/packages/linux/linux-2.6.22/cm-x270/defconfig
new file mode 100644 (file)
index 0000000..63bc695
--- /dev/null
@@ -0,0 +1,1234 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.22
+# Tue Aug  7 15:22:23 2007
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+# CONFIG_GENERIC_CLOCKEVENTS is not set
+CONFIG_MMU=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ZONE_DMA=y
+CONFIG_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_LOCK_KERNEL=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_IPC_NS is not set
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_UTS_NS is not set
+# CONFIG_AUDIT is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_SYSFS_DEPRECATED=y
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_AS is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+
+#
+# System Type
+#
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 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_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_PNX4008 is not set
+CONFIG_ARCH_PXA=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_DAVINCI is not set
+# CONFIG_ARCH_OMAP 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_ARCH_PXA_IDP is not set
+# CONFIG_PXA_SHARPSL is not set
+# CONFIG_MACH_TRIZEPS4 is not set
+CONFIG_MACH_ARMCORE=y
+CONFIG_PXA27x=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
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_OUTER_CACHE is not set
+CONFIG_IWMMXT=y
+CONFIG_XSCALE_PMU=y
+
+#
+# Bus support
+#
+# CONFIG_PCI is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+# CONFIG_TICK_ONESHOT is not set
+CONFIG_PREEMPT=y
+CONFIG_NO_IDLE_HZ=y
+CONFIG_HZ=100
+CONFIG_AEABI=y
+CONFIG_OABI_COMPAT=y
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS1,38400 monitor=8 bpp=16 mem=64M mtdparts=physmap-flash.0:256k(boot)ro,0x180000(kernel),-(root);cm-x270-nand:64m(app),-(data) rdinit=/sbin/init root=mtd3 rootfstype=jffs2"
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_KEXEC is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+# CONFIG_FPE_NWFPE 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
+
+#
+# Power management options
+#
+# CONFIG_PM is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=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_XFRM_MODE_BEET=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+
+#
+# Wireless
+#
+# CONFIG_CFG80211 is not set
+# CONFIG_WIRELESS_EXT is not set
+# CONFIG_MAC80211 is not set
+# CONFIG_IEEE80211 is not set
+# CONFIG_RFKILL is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_SYS_HYPERVISOR is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+CONFIG_MTD_CFI_AMDSTD=y
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_XIP is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_START=0x0
+CONFIG_MTD_PHYSMAP_LEN=0x400000
+CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+# CONFIG_MTD_SHARP_SL is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+# CONFIG_MTD_NAND_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_CM_X270=y
+# CONFIG_MTD_NAND_NANDSIM is not set
+# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+# CONFIG_PNPACPI is not set
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=4096
+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_ATA is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_SMC91X is not set
+CONFIG_DM9000=y
+CONFIG_DM9000_NOEPROM=y
+# CONFIG_SMC911X is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+# CONFIG_WLAN_80211 is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET_MII=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_DM9601 is not set
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+# CONFIG_USB_NET_RNDIS_HOST is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+# CONFIG_USB_NET_ZAURUS is not set
+# CONFIG_WAN is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_PXA27x is not set
+# CONFIG_KEYBOARD_GPIO is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_PS2_ALPS is not set
+# CONFIG_MOUSE_PS2_LOGIPS2PP is not set
+# CONFIG_MOUSE_PS2_SYNAPTICS is not set
+# CONFIG_MOUSE_PS2_LIFEBOOK is not set
+# CONFIG_MOUSE_PS2_TRACKPOINT is not set
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+CONFIG_TOUCHSCREEN_UCB1400=m
+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_WATCHDOG is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_NVRAM is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=m
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_GPIO is not set
+CONFIG_I2C_PXA=m
+# CONFIG_I2C_PXA_SLAVE is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_SENSORS_ABITUGURU is not set
+# CONFIG_SENSORS_AD7418 is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Misc devices
+#
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SM501 is not set
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_CM_X270=y
+
+#
+# LED Triggers
+#
+# CONFIG_LEDS_TRIGGERS is not set
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+# CONFIG_DVB_CORE is not set
+# CONFIG_DAB is not set
+
+#
+# Graphics support
+#
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+# CONFIG_VGASTATE is not set
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_SYS_FOPS is not set
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_PXA=y
+CONFIG_FB_PXA_PARAMETERS=y
+# CONFIG_FB_MBX is not set
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+# CONFIG_LOGO is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=m
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+# CONFIG_SND_SEQUENCER is not set
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
+# 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=m
+# 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=m
+CONFIG_SND_PXA2XX_AC97=m
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+# CONFIG_SND_USB_CAIAQ is not set
+
+#
+# System on Chip audio support
+#
+# CONFIG_SND_SOC is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+
+#
+# HID Devices
+#
+CONFIG_HID=y
+# CONFIG_HID_DEBUG is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=y
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DEVICE_CLASS is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_BERRY_CHARGE is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGET is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD Card Drivers
+#
+CONFIG_MMC_BLOCK=m
+
+#
+# MMC/SD Host Controller Drivers
+#
+CONFIG_MMC_PXA=m
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+# CONFIG_RTC_CLASS is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+# CONFIG_NFS_FS is not set
+# CONFIG_NFSD 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=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
+
+#
+# Distributed Lock Manager
+#
+# CONFIG_DLM is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_MUST_CHECK=y
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_KERNEL is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_DEBUG_USER is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+# CONFIG_CRYPTO is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
index 64b57d3..b33274d 100644 (file)
@@ -3,6 +3,7 @@ require linux.inc
 # Mark archs/machines that this kernel supports
 DEFAULT_PREFERENCE = "-1"
 DEFAULT_PREFERENCE_avr32 = "1"
+DEFAULT_PREFERENCE_cm-x270 = "1"
 
 PR = "r3"
 
@@ -11,3 +12,45 @@ SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.22.tar.bz2 \
           "
 
 SRC_URI_append_avr32 = "http://avr32linux.org/twiki/pub/Main/LinuxPatches/linux-2.6.22.atmel.3.patch.bz2;patch=1"
+
+SRC_URI_append_cm-x270 = "\
+       file://0001-cm-x270-base2.patch;patch=1 \
+       file://0002-cm-x270-match-type.patch;patch=1 \
+       file://0003-cm-x270-ide.patch;patch=1 \
+       file://0004-cm-x270-it8152.patch;patch=1 \
+       file://0005-cm-x270-pcmcia.patch;patch=1 \
+       file://0006-ramdisk_load.patch;patch=1 \
+       file://0007-mmcsd_large_cards-r0.patch;patch=1 \
+       file://0008-cm-x270-nand-simplify-name.patch;patch=1"
+
+CMDLINE_cm-x270 = "console=${CMX270_CONSOLE_SERIAL_PORT},38400 monitor=8 bpp=16 mem=64M mtdparts=physmap-flash.0:256k(boot)ro,0x180000(kernel),-(root);cm-x270-nand:64m(app),-(data) rdinit=/sbin/init root=mtd3 rootfstype=jffs2"
+
+FILES_kernel-image_cm-x270 = ""
+
+python do_compulab_image() {
+       import os
+       import os.path
+       import struct
+
+       machine = bb.data.getVar('MACHINE', d, 1)
+       if machine == "cm-x270":
+           deploy_dir = bb.data.getVar('DEPLOY_DIR_IMAGE', d, 1)
+           kernel_file = os.path.join(deploy_dir, bb.data.expand('${KERNEL_IMAGE_BASE_NAME}', d) + '.bin')
+           img_file = os.path.join(deploy_dir, bb.data.expand('${KERNEL_IMAGE_BASE_NAME}', d) + '.cmx270')
+
+           fo = open(img_file, 'wb')
+
+           image_data = open(kernel_file, 'rb').read()
+
+           # first write size into first 4 bytes
+           size_s = struct.pack('i', len(image_data))
+
+           # truncate size if we are running on a 64-bit host
+           size_s = size_s[:4]
+
+           fo.write(size_s)
+           fo.write(image_data)
+           fo.close()
+}
+
+addtask compulab_image after do_deploy before do_package