[ar71xx] move random MAC address generation into the platform initialization code
[openwrt.git] / target / linux / s3c24xx / patches-2.6.24 / 1325-fix-missing-new-files-glofiish.patch.patch
1 From 3f12f6b0b863453038bc4b7435b5bab06be30f45 Mon Sep 17 00:00:00 2001
2 From: Andy Green <andy@openmoko.com>
3 Date: Tue, 18 Nov 2008 12:11:13 +0000
4 Subject: [PATCH] fix-missing-new-files-glofiish.patch
5
6 Add in uncommitted local files after Harald's patch
7
8 Reported-by: Stefan Schmidt <stefan@openmoko.org>
9 Signed-off-by: Andy Green <andy@openmoko.com>
10 ---
11 arch/arm/configs/glofiish_defconfig | 1728 +++++++++++++++++++++++++++++++
12 arch/arm/mach-s3c2440/mach-glofiish.c | 620 +++++++++++
13 drivers/input/keyboard/m800kbd.c | 330 ++++++
14 include/asm-arm/arch-s3c2410/glofiish.h | 39 +
15 4 files changed, 2717 insertions(+), 0 deletions(-)
16 create mode 100644 arch/arm/configs/glofiish_defconfig
17 create mode 100644 arch/arm/mach-s3c2440/mach-glofiish.c
18 create mode 100644 drivers/input/keyboard/m800kbd.c
19 create mode 100644 include/asm-arm/arch-s3c2410/glofiish.h
20
21 diff --git a/arch/arm/configs/glofiish_defconfig b/arch/arm/configs/glofiish_defconfig
22 new file mode 100644
23 index 0000000..808d61f
24 --- /dev/null
25 +++ b/arch/arm/configs/glofiish_defconfig
26 @@ -0,0 +1,1728 @@
27 +#
28 +# Automatically generated make config: don't edit
29 +# Linux kernel version: 2.6.24
30 +# Wed Nov 12 00:27:24 2008
31 +#
32 +CONFIG_ARM=y
33 +CONFIG_SYS_SUPPORTS_APM_EMULATION=y
34 +CONFIG_GENERIC_GPIO=y
35 +# CONFIG_GENERIC_TIME is not set
36 +# CONFIG_GENERIC_CLOCKEVENTS is not set
37 +CONFIG_MMU=y
38 +CONFIG_NO_IOPORT=y
39 +CONFIG_GENERIC_HARDIRQS=y
40 +CONFIG_STACKTRACE_SUPPORT=y
41 +CONFIG_LOCKDEP_SUPPORT=y
42 +CONFIG_TRACE_IRQFLAGS_SUPPORT=y
43 +CONFIG_HARDIRQS_SW_RESEND=y
44 +CONFIG_GENERIC_IRQ_PROBE=y
45 +CONFIG_RWSEM_GENERIC_SPINLOCK=y
46 +# CONFIG_ARCH_HAS_ILOG2_U32 is not set
47 +# CONFIG_ARCH_HAS_ILOG2_U64 is not set
48 +CONFIG_GENERIC_HWEIGHT=y
49 +CONFIG_GENERIC_CALIBRATE_DELAY=y
50 +CONFIG_ZONE_DMA=y
51 +CONFIG_VECTORS_BASE=0xffff0000
52 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
53 +
54 +#
55 +# General setup
56 +#
57 +CONFIG_EXPERIMENTAL=y
58 +CONFIG_BROKEN_ON_SMP=y
59 +CONFIG_LOCK_KERNEL=y
60 +CONFIG_INIT_ENV_ARG_LIMIT=32
61 +CONFIG_LOCALVERSION=""
62 +# CONFIG_LOCALVERSION_AUTO is not set
63 +CONFIG_SWAP=y
64 +CONFIG_SYSVIPC=y
65 +CONFIG_SYSVIPC_SYSCTL=y
66 +# CONFIG_POSIX_MQUEUE is not set
67 +# CONFIG_BSD_PROCESS_ACCT is not set
68 +# CONFIG_TASKSTATS is not set
69 +# CONFIG_USER_NS is not set
70 +# CONFIG_PID_NS is not set
71 +# CONFIG_AUDIT is not set
72 +# CONFIG_IKCONFIG is not set
73 +CONFIG_LOG_BUF_SHIFT=14
74 +# CONFIG_CGROUPS is not set
75 +# CONFIG_FAIR_GROUP_SCHED is not set
76 +# CONFIG_SYSFS_DEPRECATED is not set
77 +# CONFIG_RELAY is not set
78 +CONFIG_BLK_DEV_INITRD=y
79 +CONFIG_INITRAMFS_SOURCE=""
80 +CONFIG_CC_OPTIMIZE_FOR_SIZE=y
81 +CONFIG_SYSCTL=y
82 +# CONFIG_EMBEDDED is not set
83 +CONFIG_UID16=y
84 +CONFIG_SYSCTL_SYSCALL=y
85 +CONFIG_KALLSYMS=y
86 +# CONFIG_KALLSYMS_ALL is not set
87 +# CONFIG_KALLSYMS_EXTRA_PASS is not set
88 +CONFIG_HOTPLUG=y
89 +CONFIG_PRINTK=y
90 +CONFIG_BUG=y
91 +CONFIG_ELF_CORE=y
92 +CONFIG_BASE_FULL=y
93 +CONFIG_FUTEX=y
94 +CONFIG_ANON_INODES=y
95 +CONFIG_EPOLL=y
96 +CONFIG_SIGNALFD=y
97 +CONFIG_EVENTFD=y
98 +CONFIG_SHMEM=y
99 +CONFIG_VM_EVENT_COUNTERS=y
100 +CONFIG_SLAB=y
101 +# CONFIG_SLUB is not set
102 +# CONFIG_SLOB is not set
103 +CONFIG_SLABINFO=y
104 +CONFIG_RT_MUTEXES=y
105 +# CONFIG_TINY_SHMEM is not set
106 +CONFIG_BASE_SMALL=0
107 +CONFIG_MODULES=y
108 +CONFIG_MODULE_UNLOAD=y
109 +CONFIG_MODULE_FORCE_UNLOAD=y
110 +# CONFIG_MODVERSIONS is not set
111 +# CONFIG_MODULE_SRCVERSION_ALL is not set
112 +CONFIG_KMOD=y
113 +CONFIG_BLOCK=y
114 +# CONFIG_LBD is not set
115 +# CONFIG_BLK_DEV_IO_TRACE is not set
116 +# CONFIG_LSF is not set
117 +# CONFIG_BLK_DEV_BSG is not set
118 +
119 +#
120 +# IO Schedulers
121 +#
122 +CONFIG_IOSCHED_NOOP=y
123 +CONFIG_IOSCHED_AS=m
124 +CONFIG_IOSCHED_DEADLINE=y
125 +CONFIG_IOSCHED_CFQ=m
126 +# CONFIG_DEFAULT_AS is not set
127 +CONFIG_DEFAULT_DEADLINE=y
128 +# CONFIG_DEFAULT_CFQ is not set
129 +# CONFIG_DEFAULT_NOOP is not set
130 +CONFIG_DEFAULT_IOSCHED="deadline"
131 +
132 +#
133 +# System Type
134 +#
135 +# CONFIG_ARCH_AAEC2000 is not set
136 +# CONFIG_ARCH_INTEGRATOR is not set
137 +# CONFIG_ARCH_REALVIEW is not set
138 +# CONFIG_ARCH_VERSATILE is not set
139 +# CONFIG_ARCH_AT91 is not set
140 +# CONFIG_ARCH_CLPS7500 is not set
141 +# CONFIG_ARCH_CLPS711X is not set
142 +# CONFIG_ARCH_CO285 is not set
143 +# CONFIG_ARCH_EBSA110 is not set
144 +# CONFIG_ARCH_EP93XX is not set
145 +# CONFIG_ARCH_FOOTBRIDGE is not set
146 +# CONFIG_ARCH_NETX is not set
147 +# CONFIG_ARCH_H720X is not set
148 +# CONFIG_ARCH_IMX is not set
149 +# CONFIG_ARCH_IOP13XX is not set
150 +# CONFIG_ARCH_IOP32X is not set
151 +# CONFIG_ARCH_IOP33X is not set
152 +# CONFIG_ARCH_IXP23XX is not set
153 +# CONFIG_ARCH_IXP2000 is not set
154 +# CONFIG_ARCH_IXP4XX is not set
155 +# CONFIG_ARCH_L7200 is not set
156 +# CONFIG_ARCH_KS8695 is not set
157 +# CONFIG_ARCH_NS9XXX is not set
158 +# CONFIG_ARCH_MXC is not set
159 +# CONFIG_ARCH_PNX4008 is not set
160 +# CONFIG_ARCH_PXA is not set
161 +# CONFIG_ARCH_RPC is not set
162 +# CONFIG_ARCH_SA1100 is not set
163 +CONFIG_ARCH_S3C2410=y
164 +# CONFIG_ARCH_SHARK is not set
165 +# CONFIG_ARCH_LH7A40X is not set
166 +# CONFIG_ARCH_DAVINCI is not set
167 +# CONFIG_ARCH_OMAP is not set
168 +CONFIG_PLAT_S3C24XX=y
169 +CONFIG_CPU_S3C244X=y
170 +CONFIG_S3C2410_DMA=y
171 +# CONFIG_S3C2410_DMA_DEBUG is not set
172 +CONFIG_MACH_SMDK=y
173 +CONFIG_PLAT_S3C=y
174 +CONFIG_CPU_LLSERIAL_S3C2410=y
175 +CONFIG_CPU_LLSERIAL_S3C2440=y
176 +
177 +#
178 +# Boot options
179 +#
180 +# CONFIG_S3C_BOOT_WATCHDOG is not set
181 +# CONFIG_S3C_BOOT_ERROR_RESET is not set
182 +
183 +#
184 +# Power management
185 +#
186 +# CONFIG_S3C2410_PM_CHECK is not set
187 +CONFIG_S3C_LOWLEVEL_UART_PORT=2
188 +
189 +#
190 +# S3C2400 Machines
191 +#
192 +CONFIG_CPU_S3C2410=y
193 +CONFIG_CPU_S3C2410_DMA=y
194 +CONFIG_S3C2410_PM=y
195 +CONFIG_S3C2410_GPIO=y
196 +CONFIG_S3C2410_CLOCK=y
197 +CONFIG_S3C2410_PWM=y
198 +
199 +#
200 +# S3C2410 Machines
201 +#
202 +# CONFIG_ARCH_SMDK2410 is not set
203 +# CONFIG_ARCH_H1940 is not set
204 +# CONFIG_MACH_N30 is not set
205 +# CONFIG_ARCH_BAST is not set
206 +# CONFIG_MACH_OTOM is not set
207 +# CONFIG_MACH_AML_M5900 is not set
208 +# CONFIG_MACH_VR1000 is not set
209 +CONFIG_MACH_QT2410=y
210 +# CONFIG_MACH_NEO1973_GTA01 is not set
211 +
212 +#
213 +# S3C2412 Machines
214 +#
215 +# CONFIG_MACH_SMDK2413 is not set
216 +# CONFIG_MACH_SMDK2412 is not set
217 +# CONFIG_MACH_VSTMS is not set
218 +CONFIG_CPU_S3C2440=y
219 +CONFIG_S3C2440_DMA=y
220 +# CONFIG_S3C2440_C_FIQ is not set
221 +
222 +#
223 +# S3C2440 Machines
224 +#
225 +# CONFIG_MACH_ANUBIS is not set
226 +# CONFIG_MACH_OSIRIS is not set
227 +# CONFIG_MACH_RX3715 is not set
228 +CONFIG_ARCH_S3C2440=y
229 +# CONFIG_MACH_NEXCODER_2440 is not set
230 +CONFIG_SMDK2440_CPU2440=y
231 +# CONFIG_MACH_HXD8 is not set
232 +# CONFIG_MACH_NEO1973_GTA02 is not set
233 +CONFIG_MACH_M800=y
234 +CONFIG_CPU_S3C2442=y
235 +
236 +#
237 +# S3C2442 Machines
238 +#
239 +CONFIG_SMDK2440_CPU2442=y
240 +
241 +#
242 +# S3C2443 Machines
243 +#
244 +# CONFIG_MACH_SMDK2443 is not set
245 +
246 +#
247 +# Processor Type
248 +#
249 +CONFIG_CPU_32=y
250 +CONFIG_CPU_ARM920T=y
251 +CONFIG_CPU_32v4T=y
252 +CONFIG_CPU_ABRT_EV4T=y
253 +CONFIG_CPU_CACHE_V4WT=y
254 +CONFIG_CPU_CACHE_VIVT=y
255 +CONFIG_CPU_COPY_V4WB=y
256 +CONFIG_CPU_TLB_V4WBI=y
257 +CONFIG_CPU_CP15=y
258 +CONFIG_CPU_CP15_MMU=y
259 +
260 +#
261 +# Processor Features
262 +#
263 +CONFIG_ARM_THUMB=y
264 +# CONFIG_CPU_ICACHE_DISABLE is not set
265 +# CONFIG_CPU_DCACHE_DISABLE is not set
266 +# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
267 +# CONFIG_OUTER_CACHE is not set
268 +
269 +#
270 +# Bus support
271 +#
272 +# CONFIG_PCI_SYSCALL is not set
273 +# CONFIG_ARCH_SUPPORTS_MSI is not set
274 +# CONFIG_PCCARD is not set
275 +
276 +#
277 +# Kernel Features
278 +#
279 +# CONFIG_TICK_ONESHOT is not set
280 +CONFIG_PREEMPT=y
281 +CONFIG_NO_IDLE_HZ=y
282 +CONFIG_HZ=200
283 +CONFIG_AEABI=y
284 +CONFIG_OABI_COMPAT=y
285 +# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
286 +CONFIG_SELECT_MEMORY_MODEL=y
287 +CONFIG_FLATMEM_MANUAL=y
288 +# CONFIG_DISCONTIGMEM_MANUAL is not set
289 +# CONFIG_SPARSEMEM_MANUAL is not set
290 +CONFIG_FLATMEM=y
291 +CONFIG_FLAT_NODE_MEM_MAP=y
292 +# CONFIG_SPARSEMEM_STATIC is not set
293 +# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
294 +CONFIG_SPLIT_PTLOCK_CPUS=4096
295 +# CONFIG_RESOURCES_64BIT is not set
296 +CONFIG_ZONE_DMA_FLAG=1
297 +CONFIG_BOUNCE=y
298 +CONFIG_VIRT_TO_BUS=y
299 +CONFIG_ALIGNMENT_TRAP=y
300 +
301 +#
302 +# Boot options
303 +#
304 +CONFIG_ZBOOT_ROM_TEXT=0x0
305 +CONFIG_ZBOOT_ROM_BSS=0x0
306 +CONFIG_CMDLINE="root=/dev/mmcblk0p1 rootdelay=5"
307 +# CONFIG_XIP_KERNEL is not set
308 +CONFIG_KEXEC=y
309 +CONFIG_ATAGS_PROC=y
310 +
311 +#
312 +# Floating point emulation
313 +#
314 +
315 +#
316 +# At least one emulation must be selected
317 +#
318 +CONFIG_FPE_NWFPE=y
319 +# CONFIG_FPE_NWFPE_XP is not set
320 +# CONFIG_FPE_FASTFPE is not set
321 +
322 +#
323 +# Userspace binary formats
324 +#
325 +CONFIG_BINFMT_ELF=y
326 +# CONFIG_BINFMT_AOUT is not set
327 +# CONFIG_BINFMT_MISC is not set
328 +
329 +#
330 +# Power management options
331 +#
332 +CONFIG_PM=y
333 +CONFIG_PM_LEGACY=y
334 +CONFIG_PM_DEBUG=y
335 +# CONFIG_PM_VERBOSE is not set
336 +CONFIG_PM_SLEEP=y
337 +CONFIG_SUSPEND_UP_POSSIBLE=y
338 +CONFIG_SUSPEND=y
339 +CONFIG_APM_EMULATION=y
340 +
341 +#
342 +# Networking
343 +#
344 +CONFIG_NET=y
345 +
346 +#
347 +# Networking options
348 +#
349 +CONFIG_PACKET=y
350 +CONFIG_PACKET_MMAP=y
351 +CONFIG_UNIX=y
352 +CONFIG_XFRM=y
353 +# CONFIG_XFRM_USER is not set
354 +# CONFIG_XFRM_SUB_POLICY is not set
355 +CONFIG_XFRM_MIGRATE=y
356 +CONFIG_NET_KEY=m
357 +CONFIG_NET_KEY_MIGRATE=y
358 +CONFIG_INET=y
359 +CONFIG_IP_MULTICAST=y
360 +CONFIG_IP_ADVANCED_ROUTER=y
361 +CONFIG_ASK_IP_FIB_HASH=y
362 +# CONFIG_IP_FIB_TRIE is not set
363 +CONFIG_IP_FIB_HASH=y
364 +CONFIG_IP_MULTIPLE_TABLES=y
365 +# CONFIG_IP_ROUTE_MULTIPATH is not set
366 +# CONFIG_IP_ROUTE_VERBOSE is not set
367 +CONFIG_IP_PNP=y
368 +CONFIG_IP_PNP_DHCP=y
369 +# CONFIG_IP_PNP_BOOTP is not set
370 +# CONFIG_IP_PNP_RARP is not set
371 +CONFIG_NET_IPIP=m
372 +CONFIG_NET_IPGRE=m
373 +# CONFIG_NET_IPGRE_BROADCAST is not set
374 +# CONFIG_IP_MROUTE is not set
375 +# CONFIG_ARPD is not set
376 +CONFIG_SYN_COOKIES=y
377 +CONFIG_INET_AH=m
378 +CONFIG_INET_ESP=m
379 +CONFIG_INET_IPCOMP=m
380 +CONFIG_INET_XFRM_TUNNEL=m
381 +CONFIG_INET_TUNNEL=m
382 +CONFIG_INET_XFRM_MODE_TRANSPORT=m
383 +CONFIG_INET_XFRM_MODE_TUNNEL=m
384 +CONFIG_INET_XFRM_MODE_BEET=m
385 +# CONFIG_INET_LRO is not set
386 +CONFIG_INET_DIAG=y
387 +CONFIG_INET_TCP_DIAG=y
388 +# CONFIG_TCP_CONG_ADVANCED is not set
389 +CONFIG_TCP_CONG_CUBIC=y
390 +CONFIG_DEFAULT_TCP_CONG="cubic"
391 +CONFIG_TCP_MD5SIG=y
392 +# CONFIG_IP_VS is not set
393 +CONFIG_IPV6=m
394 +# CONFIG_IPV6_PRIVACY is not set
395 +# CONFIG_IPV6_ROUTER_PREF is not set
396 +# CONFIG_IPV6_OPTIMISTIC_DAD is not set
397 +CONFIG_INET6_AH=m
398 +CONFIG_INET6_ESP=m
399 +CONFIG_INET6_IPCOMP=m
400 +# CONFIG_IPV6_MIP6 is not set
401 +CONFIG_INET6_XFRM_TUNNEL=m
402 +CONFIG_INET6_TUNNEL=m
403 +CONFIG_INET6_XFRM_MODE_TRANSPORT=m
404 +CONFIG_INET6_XFRM_MODE_TUNNEL=m
405 +CONFIG_INET6_XFRM_MODE_BEET=m
406 +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
407 +CONFIG_IPV6_SIT=m
408 +CONFIG_IPV6_TUNNEL=m
409 +# CONFIG_IPV6_MULTIPLE_TABLES is not set
410 +# CONFIG_NETWORK_SECMARK is not set
411 +CONFIG_NETFILTER=y
412 +# CONFIG_NETFILTER_DEBUG is not set
413 +
414 +#
415 +# Core Netfilter Configuration
416 +#
417 +CONFIG_NETFILTER_NETLINK=m
418 +CONFIG_NETFILTER_NETLINK_QUEUE=m
419 +CONFIG_NETFILTER_NETLINK_LOG=m
420 +CONFIG_NF_CONNTRACK_ENABLED=m
421 +CONFIG_NF_CONNTRACK=m
422 +CONFIG_NF_CT_ACCT=y
423 +CONFIG_NF_CONNTRACK_MARK=y
424 +CONFIG_NF_CONNTRACK_EVENTS=y
425 +CONFIG_NF_CT_PROTO_GRE=m
426 +CONFIG_NF_CT_PROTO_SCTP=m
427 +# CONFIG_NF_CT_PROTO_UDPLITE is not set
428 +# CONFIG_NF_CONNTRACK_AMANDA is not set
429 +CONFIG_NF_CONNTRACK_FTP=m
430 +CONFIG_NF_CONNTRACK_H323=m
431 +CONFIG_NF_CONNTRACK_IRC=m
432 +CONFIG_NF_CONNTRACK_NETBIOS_NS=m
433 +CONFIG_NF_CONNTRACK_PPTP=m
434 +CONFIG_NF_CONNTRACK_SANE=m
435 +CONFIG_NF_CONNTRACK_SIP=m
436 +CONFIG_NF_CONNTRACK_TFTP=m
437 +CONFIG_NF_CT_NETLINK=m
438 +CONFIG_NETFILTER_XTABLES=m
439 +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
440 +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
441 +CONFIG_NETFILTER_XT_TARGET_DSCP=m
442 +CONFIG_NETFILTER_XT_TARGET_MARK=m
443 +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
444 +CONFIG_NETFILTER_XT_TARGET_NFLOG=m
445 +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
446 +# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
447 +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
448 +# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
449 +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
450 +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
451 +CONFIG_NETFILTER_XT_MATCH_DCCP=m
452 +CONFIG_NETFILTER_XT_MATCH_DSCP=m
453 +CONFIG_NETFILTER_XT_MATCH_ESP=m
454 +CONFIG_NETFILTER_XT_MATCH_HELPER=m
455 +CONFIG_NETFILTER_XT_MATCH_LENGTH=m
456 +CONFIG_NETFILTER_XT_MATCH_LIMIT=m
457 +CONFIG_NETFILTER_XT_MATCH_MAC=m
458 +CONFIG_NETFILTER_XT_MATCH_MARK=m
459 +CONFIG_NETFILTER_XT_MATCH_POLICY=m
460 +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
461 +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
462 +CONFIG_NETFILTER_XT_MATCH_QUOTA=m
463 +CONFIG_NETFILTER_XT_MATCH_REALM=m
464 +CONFIG_NETFILTER_XT_MATCH_SCTP=m
465 +CONFIG_NETFILTER_XT_MATCH_STATE=m
466 +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
467 +CONFIG_NETFILTER_XT_MATCH_STRING=m
468 +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
469 +# CONFIG_NETFILTER_XT_MATCH_TIME is not set
470 +# CONFIG_NETFILTER_XT_MATCH_U32 is not set
471 +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
472 +
473 +#
474 +# IP: Netfilter Configuration
475 +#
476 +CONFIG_NF_CONNTRACK_IPV4=m
477 +CONFIG_NF_CONNTRACK_PROC_COMPAT=y
478 +# CONFIG_IP_NF_QUEUE is not set
479 +CONFIG_IP_NF_IPTABLES=m
480 +CONFIG_IP_NF_MATCH_IPRANGE=m
481 +CONFIG_IP_NF_MATCH_TOS=m
482 +# CONFIG_IP_NF_MATCH_RECENT is not set
483 +CONFIG_IP_NF_MATCH_ECN=m
484 +CONFIG_IP_NF_MATCH_AH=m
485 +CONFIG_IP_NF_MATCH_TTL=m
486 +CONFIG_IP_NF_MATCH_OWNER=m
487 +CONFIG_IP_NF_MATCH_ADDRTYPE=m
488 +CONFIG_IP_NF_FILTER=m
489 +CONFIG_IP_NF_TARGET_REJECT=m
490 +CONFIG_IP_NF_TARGET_LOG=m
491 +CONFIG_IP_NF_TARGET_ULOG=m
492 +CONFIG_NF_NAT=m
493 +CONFIG_NF_NAT_NEEDED=y
494 +CONFIG_IP_NF_TARGET_MASQUERADE=m
495 +CONFIG_IP_NF_TARGET_REDIRECT=m
496 +CONFIG_IP_NF_TARGET_NETMAP=m
497 +CONFIG_IP_NF_TARGET_SAME=m
498 +CONFIG_NF_NAT_SNMP_BASIC=m
499 +CONFIG_NF_NAT_PROTO_GRE=m
500 +CONFIG_NF_NAT_FTP=m
501 +CONFIG_NF_NAT_IRC=m
502 +CONFIG_NF_NAT_TFTP=m
503 +# CONFIG_NF_NAT_AMANDA is not set
504 +CONFIG_NF_NAT_PPTP=m
505 +CONFIG_NF_NAT_H323=m
506 +CONFIG_NF_NAT_SIP=m
507 +CONFIG_IP_NF_MANGLE=m
508 +CONFIG_IP_NF_TARGET_TOS=m
509 +CONFIG_IP_NF_TARGET_ECN=m
510 +CONFIG_IP_NF_TARGET_TTL=m
511 +CONFIG_IP_NF_TARGET_CLUSTERIP=m
512 +# CONFIG_IP_NF_RAW is not set
513 +# CONFIG_IP_NF_ARPTABLES is not set
514 +
515 +#
516 +# IPv6: Netfilter Configuration (EXPERIMENTAL)
517 +#
518 +CONFIG_NF_CONNTRACK_IPV6=m
519 +# CONFIG_IP6_NF_QUEUE is not set
520 +CONFIG_IP6_NF_IPTABLES=m
521 +CONFIG_IP6_NF_MATCH_RT=m
522 +CONFIG_IP6_NF_MATCH_OPTS=m
523 +CONFIG_IP6_NF_MATCH_FRAG=m
524 +CONFIG_IP6_NF_MATCH_HL=m
525 +CONFIG_IP6_NF_MATCH_OWNER=m
526 +CONFIG_IP6_NF_MATCH_IPV6HEADER=m
527 +CONFIG_IP6_NF_MATCH_AH=m
528 +CONFIG_IP6_NF_MATCH_MH=m
529 +CONFIG_IP6_NF_MATCH_EUI64=m
530 +CONFIG_IP6_NF_FILTER=m
531 +CONFIG_IP6_NF_TARGET_LOG=m
532 +CONFIG_IP6_NF_TARGET_REJECT=m
533 +CONFIG_IP6_NF_MANGLE=m
534 +CONFIG_IP6_NF_TARGET_HL=m
535 +# CONFIG_IP6_NF_RAW is not set
536 +# CONFIG_IP_DCCP is not set
537 +# CONFIG_IP_SCTP is not set
538 +# CONFIG_TIPC is not set
539 +# CONFIG_ATM is not set
540 +# CONFIG_BRIDGE is not set
541 +# CONFIG_VLAN_8021Q is not set
542 +# CONFIG_DECNET is not set
543 +# CONFIG_LLC2 is not set
544 +# CONFIG_IPX is not set
545 +# CONFIG_ATALK is not set
546 +# CONFIG_X25 is not set
547 +# CONFIG_LAPB is not set
548 +# CONFIG_ECONET is not set
549 +# CONFIG_WAN_ROUTER is not set
550 +CONFIG_NET_SCHED=y
551 +
552 +#
553 +# Queueing/Scheduling
554 +#
555 +CONFIG_NET_SCH_CBQ=m
556 +CONFIG_NET_SCH_HTB=m
557 +CONFIG_NET_SCH_HFSC=m
558 +CONFIG_NET_SCH_PRIO=m
559 +# CONFIG_NET_SCH_RR is not set
560 +CONFIG_NET_SCH_RED=m
561 +CONFIG_NET_SCH_SFQ=m
562 +CONFIG_NET_SCH_TEQL=m
563 +CONFIG_NET_SCH_TBF=m
564 +CONFIG_NET_SCH_GRED=m
565 +CONFIG_NET_SCH_DSMARK=m
566 +CONFIG_NET_SCH_NETEM=m
567 +CONFIG_NET_SCH_INGRESS=m
568 +
569 +#
570 +# Classification
571 +#
572 +CONFIG_NET_CLS=y
573 +CONFIG_NET_CLS_BASIC=m
574 +CONFIG_NET_CLS_TCINDEX=m
575 +CONFIG_NET_CLS_ROUTE4=m
576 +CONFIG_NET_CLS_ROUTE=y
577 +CONFIG_NET_CLS_FW=m
578 +CONFIG_NET_CLS_U32=m
579 +CONFIG_CLS_U32_PERF=y
580 +CONFIG_CLS_U32_MARK=y
581 +CONFIG_NET_CLS_RSVP=m
582 +CONFIG_NET_CLS_RSVP6=m
583 +# CONFIG_NET_EMATCH is not set
584 +# CONFIG_NET_CLS_ACT is not set
585 +# CONFIG_NET_CLS_POLICE is not set
586 +# CONFIG_NET_CLS_IND is not set
587 +CONFIG_NET_SCH_FIFO=y
588 +
589 +#
590 +# Network testing
591 +#
592 +# CONFIG_NET_PKTGEN is not set
593 +# CONFIG_HAMRADIO is not set
594 +# CONFIG_IRDA is not set
595 +CONFIG_BT=m
596 +CONFIG_BT_L2CAP=m
597 +CONFIG_BT_SCO=m
598 +CONFIG_BT_RFCOMM=m
599 +CONFIG_BT_RFCOMM_TTY=y
600 +CONFIG_BT_BNEP=m
601 +CONFIG_BT_BNEP_MC_FILTER=y
602 +CONFIG_BT_BNEP_PROTO_FILTER=y
603 +CONFIG_BT_HIDP=m
604 +
605 +#
606 +# Bluetooth device drivers
607 +#
608 +CONFIG_BT_HCIUSB=m
609 +CONFIG_BT_HCIUSB_SCO=y
610 +# CONFIG_BT_HCIBTSDIO is not set
611 +# CONFIG_BT_HCIUART is not set
612 +# CONFIG_BT_HCIBCM203X is not set
613 +# CONFIG_BT_HCIBPA10X is not set
614 +# CONFIG_BT_HCIBFUSB is not set
615 +# CONFIG_BT_HCIVHCI is not set
616 +# CONFIG_AF_RXRPC is not set
617 +CONFIG_FIB_RULES=y
618 +
619 +#
620 +# Wireless
621 +#
622 +# CONFIG_CFG80211 is not set
623 +CONFIG_WIRELESS_EXT=y
624 +# CONFIG_MAC80211 is not set
625 +# CONFIG_IEEE80211 is not set
626 +# CONFIG_RFKILL is not set
627 +# CONFIG_NET_9P is not set
628 +
629 +#
630 +# Device Drivers
631 +#
632 +
633 +#
634 +# Generic Driver Options
635 +#
636 +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
637 +CONFIG_STANDALONE=y
638 +CONFIG_PREVENT_FIRMWARE_BUILD=y
639 +CONFIG_FW_LOADER=m
640 +# CONFIG_DEBUG_DRIVER is not set
641 +# CONFIG_DEBUG_DEVRES is not set
642 +# CONFIG_SYS_HYPERVISOR is not set
643 +CONFIG_CONNECTOR=m
644 +CONFIG_MTD=y
645 +# CONFIG_MTD_DEBUG is not set
646 +# CONFIG_MTD_CONCAT is not set
647 +CONFIG_MTD_PARTITIONS=y
648 +# CONFIG_MTD_REDBOOT_PARTS is not set
649 +CONFIG_MTD_CMDLINE_PARTS=y
650 +# CONFIG_MTD_AFS_PARTS is not set
651 +
652 +#
653 +# User Modules And Translation Layers
654 +#
655 +CONFIG_MTD_CHAR=y
656 +CONFIG_MTD_BLKDEVS=y
657 +CONFIG_MTD_BLOCK=y
658 +# CONFIG_FTL is not set
659 +# CONFIG_NFTL is not set
660 +# CONFIG_INFTL is not set
661 +# CONFIG_RFD_FTL is not set
662 +# CONFIG_SSFDC is not set
663 +# CONFIG_MTD_OOPS is not set
664 +
665 +#
666 +# RAM/ROM/Flash chip drivers
667 +#
668 +CONFIG_MTD_CFI=y
669 +# CONFIG_MTD_JEDECPROBE is not set
670 +CONFIG_MTD_GEN_PROBE=y
671 +# CONFIG_MTD_CFI_ADV_OPTIONS is not set
672 +CONFIG_MTD_MAP_BANK_WIDTH_1=y
673 +CONFIG_MTD_MAP_BANK_WIDTH_2=y
674 +CONFIG_MTD_MAP_BANK_WIDTH_4=y
675 +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
676 +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
677 +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
678 +CONFIG_MTD_CFI_I1=y
679 +CONFIG_MTD_CFI_I2=y
680 +# CONFIG_MTD_CFI_I4 is not set
681 +# CONFIG_MTD_CFI_I8 is not set
682 +CONFIG_MTD_CFI_INTELEXT=y
683 +# CONFIG_MTD_CFI_AMDSTD is not set
684 +# CONFIG_MTD_CFI_STAA is not set
685 +CONFIG_MTD_CFI_UTIL=y
686 +# CONFIG_MTD_RAM is not set
687 +# CONFIG_MTD_ROM is not set
688 +CONFIG_MTD_ABSENT=y
689 +
690 +#
691 +# Mapping drivers for chip access
692 +#
693 +# CONFIG_MTD_COMPLEX_MAPPINGS is not set
694 +CONFIG_MTD_PHYSMAP=y
695 +CONFIG_MTD_PHYSMAP_START=0x8000000
696 +CONFIG_MTD_PHYSMAP_LEN=0
697 +CONFIG_MTD_PHYSMAP_BANKWIDTH=2
698 +# CONFIG_MTD_ARM_INTEGRATOR is not set
699 +# CONFIG_MTD_PLATRAM is not set
700 +
701 +#
702 +# Self-contained MTD device drivers
703 +#
704 +# CONFIG_MTD_DATAFLASH is not set
705 +# CONFIG_MTD_M25P80 is not set
706 +# CONFIG_MTD_SLRAM is not set
707 +# CONFIG_MTD_PHRAM is not set
708 +# CONFIG_MTD_MTDRAM is not set
709 +# CONFIG_MTD_BLOCK2MTD is not set
710 +
711 +#
712 +# Disk-On-Chip Device Drivers
713 +#
714 +# CONFIG_MTD_DOC2000 is not set
715 +# CONFIG_MTD_DOC2001 is not set
716 +# CONFIG_MTD_DOC2001PLUS is not set
717 +CONFIG_MTD_NAND=y
718 +CONFIG_MTD_NAND_VERIFY_WRITE=y
719 +# CONFIG_MTD_NAND_ECC_SMC is not set
720 +# CONFIG_MTD_NAND_MUSEUM_IDS is not set
721 +CONFIG_MTD_NAND_IDS=y
722 +CONFIG_MTD_NAND_S3C2410=y
723 +# CONFIG_MTD_NAND_S3C2410_DEBUG is not set
724 +CONFIG_MTD_NAND_S3C2410_HWECC=y
725 +# CONFIG_MTD_NAND_S3C2410_CLKSTOP is not set
726 +# CONFIG_MTD_NAND_DISKONCHIP is not set
727 +# CONFIG_MTD_NAND_NANDSIM is not set
728 +# CONFIG_MTD_NAND_PLATFORM is not set
729 +# CONFIG_MTD_ALAUDA is not set
730 +# CONFIG_MTD_ONENAND is not set
731 +
732 +#
733 +# UBI - Unsorted block images
734 +#
735 +# CONFIG_MTD_UBI is not set
736 +# CONFIG_PARPORT is not set
737 +CONFIG_BLK_DEV=y
738 +# CONFIG_BLK_DEV_COW_COMMON is not set
739 +CONFIG_BLK_DEV_LOOP=m
740 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set
741 +# CONFIG_BLK_DEV_NBD is not set
742 +CONFIG_BLK_DEV_UB=m
743 +CONFIG_BLK_DEV_RAM=y
744 +CONFIG_BLK_DEV_RAM_COUNT=16
745 +CONFIG_BLK_DEV_RAM_SIZE=4096
746 +CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
747 +# CONFIG_CDROM_PKTCDVD is not set
748 +# CONFIG_ATA_OVER_ETH is not set
749 +CONFIG_MISC_DEVICES=y
750 +# CONFIG_EEPROM_93CX6 is not set
751 +# CONFIG_IDE is not set
752 +
753 +
754 +#
755 +# SCSI device support
756 +#
757 +# CONFIG_RAID_ATTRS is not set
758 +CONFIG_SCSI=m
759 +CONFIG_SCSI_DMA=y
760 +# CONFIG_SCSI_TGT is not set
761 +# CONFIG_SCSI_NETLINK is not set
762 +CONFIG_SCSI_PROC_FS=y
763 +
764 +#
765 +# SCSI support type (disk, tape, CD-ROM)
766 +#
767 +CONFIG_BLK_DEV_SD=m
768 +# CONFIG_CHR_DEV_ST is not set
769 +# CONFIG_CHR_DEV_OSST is not set
770 +CONFIG_BLK_DEV_SR=m
771 +# CONFIG_BLK_DEV_SR_VENDOR is not set
772 +CONFIG_CHR_DEV_SG=m
773 +# CONFIG_CHR_DEV_SCH is not set
774 +
775 +#
776 +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
777 +#
778 +# CONFIG_SCSI_MULTI_LUN is not set
779 +# CONFIG_SCSI_CONSTANTS is not set
780 +# CONFIG_SCSI_LOGGING is not set
781 +CONFIG_SCSI_SCAN_ASYNC=y
782 +CONFIG_SCSI_WAIT_SCAN=m
783 +
784 +#
785 +# SCSI Transports
786 +#
787 +# CONFIG_SCSI_SPI_ATTRS is not set
788 +# CONFIG_SCSI_FC_ATTRS is not set
789 +# CONFIG_SCSI_ISCSI_ATTRS is not set
790 +# CONFIG_SCSI_SAS_LIBSAS is not set
791 +# CONFIG_SCSI_SRP_ATTRS is not set
792 +CONFIG_SCSI_LOWLEVEL=y
793 +# CONFIG_ISCSI_TCP is not set
794 +# CONFIG_SCSI_DEBUG is not set
795 +# CONFIG_ATA is not set
796 +# CONFIG_MD is not set
797 +CONFIG_NETDEVICES=y
798 +# CONFIG_NETDEVICES_MULTIQUEUE is not set
799 +# CONFIG_DUMMY is not set
800 +# CONFIG_BONDING is not set
801 +# CONFIG_MACVLAN is not set
802 +# CONFIG_EQUALIZER is not set
803 +CONFIG_TUN=m
804 +# CONFIG_VETH is not set
805 +# CONFIG_PHYLIB is not set
806 +CONFIG_NET_ETHERNET=y
807 +CONFIG_MII=y
808 +# CONFIG_AX88796 is not set
809 +# CONFIG_SMC91X is not set
810 +# CONFIG_DM9000 is not set
811 +# CONFIG_IBM_NEW_EMAC_ZMII is not set
812 +# CONFIG_IBM_NEW_EMAC_RGMII is not set
813 +# CONFIG_IBM_NEW_EMAC_TAH is not set
814 +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
815 +CONFIG_NET_PCI=y
816 +# CONFIG_B44 is not set
817 +CONFIG_CS89x0=m
818 +# CONFIG_NETDEV_1000 is not set
819 +# CONFIG_NETDEV_10000 is not set
820 +
821 +#
822 +# Wireless LAN
823 +#
824 +# CONFIG_WLAN_PRE80211 is not set
825 +# CONFIG_WLAN_80211 is not set
826 +
827 +#
828 +# USB Network Adapters
829 +#
830 +CONFIG_USB_CATC=m
831 +CONFIG_USB_KAWETH=m
832 +CONFIG_USB_PEGASUS=m
833 +CONFIG_USB_RTL8150=m
834 +CONFIG_USB_USBNET=y
835 +CONFIG_USB_NET_AX8817X=m
836 +CONFIG_USB_NET_CDCETHER=m
837 +CONFIG_USB_NET_DM9601=m
838 +CONFIG_USB_NET_GL620A=m
839 +CONFIG_USB_NET_NET1080=m
840 +CONFIG_USB_NET_PLUSB=m
841 +CONFIG_USB_NET_MCS7830=m
842 +CONFIG_USB_NET_RNDIS_HOST=m
843 +CONFIG_USB_NET_CDC_SUBSET=m
844 +CONFIG_USB_ALI_M5632=y
845 +CONFIG_USB_AN2720=y
846 +CONFIG_USB_BELKIN=y
847 +CONFIG_USB_ARMLINUX=y
848 +CONFIG_USB_EPSON2888=y
849 +CONFIG_USB_KC2190=y
850 +CONFIG_USB_NET_ZAURUS=m
851 +# CONFIG_WAN is not set
852 +CONFIG_PPP=m
853 +CONFIG_PPP_MULTILINK=y
854 +CONFIG_PPP_FILTER=y
855 +CONFIG_PPP_ASYNC=m
856 +CONFIG_PPP_SYNC_TTY=m
857 +CONFIG_PPP_DEFLATE=m
858 +CONFIG_PPP_BSDCOMP=m
859 +CONFIG_PPP_MPPE=m
860 +# CONFIG_PPPOE is not set
861 +# CONFIG_PPPOL2TP is not set
862 +# CONFIG_SLIP is not set
863 +CONFIG_SLHC=m
864 +# CONFIG_SHAPER is not set
865 +# CONFIG_NETCONSOLE is not set
866 +# CONFIG_NETPOLL is not set
867 +# CONFIG_NET_POLL_CONTROLLER is not set
868 +# CONFIG_ISDN is not set
869 +
870 +#
871 +# Input device support
872 +#
873 +CONFIG_INPUT=y
874 +# CONFIG_INPUT_FF_MEMLESS is not set
875 +# CONFIG_INPUT_POLLDEV is not set
876 +
877 +#
878 +# Userland interfaces
879 +#
880 +CONFIG_INPUT_MOUSEDEV=y
881 +# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
882 +CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
883 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
884 +# CONFIG_INPUT_JOYDEV is not set
885 +CONFIG_INPUT_EVDEV=y
886 +# CONFIG_INPUT_EVBUG is not set
887 +
888 +#
889 +# Input Device Drivers
890 +#
891 +CONFIG_INPUT_KEYBOARD=y
892 +# CONFIG_KEYBOARD_ATKBD is not set
893 +# CONFIG_KEYBOARD_SUNKBD is not set
894 +# CONFIG_KEYBOARD_LKKBD is not set
895 +# CONFIG_KEYBOARD_XTKBD is not set
896 +# CONFIG_KEYBOARD_NEWTON is not set
897 +CONFIG_KEYBOARD_STOWAWAY=m
898 +CONFIG_KEYBOARD_GPIO=m
899 +CONFIG_KEYBOARD_M800=y
900 +CONFIG_KEYBOARD_QT2410=y
901 +CONFIG_INPUT_MOUSE=y
902 +# CONFIG_MOUSE_PS2 is not set
903 +# CONFIG_MOUSE_SERIAL is not set
904 +# CONFIG_MOUSE_APPLETOUCH is not set
905 +# CONFIG_MOUSE_VSXXXAA is not set
906 +# CONFIG_MOUSE_GPIO is not set
907 +# CONFIG_INPUT_JOYSTICK is not set
908 +# CONFIG_INPUT_TABLET is not set
909 +CONFIG_INPUT_TOUCHSCREEN=y
910 +# CONFIG_TOUCHSCREEN_ADS7846 is not set
911 +# CONFIG_TOUCHSCREEN_FUJITSU is not set
912 +CONFIG_TOUCHSCREEN_S3C2410=y
913 +# CONFIG_TOUCHSCREEN_S3C2410_DEBUG is not set
914 +# CONFIG_TOUCHSCREEN_GUNZE is not set
915 +# CONFIG_TOUCHSCREEN_ELO is not set
916 +# CONFIG_TOUCHSCREEN_MTOUCH is not set
917 +# CONFIG_TOUCHSCREEN_MK712 is not set
918 +# CONFIG_TOUCHSCREEN_PENMOUNT is not set
919 +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
920 +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
921 +# CONFIG_TOUCHSCREEN_UCB1400 is not set
922 +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
923 +CONFIG_INPUT_MISC=y
924 +# CONFIG_INPUT_ATI_REMOTE is not set
925 +# CONFIG_INPUT_ATI_REMOTE2 is not set
926 +# CONFIG_INPUT_KEYSPAN_REMOTE is not set
927 +# CONFIG_INPUT_POWERMATE is not set
928 +# CONFIG_INPUT_YEALINK is not set
929 +CONFIG_INPUT_UINPUT=m
930 +CONFIG_INPUT_LIS302DL=y
931 +
932 +#
933 +# Hardware I/O ports
934 +#
935 +CONFIG_SERIO=y
936 +# CONFIG_SERIO_SERPORT is not set
937 +# CONFIG_SERIO_RAW is not set
938 +# CONFIG_GAMEPORT is not set
939 +
940 +#
941 +# Character devices
942 +#
943 +CONFIG_VT=y
944 +CONFIG_VT_CONSOLE=y
945 +CONFIG_NR_TTY_DEVICES=4
946 +CONFIG_HW_CONSOLE=y
947 +CONFIG_VT_HW_CONSOLE_BINDING=y
948 +# CONFIG_SERIAL_NONSTANDARD is not set
949 +
950 +#
951 +# Serial drivers
952 +#
953 +# CONFIG_SERIAL_8250 is not set
954 +
955 +#
956 +# Non-8250 serial port support
957 +#
958 +CONFIG_SERIAL_S3C2410=y
959 +CONFIG_SERIAL_S3C2410_CONSOLE=y
960 +CONFIG_SERIAL_CORE=y
961 +CONFIG_SERIAL_CORE_CONSOLE=y
962 +CONFIG_UNIX98_PTYS=y
963 +# CONFIG_LEGACY_PTYS is not set
964 +# CONFIG_IPMI_HANDLER is not set
965 +# CONFIG_HW_RANDOM is not set
966 +# CONFIG_NVRAM is not set
967 +# CONFIG_R3964 is not set
968 +# CONFIG_RAW_DRIVER is not set
969 +# CONFIG_TCG_TPM is not set
970 +CONFIG_I2C=y
971 +CONFIG_I2C_BOARDINFO=y
972 +CONFIG_I2C_CHARDEV=y
973 +
974 +#
975 +# I2C Algorithms
976 +#
977 +# CONFIG_I2C_ALGOBIT is not set
978 +# CONFIG_I2C_ALGOPCF is not set
979 +# CONFIG_I2C_ALGOPCA is not set
980 +
981 +#
982 +# I2C Hardware Bus support
983 +#
984 +# CONFIG_I2C_GPIO is not set
985 +# CONFIG_I2C_OCORES is not set
986 +# CONFIG_I2C_PARPORT_LIGHT is not set
987 +CONFIG_I2C_S3C2410=y
988 +# CONFIG_I2C_SIMTEC is not set
989 +# CONFIG_I2C_TAOS_EVM is not set
990 +# CONFIG_I2C_STUB is not set
991 +# CONFIG_I2C_TINY_USB is not set
992 +
993 +#
994 +# Miscellaneous I2C Chip support
995 +#
996 +# CONFIG_SENSORS_DS1337 is not set
997 +# CONFIG_SENSORS_DS1374 is not set
998 +# CONFIG_DS1682 is not set
999 +# CONFIG_SENSORS_EEPROM is not set
1000 +CONFIG_SENSORS_PCF50606=y
1001 +CONFIG_SENSORS_PCF50633=y
1002 +# CONFIG_SENSORS_PCF8574 is not set
1003 +# CONFIG_SENSORS_PCA9539 is not set
1004 +# CONFIG_SENSORS_PCF8591 is not set
1005 +# CONFIG_SENSORS_MAX6875 is not set
1006 +# CONFIG_SENSORS_TSL2550 is not set
1007 +CONFIG_SENSORS_TSL256X=m
1008 +# CONFIG_PCA9632 is not set
1009 +# CONFIG_I2C_DEBUG_CORE is not set
1010 +# CONFIG_I2C_DEBUG_ALGO is not set
1011 +# CONFIG_I2C_DEBUG_BUS is not set
1012 +# CONFIG_I2C_DEBUG_CHIP is not set
1013 +
1014 +#
1015 +# SPI support
1016 +#
1017 +CONFIG_SPI=y
1018 +# CONFIG_SPI_DEBUG is not set
1019 +CONFIG_SPI_MASTER=y
1020 +
1021 +#
1022 +# SPI Master Controller Drivers
1023 +#
1024 +CONFIG_SPI_BITBANG=y
1025 +CONFIG_SPI_S3C24XX=y
1026 +CONFIG_SPI_S3C24XX_GPIO=y
1027 +
1028 +#
1029 +# SPI Protocol Masters
1030 +#
1031 +# CONFIG_SPI_AT25 is not set
1032 +# CONFIG_SPI_SPIDEV is not set
1033 +# CONFIG_SPI_TLE62X0 is not set
1034 +# CONFIG_W1 is not set
1035 +CONFIG_POWER_SUPPLY=y
1036 +# CONFIG_POWER_SUPPLY_DEBUG is not set
1037 +# CONFIG_PDA_POWER is not set
1038 +CONFIG_APM_POWER=y
1039 +# CONFIG_BATTERY_DS2760 is not set
1040 +CONFIG_BATTERY_BQ27000_HDQ=y
1041 +# CONFIG_HWMON is not set
1042 +CONFIG_WATCHDOG=y
1043 +# CONFIG_WATCHDOG_NOWAYOUT is not set
1044 +
1045 +#
1046 +# Watchdog Device Drivers
1047 +#
1048 +# CONFIG_SOFT_WATCHDOG is not set
1049 +CONFIG_S3C2410_WATCHDOG=m
1050 +
1051 +#
1052 +# USB-based Watchdog Cards
1053 +#
1054 +# CONFIG_USBPCWATCHDOG is not set
1055 +
1056 +#
1057 +# Sonics Silicon Backplane
1058 +#
1059 +CONFIG_SSB_POSSIBLE=y
1060 +# CONFIG_SSB is not set
1061 +
1062 +#
1063 +# Multifunction device drivers
1064 +#
1065 +# CONFIG_MFD_SM501 is not set
1066 +# CONFIG_MFD_GLAMO is not set
1067 +
1068 +#
1069 +# Multimedia devices
1070 +#
1071 +# CONFIG_VIDEO_DEV is not set
1072 +# CONFIG_DVB_CORE is not set
1073 +# CONFIG_DAB is not set
1074 +
1075 +#
1076 +# Graphics support
1077 +#
1078 +# CONFIG_VGASTATE is not set
1079 +# CONFIG_VIDEO_OUTPUT_CONTROL is not set
1080 +CONFIG_FB=y
1081 +# CONFIG_FIRMWARE_EDID is not set
1082 +# CONFIG_FB_DDC is not set
1083 +CONFIG_FB_CFB_FILLRECT=y
1084 +CONFIG_FB_CFB_COPYAREA=y
1085 +CONFIG_FB_CFB_IMAGEBLIT=y
1086 +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
1087 +# CONFIG_FB_SYS_FILLRECT is not set
1088 +# CONFIG_FB_SYS_COPYAREA is not set
1089 +# CONFIG_FB_SYS_IMAGEBLIT is not set
1090 +# CONFIG_FB_SYS_FOPS is not set
1091 +CONFIG_FB_DEFERRED_IO=y
1092 +# CONFIG_FB_SVGALIB is not set
1093 +# CONFIG_FB_MACMODES is not set
1094 +# CONFIG_FB_BACKLIGHT is not set
1095 +# CONFIG_FB_MODE_HELPERS is not set
1096 +# CONFIG_FB_TILEBLITTING is not set
1097 +
1098 +#
1099 +# Frame buffer hardware drivers
1100 +#
1101 +# CONFIG_FB_UVESA is not set
1102 +# CONFIG_FB_S1D13XXX is not set
1103 +CONFIG_FB_S3C2410=y
1104 +# CONFIG_FB_S3C2410_DEBUG is not set
1105 +# CONFIG_FB_VIRTUAL is not set
1106 +CONFIG_BACKLIGHT_LCD_SUPPORT=y
1107 +CONFIG_LCD_CLASS_DEVICE=y
1108 +# CONFIG_LCD_LTV350QV is not set
1109 +CONFIG_BACKLIGHT_CLASS_DEVICE=y
1110 +# CONFIG_BACKLIGHT_CORGI is not set
1111 +
1112 +#
1113 +# Display device support
1114 +#
1115 +# CONFIG_DISPLAY_SUPPORT is not set
1116 +CONFIG_DISPLAY_JBT6K74=y
1117 +
1118 +#
1119 +# Console display driver support
1120 +#
1121 +# CONFIG_VGA_CONSOLE is not set
1122 +CONFIG_DUMMY_CONSOLE=y
1123 +CONFIG_FRAMEBUFFER_CONSOLE=y
1124 +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
1125 +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
1126 +CONFIG_FONTS=y
1127 +# CONFIG_FONT_8x8 is not set
1128 +# CONFIG_FONT_8x16 is not set
1129 +CONFIG_FONT_6x11=y
1130 +# CONFIG_FONT_7x14 is not set
1131 +# CONFIG_FONT_PEARL_8x8 is not set
1132 +# CONFIG_FONT_ACORN_8x8 is not set
1133 +# CONFIG_FONT_MINI_4x6 is not set
1134 +# CONFIG_FONT_SUN8x16 is not set
1135 +# CONFIG_FONT_SUN12x22 is not set
1136 +# CONFIG_FONT_10x18 is not set
1137 +# CONFIG_LOGO is not set
1138 +
1139 +#
1140 +# Sound
1141 +#
1142 +CONFIG_SOUND=y
1143 +
1144 +#
1145 +# Advanced Linux Sound Architecture
1146 +#
1147 +CONFIG_SND=m
1148 +CONFIG_SND_TIMER=m
1149 +CONFIG_SND_PCM=m
1150 +CONFIG_SND_RAWMIDI=m
1151 +# CONFIG_SND_SEQUENCER is not set
1152 +CONFIG_SND_OSSEMUL=y
1153 +CONFIG_SND_MIXER_OSS=m
1154 +CONFIG_SND_PCM_OSS=m
1155 +CONFIG_SND_PCM_OSS_PLUGINS=y
1156 +# CONFIG_SND_DYNAMIC_MINORS is not set
1157 +CONFIG_SND_SUPPORT_OLD_API=y
1158 +CONFIG_SND_VERBOSE_PROCFS=y
1159 +# CONFIG_SND_VERBOSE_PRINTK is not set
1160 +# CONFIG_SND_DEBUG is not set
1161 +
1162 +#
1163 +# Generic devices
1164 +#
1165 +# CONFIG_SND_DUMMY is not set
1166 +# CONFIG_SND_MTPAV is not set
1167 +# CONFIG_SND_SERIAL_U16550 is not set
1168 +# CONFIG_SND_MPU401 is not set
1169 +
1170 +#
1171 +# ALSA ARM devices
1172 +#
1173 +
1174 +#
1175 +# SPI devices
1176 +#
1177 +
1178 +#
1179 +# USB devices
1180 +#
1181 +# CONFIG_SND_USB_AUDIO is not set
1182 +# CONFIG_SND_USB_CAIAQ is not set
1183 +
1184 +#
1185 +# System on Chip audio support
1186 +#
1187 +CONFIG_SND_SOC=m
1188 +CONFIG_SND_S3C24XX_SOC=m
1189 +
1190 +#
1191 +# SoC Audio support for SuperH
1192 +#
1193 +
1194 +#
1195 +# Open Sound System
1196 +#
1197 +# CONFIG_SOUND_PRIME is not set
1198 +CONFIG_HID_SUPPORT=y
1199 +CONFIG_HID=y
1200 +# CONFIG_HID_DEBUG is not set
1201 +# CONFIG_HIDRAW is not set
1202 +
1203 +#
1204 +# USB Input Devices
1205 +#
1206 +CONFIG_USB_HID=y
1207 +# CONFIG_USB_HIDINPUT_POWERBOOK is not set
1208 +# CONFIG_HID_FF is not set
1209 +CONFIG_USB_HIDDEV=y
1210 +CONFIG_USB_SUPPORT=y
1211 +CONFIG_USB_ARCH_HAS_HCD=y
1212 +CONFIG_USB_ARCH_HAS_OHCI=y
1213 +# CONFIG_USB_ARCH_HAS_EHCI is not set
1214 +CONFIG_USB=y
1215 +# CONFIG_USB_DEBUG is not set
1216 +
1217 +#
1218 +# Miscellaneous USB options
1219 +#
1220 +CONFIG_USB_DEVICEFS=y
1221 +CONFIG_USB_DEVICE_CLASS=y
1222 +# CONFIG_USB_DYNAMIC_MINORS is not set
1223 +CONFIG_USB_SUSPEND=y
1224 +# CONFIG_USB_PERSIST is not set
1225 +# CONFIG_USB_OTG is not set
1226 +
1227 +#
1228 +# USB Host Controller Drivers
1229 +#
1230 +# CONFIG_USB_ISP116X_HCD is not set
1231 +CONFIG_USB_OHCI_HCD=m
1232 +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
1233 +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
1234 +CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1235 +# CONFIG_USB_SL811_HCD is not set
1236 +# CONFIG_USB_R8A66597_HCD is not set
1237 +
1238 +#
1239 +# USB Device Class drivers
1240 +#
1241 +CONFIG_USB_ACM=m
1242 +CONFIG_USB_PRINTER=m
1243 +
1244 +#
1245 +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1246 +#
1247 +
1248 +#
1249 +# may also be needed; see USB_STORAGE Help for more information
1250 +#
1251 +CONFIG_USB_STORAGE=m
1252 +# CONFIG_USB_STORAGE_DEBUG is not set
1253 +CONFIG_USB_STORAGE_DATAFAB=y
1254 +CONFIG_USB_STORAGE_FREECOM=y
1255 +# CONFIG_USB_STORAGE_ISD200 is not set
1256 +CONFIG_USB_STORAGE_DPCM=y
1257 +CONFIG_USB_STORAGE_USBAT=y
1258 +CONFIG_USB_STORAGE_SDDR09=y
1259 +CONFIG_USB_STORAGE_SDDR55=y
1260 +CONFIG_USB_STORAGE_JUMPSHOT=y
1261 +CONFIG_USB_STORAGE_ALAUDA=y
1262 +CONFIG_USB_STORAGE_KARMA=y
1263 +CONFIG_USB_LIBUSUAL=y
1264 +
1265 +#
1266 +# USB Imaging devices
1267 +#
1268 +# CONFIG_USB_MDC800 is not set
1269 +# CONFIG_USB_MICROTEK is not set
1270 +CONFIG_USB_MON=y
1271 +
1272 +#
1273 +# USB port drivers
1274 +#
1275 +
1276 +#
1277 +# USB Serial Converter support
1278 +#
1279 +CONFIG_USB_SERIAL=m
1280 +CONFIG_USB_SERIAL_GENERIC=y
1281 +CONFIG_USB_SERIAL_AIRCABLE=m
1282 +CONFIG_USB_SERIAL_AIRPRIME=m
1283 +CONFIG_USB_SERIAL_ARK3116=m
1284 +CONFIG_USB_SERIAL_BELKIN=m
1285 +# CONFIG_USB_SERIAL_CH341 is not set
1286 +CONFIG_USB_SERIAL_WHITEHEAT=m
1287 +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1288 +CONFIG_USB_SERIAL_CP2101=m
1289 +CONFIG_USB_SERIAL_CYPRESS_M8=m
1290 +CONFIG_USB_SERIAL_EMPEG=m
1291 +CONFIG_USB_SERIAL_FTDI_SIO=m
1292 +CONFIG_USB_SERIAL_FUNSOFT=m
1293 +CONFIG_USB_SERIAL_VISOR=m
1294 +CONFIG_USB_SERIAL_IPAQ=m
1295 +CONFIG_USB_SERIAL_IR=m
1296 +CONFIG_USB_SERIAL_EDGEPORT=m
1297 +CONFIG_USB_SERIAL_EDGEPORT_TI=m
1298 +CONFIG_USB_SERIAL_GARMIN=m
1299 +CONFIG_USB_SERIAL_IPW=m
1300 +CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1301 +CONFIG_USB_SERIAL_KEYSPAN=m
1302 +CONFIG_USB_SERIAL_KEYSPAN_MPR=y
1303 +CONFIG_USB_SERIAL_KEYSPAN_USA28=y
1304 +CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
1305 +CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
1306 +CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
1307 +CONFIG_USB_SERIAL_KEYSPAN_USA19=y
1308 +CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
1309 +CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
1310 +CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
1311 +CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
1312 +CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
1313 +CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
1314 +CONFIG_USB_SERIAL_KLSI=m
1315 +CONFIG_USB_SERIAL_KOBIL_SCT=m
1316 +CONFIG_USB_SERIAL_MCT_U232=m
1317 +CONFIG_USB_SERIAL_MOS7720=m
1318 +CONFIG_USB_SERIAL_MOS7840=m
1319 +CONFIG_USB_SERIAL_NAVMAN=m
1320 +CONFIG_USB_SERIAL_PL2303=m
1321 +# CONFIG_USB_SERIAL_OTI6858 is not set
1322 +CONFIG_USB_SERIAL_HP4X=m
1323 +CONFIG_USB_SERIAL_SAFE=m
1324 +CONFIG_USB_SERIAL_SAFE_PADDED=y
1325 +CONFIG_USB_SERIAL_SIERRAWIRELESS=m
1326 +CONFIG_USB_SERIAL_TI=m
1327 +CONFIG_USB_SERIAL_CYBERJACK=m
1328 +CONFIG_USB_SERIAL_XIRCOM=m
1329 +CONFIG_USB_SERIAL_OPTION=m
1330 +CONFIG_USB_SERIAL_OMNINET=m
1331 +# CONFIG_USB_SERIAL_DEBUG is not set
1332 +CONFIG_USB_EZUSB=y
1333 +
1334 +#
1335 +# USB Miscellaneous drivers
1336 +#
1337 +# CONFIG_USB_EMI62 is not set
1338 +# CONFIG_USB_EMI26 is not set
1339 +# CONFIG_USB_ADUTUX is not set
1340 +# CONFIG_USB_AUERSWALD is not set
1341 +# CONFIG_USB_RIO500 is not set
1342 +# CONFIG_USB_LEGOTOWER is not set
1343 +# CONFIG_USB_LCD is not set
1344 +# CONFIG_USB_BERRY_CHARGE is not set
1345 +# CONFIG_USB_LED is not set
1346 +# CONFIG_USB_CYPRESS_CY7C63 is not set
1347 +# CONFIG_USB_CYTHERM is not set
1348 +# CONFIG_USB_PHIDGET is not set
1349 +# CONFIG_USB_IDMOUSE is not set
1350 +# CONFIG_USB_FTDI_ELAN is not set
1351 +# CONFIG_USB_APPLEDISPLAY is not set
1352 +# CONFIG_USB_LD is not set
1353 +# CONFIG_USB_TRANCEVIBRATOR is not set
1354 +# CONFIG_USB_IOWARRIOR is not set
1355 +# CONFIG_USB_TEST is not set
1356 +
1357 +#
1358 +# USB DSL modem support
1359 +#
1360 +
1361 +#
1362 +# USB Gadget Support
1363 +#
1364 +CONFIG_USB_GADGET=y
1365 +# CONFIG_USB_GADGET_DEBUG is not set
1366 +# CONFIG_USB_GADGET_DEBUG_FILES is not set
1367 +CONFIG_USB_GADGET_SELECTED=y
1368 +# CONFIG_USB_GADGET_AMD5536UDC is not set
1369 +# CONFIG_USB_GADGET_ATMEL_USBA is not set
1370 +# CONFIG_USB_GADGET_FSL_USB2 is not set
1371 +# CONFIG_USB_GADGET_NET2280 is not set
1372 +# CONFIG_USB_GADGET_PXA2XX is not set
1373 +# CONFIG_USB_GADGET_M66592 is not set
1374 +# CONFIG_USB_GADGET_GOKU is not set
1375 +# CONFIG_USB_GADGET_LH7A40X is not set
1376 +# CONFIG_USB_GADGET_OMAP is not set
1377 +CONFIG_USB_GADGET_S3C2410=y
1378 +CONFIG_USB_S3C2410=y
1379 +# CONFIG_USB_S3C2410_DEBUG is not set
1380 +# CONFIG_USB_GADGET_AT91 is not set
1381 +# CONFIG_USB_GADGET_DUMMY_HCD is not set
1382 +# CONFIG_USB_GADGET_DUALSPEED is not set
1383 +# CONFIG_USB_ZERO is not set
1384 +CONFIG_USB_ETH=y
1385 +CONFIG_USB_ETH_RNDIS=y
1386 +# CONFIG_USB_GADGETFS is not set
1387 +# CONFIG_USB_FILE_STORAGE is not set
1388 +# CONFIG_USB_G_SERIAL is not set
1389 +CONFIG_USB_MIDI_GADGET=m
1390 +
1391 +#
1392 +# SDIO support
1393 +#
1394 +# CONFIG_SDIO is not set
1395 +CONFIG_MMC=y
1396 +# CONFIG_MMC_DEBUG is not set
1397 +CONFIG_MMC_UNSAFE_RESUME=y
1398 +
1399 +#
1400 +# MMC/SD Card Drivers
1401 +#
1402 +CONFIG_MMC_BLOCK=y
1403 +CONFIG_MMC_BLOCK_BOUNCE=y
1404 +CONFIG_SDIO_UART=m
1405 +
1406 +#
1407 +# MMC/SD Host Controller Drivers
1408 +#
1409 +# CONFIG_MMC_SPI is not set
1410 +CONFIG_MMC_S3C=y
1411 +CONFIG_NEW_LEDS=y
1412 +CONFIG_LEDS_CLASS=y
1413 +
1414 +#
1415 +# LED drivers
1416 +#
1417 +CONFIG_LEDS_S3C24XX=m
1418 +# CONFIG_LEDS_GPIO is not set
1419 +
1420 +#
1421 +# LED Triggers
1422 +#
1423 +CONFIG_LEDS_TRIGGERS=y
1424 +CONFIG_LEDS_TRIGGER_TIMER=y
1425 +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
1426 +CONFIG_RTC_LIB=y
1427 +CONFIG_RTC_CLASS=y
1428 +CONFIG_RTC_HCTOSYS=y
1429 +CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1430 +CONFIG_RTC_DEBUG=y
1431 +
1432 +#
1433 +# RTC interfaces
1434 +#
1435 +CONFIG_RTC_INTF_SYSFS=y
1436 +CONFIG_RTC_INTF_PROC=y
1437 +CONFIG_RTC_INTF_DEV=y
1438 +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1439 +# CONFIG_RTC_DRV_TEST is not set
1440 +
1441 +#
1442 +# I2C RTC drivers
1443 +#
1444 +# CONFIG_RTC_DRV_DS1307 is not set
1445 +# CONFIG_RTC_DRV_DS1374 is not set
1446 +# CONFIG_RTC_DRV_DS1672 is not set
1447 +# CONFIG_RTC_DRV_MAX6900 is not set
1448 +# CONFIG_RTC_DRV_RS5C372 is not set
1449 +# CONFIG_RTC_DRV_ISL1208 is not set
1450 +# CONFIG_RTC_DRV_X1205 is not set
1451 +# CONFIG_RTC_DRV_PCF8563 is not set
1452 +# CONFIG_RTC_DRV_PCF8583 is not set
1453 +# CONFIG_RTC_DRV_M41T80 is not set
1454 +
1455 +#
1456 +# SPI RTC drivers
1457 +#
1458 +# CONFIG_RTC_DRV_RS5C348 is not set
1459 +# CONFIG_RTC_DRV_MAX6902 is not set
1460 +
1461 +#
1462 +# Platform RTC drivers
1463 +#
1464 +# CONFIG_RTC_DRV_CMOS is not set
1465 +# CONFIG_RTC_DRV_DS1553 is not set
1466 +# CONFIG_RTC_DRV_STK17TA8 is not set
1467 +# CONFIG_RTC_DRV_DS1742 is not set
1468 +# CONFIG_RTC_DRV_M48T86 is not set
1469 +# CONFIG_RTC_DRV_M48T59 is not set
1470 +# CONFIG_RTC_DRV_V3020 is not set
1471 +
1472 +#
1473 +# on-CPU RTC drivers
1474 +#
1475 +CONFIG_RTC_DRV_S3C=m
1476 +
1477 +#
1478 +# File systems
1479 +#
1480 +CONFIG_EXT2_FS=y
1481 +# CONFIG_EXT2_FS_XATTR is not set
1482 +# CONFIG_EXT2_FS_XIP is not set
1483 +CONFIG_EXT3_FS=y
1484 +# CONFIG_EXT3_FS_XATTR is not set
1485 +# CONFIG_EXT4DEV_FS is not set
1486 +CONFIG_JBD=y
1487 +# CONFIG_REISERFS_FS is not set
1488 +# CONFIG_JFS_FS is not set
1489 +CONFIG_FS_POSIX_ACL=y
1490 +# CONFIG_XFS_FS is not set
1491 +# CONFIG_GFS2_FS is not set
1492 +# CONFIG_OCFS2_FS is not set
1493 +# CONFIG_MINIX_FS is not set
1494 +CONFIG_ROMFS_FS=y
1495 +CONFIG_INOTIFY=y
1496 +CONFIG_INOTIFY_USER=y
1497 +# CONFIG_QUOTA is not set
1498 +CONFIG_DNOTIFY=y
1499 +# CONFIG_AUTOFS_FS is not set
1500 +CONFIG_AUTOFS4_FS=m
1501 +CONFIG_FUSE_FS=m
1502 +
1503 +#
1504 +# CD-ROM/DVD Filesystems
1505 +#
1506 +CONFIG_ISO9660_FS=m
1507 +CONFIG_JOLIET=y
1508 +# CONFIG_ZISOFS is not set
1509 +CONFIG_UDF_FS=m
1510 +CONFIG_UDF_NLS=y
1511 +
1512 +#
1513 +# DOS/FAT/NT Filesystems
1514 +#
1515 +CONFIG_FAT_FS=y
1516 +CONFIG_MSDOS_FS=y
1517 +CONFIG_VFAT_FS=y
1518 +CONFIG_FAT_DEFAULT_CODEPAGE=437
1519 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1520 +# CONFIG_NTFS_FS is not set
1521 +
1522 +#
1523 +# Pseudo filesystems
1524 +#
1525 +CONFIG_PROC_FS=y
1526 +CONFIG_PROC_SYSCTL=y
1527 +CONFIG_SYSFS=y
1528 +CONFIG_TMPFS=y
1529 +# CONFIG_TMPFS_POSIX_ACL is not set
1530 +# CONFIG_HUGETLB_PAGE is not set
1531 +CONFIG_CONFIGFS_FS=m
1532 +
1533 +#
1534 +# Miscellaneous filesystems
1535 +#
1536 +# CONFIG_ADFS_FS is not set
1537 +# CONFIG_AFFS_FS is not set
1538 +# CONFIG_HFS_FS is not set
1539 +# CONFIG_HFSPLUS_FS is not set
1540 +# CONFIG_BEFS_FS is not set
1541 +# CONFIG_BFS_FS is not set
1542 +# CONFIG_EFS_FS is not set
1543 +CONFIG_JFFS2_FS=y
1544 +CONFIG_JFFS2_FS_DEBUG=0
1545 +CONFIG_JFFS2_FS_WRITEBUFFER=y
1546 +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
1547 +CONFIG_JFFS2_SUMMARY=y
1548 +# CONFIG_JFFS2_FS_XATTR is not set
1549 +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1550 +CONFIG_JFFS2_ZLIB=y
1551 +# CONFIG_JFFS2_LZO is not set
1552 +CONFIG_JFFS2_RTIME=y
1553 +# CONFIG_JFFS2_RUBIN is not set
1554 +CONFIG_CRAMFS=y
1555 +# CONFIG_VXFS_FS is not set
1556 +# CONFIG_HPFS_FS is not set
1557 +# CONFIG_QNX4FS_FS is not set
1558 +# CONFIG_SYSV_FS is not set
1559 +# CONFIG_UFS_FS is not set
1560 +CONFIG_NETWORK_FILESYSTEMS=y
1561 +CONFIG_NFS_FS=y
1562 +CONFIG_NFS_V3=y
1563 +# CONFIG_NFS_V3_ACL is not set
1564 +CONFIG_NFS_V4=y
1565 +# CONFIG_NFS_DIRECTIO is not set
1566 +CONFIG_NFSD=m
1567 +CONFIG_NFSD_V3=y
1568 +# CONFIG_NFSD_V3_ACL is not set
1569 +CONFIG_NFSD_V4=y
1570 +CONFIG_NFSD_TCP=y
1571 +CONFIG_ROOT_NFS=y
1572 +CONFIG_LOCKD=y
1573 +CONFIG_LOCKD_V4=y
1574 +CONFIG_EXPORTFS=m
1575 +CONFIG_NFS_COMMON=y
1576 +CONFIG_SUNRPC=y
1577 +CONFIG_SUNRPC_GSS=y
1578 +# CONFIG_SUNRPC_BIND34 is not set
1579 +CONFIG_RPCSEC_GSS_KRB5=y
1580 +# CONFIG_RPCSEC_GSS_SPKM3 is not set
1581 +# CONFIG_SMB_FS is not set
1582 +CONFIG_CIFS=m
1583 +# CONFIG_CIFS_STATS is not set
1584 +CONFIG_CIFS_WEAK_PW_HASH=y
1585 +# CONFIG_CIFS_XATTR is not set
1586 +# CONFIG_CIFS_DEBUG2 is not set
1587 +# CONFIG_CIFS_EXPERIMENTAL is not set
1588 +# CONFIG_NCP_FS is not set
1589 +# CONFIG_CODA_FS is not set
1590 +# CONFIG_AFS_FS is not set
1591 +
1592 +#
1593 +# Partition Types
1594 +#
1595 +# CONFIG_PARTITION_ADVANCED is not set
1596 +CONFIG_MSDOS_PARTITION=y
1597 +CONFIG_NLS=y
1598 +CONFIG_NLS_DEFAULT="iso8859-1"
1599 +CONFIG_NLS_CODEPAGE_437=y
1600 +# CONFIG_NLS_CODEPAGE_737 is not set
1601 +# CONFIG_NLS_CODEPAGE_775 is not set
1602 +CONFIG_NLS_CODEPAGE_850=m
1603 +# CONFIG_NLS_CODEPAGE_852 is not set
1604 +# CONFIG_NLS_CODEPAGE_855 is not set
1605 +# CONFIG_NLS_CODEPAGE_857 is not set
1606 +# CONFIG_NLS_CODEPAGE_860 is not set
1607 +# CONFIG_NLS_CODEPAGE_861 is not set
1608 +# CONFIG_NLS_CODEPAGE_862 is not set
1609 +# CONFIG_NLS_CODEPAGE_863 is not set
1610 +# CONFIG_NLS_CODEPAGE_864 is not set
1611 +# CONFIG_NLS_CODEPAGE_865 is not set
1612 +# CONFIG_NLS_CODEPAGE_866 is not set
1613 +# CONFIG_NLS_CODEPAGE_869 is not set
1614 +CONFIG_NLS_CODEPAGE_936=m
1615 +CONFIG_NLS_CODEPAGE_950=m
1616 +# CONFIG_NLS_CODEPAGE_932 is not set
1617 +# CONFIG_NLS_CODEPAGE_949 is not set
1618 +# CONFIG_NLS_CODEPAGE_874 is not set
1619 +# CONFIG_NLS_ISO8859_8 is not set
1620 +# CONFIG_NLS_CODEPAGE_1250 is not set
1621 +# CONFIG_NLS_CODEPAGE_1251 is not set
1622 +# CONFIG_NLS_ASCII is not set
1623 +CONFIG_NLS_ISO8859_1=y
1624 +# CONFIG_NLS_ISO8859_2 is not set
1625 +# CONFIG_NLS_ISO8859_3 is not set
1626 +# CONFIG_NLS_ISO8859_4 is not set
1627 +# CONFIG_NLS_ISO8859_5 is not set
1628 +# CONFIG_NLS_ISO8859_6 is not set
1629 +# CONFIG_NLS_ISO8859_7 is not set
1630 +# CONFIG_NLS_ISO8859_9 is not set
1631 +# CONFIG_NLS_ISO8859_13 is not set
1632 +# CONFIG_NLS_ISO8859_14 is not set
1633 +# CONFIG_NLS_ISO8859_15 is not set
1634 +# CONFIG_NLS_KOI8_R is not set
1635 +# CONFIG_NLS_KOI8_U is not set
1636 +CONFIG_NLS_UTF8=m
1637 +# CONFIG_DLM is not set
1638 +CONFIG_INSTRUMENTATION=y
1639 +CONFIG_PROFILING=y
1640 +CONFIG_OPROFILE=m
1641 +# CONFIG_MARKERS is not set
1642 +
1643 +#
1644 +# Kernel hacking
1645 +#
1646 +# CONFIG_PRINTK_TIME is not set
1647 +CONFIG_ENABLE_WARN_DEPRECATED=y
1648 +CONFIG_ENABLE_MUST_CHECK=y
1649 +CONFIG_MAGIC_SYSRQ=y
1650 +# CONFIG_UNUSED_SYMBOLS is not set
1651 +# CONFIG_DEBUG_FS is not set
1652 +# CONFIG_HEADERS_CHECK is not set
1653 +CONFIG_DEBUG_KERNEL=y
1654 +# CONFIG_DEBUG_SHIRQ is not set
1655 +CONFIG_DETECT_SOFTLOCKUP=y
1656 +# CONFIG_SCHED_DEBUG is not set
1657 +# CONFIG_SCHEDSTATS is not set
1658 +CONFIG_TIMER_STATS=y
1659 +# CONFIG_DEBUG_SLAB is not set
1660 +CONFIG_DEBUG_PREEMPT=y
1661 +# CONFIG_DEBUG_RT_MUTEXES is not set
1662 +# CONFIG_RT_MUTEX_TESTER is not set
1663 +# CONFIG_DEBUG_SPINLOCK is not set
1664 +# CONFIG_DEBUG_MUTEXES is not set
1665 +# CONFIG_DEBUG_LOCK_ALLOC is not set
1666 +# CONFIG_PROVE_LOCKING is not set
1667 +# CONFIG_LOCK_STAT is not set
1668 +# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1669 +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1670 +# CONFIG_DEBUG_KOBJECT is not set
1671 +CONFIG_DEBUG_BUGVERBOSE=y
1672 +CONFIG_DEBUG_INFO=y
1673 +# CONFIG_DEBUG_VM is not set
1674 +# CONFIG_DEBUG_LIST is not set
1675 +# CONFIG_DEBUG_SG is not set
1676 +CONFIG_FRAME_POINTER=y
1677 +CONFIG_FORCED_INLINING=y
1678 +# CONFIG_BOOT_PRINTK_DELAY is not set
1679 +# CONFIG_RCU_TORTURE_TEST is not set
1680 +# CONFIG_FAULT_INJECTION is not set
1681 +# CONFIG_SAMPLES is not set
1682 +# CONFIG_DEBUG_USER is not set
1683 +CONFIG_DEBUG_ERRORS=y
1684 +# CONFIG_DEBUG_LL is not set
1685 +CONFIG_DEBUG_S3C_UART=2
1686 +
1687 +#
1688 +# Security options
1689 +#
1690 +# CONFIG_KEYS is not set
1691 +# CONFIG_SECURITY is not set
1692 +# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1693 +CONFIG_CRYPTO=y
1694 +CONFIG_CRYPTO_ALGAPI=y
1695 +CONFIG_CRYPTO_BLKCIPHER=y
1696 +CONFIG_CRYPTO_HASH=y
1697 +CONFIG_CRYPTO_MANAGER=y
1698 +CONFIG_CRYPTO_HMAC=y
1699 +CONFIG_CRYPTO_XCBC=m
1700 +CONFIG_CRYPTO_NULL=m
1701 +CONFIG_CRYPTO_MD4=m
1702 +CONFIG_CRYPTO_MD5=y
1703 +CONFIG_CRYPTO_SHA1=m
1704 +CONFIG_CRYPTO_SHA256=m
1705 +CONFIG_CRYPTO_SHA512=m
1706 +CONFIG_CRYPTO_WP512=m
1707 +CONFIG_CRYPTO_TGR192=m
1708 +CONFIG_CRYPTO_GF128MUL=m
1709 +CONFIG_CRYPTO_ECB=m
1710 +CONFIG_CRYPTO_CBC=y
1711 +CONFIG_CRYPTO_PCBC=m
1712 +CONFIG_CRYPTO_LRW=m
1713 +# CONFIG_CRYPTO_XTS is not set
1714 +# CONFIG_CRYPTO_CRYPTD is not set
1715 +CONFIG_CRYPTO_DES=y
1716 +CONFIG_CRYPTO_FCRYPT=m
1717 +CONFIG_CRYPTO_BLOWFISH=m
1718 +CONFIG_CRYPTO_TWOFISH=m
1719 +CONFIG_CRYPTO_TWOFISH_COMMON=m
1720 +CONFIG_CRYPTO_SERPENT=m
1721 +CONFIG_CRYPTO_AES=m
1722 +CONFIG_CRYPTO_CAST5=m
1723 +CONFIG_CRYPTO_CAST6=m
1724 +CONFIG_CRYPTO_TEA=m
1725 +CONFIG_CRYPTO_ARC4=m
1726 +CONFIG_CRYPTO_KHAZAD=m
1727 +CONFIG_CRYPTO_ANUBIS=m
1728 +# CONFIG_CRYPTO_SEED is not set
1729 +CONFIG_CRYPTO_DEFLATE=m
1730 +CONFIG_CRYPTO_MICHAEL_MIC=m
1731 +CONFIG_CRYPTO_CRC32C=m
1732 +CONFIG_CRYPTO_CAMELLIA=m
1733 +CONFIG_CRYPTO_TEST=m
1734 +# CONFIG_CRYPTO_AUTHENC is not set
1735 +CONFIG_CRYPTO_HW=y
1736 +
1737 +#
1738 +# Library routines
1739 +#
1740 +CONFIG_BITREVERSE=y
1741 +CONFIG_CRC_CCITT=m
1742 +CONFIG_CRC16=m
1743 +# CONFIG_CRC_ITU_T is not set
1744 +CONFIG_CRC32=y
1745 +# CONFIG_CRC7 is not set
1746 +CONFIG_LIBCRC32C=m
1747 +CONFIG_ZLIB_INFLATE=y
1748 +CONFIG_ZLIB_DEFLATE=y
1749 +CONFIG_TEXTSEARCH=y
1750 +CONFIG_TEXTSEARCH_KMP=m
1751 +CONFIG_TEXTSEARCH_BM=m
1752 +CONFIG_TEXTSEARCH_FSM=m
1753 +CONFIG_PLIST=y
1754 +CONFIG_HAS_IOMEM=y
1755 diff --git a/arch/arm/mach-s3c2440/mach-glofiish.c b/arch/arm/mach-s3c2440/mach-glofiish.c
1756 new file mode 100644
1757 index 0000000..ee97110
1758 --- /dev/null
1759 +++ b/arch/arm/mach-s3c2440/mach-glofiish.c
1760 @@ -0,0 +1,620 @@
1761 +/*
1762 + * linux/arch/arm/mach-s3c2440/mach-glofiish.c
1763 + *
1764 + * S3C2440 Machine Support for the E-TEN glofiish X800/M800
1765 + *
1766 + * Copyright (C) 2008 by Harald Welte <laforge@gnumonks.org>
1767 + * All rights reserved.
1768 + *
1769 + * This program is free software; you can redistribute it and/or
1770 + * modify it under the terms of the GNU General Public License as
1771 + * published by the Free Software Foundation; either version 2 of
1772 + * the License, or (at your option) any later version.
1773 + *
1774 + * This program is distributed in the hope that it will be useful,
1775 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
1776 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1777 + * GNU General Public License for more details.
1778 + *
1779 + * You should have received a copy of the GNU General Public License
1780 + * along with this program; if not, write to the Free Software
1781 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
1782 + * MA 02111-1307 USA
1783 + *
1784 + */
1785 +
1786 +#include <linux/kernel.h>
1787 +#include <linux/types.h>
1788 +#include <linux/interrupt.h>
1789 +#include <linux/list.h>
1790 +#include <linux/delay.h>
1791 +#include <linux/timer.h>
1792 +#include <linux/init.h>
1793 +#include <linux/workqueue.h>
1794 +#include <linux/platform_device.h>
1795 +#include <linux/serial_core.h>
1796 +#include <linux/spi/spi.h>
1797 +#include <linux/spi/spi_bitbang.h>
1798 +#include <linux/mmc/host.h>
1799 +
1800 +#include <linux/mtd/mtd.h>
1801 +#include <linux/mtd/nand.h>
1802 +#include <linux/mtd/nand_ecc.h>
1803 +#include <linux/mtd/partitions.h>
1804 +#include <linux/mtd/physmap.h>
1805 +
1806 +#include <asm/mach/arch.h>
1807 +#include <asm/mach/map.h>
1808 +#include <asm/mach/irq.h>
1809 +
1810 +#include <asm/hardware.h>
1811 +#include <asm/io.h>
1812 +#include <asm/irq.h>
1813 +#include <asm/mach-types.h>
1814 +
1815 +#include <asm/arch-s3c2410/regs-irq.h>
1816 +#include <asm/arch/regs-gpio.h>
1817 +#include <asm/arch/regs-gpioj.h>
1818 +#include <asm/arch/fb.h>
1819 +#include <asm/arch/mci.h>
1820 +#include <asm/arch/ts.h>
1821 +#include <asm/arch/spi.h>
1822 +#include <asm/arch/spi-gpio.h>
1823 +#include <asm/arch/usb-control.h>
1824 +
1825 +#include <asm/arch/glofiish.h>
1826 +#include <asm/arch/gta01.h>
1827 +
1828 +#include <asm/plat-s3c/regs-serial.h>
1829 +#include <asm/plat-s3c/nand.h>
1830 +#include <asm/plat-s3c24xx/devs.h>
1831 +#include <asm/plat-s3c24xx/cpu.h>
1832 +#include <asm/plat-s3c24xx/pm.h>
1833 +#include <asm/plat-s3c24xx/udc.h>
1834 +
1835 +#include <linux/jbt6k74.h>
1836 +
1837 +/*
1838 + * this gets called every 1ms when we paniced.
1839 + */
1840 +
1841 +static long glofiish_panic_blink(long count)
1842 +{
1843 + long delay = 0;
1844 + static long last_blink;
1845 + static char led;
1846 +
1847 + if (count - last_blink < 100) /* 200ms period, fast blink */
1848 + return 0;
1849 +
1850 + /* FIXME */
1851 +#if 0
1852 + led ^= 1;
1853 + s3c2410_gpio_cfgpin(GTA02_GPIO_AUX_LED, S3C2410_GPIO_OUTPUT);
1854 + neo1973_gpb_setpin(GTA02_GPIO_AUX_LED, led);
1855 +
1856 + last_blink = count;
1857 +#endif
1858 + return delay;
1859 +}
1860 +
1861 +struct platform_device gta02_version_device = {
1862 + .name = "neo1973-version",
1863 + .num_resources = 0,
1864 +};
1865 +
1866 +struct platform_device gta02_resume_reason_device = {
1867 + .name = "neo1973-resume",
1868 + .num_resources = 0,
1869 +};
1870 +
1871 +struct platform_device gta02_memconfig_device = {
1872 + .name = "neo1973-memconfig",
1873 + .num_resources = 0,
1874 +};
1875 +
1876 +static struct map_desc m800_iodesc[] __initdata = {
1877 + {
1878 + .virtual = 0xe0000000,
1879 + .pfn = __phys_to_pfn(S3C2410_CS3+0x01000000),
1880 + .length = SZ_1M,
1881 + .type = MT_DEVICE
1882 + },
1883 +};
1884 +
1885 +#define UCON S3C2410_UCON_DEFAULT
1886 +#define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB
1887 +#define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE
1888 +
1889 +static struct s3c2410_uartcfg m800_uartcfgs[] = {
1890 + [0] = {
1891 + .hwport = 0,
1892 + .flags = 0,
1893 + .ucon = UCON,
1894 + .ulcon = ULCON,
1895 + .ufcon = UFCON,
1896 + },
1897 + [1] = {
1898 + .hwport = 1,
1899 + .flags = 0,
1900 + .ucon = UCON,
1901 + .ulcon = ULCON,
1902 + .ufcon = UFCON,
1903 + },
1904 + [2] = {
1905 + .hwport = 2,
1906 + .flags = 0,
1907 + .ucon = UCON,
1908 + .ulcon = ULCON,
1909 + .ufcon = UFCON,
1910 + },
1911 +
1912 +};
1913 +
1914 +/* Configuration for 480x640 toppoly TD028TTEC1.
1915 + * Do not mark this as __initdata or it will break! */
1916 +static struct s3c2410fb_display glofiish_displays[] = {
1917 + {
1918 + .type = S3C2410_LCDCON1_TFT,
1919 + .width = 43,
1920 + .height = 58,
1921 + .xres = 480,
1922 + .yres = 640,
1923 + .bpp = 16,
1924 +
1925 + .pixclock = 40000, /* HCLK/4 */
1926 + .left_margin = 2,
1927 + .right_margin = 2,
1928 + .hsync_len = 2,
1929 + .upper_margin = 2,
1930 + .lower_margin = 66,
1931 + .vsync_len = 2,
1932 + .lcdcon5 = S3C2410_LCDCON5_FRM565 |
1933 + S3C2410_LCDCON5_INVVCLK |
1934 + S3C2410_LCDCON5_INVVLINE |
1935 + S3C2410_LCDCON5_INVVFRAME |
1936 + S3C2410_LCDCON5_PWREN |
1937 + S3C2410_LCDCON5_HWSWP,
1938 + },
1939 + {
1940 + .type = S3C2410_LCDCON1_TFT,
1941 + .width = 43,
1942 + .height = 58,
1943 + .xres = 480,
1944 + .yres = 640,
1945 + .bpp = 32,
1946 +
1947 + .pixclock = 40000, /* HCLK/4 */
1948 + .left_margin = 104,
1949 + .right_margin = 8,
1950 + .hsync_len = 8,
1951 + .upper_margin = 2,
1952 + .lower_margin = 16,
1953 + .vsync_len = 2,
1954 + .lcdcon5 = S3C2410_LCDCON5_FRM565 |
1955 + S3C2410_LCDCON5_INVVCLK |
1956 + S3C2410_LCDCON5_INVVLINE |
1957 + S3C2410_LCDCON5_INVVFRAME |
1958 + S3C2410_LCDCON5_PWREN |
1959 + S3C2410_LCDCON5_HWSWP,
1960 + },
1961 + {
1962 + .type = S3C2410_LCDCON1_TFT,
1963 + .width = 43,
1964 + .height = 58,
1965 + .xres = 240,
1966 + .yres = 320,
1967 + .bpp = 16,
1968 +
1969 + .pixclock = 40000, /* HCLK/4 */
1970 + .left_margin = 104,
1971 + .right_margin = 8,
1972 + .hsync_len = 8,
1973 + .upper_margin = 2,
1974 + .lower_margin = 16,
1975 + .vsync_len = 2,
1976 + .lcdcon5 = S3C2410_LCDCON5_FRM565 |
1977 + S3C2410_LCDCON5_INVVCLK |
1978 + S3C2410_LCDCON5_INVVLINE |
1979 + S3C2410_LCDCON5_INVVFRAME |
1980 + S3C2410_LCDCON5_PWREN |
1981 + S3C2410_LCDCON5_HWSWP,
1982 + },
1983 +};
1984 +
1985 +static struct s3c2410fb_mach_info glofiish_lcd_cfg __initdata = {
1986 + .displays = glofiish_displays,
1987 + .num_displays = ARRAY_SIZE(glofiish_displays),
1988 + .default_display = 0,
1989 +
1990 + .lpcsel = ((0xCE6) & ~7) | 1<<4,
1991 +};
1992 +
1993 +
1994 +static struct resource m800_sdio_resources[] = {
1995 + [0] = {
1996 + .flags = IORESOURCE_IRQ,
1997 + .start = IRQ_SDI,
1998 + .end = IRQ_SDI,
1999 + },
2000 + [1] = {
2001 + .flags = IORESOURCE_MEM,
2002 + .start = S3C2410_PA_SDI,
2003 + .end = S3C2410_PA_SDI + S3C24XX_SZ_SDI - 1,
2004 + },
2005 + [2] = {
2006 + .flags = IORESOURCE_DMA,
2007 + .start = 0, /* Channel 0 for SDI */
2008 + .end = 0,
2009 + },
2010 +};
2011 +
2012 +static struct platform_device *glofiish_devices[] __initdata = {
2013 + &s3c_device_usb,
2014 + &s3c_device_lcd,
2015 + &s3c_device_wdt,
2016 + &s3c_device_i2c,
2017 + &s3c_device_iis,
2018 + &s3c_device_sdi,
2019 + &s3c_device_usbgadget,
2020 + &s3c_device_nand,
2021 + &s3c_device_ts,
2022 +};
2023 +
2024 +static struct s3c2410_nand_set glofiish_nand_sets[] = {
2025 + [0] = {
2026 + .name = "glofiish-nand",
2027 + .nr_chips = 1,
2028 + .flags = S3C2410_NAND_BBT,
2029 + },
2030 +};
2031 +
2032 +/* choose a set of timings derived from S3C@2442B MCP54
2033 + * data sheet (K5D2G13ACM-D075 MCP Memory)
2034 + */
2035 +
2036 +static struct s3c2410_platform_nand glofiish_nand_info = {
2037 + .tacls = 0,
2038 + .twrph0 = 25,
2039 + .twrph1 = 15,
2040 + .nr_sets = ARRAY_SIZE(glofiish_nand_sets),
2041 + .sets = glofiish_nand_sets,
2042 + .software_ecc = 1,
2043 +};
2044 +
2045 +static struct s3c24xx_mci_pdata glofiish_mmc_cfg = {
2046 + .gpio_detect = M800_GPIO_nSD_DETECT,
2047 + .set_power = NULL,
2048 + .ocr_avail = MMC_VDD_32_33,
2049 +};
2050 +
2051 +static void glofiish_udc_command(enum s3c2410_udc_cmd_e cmd)
2052 +{
2053 + printk(KERN_DEBUG "%s(%d)\n", __func__, cmd);
2054 +
2055 + switch (cmd) {
2056 + case S3C2410_UDC_P_ENABLE:
2057 + s3c2410_gpio_setpin(M800_GPIO_USB_PULLUP, 1);
2058 + break;
2059 + case S3C2410_UDC_P_DISABLE:
2060 + s3c2410_gpio_setpin(M800_GPIO_USB_PULLUP, 0);
2061 + break;
2062 + case S3C2410_UDC_P_RESET:
2063 + /* FIXME! */
2064 + break;
2065 + default:
2066 + break;
2067 + }
2068 +}
2069 +
2070 +/* get PMU to set USB current limit accordingly */
2071 +
2072 +static void glofiish_udc_vbus_draw(unsigned int ma)
2073 +{
2074 + //pcf50633_notify_usb_current_limit_change(pcf50633_global, ma);
2075 +}
2076 +
2077 +static struct s3c2410_udc_mach_info glofiish_udc_cfg = {
2078 + .vbus_draw = glofiish_udc_vbus_draw,
2079 + .udc_command = glofiish_udc_command,
2080 +
2081 +};
2082 +
2083 +static struct s3c2410_ts_mach_info glofiish_ts_cfg = {
2084 + .delay = 10000,
2085 + .presc = 50000000 / 1000000, /* 50 MHz PCLK / 1MHz */
2086 + /* simple averaging, 2^n samples */
2087 + .oversampling_shift = 5,
2088 + /* averaging filter length, 2^n */
2089 + .excursion_filter_len_bits = 5,
2090 + /* flagged for beauty contest on next sample if differs from
2091 + * average more than this
2092 + */
2093 + .reject_threshold_vs_avg = 2,
2094 +};
2095 +
2096 +
2097 +/* SPI: LCM control interface attached to Glamo3362 */
2098 +
2099 +static void m800_jbt6k74_reset(int devidx, int level)
2100 +{
2101 + //glamo_lcm_reset(level);
2102 + printk(KERN_DEBUG "gta01_jbt6k74_reset\n");
2103 +}
2104 +
2105 +/* finally bring up deferred backlight resume now LCM is resumed itself */
2106 +
2107 +static void m800_jbt6k74_resuming(int devidx)
2108 +{
2109 + //pcf50633_backlight_resume(pcf50633_global);
2110 + //gta01bl_deferred_resume();
2111 +}
2112 +
2113 +const struct jbt6k74_platform_data jbt6k74_pdata = {
2114 + .reset = m800_jbt6k74_reset,
2115 + .resuming = m800_jbt6k74_resuming,
2116 +};
2117 +
2118 +static struct spi_board_info glofiish_spi_board_info[] = {
2119 + {
2120 + .modalias = "jbt6k74",
2121 + /* platform_data */
2122 + .platform_data = &jbt6k74_pdata,
2123 + /* controller_data */
2124 + /* irq */
2125 + .max_speed_hz = 10 * 1000 * 1000,
2126 + .bus_num = 2,
2127 + /* chip_select */
2128 + },
2129 +};
2130 +
2131 +static void spi_gpio_cs(struct s3c2410_spigpio_info *spi, int csidx, int cs)
2132 +{
2133 + switch (cs) {
2134 + case BITBANG_CS_ACTIVE:
2135 + s3c2410_gpio_setpin(S3C2410_GPG3, 0);
2136 + break;
2137 + case BITBANG_CS_INACTIVE:
2138 + s3c2410_gpio_setpin(S3C2410_GPG3, 1);
2139 + break;
2140 + }
2141 +}
2142 +
2143 +static struct s3c2410_spigpio_info spi_gpio_cfg = {
2144 + .pin_clk = S3C2410_GPG7,
2145 + .pin_mosi = S3C2410_GPG6,
2146 + .pin_miso = S3C2410_GPG5,
2147 + .board_size = ARRAY_SIZE(glofiish_spi_board_info),
2148 + .board_info = glofiish_spi_board_info,
2149 + .chip_select = &spi_gpio_cs,
2150 + .num_chipselect = 2, /*** Should be 1 or 2 for gta01? ***/
2151 +};
2152 +
2153 +static struct resource s3c_spi_lcm_resource[] = {
2154 + [0] = {
2155 + .start = S3C2410_GPG3,
2156 + .end = S3C2410_GPG3,
2157 + },
2158 + [1] = {
2159 + .start = S3C2410_GPG5,
2160 + .end = S3C2410_GPG5,
2161 + },
2162 + [2] = {
2163 + .start = S3C2410_GPG6,
2164 + .end = S3C2410_GPG6,
2165 + },
2166 + [3] = {
2167 + .start = S3C2410_GPG7,
2168 + .end = S3C2410_GPG7,
2169 + },
2170 +};
2171 +
2172 +struct platform_device s3c_device_spi_lcm = {
2173 + .name = "spi_s3c24xx_gpio",
2174 + .id = 1,
2175 + .num_resources = ARRAY_SIZE(s3c_spi_lcm_resource),
2176 + .resource = s3c_spi_lcm_resource,
2177 + .dev = {
2178 + .platform_data = &spi_gpio_cfg,
2179 + },
2180 +};
2181 +
2182 +static struct gta01bl_machinfo backlight_machinfo = {
2183 + .default_intensity = 1,
2184 + .max_intensity = 1,
2185 + .limit_mask = 1,
2186 + .defer_resume_backlight = 1,
2187 +};
2188 +
2189 +static struct resource gta01_bl_resources[] = {
2190 + [0] = {
2191 + .start = M800_GPIO_BACKLIGHT,
2192 + .end = M800_GPIO_BACKLIGHT,
2193 + },
2194 +};
2195 +
2196 +struct platform_device gta01_bl_dev = {
2197 + .name = "gta01-bl",
2198 + .num_resources = ARRAY_SIZE(gta01_bl_resources),
2199 + .resource = gta01_bl_resources,
2200 + .dev = {
2201 + .platform_data = &backlight_machinfo,
2202 + },
2203 +};
2204 +
2205 +
2206 +#if 0 /* currently this is not used and we use gpio spi */
2207 +static struct glamo_spi_info glamo_spi_cfg = {
2208 + .board_size = ARRAY_SIZE(gta02_spi_board_info),
2209 + .board_info = gta02_spi_board_info,
2210 +};
2211 +#endif /* 0 */
2212 +
2213 +#if 0
2214 +static struct resource gta02_vibrator_resources[] = {
2215 + [0] = {
2216 + .start = GTA02_GPIO_VIBRATOR_ON,
2217 + .end = GTA02_GPIO_VIBRATOR_ON,
2218 + },
2219 +};
2220 +
2221 +static struct platform_device gta02_vibrator_dev = {
2222 + .name = "neo1973-vibrator",
2223 + .num_resources = ARRAY_SIZE(gta02_vibrator_resources),
2224 + .resource = gta02_vibrator_resources,
2225 +};
2226 +
2227 +static struct resource gta02_led_resources[] = {
2228 + {
2229 + .name = "gta02-power:orange",
2230 + .start = GTA02_GPIO_PWR_LED1,
2231 + .end = GTA02_GPIO_PWR_LED1,
2232 + }, {
2233 + .name = "gta02-power:blue",
2234 + .start = GTA02_GPIO_PWR_LED2,
2235 + .end = GTA02_GPIO_PWR_LED2,
2236 + }, {
2237 + .name = "gta02-aux:red",
2238 + .start = GTA02_GPIO_AUX_LED,
2239 + .end = GTA02_GPIO_AUX_LED,
2240 + },
2241 +};
2242 +
2243 +struct platform_device gta02_led_dev = {
2244 + .name = "gta02-led",
2245 + .num_resources = ARRAY_SIZE(gta02_led_resources),
2246 + .resource = gta02_led_resources,
2247 +};
2248 +
2249 +static struct resource gta02_button_resources[] = {
2250 + [0] = {
2251 + .start = GTA02_GPIO_AUX_KEY,
2252 + .end = GTA02_GPIO_AUX_KEY,
2253 + },
2254 + [1] = {
2255 + .start = GTA02_GPIO_HOLD_KEY,
2256 + .end = GTA02_GPIO_HOLD_KEY,
2257 + },
2258 + [2] = {
2259 + .start = GTA02_GPIO_JACK_INSERT,
2260 + .end = GTA02_GPIO_JACK_INSERT,
2261 + },
2262 +};
2263 +
2264 +static struct platform_device gta02_button_dev = {
2265 + .name = "neo1973-button",
2266 + .num_resources = ARRAY_SIZE(gta02_button_resources),
2267 + .resource = gta02_button_resources,
2268 +};
2269 +#endif
2270 +
2271 +/* USB */
2272 +static struct s3c2410_hcd_info glofiish_usb_info = {
2273 + .port[0] = {
2274 + .flags = S3C_HCDFLG_USED,
2275 + },
2276 + .port[1] = {
2277 + .flags = 0,
2278 + },
2279 +};
2280 +
2281 +static struct resource m800_button_resources[] = {
2282 + [0] = {
2283 + .start = M800_GPIO_nKEY_POWER,
2284 + .end = M800_GPIO_nKEY_POWER,
2285 + },
2286 + [1] = {
2287 + .start = M800_GPIO_nKEY_CAMERA,
2288 + .end = M800_GPIO_nKEY_CAMERA,
2289 + },
2290 + [3] = {
2291 + .start = M800_GPIO_nKEY_RECORD,
2292 + .end = M800_GPIO_nKEY_RECORD,
2293 + },
2294 + [2] = {
2295 + .start = M800_GPIO_SLIDE,
2296 + .end = M800_GPIO_SLIDE,
2297 + },
2298 +};
2299 +
2300 +static struct platform_device m800_button_dev = {
2301 + .name = "m800-button",
2302 + .num_resources = ARRAY_SIZE(m800_button_resources),
2303 + .resource = m800_button_resources,
2304 +};
2305 +
2306 +static struct platform_device m800_pm_bt_dev = {
2307 + .name = "neo1973-pm-bt",
2308 +};
2309 +
2310 +static void __init glofiish_map_io(void)
2311 +{
2312 + s3c24xx_init_io(m800_iodesc, ARRAY_SIZE(m800_iodesc));
2313 + s3c24xx_init_clocks(16934400);
2314 + s3c24xx_init_uarts(m800_uartcfgs, ARRAY_SIZE(m800_uartcfgs));
2315 +}
2316 +
2317 +static irqreturn_t gta02_modem_irq(int irq, void *param)
2318 +{
2319 + printk(KERN_DEBUG "modem wakeup interrupt\n");
2320 + return IRQ_HANDLED;
2321 +}
2322 +
2323 +static irqreturn_t ar6000_wow_irq(int irq, void *param)
2324 +{
2325 + printk(KERN_DEBUG "ar6000_wow interrupt\n");
2326 + return IRQ_HANDLED;
2327 +}
2328 +
2329 +/*
2330 + * hardware_ecc=1|0
2331 + */
2332 +static char hardware_ecc_str[4] __initdata = "";
2333 +
2334 +static int __init hardware_ecc_setup(char *str)
2335 +{
2336 + if (str)
2337 + strlcpy(hardware_ecc_str, str, sizeof(hardware_ecc_str));
2338 + return 1;
2339 +}
2340 +
2341 +__setup("hardware_ecc=", hardware_ecc_setup);
2342 +
2343 +static void __init glofiish_machine_init(void)
2344 +{
2345 + int rc;
2346 +
2347 + /* set the panic callback to make AUX blink fast */
2348 + panic_blink = glofiish_panic_blink;
2349 +
2350 + /* do not force soft ecc if we are asked to use hardware_ecc */
2351 + if (hardware_ecc_str[0] == '1')
2352 + glofiish_nand_info.software_ecc = 0;
2353 +
2354 + s3c_device_usb.dev.platform_data = &glofiish_usb_info;
2355 + s3c_device_nand.dev.platform_data = &glofiish_nand_info;
2356 + s3c_device_sdi.dev.platform_data = &glofiish_mmc_cfg;
2357 +
2358 + s3c24xx_fb_set_platdata(&glofiish_lcd_cfg);
2359 + s3c24xx_udc_set_platdata(&glofiish_udc_cfg);
2360 + set_s3c2410ts_info(&glofiish_ts_cfg);
2361 +
2362 + platform_device_register(&gta01_bl_dev);
2363 + platform_device_register(&m800_pm_bt_dev);
2364 + platform_device_register(&m800_button_dev);
2365 + platform_device_register(&s3c_device_spi_lcm);
2366 +
2367 + platform_add_devices(glofiish_devices, ARRAY_SIZE(glofiish_devices));
2368 +
2369 + s3c2410_pm_init();
2370 +}
2371 +
2372 +MACHINE_START(M800, "Glofiish M800")
2373 + .phys_io = S3C2410_PA_UART,
2374 + .io_pg_offst = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc,
2375 + .boot_params = S3C2410_SDRAM_PA + 0x100,
2376 + .map_io = glofiish_map_io,
2377 + .init_irq = s3c24xx_init_irq,
2378 + .init_machine = glofiish_machine_init,
2379 + .timer = &s3c24xx_timer,
2380 +MACHINE_END
2381 diff --git a/drivers/input/keyboard/m800kbd.c b/drivers/input/keyboard/m800kbd.c
2382 new file mode 100644
2383 index 0000000..22f1aab
2384 --- /dev/null
2385 +++ b/drivers/input/keyboard/m800kbd.c
2386 @@ -0,0 +1,330 @@
2387 +/*
2388 + * Keyboard driver for E-TEN M800 GSM phone
2389 + *
2390 + * (C) 2008 by Harald Welte <laforge@gnumonks.org>
2391 + * All rights reserved.
2392 + *
2393 + * inspired by corkgbd.c by Richard Purdie
2394 + *
2395 + * This program is free software; you can redistribute it and/or modify
2396 + * it under the terms of the GNU General Public License version 2 as
2397 + * published by the Free Software Foundation.
2398 + *
2399 + */
2400 +
2401 +#include <linux/delay.h>
2402 +#include <linux/platform_device.h>
2403 +#include <linux/init.h>
2404 +#include <linux/input.h>
2405 +#include <linux/interrupt.h>
2406 +#include <linux/jiffies.h>
2407 +#include <linux/module.h>
2408 +#include <linux/slab.h>
2409 +#include <linux/workqueue.h>
2410 +
2411 +#include <asm/gpio.h>
2412 +#include <asm/mach-types.h>
2413 +
2414 +struct m800kbd {
2415 + struct input_dev *input;
2416 + unsigned int suspended;
2417 + struct work_struct work;
2418 + int work_in_progress;
2419 + int hp_irq_count_in_work;
2420 + int hp_irq_count;
2421 + int jack_irq;
2422 +};
2423 +
2424 +static irqreturn_t m800kbd_power_irq(int irq, void *dev_id)
2425 +{
2426 + struct m800kbd *m800kbd_data = dev_id;
2427 + int key_pressed = !gpio_get_value(irq_to_gpio(irq));
2428 +
2429 + input_report_key(m800kbd_data->input, KEY_POWER, key_pressed);
2430 + input_sync(m800kbd_data->input);
2431 +
2432 + return IRQ_HANDLED;
2433 +}
2434 +
2435 +static irqreturn_t m800kbd_cam_irq(int irq, void *dev_id)
2436 +{
2437 + struct m800kbd *m800kbd_data = dev_id;
2438 +
2439 + int key_pressed = !gpio_get_value(irq_to_gpio(irq));
2440 + input_report_key(m800kbd_data->input, KEY_CAMERA, key_pressed);
2441 + input_sync(m800kbd_data->input);
2442 +
2443 + return IRQ_HANDLED;
2444 +}
2445 +
2446 +static irqreturn_t m800kbd_rec_irq(int irq, void *dev_id)
2447 +{
2448 + struct m800kbd *m800kbd_data = dev_id;
2449 +
2450 + int key_pressed = !gpio_get_value(irq_to_gpio(irq));
2451 + input_report_key(m800kbd_data->input, KEY_RECORD, key_pressed);
2452 + input_sync(m800kbd_data->input);
2453 +
2454 + return IRQ_HANDLED;
2455 +}
2456 +
2457 +static irqreturn_t m800kbd_slide_irq(int irq, void *dev_id)
2458 +{
2459 + struct m800kbd *m800kbd_data = dev_id;
2460 +
2461 + int key_pressed = gpio_get_value(irq_to_gpio(irq));
2462 + input_report_key(m800kbd_data->input, SW_LID, key_pressed);
2463 + input_sync(m800kbd_data->input);
2464 +
2465 + return IRQ_HANDLED;
2466 +}
2467 +
2468 +#if 0
2469 +static void m800kbd_debounce_jack(struct work_struct *work)
2470 +{
2471 + struct m800kbd *kbd = container_of(work, struct m800kbd, work);
2472 + unsigned long flags;
2473 + int loop = 0;
2474 +
2475 + do {
2476 + /*
2477 + * we wait out any multiple interrupt
2478 + * stuttering in 100ms lumps
2479 + */
2480 + do {
2481 + kbd->hp_irq_count_in_work = kbd->hp_irq_count;
2482 + msleep(100);
2483 + } while (kbd->hp_irq_count != kbd->hp_irq_count_in_work);
2484 + /*
2485 + * no new interrupts on jack for 100ms...
2486 + * ok we will report it
2487 + */
2488 + input_report_switch(kbd->input, SW_HEADPHONE_INSERT,
2489 + gpio_get_value(irq_to_gpio(kbd->jack_irq)));
2490 + input_sync(kbd->input);
2491 + /*
2492 + * we go around the outer loop again if we detect that more
2493 + * interrupts came while we are servicing here. But we have
2494 + * to sequence it carefully with interrupts off
2495 + */
2496 + local_save_flags(flags);
2497 + /* no interrupts during this work means we can exit the work */
2498 + loop = !!(kbd->hp_irq_count != kbd->hp_irq_count_in_work);
2499 + if (!loop)
2500 + kbd->work_in_progress = 0;
2501 + local_irq_restore(flags);
2502 + /*
2503 + * interrupt that comes here will either queue a new work action
2504 + * since work_in_progress is cleared now, or be dealt with
2505 + * when we loop.
2506 + */
2507 + } while (loop);
2508 +}
2509 +
2510 +
2511 +static irqreturn_t m800kbd_headphone_irq(int irq, void *dev_id)
2512 +{
2513 + struct m800kbd *m800kbd_data = dev_id;
2514 +
2515 + /*
2516 + * this interrupt is prone to bouncing and userspace doesn't like
2517 + * to have to deal with that kind of thing. So we do not accept
2518 + * that a jack interrupt is equal to a jack event. Instead we fire
2519 + * some work on the first interrupt, and it hangs about in 100ms units
2520 + * until no more interrupts come. Then it accepts the state it finds
2521 + * for jack insert and reports it once
2522 + */
2523 +
2524 + m800kbd_data->hp_irq_count++;
2525 + /*
2526 + * the first interrupt we see for a while, we fire the work item
2527 + * and record the interrupt count when we did that. If more interrupts
2528 + * come in the meanwhile, we can tell by the difference in that
2529 + * stored count and hp_irq_count which increments every interrupt
2530 + */
2531 + if (!m800kbd_data->work_in_progress) {
2532 + m800kbd_data->jack_irq = irq;
2533 + m800kbd_data->hp_irq_count_in_work =
2534 + m800kbd_data->hp_irq_count;
2535 + if (!schedule_work(&m800kbd_data->work))
2536 + printk(KERN_ERR
2537 + "Unable to schedule headphone debounce\n");
2538 + else
2539 + m800kbd_data->work_in_progress = 1;
2540 + }
2541 +
2542 + return IRQ_HANDLED;
2543 +}
2544 +#endif
2545 +
2546 +#ifdef CONFIG_PM
2547 +static int m800kbd_suspend(struct platform_device *dev, pm_message_t state)
2548 +{
2549 + struct m800kbd *m800kbd = platform_get_drvdata(dev);
2550 +
2551 + m800kbd->suspended = 1;
2552 +
2553 + return 0;
2554 +}
2555 +
2556 +static int m800kbd_resume(struct platform_device *dev)
2557 +{
2558 + struct m800kbd *m800kbd = platform_get_drvdata(dev);
2559 +
2560 + m800kbd->suspended = 0;
2561 +
2562 + return 0;
2563 +}
2564 +#else
2565 +#define m800kbd_suspend NULL
2566 +#define m800kbd_resume NULL
2567 +#endif
2568 +
2569 +static int m800kbd_probe(struct platform_device *pdev)
2570 +{
2571 + struct m800kbd *m800kbd;
2572 + struct input_dev *input_dev;
2573 + int rc, irq_power, irq_cam, irq_rec, irq_slide;
2574 +
2575 + m800kbd = kzalloc(sizeof(struct m800kbd), GFP_KERNEL);
2576 + input_dev = input_allocate_device();
2577 + if (!m800kbd || !input_dev) {
2578 + kfree(m800kbd);
2579 + input_free_device(input_dev);
2580 + return -ENOMEM;
2581 + }
2582 +
2583 + if (pdev->resource[0].flags != 0)
2584 + return -EINVAL;
2585 +
2586 + irq_power = gpio_to_irq(pdev->resource[0].start);
2587 + if (irq_power < 0)
2588 + return -EINVAL;
2589 +
2590 + irq_cam = gpio_to_irq(pdev->resource[1].start);
2591 + if (irq_cam < 0)
2592 + return -EINVAL;
2593 +
2594 + irq_rec = gpio_to_irq(pdev->resource[2].start);
2595 + if (irq_rec < 0)
2596 + return -EINVAL;
2597 +
2598 + irq_slide = gpio_to_irq(pdev->resource[3].start);
2599 + if (irq_slide < 0)
2600 + return -EINVAL;
2601 +
2602 + platform_set_drvdata(pdev, m800kbd);
2603 +
2604 + m800kbd->input = input_dev;
2605 +
2606 + //INIT_WORK(&m800kbd->work, m800kbd_debounce_jack);
2607 +
2608 + input_dev->name = "M800 Buttons";
2609 + input_dev->phys = "m800kbd/input0";
2610 + input_dev->id.bustype = BUS_HOST;
2611 + input_dev->id.vendor = 0x0001;
2612 + input_dev->id.product = 0x0001;
2613 + input_dev->id.version = 0x0100;
2614 + input_dev->cdev.dev = &pdev->dev;
2615 + input_dev->private = m800kbd;
2616 +
2617 + input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_SW);
2618 + set_bit(SW_HEADPHONE_INSERT, input_dev->swbit);
2619 + set_bit(SW_LID, input_dev->swbit);
2620 + set_bit(KEY_POWER, input_dev->keybit);
2621 + set_bit(KEY_CAMERA, input_dev->keybit);
2622 + set_bit(KEY_RECORD, input_dev->keybit);
2623 +
2624 + rc = input_register_device(m800kbd->input);
2625 + if (rc)
2626 + goto out_register;
2627 +
2628 + if (request_irq(irq_power, m800kbd_power_irq, IRQF_DISABLED |
2629 + IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
2630 + "M800 Power button", m800kbd)) {
2631 + dev_err(&pdev->dev, "Can't get IRQ %u\n", irq_power);
2632 + goto out_aux;
2633 + }
2634 +
2635 + enable_irq_wake(irq_power);
2636 +
2637 + if (request_irq(irq_cam, m800kbd_cam_irq, IRQF_DISABLED |
2638 + IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
2639 + "M800 Camera button", m800kbd)) {
2640 + dev_err(&pdev->dev, "Can't get IRQ %u\n", irq_cam);
2641 + goto out_hold;
2642 + }
2643 +
2644 + if (request_irq(irq_rec, m800kbd_rec_irq, IRQF_DISABLED |
2645 + IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
2646 + "M800 Record button", m800kbd)) {
2647 + dev_err(&pdev->dev, "Can't get IRQ %u\n", irq_rec);
2648 + goto out_hold;
2649 + }
2650 +
2651 + if (request_irq(irq_slide, m800kbd_slide_irq, IRQF_DISABLED |
2652 + IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
2653 + "M800 Slide", m800kbd)) {
2654 + dev_err(&pdev->dev, "Can't get IRQ %u\n", irq_slide);
2655 + goto out_jack;
2656 + }
2657 + enable_irq_wake(irq_slide);
2658 +
2659 + return 0;
2660 +
2661 +out_jack:
2662 + free_irq(irq_cam, m800kbd);
2663 +out_hold:
2664 + free_irq(irq_power, m800kbd);
2665 +out_aux:
2666 + input_unregister_device(m800kbd->input);
2667 +out_register:
2668 + input_free_device(m800kbd->input);
2669 + platform_set_drvdata(pdev, NULL);
2670 + kfree(m800kbd);
2671 +
2672 + return -ENODEV;
2673 +}
2674 +
2675 +static int m800kbd_remove(struct platform_device *pdev)
2676 +{
2677 + struct m800kbd *m800kbd = platform_get_drvdata(pdev);
2678 +
2679 + free_irq(gpio_to_irq(pdev->resource[2].start), m800kbd);
2680 + free_irq(gpio_to_irq(pdev->resource[1].start), m800kbd);
2681 + free_irq(gpio_to_irq(pdev->resource[0].start), m800kbd);
2682 +
2683 + input_unregister_device(m800kbd->input);
2684 + input_free_device(m800kbd->input);
2685 + platform_set_drvdata(pdev, NULL);
2686 + kfree(m800kbd);
2687 +
2688 + return 0;
2689 +}
2690 +
2691 +static struct platform_driver m800kbd_driver = {
2692 + .probe = m800kbd_probe,
2693 + .remove = m800kbd_remove,
2694 + .suspend = m800kbd_suspend,
2695 + .resume = m800kbd_resume,
2696 + .driver = {
2697 + .name = "m800-button",
2698 + },
2699 +};
2700 +
2701 +static int __devinit m800kbd_init(void)
2702 +{
2703 + return platform_driver_register(&m800kbd_driver);
2704 +}
2705 +
2706 +static void __exit m800kbd_exit(void)
2707 +{
2708 + platform_driver_unregister(&m800kbd_driver);
2709 +}
2710 +
2711 +module_init(m800kbd_init);
2712 +module_exit(m800kbd_exit);
2713 +
2714 +MODULE_AUTHOR("Harald Welte <laforge@gnumonks.org>");
2715 +MODULE_DESCRIPTION("E-TEN glofiish M800 GPIO buttons input driver");
2716 +MODULE_LICENSE("GPL");
2717 diff --git a/include/asm-arm/arch-s3c2410/glofiish.h b/include/asm-arm/arch-s3c2410/glofiish.h
2718 new file mode 100644
2719 index 0000000..1d0586f
2720 --- /dev/null
2721 +++ b/include/asm-arm/arch-s3c2410/glofiish.h
2722 @@ -0,0 +1,39 @@
2723 +#ifndef _GLOFIISH_H
2724 +#define _GLOFIISH_H
2725 +
2726 +#include <asm/arch/regs-gpio.h>
2727 +
2728 +#define M800_GPIO_USB_PULLUP S3C2410_GPA21
2729 +
2730 +#define M800_GPIO_BACKLIGHT S3C2410_GPB0
2731 +#define M800_GPIO_KBDLIGHT S3C2410_GPB1
2732 +#define M800_GPIO_GPS_POWER S3C2410_GPB6
2733 +
2734 +#define M800_GPIO_BT_POWER_1 S3C2410_GPC8
2735 +#define M800_GPIO_BT_POWER_2 S3C2410_GPC9
2736 +
2737 +#define M800_GPIO_nKEY_POWER S3C2410_GPF0
2738 +#define M800_GPIO_CPLD S3C2410_GPF2
2739 +#define M800_GPIO_USB_ATTACH S3C2410_GPF3
2740 +#define M800_GPIO_WIFI_1 S3C2410_GPF5
2741 +#define M800_GPIO_WIFI_2 S3C2410_GPF7
2742 +
2743 +#define M800_GPIO_FMRADIO S3C2410_GPG0
2744 +#define M800_GPIO_nKEY_CAMERA S3C2410_GPG2
2745 +#define M800_GPIO_nKEY_RECORD S3C2410_GPG4
2746 +#define M800_GPIO_SLIDE S3C2410_GPG6
2747 +#define M800_GPIO_nSD_DETECT S3C2410_GPG7
2748 +
2749 +#define M800_IRQ_nKEY_POWER IRQ_EINT0
2750 +#define M800_IRQ_CPLD_KEY IRQ_EINT2
2751 +#define M800_IRQ_USB_ATTACH IRQ_EINT3
2752 +#define M800_IRQ_WIFI_1 IRQ_EINT5
2753 +#define M800_IRQ_WIFI_2 IRQ_EINT7
2754 +#define M800_IRQ_FMRADIO IRQ_EINT8
2755 +#define M800_IRQ_nKEY_CAMERA IRQ_EINT10
2756 +#define M800_IRQ_nKEY_RECORD IRQ_EINT12
2757 +#define M800_IRQ_CAPSENSE IRQ_EINT13
2758 +#define M800_IRQ_KBD_SLIDE IRQ_EINT14
2759 +#define M800_IRQ_nSD_DETECT IRQ_EINT15
2760 +
2761 +#endif
2762 --
2763 1.5.6.5
2764
This page took 0.215016 seconds and 5 git commands to generate.