Commit 413427b5679f7bb9f25548c498ae92bb03e34443
Committed by
Russell King
Exists in
master
and in
7 other branches
Merge branch 'next-s3c' of git://aeryn.fluff.org.uk/bjdooks/linux into devel
Showing 19 changed files Side-by-side Diff
- Documentation/kernel-parameters.txt
- MAINTAINERS
- arch/arm/Kconfig
- arch/arm/common/vic.c
- arch/arm/configs/mini2440_defconfig
- arch/arm/mach-s3c2410/usb-simtec.c
- arch/arm/mach-s3c2440/Kconfig
- arch/arm/mach-s3c2440/Makefile
- arch/arm/mach-s3c2440/mach-mini2440.c
- arch/arm/mach-s3c2442/Kconfig
- arch/arm/mach-s3c2442/Makefile
- arch/arm/mach-s3c2442/include/mach/gta02.h
- arch/arm/mach-s3c2442/mach-gta02.c
- arch/arm/plat-s3c/Makefile
- arch/arm/plat-s3c/dev-audio.c
- arch/arm/plat-s3c/include/plat/devs.h
- arch/arm/plat-s3c64xx/Makefile
- arch/arm/plat-s3c64xx/cpufreq.c
- drivers/mmc/host/s3cmci.c
Documentation/kernel-parameters.txt
... | ... | @@ -1362,6 +1362,27 @@ |
1362 | 1362 | min_addr=nn[KMG] [KNL,BOOT,ia64] All physical memory below this |
1363 | 1363 | physical address is ignored. |
1364 | 1364 | |
1365 | + mini2440= [ARM,HW,KNL] | |
1366 | + Format:[0..2][b][c][t] | |
1367 | + Default: "0tb" | |
1368 | + MINI2440 configuration specification: | |
1369 | + 0 - The attached screen is the 3.5" TFT | |
1370 | + 1 - The attached screen is the 7" TFT | |
1371 | + 2 - The VGA Shield is attached (1024x768) | |
1372 | + Leaving out the screen size parameter will not load | |
1373 | + the TFT driver, and the framebuffer will be left | |
1374 | + unconfigured. | |
1375 | + b - Enable backlight. The TFT backlight pin will be | |
1376 | + linked to the kernel VESA blanking code and a GPIO | |
1377 | + LED. This parameter is not necessary when using the | |
1378 | + VGA shield. | |
1379 | + c - Enable the s3c camera interface. | |
1380 | + t - Reserved for enabling touchscreen support. The | |
1381 | + touchscreen support is not enabled in the mainstream | |
1382 | + kernel as of 2.6.30, a preliminary port can be found | |
1383 | + in the "bleeding edge" mini2440 support kernel at | |
1384 | + http://repo.or.cz/w/linux-2.6/mini2440.git | |
1385 | + | |
1365 | 1386 | mminit_loglevel= |
1366 | 1387 | [KNL] When CONFIG_DEBUG_MEMORY_INIT is set, this |
1367 | 1388 | parameter allows control of the logging verbosity for |
MAINTAINERS
... | ... | @@ -788,6 +788,13 @@ |
788 | 788 | M: mkpetch@internode.on.net |
789 | 789 | S: Maintained |
790 | 790 | |
791 | +ARM/OPENMOKO NEO FREERUNNER (GTA02) MACHINE SUPPORT | |
792 | +P: Nelson Castillo | |
793 | +M: arhuaco@freaks-unidos.net | |
794 | +L: openmoko-kernel@lists.openmoko.org (subscribers-only) | |
795 | +W: http://wiki.openmoko.org/wiki/Neo_FreeRunner | |
796 | +S: Supported | |
797 | + | |
791 | 798 | ARM/TOSA MACHINE SUPPORT |
792 | 799 | P: Dmitry Eremin-Solenikov |
793 | 800 | M: dbaryshkov@gmail.com |
arch/arm/Kconfig
... | ... | @@ -1241,7 +1241,7 @@ |
1241 | 1241 | |
1242 | 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 | 1246 | source "drivers/cpufreq/Kconfig" |
1247 | 1247 | |
... | ... | @@ -1271,6 +1271,10 @@ |
1271 | 1271 | depends on CPU_FREQ && ARCH_PXA && PXA25x |
1272 | 1272 | default y |
1273 | 1273 | select CPU_FREQ_DEFAULT_GOV_USERSPACE |
1274 | + | |
1275 | +config CPU_FREQ_S3C64XX | |
1276 | + bool "CPUfreq support for Samsung S3C64XX CPUs" | |
1277 | + depends on CPU_FREQ && CPU_S3C6410 | |
1274 | 1278 | |
1275 | 1279 | endif |
1276 | 1280 |
arch/arm/common/vic.c
... | ... | @@ -229,14 +229,18 @@ |
229 | 229 | { |
230 | 230 | struct vic_device *v = vic_from_irq(irq); |
231 | 231 | unsigned int off = irq & 31; |
232 | + u32 bit = 1 << off; | |
232 | 233 | |
233 | 234 | if (!v) |
234 | 235 | return -EINVAL; |
235 | 236 | |
237 | + if (!(bit & v->resume_sources)) | |
238 | + return -EINVAL; | |
239 | + | |
236 | 240 | if (on) |
237 | - v->resume_irqs |= 1 << off; | |
241 | + v->resume_irqs |= bit; | |
238 | 242 | else |
239 | - v->resume_irqs &= ~(1 << off); | |
243 | + v->resume_irqs &= ~bit; | |
240 | 244 | |
241 | 245 | return 0; |
242 | 246 | } |
arch/arm/configs/mini2440_defconfig
Changes suppressed. Click to show
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 |
arch/arm/mach-s3c2410/usb-simtec.c
arch/arm/mach-s3c2440/Kconfig
... | ... | @@ -84,5 +84,15 @@ |
84 | 84 | help |
85 | 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 | 97 | endmenu |
arch/arm/mach-s3c2440/Makefile
arch/arm/mach-s3c2440/mach-mini2440.c
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 |
arch/arm/mach-s3c2442/Kconfig
... | ... | @@ -24,6 +24,18 @@ |
24 | 24 | depends on ARCH_S3C2440 |
25 | 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 | 40 | endmenu |
arch/arm/mach-s3c2442/Makefile
arch/arm/mach-s3c2442/include/mach/gta02.h
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 */ |
arch/arm/mach-s3c2442/mach-gta02.c
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 |
arch/arm/plat-s3c/Makefile
... | ... | @@ -34,6 +34,7 @@ |
34 | 34 | obj-$(CONFIG_S3C_DEV_HSMMC1) += dev-hsmmc1.o |
35 | 35 | obj-y += dev-i2c0.o |
36 | 36 | obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o |
37 | +obj-$(CONFIG_SND_S3C24XX_SOC) += dev-audio.o | |
37 | 38 | obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o |
38 | 39 | obj-$(CONFIG_S3C_DEV_USB_HOST) += dev-usb.o |
39 | 40 | obj-$(CONFIG_S3C_DEV_USB_HSOTG) += dev-usb-hsotg.o |
arch/arm/plat-s3c/dev-audio.c
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); |
arch/arm/plat-s3c/include/plat/devs.h
... | ... | @@ -24,13 +24,16 @@ |
24 | 24 | |
25 | 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 | 31 | extern struct platform_device s3c_device_fb; |
28 | 32 | extern struct platform_device s3c_device_usb; |
29 | 33 | extern struct platform_device s3c_device_lcd; |
30 | 34 | extern struct platform_device s3c_device_wdt; |
31 | 35 | extern struct platform_device s3c_device_i2c0; |
32 | 36 | extern struct platform_device s3c_device_i2c1; |
33 | -extern struct platform_device s3c_device_iis; | |
34 | 37 | extern struct platform_device s3c_device_rtc; |
35 | 38 | extern struct platform_device s3c_device_adc; |
36 | 39 | extern struct platform_device s3c_device_sdi; |
arch/arm/plat-s3c64xx/Makefile
arch/arm/plat-s3c64xx/cpufreq.c
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); |
drivers/mmc/host/s3cmci.c
... | ... | @@ -794,7 +794,7 @@ |
794 | 794 | host->mem->start + host->sdidata); |
795 | 795 | |
796 | 796 | if (!setup_ok) { |
797 | - s3c2410_dma_config(host->dma, 4, 0); | |
797 | + s3c2410_dma_config(host->dma, 4); | |
798 | 798 | s3c2410_dma_set_buffdone_fn(host->dma, |
799 | 799 | s3cmci_dma_done_callback); |
800 | 800 | s3c2410_dma_setflags(host->dma, S3C2410_DMAF_AUTOSTART); |