diff options
Diffstat (limited to 'packages/linux/linux-2.6.22/cm-x270/0001-cm-x270-base2.patch')
-rw-r--r-- | packages/linux/linux-2.6.22/cm-x270/0001-cm-x270-base2.patch | 2850 |
1 files changed, 0 insertions, 2850 deletions
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 deleted file mode 100644 index 9a635c5cbc..0000000000 --- a/packages/linux/linux-2.6.22/cm-x270/0001-cm-x270-base2.patch +++ /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 - |