summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/linux/linux-2.6.23/cm-x270
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-kernel/linux/linux-2.6.23/cm-x270')
-rw-r--r--meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0001-cm-x270-base2.patch2851
-rw-r--r--meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0002-cm-x270-match-type.patch25
-rw-r--r--meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0003-cm-x270-ide.patch186
-rw-r--r--meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0004-cm-x270-it8152.patch496
-rw-r--r--meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0005-cm-x270-pcmcia.patch228
-rw-r--r--meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0006-ramdisk_load.patch80
-rw-r--r--meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0007-mmcsd_large_cards-r0.patch36
-rw-r--r--meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0008-cm-x270-nand-simplify-name.patch25
-rw-r--r--meta/recipes-kernel/linux/linux-2.6.23/cm-x270/16bpp.patch13
-rw-r--r--meta/recipes-kernel/linux/linux-2.6.23/cm-x270/defconfig1204
10 files changed, 5144 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0001-cm-x270-base2.patch b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0001-cm-x270-base2.patch
new file mode 100644
index 0000000000..dc68ce9d43
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0001-cm-x270-base2.patch
@@ -0,0 +1,2851 @@
1From 299199b0cf17d0247a58af6ccd6cf6b859c60e9a Mon Sep 17 00:00:00 2001
2From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
3Date: Fri, 20 Jul 2007 18:55:59 -0400
4Subject: [PATCH] cm-x270-base2
5
6---
7 arch/arm/Kconfig | 8 +-
8 arch/arm/configs/cm_x270_defconfig | 1567 +++++++++++++++++++++++++++++++++++
9 arch/arm/mach-pxa/Kconfig | 6 +
10 arch/arm/mach-pxa/Makefile | 7 +
11 arch/arm/mach-pxa/cm-x270.c | 821 ++++++++++++++++++
12 drivers/leds/Kconfig | 6 +
13 drivers/leds/Makefile | 1 +
14 drivers/leds/leds-cm-x270.c | 126 +++
15 drivers/net/Kconfig | 8 +
16 drivers/net/dm9000.c | 6 +
17 include/asm-arm/arch-pxa/cm-x270.h | 71 ++
18 include/asm-arm/arch-pxa/hardware.h | 11 +
19 include/asm-arm/arch-pxa/irqs.h | 20 +
20 include/asm-arm/memory.h | 10 +
21 14 files changed, 2667 insertions(+), 1 deletions(-)
22 create mode 100644 arch/arm/configs/cm_x270_defconfig
23 create mode 100644 arch/arm/mach-pxa/cm-x270.c
24 create mode 100644 drivers/leds/leds-cm-x270.c
25 create mode 100644 include/asm-arm/arch-pxa/cm-x270.h
26
27diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
28index 691aae3..b9a2b11 100644
29--- a/arch/arm/Kconfig
30+++ b/arch/arm/Kconfig
31@@ -534,7 +534,7 @@ config ISA_DMA_API
32 bool
33
34 config PCI
35- bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695
36+ bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE
37 help
38 Find out whether you have a PCI motherboard. PCI is the name of a
39 bus system, i.e. the way the CPU talks to the other stuff inside
40@@ -555,6 +555,12 @@ config PCI_HOST_VIA82C505
41 depends on PCI && ARCH_SHARK
42 default y
43
44+config PCI_HOST_ITE8152
45+ bool
46+ depends on PCI && MACH_ARMCORE
47+ default y
48+ select DMABOUNCE
49+
50 source "drivers/pci/Kconfig"
51
52 source "drivers/pcmcia/Kconfig"
53diff --git a/arch/arm/configs/cm_x270_defconfig b/arch/arm/configs/cm_x270_defconfig
54new file mode 100644
55index 0000000..f728363
56--- /dev/null
57+++ b/arch/arm/configs/cm_x270_defconfig
58@@ -0,0 +1,1567 @@
59+#
60+# Automatically generated make config: don't edit
61+# Linux kernel version: 2.6.21-rc4
62+# Wed Apr 4 16:42:03 2007
63+#
64+CONFIG_ARM=y
65+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
66+CONFIG_GENERIC_GPIO=y
67+CONFIG_GENERIC_TIME=y
68+CONFIG_MMU=y
69+# CONFIG_NO_IOPORT is not set
70+CONFIG_GENERIC_HARDIRQS=y
71+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
72+CONFIG_HARDIRQS_SW_RESEND=y
73+CONFIG_GENERIC_IRQ_PROBE=y
74+CONFIG_RWSEM_GENERIC_SPINLOCK=y
75+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
76+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
77+CONFIG_GENERIC_HWEIGHT=y
78+CONFIG_GENERIC_CALIBRATE_DELAY=y
79+CONFIG_ZONE_DMA=y
80+CONFIG_ARCH_MTD_XIP=y
81+CONFIG_VECTORS_BASE=0xffff0000
82+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
83+
84+#
85+# Code maturity level options
86+#
87+CONFIG_EXPERIMENTAL=y
88+CONFIG_BROKEN_ON_SMP=y
89+CONFIG_INIT_ENV_ARG_LIMIT=32
90+
91+#
92+# General setup
93+#
94+CONFIG_LOCALVERSION=""
95+# CONFIG_LOCALVERSION_AUTO is not set
96+CONFIG_SWAP=y
97+CONFIG_SYSVIPC=y
98+# CONFIG_IPC_NS is not set
99+CONFIG_SYSVIPC_SYSCTL=y
100+# CONFIG_POSIX_MQUEUE is not set
101+# CONFIG_BSD_PROCESS_ACCT is not set
102+# CONFIG_TASKSTATS is not set
103+# CONFIG_UTS_NS is not set
104+# CONFIG_AUDIT is not set
105+CONFIG_IKCONFIG=y
106+CONFIG_IKCONFIG_PROC=y
107+CONFIG_SYSFS_DEPRECATED=y
108+# CONFIG_RELAY is not set
109+CONFIG_BLK_DEV_INITRD=y
110+CONFIG_INITRAMFS_SOURCE=""
111+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
112+CONFIG_SYSCTL=y
113+CONFIG_EMBEDDED=y
114+CONFIG_UID16=y
115+CONFIG_SYSCTL_SYSCALL=y
116+CONFIG_KALLSYMS=y
117+# CONFIG_KALLSYMS_ALL is not set
118+# CONFIG_KALLSYMS_EXTRA_PASS is not set
119+CONFIG_HOTPLUG=y
120+CONFIG_PRINTK=y
121+CONFIG_BUG=y
122+CONFIG_ELF_CORE=y
123+CONFIG_BASE_FULL=y
124+CONFIG_FUTEX=y
125+CONFIG_EPOLL=y
126+CONFIG_SHMEM=y
127+CONFIG_SLAB=y
128+CONFIG_VM_EVENT_COUNTERS=y
129+CONFIG_RT_MUTEXES=y
130+# CONFIG_TINY_SHMEM is not set
131+CONFIG_BASE_SMALL=0
132+# CONFIG_SLOB is not set
133+
134+#
135+# Loadable module support
136+#
137+CONFIG_MODULES=y
138+CONFIG_MODULE_UNLOAD=y
139+CONFIG_MODULE_FORCE_UNLOAD=y
140+# CONFIG_MODVERSIONS is not set
141+# CONFIG_MODULE_SRCVERSION_ALL is not set
142+CONFIG_KMOD=y
143+
144+#
145+# Block layer
146+#
147+CONFIG_BLOCK=y
148+# CONFIG_LBD is not set
149+# CONFIG_BLK_DEV_IO_TRACE is not set
150+# CONFIG_LSF is not set
151+
152+#
153+# IO Schedulers
154+#
155+CONFIG_IOSCHED_NOOP=y
156+CONFIG_IOSCHED_AS=y
157+CONFIG_IOSCHED_DEADLINE=y
158+CONFIG_IOSCHED_CFQ=y
159+CONFIG_DEFAULT_AS=y
160+# CONFIG_DEFAULT_DEADLINE is not set
161+# CONFIG_DEFAULT_CFQ is not set
162+# CONFIG_DEFAULT_NOOP is not set
163+CONFIG_DEFAULT_IOSCHED="anticipatory"
164+
165+#
166+# System Type
167+#
168+# CONFIG_ARCH_AAEC2000 is not set
169+# CONFIG_ARCH_INTEGRATOR is not set
170+# CONFIG_ARCH_REALVIEW is not set
171+# CONFIG_ARCH_VERSATILE is not set
172+# CONFIG_ARCH_AT91 is not set
173+# CONFIG_ARCH_CLPS7500 is not set
174+# CONFIG_ARCH_CLPS711X is not set
175+# CONFIG_ARCH_CO285 is not set
176+# CONFIG_ARCH_EBSA110 is not set
177+# CONFIG_ARCH_EP93XX is not set
178+# CONFIG_ARCH_FOOTBRIDGE is not set
179+# CONFIG_ARCH_NETX is not set
180+# CONFIG_ARCH_H720X is not set
181+# CONFIG_ARCH_IMX is not set
182+# CONFIG_ARCH_IOP32X is not set
183+# CONFIG_ARCH_IOP33X is not set
184+# CONFIG_ARCH_IOP13XX is not set
185+# CONFIG_ARCH_IXP4XX is not set
186+# CONFIG_ARCH_IXP2000 is not set
187+# CONFIG_ARCH_IXP23XX is not set
188+# CONFIG_ARCH_L7200 is not set
189+# CONFIG_ARCH_NS9XXX is not set
190+# CONFIG_ARCH_PNX4008 is not set
191+CONFIG_ARCH_PXA=y
192+# CONFIG_ARCH_RPC is not set
193+# CONFIG_ARCH_SA1100 is not set
194+# CONFIG_ARCH_S3C2410 is not set
195+# CONFIG_ARCH_SHARK is not set
196+# CONFIG_ARCH_LH7A40X is not set
197+# CONFIG_ARCH_OMAP is not set
198+CONFIG_DMABOUNCE=y
199+
200+#
201+# Intel PXA2xx Implementations
202+#
203+# CONFIG_ARCH_LUBBOCK is not set
204+# CONFIG_MACH_LOGICPD_PXA270 is not set
205+# CONFIG_MACH_MAINSTONE is not set
206+# CONFIG_ARCH_PXA_IDP is not set
207+# CONFIG_PXA_SHARPSL is not set
208+# CONFIG_MACH_TRIZEPS4 is not set
209+CONFIG_MACH_ARMCORE=y
210+CONFIG_PXA27x=y
211+
212+#
213+# Processor Type
214+#
215+CONFIG_CPU_32=y
216+CONFIG_CPU_XSCALE=y
217+CONFIG_CPU_32v5=y
218+CONFIG_CPU_ABRT_EV5T=y
219+CONFIG_CPU_CACHE_VIVT=y
220+CONFIG_CPU_TLB_V4WBI=y
221+CONFIG_CPU_CP15=y
222+CONFIG_CPU_CP15_MMU=y
223+
224+#
225+# Processor Features
226+#
227+CONFIG_ARM_THUMB=y
228+# CONFIG_CPU_DCACHE_DISABLE is not set
229+# CONFIG_OUTER_CACHE is not set
230+CONFIG_IWMMXT=y
231+CONFIG_XSCALE_PMU=y
232+
233+#
234+# Bus support
235+#
236+CONFIG_PCI=y
237+CONFIG_PCI_HOST_ITE8152=y
238+# CONFIG_PCI_DEBUG is not set
239+
240+#
241+# PCCARD (PCMCIA/CardBus) support
242+#
243+CONFIG_PCCARD=y
244+# CONFIG_PCMCIA_DEBUG is not set
245+CONFIG_PCMCIA=m
246+# CONFIG_PCMCIA_LOAD_CIS is not set
247+CONFIG_PCMCIA_IOCTL=y
248+CONFIG_CARDBUS=y
249+
250+#
251+# PC-card bridges
252+#
253+# CONFIG_YENTA is not set
254+# CONFIG_PD6729 is not set
255+# CONFIG_I82092 is not set
256+CONFIG_PCMCIA_PXA2XX=m
257+
258+#
259+# Kernel Features
260+#
261+# CONFIG_PREEMPT is not set
262+# CONFIG_NO_IDLE_HZ is not set
263+CONFIG_HZ=100
264+# CONFIG_AEABI is not set
265+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
266+CONFIG_SELECT_MEMORY_MODEL=y
267+CONFIG_FLATMEM_MANUAL=y
268+# CONFIG_DISCONTIGMEM_MANUAL is not set
269+# CONFIG_SPARSEMEM_MANUAL is not set
270+CONFIG_FLATMEM=y
271+CONFIG_FLAT_NODE_MEM_MAP=y
272+# CONFIG_SPARSEMEM_STATIC is not set
273+CONFIG_SPLIT_PTLOCK_CPUS=4096
274+# CONFIG_RESOURCES_64BIT is not set
275+CONFIG_ZONE_DMA_FLAG=1
276+CONFIG_ALIGNMENT_TRAP=y
277+
278+#
279+# Boot options
280+#
281+CONFIG_ZBOOT_ROM_TEXT=0x0
282+CONFIG_ZBOOT_ROM_BSS=0x0
283+CONFIG_CMDLINE=""
284+# CONFIG_XIP_KERNEL is not set
285+# CONFIG_KEXEC is not set
286+
287+#
288+# Floating point emulation
289+#
290+
291+#
292+# At least one emulation must be selected
293+#
294+CONFIG_FPE_NWFPE=y
295+# CONFIG_FPE_NWFPE_XP is not set
296+# CONFIG_FPE_FASTFPE is not set
297+
298+#
299+# Userspace binary formats
300+#
301+CONFIG_BINFMT_ELF=y
302+# CONFIG_BINFMT_AOUT is not set
303+# CONFIG_BINFMT_MISC is not set
304+# CONFIG_ARTHUR is not set
305+
306+#
307+# Power management options
308+#
309+CONFIG_PM=y
310+# CONFIG_PM_LEGACY is not set
311+# CONFIG_PM_DEBUG is not set
312+# CONFIG_PM_SYSFS_DEPRECATED is not set
313+# CONFIG_APM_EMULATION is not set
314+
315+#
316+# Networking
317+#
318+CONFIG_NET=y
319+
320+#
321+# Networking options
322+#
323+# CONFIG_NETDEBUG is not set
324+CONFIG_PACKET=y
325+# CONFIG_PACKET_MMAP is not set
326+CONFIG_UNIX=y
327+CONFIG_XFRM=y
328+# CONFIG_XFRM_USER is not set
329+# CONFIG_XFRM_SUB_POLICY is not set
330+# CONFIG_XFRM_MIGRATE is not set
331+# CONFIG_NET_KEY is not set
332+CONFIG_INET=y
333+# CONFIG_IP_MULTICAST is not set
334+# CONFIG_IP_ADVANCED_ROUTER is not set
335+CONFIG_IP_FIB_HASH=y
336+CONFIG_IP_PNP=y
337+CONFIG_IP_PNP_DHCP=y
338+CONFIG_IP_PNP_BOOTP=y
339+# CONFIG_IP_PNP_RARP is not set
340+# CONFIG_NET_IPIP is not set
341+# CONFIG_NET_IPGRE is not set
342+# CONFIG_ARPD is not set
343+# CONFIG_SYN_COOKIES is not set
344+# CONFIG_INET_AH is not set
345+# CONFIG_INET_ESP is not set
346+# CONFIG_INET_IPCOMP is not set
347+# CONFIG_INET_XFRM_TUNNEL is not set
348+# CONFIG_INET_TUNNEL is not set
349+CONFIG_INET_XFRM_MODE_TRANSPORT=y
350+CONFIG_INET_XFRM_MODE_TUNNEL=y
351+CONFIG_INET_XFRM_MODE_BEET=y
352+CONFIG_INET_DIAG=y
353+CONFIG_INET_TCP_DIAG=y
354+# CONFIG_TCP_CONG_ADVANCED is not set
355+CONFIG_TCP_CONG_CUBIC=y
356+CONFIG_DEFAULT_TCP_CONG="cubic"
357+# CONFIG_TCP_MD5SIG is not set
358+# CONFIG_IPV6 is not set
359+# CONFIG_INET6_XFRM_TUNNEL is not set
360+# CONFIG_INET6_TUNNEL is not set
361+# CONFIG_NETWORK_SECMARK is not set
362+# CONFIG_NETFILTER is not set
363+
364+#
365+# DCCP Configuration (EXPERIMENTAL)
366+#
367+# CONFIG_IP_DCCP is not set
368+
369+#
370+# SCTP Configuration (EXPERIMENTAL)
371+#
372+# CONFIG_IP_SCTP is not set
373+
374+#
375+# TIPC Configuration (EXPERIMENTAL)
376+#
377+# CONFIG_TIPC is not set
378+# CONFIG_ATM is not set
379+# CONFIG_BRIDGE is not set
380+# CONFIG_VLAN_8021Q is not set
381+# CONFIG_DECNET is not set
382+# CONFIG_LLC2 is not set
383+# CONFIG_IPX is not set
384+# CONFIG_ATALK is not set
385+# CONFIG_X25 is not set
386+# CONFIG_LAPB is not set
387+# CONFIG_ECONET is not set
388+# CONFIG_WAN_ROUTER is not set
389+
390+#
391+# QoS and/or fair queueing
392+#
393+# CONFIG_NET_SCHED is not set
394+
395+#
396+# Network testing
397+#
398+# CONFIG_NET_PKTGEN is not set
399+# CONFIG_HAMRADIO is not set
400+# CONFIG_IRDA is not set
401+# CONFIG_BT is not set
402+CONFIG_IEEE80211=m
403+# CONFIG_IEEE80211_DEBUG is not set
404+CONFIG_IEEE80211_CRYPT_WEP=m
405+CONFIG_IEEE80211_CRYPT_CCMP=m
406+# CONFIG_IEEE80211_CRYPT_TKIP is not set
407+# CONFIG_IEEE80211_SOFTMAC is not set
408+CONFIG_WIRELESS_EXT=y
409+
410+#
411+# Device Drivers
412+#
413+
414+#
415+# Generic Driver Options
416+#
417+CONFIG_STANDALONE=y
418+CONFIG_PREVENT_FIRMWARE_BUILD=y
419+CONFIG_FW_LOADER=y
420+# CONFIG_DEBUG_DRIVER is not set
421+# CONFIG_DEBUG_DEVRES is not set
422+# CONFIG_SYS_HYPERVISOR is not set
423+
424+#
425+# Connector - unified userspace <-> kernelspace linker
426+#
427+# CONFIG_CONNECTOR is not set
428+
429+#
430+# Memory Technology Devices (MTD)
431+#
432+CONFIG_MTD=m
433+# CONFIG_MTD_DEBUG is not set
434+# CONFIG_MTD_CONCAT is not set
435+CONFIG_MTD_PARTITIONS=y
436+# CONFIG_MTD_REDBOOT_PARTS is not set
437+# CONFIG_MTD_AFS_PARTS is not set
438+
439+#
440+# User Modules And Translation Layers
441+#
442+CONFIG_MTD_CHAR=m
443+CONFIG_MTD_BLKDEVS=m
444+CONFIG_MTD_BLOCK=m
445+# CONFIG_MTD_BLOCK_RO is not set
446+# CONFIG_FTL is not set
447+# CONFIG_NFTL is not set
448+# CONFIG_INFTL is not set
449+# CONFIG_RFD_FTL is not set
450+# CONFIG_SSFDC is not set
451+
452+#
453+# RAM/ROM/Flash chip drivers
454+#
455+# CONFIG_MTD_CFI is not set
456+# CONFIG_MTD_JEDECPROBE is not set
457+CONFIG_MTD_MAP_BANK_WIDTH_1=y
458+CONFIG_MTD_MAP_BANK_WIDTH_2=y
459+CONFIG_MTD_MAP_BANK_WIDTH_4=y
460+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
461+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
462+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
463+CONFIG_MTD_CFI_I1=y
464+CONFIG_MTD_CFI_I2=y
465+# CONFIG_MTD_CFI_I4 is not set
466+# CONFIG_MTD_CFI_I8 is not set
467+# CONFIG_MTD_RAM is not set
468+# CONFIG_MTD_ROM is not set
469+# CONFIG_MTD_ABSENT is not set
470+# CONFIG_MTD_OBSOLETE_CHIPS is not set
471+
472+#
473+# Mapping drivers for chip access
474+#
475+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
476+# CONFIG_MTD_SHARP_SL is not set
477+# CONFIG_MTD_PLATRAM is not set
478+
479+#
480+# Self-contained MTD device drivers
481+#
482+# CONFIG_MTD_PMC551 is not set
483+# CONFIG_MTD_SLRAM is not set
484+# CONFIG_MTD_PHRAM is not set
485+# CONFIG_MTD_MTDRAM is not set
486+# CONFIG_MTD_BLOCK2MTD is not set
487+
488+#
489+# Disk-On-Chip Device Drivers
490+#
491+# CONFIG_MTD_DOC2000 is not set
492+# CONFIG_MTD_DOC2001 is not set
493+# CONFIG_MTD_DOC2001PLUS is not set
494+
495+#
496+# NAND Flash Device Drivers
497+#
498+CONFIG_MTD_NAND=m
499+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
500+# CONFIG_MTD_NAND_ECC_SMC is not set
501+# CONFIG_MTD_NAND_H1900 is not set
502+CONFIG_MTD_NAND_IDS=m
503+# CONFIG_MTD_NAND_DISKONCHIP is not set
504+# CONFIG_MTD_NAND_SHARPSL is not set
505+# CONFIG_MTD_NAND_CAFE is not set
506+CONFIG_MTD_NAND_CM_X270=m
507+# CONFIG_MTD_NAND_NANDSIM is not set
508+
509+#
510+# OneNAND Flash Device Drivers
511+#
512+# CONFIG_MTD_ONENAND is not set
513+
514+#
515+# Parallel port support
516+#
517+# CONFIG_PARPORT is not set
518+
519+#
520+# Plug and Play support
521+#
522+# CONFIG_PNPACPI is not set
523+
524+#
525+# Block devices
526+#
527+# CONFIG_BLK_CPQ_DA is not set
528+# CONFIG_BLK_CPQ_CISS_DA is not set
529+# CONFIG_BLK_DEV_DAC960 is not set
530+# CONFIG_BLK_DEV_UMEM is not set
531+# CONFIG_BLK_DEV_COW_COMMON is not set
532+CONFIG_BLK_DEV_LOOP=y
533+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
534+# CONFIG_BLK_DEV_NBD is not set
535+# CONFIG_BLK_DEV_SX8 is not set
536+# CONFIG_BLK_DEV_UB is not set
537+CONFIG_BLK_DEV_RAM=y
538+CONFIG_BLK_DEV_RAM_COUNT=16
539+CONFIG_BLK_DEV_RAM_SIZE=12000
540+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
541+# CONFIG_CDROM_PKTCDVD is not set
542+# CONFIG_ATA_OVER_ETH is not set
543+
544+#
545+# ATA/ATAPI/MFM/RLL support
546+#
547+CONFIG_IDE=m
548+CONFIG_IDE_MAX_HWIFS=4
549+CONFIG_BLK_DEV_IDE=m
550+
551+#
552+# Please see Documentation/ide.txt for help/info on IDE drives
553+#
554+# CONFIG_BLK_DEV_IDE_SATA is not set
555+CONFIG_BLK_DEV_IDEDISK=m
556+# CONFIG_IDEDISK_MULTI_MODE is not set
557+CONFIG_BLK_DEV_IDECS=m
558+# CONFIG_BLK_DEV_DELKIN is not set
559+CONFIG_BLK_DEV_IDECD=m
560+# CONFIG_BLK_DEV_IDETAPE is not set
561+# CONFIG_BLK_DEV_IDEFLOPPY is not set
562+# CONFIG_BLK_DEV_IDESCSI is not set
563+# CONFIG_IDE_TASK_IOCTL is not set
564+
565+#
566+# IDE chipset support/bugfixes
567+#
568+# CONFIG_IDE_GENERIC is not set
569+# CONFIG_BLK_DEV_IDEPCI is not set
570+# CONFIG_IDE_ARM is not set
571+CONFIG_BLK_DEV_IDE_CM_X270=m
572+# CONFIG_BLK_DEV_IDEDMA is not set
573+# CONFIG_BLK_DEV_HD is not set
574+
575+#
576+# SCSI device support
577+#
578+# CONFIG_RAID_ATTRS is not set
579+CONFIG_SCSI=y
580+# CONFIG_SCSI_TGT is not set
581+# CONFIG_SCSI_NETLINK is not set
582+# CONFIG_SCSI_PROC_FS is not set
583+
584+#
585+# SCSI support type (disk, tape, CD-ROM)
586+#
587+CONFIG_BLK_DEV_SD=y
588+# CONFIG_CHR_DEV_ST is not set
589+# CONFIG_CHR_DEV_OSST is not set
590+# CONFIG_BLK_DEV_SR is not set
591+# CONFIG_CHR_DEV_SG is not set
592+# CONFIG_CHR_DEV_SCH is not set
593+
594+#
595+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
596+#
597+# CONFIG_SCSI_MULTI_LUN is not set
598+# CONFIG_SCSI_CONSTANTS is not set
599+# CONFIG_SCSI_LOGGING is not set
600+# CONFIG_SCSI_SCAN_ASYNC is not set
601+
602+#
603+# SCSI Transports
604+#
605+# CONFIG_SCSI_SPI_ATTRS is not set
606+# CONFIG_SCSI_FC_ATTRS is not set
607+# CONFIG_SCSI_ISCSI_ATTRS is not set
608+# CONFIG_SCSI_SAS_ATTRS is not set
609+# CONFIG_SCSI_SAS_LIBSAS is not set
610+
611+#
612+# SCSI low-level drivers
613+#
614+# CONFIG_ISCSI_TCP is not set
615+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
616+# CONFIG_SCSI_3W_9XXX is not set
617+# CONFIG_SCSI_ACARD is not set
618+# CONFIG_SCSI_AACRAID is not set
619+# CONFIG_SCSI_AIC7XXX is not set
620+# CONFIG_SCSI_AIC7XXX_OLD is not set
621+# CONFIG_SCSI_AIC79XX is not set
622+# CONFIG_SCSI_AIC94XX is not set
623+# CONFIG_SCSI_DPT_I2O is not set
624+# CONFIG_SCSI_ARCMSR is not set
625+# CONFIG_MEGARAID_NEWGEN is not set
626+# CONFIG_MEGARAID_LEGACY is not set
627+# CONFIG_MEGARAID_SAS is not set
628+# CONFIG_SCSI_HPTIOP is not set
629+# CONFIG_SCSI_DMX3191D is not set
630+# CONFIG_SCSI_FUTURE_DOMAIN is not set
631+# CONFIG_SCSI_IPS is not set
632+# CONFIG_SCSI_INITIO is not set
633+# CONFIG_SCSI_INIA100 is not set
634+# CONFIG_SCSI_STEX is not set
635+# CONFIG_SCSI_SYM53C8XX_2 is not set
636+# CONFIG_SCSI_QLOGIC_1280 is not set
637+# CONFIG_SCSI_QLA_FC is not set
638+# CONFIG_SCSI_QLA_ISCSI is not set
639+# CONFIG_SCSI_LPFC is not set
640+# CONFIG_SCSI_DC395x is not set
641+# CONFIG_SCSI_DC390T is not set
642+# CONFIG_SCSI_NSP32 is not set
643+# CONFIG_SCSI_DEBUG is not set
644+# CONFIG_SCSI_SRP is not set
645+
646+#
647+# PCMCIA SCSI adapter support
648+#
649+# CONFIG_PCMCIA_AHA152X is not set
650+# CONFIG_PCMCIA_FDOMAIN is not set
651+# CONFIG_PCMCIA_NINJA_SCSI is not set
652+# CONFIG_PCMCIA_QLOGIC is not set
653+# CONFIG_PCMCIA_SYM53C500 is not set
654+
655+#
656+# Serial ATA (prod) and Parallel ATA (experimental) drivers
657+#
658+# CONFIG_ATA is not set
659+
660+#
661+# Multi-device support (RAID and LVM)
662+#
663+# CONFIG_MD is not set
664+
665+#
666+# Fusion MPT device support
667+#
668+# CONFIG_FUSION is not set
669+# CONFIG_FUSION_SPI is not set
670+# CONFIG_FUSION_FC is not set
671+# CONFIG_FUSION_SAS is not set
672+
673+#
674+# IEEE 1394 (FireWire) support
675+#
676+# CONFIG_IEEE1394 is not set
677+
678+#
679+# I2O device support
680+#
681+# CONFIG_I2O is not set
682+
683+#
684+# Network device support
685+#
686+CONFIG_NETDEVICES=y
687+# CONFIG_DUMMY is not set
688+# CONFIG_BONDING is not set
689+# CONFIG_EQUALIZER is not set
690+# CONFIG_TUN is not set
691+
692+#
693+# ARCnet devices
694+#
695+# CONFIG_ARCNET is not set
696+
697+#
698+# PHY device support
699+#
700+# CONFIG_PHYLIB is not set
701+
702+#
703+# Ethernet (10 or 100Mbit)
704+#
705+CONFIG_NET_ETHERNET=y
706+CONFIG_MII=y
707+# CONFIG_HAPPYMEAL is not set
708+# CONFIG_SUNGEM is not set
709+# CONFIG_CASSINI is not set
710+# CONFIG_NET_VENDOR_3COM is not set
711+# CONFIG_SMC91X is not set
712+CONFIG_DM9000=y
713+CONFIG_DM9000_NOEPROM=y
714+# CONFIG_SMC911X is not set
715+
716+#
717+# Tulip family network device support
718+#
719+# CONFIG_NET_TULIP is not set
720+# CONFIG_HP100 is not set
721+CONFIG_NET_PCI=y
722+# CONFIG_PCNET32 is not set
723+# CONFIG_AMD8111_ETH is not set
724+# CONFIG_ADAPTEC_STARFIRE is not set
725+# CONFIG_B44 is not set
726+# CONFIG_FORCEDETH is not set
727+# CONFIG_DGRS is not set
728+# CONFIG_EEPRO100 is not set
729+# CONFIG_E100 is not set
730+# CONFIG_FEALNX is not set
731+# CONFIG_NATSEMI is not set
732+# CONFIG_NE2K_PCI is not set
733+# CONFIG_8139CP is not set
734+CONFIG_8139TOO=m
735+# CONFIG_8139TOO_PIO is not set
736+# CONFIG_8139TOO_TUNE_TWISTER is not set
737+# CONFIG_8139TOO_8129 is not set
738+# CONFIG_8139_OLD_RX_RESET is not set
739+# CONFIG_SIS900 is not set
740+# CONFIG_EPIC100 is not set
741+# CONFIG_SUNDANCE is not set
742+# CONFIG_TLAN is not set
743+# CONFIG_VIA_RHINE is not set
744+# CONFIG_SC92031 is not set
745+
746+#
747+# Ethernet (1000 Mbit)
748+#
749+# CONFIG_ACENIC is not set
750+# CONFIG_DL2K is not set
751+# CONFIG_E1000 is not set
752+# CONFIG_NS83820 is not set
753+# CONFIG_HAMACHI is not set
754+# CONFIG_YELLOWFIN is not set
755+# CONFIG_R8169 is not set
756+# CONFIG_SIS190 is not set
757+# CONFIG_SKGE is not set
758+# CONFIG_SKY2 is not set
759+# CONFIG_SK98LIN is not set
760+# CONFIG_VIA_VELOCITY is not set
761+# CONFIG_TIGON3 is not set
762+# CONFIG_BNX2 is not set
763+# CONFIG_QLA3XXX is not set
764+# CONFIG_ATL1 is not set
765+
766+#
767+# Ethernet (10000 Mbit)
768+#
769+# CONFIG_CHELSIO_T1 is not set
770+# CONFIG_CHELSIO_T3 is not set
771+# CONFIG_IXGB is not set
772+# CONFIG_S2IO is not set
773+# CONFIG_MYRI10GE is not set
774+# CONFIG_NETXEN_NIC is not set
775+
776+#
777+# Token Ring devices
778+#
779+# CONFIG_TR is not set
780+
781+#
782+# Wireless LAN (non-hamradio)
783+#
784+CONFIG_NET_RADIO=y
785+# CONFIG_NET_WIRELESS_RTNETLINK is not set
786+
787+#
788+# Obsolete Wireless cards support (pre-802.11)
789+#
790+# CONFIG_STRIP is not set
791+# CONFIG_PCMCIA_WAVELAN is not set
792+# CONFIG_PCMCIA_NETWAVE is not set
793+
794+#
795+# Wireless 802.11 Frequency Hopping cards support
796+#
797+# CONFIG_PCMCIA_RAYCS is not set
798+
799+#
800+# Wireless 802.11b ISA/PCI cards support
801+#
802+# CONFIG_IPW2100 is not set
803+# CONFIG_IPW2200 is not set
804+# CONFIG_HERMES is not set
805+# CONFIG_ATMEL is not set
806+
807+#
808+# Wireless 802.11b Pcmcia/Cardbus cards support
809+#
810+# CONFIG_AIRO_CS is not set
811+# CONFIG_PCMCIA_WL3501 is not set
812+
813+#
814+# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
815+#
816+# CONFIG_PRISM54 is not set
817+# CONFIG_USB_ZD1201 is not set
818+# CONFIG_HOSTAP is not set
819+CONFIG_NET_WIRELESS=y
820+
821+#
822+# PCMCIA network device support
823+#
824+CONFIG_NET_PCMCIA=y
825+# CONFIG_PCMCIA_3C589 is not set
826+# CONFIG_PCMCIA_3C574 is not set
827+# CONFIG_PCMCIA_FMVJ18X is not set
828+CONFIG_PCMCIA_PCNET=m
829+# CONFIG_PCMCIA_NMCLAN is not set
830+# CONFIG_PCMCIA_SMC91C92 is not set
831+# CONFIG_PCMCIA_XIRC2PS is not set
832+# CONFIG_PCMCIA_AXNET is not set
833+
834+#
835+# Wan interfaces
836+#
837+# CONFIG_WAN is not set
838+# CONFIG_FDDI is not set
839+# CONFIG_HIPPI is not set
840+# CONFIG_PPP is not set
841+# CONFIG_SLIP is not set
842+# CONFIG_NET_FC is not set
843+# CONFIG_SHAPER is not set
844+# CONFIG_NETCONSOLE is not set
845+# CONFIG_NETPOLL is not set
846+# CONFIG_NET_POLL_CONTROLLER is not set
847+
848+#
849+# ISDN subsystem
850+#
851+# CONFIG_ISDN is not set
852+
853+#
854+# Input device support
855+#
856+CONFIG_INPUT=y
857+# CONFIG_INPUT_FF_MEMLESS is not set
858+
859+#
860+# Userland interfaces
861+#
862+# CONFIG_INPUT_MOUSEDEV is not set
863+# CONFIG_INPUT_JOYDEV is not set
864+# CONFIG_INPUT_TSDEV is not set
865+CONFIG_INPUT_EVDEV=y
866+# CONFIG_INPUT_EVBUG is not set
867+
868+#
869+# Input Device Drivers
870+#
871+# CONFIG_INPUT_KEYBOARD is not set
872+# CONFIG_INPUT_MOUSE is not set
873+# CONFIG_INPUT_JOYSTICK is not set
874+CONFIG_INPUT_TOUCHSCREEN=y
875+# CONFIG_TOUCHSCREEN_GUNZE is not set
876+# CONFIG_TOUCHSCREEN_ELO is not set
877+# CONFIG_TOUCHSCREEN_MTOUCH is not set
878+# CONFIG_TOUCHSCREEN_MK712 is not set
879+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
880+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
881+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
882+CONFIG_TOUCHSCREEN_UCB1400=m
883+# CONFIG_INPUT_MISC is not set
884+
885+#
886+# Hardware I/O ports
887+#
888+# CONFIG_SERIO is not set
889+# CONFIG_GAMEPORT is not set
890+
891+#
892+# Character devices
893+#
894+CONFIG_VT=y
895+CONFIG_VT_CONSOLE=y
896+CONFIG_HW_CONSOLE=y
897+# CONFIG_VT_HW_CONSOLE_BINDING is not set
898+# CONFIG_SERIAL_NONSTANDARD is not set
899+
900+#
901+# Serial drivers
902+#
903+# CONFIG_SERIAL_8250 is not set
904+
905+#
906+# Non-8250 serial port support
907+#
908+CONFIG_SERIAL_PXA=y
909+CONFIG_SERIAL_PXA_CONSOLE=y
910+CONFIG_SERIAL_CORE=y
911+CONFIG_SERIAL_CORE_CONSOLE=y
912+# CONFIG_SERIAL_JSM is not set
913+CONFIG_UNIX98_PTYS=y
914+CONFIG_LEGACY_PTYS=y
915+CONFIG_LEGACY_PTY_COUNT=256
916+
917+#
918+# IPMI
919+#
920+# CONFIG_IPMI_HANDLER is not set
921+
922+#
923+# Watchdog Cards
924+#
925+# CONFIG_WATCHDOG is not set
926+CONFIG_HW_RANDOM=m
927+# CONFIG_NVRAM is not set
928+# CONFIG_DTLK is not set
929+# CONFIG_R3964 is not set
930+# CONFIG_APPLICOM is not set
931+# CONFIG_DRM is not set
932+
933+#
934+# PCMCIA character devices
935+#
936+# CONFIG_SYNCLINK_CS is not set
937+# CONFIG_CARDMAN_4000 is not set
938+# CONFIG_CARDMAN_4040 is not set
939+# CONFIG_RAW_DRIVER is not set
940+
941+#
942+# TPM devices
943+#
944+# CONFIG_TCG_TPM is not set
945+
946+#
947+# I2C support
948+#
949+# CONFIG_I2C is not set
950+
951+#
952+# SPI support
953+#
954+# CONFIG_SPI is not set
955+# CONFIG_SPI_MASTER is not set
956+
957+#
958+# Dallas's 1-wire bus
959+#
960+# CONFIG_W1 is not set
961+
962+#
963+# Hardware Monitoring support
964+#
965+# CONFIG_HWMON is not set
966+# CONFIG_HWMON_VID is not set
967+
968+#
969+# Misc devices
970+#
971+# CONFIG_SGI_IOC4 is not set
972+# CONFIG_TIFM_CORE is not set
973+
974+#
975+# Multifunction device drivers
976+#
977+# CONFIG_MFD_SM501 is not set
978+
979+#
980+# LED devices
981+#
982+CONFIG_NEW_LEDS=y
983+CONFIG_LEDS_CLASS=y
984+
985+#
986+# LED drivers
987+#
988+CONFIG_LEDS_CM_X270=y
989+
990+#
991+# LED Triggers
992+#
993+CONFIG_LEDS_TRIGGERS=y
994+# CONFIG_LEDS_TRIGGER_TIMER is not set
995+# CONFIG_LEDS_TRIGGER_IDE_DISK is not set
996+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
997+
998+#
999+# Multimedia devices
1000+#
1001+# CONFIG_VIDEO_DEV is not set
1002+
1003+#
1004+# Digital Video Broadcasting Devices
1005+#
1006+# CONFIG_DVB is not set
1007+# CONFIG_USB_DABUSB is not set
1008+
1009+#
1010+# Graphics support
1011+#
1012+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
1013+CONFIG_FB=y
1014+# CONFIG_FIRMWARE_EDID is not set
1015+# CONFIG_FB_DDC is not set
1016+CONFIG_FB_CFB_FILLRECT=y
1017+CONFIG_FB_CFB_COPYAREA=y
1018+CONFIG_FB_CFB_IMAGEBLIT=y
1019+# CONFIG_FB_SVGALIB is not set
1020+# CONFIG_FB_MACMODES is not set
1021+# CONFIG_FB_BACKLIGHT is not set
1022+# CONFIG_FB_MODE_HELPERS is not set
1023+# CONFIG_FB_TILEBLITTING is not set
1024+
1025+#
1026+# Frambuffer hardware drivers
1027+#
1028+# CONFIG_FB_CIRRUS is not set
1029+# CONFIG_FB_PM2 is not set
1030+# CONFIG_FB_CYBER2000 is not set
1031+# CONFIG_FB_ASILIANT is not set
1032+# CONFIG_FB_IMSTT is not set
1033+# CONFIG_FB_S1D13XXX is not set
1034+# CONFIG_FB_NVIDIA is not set
1035+# CONFIG_FB_RIVA is not set
1036+# CONFIG_FB_MATROX is not set
1037+# CONFIG_FB_RADEON is not set
1038+# CONFIG_FB_ATY128 is not set
1039+# CONFIG_FB_ATY is not set
1040+# CONFIG_FB_S3 is not set
1041+# CONFIG_FB_SAVAGE is not set
1042+# CONFIG_FB_SIS is not set
1043+# CONFIG_FB_NEOMAGIC is not set
1044+# CONFIG_FB_KYRO is not set
1045+# CONFIG_FB_3DFX is not set
1046+# CONFIG_FB_VOODOO1 is not set
1047+# CONFIG_FB_TRIDENT is not set
1048+CONFIG_FB_PXA=y
1049+# CONFIG_FB_PXA_PARAMETERS is not set
1050+CONFIG_FB_MBX=m
1051+# CONFIG_FB_VIRTUAL is not set
1052+
1053+#
1054+# Console display driver support
1055+#
1056+# CONFIG_VGA_CONSOLE is not set
1057+CONFIG_DUMMY_CONSOLE=y
1058+CONFIG_FRAMEBUFFER_CONSOLE=y
1059+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
1060+# CONFIG_FONTS is not set
1061+CONFIG_FONT_8x8=y
1062+CONFIG_FONT_8x16=y
1063+
1064+#
1065+# Logo configuration
1066+#
1067+CONFIG_LOGO=y
1068+CONFIG_LOGO_LINUX_MONO=y
1069+CONFIG_LOGO_LINUX_VGA16=y
1070+CONFIG_LOGO_LINUX_CLUT224=y
1071+
1072+#
1073+# Sound
1074+#
1075+CONFIG_SOUND=m
1076+
1077+#
1078+# Advanced Linux Sound Architecture
1079+#
1080+CONFIG_SND=m
1081+CONFIG_SND_TIMER=m
1082+CONFIG_SND_PCM=m
1083+# CONFIG_SND_SEQUENCER is not set
1084+CONFIG_SND_OSSEMUL=y
1085+CONFIG_SND_MIXER_OSS=m
1086+CONFIG_SND_PCM_OSS=m
1087+CONFIG_SND_PCM_OSS_PLUGINS=y
1088+# CONFIG_SND_DYNAMIC_MINORS is not set
1089+CONFIG_SND_SUPPORT_OLD_API=y
1090+CONFIG_SND_VERBOSE_PROCFS=y
1091+# CONFIG_SND_VERBOSE_PRINTK is not set
1092+# CONFIG_SND_DEBUG is not set
1093+
1094+#
1095+# Generic devices
1096+#
1097+CONFIG_SND_AC97_CODEC=m
1098+# CONFIG_SND_DUMMY is not set
1099+# CONFIG_SND_MTPAV is not set
1100+# CONFIG_SND_SERIAL_U16550 is not set
1101+# CONFIG_SND_MPU401 is not set
1102+
1103+#
1104+# PCI devices
1105+#
1106+# CONFIG_SND_AD1889 is not set
1107+# CONFIG_SND_ALS300 is not set
1108+# CONFIG_SND_ALI5451 is not set
1109+# CONFIG_SND_ATIIXP is not set
1110+# CONFIG_SND_ATIIXP_MODEM is not set
1111+# CONFIG_SND_AU8810 is not set
1112+# CONFIG_SND_AU8820 is not set
1113+# CONFIG_SND_AU8830 is not set
1114+# CONFIG_SND_AZT3328 is not set
1115+# CONFIG_SND_BT87X is not set
1116+# CONFIG_SND_CA0106 is not set
1117+# CONFIG_SND_CMIPCI is not set
1118+# CONFIG_SND_CS4281 is not set
1119+# CONFIG_SND_CS46XX is not set
1120+# CONFIG_SND_DARLA20 is not set
1121+# CONFIG_SND_GINA20 is not set
1122+# CONFIG_SND_LAYLA20 is not set
1123+# CONFIG_SND_DARLA24 is not set
1124+# CONFIG_SND_GINA24 is not set
1125+# CONFIG_SND_LAYLA24 is not set
1126+# CONFIG_SND_MONA is not set
1127+# CONFIG_SND_MIA is not set
1128+# CONFIG_SND_ECHO3G is not set
1129+# CONFIG_SND_INDIGO is not set
1130+# CONFIG_SND_INDIGOIO is not set
1131+# CONFIG_SND_INDIGODJ is not set
1132+# CONFIG_SND_EMU10K1 is not set
1133+# CONFIG_SND_EMU10K1X is not set
1134+# CONFIG_SND_ENS1370 is not set
1135+# CONFIG_SND_ENS1371 is not set
1136+# CONFIG_SND_ES1938 is not set
1137+# CONFIG_SND_ES1968 is not set
1138+# CONFIG_SND_FM801 is not set
1139+# CONFIG_SND_HDA_INTEL is not set
1140+# CONFIG_SND_HDSP is not set
1141+# CONFIG_SND_HDSPM is not set
1142+# CONFIG_SND_ICE1712 is not set
1143+# CONFIG_SND_ICE1724 is not set
1144+# CONFIG_SND_INTEL8X0 is not set
1145+# CONFIG_SND_INTEL8X0M is not set
1146+# CONFIG_SND_KORG1212 is not set
1147+# CONFIG_SND_MAESTRO3 is not set
1148+# CONFIG_SND_MIXART is not set
1149+# CONFIG_SND_NM256 is not set
1150+# CONFIG_SND_PCXHR is not set
1151+# CONFIG_SND_RIPTIDE is not set
1152+# CONFIG_SND_RME32 is not set
1153+# CONFIG_SND_RME96 is not set
1154+# CONFIG_SND_RME9652 is not set
1155+# CONFIG_SND_SONICVIBES is not set
1156+# CONFIG_SND_TRIDENT is not set
1157+# CONFIG_SND_VIA82XX is not set
1158+# CONFIG_SND_VIA82XX_MODEM is not set
1159+# CONFIG_SND_VX222 is not set
1160+# CONFIG_SND_YMFPCI is not set
1161+# CONFIG_SND_AC97_POWER_SAVE is not set
1162+
1163+#
1164+# ALSA ARM devices
1165+#
1166+CONFIG_SND_PXA2XX_PCM=m
1167+CONFIG_SND_PXA2XX_AC97=m
1168+
1169+#
1170+# USB devices
1171+#
1172+# CONFIG_SND_USB_AUDIO is not set
1173+
1174+#
1175+# PCMCIA devices
1176+#
1177+# CONFIG_SND_VXPOCKET is not set
1178+# CONFIG_SND_PDAUDIOCF is not set
1179+
1180+#
1181+# SoC audio support
1182+#
1183+# CONFIG_SND_SOC is not set
1184+
1185+#
1186+# Open Sound System
1187+#
1188+# CONFIG_SOUND_PRIME is not set
1189+CONFIG_AC97_BUS=m
1190+
1191+#
1192+# HID Devices
1193+#
1194+CONFIG_HID=y
1195+# CONFIG_HID_DEBUG is not set
1196+
1197+#
1198+# USB support
1199+#
1200+CONFIG_USB_ARCH_HAS_HCD=y
1201+CONFIG_USB_ARCH_HAS_OHCI=y
1202+CONFIG_USB_ARCH_HAS_EHCI=y
1203+CONFIG_USB=y
1204+# CONFIG_USB_DEBUG is not set
1205+
1206+#
1207+# Miscellaneous USB options
1208+#
1209+CONFIG_USB_DEVICEFS=y
1210+# CONFIG_USB_DYNAMIC_MINORS is not set
1211+# CONFIG_USB_SUSPEND is not set
1212+# CONFIG_USB_OTG is not set
1213+
1214+#
1215+# USB Host Controller Drivers
1216+#
1217+# CONFIG_USB_EHCI_HCD is not set
1218+# CONFIG_USB_ISP116X_HCD is not set
1219+CONFIG_USB_OHCI_HCD=y
1220+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
1221+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
1222+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1223+# CONFIG_USB_UHCI_HCD is not set
1224+# CONFIG_USB_SL811_HCD is not set
1225+
1226+#
1227+# USB Device Class drivers
1228+#
1229+# CONFIG_USB_ACM is not set
1230+# CONFIG_USB_PRINTER is not set
1231+
1232+#
1233+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1234+#
1235+
1236+#
1237+# may also be needed; see USB_STORAGE Help for more information
1238+#
1239+CONFIG_USB_STORAGE=y
1240+# CONFIG_USB_STORAGE_DEBUG is not set
1241+# CONFIG_USB_STORAGE_DATAFAB is not set
1242+# CONFIG_USB_STORAGE_FREECOM is not set
1243+# CONFIG_USB_STORAGE_DPCM is not set
1244+# CONFIG_USB_STORAGE_USBAT is not set
1245+# CONFIG_USB_STORAGE_SDDR09 is not set
1246+# CONFIG_USB_STORAGE_SDDR55 is not set
1247+# CONFIG_USB_STORAGE_JUMPSHOT is not set
1248+# CONFIG_USB_STORAGE_ALAUDA is not set
1249+# CONFIG_USB_STORAGE_KARMA is not set
1250+# CONFIG_USB_LIBUSUAL is not set
1251+
1252+#
1253+# USB Input Devices
1254+#
1255+CONFIG_USB_HID=y
1256+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1257+# CONFIG_HID_FF is not set
1258+# CONFIG_USB_HIDDEV is not set
1259+# CONFIG_USB_AIPTEK is not set
1260+# CONFIG_USB_WACOM is not set
1261+# CONFIG_USB_ACECAD is not set
1262+# CONFIG_USB_KBTAB is not set
1263+# CONFIG_USB_POWERMATE is not set
1264+# CONFIG_USB_TOUCHSCREEN is not set
1265+# CONFIG_USB_YEALINK is not set
1266+# CONFIG_USB_XPAD is not set
1267+# CONFIG_USB_ATI_REMOTE is not set
1268+# CONFIG_USB_ATI_REMOTE2 is not set
1269+# CONFIG_USB_KEYSPAN_REMOTE is not set
1270+# CONFIG_USB_APPLETOUCH is not set
1271+# CONFIG_USB_GTCO is not set
1272+
1273+#
1274+# USB Imaging devices
1275+#
1276+# CONFIG_USB_MDC800 is not set
1277+# CONFIG_USB_MICROTEK is not set
1278+
1279+#
1280+# USB Network Adapters
1281+#
1282+# CONFIG_USB_CATC is not set
1283+# CONFIG_USB_KAWETH is not set
1284+# CONFIG_USB_PEGASUS is not set
1285+# CONFIG_USB_RTL8150 is not set
1286+# CONFIG_USB_USBNET_MII is not set
1287+# CONFIG_USB_USBNET is not set
1288+CONFIG_USB_MON=y
1289+
1290+#
1291+# USB port drivers
1292+#
1293+
1294+#
1295+# USB Serial Converter support
1296+#
1297+# CONFIG_USB_SERIAL is not set
1298+
1299+#
1300+# USB Miscellaneous drivers
1301+#
1302+# CONFIG_USB_EMI62 is not set
1303+# CONFIG_USB_EMI26 is not set
1304+# CONFIG_USB_ADUTUX is not set
1305+# CONFIG_USB_AUERSWALD is not set
1306+# CONFIG_USB_RIO500 is not set
1307+# CONFIG_USB_LEGOTOWER is not set
1308+# CONFIG_USB_LCD is not set
1309+# CONFIG_USB_BERRY_CHARGE is not set
1310+# CONFIG_USB_LED is not set
1311+# CONFIG_USB_CYPRESS_CY7C63 is not set
1312+# CONFIG_USB_CYTHERM is not set
1313+# CONFIG_USB_PHIDGET is not set
1314+# CONFIG_USB_IDMOUSE is not set
1315+# CONFIG_USB_FTDI_ELAN is not set
1316+# CONFIG_USB_APPLEDISPLAY is not set
1317+# CONFIG_USB_LD is not set
1318+# CONFIG_USB_TRANCEVIBRATOR is not set
1319+# CONFIG_USB_IOWARRIOR is not set
1320+# CONFIG_USB_TEST is not set
1321+
1322+#
1323+# USB DSL modem support
1324+#
1325+
1326+#
1327+# USB Gadget Support
1328+#
1329+# CONFIG_USB_GADGET is not set
1330+
1331+#
1332+# MMC/SD Card support
1333+#
1334+CONFIG_MMC=m
1335+# CONFIG_MMC_DEBUG is not set
1336+CONFIG_MMC_BLOCK=m
1337+CONFIG_MMC_PXA=m
1338+# CONFIG_MMC_SDHCI is not set
1339+# CONFIG_MMC_TIFM_SD is not set
1340+
1341+#
1342+# Real Time Clock
1343+#
1344+CONFIG_RTC_LIB=y
1345+CONFIG_RTC_CLASS=y
1346+CONFIG_RTC_HCTOSYS=y
1347+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1348+# CONFIG_RTC_DEBUG is not set
1349+
1350+#
1351+# RTC interfaces
1352+#
1353+CONFIG_RTC_INTF_SYSFS=y
1354+CONFIG_RTC_INTF_PROC=y
1355+CONFIG_RTC_INTF_DEV=y
1356+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1357+
1358+#
1359+# RTC drivers
1360+#
1361+# CONFIG_RTC_DRV_CMOS is not set
1362+# CONFIG_RTC_DRV_DS1553 is not set
1363+# CONFIG_RTC_DRV_DS1742 is not set
1364+# CONFIG_RTC_DRV_M48T86 is not set
1365+CONFIG_RTC_DRV_SA1100=y
1366+# CONFIG_RTC_DRV_TEST is not set
1367+CONFIG_RTC_DRV_V3020=y
1368+
1369+#
1370+# File systems
1371+#
1372+CONFIG_EXT2_FS=y
1373+# CONFIG_EXT2_FS_XATTR is not set
1374+# CONFIG_EXT2_FS_XIP is not set
1375+CONFIG_EXT3_FS=y
1376+CONFIG_EXT3_FS_XATTR=y
1377+# CONFIG_EXT3_FS_POSIX_ACL is not set
1378+# CONFIG_EXT3_FS_SECURITY is not set
1379+# CONFIG_EXT4DEV_FS is not set
1380+CONFIG_JBD=y
1381+# CONFIG_JBD_DEBUG is not set
1382+CONFIG_FS_MBCACHE=y
1383+# CONFIG_REISERFS_FS is not set
1384+# CONFIG_JFS_FS is not set
1385+# CONFIG_FS_POSIX_ACL is not set
1386+# CONFIG_XFS_FS is not set
1387+# CONFIG_GFS2_FS is not set
1388+# CONFIG_OCFS2_FS is not set
1389+# CONFIG_MINIX_FS is not set
1390+# CONFIG_ROMFS_FS is not set
1391+CONFIG_INOTIFY=y
1392+CONFIG_INOTIFY_USER=y
1393+# CONFIG_QUOTA is not set
1394+CONFIG_DNOTIFY=y
1395+# CONFIG_AUTOFS_FS is not set
1396+# CONFIG_AUTOFS4_FS is not set
1397+# CONFIG_FUSE_FS is not set
1398+
1399+#
1400+# CD-ROM/DVD Filesystems
1401+#
1402+# CONFIG_ISO9660_FS is not set
1403+# CONFIG_UDF_FS is not set
1404+
1405+#
1406+# DOS/FAT/NT Filesystems
1407+#
1408+CONFIG_FAT_FS=y
1409+CONFIG_MSDOS_FS=y
1410+CONFIG_VFAT_FS=y
1411+CONFIG_FAT_DEFAULT_CODEPAGE=437
1412+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1413+# CONFIG_NTFS_FS is not set
1414+
1415+#
1416+# Pseudo filesystems
1417+#
1418+CONFIG_PROC_FS=y
1419+CONFIG_PROC_SYSCTL=y
1420+CONFIG_SYSFS=y
1421+CONFIG_TMPFS=y
1422+# CONFIG_TMPFS_POSIX_ACL is not set
1423+# CONFIG_HUGETLB_PAGE is not set
1424+CONFIG_RAMFS=y
1425+# CONFIG_CONFIGFS_FS is not set
1426+
1427+#
1428+# Miscellaneous filesystems
1429+#
1430+# CONFIG_ADFS_FS is not set
1431+# CONFIG_AFFS_FS is not set
1432+# CONFIG_HFS_FS is not set
1433+# CONFIG_HFSPLUS_FS is not set
1434+# CONFIG_BEFS_FS is not set
1435+# CONFIG_BFS_FS is not set
1436+# CONFIG_EFS_FS is not set
1437+# CONFIG_JFFS2_FS is not set
1438+# CONFIG_CRAMFS is not set
1439+# CONFIG_VXFS_FS is not set
1440+# CONFIG_HPFS_FS is not set
1441+# CONFIG_QNX4FS_FS is not set
1442+# CONFIG_SYSV_FS is not set
1443+# CONFIG_UFS_FS is not set
1444+
1445+#
1446+# Network File Systems
1447+#
1448+CONFIG_NFS_FS=y
1449+CONFIG_NFS_V3=y
1450+# CONFIG_NFS_V3_ACL is not set
1451+# CONFIG_NFS_V4 is not set
1452+# CONFIG_NFS_DIRECTIO is not set
1453+# CONFIG_NFSD is not set
1454+CONFIG_ROOT_NFS=y
1455+CONFIG_LOCKD=y
1456+CONFIG_LOCKD_V4=y
1457+CONFIG_NFS_COMMON=y
1458+CONFIG_SUNRPC=y
1459+# CONFIG_RPCSEC_GSS_KRB5 is not set
1460+# CONFIG_RPCSEC_GSS_SPKM3 is not set
1461+CONFIG_SMB_FS=y
1462+# CONFIG_SMB_NLS_DEFAULT is not set
1463+# CONFIG_CIFS is not set
1464+# CONFIG_NCP_FS is not set
1465+# CONFIG_CODA_FS is not set
1466+# CONFIG_AFS_FS is not set
1467+# CONFIG_9P_FS is not set
1468+
1469+#
1470+# Partition Types
1471+#
1472+# CONFIG_PARTITION_ADVANCED is not set
1473+CONFIG_MSDOS_PARTITION=y
1474+
1475+#
1476+# Native Language Support
1477+#
1478+CONFIG_NLS=y
1479+CONFIG_NLS_DEFAULT="iso8859-1"
1480+CONFIG_NLS_CODEPAGE_437=y
1481+# CONFIG_NLS_CODEPAGE_737 is not set
1482+# CONFIG_NLS_CODEPAGE_775 is not set
1483+# CONFIG_NLS_CODEPAGE_850 is not set
1484+# CONFIG_NLS_CODEPAGE_852 is not set
1485+# CONFIG_NLS_CODEPAGE_855 is not set
1486+# CONFIG_NLS_CODEPAGE_857 is not set
1487+# CONFIG_NLS_CODEPAGE_860 is not set
1488+# CONFIG_NLS_CODEPAGE_861 is not set
1489+# CONFIG_NLS_CODEPAGE_862 is not set
1490+# CONFIG_NLS_CODEPAGE_863 is not set
1491+# CONFIG_NLS_CODEPAGE_864 is not set
1492+# CONFIG_NLS_CODEPAGE_865 is not set
1493+# CONFIG_NLS_CODEPAGE_866 is not set
1494+# CONFIG_NLS_CODEPAGE_869 is not set
1495+# CONFIG_NLS_CODEPAGE_936 is not set
1496+# CONFIG_NLS_CODEPAGE_950 is not set
1497+# CONFIG_NLS_CODEPAGE_932 is not set
1498+# CONFIG_NLS_CODEPAGE_949 is not set
1499+# CONFIG_NLS_CODEPAGE_874 is not set
1500+# CONFIG_NLS_ISO8859_8 is not set
1501+# CONFIG_NLS_CODEPAGE_1250 is not set
1502+# CONFIG_NLS_CODEPAGE_1251 is not set
1503+# CONFIG_NLS_ASCII is not set
1504+CONFIG_NLS_ISO8859_1=y
1505+# CONFIG_NLS_ISO8859_2 is not set
1506+# CONFIG_NLS_ISO8859_3 is not set
1507+# CONFIG_NLS_ISO8859_4 is not set
1508+# CONFIG_NLS_ISO8859_5 is not set
1509+# CONFIG_NLS_ISO8859_6 is not set
1510+# CONFIG_NLS_ISO8859_7 is not set
1511+# CONFIG_NLS_ISO8859_9 is not set
1512+# CONFIG_NLS_ISO8859_13 is not set
1513+# CONFIG_NLS_ISO8859_14 is not set
1514+# CONFIG_NLS_ISO8859_15 is not set
1515+# CONFIG_NLS_KOI8_R is not set
1516+# CONFIG_NLS_KOI8_U is not set
1517+# CONFIG_NLS_UTF8 is not set
1518+
1519+#
1520+# Distributed Lock Manager
1521+#
1522+# CONFIG_DLM is not set
1523+
1524+#
1525+# Profiling support
1526+#
1527+# CONFIG_PROFILING is not set
1528+
1529+#
1530+# Kernel hacking
1531+#
1532+# CONFIG_PRINTK_TIME is not set
1533+CONFIG_ENABLE_MUST_CHECK=y
1534+CONFIG_MAGIC_SYSRQ=y
1535+# CONFIG_UNUSED_SYMBOLS is not set
1536+# CONFIG_DEBUG_FS is not set
1537+# CONFIG_HEADERS_CHECK is not set
1538+CONFIG_DEBUG_KERNEL=y
1539+# CONFIG_DEBUG_SHIRQ is not set
1540+CONFIG_LOG_BUF_SHIFT=17
1541+# CONFIG_DETECT_SOFTLOCKUP is not set
1542+# CONFIG_SCHEDSTATS is not set
1543+# CONFIG_TIMER_STATS is not set
1544+# CONFIG_DEBUG_SLAB is not set
1545+# CONFIG_DEBUG_RT_MUTEXES is not set
1546+# CONFIG_RT_MUTEX_TESTER is not set
1547+# CONFIG_DEBUG_SPINLOCK is not set
1548+# CONFIG_DEBUG_MUTEXES is not set
1549+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1550+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1551+# CONFIG_DEBUG_KOBJECT is not set
1552+# CONFIG_DEBUG_BUGVERBOSE is not set
1553+CONFIG_DEBUG_INFO=y
1554+# CONFIG_DEBUG_VM is not set
1555+# CONFIG_DEBUG_LIST is not set
1556+CONFIG_FRAME_POINTER=y
1557+CONFIG_FORCED_INLINING=y
1558+# CONFIG_RCU_TORTURE_TEST is not set
1559+# CONFIG_FAULT_INJECTION is not set
1560+CONFIG_DEBUG_USER=y
1561+CONFIG_DEBUG_ERRORS=y
1562+CONFIG_DEBUG_LL=y
1563+# CONFIG_DEBUG_ICEDCC is not set
1564+
1565+#
1566+# Security options
1567+#
1568+# CONFIG_KEYS is not set
1569+# CONFIG_SECURITY is not set
1570+
1571+#
1572+# Cryptographic options
1573+#
1574+CONFIG_CRYPTO=y
1575+CONFIG_CRYPTO_ALGAPI=m
1576+CONFIG_CRYPTO_BLKCIPHER=m
1577+CONFIG_CRYPTO_MANAGER=m
1578+# CONFIG_CRYPTO_HMAC is not set
1579+# CONFIG_CRYPTO_XCBC is not set
1580+# CONFIG_CRYPTO_NULL is not set
1581+# CONFIG_CRYPTO_MD4 is not set
1582+# CONFIG_CRYPTO_MD5 is not set
1583+# CONFIG_CRYPTO_SHA1 is not set
1584+# CONFIG_CRYPTO_SHA256 is not set
1585+# CONFIG_CRYPTO_SHA512 is not set
1586+# CONFIG_CRYPTO_WP512 is not set
1587+# CONFIG_CRYPTO_TGR192 is not set
1588+# CONFIG_CRYPTO_GF128MUL is not set
1589+CONFIG_CRYPTO_ECB=m
1590+CONFIG_CRYPTO_CBC=m
1591+CONFIG_CRYPTO_PCBC=m
1592+# CONFIG_CRYPTO_LRW is not set
1593+# CONFIG_CRYPTO_DES is not set
1594+# CONFIG_CRYPTO_FCRYPT is not set
1595+# CONFIG_CRYPTO_BLOWFISH is not set
1596+# CONFIG_CRYPTO_TWOFISH is not set
1597+# CONFIG_CRYPTO_SERPENT is not set
1598+CONFIG_CRYPTO_AES=m
1599+# CONFIG_CRYPTO_CAST5 is not set
1600+# CONFIG_CRYPTO_CAST6 is not set
1601+# CONFIG_CRYPTO_TEA is not set
1602+CONFIG_CRYPTO_ARC4=m
1603+# CONFIG_CRYPTO_KHAZAD is not set
1604+# CONFIG_CRYPTO_ANUBIS is not set
1605+# CONFIG_CRYPTO_DEFLATE is not set
1606+# CONFIG_CRYPTO_MICHAEL_MIC is not set
1607+# CONFIG_CRYPTO_CRC32C is not set
1608+# CONFIG_CRYPTO_CAMELLIA is not set
1609+# CONFIG_CRYPTO_TEST is not set
1610+
1611+#
1612+# Hardware crypto devices
1613+#
1614+
1615+#
1616+# Library routines
1617+#
1618+CONFIG_BITREVERSE=y
1619+# CONFIG_CRC_CCITT is not set
1620+# CONFIG_CRC16 is not set
1621+CONFIG_CRC32=y
1622+# CONFIG_LIBCRC32C is not set
1623+CONFIG_PLIST=y
1624+CONFIG_HAS_IOMEM=y
1625+CONFIG_HAS_IOPORT=y
1626diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
1627index 5ebec6d..e126926 100644
1628--- a/arch/arm/mach-pxa/Kconfig
1629+++ b/arch/arm/mach-pxa/Kconfig
1630@@ -40,6 +40,12 @@ config MACH_TRIZEPS4
1631 config MACH_EM_X270
1632 bool "CompuLab EM-x270 platform"
1633 select PXA27x
1634+ select IWMMXT
1635+
1636+config MACH_ARMCORE
1637+ bool "CompuLab CM-X270 modules"
1638+ select PXA27x
1639+ select IWMMXT
1640
1641 endchoice
1642
1643diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile
1644index 7d6ab5c..b369289 100644
1645--- a/arch/arm/mach-pxa/Makefile
1646+++ b/arch/arm/mach-pxa/Makefile
1647@@ -19,6 +19,7 @@ obj-$(CONFIG_MACH_AKITA) += akita-ioexp.o
1648 obj-$(CONFIG_MACH_POODLE) += poodle.o corgi_ssp.o
1649 obj-$(CONFIG_MACH_TOSA) += tosa.o
1650 obj-$(CONFIG_MACH_EM_X270) += em-x270.o
1651+obj-$(CONFIG_MACH_ARMCORE) += cm-x270.o
1652
1653 # Support for blinky lights
1654 led-y := leds.o
1655@@ -26,6 +27,8 @@ led-$(CONFIG_ARCH_LUBBOCK) += leds-lubbock.o
1656 led-$(CONFIG_MACH_MAINSTONE) += leds-mainstone.o
1657 led-$(CONFIG_ARCH_PXA_IDP) += leds-idp.o
1658 led-$(CONFIG_MACH_TRIZEPS4) += leds-trizeps4.o
1659+# FIXME: use driver/leds instead
1660+led-$(CONFIG_MACH_ARMCORE) += leds-cm-x270.o
1661
1662 obj-$(CONFIG_LEDS) += $(led-y)
1663
1664@@ -36,3 +39,7 @@ obj-$(CONFIG_PXA_SSP) += ssp.o
1665 ifeq ($(CONFIG_PXA27x),y)
1666 obj-$(CONFIG_PM) += standby.o
1667 endif
1668+
1669+ifeq ($(CONFIG_PCI),y)
1670+obj-$(CONFIG_MACH_ARMCORE) += cm-x270-pci.o
1671+endif
1672diff --git a/arch/arm/mach-pxa/cm-x270.c b/arch/arm/mach-pxa/cm-x270.c
1673new file mode 100644
1674index 0000000..7b4e288
1675--- /dev/null
1676+++ b/arch/arm/mach-pxa/cm-x270.c
1677@@ -0,0 +1,821 @@
1678+/*
1679+ * linux/arch/arm/mach-pxa/cm-x270.c
1680+ *
1681+ * Copyright (C) 2007 CompuLab, Ltd.
1682+ * Mike Rapoport <mike@compulab.co.il>
1683+ *
1684+ * This program is free software; you can redistribute it and/or modify
1685+ * it under the terms of the GNU General Public License version 2 as
1686+ * published by the Free Software Foundation.
1687+ */
1688+
1689+#include <linux/pm.h>
1690+#include <linux/fb.h>
1691+#include <linux/platform_device.h>
1692+#include <linux/sysdev.h>
1693+#include <linux/dm9000.h>
1694+#include <linux/rtc-v3020.h>
1695+#include <linux/serial_8250.h>
1696+#include <video/mbxfb.h>
1697+
1698+#include <asm/types.h>
1699+#include <asm/setup.h>
1700+#include <asm/memory.h>
1701+#include <asm/mach-types.h>
1702+#include <asm/hardware.h>
1703+#include <asm/irq.h>
1704+#include <asm/io.h>
1705+#include <asm/delay.h>
1706+
1707+#include <asm/mach/arch.h>
1708+#include <asm/mach/map.h>
1709+#include <asm/mach/irq.h>
1710+
1711+#include <asm/arch/pxa-regs.h>
1712+#include <asm/arch/pxafb.h>
1713+#include <asm/arch/ohci.h>
1714+#include <asm/arch/mmc.h>
1715+#include <asm/arch/bitfield.h>
1716+#include <asm/arch/cm-x270.h>
1717+
1718+#include <asm/hardware/it8152.h>
1719+
1720+#include "generic.h"
1721+
1722+#define RTC_PHYS_BASE (PXA_CS1_PHYS + (5 << 22))
1723+#define DM9000_PHYS_BASE (PXA_CS1_PHYS + (6 << 22))
1724+
1725+static struct resource cmx270_dm9k_resource[] = {
1726+ [0] = {
1727+ .start = DM9000_PHYS_BASE,
1728+ .end = DM9000_PHYS_BASE + 4,
1729+ .flags = IORESOURCE_MEM,
1730+ },
1731+ [1] = {
1732+ .start = DM9000_PHYS_BASE + 8,
1733+ .end = DM9000_PHYS_BASE + 8 + 500,
1734+ .flags = IORESOURCE_MEM,
1735+ },
1736+ [2] = {
1737+ .start = CMX270_ETHIRQ,
1738+ .end = CMX270_ETHIRQ,
1739+ .flags = IORESOURCE_IRQ,
1740+ }
1741+};
1742+
1743+/* for the moment we limit ourselves to 32bit IO until some
1744+ * better IO routines can be written and tested
1745+ */
1746+static struct dm9000_plat_data cmx270_dm9k_platdata = {
1747+ .flags = DM9000_PLATF_32BITONLY,
1748+};
1749+
1750+/* Ethernet device */
1751+static struct platform_device cmx270_device_dm9k = {
1752+ .name = "dm9000",
1753+ .id = 0,
1754+ .num_resources = ARRAY_SIZE(cmx270_dm9k_resource),
1755+ .resource = cmx270_dm9k_resource,
1756+ .dev = {
1757+ .platform_data = &cmx270_dm9k_platdata,
1758+ }
1759+};
1760+
1761+/* audio device */
1762+static struct platform_device cmx270_audio_device = {
1763+ .name = "pxa2xx-ac97",
1764+ .id = -1,
1765+};
1766+
1767+/* touchscreen controller */
1768+static struct platform_device cmx270_ts_device = {
1769+ .name = "ucb1x00-ts",
1770+ .id = -1,
1771+};
1772+
1773+/* RTC */
1774+static struct resource cmx270_v3020_resource[] = {
1775+ [0] = {
1776+ .start = RTC_PHYS_BASE,
1777+ .end = RTC_PHYS_BASE + 4,
1778+ .flags = IORESOURCE_MEM,
1779+ },
1780+};
1781+
1782+struct v3020_platform_data cmx270_v3020_pdata = {
1783+ .leftshift = 16,
1784+};
1785+
1786+static struct platform_device cmx270_rtc_device = {
1787+ .name = "v3020",
1788+ .num_resources = ARRAY_SIZE(cmx270_v3020_resource),
1789+ .resource = cmx270_v3020_resource,
1790+ .id = -1,
1791+ .dev = {
1792+ .platform_data = &cmx270_v3020_pdata,
1793+ }
1794+};
1795+
1796+/*
1797+ * CM-X270 LEDs
1798+ */
1799+static struct platform_device cmx270led_device = {
1800+ .name = "cm-x270-led",
1801+ .id = -1,
1802+};
1803+
1804+/* 2700G graphics */
1805+static u64 fb_dma_mask = ~(u64)0;
1806+
1807+static struct resource cmx270_2700G_resource[] = {
1808+ /* frame buffer memory including ODFB and External SDRAM */
1809+ [0] = {
1810+ .start = MARATHON_PHYS,
1811+ .end = MARATHON_PHYS + 0x02000000,
1812+ .flags = IORESOURCE_MEM,
1813+ },
1814+ /* Marathon registers */
1815+ [1] = {
1816+ .start = MARATHON_PHYS + 0x03fe0000,
1817+ .end = MARATHON_PHYS + 0x03ffffff,
1818+ .flags = IORESOURCE_MEM,
1819+ },
1820+};
1821+
1822+static unsigned long save_lcd_regs[10];
1823+
1824+static int cmx270_marathon_probe(struct fb_info *fb)
1825+{
1826+ /* save PXA-270 pin settings before enabling 2700G */
1827+ save_lcd_regs[0] = GPDR1;
1828+ save_lcd_regs[1] = GPDR2;
1829+ save_lcd_regs[2] = GAFR1_U;
1830+ save_lcd_regs[3] = GAFR2_L;
1831+ save_lcd_regs[4] = GAFR2_U;
1832+
1833+ /* Disable PXA-270 on-chip controller driving pins */
1834+ GPDR1 &= ~(0xfc000000);
1835+ GPDR2 &= ~(0x00c03fff);
1836+ GAFR1_U &= ~(0xfff00000);
1837+ GAFR2_L &= ~(0x0fffffff);
1838+ GAFR2_U &= ~(0x0000f000);
1839+ return 0;
1840+}
1841+
1842+static int cmx270_marathon_remove(struct fb_info *fb)
1843+{
1844+ GPDR1 = save_lcd_regs[0];
1845+ GPDR2 = save_lcd_regs[1];
1846+ GAFR1_U = save_lcd_regs[2];
1847+ GAFR2_L = save_lcd_regs[3];
1848+ GAFR2_U = save_lcd_regs[4];
1849+ return 0;
1850+}
1851+
1852+static struct mbxfb_platform_data cmx270_2700G_data = {
1853+ .xres = {
1854+ .min = 240,
1855+ .max = 1200,
1856+ .defval = 640,
1857+ },
1858+ .yres = {
1859+ .min = 240,
1860+ .max = 1200,
1861+ .defval = 480,
1862+ },
1863+ .bpp = {
1864+ .min = 16,
1865+ .max = 32,
1866+ .defval = 16,
1867+ },
1868+ .memsize = 8*1024*1024,
1869+ .probe = cmx270_marathon_probe,
1870+ .remove = cmx270_marathon_remove,
1871+};
1872+
1873+static struct platform_device cmx270_2700G = {
1874+ .name = "mbx-fb",
1875+ .dev = {
1876+ .platform_data = &cmx270_2700G_data,
1877+ .dma_mask = &fb_dma_mask,
1878+ .coherent_dma_mask = 0xffffffff,
1879+ },
1880+ .num_resources = ARRAY_SIZE(cmx270_2700G_resource),
1881+ .resource = cmx270_2700G_resource,
1882+ .id = -1,
1883+};
1884+
1885+/* platform devices */
1886+static struct platform_device *platform_devices[] __initdata = {
1887+ &cmx270_device_dm9k,
1888+ &cmx270_audio_device,
1889+ &cmx270_rtc_device,
1890+ &cmx270_2700G,
1891+ &cmx270led_device,
1892+};
1893+
1894+#ifdef CONFIG_PCI
1895+/*
1896+ * Install handler for IT8152 IRQ. Yes, yes... we are way down the IRQ
1897+ * cascade which is not good for IRQ latency, but the hardware has been
1898+ * designed that way...
1899+ */
1900+static inline void cmx270_irq(int irq, struct pt_regs *regs)
1901+{
1902+ struct irq_desc *desc;
1903+ desc = irq_desc + irq;
1904+ desc_handle_irq(irq, desc);
1905+}
1906+
1907+static void cmx270_irq_demux(unsigned int irq, struct irqdesc *desc,
1908+ struct pt_regs *regs)
1909+{
1910+ unsigned long pdcnimr, ldcnimr;
1911+ int pdcnirr, ldcnir;
1912+
1913+ /* clear our parent irq */
1914+ GEDR(GPIO_IT8152_IRQ) = GPIO_bit(GPIO_IT8152_IRQ);
1915+
1916+ /* read pending IRQs in the chip registers and clear them */
1917+ pdcnirr = IT8152_INTC_PDCNIRR;
1918+ ldcnir = IT8152_INTC_LDCNIRR;
1919+ IT8152_INTC_PDCNIRR = ~pdcnirr;
1920+ IT8152_INTC_LDCNIRR = ~ldcnir;
1921+
1922+ /* mask ITE irqs */
1923+ pdcnimr = IT8152_INTC_PDCNIMR;
1924+ ldcnimr = IT8152_INTC_LDCNIMR;
1925+ IT8152_INTC_PDCNIMR = 0xffff;
1926+ IT8152_INTC_LDCNIMR = 0xffff;
1927+
1928+ pdcnirr &= (PCISERR_BIT | H2PTADR_BIT | H2PMAR_BIT |
1929+ PCI_INTD_BIT | PCI_INTC_BIT | PCI_INTB_BIT | PCI_INTA_BIT |
1930+ USB_INT_BIT | CDMA_INT_BIT);
1931+
1932+ ldcnir &= ITESER_BIT;
1933+
1934+ IT8152_INTC_PDCNIRR = ~pdcnirr;
1935+ IT8152_INTC_LDCNIRR = ~ldcnir;
1936+
1937+ /* are there interrupts pending ? */
1938+ if( (pdcnirr | ldcnir) ) {
1939+ if (pdcnirr) {
1940+ if( pdcnirr & PCISERR_BIT )
1941+ cmx270_irq(PCISERR, regs);
1942+ if( pdcnirr & H2PTADR_BIT )
1943+ cmx270_irq(H2PTADR, regs);
1944+ if( pdcnirr & H2PMAR_BIT )
1945+ cmx270_irq(H2PMAR, regs);
1946+ if( pdcnirr & PCI_INTA_BIT )
1947+ cmx270_irq(PCI_INTA, regs);
1948+ if( pdcnirr & PCI_INTB_BIT )
1949+ cmx270_irq(PCI_INTB, regs);
1950+ if( pdcnirr & PCI_INTC_BIT )
1951+ cmx270_irq(PCI_INTC, regs);
1952+ if( pdcnirr & PCI_INTD_BIT )
1953+ cmx270_irq(PCI_INTD, regs);
1954+ if( pdcnirr & USB_INT_BIT )
1955+ cmx270_irq(USB_INT, regs);
1956+ if( pdcnirr & CDMA_INT_BIT )
1957+ cmx270_irq(CDMA_INT, regs);
1958+ }
1959+ if(ldcnir) {
1960+ if( ldcnir & ITESER_BIT )
1961+ cmx270_irq(IRQ_ITESER, regs);
1962+ }
1963+ }
1964+
1965+ /* re-enable ITE interrupts */
1966+ IT8152_INTC_PDCNIMR = pdcnimr;
1967+ IT8152_INTC_LDCNIMR = ldcnimr;
1968+}
1969+#else
1970+unsigned long it8152_base_address = CMX270_IT8152_VIRT;
1971+#endif
1972+
1973+/* #define CMX270_FLASH_VIRT (CMX270_IDE104_VIRT + PXA_CS_SIZE - (8<<20)) */
1974+/* Map PCI companion and IDE/General Purpose CS statically */
1975+static struct map_desc cmx270_io_desc[] __initdata = {
1976+ [0] = { /* IDE/general purpose space */
1977+ .virtual = CMX270_IDE104_VIRT,
1978+ .pfn = __phys_to_pfn(CMX270_IDE104_PHYS),
1979+ .length = PXA_CS_SIZE - (8<<20),
1980+ .type = MT_DEVICE
1981+ },
1982+ [1] = { /* PCI bridge */
1983+ .virtual = CMX270_IT8152_VIRT,
1984+ .pfn = __phys_to_pfn(CMX270_IT8152_PHYS),
1985+ .length = PXA_CS_SIZE,
1986+ .type = MT_DEVICE
1987+ },
1988+};
1989+
1990+/*
1991+ Display definitions
1992+ keep these for backwards compatibility, although symbolic names (as
1993+ e.g. in lpd270.c) looks better
1994+ */
1995+#define MTYPE_STN320x240 0
1996+#define MTYPE_TFT640x480 1
1997+#define MTYPE_CRT640x480 2
1998+#define MTYPE_CRT800x600 3
1999+#define MTYPE_TFT320x240 6
2000+#define MTYPE_STN640x480 7
2001+
2002+static struct pxafb_mode_info generic_stn_320x240_mode = {
2003+ .pixclock = 76923,
2004+ .bpp = 8,
2005+ .xres = 320,
2006+ .yres = 240,
2007+ .hsync_len = 3,
2008+ .vsync_len = 2,
2009+ .left_margin = 3,
2010+ .upper_margin = 0,
2011+ .right_margin = 3,
2012+ .lower_margin = 0,
2013+ .sync = (FB_SYNC_HOR_HIGH_ACT |
2014+ FB_SYNC_VERT_HIGH_ACT),
2015+ .cmap_greyscale = 0,
2016+};
2017+
2018+static struct pxafb_mach_info generic_stn_320x240 = {
2019+ .modes = &generic_stn_320x240_mode,
2020+ .num_modes = 1,
2021+ .lccr0 = 0,
2022+ .lccr3 = (LCCR3_PixClkDiv(0x03) |
2023+ LCCR3_Acb(0xff) |
2024+ LCCR3_PCP),
2025+ .cmap_inverse = 0,
2026+ .cmap_static = 0,
2027+};
2028+
2029+static struct pxafb_mode_info generic_tft_640x480_mode = {
2030+ .pixclock = 38461,
2031+ .bpp = 8,
2032+ .xres = 640,
2033+ .yres = 480,
2034+ .hsync_len = 60,
2035+ .vsync_len = 2,
2036+ .left_margin = 70,
2037+ .upper_margin = 10,
2038+ .right_margin = 70,
2039+ .lower_margin = 5,
2040+ .sync = 0,
2041+ .cmap_greyscale = 0,
2042+};
2043+
2044+static struct pxafb_mach_info generic_tft_640x480 = {
2045+ .modes = &generic_tft_640x480_mode,
2046+ .num_modes = 1,
2047+ .lccr0 = (LCCR0_PAS),
2048+ .lccr3 = (LCCR3_PixClkDiv(0x01) |
2049+ LCCR3_Acb(0xff) |
2050+ LCCR3_PCP),
2051+ .cmap_inverse = 0,
2052+ .cmap_static = 0,
2053+};
2054+
2055+static struct pxafb_mode_info generic_crt_640x480_mode = {
2056+ .pixclock = 38461,
2057+ .bpp = 8,
2058+ .xres = 640,
2059+ .yres = 480,
2060+ .hsync_len = 63,
2061+ .vsync_len = 2,
2062+ .left_margin = 81,
2063+ .upper_margin = 33,
2064+ .right_margin = 16,
2065+ .lower_margin = 10,
2066+ .sync = (FB_SYNC_HOR_HIGH_ACT |
2067+ FB_SYNC_VERT_HIGH_ACT),
2068+ .cmap_greyscale = 0,
2069+};
2070+
2071+static struct pxafb_mach_info generic_crt_640x480 = {
2072+ .modes = &generic_crt_640x480_mode,
2073+ .num_modes = 1,
2074+ .lccr0 = (LCCR0_PAS),
2075+ .lccr3 = (LCCR3_PixClkDiv(0x01) |
2076+ LCCR3_Acb(0xff)),
2077+ .cmap_inverse = 0,
2078+ .cmap_static = 0,
2079+};
2080+
2081+static struct pxafb_mode_info generic_crt_800x600_mode = {
2082+ .pixclock = 28846,
2083+ .bpp = 8,
2084+ .xres = 800,
2085+ .yres = 600,
2086+ .hsync_len = 63,
2087+ .vsync_len = 2,
2088+ .left_margin = 26,
2089+ .upper_margin = 21,
2090+ .right_margin = 26,
2091+ .lower_margin = 11,
2092+ .sync = (FB_SYNC_HOR_HIGH_ACT |
2093+ FB_SYNC_VERT_HIGH_ACT),
2094+ .cmap_greyscale = 0,
2095+};
2096+
2097+static struct pxafb_mach_info generic_crt_800x600 = {
2098+ .modes = &generic_crt_800x600_mode,
2099+ .num_modes = 1,
2100+ .lccr0 = (LCCR0_PAS),
2101+ .lccr3 = (LCCR3_PixClkDiv(0x02) |
2102+ LCCR3_Acb(0xff)),
2103+ .cmap_inverse = 0,
2104+ .cmap_static = 0,
2105+};
2106+
2107+static struct pxafb_mode_info generic_tft_320x240_mode = {
2108+ .pixclock = 134615,
2109+ .bpp = 16,
2110+ .xres = 320,
2111+ .yres = 240,
2112+ .hsync_len = 63,
2113+ .vsync_len = 7,
2114+ .left_margin = 75,
2115+ .upper_margin = 0,
2116+ .right_margin = 15,
2117+ .lower_margin = 15,
2118+ .sync = 0,
2119+ .cmap_greyscale = 0,
2120+};
2121+
2122+static struct pxafb_mach_info generic_tft_320x240 = {
2123+ .modes = &generic_tft_320x240_mode,
2124+ .num_modes = 1,
2125+ .lccr0 = (LCCR0_PAS),
2126+ .lccr3 = (LCCR3_PixClkDiv(0x06) |
2127+ LCCR3_Acb(0xff) |
2128+ LCCR3_PCP),
2129+ .cmap_inverse = 0,
2130+ .cmap_static = 0,
2131+};
2132+
2133+static struct pxafb_mode_info generic_stn_640x480_mode = {
2134+ .pixclock = 57692,
2135+ .bpp = 8,
2136+ .xres = 640,
2137+ .yres = 480,
2138+ .hsync_len = 4,
2139+ .vsync_len = 2,
2140+ .left_margin = 10,
2141+ .upper_margin = 5,
2142+ .right_margin = 10,
2143+ .lower_margin = 5,
2144+ .sync = (FB_SYNC_HOR_HIGH_ACT |
2145+ FB_SYNC_VERT_HIGH_ACT),
2146+ .cmap_greyscale = 0,
2147+};
2148+
2149+static struct pxafb_mach_info generic_stn_640x480 = {
2150+ .modes = &generic_stn_640x480_mode,
2151+ .num_modes = 1,
2152+ .lccr0 = 0,
2153+ .lccr3 = (LCCR3_PixClkDiv(0x02) |
2154+ LCCR3_Acb(0xff)),
2155+ .cmap_inverse = 0,
2156+ .cmap_static = 0,
2157+};
2158+
2159+static struct pxafb_mach_info *cmx270_display = &generic_crt_640x480;
2160+
2161+static int __init cmx270_set_display(char *str)
2162+{
2163+ int disp_type = simple_strtol(str, NULL, 0);
2164+ switch (disp_type) {
2165+ case MTYPE_STN320x240:
2166+ cmx270_display = &generic_stn_320x240;
2167+ break;
2168+ case MTYPE_TFT640x480:
2169+ cmx270_display = &generic_tft_640x480;
2170+ break;
2171+ case MTYPE_CRT640x480:
2172+ cmx270_display = &generic_crt_640x480;
2173+ break;
2174+ case MTYPE_CRT800x600:
2175+ cmx270_display = &generic_crt_800x600;
2176+ break;
2177+ case MTYPE_TFT320x240:
2178+ cmx270_display = &generic_tft_320x240;
2179+ break;
2180+ case MTYPE_STN640x480:
2181+ cmx270_display = &generic_stn_640x480;
2182+ break;
2183+ default: /* fallback to CRT 640x480 */
2184+ cmx270_display = &generic_crt_640x480;
2185+ break;
2186+ }
2187+ return 1;
2188+}
2189+
2190+__setup("monitor=", cmx270_set_display);
2191+
2192+/* PXA27x OHCI controller setup */
2193+static int cmx270_ohci_init(struct device *dev)
2194+{
2195+ /* Set the Power Control Polarity Low */
2196+ UHCHR = (UHCHR | UHCHR_PCPL) &
2197+ ~(UHCHR_SSEP1 | UHCHR_SSEP2 | UHCHR_SSE);
2198+
2199+ return 0;
2200+}
2201+
2202+static struct pxaohci_platform_data cmx270_ohci_platform_data = {
2203+ .port_mode = PMM_PERPORT_MODE,
2204+ .init = cmx270_ohci_init,
2205+};
2206+
2207+
2208+static int cmx270_mci_init(struct device *dev, irq_handler_t cmx270_detect_int, void *data)
2209+{
2210+ int err;
2211+
2212+ /*
2213+ * setup GPIO for PXA27x MMC controller
2214+ */
2215+ pxa_gpio_mode(GPIO32_MMCCLK_MD);
2216+ pxa_gpio_mode(GPIO112_MMCCMD_MD);
2217+ pxa_gpio_mode(GPIO92_MMCDAT0_MD);
2218+ pxa_gpio_mode(GPIO109_MMCDAT1_MD);
2219+ pxa_gpio_mode(GPIO110_MMCDAT2_MD);
2220+ pxa_gpio_mode(GPIO111_MMCDAT3_MD);
2221+
2222+ /* SB-X270 uses GPIO105 as SD power enable */
2223+ pxa_gpio_mode(105 | GPIO_OUT);
2224+
2225+ /* card detect IRQ on GPIO 83 */
2226+ pxa_gpio_mode(IRQ_TO_GPIO(CMX270_MMC_IRQ));
2227+ set_irq_type(CMX270_MMC_IRQ, IRQT_FALLING);
2228+
2229+ err = request_irq(CMX270_MMC_IRQ, cmx270_detect_int, SA_INTERRUPT,
2230+ "MMC card detect", data);
2231+ if (err) {
2232+ printk(KERN_ERR "cmx270_mci_init: MMC/SD: can't request MMC card detect IRQ\n");
2233+ return -1;
2234+ }
2235+
2236+ return 0;
2237+}
2238+
2239+static void cmx270_mci_setpower(struct device *dev, unsigned int vdd)
2240+{
2241+ struct pxamci_platform_data* p_d = dev->platform_data;
2242+
2243+ if (( 1 << vdd) & p_d->ocr_mask) {
2244+ printk(KERN_DEBUG "%s: on\n", __FUNCTION__);
2245+ GPCR(105) = GPIO_bit(105);
2246+ } else {
2247+ GPSR(105) = GPIO_bit(105);
2248+ printk(KERN_DEBUG "%s: off\n", __FUNCTION__);
2249+ }
2250+}
2251+
2252+static void cmx270_mci_exit(struct device *dev, void *data)
2253+{
2254+ free_irq(CMX270_MMC_IRQ, data);
2255+}
2256+
2257+static struct pxamci_platform_data cmx270_mci_platform_data = {
2258+ .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34,
2259+ .init = cmx270_mci_init,
2260+ .setpower = cmx270_mci_setpower,
2261+ .exit = cmx270_mci_exit,
2262+};
2263+
2264+#ifdef CONFIG_PM
2265+/* extern struct subsystem power_subsys; */
2266+static unsigned long sleep_save_ite[10];
2267+static unsigned long sleep_save_msc[10];
2268+
2269+static int cmx270_suspend(struct sys_device *dev, pm_message_t state)
2270+{
2271+#ifdef CONFIG_PCI
2272+ /* save ITE state */
2273+ sleep_save_ite[0] = IT8152_INTC_PDCNIMR;
2274+ sleep_save_ite[1] = IT8152_INTC_LPCNIMR;
2275+ sleep_save_ite[2] = IT8152_INTC_LPNIAR;
2276+
2277+ /* Clear ITE IRQ's */
2278+ IT8152_INTC_PDCNIRR = 0;
2279+ IT8152_INTC_LPCNIRR = 0;
2280+#endif
2281+
2282+ /* save MSC registers */
2283+ sleep_save_msc[0] = MSC0;
2284+ sleep_save_msc[1] = MSC1;
2285+ sleep_save_msc[2] = MSC2;
2286+
2287+ /* setup power saving mode registers */
2288+ PCFR = 0x0;
2289+ PSLR = 0xff400000;
2290+ PMCR = 0x00000005;
2291+ PWER = 0x80000000;
2292+ PFER = 0x00000000;
2293+ PRER = 0x00000000;
2294+ PGSR0 = 0xC0018800;
2295+ PGSR1 = 0x004F0002;
2296+ PGSR2 = 0x6021C000;
2297+ PGSR3 = 0x00020000;
2298+
2299+ return 0;
2300+}
2301+
2302+static int cmx270_resume(struct sys_device *dev)
2303+{
2304+#ifdef CONFIG_PCI
2305+ /* restore IT8152 state */
2306+ IT8152_INTC_PDCNIMR = sleep_save_ite[0];
2307+ IT8152_INTC_LPCNIMR = sleep_save_ite[1];
2308+ IT8152_INTC_LPNIAR = sleep_save_ite[2];
2309+#endif
2310+
2311+ /* restore MSC registers */
2312+ MSC0 = sleep_save_msc[0];
2313+ MSC1 = sleep_save_msc[1];
2314+ MSC2 = sleep_save_msc[2];
2315+
2316+ return 0;
2317+}
2318+
2319+static struct sysdev_class cmx270_pm_sysclass = {
2320+ set_kset_name("pm"),
2321+ .resume = cmx270_resume,
2322+ .suspend = cmx270_suspend,
2323+};
2324+
2325+static struct sys_device cmx270_pm_device = {
2326+ .cls = &cmx270_pm_sysclass,
2327+};
2328+
2329+static int __init cmx270_pm_init(void)
2330+{
2331+ int error;
2332+ error = sysdev_class_register(&cmx270_pm_sysclass);
2333+ if (error == 0)
2334+ error = sysdev_register(&cmx270_pm_device);
2335+ return error;
2336+}
2337+#else
2338+static int __init cmx270_pm_init(void) { return 0; }
2339+#endif
2340+
2341+static void __init cmx270_init(void)
2342+{
2343+ cmx270_pm_init();
2344+
2345+ set_pxa_fb_info(cmx270_display);
2346+
2347+ /* register CM-X270 platform devices */
2348+ platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
2349+
2350+ /* set MCI and OHCI platform parameters */
2351+ pxa_set_mci_info(&cmx270_mci_platform_data);
2352+ pxa_set_ohci_info(&cmx270_ohci_platform_data);
2353+
2354+ /* This enables the STUART */
2355+ pxa_gpio_mode(GPIO46_STRXD_MD);
2356+ pxa_gpio_mode(GPIO47_STTXD_MD);
2357+
2358+ /* This enables the BTUART */
2359+ pxa_gpio_mode(GPIO42_BTRXD_MD);
2360+ pxa_gpio_mode(GPIO43_BTTXD_MD);
2361+ pxa_gpio_mode(GPIO44_BTCTS_MD);
2362+ pxa_gpio_mode(GPIO45_BTRTS_MD);
2363+}
2364+
2365+#ifdef CONFIG_PCI
2366+static void cmx270_mask_irq(unsigned int irq)
2367+{
2368+ switch(irq) {
2369+ case IT8152_IRQ(0):
2370+ IT8152_INTC_PDCNIMR |= PCISERR_BIT;
2371+ break;
2372+ case IT8152_IRQ(1):
2373+ IT8152_INTC_PDCNIMR |= H2PTADR_BIT;
2374+ break;
2375+ case IT8152_IRQ(2):
2376+ IT8152_INTC_PDCNIMR |= H2PMAR_BIT;
2377+ break;
2378+ case IT8152_IRQ(3):
2379+ IT8152_INTC_PDCNIMR |= PCI_INTA_BIT;
2380+ break;
2381+ case IT8152_IRQ(4):
2382+ IT8152_INTC_PDCNIMR |= PCI_INTB_BIT;
2383+ break;
2384+ case IT8152_IRQ(5):
2385+ IT8152_INTC_PDCNIMR |= PCI_INTC_BIT;
2386+ break;
2387+ case IT8152_IRQ(6):
2388+ IT8152_INTC_PDCNIMR |= PCI_INTD_BIT;
2389+ break;
2390+ case IT8152_IRQ(7):
2391+ IT8152_INTC_PDCNIMR |= USB_INT_BIT;
2392+ break;
2393+ case IT8152_IRQ(9):
2394+ IT8152_INTC_PDCNIMR |= CDMA_INT_BIT;
2395+ break;
2396+ case IT8152_IRQ(10):
2397+ IT8152_INTC_LDCNIMR |= ITESER_BIT;
2398+ break;
2399+ }
2400+}
2401+
2402+static void cmx270_unmask_irq(unsigned int irq)
2403+{
2404+ switch(irq) {
2405+ case IT8152_IRQ(0):
2406+ IT8152_INTC_PDCNIMR &= (~PCISERR_BIT);
2407+ break;
2408+ case IT8152_IRQ(1):
2409+ IT8152_INTC_PDCNIMR &= (~H2PTADR_BIT);
2410+ break;
2411+ case IT8152_IRQ(2):
2412+ IT8152_INTC_PDCNIMR &= (~H2PMAR_BIT);
2413+ break;
2414+ case IT8152_IRQ(3):
2415+ IT8152_INTC_PDCNIMR &= (~PCI_INTA_BIT);
2416+ break;
2417+ case IT8152_IRQ(4):
2418+ IT8152_INTC_PDCNIMR &= (~PCI_INTB_BIT);
2419+ break;
2420+ case IT8152_IRQ(5):
2421+ IT8152_INTC_PDCNIMR &= (~PCI_INTC_BIT);
2422+ break;
2423+ case IT8152_IRQ(6):
2424+ IT8152_INTC_PDCNIMR &= (~PCI_INTD_BIT);
2425+ break;
2426+ case IT8152_IRQ(7):
2427+ IT8152_INTC_PDCNIMR &= (~USB_INT_BIT);
2428+ break;
2429+ case IT8152_IRQ(9):
2430+ IT8152_INTC_PDCNIMR &= (~CDMA_INT_BIT);
2431+ break;
2432+ case IT8152_IRQ(10):
2433+ IT8152_INTC_LDCNIMR &= (~ITESER_BIT);
2434+ break;
2435+ }
2436+}
2437+
2438+static struct irq_chip cmx270_irq_chip = {
2439+ .ack = cmx270_mask_irq,
2440+ .mask = cmx270_mask_irq,
2441+ .unmask = cmx270_unmask_irq,
2442+};
2443+#endif
2444+
2445+static void __init cmx270_init_irq(void)
2446+{
2447+ int irq;
2448+
2449+ pxa27x_init_irq();
2450+
2451+ IT8152_INTC_PDCNIMR = 0xffff;
2452+
2453+#ifdef CONFIG_PCI
2454+ /* Disable and clear IRQ's for ITE8152 */
2455+ IT8152_INTC_PDCNIMR = 0xffff;
2456+ IT8152_INTC_PDCNIRR = 0;
2457+ IT8152_INTC_LPCNIMR = 0xffff;
2458+ IT8152_INTC_LPCNIRR = 0;
2459+ IT8152_INTC_LDCNIMR = 0xffff;
2460+ IT8152_INTC_LDCNIRR = 0;
2461+
2462+ for(irq = IT8152_IRQ(0); irq <= IT8152_IRQ_MAX; irq++) {
2463+ set_irq_chip(irq, &cmx270_irq_chip);
2464+ set_irq_handler(irq, handle_level_irq);
2465+ set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
2466+ }
2467+
2468+ /* INTC signal from IT8152 is connected to GPIO0 */
2469+ pxa_gpio_mode(IRQ_GPIO_IT8152_IRQ);
2470+ set_irq_chained_handler(IRQ_GPIO_IT8152_IRQ, cmx270_irq_demux);
2471+ set_irq_type(IRQ_GPIO_IT8152_IRQ, IRQT_RISING);
2472+#endif
2473+
2474+ /* Setup interrupt for dm9000 */
2475+ pxa_gpio_mode(IRQ_TO_GPIO(CMX270_ETHIRQ));
2476+ set_irq_type(CMX270_ETHIRQ, IRQT_RISING);
2477+
2478+ /* Setup interrupt for 2700G */
2479+ pxa_gpio_mode(IRQ_TO_GPIO(CMX270_GFXIRQ));
2480+ set_irq_type(CMX270_GFXIRQ, IRQT_FALLING);
2481+}
2482+
2483+static void __init cmx270_map_io(void)
2484+{
2485+ pxa_map_io();
2486+ iotable_init(cmx270_io_desc, ARRAY_SIZE(cmx270_io_desc));
2487+}
2488+
2489+
2490+MACHINE_START(ARMCORE, "Compulab CM-x270")
2491+ .boot_params = 0xa0000100,
2492+ .phys_io = 0x40000000,
2493+ .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
2494+ .map_io = cmx270_map_io,
2495+ .init_irq = cmx270_init_irq,
2496+ .timer = &pxa_timer,
2497+ .init_machine = cmx270_init,
2498+MACHINE_END
2499diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
2500index 4468cb3..02b04e2 100644
2501--- a/drivers/leds/Kconfig
2502+++ b/drivers/leds/Kconfig
2503@@ -87,6 +87,12 @@ config LEDS_H1940
2504 help
2505 This option enables support for the LEDs on the h1940.
2506
2507+config LEDS_CM_X270
2508+ tristate "LED Support for the CM-X270 LEDs"
2509+ depends on LEDS_CLASS && MACH_ARMCORE
2510+ help
2511+ This option enables support for the CM-X270 LEDs.
2512+
2513 config LEDS_COBALT
2514 tristate "LED Support for Cobalt Server front LED"
2515 depends on LEDS_CLASS && MIPS_COBALT
2516diff --git a/drivers/leds/Makefile b/drivers/leds/Makefile
2517index f8995c9..12a860c 100644
2518--- a/drivers/leds/Makefile
2519+++ b/drivers/leds/Makefile
2520@@ -17,6 +17,7 @@ obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o
2521 obj-$(CONFIG_LEDS_H1940) += leds-h1940.o
2522 obj-$(CONFIG_LEDS_COBALT) += leds-cobalt.o
2523 obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o
2524+obj-$(CONFIG_LEDS_CM_X270) += leds-cm-x270.o
2525
2526 # LED Triggers
2527 obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
2528diff --git a/drivers/leds/leds-cm-x270.c b/drivers/leds/leds-cm-x270.c
2529new file mode 100644
2530index 0000000..63b7e9e
2531--- /dev/null
2532+++ b/drivers/leds/leds-cm-x270.c
2533@@ -0,0 +1,126 @@
2534+/*
2535+ * drivers/leds/leds-cm-x270.c
2536+ *
2537+ * Copyright 2007 CompuLab Ltd.
2538+ * Author: Mike Rapoport <mike@compulab.co.il>
2539+ *
2540+ * Based on leds-corgi.c
2541+ * Author: Richard Purdie <rpurdie@openedhand.com>
2542+ *
2543+ * This program is free software; you can redistribute it and/or modify
2544+ * it under the terms of the GNU General Public License version 2 as
2545+ * published by the Free Software Foundation.
2546+ *
2547+ */
2548+
2549+#include <linux/kernel.h>
2550+#include <linux/init.h>
2551+#include <linux/platform_device.h>
2552+#include <linux/leds.h>
2553+
2554+#include <asm/arch/hardware.h>
2555+#include <asm/arch/pxa-regs.h>
2556+
2557+#define GPIO_RED_LED (93)
2558+#define GPIO_GREEN_LED (94)
2559+
2560+#define CMX270_RED_ON() GPCR(GPIO_RED_LED) = GPIO_bit(GPIO_RED_LED)
2561+#define CMX270_RED_OFF() GPSR(GPIO_RED_LED) = GPIO_bit(GPIO_RED_LED)
2562+#define CMX270_GREEN_ON() GPCR(GPIO_GREEN_LED) = GPIO_bit(GPIO_GREEN_LED)
2563+#define CMX270_GREEN_OFF() GPSR(GPIO_GREEN_LED) = GPIO_bit(GPIO_GREEN_LED)
2564+
2565+
2566+static void cmx270_red_set(struct led_classdev *led_cdev, enum led_brightness value)
2567+{
2568+ if (value)
2569+ CMX270_RED_ON();
2570+ else
2571+ CMX270_RED_OFF();
2572+}
2573+
2574+static void cmx270_green_set(struct led_classdev *led_cdev, enum led_brightness value)
2575+{
2576+ if (value)
2577+ CMX270_GREEN_ON();
2578+ else
2579+ CMX270_GREEN_OFF();
2580+}
2581+
2582+static struct led_classdev cmx270_red_led = {
2583+ .name = "cm-x270:red",
2584+ .default_trigger = "nand-disk",
2585+ .brightness_set = cmx270_red_set,
2586+};
2587+
2588+static struct led_classdev cmx270_green_led = {
2589+ .name = "cm-x270:green",
2590+ .default_trigger = "heartbeat",
2591+ .brightness_set = cmx270_green_set,
2592+};
2593+
2594+#ifdef CONFIG_PM
2595+static int cmx270led_suspend(struct platform_device *dev, pm_message_t state)
2596+{
2597+ led_classdev_suspend(&cmx270_red_led);
2598+ led_classdev_suspend(&cmx270_green_led);
2599+ return 0;
2600+}
2601+
2602+static int cmx270led_resume(struct platform_device *dev)
2603+{
2604+ led_classdev_resume(&cmx270_red_led);
2605+ led_classdev_resume(&cmx270_green_led);
2606+ return 0;
2607+}
2608+#endif
2609+
2610+static int cmx270led_probe(struct platform_device *pdev)
2611+{
2612+ int ret;
2613+
2614+ ret = led_classdev_register(&pdev->dev, &cmx270_red_led);
2615+ if (ret < 0)
2616+ return ret;
2617+
2618+ ret = led_classdev_register(&pdev->dev, &cmx270_green_led);
2619+ if (ret < 0)
2620+ led_classdev_unregister(&cmx270_red_led);
2621+
2622+ return ret;
2623+}
2624+
2625+static int cmx270led_remove(struct platform_device *pdev)
2626+{
2627+ led_classdev_unregister(&cmx270_red_led);
2628+ led_classdev_unregister(&cmx270_green_led);
2629+ return 0;
2630+}
2631+
2632+static struct platform_driver cmx270led_driver = {
2633+ .probe = cmx270led_probe,
2634+ .remove = cmx270led_remove,
2635+#ifdef CONFIG_PM
2636+ .suspend = cmx270led_suspend,
2637+ .resume = cmx270led_resume,
2638+#endif
2639+ .driver = {
2640+ .name = "cm-x270-led",
2641+ },
2642+};
2643+
2644+static int __init cmx270led_init(void)
2645+{
2646+ return platform_driver_register(&cmx270led_driver);
2647+}
2648+
2649+static void __exit cmx270led_exit(void)
2650+{
2651+ platform_driver_unregister(&cmx270led_driver);
2652+}
2653+
2654+module_init(cmx270led_init);
2655+module_exit(cmx270led_exit);
2656+
2657+MODULE_AUTHOR("Richard Purdie <rpurdie@openedhand.com>");
2658+MODULE_DESCRIPTION("Corgi LED driver");
2659+MODULE_LICENSE("GPL");
2660diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
2661index c551925..b34f875 100644
2662--- a/drivers/net/Kconfig
2663+++ b/drivers/net/Kconfig
2664@@ -940,6 +940,14 @@ config DM9000
2665 <file:Documentation/networking/net-modules.txt>. The module will be
2666 called dm9000.
2667
2668+config DM9000_NOEPROM
2669+ bool "DM9000 without EEPROM attached"
2670+ depends on DM9000
2671+ ---help---
2672+ Select this option if you have DM9000 chipset without EEPROM
2673+ containing the MAC address. In this case MAC address should
2674+ be set either by the bootloader or using ifconfig
2675+
2676 config SMC911X
2677 tristate "SMSC LAN911[5678] support"
2678 select CRC32
2679diff --git a/drivers/net/dm9000.c b/drivers/net/dm9000.c
2680index 738aa59..2371c6b 100644
2681--- a/drivers/net/dm9000.c
2682+++ b/drivers/net/dm9000.c
2683@@ -577,6 +577,7 @@ dm9000_probe(struct platform_device *pdev)
2684 db->mii.mdio_read = dm9000_phy_read;
2685 db->mii.mdio_write = dm9000_phy_write;
2686
2687+#ifndef CONFIG_DM9000_NOEPROM
2688 /* Read SROM content */
2689 for (i = 0; i < 64; i++)
2690 ((u16 *) db->srom)[i] = read_srom_word(db, i);
2691@@ -584,6 +585,11 @@ dm9000_probe(struct platform_device *pdev)
2692 /* Set Node Address */
2693 for (i = 0; i < 6; i++)
2694 ndev->dev_addr[i] = db->srom[i];
2695+#else
2696+ /* The Node Address was set by bootloader */
2697+ for (i=0; i<6; i++)
2698+ ndev->dev_addr[i] = ior(db, 0x10+i);
2699+#endif
2700
2701 if (!is_valid_ether_addr(ndev->dev_addr)) {
2702 /* try reading from mac */
2703diff --git a/include/asm-arm/arch-pxa/cm-x270.h b/include/asm-arm/arch-pxa/cm-x270.h
2704new file mode 100644
2705index 0000000..24613a5
2706--- /dev/null
2707+++ b/include/asm-arm/arch-pxa/cm-x270.h
2708@@ -0,0 +1,71 @@
2709+/*
2710+ * linux/include/asm/arch-pxa/armcore.h
2711+ *
2712+ * Compulab Ltd., 2003
2713+ *
2714+ * ARMCore registers
2715+ */
2716+
2717+
2718+#define CMX270_CS1_PHYS (PXA_CS1_PHYS)
2719+#define MARATHON_PHYS (PXA_CS2_PHYS)
2720+#define CMX270_IDE104_PHYS (PXA_CS3_PHYS)
2721+#define CMX270_IT8152_PHYS (PXA_CS4_PHYS)
2722+
2723+#define PXA_CS_SIZE (64*1024*1024)
2724+
2725+/* Virtual map */
2726+
2727+#define CMX270_VIRT_BASE (0xe8000000)
2728+
2729+#define CMX270_IT8152_VIRT (CMX270_VIRT_BASE)
2730+#define CMX270_IDE104_VIRT (CMX270_IT8152_VIRT + PXA_CS_SIZE)
2731+
2732+
2733+/* GPIO related definitions */
2734+#define GPIO_IT8152_IRQ (22)
2735+#define GPIO_RED_LED (93)
2736+#define GPIO_GREEN_LED (94)
2737+
2738+
2739+#define IRQ_GPIO_IT8152_IRQ IRQ_GPIO(GPIO_IT8152_IRQ)
2740+#define PME_IRQ IRQ_GPIO(0)
2741+#define CMX270_IDE_IRQ IRQ_GPIO(100)
2742+#define CMX270_GPIRQ1 IRQ_GPIO(101)
2743+#define CMX270_TOUCHIRQ IRQ_GPIO(96)
2744+#define CMX270_ETHIRQ IRQ_GPIO(10)
2745+#define CMX270_GFXIRQ IRQ_GPIO(95)
2746+#define CMX270_NANDIRQ IRQ_GPIO(89)
2747+#define CMX270_MMC_IRQ IRQ_GPIO(83)
2748+
2749+/* LED macros */
2750+#define CMX270_RED_ON() GPCR(GPIO_RED_LED) = GPIO_bit(GPIO_RED_LED)
2751+#define CMX270_RED_OFF() GPSR(GPIO_RED_LED) = GPIO_bit(GPIO_RED_LED)
2752+#define CMX270_GREEN_ON() GPCR(GPIO_GREEN_LED) = GPIO_bit(GPIO_GREEN_LED)
2753+#define CMX270_GREEN_OFF() GPSR(GPIO_GREEN_LED) = GPIO_bit(GPIO_GREEN_LED)
2754+
2755+/* PCMCIA related definitions */
2756+#define PCC_DETECT(x) (GPLR(84 - (x)) & GPIO_bit(84 - (x)))
2757+#define PCC_READY(x) (GPLR(82 - (x)) & GPIO_bit(81 - (x)))
2758+
2759+#define PCMCIA_S0_CD_VALID IRQ_GPIO(84)
2760+#define PCMCIA_S0_CD_VALID_EDGE GPIO_BOTH_EDGES
2761+
2762+#define PCMCIA_S1_CD_VALID IRQ_GPIO(83)
2763+#define PCMCIA_S1_CD_VALID_EDGE GPIO_BOTH_EDGES
2764+
2765+#define PCMCIA_S0_RDYINT IRQ_GPIO(82)
2766+#define PCMCIA_S1_RDYINT IRQ_GPIO(81)
2767+
2768+#define PCMCIA_RESET_GPIO 53
2769+
2770+
2771+
2772+
2773+
2774+
2775+
2776+
2777+
2778+
2779+
2780diff --git a/include/asm-arm/arch-pxa/hardware.h b/include/asm-arm/arch-pxa/hardware.h
2781index 3861217..beb240e 100644
2782--- a/include/asm-arm/arch-pxa/hardware.h
2783+++ b/include/asm-arm/arch-pxa/hardware.h
2784@@ -126,4 +126,15 @@ extern unsigned int get_lcdclk_frequency_10khz(void);
2785
2786 #endif
2787
2788+#if defined(CONFIG_MACH_ARMCORE) && defined(CONFIG_PCI)
2789+#define HAVE_ARCH_PCI_SET_DMA_MASK
2790+#ifndef __ASSEMBLY__
2791+extern unsigned long armcore_pcibios_min_io;
2792+extern unsigned long armcore_pcibios_min_mem;
2793+#endif
2794+#define PCIBIOS_MIN_IO (armcore_pcibios_min_io)
2795+#define PCIBIOS_MIN_MEM (armcore_pcibios_min_mem)
2796+#define pcibios_assign_all_busses() 1
2797+#endif
2798+
2799 #endif /* _ASM_ARCH_HARDWARE_H */
2800diff --git a/include/asm-arm/arch-pxa/irqs.h b/include/asm-arm/arch-pxa/irqs.h
2801index a07fe0f..efb3d42 100644
2802--- a/include/asm-arm/arch-pxa/irqs.h
2803+++ b/include/asm-arm/arch-pxa/irqs.h
2804@@ -216,3 +216,23 @@
2805 #define IRQ_LOCOMO_GPIO_BASE (IRQ_BOARD_START + 1)
2806 #define IRQ_LOCOMO_LT_BASE (IRQ_BOARD_START + 2)
2807 #define IRQ_LOCOMO_SPI_BASE (IRQ_BOARD_START + 3)
2808+
2809+/* ITE8152 irqs on CM-x2xx */
2810+#ifdef CONFIG_MACH_ARMCORE
2811+#define IT8152_IRQ(x) (IRQ_BOARD_START + (x))
2812+#define PCISERR IT8152_IRQ(0)
2813+#define H2PTADR IT8152_IRQ(1)
2814+#define H2PMAR IT8152_IRQ(2)
2815+#define PCI_INTA IT8152_IRQ(3)
2816+#define PCI_INTB IT8152_IRQ(4)
2817+#define PCI_INTC IT8152_IRQ(5)
2818+#define PCI_INTD IT8152_IRQ(6)
2819+#define USB_INT IT8152_IRQ(7)
2820+#define AUDIO_INT IT8152_IRQ(8)
2821+#define CDMA_INT IT8152_IRQ(9)
2822+#define IRQ_ITESER IT8152_IRQ(10)
2823+#define IT8152_IRQ_MAX IT8152_IRQ(10)
2824+
2825+#undef NR_IRQS
2826+#define NR_IRQS IT8152_IRQ_MAX+1
2827+#endif
2828diff --git a/include/asm-arm/memory.h b/include/asm-arm/memory.h
2829index d9bfb39..83db3cb 100644
2830--- a/include/asm-arm/memory.h
2831+++ b/include/asm-arm/memory.h
2832@@ -141,6 +141,16 @@
2833 * allocations. This must be the smallest DMA mask in the system,
2834 * so a successful GFP_DMA allocation will always satisfy this.
2835 */
2836+
2837+#ifdef CONFIG_PCI_HOST_ITE8152
2838+void it8152_adjust_zones(int node, unsigned long *size, unsigned long *holes);
2839+
2840+#define arch_adjust_zones(node, size, holes) \
2841+ it8152_adjust_zones(node, size, holes)
2842+
2843+#define ISA_DMA_THRESHOLD (PHYS_OFFSET + SZ_64M - 1)
2844+#endif
2845+
2846 #ifndef ISA_DMA_THRESHOLD
2847 #define ISA_DMA_THRESHOLD (0xffffffffULL)
2848 #endif
2849--
28501.5.2.5
2851
diff --git a/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0002-cm-x270-match-type.patch b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0002-cm-x270-match-type.patch
new file mode 100644
index 0000000000..68da30191c
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0002-cm-x270-match-type.patch
@@ -0,0 +1,25 @@
1From e566813cedb9f91724597df45c11075023a7b589 Mon Sep 17 00:00:00 2001
2From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
3Date: Fri, 20 Jul 2007 18:58:27 -0400
4Subject: [PATCH] cm-x270-match-type
5
6---
7 arch/arm/boot/compressed/head-xscale.S | 5 +++++
8 1 files changed, 5 insertions(+), 0 deletions(-)
9
10diff --git a/arch/arm/boot/compressed/head-xscale.S b/arch/arm/boot/compressed/head-xscale.S
11index 73c5d9e..dc89459 100644
12--- a/arch/arm/boot/compressed/head-xscale.S
13+++ b/arch/arm/boot/compressed/head-xscale.S
14@@ -53,3 +53,8 @@ __XScale_start:
15 str r1, [r0, #0x18]
16 #endif
17
18+#if defined(CONFIG_MACH_ARMCORE)
19+ mov r7, #(MACH_TYPE_ARMCORE & 0xFF00)
20+ add r7, r7, #(MACH_TYPE_ARMCORE & 0xFF)
21+#endif
22+
23--
241.5.1.6
25
diff --git a/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0003-cm-x270-ide.patch b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0003-cm-x270-ide.patch
new file mode 100644
index 0000000000..0ff115efc8
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0003-cm-x270-ide.patch
@@ -0,0 +1,186 @@
1From f260d5fa4c99cd7df949e6408af59807f8ccf224 Mon Sep 17 00:00:00 2001
2From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
3Date: Fri, 20 Jul 2007 18:59:39 -0400
4Subject: [PATCH] cm-x270-ide
5
6---
7 drivers/ide/Kconfig | 8 +++
8 drivers/ide/arm/Makefile | 1 +
9 drivers/ide/arm/cm-x270-ide.c | 135 +++++++++++++++++++++++++++++++++++++++++
10 3 files changed, 144 insertions(+), 0 deletions(-)
11 create mode 100644 drivers/ide/arm/cm-x270-ide.c
12
13diff --git a/drivers/ide/Kconfig b/drivers/ide/Kconfig
14index b1a9b81..7de4155 100644
15--- a/drivers/ide/Kconfig
16+++ b/drivers/ide/Kconfig
17@@ -864,6 +864,14 @@ config BLK_DEV_IDE_BAST
18 Say Y here if you want to support the onboard IDE channels on the
19 Simtec BAST or the Thorcom VR1000
20
21+config BLK_DEV_IDE_CM_X270
22+ tristate "CompuLab CM-X270 IDE support"
23+ depends on ARM && (MACH_ARMCORE)
24+ help
25+ Say Y here if you want to support the onboard IDE channels on the
26+ CompuLab CM-X270 module
27+
28+
29 config BLK_DEV_GAYLE
30 bool "Amiga Gayle IDE interface support"
31 depends on AMIGA
32diff --git a/drivers/ide/arm/Makefile b/drivers/ide/arm/Makefile
33index 6a78f07..e5cadb7 100644
34--- a/drivers/ide/arm/Makefile
35+++ b/drivers/ide/arm/Makefile
36@@ -2,5 +2,6 @@
37 obj-$(CONFIG_BLK_DEV_IDE_ICSIDE) += icside.o
38 obj-$(CONFIG_BLK_DEV_IDE_RAPIDE) += rapide.o
39 obj-$(CONFIG_BLK_DEV_IDE_BAST) += bast-ide.o
40+obj-$(CONFIG_BLK_DEV_IDE_CM_X270) += cm-x270-ide.o
41
42 EXTRA_CFLAGS := -Idrivers/ide
43diff --git a/drivers/ide/arm/cm-x270-ide.c b/drivers/ide/arm/cm-x270-ide.c
44new file mode 100644
45index 0000000..a8b15aa
46--- /dev/null
47+++ b/drivers/ide/arm/cm-x270-ide.c
48@@ -0,0 +1,135 @@
49+/* linux/drivers/ide/arm/cm-x270-ide.c
50+ *
51+ * Copyright (c) 2006 CompuLab, Ltd
52+ * Mike Rapoport <mike@compulab.co.il>
53+ *
54+ * Based on linux/drivers/ide/arm/bast-ide.c
55+ * Copyright (c) 2003-2004 Simtec Electronics
56+ * Ben Dooks <ben@simtec.co.uk>
57+ *
58+ * This program is free software; you can redistribute it and/or modify
59+ * it under the terms of the GNU General Public License version 2 as
60+ * published by the Free Software Foundation.
61+ *
62+ */
63+
64+#include <linux/module.h>
65+#include <linux/errno.h>
66+#include <linux/ide.h>
67+#include <linux/init.h>
68+#include <linux/irq.h>
69+
70+#include <asm/mach-types.h>
71+
72+#include <asm/io.h>
73+#include <asm/arch/pxa-regs.h>
74+#include <asm/arch/cm-x270.h>
75+
76+#define CMX270_SB270_IDECS0_VIRT (CMX270_IDE104_VIRT + (1<<24) + (1<<25))
77+#define CMX270_SB270_IDECS1_VIRT (CMX270_IDE104_VIRT + (1<<25))
78+#define CMX270_ATX_IDECS0_VIRT (CMX270_IDE104_VIRT + (1<<25))
79+#define CMX270_ATX_IDECS1_VIRT (CMX270_IDE104_VIRT + (1<<25) + (1<<22))
80+
81+/* list of registered interfaces */
82+static ide_hwif_t *ifs[1];
83+
84+static int __init
85+cmx270_ide_register(unsigned int base, unsigned int aux, int irq,
86+ ide_hwif_t **hwif)
87+{
88+ hw_regs_t hw;
89+
90+ memset(&hw, 0, sizeof(hw));
91+
92+ if(!base || !aux) return -EINVAL;
93+
94+ printk(KERN_DEBUG "%s: base = %08x, aux = %08x\n", __FUNCTION__,
95+ base, aux);
96+
97+ /* Different mappings for local bus IDE and PCMCIA IDE */
98+ if(base == CMX270_SB270_IDECS0_VIRT) {
99+ hw.io_ports[IDE_DATA_OFFSET] = base + 0;
100+ hw.io_ports[IDE_ERROR_OFFSET] = base + (0x1<<3);
101+ hw.io_ports[IDE_NSECTOR_OFFSET]= base + (0x2<<3);
102+ hw.io_ports[IDE_SECTOR_OFFSET]= base + (0x3<<3);
103+ hw.io_ports[IDE_LCYL_OFFSET]= base + (0x4<<3);
104+ hw.io_ports[IDE_HCYL_OFFSET]= base + (0x5<<3);
105+ hw.io_ports[IDE_SELECT_OFFSET]= base + (0x6<<3);
106+ hw.io_ports[IDE_STATUS_OFFSET]= base + (0x7<<3);
107+ hw.io_ports[IDE_CONTROL_OFFSET] = aux+(0x6<<3);
108+ }
109+ else if (base == CMX270_ATX_IDECS0_VIRT) { /* atx base */
110+ hw.io_ports[IDE_DATA_OFFSET] = base + 0;
111+ hw.io_ports[IDE_ERROR_OFFSET] = base + 8;
112+ hw.io_ports[IDE_NSECTOR_OFFSET]= base + 2;
113+ hw.io_ports[IDE_SECTOR_OFFSET]= base + 10;
114+ hw.io_ports[IDE_LCYL_OFFSET]= base + 4;
115+ hw.io_ports[IDE_HCYL_OFFSET]= base + 12;
116+ hw.io_ports[IDE_SELECT_OFFSET]= base + 6; //6;
117+ hw.io_ports[IDE_STATUS_OFFSET]= base + 14;
118+ hw.io_ports[IDE_CONTROL_OFFSET] = (aux+0x6);
119+ } else {
120+ printk(KERN_DEBUG "%s: registering wrong IDE i/f\n", __FUNCTION__);
121+ hw.io_ports[IDE_DATA_OFFSET] = base + 8;
122+ hw.io_ports[IDE_ERROR_OFFSET] = base + 13;
123+ hw.io_ports[IDE_NSECTOR_OFFSET] = base + 2;
124+ hw.io_ports[IDE_SECTOR_OFFSET] = base + 3;
125+ hw.io_ports[IDE_LCYL_OFFSET] = base + 4;
126+ hw.io_ports[IDE_HCYL_OFFSET] = base + 5;
127+ hw.io_ports[IDE_SELECT_OFFSET] = base + 6;
128+ hw.io_ports[IDE_STATUS_OFFSET] = base + 7;
129+ hw.io_ports[IDE_CONTROL_OFFSET] = aux;
130+ }
131+
132+ hw.irq = irq;
133+
134+ return ide_register_hw(&hw, hwif);
135+}
136+
137+static int __init cmx270_ide_init(void)
138+{
139+ int retval = 0;
140+
141+ if (!(machine_is_armcore()))
142+ goto out;
143+
144+ printk("CM-X270: initializing IDE interface\n");
145+
146+ MSC1 = 0x7ffc7ff4;
147+
148+ /* Interrupts on rising edge: lines are inverted before they get to
149+ the PXA */
150+ pxa_gpio_mode(IRQ_TO_GPIO(CMX270_IDE_IRQ));
151+
152+ /* try SB-X270 */
153+ set_irq_type(CMX270_IDE_IRQ, IRQ_TYPE_EDGE_RISING);
154+ retval = cmx270_ide_register(CMX270_SB270_IDECS0_VIRT,
155+ CMX270_SB270_IDECS1_VIRT,
156+ CMX270_IDE_IRQ, &ifs[0]);
157+ if (retval >= 0) {
158+ printk(KERN_DEBUG "%s: found IDE interface on SB-X270\n",
159+ __FUNCTION__);
160+ goto out;
161+ }
162+
163+ /* SB-X270 detection failed, try ATX */
164+ set_irq_type(CMX270_IDE_IRQ, IRQ_TYPE_EDGE_FALLING);
165+ retval = cmx270_ide_register(CMX270_ATX_IDECS0_VIRT,
166+ CMX270_ATX_IDECS1_VIRT,
167+ CMX270_IDE_IRQ, &ifs[0]);
168+
169+ if ( retval >= 0 ) {
170+ printk(KERN_DEBUG "%s: found IDE interface on ATX\n",
171+ __FUNCTION__);
172+ goto out;
173+ }
174+
175+ out:
176+ return retval;
177+}
178+
179+module_init(cmx270_ide_init);
180+
181+MODULE_AUTHOR("CompuLab");
182+MODULE_LICENSE("GPL");
183+MODULE_DESCRIPTION("CompuLab CM-X270 IDE driver");
184--
1851.5.1.6
186
diff --git a/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0004-cm-x270-it8152.patch b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0004-cm-x270-it8152.patch
new file mode 100644
index 0000000000..274eaf24d8
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0004-cm-x270-it8152.patch
@@ -0,0 +1,496 @@
1From 1306abec905df1ff5cf2b1d91ac0d94d18d96c5b Mon Sep 17 00:00:00 2001
2From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
3Date: Fri, 20 Jul 2007 19:00:07 -0400
4Subject: [PATCH] cm-x270-it8152
5
6---
7 arch/arm/common/Makefile | 1 +
8 arch/arm/common/it8152.c | 272 +++++++++++++++++++++++++++++++++++++
9 arch/arm/kernel/bios32.c | 28 ++++-
10 include/asm-arm/hardware/it8152.h | 104 ++++++++++++++
11 include/asm-arm/pci.h | 7 +
12 include/linux/pci_ids.h | 1 +
13 6 files changed, 410 insertions(+), 3 deletions(-)
14 create mode 100644 arch/arm/common/it8152.c
15 create mode 100644 include/asm-arm/hardware/it8152.h
16
17diff --git a/arch/arm/common/Makefile b/arch/arm/common/Makefile
18index e1289a2..3d0b9fa 100644
19--- a/arch/arm/common/Makefile
20+++ b/arch/arm/common/Makefile
21@@ -17,3 +17,4 @@ obj-$(CONFIG_SHARPSL_PM) += sharpsl_pm.o
22 obj-$(CONFIG_SHARP_SCOOP) += scoop.o
23 obj-$(CONFIG_ARCH_IXP2000) += uengine.o
24 obj-$(CONFIG_ARCH_IXP23XX) += uengine.o
25+obj-$(CONFIG_PCI_HOST_ITE8152) += it8152.o
26diff --git a/arch/arm/common/it8152.c b/arch/arm/common/it8152.c
27new file mode 100644
28index 0000000..8563610
29--- /dev/null
30+++ b/arch/arm/common/it8152.c
31@@ -0,0 +1,272 @@
32+/*
33+ * arch/arm/common/it8152.c: PCI functions for IT8152
34+ *
35+ * Compulab Ltd, 2002-2006
36+ *
37+ * The DMA bouncing is taken from arch/arm/mach-ixp4xx/common-pci.c
38+ * (see this file for respective copyrights)
39+ *
40+ * This program is free software; you can redistribute it and/or modify
41+ * it under the terms of the GNU General Public License version 2 as
42+ * published by the Free Software Foundation.
43+ */
44+
45+#include <linux/sched.h>
46+#include <linux/kernel.h>
47+#include <linux/pci.h>
48+#include <linux/ptrace.h>
49+#include <linux/interrupt.h>
50+#include <linux/mm.h>
51+#include <linux/slab.h>
52+#include <linux/init.h>
53+#include <linux/ioport.h>
54+#include <asm/mach/map.h>
55+
56+
57+#include <asm/io.h>
58+#include <asm/irq.h>
59+#include <asm/system.h>
60+#include <asm/mach/pci.h>
61+#include <asm/hardware/it8152.h>
62+
63+#define MAX_SLOTS 21
64+
65+static unsigned long
66+it8152_pci_dev_base_address(struct pci_bus *bus, unsigned int devfn)
67+{
68+ unsigned long addr = 0;
69+
70+ if (bus->number == 0) {
71+ if (devfn < PCI_DEVFN(MAX_SLOTS, 0))
72+ addr = (devfn << 8);
73+ } else
74+ addr = (bus->number << 16) | (devfn << 8);
75+
76+ return addr;
77+}
78+
79+static int
80+it8152_pci_read_config(struct pci_bus *bus, unsigned int devfn, int where,
81+ int size, u32 *value)
82+{
83+ unsigned long addr = it8152_pci_dev_base_address(bus, devfn);
84+ u32 v;
85+ int shift;
86+
87+#ifdef CONFIG_MACH_ARMCORE
88+ if(devfn!=0) IT8152_GPIO_GPLR=0x00;
89+#endif
90+ shift = (where & 3);
91+
92+ IT8152_PCI_CFG_ADDR = (addr + where);
93+ v = (IT8152_PCI_CFG_DATA >> (8 * (shift)));
94+
95+ *value = v;
96+
97+#ifdef CONFIG_MACH_ARMCORE
98+ if(devfn!=0) IT8152_GPIO_GPLR=0x20;
99+#endif
100+
101+ return PCIBIOS_SUCCESSFUL;
102+}
103+
104+
105+static int
106+it8152_pci_write_config(struct pci_bus *bus, unsigned int devfn, int where,
107+ int size, u32 value)
108+{
109+ unsigned long addr = it8152_pci_dev_base_address(bus, devfn);
110+ u32 v, vtemp, mask=0;
111+ int shift;
112+
113+#ifdef CONFIG_MACH_ARMCORE
114+ if(devfn!=0) IT8152_GPIO_GPLR=0x00;
115+#endif
116+
117+ if(size==1) mask=0xff;
118+ if(size==2) mask=0xffff;
119+
120+ shift = (where & 3);
121+
122+ IT8152_PCI_CFG_ADDR = addr + where;
123+ vtemp = IT8152_PCI_CFG_DATA;
124+
125+ if(mask) vtemp &= ~(mask << (8 * shift));
126+ else vtemp = 0;
127+
128+ v = (value << (8 * shift));
129+ IT8152_PCI_CFG_ADDR = addr + where;
130+ IT8152_PCI_CFG_DATA = (v | vtemp);
131+
132+#ifdef CONFIG_MACH_ARMCORE
133+ if(devfn!=0) IT8152_GPIO_GPLR=0x20;
134+#endif
135+
136+ return PCIBIOS_SUCCESSFUL;
137+}
138+
139+static struct pci_ops it8152_ops = {
140+ .read = it8152_pci_read_config,
141+ .write = it8152_pci_write_config,
142+};
143+
144+static struct resource it8152_io = {
145+ .name = "IT8152 PCI I/O region",
146+ .flags = IORESOURCE_IO,
147+};
148+
149+static struct resource it8152_mem1 = {
150+ .name = "First IT8152 PCI memory region",
151+ .start = 0x10000000,
152+ .end = 0x13e00000,
153+ .flags = IORESOURCE_MEM,
154+};
155+
156+/*
157+ * The following functions are needed for DMA bouncing.
158+ * ITE8152 chip can addrees up to 64MByte, so all the devices
159+ * connected to ITE8152 (PCI and USB) should have limited DMA window
160+ */
161+
162+/*
163+ * Setup DMA mask to 64MB on devices connected to ITE8152. Ignore all
164+ * other devices.
165+ */
166+static int it8152_pci_platform_notify(struct device *dev)
167+{
168+ if ( dev->bus == &pci_bus_type ) {
169+ if ( dev->dma_mask )
170+ *dev->dma_mask = (SZ_64M - 1) | PHYS_OFFSET;
171+ dev->coherent_dma_mask = (SZ_64M - 1) | PHYS_OFFSET;
172+ dmabounce_register_dev(dev, 2048, 4096);
173+ }
174+ return 0;
175+}
176+
177+static int it8152_pci_platform_notify_remove(struct device *dev)
178+{
179+ if ( dev->bus == &pci_bus_type ) {
180+ dmabounce_unregister_dev(dev);
181+ }
182+ return 0;
183+}
184+
185+int dma_needs_bounce(struct device *dev, dma_addr_t dma_addr, size_t size)
186+{
187+ dev_dbg(dev, "%s: dma_addr %08x, size %08x\n",
188+ __FUNCTION__, dma_addr, size);
189+ return (dev->bus == &pci_bus_type ) &&
190+ ((dma_addr + size - PHYS_OFFSET) >= SZ_64M);
191+}
192+
193+/*
194+ * Only first 64MB of memory can be accessed via PCI.
195+ * We use GFP_DMA to allocate safe buffers to do map/unmap.
196+ * This is really ugly and we need a better way of specifying
197+ * DMA-capable regions of memory.
198+ */
199+void __init it8152_adjust_zones(int node, unsigned long *zone_size,
200+ unsigned long *zhole_size)
201+{
202+ unsigned int sz = SZ_64M >> PAGE_SHIFT;
203+
204+ /*
205+ * Only adjust if > 64M on current system
206+ */
207+ if (node || (zone_size[0] <= sz))
208+ return;
209+
210+ zone_size[1] = zone_size[0] - sz;
211+ zone_size[0] = sz;
212+ zhole_size[1] = zhole_size[0];
213+ zhole_size[0] = 0;
214+}
215+
216+/*
217+ * We override these so we properly do dmabounce otherwise drivers
218+ * are able to set the dma_mask to 0xffffffff and we can no longer
219+ * trap bounces. :(
220+ *
221+ * We just return true on everyhing except for < 64MB in which case
222+ * we will fail miseralby and die since we can't handle that case.
223+ */
224+int
225+pci_set_dma_mask(struct pci_dev *dev, u64 mask)
226+{
227+ printk(KERN_INFO "===> %s: %s %x\n", __FUNCTION__, dev->dev.bus_id, mask);
228+ if (mask >= PHYS_OFFSET + SZ_64M - 1 )
229+ return 0;
230+
231+ return -EIO;
232+}
233+
234+int
235+pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask)
236+{
237+ printk(KERN_INFO "===> %s: %s %x\n", __FUNCTION__, dev->dev.bus_id, mask);
238+ if (mask >= PHYS_OFFSET + SZ_64M - 1 )
239+ return 0;
240+
241+ return -EIO;
242+}
243+
244+EXPORT_SYMBOL(pci_set_dma_mask);
245+EXPORT_SYMBOL(pci_set_consistent_dma_mask);
246+
247+
248+int __init it8152_pci_setup(int nr, struct pci_sys_data *sys)
249+{
250+ it8152_io.start = IT8152_IO_BASE + 0x12000;
251+ it8152_io.end = IT8152_IO_BASE + 0x100000;
252+
253+ if (request_resource(&ioport_resource, &it8152_io)) {
254+ printk(KERN_ERR "PCI: unable to allocate IO region\n");
255+ return -EBUSY;
256+ }
257+ if (request_resource(&iomem_resource, &it8152_mem1)) {
258+ printk(KERN_ERR "PCI: unable to allocate memory region\n");
259+ return -EBUSY;
260+ }
261+
262+ sys->resource[0] = &it8152_io;
263+ sys->resource[1] = &it8152_mem1;
264+
265+ if (platform_notify || platform_notify_remove) {
266+ printk(KERN_ERR "PCI: Can't use platform_notify\n");
267+ return -EBUSY;
268+ }
269+
270+ platform_notify = it8152_pci_platform_notify;
271+ platform_notify_remove = it8152_pci_platform_notify_remove;
272+
273+ return 1;
274+}
275+
276+/*
277+ * If we set up a device for bus mastering, we need to check the latency
278+ * timer as we don't have even crappy BIOSes to set it properly.
279+ * The implementation is from arch/i386/pci/i386.c
280+ */
281+unsigned int pcibios_max_latency = 255;
282+
283+void pcibios_set_master(struct pci_dev *dev)
284+{
285+ u8 lat;
286+
287+ pci_read_config_byte(dev, PCI_LATENCY_TIMER, &lat);
288+ if (lat < 16)
289+ lat = (64 <= pcibios_max_latency) ? 64 : pcibios_max_latency;
290+ else if (lat > pcibios_max_latency)
291+ lat = pcibios_max_latency;
292+ else
293+ return;
294+ printk(KERN_DEBUG "PCI: Setting latency timer of device %s to %d\n", pci_name(dev), lat);
295+ pci_write_config_byte(dev, PCI_LATENCY_TIMER, lat);
296+}
297+
298+
299+struct pci_bus * __init it8152_pci_scan_bus(int nr, struct pci_sys_data *sys)
300+{
301+ return pci_scan_bus(nr, &it8152_ops, sys);
302+}
303+
304diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c
305index 240c448..d8d2352 100644
306--- a/arch/arm/kernel/bios32.c
307+++ b/arch/arm/kernel/bios32.c
308@@ -279,6 +279,25 @@ static void __devinit pci_fixup_cy82c693(struct pci_dev *dev)
309 }
310 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693, pci_fixup_cy82c693);
311
312+static void __init pci_fixup_it8152(struct pci_dev *dev)
313+{
314+ int i;
315+ /* fixup for ITE 8152 devices */
316+ /* FIXME: add defines for class 0x68000 and 0x80103 */
317+ if ((dev->class >> 8) == PCI_CLASS_BRIDGE_HOST ||
318+ dev->class == 0x68000 ||
319+ dev->class == 0x80103) {
320+ for (i = 0; i < PCI_NUM_RESOURCES; i++) {
321+ dev->resource[i].start = 0;
322+ dev->resource[i].end = 0;
323+ dev->resource[i].flags = 0;
324+ }
325+ }
326+}
327+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ITE, PCI_DEVICE_ID_ITE_8152, pci_fixup_it8152);
328+
329+
330+
331 void __devinit pcibios_update_irq(struct pci_dev *dev, int irq)
332 {
333 if (debug_pci)
334@@ -292,9 +311,12 @@ void __devinit pcibios_update_irq(struct pci_dev *dev, int irq)
335 */
336 static inline int pdev_bad_for_parity(struct pci_dev *dev)
337 {
338- return (dev->vendor == PCI_VENDOR_ID_INTERG &&
339- (dev->device == PCI_DEVICE_ID_INTERG_2000 ||
340- dev->device == PCI_DEVICE_ID_INTERG_2010));
341+ return ((dev->vendor == PCI_VENDOR_ID_INTERG &&
342+ (dev->device == PCI_DEVICE_ID_INTERG_2000 ||
343+ dev->device == PCI_DEVICE_ID_INTERG_2010)) ||
344+ (dev->vendor == PCI_VENDOR_ID_ITE &&
345+ dev->device == PCI_DEVICE_ID_ITE_8152));
346+
347 }
348
349 /*
350diff --git a/include/asm-arm/hardware/it8152.h b/include/asm-arm/hardware/it8152.h
351new file mode 100644
352index 0000000..d28210d
353--- /dev/null
354+++ b/include/asm-arm/hardware/it8152.h
355@@ -0,0 +1,104 @@
356+/*
357+ * arch/arm/mach-pxa/it8152.h
358+ *
359+ * Compulab Ltd., 2006
360+ *
361+ * ITE 8152 companion chip definitions
362+ */
363+
364+
365+/* #define CMX270_IT8152_VIRT (CMX270_VIRT_BASE) */
366+
367+
368+extern unsigned long it8152_base_address;
369+
370+#define IT8152_IO_BASE (it8152_base_address + 0x03e00000)
371+#define IT8152_CFGREG_BASE (it8152_base_address + 0x03f00000)
372+
373+/* #define IRQ_GPIO_IT8152_IRQ IRQ_GPIO(GPIO_IT8152_IRQ) */
374+
375+#define IT8152_SHORT_IO(x) (*((volatile unsigned short *)(IT8152_CFGREG_BASE+(x))))
376+#define IT8152_LONG_IO(x) (*((volatile unsigned long *)(IT8152_CFGREG_BASE+(x))))
377+
378+
379+#define IT8152_PCI_MEMBASE (*((volatile unsigned long *)(it8152_base_address)))
380+/* #define IT8152_PCI_IOBASE (*((volatile unsigned long *)(it8152_base_address + 0x3e00000))) */
381+
382+#define IT8152_PCI_IACK (*((volatile unsigned long *)(it8152_base_address + 0x3f00808)))
383+#define IT8152_PCI_CFG_ADDR (*((volatile unsigned long *)(it8152_base_address + 0x3f00800)))
384+#define IT8152_PCI_CFG_DATA (*((volatile unsigned long *)(it8152_base_address + 0x3f00804)))
385+
386+#define IT_BUSNUM_SHF 16
387+#define IT_DEVNUM_SHF 11
388+#define IT_FUNCNUM_SHF 8
389+#define IT_REGNUM_SHF 2
390+
391+/* Power management & PLL registers */
392+#define IT8152_PMPLL_DSR IT8152_LONG_IO(0x00)
393+#define IT8152_PMPLL_DSSR IT8152_LONG_IO(0x04)
394+#define IT8152_PMPLL_PLLCR IT8152_LONG_IO(0x20)
395+#define IT8152_PMPLL_MFSR IT8152_LONG_IO(0x24)
396+
397+/* Memory controller */
398+#define IT8152_MC_REG_OFFSET 0x100
399+
400+#define IT8152_MC_SDCR IT8152_LONG_IO(IT8152_MC_REG_OFFSET + 0x00)
401+#define IT8152_MC_PCICR IT8152_LONG_IO(IT8152_MC_REG_OFFSET + 0x04)
402+
403+/* Interrupt related definitions */
404+#define IT8152_INTC_REG_OFFSET 0x300
405+
406+#define IT8152_INTC_LDCNIRR IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x00)
407+#define IT8152_INTC_LDPNIRR IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x04)
408+#define IT8152_INTC_LDCNIMR IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x08)
409+#define IT8152_INTC_LDPNIMR IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x0C)
410+#define IT8152_INTC_LDNITR IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x10)
411+#define IT8152_INTC_LDNIAR IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x14)
412+#define IT8152_INTC_LPCNIRR IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x20)
413+#define IT8152_INTC_LPPNIRR IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x24)
414+#define IT8152_INTC_LPCNIMR IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x28)
415+#define IT8152_INTC_LPPNIMR IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x2C)
416+#define IT8152_INTC_LPNITR IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x30)
417+#define IT8152_INTC_LPNIAR IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x34)
418+#define IT8152_INTC_PDCNIRR IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x40)
419+#define IT8152_INTC_PDPNIRR IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x44)
420+#define IT8152_INTC_PDCNIMR IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x48)
421+#define IT8152_INTC_PDPNIMR IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x4C)
422+#define IT8152_INTC_PDNITR IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x50)
423+#define IT8152_INTC_PDNIAR IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0x54)
424+#define IT8152_INTC_INTC_TYPER IT8152_LONG_IO(IT8152_INTC_REG_OFFSET + 0xFC)
425+
426+#define IT8152_UART_BASE IT8152_LONG_IO(0x200)
427+
428+#define IT8152_GPIO_REG_OFFSET 0x500
429+
430+#define IT8152_GPIO_GPLR IT8152_LONG_IO(IT8152_GPIO_REG_OFFSET)
431+#define IT8152_GPIO_GPCR12 IT8152_LONG_IO(IT8152_GPIO_REG_OFFSET + 0x04)
432+#define IT8152_GPIO_GPCR34 IT8152_LONG_IO(IT8152_GPIO_REG_OFFSET + 0x08)
433+
434+
435+/* Interrupt bit definitions */
436+#define PCISERR_BIT (1<<14)
437+#define H2PTADR_BIT (1<<13)
438+#define H2PMAR_BIT (1<<12)
439+#define PCI_INTD_BIT (1<<11)
440+#define PCI_INTC_BIT (1<<10)
441+#define PCI_INTB_BIT (1<<9)
442+#define PCI_INTA_BIT (1<<8)
443+#define CDMA_INT_BIT (1<<2)
444+#define USB_INT_BIT (1<<1)
445+#define AUDIO_INT_BIT (1<<0)
446+
447+/* IT8152 UART */
448+#define ITESER_BIT (1<<5)
449+
450+
451+
452+
453+
454+
455+
456+
457+
458+
459+
460diff --git a/include/asm-arm/pci.h b/include/asm-arm/pci.h
461index f21abd4..2cf30bf 100644
462--- a/include/asm-arm/pci.h
463+++ b/include/asm-arm/pci.h
464@@ -8,10 +8,17 @@
465
466 #define pcibios_scan_all_fns(a, b) 0
467
468+#ifdef CONFIG_PCI_HOST_ITE8152
469+/* ITE bridge requires setting latency timer to avoid early bus access
470+ termination by PIC bus mater devices
471+*/
472+extern void pcibios_set_master(struct pci_dev *dev);
473+#else
474 static inline void pcibios_set_master(struct pci_dev *dev)
475 {
476 /* No special bus mastering setup handling */
477 }
478+#endif
479
480 static inline void pcibios_penalize_isa_irq(int irq, int active)
481 {
482diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
483index 5b1c999..b4c81d5 100644
484--- a/include/linux/pci_ids.h
485+++ b/include/linux/pci_ids.h
486@@ -1650,6 +1650,7 @@
487 #define PCI_DEVICE_ID_ITE_8211 0x8211
488 #define PCI_DEVICE_ID_ITE_8212 0x8212
489 #define PCI_DEVICE_ID_ITE_8213 0x8213
490+#define PCI_DEVICE_ID_ITE_8152 0x8152
491 #define PCI_DEVICE_ID_ITE_8872 0x8872
492 #define PCI_DEVICE_ID_ITE_IT8330G_0 0xe886
493
494--
4951.5.1.6
496
diff --git a/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0005-cm-x270-pcmcia.patch b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0005-cm-x270-pcmcia.patch
new file mode 100644
index 0000000000..7dceff5c9d
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0005-cm-x270-pcmcia.patch
@@ -0,0 +1,228 @@
1From 338653da8f8afcdf8afc7e8a5a0104d5083597cc Mon Sep 17 00:00:00 2001
2From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
3Date: Fri, 20 Jul 2007 19:01:27 -0400
4Subject: [PATCH] cm-x270-pcmcia
5
6---
7 drivers/pcmcia/Makefile | 1 +
8 drivers/pcmcia/pxa2xx_cm_x270.c | 198 +++++++++++++++++++++++++++++++++++++++
9 2 files changed, 199 insertions(+), 0 deletions(-)
10 create mode 100644 drivers/pcmcia/pxa2xx_cm_x270.c
11
12diff --git a/drivers/pcmcia/Makefile b/drivers/pcmcia/Makefile
13index 4276965..353d5b7 100644
14--- a/drivers/pcmcia/Makefile
15+++ b/drivers/pcmcia/Makefile
16@@ -69,4 +69,5 @@ sa1100_cs-$(CONFIG_SA1100_SIMPAD) += sa1100_simpad.o
17 pxa2xx_cs-$(CONFIG_ARCH_LUBBOCK) += pxa2xx_lubbock.o sa1111_generic.o
18 pxa2xx_cs-$(CONFIG_MACH_MAINSTONE) += pxa2xx_mainstone.o
19 pxa2xx_cs-$(CONFIG_PXA_SHARPSL) += pxa2xx_sharpsl.o
20+pxa2xx_cs-$(CONFIG_MACH_ARMCORE) += pxa2xx_cm_x270.o
21
22diff --git a/drivers/pcmcia/pxa2xx_cm_x270.c b/drivers/pcmcia/pxa2xx_cm_x270.c
23new file mode 100644
24index 0000000..25e369f
25--- /dev/null
26+++ b/drivers/pcmcia/pxa2xx_cm_x270.c
27@@ -0,0 +1,198 @@
28+/*
29+ * linux/drivers/pcmcia/pxa/pxa_armcore.c
30+ *
31+ * This program is free software; you can redistribute it and/or modify
32+ * it under the terms of the GNU General Public License version 2 as
33+ * published by the Free Software Foundation.
34+ *
35+ * Compulab Ltd., 2003
36+ *
37+ */
38+
39+#include <linux/kernel.h>
40+#include <linux/sched.h>
41+#include <linux/platform_device.h>
42+#include <linux/irq.h>
43+
44+#include <pcmcia/ss.h>
45+#include <asm/delay.h>
46+#include <asm/hardware.h>
47+
48+#include <asm/arch/pxa-regs.h>
49+#include <asm/arch/cm-x270.h>
50+
51+#include "soc_common.h"
52+
53+
54+static struct pcmcia_irqs irqs[] = {
55+ { 0, PCMCIA_S0_CD_VALID, "PCMCIA0 CD" },
56+ { 1, PCMCIA_S1_CD_VALID, "PCMCIA1 CD" },
57+};
58+
59+
60+static int
61+cmx270_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
62+{
63+ int return_val=0;
64+
65+ GPSR(GPIO48_nPOE) = GPIO_bit(GPIO48_nPOE) |
66+ GPIO_bit(GPIO49_nPWE) |
67+ GPIO_bit(GPIO50_nPIOR) |
68+ GPIO_bit(GPIO51_nPIOW) |
69+ GPIO_bit(GPIO85_nPCE_1) |
70+ GPIO_bit(GPIO54_nPCE_2);
71+
72+ pxa_gpio_mode(GPIO48_nPOE_MD);
73+ pxa_gpio_mode(GPIO49_nPWE_MD);
74+ pxa_gpio_mode(GPIO50_nPIOR_MD);
75+ pxa_gpio_mode(GPIO51_nPIOW_MD);
76+ pxa_gpio_mode(GPIO85_nPCE_1_MD);
77+ pxa_gpio_mode(GPIO54_nPCE_2_MD);
78+ //pxa_gpio_mode(GPIO79_pSKTSEL_MD); /* REVISIT: s/b dependent on num sockets (on ATX base not routed)*/
79+ pxa_gpio_mode(GPIO55_nPREG_MD);
80+ pxa_gpio_mode(GPIO56_nPWAIT_MD);
81+ pxa_gpio_mode(GPIO57_nIOIS16_MD);
82+
83+ // Reset signal
84+ GPDR(GPIO53_nPCE_2) |= GPIO_bit(GPIO53_nPCE_2);
85+ GPCR(GPIO53_nPCE_2) = GPIO_bit(GPIO53_nPCE_2);
86+
87+ GPDR(IRQ_TO_GPIO(PCMCIA_S0_CD_VALID)) &= ~GPIO_bit(IRQ_TO_GPIO(PCMCIA_S0_CD_VALID));
88+ GPDR(IRQ_TO_GPIO(PCMCIA_S1_CD_VALID)) &= ~GPIO_bit(IRQ_TO_GPIO(PCMCIA_S1_CD_VALID));
89+
90+ set_irq_type(PCMCIA_S0_CD_VALID, IRQ_TYPE_EDGE_BOTH);
91+ set_irq_type(PCMCIA_S1_CD_VALID, IRQ_TYPE_EDGE_BOTH);
92+
93+ //irq's for slots:
94+ GPDR(IRQ_TO_GPIO(PCMCIA_S0_RDYINT)) &= ~GPIO_bit(IRQ_TO_GPIO(PCMCIA_S0_RDYINT));
95+ GPDR(IRQ_TO_GPIO(PCMCIA_S1_RDYINT)) &= ~GPIO_bit(IRQ_TO_GPIO(PCMCIA_S1_RDYINT));
96+
97+ set_irq_type(PCMCIA_S0_RDYINT, IRQ_TYPE_EDGE_FALLING);
98+ set_irq_type(PCMCIA_S1_RDYINT, IRQ_TYPE_EDGE_FALLING);
99+
100+ skt->irq = (skt->nr == 0) ? PCMCIA_S0_RDYINT : PCMCIA_S1_RDYINT;
101+ return_val = soc_pcmcia_request_irqs(skt, irqs, ARRAY_SIZE(irqs));
102+
103+ return return_val;
104+}
105+
106+
107+static void cmx270_pcmcia_shutdown(struct soc_pcmcia_socket *skt)
108+{
109+ soc_pcmcia_free_irqs(skt, irqs, ARRAY_SIZE(irqs));
110+
111+ set_irq_type(IRQ_TO_GPIO(PCMCIA_S0_CD_VALID), IRQ_TYPE_NONE);
112+ set_irq_type(IRQ_TO_GPIO(PCMCIA_S1_CD_VALID), IRQ_TYPE_NONE);
113+
114+ set_irq_type(IRQ_TO_GPIO(PCMCIA_S0_RDYINT), IRQ_TYPE_NONE);
115+ set_irq_type(IRQ_TO_GPIO(PCMCIA_S1_RDYINT), IRQ_TYPE_NONE);
116+}
117+
118+
119+static void cmx270_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
120+ struct pcmcia_state *state)
121+{
122+
123+ state->detect = (PCC_DETECT(skt->nr) == 0) ? 1 : 0;
124+ state->ready = (PCC_READY(skt->nr) == 0) ? 0 : 1;
125+ state->bvd1 = 1;
126+ state->bvd2 = 1;
127+ state->vs_3v = 0;
128+ state->vs_Xv = 0;
129+ state->wrprot = 0; /* not available */
130+
131+}
132+
133+
134+static int
135+cmx270_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
136+ const socket_state_t *state)
137+{
138+
139+ GPSR(GPIO49_nPWE) = GPIO_bit(GPIO49_nPWE);
140+ pxa_gpio_mode(GPIO49_nPWE | GPIO_OUT);
141+ //pxa_gpio_mode(GPIO79_pSKTSEL_MD | GPIO_OUT); /* For 2-socket mode */
142+
143+ switch(skt->nr){
144+ case 0:
145+ if(state->flags & SS_RESET) {
146+ //GPCR(GPIO79_pSKTSEL) = GPIO_bit(GPIO79_pSKTSEL); /* For 2-socket mode */
147+ //udelay(1);
148+ GPCR(GPIO49_nPWE) = GPIO_bit(GPIO49_nPWE);
149+ GPSR(GPIO53_nPCE_2) = GPIO_bit(GPIO53_nPCE_2);
150+ udelay(10);
151+ GPCR(GPIO53_nPCE_2) = GPIO_bit(GPIO53_nPCE_2);
152+ GPSR(GPIO49_nPWE) = GPIO_bit(GPIO49_nPWE);
153+ }
154+ break;
155+ case 1:
156+ if(state->flags & SS_RESET) {
157+ //GPCR(GPIO79_pSKTSEL) = GPIO_bit(GPIO79_pSKTSEL); /* For 2-socket mode */
158+ //udelay(1);
159+ GPCR(GPIO49_nPWE) = GPIO_bit(GPIO49_nPWE);
160+ GPSR(GPIO53_nPCE_2) = GPIO_bit(GPIO53_nPCE_2);
161+ udelay(10);
162+ GPCR(GPIO53_nPCE_2) = GPIO_bit(GPIO53_nPCE_2);
163+ GPSR(GPIO49_nPWE) = GPIO_bit(GPIO49_nPWE);
164+ }
165+ break;
166+ }
167+
168+ pxa_gpio_mode(GPIO49_nPWE_MD);
169+ //pxa_gpio_mode(GPIO79_pSKTSEL_MD); /* For 2-socket mode */
170+
171+
172+ return 0;
173+}
174+
175+static void cmx270_pcmcia_socket_init(struct soc_pcmcia_socket *skt)
176+{
177+}
178+
179+static void cmx270_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt)
180+{
181+}
182+
183+
184+static struct pcmcia_low_level cmx270_pcmcia_ops = {
185+ .owner = THIS_MODULE,
186+ .hw_init = cmx270_pcmcia_hw_init,
187+ .hw_shutdown = cmx270_pcmcia_shutdown,
188+ .socket_state = cmx270_pcmcia_socket_state,
189+ .configure_socket = cmx270_pcmcia_configure_socket,
190+ .socket_init = cmx270_pcmcia_socket_init,
191+ .socket_suspend = cmx270_pcmcia_socket_suspend,
192+ .nr = 2,
193+};
194+
195+static struct platform_device *cmx270_pcmcia_device;
196+
197+static int __init cmx270_pcmcia_init(void)
198+{
199+ int ret;
200+
201+ cmx270_pcmcia_device = platform_device_alloc("pxa2xx-pcmcia", -1);
202+
203+ if (!cmx270_pcmcia_device)
204+ return -ENOMEM;
205+
206+ cmx270_pcmcia_device->dev.platform_data = &cmx270_pcmcia_ops;
207+
208+ printk ("Registering cm-x270 PCMCIA interface.\n");
209+ ret = platform_device_add(cmx270_pcmcia_device);
210+
211+ if (ret)
212+ platform_device_put(cmx270_pcmcia_device);
213+
214+ return ret;
215+}
216+
217+static void __exit cmx270_pcmcia_exit(void)
218+{
219+ platform_device_unregister(cmx270_pcmcia_device);
220+}
221+
222+module_init(cmx270_pcmcia_init);
223+module_exit(cmx270_pcmcia_exit);
224+
225+MODULE_LICENSE("GPL");
226--
2271.5.1.6
228
diff --git a/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0006-ramdisk_load.patch b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0006-ramdisk_load.patch
new file mode 100644
index 0000000000..aa25dd9bfc
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0006-ramdisk_load.patch
@@ -0,0 +1,80 @@
1From ca4508b1266109208f62e986b51397ce2788e255 Mon Sep 17 00:00:00 2001
2From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
3Date: Fri, 20 Jul 2007 19:01:50 -0400
4Subject: [PATCH] ramdisk_load
5
6---
7 arch/arm/mach-pxa/cm-x270.c | 6 ++++++
8 include/asm-arm/arch-pxa/cm-x270.h | 2 ++
9 init/initramfs.c | 16 ++++++++++++++++
10 3 files changed, 24 insertions(+), 0 deletions(-)
11
12diff --git a/arch/arm/mach-pxa/cm-x270.c b/arch/arm/mach-pxa/cm-x270.c
13index 88b080d..c6ec489 100644
14--- a/arch/arm/mach-pxa/cm-x270.c
15+++ b/arch/arm/mach-pxa/cm-x270.c
16@@ -308,6 +308,12 @@ static struct map_desc cmx270_io_desc[] __initdata = {
17 .length = PXA_CS_SIZE,
18 .type = MT_DEVICE
19 },
20+ [2] = { /* NOR flash */
21+ .virtual = CMX270_FLASH_VIRT,
22+ .pfn = __phys_to_pfn(PXA_CS0_PHYS),
23+ .length = (8<<20), /* up to 8 MByte flash */
24+ .type = MT_DEVICE
25+ },
26 };
27
28 /*
29diff --git a/include/asm-arm/arch-pxa/cm-x270.h b/include/asm-arm/arch-pxa/cm-x270.h
30index 24613a5..aad152e 100644
31--- a/include/asm-arm/arch-pxa/cm-x270.h
32+++ b/include/asm-arm/arch-pxa/cm-x270.h
33@@ -20,7 +20,9 @@
34
35 #define CMX270_IT8152_VIRT (CMX270_VIRT_BASE)
36 #define CMX270_IDE104_VIRT (CMX270_IT8152_VIRT + PXA_CS_SIZE)
37+#define CMX270_FLASH_VIRT (CMX270_IDE104_VIRT + PXA_CS_SIZE)
38
39+#define CMX270_FLASH_RAMDISK_VIRT (CMX270_FLASH_VIRT + 0x1c0000)
40
41 /* GPIO related definitions */
42 #define GPIO_IT8152_IRQ (22)
43diff --git a/init/initramfs.c b/init/initramfs.c
44index 00eff7a..0ecd40b 100644
45--- a/init/initramfs.c
46+++ b/init/initramfs.c
47@@ -7,6 +7,9 @@
48 #include <linux/string.h>
49 #include <linux/syscalls.h>
50
51+// HACK for compulab cm-x270
52+#include <asm/arch/cm-x270.h>
53+
54 static __initdata char *message;
55 static void __init error(char *x)
56 {
57@@ -550,7 +553,20 @@ static int __init populate_rootfs(void)
58 #ifdef CONFIG_BLK_DEV_INITRD
59 if (initrd_start) {
60 #ifdef CONFIG_BLK_DEV_RAM
61+
62+ /* hack to make initramfs work because the
63+ * compulab BL does not zero out the
64+ * initrd memory. This only seems to affect loading
65+ * initramfs (cpio.gz) archives. Does not seem to
66+ * affect ramdisks.
67+ */
68+ int initrd_size = *(int *)(CMX270_FLASH_RAMDISK_VIRT);
69 int fd;
70+
71+ initrd_end = initrd_start + initrd_size;
72+ //printk("CLIFF: initrd_start = 0x%x\n", initrd_start);
73+ //printk("CLIFF: initrd_end = 0x%x\n", initrd_end);
74+
75 printk(KERN_INFO "checking if image is initramfs...");
76 err = unpack_to_rootfs((char *)initrd_start,
77 initrd_end - initrd_start, 1);
78--
791.5.1.6
80
diff --git a/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0007-mmcsd_large_cards-r0.patch b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0007-mmcsd_large_cards-r0.patch
new file mode 100644
index 0000000000..90e66b5308
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0007-mmcsd_large_cards-r0.patch
@@ -0,0 +1,36 @@
1From 26638b93f7479dc597a58e2e2b2832c6ff4c8f7b Mon Sep 17 00:00:00 2001
2From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
3Date: Fri, 20 Jul 2007 19:02:55 -0400
4Subject: [PATCH] mmcsd_large_cards-r0
5
6---
7 drivers/mmc/card/block.c | 6 ++++++
8 1 files changed, 6 insertions(+), 0 deletions(-)
9
10diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
11index 540ff4b..1f8d67d 100644
12--- a/drivers/mmc/card/block.c
13+++ b/drivers/mmc/card/block.c
14@@ -403,6 +403,7 @@ static struct mmc_blk_data *mmc_blk_alloc(struct mmc_card *card)
15 {
16 struct mmc_blk_data *md;
17 int devidx, ret;
18+ unsigned long cap;
19
20 devidx = find_first_zero_bit(dev_use, MMC_NUM_MINORS);
21 if (devidx >= MMC_NUM_MINORS)
22@@ -467,6 +468,11 @@ static struct mmc_blk_data *mmc_blk_alloc(struct mmc_card *card)
23
24 sprintf(md->disk->disk_name, "mmcblk%d", devidx);
25
26+ if (card->csd.read_blkbits > 9)
27+ md->block_bits = 9;
28+ else
29+ md->block_bits = card->csd.read_blkbits;
30+
31 blk_queue_hardsect_size(md->queue.queue, 1 << md->block_bits);
32
33 if (!mmc_card_sd(card) && mmc_card_blockaddr(card)) {
34--
351.5.1.6
36
diff --git a/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0008-cm-x270-nand-simplify-name.patch b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0008-cm-x270-nand-simplify-name.patch
new file mode 100644
index 0000000000..c07f049e56
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/0008-cm-x270-nand-simplify-name.patch
@@ -0,0 +1,25 @@
1From e1a243564a40d7542a62d4684f2e6ce0b95fa267 Mon Sep 17 00:00:00 2001
2From: Cliff Brake <cbrake@happy.dev.bec-systems.com>
3Date: Fri, 20 Jul 2007 19:04:12 -0400
4Subject: [PATCH] cm-x270-nand-simplify-name
5
6---
7 drivers/mtd/nand/cmx270_nand.c | 2 ++
8 1 files changed, 2 insertions(+), 0 deletions(-)
9
10diff --git a/drivers/mtd/nand/cmx270_nand.c b/drivers/mtd/nand/cmx270_nand.c
11index cb663ef..3654ce4 100644
12--- a/drivers/mtd/nand/cmx270_nand.c
13+++ b/drivers/mtd/nand/cmx270_nand.c
14@@ -191,6 +191,8 @@ static int cmx270_init(void)
15 cmx270_nand_mtd->owner = THIS_MODULE;
16 cmx270_nand_mtd->priv = this;
17
18+ cmx270_nand_mtd->name = "cm-x270-nand";
19+
20 /* insert callbacks */
21 this->IO_ADDR_R = cmx270_nand_io;
22 this->IO_ADDR_W = cmx270_nand_io;
23--
241.5.1.6
25
diff --git a/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/16bpp.patch b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/16bpp.patch
new file mode 100644
index 0000000000..6f038e35d0
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/16bpp.patch
@@ -0,0 +1,13 @@
1Index: linux-2.6.23/arch/arm/mach-pxa/cm-x270.c
2===================================================================
3--- linux-2.6.23.orig/arch/arm/mach-pxa/cm-x270.c 2008-02-14 20:32:28.000000000 +0000
4+++ linux-2.6.23/arch/arm/mach-pxa/cm-x270.c 2008-02-14 20:27:55.000000000 +0000
5@@ -383,7 +383,7 @@
6
7 static struct pxafb_mode_info generic_crt_640x480_mode = {
8 .pixclock = 38461,
9- .bpp = 8,
10+ .bpp = 16,
11 .xres = 640,
12 .yres = 480,
13 .hsync_len = 63,
diff --git a/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/defconfig b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/defconfig
new file mode 100644
index 0000000000..273de85b0a
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-2.6.23/cm-x270/defconfig
@@ -0,0 +1,1204 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23
4# Thu Oct 11 15:47:57 2007
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_LOCKDEP_SUPPORT=y
16CONFIG_TRACE_IRQFLAGS_SUPPORT=y
17CONFIG_HARDIRQS_SW_RESEND=y
18CONFIG_GENERIC_IRQ_PROBE=y
19CONFIG_RWSEM_GENERIC_SPINLOCK=y
20# CONFIG_ARCH_HAS_ILOG2_U32 is not set
21# CONFIG_ARCH_HAS_ILOG2_U64 is not set
22CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ZONE_DMA=y
25CONFIG_ARCH_MTD_XIP=y
26CONFIG_VECTORS_BASE=0xffff0000
27CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
28
29#
30# General setup
31#
32CONFIG_EXPERIMENTAL=y
33CONFIG_BROKEN_ON_SMP=y
34CONFIG_LOCK_KERNEL=y
35CONFIG_INIT_ENV_ARG_LIMIT=32
36CONFIG_LOCALVERSION="-cm-x270"
37# CONFIG_LOCALVERSION_AUTO is not set
38CONFIG_SWAP=y
39CONFIG_SYSVIPC=y
40CONFIG_SYSVIPC_SYSCTL=y
41# CONFIG_POSIX_MQUEUE is not set
42# CONFIG_BSD_PROCESS_ACCT is not set
43# CONFIG_TASKSTATS is not set
44# CONFIG_USER_NS is not set
45# CONFIG_AUDIT is not set
46CONFIG_IKCONFIG=y
47CONFIG_IKCONFIG_PROC=y
48CONFIG_LOG_BUF_SHIFT=14
49CONFIG_SYSFS_DEPRECATED=y
50# CONFIG_RELAY is not set
51CONFIG_BLK_DEV_INITRD=y
52CONFIG_INITRAMFS_SOURCE=""
53CONFIG_CC_OPTIMIZE_FOR_SIZE=y
54CONFIG_SYSCTL=y
55CONFIG_EMBEDDED=y
56CONFIG_UID16=y
57CONFIG_SYSCTL_SYSCALL=y
58CONFIG_KALLSYMS=y
59# CONFIG_KALLSYMS_EXTRA_PASS is not set
60CONFIG_HOTPLUG=y
61CONFIG_PRINTK=y
62CONFIG_BUG=y
63CONFIG_ELF_CORE=y
64CONFIG_BASE_FULL=y
65CONFIG_FUTEX=y
66CONFIG_ANON_INODES=y
67CONFIG_EPOLL=y
68CONFIG_SIGNALFD=y
69CONFIG_EVENTFD=y
70CONFIG_SHMEM=y
71CONFIG_VM_EVENT_COUNTERS=y
72CONFIG_SLAB=y
73# CONFIG_SLUB is not set
74# CONFIG_SLOB is not set
75CONFIG_RT_MUTEXES=y
76# CONFIG_TINY_SHMEM is not set
77CONFIG_BASE_SMALL=0
78CONFIG_MODULES=y
79CONFIG_MODULE_UNLOAD=y
80# CONFIG_MODULE_FORCE_UNLOAD is not set
81# CONFIG_MODVERSIONS is not set
82# CONFIG_MODULE_SRCVERSION_ALL is not set
83CONFIG_KMOD=y
84CONFIG_BLOCK=y
85# CONFIG_LBD is not set
86# CONFIG_BLK_DEV_IO_TRACE is not set
87# CONFIG_LSF is not set
88# CONFIG_BLK_DEV_BSG is not set
89
90#
91# IO Schedulers
92#
93CONFIG_IOSCHED_NOOP=y
94CONFIG_IOSCHED_AS=y
95CONFIG_IOSCHED_DEADLINE=y
96CONFIG_IOSCHED_CFQ=y
97# CONFIG_DEFAULT_AS is not set
98# CONFIG_DEFAULT_DEADLINE is not set
99CONFIG_DEFAULT_CFQ=y
100# CONFIG_DEFAULT_NOOP is not set
101CONFIG_DEFAULT_IOSCHED="cfq"
102
103#
104# System Type
105#
106# CONFIG_ARCH_AAEC2000 is not set
107# CONFIG_ARCH_INTEGRATOR is not set
108# CONFIG_ARCH_REALVIEW is not set
109# CONFIG_ARCH_VERSATILE is not set
110# CONFIG_ARCH_AT91 is not set
111# CONFIG_ARCH_CLPS7500 is not set
112# CONFIG_ARCH_CLPS711X is not set
113# CONFIG_ARCH_CO285 is not set
114# CONFIG_ARCH_EBSA110 is not set
115# CONFIG_ARCH_EP93XX is not set
116# CONFIG_ARCH_FOOTBRIDGE is not set
117# CONFIG_ARCH_NETX is not set
118# CONFIG_ARCH_H720X is not set
119# CONFIG_ARCH_IMX is not set
120# CONFIG_ARCH_IOP13XX is not set
121# CONFIG_ARCH_IOP32X is not set
122# CONFIG_ARCH_IOP33X is not set
123# CONFIG_ARCH_IXP23XX is not set
124# CONFIG_ARCH_IXP2000 is not set
125# CONFIG_ARCH_IXP4XX is not set
126# CONFIG_ARCH_L7200 is not set
127# CONFIG_ARCH_KS8695 is not set
128# CONFIG_ARCH_NS9XXX is not set
129# CONFIG_ARCH_MXC is not set
130# CONFIG_ARCH_PNX4008 is not set
131CONFIG_ARCH_PXA=y
132# CONFIG_ARCH_RPC is not set
133# CONFIG_ARCH_SA1100 is not set
134# CONFIG_ARCH_S3C2410 is not set
135# CONFIG_ARCH_SHARK is not set
136# CONFIG_ARCH_LH7A40X is not set
137# CONFIG_ARCH_DAVINCI is not set
138# CONFIG_ARCH_OMAP is not set
139
140#
141# Intel PXA2xx Implementations
142#
143# CONFIG_ARCH_LUBBOCK is not set
144# CONFIG_MACH_LOGICPD_PXA270 is not set
145# CONFIG_MACH_MAINSTONE is not set
146# CONFIG_ARCH_PXA_IDP is not set
147# CONFIG_PXA_SHARPSL is not set
148# CONFIG_MACH_TRIZEPS4 is not set
149# CONFIG_MACH_EM_X270 is not set
150CONFIG_MACH_ARMCORE=y
151CONFIG_PXA27x=y
152
153#
154# Boot options
155#
156
157#
158# Power management
159#
160
161#
162# Processor Type
163#
164CONFIG_CPU_32=y
165CONFIG_CPU_XSCALE=y
166CONFIG_CPU_32v5=y
167CONFIG_CPU_ABRT_EV5T=y
168CONFIG_CPU_CACHE_VIVT=y
169CONFIG_CPU_TLB_V4WBI=y
170CONFIG_CPU_CP15=y
171CONFIG_CPU_CP15_MMU=y
172
173#
174# Processor Features
175#
176CONFIG_ARM_THUMB=y
177# CONFIG_CPU_DCACHE_DISABLE is not set
178# CONFIG_OUTER_CACHE is not set
179CONFIG_IWMMXT=y
180CONFIG_XSCALE_PMU=y
181
182#
183# Bus support
184#
185# CONFIG_PCI is not set
186# CONFIG_PCI_SYSCALL is not set
187# CONFIG_ARCH_SUPPORTS_MSI is not set
188
189#
190# PCCARD (PCMCIA/CardBus) support
191#
192# CONFIG_PCCARD is not set
193
194#
195# Kernel Features
196#
197CONFIG_TICK_ONESHOT=y
198# CONFIG_NO_HZ is not set
199CONFIG_HIGH_RES_TIMERS=y
200CONFIG_PREEMPT=y
201CONFIG_HZ=100
202CONFIG_AEABI=y
203CONFIG_OABI_COMPAT=y
204# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
205CONFIG_SELECT_MEMORY_MODEL=y
206CONFIG_FLATMEM_MANUAL=y
207# CONFIG_DISCONTIGMEM_MANUAL is not set
208# CONFIG_SPARSEMEM_MANUAL is not set
209CONFIG_FLATMEM=y
210CONFIG_FLAT_NODE_MEM_MAP=y
211# CONFIG_SPARSEMEM_STATIC is not set
212CONFIG_SPLIT_PTLOCK_CPUS=4096
213# CONFIG_RESOURCES_64BIT is not set
214CONFIG_ZONE_DMA_FLAG=1
215CONFIG_BOUNCE=y
216CONFIG_VIRT_TO_BUS=y
217CONFIG_ALIGNMENT_TRAP=y
218
219#
220# Boot options
221#
222CONFIG_ZBOOT_ROM_TEXT=0x0
223CONFIG_ZBOOT_ROM_BSS=0x0
224CONFIG_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"
225# CONFIG_XIP_KERNEL is not set
226# CONFIG_KEXEC is not set
227
228#
229# Floating point emulation
230#
231
232#
233# At least one emulation must be selected
234#
235# CONFIG_FPE_NWFPE is not set
236# CONFIG_FPE_FASTFPE is not set
237
238#
239# Userspace binary formats
240#
241CONFIG_BINFMT_ELF=y
242# CONFIG_BINFMT_AOUT is not set
243# CONFIG_BINFMT_MISC is not set
244
245#
246# Power management options
247#
248# CONFIG_PM is not set
249CONFIG_SUSPEND_UP_POSSIBLE=y
250
251#
252# Networking
253#
254CONFIG_NET=y
255
256#
257# Networking options
258#
259CONFIG_PACKET=y
260# CONFIG_PACKET_MMAP is not set
261CONFIG_UNIX=y
262CONFIG_XFRM=y
263# CONFIG_XFRM_USER is not set
264# CONFIG_XFRM_SUB_POLICY is not set
265# CONFIG_XFRM_MIGRATE is not set
266# CONFIG_NET_KEY is not set
267CONFIG_INET=y
268# CONFIG_IP_MULTICAST is not set
269# CONFIG_IP_ADVANCED_ROUTER is not set
270CONFIG_IP_FIB_HASH=y
271CONFIG_IP_PNP=y
272CONFIG_IP_PNP_DHCP=y
273CONFIG_IP_PNP_BOOTP=y
274# CONFIG_IP_PNP_RARP is not set
275# CONFIG_NET_IPIP is not set
276# CONFIG_NET_IPGRE is not set
277# CONFIG_ARPD is not set
278# CONFIG_SYN_COOKIES is not set
279# CONFIG_INET_AH is not set
280# CONFIG_INET_ESP is not set
281# CONFIG_INET_IPCOMP is not set
282# CONFIG_INET_XFRM_TUNNEL is not set
283# CONFIG_INET_TUNNEL is not set
284CONFIG_INET_XFRM_MODE_TRANSPORT=y
285CONFIG_INET_XFRM_MODE_TUNNEL=y
286CONFIG_INET_XFRM_MODE_BEET=y
287CONFIG_INET_DIAG=y
288CONFIG_INET_TCP_DIAG=y
289# CONFIG_TCP_CONG_ADVANCED is not set
290CONFIG_TCP_CONG_CUBIC=y
291CONFIG_DEFAULT_TCP_CONG="cubic"
292# CONFIG_TCP_MD5SIG is not set
293# CONFIG_IPV6 is not set
294# CONFIG_INET6_XFRM_TUNNEL is not set
295# CONFIG_INET6_TUNNEL is not set
296# CONFIG_NETWORK_SECMARK is not set
297# CONFIG_NETFILTER is not set
298# CONFIG_IP_DCCP is not set
299# CONFIG_IP_SCTP is not set
300# CONFIG_TIPC is not set
301# CONFIG_ATM is not set
302# CONFIG_BRIDGE is not set
303# CONFIG_VLAN_8021Q is not set
304# CONFIG_DECNET is not set
305# CONFIG_LLC2 is not set
306# CONFIG_IPX is not set
307# CONFIG_ATALK is not set
308# CONFIG_X25 is not set
309# CONFIG_LAPB is not set
310# CONFIG_ECONET is not set
311# CONFIG_WAN_ROUTER is not set
312
313#
314# QoS and/or fair queueing
315#
316# CONFIG_NET_SCHED is not set
317
318#
319# Network testing
320#
321# CONFIG_NET_PKTGEN is not set
322# CONFIG_HAMRADIO is not set
323# CONFIG_IRDA is not set
324# CONFIG_BT is not set
325# CONFIG_AF_RXRPC is not set
326
327#
328# Wireless
329#
330# CONFIG_CFG80211 is not set
331# CONFIG_WIRELESS_EXT is not set
332# CONFIG_MAC80211 is not set
333# CONFIG_IEEE80211 is not set
334# CONFIG_RFKILL is not set
335# CONFIG_NET_9P is not set
336
337#
338# Device Drivers
339#
340
341#
342# Generic Driver Options
343#
344CONFIG_STANDALONE=y
345CONFIG_PREVENT_FIRMWARE_BUILD=y
346CONFIG_FW_LOADER=y
347# CONFIG_SYS_HYPERVISOR is not set
348# CONFIG_CONNECTOR is not set
349CONFIG_MTD=y
350# CONFIG_MTD_DEBUG is not set
351# CONFIG_MTD_CONCAT is not set
352CONFIG_MTD_PARTITIONS=y
353# CONFIG_MTD_REDBOOT_PARTS is not set
354CONFIG_MTD_CMDLINE_PARTS=y
355# CONFIG_MTD_AFS_PARTS is not set
356
357#
358# User Modules And Translation Layers
359#
360CONFIG_MTD_CHAR=y
361CONFIG_MTD_BLKDEVS=y
362CONFIG_MTD_BLOCK=y
363# CONFIG_FTL is not set
364# CONFIG_NFTL is not set
365# CONFIG_INFTL is not set
366# CONFIG_RFD_FTL is not set
367# CONFIG_SSFDC is not set
368
369#
370# RAM/ROM/Flash chip drivers
371#
372CONFIG_MTD_CFI=y
373# CONFIG_MTD_JEDECPROBE is not set
374CONFIG_MTD_GEN_PROBE=y
375# CONFIG_MTD_CFI_ADV_OPTIONS is not set
376CONFIG_MTD_MAP_BANK_WIDTH_1=y
377CONFIG_MTD_MAP_BANK_WIDTH_2=y
378CONFIG_MTD_MAP_BANK_WIDTH_4=y
379# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
380# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
381# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
382CONFIG_MTD_CFI_I1=y
383CONFIG_MTD_CFI_I2=y
384# CONFIG_MTD_CFI_I4 is not set
385# CONFIG_MTD_CFI_I8 is not set
386# CONFIG_MTD_CFI_INTELEXT is not set
387CONFIG_MTD_CFI_AMDSTD=y
388# CONFIG_MTD_CFI_STAA is not set
389CONFIG_MTD_CFI_UTIL=y
390# CONFIG_MTD_RAM is not set
391# CONFIG_MTD_ROM is not set
392# CONFIG_MTD_ABSENT is not set
393# CONFIG_MTD_XIP is not set
394
395#
396# Mapping drivers for chip access
397#
398# CONFIG_MTD_COMPLEX_MAPPINGS is not set
399CONFIG_MTD_PHYSMAP=y
400CONFIG_MTD_PHYSMAP_START=0x0
401CONFIG_MTD_PHYSMAP_LEN=0x400000
402CONFIG_MTD_PHYSMAP_BANKWIDTH=2
403# CONFIG_MTD_ARM_INTEGRATOR is not set
404# CONFIG_MTD_SHARP_SL is not set
405# CONFIG_MTD_PLATRAM is not set
406
407#
408# Self-contained MTD device drivers
409#
410# CONFIG_MTD_SLRAM is not set
411# CONFIG_MTD_PHRAM is not set
412# CONFIG_MTD_MTDRAM is not set
413# CONFIG_MTD_BLOCK2MTD is not set
414
415#
416# Disk-On-Chip Device Drivers
417#
418# CONFIG_MTD_DOC2000 is not set
419# CONFIG_MTD_DOC2001 is not set
420# CONFIG_MTD_DOC2001PLUS is not set
421CONFIG_MTD_NAND=y
422# CONFIG_MTD_NAND_VERIFY_WRITE is not set
423# CONFIG_MTD_NAND_ECC_SMC is not set
424# CONFIG_MTD_NAND_MUSEUM_IDS is not set
425# CONFIG_MTD_NAND_H1900 is not set
426CONFIG_MTD_NAND_IDS=y
427# CONFIG_MTD_NAND_DISKONCHIP is not set
428# CONFIG_MTD_NAND_SHARPSL is not set
429CONFIG_MTD_NAND_CM_X270=y
430# CONFIG_MTD_NAND_NANDSIM is not set
431# CONFIG_MTD_NAND_PLATFORM is not set
432# CONFIG_MTD_ONENAND is not set
433
434#
435# UBI - Unsorted block images
436#
437# CONFIG_MTD_UBI is not set
438# CONFIG_PARPORT is not set
439CONFIG_BLK_DEV=y
440# CONFIG_BLK_DEV_COW_COMMON is not set
441CONFIG_BLK_DEV_LOOP=y
442# CONFIG_BLK_DEV_CRYPTOLOOP is not set
443# CONFIG_BLK_DEV_NBD is not set
444# CONFIG_BLK_DEV_UB is not set
445CONFIG_BLK_DEV_RAM=y
446CONFIG_BLK_DEV_RAM_COUNT=16
447CONFIG_BLK_DEV_RAM_SIZE=4096
448CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
449# CONFIG_CDROM_PKTCDVD is not set
450# CONFIG_ATA_OVER_ETH is not set
451# CONFIG_IDE is not set
452
453#
454# SCSI device support
455#
456# CONFIG_RAID_ATTRS is not set
457CONFIG_SCSI=y
458CONFIG_SCSI_DMA=y
459# CONFIG_SCSI_TGT is not set
460# CONFIG_SCSI_NETLINK is not set
461CONFIG_SCSI_PROC_FS=y
462
463#
464# SCSI support type (disk, tape, CD-ROM)
465#
466CONFIG_BLK_DEV_SD=y
467# CONFIG_CHR_DEV_ST is not set
468# CONFIG_CHR_DEV_OSST is not set
469# CONFIG_BLK_DEV_SR is not set
470# CONFIG_CHR_DEV_SG is not set
471# CONFIG_CHR_DEV_SCH is not set
472
473#
474# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
475#
476# CONFIG_SCSI_MULTI_LUN is not set
477# CONFIG_SCSI_CONSTANTS is not set
478# CONFIG_SCSI_LOGGING is not set
479# CONFIG_SCSI_SCAN_ASYNC is not set
480CONFIG_SCSI_WAIT_SCAN=m
481
482#
483# SCSI Transports
484#
485# CONFIG_SCSI_SPI_ATTRS is not set
486# CONFIG_SCSI_FC_ATTRS is not set
487# CONFIG_SCSI_ISCSI_ATTRS is not set
488# CONFIG_SCSI_SAS_LIBSAS is not set
489CONFIG_SCSI_LOWLEVEL=y
490# CONFIG_ISCSI_TCP is not set
491# CONFIG_SCSI_DEBUG is not set
492# CONFIG_ATA is not set
493# CONFIG_MD is not set
494CONFIG_NETDEVICES=y
495# CONFIG_NETDEVICES_MULTIQUEUE is not set
496# CONFIG_DUMMY is not set
497# CONFIG_BONDING is not set
498# CONFIG_MACVLAN is not set
499# CONFIG_EQUALIZER is not set
500# CONFIG_TUN is not set
501# CONFIG_PHYLIB is not set
502CONFIG_NET_ETHERNET=y
503CONFIG_MII=y
504# CONFIG_AX88796 is not set
505# CONFIG_SMC91X is not set
506CONFIG_DM9000=y
507CONFIG_DM9000_NOEPROM=y
508# CONFIG_SMC911X is not set
509# CONFIG_NETDEV_1000 is not set
510# CONFIG_NETDEV_10000 is not set
511
512#
513# Wireless LAN
514#
515# CONFIG_WLAN_PRE80211 is not set
516# CONFIG_WLAN_80211 is not set
517
518#
519# USB Network Adapters
520#
521CONFIG_USB_CATC=m
522CONFIG_USB_KAWETH=m
523CONFIG_USB_PEGASUS=m
524CONFIG_USB_RTL8150=m
525CONFIG_USB_USBNET_MII=m
526CONFIG_USB_USBNET=m
527CONFIG_USB_NET_AX8817X=m
528CONFIG_USB_NET_CDCETHER=m
529# CONFIG_USB_NET_DM9601 is not set
530CONFIG_USB_NET_GL620A=m
531CONFIG_USB_NET_NET1080=m
532CONFIG_USB_NET_PLUSB=m
533CONFIG_USB_NET_MCS7830=m
534# CONFIG_USB_NET_RNDIS_HOST is not set
535# CONFIG_USB_NET_CDC_SUBSET is not set
536# CONFIG_USB_NET_ZAURUS is not set
537# CONFIG_WAN is not set
538# CONFIG_PPP is not set
539# CONFIG_SLIP is not set
540# CONFIG_SHAPER is not set
541# CONFIG_NETCONSOLE is not set
542# CONFIG_NETPOLL is not set
543# CONFIG_NET_POLL_CONTROLLER is not set
544# CONFIG_ISDN is not set
545
546#
547# Input device support
548#
549CONFIG_INPUT=y
550# CONFIG_INPUT_FF_MEMLESS is not set
551# CONFIG_INPUT_POLLDEV is not set
552
553#
554# Userland interfaces
555#
556CONFIG_INPUT_MOUSEDEV=y
557CONFIG_INPUT_MOUSEDEV_PSAUX=y
558CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
559CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
560# CONFIG_INPUT_JOYDEV is not set
561# CONFIG_INPUT_TSDEV is not set
562CONFIG_INPUT_EVDEV=m
563# CONFIG_INPUT_EVBUG is not set
564
565#
566# Input Device Drivers
567#
568CONFIG_INPUT_KEYBOARD=y
569CONFIG_KEYBOARD_ATKBD=y
570# CONFIG_KEYBOARD_SUNKBD is not set
571# CONFIG_KEYBOARD_LKKBD is not set
572# CONFIG_KEYBOARD_XTKBD is not set
573# CONFIG_KEYBOARD_NEWTON is not set
574# CONFIG_KEYBOARD_STOWAWAY is not set
575# CONFIG_KEYBOARD_PXA27x is not set
576# CONFIG_KEYBOARD_GPIO is not set
577CONFIG_INPUT_MOUSE=y
578CONFIG_MOUSE_PS2=y
579# CONFIG_MOUSE_PS2_ALPS is not set
580# CONFIG_MOUSE_PS2_LOGIPS2PP is not set
581# CONFIG_MOUSE_PS2_SYNAPTICS is not set
582# CONFIG_MOUSE_PS2_LIFEBOOK is not set
583# CONFIG_MOUSE_PS2_TRACKPOINT is not set
584# CONFIG_MOUSE_PS2_TOUCHKIT is not set
585# CONFIG_MOUSE_SERIAL is not set
586# CONFIG_MOUSE_APPLETOUCH is not set
587# CONFIG_MOUSE_VSXXXAA is not set
588# CONFIG_MOUSE_GPIO is not set
589# CONFIG_INPUT_JOYSTICK is not set
590# CONFIG_INPUT_TABLET is not set
591CONFIG_INPUT_TOUCHSCREEN=y
592# CONFIG_TOUCHSCREEN_FUJITSU is not set
593# CONFIG_TOUCHSCREEN_GUNZE is not set
594# CONFIG_TOUCHSCREEN_ELO is not set
595# CONFIG_TOUCHSCREEN_MTOUCH is not set
596# CONFIG_TOUCHSCREEN_MK712 is not set
597# CONFIG_TOUCHSCREEN_PENMOUNT is not set
598# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
599# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
600CONFIG_TOUCHSCREEN_UCB1400=m
601# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
602# CONFIG_INPUT_MISC is not set
603
604#
605# Hardware I/O ports
606#
607CONFIG_SERIO=y
608CONFIG_SERIO_SERPORT=y
609CONFIG_SERIO_LIBPS2=y
610# CONFIG_SERIO_RAW is not set
611# CONFIG_GAMEPORT is not set
612
613#
614# Character devices
615#
616CONFIG_VT=y
617CONFIG_VT_CONSOLE=y
618CONFIG_HW_CONSOLE=y
619# CONFIG_VT_HW_CONSOLE_BINDING is not set
620# CONFIG_SERIAL_NONSTANDARD is not set
621
622#
623# Serial drivers
624#
625# CONFIG_SERIAL_8250 is not set
626
627#
628# Non-8250 serial port support
629#
630CONFIG_SERIAL_PXA=y
631CONFIG_SERIAL_PXA_CONSOLE=y
632CONFIG_SERIAL_CORE=y
633CONFIG_SERIAL_CORE_CONSOLE=y
634CONFIG_UNIX98_PTYS=y
635# CONFIG_LEGACY_PTYS is not set
636# CONFIG_IPMI_HANDLER is not set
637# CONFIG_WATCHDOG is not set
638CONFIG_HW_RANDOM=y
639# CONFIG_NVRAM is not set
640# CONFIG_R3964 is not set
641# CONFIG_RAW_DRIVER is not set
642# CONFIG_TCG_TPM is not set
643CONFIG_I2C=m
644CONFIG_I2C_BOARDINFO=y
645CONFIG_I2C_CHARDEV=m
646
647#
648# I2C Algorithms
649#
650# CONFIG_I2C_ALGOBIT is not set
651# CONFIG_I2C_ALGOPCF is not set
652# CONFIG_I2C_ALGOPCA is not set
653
654#
655# I2C Hardware Bus support
656#
657# CONFIG_I2C_GPIO is not set
658CONFIG_I2C_PXA=m
659# CONFIG_I2C_PXA_SLAVE is not set
660# CONFIG_I2C_OCORES is not set
661# CONFIG_I2C_PARPORT_LIGHT is not set
662# CONFIG_I2C_SIMTEC is not set
663# CONFIG_I2C_TAOS_EVM is not set
664# CONFIG_I2C_STUB is not set
665# CONFIG_I2C_TINY_USB is not set
666
667#
668# Miscellaneous I2C Chip support
669#
670# CONFIG_SENSORS_DS1337 is not set
671# CONFIG_SENSORS_DS1374 is not set
672# CONFIG_DS1682 is not set
673# CONFIG_SENSORS_EEPROM is not set
674# CONFIG_SENSORS_PCF8574 is not set
675# CONFIG_SENSORS_PCA9539 is not set
676# CONFIG_SENSORS_PCF8591 is not set
677# CONFIG_SENSORS_MAX6875 is not set
678# CONFIG_SENSORS_TSL2550 is not set
679# CONFIG_I2C_DEBUG_CORE is not set
680# CONFIG_I2C_DEBUG_ALGO is not set
681# CONFIG_I2C_DEBUG_BUS is not set
682# CONFIG_I2C_DEBUG_CHIP is not set
683
684#
685# SPI support
686#
687# CONFIG_SPI is not set
688# CONFIG_SPI_MASTER is not set
689# CONFIG_W1 is not set
690CONFIG_HWMON=y
691# CONFIG_HWMON_VID is not set
692# CONFIG_SENSORS_ABITUGURU is not set
693# CONFIG_SENSORS_ABITUGURU3 is not set
694# CONFIG_SENSORS_AD7418 is not set
695# CONFIG_SENSORS_ADM1021 is not set
696# CONFIG_SENSORS_ADM1025 is not set
697# CONFIG_SENSORS_ADM1026 is not set
698# CONFIG_SENSORS_ADM1029 is not set
699# CONFIG_SENSORS_ADM1031 is not set
700# CONFIG_SENSORS_ADM9240 is not set
701# CONFIG_SENSORS_ASB100 is not set
702# CONFIG_SENSORS_ATXP1 is not set
703# CONFIG_SENSORS_DS1621 is not set
704# CONFIG_SENSORS_F71805F is not set
705# CONFIG_SENSORS_FSCHER is not set
706# CONFIG_SENSORS_FSCPOS is not set
707# CONFIG_SENSORS_GL518SM is not set
708# CONFIG_SENSORS_GL520SM is not set
709# CONFIG_SENSORS_IT87 is not set
710# CONFIG_SENSORS_LM63 is not set
711# CONFIG_SENSORS_LM75 is not set
712# CONFIG_SENSORS_LM77 is not set
713# CONFIG_SENSORS_LM78 is not set
714# CONFIG_SENSORS_LM80 is not set
715# CONFIG_SENSORS_LM83 is not set
716# CONFIG_SENSORS_LM85 is not set
717# CONFIG_SENSORS_LM87 is not set
718# CONFIG_SENSORS_LM90 is not set
719# CONFIG_SENSORS_LM92 is not set
720# CONFIG_SENSORS_LM93 is not set
721# CONFIG_SENSORS_MAX1619 is not set
722# CONFIG_SENSORS_MAX6650 is not set
723# CONFIG_SENSORS_PC87360 is not set
724# CONFIG_SENSORS_PC87427 is not set
725# CONFIG_SENSORS_DME1737 is not set
726# CONFIG_SENSORS_SMSC47M1 is not set
727# CONFIG_SENSORS_SMSC47M192 is not set
728# CONFIG_SENSORS_SMSC47B397 is not set
729# CONFIG_SENSORS_THMC50 is not set
730# CONFIG_SENSORS_VT1211 is not set
731# CONFIG_SENSORS_W83781D is not set
732# CONFIG_SENSORS_W83791D is not set
733# CONFIG_SENSORS_W83792D is not set
734# CONFIG_SENSORS_W83793 is not set
735# CONFIG_SENSORS_W83L785TS is not set
736# CONFIG_SENSORS_W83627HF is not set
737# CONFIG_SENSORS_W83627EHF is not set
738# CONFIG_HWMON_DEBUG_CHIP is not set
739CONFIG_MISC_DEVICES=y
740# CONFIG_EEPROM_93CX6 is not set
741
742#
743# Multifunction device drivers
744#
745# CONFIG_MFD_SM501 is not set
746CONFIG_NEW_LEDS=y
747CONFIG_LEDS_CLASS=y
748
749#
750# LED drivers
751#
752CONFIG_LEDS_CM_X270=y
753# CONFIG_LEDS_GPIO is not set
754
755#
756# LED Triggers
757#
758# CONFIG_LEDS_TRIGGERS is not set
759
760#
761# Multimedia devices
762#
763# CONFIG_VIDEO_DEV is not set
764# CONFIG_DVB_CORE is not set
765# CONFIG_DAB is not set
766
767#
768# Graphics support
769#
770# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
771
772#
773# Display device support
774#
775# CONFIG_DISPLAY_SUPPORT is not set
776# CONFIG_VGASTATE is not set
777# CONFIG_VIDEO_OUTPUT_CONTROL is not set
778CONFIG_FB=y
779# CONFIG_FIRMWARE_EDID is not set
780# CONFIG_FB_DDC is not set
781CONFIG_FB_CFB_FILLRECT=y
782CONFIG_FB_CFB_COPYAREA=y
783CONFIG_FB_CFB_IMAGEBLIT=y
784# CONFIG_FB_SYS_FILLRECT is not set
785# CONFIG_FB_SYS_COPYAREA is not set
786# CONFIG_FB_SYS_IMAGEBLIT is not set
787# CONFIG_FB_SYS_FOPS is not set
788CONFIG_FB_DEFERRED_IO=y
789# CONFIG_FB_SVGALIB is not set
790# CONFIG_FB_MACMODES is not set
791# CONFIG_FB_BACKLIGHT is not set
792# CONFIG_FB_MODE_HELPERS is not set
793# CONFIG_FB_TILEBLITTING is not set
794
795#
796# Frame buffer hardware drivers
797#
798# CONFIG_FB_S1D13XXX is not set
799CONFIG_FB_PXA=y
800CONFIG_FB_PXA_PARAMETERS=y
801# CONFIG_FB_MBX is not set
802# CONFIG_FB_VIRTUAL is not set
803
804#
805# Console display driver support
806#
807# CONFIG_VGA_CONSOLE is not set
808CONFIG_DUMMY_CONSOLE=y
809CONFIG_FRAMEBUFFER_CONSOLE=y
810# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
811# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
812# CONFIG_FONTS is not set
813CONFIG_FONT_8x8=y
814CONFIG_FONT_8x16=y
815# CONFIG_LOGO is not set
816
817#
818# Sound
819#
820CONFIG_SOUND=m
821
822#
823# Advanced Linux Sound Architecture
824#
825CONFIG_SND=m
826CONFIG_SND_TIMER=m
827CONFIG_SND_PCM=m
828# CONFIG_SND_SEQUENCER is not set
829# CONFIG_SND_MIXER_OSS is not set
830# CONFIG_SND_PCM_OSS is not set
831# CONFIG_SND_DYNAMIC_MINORS is not set
832CONFIG_SND_SUPPORT_OLD_API=y
833CONFIG_SND_VERBOSE_PROCFS=y
834# CONFIG_SND_VERBOSE_PRINTK is not set
835# CONFIG_SND_DEBUG is not set
836
837#
838# Generic devices
839#
840CONFIG_SND_AC97_CODEC=m
841# CONFIG_SND_DUMMY is not set
842# CONFIG_SND_MTPAV is not set
843# CONFIG_SND_SERIAL_U16550 is not set
844# CONFIG_SND_MPU401 is not set
845
846#
847# ALSA ARM devices
848#
849CONFIG_SND_PXA2XX_PCM=m
850CONFIG_SND_PXA2XX_AC97=m
851
852#
853# USB devices
854#
855# CONFIG_SND_USB_AUDIO is not set
856# CONFIG_SND_USB_CAIAQ is not set
857
858#
859# System on Chip audio support
860#
861# CONFIG_SND_SOC is not set
862
863#
864# SoC Audio support for SuperH
865#
866
867#
868# Open Sound System
869#
870# CONFIG_SOUND_PRIME is not set
871CONFIG_AC97_BUS=m
872CONFIG_HID_SUPPORT=y
873CONFIG_HID=y
874# CONFIG_HID_DEBUG is not set
875
876#
877# USB Input Devices
878#
879CONFIG_USB_HID=y
880# CONFIG_USB_HIDINPUT_POWERBOOK is not set
881# CONFIG_HID_FF is not set
882# CONFIG_USB_HIDDEV is not set
883CONFIG_USB_SUPPORT=y
884CONFIG_USB_ARCH_HAS_HCD=y
885CONFIG_USB_ARCH_HAS_OHCI=y
886# CONFIG_USB_ARCH_HAS_EHCI is not set
887CONFIG_USB=y
888# CONFIG_USB_DEBUG is not set
889
890#
891# Miscellaneous USB options
892#
893CONFIG_USB_DEVICEFS=y
894# CONFIG_USB_DEVICE_CLASS is not set
895# CONFIG_USB_DYNAMIC_MINORS is not set
896# CONFIG_USB_OTG is not set
897
898#
899# USB Host Controller Drivers
900#
901# CONFIG_USB_ISP116X_HCD is not set
902CONFIG_USB_OHCI_HCD=y
903# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
904# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
905CONFIG_USB_OHCI_LITTLE_ENDIAN=y
906# CONFIG_USB_SL811_HCD is not set
907# CONFIG_USB_R8A66597_HCD is not set
908
909#
910# USB Device Class drivers
911#
912# CONFIG_USB_ACM is not set
913# CONFIG_USB_PRINTER is not set
914
915#
916# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
917#
918
919#
920# may also be needed; see USB_STORAGE Help for more information
921#
922CONFIG_USB_STORAGE=y
923# CONFIG_USB_STORAGE_DEBUG is not set
924# CONFIG_USB_STORAGE_DATAFAB is not set
925# CONFIG_USB_STORAGE_FREECOM is not set
926# CONFIG_USB_STORAGE_DPCM is not set
927# CONFIG_USB_STORAGE_USBAT is not set
928# CONFIG_USB_STORAGE_SDDR09 is not set
929# CONFIG_USB_STORAGE_SDDR55 is not set
930# CONFIG_USB_STORAGE_JUMPSHOT is not set
931# CONFIG_USB_STORAGE_ALAUDA is not set
932# CONFIG_USB_STORAGE_ONETOUCH is not set
933# CONFIG_USB_STORAGE_KARMA is not set
934# CONFIG_USB_LIBUSUAL is not set
935
936#
937# USB Imaging devices
938#
939# CONFIG_USB_MDC800 is not set
940# CONFIG_USB_MICROTEK is not set
941CONFIG_USB_MON=y
942
943#
944# USB port drivers
945#
946
947#
948# USB Serial Converter support
949#
950# CONFIG_USB_SERIAL is not set
951
952#
953# USB Miscellaneous drivers
954#
955# CONFIG_USB_EMI62 is not set
956# CONFIG_USB_EMI26 is not set
957# CONFIG_USB_ADUTUX is not set
958# CONFIG_USB_AUERSWALD is not set
959# CONFIG_USB_RIO500 is not set
960# CONFIG_USB_LEGOTOWER is not set
961# CONFIG_USB_LCD is not set
962# CONFIG_USB_BERRY_CHARGE is not set
963# CONFIG_USB_LED is not set
964# CONFIG_USB_CYPRESS_CY7C63 is not set
965# CONFIG_USB_CYTHERM is not set
966# CONFIG_USB_PHIDGET is not set
967# CONFIG_USB_IDMOUSE is not set
968# CONFIG_USB_FTDI_ELAN is not set
969# CONFIG_USB_APPLEDISPLAY is not set
970# CONFIG_USB_LD is not set
971# CONFIG_USB_TRANCEVIBRATOR is not set
972# CONFIG_USB_IOWARRIOR is not set
973# CONFIG_USB_TEST is not set
974
975#
976# USB DSL modem support
977#
978
979#
980# USB Gadget Support
981#
982# CONFIG_USB_GADGET is not set
983CONFIG_MMC=m
984# CONFIG_MMC_DEBUG is not set
985# CONFIG_MMC_UNSAFE_RESUME is not set
986
987#
988# MMC/SD Card Drivers
989#
990CONFIG_MMC_BLOCK=m
991CONFIG_MMC_BLOCK_BOUNCE=y
992
993#
994# MMC/SD Host Controller Drivers
995#
996CONFIG_MMC_PXA=m
997CONFIG_RTC_LIB=y
998# CONFIG_RTC_CLASS is not set
999
1000#
1001# DMA Engine support
1002#
1003# CONFIG_DMA_ENGINE is not set
1004
1005#
1006# DMA Clients
1007#
1008
1009#
1010# DMA Devices
1011#
1012
1013#
1014# File systems
1015#
1016CONFIG_EXT2_FS=y
1017# CONFIG_EXT2_FS_XATTR is not set
1018# CONFIG_EXT2_FS_XIP is not set
1019CONFIG_EXT3_FS=y
1020CONFIG_EXT3_FS_XATTR=y
1021# CONFIG_EXT3_FS_POSIX_ACL is not set
1022# CONFIG_EXT3_FS_SECURITY is not set
1023# CONFIG_EXT4DEV_FS is not set
1024CONFIG_JBD=y
1025# CONFIG_JBD_DEBUG is not set
1026CONFIG_FS_MBCACHE=y
1027# CONFIG_REISERFS_FS is not set
1028# CONFIG_JFS_FS is not set
1029# CONFIG_FS_POSIX_ACL is not set
1030# CONFIG_XFS_FS is not set
1031# CONFIG_GFS2_FS is not set
1032# CONFIG_OCFS2_FS is not set
1033# CONFIG_MINIX_FS is not set
1034# CONFIG_ROMFS_FS is not set
1035CONFIG_INOTIFY=y
1036CONFIG_INOTIFY_USER=y
1037# CONFIG_QUOTA is not set
1038CONFIG_DNOTIFY=y
1039# CONFIG_AUTOFS_FS is not set
1040# CONFIG_AUTOFS4_FS is not set
1041# CONFIG_FUSE_FS is not set
1042
1043#
1044# CD-ROM/DVD Filesystems
1045#
1046# CONFIG_ISO9660_FS is not set
1047# CONFIG_UDF_FS is not set
1048
1049#
1050# DOS/FAT/NT Filesystems
1051#
1052CONFIG_FAT_FS=y
1053CONFIG_MSDOS_FS=y
1054CONFIG_VFAT_FS=y
1055CONFIG_FAT_DEFAULT_CODEPAGE=437
1056CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1057# CONFIG_NTFS_FS is not set
1058
1059#
1060# Pseudo filesystems
1061#
1062CONFIG_PROC_FS=y
1063CONFIG_PROC_SYSCTL=y
1064CONFIG_SYSFS=y
1065CONFIG_TMPFS=y
1066# CONFIG_TMPFS_POSIX_ACL is not set
1067# CONFIG_HUGETLB_PAGE is not set
1068CONFIG_RAMFS=y
1069# CONFIG_CONFIGFS_FS is not set
1070
1071#
1072# Miscellaneous filesystems
1073#
1074# CONFIG_ADFS_FS is not set
1075# CONFIG_AFFS_FS is not set
1076# CONFIG_HFS_FS is not set
1077# CONFIG_HFSPLUS_FS is not set
1078# CONFIG_BEFS_FS is not set
1079# CONFIG_BFS_FS is not set
1080# CONFIG_EFS_FS is not set
1081CONFIG_JFFS2_FS=y
1082CONFIG_JFFS2_FS_DEBUG=0
1083CONFIG_JFFS2_FS_WRITEBUFFER=y
1084CONFIG_JFFS2_SUMMARY=y
1085# CONFIG_JFFS2_FS_XATTR is not set
1086# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1087CONFIG_JFFS2_ZLIB=y
1088CONFIG_JFFS2_RTIME=y
1089# CONFIG_JFFS2_RUBIN is not set
1090# CONFIG_CRAMFS is not set
1091# CONFIG_VXFS_FS is not set
1092# CONFIG_HPFS_FS is not set
1093# CONFIG_QNX4FS_FS is not set
1094# CONFIG_SYSV_FS is not set
1095# CONFIG_UFS_FS is not set
1096
1097#
1098# Network File Systems
1099#
1100# CONFIG_NFS_FS is not set
1101# CONFIG_NFSD is not set
1102# CONFIG_SMB_FS is not set
1103# CONFIG_CIFS is not set
1104# CONFIG_NCP_FS is not set
1105# CONFIG_CODA_FS is not set
1106# CONFIG_AFS_FS is not set
1107
1108#
1109# Partition Types
1110#
1111# CONFIG_PARTITION_ADVANCED is not set
1112CONFIG_MSDOS_PARTITION=y
1113
1114#
1115# Native Language Support
1116#
1117CONFIG_NLS=y
1118CONFIG_NLS_DEFAULT="iso8859-1"
1119CONFIG_NLS_CODEPAGE_437=y
1120# CONFIG_NLS_CODEPAGE_737 is not set
1121# CONFIG_NLS_CODEPAGE_775 is not set
1122# CONFIG_NLS_CODEPAGE_850 is not set
1123# CONFIG_NLS_CODEPAGE_852 is not set
1124# CONFIG_NLS_CODEPAGE_855 is not set
1125# CONFIG_NLS_CODEPAGE_857 is not set
1126# CONFIG_NLS_CODEPAGE_860 is not set
1127# CONFIG_NLS_CODEPAGE_861 is not set
1128# CONFIG_NLS_CODEPAGE_862 is not set
1129# CONFIG_NLS_CODEPAGE_863 is not set
1130# CONFIG_NLS_CODEPAGE_864 is not set
1131# CONFIG_NLS_CODEPAGE_865 is not set
1132# CONFIG_NLS_CODEPAGE_866 is not set
1133# CONFIG_NLS_CODEPAGE_869 is not set
1134# CONFIG_NLS_CODEPAGE_936 is not set
1135# CONFIG_NLS_CODEPAGE_950 is not set
1136# CONFIG_NLS_CODEPAGE_932 is not set
1137# CONFIG_NLS_CODEPAGE_949 is not set
1138# CONFIG_NLS_CODEPAGE_874 is not set
1139# CONFIG_NLS_ISO8859_8 is not set
1140# CONFIG_NLS_CODEPAGE_1250 is not set
1141# CONFIG_NLS_CODEPAGE_1251 is not set
1142# CONFIG_NLS_ASCII is not set
1143CONFIG_NLS_ISO8859_1=y
1144# CONFIG_NLS_ISO8859_2 is not set
1145# CONFIG_NLS_ISO8859_3 is not set
1146# CONFIG_NLS_ISO8859_4 is not set
1147# CONFIG_NLS_ISO8859_5 is not set
1148# CONFIG_NLS_ISO8859_6 is not set
1149# CONFIG_NLS_ISO8859_7 is not set
1150# CONFIG_NLS_ISO8859_9 is not set
1151# CONFIG_NLS_ISO8859_13 is not set
1152# CONFIG_NLS_ISO8859_14 is not set
1153# CONFIG_NLS_ISO8859_15 is not set
1154# CONFIG_NLS_KOI8_R is not set
1155# CONFIG_NLS_KOI8_U is not set
1156# CONFIG_NLS_UTF8 is not set
1157
1158#
1159# Distributed Lock Manager
1160#
1161# CONFIG_DLM is not set
1162
1163#
1164# Profiling support
1165#
1166# CONFIG_PROFILING is not set
1167
1168#
1169# Kernel hacking
1170#
1171# CONFIG_PRINTK_TIME is not set
1172CONFIG_ENABLE_MUST_CHECK=y
1173# CONFIG_MAGIC_SYSRQ is not set
1174# CONFIG_UNUSED_SYMBOLS is not set
1175# CONFIG_DEBUG_FS is not set
1176# CONFIG_HEADERS_CHECK is not set
1177# CONFIG_DEBUG_KERNEL is not set
1178# CONFIG_DEBUG_BUGVERBOSE is not set
1179CONFIG_FRAME_POINTER=y
1180# CONFIG_DEBUG_USER is not set
1181
1182#
1183# Security options
1184#
1185# CONFIG_KEYS is not set
1186# CONFIG_SECURITY is not set
1187# CONFIG_CRYPTO is not set
1188
1189#
1190# Library routines
1191#
1192CONFIG_BITREVERSE=y
1193# CONFIG_CRC_CCITT is not set
1194# CONFIG_CRC16 is not set
1195# CONFIG_CRC_ITU_T is not set
1196CONFIG_CRC32=y
1197# CONFIG_CRC7 is not set
1198# CONFIG_LIBCRC32C is not set
1199CONFIG_ZLIB_INFLATE=y
1200CONFIG_ZLIB_DEFLATE=y
1201CONFIG_PLIST=y
1202CONFIG_HAS_IOMEM=y
1203CONFIG_HAS_IOPORT=y
1204CONFIG_HAS_DMA=y