diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2008-10-07 14:08:32 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-10-07 14:08:32 -0400 |
commit | cc513ac0f29473de365664c4fba9cf033c1f2324 (patch) | |
tree | 27ee53310699caa0e5cac80d519c0ec04120f8ca | |
parent | 1543966a079fc7065849ae43ca4dd767c188ad55 (diff) | |
parent | 19ec95df2c4ec2d28919f267c4d17178f8fe9d9c (diff) |
Merge branch 'viper-for-rmk' of git://www.misterjones.org/linux-2.6-arm
Merge branch 'pxa-viper' into pxa-machines
Conflicts:
arch/arm/mach-pxa/Makefile
drivers/pcmcia/Kconfig
drivers/pcmcia/Makefile
-rw-r--r-- | arch/arm/configs/viper_defconfig | 1678 | ||||
-rw-r--r-- | arch/arm/mach-pxa/Kconfig | 22 | ||||
-rw-r--r-- | arch/arm/mach-pxa/Makefile | 13 | ||||
-rw-r--r-- | arch/arm/mach-pxa/include/mach/entry-macro.S | 4 | ||||
-rw-r--r-- | arch/arm/mach-pxa/include/mach/irqs.h | 19 | ||||
-rw-r--r-- | arch/arm/mach-pxa/include/mach/viper.h | 96 | ||||
-rw-r--r-- | arch/arm/mach-pxa/irq.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/viper.c | 951 | ||||
-rw-r--r-- | drivers/net/smc91x.c | 9 | ||||
-rw-r--r-- | drivers/net/smc91x.h | 13 | ||||
-rw-r--r-- | drivers/pcmcia/Kconfig | 3 | ||||
-rw-r--r-- | drivers/pcmcia/Makefile | 2 | ||||
-rw-r--r-- | drivers/pcmcia/pxa2xx_base.c | 44 | ||||
-rw-r--r-- | drivers/pcmcia/pxa2xx_viper.c | 179 | ||||
-rw-r--r-- | include/linux/smc91x.h | 11 |
15 files changed, 2994 insertions, 52 deletions
diff --git a/arch/arm/configs/viper_defconfig b/arch/arm/configs/viper_defconfig new file mode 100644 index 000000000000..d01fecb8673e --- /dev/null +++ b/arch/arm/configs/viper_defconfig | |||
@@ -0,0 +1,1678 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.27-rc4 | ||
4 | # Thu Aug 21 17:12:07 2008 | ||
5 | # | ||
6 | CONFIG_ARM=y | ||
7 | CONFIG_HAVE_PWM=y | ||
8 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | ||
9 | CONFIG_GENERIC_GPIO=y | ||
10 | CONFIG_GENERIC_TIME=y | ||
11 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
12 | CONFIG_MMU=y | ||
13 | # CONFIG_NO_IOPORT is not set | ||
14 | CONFIG_GENERIC_HARDIRQS=y | ||
15 | CONFIG_STACKTRACE_SUPPORT=y | ||
16 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
17 | CONFIG_LOCKDEP_SUPPORT=y | ||
18 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
19 | CONFIG_HARDIRQS_SW_RESEND=y | ||
20 | CONFIG_GENERIC_IRQ_PROBE=y | ||
21 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
22 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
23 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
24 | CONFIG_GENERIC_HWEIGHT=y | ||
25 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
26 | CONFIG_ARCH_SUPPORTS_AOUT=y | ||
27 | CONFIG_ZONE_DMA=y | ||
28 | CONFIG_ARCH_MTD_XIP=y | ||
29 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
30 | CONFIG_VECTORS_BASE=0xffff0000 | ||
31 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
32 | |||
33 | # | ||
34 | # General setup | ||
35 | # | ||
36 | CONFIG_EXPERIMENTAL=y | ||
37 | CONFIG_BROKEN_ON_SMP=y | ||
38 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
39 | CONFIG_LOCALVERSION="" | ||
40 | CONFIG_LOCALVERSION_AUTO=y | ||
41 | # CONFIG_SWAP is not set | ||
42 | CONFIG_SYSVIPC=y | ||
43 | CONFIG_SYSVIPC_SYSCTL=y | ||
44 | # CONFIG_POSIX_MQUEUE is not set | ||
45 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
46 | # CONFIG_TASKSTATS is not set | ||
47 | # CONFIG_AUDIT is not set | ||
48 | # CONFIG_IKCONFIG is not set | ||
49 | CONFIG_LOG_BUF_SHIFT=13 | ||
50 | # CONFIG_CGROUPS is not set | ||
51 | # CONFIG_GROUP_SCHED is not set | ||
52 | CONFIG_SYSFS_DEPRECATED=y | ||
53 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
54 | # CONFIG_RELAY is not set | ||
55 | # CONFIG_NAMESPACES is not set | ||
56 | # CONFIG_BLK_DEV_INITRD is not set | ||
57 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
58 | CONFIG_SYSCTL=y | ||
59 | CONFIG_EMBEDDED=y | ||
60 | CONFIG_UID16=y | ||
61 | CONFIG_SYSCTL_SYSCALL=y | ||
62 | CONFIG_KALLSYMS=y | ||
63 | # CONFIG_KALLSYMS_ALL is not set | ||
64 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
65 | CONFIG_HOTPLUG=y | ||
66 | CONFIG_PRINTK=y | ||
67 | CONFIG_BUG=y | ||
68 | # CONFIG_ELF_CORE is not set | ||
69 | CONFIG_COMPAT_BRK=y | ||
70 | CONFIG_BASE_FULL=y | ||
71 | CONFIG_FUTEX=y | ||
72 | CONFIG_ANON_INODES=y | ||
73 | CONFIG_EPOLL=y | ||
74 | CONFIG_SIGNALFD=y | ||
75 | CONFIG_TIMERFD=y | ||
76 | CONFIG_EVENTFD=y | ||
77 | # CONFIG_SHMEM is not set | ||
78 | CONFIG_VM_EVENT_COUNTERS=y | ||
79 | CONFIG_SLAB=y | ||
80 | # CONFIG_SLUB is not set | ||
81 | # CONFIG_SLOB is not set | ||
82 | # CONFIG_PROFILING is not set | ||
83 | # CONFIG_MARKERS is not set | ||
84 | CONFIG_HAVE_OPROFILE=y | ||
85 | # CONFIG_KPROBES is not set | ||
86 | # CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set | ||
87 | # CONFIG_HAVE_IOREMAP_PROT is not set | ||
88 | CONFIG_HAVE_KPROBES=y | ||
89 | CONFIG_HAVE_KRETPROBES=y | ||
90 | # CONFIG_HAVE_ARCH_TRACEHOOK is not set | ||
91 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
92 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
93 | CONFIG_HAVE_CLK=y | ||
94 | CONFIG_PROC_PAGE_MONITOR=y | ||
95 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | ||
96 | CONFIG_SLABINFO=y | ||
97 | CONFIG_RT_MUTEXES=y | ||
98 | CONFIG_TINY_SHMEM=y | ||
99 | CONFIG_BASE_SMALL=0 | ||
100 | CONFIG_MODULES=y | ||
101 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
102 | CONFIG_MODULE_UNLOAD=y | ||
103 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
104 | # CONFIG_MODVERSIONS is not set | ||
105 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
106 | CONFIG_KMOD=y | ||
107 | CONFIG_BLOCK=y | ||
108 | # CONFIG_LBD is not set | ||
109 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
110 | # CONFIG_LSF is not set | ||
111 | # CONFIG_BLK_DEV_BSG is not set | ||
112 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
113 | |||
114 | # | ||
115 | # IO Schedulers | ||
116 | # | ||
117 | CONFIG_IOSCHED_NOOP=y | ||
118 | # CONFIG_IOSCHED_AS is not set | ||
119 | CONFIG_IOSCHED_DEADLINE=y | ||
120 | # CONFIG_IOSCHED_CFQ is not set | ||
121 | # CONFIG_DEFAULT_AS is not set | ||
122 | CONFIG_DEFAULT_DEADLINE=y | ||
123 | # CONFIG_DEFAULT_CFQ is not set | ||
124 | # CONFIG_DEFAULT_NOOP is not set | ||
125 | CONFIG_DEFAULT_IOSCHED="deadline" | ||
126 | CONFIG_CLASSIC_RCU=y | ||
127 | |||
128 | # | ||
129 | # System Type | ||
130 | # | ||
131 | # CONFIG_ARCH_AAEC2000 is not set | ||
132 | # CONFIG_ARCH_INTEGRATOR is not set | ||
133 | # CONFIG_ARCH_REALVIEW is not set | ||
134 | # CONFIG_ARCH_VERSATILE is not set | ||
135 | # CONFIG_ARCH_AT91 is not set | ||
136 | # CONFIG_ARCH_CLPS7500 is not set | ||
137 | # CONFIG_ARCH_CLPS711X is not set | ||
138 | # CONFIG_ARCH_EBSA110 is not set | ||
139 | # CONFIG_ARCH_EP93XX is not set | ||
140 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
141 | # CONFIG_ARCH_NETX is not set | ||
142 | # CONFIG_ARCH_H720X is not set | ||
143 | # CONFIG_ARCH_IMX is not set | ||
144 | # CONFIG_ARCH_IOP13XX is not set | ||
145 | # CONFIG_ARCH_IOP32X is not set | ||
146 | # CONFIG_ARCH_IOP33X is not set | ||
147 | # CONFIG_ARCH_IXP23XX is not set | ||
148 | # CONFIG_ARCH_IXP2000 is not set | ||
149 | # CONFIG_ARCH_IXP4XX is not set | ||
150 | # CONFIG_ARCH_L7200 is not set | ||
151 | # CONFIG_ARCH_KIRKWOOD is not set | ||
152 | # CONFIG_ARCH_KS8695 is not set | ||
153 | # CONFIG_ARCH_NS9XXX is not set | ||
154 | # CONFIG_ARCH_LOKI is not set | ||
155 | # CONFIG_ARCH_MV78XX0 is not set | ||
156 | # CONFIG_ARCH_MXC is not set | ||
157 | # CONFIG_ARCH_ORION5X is not set | ||
158 | # CONFIG_ARCH_PNX4008 is not set | ||
159 | CONFIG_ARCH_PXA=y | ||
160 | # CONFIG_ARCH_RPC is not set | ||
161 | # CONFIG_ARCH_SA1100 is not set | ||
162 | # CONFIG_ARCH_S3C2410 is not set | ||
163 | # CONFIG_ARCH_SHARK is not set | ||
164 | # CONFIG_ARCH_LH7A40X is not set | ||
165 | # CONFIG_ARCH_DAVINCI is not set | ||
166 | # CONFIG_ARCH_OMAP is not set | ||
167 | # CONFIG_ARCH_MSM7X00A is not set | ||
168 | |||
169 | # | ||
170 | # Intel PXA2xx/PXA3xx Implementations | ||
171 | # | ||
172 | # CONFIG_ARCH_GUMSTIX is not set | ||
173 | # CONFIG_ARCH_LUBBOCK is not set | ||
174 | # CONFIG_MACH_LOGICPD_PXA270 is not set | ||
175 | # CONFIG_MACH_MAINSTONE is not set | ||
176 | # CONFIG_ARCH_PXA_IDP is not set | ||
177 | # CONFIG_PXA_SHARPSL is not set | ||
178 | CONFIG_ARCH_VIPER=y | ||
179 | # CONFIG_ARCH_PXA_ESERIES is not set | ||
180 | # CONFIG_MACH_TRIZEPS4 is not set | ||
181 | # CONFIG_MACH_EM_X270 is not set | ||
182 | # CONFIG_MACH_COLIBRI is not set | ||
183 | # CONFIG_MACH_ZYLONITE is not set | ||
184 | # CONFIG_MACH_LITTLETON is not set | ||
185 | # CONFIG_MACH_TAVOREVB is not set | ||
186 | # CONFIG_MACH_SAAR is not set | ||
187 | # CONFIG_MACH_ARMCORE is not set | ||
188 | # CONFIG_MACH_MAGICIAN is not set | ||
189 | # CONFIG_MACH_PCM027 is not set | ||
190 | # CONFIG_ARCH_PXA_PALM is not set | ||
191 | # CONFIG_PXA_EZX is not set | ||
192 | CONFIG_PXA25x=y | ||
193 | CONFIG_PXA_PWM=m | ||
194 | CONFIG_PXA_HAVE_ISA_IRQS=y | ||
195 | |||
196 | # | ||
197 | # Boot options | ||
198 | # | ||
199 | |||
200 | # | ||
201 | # Power management | ||
202 | # | ||
203 | |||
204 | # | ||
205 | # Processor Type | ||
206 | # | ||
207 | CONFIG_CPU_32=y | ||
208 | CONFIG_CPU_XSCALE=y | ||
209 | CONFIG_CPU_32v5=y | ||
210 | CONFIG_CPU_ABRT_EV5T=y | ||
211 | CONFIG_CPU_PABRT_NOIFAR=y | ||
212 | CONFIG_CPU_CACHE_VIVT=y | ||
213 | CONFIG_CPU_TLB_V4WBI=y | ||
214 | CONFIG_CPU_CP15=y | ||
215 | CONFIG_CPU_CP15_MMU=y | ||
216 | |||
217 | # | ||
218 | # Processor Features | ||
219 | # | ||
220 | CONFIG_ARM_THUMB=y | ||
221 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
222 | # CONFIG_OUTER_CACHE is not set | ||
223 | CONFIG_IWMMXT=y | ||
224 | CONFIG_XSCALE_PMU=y | ||
225 | |||
226 | # | ||
227 | # Bus support | ||
228 | # | ||
229 | CONFIG_ISA=y | ||
230 | # CONFIG_PCI_SYSCALL is not set | ||
231 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
232 | CONFIG_PCCARD=m | ||
233 | # CONFIG_PCMCIA_DEBUG is not set | ||
234 | CONFIG_PCMCIA=m | ||
235 | CONFIG_PCMCIA_LOAD_CIS=y | ||
236 | CONFIG_PCMCIA_IOCTL=y | ||
237 | |||
238 | # | ||
239 | # PC-card bridges | ||
240 | # | ||
241 | # CONFIG_I82365 is not set | ||
242 | # CONFIG_TCIC is not set | ||
243 | CONFIG_PCMCIA_PXA2XX=m | ||
244 | CONFIG_PCMCIA_PROBE=y | ||
245 | |||
246 | # | ||
247 | # Kernel Features | ||
248 | # | ||
249 | CONFIG_TICK_ONESHOT=y | ||
250 | # CONFIG_NO_HZ is not set | ||
251 | # CONFIG_HIGH_RES_TIMERS is not set | ||
252 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
253 | # CONFIG_PREEMPT is not set | ||
254 | CONFIG_HZ=100 | ||
255 | CONFIG_AEABI=y | ||
256 | CONFIG_OABI_COMPAT=y | ||
257 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | ||
258 | CONFIG_SELECT_MEMORY_MODEL=y | ||
259 | CONFIG_FLATMEM_MANUAL=y | ||
260 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
261 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
262 | CONFIG_FLATMEM=y | ||
263 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
264 | # CONFIG_SPARSEMEM_STATIC is not set | ||
265 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
266 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
267 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | ||
268 | # CONFIG_RESOURCES_64BIT is not set | ||
269 | CONFIG_ZONE_DMA_FLAG=1 | ||
270 | CONFIG_BOUNCE=y | ||
271 | CONFIG_VIRT_TO_BUS=y | ||
272 | CONFIG_ALIGNMENT_TRAP=y | ||
273 | |||
274 | # | ||
275 | # Boot options | ||
276 | # | ||
277 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
278 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
279 | CONFIG_CMDLINE="root=31:02 rootfstype=jffs2 ro console=ttyS0,115200" | ||
280 | # CONFIG_XIP_KERNEL is not set | ||
281 | # CONFIG_KEXEC is not set | ||
282 | |||
283 | # | ||
284 | # CPU Frequency scaling | ||
285 | # | ||
286 | CONFIG_CPU_FREQ=y | ||
287 | CONFIG_CPU_FREQ_TABLE=y | ||
288 | # CONFIG_CPU_FREQ_DEBUG is not set | ||
289 | CONFIG_CPU_FREQ_STAT=y | ||
290 | # CONFIG_CPU_FREQ_STAT_DETAILS is not set | ||
291 | CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y | ||
292 | # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set | ||
293 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set | ||
294 | # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set | ||
295 | # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set | ||
296 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y | ||
297 | CONFIG_CPU_FREQ_GOV_POWERSAVE=m | ||
298 | CONFIG_CPU_FREQ_GOV_USERSPACE=m | ||
299 | CONFIG_CPU_FREQ_GOV_ONDEMAND=m | ||
300 | CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m | ||
301 | CONFIG_CPU_FREQ_PXA=y | ||
302 | |||
303 | # | ||
304 | # Floating point emulation | ||
305 | # | ||
306 | |||
307 | # | ||
308 | # At least one emulation must be selected | ||
309 | # | ||
310 | # CONFIG_FPE_NWFPE is not set | ||
311 | CONFIG_FPE_FASTFPE=y | ||
312 | |||
313 | # | ||
314 | # Userspace binary formats | ||
315 | # | ||
316 | CONFIG_BINFMT_ELF=y | ||
317 | # CONFIG_BINFMT_AOUT is not set | ||
318 | # CONFIG_BINFMT_MISC is not set | ||
319 | |||
320 | # | ||
321 | # Power management options | ||
322 | # | ||
323 | CONFIG_PM=y | ||
324 | # CONFIG_PM_DEBUG is not set | ||
325 | CONFIG_PM_SLEEP=y | ||
326 | CONFIG_SUSPEND=y | ||
327 | CONFIG_SUSPEND_FREEZER=y | ||
328 | # CONFIG_APM_EMULATION is not set | ||
329 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
330 | CONFIG_NET=y | ||
331 | |||
332 | # | ||
333 | # Networking options | ||
334 | # | ||
335 | CONFIG_PACKET=y | ||
336 | # CONFIG_PACKET_MMAP is not set | ||
337 | CONFIG_UNIX=y | ||
338 | CONFIG_XFRM=y | ||
339 | # CONFIG_XFRM_USER is not set | ||
340 | # CONFIG_XFRM_SUB_POLICY is not set | ||
341 | # CONFIG_XFRM_MIGRATE is not set | ||
342 | # CONFIG_XFRM_STATISTICS is not set | ||
343 | # CONFIG_NET_KEY is not set | ||
344 | CONFIG_INET=y | ||
345 | # CONFIG_IP_MULTICAST is not set | ||
346 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
347 | CONFIG_IP_FIB_HASH=y | ||
348 | CONFIG_IP_PNP=y | ||
349 | CONFIG_IP_PNP_DHCP=y | ||
350 | # CONFIG_IP_PNP_BOOTP is not set | ||
351 | # CONFIG_IP_PNP_RARP is not set | ||
352 | # CONFIG_NET_IPIP is not set | ||
353 | # CONFIG_NET_IPGRE is not set | ||
354 | # CONFIG_ARPD is not set | ||
355 | CONFIG_SYN_COOKIES=y | ||
356 | # CONFIG_INET_AH is not set | ||
357 | # CONFIG_INET_ESP is not set | ||
358 | # CONFIG_INET_IPCOMP is not set | ||
359 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
360 | # CONFIG_INET_TUNNEL is not set | ||
361 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
362 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
363 | CONFIG_INET_XFRM_MODE_BEET=y | ||
364 | # CONFIG_INET_LRO is not set | ||
365 | CONFIG_INET_DIAG=y | ||
366 | CONFIG_INET_TCP_DIAG=y | ||
367 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
368 | CONFIG_TCP_CONG_CUBIC=y | ||
369 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
370 | # CONFIG_TCP_MD5SIG is not set | ||
371 | # CONFIG_IPV6 is not set | ||
372 | # CONFIG_NETWORK_SECMARK is not set | ||
373 | # CONFIG_NETFILTER is not set | ||
374 | # CONFIG_IP_DCCP is not set | ||
375 | # CONFIG_IP_SCTP is not set | ||
376 | # CONFIG_TIPC is not set | ||
377 | # CONFIG_ATM is not set | ||
378 | # CONFIG_BRIDGE is not set | ||
379 | # CONFIG_VLAN_8021Q is not set | ||
380 | # CONFIG_DECNET is not set | ||
381 | # CONFIG_LLC2 is not set | ||
382 | # CONFIG_IPX is not set | ||
383 | # CONFIG_ATALK is not set | ||
384 | # CONFIG_X25 is not set | ||
385 | # CONFIG_LAPB is not set | ||
386 | # CONFIG_ECONET is not set | ||
387 | # CONFIG_WAN_ROUTER is not set | ||
388 | # CONFIG_NET_SCHED is not set | ||
389 | |||
390 | # | ||
391 | # Network testing | ||
392 | # | ||
393 | # CONFIG_NET_PKTGEN is not set | ||
394 | # CONFIG_HAMRADIO is not set | ||
395 | # CONFIG_CAN is not set | ||
396 | # CONFIG_IRDA is not set | ||
397 | CONFIG_BT=m | ||
398 | CONFIG_BT_L2CAP=m | ||
399 | # CONFIG_BT_SCO is not set | ||
400 | CONFIG_BT_RFCOMM=m | ||
401 | CONFIG_BT_RFCOMM_TTY=y | ||
402 | CONFIG_BT_BNEP=m | ||
403 | # CONFIG_BT_BNEP_MC_FILTER is not set | ||
404 | # CONFIG_BT_BNEP_PROTO_FILTER is not set | ||
405 | # CONFIG_BT_HIDP is not set | ||
406 | |||
407 | # | ||
408 | # Bluetooth device drivers | ||
409 | # | ||
410 | CONFIG_BT_HCIUSB=m | ||
411 | # CONFIG_BT_HCIUSB_SCO is not set | ||
412 | # CONFIG_BT_HCIBTUSB is not set | ||
413 | CONFIG_BT_HCIUART=m | ||
414 | CONFIG_BT_HCIUART_H4=y | ||
415 | CONFIG_BT_HCIUART_BCSP=y | ||
416 | # CONFIG_BT_HCIUART_LL is not set | ||
417 | # CONFIG_BT_HCIBCM203X is not set | ||
418 | # CONFIG_BT_HCIBPA10X is not set | ||
419 | # CONFIG_BT_HCIBFUSB is not set | ||
420 | # CONFIG_BT_HCIDTL1 is not set | ||
421 | # CONFIG_BT_HCIBT3C is not set | ||
422 | # CONFIG_BT_HCIBLUECARD is not set | ||
423 | # CONFIG_BT_HCIBTUART is not set | ||
424 | # CONFIG_BT_HCIVHCI is not set | ||
425 | # CONFIG_AF_RXRPC is not set | ||
426 | |||
427 | # | ||
428 | # Wireless | ||
429 | # | ||
430 | # CONFIG_CFG80211 is not set | ||
431 | # CONFIG_WIRELESS_EXT is not set | ||
432 | # CONFIG_MAC80211 is not set | ||
433 | CONFIG_IEEE80211=m | ||
434 | # CONFIG_IEEE80211_DEBUG is not set | ||
435 | CONFIG_IEEE80211_CRYPT_WEP=m | ||
436 | # CONFIG_IEEE80211_CRYPT_CCMP is not set | ||
437 | # CONFIG_IEEE80211_CRYPT_TKIP is not set | ||
438 | # CONFIG_RFKILL is not set | ||
439 | # CONFIG_NET_9P is not set | ||
440 | |||
441 | # | ||
442 | # Device Drivers | ||
443 | # | ||
444 | |||
445 | # | ||
446 | # Generic Driver Options | ||
447 | # | ||
448 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
449 | CONFIG_STANDALONE=y | ||
450 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
451 | CONFIG_FW_LOADER=m | ||
452 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
453 | CONFIG_EXTRA_FIRMWARE="" | ||
454 | # CONFIG_DEBUG_DRIVER is not set | ||
455 | # CONFIG_DEBUG_DEVRES is not set | ||
456 | # CONFIG_SYS_HYPERVISOR is not set | ||
457 | # CONFIG_CONNECTOR is not set | ||
458 | CONFIG_MTD=y | ||
459 | # CONFIG_MTD_DEBUG is not set | ||
460 | # CONFIG_MTD_CONCAT is not set | ||
461 | CONFIG_MTD_PARTITIONS=y | ||
462 | CONFIG_MTD_REDBOOT_PARTS=y | ||
463 | CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=0 | ||
464 | # CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set | ||
465 | # CONFIG_MTD_REDBOOT_PARTS_READONLY is not set | ||
466 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
467 | # CONFIG_MTD_AFS_PARTS is not set | ||
468 | # CONFIG_MTD_AR7_PARTS is not set | ||
469 | |||
470 | # | ||
471 | # User Modules And Translation Layers | ||
472 | # | ||
473 | CONFIG_MTD_CHAR=m | ||
474 | CONFIG_MTD_BLKDEVS=y | ||
475 | CONFIG_MTD_BLOCK=y | ||
476 | # CONFIG_FTL is not set | ||
477 | # CONFIG_NFTL is not set | ||
478 | # CONFIG_INFTL is not set | ||
479 | # CONFIG_RFD_FTL is not set | ||
480 | # CONFIG_SSFDC is not set | ||
481 | # CONFIG_MTD_OOPS is not set | ||
482 | |||
483 | # | ||
484 | # RAM/ROM/Flash chip drivers | ||
485 | # | ||
486 | CONFIG_MTD_CFI=y | ||
487 | CONFIG_MTD_JEDECPROBE=y | ||
488 | CONFIG_MTD_GEN_PROBE=y | ||
489 | CONFIG_MTD_CFI_ADV_OPTIONS=y | ||
490 | CONFIG_MTD_CFI_NOSWAP=y | ||
491 | # CONFIG_MTD_CFI_BE_BYTE_SWAP is not set | ||
492 | # CONFIG_MTD_CFI_LE_BYTE_SWAP is not set | ||
493 | CONFIG_MTD_CFI_GEOMETRY=y | ||
494 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
495 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
496 | # CONFIG_MTD_MAP_BANK_WIDTH_4 is not set | ||
497 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
498 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
499 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
500 | CONFIG_MTD_CFI_I1=y | ||
501 | # CONFIG_MTD_CFI_I2 is not set | ||
502 | # CONFIG_MTD_CFI_I4 is not set | ||
503 | # CONFIG_MTD_CFI_I8 is not set | ||
504 | # CONFIG_MTD_OTP is not set | ||
505 | CONFIG_MTD_CFI_INTELEXT=y | ||
506 | CONFIG_MTD_CFI_AMDSTD=y | ||
507 | # CONFIG_MTD_CFI_STAA is not set | ||
508 | CONFIG_MTD_CFI_UTIL=y | ||
509 | CONFIG_MTD_RAM=y | ||
510 | # CONFIG_MTD_ROM is not set | ||
511 | # CONFIG_MTD_ABSENT is not set | ||
512 | # CONFIG_MTD_XIP is not set | ||
513 | |||
514 | # | ||
515 | # Mapping drivers for chip access | ||
516 | # | ||
517 | CONFIG_MTD_COMPLEX_MAPPINGS=y | ||
518 | CONFIG_MTD_PHYSMAP=y | ||
519 | CONFIG_MTD_PHYSMAP_START=0x8000000 | ||
520 | CONFIG_MTD_PHYSMAP_LEN=0 | ||
521 | CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | ||
522 | CONFIG_MTD_PXA2XX=y | ||
523 | # CONFIG_MTD_ARM_INTEGRATOR is not set | ||
524 | # CONFIG_MTD_IMPA7 is not set | ||
525 | # CONFIG_MTD_SHARP_SL is not set | ||
526 | # CONFIG_MTD_PLATRAM is not set | ||
527 | CONFIG_MTD_SPARSE_RAM=y | ||
528 | |||
529 | # | ||
530 | # Self-contained MTD device drivers | ||
531 | # | ||
532 | # CONFIG_MTD_SLRAM is not set | ||
533 | # CONFIG_MTD_PHRAM is not set | ||
534 | # CONFIG_MTD_MTDRAM is not set | ||
535 | # CONFIG_MTD_BLOCK2MTD is not set | ||
536 | |||
537 | # | ||
538 | # Disk-On-Chip Device Drivers | ||
539 | # | ||
540 | # CONFIG_MTD_DOC2000 is not set | ||
541 | # CONFIG_MTD_DOC2001 is not set | ||
542 | # CONFIG_MTD_DOC2001PLUS is not set | ||
543 | # CONFIG_MTD_NAND is not set | ||
544 | # CONFIG_MTD_ONENAND is not set | ||
545 | |||
546 | # | ||
547 | # UBI - Unsorted block images | ||
548 | # | ||
549 | # CONFIG_MTD_UBI is not set | ||
550 | # CONFIG_PARPORT is not set | ||
551 | # CONFIG_PNP is not set | ||
552 | CONFIG_BLK_DEV=y | ||
553 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
554 | CONFIG_BLK_DEV_LOOP=m | ||
555 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
556 | # CONFIG_BLK_DEV_NBD is not set | ||
557 | # CONFIG_BLK_DEV_UB is not set | ||
558 | # CONFIG_BLK_DEV_RAM is not set | ||
559 | # CONFIG_CDROM_PKTCDVD is not set | ||
560 | # CONFIG_ATA_OVER_ETH is not set | ||
561 | CONFIG_MISC_DEVICES=y | ||
562 | # CONFIG_EEPROM_93CX6 is not set | ||
563 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
564 | CONFIG_HAVE_IDE=y | ||
565 | # CONFIG_IDE is not set | ||
566 | |||
567 | # | ||
568 | # SCSI device support | ||
569 | # | ||
570 | # CONFIG_RAID_ATTRS is not set | ||
571 | CONFIG_SCSI=m | ||
572 | CONFIG_SCSI_DMA=y | ||
573 | # CONFIG_SCSI_TGT is not set | ||
574 | # CONFIG_SCSI_NETLINK is not set | ||
575 | # CONFIG_SCSI_PROC_FS is not set | ||
576 | |||
577 | # | ||
578 | # SCSI support type (disk, tape, CD-ROM) | ||
579 | # | ||
580 | CONFIG_BLK_DEV_SD=m | ||
581 | # CONFIG_CHR_DEV_ST is not set | ||
582 | # CONFIG_CHR_DEV_OSST is not set | ||
583 | # CONFIG_BLK_DEV_SR is not set | ||
584 | # CONFIG_CHR_DEV_SG is not set | ||
585 | # CONFIG_CHR_DEV_SCH is not set | ||
586 | |||
587 | # | ||
588 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
589 | # | ||
590 | # CONFIG_SCSI_MULTI_LUN is not set | ||
591 | # CONFIG_SCSI_CONSTANTS is not set | ||
592 | # CONFIG_SCSI_LOGGING is not set | ||
593 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
594 | CONFIG_SCSI_WAIT_SCAN=m | ||
595 | |||
596 | # | ||
597 | # SCSI Transports | ||
598 | # | ||
599 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
600 | # CONFIG_SCSI_FC_ATTRS is not set | ||
601 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
602 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
603 | # CONFIG_SCSI_SRP_ATTRS is not set | ||
604 | CONFIG_SCSI_LOWLEVEL=y | ||
605 | # CONFIG_ISCSI_TCP is not set | ||
606 | # CONFIG_SCSI_AHA152X is not set | ||
607 | # CONFIG_SCSI_AIC7XXX_OLD is not set | ||
608 | # CONFIG_SCSI_ADVANSYS is not set | ||
609 | # CONFIG_SCSI_IN2000 is not set | ||
610 | # CONFIG_SCSI_DTC3280 is not set | ||
611 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | ||
612 | # CONFIG_SCSI_GENERIC_NCR5380 is not set | ||
613 | # CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set | ||
614 | # CONFIG_SCSI_NCR53C406A is not set | ||
615 | # CONFIG_SCSI_PAS16 is not set | ||
616 | # CONFIG_SCSI_QLOGIC_FAS is not set | ||
617 | # CONFIG_SCSI_SYM53C416 is not set | ||
618 | # CONFIG_SCSI_T128 is not set | ||
619 | # CONFIG_SCSI_DEBUG is not set | ||
620 | # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set | ||
621 | # CONFIG_SCSI_DH is not set | ||
622 | CONFIG_ATA=m | ||
623 | # CONFIG_ATA_NONSTANDARD is not set | ||
624 | # CONFIG_SATA_PMP is not set | ||
625 | CONFIG_ATA_SFF=y | ||
626 | # CONFIG_SATA_MV is not set | ||
627 | # CONFIG_PATA_LEGACY is not set | ||
628 | CONFIG_PATA_PCMCIA=m | ||
629 | # CONFIG_PATA_QDI is not set | ||
630 | # CONFIG_PATA_WINBOND_VLB is not set | ||
631 | # CONFIG_PATA_PLATFORM is not set | ||
632 | # CONFIG_MD is not set | ||
633 | CONFIG_NETDEVICES=y | ||
634 | # CONFIG_DUMMY is not set | ||
635 | # CONFIG_BONDING is not set | ||
636 | # CONFIG_MACVLAN is not set | ||
637 | # CONFIG_EQUALIZER is not set | ||
638 | # CONFIG_TUN is not set | ||
639 | # CONFIG_VETH is not set | ||
640 | # CONFIG_ARCNET is not set | ||
641 | # CONFIG_PHYLIB is not set | ||
642 | CONFIG_NET_ETHERNET=y | ||
643 | CONFIG_MII=y | ||
644 | # CONFIG_AX88796 is not set | ||
645 | # CONFIG_NET_VENDOR_3COM is not set | ||
646 | # CONFIG_NET_VENDOR_SMC is not set | ||
647 | CONFIG_SMC91X=y | ||
648 | # CONFIG_DM9000 is not set | ||
649 | # CONFIG_SMC911X is not set | ||
650 | # CONFIG_NET_VENDOR_RACAL is not set | ||
651 | # CONFIG_AT1700 is not set | ||
652 | # CONFIG_DEPCA is not set | ||
653 | # CONFIG_HP100 is not set | ||
654 | # CONFIG_NET_ISA is not set | ||
655 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
656 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
657 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
658 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
659 | # CONFIG_NET_PCI is not set | ||
660 | # CONFIG_B44 is not set | ||
661 | # CONFIG_NETDEV_1000 is not set | ||
662 | # CONFIG_NETDEV_10000 is not set | ||
663 | # CONFIG_TR is not set | ||
664 | |||
665 | # | ||
666 | # Wireless LAN | ||
667 | # | ||
668 | # CONFIG_WLAN_PRE80211 is not set | ||
669 | # CONFIG_WLAN_80211 is not set | ||
670 | # CONFIG_IWLWIFI_LEDS is not set | ||
671 | |||
672 | # | ||
673 | # USB Network Adapters | ||
674 | # | ||
675 | # CONFIG_USB_CATC is not set | ||
676 | # CONFIG_USB_KAWETH is not set | ||
677 | CONFIG_USB_PEGASUS=m | ||
678 | # CONFIG_USB_RTL8150 is not set | ||
679 | CONFIG_USB_USBNET=m | ||
680 | CONFIG_USB_NET_AX8817X=m | ||
681 | CONFIG_USB_NET_CDCETHER=m | ||
682 | # CONFIG_USB_NET_DM9601 is not set | ||
683 | # CONFIG_USB_NET_GL620A is not set | ||
684 | CONFIG_USB_NET_NET1080=m | ||
685 | # CONFIG_USB_NET_PLUSB is not set | ||
686 | # CONFIG_USB_NET_MCS7830 is not set | ||
687 | # CONFIG_USB_NET_RNDIS_HOST is not set | ||
688 | # CONFIG_USB_NET_CDC_SUBSET is not set | ||
689 | CONFIG_USB_NET_ZAURUS=m | ||
690 | CONFIG_NET_PCMCIA=y | ||
691 | # CONFIG_PCMCIA_3C589 is not set | ||
692 | # CONFIG_PCMCIA_3C574 is not set | ||
693 | # CONFIG_PCMCIA_FMVJ18X is not set | ||
694 | # CONFIG_PCMCIA_PCNET is not set | ||
695 | # CONFIG_PCMCIA_NMCLAN is not set | ||
696 | # CONFIG_PCMCIA_SMC91C92 is not set | ||
697 | # CONFIG_PCMCIA_XIRC2PS is not set | ||
698 | # CONFIG_PCMCIA_AXNET is not set | ||
699 | # CONFIG_WAN is not set | ||
700 | CONFIG_PPP=m | ||
701 | # CONFIG_PPP_MULTILINK is not set | ||
702 | # CONFIG_PPP_FILTER is not set | ||
703 | CONFIG_PPP_ASYNC=m | ||
704 | # CONFIG_PPP_SYNC_TTY is not set | ||
705 | CONFIG_PPP_DEFLATE=m | ||
706 | CONFIG_PPP_BSDCOMP=m | ||
707 | # CONFIG_PPP_MPPE is not set | ||
708 | # CONFIG_PPPOE is not set | ||
709 | # CONFIG_PPPOL2TP is not set | ||
710 | # CONFIG_SLIP is not set | ||
711 | CONFIG_SLHC=m | ||
712 | # CONFIG_NETCONSOLE is not set | ||
713 | # CONFIG_NETPOLL is not set | ||
714 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
715 | # CONFIG_ISDN is not set | ||
716 | |||
717 | # | ||
718 | # Input device support | ||
719 | # | ||
720 | CONFIG_INPUT=y | ||
721 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
722 | # CONFIG_INPUT_POLLDEV is not set | ||
723 | |||
724 | # | ||
725 | # Userland interfaces | ||
726 | # | ||
727 | CONFIG_INPUT_MOUSEDEV=m | ||
728 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
729 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
730 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
731 | # CONFIG_INPUT_JOYDEV is not set | ||
732 | CONFIG_INPUT_EVDEV=m | ||
733 | # CONFIG_INPUT_EVBUG is not set | ||
734 | |||
735 | # | ||
736 | # Input Device Drivers | ||
737 | # | ||
738 | # CONFIG_INPUT_KEYBOARD is not set | ||
739 | # CONFIG_INPUT_MOUSE is not set | ||
740 | # CONFIG_INPUT_JOYSTICK is not set | ||
741 | # CONFIG_INPUT_TABLET is not set | ||
742 | CONFIG_INPUT_TOUCHSCREEN=y | ||
743 | CONFIG_TOUCHSCREEN_FUJITSU=m | ||
744 | # CONFIG_TOUCHSCREEN_GUNZE is not set | ||
745 | CONFIG_TOUCHSCREEN_ELO=m | ||
746 | CONFIG_TOUCHSCREEN_MTOUCH=m | ||
747 | CONFIG_TOUCHSCREEN_INEXIO=m | ||
748 | # CONFIG_TOUCHSCREEN_MK712 is not set | ||
749 | CONFIG_TOUCHSCREEN_HTCPEN=m | ||
750 | CONFIG_TOUCHSCREEN_PENMOUNT=m | ||
751 | CONFIG_TOUCHSCREEN_TOUCHRIGHT=m | ||
752 | CONFIG_TOUCHSCREEN_TOUCHWIN=m | ||
753 | # CONFIG_TOUCHSCREEN_UCB1400 is not set | ||
754 | # CONFIG_TOUCHSCREEN_WM97XX is not set | ||
755 | # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set | ||
756 | CONFIG_TOUCHSCREEN_TOUCHIT213=m | ||
757 | CONFIG_INPUT_MISC=y | ||
758 | # CONFIG_INPUT_ATI_REMOTE is not set | ||
759 | # CONFIG_INPUT_ATI_REMOTE2 is not set | ||
760 | # CONFIG_INPUT_KEYSPAN_REMOTE is not set | ||
761 | # CONFIG_INPUT_POWERMATE is not set | ||
762 | # CONFIG_INPUT_YEALINK is not set | ||
763 | CONFIG_INPUT_UINPUT=m | ||
764 | |||
765 | # | ||
766 | # Hardware I/O ports | ||
767 | # | ||
768 | CONFIG_SERIO=y | ||
769 | CONFIG_SERIO_SERPORT=y | ||
770 | # CONFIG_SERIO_LIBPS2 is not set | ||
771 | # CONFIG_SERIO_RAW is not set | ||
772 | # CONFIG_GAMEPORT is not set | ||
773 | |||
774 | # | ||
775 | # Character devices | ||
776 | # | ||
777 | CONFIG_VT=y | ||
778 | # CONFIG_CONSOLE_TRANSLATIONS is not set | ||
779 | # CONFIG_VT_CONSOLE is not set | ||
780 | CONFIG_HW_CONSOLE=y | ||
781 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
782 | CONFIG_DEVKMEM=y | ||
783 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
784 | |||
785 | # | ||
786 | # Serial drivers | ||
787 | # | ||
788 | CONFIG_SERIAL_8250=m | ||
789 | # CONFIG_SERIAL_8250_CS is not set | ||
790 | CONFIG_SERIAL_8250_NR_UARTS=5 | ||
791 | CONFIG_SERIAL_8250_RUNTIME_UARTS=5 | ||
792 | # CONFIG_SERIAL_8250_EXTENDED is not set | ||
793 | |||
794 | # | ||
795 | # Non-8250 serial port support | ||
796 | # | ||
797 | CONFIG_SERIAL_PXA=y | ||
798 | CONFIG_SERIAL_PXA_CONSOLE=y | ||
799 | CONFIG_SERIAL_CORE=y | ||
800 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
801 | CONFIG_UNIX98_PTYS=y | ||
802 | # CONFIG_LEGACY_PTYS is not set | ||
803 | # CONFIG_IPMI_HANDLER is not set | ||
804 | CONFIG_HW_RANDOM=m | ||
805 | # CONFIG_NVRAM is not set | ||
806 | # CONFIG_DTLK is not set | ||
807 | # CONFIG_R3964 is not set | ||
808 | |||
809 | # | ||
810 | # PCMCIA character devices | ||
811 | # | ||
812 | # CONFIG_SYNCLINK_CS is not set | ||
813 | # CONFIG_CARDMAN_4000 is not set | ||
814 | # CONFIG_CARDMAN_4040 is not set | ||
815 | # CONFIG_IPWIRELESS is not set | ||
816 | # CONFIG_RAW_DRIVER is not set | ||
817 | # CONFIG_TCG_TPM is not set | ||
818 | CONFIG_DEVPORT=y | ||
819 | CONFIG_I2C=y | ||
820 | CONFIG_I2C_BOARDINFO=y | ||
821 | CONFIG_I2C_CHARDEV=y | ||
822 | # CONFIG_I2C_HELPER_AUTO is not set | ||
823 | |||
824 | # | ||
825 | # I2C Algorithms | ||
826 | # | ||
827 | CONFIG_I2C_ALGOBIT=y | ||
828 | # CONFIG_I2C_ALGOPCF is not set | ||
829 | # CONFIG_I2C_ALGOPCA is not set | ||
830 | |||
831 | # | ||
832 | # I2C Hardware Bus support | ||
833 | # | ||
834 | |||
835 | # | ||
836 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
837 | # | ||
838 | CONFIG_I2C_GPIO=y | ||
839 | # CONFIG_I2C_OCORES is not set | ||
840 | CONFIG_I2C_PXA=y | ||
841 | # CONFIG_I2C_PXA_SLAVE is not set | ||
842 | # CONFIG_I2C_SIMTEC is not set | ||
843 | |||
844 | # | ||
845 | # External I2C/SMBus adapter drivers | ||
846 | # | ||
847 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
848 | # CONFIG_I2C_TAOS_EVM is not set | ||
849 | # CONFIG_I2C_TINY_USB is not set | ||
850 | |||
851 | # | ||
852 | # Other I2C/SMBus bus drivers | ||
853 | # | ||
854 | # CONFIG_I2C_ELEKTOR is not set | ||
855 | # CONFIG_I2C_PCA_ISA is not set | ||
856 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
857 | # CONFIG_I2C_STUB is not set | ||
858 | |||
859 | # | ||
860 | # Miscellaneous I2C Chip support | ||
861 | # | ||
862 | # CONFIG_DS1682 is not set | ||
863 | # CONFIG_AT24 is not set | ||
864 | # CONFIG_SENSORS_EEPROM is not set | ||
865 | # CONFIG_SENSORS_PCF8574 is not set | ||
866 | # CONFIG_PCF8575 is not set | ||
867 | # CONFIG_SENSORS_PCA9539 is not set | ||
868 | # CONFIG_SENSORS_PCF8591 is not set | ||
869 | # CONFIG_TPS65010 is not set | ||
870 | # CONFIG_SENSORS_MAX6875 is not set | ||
871 | # CONFIG_SENSORS_TSL2550 is not set | ||
872 | # CONFIG_I2C_DEBUG_CORE is not set | ||
873 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
874 | # CONFIG_I2C_DEBUG_BUS is not set | ||
875 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
876 | # CONFIG_SPI is not set | ||
877 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | ||
878 | CONFIG_GPIOLIB=y | ||
879 | # CONFIG_DEBUG_GPIO is not set | ||
880 | CONFIG_GPIO_SYSFS=y | ||
881 | |||
882 | # | ||
883 | # I2C GPIO expanders: | ||
884 | # | ||
885 | # CONFIG_GPIO_MAX732X is not set | ||
886 | # CONFIG_GPIO_PCA953X is not set | ||
887 | # CONFIG_GPIO_PCF857X is not set | ||
888 | |||
889 | # | ||
890 | # PCI GPIO expanders: | ||
891 | # | ||
892 | |||
893 | # | ||
894 | # SPI GPIO expanders: | ||
895 | # | ||
896 | # CONFIG_W1 is not set | ||
897 | # CONFIG_POWER_SUPPLY is not set | ||
898 | CONFIG_HWMON=y | ||
899 | # CONFIG_HWMON_VID is not set | ||
900 | # CONFIG_SENSORS_AD7414 is not set | ||
901 | # CONFIG_SENSORS_AD7418 is not set | ||
902 | # CONFIG_SENSORS_ADM1021 is not set | ||
903 | # CONFIG_SENSORS_ADM1025 is not set | ||
904 | # CONFIG_SENSORS_ADM1026 is not set | ||
905 | # CONFIG_SENSORS_ADM1029 is not set | ||
906 | # CONFIG_SENSORS_ADM1031 is not set | ||
907 | # CONFIG_SENSORS_ADM9240 is not set | ||
908 | # CONFIG_SENSORS_ADT7470 is not set | ||
909 | # CONFIG_SENSORS_ADT7473 is not set | ||
910 | # CONFIG_SENSORS_ATXP1 is not set | ||
911 | # CONFIG_SENSORS_DS1621 is not set | ||
912 | # CONFIG_SENSORS_F71805F is not set | ||
913 | # CONFIG_SENSORS_F71882FG is not set | ||
914 | # CONFIG_SENSORS_F75375S is not set | ||
915 | # CONFIG_SENSORS_GL518SM is not set | ||
916 | # CONFIG_SENSORS_GL520SM is not set | ||
917 | # CONFIG_SENSORS_IT87 is not set | ||
918 | # CONFIG_SENSORS_LM63 is not set | ||
919 | # CONFIG_SENSORS_LM75 is not set | ||
920 | # CONFIG_SENSORS_LM77 is not set | ||
921 | # CONFIG_SENSORS_LM78 is not set | ||
922 | # CONFIG_SENSORS_LM80 is not set | ||
923 | # CONFIG_SENSORS_LM83 is not set | ||
924 | # CONFIG_SENSORS_LM85 is not set | ||
925 | # CONFIG_SENSORS_LM87 is not set | ||
926 | # CONFIG_SENSORS_LM90 is not set | ||
927 | # CONFIG_SENSORS_LM92 is not set | ||
928 | # CONFIG_SENSORS_LM93 is not set | ||
929 | # CONFIG_SENSORS_MAX1619 is not set | ||
930 | # CONFIG_SENSORS_MAX6650 is not set | ||
931 | # CONFIG_SENSORS_PC87360 is not set | ||
932 | # CONFIG_SENSORS_PC87427 is not set | ||
933 | # CONFIG_SENSORS_DME1737 is not set | ||
934 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
935 | # CONFIG_SENSORS_SMSC47M192 is not set | ||
936 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
937 | # CONFIG_SENSORS_ADS7828 is not set | ||
938 | # CONFIG_SENSORS_THMC50 is not set | ||
939 | # CONFIG_SENSORS_VT1211 is not set | ||
940 | # CONFIG_SENSORS_W83781D is not set | ||
941 | # CONFIG_SENSORS_W83791D is not set | ||
942 | # CONFIG_SENSORS_W83792D is not set | ||
943 | # CONFIG_SENSORS_W83793 is not set | ||
944 | # CONFIG_SENSORS_W83L785TS is not set | ||
945 | # CONFIG_SENSORS_W83L786NG is not set | ||
946 | # CONFIG_SENSORS_W83627HF is not set | ||
947 | # CONFIG_SENSORS_W83627EHF is not set | ||
948 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
949 | CONFIG_WATCHDOG=y | ||
950 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
951 | |||
952 | # | ||
953 | # Watchdog Device Drivers | ||
954 | # | ||
955 | # CONFIG_SOFT_WATCHDOG is not set | ||
956 | # CONFIG_SA1100_WATCHDOG is not set | ||
957 | |||
958 | # | ||
959 | # ISA-based Watchdog Cards | ||
960 | # | ||
961 | # CONFIG_PCWATCHDOG is not set | ||
962 | # CONFIG_MIXCOMWD is not set | ||
963 | # CONFIG_WDT is not set | ||
964 | |||
965 | # | ||
966 | # USB-based Watchdog Cards | ||
967 | # | ||
968 | # CONFIG_USBPCWATCHDOG is not set | ||
969 | |||
970 | # | ||
971 | # Sonics Silicon Backplane | ||
972 | # | ||
973 | CONFIG_SSB_POSSIBLE=y | ||
974 | # CONFIG_SSB is not set | ||
975 | |||
976 | # | ||
977 | # Multifunction device drivers | ||
978 | # | ||
979 | # CONFIG_MFD_CORE is not set | ||
980 | # CONFIG_MFD_SM501 is not set | ||
981 | # CONFIG_HTC_EGPIO is not set | ||
982 | # CONFIG_HTC_PASIC3 is not set | ||
983 | # CONFIG_MFD_TMIO is not set | ||
984 | # CONFIG_MFD_T7L66XB is not set | ||
985 | # CONFIG_MFD_TC6387XB is not set | ||
986 | # CONFIG_MFD_TC6393XB is not set | ||
987 | |||
988 | # | ||
989 | # Multimedia devices | ||
990 | # | ||
991 | |||
992 | # | ||
993 | # Multimedia core support | ||
994 | # | ||
995 | # CONFIG_VIDEO_DEV is not set | ||
996 | # CONFIG_DVB_CORE is not set | ||
997 | # CONFIG_VIDEO_MEDIA is not set | ||
998 | |||
999 | # | ||
1000 | # Multimedia drivers | ||
1001 | # | ||
1002 | # CONFIG_DAB is not set | ||
1003 | |||
1004 | # | ||
1005 | # Graphics support | ||
1006 | # | ||
1007 | # CONFIG_VGASTATE is not set | ||
1008 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
1009 | CONFIG_FB=y | ||
1010 | # CONFIG_FIRMWARE_EDID is not set | ||
1011 | # CONFIG_FB_DDC is not set | ||
1012 | CONFIG_FB_CFB_FILLRECT=m | ||
1013 | CONFIG_FB_CFB_COPYAREA=m | ||
1014 | CONFIG_FB_CFB_IMAGEBLIT=m | ||
1015 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
1016 | # CONFIG_FB_SYS_FILLRECT is not set | ||
1017 | # CONFIG_FB_SYS_COPYAREA is not set | ||
1018 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
1019 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
1020 | # CONFIG_FB_SYS_FOPS is not set | ||
1021 | # CONFIG_FB_SVGALIB is not set | ||
1022 | # CONFIG_FB_MACMODES is not set | ||
1023 | # CONFIG_FB_BACKLIGHT is not set | ||
1024 | # CONFIG_FB_MODE_HELPERS is not set | ||
1025 | # CONFIG_FB_TILEBLITTING is not set | ||
1026 | |||
1027 | # | ||
1028 | # Frame buffer hardware drivers | ||
1029 | # | ||
1030 | # CONFIG_FB_S1D13XXX is not set | ||
1031 | CONFIG_FB_PXA=m | ||
1032 | # CONFIG_FB_PXA_SMARTPANEL is not set | ||
1033 | CONFIG_FB_PXA_PARAMETERS=y | ||
1034 | # CONFIG_FB_MBX is not set | ||
1035 | # CONFIG_FB_W100 is not set | ||
1036 | # CONFIG_FB_AM200EPD is not set | ||
1037 | # CONFIG_FB_VIRTUAL is not set | ||
1038 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
1039 | CONFIG_LCD_CLASS_DEVICE=m | ||
1040 | # CONFIG_LCD_ILI9320 is not set | ||
1041 | # CONFIG_LCD_PLATFORM is not set | ||
1042 | CONFIG_BACKLIGHT_CLASS_DEVICE=m | ||
1043 | # CONFIG_BACKLIGHT_CORGI is not set | ||
1044 | CONFIG_BACKLIGHT_PWM=m | ||
1045 | |||
1046 | # | ||
1047 | # Display device support | ||
1048 | # | ||
1049 | # CONFIG_DISPLAY_SUPPORT is not set | ||
1050 | |||
1051 | # | ||
1052 | # Console display driver support | ||
1053 | # | ||
1054 | # CONFIG_VGA_CONSOLE is not set | ||
1055 | # CONFIG_MDA_CONSOLE is not set | ||
1056 | CONFIG_DUMMY_CONSOLE=y | ||
1057 | CONFIG_FRAMEBUFFER_CONSOLE=m | ||
1058 | # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set | ||
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 | CONFIG_LOGO=y | ||
1064 | CONFIG_LOGO_LINUX_MONO=y | ||
1065 | CONFIG_LOGO_LINUX_VGA16=y | ||
1066 | CONFIG_LOGO_LINUX_CLUT224=y | ||
1067 | CONFIG_SOUND=m | ||
1068 | CONFIG_SND=m | ||
1069 | CONFIG_SND_TIMER=m | ||
1070 | CONFIG_SND_PCM=m | ||
1071 | # CONFIG_SND_SEQUENCER is not set | ||
1072 | CONFIG_SND_OSSEMUL=y | ||
1073 | CONFIG_SND_MIXER_OSS=m | ||
1074 | CONFIG_SND_PCM_OSS=m | ||
1075 | CONFIG_SND_PCM_OSS_PLUGINS=y | ||
1076 | # CONFIG_SND_DYNAMIC_MINORS is not set | ||
1077 | CONFIG_SND_SUPPORT_OLD_API=y | ||
1078 | CONFIG_SND_VERBOSE_PROCFS=y | ||
1079 | # CONFIG_SND_VERBOSE_PRINTK is not set | ||
1080 | # CONFIG_SND_DEBUG is not set | ||
1081 | CONFIG_SND_VMASTER=y | ||
1082 | CONFIG_SND_AC97_CODEC=m | ||
1083 | CONFIG_SND_DRIVERS=y | ||
1084 | # CONFIG_SND_DUMMY is not set | ||
1085 | # CONFIG_SND_MTPAV is not set | ||
1086 | # CONFIG_SND_SERIAL_U16550 is not set | ||
1087 | # CONFIG_SND_MPU401 is not set | ||
1088 | # CONFIG_SND_AC97_POWER_SAVE is not set | ||
1089 | CONFIG_SND_ARM=y | ||
1090 | CONFIG_SND_PXA2XX_PCM=m | ||
1091 | CONFIG_SND_PXA2XX_AC97=m | ||
1092 | CONFIG_SND_USB=y | ||
1093 | # CONFIG_SND_USB_AUDIO is not set | ||
1094 | # CONFIG_SND_USB_CAIAQ is not set | ||
1095 | CONFIG_SND_PCMCIA=y | ||
1096 | # CONFIG_SND_VXPOCKET is not set | ||
1097 | # CONFIG_SND_PDAUDIOCF is not set | ||
1098 | # CONFIG_SND_SOC is not set | ||
1099 | # CONFIG_SOUND_PRIME is not set | ||
1100 | CONFIG_AC97_BUS=m | ||
1101 | CONFIG_HID_SUPPORT=y | ||
1102 | CONFIG_HID=y | ||
1103 | # CONFIG_HID_DEBUG is not set | ||
1104 | # CONFIG_HIDRAW is not set | ||
1105 | |||
1106 | # | ||
1107 | # USB Input Devices | ||
1108 | # | ||
1109 | CONFIG_USB_HID=m | ||
1110 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set | ||
1111 | # CONFIG_HID_FF is not set | ||
1112 | # CONFIG_USB_HIDDEV is not set | ||
1113 | |||
1114 | # | ||
1115 | # USB HID Boot Protocol drivers | ||
1116 | # | ||
1117 | # CONFIG_USB_KBD is not set | ||
1118 | # CONFIG_USB_MOUSE is not set | ||
1119 | CONFIG_USB_SUPPORT=y | ||
1120 | CONFIG_USB_ARCH_HAS_HCD=y | ||
1121 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
1122 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
1123 | CONFIG_USB=m | ||
1124 | # CONFIG_USB_DEBUG is not set | ||
1125 | # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set | ||
1126 | |||
1127 | # | ||
1128 | # Miscellaneous USB options | ||
1129 | # | ||
1130 | CONFIG_USB_DEVICEFS=y | ||
1131 | CONFIG_USB_DEVICE_CLASS=y | ||
1132 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
1133 | CONFIG_USB_SUSPEND=y | ||
1134 | # CONFIG_USB_OTG is not set | ||
1135 | # CONFIG_USB_OTG_WHITELIST is not set | ||
1136 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
1137 | # CONFIG_USB_MON is not set | ||
1138 | |||
1139 | # | ||
1140 | # USB Host Controller Drivers | ||
1141 | # | ||
1142 | # CONFIG_USB_C67X00_HCD is not set | ||
1143 | CONFIG_USB_ISP116X_HCD=m | ||
1144 | # CONFIG_USB_ISP1760_HCD is not set | ||
1145 | CONFIG_USB_SL811_HCD=m | ||
1146 | # CONFIG_USB_SL811_CS is not set | ||
1147 | CONFIG_USB_R8A66597_HCD=m | ||
1148 | # CONFIG_USB_MUSB_HDRC is not set | ||
1149 | # CONFIG_USB_GADGET_MUSB_HDRC is not set | ||
1150 | |||
1151 | # | ||
1152 | # USB Device Class drivers | ||
1153 | # | ||
1154 | CONFIG_USB_ACM=m | ||
1155 | # CONFIG_USB_PRINTER is not set | ||
1156 | # CONFIG_USB_WDM is not set | ||
1157 | |||
1158 | # | ||
1159 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
1160 | # | ||
1161 | |||
1162 | # | ||
1163 | # may also be needed; see USB_STORAGE Help for more information | ||
1164 | # | ||
1165 | CONFIG_USB_STORAGE=m | ||
1166 | # CONFIG_USB_STORAGE_DEBUG is not set | ||
1167 | # CONFIG_USB_STORAGE_DATAFAB is not set | ||
1168 | # CONFIG_USB_STORAGE_FREECOM is not set | ||
1169 | # CONFIG_USB_STORAGE_ISD200 is not set | ||
1170 | # CONFIG_USB_STORAGE_DPCM is not set | ||
1171 | # CONFIG_USB_STORAGE_USBAT is not set | ||
1172 | # CONFIG_USB_STORAGE_SDDR09 is not set | ||
1173 | # CONFIG_USB_STORAGE_SDDR55 is not set | ||
1174 | # CONFIG_USB_STORAGE_JUMPSHOT is not set | ||
1175 | # CONFIG_USB_STORAGE_ALAUDA is not set | ||
1176 | # CONFIG_USB_STORAGE_ONETOUCH is not set | ||
1177 | # CONFIG_USB_STORAGE_KARMA is not set | ||
1178 | # CONFIG_USB_STORAGE_SIERRA is not set | ||
1179 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set | ||
1180 | # CONFIG_USB_LIBUSUAL is not set | ||
1181 | |||
1182 | # | ||
1183 | # USB Imaging devices | ||
1184 | # | ||
1185 | # CONFIG_USB_MDC800 is not set | ||
1186 | # CONFIG_USB_MICROTEK is not set | ||
1187 | |||
1188 | # | ||
1189 | # USB port drivers | ||
1190 | # | ||
1191 | CONFIG_USB_SERIAL=m | ||
1192 | # CONFIG_USB_EZUSB is not set | ||
1193 | CONFIG_USB_SERIAL_GENERIC=y | ||
1194 | # CONFIG_USB_SERIAL_AIRCABLE is not set | ||
1195 | # CONFIG_USB_SERIAL_ARK3116 is not set | ||
1196 | # CONFIG_USB_SERIAL_BELKIN is not set | ||
1197 | # CONFIG_USB_SERIAL_CH341 is not set | ||
1198 | # CONFIG_USB_SERIAL_WHITEHEAT is not set | ||
1199 | # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set | ||
1200 | # CONFIG_USB_SERIAL_CP2101 is not set | ||
1201 | # CONFIG_USB_SERIAL_CYPRESS_M8 is not set | ||
1202 | # CONFIG_USB_SERIAL_EMPEG is not set | ||
1203 | # CONFIG_USB_SERIAL_FTDI_SIO is not set | ||
1204 | # CONFIG_USB_SERIAL_FUNSOFT is not set | ||
1205 | # CONFIG_USB_SERIAL_VISOR is not set | ||
1206 | # CONFIG_USB_SERIAL_IPAQ is not set | ||
1207 | # CONFIG_USB_SERIAL_IR is not set | ||
1208 | # CONFIG_USB_SERIAL_EDGEPORT is not set | ||
1209 | # CONFIG_USB_SERIAL_EDGEPORT_TI is not set | ||
1210 | # CONFIG_USB_SERIAL_GARMIN is not set | ||
1211 | # CONFIG_USB_SERIAL_IPW is not set | ||
1212 | # CONFIG_USB_SERIAL_IUU is not set | ||
1213 | # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set | ||
1214 | # CONFIG_USB_SERIAL_KEYSPAN is not set | ||
1215 | # CONFIG_USB_SERIAL_KLSI is not set | ||
1216 | # CONFIG_USB_SERIAL_KOBIL_SCT is not set | ||
1217 | CONFIG_USB_SERIAL_MCT_U232=m | ||
1218 | # CONFIG_USB_SERIAL_MOS7720 is not set | ||
1219 | # CONFIG_USB_SERIAL_MOS7840 is not set | ||
1220 | # CONFIG_USB_SERIAL_MOTOROLA is not set | ||
1221 | # CONFIG_USB_SERIAL_NAVMAN is not set | ||
1222 | # CONFIG_USB_SERIAL_PL2303 is not set | ||
1223 | # CONFIG_USB_SERIAL_OTI6858 is not set | ||
1224 | # CONFIG_USB_SERIAL_SPCP8X5 is not set | ||
1225 | # CONFIG_USB_SERIAL_HP4X is not set | ||
1226 | # CONFIG_USB_SERIAL_SAFE is not set | ||
1227 | # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set | ||
1228 | # CONFIG_USB_SERIAL_TI is not set | ||
1229 | # CONFIG_USB_SERIAL_CYBERJACK is not set | ||
1230 | # CONFIG_USB_SERIAL_XIRCOM is not set | ||
1231 | # CONFIG_USB_SERIAL_OPTION is not set | ||
1232 | # CONFIG_USB_SERIAL_OMNINET is not set | ||
1233 | # CONFIG_USB_SERIAL_DEBUG is not set | ||
1234 | |||
1235 | # | ||
1236 | # USB Miscellaneous drivers | ||
1237 | # | ||
1238 | # CONFIG_USB_EMI62 is not set | ||
1239 | # CONFIG_USB_EMI26 is not set | ||
1240 | # CONFIG_USB_ADUTUX is not set | ||
1241 | # CONFIG_USB_RIO500 is not set | ||
1242 | # CONFIG_USB_LEGOTOWER is not set | ||
1243 | # CONFIG_USB_LCD is not set | ||
1244 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1245 | # CONFIG_USB_LED is not set | ||
1246 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
1247 | # CONFIG_USB_CYTHERM is not set | ||
1248 | # CONFIG_USB_PHIDGET is not set | ||
1249 | # CONFIG_USB_IDMOUSE is not set | ||
1250 | # CONFIG_USB_FTDI_ELAN is not set | ||
1251 | # CONFIG_USB_APPLEDISPLAY is not set | ||
1252 | # CONFIG_USB_LD is not set | ||
1253 | # CONFIG_USB_TRANCEVIBRATOR is not set | ||
1254 | # CONFIG_USB_IOWARRIOR is not set | ||
1255 | # CONFIG_USB_TEST is not set | ||
1256 | # CONFIG_USB_ISIGHTFW is not set | ||
1257 | CONFIG_USB_GADGET=m | ||
1258 | # CONFIG_USB_GADGET_DEBUG is not set | ||
1259 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | ||
1260 | CONFIG_USB_GADGET_SELECTED=y | ||
1261 | # CONFIG_USB_GADGET_AMD5536UDC is not set | ||
1262 | # CONFIG_USB_GADGET_ATMEL_USBA is not set | ||
1263 | # CONFIG_USB_GADGET_FSL_USB2 is not set | ||
1264 | # CONFIG_USB_GADGET_NET2280 is not set | ||
1265 | CONFIG_USB_GADGET_PXA25X=y | ||
1266 | CONFIG_USB_PXA25X=m | ||
1267 | # CONFIG_USB_PXA25X_SMALL is not set | ||
1268 | # CONFIG_USB_GADGET_M66592 is not set | ||
1269 | # CONFIG_USB_GADGET_PXA27X is not set | ||
1270 | # CONFIG_USB_GADGET_GOKU is not set | ||
1271 | # CONFIG_USB_GADGET_LH7A40X is not set | ||
1272 | # CONFIG_USB_GADGET_OMAP is not set | ||
1273 | # CONFIG_USB_GADGET_S3C2410 is not set | ||
1274 | # CONFIG_USB_GADGET_AT91 is not set | ||
1275 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | ||
1276 | # CONFIG_USB_GADGET_DUALSPEED is not set | ||
1277 | # CONFIG_USB_ZERO is not set | ||
1278 | CONFIG_USB_ETH=m | ||
1279 | CONFIG_USB_ETH_RNDIS=y | ||
1280 | CONFIG_USB_GADGETFS=m | ||
1281 | CONFIG_USB_FILE_STORAGE=m | ||
1282 | # CONFIG_USB_FILE_STORAGE_TEST is not set | ||
1283 | CONFIG_USB_G_SERIAL=m | ||
1284 | # CONFIG_USB_MIDI_GADGET is not set | ||
1285 | CONFIG_USB_G_PRINTER=m | ||
1286 | # CONFIG_USB_CDC_COMPOSITE is not set | ||
1287 | # CONFIG_MMC is not set | ||
1288 | # CONFIG_NEW_LEDS is not set | ||
1289 | CONFIG_RTC_LIB=y | ||
1290 | CONFIG_RTC_CLASS=m | ||
1291 | |||
1292 | # | ||
1293 | # RTC interfaces | ||
1294 | # | ||
1295 | CONFIG_RTC_INTF_SYSFS=y | ||
1296 | CONFIG_RTC_INTF_PROC=y | ||
1297 | CONFIG_RTC_INTF_DEV=y | ||
1298 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
1299 | # CONFIG_RTC_DRV_TEST is not set | ||
1300 | |||
1301 | # | ||
1302 | # I2C RTC drivers | ||
1303 | # | ||
1304 | CONFIG_RTC_DRV_DS1307=m | ||
1305 | # CONFIG_RTC_DRV_DS1374 is not set | ||
1306 | # CONFIG_RTC_DRV_DS1672 is not set | ||
1307 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
1308 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
1309 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
1310 | # CONFIG_RTC_DRV_X1205 is not set | ||
1311 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
1312 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
1313 | # CONFIG_RTC_DRV_M41T80 is not set | ||
1314 | # CONFIG_RTC_DRV_S35390A is not set | ||
1315 | # CONFIG_RTC_DRV_FM3130 is not set | ||
1316 | |||
1317 | # | ||
1318 | # SPI RTC drivers | ||
1319 | # | ||
1320 | |||
1321 | # | ||
1322 | # Platform RTC drivers | ||
1323 | # | ||
1324 | # CONFIG_RTC_DRV_CMOS is not set | ||
1325 | # CONFIG_RTC_DRV_DS1511 is not set | ||
1326 | # CONFIG_RTC_DRV_DS1553 is not set | ||
1327 | # CONFIG_RTC_DRV_DS1742 is not set | ||
1328 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
1329 | # CONFIG_RTC_DRV_M48T86 is not set | ||
1330 | # CONFIG_RTC_DRV_M48T59 is not set | ||
1331 | # CONFIG_RTC_DRV_V3020 is not set | ||
1332 | |||
1333 | # | ||
1334 | # on-CPU RTC drivers | ||
1335 | # | ||
1336 | CONFIG_RTC_DRV_SA1100=m | ||
1337 | # CONFIG_DMADEVICES is not set | ||
1338 | |||
1339 | # | ||
1340 | # Voltage and Current regulators | ||
1341 | # | ||
1342 | # CONFIG_REGULATOR is not set | ||
1343 | # CONFIG_REGULATOR_FIXED_VOLTAGE is not set | ||
1344 | # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set | ||
1345 | # CONFIG_REGULATOR_BQ24022 is not set | ||
1346 | # CONFIG_UIO is not set | ||
1347 | |||
1348 | # | ||
1349 | # File systems | ||
1350 | # | ||
1351 | CONFIG_EXT2_FS=m | ||
1352 | # CONFIG_EXT2_FS_XATTR is not set | ||
1353 | # CONFIG_EXT2_FS_XIP is not set | ||
1354 | CONFIG_EXT3_FS=m | ||
1355 | # CONFIG_EXT3_FS_XATTR is not set | ||
1356 | # CONFIG_EXT4DEV_FS is not set | ||
1357 | CONFIG_JBD=m | ||
1358 | # CONFIG_REISERFS_FS is not set | ||
1359 | # CONFIG_JFS_FS is not set | ||
1360 | # CONFIG_FS_POSIX_ACL is not set | ||
1361 | # CONFIG_XFS_FS is not set | ||
1362 | # CONFIG_OCFS2_FS is not set | ||
1363 | # CONFIG_DNOTIFY is not set | ||
1364 | CONFIG_INOTIFY=y | ||
1365 | CONFIG_INOTIFY_USER=y | ||
1366 | # CONFIG_QUOTA is not set | ||
1367 | # CONFIG_AUTOFS_FS is not set | ||
1368 | # CONFIG_AUTOFS4_FS is not set | ||
1369 | # CONFIG_FUSE_FS is not set | ||
1370 | |||
1371 | # | ||
1372 | # CD-ROM/DVD Filesystems | ||
1373 | # | ||
1374 | # CONFIG_ISO9660_FS is not set | ||
1375 | # CONFIG_UDF_FS is not set | ||
1376 | |||
1377 | # | ||
1378 | # DOS/FAT/NT Filesystems | ||
1379 | # | ||
1380 | CONFIG_FAT_FS=m | ||
1381 | # CONFIG_MSDOS_FS is not set | ||
1382 | CONFIG_VFAT_FS=m | ||
1383 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
1384 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
1385 | # CONFIG_NTFS_FS is not set | ||
1386 | |||
1387 | # | ||
1388 | # Pseudo filesystems | ||
1389 | # | ||
1390 | CONFIG_PROC_FS=y | ||
1391 | CONFIG_PROC_SYSCTL=y | ||
1392 | CONFIG_SYSFS=y | ||
1393 | CONFIG_TMPFS=y | ||
1394 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
1395 | # CONFIG_HUGETLB_PAGE is not set | ||
1396 | # CONFIG_CONFIGFS_FS is not set | ||
1397 | |||
1398 | # | ||
1399 | # Miscellaneous filesystems | ||
1400 | # | ||
1401 | # CONFIG_ADFS_FS is not set | ||
1402 | # CONFIG_AFFS_FS is not set | ||
1403 | # CONFIG_HFS_FS is not set | ||
1404 | # CONFIG_HFSPLUS_FS is not set | ||
1405 | # CONFIG_BEFS_FS is not set | ||
1406 | # CONFIG_BFS_FS is not set | ||
1407 | # CONFIG_EFS_FS is not set | ||
1408 | CONFIG_JFFS2_FS=y | ||
1409 | CONFIG_JFFS2_FS_DEBUG=0 | ||
1410 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
1411 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
1412 | # CONFIG_JFFS2_SUMMARY is not set | ||
1413 | # CONFIG_JFFS2_FS_XATTR is not set | ||
1414 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
1415 | CONFIG_JFFS2_ZLIB=y | ||
1416 | # CONFIG_JFFS2_LZO is not set | ||
1417 | CONFIG_JFFS2_RTIME=y | ||
1418 | # CONFIG_JFFS2_RUBIN is not set | ||
1419 | # CONFIG_CRAMFS is not set | ||
1420 | # CONFIG_VXFS_FS is not set | ||
1421 | # CONFIG_MINIX_FS is not set | ||
1422 | # CONFIG_OMFS_FS is not set | ||
1423 | # CONFIG_HPFS_FS is not set | ||
1424 | # CONFIG_QNX4FS_FS is not set | ||
1425 | # CONFIG_ROMFS_FS is not set | ||
1426 | # CONFIG_SYSV_FS is not set | ||
1427 | # CONFIG_UFS_FS is not set | ||
1428 | CONFIG_NETWORK_FILESYSTEMS=y | ||
1429 | CONFIG_NFS_FS=y | ||
1430 | CONFIG_NFS_V3=y | ||
1431 | # CONFIG_NFS_V3_ACL is not set | ||
1432 | # CONFIG_NFS_V4 is not set | ||
1433 | CONFIG_ROOT_NFS=y | ||
1434 | CONFIG_NFSD=m | ||
1435 | CONFIG_NFSD_V3=y | ||
1436 | # CONFIG_NFSD_V3_ACL is not set | ||
1437 | # CONFIG_NFSD_V4 is not set | ||
1438 | CONFIG_LOCKD=y | ||
1439 | CONFIG_LOCKD_V4=y | ||
1440 | CONFIG_EXPORTFS=m | ||
1441 | CONFIG_NFS_COMMON=y | ||
1442 | CONFIG_SUNRPC=y | ||
1443 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
1444 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
1445 | # CONFIG_SMB_FS is not set | ||
1446 | # CONFIG_CIFS is not set | ||
1447 | # CONFIG_NCP_FS is not set | ||
1448 | # CONFIG_CODA_FS is not set | ||
1449 | # CONFIG_AFS_FS is not set | ||
1450 | |||
1451 | # | ||
1452 | # Partition Types | ||
1453 | # | ||
1454 | CONFIG_PARTITION_ADVANCED=y | ||
1455 | # CONFIG_ACORN_PARTITION is not set | ||
1456 | # CONFIG_OSF_PARTITION is not set | ||
1457 | # CONFIG_AMIGA_PARTITION is not set | ||
1458 | # CONFIG_ATARI_PARTITION is not set | ||
1459 | # CONFIG_MAC_PARTITION is not set | ||
1460 | CONFIG_MSDOS_PARTITION=y | ||
1461 | # CONFIG_BSD_DISKLABEL is not set | ||
1462 | # CONFIG_MINIX_SUBPARTITION is not set | ||
1463 | # CONFIG_SOLARIS_X86_PARTITION is not set | ||
1464 | # CONFIG_UNIXWARE_DISKLABEL is not set | ||
1465 | # CONFIG_LDM_PARTITION is not set | ||
1466 | # CONFIG_SGI_PARTITION is not set | ||
1467 | # CONFIG_ULTRIX_PARTITION is not set | ||
1468 | # CONFIG_SUN_PARTITION is not set | ||
1469 | # CONFIG_KARMA_PARTITION is not set | ||
1470 | # CONFIG_EFI_PARTITION is not set | ||
1471 | # CONFIG_SYSV68_PARTITION is not set | ||
1472 | CONFIG_NLS=m | ||
1473 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
1474 | CONFIG_NLS_CODEPAGE_437=m | ||
1475 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
1476 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
1477 | CONFIG_NLS_CODEPAGE_850=m | ||
1478 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
1479 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
1480 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
1481 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
1482 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
1483 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
1484 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
1485 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
1486 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
1487 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
1488 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
1489 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
1490 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
1491 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
1492 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
1493 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
1494 | # CONFIG_NLS_ISO8859_8 is not set | ||
1495 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
1496 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
1497 | # CONFIG_NLS_ASCII is not set | ||
1498 | CONFIG_NLS_ISO8859_1=m | ||
1499 | # CONFIG_NLS_ISO8859_2 is not set | ||
1500 | # CONFIG_NLS_ISO8859_3 is not set | ||
1501 | # CONFIG_NLS_ISO8859_4 is not set | ||
1502 | # CONFIG_NLS_ISO8859_5 is not set | ||
1503 | # CONFIG_NLS_ISO8859_6 is not set | ||
1504 | # CONFIG_NLS_ISO8859_7 is not set | ||
1505 | # CONFIG_NLS_ISO8859_9 is not set | ||
1506 | # CONFIG_NLS_ISO8859_13 is not set | ||
1507 | # CONFIG_NLS_ISO8859_14 is not set | ||
1508 | CONFIG_NLS_ISO8859_15=m | ||
1509 | # CONFIG_NLS_KOI8_R is not set | ||
1510 | # CONFIG_NLS_KOI8_U is not set | ||
1511 | CONFIG_NLS_UTF8=m | ||
1512 | # CONFIG_DLM is not set | ||
1513 | |||
1514 | # | ||
1515 | # Kernel hacking | ||
1516 | # | ||
1517 | # CONFIG_PRINTK_TIME is not set | ||
1518 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1519 | CONFIG_ENABLE_MUST_CHECK=y | ||
1520 | CONFIG_FRAME_WARN=1024 | ||
1521 | CONFIG_MAGIC_SYSRQ=y | ||
1522 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1523 | # CONFIG_DEBUG_FS is not set | ||
1524 | # CONFIG_HEADERS_CHECK is not set | ||
1525 | CONFIG_DEBUG_KERNEL=y | ||
1526 | # CONFIG_DEBUG_SHIRQ is not set | ||
1527 | CONFIG_DETECT_SOFTLOCKUP=y | ||
1528 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
1529 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
1530 | CONFIG_SCHED_DEBUG=y | ||
1531 | # CONFIG_SCHEDSTATS is not set | ||
1532 | # CONFIG_TIMER_STATS is not set | ||
1533 | # CONFIG_DEBUG_OBJECTS is not set | ||
1534 | # CONFIG_DEBUG_SLAB is not set | ||
1535 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
1536 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1537 | # CONFIG_DEBUG_SPINLOCK is not set | ||
1538 | CONFIG_DEBUG_MUTEXES=y | ||
1539 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
1540 | # CONFIG_PROVE_LOCKING is not set | ||
1541 | # CONFIG_LOCK_STAT is not set | ||
1542 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
1543 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1544 | # CONFIG_DEBUG_KOBJECT is not set | ||
1545 | CONFIG_DEBUG_BUGVERBOSE=y | ||
1546 | # CONFIG_DEBUG_INFO is not set | ||
1547 | # CONFIG_DEBUG_VM is not set | ||
1548 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
1549 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
1550 | # CONFIG_DEBUG_LIST is not set | ||
1551 | # CONFIG_DEBUG_SG is not set | ||
1552 | CONFIG_FRAME_POINTER=y | ||
1553 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
1554 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1555 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
1556 | # CONFIG_FAULT_INJECTION is not set | ||
1557 | # CONFIG_LATENCYTOP is not set | ||
1558 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
1559 | CONFIG_HAVE_FTRACE=y | ||
1560 | CONFIG_HAVE_DYNAMIC_FTRACE=y | ||
1561 | # CONFIG_FTRACE is not set | ||
1562 | # CONFIG_IRQSOFF_TRACER is not set | ||
1563 | # CONFIG_SCHED_TRACER is not set | ||
1564 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1565 | # CONFIG_SAMPLES is not set | ||
1566 | CONFIG_HAVE_ARCH_KGDB=y | ||
1567 | # CONFIG_KGDB is not set | ||
1568 | # CONFIG_DEBUG_USER is not set | ||
1569 | CONFIG_DEBUG_ERRORS=y | ||
1570 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
1571 | # CONFIG_DEBUG_LL is not set | ||
1572 | |||
1573 | # | ||
1574 | # Security options | ||
1575 | # | ||
1576 | # CONFIG_KEYS is not set | ||
1577 | # CONFIG_SECURITY is not set | ||
1578 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
1579 | CONFIG_CRYPTO=y | ||
1580 | |||
1581 | # | ||
1582 | # Crypto core or helper | ||
1583 | # | ||
1584 | CONFIG_CRYPTO_ALGAPI=m | ||
1585 | CONFIG_CRYPTO_BLKCIPHER=m | ||
1586 | CONFIG_CRYPTO_MANAGER=m | ||
1587 | # CONFIG_CRYPTO_GF128MUL is not set | ||
1588 | # CONFIG_CRYPTO_NULL is not set | ||
1589 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1590 | # CONFIG_CRYPTO_AUTHENC is not set | ||
1591 | # CONFIG_CRYPTO_TEST is not set | ||
1592 | |||
1593 | # | ||
1594 | # Authenticated Encryption with Associated Data | ||
1595 | # | ||
1596 | # CONFIG_CRYPTO_CCM is not set | ||
1597 | # CONFIG_CRYPTO_GCM is not set | ||
1598 | # CONFIG_CRYPTO_SEQIV is not set | ||
1599 | |||
1600 | # | ||
1601 | # Block modes | ||
1602 | # | ||
1603 | # CONFIG_CRYPTO_CBC is not set | ||
1604 | # CONFIG_CRYPTO_CTR is not set | ||
1605 | # CONFIG_CRYPTO_CTS is not set | ||
1606 | CONFIG_CRYPTO_ECB=m | ||
1607 | # CONFIG_CRYPTO_LRW is not set | ||
1608 | # CONFIG_CRYPTO_PCBC is not set | ||
1609 | # CONFIG_CRYPTO_XTS is not set | ||
1610 | |||
1611 | # | ||
1612 | # Hash modes | ||
1613 | # | ||
1614 | # CONFIG_CRYPTO_HMAC is not set | ||
1615 | # CONFIG_CRYPTO_XCBC is not set | ||
1616 | |||
1617 | # | ||
1618 | # Digest | ||
1619 | # | ||
1620 | # CONFIG_CRYPTO_CRC32C is not set | ||
1621 | # CONFIG_CRYPTO_MD4 is not set | ||
1622 | # CONFIG_CRYPTO_MD5 is not set | ||
1623 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1624 | # CONFIG_CRYPTO_RMD128 is not set | ||
1625 | # CONFIG_CRYPTO_RMD160 is not set | ||
1626 | # CONFIG_CRYPTO_RMD256 is not set | ||
1627 | # CONFIG_CRYPTO_RMD320 is not set | ||
1628 | # CONFIG_CRYPTO_SHA1 is not set | ||
1629 | # CONFIG_CRYPTO_SHA256 is not set | ||
1630 | # CONFIG_CRYPTO_SHA512 is not set | ||
1631 | # CONFIG_CRYPTO_TGR192 is not set | ||
1632 | # CONFIG_CRYPTO_WP512 is not set | ||
1633 | |||
1634 | # | ||
1635 | # Ciphers | ||
1636 | # | ||
1637 | # CONFIG_CRYPTO_AES is not set | ||
1638 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1639 | CONFIG_CRYPTO_ARC4=m | ||
1640 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1641 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1642 | # CONFIG_CRYPTO_CAST5 is not set | ||
1643 | # CONFIG_CRYPTO_CAST6 is not set | ||
1644 | # CONFIG_CRYPTO_DES is not set | ||
1645 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1646 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1647 | # CONFIG_CRYPTO_SALSA20 is not set | ||
1648 | # CONFIG_CRYPTO_SEED is not set | ||
1649 | # CONFIG_CRYPTO_SERPENT is not set | ||
1650 | # CONFIG_CRYPTO_TEA is not set | ||
1651 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1652 | |||
1653 | # | ||
1654 | # Compression | ||
1655 | # | ||
1656 | # CONFIG_CRYPTO_DEFLATE is not set | ||
1657 | # CONFIG_CRYPTO_LZO is not set | ||
1658 | CONFIG_CRYPTO_HW=y | ||
1659 | |||
1660 | # | ||
1661 | # Library routines | ||
1662 | # | ||
1663 | CONFIG_BITREVERSE=y | ||
1664 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
1665 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
1666 | CONFIG_CRC_CCITT=m | ||
1667 | # CONFIG_CRC16 is not set | ||
1668 | CONFIG_CRC_T10DIF=m | ||
1669 | # CONFIG_CRC_ITU_T is not set | ||
1670 | CONFIG_CRC32=y | ||
1671 | # CONFIG_CRC7 is not set | ||
1672 | # CONFIG_LIBCRC32C is not set | ||
1673 | CONFIG_ZLIB_INFLATE=y | ||
1674 | CONFIG_ZLIB_DEFLATE=y | ||
1675 | CONFIG_PLIST=y | ||
1676 | CONFIG_HAS_IOMEM=y | ||
1677 | CONFIG_HAS_IOPORT=y | ||
1678 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig index 5548abd6390c..f781873431f3 100644 --- a/arch/arm/mach-pxa/Kconfig +++ b/arch/arm/mach-pxa/Kconfig | |||
@@ -38,16 +38,19 @@ config ARCH_LUBBOCK | |||
38 | bool "Intel DBPXA250 Development Platform" | 38 | bool "Intel DBPXA250 Development Platform" |
39 | select PXA25x | 39 | select PXA25x |
40 | select SA1111 | 40 | select SA1111 |
41 | select PXA_HAVE_BOARD_IRQS | ||
41 | 42 | ||
42 | config MACH_LOGICPD_PXA270 | 43 | config MACH_LOGICPD_PXA270 |
43 | bool "LogicPD PXA270 Card Engine Development Platform" | 44 | bool "LogicPD PXA270 Card Engine Development Platform" |
44 | select PXA27x | 45 | select PXA27x |
45 | select HAVE_PWM | 46 | select HAVE_PWM |
47 | select PXA_HAVE_BOARD_IRQS | ||
46 | 48 | ||
47 | config MACH_MAINSTONE | 49 | config MACH_MAINSTONE |
48 | bool "Intel HCDDBBVA0 Development Platform" | 50 | bool "Intel HCDDBBVA0 Development Platform" |
49 | select PXA27x | 51 | select PXA27x |
50 | select HAVE_PWM | 52 | select HAVE_PWM |
53 | select PXA_HAVE_BOARD_IRQS | ||
51 | 54 | ||
52 | config MACH_MP900C | 55 | config MACH_MP900C |
53 | bool "Nec Mobilepro 900/c" | 56 | bool "Nec Mobilepro 900/c" |
@@ -118,10 +121,21 @@ config MACH_TOSA | |||
118 | bool "Enable Sharp SL-6000x (Tosa) Support" | 121 | bool "Enable Sharp SL-6000x (Tosa) Support" |
119 | depends on PXA_SHARPSL | 122 | depends on PXA_SHARPSL |
120 | select PXA25x | 123 | select PXA25x |
124 | select PXA_HAVE_BOARD_IRQS | ||
125 | |||
126 | config ARCH_VIPER | ||
127 | bool "Arcom/Eurotech VIPER SBC" | ||
128 | select PXA25x | ||
129 | select ISA | ||
130 | select I2C_GPIO | ||
131 | select HAVE_PWM | ||
132 | select PXA_HAVE_BOARD_IRQS | ||
133 | select PXA_HAVE_ISA_IRQS | ||
121 | 134 | ||
122 | config ARCH_PXA_ESERIES | 135 | config ARCH_PXA_ESERIES |
123 | bool "PXA based Toshiba e-series PDAs" | 136 | bool "PXA based Toshiba e-series PDAs" |
124 | select PXA25x | 137 | select PXA25x |
138 | select PXA_HAVE_BOARD_IRQS | ||
125 | 139 | ||
126 | config MACH_E330 | 140 | config MACH_E330 |
127 | bool "Toshiba e330" | 141 | bool "Toshiba e330" |
@@ -255,6 +269,7 @@ config MACH_MAGICIAN | |||
255 | bool "Enable HTC Magician Support" | 269 | bool "Enable HTC Magician Support" |
256 | select PXA27x | 270 | select PXA27x |
257 | select IWMMXT | 271 | select IWMMXT |
272 | select PXA_HAVE_BOARD_IRQS | ||
258 | 273 | ||
259 | config MACH_MIOA701 | 274 | config MACH_MIOA701 |
260 | bool "Mitac Mio A701 Support" | 275 | bool "Mitac Mio A701 Support" |
@@ -273,6 +288,7 @@ config MACH_PCM027 | |||
273 | select PXA27x | 288 | select PXA27x |
274 | select IWMMXT | 289 | select IWMMXT |
275 | select PXA_SSP | 290 | select PXA_SSP |
291 | select PXA_HAVE_BOARD_IRQS | ||
276 | 292 | ||
277 | config ARCH_PXA_PALM | 293 | config ARCH_PXA_PALM |
278 | bool "PXA based Palm PDAs" | 294 | bool "PXA based Palm PDAs" |
@@ -408,4 +424,10 @@ config TOSA_BT | |||
408 | This is a simple driver that is able to control | 424 | This is a simple driver that is able to control |
409 | the state of built in bluetooth chip on tosa. | 425 | the state of built in bluetooth chip on tosa. |
410 | 426 | ||
427 | config PXA_HAVE_BOARD_IRQS | ||
428 | bool | ||
429 | |||
430 | config PXA_HAVE_ISA_IRQS | ||
431 | bool | ||
432 | |||
411 | endif | 433 | endif |
diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile index 30936e40fea6..3d2dea4afb87 100644 --- a/arch/arm/mach-pxa/Makefile +++ b/arch/arm/mach-pxa/Makefile | |||
@@ -39,13 +39,16 @@ obj-$(CONFIG_MACH_TOSA) += tosa.o | |||
39 | obj-$(CONFIG_MACH_EM_X270) += em-x270.o | 39 | obj-$(CONFIG_MACH_EM_X270) += em-x270.o |
40 | obj-$(CONFIG_MACH_MAGICIAN) += magician.o | 40 | obj-$(CONFIG_MACH_MAGICIAN) += magician.o |
41 | obj-$(CONFIG_MACH_MIOA701) += mioa701.o mioa701_bootresume.o | 41 | obj-$(CONFIG_MACH_MIOA701) += mioa701.o mioa701_bootresume.o |
42 | obj-$(CONFIG_ARCH_PXA_ESERIES) += eseries.o eseries_udc.o | 42 | obj-$(CONFIG_ARCH_PXA_ESERIES) += eseries.o |
43 | obj-$(CONFIG_MACH_E740) += e740_lcd.o | 43 | obj-$(CONFIG_MACH_E330) += e330.o |
44 | obj-$(CONFIG_MACH_E750) += e750_lcd.o | 44 | obj-$(CONFIG_MACH_E350) += e350.o |
45 | obj-$(CONFIG_MACH_E400) += e400_lcd.o | 45 | obj-$(CONFIG_MACH_E740) += e740.o |
46 | obj-$(CONFIG_MACH_E800) += e800_lcd.o | 46 | obj-$(CONFIG_MACH_E750) += e750.o |
47 | obj-$(CONFIG_MACH_E400) += e400.o | ||
48 | obj-$(CONFIG_MACH_E800) += e800.o | ||
47 | obj-$(CONFIG_MACH_PALMTX) += palmtx.o | 49 | obj-$(CONFIG_MACH_PALMTX) += palmtx.o |
48 | obj-$(CONFIG_MACH_PALMZ72) += palmz72.o | 50 | obj-$(CONFIG_MACH_PALMZ72) += palmz72.o |
51 | obj-$(CONFIG_ARCH_VIPER) += viper.o | ||
49 | 52 | ||
50 | ifeq ($(CONFIG_MACH_ZYLONITE),y) | 53 | ifeq ($(CONFIG_MACH_ZYLONITE),y) |
51 | obj-y += zylonite.o | 54 | obj-y += zylonite.o |
diff --git a/arch/arm/mach-pxa/include/mach/entry-macro.S b/arch/arm/mach-pxa/include/mach/entry-macro.S index de16c12d5232..f6b4bf3e73d2 100644 --- a/arch/arm/mach-pxa/include/mach/entry-macro.S +++ b/arch/arm/mach-pxa/include/mach/entry-macro.S | |||
@@ -41,7 +41,7 @@ | |||
41 | and \irqstat, \irqstat, \irqnr | 41 | and \irqstat, \irqstat, \irqnr |
42 | clz \irqnr, \irqstat | 42 | clz \irqnr, \irqstat |
43 | rsb \irqnr, \irqnr, #31 | 43 | rsb \irqnr, \irqnr, #31 |
44 | add \irqnr, \irqnr, #32 | 44 | add \irqnr, \irqnr, #(32 + PXA_IRQ(0)) |
45 | b 1001f | 45 | b 1001f |
46 | 1003: | 46 | 1003: |
47 | mrc p6, 0, \irqstat, c0, c0, 0 @ ICIP | 47 | mrc p6, 0, \irqstat, c0, c0, 0 @ ICIP |
@@ -52,6 +52,6 @@ | |||
52 | rsb \irqstat, \irqnr, #0 | 52 | rsb \irqstat, \irqnr, #0 |
53 | and \irqstat, \irqstat, \irqnr | 53 | and \irqstat, \irqstat, \irqnr |
54 | clz \irqnr, \irqstat | 54 | clz \irqnr, \irqstat |
55 | rsb \irqnr, \irqnr, #31 | 55 | rsb \irqnr, \irqnr, #(31 + PXA_IRQ(0)) |
56 | 1001: | 56 | 1001: |
57 | .endm | 57 | .endm |
diff --git a/arch/arm/mach-pxa/include/mach/irqs.h b/arch/arm/mach-pxa/include/mach/irqs.h index 108b5db9b2af..9c163e19ada9 100644 --- a/arch/arm/mach-pxa/include/mach/irqs.h +++ b/arch/arm/mach-pxa/include/mach/irqs.h | |||
@@ -11,7 +11,14 @@ | |||
11 | */ | 11 | */ |
12 | 12 | ||
13 | 13 | ||
14 | #define PXA_IRQ(x) (x) | 14 | #ifdef CONFIG_PXA_HAVE_ISA_IRQS |
15 | #define PXA_ISA_IRQ(x) (x) | ||
16 | #define PXA_ISA_IRQ_NUM (16) | ||
17 | #else | ||
18 | #define PXA_ISA_IRQ_NUM (0) | ||
19 | #endif | ||
20 | |||
21 | #define PXA_IRQ(x) (PXA_ISA_IRQ_NUM + (x)) | ||
15 | 22 | ||
16 | #if defined(CONFIG_PXA27x) || defined(CONFIG_PXA3xx) | 23 | #if defined(CONFIG_PXA27x) || defined(CONFIG_PXA3xx) |
17 | #define IRQ_SSP3 PXA_IRQ(0) /* SSP3 service request */ | 24 | #define IRQ_SSP3 PXA_IRQ(0) /* SSP3 service request */ |
@@ -73,7 +80,7 @@ | |||
73 | #define IRQ_MMC3 PXA_IRQ(55) /* MMC3 Controller (PXA310) */ | 80 | #define IRQ_MMC3 PXA_IRQ(55) /* MMC3 Controller (PXA310) */ |
74 | #endif | 81 | #endif |
75 | 82 | ||
76 | #define PXA_GPIO_IRQ_BASE (64) | 83 | #define PXA_GPIO_IRQ_BASE PXA_IRQ(64) |
77 | #define PXA_GPIO_IRQ_NUM (128) | 84 | #define PXA_GPIO_IRQ_NUM (128) |
78 | 85 | ||
79 | #define GPIO_2_x_TO_IRQ(x) (PXA_GPIO_IRQ_BASE + (x)) | 86 | #define GPIO_2_x_TO_IRQ(x) (PXA_GPIO_IRQ_BASE + (x)) |
@@ -178,13 +185,7 @@ | |||
178 | #define NR_IRQS (IRQ_S1_BVD1_STSCHG + 1) | 185 | #define NR_IRQS (IRQ_S1_BVD1_STSCHG + 1) |
179 | #elif defined(CONFIG_SHARP_LOCOMO) | 186 | #elif defined(CONFIG_SHARP_LOCOMO) |
180 | #define NR_IRQS (IRQ_LOCOMO_SPI_TEND + 1) | 187 | #define NR_IRQS (IRQ_LOCOMO_SPI_TEND + 1) |
181 | #elif defined(CONFIG_ARCH_LUBBOCK) || \ | 188 | #elif defined(CONFIG_PXA_HAVE_BOARD_IRQS) |
182 | defined(CONFIG_MACH_LOGICPD_PXA270) || \ | ||
183 | defined(CONFIG_MACH_TOSA) || \ | ||
184 | defined(CONFIG_MACH_MAINSTONE) || \ | ||
185 | defined(CONFIG_MACH_PCM027) || \ | ||
186 | defined(CONFIG_ARCH_PXA_ESERIES) || \ | ||
187 | defined(CONFIG_MACH_MAGICIAN) | ||
188 | #define NR_IRQS (IRQ_BOARD_END) | 189 | #define NR_IRQS (IRQ_BOARD_END) |
189 | #elif defined(CONFIG_MACH_ZYLONITE) | 190 | #elif defined(CONFIG_MACH_ZYLONITE) |
190 | #define NR_IRQS (IRQ_BOARD_START + 32) | 191 | #define NR_IRQS (IRQ_BOARD_START + 32) |
diff --git a/arch/arm/mach-pxa/include/mach/viper.h b/arch/arm/mach-pxa/include/mach/viper.h new file mode 100644 index 000000000000..10988c270ca3 --- /dev/null +++ b/arch/arm/mach-pxa/include/mach/viper.h | |||
@@ -0,0 +1,96 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-pxa/include/mach/viper.h | ||
3 | * | ||
4 | * Author: Ian Campbell | ||
5 | * Created: Feb 03, 2003 | ||
6 | * Copyright: Arcom Control Systems. | ||
7 | * | ||
8 | * Maintained by Marc Zyngier <maz@misterjones.org> | ||
9 | * <marc.zyngier@altran.com> | ||
10 | * | ||
11 | * Created based on lubbock.h: | ||
12 | * Author: Nicolas Pitre | ||
13 | * Created: Jun 15, 2001 | ||
14 | * Copyright: MontaVista Software Inc. | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License version 2 as | ||
18 | * published by the Free Software Foundation. | ||
19 | */ | ||
20 | |||
21 | #ifndef ARCH_VIPER_H | ||
22 | #define ARCH_VIPER_H | ||
23 | |||
24 | #define VIPER_BOOT_PHYS PXA_CS0_PHYS | ||
25 | #define VIPER_FLASH_PHYS PXA_CS1_PHYS | ||
26 | #define VIPER_ETH_PHYS PXA_CS2_PHYS | ||
27 | #define VIPER_USB_PHYS PXA_CS3_PHYS | ||
28 | #define VIPER_ETH_DATA_PHYS PXA_CS4_PHYS | ||
29 | #define VIPER_CPLD_PHYS PXA_CS5_PHYS | ||
30 | |||
31 | #define VIPER_CPLD_BASE (0xf0000000) | ||
32 | #define VIPER_PC104IO_BASE (0xf1000000) | ||
33 | #define VIPER_USB_BASE (0xf1800000) | ||
34 | |||
35 | #define VIPER_ETH_GPIO (0) | ||
36 | #define VIPER_CPLD_GPIO (1) | ||
37 | #define VIPER_USB_GPIO (2) | ||
38 | #define VIPER_UARTA_GPIO (4) | ||
39 | #define VIPER_UARTB_GPIO (3) | ||
40 | #define VIPER_CF_CD_GPIO (32) | ||
41 | #define VIPER_CF_RDY_GPIO (8) | ||
42 | #define VIPER_BCKLIGHT_EN_GPIO (9) | ||
43 | #define VIPER_LCD_EN_GPIO (10) | ||
44 | #define VIPER_PSU_DATA_GPIO (6) | ||
45 | #define VIPER_PSU_CLK_GPIO (11) | ||
46 | #define VIPER_UART_SHDN_GPIO (12) | ||
47 | #define VIPER_BRIGHTNESS_GPIO (16) | ||
48 | #define VIPER_PSU_nCS_LD_GPIO (19) | ||
49 | #define VIPER_UPS_GPIO (20) | ||
50 | #define VIPER_CF_POWER_GPIO (82) | ||
51 | #define VIPER_TPM_I2C_SDA_GPIO (26) | ||
52 | #define VIPER_TPM_I2C_SCL_GPIO (27) | ||
53 | #define VIPER_RTC_I2C_SDA_GPIO (83) | ||
54 | #define VIPER_RTC_I2C_SCL_GPIO (84) | ||
55 | |||
56 | #define VIPER_CPLD_P2V(x) ((x) - VIPER_CPLD_PHYS + VIPER_CPLD_BASE) | ||
57 | #define VIPER_CPLD_V2P(x) ((x) - VIPER_CPLD_BASE + VIPER_CPLD_PHYS) | ||
58 | |||
59 | #ifndef __ASSEMBLY__ | ||
60 | # define __VIPER_CPLD_REG(x) (*((volatile u16 *)VIPER_CPLD_P2V(x))) | ||
61 | #endif | ||
62 | |||
63 | /* board level registers in the CPLD: (offsets from CPLD_BASE) ... */ | ||
64 | |||
65 | /* ... Physical addresses */ | ||
66 | #define _VIPER_LO_IRQ_STATUS (VIPER_CPLD_PHYS + 0x100000) | ||
67 | #define _VIPER_ICR_PHYS (VIPER_CPLD_PHYS + 0x100002) | ||
68 | #define _VIPER_HI_IRQ_STATUS (VIPER_CPLD_PHYS + 0x100004) | ||
69 | #define _VIPER_VERSION_PHYS (VIPER_CPLD_PHYS + 0x100006) | ||
70 | #define VIPER_UARTA_PHYS (VIPER_CPLD_PHYS + 0x300010) | ||
71 | #define VIPER_UARTB_PHYS (VIPER_CPLD_PHYS + 0x300000) | ||
72 | #define _VIPER_SRAM_BASE (VIPER_CPLD_PHYS + 0x800000) | ||
73 | |||
74 | /* ... Virtual addresses */ | ||
75 | #define VIPER_LO_IRQ_STATUS __VIPER_CPLD_REG(_VIPER_LO_IRQ_STATUS) | ||
76 | #define VIPER_HI_IRQ_STATUS __VIPER_CPLD_REG(_VIPER_HI_IRQ_STATUS) | ||
77 | #define VIPER_VERSION __VIPER_CPLD_REG(_VIPER_VERSION_PHYS) | ||
78 | #define VIPER_ICR __VIPER_CPLD_REG(_VIPER_ICR_PHYS) | ||
79 | |||
80 | /* Decode VIPER_VERSION register */ | ||
81 | #define VIPER_CPLD_REVISION(x) (((x) >> 5) & 0x7) | ||
82 | #define VIPER_BOARD_VERSION(x) (((x) >> 3) & 0x3) | ||
83 | #define VIPER_BOARD_ISSUE(x) (((x) >> 0) & 0x7) | ||
84 | |||
85 | /* Interrupt and Configuration Register (VIPER_ICR) */ | ||
86 | /* This is a write only register. Only CF_RST is used under Linux */ | ||
87 | |||
88 | extern void viper_cf_rst(int state); | ||
89 | |||
90 | #define VIPER_ICR_RETRIG (1 << 0) | ||
91 | #define VIPER_ICR_AUTO_CLR (1 << 1) | ||
92 | #define VIPER_ICR_R_DIS (1 << 2) | ||
93 | #define VIPER_ICR_CF_RST (1 << 3) | ||
94 | |||
95 | #endif | ||
96 | |||
diff --git a/arch/arm/mach-pxa/irq.c b/arch/arm/mach-pxa/irq.c index 5e95c5372fec..fa69c3a6a38e 100644 --- a/arch/arm/mach-pxa/irq.c +++ b/arch/arm/mach-pxa/irq.c | |||
@@ -57,7 +57,7 @@ void __init pxa_init_irq(int irq_nr, set_wake_t fn) | |||
57 | 57 | ||
58 | pxa_internal_irq_nr = irq_nr; | 58 | pxa_internal_irq_nr = irq_nr; |
59 | 59 | ||
60 | for (irq = 0; irq < irq_nr; irq += 32) { | 60 | for (irq = PXA_IRQ(0); irq < PXA_IRQ(irq_nr); irq += 32) { |
61 | _ICMR(irq) = 0; /* disable all IRQs */ | 61 | _ICMR(irq) = 0; /* disable all IRQs */ |
62 | _ICLR(irq) = 0; /* all IRQs are IRQ, not FIQ */ | 62 | _ICLR(irq) = 0; /* all IRQs are IRQ, not FIQ */ |
63 | } | 63 | } |
diff --git a/arch/arm/mach-pxa/viper.c b/arch/arm/mach-pxa/viper.c new file mode 100644 index 000000000000..d7632f63603c --- /dev/null +++ b/arch/arm/mach-pxa/viper.c | |||
@@ -0,0 +1,951 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/mach-pxa/viper.c | ||
3 | * | ||
4 | * Support for the Arcom VIPER SBC. | ||
5 | * | ||
6 | * Author: Ian Campbell | ||
7 | * Created: Feb 03, 2003 | ||
8 | * Copyright: Arcom Control Systems | ||
9 | * | ||
10 | * Maintained by Marc Zyngier <maz@misterjones.org> | ||
11 | * <marc.zyngier@altran.com> | ||
12 | * | ||
13 | * Based on lubbock.c: | ||
14 | * Author: Nicolas Pitre | ||
15 | * Created: Jun 15, 2001 | ||
16 | * Copyright: MontaVista Software Inc. | ||
17 | * | ||
18 | * This program is free software; you can redistribute it and/or modify | ||
19 | * it under the terms of the GNU General Public License version 2 as | ||
20 | * published by the Free Software Foundation. | ||
21 | */ | ||
22 | |||
23 | #include <linux/types.h> | ||
24 | #include <linux/memory.h> | ||
25 | #include <linux/cpu.h> | ||
26 | #include <linux/cpufreq.h> | ||
27 | #include <linux/delay.h> | ||
28 | #include <linux/fs.h> | ||
29 | #include <linux/init.h> | ||
30 | #include <linux/interrupt.h> | ||
31 | #include <linux/major.h> | ||
32 | #include <linux/module.h> | ||
33 | #include <linux/pm.h> | ||
34 | #include <linux/sched.h> | ||
35 | #include <linux/gpio.h> | ||
36 | #include <linux/i2c-gpio.h> | ||
37 | #include <linux/serial_8250.h> | ||
38 | #include <linux/smc91x.h> | ||
39 | #include <linux/pwm_backlight.h> | ||
40 | #include <linux/usb/isp116x.h> | ||
41 | #include <linux/mtd/mtd.h> | ||
42 | #include <linux/mtd/partitions.h> | ||
43 | #include <linux/mtd/physmap.h> | ||
44 | |||
45 | #include <mach/pxa-regs.h> | ||
46 | #include <mach/pxa2xx-regs.h> | ||
47 | #include <mach/bitfield.h> | ||
48 | #include <mach/audio.h> | ||
49 | #include <mach/pxafb.h> | ||
50 | #include <mach/mfp-pxa25x.h> | ||
51 | #include <mach/i2c.h> | ||
52 | #include <mach/viper.h> | ||
53 | |||
54 | #include <asm/setup.h> | ||
55 | #include <asm/mach-types.h> | ||
56 | #include <asm/irq.h> | ||
57 | #include <asm/sizes.h> | ||
58 | |||
59 | #include <asm/mach/arch.h> | ||
60 | #include <asm/mach/map.h> | ||
61 | #include <asm/mach/irq.h> | ||
62 | |||
63 | #include "generic.h" | ||
64 | #include "devices.h" | ||
65 | |||
66 | static unsigned int icr; | ||
67 | |||
68 | static void viper_icr_set_bit(unsigned int bit) | ||
69 | { | ||
70 | icr |= bit; | ||
71 | VIPER_ICR = icr; | ||
72 | } | ||
73 | |||
74 | static void viper_icr_clear_bit(unsigned int bit) | ||
75 | { | ||
76 | icr &= ~bit; | ||
77 | VIPER_ICR = icr; | ||
78 | } | ||
79 | |||
80 | /* This function is used from the pcmcia module to reset the CF */ | ||
81 | void viper_cf_rst(int state) | ||
82 | { | ||
83 | if (state) | ||
84 | viper_icr_set_bit(VIPER_ICR_CF_RST); | ||
85 | else | ||
86 | viper_icr_clear_bit(VIPER_ICR_CF_RST); | ||
87 | } | ||
88 | EXPORT_SYMBOL(viper_cf_rst); | ||
89 | |||
90 | /* | ||
91 | * The CPLD version register was not present on VIPER boards prior to | ||
92 | * v2i1. On v1 boards where the version register is not present we | ||
93 | * will just read back the previous value from the databus. | ||
94 | * | ||
95 | * Therefore we do two reads. The first time we write 0 to the | ||
96 | * (read-only) register before reading and the second time we write | ||
97 | * 0xff first. If the two reads do not match or they read back as 0xff | ||
98 | * or 0x00 then we have version 1 hardware. | ||
99 | */ | ||
100 | static u8 viper_hw_version(void) | ||
101 | { | ||
102 | u8 v1, v2; | ||
103 | unsigned long flags; | ||
104 | |||
105 | local_irq_save(flags); | ||
106 | |||
107 | VIPER_VERSION = 0; | ||
108 | v1 = VIPER_VERSION; | ||
109 | VIPER_VERSION = 0xff; | ||
110 | v2 = VIPER_VERSION; | ||
111 | |||
112 | v1 = (v1 != v2 || v1 == 0xff) ? 0 : v1; | ||
113 | |||
114 | local_irq_restore(flags); | ||
115 | return v1; | ||
116 | } | ||
117 | |||
118 | /* CPU sysdev */ | ||
119 | static int viper_cpu_suspend(struct sys_device *sysdev, pm_message_t state) | ||
120 | { | ||
121 | viper_icr_set_bit(VIPER_ICR_R_DIS); | ||
122 | return 0; | ||
123 | } | ||
124 | |||
125 | static int viper_cpu_resume(struct sys_device *sysdev) | ||
126 | { | ||
127 | viper_icr_clear_bit(VIPER_ICR_R_DIS); | ||
128 | return 0; | ||
129 | } | ||
130 | |||
131 | static struct sysdev_driver viper_cpu_sysdev_driver = { | ||
132 | .suspend = viper_cpu_suspend, | ||
133 | .resume = viper_cpu_resume, | ||
134 | }; | ||
135 | |||
136 | static unsigned int current_voltage_divisor; | ||
137 | |||
138 | /* | ||
139 | * If force is not true then step from existing to new divisor. If | ||
140 | * force is true then jump straight to the new divisor. Stepping is | ||
141 | * used because if the jump in voltage is too large, the VCC can dip | ||
142 | * too low and the regulator cuts out. | ||
143 | * | ||
144 | * force can be used to initialize the divisor to a know state by | ||
145 | * setting the value for the current clock speed, since we are already | ||
146 | * running at that speed we know the voltage should be pretty close so | ||
147 | * the jump won't be too large | ||
148 | */ | ||
149 | static void viper_set_core_cpu_voltage(unsigned long khz, int force) | ||
150 | { | ||
151 | int i = 0; | ||
152 | unsigned int divisor = 0; | ||
153 | const char *v; | ||
154 | |||
155 | if (khz < 200000) { | ||
156 | v = "1.0"; divisor = 0xfff; | ||
157 | } else if (khz < 300000) { | ||
158 | v = "1.1"; divisor = 0xde5; | ||
159 | } else { | ||
160 | v = "1.3"; divisor = 0x325; | ||
161 | } | ||
162 | |||
163 | pr_debug("viper: setting CPU core voltage to %sV at %d.%03dMHz\n", | ||
164 | v, (int)khz / 1000, (int)khz % 1000); | ||
165 | |||
166 | #define STEP 0x100 | ||
167 | do { | ||
168 | int step; | ||
169 | |||
170 | if (force) | ||
171 | step = divisor; | ||
172 | else if (current_voltage_divisor < divisor - STEP) | ||
173 | step = current_voltage_divisor + STEP; | ||
174 | else if (current_voltage_divisor > divisor + STEP) | ||
175 | step = current_voltage_divisor - STEP; | ||
176 | else | ||
177 | step = divisor; | ||
178 | force = 0; | ||
179 | |||
180 | gpio_set_value(VIPER_PSU_CLK_GPIO, 0); | ||
181 | gpio_set_value(VIPER_PSU_nCS_LD_GPIO, 0); | ||
182 | |||
183 | for (i = 1 << 11 ; i > 0 ; i >>= 1) { | ||
184 | udelay(1); | ||
185 | |||
186 | gpio_set_value(VIPER_PSU_DATA_GPIO, step & i); | ||
187 | udelay(1); | ||
188 | |||
189 | gpio_set_value(VIPER_PSU_CLK_GPIO, 1); | ||
190 | udelay(1); | ||
191 | |||
192 | gpio_set_value(VIPER_PSU_CLK_GPIO, 0); | ||
193 | } | ||
194 | udelay(1); | ||
195 | |||
196 | gpio_set_value(VIPER_PSU_nCS_LD_GPIO, 1); | ||
197 | udelay(1); | ||
198 | |||
199 | gpio_set_value(VIPER_PSU_nCS_LD_GPIO, 0); | ||
200 | |||
201 | current_voltage_divisor = step; | ||
202 | } while (current_voltage_divisor != divisor); | ||
203 | } | ||
204 | |||
205 | /* Interrupt handling */ | ||
206 | static unsigned long viper_irq_enabled_mask; | ||
207 | |||
208 | static void viper_ack_irq(unsigned int irq) | ||
209 | { | ||
210 | int viper_irq = irq - PXA_ISA_IRQ(0); | ||
211 | |||
212 | if (viper_irq < 8) | ||
213 | VIPER_LO_IRQ_STATUS = 1 << viper_irq; | ||
214 | else | ||
215 | VIPER_HI_IRQ_STATUS = 1 << (viper_irq - 8); | ||
216 | } | ||
217 | |||
218 | static void viper_mask_irq(unsigned int irq) | ||
219 | { | ||
220 | viper_irq_enabled_mask &= ~(1 << (irq - PXA_ISA_IRQ(0))); | ||
221 | } | ||
222 | |||
223 | static void viper_unmask_irq(unsigned int irq) | ||
224 | { | ||
225 | viper_irq_enabled_mask |= (1 << (irq - PXA_ISA_IRQ(0))); | ||
226 | } | ||
227 | |||
228 | static inline unsigned long viper_irq_pending(void) | ||
229 | { | ||
230 | return (VIPER_HI_IRQ_STATUS << 8 | VIPER_LO_IRQ_STATUS) & | ||
231 | viper_irq_enabled_mask; | ||
232 | } | ||
233 | |||
234 | static void viper_irq_handler(unsigned int irq, struct irq_desc *desc) | ||
235 | { | ||
236 | unsigned long pending; | ||
237 | |||
238 | pending = viper_irq_pending(); | ||
239 | do { | ||
240 | if (likely(pending)) { | ||
241 | irq = PXA_ISA_IRQ(0) + __ffs(pending); | ||
242 | generic_handle_irq(irq); | ||
243 | } | ||
244 | pending = viper_irq_pending(); | ||
245 | } while (pending); | ||
246 | } | ||
247 | |||
248 | static struct irq_chip viper_irq_chip = { | ||
249 | .name = "ISA", | ||
250 | .ack = viper_ack_irq, | ||
251 | .mask = viper_mask_irq, | ||
252 | .unmask = viper_unmask_irq | ||
253 | }; | ||
254 | |||
255 | static void __init viper_init_irq(void) | ||
256 | { | ||
257 | const int isa_irqs[] = { 3, 4, 5, 6, 7, 10, 11, 12, 9, 14, 15 }; | ||
258 | int irq; | ||
259 | int isa_irq; | ||
260 | |||
261 | pxa25x_init_irq(); | ||
262 | |||
263 | /* setup ISA IRQs */ | ||
264 | for (irq = 0; irq < ARRAY_SIZE(isa_irqs); irq++) { | ||
265 | isa_irq = isa_irqs[irq]; | ||
266 | set_irq_chip(isa_irq, &viper_irq_chip); | ||
267 | set_irq_handler(isa_irq, handle_edge_irq); | ||
268 | set_irq_flags(isa_irq, IRQF_VALID | IRQF_PROBE); | ||
269 | } | ||
270 | |||
271 | set_irq_chained_handler(gpio_to_irq(VIPER_CPLD_GPIO), | ||
272 | viper_irq_handler); | ||
273 | set_irq_type(gpio_to_irq(VIPER_CPLD_GPIO), IRQ_TYPE_EDGE_BOTH); | ||
274 | |||
275 | #ifndef CONFIG_SERIAL_PXA | ||
276 | /* | ||
277 | * 8250 doesn't support IRQ_TYPE being passed as part | ||
278 | * of the plat_serial8250_port structure... | ||
279 | */ | ||
280 | set_irq_type(gpio_to_irq(VIPER_UARTA_GPIO), IRQ_TYPE_EDGE_RISING); | ||
281 | set_irq_type(gpio_to_irq(VIPER_UARTB_GPIO), IRQ_TYPE_EDGE_RISING); | ||
282 | #endif | ||
283 | } | ||
284 | |||
285 | /* Flat Panel */ | ||
286 | static struct pxafb_mode_info fb_mode_info[] = { | ||
287 | { | ||
288 | .pixclock = 157500, | ||
289 | |||
290 | .xres = 320, | ||
291 | .yres = 240, | ||
292 | |||
293 | .bpp = 16, | ||
294 | |||
295 | .hsync_len = 63, | ||
296 | .left_margin = 7, | ||
297 | .right_margin = 13, | ||
298 | |||
299 | .vsync_len = 20, | ||
300 | .upper_margin = 0, | ||
301 | .lower_margin = 0, | ||
302 | |||
303 | .sync = 0, | ||
304 | }, | ||
305 | }; | ||
306 | |||
307 | static struct pxafb_mach_info fb_info = { | ||
308 | .modes = fb_mode_info, | ||
309 | .num_modes = 1, | ||
310 | .lcd_conn = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL, | ||
311 | }; | ||
312 | |||
313 | static int viper_backlight_init(struct device *dev) | ||
314 | { | ||
315 | int ret; | ||
316 | |||
317 | /* GPIO9 and 10 control FB backlight. Initialise to off */ | ||
318 | ret = gpio_request(VIPER_BCKLIGHT_EN_GPIO, "Backlight"); | ||
319 | if (ret) | ||
320 | goto err_request_bckl; | ||
321 | |||
322 | ret = gpio_request(VIPER_LCD_EN_GPIO, "LCD"); | ||
323 | if (ret) | ||
324 | goto err_request_lcd; | ||
325 | |||
326 | ret = gpio_direction_output(VIPER_BCKLIGHT_EN_GPIO, 0); | ||
327 | if (ret) | ||
328 | goto err_dir; | ||
329 | |||
330 | ret = gpio_direction_output(VIPER_LCD_EN_GPIO, 0); | ||
331 | if (ret) | ||
332 | goto err_dir; | ||
333 | |||
334 | return 0; | ||
335 | |||
336 | err_dir: | ||
337 | gpio_free(VIPER_LCD_EN_GPIO); | ||
338 | err_request_lcd: | ||
339 | gpio_free(VIPER_BCKLIGHT_EN_GPIO); | ||
340 | err_request_bckl: | ||
341 | dev_err(dev, "Failed to setup LCD GPIOs\n"); | ||
342 | |||
343 | return ret; | ||
344 | } | ||
345 | |||
346 | static int viper_backlight_notify(int brightness) | ||
347 | { | ||
348 | gpio_set_value(VIPER_LCD_EN_GPIO, !!brightness); | ||
349 | gpio_set_value(VIPER_BCKLIGHT_EN_GPIO, !!brightness); | ||
350 | |||
351 | return brightness; | ||
352 | } | ||
353 | |||
354 | static void viper_backlight_exit(struct device *dev) | ||
355 | { | ||
356 | gpio_free(VIPER_LCD_EN_GPIO); | ||
357 | gpio_free(VIPER_BCKLIGHT_EN_GPIO); | ||
358 | } | ||
359 | |||
360 | static struct platform_pwm_backlight_data viper_backlight_data = { | ||
361 | .pwm_id = 0, | ||
362 | .max_brightness = 100, | ||
363 | .dft_brightness = 100, | ||
364 | .pwm_period_ns = 1000000, | ||
365 | .init = viper_backlight_init, | ||
366 | .notify = viper_backlight_notify, | ||
367 | .exit = viper_backlight_exit, | ||
368 | }; | ||
369 | |||
370 | static struct platform_device viper_backlight_device = { | ||
371 | .name = "pwm-backlight", | ||
372 | .dev = { | ||
373 | .parent = &pxa25x_device_pwm0.dev, | ||
374 | .platform_data = &viper_backlight_data, | ||
375 | }, | ||
376 | }; | ||
377 | |||
378 | /* Ethernet */ | ||
379 | static struct resource smc91x_resources[] = { | ||
380 | [0] = { | ||
381 | .name = "smc91x-regs", | ||
382 | .start = VIPER_ETH_PHYS + 0x300, | ||
383 | .end = VIPER_ETH_PHYS + 0x30f, | ||
384 | .flags = IORESOURCE_MEM, | ||
385 | }, | ||
386 | [1] = { | ||
387 | .start = gpio_to_irq(VIPER_ETH_GPIO), | ||
388 | .end = gpio_to_irq(VIPER_ETH_GPIO), | ||
389 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, | ||
390 | }, | ||
391 | [2] = { | ||
392 | .name = "smc91x-data32", | ||
393 | .start = VIPER_ETH_DATA_PHYS, | ||
394 | .end = VIPER_ETH_DATA_PHYS + 3, | ||
395 | .flags = IORESOURCE_MEM, | ||
396 | }, | ||
397 | }; | ||
398 | |||
399 | static struct smc91x_platdata viper_smc91x_info = { | ||
400 | .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT, | ||
401 | .leda = RPC_LED_100_10, | ||
402 | .ledb = RPC_LED_TX_RX, | ||
403 | }; | ||
404 | |||
405 | static struct platform_device smc91x_device = { | ||
406 | .name = "smc91x", | ||
407 | .id = -1, | ||
408 | .num_resources = ARRAY_SIZE(smc91x_resources), | ||
409 | .resource = smc91x_resources, | ||
410 | .dev = { | ||
411 | .platform_data = &viper_smc91x_info, | ||
412 | }, | ||
413 | }; | ||
414 | |||
415 | /* i2c */ | ||
416 | static struct i2c_gpio_platform_data i2c_bus_data = { | ||
417 | .sda_pin = VIPER_RTC_I2C_SDA_GPIO, | ||
418 | .scl_pin = VIPER_RTC_I2C_SCL_GPIO, | ||
419 | .udelay = 10, | ||
420 | .timeout = 100, | ||
421 | }; | ||
422 | |||
423 | static struct platform_device i2c_bus_device = { | ||
424 | .name = "i2c-gpio", | ||
425 | .id = 1, /* pxa2xx-i2c is bus 0, so start at 1 */ | ||
426 | .dev = { | ||
427 | .platform_data = &i2c_bus_data, | ||
428 | } | ||
429 | }; | ||
430 | |||
431 | static struct i2c_board_info __initdata viper_i2c_devices[] = { | ||
432 | { | ||
433 | I2C_BOARD_INFO("ds1338", 0x68), | ||
434 | }, | ||
435 | }; | ||
436 | |||
437 | /* | ||
438 | * Serial configuration: | ||
439 | * You can either have the standard PXA ports driven by the PXA driver, | ||
440 | * or all the ports (PXA + 16850) driven by the 8250 driver. | ||
441 | * Choose your poison. | ||
442 | */ | ||
443 | |||
444 | static struct resource viper_serial_resources[] = { | ||
445 | #ifndef CONFIG_SERIAL_PXA | ||
446 | { | ||
447 | .start = 0x40100000, | ||
448 | .end = 0x4010001f, | ||
449 | .flags = IORESOURCE_MEM, | ||
450 | }, | ||
451 | { | ||
452 | .start = 0x40200000, | ||
453 | .end = 0x4020001f, | ||
454 | .flags = IORESOURCE_MEM, | ||
455 | }, | ||
456 | { | ||
457 | .start = 0x40700000, | ||
458 | .end = 0x4070001f, | ||
459 | .flags = IORESOURCE_MEM, | ||
460 | }, | ||
461 | { | ||
462 | .start = VIPER_UARTA_PHYS, | ||
463 | .end = VIPER_UARTA_PHYS + 0xf, | ||
464 | .flags = IORESOURCE_MEM, | ||
465 | }, | ||
466 | { | ||
467 | .start = VIPER_UARTB_PHYS, | ||
468 | .end = VIPER_UARTB_PHYS + 0xf, | ||
469 | .flags = IORESOURCE_MEM, | ||
470 | }, | ||
471 | #else | ||
472 | { | ||
473 | 0, | ||
474 | }, | ||
475 | #endif | ||
476 | }; | ||
477 | |||
478 | static struct plat_serial8250_port serial_platform_data[] = { | ||
479 | #ifndef CONFIG_SERIAL_PXA | ||
480 | /* Internal UARTs */ | ||
481 | { | ||
482 | .membase = (void *)&FFUART, | ||
483 | .mapbase = __PREG(FFUART), | ||
484 | .irq = IRQ_FFUART, | ||
485 | .uartclk = 921600 * 16, | ||
486 | .regshift = 2, | ||
487 | .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST, | ||
488 | .iotype = UPIO_MEM, | ||
489 | }, | ||
490 | { | ||
491 | .membase = (void *)&BTUART, | ||
492 | .mapbase = __PREG(BTUART), | ||
493 | .irq = IRQ_BTUART, | ||
494 | .uartclk = 921600 * 16, | ||
495 | .regshift = 2, | ||
496 | .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST, | ||
497 | .iotype = UPIO_MEM, | ||
498 | }, | ||
499 | { | ||
500 | .membase = (void *)&STUART, | ||
501 | .mapbase = __PREG(STUART), | ||
502 | .irq = IRQ_STUART, | ||
503 | .uartclk = 921600 * 16, | ||
504 | .regshift = 2, | ||
505 | .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST, | ||
506 | .iotype = UPIO_MEM, | ||
507 | }, | ||
508 | /* External UARTs */ | ||
509 | { | ||
510 | .mapbase = VIPER_UARTA_PHYS, | ||
511 | .irq = gpio_to_irq(VIPER_UARTA_GPIO), | ||
512 | .uartclk = 1843200, | ||
513 | .regshift = 1, | ||
514 | .iotype = UPIO_MEM, | ||
515 | .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP | | ||
516 | UPF_SKIP_TEST, | ||
517 | }, | ||
518 | { | ||
519 | .mapbase = VIPER_UARTB_PHYS, | ||
520 | .irq = gpio_to_irq(VIPER_UARTB_GPIO), | ||
521 | .uartclk = 1843200, | ||
522 | .regshift = 1, | ||
523 | .iotype = UPIO_MEM, | ||
524 | .flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP | | ||
525 | UPF_SKIP_TEST, | ||
526 | }, | ||
527 | #endif | ||
528 | { }, | ||
529 | }; | ||
530 | |||
531 | static struct platform_device serial_device = { | ||
532 | .name = "serial8250", | ||
533 | .id = 0, | ||
534 | .dev = { | ||
535 | .platform_data = serial_platform_data, | ||
536 | }, | ||
537 | .num_resources = ARRAY_SIZE(viper_serial_resources), | ||
538 | .resource = viper_serial_resources, | ||
539 | }; | ||
540 | |||
541 | /* USB */ | ||
542 | static void isp116x_delay(struct device *dev, int delay) | ||
543 | { | ||
544 | ndelay(delay); | ||
545 | } | ||
546 | |||
547 | static struct resource isp116x_resources[] = { | ||
548 | [0] = { /* DATA */ | ||
549 | .start = VIPER_USB_PHYS + 0, | ||
550 | .end = VIPER_USB_PHYS + 1, | ||
551 | .flags = IORESOURCE_MEM, | ||
552 | }, | ||
553 | [1] = { /* ADDR */ | ||
554 | .start = VIPER_USB_PHYS + 2, | ||
555 | .end = VIPER_USB_PHYS + 3, | ||
556 | .flags = IORESOURCE_MEM, | ||
557 | }, | ||
558 | [2] = { | ||
559 | .start = gpio_to_irq(VIPER_USB_GPIO), | ||
560 | .end = gpio_to_irq(VIPER_USB_GPIO), | ||
561 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, | ||
562 | }, | ||
563 | }; | ||
564 | |||
565 | /* (DataBusWidth16|AnalogOCEnable|DREQOutputPolarity|DownstreamPort15KRSel ) */ | ||
566 | static struct isp116x_platform_data isp116x_platform_data = { | ||
567 | /* Enable internal resistors on downstream ports */ | ||
568 | .sel15Kres = 1, | ||
569 | /* On-chip overcurrent protection */ | ||
570 | .oc_enable = 1, | ||
571 | /* INT output polarity */ | ||
572 | .int_act_high = 1, | ||
573 | /* INT edge or level triggered */ | ||
574 | .int_edge_triggered = 0, | ||
575 | |||
576 | /* WAKEUP pin connected - NOT SUPPORTED */ | ||
577 | /* .remote_wakeup_connected = 0, */ | ||
578 | /* Wakeup by devices on usb bus enabled */ | ||
579 | .remote_wakeup_enable = 0, | ||
580 | .delay = isp116x_delay, | ||
581 | }; | ||
582 | |||
583 | static struct platform_device isp116x_device = { | ||
584 | .name = "isp116x-hcd", | ||
585 | .id = -1, | ||
586 | .num_resources = ARRAY_SIZE(isp116x_resources), | ||
587 | .resource = isp116x_resources, | ||
588 | .dev = { | ||
589 | .platform_data = &isp116x_platform_data, | ||
590 | }, | ||
591 | |||
592 | }; | ||
593 | |||
594 | /* MTD */ | ||
595 | static struct resource mtd_resources[] = { | ||
596 | [0] = { /* RedBoot config + filesystem flash */ | ||
597 | .start = VIPER_FLASH_PHYS, | ||
598 | .end = VIPER_FLASH_PHYS + SZ_32M - 1, | ||
599 | .flags = IORESOURCE_MEM, | ||
600 | }, | ||
601 | [1] = { /* Boot flash */ | ||
602 | .start = VIPER_BOOT_PHYS, | ||
603 | .end = VIPER_BOOT_PHYS + SZ_1M - 1, | ||
604 | .flags = IORESOURCE_MEM, | ||
605 | }, | ||
606 | [2] = { /* | ||
607 | * SRAM size is actually 256KB, 8bits, with a sparse mapping | ||
608 | * (each byte is on a 16bit boundary). | ||
609 | */ | ||
610 | .start = _VIPER_SRAM_BASE, | ||
611 | .end = _VIPER_SRAM_BASE + SZ_512K - 1, | ||
612 | .flags = IORESOURCE_MEM, | ||
613 | }, | ||
614 | }; | ||
615 | |||
616 | static struct mtd_partition viper_boot_flash_partition = { | ||
617 | .name = "RedBoot", | ||
618 | .size = SZ_1M, | ||
619 | .offset = 0, | ||
620 | .mask_flags = MTD_WRITEABLE, /* force R/O */ | ||
621 | }; | ||
622 | |||
623 | static struct physmap_flash_data viper_flash_data[] = { | ||
624 | [0] = { | ||
625 | .width = 2, | ||
626 | .parts = NULL, | ||
627 | .nr_parts = 0, | ||
628 | }, | ||
629 | [1] = { | ||
630 | .width = 2, | ||
631 | .parts = &viper_boot_flash_partition, | ||
632 | .nr_parts = 1, | ||
633 | }, | ||
634 | }; | ||
635 | |||
636 | static struct platform_device viper_mtd_devices[] = { | ||
637 | [0] = { | ||
638 | .name = "physmap-flash", | ||
639 | .id = 0, | ||
640 | .dev = { | ||
641 | .platform_data = &viper_flash_data[0], | ||
642 | }, | ||
643 | .resource = &mtd_resources[0], | ||
644 | .num_resources = 1, | ||
645 | }, | ||
646 | [1] = { | ||
647 | .name = "physmap-flash", | ||
648 | .id = 1, | ||
649 | .dev = { | ||
650 | .platform_data = &viper_flash_data[1], | ||
651 | }, | ||
652 | .resource = &mtd_resources[1], | ||
653 | .num_resources = 1, | ||
654 | }, | ||
655 | }; | ||
656 | |||
657 | static struct platform_device *viper_devs[] __initdata = { | ||
658 | &smc91x_device, | ||
659 | &i2c_bus_device, | ||
660 | &serial_device, | ||
661 | &isp116x_device, | ||
662 | &viper_mtd_devices[0], | ||
663 | &viper_mtd_devices[1], | ||
664 | &viper_backlight_device, | ||
665 | }; | ||
666 | |||
667 | static mfp_cfg_t viper_pin_config[] __initdata = { | ||
668 | /* Chip selects */ | ||
669 | GPIO15_nCS_1, | ||
670 | GPIO78_nCS_2, | ||
671 | GPIO79_nCS_3, | ||
672 | GPIO80_nCS_4, | ||
673 | GPIO33_nCS_5, | ||
674 | |||
675 | /* FP Backlight */ | ||
676 | GPIO9_GPIO, /* VIPER_BCKLIGHT_EN_GPIO */ | ||
677 | GPIO10_GPIO, /* VIPER_LCD_EN_GPIO */ | ||
678 | GPIO16_PWM0_OUT, | ||
679 | |||
680 | /* Ethernet PHY Ready */ | ||
681 | GPIO18_RDY, | ||
682 | |||
683 | /* Serial shutdown */ | ||
684 | GPIO12_GPIO | MFP_LPM_DRIVE_HIGH, /* VIPER_UART_SHDN_GPIO */ | ||
685 | |||
686 | /* Compact-Flash / PC104 */ | ||
687 | GPIO48_nPOE, | ||
688 | GPIO49_nPWE, | ||
689 | GPIO50_nPIOR, | ||
690 | GPIO51_nPIOW, | ||
691 | GPIO52_nPCE_1, | ||
692 | GPIO53_nPCE_2, | ||
693 | GPIO54_nPSKTSEL, | ||
694 | GPIO55_nPREG, | ||
695 | GPIO56_nPWAIT, | ||
696 | GPIO57_nIOIS16, | ||
697 | GPIO8_GPIO, /* VIPER_CF_RDY_GPIO */ | ||
698 | GPIO32_GPIO, /* VIPER_CF_CD_GPIO */ | ||
699 | GPIO82_GPIO, /* VIPER_CF_POWER_GPIO */ | ||
700 | |||
701 | /* Integrated UPS control */ | ||
702 | GPIO20_GPIO, /* VIPER_UPS_GPIO */ | ||
703 | |||
704 | /* Vcc regulator control */ | ||
705 | GPIO6_GPIO, /* VIPER_PSU_DATA_GPIO */ | ||
706 | GPIO11_GPIO, /* VIPER_PSU_CLK_GPIO */ | ||
707 | GPIO19_GPIO, /* VIPER_PSU_nCS_LD_GPIO */ | ||
708 | |||
709 | /* i2c busses */ | ||
710 | GPIO26_GPIO, /* VIPER_TPM_I2C_SDA_GPIO */ | ||
711 | GPIO27_GPIO, /* VIPER_TPM_I2C_SCL_GPIO */ | ||
712 | GPIO83_GPIO, /* VIPER_RTC_I2C_SDA_GPIO */ | ||
713 | GPIO84_GPIO, /* VIPER_RTC_I2C_SCL_GPIO */ | ||
714 | |||
715 | /* PC/104 Interrupt */ | ||
716 | GPIO1_GPIO | WAKEUP_ON_EDGE_RISE, /* VIPER_CPLD_GPIO */ | ||
717 | }; | ||
718 | |||
719 | static unsigned long viper_tpm; | ||
720 | |||
721 | static int __init viper_tpm_setup(char *str) | ||
722 | { | ||
723 | strict_strtoul(str, 10, &viper_tpm); | ||
724 | return 1; | ||
725 | } | ||
726 | |||
727 | __setup("tpm=", viper_tpm_setup); | ||
728 | |||
729 | static void __init viper_tpm_init(void) | ||
730 | { | ||
731 | struct platform_device *tpm_device; | ||
732 | struct i2c_gpio_platform_data i2c_tpm_data = { | ||
733 | .sda_pin = VIPER_TPM_I2C_SDA_GPIO, | ||
734 | .scl_pin = VIPER_TPM_I2C_SCL_GPIO, | ||
735 | .udelay = 10, | ||
736 | .timeout = 100, | ||
737 | }; | ||
738 | char *errstr; | ||
739 | |||
740 | /* Allocate TPM i2c bus if requested */ | ||
741 | if (!viper_tpm) | ||
742 | return; | ||
743 | |||
744 | tpm_device = platform_device_alloc("i2c-gpio", 2); | ||
745 | if (tpm_device) { | ||
746 | if (!platform_device_add_data(tpm_device, | ||
747 | &i2c_tpm_data, | ||
748 | sizeof(i2c_tpm_data))) { | ||
749 | if (platform_device_add(tpm_device)) { | ||
750 | errstr = "register TPM i2c bus"; | ||
751 | goto error_free_tpm; | ||
752 | } | ||
753 | } else { | ||
754 | errstr = "allocate TPM i2c bus data"; | ||
755 | goto error_free_tpm; | ||
756 | } | ||
757 | } else { | ||
758 | errstr = "allocate TPM i2c device"; | ||
759 | goto error_tpm; | ||
760 | } | ||
761 | |||
762 | return; | ||
763 | |||
764 | error_free_tpm: | ||
765 | kfree(tpm_device); | ||
766 | error_tpm: | ||
767 | pr_err("viper: Couldn't %s, giving up\n", errstr); | ||
768 | } | ||
769 | |||
770 | static void __init viper_init_vcore_gpios(void) | ||
771 | { | ||
772 | if (gpio_request(VIPER_PSU_DATA_GPIO, "PSU data")) | ||
773 | goto err_request_data; | ||
774 | |||
775 | if (gpio_request(VIPER_PSU_CLK_GPIO, "PSU clock")) | ||
776 | goto err_request_clk; | ||
777 | |||
778 | if (gpio_request(VIPER_PSU_nCS_LD_GPIO, "PSU cs")) | ||
779 | goto err_request_cs; | ||
780 | |||
781 | if (gpio_direction_output(VIPER_PSU_DATA_GPIO, 0) || | ||
782 | gpio_direction_output(VIPER_PSU_CLK_GPIO, 0) || | ||
783 | gpio_direction_output(VIPER_PSU_nCS_LD_GPIO, 0)) | ||
784 | goto err_dir; | ||
785 | |||
786 | /* c/should assume redboot set the correct level ??? */ | ||
787 | viper_set_core_cpu_voltage(get_clk_frequency_khz(0), 1); | ||
788 | |||
789 | return; | ||
790 | |||
791 | err_dir: | ||
792 | gpio_free(VIPER_PSU_nCS_LD_GPIO); | ||
793 | err_request_cs: | ||
794 | gpio_free(VIPER_PSU_CLK_GPIO); | ||
795 | err_request_clk: | ||
796 | gpio_free(VIPER_PSU_DATA_GPIO); | ||
797 | err_request_data: | ||
798 | pr_err("viper: Failed to setup vcore control GPIOs\n"); | ||
799 | } | ||
800 | |||
801 | static void __init viper_init_serial_gpio(void) | ||
802 | { | ||
803 | if (gpio_request(VIPER_UART_SHDN_GPIO, "UARTs shutdown")) | ||
804 | goto err_request; | ||
805 | |||
806 | if (gpio_direction_output(VIPER_UART_SHDN_GPIO, 0)) | ||
807 | goto err_dir; | ||
808 | |||
809 | return; | ||
810 | |||
811 | err_dir: | ||
812 | gpio_free(VIPER_UART_SHDN_GPIO); | ||
813 | err_request: | ||
814 | pr_err("viper: Failed to setup UART shutdown GPIO\n"); | ||
815 | } | ||
816 | |||
817 | #ifdef CONFIG_CPU_FREQ | ||
818 | static int viper_cpufreq_notifier(struct notifier_block *nb, | ||
819 | unsigned long val, void *data) | ||
820 | { | ||
821 | struct cpufreq_freqs *freq = data; | ||
822 | |||
823 | /* TODO: Adjust timings??? */ | ||
824 | |||
825 | switch (val) { | ||
826 | case CPUFREQ_PRECHANGE: | ||
827 | if (freq->old < freq->new) { | ||
828 | /* we are getting faster so raise the voltage | ||
829 | * before we change freq */ | ||
830 | viper_set_core_cpu_voltage(freq->new, 0); | ||
831 | } | ||
832 | break; | ||
833 | case CPUFREQ_POSTCHANGE: | ||
834 | if (freq->old > freq->new) { | ||
835 | /* we are slowing down so drop the power | ||
836 | * after we change freq */ | ||
837 | viper_set_core_cpu_voltage(freq->new, 0); | ||
838 | } | ||
839 | break; | ||
840 | case CPUFREQ_RESUMECHANGE: | ||
841 | viper_set_core_cpu_voltage(freq->new, 0); | ||
842 | break; | ||
843 | default: | ||
844 | /* ignore */ | ||
845 | break; | ||
846 | } | ||
847 | |||
848 | return 0; | ||
849 | } | ||
850 | |||
851 | static struct notifier_block viper_cpufreq_notifier_block = { | ||
852 | .notifier_call = viper_cpufreq_notifier | ||
853 | }; | ||
854 | |||
855 | static void __init viper_init_cpufreq(void) | ||
856 | { | ||
857 | if (cpufreq_register_notifier(&viper_cpufreq_notifier_block, | ||
858 | CPUFREQ_TRANSITION_NOTIFIER)) | ||
859 | pr_err("viper: Failed to setup cpufreq notifier\n"); | ||
860 | } | ||
861 | #else | ||
862 | static inline void viper_init_cpufreq(void) {} | ||
863 | #endif | ||
864 | |||
865 | static void viper_power_off(void) | ||
866 | { | ||
867 | pr_notice("Shutting off UPS\n"); | ||
868 | gpio_set_value(VIPER_UPS_GPIO, 1); | ||
869 | /* Spin to death... */ | ||
870 | while (1); | ||
871 | } | ||
872 | |||
873 | static void __init viper_init(void) | ||
874 | { | ||
875 | u8 version; | ||
876 | |||
877 | pm_power_off = viper_power_off; | ||
878 | |||
879 | pxa2xx_mfp_config(ARRAY_AND_SIZE(viper_pin_config)); | ||
880 | |||
881 | /* Wake-up serial console */ | ||
882 | viper_init_serial_gpio(); | ||
883 | |||
884 | set_pxa_fb_info(&fb_info); | ||
885 | |||
886 | /* v1 hardware cannot use the datacs line */ | ||
887 | version = viper_hw_version(); | ||
888 | if (version == 0) | ||
889 | smc91x_device.num_resources--; | ||
890 | |||
891 | pxa_set_i2c_info(NULL); | ||
892 | platform_add_devices(viper_devs, ARRAY_SIZE(viper_devs)); | ||
893 | |||
894 | viper_init_vcore_gpios(); | ||
895 | viper_init_cpufreq(); | ||
896 | |||
897 | sysdev_driver_register(&cpu_sysdev_class, &viper_cpu_sysdev_driver); | ||
898 | |||
899 | if (version) { | ||
900 | pr_info("viper: hardware v%di%d detected. " | ||
901 | "CPLD revision %d.\n", | ||
902 | VIPER_BOARD_VERSION(version), | ||
903 | VIPER_BOARD_ISSUE(version), | ||
904 | VIPER_CPLD_REVISION(version)); | ||
905 | system_rev = (VIPER_BOARD_VERSION(version) << 8) | | ||
906 | (VIPER_BOARD_ISSUE(version) << 4) | | ||
907 | VIPER_CPLD_REVISION(version); | ||
908 | } else { | ||
909 | pr_info("viper: No version register.\n"); | ||
910 | } | ||
911 | |||
912 | i2c_register_board_info(1, ARRAY_AND_SIZE(viper_i2c_devices)); | ||
913 | |||
914 | viper_tpm_init(); | ||
915 | pxa_set_ac97_info(NULL); | ||
916 | } | ||
917 | |||
918 | static struct map_desc viper_io_desc[] __initdata = { | ||
919 | { | ||
920 | .virtual = VIPER_CPLD_BASE, | ||
921 | .pfn = __phys_to_pfn(VIPER_CPLD_PHYS), | ||
922 | .length = 0x00300000, | ||
923 | .type = MT_DEVICE, | ||
924 | }, | ||
925 | { | ||
926 | .virtual = VIPER_PC104IO_BASE, | ||
927 | .pfn = __phys_to_pfn(_PCMCIA1IO), | ||
928 | .length = 0x00800000, | ||
929 | .type = MT_DEVICE, | ||
930 | }, | ||
931 | }; | ||
932 | |||
933 | static void __init viper_map_io(void) | ||
934 | { | ||
935 | pxa_map_io(); | ||
936 | |||
937 | iotable_init(viper_io_desc, ARRAY_SIZE(viper_io_desc)); | ||
938 | |||
939 | PCFR |= PCFR_OPDE; | ||
940 | } | ||
941 | |||
942 | MACHINE_START(VIPER, "Arcom/Eurotech VIPER SBC") | ||
943 | /* Maintainer: Marc Zyngier <maz@misterjones.org> */ | ||
944 | .phys_io = 0x40000000, | ||
945 | .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc, | ||
946 | .boot_params = 0xa0000100, | ||
947 | .map_io = viper_map_io, | ||
948 | .init_irq = viper_init_irq, | ||
949 | .timer = &pxa_timer, | ||
950 | .init_machine = viper_init, | ||
951 | MACHINE_END | ||
diff --git a/drivers/net/smc91x.c b/drivers/net/smc91x.c index 24768c10cadb..e332a518efe8 100644 --- a/drivers/net/smc91x.c +++ b/drivers/net/smc91x.c | |||
@@ -1520,7 +1520,9 @@ smc_open(struct net_device *dev) | |||
1520 | /* Setup the default Register Modes */ | 1520 | /* Setup the default Register Modes */ |
1521 | lp->tcr_cur_mode = TCR_DEFAULT; | 1521 | lp->tcr_cur_mode = TCR_DEFAULT; |
1522 | lp->rcr_cur_mode = RCR_DEFAULT; | 1522 | lp->rcr_cur_mode = RCR_DEFAULT; |
1523 | lp->rpc_cur_mode = RPC_DEFAULT; | 1523 | lp->rpc_cur_mode = RPC_DEFAULT | |
1524 | lp->cfg.leda << RPC_LSXA_SHFT | | ||
1525 | lp->cfg.ledb << RPC_LSXB_SHFT; | ||
1524 | 1526 | ||
1525 | /* | 1527 | /* |
1526 | * If we are not using a MII interface, we need to | 1528 | * If we are not using a MII interface, we need to |
@@ -2157,6 +2159,11 @@ static int smc_drv_probe(struct platform_device *pdev) | |||
2157 | lp->cfg.flags |= (nowait) ? SMC91X_NOWAIT : 0; | 2159 | lp->cfg.flags |= (nowait) ? SMC91X_NOWAIT : 0; |
2158 | } | 2160 | } |
2159 | 2161 | ||
2162 | if (!lp->cfg.leda && !lp->cfg.ledb) { | ||
2163 | lp->cfg.leda = RPC_LSA_DEFAULT; | ||
2164 | lp->cfg.ledb = RPC_LSB_DEFAULT; | ||
2165 | } | ||
2166 | |||
2160 | ndev->dma = (unsigned char)-1; | 2167 | ndev->dma = (unsigned char)-1; |
2161 | 2168 | ||
2162 | res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-regs"); | 2169 | res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-regs"); |
diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h index 997e7f1d5c6e..160873f0a817 100644 --- a/drivers/net/smc91x.h +++ b/drivers/net/smc91x.h | |||
@@ -43,7 +43,8 @@ | |||
43 | #if defined(CONFIG_ARCH_LUBBOCK) ||\ | 43 | #if defined(CONFIG_ARCH_LUBBOCK) ||\ |
44 | defined(CONFIG_MACH_MAINSTONE) ||\ | 44 | defined(CONFIG_MACH_MAINSTONE) ||\ |
45 | defined(CONFIG_MACH_ZYLONITE) ||\ | 45 | defined(CONFIG_MACH_ZYLONITE) ||\ |
46 | defined(CONFIG_MACH_LITTLETON) | 46 | defined(CONFIG_MACH_LITTLETON) ||\ |
47 | defined(CONFIG_ARCH_VIPER) | ||
47 | 48 | ||
48 | #include <asm/mach-types.h> | 49 | #include <asm/mach-types.h> |
49 | 50 | ||
@@ -778,14 +779,6 @@ smc_pxa_dma_irq(int dma, void *dummy) | |||
778 | #define RPC_ANEG 0x0800 // When 1 PHY is in Auto-Negotiate Mode | 779 | #define RPC_ANEG 0x0800 // When 1 PHY is in Auto-Negotiate Mode |
779 | #define RPC_LSXA_SHFT 5 // Bits to shift LS2A,LS1A,LS0A to lsb | 780 | #define RPC_LSXA_SHFT 5 // Bits to shift LS2A,LS1A,LS0A to lsb |
780 | #define RPC_LSXB_SHFT 2 // Bits to get LS2B,LS1B,LS0B to lsb | 781 | #define RPC_LSXB_SHFT 2 // Bits to get LS2B,LS1B,LS0B to lsb |
781 | #define RPC_LED_100_10 (0x00) // LED = 100Mbps OR's with 10Mbps link detect | ||
782 | #define RPC_LED_RES (0x01) // LED = Reserved | ||
783 | #define RPC_LED_10 (0x02) // LED = 10Mbps link detect | ||
784 | #define RPC_LED_FD (0x03) // LED = Full Duplex Mode | ||
785 | #define RPC_LED_TX_RX (0x04) // LED = TX or RX packet occurred | ||
786 | #define RPC_LED_100 (0x05) // LED = 100Mbps link dectect | ||
787 | #define RPC_LED_TX (0x06) // LED = TX packet occurred | ||
788 | #define RPC_LED_RX (0x07) // LED = RX packet occurred | ||
789 | 782 | ||
790 | #ifndef RPC_LSA_DEFAULT | 783 | #ifndef RPC_LSA_DEFAULT |
791 | #define RPC_LSA_DEFAULT RPC_LED_100 | 784 | #define RPC_LSA_DEFAULT RPC_LED_100 |
@@ -794,7 +787,7 @@ smc_pxa_dma_irq(int dma, void *dummy) | |||
794 | #define RPC_LSB_DEFAULT RPC_LED_FD | 787 | #define RPC_LSB_DEFAULT RPC_LED_FD |
795 | #endif | 788 | #endif |
796 | 789 | ||
797 | #define RPC_DEFAULT (RPC_ANEG | (RPC_LSA_DEFAULT << RPC_LSXA_SHFT) | (RPC_LSB_DEFAULT << RPC_LSXB_SHFT) | RPC_SPEED | RPC_DPLX) | 790 | #define RPC_DEFAULT (RPC_ANEG | RPC_SPEED | RPC_DPLX) |
798 | 791 | ||
799 | 792 | ||
800 | /* Bank 0 0x0C is reserved */ | 793 | /* Bank 0 0x0C is reserved */ |
diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig index 40417d3fe50d..f57eeae3830a 100644 --- a/drivers/pcmcia/Kconfig +++ b/drivers/pcmcia/Kconfig | |||
@@ -220,7 +220,8 @@ config PCMCIA_PXA2XX | |||
220 | tristate "PXA2xx support" | 220 | tristate "PXA2xx support" |
221 | depends on ARM && ARCH_PXA && PCMCIA | 221 | depends on ARM && ARCH_PXA && PCMCIA |
222 | depends on (ARCH_LUBBOCK || MACH_MAINSTONE || PXA_SHARPSL \ | 222 | depends on (ARCH_LUBBOCK || MACH_MAINSTONE || PXA_SHARPSL \ |
223 | || MACH_ARMCORE || ARCH_PXA_PALM || TRIZEPS_PCMCIA) | 223 | || MACH_ARMCORE || ARCH_PXA_PALM || TRIZEPS_PCMCIA \ |
224 | || ARCH_VIPER) | ||
224 | help | 225 | help |
225 | Say Y here to include support for the PXA2xx PCMCIA controller | 226 | Say Y here to include support for the PXA2xx PCMCIA controller |
226 | 227 | ||
diff --git a/drivers/pcmcia/Makefile b/drivers/pcmcia/Makefile index 679ca927a62a..8c2fe94122a2 100644 --- a/drivers/pcmcia/Makefile +++ b/drivers/pcmcia/Makefile | |||
@@ -72,7 +72,7 @@ pxa2xx_cs-$(CONFIG_ARCH_LUBBOCK) += pxa2xx_lubbock.o sa1111_generic.o | |||
72 | pxa2xx_cs-$(CONFIG_MACH_MAINSTONE) += pxa2xx_mainstone.o | 72 | pxa2xx_cs-$(CONFIG_MACH_MAINSTONE) += pxa2xx_mainstone.o |
73 | pxa2xx_cs-$(CONFIG_PXA_SHARPSL) += pxa2xx_sharpsl.o | 73 | pxa2xx_cs-$(CONFIG_PXA_SHARPSL) += pxa2xx_sharpsl.o |
74 | pxa2xx_cs-$(CONFIG_MACH_ARMCORE) += pxa2xx_cm_x2xx.o pxa2xx_cm_x255.o pxa2xx_cm_x270.o | 74 | pxa2xx_cs-$(CONFIG_MACH_ARMCORE) += pxa2xx_cm_x2xx.o pxa2xx_cm_x255.o pxa2xx_cm_x270.o |
75 | pxa2xx_cs-$(CONFIG_ARCH_VIPER) += pxa2xx_viper.o | ||
75 | pxa2xx_cs-$(CONFIG_TRIZEPS_PCMCIA) += pxa2xx_trizeps.o | 76 | pxa2xx_cs-$(CONFIG_TRIZEPS_PCMCIA) += pxa2xx_trizeps.o |
76 | pxa2xx_cs-$(CONFIG_MACH_PALMTX) += pxa2xx_palmtx.o | 77 | pxa2xx_cs-$(CONFIG_MACH_PALMTX) += pxa2xx_palmtx.o |
77 | pxa2xx_cs-$(CONFIG_MACH_PALMLD) += pxa2xx_palmld.o | 78 | pxa2xx_cs-$(CONFIG_MACH_PALMLD) += pxa2xx_palmld.o |
78 | |||
diff --git a/drivers/pcmcia/pxa2xx_base.c b/drivers/pcmcia/pxa2xx_base.c index 1b07af5a2ed3..13f1e0fd3f31 100644 --- a/drivers/pcmcia/pxa2xx_base.c +++ b/drivers/pcmcia/pxa2xx_base.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include <asm/system.h> | 30 | #include <asm/system.h> |
31 | #include <mach/pxa-regs.h> | 31 | #include <mach/pxa-regs.h> |
32 | #include <mach/pxa2xx-regs.h> | 32 | #include <mach/pxa2xx-regs.h> |
33 | #include <asm/mach-types.h> | ||
33 | 34 | ||
34 | #include <pcmcia/cs_types.h> | 35 | #include <pcmcia/cs_types.h> |
35 | #include <pcmcia/ss.h> | 36 | #include <pcmcia/ss.h> |
@@ -166,18 +167,32 @@ pxa2xx_pcmcia_frequency_change(struct soc_pcmcia_socket *skt, | |||
166 | } | 167 | } |
167 | #endif | 168 | #endif |
168 | 169 | ||
170 | static void pxa2xx_configure_sockets(struct device *dev) | ||
171 | { | ||
172 | struct pcmcia_low_level *ops = dev->platform_data; | ||
173 | |||
174 | /* | ||
175 | * We have at least one socket, so set MECR:CIT | ||
176 | * (Card Is There) | ||
177 | */ | ||
178 | MECR |= MECR_CIT; | ||
179 | |||
180 | /* Set MECR:NOS (Number Of Sockets) */ | ||
181 | if (ops->nr > 1 || machine_is_viper()) | ||
182 | MECR |= MECR_NOS; | ||
183 | else | ||
184 | MECR &= ~MECR_NOS; | ||
185 | } | ||
186 | |||
169 | int __pxa2xx_drv_pcmcia_probe(struct device *dev) | 187 | int __pxa2xx_drv_pcmcia_probe(struct device *dev) |
170 | { | 188 | { |
171 | int ret; | 189 | int ret; |
172 | struct pcmcia_low_level *ops; | 190 | struct pcmcia_low_level *ops; |
173 | int first, nr; | ||
174 | 191 | ||
175 | if (!dev || !dev->platform_data) | 192 | if (!dev || !dev->platform_data) |
176 | return -ENODEV; | 193 | return -ENODEV; |
177 | 194 | ||
178 | ops = (struct pcmcia_low_level *)dev->platform_data; | 195 | ops = (struct pcmcia_low_level *)dev->platform_data; |
179 | first = ops->first; | ||
180 | nr = ops->nr; | ||
181 | 196 | ||
182 | /* Provide our PXA2xx specific timing routines. */ | 197 | /* Provide our PXA2xx specific timing routines. */ |
183 | ops->set_timing = pxa2xx_pcmcia_set_timing; | 198 | ops->set_timing = pxa2xx_pcmcia_set_timing; |
@@ -185,21 +200,10 @@ int __pxa2xx_drv_pcmcia_probe(struct device *dev) | |||
185 | ops->frequency_change = pxa2xx_pcmcia_frequency_change; | 200 | ops->frequency_change = pxa2xx_pcmcia_frequency_change; |
186 | #endif | 201 | #endif |
187 | 202 | ||
188 | ret = soc_common_drv_pcmcia_probe(dev, ops, first, nr); | 203 | ret = soc_common_drv_pcmcia_probe(dev, ops, ops->first, ops->nr); |
189 | 204 | ||
190 | if (ret == 0) { | 205 | if (!ret) |
191 | /* | 206 | pxa2xx_configure_sockets(dev); |
192 | * We have at least one socket, so set MECR:CIT | ||
193 | * (Card Is There) | ||
194 | */ | ||
195 | MECR |= MECR_CIT; | ||
196 | |||
197 | /* Set MECR:NOS (Number Of Sockets) */ | ||
198 | if (nr > 1) | ||
199 | MECR |= MECR_NOS; | ||
200 | else | ||
201 | MECR &= ~MECR_NOS; | ||
202 | } | ||
203 | 207 | ||
204 | return ret; | 208 | return ret; |
205 | } | 209 | } |
@@ -223,11 +227,7 @@ static int pxa2xx_drv_pcmcia_suspend(struct platform_device *dev, pm_message_t s | |||
223 | 227 | ||
224 | static int pxa2xx_drv_pcmcia_resume(struct platform_device *dev) | 228 | static int pxa2xx_drv_pcmcia_resume(struct platform_device *dev) |
225 | { | 229 | { |
226 | struct pcmcia_low_level *ops = dev->dev.platform_data; | 230 | pxa2xx_configure_sockets(&dev->dev); |
227 | int nr = ops ? ops->nr : 0; | ||
228 | |||
229 | MECR = nr > 1 ? MECR_CIT | MECR_NOS : (nr > 0 ? MECR_CIT : 0); | ||
230 | |||
231 | return pcmcia_socket_dev_resume(&dev->dev); | 231 | return pcmcia_socket_dev_resume(&dev->dev); |
232 | } | 232 | } |
233 | 233 | ||
diff --git a/drivers/pcmcia/pxa2xx_viper.c b/drivers/pcmcia/pxa2xx_viper.c new file mode 100644 index 000000000000..dd10481be7bf --- /dev/null +++ b/drivers/pcmcia/pxa2xx_viper.c | |||
@@ -0,0 +1,179 @@ | |||
1 | /* | ||
2 | * VIPER PCMCIA support | ||
3 | * Copyright 2004 Arcom Control Systems | ||
4 | * | ||
5 | * Maintained by Marc Zyngier <maz@misterjones.org> | ||
6 | * <marc.zyngier@altran.com> | ||
7 | * | ||
8 | * Based on: | ||
9 | * iPAQ h2200 PCMCIA support | ||
10 | * Copyright 2004 Koen Kooi <koen@vestingbar.nl> | ||
11 | * | ||
12 | * This file is subject to the terms and conditions of the GNU General Public | ||
13 | * License. See the file COPYING in the main directory of this archive for | ||
14 | * more details. | ||
15 | */ | ||
16 | |||
17 | #include <linux/module.h> | ||
18 | #include <linux/init.h> | ||
19 | #include <linux/kernel.h> | ||
20 | #include <linux/errno.h> | ||
21 | #include <linux/interrupt.h> | ||
22 | #include <linux/platform_device.h> | ||
23 | #include <linux/gpio.h> | ||
24 | |||
25 | #include <pcmcia/ss.h> | ||
26 | |||
27 | #include <asm/irq.h> | ||
28 | |||
29 | #include <mach/pxa-regs.h> | ||
30 | #include <mach/viper.h> | ||
31 | #include <asm/mach-types.h> | ||
32 | |||
33 | #include "soc_common.h" | ||
34 | #include "pxa2xx_base.h" | ||
35 | |||
36 | static struct pcmcia_irqs irqs[] = { | ||
37 | { 0, gpio_to_irq(VIPER_CF_CD_GPIO), "PCMCIA_CD" } | ||
38 | }; | ||
39 | |||
40 | static int viper_pcmcia_hw_init(struct soc_pcmcia_socket *skt) | ||
41 | { | ||
42 | unsigned long flags; | ||
43 | |||
44 | skt->irq = gpio_to_irq(VIPER_CF_RDY_GPIO); | ||
45 | |||
46 | if (gpio_request(VIPER_CF_CD_GPIO, "CF detect")) | ||
47 | goto err_request_cd; | ||
48 | |||
49 | if (gpio_request(VIPER_CF_RDY_GPIO, "CF ready")) | ||
50 | goto err_request_rdy; | ||
51 | |||
52 | if (gpio_request(VIPER_CF_POWER_GPIO, "CF power")) | ||
53 | goto err_request_pwr; | ||
54 | |||
55 | local_irq_save(flags); | ||
56 | |||
57 | /* GPIO 82 is the CF power enable line. initially off */ | ||
58 | if (gpio_direction_output(VIPER_CF_POWER_GPIO, 0) || | ||
59 | gpio_direction_input(VIPER_CF_CD_GPIO) || | ||
60 | gpio_direction_input(VIPER_CF_RDY_GPIO)) { | ||
61 | local_irq_restore(flags); | ||
62 | goto err_dir; | ||
63 | } | ||
64 | |||
65 | local_irq_restore(flags); | ||
66 | |||
67 | return soc_pcmcia_request_irqs(skt, irqs, ARRAY_SIZE(irqs)); | ||
68 | |||
69 | err_dir: | ||
70 | gpio_free(VIPER_CF_POWER_GPIO); | ||
71 | err_request_pwr: | ||
72 | gpio_free(VIPER_CF_RDY_GPIO); | ||
73 | err_request_rdy: | ||
74 | gpio_free(VIPER_CF_CD_GPIO); | ||
75 | err_request_cd: | ||
76 | printk(KERN_ERR "viper: Failed to setup PCMCIA GPIOs\n"); | ||
77 | return -1; | ||
78 | } | ||
79 | |||
80 | /* | ||
81 | * Release all resources. | ||
82 | */ | ||
83 | static void viper_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt) | ||
84 | { | ||
85 | soc_pcmcia_free_irqs(skt, irqs, ARRAY_SIZE(irqs)); | ||
86 | gpio_free(VIPER_CF_POWER_GPIO); | ||
87 | gpio_free(VIPER_CF_RDY_GPIO); | ||
88 | gpio_free(VIPER_CF_CD_GPIO); | ||
89 | } | ||
90 | |||
91 | static void viper_pcmcia_socket_state(struct soc_pcmcia_socket *skt, | ||
92 | struct pcmcia_state *state) | ||
93 | { | ||
94 | state->detect = gpio_get_value(VIPER_CF_CD_GPIO) ? 0 : 1; | ||
95 | state->ready = gpio_get_value(VIPER_CF_RDY_GPIO) ? 1 : 0; | ||
96 | state->bvd1 = 1; | ||
97 | state->bvd2 = 1; | ||
98 | state->wrprot = 0; | ||
99 | state->vs_3v = 1; /* Can only apply 3.3V */ | ||
100 | state->vs_Xv = 0; | ||
101 | } | ||
102 | |||
103 | static int viper_pcmcia_configure_socket(struct soc_pcmcia_socket *skt, | ||
104 | const socket_state_t *state) | ||
105 | { | ||
106 | /* Silently ignore Vpp, output enable, speaker enable. */ | ||
107 | viper_cf_rst(state->flags & SS_RESET); | ||
108 | |||
109 | /* Apply socket voltage */ | ||
110 | switch (state->Vcc) { | ||
111 | case 0: | ||
112 | gpio_set_value(VIPER_CF_POWER_GPIO, 0); | ||
113 | break; | ||
114 | case 33: | ||
115 | gpio_set_value(VIPER_CF_POWER_GPIO, 1); | ||
116 | break; | ||
117 | default: | ||
118 | printk(KERN_ERR "%s: Unsupported Vcc:%d\n", | ||
119 | __func__, state->Vcc); | ||
120 | return -1; | ||
121 | } | ||
122 | |||
123 | return 0; | ||
124 | } | ||
125 | |||
126 | static void viper_pcmcia_socket_init(struct soc_pcmcia_socket *skt) | ||
127 | { | ||
128 | } | ||
129 | |||
130 | static void viper_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt) | ||
131 | { | ||
132 | } | ||
133 | |||
134 | static struct pcmcia_low_level viper_pcmcia_ops __initdata = { | ||
135 | .owner = THIS_MODULE, | ||
136 | .hw_init = viper_pcmcia_hw_init, | ||
137 | .hw_shutdown = viper_pcmcia_hw_shutdown, | ||
138 | .socket_state = viper_pcmcia_socket_state, | ||
139 | .configure_socket = viper_pcmcia_configure_socket, | ||
140 | .socket_init = viper_pcmcia_socket_init, | ||
141 | .socket_suspend = viper_pcmcia_socket_suspend, | ||
142 | .nr = 1, | ||
143 | }; | ||
144 | |||
145 | static struct platform_device *viper_pcmcia_device; | ||
146 | |||
147 | static int __init viper_pcmcia_init(void) | ||
148 | { | ||
149 | int ret; | ||
150 | |||
151 | if (!machine_is_viper()) | ||
152 | return -ENODEV; | ||
153 | |||
154 | viper_pcmcia_device = platform_device_alloc("pxa2xx-pcmcia", -1); | ||
155 | if (!viper_pcmcia_device) | ||
156 | return -ENOMEM; | ||
157 | |||
158 | ret = platform_device_add_data(viper_pcmcia_device, | ||
159 | &viper_pcmcia_ops, | ||
160 | sizeof(viper_pcmcia_ops)); | ||
161 | |||
162 | if (!ret) | ||
163 | ret = platform_device_add(viper_pcmcia_device); | ||
164 | |||
165 | if (ret) | ||
166 | platform_device_put(viper_pcmcia_device); | ||
167 | |||
168 | return ret; | ||
169 | } | ||
170 | |||
171 | static void __exit viper_pcmcia_exit(void) | ||
172 | { | ||
173 | platform_device_unregister(viper_pcmcia_device); | ||
174 | } | ||
175 | |||
176 | module_init(viper_pcmcia_init); | ||
177 | module_exit(viper_pcmcia_exit); | ||
178 | |||
179 | MODULE_LICENSE("GPL"); | ||
diff --git a/include/linux/smc91x.h b/include/linux/smc91x.h index 3827b922ba1f..bc21db598c06 100644 --- a/include/linux/smc91x.h +++ b/include/linux/smc91x.h | |||
@@ -16,8 +16,19 @@ | |||
16 | 16 | ||
17 | #define SMC91X_USE_DMA (1 << 6) | 17 | #define SMC91X_USE_DMA (1 << 6) |
18 | 18 | ||
19 | #define RPC_LED_100_10 (0x00) /* LED = 100Mbps OR's with 10Mbps link detect */ | ||
20 | #define RPC_LED_RES (0x01) /* LED = Reserved */ | ||
21 | #define RPC_LED_10 (0x02) /* LED = 10Mbps link detect */ | ||
22 | #define RPC_LED_FD (0x03) /* LED = Full Duplex Mode */ | ||
23 | #define RPC_LED_TX_RX (0x04) /* LED = TX or RX packet occurred */ | ||
24 | #define RPC_LED_100 (0x05) /* LED = 100Mbps link dectect */ | ||
25 | #define RPC_LED_TX (0x06) /* LED = TX packet occurred */ | ||
26 | #define RPC_LED_RX (0x07) /* LED = RX packet occurred */ | ||
27 | |||
19 | struct smc91x_platdata { | 28 | struct smc91x_platdata { |
20 | unsigned long flags; | 29 | unsigned long flags; |
30 | unsigned char leda; | ||
31 | unsigned char ledb; | ||
21 | }; | 32 | }; |
22 | 33 | ||
23 | #endif /* __SMC91X_H__ */ | 34 | #endif /* __SMC91X_H__ */ |