diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/Kconfig | 6 | ||||
-rw-r--r-- | arch/arm/common/vic.c | 8 | ||||
-rw-r--r-- | arch/arm/configs/mini2440_defconfig | 2097 | ||||
-rw-r--r-- | arch/arm/mach-s3c2410/usb-simtec.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-s3c2440/Kconfig | 10 | ||||
-rw-r--r-- | arch/arm/mach-s3c2440/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-s3c2440/mach-mini2440.c | 703 | ||||
-rw-r--r-- | arch/arm/mach-s3c2442/Kconfig | 12 | ||||
-rw-r--r-- | arch/arm/mach-s3c2442/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/mach-s3c2442/include/mach/gta02.h | 84 | ||||
-rw-r--r-- | arch/arm/mach-s3c2442/mach-gta02.c | 646 | ||||
-rw-r--r-- | arch/arm/plat-s3c/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/plat-s3c/dev-audio.c | 68 | ||||
-rw-r--r-- | arch/arm/plat-s3c/include/plat/devs.h | 5 | ||||
-rw-r--r-- | arch/arm/plat-s3c64xx/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/plat-s3c64xx/cpufreq.c | 262 |
16 files changed, 3902 insertions, 5 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 29475101a7b3..aef63c8e3d2d 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -1241,7 +1241,7 @@ endmenu | |||
1241 | 1241 | ||
1242 | menu "CPU Power Management" | 1242 | menu "CPU Power Management" |
1243 | 1243 | ||
1244 | if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_PXA) | 1244 | if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_PXA || ARCH_S3C64XX) |
1245 | 1245 | ||
1246 | source "drivers/cpufreq/Kconfig" | 1246 | source "drivers/cpufreq/Kconfig" |
1247 | 1247 | ||
@@ -1272,6 +1272,10 @@ config CPU_FREQ_PXA | |||
1272 | default y | 1272 | default y |
1273 | select CPU_FREQ_DEFAULT_GOV_USERSPACE | 1273 | select CPU_FREQ_DEFAULT_GOV_USERSPACE |
1274 | 1274 | ||
1275 | config CPU_FREQ_S3C64XX | ||
1276 | bool "CPUfreq support for Samsung S3C64XX CPUs" | ||
1277 | depends on CPU_FREQ && CPU_S3C6410 | ||
1278 | |||
1275 | endif | 1279 | endif |
1276 | 1280 | ||
1277 | source "drivers/cpuidle/Kconfig" | 1281 | source "drivers/cpuidle/Kconfig" |
diff --git a/arch/arm/common/vic.c b/arch/arm/common/vic.c index 887c6eb3a18a..6ed89836e908 100644 --- a/arch/arm/common/vic.c +++ b/arch/arm/common/vic.c | |||
@@ -229,14 +229,18 @@ static int vic_set_wake(unsigned int irq, unsigned int on) | |||
229 | { | 229 | { |
230 | struct vic_device *v = vic_from_irq(irq); | 230 | struct vic_device *v = vic_from_irq(irq); |
231 | unsigned int off = irq & 31; | 231 | unsigned int off = irq & 31; |
232 | u32 bit = 1 << off; | ||
232 | 233 | ||
233 | if (!v) | 234 | if (!v) |
234 | return -EINVAL; | 235 | return -EINVAL; |
235 | 236 | ||
237 | if (!(bit & v->resume_sources)) | ||
238 | return -EINVAL; | ||
239 | |||
236 | if (on) | 240 | if (on) |
237 | v->resume_irqs |= 1 << off; | 241 | v->resume_irqs |= bit; |
238 | else | 242 | else |
239 | v->resume_irqs &= ~(1 << off); | 243 | v->resume_irqs &= ~bit; |
240 | 244 | ||
241 | return 0; | 245 | return 0; |
242 | } | 246 | } |
diff --git a/arch/arm/configs/mini2440_defconfig b/arch/arm/configs/mini2440_defconfig new file mode 100644 index 000000000000..e49ed40f3be7 --- /dev/null +++ b/arch/arm/configs/mini2440_defconfig | |||
@@ -0,0 +1,2097 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.30-rc6 | ||
4 | # Wed May 20 12:29:51 2009 | ||
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 is not set | ||
11 | # CONFIG_GENERIC_CLOCKEVENTS is not set | ||
12 | CONFIG_MMU=y | ||
13 | CONFIG_NO_IOPORT=y | ||
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_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
27 | CONFIG_VECTORS_BASE=0xffff0000 | ||
28 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
29 | |||
30 | # | ||
31 | # General setup | ||
32 | # | ||
33 | CONFIG_EXPERIMENTAL=y | ||
34 | CONFIG_BROKEN_ON_SMP=y | ||
35 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
36 | CONFIG_LOCALVERSION="" | ||
37 | # CONFIG_LOCALVERSION_AUTO is not set | ||
38 | CONFIG_SWAP=y | ||
39 | CONFIG_SYSVIPC=y | ||
40 | CONFIG_SYSVIPC_SYSCTL=y | ||
41 | CONFIG_POSIX_MQUEUE=y | ||
42 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
43 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
44 | # CONFIG_TASKSTATS is not set | ||
45 | # CONFIG_AUDIT is not set | ||
46 | |||
47 | # | ||
48 | # RCU Subsystem | ||
49 | # | ||
50 | CONFIG_CLASSIC_RCU=y | ||
51 | # CONFIG_TREE_RCU is not set | ||
52 | # CONFIG_PREEMPT_RCU is not set | ||
53 | # CONFIG_TREE_RCU_TRACE is not set | ||
54 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
55 | # CONFIG_IKCONFIG is not set | ||
56 | CONFIG_LOG_BUF_SHIFT=17 | ||
57 | # CONFIG_GROUP_SCHED is not set | ||
58 | # CONFIG_CGROUPS is not set | ||
59 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | ||
60 | CONFIG_RELAY=y | ||
61 | CONFIG_NAMESPACES=y | ||
62 | CONFIG_UTS_NS=y | ||
63 | CONFIG_IPC_NS=y | ||
64 | # CONFIG_USER_NS is not set | ||
65 | # CONFIG_PID_NS is not set | ||
66 | # CONFIG_NET_NS is not set | ||
67 | CONFIG_BLK_DEV_INITRD=y | ||
68 | CONFIG_INITRAMFS_SOURCE="" | ||
69 | CONFIG_RD_GZIP=y | ||
70 | CONFIG_RD_BZIP2=y | ||
71 | CONFIG_RD_LZMA=y | ||
72 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
73 | CONFIG_SYSCTL=y | ||
74 | CONFIG_ANON_INODES=y | ||
75 | # CONFIG_EMBEDDED is not set | ||
76 | CONFIG_UID16=y | ||
77 | CONFIG_SYSCTL_SYSCALL=y | ||
78 | CONFIG_KALLSYMS=y | ||
79 | # CONFIG_KALLSYMS_ALL is not set | ||
80 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
81 | CONFIG_STRIP_ASM_SYMS=y | ||
82 | CONFIG_HOTPLUG=y | ||
83 | CONFIG_PRINTK=y | ||
84 | CONFIG_BUG=y | ||
85 | CONFIG_ELF_CORE=y | ||
86 | CONFIG_BASE_FULL=y | ||
87 | CONFIG_FUTEX=y | ||
88 | CONFIG_EPOLL=y | ||
89 | CONFIG_SIGNALFD=y | ||
90 | CONFIG_TIMERFD=y | ||
91 | CONFIG_EVENTFD=y | ||
92 | CONFIG_SHMEM=y | ||
93 | CONFIG_AIO=y | ||
94 | CONFIG_VM_EVENT_COUNTERS=y | ||
95 | CONFIG_SLUB_DEBUG=y | ||
96 | # CONFIG_COMPAT_BRK is not set | ||
97 | # CONFIG_SLAB is not set | ||
98 | CONFIG_SLUB=y | ||
99 | # CONFIG_SLOB is not set | ||
100 | # CONFIG_PROFILING is not set | ||
101 | # CONFIG_MARKERS is not set | ||
102 | CONFIG_HAVE_OPROFILE=y | ||
103 | # CONFIG_KPROBES is not set | ||
104 | CONFIG_HAVE_KPROBES=y | ||
105 | CONFIG_HAVE_KRETPROBES=y | ||
106 | CONFIG_HAVE_CLK=y | ||
107 | # CONFIG_SLOW_WORK is not set | ||
108 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | ||
109 | CONFIG_SLABINFO=y | ||
110 | CONFIG_RT_MUTEXES=y | ||
111 | CONFIG_BASE_SMALL=0 | ||
112 | CONFIG_MODULES=y | ||
113 | CONFIG_MODULE_FORCE_LOAD=y | ||
114 | CONFIG_MODULE_UNLOAD=y | ||
115 | CONFIG_MODULE_FORCE_UNLOAD=y | ||
116 | # CONFIG_MODVERSIONS is not set | ||
117 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
118 | CONFIG_BLOCK=y | ||
119 | CONFIG_LBD=y | ||
120 | # CONFIG_BLK_DEV_BSG is not set | ||
121 | CONFIG_BLK_DEV_INTEGRITY=y | ||
122 | |||
123 | # | ||
124 | # IO Schedulers | ||
125 | # | ||
126 | CONFIG_IOSCHED_NOOP=y | ||
127 | CONFIG_IOSCHED_AS=y | ||
128 | CONFIG_IOSCHED_DEADLINE=y | ||
129 | CONFIG_IOSCHED_CFQ=y | ||
130 | CONFIG_DEFAULT_AS=y | ||
131 | # CONFIG_DEFAULT_DEADLINE is not set | ||
132 | # CONFIG_DEFAULT_CFQ is not set | ||
133 | # CONFIG_DEFAULT_NOOP is not set | ||
134 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
135 | CONFIG_FREEZER=y | ||
136 | |||
137 | # | ||
138 | # System Type | ||
139 | # | ||
140 | # CONFIG_ARCH_AAEC2000 is not set | ||
141 | # CONFIG_ARCH_INTEGRATOR is not set | ||
142 | # CONFIG_ARCH_REALVIEW is not set | ||
143 | # CONFIG_ARCH_VERSATILE is not set | ||
144 | # CONFIG_ARCH_AT91 is not set | ||
145 | # CONFIG_ARCH_CLPS711X is not set | ||
146 | # CONFIG_ARCH_EBSA110 is not set | ||
147 | # CONFIG_ARCH_EP93XX is not set | ||
148 | # CONFIG_ARCH_GEMINI is not set | ||
149 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
150 | # CONFIG_ARCH_NETX is not set | ||
151 | # CONFIG_ARCH_H720X is not set | ||
152 | # CONFIG_ARCH_IMX is not set | ||
153 | # CONFIG_ARCH_IOP13XX is not set | ||
154 | # CONFIG_ARCH_IOP32X is not set | ||
155 | # CONFIG_ARCH_IOP33X is not set | ||
156 | # CONFIG_ARCH_IXP23XX is not set | ||
157 | # CONFIG_ARCH_IXP2000 is not set | ||
158 | # CONFIG_ARCH_IXP4XX is not set | ||
159 | # CONFIG_ARCH_L7200 is not set | ||
160 | # CONFIG_ARCH_KIRKWOOD is not set | ||
161 | # CONFIG_ARCH_KS8695 is not set | ||
162 | # CONFIG_ARCH_NS9XXX is not set | ||
163 | # CONFIG_ARCH_LOKI is not set | ||
164 | # CONFIG_ARCH_MV78XX0 is not set | ||
165 | # CONFIG_ARCH_MXC is not set | ||
166 | # CONFIG_ARCH_ORION5X is not set | ||
167 | # CONFIG_ARCH_PNX4008 is not set | ||
168 | # CONFIG_ARCH_PXA is not set | ||
169 | # CONFIG_ARCH_MMP is not set | ||
170 | # CONFIG_ARCH_RPC is not set | ||
171 | # CONFIG_ARCH_SA1100 is not set | ||
172 | CONFIG_ARCH_S3C2410=y | ||
173 | # CONFIG_ARCH_S3C64XX is not set | ||
174 | # CONFIG_ARCH_SHARK is not set | ||
175 | # CONFIG_ARCH_LH7A40X is not set | ||
176 | # CONFIG_ARCH_DAVINCI is not set | ||
177 | # CONFIG_ARCH_OMAP is not set | ||
178 | # CONFIG_ARCH_MSM is not set | ||
179 | # CONFIG_ARCH_W90X900 is not set | ||
180 | CONFIG_PLAT_S3C24XX=y | ||
181 | CONFIG_S3C2410_CLOCK=y | ||
182 | CONFIG_CPU_S3C244X=y | ||
183 | CONFIG_S3C24XX_PWM=y | ||
184 | CONFIG_S3C24XX_GPIO_EXTRA=0 | ||
185 | CONFIG_S3C2410_DMA=y | ||
186 | # CONFIG_S3C2410_DMA_DEBUG is not set | ||
187 | CONFIG_S3C24XX_ADC=y | ||
188 | CONFIG_PLAT_S3C=y | ||
189 | CONFIG_CPU_LLSERIAL_S3C2440_ONLY=y | ||
190 | CONFIG_CPU_LLSERIAL_S3C2440=y | ||
191 | |||
192 | # | ||
193 | # Boot options | ||
194 | # | ||
195 | # CONFIG_S3C_BOOT_WATCHDOG is not set | ||
196 | # CONFIG_S3C_BOOT_ERROR_RESET is not set | ||
197 | CONFIG_S3C_BOOT_UART_FORCE_FIFO=y | ||
198 | |||
199 | # | ||
200 | # Power management | ||
201 | # | ||
202 | # CONFIG_S3C2410_PM_DEBUG is not set | ||
203 | # CONFIG_S3C2410_PM_CHECK is not set | ||
204 | CONFIG_S3C_LOWLEVEL_UART_PORT=0 | ||
205 | CONFIG_S3C_GPIO_SPACE=0 | ||
206 | |||
207 | # | ||
208 | # S3C2400 Machines | ||
209 | # | ||
210 | CONFIG_S3C2410_PM=y | ||
211 | CONFIG_S3C2410_GPIO=y | ||
212 | |||
213 | # | ||
214 | # S3C2410 Machines | ||
215 | # | ||
216 | # CONFIG_ARCH_SMDK2410 is not set | ||
217 | # CONFIG_ARCH_H1940 is not set | ||
218 | # CONFIG_MACH_N30 is not set | ||
219 | # CONFIG_ARCH_BAST is not set | ||
220 | # CONFIG_MACH_OTOM is not set | ||
221 | # CONFIG_MACH_AML_M5900 is not set | ||
222 | # CONFIG_MACH_TCT_HAMMER is not set | ||
223 | # CONFIG_MACH_VR1000 is not set | ||
224 | # CONFIG_MACH_QT2410 is not set | ||
225 | |||
226 | # | ||
227 | # S3C2412 Machines | ||
228 | # | ||
229 | # CONFIG_MACH_JIVE is not set | ||
230 | # CONFIG_MACH_SMDK2413 is not set | ||
231 | # CONFIG_MACH_SMDK2412 is not set | ||
232 | # CONFIG_MACH_VSTMS is not set | ||
233 | CONFIG_CPU_S3C2440=y | ||
234 | CONFIG_S3C2440_DMA=y | ||
235 | |||
236 | # | ||
237 | # S3C2440 Machines | ||
238 | # | ||
239 | # CONFIG_MACH_ANUBIS is not set | ||
240 | # CONFIG_MACH_OSIRIS is not set | ||
241 | # CONFIG_MACH_RX3715 is not set | ||
242 | # CONFIG_ARCH_S3C2440 is not set | ||
243 | # CONFIG_MACH_NEXCODER_2440 is not set | ||
244 | # CONFIG_MACH_AT2440EVB is not set | ||
245 | CONFIG_MACH_MINI2440=y | ||
246 | |||
247 | # | ||
248 | # S3C2442 Machines | ||
249 | # | ||
250 | |||
251 | # | ||
252 | # S3C2443 Machines | ||
253 | # | ||
254 | # CONFIG_MACH_SMDK2443 is not set | ||
255 | |||
256 | # | ||
257 | # Processor Type | ||
258 | # | ||
259 | CONFIG_CPU_32=y | ||
260 | CONFIG_CPU_ARM920T=y | ||
261 | CONFIG_CPU_32v4T=y | ||
262 | CONFIG_CPU_ABRT_EV4T=y | ||
263 | CONFIG_CPU_PABRT_NOIFAR=y | ||
264 | CONFIG_CPU_CACHE_V4WT=y | ||
265 | CONFIG_CPU_CACHE_VIVT=y | ||
266 | CONFIG_CPU_COPY_V4WB=y | ||
267 | CONFIG_CPU_TLB_V4WBI=y | ||
268 | CONFIG_CPU_CP15=y | ||
269 | CONFIG_CPU_CP15_MMU=y | ||
270 | |||
271 | # | ||
272 | # Processor Features | ||
273 | # | ||
274 | CONFIG_ARM_THUMB=y | ||
275 | # CONFIG_CPU_ICACHE_DISABLE is not set | ||
276 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
277 | # CONFIG_CPU_DCACHE_WRITETHROUGH is not set | ||
278 | # CONFIG_OUTER_CACHE is not set | ||
279 | |||
280 | # | ||
281 | # Bus support | ||
282 | # | ||
283 | # CONFIG_PCI_SYSCALL is not set | ||
284 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
285 | # CONFIG_PCCARD is not set | ||
286 | |||
287 | # | ||
288 | # Kernel Features | ||
289 | # | ||
290 | CONFIG_VMSPLIT_3G=y | ||
291 | # CONFIG_VMSPLIT_2G is not set | ||
292 | # CONFIG_VMSPLIT_1G is not set | ||
293 | CONFIG_PAGE_OFFSET=0xC0000000 | ||
294 | # CONFIG_PREEMPT is not set | ||
295 | CONFIG_HZ=200 | ||
296 | CONFIG_AEABI=y | ||
297 | # CONFIG_OABI_COMPAT is not set | ||
298 | CONFIG_ARCH_FLATMEM_HAS_HOLES=y | ||
299 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | ||
300 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | ||
301 | # CONFIG_HIGHMEM is not set | ||
302 | CONFIG_SELECT_MEMORY_MODEL=y | ||
303 | CONFIG_FLATMEM_MANUAL=y | ||
304 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
305 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
306 | CONFIG_FLATMEM=y | ||
307 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
308 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
309 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | ||
310 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
311 | CONFIG_ZONE_DMA_FLAG=0 | ||
312 | CONFIG_VIRT_TO_BUS=y | ||
313 | CONFIG_UNEVICTABLE_LRU=y | ||
314 | CONFIG_HAVE_MLOCK=y | ||
315 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
316 | CONFIG_ALIGNMENT_TRAP=y | ||
317 | |||
318 | # | ||
319 | # Boot options | ||
320 | # | ||
321 | CONFIG_ZBOOT_ROM_TEXT=0 | ||
322 | CONFIG_ZBOOT_ROM_BSS=0 | ||
323 | CONFIG_CMDLINE="" | ||
324 | # CONFIG_XIP_KERNEL is not set | ||
325 | CONFIG_KEXEC=y | ||
326 | CONFIG_ATAGS_PROC=y | ||
327 | |||
328 | # | ||
329 | # CPU Power Management | ||
330 | # | ||
331 | CONFIG_CPU_IDLE=y | ||
332 | CONFIG_CPU_IDLE_GOV_LADDER=y | ||
333 | |||
334 | # | ||
335 | # Floating point emulation | ||
336 | # | ||
337 | |||
338 | # | ||
339 | # At least one emulation must be selected | ||
340 | # | ||
341 | |||
342 | # | ||
343 | # Userspace binary formats | ||
344 | # | ||
345 | CONFIG_BINFMT_ELF=y | ||
346 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
347 | CONFIG_HAVE_AOUT=y | ||
348 | CONFIG_BINFMT_AOUT=m | ||
349 | CONFIG_BINFMT_MISC=m | ||
350 | |||
351 | # | ||
352 | # Power management options | ||
353 | # | ||
354 | CONFIG_PM=y | ||
355 | # CONFIG_PM_DEBUG is not set | ||
356 | CONFIG_PM_SLEEP=y | ||
357 | CONFIG_SUSPEND=y | ||
358 | CONFIG_SUSPEND_FREEZER=y | ||
359 | CONFIG_APM_EMULATION=y | ||
360 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
361 | CONFIG_NET=y | ||
362 | |||
363 | # | ||
364 | # Networking options | ||
365 | # | ||
366 | CONFIG_PACKET=y | ||
367 | CONFIG_PACKET_MMAP=y | ||
368 | CONFIG_UNIX=y | ||
369 | CONFIG_XFRM=y | ||
370 | CONFIG_XFRM_USER=m | ||
371 | # CONFIG_XFRM_SUB_POLICY is not set | ||
372 | # CONFIG_XFRM_MIGRATE is not set | ||
373 | # CONFIG_XFRM_STATISTICS is not set | ||
374 | CONFIG_NET_KEY=m | ||
375 | # CONFIG_NET_KEY_MIGRATE is not set | ||
376 | CONFIG_INET=y | ||
377 | CONFIG_IP_MULTICAST=y | ||
378 | CONFIG_IP_ADVANCED_ROUTER=y | ||
379 | CONFIG_ASK_IP_FIB_HASH=y | ||
380 | # CONFIG_IP_FIB_TRIE is not set | ||
381 | CONFIG_IP_FIB_HASH=y | ||
382 | CONFIG_IP_MULTIPLE_TABLES=y | ||
383 | CONFIG_IP_ROUTE_MULTIPATH=y | ||
384 | CONFIG_IP_ROUTE_VERBOSE=y | ||
385 | CONFIG_IP_PNP=y | ||
386 | CONFIG_IP_PNP_DHCP=y | ||
387 | CONFIG_IP_PNP_BOOTP=y | ||
388 | CONFIG_IP_PNP_RARP=y | ||
389 | # CONFIG_NET_IPIP is not set | ||
390 | # CONFIG_NET_IPGRE is not set | ||
391 | CONFIG_IP_MROUTE=y | ||
392 | CONFIG_IP_PIMSM_V1=y | ||
393 | CONFIG_IP_PIMSM_V2=y | ||
394 | # CONFIG_ARPD is not set | ||
395 | CONFIG_SYN_COOKIES=y | ||
396 | # CONFIG_INET_AH is not set | ||
397 | # CONFIG_INET_ESP is not set | ||
398 | # CONFIG_INET_IPCOMP is not set | ||
399 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
400 | # CONFIG_INET_TUNNEL is not set | ||
401 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | ||
402 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
403 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
404 | # CONFIG_INET_LRO is not set | ||
405 | CONFIG_INET_DIAG=m | ||
406 | CONFIG_INET_TCP_DIAG=m | ||
407 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
408 | CONFIG_TCP_CONG_CUBIC=y | ||
409 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
410 | # CONFIG_TCP_MD5SIG is not set | ||
411 | # CONFIG_IPV6 is not set | ||
412 | # CONFIG_NETWORK_SECMARK is not set | ||
413 | CONFIG_NETFILTER=y | ||
414 | # CONFIG_NETFILTER_DEBUG is not set | ||
415 | CONFIG_NETFILTER_ADVANCED=y | ||
416 | CONFIG_BRIDGE_NETFILTER=y | ||
417 | |||
418 | # | ||
419 | # Core Netfilter Configuration | ||
420 | # | ||
421 | # CONFIG_NETFILTER_NETLINK_QUEUE is not set | ||
422 | # CONFIG_NETFILTER_NETLINK_LOG is not set | ||
423 | # CONFIG_NF_CONNTRACK is not set | ||
424 | # CONFIG_NETFILTER_XTABLES is not set | ||
425 | # CONFIG_IP_VS is not set | ||
426 | |||
427 | # | ||
428 | # IP: Netfilter Configuration | ||
429 | # | ||
430 | # CONFIG_NF_DEFRAG_IPV4 is not set | ||
431 | # CONFIG_IP_NF_QUEUE is not set | ||
432 | # CONFIG_IP_NF_IPTABLES is not set | ||
433 | # CONFIG_IP_NF_ARPTABLES is not set | ||
434 | # CONFIG_BRIDGE_NF_EBTABLES is not set | ||
435 | # CONFIG_IP_DCCP is not set | ||
436 | # CONFIG_IP_SCTP is not set | ||
437 | # CONFIG_TIPC is not set | ||
438 | # CONFIG_ATM is not set | ||
439 | CONFIG_STP=m | ||
440 | CONFIG_GARP=m | ||
441 | CONFIG_BRIDGE=m | ||
442 | # CONFIG_NET_DSA is not set | ||
443 | CONFIG_VLAN_8021Q=m | ||
444 | CONFIG_VLAN_8021Q_GVRP=y | ||
445 | # CONFIG_DECNET is not set | ||
446 | CONFIG_LLC=m | ||
447 | # CONFIG_LLC2 is not set | ||
448 | # CONFIG_IPX is not set | ||
449 | # CONFIG_ATALK is not set | ||
450 | # CONFIG_X25 is not set | ||
451 | # CONFIG_LAPB is not set | ||
452 | # CONFIG_ECONET is not set | ||
453 | # CONFIG_WAN_ROUTER is not set | ||
454 | # CONFIG_PHONET is not set | ||
455 | # CONFIG_NET_SCHED is not set | ||
456 | # CONFIG_DCB is not set | ||
457 | |||
458 | # | ||
459 | # Network testing | ||
460 | # | ||
461 | CONFIG_NET_PKTGEN=m | ||
462 | # CONFIG_HAMRADIO is not set | ||
463 | # CONFIG_CAN is not set | ||
464 | # CONFIG_IRDA is not set | ||
465 | CONFIG_BT=m | ||
466 | CONFIG_BT_L2CAP=m | ||
467 | CONFIG_BT_SCO=m | ||
468 | CONFIG_BT_RFCOMM=m | ||
469 | CONFIG_BT_RFCOMM_TTY=y | ||
470 | CONFIG_BT_BNEP=m | ||
471 | CONFIG_BT_BNEP_MC_FILTER=y | ||
472 | CONFIG_BT_BNEP_PROTO_FILTER=y | ||
473 | CONFIG_BT_HIDP=m | ||
474 | |||
475 | # | ||
476 | # Bluetooth device drivers | ||
477 | # | ||
478 | CONFIG_BT_HCIBTUSB=m | ||
479 | CONFIG_BT_HCIBTSDIO=m | ||
480 | CONFIG_BT_HCIUART=m | ||
481 | CONFIG_BT_HCIUART_H4=y | ||
482 | CONFIG_BT_HCIUART_BCSP=y | ||
483 | CONFIG_BT_HCIUART_LL=y | ||
484 | CONFIG_BT_HCIBCM203X=m | ||
485 | CONFIG_BT_HCIBPA10X=m | ||
486 | CONFIG_BT_HCIBFUSB=m | ||
487 | CONFIG_BT_HCIVHCI=m | ||
488 | # CONFIG_AF_RXRPC is not set | ||
489 | CONFIG_FIB_RULES=y | ||
490 | CONFIG_WIRELESS=y | ||
491 | CONFIG_CFG80211=m | ||
492 | CONFIG_CFG80211_REG_DEBUG=y | ||
493 | CONFIG_WIRELESS_OLD_REGULATORY=y | ||
494 | CONFIG_WIRELESS_EXT=y | ||
495 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
496 | CONFIG_LIB80211=m | ||
497 | CONFIG_LIB80211_CRYPT_WEP=m | ||
498 | CONFIG_LIB80211_CRYPT_CCMP=m | ||
499 | CONFIG_LIB80211_CRYPT_TKIP=m | ||
500 | # CONFIG_LIB80211_DEBUG is not set | ||
501 | CONFIG_MAC80211=m | ||
502 | |||
503 | # | ||
504 | # Rate control algorithm selection | ||
505 | # | ||
506 | CONFIG_MAC80211_RC_MINSTREL=y | ||
507 | # CONFIG_MAC80211_RC_DEFAULT_PID is not set | ||
508 | CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y | ||
509 | CONFIG_MAC80211_RC_DEFAULT="minstrel" | ||
510 | CONFIG_MAC80211_MESH=y | ||
511 | CONFIG_MAC80211_LEDS=y | ||
512 | # CONFIG_MAC80211_DEBUGFS is not set | ||
513 | # CONFIG_MAC80211_DEBUG_MENU is not set | ||
514 | # CONFIG_WIMAX is not set | ||
515 | # CONFIG_RFKILL is not set | ||
516 | # CONFIG_NET_9P is not set | ||
517 | |||
518 | # | ||
519 | # Device Drivers | ||
520 | # | ||
521 | |||
522 | # | ||
523 | # Generic Driver Options | ||
524 | # | ||
525 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
526 | CONFIG_STANDALONE=y | ||
527 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
528 | CONFIG_FW_LOADER=y | ||
529 | # CONFIG_FIRMWARE_IN_KERNEL is not set | ||
530 | CONFIG_EXTRA_FIRMWARE="" | ||
531 | # CONFIG_DEBUG_DRIVER is not set | ||
532 | # CONFIG_DEBUG_DEVRES is not set | ||
533 | # CONFIG_SYS_HYPERVISOR is not set | ||
534 | CONFIG_CONNECTOR=m | ||
535 | CONFIG_MTD=y | ||
536 | # CONFIG_MTD_DEBUG is not set | ||
537 | CONFIG_MTD_CONCAT=y | ||
538 | CONFIG_MTD_PARTITIONS=y | ||
539 | # CONFIG_MTD_TESTS is not set | ||
540 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
541 | CONFIG_MTD_CMDLINE_PARTS=y | ||
542 | # CONFIG_MTD_AFS_PARTS is not set | ||
543 | # CONFIG_MTD_AR7_PARTS is not set | ||
544 | |||
545 | # | ||
546 | # User Modules And Translation Layers | ||
547 | # | ||
548 | CONFIG_MTD_CHAR=y | ||
549 | CONFIG_MTD_BLKDEVS=y | ||
550 | CONFIG_MTD_BLOCK=y | ||
551 | CONFIG_FTL=y | ||
552 | CONFIG_NFTL=y | ||
553 | CONFIG_NFTL_RW=y | ||
554 | CONFIG_INFTL=y | ||
555 | CONFIG_RFD_FTL=y | ||
556 | # CONFIG_SSFDC is not set | ||
557 | # CONFIG_MTD_OOPS is not set | ||
558 | |||
559 | # | ||
560 | # RAM/ROM/Flash chip drivers | ||
561 | # | ||
562 | CONFIG_MTD_CFI=y | ||
563 | CONFIG_MTD_JEDECPROBE=y | ||
564 | CONFIG_MTD_GEN_PROBE=y | ||
565 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
566 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
567 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
568 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
569 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
570 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
571 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
572 | CONFIG_MTD_CFI_I1=y | ||
573 | CONFIG_MTD_CFI_I2=y | ||
574 | # CONFIG_MTD_CFI_I4 is not set | ||
575 | # CONFIG_MTD_CFI_I8 is not set | ||
576 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
577 | CONFIG_MTD_CFI_AMDSTD=y | ||
578 | CONFIG_MTD_CFI_STAA=y | ||
579 | CONFIG_MTD_CFI_UTIL=y | ||
580 | CONFIG_MTD_RAM=y | ||
581 | CONFIG_MTD_ROM=y | ||
582 | # CONFIG_MTD_ABSENT is not set | ||
583 | |||
584 | # | ||
585 | # Mapping drivers for chip access | ||
586 | # | ||
587 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
588 | # CONFIG_MTD_PHYSMAP is not set | ||
589 | # CONFIG_MTD_ARM_INTEGRATOR is not set | ||
590 | # CONFIG_MTD_IMPA7 is not set | ||
591 | # CONFIG_MTD_PLATRAM is not set | ||
592 | |||
593 | # | ||
594 | # Self-contained MTD device drivers | ||
595 | # | ||
596 | # CONFIG_MTD_DATAFLASH is not set | ||
597 | # CONFIG_MTD_M25P80 is not set | ||
598 | # CONFIG_MTD_SLRAM is not set | ||
599 | # CONFIG_MTD_PHRAM is not set | ||
600 | # CONFIG_MTD_MTDRAM is not set | ||
601 | # CONFIG_MTD_BLOCK2MTD is not set | ||
602 | |||
603 | # | ||
604 | # Disk-On-Chip Device Drivers | ||
605 | # | ||
606 | # CONFIG_MTD_DOC2000 is not set | ||
607 | # CONFIG_MTD_DOC2001 is not set | ||
608 | # CONFIG_MTD_DOC2001PLUS is not set | ||
609 | CONFIG_MTD_NAND=y | ||
610 | CONFIG_MTD_NAND_VERIFY_WRITE=y | ||
611 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
612 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
613 | # CONFIG_MTD_NAND_GPIO is not set | ||
614 | CONFIG_MTD_NAND_IDS=y | ||
615 | CONFIG_MTD_NAND_S3C2410=y | ||
616 | # CONFIG_MTD_NAND_S3C2410_DEBUG is not set | ||
617 | # CONFIG_MTD_NAND_S3C2410_HWECC is not set | ||
618 | # CONFIG_MTD_NAND_S3C2410_CLKSTOP is not set | ||
619 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
620 | # CONFIG_MTD_NAND_NANDSIM is not set | ||
621 | CONFIG_MTD_NAND_PLATFORM=y | ||
622 | # CONFIG_MTD_ALAUDA is not set | ||
623 | # CONFIG_MTD_ONENAND is not set | ||
624 | |||
625 | # | ||
626 | # LPDDR flash memory drivers | ||
627 | # | ||
628 | CONFIG_MTD_LPDDR=y | ||
629 | CONFIG_MTD_QINFO_PROBE=y | ||
630 | |||
631 | # | ||
632 | # UBI - Unsorted block images | ||
633 | # | ||
634 | # CONFIG_MTD_UBI is not set | ||
635 | # CONFIG_PARPORT is not set | ||
636 | CONFIG_BLK_DEV=y | ||
637 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
638 | CONFIG_BLK_DEV_LOOP=m | ||
639 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
640 | CONFIG_BLK_DEV_NBD=m | ||
641 | # CONFIG_BLK_DEV_UB is not set | ||
642 | CONFIG_BLK_DEV_RAM=y | ||
643 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
644 | CONFIG_BLK_DEV_RAM_SIZE=65536 | ||
645 | # CONFIG_BLK_DEV_XIP is not set | ||
646 | CONFIG_CDROM_PKTCDVD=m | ||
647 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | ||
648 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | ||
649 | # CONFIG_ATA_OVER_ETH is not set | ||
650 | CONFIG_MISC_DEVICES=y | ||
651 | # CONFIG_ICS932S401 is not set | ||
652 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
653 | # CONFIG_ISL29003 is not set | ||
654 | # CONFIG_C2PORT is not set | ||
655 | |||
656 | # | ||
657 | # EEPROM support | ||
658 | # | ||
659 | CONFIG_EEPROM_AT24=y | ||
660 | # CONFIG_EEPROM_AT25 is not set | ||
661 | # CONFIG_EEPROM_LEGACY is not set | ||
662 | # CONFIG_EEPROM_93CX6 is not set | ||
663 | CONFIG_HAVE_IDE=y | ||
664 | # CONFIG_IDE is not set | ||
665 | |||
666 | # | ||
667 | # SCSI device support | ||
668 | # | ||
669 | # CONFIG_RAID_ATTRS is not set | ||
670 | CONFIG_SCSI=m | ||
671 | CONFIG_SCSI_DMA=y | ||
672 | # CONFIG_SCSI_TGT is not set | ||
673 | # CONFIG_SCSI_NETLINK is not set | ||
674 | # CONFIG_SCSI_PROC_FS is not set | ||
675 | |||
676 | # | ||
677 | # SCSI support type (disk, tape, CD-ROM) | ||
678 | # | ||
679 | CONFIG_BLK_DEV_SD=m | ||
680 | # CONFIG_CHR_DEV_ST is not set | ||
681 | # CONFIG_CHR_DEV_OSST is not set | ||
682 | # CONFIG_BLK_DEV_SR is not set | ||
683 | CONFIG_CHR_DEV_SG=m | ||
684 | # CONFIG_CHR_DEV_SCH is not set | ||
685 | |||
686 | # | ||
687 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
688 | # | ||
689 | # CONFIG_SCSI_MULTI_LUN is not set | ||
690 | # CONFIG_SCSI_CONSTANTS is not set | ||
691 | # CONFIG_SCSI_LOGGING is not set | ||
692 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
693 | CONFIG_SCSI_WAIT_SCAN=m | ||
694 | |||
695 | # | ||
696 | # SCSI Transports | ||
697 | # | ||
698 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
699 | # CONFIG_SCSI_FC_ATTRS is not set | ||
700 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
701 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
702 | # CONFIG_SCSI_SRP_ATTRS is not set | ||
703 | # CONFIG_SCSI_LOWLEVEL is not set | ||
704 | # CONFIG_SCSI_DH is not set | ||
705 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
706 | # CONFIG_ATA is not set | ||
707 | # CONFIG_MD is not set | ||
708 | CONFIG_NETDEVICES=y | ||
709 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
710 | # CONFIG_DUMMY is not set | ||
711 | # CONFIG_BONDING is not set | ||
712 | # CONFIG_MACVLAN is not set | ||
713 | # CONFIG_EQUALIZER is not set | ||
714 | CONFIG_TUN=m | ||
715 | # CONFIG_VETH is not set | ||
716 | # CONFIG_PHYLIB is not set | ||
717 | CONFIG_NET_ETHERNET=y | ||
718 | CONFIG_MII=y | ||
719 | # CONFIG_AX88796 is not set | ||
720 | # CONFIG_SMC91X is not set | ||
721 | CONFIG_DM9000=y | ||
722 | CONFIG_DM9000_DEBUGLEVEL=4 | ||
723 | # CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL is not set | ||
724 | # CONFIG_ENC28J60 is not set | ||
725 | # CONFIG_ETHOC is not set | ||
726 | # CONFIG_SMC911X is not set | ||
727 | # CONFIG_SMSC911X is not set | ||
728 | # CONFIG_DNET is not set | ||
729 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
730 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
731 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
732 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
733 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
734 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
735 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
736 | # CONFIG_B44 is not set | ||
737 | # CONFIG_NETDEV_1000 is not set | ||
738 | # CONFIG_NETDEV_10000 is not set | ||
739 | |||
740 | # | ||
741 | # Wireless LAN | ||
742 | # | ||
743 | # CONFIG_WLAN_PRE80211 is not set | ||
744 | CONFIG_WLAN_80211=y | ||
745 | CONFIG_LIBERTAS=m | ||
746 | # CONFIG_LIBERTAS_USB is not set | ||
747 | CONFIG_LIBERTAS_SDIO=m | ||
748 | # CONFIG_LIBERTAS_SPI is not set | ||
749 | # CONFIG_LIBERTAS_DEBUG is not set | ||
750 | # CONFIG_LIBERTAS_THINFIRM is not set | ||
751 | # CONFIG_AT76C50X_USB is not set | ||
752 | # CONFIG_USB_ZD1201 is not set | ||
753 | # CONFIG_USB_NET_RNDIS_WLAN is not set | ||
754 | # CONFIG_RTL8187 is not set | ||
755 | # CONFIG_MAC80211_HWSIM is not set | ||
756 | # CONFIG_P54_COMMON is not set | ||
757 | # CONFIG_AR9170_USB is not set | ||
758 | CONFIG_HOSTAP=m | ||
759 | CONFIG_HOSTAP_FIRMWARE=y | ||
760 | CONFIG_HOSTAP_FIRMWARE_NVRAM=y | ||
761 | # CONFIG_B43 is not set | ||
762 | # CONFIG_B43LEGACY is not set | ||
763 | CONFIG_ZD1211RW=m | ||
764 | CONFIG_ZD1211RW_DEBUG=y | ||
765 | # CONFIG_RT2X00 is not set | ||
766 | |||
767 | # | ||
768 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
769 | # | ||
770 | |||
771 | # | ||
772 | # USB Network Adapters | ||
773 | # | ||
774 | # CONFIG_USB_CATC is not set | ||
775 | # CONFIG_USB_KAWETH is not set | ||
776 | # CONFIG_USB_PEGASUS is not set | ||
777 | # CONFIG_USB_RTL8150 is not set | ||
778 | # CONFIG_USB_USBNET is not set | ||
779 | # CONFIG_WAN is not set | ||
780 | CONFIG_PPP=m | ||
781 | CONFIG_PPP_MULTILINK=y | ||
782 | CONFIG_PPP_FILTER=y | ||
783 | CONFIG_PPP_ASYNC=m | ||
784 | CONFIG_PPP_SYNC_TTY=m | ||
785 | CONFIG_PPP_DEFLATE=m | ||
786 | CONFIG_PPP_BSDCOMP=m | ||
787 | CONFIG_PPP_MPPE=m | ||
788 | # CONFIG_PPPOE is not set | ||
789 | # CONFIG_PPPOL2TP is not set | ||
790 | # CONFIG_SLIP is not set | ||
791 | CONFIG_SLHC=m | ||
792 | # CONFIG_NETCONSOLE is not set | ||
793 | # CONFIG_NETPOLL is not set | ||
794 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
795 | # CONFIG_ISDN is not set | ||
796 | |||
797 | # | ||
798 | # Input device support | ||
799 | # | ||
800 | CONFIG_INPUT=y | ||
801 | CONFIG_INPUT_FF_MEMLESS=y | ||
802 | # CONFIG_INPUT_POLLDEV is not set | ||
803 | |||
804 | # | ||
805 | # Userland interfaces | ||
806 | # | ||
807 | CONFIG_INPUT_MOUSEDEV=y | ||
808 | CONFIG_INPUT_MOUSEDEV_PSAUX=y | ||
809 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
810 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
811 | # CONFIG_INPUT_JOYDEV is not set | ||
812 | CONFIG_INPUT_EVDEV=y | ||
813 | CONFIG_INPUT_EVBUG=m | ||
814 | |||
815 | # | ||
816 | # Input Device Drivers | ||
817 | # | ||
818 | CONFIG_INPUT_KEYBOARD=y | ||
819 | # CONFIG_KEYBOARD_ATKBD is not set | ||
820 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
821 | # CONFIG_KEYBOARD_LKKBD is not set | ||
822 | # CONFIG_KEYBOARD_XTKBD is not set | ||
823 | # CONFIG_KEYBOARD_NEWTON is not set | ||
824 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
825 | CONFIG_KEYBOARD_GPIO=y | ||
826 | CONFIG_INPUT_MOUSE=y | ||
827 | CONFIG_MOUSE_PS2=y | ||
828 | CONFIG_MOUSE_PS2_ALPS=y | ||
829 | CONFIG_MOUSE_PS2_LOGIPS2PP=y | ||
830 | CONFIG_MOUSE_PS2_SYNAPTICS=y | ||
831 | CONFIG_MOUSE_PS2_TRACKPOINT=y | ||
832 | # CONFIG_MOUSE_PS2_ELANTECH is not set | ||
833 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set | ||
834 | # CONFIG_MOUSE_SERIAL is not set | ||
835 | # CONFIG_MOUSE_APPLETOUCH is not set | ||
836 | # CONFIG_MOUSE_BCM5974 is not set | ||
837 | # CONFIG_MOUSE_VSXXXAA is not set | ||
838 | # CONFIG_MOUSE_GPIO is not set | ||
839 | # CONFIG_INPUT_JOYSTICK is not set | ||
840 | # CONFIG_INPUT_TABLET is not set | ||
841 | CONFIG_INPUT_TOUCHSCREEN=y | ||
842 | # CONFIG_TOUCHSCREEN_ADS7846 is not set | ||
843 | # CONFIG_TOUCHSCREEN_AD7877 is not set | ||
844 | # CONFIG_TOUCHSCREEN_AD7879_I2C is not set | ||
845 | # CONFIG_TOUCHSCREEN_AD7879_SPI is not set | ||
846 | # CONFIG_TOUCHSCREEN_AD7879 is not set | ||
847 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | ||
848 | # CONFIG_TOUCHSCREEN_GUNZE is not set | ||
849 | # CONFIG_TOUCHSCREEN_ELO is not set | ||
850 | # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set | ||
851 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | ||
852 | # CONFIG_TOUCHSCREEN_INEXIO is not set | ||
853 | # CONFIG_TOUCHSCREEN_MK712 is not set | ||
854 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set | ||
855 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set | ||
856 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set | ||
857 | # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set | ||
858 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set | ||
859 | # CONFIG_TOUCHSCREEN_TSC2007 is not set | ||
860 | # CONFIG_INPUT_MISC is not set | ||
861 | |||
862 | # | ||
863 | # Hardware I/O ports | ||
864 | # | ||
865 | CONFIG_SERIO=y | ||
866 | CONFIG_SERIO_SERPORT=y | ||
867 | CONFIG_SERIO_LIBPS2=y | ||
868 | CONFIG_SERIO_RAW=y | ||
869 | # CONFIG_GAMEPORT is not set | ||
870 | |||
871 | # | ||
872 | # Character devices | ||
873 | # | ||
874 | CONFIG_VT=y | ||
875 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
876 | CONFIG_VT_CONSOLE=y | ||
877 | CONFIG_HW_CONSOLE=y | ||
878 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
879 | CONFIG_DEVKMEM=y | ||
880 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
881 | |||
882 | # | ||
883 | # Serial drivers | ||
884 | # | ||
885 | # CONFIG_SERIAL_8250 is not set | ||
886 | |||
887 | # | ||
888 | # Non-8250 serial port support | ||
889 | # | ||
890 | CONFIG_SERIAL_SAMSUNG=y | ||
891 | CONFIG_SERIAL_SAMSUNG_UARTS=3 | ||
892 | CONFIG_SERIAL_SAMSUNG_CONSOLE=y | ||
893 | CONFIG_SERIAL_S3C2440=y | ||
894 | # CONFIG_SERIAL_MAX3100 is not set | ||
895 | CONFIG_SERIAL_CORE=y | ||
896 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
897 | CONFIG_UNIX98_PTYS=y | ||
898 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
899 | CONFIG_LEGACY_PTYS=y | ||
900 | CONFIG_LEGACY_PTY_COUNT=128 | ||
901 | CONFIG_IPMI_HANDLER=m | ||
902 | # CONFIG_IPMI_PANIC_EVENT is not set | ||
903 | CONFIG_IPMI_DEVICE_INTERFACE=m | ||
904 | CONFIG_IPMI_SI=m | ||
905 | CONFIG_IPMI_WATCHDOG=m | ||
906 | CONFIG_IPMI_POWEROFF=m | ||
907 | CONFIG_HW_RANDOM=y | ||
908 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
909 | # CONFIG_R3964 is not set | ||
910 | # CONFIG_RAW_DRIVER is not set | ||
911 | # CONFIG_TCG_TPM is not set | ||
912 | CONFIG_I2C=y | ||
913 | CONFIG_I2C_BOARDINFO=y | ||
914 | CONFIG_I2C_CHARDEV=y | ||
915 | CONFIG_I2C_HELPER_AUTO=y | ||
916 | CONFIG_I2C_ALGOBIT=y | ||
917 | |||
918 | # | ||
919 | # I2C Hardware Bus support | ||
920 | # | ||
921 | |||
922 | # | ||
923 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
924 | # | ||
925 | # CONFIG_I2C_GPIO is not set | ||
926 | # CONFIG_I2C_OCORES is not set | ||
927 | CONFIG_I2C_S3C2410=y | ||
928 | CONFIG_I2C_SIMTEC=y | ||
929 | |||
930 | # | ||
931 | # External I2C/SMBus adapter drivers | ||
932 | # | ||
933 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
934 | # CONFIG_I2C_TAOS_EVM is not set | ||
935 | # CONFIG_I2C_TINY_USB is not set | ||
936 | |||
937 | # | ||
938 | # Other I2C/SMBus bus drivers | ||
939 | # | ||
940 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
941 | # CONFIG_I2C_STUB is not set | ||
942 | |||
943 | # | ||
944 | # Miscellaneous I2C Chip support | ||
945 | # | ||
946 | # CONFIG_DS1682 is not set | ||
947 | # CONFIG_SENSORS_PCF8574 is not set | ||
948 | # CONFIG_PCF8575 is not set | ||
949 | # CONFIG_SENSORS_PCA9539 is not set | ||
950 | # CONFIG_SENSORS_MAX6875 is not set | ||
951 | CONFIG_SENSORS_TSL2550=m | ||
952 | # CONFIG_I2C_DEBUG_CORE is not set | ||
953 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
954 | # CONFIG_I2C_DEBUG_BUS is not set | ||
955 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
956 | CONFIG_SPI=y | ||
957 | # CONFIG_SPI_DEBUG is not set | ||
958 | CONFIG_SPI_MASTER=y | ||
959 | |||
960 | # | ||
961 | # SPI Master Controller Drivers | ||
962 | # | ||
963 | CONFIG_SPI_BITBANG=y | ||
964 | # CONFIG_SPI_GPIO is not set | ||
965 | CONFIG_SPI_S3C24XX=y | ||
966 | # CONFIG_SPI_S3C24XX_GPIO is not set | ||
967 | |||
968 | # | ||
969 | # SPI Protocol Masters | ||
970 | # | ||
971 | CONFIG_SPI_SPIDEV=y | ||
972 | # CONFIG_SPI_TLE62X0 is not set | ||
973 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | ||
974 | CONFIG_GPIOLIB=y | ||
975 | # CONFIG_DEBUG_GPIO is not set | ||
976 | CONFIG_GPIO_SYSFS=y | ||
977 | |||
978 | # | ||
979 | # Memory mapped GPIO expanders: | ||
980 | # | ||
981 | |||
982 | # | ||
983 | # I2C GPIO expanders: | ||
984 | # | ||
985 | # CONFIG_GPIO_MAX732X is not set | ||
986 | # CONFIG_GPIO_PCA953X is not set | ||
987 | # CONFIG_GPIO_PCF857X is not set | ||
988 | |||
989 | # | ||
990 | # PCI GPIO expanders: | ||
991 | # | ||
992 | |||
993 | # | ||
994 | # SPI GPIO expanders: | ||
995 | # | ||
996 | # CONFIG_GPIO_MAX7301 is not set | ||
997 | # CONFIG_GPIO_MCP23S08 is not set | ||
998 | # CONFIG_W1 is not set | ||
999 | # CONFIG_POWER_SUPPLY is not set | ||
1000 | CONFIG_HWMON=y | ||
1001 | # CONFIG_HWMON_VID is not set | ||
1002 | # CONFIG_SENSORS_AD7414 is not set | ||
1003 | # CONFIG_SENSORS_AD7418 is not set | ||
1004 | # CONFIG_SENSORS_ADCXX is not set | ||
1005 | # CONFIG_SENSORS_ADM1021 is not set | ||
1006 | # CONFIG_SENSORS_ADM1025 is not set | ||
1007 | # CONFIG_SENSORS_ADM1026 is not set | ||
1008 | # CONFIG_SENSORS_ADM1029 is not set | ||
1009 | # CONFIG_SENSORS_ADM1031 is not set | ||
1010 | # CONFIG_SENSORS_ADM9240 is not set | ||
1011 | # CONFIG_SENSORS_ADT7462 is not set | ||
1012 | # CONFIG_SENSORS_ADT7470 is not set | ||
1013 | # CONFIG_SENSORS_ADT7473 is not set | ||
1014 | # CONFIG_SENSORS_ADT7475 is not set | ||
1015 | # CONFIG_SENSORS_ATXP1 is not set | ||
1016 | # CONFIG_SENSORS_DS1621 is not set | ||
1017 | # CONFIG_SENSORS_F71805F is not set | ||
1018 | # CONFIG_SENSORS_F71882FG is not set | ||
1019 | # CONFIG_SENSORS_F75375S is not set | ||
1020 | # CONFIG_SENSORS_G760A is not set | ||
1021 | # CONFIG_SENSORS_GL518SM is not set | ||
1022 | # CONFIG_SENSORS_GL520SM is not set | ||
1023 | # CONFIG_SENSORS_IBMAEM is not set | ||
1024 | # CONFIG_SENSORS_IBMPEX is not set | ||
1025 | # CONFIG_SENSORS_IT87 is not set | ||
1026 | # CONFIG_SENSORS_LM63 is not set | ||
1027 | # CONFIG_SENSORS_LM70 is not set | ||
1028 | CONFIG_SENSORS_LM75=y | ||
1029 | # CONFIG_SENSORS_LM77 is not set | ||
1030 | # CONFIG_SENSORS_LM78 is not set | ||
1031 | # CONFIG_SENSORS_LM80 is not set | ||
1032 | # CONFIG_SENSORS_LM83 is not set | ||
1033 | # CONFIG_SENSORS_LM85 is not set | ||
1034 | # CONFIG_SENSORS_LM87 is not set | ||
1035 | # CONFIG_SENSORS_LM90 is not set | ||
1036 | # CONFIG_SENSORS_LM92 is not set | ||
1037 | # CONFIG_SENSORS_LM93 is not set | ||
1038 | # CONFIG_SENSORS_LTC4215 is not set | ||
1039 | # CONFIG_SENSORS_LTC4245 is not set | ||
1040 | # CONFIG_SENSORS_LM95241 is not set | ||
1041 | # CONFIG_SENSORS_MAX1111 is not set | ||
1042 | # CONFIG_SENSORS_MAX1619 is not set | ||
1043 | # CONFIG_SENSORS_MAX6650 is not set | ||
1044 | # CONFIG_SENSORS_PC87360 is not set | ||
1045 | # CONFIG_SENSORS_PC87427 is not set | ||
1046 | # CONFIG_SENSORS_PCF8591 is not set | ||
1047 | # CONFIG_SENSORS_SHT15 is not set | ||
1048 | # CONFIG_SENSORS_DME1737 is not set | ||
1049 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
1050 | # CONFIG_SENSORS_SMSC47M192 is not set | ||
1051 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
1052 | # CONFIG_SENSORS_ADS7828 is not set | ||
1053 | # CONFIG_SENSORS_THMC50 is not set | ||
1054 | # CONFIG_SENSORS_VT1211 is not set | ||
1055 | # CONFIG_SENSORS_W83781D is not set | ||
1056 | # CONFIG_SENSORS_W83791D is not set | ||
1057 | # CONFIG_SENSORS_W83792D is not set | ||
1058 | # CONFIG_SENSORS_W83793 is not set | ||
1059 | # CONFIG_SENSORS_W83L785TS is not set | ||
1060 | # CONFIG_SENSORS_W83L786NG is not set | ||
1061 | # CONFIG_SENSORS_W83627HF is not set | ||
1062 | # CONFIG_SENSORS_W83627EHF is not set | ||
1063 | # CONFIG_SENSORS_LIS3_SPI is not set | ||
1064 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
1065 | CONFIG_THERMAL=m | ||
1066 | # CONFIG_THERMAL_HWMON is not set | ||
1067 | CONFIG_WATCHDOG=y | ||
1068 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
1069 | |||
1070 | # | ||
1071 | # Watchdog Device Drivers | ||
1072 | # | ||
1073 | # CONFIG_SOFT_WATCHDOG is not set | ||
1074 | CONFIG_S3C2410_WATCHDOG=y | ||
1075 | |||
1076 | # | ||
1077 | # USB-based Watchdog Cards | ||
1078 | # | ||
1079 | # CONFIG_USBPCWATCHDOG is not set | ||
1080 | CONFIG_SSB_POSSIBLE=y | ||
1081 | |||
1082 | # | ||
1083 | # Sonics Silicon Backplane | ||
1084 | # | ||
1085 | # CONFIG_SSB is not set | ||
1086 | |||
1087 | # | ||
1088 | # Multifunction device drivers | ||
1089 | # | ||
1090 | # CONFIG_MFD_CORE is not set | ||
1091 | # CONFIG_MFD_SM501 is not set | ||
1092 | # CONFIG_MFD_ASIC3 is not set | ||
1093 | # CONFIG_HTC_EGPIO is not set | ||
1094 | # CONFIG_HTC_PASIC3 is not set | ||
1095 | # CONFIG_TPS65010 is not set | ||
1096 | # CONFIG_TWL4030_CORE is not set | ||
1097 | # CONFIG_MFD_TMIO is not set | ||
1098 | # CONFIG_MFD_T7L66XB is not set | ||
1099 | # CONFIG_MFD_TC6387XB is not set | ||
1100 | # CONFIG_MFD_TC6393XB is not set | ||
1101 | # CONFIG_PMIC_DA903X is not set | ||
1102 | # CONFIG_MFD_WM8400 is not set | ||
1103 | # CONFIG_MFD_WM8350_I2C is not set | ||
1104 | # CONFIG_MFD_PCF50633 is not set | ||
1105 | |||
1106 | # | ||
1107 | # Multimedia devices | ||
1108 | # | ||
1109 | |||
1110 | # | ||
1111 | # Multimedia core support | ||
1112 | # | ||
1113 | CONFIG_VIDEO_DEV=m | ||
1114 | CONFIG_VIDEO_V4L2_COMMON=m | ||
1115 | CONFIG_VIDEO_ALLOW_V4L1=y | ||
1116 | CONFIG_VIDEO_V4L1_COMPAT=y | ||
1117 | CONFIG_DVB_CORE=m | ||
1118 | CONFIG_VIDEO_MEDIA=m | ||
1119 | |||
1120 | # | ||
1121 | # Multimedia drivers | ||
1122 | # | ||
1123 | # CONFIG_MEDIA_ATTACH is not set | ||
1124 | CONFIG_MEDIA_TUNER=m | ||
1125 | # CONFIG_MEDIA_TUNER_CUSTOMISE is not set | ||
1126 | CONFIG_MEDIA_TUNER_SIMPLE=m | ||
1127 | CONFIG_MEDIA_TUNER_TDA8290=m | ||
1128 | CONFIG_MEDIA_TUNER_TDA9887=m | ||
1129 | CONFIG_MEDIA_TUNER_TEA5761=m | ||
1130 | CONFIG_MEDIA_TUNER_TEA5767=m | ||
1131 | CONFIG_MEDIA_TUNER_MT20XX=m | ||
1132 | CONFIG_MEDIA_TUNER_XC2028=m | ||
1133 | CONFIG_MEDIA_TUNER_XC5000=m | ||
1134 | CONFIG_MEDIA_TUNER_MC44S803=m | ||
1135 | CONFIG_VIDEO_V4L2=m | ||
1136 | CONFIG_VIDEO_V4L1=m | ||
1137 | CONFIG_VIDEOBUF_GEN=m | ||
1138 | CONFIG_VIDEO_CAPTURE_DRIVERS=y | ||
1139 | # CONFIG_VIDEO_ADV_DEBUG is not set | ||
1140 | # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set | ||
1141 | CONFIG_VIDEO_HELPER_CHIPS_AUTO=y | ||
1142 | # CONFIG_VIDEO_VIVI is not set | ||
1143 | # CONFIG_VIDEO_CPIA is not set | ||
1144 | # CONFIG_VIDEO_CPIA2 is not set | ||
1145 | # CONFIG_VIDEO_SAA5246A is not set | ||
1146 | # CONFIG_VIDEO_SAA5249 is not set | ||
1147 | # CONFIG_VIDEO_AU0828 is not set | ||
1148 | CONFIG_SOC_CAMERA=m | ||
1149 | # CONFIG_SOC_CAMERA_MT9M001 is not set | ||
1150 | # CONFIG_SOC_CAMERA_MT9M111 is not set | ||
1151 | # CONFIG_SOC_CAMERA_MT9T031 is not set | ||
1152 | # CONFIG_SOC_CAMERA_MT9V022 is not set | ||
1153 | # CONFIG_SOC_CAMERA_TW9910 is not set | ||
1154 | CONFIG_SOC_CAMERA_PLATFORM=m | ||
1155 | # CONFIG_SOC_CAMERA_OV772X is not set | ||
1156 | # CONFIG_VIDEO_SH_MOBILE_CEU is not set | ||
1157 | CONFIG_V4L_USB_DRIVERS=y | ||
1158 | # CONFIG_USB_VIDEO_CLASS is not set | ||
1159 | CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y | ||
1160 | CONFIG_USB_GSPCA=m | ||
1161 | # CONFIG_USB_M5602 is not set | ||
1162 | # CONFIG_USB_STV06XX is not set | ||
1163 | # CONFIG_USB_GSPCA_CONEX is not set | ||
1164 | # CONFIG_USB_GSPCA_ETOMS is not set | ||
1165 | # CONFIG_USB_GSPCA_FINEPIX is not set | ||
1166 | # CONFIG_USB_GSPCA_MARS is not set | ||
1167 | # CONFIG_USB_GSPCA_MR97310A is not set | ||
1168 | # CONFIG_USB_GSPCA_OV519 is not set | ||
1169 | # CONFIG_USB_GSPCA_OV534 is not set | ||
1170 | # CONFIG_USB_GSPCA_PAC207 is not set | ||
1171 | # CONFIG_USB_GSPCA_PAC7311 is not set | ||
1172 | # CONFIG_USB_GSPCA_SONIXB is not set | ||
1173 | # CONFIG_USB_GSPCA_SONIXJ is not set | ||
1174 | # CONFIG_USB_GSPCA_SPCA500 is not set | ||
1175 | # CONFIG_USB_GSPCA_SPCA501 is not set | ||
1176 | # CONFIG_USB_GSPCA_SPCA505 is not set | ||
1177 | # CONFIG_USB_GSPCA_SPCA506 is not set | ||
1178 | # CONFIG_USB_GSPCA_SPCA508 is not set | ||
1179 | # CONFIG_USB_GSPCA_SPCA561 is not set | ||
1180 | # CONFIG_USB_GSPCA_SQ905 is not set | ||
1181 | # CONFIG_USB_GSPCA_SQ905C is not set | ||
1182 | # CONFIG_USB_GSPCA_STK014 is not set | ||
1183 | # CONFIG_USB_GSPCA_SUNPLUS is not set | ||
1184 | # CONFIG_USB_GSPCA_T613 is not set | ||
1185 | # CONFIG_USB_GSPCA_TV8532 is not set | ||
1186 | # CONFIG_USB_GSPCA_VC032X is not set | ||
1187 | CONFIG_USB_GSPCA_ZC3XX=m | ||
1188 | # CONFIG_VIDEO_PVRUSB2 is not set | ||
1189 | # CONFIG_VIDEO_HDPVR is not set | ||
1190 | # CONFIG_VIDEO_EM28XX is not set | ||
1191 | # CONFIG_VIDEO_CX231XX is not set | ||
1192 | # CONFIG_VIDEO_USBVISION is not set | ||
1193 | # CONFIG_USB_VICAM is not set | ||
1194 | # CONFIG_USB_IBMCAM is not set | ||
1195 | # CONFIG_USB_KONICAWC is not set | ||
1196 | # CONFIG_USB_QUICKCAM_MESSENGER is not set | ||
1197 | # CONFIG_USB_ET61X251 is not set | ||
1198 | # CONFIG_VIDEO_OVCAMCHIP is not set | ||
1199 | # CONFIG_USB_OV511 is not set | ||
1200 | # CONFIG_USB_SE401 is not set | ||
1201 | # CONFIG_USB_SN9C102 is not set | ||
1202 | # CONFIG_USB_STV680 is not set | ||
1203 | # CONFIG_USB_ZC0301 is not set | ||
1204 | # CONFIG_USB_PWC is not set | ||
1205 | # CONFIG_USB_PWC_INPUT_EVDEV is not set | ||
1206 | # CONFIG_USB_ZR364XX is not set | ||
1207 | # CONFIG_USB_STKWEBCAM is not set | ||
1208 | # CONFIG_USB_S2255 is not set | ||
1209 | CONFIG_RADIO_ADAPTERS=y | ||
1210 | # CONFIG_USB_DSBR is not set | ||
1211 | # CONFIG_USB_SI470X is not set | ||
1212 | # CONFIG_USB_MR800 is not set | ||
1213 | # CONFIG_RADIO_TEA5764 is not set | ||
1214 | # CONFIG_DVB_DYNAMIC_MINORS is not set | ||
1215 | CONFIG_DVB_CAPTURE_DRIVERS=y | ||
1216 | # CONFIG_TTPCI_EEPROM is not set | ||
1217 | |||
1218 | # | ||
1219 | # Supported USB Adapters | ||
1220 | # | ||
1221 | # CONFIG_DVB_USB is not set | ||
1222 | # CONFIG_DVB_SIANO_SMS1XXX is not set | ||
1223 | |||
1224 | # | ||
1225 | # Supported FlexCopII (B2C2) Adapters | ||
1226 | # | ||
1227 | # CONFIG_DVB_B2C2_FLEXCOP is not set | ||
1228 | |||
1229 | # | ||
1230 | # Supported DVB Frontends | ||
1231 | # | ||
1232 | # CONFIG_DVB_FE_CUSTOMISE is not set | ||
1233 | # CONFIG_DAB is not set | ||
1234 | |||
1235 | # | ||
1236 | # Graphics support | ||
1237 | # | ||
1238 | # CONFIG_VGASTATE is not set | ||
1239 | CONFIG_VIDEO_OUTPUT_CONTROL=y | ||
1240 | CONFIG_FB=y | ||
1241 | CONFIG_FIRMWARE_EDID=y | ||
1242 | # CONFIG_FB_DDC is not set | ||
1243 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
1244 | CONFIG_FB_CFB_FILLRECT=y | ||
1245 | CONFIG_FB_CFB_COPYAREA=y | ||
1246 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
1247 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
1248 | # CONFIG_FB_SYS_FILLRECT is not set | ||
1249 | # CONFIG_FB_SYS_COPYAREA is not set | ||
1250 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
1251 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
1252 | # CONFIG_FB_SYS_FOPS is not set | ||
1253 | # CONFIG_FB_SVGALIB is not set | ||
1254 | # CONFIG_FB_MACMODES is not set | ||
1255 | # CONFIG_FB_BACKLIGHT is not set | ||
1256 | CONFIG_FB_MODE_HELPERS=y | ||
1257 | CONFIG_FB_TILEBLITTING=y | ||
1258 | |||
1259 | # | ||
1260 | # Frame buffer hardware drivers | ||
1261 | # | ||
1262 | # CONFIG_FB_UVESA is not set | ||
1263 | # CONFIG_FB_S1D13XXX is not set | ||
1264 | CONFIG_FB_S3C2410=y | ||
1265 | # CONFIG_FB_S3C2410_DEBUG is not set | ||
1266 | # CONFIG_FB_VIRTUAL is not set | ||
1267 | # CONFIG_FB_METRONOME is not set | ||
1268 | # CONFIG_FB_MB862XX is not set | ||
1269 | # CONFIG_FB_BROADSHEET is not set | ||
1270 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
1271 | CONFIG_LCD_CLASS_DEVICE=y | ||
1272 | # CONFIG_LCD_LTV350QV is not set | ||
1273 | # CONFIG_LCD_ILI9320 is not set | ||
1274 | # CONFIG_LCD_TDO24M is not set | ||
1275 | # CONFIG_LCD_VGG2432A4 is not set | ||
1276 | CONFIG_LCD_PLATFORM=y | ||
1277 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | ||
1278 | # CONFIG_BACKLIGHT_GENERIC is not set | ||
1279 | CONFIG_BACKLIGHT_PWM=y | ||
1280 | |||
1281 | # | ||
1282 | # Display device support | ||
1283 | # | ||
1284 | CONFIG_DISPLAY_SUPPORT=y | ||
1285 | |||
1286 | # | ||
1287 | # Display hardware drivers | ||
1288 | # | ||
1289 | |||
1290 | # | ||
1291 | # Console display driver support | ||
1292 | # | ||
1293 | # CONFIG_VGA_CONSOLE is not set | ||
1294 | CONFIG_DUMMY_CONSOLE=y | ||
1295 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
1296 | CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y | ||
1297 | CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y | ||
1298 | CONFIG_FONTS=y | ||
1299 | CONFIG_FONT_8x8=y | ||
1300 | # CONFIG_FONT_8x16 is not set | ||
1301 | # CONFIG_FONT_6x11 is not set | ||
1302 | # CONFIG_FONT_7x14 is not set | ||
1303 | # CONFIG_FONT_PEARL_8x8 is not set | ||
1304 | # CONFIG_FONT_ACORN_8x8 is not set | ||
1305 | CONFIG_FONT_MINI_4x6=y | ||
1306 | # CONFIG_FONT_SUN8x16 is not set | ||
1307 | # CONFIG_FONT_SUN12x22 is not set | ||
1308 | # CONFIG_FONT_10x18 is not set | ||
1309 | CONFIG_LOGO=y | ||
1310 | # CONFIG_LOGO_LINUX_MONO is not set | ||
1311 | # CONFIG_LOGO_LINUX_VGA16 is not set | ||
1312 | CONFIG_LOGO_LINUX_CLUT224=y | ||
1313 | CONFIG_SOUND=y | ||
1314 | CONFIG_SOUND_OSS_CORE=y | ||
1315 | CONFIG_SND=y | ||
1316 | CONFIG_SND_TIMER=y | ||
1317 | CONFIG_SND_PCM=y | ||
1318 | CONFIG_SND_HWDEP=m | ||
1319 | CONFIG_SND_RAWMIDI=m | ||
1320 | CONFIG_SND_JACK=y | ||
1321 | CONFIG_SND_SEQUENCER=m | ||
1322 | CONFIG_SND_SEQ_DUMMY=m | ||
1323 | CONFIG_SND_OSSEMUL=y | ||
1324 | CONFIG_SND_MIXER_OSS=m | ||
1325 | CONFIG_SND_PCM_OSS=m | ||
1326 | CONFIG_SND_PCM_OSS_PLUGINS=y | ||
1327 | CONFIG_SND_SEQUENCER_OSS=y | ||
1328 | CONFIG_SND_DYNAMIC_MINORS=y | ||
1329 | CONFIG_SND_SUPPORT_OLD_API=y | ||
1330 | CONFIG_SND_VERBOSE_PROCFS=y | ||
1331 | # CONFIG_SND_VERBOSE_PRINTK is not set | ||
1332 | # CONFIG_SND_DEBUG is not set | ||
1333 | # CONFIG_SND_DRIVERS is not set | ||
1334 | # CONFIG_SND_ARM is not set | ||
1335 | # CONFIG_SND_SPI is not set | ||
1336 | CONFIG_SND_USB=y | ||
1337 | CONFIG_SND_USB_AUDIO=m | ||
1338 | CONFIG_SND_USB_CAIAQ=m | ||
1339 | CONFIG_SND_USB_CAIAQ_INPUT=y | ||
1340 | CONFIG_SND_SOC=y | ||
1341 | CONFIG_SND_S3C24XX_SOC=y | ||
1342 | CONFIG_SND_S3C24XX_SOC_I2S=y | ||
1343 | # CONFIG_SND_S3C24XX_SOC_LN2440SBC_ALC650 is not set | ||
1344 | CONFIG_SND_S3C24XX_SOC_S3C24XX_UDA134X=y | ||
1345 | CONFIG_SND_SOC_I2C_AND_SPI=y | ||
1346 | # CONFIG_SND_SOC_ALL_CODECS is not set | ||
1347 | CONFIG_SND_SOC_L3=y | ||
1348 | CONFIG_SND_SOC_UDA134X=y | ||
1349 | # CONFIG_SOUND_PRIME is not set | ||
1350 | CONFIG_HID_SUPPORT=y | ||
1351 | CONFIG_HID=y | ||
1352 | # CONFIG_HID_DEBUG is not set | ||
1353 | CONFIG_HIDRAW=y | ||
1354 | |||
1355 | # | ||
1356 | # USB Input Devices | ||
1357 | # | ||
1358 | CONFIG_USB_HID=y | ||
1359 | CONFIG_HID_PID=y | ||
1360 | CONFIG_USB_HIDDEV=y | ||
1361 | |||
1362 | # | ||
1363 | # Special HID drivers | ||
1364 | # | ||
1365 | CONFIG_HID_A4TECH=y | ||
1366 | CONFIG_HID_APPLE=y | ||
1367 | CONFIG_HID_BELKIN=y | ||
1368 | CONFIG_HID_CHERRY=y | ||
1369 | CONFIG_HID_CHICONY=y | ||
1370 | CONFIG_HID_CYPRESS=y | ||
1371 | # CONFIG_DRAGONRISE_FF is not set | ||
1372 | CONFIG_HID_EZKEY=y | ||
1373 | CONFIG_HID_KYE=y | ||
1374 | CONFIG_HID_GYRATION=y | ||
1375 | CONFIG_HID_KENSINGTON=y | ||
1376 | CONFIG_HID_LOGITECH=y | ||
1377 | # CONFIG_LOGITECH_FF is not set | ||
1378 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | ||
1379 | CONFIG_HID_MICROSOFT=y | ||
1380 | CONFIG_HID_MONTEREY=y | ||
1381 | CONFIG_HID_NTRIG=y | ||
1382 | CONFIG_HID_PANTHERLORD=y | ||
1383 | # CONFIG_PANTHERLORD_FF is not set | ||
1384 | CONFIG_HID_PETALYNX=y | ||
1385 | CONFIG_HID_SAMSUNG=y | ||
1386 | CONFIG_HID_SONY=y | ||
1387 | CONFIG_HID_SUNPLUS=y | ||
1388 | # CONFIG_GREENASIA_FF is not set | ||
1389 | CONFIG_HID_TOPSEED=y | ||
1390 | # CONFIG_THRUSTMASTER_FF is not set | ||
1391 | # CONFIG_ZEROPLUS_FF is not set | ||
1392 | CONFIG_USB_SUPPORT=y | ||
1393 | CONFIG_USB_ARCH_HAS_HCD=y | ||
1394 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
1395 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
1396 | CONFIG_USB=y | ||
1397 | # CONFIG_USB_DEBUG is not set | ||
1398 | # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set | ||
1399 | |||
1400 | # | ||
1401 | # Miscellaneous USB options | ||
1402 | # | ||
1403 | CONFIG_USB_DEVICEFS=y | ||
1404 | # CONFIG_USB_DEVICE_CLASS is not set | ||
1405 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
1406 | # CONFIG_USB_SUSPEND is not set | ||
1407 | # CONFIG_USB_OTG is not set | ||
1408 | # CONFIG_USB_MON is not set | ||
1409 | # CONFIG_USB_WUSB is not set | ||
1410 | # CONFIG_USB_WUSB_CBAF is not set | ||
1411 | |||
1412 | # | ||
1413 | # USB Host Controller Drivers | ||
1414 | # | ||
1415 | # CONFIG_USB_C67X00_HCD is not set | ||
1416 | # CONFIG_USB_OXU210HP_HCD is not set | ||
1417 | # CONFIG_USB_ISP116X_HCD is not set | ||
1418 | # CONFIG_USB_ISP1760_HCD is not set | ||
1419 | CONFIG_USB_OHCI_HCD=y | ||
1420 | # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set | ||
1421 | # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set | ||
1422 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | ||
1423 | # CONFIG_USB_SL811_HCD is not set | ||
1424 | # CONFIG_USB_R8A66597_HCD is not set | ||
1425 | # CONFIG_USB_HWA_HCD is not set | ||
1426 | # CONFIG_USB_MUSB_HDRC is not set | ||
1427 | # CONFIG_USB_GADGET_MUSB_HDRC is not set | ||
1428 | |||
1429 | # | ||
1430 | # USB Device Class drivers | ||
1431 | # | ||
1432 | CONFIG_USB_ACM=m | ||
1433 | # CONFIG_USB_PRINTER is not set | ||
1434 | CONFIG_USB_WDM=m | ||
1435 | # CONFIG_USB_TMC is not set | ||
1436 | |||
1437 | # | ||
1438 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may | ||
1439 | # | ||
1440 | |||
1441 | # | ||
1442 | # also be needed; see USB_STORAGE Help for more info | ||
1443 | # | ||
1444 | CONFIG_USB_STORAGE=m | ||
1445 | # CONFIG_USB_STORAGE_DEBUG is not set | ||
1446 | CONFIG_USB_STORAGE_DATAFAB=m | ||
1447 | # CONFIG_USB_STORAGE_FREECOM is not set | ||
1448 | CONFIG_USB_STORAGE_ISD200=m | ||
1449 | CONFIG_USB_STORAGE_USBAT=m | ||
1450 | CONFIG_USB_STORAGE_SDDR09=m | ||
1451 | CONFIG_USB_STORAGE_SDDR55=m | ||
1452 | CONFIG_USB_STORAGE_JUMPSHOT=m | ||
1453 | CONFIG_USB_STORAGE_ALAUDA=m | ||
1454 | # CONFIG_USB_STORAGE_ONETOUCH is not set | ||
1455 | # CONFIG_USB_STORAGE_KARMA is not set | ||
1456 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set | ||
1457 | CONFIG_USB_LIBUSUAL=y | ||
1458 | |||
1459 | # | ||
1460 | # USB Imaging devices | ||
1461 | # | ||
1462 | # CONFIG_USB_MDC800 is not set | ||
1463 | # CONFIG_USB_MICROTEK is not set | ||
1464 | |||
1465 | # | ||
1466 | # USB port drivers | ||
1467 | # | ||
1468 | CONFIG_USB_SERIAL=m | ||
1469 | # CONFIG_USB_EZUSB is not set | ||
1470 | # CONFIG_USB_SERIAL_GENERIC is not set | ||
1471 | # CONFIG_USB_SERIAL_AIRCABLE is not set | ||
1472 | # CONFIG_USB_SERIAL_ARK3116 is not set | ||
1473 | # CONFIG_USB_SERIAL_BELKIN is not set | ||
1474 | # CONFIG_USB_SERIAL_CH341 is not set | ||
1475 | # CONFIG_USB_SERIAL_WHITEHEAT is not set | ||
1476 | # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set | ||
1477 | CONFIG_USB_SERIAL_CP210X=m | ||
1478 | # CONFIG_USB_SERIAL_CYPRESS_M8 is not set | ||
1479 | # CONFIG_USB_SERIAL_EMPEG is not set | ||
1480 | CONFIG_USB_SERIAL_FTDI_SIO=m | ||
1481 | # CONFIG_USB_SERIAL_FUNSOFT is not set | ||
1482 | # CONFIG_USB_SERIAL_VISOR is not set | ||
1483 | # CONFIG_USB_SERIAL_IPAQ is not set | ||
1484 | # CONFIG_USB_SERIAL_IR is not set | ||
1485 | # CONFIG_USB_SERIAL_EDGEPORT is not set | ||
1486 | # CONFIG_USB_SERIAL_EDGEPORT_TI is not set | ||
1487 | # CONFIG_USB_SERIAL_GARMIN is not set | ||
1488 | # CONFIG_USB_SERIAL_IPW is not set | ||
1489 | # CONFIG_USB_SERIAL_IUU is not set | ||
1490 | # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set | ||
1491 | # CONFIG_USB_SERIAL_KEYSPAN is not set | ||
1492 | # CONFIG_USB_SERIAL_KLSI is not set | ||
1493 | # CONFIG_USB_SERIAL_KOBIL_SCT is not set | ||
1494 | # CONFIG_USB_SERIAL_MCT_U232 is not set | ||
1495 | # CONFIG_USB_SERIAL_MOS7720 is not set | ||
1496 | # CONFIG_USB_SERIAL_MOS7840 is not set | ||
1497 | # CONFIG_USB_SERIAL_MOTOROLA is not set | ||
1498 | # CONFIG_USB_SERIAL_NAVMAN is not set | ||
1499 | # CONFIG_USB_SERIAL_PL2303 is not set | ||
1500 | # CONFIG_USB_SERIAL_OTI6858 is not set | ||
1501 | # CONFIG_USB_SERIAL_QUALCOMM is not set | ||
1502 | CONFIG_USB_SERIAL_SPCP8X5=m | ||
1503 | # CONFIG_USB_SERIAL_HP4X is not set | ||
1504 | # CONFIG_USB_SERIAL_SAFE is not set | ||
1505 | # CONFIG_USB_SERIAL_SIEMENS_MPI is not set | ||
1506 | # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set | ||
1507 | # CONFIG_USB_SERIAL_SYMBOL is not set | ||
1508 | # CONFIG_USB_SERIAL_TI is not set | ||
1509 | # CONFIG_USB_SERIAL_CYBERJACK is not set | ||
1510 | # CONFIG_USB_SERIAL_XIRCOM is not set | ||
1511 | # CONFIG_USB_SERIAL_OPTION is not set | ||
1512 | # CONFIG_USB_SERIAL_OMNINET is not set | ||
1513 | # CONFIG_USB_SERIAL_OPTICON is not set | ||
1514 | # CONFIG_USB_SERIAL_DEBUG is not set | ||
1515 | |||
1516 | # | ||
1517 | # USB Miscellaneous drivers | ||
1518 | # | ||
1519 | # CONFIG_USB_EMI62 is not set | ||
1520 | # CONFIG_USB_EMI26 is not set | ||
1521 | # CONFIG_USB_ADUTUX is not set | ||
1522 | # CONFIG_USB_SEVSEG is not set | ||
1523 | # CONFIG_USB_RIO500 is not set | ||
1524 | # CONFIG_USB_LEGOTOWER is not set | ||
1525 | # CONFIG_USB_LCD is not set | ||
1526 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1527 | # CONFIG_USB_LED is not set | ||
1528 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
1529 | # CONFIG_USB_CYTHERM is not set | ||
1530 | # CONFIG_USB_IDMOUSE is not set | ||
1531 | # CONFIG_USB_FTDI_ELAN is not set | ||
1532 | # CONFIG_USB_APPLEDISPLAY is not set | ||
1533 | # CONFIG_USB_LD is not set | ||
1534 | # CONFIG_USB_TRANCEVIBRATOR is not set | ||
1535 | # CONFIG_USB_IOWARRIOR is not set | ||
1536 | # CONFIG_USB_TEST is not set | ||
1537 | # CONFIG_USB_ISIGHTFW is not set | ||
1538 | # CONFIG_USB_VST is not set | ||
1539 | CONFIG_USB_GADGET=y | ||
1540 | # CONFIG_USB_GADGET_DEBUG is not set | ||
1541 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | ||
1542 | # CONFIG_USB_GADGET_DEBUG_FS is not set | ||
1543 | CONFIG_USB_GADGET_VBUS_DRAW=2 | ||
1544 | CONFIG_USB_GADGET_SELECTED=y | ||
1545 | # CONFIG_USB_GADGET_AT91 is not set | ||
1546 | # CONFIG_USB_GADGET_ATMEL_USBA is not set | ||
1547 | # CONFIG_USB_GADGET_FSL_USB2 is not set | ||
1548 | # CONFIG_USB_GADGET_LH7A40X is not set | ||
1549 | # CONFIG_USB_GADGET_OMAP is not set | ||
1550 | # CONFIG_USB_GADGET_PXA25X is not set | ||
1551 | # CONFIG_USB_GADGET_PXA27X is not set | ||
1552 | CONFIG_USB_GADGET_S3C2410=y | ||
1553 | CONFIG_USB_S3C2410=y | ||
1554 | # CONFIG_USB_S3C2410_DEBUG is not set | ||
1555 | # CONFIG_USB_GADGET_IMX is not set | ||
1556 | # CONFIG_USB_GADGET_M66592 is not set | ||
1557 | # CONFIG_USB_GADGET_AMD5536UDC is not set | ||
1558 | # CONFIG_USB_GADGET_FSL_QE is not set | ||
1559 | # CONFIG_USB_GADGET_CI13XXX is not set | ||
1560 | # CONFIG_USB_GADGET_NET2280 is not set | ||
1561 | # CONFIG_USB_GADGET_GOKU is not set | ||
1562 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | ||
1563 | # CONFIG_USB_GADGET_DUALSPEED is not set | ||
1564 | CONFIG_USB_ZERO=m | ||
1565 | CONFIG_USB_ETH=m | ||
1566 | CONFIG_USB_ETH_RNDIS=y | ||
1567 | CONFIG_USB_GADGETFS=m | ||
1568 | CONFIG_USB_FILE_STORAGE=m | ||
1569 | # CONFIG_USB_FILE_STORAGE_TEST is not set | ||
1570 | CONFIG_USB_G_SERIAL=m | ||
1571 | # CONFIG_USB_MIDI_GADGET is not set | ||
1572 | # CONFIG_USB_G_PRINTER is not set | ||
1573 | CONFIG_USB_CDC_COMPOSITE=m | ||
1574 | |||
1575 | # | ||
1576 | # OTG and related infrastructure | ||
1577 | # | ||
1578 | # CONFIG_USB_GPIO_VBUS is not set | ||
1579 | # CONFIG_NOP_USB_XCEIV is not set | ||
1580 | CONFIG_MMC=y | ||
1581 | # CONFIG_MMC_DEBUG is not set | ||
1582 | # CONFIG_MMC_UNSAFE_RESUME is not set | ||
1583 | |||
1584 | # | ||
1585 | # MMC/SD/SDIO Card Drivers | ||
1586 | # | ||
1587 | CONFIG_MMC_BLOCK=y | ||
1588 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
1589 | CONFIG_SDIO_UART=y | ||
1590 | # CONFIG_MMC_TEST is not set | ||
1591 | |||
1592 | # | ||
1593 | # MMC/SD/SDIO Host Controller Drivers | ||
1594 | # | ||
1595 | CONFIG_MMC_SDHCI=y | ||
1596 | CONFIG_MMC_SPI=y | ||
1597 | CONFIG_MMC_S3C=y | ||
1598 | # CONFIG_MEMSTICK is not set | ||
1599 | # CONFIG_ACCESSIBILITY is not set | ||
1600 | CONFIG_NEW_LEDS=y | ||
1601 | CONFIG_LEDS_CLASS=y | ||
1602 | |||
1603 | # | ||
1604 | # LED drivers | ||
1605 | # | ||
1606 | CONFIG_LEDS_S3C24XX=y | ||
1607 | # CONFIG_LEDS_PCA9532 is not set | ||
1608 | CONFIG_LEDS_GPIO=y | ||
1609 | CONFIG_LEDS_GPIO_PLATFORM=y | ||
1610 | # CONFIG_LEDS_LP5521 is not set | ||
1611 | # CONFIG_LEDS_PCA955X is not set | ||
1612 | # CONFIG_LEDS_DAC124S085 is not set | ||
1613 | # CONFIG_LEDS_PWM is not set | ||
1614 | # CONFIG_LEDS_BD2802 is not set | ||
1615 | |||
1616 | # | ||
1617 | # LED Triggers | ||
1618 | # | ||
1619 | CONFIG_LEDS_TRIGGERS=y | ||
1620 | CONFIG_LEDS_TRIGGER_TIMER=y | ||
1621 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | ||
1622 | CONFIG_LEDS_TRIGGER_BACKLIGHT=y | ||
1623 | CONFIG_LEDS_TRIGGER_GPIO=y | ||
1624 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y | ||
1625 | |||
1626 | # | ||
1627 | # iptables trigger is under Netfilter config (LED target) | ||
1628 | # | ||
1629 | CONFIG_RTC_LIB=y | ||
1630 | CONFIG_RTC_CLASS=y | ||
1631 | CONFIG_RTC_HCTOSYS=y | ||
1632 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
1633 | # CONFIG_RTC_DEBUG is not set | ||
1634 | |||
1635 | # | ||
1636 | # RTC interfaces | ||
1637 | # | ||
1638 | CONFIG_RTC_INTF_SYSFS=y | ||
1639 | CONFIG_RTC_INTF_PROC=y | ||
1640 | CONFIG_RTC_INTF_DEV=y | ||
1641 | CONFIG_RTC_INTF_DEV_UIE_EMUL=y | ||
1642 | # CONFIG_RTC_DRV_TEST is not set | ||
1643 | |||
1644 | # | ||
1645 | # I2C RTC drivers | ||
1646 | # | ||
1647 | # CONFIG_RTC_DRV_DS1307 is not set | ||
1648 | # CONFIG_RTC_DRV_DS1374 is not set | ||
1649 | # CONFIG_RTC_DRV_DS1672 is not set | ||
1650 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
1651 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
1652 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
1653 | # CONFIG_RTC_DRV_X1205 is not set | ||
1654 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
1655 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
1656 | # CONFIG_RTC_DRV_M41T80 is not set | ||
1657 | # CONFIG_RTC_DRV_S35390A is not set | ||
1658 | # CONFIG_RTC_DRV_FM3130 is not set | ||
1659 | # CONFIG_RTC_DRV_RX8581 is not set | ||
1660 | |||
1661 | # | ||
1662 | # SPI RTC drivers | ||
1663 | # | ||
1664 | # CONFIG_RTC_DRV_M41T94 is not set | ||
1665 | # CONFIG_RTC_DRV_DS1305 is not set | ||
1666 | # CONFIG_RTC_DRV_DS1390 is not set | ||
1667 | # CONFIG_RTC_DRV_MAX6902 is not set | ||
1668 | # CONFIG_RTC_DRV_R9701 is not set | ||
1669 | # CONFIG_RTC_DRV_RS5C348 is not set | ||
1670 | # CONFIG_RTC_DRV_DS3234 is not set | ||
1671 | |||
1672 | # | ||
1673 | # Platform RTC drivers | ||
1674 | # | ||
1675 | # CONFIG_RTC_DRV_CMOS is not set | ||
1676 | # CONFIG_RTC_DRV_DS1286 is not set | ||
1677 | # CONFIG_RTC_DRV_DS1511 is not set | ||
1678 | # CONFIG_RTC_DRV_DS1553 is not set | ||
1679 | # CONFIG_RTC_DRV_DS1742 is not set | ||
1680 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
1681 | # CONFIG_RTC_DRV_M48T86 is not set | ||
1682 | # CONFIG_RTC_DRV_M48T35 is not set | ||
1683 | # CONFIG_RTC_DRV_M48T59 is not set | ||
1684 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
1685 | # CONFIG_RTC_DRV_V3020 is not set | ||
1686 | |||
1687 | # | ||
1688 | # on-CPU RTC drivers | ||
1689 | # | ||
1690 | CONFIG_RTC_DRV_S3C=y | ||
1691 | CONFIG_DMADEVICES=y | ||
1692 | |||
1693 | # | ||
1694 | # DMA Devices | ||
1695 | # | ||
1696 | # CONFIG_AUXDISPLAY is not set | ||
1697 | # CONFIG_REGULATOR is not set | ||
1698 | # CONFIG_UIO is not set | ||
1699 | # CONFIG_STAGING is not set | ||
1700 | |||
1701 | # | ||
1702 | # File systems | ||
1703 | # | ||
1704 | CONFIG_EXT2_FS=m | ||
1705 | CONFIG_EXT2_FS_XATTR=y | ||
1706 | CONFIG_EXT2_FS_POSIX_ACL=y | ||
1707 | CONFIG_EXT2_FS_SECURITY=y | ||
1708 | # CONFIG_EXT2_FS_XIP is not set | ||
1709 | CONFIG_EXT3_FS=y | ||
1710 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
1711 | CONFIG_EXT3_FS_XATTR=y | ||
1712 | CONFIG_EXT3_FS_POSIX_ACL=y | ||
1713 | CONFIG_EXT3_FS_SECURITY=y | ||
1714 | # CONFIG_EXT4_FS is not set | ||
1715 | CONFIG_JBD=y | ||
1716 | # CONFIG_JBD_DEBUG is not set | ||
1717 | CONFIG_FS_MBCACHE=y | ||
1718 | # CONFIG_REISERFS_FS is not set | ||
1719 | # CONFIG_JFS_FS is not set | ||
1720 | CONFIG_FS_POSIX_ACL=y | ||
1721 | CONFIG_FILE_LOCKING=y | ||
1722 | # CONFIG_XFS_FS is not set | ||
1723 | # CONFIG_GFS2_FS is not set | ||
1724 | # CONFIG_OCFS2_FS is not set | ||
1725 | # CONFIG_BTRFS_FS is not set | ||
1726 | CONFIG_DNOTIFY=y | ||
1727 | CONFIG_INOTIFY=y | ||
1728 | CONFIG_INOTIFY_USER=y | ||
1729 | # CONFIG_QUOTA is not set | ||
1730 | CONFIG_AUTOFS_FS=y | ||
1731 | CONFIG_AUTOFS4_FS=y | ||
1732 | # CONFIG_FUSE_FS is not set | ||
1733 | CONFIG_GENERIC_ACL=y | ||
1734 | |||
1735 | # | ||
1736 | # Caches | ||
1737 | # | ||
1738 | # CONFIG_FSCACHE is not set | ||
1739 | |||
1740 | # | ||
1741 | # CD-ROM/DVD Filesystems | ||
1742 | # | ||
1743 | # CONFIG_ISO9660_FS is not set | ||
1744 | # CONFIG_UDF_FS is not set | ||
1745 | |||
1746 | # | ||
1747 | # DOS/FAT/NT Filesystems | ||
1748 | # | ||
1749 | CONFIG_FAT_FS=y | ||
1750 | CONFIG_MSDOS_FS=y | ||
1751 | CONFIG_VFAT_FS=y | ||
1752 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
1753 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
1754 | # CONFIG_NTFS_FS is not set | ||
1755 | |||
1756 | # | ||
1757 | # Pseudo filesystems | ||
1758 | # | ||
1759 | CONFIG_PROC_FS=y | ||
1760 | CONFIG_PROC_SYSCTL=y | ||
1761 | CONFIG_PROC_PAGE_MONITOR=y | ||
1762 | CONFIG_SYSFS=y | ||
1763 | CONFIG_TMPFS=y | ||
1764 | CONFIG_TMPFS_POSIX_ACL=y | ||
1765 | # CONFIG_HUGETLB_PAGE is not set | ||
1766 | CONFIG_CONFIGFS_FS=m | ||
1767 | CONFIG_MISC_FILESYSTEMS=y | ||
1768 | # CONFIG_ADFS_FS is not set | ||
1769 | # CONFIG_AFFS_FS is not set | ||
1770 | # CONFIG_ECRYPT_FS is not set | ||
1771 | # CONFIG_HFS_FS is not set | ||
1772 | # CONFIG_HFSPLUS_FS is not set | ||
1773 | # CONFIG_BEFS_FS is not set | ||
1774 | # CONFIG_BFS_FS is not set | ||
1775 | # CONFIG_EFS_FS is not set | ||
1776 | CONFIG_JFFS2_FS=y | ||
1777 | CONFIG_JFFS2_FS_DEBUG=0 | ||
1778 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
1779 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
1780 | # CONFIG_JFFS2_SUMMARY is not set | ||
1781 | # CONFIG_JFFS2_FS_XATTR is not set | ||
1782 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
1783 | CONFIG_JFFS2_ZLIB=y | ||
1784 | # CONFIG_JFFS2_LZO is not set | ||
1785 | CONFIG_JFFS2_RTIME=y | ||
1786 | # CONFIG_JFFS2_RUBIN is not set | ||
1787 | CONFIG_CRAMFS=y | ||
1788 | # CONFIG_SQUASHFS is not set | ||
1789 | # CONFIG_VXFS_FS is not set | ||
1790 | # CONFIG_MINIX_FS is not set | ||
1791 | # CONFIG_OMFS_FS is not set | ||
1792 | # CONFIG_HPFS_FS is not set | ||
1793 | # CONFIG_QNX4FS_FS is not set | ||
1794 | CONFIG_ROMFS_FS=y | ||
1795 | # CONFIG_ROMFS_BACKED_BY_BLOCK is not set | ||
1796 | # CONFIG_ROMFS_BACKED_BY_MTD is not set | ||
1797 | CONFIG_ROMFS_BACKED_BY_BOTH=y | ||
1798 | CONFIG_ROMFS_ON_BLOCK=y | ||
1799 | CONFIG_ROMFS_ON_MTD=y | ||
1800 | # CONFIG_SYSV_FS is not set | ||
1801 | # CONFIG_UFS_FS is not set | ||
1802 | # CONFIG_NILFS2_FS is not set | ||
1803 | CONFIG_NETWORK_FILESYSTEMS=y | ||
1804 | CONFIG_NFS_FS=y | ||
1805 | CONFIG_NFS_V3=y | ||
1806 | CONFIG_NFS_V3_ACL=y | ||
1807 | CONFIG_NFS_V4=y | ||
1808 | CONFIG_ROOT_NFS=y | ||
1809 | # CONFIG_NFSD is not set | ||
1810 | CONFIG_LOCKD=y | ||
1811 | CONFIG_LOCKD_V4=y | ||
1812 | CONFIG_NFS_ACL_SUPPORT=y | ||
1813 | CONFIG_NFS_COMMON=y | ||
1814 | CONFIG_SUNRPC=y | ||
1815 | CONFIG_SUNRPC_GSS=y | ||
1816 | CONFIG_RPCSEC_GSS_KRB5=y | ||
1817 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
1818 | # CONFIG_SMB_FS is not set | ||
1819 | # CONFIG_CIFS is not set | ||
1820 | # CONFIG_NCP_FS is not set | ||
1821 | # CONFIG_CODA_FS is not set | ||
1822 | # CONFIG_AFS_FS is not set | ||
1823 | |||
1824 | # | ||
1825 | # Partition Types | ||
1826 | # | ||
1827 | CONFIG_PARTITION_ADVANCED=y | ||
1828 | # CONFIG_ACORN_PARTITION is not set | ||
1829 | # CONFIG_OSF_PARTITION is not set | ||
1830 | # CONFIG_AMIGA_PARTITION is not set | ||
1831 | # CONFIG_ATARI_PARTITION is not set | ||
1832 | # CONFIG_MAC_PARTITION is not set | ||
1833 | CONFIG_MSDOS_PARTITION=y | ||
1834 | CONFIG_BSD_DISKLABEL=y | ||
1835 | CONFIG_MINIX_SUBPARTITION=y | ||
1836 | CONFIG_SOLARIS_X86_PARTITION=y | ||
1837 | CONFIG_UNIXWARE_DISKLABEL=y | ||
1838 | CONFIG_LDM_PARTITION=y | ||
1839 | # CONFIG_LDM_DEBUG is not set | ||
1840 | # CONFIG_SGI_PARTITION is not set | ||
1841 | # CONFIG_ULTRIX_PARTITION is not set | ||
1842 | # CONFIG_SUN_PARTITION is not set | ||
1843 | # CONFIG_KARMA_PARTITION is not set | ||
1844 | CONFIG_EFI_PARTITION=y | ||
1845 | # CONFIG_SYSV68_PARTITION is not set | ||
1846 | CONFIG_NLS=y | ||
1847 | CONFIG_NLS_DEFAULT="cp437" | ||
1848 | CONFIG_NLS_CODEPAGE_437=m | ||
1849 | CONFIG_NLS_CODEPAGE_737=m | ||
1850 | CONFIG_NLS_CODEPAGE_775=m | ||
1851 | CONFIG_NLS_CODEPAGE_850=m | ||
1852 | CONFIG_NLS_CODEPAGE_852=m | ||
1853 | CONFIG_NLS_CODEPAGE_855=m | ||
1854 | CONFIG_NLS_CODEPAGE_857=m | ||
1855 | CONFIG_NLS_CODEPAGE_860=m | ||
1856 | CONFIG_NLS_CODEPAGE_861=m | ||
1857 | CONFIG_NLS_CODEPAGE_862=m | ||
1858 | CONFIG_NLS_CODEPAGE_863=m | ||
1859 | CONFIG_NLS_CODEPAGE_864=m | ||
1860 | CONFIG_NLS_CODEPAGE_865=m | ||
1861 | CONFIG_NLS_CODEPAGE_866=m | ||
1862 | CONFIG_NLS_CODEPAGE_869=m | ||
1863 | CONFIG_NLS_CODEPAGE_936=m | ||
1864 | CONFIG_NLS_CODEPAGE_950=m | ||
1865 | CONFIG_NLS_CODEPAGE_932=m | ||
1866 | CONFIG_NLS_CODEPAGE_949=m | ||
1867 | CONFIG_NLS_CODEPAGE_874=m | ||
1868 | CONFIG_NLS_ISO8859_8=m | ||
1869 | CONFIG_NLS_CODEPAGE_1250=m | ||
1870 | CONFIG_NLS_CODEPAGE_1251=m | ||
1871 | CONFIG_NLS_ASCII=m | ||
1872 | CONFIG_NLS_ISO8859_1=m | ||
1873 | CONFIG_NLS_ISO8859_2=m | ||
1874 | CONFIG_NLS_ISO8859_3=m | ||
1875 | CONFIG_NLS_ISO8859_4=m | ||
1876 | CONFIG_NLS_ISO8859_5=m | ||
1877 | CONFIG_NLS_ISO8859_6=m | ||
1878 | CONFIG_NLS_ISO8859_7=m | ||
1879 | CONFIG_NLS_ISO8859_9=m | ||
1880 | CONFIG_NLS_ISO8859_13=m | ||
1881 | CONFIG_NLS_ISO8859_14=m | ||
1882 | CONFIG_NLS_ISO8859_15=m | ||
1883 | CONFIG_NLS_KOI8_R=m | ||
1884 | CONFIG_NLS_KOI8_U=m | ||
1885 | CONFIG_NLS_UTF8=m | ||
1886 | # CONFIG_DLM is not set | ||
1887 | |||
1888 | # | ||
1889 | # Kernel hacking | ||
1890 | # | ||
1891 | # CONFIG_PRINTK_TIME is not set | ||
1892 | # CONFIG_ENABLE_WARN_DEPRECATED is not set | ||
1893 | # CONFIG_ENABLE_MUST_CHECK is not set | ||
1894 | CONFIG_FRAME_WARN=1024 | ||
1895 | # CONFIG_MAGIC_SYSRQ is not set | ||
1896 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1897 | CONFIG_DEBUG_FS=y | ||
1898 | # CONFIG_HEADERS_CHECK is not set | ||
1899 | CONFIG_DEBUG_KERNEL=y | ||
1900 | # CONFIG_DEBUG_SHIRQ is not set | ||
1901 | CONFIG_DETECT_SOFTLOCKUP=y | ||
1902 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
1903 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
1904 | CONFIG_DETECT_HUNG_TASK=y | ||
1905 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1906 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1907 | # CONFIG_SCHED_DEBUG is not set | ||
1908 | # CONFIG_SCHEDSTATS is not set | ||
1909 | # CONFIG_TIMER_STATS is not set | ||
1910 | # CONFIG_DEBUG_OBJECTS is not set | ||
1911 | # CONFIG_SLUB_DEBUG_ON is not set | ||
1912 | # CONFIG_SLUB_STATS is not set | ||
1913 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
1914 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1915 | # CONFIG_DEBUG_SPINLOCK is not set | ||
1916 | # CONFIG_DEBUG_MUTEXES is not set | ||
1917 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
1918 | # CONFIG_PROVE_LOCKING is not set | ||
1919 | # CONFIG_LOCK_STAT is not set | ||
1920 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
1921 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1922 | # CONFIG_DEBUG_KOBJECT is not set | ||
1923 | CONFIG_DEBUG_BUGVERBOSE=y | ||
1924 | CONFIG_DEBUG_INFO=y | ||
1925 | # CONFIG_DEBUG_VM is not set | ||
1926 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
1927 | CONFIG_DEBUG_MEMORY_INIT=y | ||
1928 | # CONFIG_DEBUG_LIST is not set | ||
1929 | # CONFIG_DEBUG_SG is not set | ||
1930 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1931 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
1932 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1933 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1934 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
1935 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1936 | # CONFIG_FAULT_INJECTION is not set | ||
1937 | # CONFIG_LATENCYTOP is not set | ||
1938 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
1939 | # CONFIG_PAGE_POISONING is not set | ||
1940 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
1941 | CONFIG_TRACING_SUPPORT=y | ||
1942 | |||
1943 | # | ||
1944 | # Tracers | ||
1945 | # | ||
1946 | # CONFIG_FUNCTION_TRACER is not set | ||
1947 | # CONFIG_SCHED_TRACER is not set | ||
1948 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1949 | # CONFIG_EVENT_TRACER is not set | ||
1950 | # CONFIG_BOOT_TRACER is not set | ||
1951 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1952 | # CONFIG_STACK_TRACER is not set | ||
1953 | # CONFIG_KMEMTRACE is not set | ||
1954 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1955 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1956 | # CONFIG_DYNAMIC_DEBUG is not set | ||
1957 | # CONFIG_SAMPLES is not set | ||
1958 | CONFIG_HAVE_ARCH_KGDB=y | ||
1959 | # CONFIG_KGDB is not set | ||
1960 | CONFIG_ARM_UNWIND=y | ||
1961 | CONFIG_DEBUG_USER=y | ||
1962 | # CONFIG_DEBUG_ERRORS is not set | ||
1963 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
1964 | # CONFIG_DEBUG_LL is not set | ||
1965 | CONFIG_DEBUG_S3C_UART=0 | ||
1966 | |||
1967 | # | ||
1968 | # Security options | ||
1969 | # | ||
1970 | CONFIG_KEYS=y | ||
1971 | # CONFIG_KEYS_DEBUG_PROC_KEYS is not set | ||
1972 | # CONFIG_SECURITY is not set | ||
1973 | # CONFIG_SECURITYFS is not set | ||
1974 | CONFIG_SECURITY_FILE_CAPABILITIES=y | ||
1975 | CONFIG_CRYPTO=y | ||
1976 | |||
1977 | # | ||
1978 | # Crypto core or helper | ||
1979 | # | ||
1980 | CONFIG_CRYPTO_FIPS=y | ||
1981 | CONFIG_CRYPTO_ALGAPI=y | ||
1982 | CONFIG_CRYPTO_ALGAPI2=y | ||
1983 | CONFIG_CRYPTO_AEAD=m | ||
1984 | CONFIG_CRYPTO_AEAD2=y | ||
1985 | CONFIG_CRYPTO_BLKCIPHER=y | ||
1986 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
1987 | CONFIG_CRYPTO_HASH=y | ||
1988 | CONFIG_CRYPTO_HASH2=y | ||
1989 | CONFIG_CRYPTO_RNG=m | ||
1990 | CONFIG_CRYPTO_RNG2=y | ||
1991 | CONFIG_CRYPTO_PCOMP=y | ||
1992 | CONFIG_CRYPTO_MANAGER=y | ||
1993 | CONFIG_CRYPTO_MANAGER2=y | ||
1994 | CONFIG_CRYPTO_GF128MUL=m | ||
1995 | CONFIG_CRYPTO_NULL=m | ||
1996 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1997 | CONFIG_CRYPTO_CRYPTD=m | ||
1998 | CONFIG_CRYPTO_AUTHENC=m | ||
1999 | CONFIG_CRYPTO_TEST=m | ||
2000 | |||
2001 | # | ||
2002 | # Authenticated Encryption with Associated Data | ||
2003 | # | ||
2004 | CONFIG_CRYPTO_CCM=m | ||
2005 | CONFIG_CRYPTO_GCM=m | ||
2006 | CONFIG_CRYPTO_SEQIV=m | ||
2007 | |||
2008 | # | ||
2009 | # Block modes | ||
2010 | # | ||
2011 | CONFIG_CRYPTO_CBC=y | ||
2012 | CONFIG_CRYPTO_CTR=m | ||
2013 | CONFIG_CRYPTO_CTS=m | ||
2014 | CONFIG_CRYPTO_ECB=y | ||
2015 | CONFIG_CRYPTO_LRW=m | ||
2016 | CONFIG_CRYPTO_PCBC=m | ||
2017 | CONFIG_CRYPTO_XTS=m | ||
2018 | |||
2019 | # | ||
2020 | # Hash modes | ||
2021 | # | ||
2022 | CONFIG_CRYPTO_HMAC=y | ||
2023 | CONFIG_CRYPTO_XCBC=m | ||
2024 | |||
2025 | # | ||
2026 | # Digest | ||
2027 | # | ||
2028 | CONFIG_CRYPTO_CRC32C=m | ||
2029 | CONFIG_CRYPTO_MD4=m | ||
2030 | CONFIG_CRYPTO_MD5=y | ||
2031 | CONFIG_CRYPTO_MICHAEL_MIC=y | ||
2032 | CONFIG_CRYPTO_RMD128=m | ||
2033 | CONFIG_CRYPTO_RMD160=m | ||
2034 | CONFIG_CRYPTO_RMD256=m | ||
2035 | CONFIG_CRYPTO_RMD320=m | ||
2036 | CONFIG_CRYPTO_SHA1=m | ||
2037 | CONFIG_CRYPTO_SHA256=m | ||
2038 | CONFIG_CRYPTO_SHA512=m | ||
2039 | CONFIG_CRYPTO_TGR192=m | ||
2040 | CONFIG_CRYPTO_WP512=m | ||
2041 | |||
2042 | # | ||
2043 | # Ciphers | ||
2044 | # | ||
2045 | CONFIG_CRYPTO_AES=y | ||
2046 | CONFIG_CRYPTO_ANUBIS=m | ||
2047 | CONFIG_CRYPTO_ARC4=y | ||
2048 | CONFIG_CRYPTO_BLOWFISH=m | ||
2049 | CONFIG_CRYPTO_CAMELLIA=m | ||
2050 | CONFIG_CRYPTO_CAST5=m | ||
2051 | CONFIG_CRYPTO_CAST6=m | ||
2052 | CONFIG_CRYPTO_DES=y | ||
2053 | CONFIG_CRYPTO_FCRYPT=m | ||
2054 | CONFIG_CRYPTO_KHAZAD=m | ||
2055 | CONFIG_CRYPTO_SALSA20=m | ||
2056 | CONFIG_CRYPTO_SEED=m | ||
2057 | CONFIG_CRYPTO_SERPENT=m | ||
2058 | CONFIG_CRYPTO_TEA=m | ||
2059 | CONFIG_CRYPTO_TWOFISH=m | ||
2060 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
2061 | |||
2062 | # | ||
2063 | # Compression | ||
2064 | # | ||
2065 | CONFIG_CRYPTO_DEFLATE=m | ||
2066 | CONFIG_CRYPTO_ZLIB=m | ||
2067 | CONFIG_CRYPTO_LZO=m | ||
2068 | |||
2069 | # | ||
2070 | # Random Number Generation | ||
2071 | # | ||
2072 | CONFIG_CRYPTO_ANSI_CPRNG=m | ||
2073 | CONFIG_CRYPTO_HW=y | ||
2074 | # CONFIG_BINARY_PRINTF is not set | ||
2075 | |||
2076 | # | ||
2077 | # Library routines | ||
2078 | # | ||
2079 | CONFIG_BITREVERSE=y | ||
2080 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
2081 | CONFIG_CRC_CCITT=m | ||
2082 | CONFIG_CRC16=m | ||
2083 | CONFIG_CRC_T10DIF=y | ||
2084 | CONFIG_CRC_ITU_T=y | ||
2085 | CONFIG_CRC32=y | ||
2086 | CONFIG_CRC7=y | ||
2087 | CONFIG_LIBCRC32C=m | ||
2088 | CONFIG_ZLIB_INFLATE=y | ||
2089 | CONFIG_ZLIB_DEFLATE=y | ||
2090 | CONFIG_LZO_COMPRESS=m | ||
2091 | CONFIG_LZO_DECOMPRESS=m | ||
2092 | CONFIG_DECOMPRESS_GZIP=y | ||
2093 | CONFIG_DECOMPRESS_BZIP2=y | ||
2094 | CONFIG_DECOMPRESS_LZMA=y | ||
2095 | CONFIG_HAS_IOMEM=y | ||
2096 | CONFIG_HAS_DMA=y | ||
2097 | CONFIG_NLATTR=y | ||
diff --git a/arch/arm/mach-s3c2410/usb-simtec.c b/arch/arm/mach-s3c2410/usb-simtec.c index 6cd9377ddb82..50e25fc5f8ab 100644 --- a/arch/arm/mach-s3c2410/usb-simtec.c +++ b/arch/arm/mach-s3c2410/usb-simtec.c | |||
@@ -22,7 +22,6 @@ | |||
22 | #include <linux/timer.h> | 22 | #include <linux/timer.h> |
23 | #include <linux/init.h> | 23 | #include <linux/init.h> |
24 | #include <linux/device.h> | 24 | #include <linux/device.h> |
25 | #include <linux/gpio.h> | ||
26 | #include <linux/io.h> | 25 | #include <linux/io.h> |
27 | 26 | ||
28 | #include <asm/mach/arch.h> | 27 | #include <asm/mach/arch.h> |
diff --git a/arch/arm/mach-s3c2440/Kconfig b/arch/arm/mach-s3c2440/Kconfig index 5df73cbf2b40..8cfeaec37306 100644 --- a/arch/arm/mach-s3c2440/Kconfig +++ b/arch/arm/mach-s3c2440/Kconfig | |||
@@ -84,5 +84,15 @@ config MACH_AT2440EVB | |||
84 | help | 84 | help |
85 | Say Y here if you are using the AT2440EVB development board | 85 | Say Y here if you are using the AT2440EVB development board |
86 | 86 | ||
87 | config MACH_MINI2440 | ||
88 | bool "MINI2440 development board" | ||
89 | select CPU_S3C2440 | ||
90 | select EEPROM_AT24 | ||
91 | select LEDS_TRIGGER_BACKLIGHT | ||
92 | select SND_S3C24XX_SOC_S3C24XX_UDA134X | ||
93 | help | ||
94 | Say Y here to select support for the MINI2440. Is a 10cm x 10cm board | ||
95 | available via various sources. It can come with a 3.5" or 7" touch LCD. | ||
96 | |||
87 | endmenu | 97 | endmenu |
88 | 98 | ||
diff --git a/arch/arm/mach-s3c2440/Makefile b/arch/arm/mach-s3c2440/Makefile index 0b4440e79b90..bfadcf684a2a 100644 --- a/arch/arm/mach-s3c2440/Makefile +++ b/arch/arm/mach-s3c2440/Makefile | |||
@@ -22,3 +22,4 @@ obj-$(CONFIG_MACH_RX3715) += mach-rx3715.o | |||
22 | obj-$(CONFIG_ARCH_S3C2440) += mach-smdk2440.o | 22 | obj-$(CONFIG_ARCH_S3C2440) += mach-smdk2440.o |
23 | obj-$(CONFIG_MACH_NEXCODER_2440) += mach-nexcoder.o | 23 | obj-$(CONFIG_MACH_NEXCODER_2440) += mach-nexcoder.o |
24 | obj-$(CONFIG_MACH_AT2440EVB) += mach-at2440evb.o | 24 | obj-$(CONFIG_MACH_AT2440EVB) += mach-at2440evb.o |
25 | obj-$(CONFIG_MACH_MINI2440) += mach-mini2440.o | ||
diff --git a/arch/arm/mach-s3c2440/mach-mini2440.c b/arch/arm/mach-s3c2440/mach-mini2440.c new file mode 100644 index 000000000000..6a5bc3021bdb --- /dev/null +++ b/arch/arm/mach-s3c2440/mach-mini2440.c | |||
@@ -0,0 +1,703 @@ | |||
1 | /* linux/arch/arm/mach-s3c2440/mach-mini2440.c | ||
2 | * | ||
3 | * Copyright (c) 2008 Ramax Lo <ramaxlo@gmail.com> | ||
4 | * Based on mach-anubis.c by Ben Dooks <ben@simtec.co.uk> | ||
5 | * and modifications by SBZ <sbz@spgui.org> and | ||
6 | * Weibing <http://weibing.blogbus.com> and | ||
7 | * Michel Pollet <buserror@gmail.com> | ||
8 | * | ||
9 | * For product information, visit http://code.google.com/p/mini2440/ | ||
10 | * | ||
11 | * This program is free software; you can redistribute it and/or modify | ||
12 | * it under the terms of the GNU General Public License version 2 as | ||
13 | * published by the Free Software Foundation. | ||
14 | */ | ||
15 | |||
16 | #include <linux/kernel.h> | ||
17 | #include <linux/types.h> | ||
18 | #include <linux/interrupt.h> | ||
19 | #include <linux/list.h> | ||
20 | #include <linux/timer.h> | ||
21 | #include <linux/init.h> | ||
22 | #include <linux/gpio.h> | ||
23 | #include <linux/input.h> | ||
24 | #include <linux/io.h> | ||
25 | #include <linux/serial_core.h> | ||
26 | #include <linux/dm9000.h> | ||
27 | #include <linux/i2c/at24.h> | ||
28 | #include <linux/platform_device.h> | ||
29 | #include <linux/gpio_keys.h> | ||
30 | #include <linux/i2c.h> | ||
31 | #include <linux/mmc/host.h> | ||
32 | |||
33 | #include <asm/mach/arch.h> | ||
34 | #include <asm/mach/map.h> | ||
35 | |||
36 | #include <mach/hardware.h> | ||
37 | #include <mach/fb.h> | ||
38 | #include <asm/mach-types.h> | ||
39 | |||
40 | #include <plat/regs-serial.h> | ||
41 | #include <mach/regs-gpio.h> | ||
42 | #include <mach/leds-gpio.h> | ||
43 | #include <mach/regs-mem.h> | ||
44 | #include <mach/regs-lcd.h> | ||
45 | #include <mach/irqs.h> | ||
46 | #include <plat/nand.h> | ||
47 | #include <plat/iic.h> | ||
48 | #include <plat/mci.h> | ||
49 | #include <plat/udc.h> | ||
50 | |||
51 | #include <plat/regs-serial.h> | ||
52 | |||
53 | #include <linux/mtd/mtd.h> | ||
54 | #include <linux/mtd/nand.h> | ||
55 | #include <linux/mtd/nand_ecc.h> | ||
56 | #include <linux/mtd/partitions.h> | ||
57 | |||
58 | #include <plat/clock.h> | ||
59 | #include <plat/devs.h> | ||
60 | #include <plat/cpu.h> | ||
61 | |||
62 | #include <sound/s3c24xx_uda134x.h> | ||
63 | |||
64 | #define MACH_MINI2440_DM9K_BASE (S3C2410_CS4 + 0x300) | ||
65 | |||
66 | static struct map_desc mini2440_iodesc[] __initdata = { | ||
67 | /* nothing to declare, move along */ | ||
68 | }; | ||
69 | |||
70 | #define UCON S3C2410_UCON_DEFAULT | ||
71 | #define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB | ||
72 | #define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE | ||
73 | |||
74 | |||
75 | static struct s3c2410_uartcfg mini2440_uartcfgs[] __initdata = { | ||
76 | [0] = { | ||
77 | .hwport = 0, | ||
78 | .flags = 0, | ||
79 | .ucon = UCON, | ||
80 | .ulcon = ULCON, | ||
81 | .ufcon = UFCON, | ||
82 | }, | ||
83 | [1] = { | ||
84 | .hwport = 1, | ||
85 | .flags = 0, | ||
86 | .ucon = UCON, | ||
87 | .ulcon = ULCON, | ||
88 | .ufcon = UFCON, | ||
89 | }, | ||
90 | [2] = { | ||
91 | .hwport = 2, | ||
92 | .flags = 0, | ||
93 | .ucon = UCON, | ||
94 | .ulcon = ULCON, | ||
95 | .ufcon = UFCON, | ||
96 | }, | ||
97 | }; | ||
98 | |||
99 | /* USB device UDC support */ | ||
100 | |||
101 | static void mini2440_udc_pullup(enum s3c2410_udc_cmd_e cmd) | ||
102 | { | ||
103 | pr_debug("udc: pullup(%d)\n", cmd); | ||
104 | |||
105 | switch (cmd) { | ||
106 | case S3C2410_UDC_P_ENABLE : | ||
107 | s3c2410_gpio_setpin(S3C2410_GPC(5), 1); | ||
108 | break; | ||
109 | case S3C2410_UDC_P_DISABLE : | ||
110 | s3c2410_gpio_setpin(S3C2410_GPC(5), 0); | ||
111 | break; | ||
112 | case S3C2410_UDC_P_RESET : | ||
113 | break; | ||
114 | default: | ||
115 | break; | ||
116 | } | ||
117 | } | ||
118 | |||
119 | static struct s3c2410_udc_mach_info mini2440_udc_cfg __initdata = { | ||
120 | .udc_command = mini2440_udc_pullup, | ||
121 | }; | ||
122 | |||
123 | |||
124 | /* LCD timing and setup */ | ||
125 | |||
126 | /* | ||
127 | * This macro simplifies the table bellow | ||
128 | */ | ||
129 | #define _LCD_DECLARE(_clock,_xres,margin_left,margin_right,hsync, \ | ||
130 | _yres,margin_top,margin_bottom,vsync, refresh) \ | ||
131 | .width = _xres, \ | ||
132 | .xres = _xres, \ | ||
133 | .height = _yres, \ | ||
134 | .yres = _yres, \ | ||
135 | .left_margin = margin_left, \ | ||
136 | .right_margin = margin_right, \ | ||
137 | .upper_margin = margin_top, \ | ||
138 | .lower_margin = margin_bottom, \ | ||
139 | .hsync_len = hsync, \ | ||
140 | .vsync_len = vsync, \ | ||
141 | .pixclock = ((_clock*100000000000LL) / \ | ||
142 | ((refresh) * \ | ||
143 | (hsync + margin_left + _xres + margin_right) * \ | ||
144 | (vsync + margin_top + _yres + margin_bottom))), \ | ||
145 | .bpp = 16,\ | ||
146 | .type = (S3C2410_LCDCON1_TFT16BPP |\ | ||
147 | S3C2410_LCDCON1_TFT) | ||
148 | |||
149 | struct s3c2410fb_display mini2440_lcd_cfg[] __initdata = { | ||
150 | [0] = { /* mini2440 + 3.5" TFT + touchscreen */ | ||
151 | _LCD_DECLARE( | ||
152 | 7, /* The 3.5 is quite fast */ | ||
153 | 240, 21, 38, 6, /* x timing */ | ||
154 | 320, 4, 4, 2, /* y timing */ | ||
155 | 60), /* refresh rate */ | ||
156 | .lcdcon5 = (S3C2410_LCDCON5_FRM565 | | ||
157 | S3C2410_LCDCON5_INVVLINE | | ||
158 | S3C2410_LCDCON5_INVVFRAME | | ||
159 | S3C2410_LCDCON5_INVVDEN | | ||
160 | S3C2410_LCDCON5_PWREN), | ||
161 | }, | ||
162 | [1] = { /* mini2440 + 7" TFT + touchscreen */ | ||
163 | _LCD_DECLARE( | ||
164 | 10, /* the 7" runs slower */ | ||
165 | 800, 40, 40, 48, /* x timing */ | ||
166 | 480, 29, 3, 3, /* y timing */ | ||
167 | 50), /* refresh rate */ | ||
168 | .lcdcon5 = (S3C2410_LCDCON5_FRM565 | | ||
169 | S3C2410_LCDCON5_INVVLINE | | ||
170 | S3C2410_LCDCON5_INVVFRAME | | ||
171 | S3C2410_LCDCON5_PWREN), | ||
172 | }, | ||
173 | /* The VGA shield can outout at several resolutions. All share | ||
174 | * the same timings, however, anything smaller than 1024x768 | ||
175 | * will only be displayed in the top left corner of a 1024x768 | ||
176 | * XGA output unless you add optional dip switches to the shield. | ||
177 | * Therefore timings for other resolutions have been ommited here. | ||
178 | */ | ||
179 | [2] = { | ||
180 | _LCD_DECLARE( | ||
181 | 10, | ||
182 | 1024, 1, 2, 2, /* y timing */ | ||
183 | 768, 200, 16, 16, /* x timing */ | ||
184 | 24), /* refresh rate, maximum stable, | ||
185 | tested with the FPGA shield */ | ||
186 | .lcdcon5 = (S3C2410_LCDCON5_FRM565 | | ||
187 | S3C2410_LCDCON5_HWSWP), | ||
188 | }, | ||
189 | }; | ||
190 | |||
191 | /* todo - put into gpio header */ | ||
192 | |||
193 | #define S3C2410_GPCCON_MASK(x) (3 << ((x) * 2)) | ||
194 | #define S3C2410_GPDCON_MASK(x) (3 << ((x) * 2)) | ||
195 | |||
196 | struct s3c2410fb_mach_info mini2440_fb_info __initdata = { | ||
197 | .displays = &mini2440_lcd_cfg[0], /* not constant! see init */ | ||
198 | .num_displays = 1, | ||
199 | .default_display = 0, | ||
200 | |||
201 | /* Enable VD[2..7], VD[10..15], VD[18..23] and VCLK, syncs, VDEN | ||
202 | * and disable the pull down resistors on pins we are using for LCD | ||
203 | * data. */ | ||
204 | |||
205 | .gpcup = (0xf << 1) | (0x3f << 10), | ||
206 | |||
207 | .gpccon = (S3C2410_GPC1_VCLK | S3C2410_GPC2_VLINE | | ||
208 | S3C2410_GPC3_VFRAME | S3C2410_GPC4_VM | | ||
209 | S3C2410_GPC10_VD2 | S3C2410_GPC11_VD3 | | ||
210 | S3C2410_GPC12_VD4 | S3C2410_GPC13_VD5 | | ||
211 | S3C2410_GPC14_VD6 | S3C2410_GPC15_VD7), | ||
212 | |||
213 | .gpccon_mask = (S3C2410_GPCCON_MASK(1) | S3C2410_GPCCON_MASK(2) | | ||
214 | S3C2410_GPCCON_MASK(3) | S3C2410_GPCCON_MASK(4) | | ||
215 | S3C2410_GPCCON_MASK(10) | S3C2410_GPCCON_MASK(11) | | ||
216 | S3C2410_GPCCON_MASK(12) | S3C2410_GPCCON_MASK(13) | | ||
217 | S3C2410_GPCCON_MASK(14) | S3C2410_GPCCON_MASK(15)), | ||
218 | |||
219 | .gpdup = (0x3f << 2) | (0x3f << 10), | ||
220 | |||
221 | .gpdcon = (S3C2410_GPD2_VD10 | S3C2410_GPD3_VD11 | | ||
222 | S3C2410_GPD4_VD12 | S3C2410_GPD5_VD13 | | ||
223 | S3C2410_GPD6_VD14 | S3C2410_GPD7_VD15 | | ||
224 | S3C2410_GPD10_VD18 | S3C2410_GPD11_VD19 | | ||
225 | S3C2410_GPD12_VD20 | S3C2410_GPD13_VD21 | | ||
226 | S3C2410_GPD14_VD22 | S3C2410_GPD15_VD23), | ||
227 | |||
228 | .gpdcon_mask = (S3C2410_GPDCON_MASK(2) | S3C2410_GPDCON_MASK(3) | | ||
229 | S3C2410_GPDCON_MASK(4) | S3C2410_GPDCON_MASK(5) | | ||
230 | S3C2410_GPDCON_MASK(6) | S3C2410_GPDCON_MASK(7) | | ||
231 | S3C2410_GPDCON_MASK(10) | S3C2410_GPDCON_MASK(11)| | ||
232 | S3C2410_GPDCON_MASK(12) | S3C2410_GPDCON_MASK(13)| | ||
233 | S3C2410_GPDCON_MASK(14) | S3C2410_GPDCON_MASK(15)), | ||
234 | }; | ||
235 | |||
236 | /* MMC/SD */ | ||
237 | |||
238 | static struct s3c24xx_mci_pdata mini2440_mmc_cfg __initdata = { | ||
239 | .gpio_detect = S3C2410_GPG(8), | ||
240 | .gpio_wprotect = S3C2410_GPH(8), | ||
241 | .set_power = NULL, | ||
242 | .ocr_avail = MMC_VDD_32_33|MMC_VDD_33_34, | ||
243 | }; | ||
244 | |||
245 | /* NAND Flash on MINI2440 board */ | ||
246 | |||
247 | static struct mtd_partition mini2440_default_nand_part[] __initdata = { | ||
248 | [0] = { | ||
249 | .name = "u-boot", | ||
250 | .size = SZ_256K, | ||
251 | .offset = 0, | ||
252 | }, | ||
253 | [1] = { | ||
254 | .name = "u-boot-env", | ||
255 | .size = SZ_128K, | ||
256 | .offset = SZ_256K, | ||
257 | }, | ||
258 | [2] = { | ||
259 | .name = "kernel", | ||
260 | /* 5 megabytes, for a kernel with no modules | ||
261 | * or a uImage with a ramdisk attached */ | ||
262 | .size = 0x00500000, | ||
263 | .offset = SZ_256K + SZ_128K, | ||
264 | }, | ||
265 | [3] = { | ||
266 | .name = "root", | ||
267 | .offset = SZ_256K + SZ_128K + 0x00500000, | ||
268 | .size = MTDPART_SIZ_FULL, | ||
269 | }, | ||
270 | }; | ||
271 | |||
272 | static struct s3c2410_nand_set mini2440_nand_sets[] __initdata = { | ||
273 | [0] = { | ||
274 | .name = "nand", | ||
275 | .nr_chips = 1, | ||
276 | .nr_partitions = ARRAY_SIZE(mini2440_default_nand_part), | ||
277 | .partitions = mini2440_default_nand_part, | ||
278 | }, | ||
279 | }; | ||
280 | |||
281 | static struct s3c2410_platform_nand mini2440_nand_info __initdata = { | ||
282 | .tacls = 0, | ||
283 | .twrph0 = 25, | ||
284 | .twrph1 = 15, | ||
285 | .nr_sets = ARRAY_SIZE(mini2440_nand_sets), | ||
286 | .sets = mini2440_nand_sets, | ||
287 | .ignore_unset_ecc = 1, | ||
288 | }; | ||
289 | |||
290 | /* DM9000AEP 10/100 ethernet controller */ | ||
291 | |||
292 | static struct resource mini2440_dm9k_resource[] __initdata = { | ||
293 | [0] = { | ||
294 | .start = MACH_MINI2440_DM9K_BASE, | ||
295 | .end = MACH_MINI2440_DM9K_BASE + 3, | ||
296 | .flags = IORESOURCE_MEM | ||
297 | }, | ||
298 | [1] = { | ||
299 | .start = MACH_MINI2440_DM9K_BASE + 4, | ||
300 | .end = MACH_MINI2440_DM9K_BASE + 7, | ||
301 | .flags = IORESOURCE_MEM | ||
302 | }, | ||
303 | [2] = { | ||
304 | .start = IRQ_EINT7, | ||
305 | .end = IRQ_EINT7, | ||
306 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, | ||
307 | } | ||
308 | }; | ||
309 | |||
310 | /* | ||
311 | * The DM9000 has no eeprom, and it's MAC address is set by | ||
312 | * the bootloader before starting the kernel. | ||
313 | */ | ||
314 | static struct dm9000_plat_data mini2440_dm9k_pdata __initdata = { | ||
315 | .flags = (DM9000_PLATF_16BITONLY | DM9000_PLATF_NO_EEPROM), | ||
316 | }; | ||
317 | |||
318 | static struct platform_device mini2440_device_eth __initdata = { | ||
319 | .name = "dm9000", | ||
320 | .id = -1, | ||
321 | .num_resources = ARRAY_SIZE(mini2440_dm9k_resource), | ||
322 | .resource = mini2440_dm9k_resource, | ||
323 | .dev = { | ||
324 | .platform_data = &mini2440_dm9k_pdata, | ||
325 | }, | ||
326 | }; | ||
327 | |||
328 | /* CON5 | ||
329 | * +--+ /-----\ | ||
330 | * | | | | | ||
331 | * | | | BAT | | ||
332 | * | | \_____/ | ||
333 | * | | | ||
334 | * | | +----+ +----+ | ||
335 | * | | | K5 | | K1 | | ||
336 | * | | +----+ +----+ | ||
337 | * | | +----+ +----+ | ||
338 | * | | | K4 | | K2 | | ||
339 | * | | +----+ +----+ | ||
340 | * | | +----+ +----+ | ||
341 | * | | | K6 | | K3 | | ||
342 | * | | +----+ +----+ | ||
343 | * ..... | ||
344 | */ | ||
345 | static struct gpio_keys_button mini2440_buttons[] __initdata = { | ||
346 | { | ||
347 | .gpio = S3C2410_GPG(0), /* K1 */ | ||
348 | .code = KEY_F1, | ||
349 | .desc = "Button 1", | ||
350 | .active_low = 1, | ||
351 | }, | ||
352 | { | ||
353 | .gpio = S3C2410_GPG(3), /* K2 */ | ||
354 | .code = KEY_F2, | ||
355 | .desc = "Button 2", | ||
356 | .active_low = 1, | ||
357 | }, | ||
358 | { | ||
359 | .gpio = S3C2410_GPG(5), /* K3 */ | ||
360 | .code = KEY_F3, | ||
361 | .desc = "Button 3", | ||
362 | .active_low = 1, | ||
363 | }, | ||
364 | { | ||
365 | .gpio = S3C2410_GPG(6), /* K4 */ | ||
366 | .code = KEY_POWER, | ||
367 | .desc = "Power", | ||
368 | .active_low = 1, | ||
369 | }, | ||
370 | { | ||
371 | .gpio = S3C2410_GPG(7), /* K5 */ | ||
372 | .code = KEY_F5, | ||
373 | .desc = "Button 5", | ||
374 | .active_low = 1, | ||
375 | }, | ||
376 | #if 0 | ||
377 | /* this pin is also known as TCLK1 and seems to already | ||
378 | * marked as "in use" somehow in the kernel -- possibly wrongly */ | ||
379 | { | ||
380 | .gpio = S3C2410_GPG(11), /* K6 */ | ||
381 | .code = KEY_F6, | ||
382 | .desc = "Button 6", | ||
383 | .active_low = 1, | ||
384 | }, | ||
385 | #endif | ||
386 | }; | ||
387 | |||
388 | static struct gpio_keys_platform_data mini2440_button_data __initdata = { | ||
389 | .buttons = mini2440_buttons, | ||
390 | .nbuttons = ARRAY_SIZE(mini2440_buttons), | ||
391 | }; | ||
392 | |||
393 | static struct platform_device mini2440_button_device __initdata = { | ||
394 | .name = "gpio-keys", | ||
395 | .id = -1, | ||
396 | .dev = { | ||
397 | .platform_data = &mini2440_button_data, | ||
398 | } | ||
399 | }; | ||
400 | |||
401 | /* LEDS */ | ||
402 | |||
403 | static struct s3c24xx_led_platdata mini2440_led1_pdata __initdata = { | ||
404 | .name = "led1", | ||
405 | .gpio = S3C2410_GPB(5), | ||
406 | .flags = S3C24XX_LEDF_ACTLOW | S3C24XX_LEDF_TRISTATE, | ||
407 | .def_trigger = "heartbeat", | ||
408 | }; | ||
409 | |||
410 | static struct s3c24xx_led_platdata mini2440_led2_pdata __initdata = { | ||
411 | .name = "led2", | ||
412 | .gpio = S3C2410_GPB(6), | ||
413 | .flags = S3C24XX_LEDF_ACTLOW | S3C24XX_LEDF_TRISTATE, | ||
414 | .def_trigger = "nand-disk", | ||
415 | }; | ||
416 | |||
417 | static struct s3c24xx_led_platdata mini2440_led3_pdata __initdata = { | ||
418 | .name = "led3", | ||
419 | .gpio = S3C2410_GPB(7), | ||
420 | .flags = S3C24XX_LEDF_ACTLOW | S3C24XX_LEDF_TRISTATE, | ||
421 | .def_trigger = "mmc0", | ||
422 | }; | ||
423 | |||
424 | static struct s3c24xx_led_platdata mini2440_led4_pdata __initdata = { | ||
425 | .name = "led4", | ||
426 | .gpio = S3C2410_GPB(8), | ||
427 | .flags = S3C24XX_LEDF_ACTLOW | S3C24XX_LEDF_TRISTATE, | ||
428 | .def_trigger = "", | ||
429 | }; | ||
430 | |||
431 | static struct s3c24xx_led_platdata mini2440_led_backlight_pdata __initdata = { | ||
432 | .name = "backlight", | ||
433 | .gpio = S3C2410_GPG(4), | ||
434 | .def_trigger = "backlight", | ||
435 | }; | ||
436 | |||
437 | static struct platform_device mini2440_led1 __initdata = { | ||
438 | .name = "s3c24xx_led", | ||
439 | .id = 1, | ||
440 | .dev = { | ||
441 | .platform_data = &mini2440_led1_pdata, | ||
442 | }, | ||
443 | }; | ||
444 | |||
445 | static struct platform_device mini2440_led2 __initdata = { | ||
446 | .name = "s3c24xx_led", | ||
447 | .id = 2, | ||
448 | .dev = { | ||
449 | .platform_data = &mini2440_led2_pdata, | ||
450 | }, | ||
451 | }; | ||
452 | |||
453 | static struct platform_device mini2440_led3 __initdata = { | ||
454 | .name = "s3c24xx_led", | ||
455 | .id = 3, | ||
456 | .dev = { | ||
457 | .platform_data = &mini2440_led3_pdata, | ||
458 | }, | ||
459 | }; | ||
460 | |||
461 | static struct platform_device mini2440_led4 __initdata = { | ||
462 | .name = "s3c24xx_led", | ||
463 | .id = 4, | ||
464 | .dev = { | ||
465 | .platform_data = &mini2440_led4_pdata, | ||
466 | }, | ||
467 | }; | ||
468 | |||
469 | static struct platform_device mini2440_led_backlight __initdata = { | ||
470 | .name = "s3c24xx_led", | ||
471 | .id = 5, | ||
472 | .dev = { | ||
473 | .platform_data = &mini2440_led_backlight_pdata, | ||
474 | }, | ||
475 | }; | ||
476 | |||
477 | /* AUDIO */ | ||
478 | |||
479 | static struct s3c24xx_uda134x_platform_data mini2440_audio_pins __initdata = { | ||
480 | .l3_clk = S3C2410_GPB(4), | ||
481 | .l3_mode = S3C2410_GPB(2), | ||
482 | .l3_data = S3C2410_GPB(3), | ||
483 | .model = UDA134X_UDA1341 | ||
484 | }; | ||
485 | |||
486 | static struct platform_device mini2440_audio __initdata = { | ||
487 | .name = "s3c24xx_uda134x", | ||
488 | .id = 0, | ||
489 | .dev = { | ||
490 | .platform_data = &mini2440_audio_pins, | ||
491 | }, | ||
492 | }; | ||
493 | |||
494 | /* | ||
495 | * I2C devices | ||
496 | */ | ||
497 | static struct at24_platform_data at24c08 = { | ||
498 | .byte_len = SZ_8K / 8, | ||
499 | .page_size = 16, | ||
500 | }; | ||
501 | |||
502 | static struct i2c_board_info mini2440_i2c_devs[] __initdata = { | ||
503 | { | ||
504 | I2C_BOARD_INFO("24c08", 0x50), | ||
505 | .platform_data = &at24c08, | ||
506 | }, | ||
507 | }; | ||
508 | |||
509 | static struct platform_device *mini2440_devices[] __initdata = { | ||
510 | &s3c_device_usb, | ||
511 | &s3c_device_wdt, | ||
512 | /* &s3c_device_adc,*/ /* ADC doesn't like living with touchscreen ! */ | ||
513 | &s3c_device_i2c0, | ||
514 | &s3c_device_rtc, | ||
515 | &s3c_device_usbgadget, | ||
516 | &mini2440_device_eth, | ||
517 | &mini2440_led1, | ||
518 | &mini2440_led2, | ||
519 | &mini2440_led3, | ||
520 | &mini2440_led4, | ||
521 | &mini2440_button_device, | ||
522 | &s3c_device_nand, | ||
523 | &s3c_device_sdi, | ||
524 | &s3c_device_iis, | ||
525 | &mini2440_audio, | ||
526 | /* &s3c_device_timer[0],*/ /* buzzer pwm, no API for it */ | ||
527 | /* remaining devices are optional */ | ||
528 | }; | ||
529 | |||
530 | static void __init mini2440_map_io(void) | ||
531 | { | ||
532 | s3c24xx_init_io(mini2440_iodesc, ARRAY_SIZE(mini2440_iodesc)); | ||
533 | s3c24xx_init_clocks(12000000); | ||
534 | s3c24xx_init_uarts(mini2440_uartcfgs, ARRAY_SIZE(mini2440_uartcfgs)); | ||
535 | |||
536 | s3c_device_nand.dev.platform_data = &mini2440_nand_info; | ||
537 | s3c_device_sdi.dev.platform_data = &mini2440_mmc_cfg; | ||
538 | } | ||
539 | |||
540 | /* | ||
541 | * mini2440_features string | ||
542 | * | ||
543 | * t = Touchscreen present | ||
544 | * b = backlight control | ||
545 | * c = camera [TODO] | ||
546 | * 0-9 LCD configuration | ||
547 | * | ||
548 | */ | ||
549 | static char mini2440_features_str[12] __initdata = "0tb"; | ||
550 | |||
551 | static int __init mini2440_features_setup(char *str) | ||
552 | { | ||
553 | if (str) | ||
554 | strlcpy(mini2440_features_str, str, sizeof(mini2440_features_str)); | ||
555 | return 1; | ||
556 | } | ||
557 | |||
558 | __setup("mini2440=", mini2440_features_setup); | ||
559 | |||
560 | #define FEATURE_SCREEN (1 << 0) | ||
561 | #define FEATURE_BACKLIGHT (1 << 1) | ||
562 | #define FEATURE_TOUCH (1 << 2) | ||
563 | #define FEATURE_CAMERA (1 << 3) | ||
564 | |||
565 | struct mini2440_features_t { | ||
566 | int count; | ||
567 | int done; | ||
568 | int lcd_index; | ||
569 | struct platform_device *optional[8]; | ||
570 | }; | ||
571 | |||
572 | static void mini2440_parse_features( | ||
573 | struct mini2440_features_t * features, | ||
574 | const char * features_str ) | ||
575 | { | ||
576 | const char * fp = features_str; | ||
577 | |||
578 | features->count = 0; | ||
579 | features->done = 0; | ||
580 | features->lcd_index = -1; | ||
581 | |||
582 | while (*fp) { | ||
583 | char f = *fp++; | ||
584 | |||
585 | switch (f) { | ||
586 | case '0'...'9': /* tft screen */ | ||
587 | if (features->done & FEATURE_SCREEN) { | ||
588 | printk(KERN_INFO "MINI2440: '%c' ignored, " | ||
589 | "screen type already set\n", f); | ||
590 | } else { | ||
591 | int li = f - '0'; | ||
592 | if (li >= ARRAY_SIZE(mini2440_lcd_cfg)) | ||
593 | printk(KERN_INFO "MINI2440: " | ||
594 | "'%c' out of range LCD mode\n", f); | ||
595 | else { | ||
596 | features->optional[features->count++] = | ||
597 | &s3c_device_lcd; | ||
598 | features->lcd_index = li; | ||
599 | } | ||
600 | } | ||
601 | features->done |= FEATURE_SCREEN; | ||
602 | break; | ||
603 | case 'b': | ||
604 | if (features->done & FEATURE_BACKLIGHT) | ||
605 | printk(KERN_INFO "MINI2440: '%c' ignored, " | ||
606 | "backlight already set\n", f); | ||
607 | else { | ||
608 | features->optional[features->count++] = | ||
609 | &mini2440_led_backlight; | ||
610 | } | ||
611 | features->done |= FEATURE_BACKLIGHT; | ||
612 | break; | ||
613 | case 't': | ||
614 | printk(KERN_INFO "MINI2440: '%c' ignored, " | ||
615 | "touchscreen not compiled in\n", f); | ||
616 | break; | ||
617 | case 'c': | ||
618 | if (features->done & FEATURE_CAMERA) | ||
619 | printk(KERN_INFO "MINI2440: '%c' ignored, " | ||
620 | "camera already registered\n", f); | ||
621 | else | ||
622 | features->optional[features->count++] = | ||
623 | &s3c_device_camif; | ||
624 | features->done |= FEATURE_CAMERA; | ||
625 | break; | ||
626 | } | ||
627 | } | ||
628 | } | ||
629 | |||
630 | static void __init mini2440_init(void) | ||
631 | { | ||
632 | struct mini2440_features_t features = { 0 }; | ||
633 | int i; | ||
634 | |||
635 | printk(KERN_INFO "MINI2440: Option string mini2440=%s\n", | ||
636 | mini2440_features_str); | ||
637 | |||
638 | /* Parse the feature string */ | ||
639 | mini2440_parse_features(&features, mini2440_features_str); | ||
640 | |||
641 | /* turn LCD on */ | ||
642 | s3c2410_gpio_cfgpin(S3C2410_GPC(0), S3C2410_GPC0_LEND); | ||
643 | |||
644 | /* Turn the backlight early on */ | ||
645 | s3c2410_gpio_setpin(S3C2410_GPG(4), 1); | ||
646 | s3c2410_gpio_cfgpin(S3C2410_GPG(4), S3C2410_GPIO_OUTPUT); | ||
647 | |||
648 | /* remove pullup on optional PWM backlight -- unused on 3.5 and 7"s */ | ||
649 | s3c2410_gpio_pullup(S3C2410_GPB(1), 0); | ||
650 | s3c2410_gpio_setpin(S3C2410_GPB(1), 0); | ||
651 | s3c2410_gpio_cfgpin(S3C2410_GPB(1), S3C2410_GPIO_INPUT); | ||
652 | |||
653 | /* Make sure the D+ pullup pin is output */ | ||
654 | s3c2410_gpio_cfgpin(S3C2410_GPC(5), S3C2410_GPIO_OUTPUT); | ||
655 | |||
656 | /* mark the key as input, without pullups (there is one on the board) */ | ||
657 | for (i = 0; i < ARRAY_SIZE(mini2440_buttons); i++) { | ||
658 | s3c2410_gpio_pullup(mini2440_buttons[i].gpio, 0); | ||
659 | s3c2410_gpio_cfgpin(mini2440_buttons[i].gpio, | ||
660 | S3C2410_GPIO_INPUT); | ||
661 | } | ||
662 | if (features.lcd_index != -1) { | ||
663 | int li; | ||
664 | |||
665 | mini2440_fb_info.displays = | ||
666 | &mini2440_lcd_cfg[features.lcd_index]; | ||
667 | |||
668 | printk(KERN_INFO "MINI2440: LCD"); | ||
669 | for (li = 0; li < ARRAY_SIZE(mini2440_lcd_cfg); li++) | ||
670 | if (li == features.lcd_index) | ||
671 | printk(" [%d:%dx%d]", li, | ||
672 | mini2440_lcd_cfg[li].width, | ||
673 | mini2440_lcd_cfg[li].height); | ||
674 | else | ||
675 | printk(" %d:%dx%d", li, | ||
676 | mini2440_lcd_cfg[li].width, | ||
677 | mini2440_lcd_cfg[li].height); | ||
678 | printk("\n"); | ||
679 | s3c24xx_fb_set_platdata(&mini2440_fb_info); | ||
680 | } | ||
681 | s3c24xx_udc_set_platdata(&mini2440_udc_cfg); | ||
682 | s3c_i2c0_set_platdata(NULL); | ||
683 | i2c_register_board_info(0, mini2440_i2c_devs, | ||
684 | ARRAY_SIZE(mini2440_i2c_devs)); | ||
685 | |||
686 | platform_add_devices(mini2440_devices, ARRAY_SIZE(mini2440_devices)); | ||
687 | |||
688 | if (features.count) /* the optional features */ | ||
689 | platform_add_devices(features.optional, features.count); | ||
690 | |||
691 | } | ||
692 | |||
693 | |||
694 | MACHINE_START(MINI2440, "MINI2440") | ||
695 | /* Maintainer: Michel Pollet <buserror@gmail.com> */ | ||
696 | .phys_io = S3C2410_PA_UART, | ||
697 | .io_pg_offst = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc, | ||
698 | .boot_params = S3C2410_SDRAM_PA + 0x100, | ||
699 | .map_io = mini2440_map_io, | ||
700 | .init_machine = mini2440_init, | ||
701 | .init_irq = s3c24xx_init_irq, | ||
702 | .timer = &s3c24xx_timer, | ||
703 | MACHINE_END | ||
diff --git a/arch/arm/mach-s3c2442/Kconfig b/arch/arm/mach-s3c2442/Kconfig index b289d198020e..103e913f2258 100644 --- a/arch/arm/mach-s3c2442/Kconfig +++ b/arch/arm/mach-s3c2442/Kconfig | |||
@@ -24,6 +24,18 @@ config SMDK2440_CPU2442 | |||
24 | depends on ARCH_S3C2440 | 24 | depends on ARCH_S3C2440 |
25 | select CPU_S3C2442 | 25 | select CPU_S3C2442 |
26 | 26 | ||
27 | config MACH_NEO1973_GTA02 | ||
28 | bool "Openmoko GTA02 / Freerunner phone" | ||
29 | select CPU_S3C2442 | ||
30 | select MFD_PCF50633 | ||
31 | select PCF50633_GPIO | ||
32 | select I2C | ||
33 | select POWER_SUPPLY | ||
34 | select MACH_NEO1973 | ||
35 | select S3C2410_PWM | ||
36 | help | ||
37 | Say Y here if you are using the Openmoko GTA02 / Freerunner GSM Phone | ||
38 | |||
27 | 39 | ||
28 | endmenu | 40 | endmenu |
29 | 41 | ||
diff --git a/arch/arm/mach-s3c2442/Makefile b/arch/arm/mach-s3c2442/Makefile index 2a909c6c5798..2a19113a5769 100644 --- a/arch/arm/mach-s3c2442/Makefile +++ b/arch/arm/mach-s3c2442/Makefile | |||
@@ -12,5 +12,7 @@ obj- := | |||
12 | obj-$(CONFIG_CPU_S3C2442) += s3c2442.o | 12 | obj-$(CONFIG_CPU_S3C2442) += s3c2442.o |
13 | obj-$(CONFIG_CPU_S3C2442) += clock.o | 13 | obj-$(CONFIG_CPU_S3C2442) += clock.o |
14 | 14 | ||
15 | obj-$(CONFIG_MACH_NEO1973_GTA02) += mach-gta02.o | ||
16 | |||
15 | # Machine support | 17 | # Machine support |
16 | 18 | ||
diff --git a/arch/arm/mach-s3c2442/include/mach/gta02.h b/arch/arm/mach-s3c2442/include/mach/gta02.h new file mode 100644 index 000000000000..953331d8d56a --- /dev/null +++ b/arch/arm/mach-s3c2442/include/mach/gta02.h | |||
@@ -0,0 +1,84 @@ | |||
1 | #ifndef _GTA02_H | ||
2 | #define _GTA02_H | ||
3 | |||
4 | #include <mach/regs-gpio.h> | ||
5 | |||
6 | /* Different hardware revisions, passed in ATAG_REVISION by u-boot */ | ||
7 | #define GTA02v1_SYSTEM_REV 0x00000310 | ||
8 | #define GTA02v2_SYSTEM_REV 0x00000320 | ||
9 | #define GTA02v3_SYSTEM_REV 0x00000330 | ||
10 | #define GTA02v4_SYSTEM_REV 0x00000340 | ||
11 | #define GTA02v5_SYSTEM_REV 0x00000350 | ||
12 | /* since A7 is basically same as A6, we use A6 PCB ID */ | ||
13 | #define GTA02v6_SYSTEM_REV 0x00000360 | ||
14 | |||
15 | #define GTA02_GPIO_n3DL_GSM S3C2410_GPA(13) /* v1 + v2 + v3 only */ | ||
16 | |||
17 | #define GTA02_GPIO_PWR_LED1 S3C2410_GPB(0) | ||
18 | #define GTA02_GPIO_PWR_LED2 S3C2410_GPB(1) | ||
19 | #define GTA02_GPIO_AUX_LED S3C2410_GPB(2) | ||
20 | #define GTA02_GPIO_VIBRATOR_ON S3C2410_GPB(3) | ||
21 | #define GTA02_GPIO_MODEM_RST S3C2410_GPB(5) | ||
22 | #define GTA02_GPIO_BT_EN S3C2410_GPB(6) | ||
23 | #define GTA02_GPIO_MODEM_ON S3C2410_GPB(7) | ||
24 | #define GTA02_GPIO_EXTINT8 S3C2410_GPB(8) | ||
25 | #define GTA02_GPIO_USB_PULLUP S3C2410_GPB(9) | ||
26 | |||
27 | #define GTA02_GPIO_PIO5 S3C2410_GPC(5) /* v3 + v4 only */ | ||
28 | |||
29 | #define GTA02v3_GPIO_nG1_CS S3C2410_GPD(12) /* v3 + v4 only */ | ||
30 | #define GTA02v3_GPIO_nG2_CS S3C2410_GPD(13) /* v3 + v4 only */ | ||
31 | #define GTA02v5_GPIO_HDQ S3C2410_GPD(14) /* v5 + */ | ||
32 | |||
33 | #define GTA02_GPIO_nG1_INT S3C2410_GPF(0) | ||
34 | #define GTA02_GPIO_IO1 S3C2410_GPF(1) | ||
35 | #define GTA02_GPIO_PIO_2 S3C2410_GPF(2) /* v2 + v3 + v4 only */ | ||
36 | #define GTA02_GPIO_JACK_INSERT S3C2410_GPF(4) | ||
37 | #define GTA02_GPIO_WLAN_GPIO1 S3C2410_GPF(5) /* v2 + v3 + v4 only */ | ||
38 | #define GTA02_GPIO_AUX_KEY S3C2410_GPF(6) | ||
39 | #define GTA02_GPIO_HOLD_KEY S3C2410_GPF(7) | ||
40 | |||
41 | #define GTA02_GPIO_3D_IRQ S3C2410_GPG(4) | ||
42 | #define GTA02v2_GPIO_nG2_INT S3C2410_GPG(8) /* v2 + v3 + v4 only */ | ||
43 | #define GTA02v3_GPIO_nUSB_OC S3C2410_GPG(9) /* v3 + v4 only */ | ||
44 | #define GTA02v3_GPIO_nUSB_FLT S3C2410_GPG(10) /* v3 + v4 only */ | ||
45 | #define GTA02v3_GPIO_nGSM_OC S3C2410_GPG(11) /* v3 + v4 only */ | ||
46 | |||
47 | #define GTA02_GPIO_AMP_SHUT S3C2440_GPJ1 /* v2 + v3 + v4 only */ | ||
48 | #define GTA02v1_GPIO_WLAN_GPIO10 S3C2440_GPJ2 | ||
49 | #define GTA02_GPIO_HP_IN S3C2440_GPJ2 /* v2 + v3 + v4 only */ | ||
50 | #define GTA02_GPIO_INT0 S3C2440_GPJ3 /* v2 + v3 + v4 only */ | ||
51 | #define GTA02_GPIO_nGSM_EN S3C2440_GPJ4 | ||
52 | #define GTA02_GPIO_3D_RESET S3C2440_GPJ5 | ||
53 | #define GTA02_GPIO_nDL_GSM S3C2440_GPJ6 /* v4 + v5 only */ | ||
54 | #define GTA02_GPIO_WLAN_GPIO0 S3C2440_GPJ7 | ||
55 | #define GTA02v1_GPIO_BAT_ID S3C2440_GPJ8 | ||
56 | #define GTA02_GPIO_KEEPACT S3C2440_GPJ8 | ||
57 | #define GTA02v1_GPIO_HP_IN S3C2440_GPJ10 | ||
58 | #define GTA02_CHIP_PWD S3C2440_GPJ11 /* v2 + v3 + v4 only */ | ||
59 | #define GTA02_GPIO_nWLAN_RESET S3C2440_GPJ12 /* v2 + v3 + v4 only */ | ||
60 | |||
61 | #define GTA02_IRQ_GSENSOR_1 IRQ_EINT0 | ||
62 | #define GTA02_IRQ_MODEM IRQ_EINT1 | ||
63 | #define GTA02_IRQ_PIO_2 IRQ_EINT2 /* v2 + v3 + v4 only */ | ||
64 | #define GTA02_IRQ_nJACK_INSERT IRQ_EINT4 | ||
65 | #define GTA02_IRQ_WLAN_GPIO1 IRQ_EINT5 | ||
66 | #define GTA02_IRQ_AUX IRQ_EINT6 | ||
67 | #define GTA02_IRQ_nHOLD IRQ_EINT7 | ||
68 | #define GTA02_IRQ_PCF50633 IRQ_EINT9 | ||
69 | #define GTA02_IRQ_3D IRQ_EINT12 | ||
70 | #define GTA02_IRQ_GSENSOR_2 IRQ_EINT16 /* v2 + v3 + v4 only */ | ||
71 | #define GTA02v3_IRQ_nUSB_OC IRQ_EINT17 /* v3 + v4 only */ | ||
72 | #define GTA02v3_IRQ_nUSB_FLT IRQ_EINT18 /* v3 + v4 only */ | ||
73 | #define GTA02v3_IRQ_nGSM_OC IRQ_EINT19 /* v3 + v4 only */ | ||
74 | |||
75 | /* returns 00 000 on GTA02 A5 and earlier, A6 returns 01 001 */ | ||
76 | #define GTA02_PCB_ID1_0 S3C2410_GPC(13) | ||
77 | #define GTA02_PCB_ID1_1 S3C2410_GPC(15) | ||
78 | #define GTA02_PCB_ID1_2 S3C2410_GPD(0) | ||
79 | #define GTA02_PCB_ID2_0 S3C2410_GPD(3) | ||
80 | #define GTA02_PCB_ID2_1 S3C2410_GPD(4) | ||
81 | |||
82 | int gta02_get_pcb_revision(void); | ||
83 | |||
84 | #endif /* _GTA02_H */ | ||
diff --git a/arch/arm/mach-s3c2442/mach-gta02.c b/arch/arm/mach-s3c2442/mach-gta02.c new file mode 100644 index 000000000000..e23b581aa0e1 --- /dev/null +++ b/arch/arm/mach-s3c2442/mach-gta02.c | |||
@@ -0,0 +1,646 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/mach-s3c2442/mach-gta02.c | ||
3 | * | ||
4 | * S3C2442 Machine Support for Openmoko GTA02 / FreeRunner. | ||
5 | * | ||
6 | * Copyright (C) 2006-2009 by Openmoko, Inc. | ||
7 | * Authors: Harald Welte <laforge@openmoko.org> | ||
8 | * Andy Green <andy@openmoko.org> | ||
9 | * Werner Almesberger <werner@openmoko.org> | ||
10 | * All rights reserved. | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public License as | ||
14 | * published by the Free Software Foundation; either version 2 of | ||
15 | * the License, or (at your option) any later version. | ||
16 | * | ||
17 | * This program is distributed in the hope that it will be useful, | ||
18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
20 | * GNU General Public License for more details. | ||
21 | * | ||
22 | * You should have received a copy of the GNU General Public License | ||
23 | * along with this program; if not, write to the Free Software | ||
24 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | ||
25 | * MA 02111-1307 USA | ||
26 | * | ||
27 | */ | ||
28 | |||
29 | #include <linux/kernel.h> | ||
30 | #include <linux/types.h> | ||
31 | #include <linux/interrupt.h> | ||
32 | #include <linux/list.h> | ||
33 | #include <linux/delay.h> | ||
34 | #include <linux/timer.h> | ||
35 | #include <linux/init.h> | ||
36 | #include <linux/gpio.h> | ||
37 | #include <linux/workqueue.h> | ||
38 | #include <linux/platform_device.h> | ||
39 | #include <linux/serial_core.h> | ||
40 | #include <linux/spi/spi.h> | ||
41 | |||
42 | #include <linux/mmc/host.h> | ||
43 | |||
44 | #include <linux/mtd/mtd.h> | ||
45 | #include <linux/mtd/nand.h> | ||
46 | #include <linux/mtd/nand_ecc.h> | ||
47 | #include <linux/mtd/partitions.h> | ||
48 | #include <linux/mtd/physmap.h> | ||
49 | #include <linux/io.h> | ||
50 | |||
51 | #include <linux/i2c.h> | ||
52 | #include <linux/backlight.h> | ||
53 | #include <linux/regulator/machine.h> | ||
54 | |||
55 | #include <linux/mfd/pcf50633/core.h> | ||
56 | #include <linux/mfd/pcf50633/mbc.h> | ||
57 | #include <linux/mfd/pcf50633/adc.h> | ||
58 | #include <linux/mfd/pcf50633/gpio.h> | ||
59 | #include <linux/mfd/pcf50633/pmic.h> | ||
60 | |||
61 | #include <asm/mach/arch.h> | ||
62 | #include <asm/mach/map.h> | ||
63 | #include <asm/mach/irq.h> | ||
64 | |||
65 | #include <asm/irq.h> | ||
66 | #include <asm/mach-types.h> | ||
67 | |||
68 | #include <mach/regs-irq.h> | ||
69 | #include <mach/regs-gpio.h> | ||
70 | #include <mach/regs-gpioj.h> | ||
71 | #include <mach/fb.h> | ||
72 | |||
73 | #include <mach/spi.h> | ||
74 | #include <mach/spi-gpio.h> | ||
75 | #include <plat/usb-control.h> | ||
76 | #include <mach/regs-mem.h> | ||
77 | #include <mach/hardware.h> | ||
78 | |||
79 | #include <mach/gta02.h> | ||
80 | |||
81 | #include <plat/regs-serial.h> | ||
82 | #include <plat/nand.h> | ||
83 | #include <plat/devs.h> | ||
84 | #include <plat/cpu.h> | ||
85 | #include <plat/pm.h> | ||
86 | #include <plat/udc.h> | ||
87 | #include <plat/gpio-cfg.h> | ||
88 | #include <plat/iic.h> | ||
89 | |||
90 | static struct pcf50633 *gta02_pcf; | ||
91 | |||
92 | /* | ||
93 | * This gets called every 1ms when we paniced. | ||
94 | */ | ||
95 | |||
96 | static long gta02_panic_blink(long count) | ||
97 | { | ||
98 | long delay = 0; | ||
99 | static long last_blink; | ||
100 | static char led; | ||
101 | |||
102 | /* Fast blink: 200ms period. */ | ||
103 | if (count - last_blink < 100) | ||
104 | return 0; | ||
105 | |||
106 | led ^= 1; | ||
107 | gpio_direction_output(GTA02_GPIO_AUX_LED, led); | ||
108 | |||
109 | last_blink = count; | ||
110 | |||
111 | return delay; | ||
112 | } | ||
113 | |||
114 | |||
115 | static struct map_desc gta02_iodesc[] __initdata = { | ||
116 | { | ||
117 | .virtual = 0xe0000000, | ||
118 | .pfn = __phys_to_pfn(S3C2410_CS3 + 0x01000000), | ||
119 | .length = SZ_1M, | ||
120 | .type = MT_DEVICE | ||
121 | }, | ||
122 | }; | ||
123 | |||
124 | #define UCON (S3C2410_UCON_DEFAULT | S3C2443_UCON_RXERR_IRQEN) | ||
125 | #define ULCON (S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB) | ||
126 | #define UFCON (S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE) | ||
127 | |||
128 | static struct s3c2410_uartcfg gta02_uartcfgs[] = { | ||
129 | [0] = { | ||
130 | .hwport = 0, | ||
131 | .flags = 0, | ||
132 | .ucon = UCON, | ||
133 | .ulcon = ULCON, | ||
134 | .ufcon = UFCON, | ||
135 | }, | ||
136 | [1] = { | ||
137 | .hwport = 1, | ||
138 | .flags = 0, | ||
139 | .ucon = UCON, | ||
140 | .ulcon = ULCON, | ||
141 | .ufcon = UFCON, | ||
142 | }, | ||
143 | [2] = { | ||
144 | .hwport = 2, | ||
145 | .flags = 0, | ||
146 | .ucon = UCON, | ||
147 | .ulcon = ULCON, | ||
148 | .ufcon = UFCON, | ||
149 | }, | ||
150 | }; | ||
151 | |||
152 | #ifdef CONFIG_CHARGER_PCF50633 | ||
153 | /* | ||
154 | * On GTA02 the 1A charger features a 48K resistor to 0V on the ID pin. | ||
155 | * We use this to recognize that we can pull 1A from the USB socket. | ||
156 | * | ||
157 | * These constants are the measured pcf50633 ADC levels with the 1A | ||
158 | * charger / 48K resistor, and with no pulldown resistor. | ||
159 | */ | ||
160 | |||
161 | #define ADC_NOM_CHG_DETECT_1A 6 | ||
162 | #define ADC_NOM_CHG_DETECT_USB 43 | ||
163 | |||
164 | static void | ||
165 | gta02_configure_pmu_for_charger(struct pcf50633 *pcf, void *unused, int res) | ||
166 | { | ||
167 | int ma; | ||
168 | |||
169 | /* Interpret charger type */ | ||
170 | if (res < ((ADC_NOM_CHG_DETECT_USB + ADC_NOM_CHG_DETECT_1A) / 2)) { | ||
171 | |||
172 | /* | ||
173 | * Sanity - stop GPO driving out now that we have a 1A charger | ||
174 | * GPO controls USB Host power generation on GTA02 | ||
175 | */ | ||
176 | pcf50633_gpio_set(pcf, PCF50633_GPO, 0); | ||
177 | |||
178 | ma = 1000; | ||
179 | } else | ||
180 | ma = 100; | ||
181 | |||
182 | pcf50633_mbc_usb_curlim_set(pcf, ma); | ||
183 | } | ||
184 | |||
185 | static struct delayed_work gta02_charger_work; | ||
186 | static int gta02_usb_vbus_draw; | ||
187 | |||
188 | static void gta02_charger_worker(struct work_struct *work) | ||
189 | { | ||
190 | if (gta02_usb_vbus_draw) { | ||
191 | pcf50633_mbc_usb_curlim_set(gta02_pcf, gta02_usb_vbus_draw); | ||
192 | return; | ||
193 | } | ||
194 | |||
195 | #ifdef CONFIG_PCF50633_ADC | ||
196 | pcf50633_adc_async_read(gta02_pcf, | ||
197 | PCF50633_ADCC1_MUX_ADCIN1, | ||
198 | PCF50633_ADCC1_AVERAGE_16, | ||
199 | gta02_configure_pmu_for_charger, | ||
200 | NULL); | ||
201 | #else | ||
202 | /* | ||
203 | * If the PCF50633 ADC is disabled we fallback to a | ||
204 | * 100mA limit for safety. | ||
205 | */ | ||
206 | pcf50633_mbc_usb_curlim_set(pcf, 100); | ||
207 | #endif | ||
208 | } | ||
209 | |||
210 | #define GTA02_CHARGER_CONFIGURE_TIMEOUT ((3000 * HZ) / 1000) | ||
211 | |||
212 | static void gta02_pmu_event_callback(struct pcf50633 *pcf, int irq) | ||
213 | { | ||
214 | if (irq == PCF50633_IRQ_USBINS) { | ||
215 | schedule_delayed_work(>a02_charger_work, | ||
216 | GTA02_CHARGER_CONFIGURE_TIMEOUT); | ||
217 | |||
218 | return; | ||
219 | } | ||
220 | |||
221 | if (irq == PCF50633_IRQ_USBREM) { | ||
222 | cancel_delayed_work_sync(>a02_charger_work); | ||
223 | gta02_usb_vbus_draw = 0; | ||
224 | } | ||
225 | } | ||
226 | |||
227 | static void gta02_udc_vbus_draw(unsigned int ma) | ||
228 | { | ||
229 | if (!gta02_pcf) | ||
230 | return; | ||
231 | |||
232 | gta02_usb_vbus_draw = ma; | ||
233 | |||
234 | schedule_delayed_work(>a02_charger_work, | ||
235 | GTA02_CHARGER_CONFIGURE_TIMEOUT); | ||
236 | } | ||
237 | #else /* !CONFIG_CHARGER_PCF50633 */ | ||
238 | #define gta02_pmu_event_callback NULL | ||
239 | #define gta02_udc_vbus_draw NULL | ||
240 | #endif | ||
241 | |||
242 | /* | ||
243 | * This is called when pc50633 is probed, unfortunately quite late in the | ||
244 | * day since it is an I2C bus device. Here we can belatedly define some | ||
245 | * platform devices with the advantage that we can mark the pcf50633 as the | ||
246 | * parent. This makes them get suspended and resumed with their parent | ||
247 | * the pcf50633 still around. | ||
248 | */ | ||
249 | |||
250 | static void gta02_pmu_attach_child_devices(struct pcf50633 *pcf); | ||
251 | |||
252 | |||
253 | static char *gta02_batteries[] = { | ||
254 | "battery", | ||
255 | }; | ||
256 | |||
257 | struct pcf50633_platform_data gta02_pcf_pdata = { | ||
258 | .resumers = { | ||
259 | [0] = PCF50633_INT1_USBINS | | ||
260 | PCF50633_INT1_USBREM | | ||
261 | PCF50633_INT1_ALARM, | ||
262 | [1] = PCF50633_INT2_ONKEYF, | ||
263 | [2] = PCF50633_INT3_ONKEY1S, | ||
264 | [3] = PCF50633_INT4_LOWSYS | | ||
265 | PCF50633_INT4_LOWBAT | | ||
266 | PCF50633_INT4_HIGHTMP, | ||
267 | }, | ||
268 | |||
269 | .batteries = gta02_batteries, | ||
270 | .num_batteries = ARRAY_SIZE(gta02_batteries), | ||
271 | .reg_init_data = { | ||
272 | [PCF50633_REGULATOR_AUTO] = { | ||
273 | .constraints = { | ||
274 | .min_uV = 3300000, | ||
275 | .max_uV = 3300000, | ||
276 | .valid_modes_mask = REGULATOR_MODE_NORMAL, | ||
277 | .always_on = 1, | ||
278 | .apply_uV = 1, | ||
279 | .state_mem = { | ||
280 | .enabled = 1, | ||
281 | }, | ||
282 | }, | ||
283 | }, | ||
284 | [PCF50633_REGULATOR_DOWN1] = { | ||
285 | .constraints = { | ||
286 | .min_uV = 1300000, | ||
287 | .max_uV = 1600000, | ||
288 | .valid_modes_mask = REGULATOR_MODE_NORMAL, | ||
289 | .always_on = 1, | ||
290 | .apply_uV = 1, | ||
291 | }, | ||
292 | }, | ||
293 | [PCF50633_REGULATOR_DOWN2] = { | ||
294 | .constraints = { | ||
295 | .min_uV = 1800000, | ||
296 | .max_uV = 1800000, | ||
297 | .valid_modes_mask = REGULATOR_MODE_NORMAL, | ||
298 | .apply_uV = 1, | ||
299 | .always_on = 1, | ||
300 | .state_mem = { | ||
301 | .enabled = 1, | ||
302 | }, | ||
303 | }, | ||
304 | }, | ||
305 | [PCF50633_REGULATOR_HCLDO] = { | ||
306 | .constraints = { | ||
307 | .min_uV = 2000000, | ||
308 | .max_uV = 3300000, | ||
309 | .valid_modes_mask = REGULATOR_MODE_NORMAL, | ||
310 | .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE, | ||
311 | .always_on = 1, | ||
312 | }, | ||
313 | }, | ||
314 | [PCF50633_REGULATOR_LDO1] = { | ||
315 | .constraints = { | ||
316 | .min_uV = 3300000, | ||
317 | .max_uV = 3300000, | ||
318 | .valid_modes_mask = REGULATOR_MODE_NORMAL, | ||
319 | .apply_uV = 1, | ||
320 | .state_mem = { | ||
321 | .enabled = 0, | ||
322 | }, | ||
323 | }, | ||
324 | }, | ||
325 | [PCF50633_REGULATOR_LDO2] = { | ||
326 | .constraints = { | ||
327 | .min_uV = 3300000, | ||
328 | .max_uV = 3300000, | ||
329 | .valid_modes_mask = REGULATOR_MODE_NORMAL, | ||
330 | .apply_uV = 1, | ||
331 | }, | ||
332 | }, | ||
333 | [PCF50633_REGULATOR_LDO3] = { | ||
334 | .constraints = { | ||
335 | .min_uV = 3000000, | ||
336 | .max_uV = 3000000, | ||
337 | .valid_modes_mask = REGULATOR_MODE_NORMAL, | ||
338 | .apply_uV = 1, | ||
339 | }, | ||
340 | }, | ||
341 | [PCF50633_REGULATOR_LDO4] = { | ||
342 | .constraints = { | ||
343 | .min_uV = 3200000, | ||
344 | .max_uV = 3200000, | ||
345 | .valid_modes_mask = REGULATOR_MODE_NORMAL, | ||
346 | .apply_uV = 1, | ||
347 | }, | ||
348 | }, | ||
349 | [PCF50633_REGULATOR_LDO5] = { | ||
350 | .constraints = { | ||
351 | .min_uV = 3000000, | ||
352 | .max_uV = 3000000, | ||
353 | .valid_modes_mask = REGULATOR_MODE_NORMAL, | ||
354 | .apply_uV = 1, | ||
355 | .state_mem = { | ||
356 | .enabled = 1, | ||
357 | }, | ||
358 | }, | ||
359 | }, | ||
360 | [PCF50633_REGULATOR_LDO6] = { | ||
361 | .constraints = { | ||
362 | .min_uV = 3000000, | ||
363 | .max_uV = 3000000, | ||
364 | .valid_modes_mask = REGULATOR_MODE_NORMAL, | ||
365 | }, | ||
366 | }, | ||
367 | [PCF50633_REGULATOR_MEMLDO] = { | ||
368 | .constraints = { | ||
369 | .min_uV = 1800000, | ||
370 | .max_uV = 1800000, | ||
371 | .valid_modes_mask = REGULATOR_MODE_NORMAL, | ||
372 | .state_mem = { | ||
373 | .enabled = 1, | ||
374 | }, | ||
375 | }, | ||
376 | }, | ||
377 | |||
378 | }, | ||
379 | .probe_done = gta02_pmu_attach_child_devices, | ||
380 | .mbc_event_callback = gta02_pmu_event_callback, | ||
381 | }; | ||
382 | |||
383 | |||
384 | /* NOR Flash. */ | ||
385 | |||
386 | #define GTA02_FLASH_BASE 0x18000000 /* GCS3 */ | ||
387 | #define GTA02_FLASH_SIZE 0x200000 /* 2MBytes */ | ||
388 | |||
389 | static struct physmap_flash_data gta02_nor_flash_data = { | ||
390 | .width = 2, | ||
391 | }; | ||
392 | |||
393 | static struct resource gta02_nor_flash_resource = { | ||
394 | .start = GTA02_FLASH_BASE, | ||
395 | .end = GTA02_FLASH_BASE + GTA02_FLASH_SIZE - 1, | ||
396 | .flags = IORESOURCE_MEM, | ||
397 | }; | ||
398 | |||
399 | static struct platform_device gta02_nor_flash = { | ||
400 | .name = "physmap-flash", | ||
401 | .id = 0, | ||
402 | .dev = { | ||
403 | .platform_data = >a02_nor_flash_data, | ||
404 | }, | ||
405 | .resource = >a02_nor_flash_resource, | ||
406 | .num_resources = 1, | ||
407 | }; | ||
408 | |||
409 | |||
410 | struct platform_device s3c24xx_pwm_device = { | ||
411 | .name = "s3c24xx_pwm", | ||
412 | .num_resources = 0, | ||
413 | }; | ||
414 | |||
415 | static struct i2c_board_info gta02_i2c_devs[] __initdata = { | ||
416 | { | ||
417 | I2C_BOARD_INFO("pcf50633", 0x73), | ||
418 | .irq = GTA02_IRQ_PCF50633, | ||
419 | .platform_data = >a02_pcf_pdata, | ||
420 | }, | ||
421 | { | ||
422 | I2C_BOARD_INFO("wm8753", 0x1a), | ||
423 | }, | ||
424 | }; | ||
425 | |||
426 | static struct s3c2410_nand_set gta02_nand_sets[] = { | ||
427 | [0] = { | ||
428 | /* | ||
429 | * This name is also hard-coded in the boot loaders, so | ||
430 | * changing it would would require all users to upgrade | ||
431 | * their boot loaders, some of which are stored in a NOR | ||
432 | * that is considered to be immutable. | ||
433 | */ | ||
434 | .name = "neo1973-nand", | ||
435 | .nr_chips = 1, | ||
436 | .use_bbt = 1, | ||
437 | .force_soft_ecc = 1, | ||
438 | }, | ||
439 | }; | ||
440 | |||
441 | /* | ||
442 | * Choose a set of timings derived from S3C@2442B MCP54 | ||
443 | * data sheet (K5D2G13ACM-D075 MCP Memory). | ||
444 | */ | ||
445 | |||
446 | static struct s3c2410_platform_nand gta02_nand_info = { | ||
447 | .tacls = 0, | ||
448 | .twrph0 = 25, | ||
449 | .twrph1 = 15, | ||
450 | .nr_sets = ARRAY_SIZE(gta02_nand_sets), | ||
451 | .sets = gta02_nand_sets, | ||
452 | }; | ||
453 | |||
454 | |||
455 | static void gta02_udc_command(enum s3c2410_udc_cmd_e cmd) | ||
456 | { | ||
457 | switch (cmd) { | ||
458 | case S3C2410_UDC_P_ENABLE: | ||
459 | pr_debug("%s S3C2410_UDC_P_ENABLE\n", __func__); | ||
460 | gpio_direction_output(GTA02_GPIO_USB_PULLUP, 1); | ||
461 | break; | ||
462 | case S3C2410_UDC_P_DISABLE: | ||
463 | pr_debug("%s S3C2410_UDC_P_DISABLE\n", __func__); | ||
464 | gpio_direction_output(GTA02_GPIO_USB_PULLUP, 0); | ||
465 | break; | ||
466 | case S3C2410_UDC_P_RESET: | ||
467 | pr_debug("%s S3C2410_UDC_P_RESET\n", __func__); | ||
468 | /* FIXME: Do something here. */ | ||
469 | } | ||
470 | } | ||
471 | |||
472 | /* Get PMU to set USB current limit accordingly. */ | ||
473 | static struct s3c2410_udc_mach_info gta02_udc_cfg = { | ||
474 | .vbus_draw = gta02_udc_vbus_draw, | ||
475 | .udc_command = gta02_udc_command, | ||
476 | |||
477 | }; | ||
478 | |||
479 | |||
480 | |||
481 | static void gta02_bl_set_intensity(int intensity) | ||
482 | { | ||
483 | struct pcf50633 *pcf = gta02_pcf; | ||
484 | int old_intensity = pcf50633_reg_read(pcf, PCF50633_REG_LEDOUT); | ||
485 | |||
486 | /* We map 8-bit intensity to 6-bit intensity in hardware. */ | ||
487 | intensity >>= 2; | ||
488 | |||
489 | /* | ||
490 | * This can happen during, eg, print of panic on blanked console, | ||
491 | * but we can't service i2c without interrupts active, so abort. | ||
492 | */ | ||
493 | if (in_atomic()) { | ||
494 | printk(KERN_ERR "gta02_bl_set_intensity called while atomic\n"); | ||
495 | return; | ||
496 | } | ||
497 | |||
498 | old_intensity = pcf50633_reg_read(pcf, PCF50633_REG_LEDOUT); | ||
499 | if (intensity == old_intensity) | ||
500 | return; | ||
501 | |||
502 | /* We can't do this anywhere else. */ | ||
503 | pcf50633_reg_write(pcf, PCF50633_REG_LEDDIM, 5); | ||
504 | |||
505 | if (!(pcf50633_reg_read(pcf, PCF50633_REG_LEDENA) & 3)) | ||
506 | old_intensity = 0; | ||
507 | |||
508 | /* | ||
509 | * The PCF50633 cannot handle LEDOUT = 0 (datasheet p60) | ||
510 | * if seen, you have to re-enable the LED unit. | ||
511 | */ | ||
512 | if (!intensity || !old_intensity) | ||
513 | pcf50633_reg_write(pcf, PCF50633_REG_LEDENA, 0); | ||
514 | |||
515 | /* Illegal to set LEDOUT to 0. */ | ||
516 | if (!intensity) | ||
517 | pcf50633_reg_set_bit_mask(pcf, PCF50633_REG_LEDOUT, 0x3f, 2); | ||
518 | else | ||
519 | pcf50633_reg_set_bit_mask(pcf, PCF50633_REG_LEDOUT, 0x3f, | ||
520 | intensity); | ||
521 | |||
522 | if (intensity) | ||
523 | pcf50633_reg_write(pcf, PCF50633_REG_LEDENA, 2); | ||
524 | |||
525 | } | ||
526 | |||
527 | static struct generic_bl_info gta02_bl_info = { | ||
528 | .name = "gta02-bl", | ||
529 | .max_intensity = 0xff, | ||
530 | .default_intensity = 0xff, | ||
531 | .set_bl_intensity = gta02_bl_set_intensity, | ||
532 | }; | ||
533 | |||
534 | static struct platform_device gta02_bl_dev = { | ||
535 | .name = "generic-bl", | ||
536 | .id = 1, | ||
537 | .dev = { | ||
538 | .platform_data = >a02_bl_info, | ||
539 | }, | ||
540 | }; | ||
541 | |||
542 | |||
543 | |||
544 | /* USB */ | ||
545 | static struct s3c2410_hcd_info gta02_usb_info = { | ||
546 | .port[0] = { | ||
547 | .flags = S3C_HCDFLG_USED, | ||
548 | }, | ||
549 | .port[1] = { | ||
550 | .flags = 0, | ||
551 | }, | ||
552 | }; | ||
553 | |||
554 | |||
555 | static void __init gta02_map_io(void) | ||
556 | { | ||
557 | s3c24xx_init_io(gta02_iodesc, ARRAY_SIZE(gta02_iodesc)); | ||
558 | s3c24xx_init_clocks(12000000); | ||
559 | s3c24xx_init_uarts(gta02_uartcfgs, ARRAY_SIZE(gta02_uartcfgs)); | ||
560 | } | ||
561 | |||
562 | |||
563 | /* These are the guys that don't need to be children of PMU. */ | ||
564 | |||
565 | static struct platform_device *gta02_devices[] __initdata = { | ||
566 | &s3c_device_usb, | ||
567 | &s3c_device_wdt, | ||
568 | &s3c_device_sdi, | ||
569 | &s3c_device_usbgadget, | ||
570 | &s3c_device_nand, | ||
571 | >a02_nor_flash, | ||
572 | &s3c24xx_pwm_device, | ||
573 | &s3c_device_iis, | ||
574 | &s3c_device_i2c0, | ||
575 | }; | ||
576 | |||
577 | /* These guys DO need to be children of PMU. */ | ||
578 | |||
579 | static struct platform_device *gta02_devices_pmu_children[] = { | ||
580 | >a02_bl_dev, | ||
581 | }; | ||
582 | |||
583 | |||
584 | /* | ||
585 | * This is called when pc50633 is probed, quite late in the day since it is an | ||
586 | * I2C bus device. Here we can define platform devices with the advantage that | ||
587 | * we can mark the pcf50633 as the parent. This makes them get suspended and | ||
588 | * resumed with their parent the pcf50633 still around. All devices whose | ||
589 | * operation depends on something from pcf50633 must have this relationship | ||
590 | * made explicit like this, or suspend and resume will become an unreliable | ||
591 | * hellworld. | ||
592 | */ | ||
593 | |||
594 | static void gta02_pmu_attach_child_devices(struct pcf50633 *pcf) | ||
595 | { | ||
596 | int n; | ||
597 | |||
598 | /* Grab a copy of the now probed PMU pointer. */ | ||
599 | gta02_pcf = pcf; | ||
600 | |||
601 | for (n = 0; n < ARRAY_SIZE(gta02_devices_pmu_children); n++) | ||
602 | gta02_devices_pmu_children[n]->dev.parent = pcf->dev; | ||
603 | |||
604 | platform_add_devices(gta02_devices_pmu_children, | ||
605 | ARRAY_SIZE(gta02_devices_pmu_children)); | ||
606 | } | ||
607 | |||
608 | static void gta02_poweroff(void) | ||
609 | { | ||
610 | pcf50633_reg_set_bit_mask(gta02_pcf, PCF50633_REG_OOCSHDWN, 1, 1); | ||
611 | } | ||
612 | |||
613 | static void __init gta02_machine_init(void) | ||
614 | { | ||
615 | /* Set the panic callback to make AUX LED blink at ~5Hz. */ | ||
616 | panic_blink = gta02_panic_blink; | ||
617 | |||
618 | s3c_pm_init(); | ||
619 | |||
620 | #ifdef CONFIG_CHARGER_PCF50633 | ||
621 | INIT_DELAYED_WORK(>a02_charger_work, gta02_charger_worker); | ||
622 | #endif | ||
623 | |||
624 | s3c_device_usb.dev.platform_data = >a02_usb_info; | ||
625 | s3c_device_nand.dev.platform_data = >a02_nand_info; | ||
626 | |||
627 | s3c24xx_udc_set_platdata(>a02_udc_cfg); | ||
628 | s3c_i2c0_set_platdata(NULL); | ||
629 | |||
630 | i2c_register_board_info(0, gta02_i2c_devs, ARRAY_SIZE(gta02_i2c_devs)); | ||
631 | |||
632 | platform_add_devices(gta02_devices, ARRAY_SIZE(gta02_devices)); | ||
633 | pm_power_off = gta02_poweroff; | ||
634 | } | ||
635 | |||
636 | |||
637 | MACHINE_START(NEO1973_GTA02, "GTA02") | ||
638 | /* Maintainer: Nelson Castillo <arhuaco@freaks-unidos.net> */ | ||
639 | .phys_io = S3C2410_PA_UART, | ||
640 | .io_pg_offst = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc, | ||
641 | .boot_params = S3C2410_SDRAM_PA + 0x100, | ||
642 | .map_io = gta02_map_io, | ||
643 | .init_irq = s3c24xx_init_irq, | ||
644 | .init_machine = gta02_machine_init, | ||
645 | .timer = &s3c24xx_timer, | ||
646 | MACHINE_END | ||
diff --git a/arch/arm/plat-s3c/Makefile b/arch/arm/plat-s3c/Makefile index 610651455a78..74bb7cb5da49 100644 --- a/arch/arm/plat-s3c/Makefile +++ b/arch/arm/plat-s3c/Makefile | |||
@@ -34,6 +34,7 @@ obj-$(CONFIG_S3C_DEV_HSMMC) += dev-hsmmc.o | |||
34 | obj-$(CONFIG_S3C_DEV_HSMMC1) += dev-hsmmc1.o | 34 | obj-$(CONFIG_S3C_DEV_HSMMC1) += dev-hsmmc1.o |
35 | obj-y += dev-i2c0.o | 35 | obj-y += dev-i2c0.o |
36 | obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o | 36 | obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o |
37 | obj-$(CONFIG_SND_S3C24XX_SOC) += dev-audio.o | ||
37 | obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o | 38 | obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o |
38 | obj-$(CONFIG_S3C_DEV_USB_HOST) += dev-usb.o | 39 | obj-$(CONFIG_S3C_DEV_USB_HOST) += dev-usb.o |
39 | obj-$(CONFIG_S3C_DEV_USB_HSOTG) += dev-usb-hsotg.o | 40 | obj-$(CONFIG_S3C_DEV_USB_HSOTG) += dev-usb-hsotg.o |
diff --git a/arch/arm/plat-s3c/dev-audio.c b/arch/arm/plat-s3c/dev-audio.c new file mode 100644 index 000000000000..1322beb40dd7 --- /dev/null +++ b/arch/arm/plat-s3c/dev-audio.c | |||
@@ -0,0 +1,68 @@ | |||
1 | /* linux/arch/arm/plat-s3c/dev-audio.c | ||
2 | * | ||
3 | * Copyright 2009 Wolfson Microelectronics | ||
4 | * Mark Brown <broonie@opensource.wolfsonmicro.com> | ||
5 | * | ||
6 | |||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | |||
12 | #include <linux/kernel.h> | ||
13 | #include <linux/string.h> | ||
14 | #include <linux/platform_device.h> | ||
15 | |||
16 | #include <mach/irqs.h> | ||
17 | #include <mach/map.h> | ||
18 | |||
19 | #include <plat/devs.h> | ||
20 | |||
21 | |||
22 | static struct resource s3c64xx_iis0_resource[] = { | ||
23 | [0] = { | ||
24 | .start = S3C64XX_PA_IIS0, | ||
25 | .end = S3C64XX_PA_IIS0 + 0x100 - 1, | ||
26 | .flags = IORESOURCE_MEM, | ||
27 | }, | ||
28 | }; | ||
29 | |||
30 | struct platform_device s3c64xx_device_iis0 = { | ||
31 | .name = "s3c64xx-iis", | ||
32 | .id = 0, | ||
33 | .num_resources = ARRAY_SIZE(s3c64xx_iis0_resource), | ||
34 | .resource = s3c64xx_iis0_resource, | ||
35 | }; | ||
36 | EXPORT_SYMBOL(s3c64xx_device_iis0); | ||
37 | |||
38 | static struct resource s3c64xx_iis1_resource[] = { | ||
39 | [0] = { | ||
40 | .start = S3C64XX_PA_IIS1, | ||
41 | .end = S3C64XX_PA_IIS1 + 0x100 - 1, | ||
42 | .flags = IORESOURCE_MEM, | ||
43 | }, | ||
44 | }; | ||
45 | |||
46 | struct platform_device s3c64xx_device_iis1 = { | ||
47 | .name = "s3c64xx-iis", | ||
48 | .id = 1, | ||
49 | .num_resources = ARRAY_SIZE(s3c64xx_iis1_resource), | ||
50 | .resource = s3c64xx_iis1_resource, | ||
51 | }; | ||
52 | EXPORT_SYMBOL(s3c64xx_device_iis1); | ||
53 | |||
54 | static struct resource s3c64xx_iisv4_resource[] = { | ||
55 | [0] = { | ||
56 | .start = S3C64XX_PA_IISV4, | ||
57 | .end = S3C64XX_PA_IISV4 + 0x100 - 1, | ||
58 | .flags = IORESOURCE_MEM, | ||
59 | }, | ||
60 | }; | ||
61 | |||
62 | struct platform_device s3c64xx_device_iisv4 = { | ||
63 | .name = "s3c64xx-iis-v4", | ||
64 | .id = -1, | ||
65 | .num_resources = ARRAY_SIZE(s3c64xx_iisv4_resource), | ||
66 | .resource = s3c64xx_iisv4_resource, | ||
67 | }; | ||
68 | EXPORT_SYMBOL(s3c64xx_device_iisv4); | ||
diff --git a/arch/arm/plat-s3c/include/plat/devs.h b/arch/arm/plat-s3c/include/plat/devs.h index a0b6768fddcf..b5b9c4d46e9a 100644 --- a/arch/arm/plat-s3c/include/plat/devs.h +++ b/arch/arm/plat-s3c/include/plat/devs.h | |||
@@ -24,13 +24,16 @@ extern struct platform_device *s3c24xx_uart_src[]; | |||
24 | 24 | ||
25 | extern struct platform_device s3c_device_timer[]; | 25 | extern struct platform_device s3c_device_timer[]; |
26 | 26 | ||
27 | extern struct platform_device s3c64xx_device_iis0; | ||
28 | extern struct platform_device s3c64xx_device_iis1; | ||
29 | extern struct platform_device s3c64xx_device_iisv4; | ||
30 | |||
27 | extern struct platform_device s3c_device_fb; | 31 | extern struct platform_device s3c_device_fb; |
28 | extern struct platform_device s3c_device_usb; | 32 | extern struct platform_device s3c_device_usb; |
29 | extern struct platform_device s3c_device_lcd; | 33 | extern struct platform_device s3c_device_lcd; |
30 | extern struct platform_device s3c_device_wdt; | 34 | extern struct platform_device s3c_device_wdt; |
31 | extern struct platform_device s3c_device_i2c0; | 35 | extern struct platform_device s3c_device_i2c0; |
32 | extern struct platform_device s3c_device_i2c1; | 36 | extern struct platform_device s3c_device_i2c1; |
33 | extern struct platform_device s3c_device_iis; | ||
34 | extern struct platform_device s3c_device_rtc; | 37 | extern struct platform_device s3c_device_rtc; |
35 | extern struct platform_device s3c_device_adc; | 38 | extern struct platform_device s3c_device_adc; |
36 | extern struct platform_device s3c_device_sdi; | 39 | extern struct platform_device s3c_device_sdi; |
diff --git a/arch/arm/plat-s3c64xx/Makefile b/arch/arm/plat-s3c64xx/Makefile index 2ed5df34f9ea..3c8882cd6268 100644 --- a/arch/arm/plat-s3c64xx/Makefile +++ b/arch/arm/plat-s3c64xx/Makefile | |||
@@ -23,6 +23,7 @@ obj-y += gpiolib.o | |||
23 | 23 | ||
24 | obj-$(CONFIG_CPU_S3C6400_INIT) += s3c6400-init.o | 24 | obj-$(CONFIG_CPU_S3C6400_INIT) += s3c6400-init.o |
25 | obj-$(CONFIG_CPU_S3C6400_CLOCK) += s3c6400-clock.o | 25 | obj-$(CONFIG_CPU_S3C6400_CLOCK) += s3c6400-clock.o |
26 | obj-$(CONFIG_CPU_FREQ_S3C64XX) += cpufreq.o | ||
26 | 27 | ||
27 | # PM support | 28 | # PM support |
28 | 29 | ||
diff --git a/arch/arm/plat-s3c64xx/cpufreq.c b/arch/arm/plat-s3c64xx/cpufreq.c new file mode 100644 index 000000000000..e6e0843215df --- /dev/null +++ b/arch/arm/plat-s3c64xx/cpufreq.c | |||
@@ -0,0 +1,262 @@ | |||
1 | /* linux/arch/arm/plat-s3c64xx/cpufreq.c | ||
2 | * | ||
3 | * Copyright 2009 Wolfson Microelectronics plc | ||
4 | * | ||
5 | * S3C64xx CPUfreq Support | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | |||
12 | #include <linux/kernel.h> | ||
13 | #include <linux/types.h> | ||
14 | #include <linux/init.h> | ||
15 | #include <linux/cpufreq.h> | ||
16 | #include <linux/clk.h> | ||
17 | #include <linux/err.h> | ||
18 | #include <linux/regulator/consumer.h> | ||
19 | |||
20 | static struct clk *armclk; | ||
21 | static struct regulator *vddarm; | ||
22 | |||
23 | #ifdef CONFIG_CPU_S3C6410 | ||
24 | struct s3c64xx_dvfs { | ||
25 | unsigned int vddarm_min; | ||
26 | unsigned int vddarm_max; | ||
27 | }; | ||
28 | |||
29 | static struct s3c64xx_dvfs s3c64xx_dvfs_table[] = { | ||
30 | [0] = { 1000000, 1000000 }, | ||
31 | [1] = { 1000000, 1050000 }, | ||
32 | [2] = { 1050000, 1100000 }, | ||
33 | [3] = { 1050000, 1150000 }, | ||
34 | [4] = { 1250000, 1350000 }, | ||
35 | }; | ||
36 | |||
37 | static struct cpufreq_frequency_table s3c64xx_freq_table[] = { | ||
38 | { 0, 66000 }, | ||
39 | { 0, 133000 }, | ||
40 | { 1, 222000 }, | ||
41 | { 1, 266000 }, | ||
42 | { 2, 333000 }, | ||
43 | { 2, 400000 }, | ||
44 | { 3, 532000 }, | ||
45 | { 3, 533000 }, | ||
46 | { 4, 667000 }, | ||
47 | { 0, CPUFREQ_TABLE_END }, | ||
48 | }; | ||
49 | #endif | ||
50 | |||
51 | static int s3c64xx_cpufreq_verify_speed(struct cpufreq_policy *policy) | ||
52 | { | ||
53 | if (policy->cpu != 0) | ||
54 | return -EINVAL; | ||
55 | |||
56 | return cpufreq_frequency_table_verify(policy, s3c64xx_freq_table); | ||
57 | } | ||
58 | |||
59 | static unsigned int s3c64xx_cpufreq_get_speed(unsigned int cpu) | ||
60 | { | ||
61 | if (cpu != 0) | ||
62 | return 0; | ||
63 | |||
64 | return clk_get_rate(armclk) / 1000; | ||
65 | } | ||
66 | |||
67 | static int s3c64xx_cpufreq_set_target(struct cpufreq_policy *policy, | ||
68 | unsigned int target_freq, | ||
69 | unsigned int relation) | ||
70 | { | ||
71 | int ret; | ||
72 | unsigned int i; | ||
73 | struct cpufreq_freqs freqs; | ||
74 | struct s3c64xx_dvfs *dvfs; | ||
75 | |||
76 | ret = cpufreq_frequency_table_target(policy, s3c64xx_freq_table, | ||
77 | target_freq, relation, &i); | ||
78 | if (ret != 0) | ||
79 | return ret; | ||
80 | |||
81 | freqs.cpu = 0; | ||
82 | freqs.old = clk_get_rate(armclk) / 1000; | ||
83 | freqs.new = s3c64xx_freq_table[i].frequency; | ||
84 | freqs.flags = 0; | ||
85 | dvfs = &s3c64xx_dvfs_table[s3c64xx_freq_table[i].index]; | ||
86 | |||
87 | if (freqs.old == freqs.new) | ||
88 | return 0; | ||
89 | |||
90 | pr_debug("cpufreq: Transition %d-%dkHz\n", freqs.old, freqs.new); | ||
91 | |||
92 | cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); | ||
93 | |||
94 | #ifdef CONFIG_REGULATOR | ||
95 | if (vddarm && freqs.new > freqs.old) { | ||
96 | ret = regulator_set_voltage(vddarm, | ||
97 | dvfs->vddarm_min, | ||
98 | dvfs->vddarm_max); | ||
99 | if (ret != 0) { | ||
100 | pr_err("cpufreq: Failed to set VDDARM for %dkHz: %d\n", | ||
101 | freqs.new, ret); | ||
102 | goto err; | ||
103 | } | ||
104 | } | ||
105 | #endif | ||
106 | |||
107 | ret = clk_set_rate(armclk, freqs.new * 1000); | ||
108 | if (ret < 0) { | ||
109 | pr_err("cpufreq: Failed to set rate %dkHz: %d\n", | ||
110 | freqs.new, ret); | ||
111 | goto err; | ||
112 | } | ||
113 | |||
114 | #ifdef CONFIG_REGULATOR | ||
115 | if (vddarm && freqs.new < freqs.old) { | ||
116 | ret = regulator_set_voltage(vddarm, | ||
117 | dvfs->vddarm_min, | ||
118 | dvfs->vddarm_max); | ||
119 | if (ret != 0) { | ||
120 | pr_err("cpufreq: Failed to set VDDARM for %dkHz: %d\n", | ||
121 | freqs.new, ret); | ||
122 | goto err_clk; | ||
123 | } | ||
124 | } | ||
125 | #endif | ||
126 | |||
127 | cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); | ||
128 | |||
129 | pr_debug("cpufreq: Set actual frequency %lukHz\n", | ||
130 | clk_get_rate(armclk) / 1000); | ||
131 | |||
132 | return 0; | ||
133 | |||
134 | err_clk: | ||
135 | if (clk_set_rate(armclk, freqs.old * 1000) < 0) | ||
136 | pr_err("Failed to restore original clock rate\n"); | ||
137 | err: | ||
138 | cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); | ||
139 | |||
140 | return ret; | ||
141 | } | ||
142 | |||
143 | #ifdef CONFIG_REGULATOR | ||
144 | static void __init s3c64xx_cpufreq_constrain_voltages(void) | ||
145 | { | ||
146 | int count, v, i, found; | ||
147 | struct cpufreq_frequency_table *freq; | ||
148 | struct s3c64xx_dvfs *dvfs; | ||
149 | |||
150 | count = regulator_count_voltages(vddarm); | ||
151 | if (count < 0) { | ||
152 | pr_err("cpufreq: Unable to check supported voltages\n"); | ||
153 | return; | ||
154 | } | ||
155 | |||
156 | freq = s3c64xx_freq_table; | ||
157 | while (freq->frequency != CPUFREQ_TABLE_END) { | ||
158 | if (freq->frequency == CPUFREQ_ENTRY_INVALID) | ||
159 | continue; | ||
160 | |||
161 | dvfs = &s3c64xx_dvfs_table[freq->index]; | ||
162 | found = 0; | ||
163 | |||
164 | for (i = 0; i < count; i++) { | ||
165 | v = regulator_list_voltage(vddarm, i); | ||
166 | if (v >= dvfs->vddarm_min && v <= dvfs->vddarm_max) | ||
167 | found = 1; | ||
168 | } | ||
169 | |||
170 | if (!found) { | ||
171 | pr_debug("cpufreq: %dkHz unsupported by regulator\n", | ||
172 | freq->frequency); | ||
173 | freq->frequency = CPUFREQ_ENTRY_INVALID; | ||
174 | } | ||
175 | |||
176 | freq++; | ||
177 | } | ||
178 | } | ||
179 | #endif | ||
180 | |||
181 | static int __init s3c64xx_cpufreq_driver_init(struct cpufreq_policy *policy) | ||
182 | { | ||
183 | int ret; | ||
184 | struct cpufreq_frequency_table *freq; | ||
185 | |||
186 | if (policy->cpu != 0) | ||
187 | return -EINVAL; | ||
188 | |||
189 | if (s3c64xx_freq_table == NULL) { | ||
190 | pr_err("cpufreq: No frequency information for this CPU\n"); | ||
191 | return -ENODEV; | ||
192 | } | ||
193 | |||
194 | armclk = clk_get(NULL, "armclk"); | ||
195 | if (IS_ERR(armclk)) { | ||
196 | pr_err("cpufreq: Unable to obtain ARMCLK: %ld\n", | ||
197 | PTR_ERR(armclk)); | ||
198 | return PTR_ERR(armclk); | ||
199 | } | ||
200 | |||
201 | #ifdef CONFIG_REGULATOR | ||
202 | vddarm = regulator_get(NULL, "vddarm"); | ||
203 | if (IS_ERR(vddarm)) { | ||
204 | ret = PTR_ERR(vddarm); | ||
205 | pr_err("cpufreq: Failed to obtain VDDARM: %d\n", ret); | ||
206 | pr_err("cpufreq: Only frequency scaling available\n"); | ||
207 | vddarm = NULL; | ||
208 | } else { | ||
209 | s3c64xx_cpufreq_constrain_voltages(); | ||
210 | } | ||
211 | #endif | ||
212 | |||
213 | freq = s3c64xx_freq_table; | ||
214 | while (freq->frequency != CPUFREQ_TABLE_END) { | ||
215 | unsigned long r; | ||
216 | |||
217 | /* Check for frequencies we can generate */ | ||
218 | r = clk_round_rate(armclk, freq->frequency * 1000); | ||
219 | r /= 1000; | ||
220 | if (r != freq->frequency) | ||
221 | freq->frequency = CPUFREQ_ENTRY_INVALID; | ||
222 | |||
223 | /* If we have no regulator then assume startup | ||
224 | * frequency is the maximum we can support. */ | ||
225 | if (!vddarm && freq->frequency > s3c64xx_cpufreq_get_speed(0)) | ||
226 | freq->frequency = CPUFREQ_ENTRY_INVALID; | ||
227 | |||
228 | freq++; | ||
229 | } | ||
230 | |||
231 | policy->cur = clk_get_rate(armclk) / 1000; | ||
232 | |||
233 | /* Pick a conservative guess in ns: we'll need ~1 I2C/SPI | ||
234 | * write plus clock reprogramming. */ | ||
235 | policy->cpuinfo.transition_latency = 2 * 1000 * 1000; | ||
236 | |||
237 | ret = cpufreq_frequency_table_cpuinfo(policy, s3c64xx_freq_table); | ||
238 | if (ret != 0) { | ||
239 | pr_err("cpufreq: Failed to configure frequency table: %d\n", | ||
240 | ret); | ||
241 | regulator_put(vddarm); | ||
242 | clk_put(armclk); | ||
243 | } | ||
244 | |||
245 | return ret; | ||
246 | } | ||
247 | |||
248 | static struct cpufreq_driver s3c64xx_cpufreq_driver = { | ||
249 | .owner = THIS_MODULE, | ||
250 | .flags = 0, | ||
251 | .verify = s3c64xx_cpufreq_verify_speed, | ||
252 | .target = s3c64xx_cpufreq_set_target, | ||
253 | .get = s3c64xx_cpufreq_get_speed, | ||
254 | .init = s3c64xx_cpufreq_driver_init, | ||
255 | .name = "s3c", | ||
256 | }; | ||
257 | |||
258 | static int __init s3c64xx_cpufreq_init(void) | ||
259 | { | ||
260 | return cpufreq_register_driver(&s3c64xx_cpufreq_driver); | ||
261 | } | ||
262 | module_init(s3c64xx_cpufreq_init); | ||