diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2009-03-25 14:31:35 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-03-25 14:31:35 -0400 |
commit | 8937b7349ca9e25a02b2a72ccb7fba404ddedc5b (patch) | |
tree | 434ffe23d318f8af55850a26c3431ce8b82ab6f4 /arch/arm | |
parent | 997302259f386bca8fe1db67c50296ca426c438f (diff) | |
parent | ffe7f95bb1a4d1e9ca5d252445dc38476e1a208e (diff) |
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into devel
Diffstat (limited to 'arch/arm')
83 files changed, 6638 insertions, 1040 deletions
diff --git a/arch/arm/configs/omap_3430sdp_defconfig b/arch/arm/configs/omap_3430sdp_defconfig new file mode 100644 index 000000000000..8fb918d9ba65 --- /dev/null +++ b/arch/arm/configs/omap_3430sdp_defconfig | |||
@@ -0,0 +1,2061 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.29-rc8 | ||
4 | # Fri Mar 13 14:17:01 2009 | ||
5 | # | ||
6 | CONFIG_ARM=y | ||
7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | ||
8 | CONFIG_GENERIC_GPIO=y | ||
9 | CONFIG_GENERIC_TIME=y | ||
10 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
11 | CONFIG_MMU=y | ||
12 | # CONFIG_NO_IOPORT is not set | ||
13 | CONFIG_GENERIC_HARDIRQS=y | ||
14 | CONFIG_STACKTRACE_SUPPORT=y | ||
15 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
16 | CONFIG_LOCKDEP_SUPPORT=y | ||
17 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
18 | CONFIG_HARDIRQS_SW_RESEND=y | ||
19 | CONFIG_GENERIC_IRQ_PROBE=y | ||
20 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
21 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
22 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
23 | CONFIG_GENERIC_HWEIGHT=y | ||
24 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
25 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
26 | CONFIG_OPROFILE_ARMV7=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=y | ||
38 | CONFIG_SWAP=y | ||
39 | CONFIG_SYSVIPC=y | ||
40 | CONFIG_SYSVIPC_SYSCTL=y | ||
41 | # CONFIG_POSIX_MQUEUE is not set | ||
42 | CONFIG_BSD_PROCESS_ACCT=y | ||
43 | # CONFIG_BSD_PROCESS_ACCT_V3 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=y | ||
56 | CONFIG_IKCONFIG_PROC=y | ||
57 | CONFIG_LOG_BUF_SHIFT=14 | ||
58 | CONFIG_GROUP_SCHED=y | ||
59 | CONFIG_FAIR_GROUP_SCHED=y | ||
60 | # CONFIG_RT_GROUP_SCHED is not set | ||
61 | CONFIG_USER_SCHED=y | ||
62 | # CONFIG_CGROUP_SCHED is not set | ||
63 | # CONFIG_CGROUPS is not set | ||
64 | CONFIG_SYSFS_DEPRECATED=y | ||
65 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
66 | # CONFIG_RELAY is not set | ||
67 | # CONFIG_NAMESPACES is not set | ||
68 | CONFIG_BLK_DEV_INITRD=y | ||
69 | CONFIG_INITRAMFS_SOURCE="" | ||
70 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
71 | CONFIG_SYSCTL=y | ||
72 | CONFIG_ANON_INODES=y | ||
73 | CONFIG_EMBEDDED=y | ||
74 | CONFIG_UID16=y | ||
75 | # CONFIG_SYSCTL_SYSCALL is not set | ||
76 | CONFIG_KALLSYMS=y | ||
77 | # CONFIG_KALLSYMS_ALL is not set | ||
78 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
79 | CONFIG_HOTPLUG=y | ||
80 | CONFIG_PRINTK=y | ||
81 | CONFIG_BUG=y | ||
82 | # CONFIG_ELF_CORE is not set | ||
83 | CONFIG_BASE_FULL=y | ||
84 | CONFIG_FUTEX=y | ||
85 | CONFIG_EPOLL=y | ||
86 | CONFIG_SIGNALFD=y | ||
87 | CONFIG_TIMERFD=y | ||
88 | CONFIG_EVENTFD=y | ||
89 | CONFIG_SHMEM=y | ||
90 | CONFIG_AIO=y | ||
91 | CONFIG_VM_EVENT_COUNTERS=y | ||
92 | CONFIG_SLUB_DEBUG=y | ||
93 | # CONFIG_COMPAT_BRK is not set | ||
94 | # CONFIG_SLAB is not set | ||
95 | CONFIG_SLUB=y | ||
96 | # CONFIG_SLOB is not set | ||
97 | CONFIG_PROFILING=y | ||
98 | CONFIG_TRACEPOINTS=y | ||
99 | # CONFIG_MARKERS is not set | ||
100 | CONFIG_OPROFILE=y | ||
101 | CONFIG_HAVE_OPROFILE=y | ||
102 | # CONFIG_KPROBES is not set | ||
103 | CONFIG_HAVE_KPROBES=y | ||
104 | CONFIG_HAVE_KRETPROBES=y | ||
105 | CONFIG_HAVE_CLK=y | ||
106 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | ||
107 | CONFIG_SLABINFO=y | ||
108 | CONFIG_RT_MUTEXES=y | ||
109 | CONFIG_BASE_SMALL=0 | ||
110 | CONFIG_MODULES=y | ||
111 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
112 | CONFIG_MODULE_UNLOAD=y | ||
113 | CONFIG_MODULE_FORCE_UNLOAD=y | ||
114 | CONFIG_MODVERSIONS=y | ||
115 | CONFIG_MODULE_SRCVERSION_ALL=y | ||
116 | CONFIG_BLOCK=y | ||
117 | CONFIG_LBD=y | ||
118 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
119 | # CONFIG_BLK_DEV_BSG is not set | ||
120 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
121 | |||
122 | # | ||
123 | # IO Schedulers | ||
124 | # | ||
125 | CONFIG_IOSCHED_NOOP=y | ||
126 | CONFIG_IOSCHED_AS=y | ||
127 | CONFIG_IOSCHED_DEADLINE=y | ||
128 | CONFIG_IOSCHED_CFQ=y | ||
129 | # CONFIG_DEFAULT_AS is not set | ||
130 | # CONFIG_DEFAULT_DEADLINE is not set | ||
131 | CONFIG_DEFAULT_CFQ=y | ||
132 | # CONFIG_DEFAULT_NOOP is not set | ||
133 | CONFIG_DEFAULT_IOSCHED="cfq" | ||
134 | CONFIG_FREEZER=y | ||
135 | |||
136 | # | ||
137 | # System Type | ||
138 | # | ||
139 | # CONFIG_ARCH_AAEC2000 is not set | ||
140 | # CONFIG_ARCH_INTEGRATOR is not set | ||
141 | # CONFIG_ARCH_REALVIEW is not set | ||
142 | # CONFIG_ARCH_VERSATILE is not set | ||
143 | # CONFIG_ARCH_AT91 is not set | ||
144 | # CONFIG_ARCH_CLPS711X is not set | ||
145 | # CONFIG_ARCH_EBSA110 is not set | ||
146 | # CONFIG_ARCH_EP93XX is not set | ||
147 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
148 | # CONFIG_ARCH_NETX is not set | ||
149 | # CONFIG_ARCH_H720X is not set | ||
150 | # CONFIG_ARCH_IMX is not set | ||
151 | # CONFIG_ARCH_IOP13XX is not set | ||
152 | # CONFIG_ARCH_IOP32X is not set | ||
153 | # CONFIG_ARCH_IOP33X is not set | ||
154 | # CONFIG_ARCH_IXP23XX is not set | ||
155 | # CONFIG_ARCH_IXP2000 is not set | ||
156 | # CONFIG_ARCH_IXP4XX is not set | ||
157 | # CONFIG_ARCH_L7200 is not set | ||
158 | # CONFIG_ARCH_KIRKWOOD is not set | ||
159 | # CONFIG_ARCH_KS8695 is not set | ||
160 | # CONFIG_ARCH_NS9XXX is not set | ||
161 | # CONFIG_ARCH_LOKI is not set | ||
162 | # CONFIG_ARCH_MV78XX0 is not set | ||
163 | # CONFIG_ARCH_MXC is not set | ||
164 | # CONFIG_ARCH_ORION5X is not set | ||
165 | # CONFIG_ARCH_PNX4008 is not set | ||
166 | # CONFIG_ARCH_PXA is not set | ||
167 | # CONFIG_ARCH_RPC is not set | ||
168 | # CONFIG_ARCH_SA1100 is not set | ||
169 | # CONFIG_ARCH_S3C2410 is not set | ||
170 | # CONFIG_ARCH_S3C64XX is not set | ||
171 | # CONFIG_ARCH_SHARK is not set | ||
172 | # CONFIG_ARCH_LH7A40X is not set | ||
173 | # CONFIG_ARCH_DAVINCI is not set | ||
174 | CONFIG_ARCH_OMAP=y | ||
175 | # CONFIG_ARCH_MSM is not set | ||
176 | # CONFIG_ARCH_W90X900 is not set | ||
177 | |||
178 | # | ||
179 | # TI OMAP Implementations | ||
180 | # | ||
181 | CONFIG_ARCH_OMAP_OTG=y | ||
182 | # CONFIG_ARCH_OMAP1 is not set | ||
183 | # CONFIG_ARCH_OMAP2 is not set | ||
184 | CONFIG_ARCH_OMAP3=y | ||
185 | |||
186 | # | ||
187 | # OMAP Feature Selections | ||
188 | # | ||
189 | # CONFIG_OMAP_DEBUG_POWERDOMAIN is not set | ||
190 | # CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set | ||
191 | # CONFIG_OMAP_RESET_CLOCKS is not set | ||
192 | CONFIG_OMAP_MUX=y | ||
193 | CONFIG_OMAP_MUX_DEBUG=y | ||
194 | CONFIG_OMAP_MUX_WARNINGS=y | ||
195 | CONFIG_OMAP_MCBSP=y | ||
196 | # CONFIG_OMAP_MPU_TIMER is not set | ||
197 | CONFIG_OMAP_32K_TIMER=y | ||
198 | CONFIG_OMAP_32K_TIMER_HZ=128 | ||
199 | CONFIG_OMAP_DM_TIMER=y | ||
200 | # CONFIG_OMAP_LL_DEBUG_UART1 is not set | ||
201 | # CONFIG_OMAP_LL_DEBUG_UART2 is not set | ||
202 | CONFIG_OMAP_LL_DEBUG_UART3=y | ||
203 | CONFIG_OMAP_SERIAL_WAKE=y | ||
204 | CONFIG_ARCH_OMAP34XX=y | ||
205 | CONFIG_ARCH_OMAP3430=y | ||
206 | |||
207 | # | ||
208 | # OMAP Board Type | ||
209 | # | ||
210 | CONFIG_MACH_OMAP3_BEAGLE=y | ||
211 | CONFIG_MACH_OMAP_LDP=y | ||
212 | CONFIG_MACH_OVERO=y | ||
213 | CONFIG_MACH_OMAP3_PANDORA=y | ||
214 | CONFIG_MACH_OMAP_3430SDP=y | ||
215 | |||
216 | # | ||
217 | # Processor Type | ||
218 | # | ||
219 | CONFIG_CPU_32=y | ||
220 | CONFIG_CPU_32v6K=y | ||
221 | CONFIG_CPU_V7=y | ||
222 | CONFIG_CPU_32v7=y | ||
223 | CONFIG_CPU_ABRT_EV7=y | ||
224 | CONFIG_CPU_PABRT_IFAR=y | ||
225 | CONFIG_CPU_CACHE_V7=y | ||
226 | CONFIG_CPU_CACHE_VIPT=y | ||
227 | CONFIG_CPU_COPY_V6=y | ||
228 | CONFIG_CPU_TLB_V7=y | ||
229 | CONFIG_CPU_HAS_ASID=y | ||
230 | CONFIG_CPU_CP15=y | ||
231 | CONFIG_CPU_CP15_MMU=y | ||
232 | |||
233 | # | ||
234 | # Processor Features | ||
235 | # | ||
236 | CONFIG_ARM_THUMB=y | ||
237 | CONFIG_ARM_THUMBEE=y | ||
238 | # CONFIG_CPU_ICACHE_DISABLE is not set | ||
239 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
240 | # CONFIG_CPU_BPREDICT_DISABLE is not set | ||
241 | CONFIG_HAS_TLS_REG=y | ||
242 | # CONFIG_OUTER_CACHE is not set | ||
243 | |||
244 | # | ||
245 | # Bus support | ||
246 | # | ||
247 | # CONFIG_PCI_SYSCALL is not set | ||
248 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
249 | # CONFIG_PCCARD is not set | ||
250 | |||
251 | # | ||
252 | # Kernel Features | ||
253 | # | ||
254 | CONFIG_TICK_ONESHOT=y | ||
255 | CONFIG_NO_HZ=y | ||
256 | CONFIG_HIGH_RES_TIMERS=y | ||
257 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
258 | CONFIG_VMSPLIT_3G=y | ||
259 | # CONFIG_VMSPLIT_2G is not set | ||
260 | # CONFIG_VMSPLIT_1G is not set | ||
261 | CONFIG_PAGE_OFFSET=0xC0000000 | ||
262 | # CONFIG_PREEMPT is not set | ||
263 | CONFIG_HZ=128 | ||
264 | CONFIG_AEABI=y | ||
265 | # CONFIG_OABI_COMPAT is not set | ||
266 | CONFIG_ARCH_FLATMEM_HAS_HOLES=y | ||
267 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | ||
268 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | ||
269 | CONFIG_SELECT_MEMORY_MODEL=y | ||
270 | CONFIG_FLATMEM_MANUAL=y | ||
271 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
272 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
273 | CONFIG_FLATMEM=y | ||
274 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
275 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
276 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
277 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
278 | CONFIG_ZONE_DMA_FLAG=0 | ||
279 | CONFIG_VIRT_TO_BUS=y | ||
280 | CONFIG_UNEVICTABLE_LRU=y | ||
281 | CONFIG_LEDS=y | ||
282 | CONFIG_ALIGNMENT_TRAP=y | ||
283 | |||
284 | # | ||
285 | # Boot options | ||
286 | # | ||
287 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
288 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
289 | CONFIG_CMDLINE="console=ttyS2,115200 root=/dev/mmcblk0p3 rootwait debug" | ||
290 | # CONFIG_XIP_KERNEL is not set | ||
291 | CONFIG_KEXEC=y | ||
292 | CONFIG_ATAGS_PROC=y | ||
293 | |||
294 | # | ||
295 | # CPU Power Management | ||
296 | # | ||
297 | CONFIG_CPU_FREQ=y | ||
298 | CONFIG_CPU_FREQ_TABLE=y | ||
299 | # CONFIG_CPU_FREQ_DEBUG is not set | ||
300 | CONFIG_CPU_FREQ_STAT=y | ||
301 | CONFIG_CPU_FREQ_STAT_DETAILS=y | ||
302 | CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y | ||
303 | # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set | ||
304 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set | ||
305 | # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set | ||
306 | # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set | ||
307 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y | ||
308 | # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set | ||
309 | CONFIG_CPU_FREQ_GOV_USERSPACE=y | ||
310 | CONFIG_CPU_FREQ_GOV_ONDEMAND=y | ||
311 | # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set | ||
312 | # CONFIG_CPU_IDLE is not set | ||
313 | |||
314 | # | ||
315 | # Floating point emulation | ||
316 | # | ||
317 | |||
318 | # | ||
319 | # At least one emulation must be selected | ||
320 | # | ||
321 | CONFIG_VFP=y | ||
322 | CONFIG_VFPv3=y | ||
323 | CONFIG_NEON=y | ||
324 | |||
325 | # | ||
326 | # Userspace binary formats | ||
327 | # | ||
328 | CONFIG_BINFMT_ELF=y | ||
329 | CONFIG_HAVE_AOUT=y | ||
330 | CONFIG_BINFMT_AOUT=m | ||
331 | CONFIG_BINFMT_MISC=y | ||
332 | |||
333 | # | ||
334 | # Power management options | ||
335 | # | ||
336 | CONFIG_PM=y | ||
337 | # CONFIG_PM_DEBUG is not set | ||
338 | CONFIG_PM_SLEEP=y | ||
339 | CONFIG_SUSPEND=y | ||
340 | CONFIG_SUSPEND_FREEZER=y | ||
341 | # CONFIG_APM_EMULATION is not set | ||
342 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
343 | CONFIG_NET=y | ||
344 | |||
345 | # | ||
346 | # Networking options | ||
347 | # | ||
348 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
349 | CONFIG_PACKET=y | ||
350 | CONFIG_PACKET_MMAP=y | ||
351 | CONFIG_UNIX=y | ||
352 | CONFIG_XFRM=y | ||
353 | # CONFIG_XFRM_USER is not set | ||
354 | # CONFIG_XFRM_SUB_POLICY is not set | ||
355 | # CONFIG_XFRM_MIGRATE is not set | ||
356 | # CONFIG_XFRM_STATISTICS is not set | ||
357 | CONFIG_NET_KEY=y | ||
358 | # CONFIG_NET_KEY_MIGRATE is not set | ||
359 | CONFIG_INET=y | ||
360 | # CONFIG_IP_MULTICAST is not set | ||
361 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
362 | CONFIG_IP_FIB_HASH=y | ||
363 | CONFIG_IP_PNP=y | ||
364 | CONFIG_IP_PNP_DHCP=y | ||
365 | CONFIG_IP_PNP_BOOTP=y | ||
366 | CONFIG_IP_PNP_RARP=y | ||
367 | # CONFIG_NET_IPIP is not set | ||
368 | # CONFIG_NET_IPGRE is not set | ||
369 | # CONFIG_ARPD is not set | ||
370 | # CONFIG_SYN_COOKIES is not set | ||
371 | # CONFIG_INET_AH is not set | ||
372 | # CONFIG_INET_ESP is not set | ||
373 | # CONFIG_INET_IPCOMP is not set | ||
374 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
375 | CONFIG_INET_TUNNEL=m | ||
376 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
377 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
378 | CONFIG_INET_XFRM_MODE_BEET=y | ||
379 | # CONFIG_INET_LRO is not set | ||
380 | CONFIG_INET_DIAG=y | ||
381 | CONFIG_INET_TCP_DIAG=y | ||
382 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
383 | CONFIG_TCP_CONG_CUBIC=y | ||
384 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
385 | # CONFIG_TCP_MD5SIG is not set | ||
386 | CONFIG_IPV6=m | ||
387 | # CONFIG_IPV6_PRIVACY is not set | ||
388 | # CONFIG_IPV6_ROUTER_PREF is not set | ||
389 | # CONFIG_IPV6_OPTIMISTIC_DAD is not set | ||
390 | # CONFIG_INET6_AH is not set | ||
391 | # CONFIG_INET6_ESP is not set | ||
392 | # CONFIG_INET6_IPCOMP is not set | ||
393 | # CONFIG_IPV6_MIP6 is not set | ||
394 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
395 | # CONFIG_INET6_TUNNEL is not set | ||
396 | CONFIG_INET6_XFRM_MODE_TRANSPORT=m | ||
397 | CONFIG_INET6_XFRM_MODE_TUNNEL=m | ||
398 | CONFIG_INET6_XFRM_MODE_BEET=m | ||
399 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set | ||
400 | CONFIG_IPV6_SIT=m | ||
401 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
402 | # CONFIG_IPV6_TUNNEL is not set | ||
403 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | ||
404 | # CONFIG_IPV6_MROUTE is not set | ||
405 | # CONFIG_NETWORK_SECMARK is not set | ||
406 | # CONFIG_NETFILTER is not set | ||
407 | # CONFIG_IP_DCCP is not set | ||
408 | # CONFIG_IP_SCTP is not set | ||
409 | # CONFIG_TIPC is not set | ||
410 | # CONFIG_ATM is not set | ||
411 | # CONFIG_BRIDGE is not set | ||
412 | # CONFIG_NET_DSA is not set | ||
413 | # CONFIG_VLAN_8021Q is not set | ||
414 | # CONFIG_DECNET is not set | ||
415 | # CONFIG_LLC2 is not set | ||
416 | # CONFIG_IPX is not set | ||
417 | # CONFIG_ATALK is not set | ||
418 | # CONFIG_X25 is not set | ||
419 | # CONFIG_LAPB is not set | ||
420 | # CONFIG_ECONET is not set | ||
421 | # CONFIG_WAN_ROUTER is not set | ||
422 | # CONFIG_NET_SCHED is not set | ||
423 | # CONFIG_DCB is not set | ||
424 | |||
425 | # | ||
426 | # Network testing | ||
427 | # | ||
428 | # CONFIG_NET_PKTGEN is not set | ||
429 | # CONFIG_HAMRADIO is not set | ||
430 | # CONFIG_CAN is not set | ||
431 | # CONFIG_IRDA is not set | ||
432 | CONFIG_BT=y | ||
433 | CONFIG_BT_L2CAP=y | ||
434 | CONFIG_BT_SCO=y | ||
435 | CONFIG_BT_RFCOMM=y | ||
436 | CONFIG_BT_RFCOMM_TTY=y | ||
437 | CONFIG_BT_BNEP=y | ||
438 | CONFIG_BT_BNEP_MC_FILTER=y | ||
439 | CONFIG_BT_BNEP_PROTO_FILTER=y | ||
440 | CONFIG_BT_HIDP=y | ||
441 | |||
442 | # | ||
443 | # Bluetooth device drivers | ||
444 | # | ||
445 | # CONFIG_BT_HCIBTUSB is not set | ||
446 | # CONFIG_BT_HCIBTSDIO is not set | ||
447 | CONFIG_BT_HCIUART=y | ||
448 | CONFIG_BT_HCIUART_H4=y | ||
449 | CONFIG_BT_HCIUART_BCSP=y | ||
450 | # CONFIG_BT_HCIUART_LL is not set | ||
451 | CONFIG_BT_HCIBCM203X=y | ||
452 | CONFIG_BT_HCIBPA10X=y | ||
453 | # CONFIG_BT_HCIBFUSB is not set | ||
454 | # CONFIG_BT_HCIVHCI is not set | ||
455 | # CONFIG_AF_RXRPC is not set | ||
456 | # CONFIG_PHONET is not set | ||
457 | CONFIG_WIRELESS=y | ||
458 | CONFIG_CFG80211=y | ||
459 | # CONFIG_CFG80211_REG_DEBUG is not set | ||
460 | CONFIG_NL80211=y | ||
461 | CONFIG_WIRELESS_OLD_REGULATORY=y | ||
462 | CONFIG_WIRELESS_EXT=y | ||
463 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
464 | CONFIG_LIB80211=y | ||
465 | CONFIG_LIB80211_CRYPT_WEP=m | ||
466 | CONFIG_LIB80211_CRYPT_CCMP=m | ||
467 | CONFIG_LIB80211_CRYPT_TKIP=m | ||
468 | CONFIG_MAC80211=y | ||
469 | |||
470 | # | ||
471 | # Rate control algorithm selection | ||
472 | # | ||
473 | CONFIG_MAC80211_RC_PID=y | ||
474 | # CONFIG_MAC80211_RC_MINSTREL is not set | ||
475 | CONFIG_MAC80211_RC_DEFAULT_PID=y | ||
476 | # CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set | ||
477 | CONFIG_MAC80211_RC_DEFAULT="pid" | ||
478 | # CONFIG_MAC80211_MESH is not set | ||
479 | CONFIG_MAC80211_LEDS=y | ||
480 | # CONFIG_MAC80211_DEBUGFS is not set | ||
481 | # CONFIG_MAC80211_DEBUG_MENU is not set | ||
482 | # CONFIG_WIMAX is not set | ||
483 | # CONFIG_RFKILL is not set | ||
484 | # CONFIG_NET_9P is not set | ||
485 | |||
486 | # | ||
487 | # Device Drivers | ||
488 | # | ||
489 | |||
490 | # | ||
491 | # Generic Driver Options | ||
492 | # | ||
493 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
494 | CONFIG_STANDALONE=y | ||
495 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
496 | CONFIG_FW_LOADER=y | ||
497 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
498 | CONFIG_EXTRA_FIRMWARE="" | ||
499 | # CONFIG_DEBUG_DRIVER is not set | ||
500 | # CONFIG_DEBUG_DEVRES is not set | ||
501 | # CONFIG_SYS_HYPERVISOR is not set | ||
502 | # CONFIG_CONNECTOR is not set | ||
503 | CONFIG_MTD=y | ||
504 | # CONFIG_MTD_DEBUG is not set | ||
505 | CONFIG_MTD_CONCAT=y | ||
506 | CONFIG_MTD_PARTITIONS=y | ||
507 | # CONFIG_MTD_TESTS is not set | ||
508 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
509 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
510 | # CONFIG_MTD_AFS_PARTS is not set | ||
511 | # CONFIG_MTD_AR7_PARTS is not set | ||
512 | |||
513 | # | ||
514 | # User Modules And Translation Layers | ||
515 | # | ||
516 | CONFIG_MTD_CHAR=y | ||
517 | CONFIG_MTD_BLKDEVS=y | ||
518 | CONFIG_MTD_BLOCK=y | ||
519 | # CONFIG_FTL is not set | ||
520 | # CONFIG_NFTL is not set | ||
521 | # CONFIG_INFTL is not set | ||
522 | # CONFIG_RFD_FTL is not set | ||
523 | # CONFIG_SSFDC is not set | ||
524 | # CONFIG_MTD_OOPS is not set | ||
525 | |||
526 | # | ||
527 | # RAM/ROM/Flash chip drivers | ||
528 | # | ||
529 | # CONFIG_MTD_CFI is not set | ||
530 | # CONFIG_MTD_JEDECPROBE is not set | ||
531 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
532 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
533 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
534 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
535 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
536 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
537 | CONFIG_MTD_CFI_I1=y | ||
538 | CONFIG_MTD_CFI_I2=y | ||
539 | # CONFIG_MTD_CFI_I4 is not set | ||
540 | # CONFIG_MTD_CFI_I8 is not set | ||
541 | # CONFIG_MTD_RAM is not set | ||
542 | # CONFIG_MTD_ROM is not set | ||
543 | # CONFIG_MTD_ABSENT is not set | ||
544 | |||
545 | # | ||
546 | # Mapping drivers for chip access | ||
547 | # | ||
548 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
549 | # CONFIG_MTD_PLATRAM is not set | ||
550 | |||
551 | # | ||
552 | # Self-contained MTD device drivers | ||
553 | # | ||
554 | # CONFIG_MTD_DATAFLASH is not set | ||
555 | # CONFIG_MTD_M25P80 is not set | ||
556 | # CONFIG_MTD_SLRAM is not set | ||
557 | # CONFIG_MTD_PHRAM is not set | ||
558 | # CONFIG_MTD_MTDRAM is not set | ||
559 | # CONFIG_MTD_BLOCK2MTD is not set | ||
560 | |||
561 | # | ||
562 | # Disk-On-Chip Device Drivers | ||
563 | # | ||
564 | # CONFIG_MTD_DOC2000 is not set | ||
565 | # CONFIG_MTD_DOC2001 is not set | ||
566 | # CONFIG_MTD_DOC2001PLUS is not set | ||
567 | CONFIG_MTD_NAND=y | ||
568 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
569 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
570 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
571 | # CONFIG_MTD_NAND_GPIO is not set | ||
572 | CONFIG_MTD_NAND_IDS=y | ||
573 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
574 | # CONFIG_MTD_NAND_NANDSIM is not set | ||
575 | # CONFIG_MTD_NAND_PLATFORM is not set | ||
576 | # CONFIG_MTD_ALAUDA is not set | ||
577 | # CONFIG_MTD_ONENAND is not set | ||
578 | |||
579 | # | ||
580 | # LPDDR flash memory drivers | ||
581 | # | ||
582 | # CONFIG_MTD_LPDDR is not set | ||
583 | |||
584 | # | ||
585 | # UBI - Unsorted block images | ||
586 | # | ||
587 | # CONFIG_MTD_UBI is not set | ||
588 | # CONFIG_PARPORT is not set | ||
589 | CONFIG_BLK_DEV=y | ||
590 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
591 | CONFIG_BLK_DEV_LOOP=y | ||
592 | CONFIG_BLK_DEV_CRYPTOLOOP=m | ||
593 | # CONFIG_BLK_DEV_NBD is not set | ||
594 | # CONFIG_BLK_DEV_UB is not set | ||
595 | CONFIG_BLK_DEV_RAM=y | ||
596 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
597 | CONFIG_BLK_DEV_RAM_SIZE=16384 | ||
598 | # CONFIG_BLK_DEV_XIP is not set | ||
599 | CONFIG_CDROM_PKTCDVD=m | ||
600 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | ||
601 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | ||
602 | # CONFIG_ATA_OVER_ETH is not set | ||
603 | CONFIG_MISC_DEVICES=y | ||
604 | # CONFIG_ICS932S401 is not set | ||
605 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
606 | # CONFIG_C2PORT is not set | ||
607 | |||
608 | # | ||
609 | # EEPROM support | ||
610 | # | ||
611 | # CONFIG_EEPROM_AT24 is not set | ||
612 | # CONFIG_EEPROM_AT25 is not set | ||
613 | # CONFIG_EEPROM_LEGACY is not set | ||
614 | CONFIG_EEPROM_93CX6=m | ||
615 | CONFIG_HAVE_IDE=y | ||
616 | # CONFIG_IDE is not set | ||
617 | |||
618 | # | ||
619 | # SCSI device support | ||
620 | # | ||
621 | CONFIG_RAID_ATTRS=m | ||
622 | CONFIG_SCSI=y | ||
623 | CONFIG_SCSI_DMA=y | ||
624 | # CONFIG_SCSI_TGT is not set | ||
625 | # CONFIG_SCSI_NETLINK is not set | ||
626 | CONFIG_SCSI_PROC_FS=y | ||
627 | |||
628 | # | ||
629 | # SCSI support type (disk, tape, CD-ROM) | ||
630 | # | ||
631 | CONFIG_BLK_DEV_SD=y | ||
632 | # CONFIG_CHR_DEV_ST is not set | ||
633 | # CONFIG_CHR_DEV_OSST is not set | ||
634 | # CONFIG_BLK_DEV_SR is not set | ||
635 | CONFIG_CHR_DEV_SG=m | ||
636 | # CONFIG_CHR_DEV_SCH is not set | ||
637 | |||
638 | # | ||
639 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
640 | # | ||
641 | CONFIG_SCSI_MULTI_LUN=y | ||
642 | # CONFIG_SCSI_CONSTANTS is not set | ||
643 | # CONFIG_SCSI_LOGGING is not set | ||
644 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
645 | CONFIG_SCSI_WAIT_SCAN=m | ||
646 | |||
647 | # | ||
648 | # SCSI Transports | ||
649 | # | ||
650 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
651 | # CONFIG_SCSI_FC_ATTRS is not set | ||
652 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
653 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
654 | # CONFIG_SCSI_SRP_ATTRS is not set | ||
655 | CONFIG_SCSI_LOWLEVEL=y | ||
656 | # CONFIG_ISCSI_TCP is not set | ||
657 | # CONFIG_LIBFC is not set | ||
658 | # CONFIG_SCSI_DEBUG is not set | ||
659 | # CONFIG_SCSI_DH is not set | ||
660 | # CONFIG_ATA is not set | ||
661 | CONFIG_MD=y | ||
662 | CONFIG_BLK_DEV_MD=m | ||
663 | CONFIG_MD_LINEAR=m | ||
664 | CONFIG_MD_RAID0=m | ||
665 | CONFIG_MD_RAID1=m | ||
666 | CONFIG_MD_RAID10=m | ||
667 | CONFIG_MD_RAID456=m | ||
668 | CONFIG_MD_RAID5_RESHAPE=y | ||
669 | CONFIG_MD_MULTIPATH=m | ||
670 | CONFIG_MD_FAULTY=m | ||
671 | CONFIG_BLK_DEV_DM=m | ||
672 | # CONFIG_DM_DEBUG is not set | ||
673 | CONFIG_DM_CRYPT=m | ||
674 | CONFIG_DM_SNAPSHOT=m | ||
675 | CONFIG_DM_MIRROR=m | ||
676 | CONFIG_DM_ZERO=m | ||
677 | CONFIG_DM_MULTIPATH=m | ||
678 | CONFIG_DM_DELAY=m | ||
679 | # CONFIG_DM_UEVENT is not set | ||
680 | CONFIG_NETDEVICES=y | ||
681 | CONFIG_DUMMY=m | ||
682 | # CONFIG_BONDING is not set | ||
683 | # CONFIG_MACVLAN is not set | ||
684 | # CONFIG_EQUALIZER is not set | ||
685 | CONFIG_TUN=m | ||
686 | # CONFIG_VETH is not set | ||
687 | CONFIG_PHYLIB=y | ||
688 | |||
689 | # | ||
690 | # MII PHY device drivers | ||
691 | # | ||
692 | # CONFIG_MARVELL_PHY is not set | ||
693 | # CONFIG_DAVICOM_PHY is not set | ||
694 | # CONFIG_QSEMI_PHY is not set | ||
695 | # CONFIG_LXT_PHY is not set | ||
696 | # CONFIG_CICADA_PHY is not set | ||
697 | # CONFIG_VITESSE_PHY is not set | ||
698 | CONFIG_SMSC_PHY=y | ||
699 | # CONFIG_BROADCOM_PHY is not set | ||
700 | # CONFIG_ICPLUS_PHY is not set | ||
701 | # CONFIG_REALTEK_PHY is not set | ||
702 | # CONFIG_NATIONAL_PHY is not set | ||
703 | # CONFIG_STE10XP is not set | ||
704 | # CONFIG_LSI_ET1011C_PHY is not set | ||
705 | # CONFIG_FIXED_PHY is not set | ||
706 | # CONFIG_MDIO_BITBANG is not set | ||
707 | CONFIG_NET_ETHERNET=y | ||
708 | CONFIG_MII=y | ||
709 | # CONFIG_AX88796 is not set | ||
710 | CONFIG_SMC91X=y | ||
711 | # CONFIG_DM9000 is not set | ||
712 | # CONFIG_ENC28J60 is not set | ||
713 | CONFIG_SMC911X=m | ||
714 | CONFIG_SMSC911X=m | ||
715 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
716 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
717 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
718 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
719 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
720 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
721 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
722 | # CONFIG_B44 is not set | ||
723 | # CONFIG_NETDEV_1000 is not set | ||
724 | # CONFIG_NETDEV_10000 is not set | ||
725 | |||
726 | # | ||
727 | # Wireless LAN | ||
728 | # | ||
729 | # CONFIG_WLAN_PRE80211 is not set | ||
730 | CONFIG_WLAN_80211=y | ||
731 | CONFIG_LIBERTAS=y | ||
732 | CONFIG_LIBERTAS_USB=y | ||
733 | CONFIG_LIBERTAS_SDIO=y | ||
734 | CONFIG_LIBERTAS_DEBUG=y | ||
735 | # CONFIG_LIBERTAS_THINFIRM is not set | ||
736 | CONFIG_USB_ZD1201=m | ||
737 | # CONFIG_USB_NET_RNDIS_WLAN is not set | ||
738 | CONFIG_RTL8187=m | ||
739 | # CONFIG_MAC80211_HWSIM is not set | ||
740 | CONFIG_P54_COMMON=m | ||
741 | CONFIG_P54_USB=m | ||
742 | # CONFIG_IWLWIFI_LEDS is not set | ||
743 | CONFIG_HOSTAP=m | ||
744 | CONFIG_HOSTAP_FIRMWARE=y | ||
745 | CONFIG_HOSTAP_FIRMWARE_NVRAM=y | ||
746 | # CONFIG_B43 is not set | ||
747 | # CONFIG_B43LEGACY is not set | ||
748 | # CONFIG_ZD1211RW is not set | ||
749 | # CONFIG_RT2X00 is not set | ||
750 | |||
751 | # | ||
752 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
753 | # | ||
754 | |||
755 | # | ||
756 | # USB Network Adapters | ||
757 | # | ||
758 | CONFIG_USB_CATC=m | ||
759 | CONFIG_USB_KAWETH=m | ||
760 | CONFIG_USB_PEGASUS=m | ||
761 | CONFIG_USB_RTL8150=m | ||
762 | CONFIG_USB_USBNET=y | ||
763 | CONFIG_USB_NET_AX8817X=y | ||
764 | CONFIG_USB_NET_CDCETHER=y | ||
765 | CONFIG_USB_NET_DM9601=m | ||
766 | # CONFIG_USB_NET_SMSC95XX is not set | ||
767 | CONFIG_USB_NET_GL620A=m | ||
768 | CONFIG_USB_NET_NET1080=m | ||
769 | CONFIG_USB_NET_PLUSB=m | ||
770 | CONFIG_USB_NET_MCS7830=m | ||
771 | CONFIG_USB_NET_RNDIS_HOST=m | ||
772 | CONFIG_USB_NET_CDC_SUBSET=m | ||
773 | CONFIG_USB_ALI_M5632=y | ||
774 | CONFIG_USB_AN2720=y | ||
775 | CONFIG_USB_BELKIN=y | ||
776 | CONFIG_USB_ARMLINUX=y | ||
777 | CONFIG_USB_EPSON2888=y | ||
778 | CONFIG_USB_KC2190=y | ||
779 | CONFIG_USB_NET_ZAURUS=m | ||
780 | # CONFIG_WAN is not set | ||
781 | CONFIG_PPP=m | ||
782 | # CONFIG_PPP_MULTILINK is not set | ||
783 | # CONFIG_PPP_FILTER is not set | ||
784 | CONFIG_PPP_ASYNC=m | ||
785 | CONFIG_PPP_SYNC_TTY=m | ||
786 | CONFIG_PPP_DEFLATE=m | ||
787 | CONFIG_PPP_BSDCOMP=m | ||
788 | CONFIG_PPP_MPPE=m | ||
789 | CONFIG_PPPOE=m | ||
790 | # CONFIG_PPPOL2TP is not set | ||
791 | # CONFIG_SLIP is not set | ||
792 | CONFIG_SLHC=m | ||
793 | # CONFIG_NETCONSOLE is not set | ||
794 | # CONFIG_NETPOLL is not set | ||
795 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
796 | # CONFIG_ISDN is not set | ||
797 | |||
798 | # | ||
799 | # Input device support | ||
800 | # | ||
801 | CONFIG_INPUT=y | ||
802 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
803 | # CONFIG_INPUT_POLLDEV is not set | ||
804 | |||
805 | # | ||
806 | # Userland interfaces | ||
807 | # | ||
808 | CONFIG_INPUT_MOUSEDEV=y | ||
809 | CONFIG_INPUT_MOUSEDEV_PSAUX=y | ||
810 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
811 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
812 | # CONFIG_INPUT_JOYDEV is not set | ||
813 | CONFIG_INPUT_EVDEV=y | ||
814 | # CONFIG_INPUT_EVBUG is not set | ||
815 | |||
816 | # | ||
817 | # Input Device Drivers | ||
818 | # | ||
819 | CONFIG_INPUT_KEYBOARD=y | ||
820 | # CONFIG_KEYBOARD_ATKBD is not set | ||
821 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
822 | # CONFIG_KEYBOARD_LKKBD is not set | ||
823 | # CONFIG_KEYBOARD_XTKBD is not set | ||
824 | # CONFIG_KEYBOARD_NEWTON is not set | ||
825 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
826 | # CONFIG_KEYBOARD_GPIO is not set | ||
827 | CONFIG_INPUT_MOUSE=y | ||
828 | CONFIG_MOUSE_PS2=y | ||
829 | CONFIG_MOUSE_PS2_ALPS=y | ||
830 | CONFIG_MOUSE_PS2_LOGIPS2PP=y | ||
831 | CONFIG_MOUSE_PS2_SYNAPTICS=y | ||
832 | CONFIG_MOUSE_PS2_TRACKPOINT=y | ||
833 | # CONFIG_MOUSE_PS2_ELANTECH is not set | ||
834 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set | ||
835 | # CONFIG_MOUSE_SERIAL is not set | ||
836 | # CONFIG_MOUSE_APPLETOUCH is not set | ||
837 | # CONFIG_MOUSE_BCM5974 is not set | ||
838 | # CONFIG_MOUSE_VSXXXAA is not set | ||
839 | # CONFIG_MOUSE_GPIO is not set | ||
840 | # CONFIG_INPUT_JOYSTICK is not set | ||
841 | # CONFIG_INPUT_TABLET is not set | ||
842 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
843 | # CONFIG_INPUT_MISC is not set | ||
844 | |||
845 | # | ||
846 | # Hardware I/O ports | ||
847 | # | ||
848 | CONFIG_SERIO=y | ||
849 | CONFIG_SERIO_SERPORT=y | ||
850 | CONFIG_SERIO_LIBPS2=y | ||
851 | # CONFIG_SERIO_RAW is not set | ||
852 | # CONFIG_GAMEPORT is not set | ||
853 | |||
854 | # | ||
855 | # Character devices | ||
856 | # | ||
857 | CONFIG_VT=y | ||
858 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
859 | CONFIG_VT_CONSOLE=y | ||
860 | CONFIG_HW_CONSOLE=y | ||
861 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
862 | CONFIG_DEVKMEM=y | ||
863 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
864 | |||
865 | # | ||
866 | # Serial drivers | ||
867 | # | ||
868 | CONFIG_SERIAL_8250=y | ||
869 | CONFIG_SERIAL_8250_CONSOLE=y | ||
870 | CONFIG_SERIAL_8250_NR_UARTS=32 | ||
871 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | ||
872 | CONFIG_SERIAL_8250_EXTENDED=y | ||
873 | CONFIG_SERIAL_8250_MANY_PORTS=y | ||
874 | CONFIG_SERIAL_8250_SHARE_IRQ=y | ||
875 | CONFIG_SERIAL_8250_DETECT_IRQ=y | ||
876 | CONFIG_SERIAL_8250_RSA=y | ||
877 | |||
878 | # | ||
879 | # Non-8250 serial port support | ||
880 | # | ||
881 | CONFIG_SERIAL_CORE=y | ||
882 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
883 | CONFIG_UNIX98_PTYS=y | ||
884 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
885 | # CONFIG_LEGACY_PTYS is not set | ||
886 | # CONFIG_IPMI_HANDLER is not set | ||
887 | CONFIG_HW_RANDOM=y | ||
888 | # CONFIG_R3964 is not set | ||
889 | # CONFIG_RAW_DRIVER is not set | ||
890 | # CONFIG_TCG_TPM is not set | ||
891 | CONFIG_I2C=y | ||
892 | CONFIG_I2C_BOARDINFO=y | ||
893 | CONFIG_I2C_CHARDEV=y | ||
894 | CONFIG_I2C_HELPER_AUTO=y | ||
895 | |||
896 | # | ||
897 | # I2C Hardware Bus support | ||
898 | # | ||
899 | |||
900 | # | ||
901 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
902 | # | ||
903 | # CONFIG_I2C_GPIO is not set | ||
904 | # CONFIG_I2C_OCORES is not set | ||
905 | CONFIG_I2C_OMAP=y | ||
906 | # CONFIG_I2C_SIMTEC is not set | ||
907 | |||
908 | # | ||
909 | # External I2C/SMBus adapter drivers | ||
910 | # | ||
911 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
912 | # CONFIG_I2C_TAOS_EVM is not set | ||
913 | # CONFIG_I2C_TINY_USB is not set | ||
914 | |||
915 | # | ||
916 | # Other I2C/SMBus bus drivers | ||
917 | # | ||
918 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
919 | # CONFIG_I2C_STUB is not set | ||
920 | |||
921 | # | ||
922 | # Miscellaneous I2C Chip support | ||
923 | # | ||
924 | # CONFIG_DS1682 is not set | ||
925 | # CONFIG_SENSORS_PCF8574 is not set | ||
926 | # CONFIG_PCF8575 is not set | ||
927 | # CONFIG_SENSORS_PCA9539 is not set | ||
928 | # CONFIG_SENSORS_PCF8591 is not set | ||
929 | # CONFIG_SENSORS_MAX6875 is not set | ||
930 | # CONFIG_SENSORS_TSL2550 is not set | ||
931 | # CONFIG_I2C_DEBUG_CORE is not set | ||
932 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
933 | # CONFIG_I2C_DEBUG_BUS is not set | ||
934 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
935 | CONFIG_SPI=y | ||
936 | # CONFIG_SPI_DEBUG is not set | ||
937 | CONFIG_SPI_MASTER=y | ||
938 | |||
939 | # | ||
940 | # SPI Master Controller Drivers | ||
941 | # | ||
942 | # CONFIG_SPI_BITBANG is not set | ||
943 | # CONFIG_SPI_GPIO is not set | ||
944 | CONFIG_SPI_OMAP24XX=y | ||
945 | |||
946 | # | ||
947 | # SPI Protocol Masters | ||
948 | # | ||
949 | # CONFIG_SPI_SPIDEV is not set | ||
950 | # CONFIG_SPI_TLE62X0 is not set | ||
951 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | ||
952 | CONFIG_GPIOLIB=y | ||
953 | CONFIG_DEBUG_GPIO=y | ||
954 | CONFIG_GPIO_SYSFS=y | ||
955 | |||
956 | # | ||
957 | # Memory mapped GPIO expanders: | ||
958 | # | ||
959 | |||
960 | # | ||
961 | # I2C GPIO expanders: | ||
962 | # | ||
963 | # CONFIG_GPIO_MAX732X is not set | ||
964 | # CONFIG_GPIO_PCA953X is not set | ||
965 | # CONFIG_GPIO_PCF857X is not set | ||
966 | CONFIG_GPIO_TWL4030=y | ||
967 | |||
968 | # | ||
969 | # PCI GPIO expanders: | ||
970 | # | ||
971 | |||
972 | # | ||
973 | # SPI GPIO expanders: | ||
974 | # | ||
975 | # CONFIG_GPIO_MAX7301 is not set | ||
976 | # CONFIG_GPIO_MCP23S08 is not set | ||
977 | # CONFIG_W1 is not set | ||
978 | CONFIG_POWER_SUPPLY=m | ||
979 | # CONFIG_POWER_SUPPLY_DEBUG is not set | ||
980 | # CONFIG_PDA_POWER is not set | ||
981 | # CONFIG_BATTERY_DS2760 is not set | ||
982 | # CONFIG_BATTERY_BQ27x00 is not set | ||
983 | CONFIG_HWMON=y | ||
984 | # CONFIG_HWMON_VID is not set | ||
985 | # CONFIG_SENSORS_AD7414 is not set | ||
986 | # CONFIG_SENSORS_AD7418 is not set | ||
987 | # CONFIG_SENSORS_ADCXX is not set | ||
988 | # CONFIG_SENSORS_ADM1021 is not set | ||
989 | # CONFIG_SENSORS_ADM1025 is not set | ||
990 | # CONFIG_SENSORS_ADM1026 is not set | ||
991 | # CONFIG_SENSORS_ADM1029 is not set | ||
992 | # CONFIG_SENSORS_ADM1031 is not set | ||
993 | # CONFIG_SENSORS_ADM9240 is not set | ||
994 | # CONFIG_SENSORS_ADT7462 is not set | ||
995 | # CONFIG_SENSORS_ADT7470 is not set | ||
996 | # CONFIG_SENSORS_ADT7473 is not set | ||
997 | # CONFIG_SENSORS_ADT7475 is not set | ||
998 | # CONFIG_SENSORS_ATXP1 is not set | ||
999 | # CONFIG_SENSORS_DS1621 is not set | ||
1000 | # CONFIG_SENSORS_F71805F is not set | ||
1001 | # CONFIG_SENSORS_F71882FG is not set | ||
1002 | # CONFIG_SENSORS_F75375S is not set | ||
1003 | # CONFIG_SENSORS_GL518SM is not set | ||
1004 | # CONFIG_SENSORS_GL520SM is not set | ||
1005 | # CONFIG_SENSORS_IT87 is not set | ||
1006 | # CONFIG_SENSORS_LM63 is not set | ||
1007 | # CONFIG_SENSORS_LM70 is not set | ||
1008 | # CONFIG_SENSORS_LM75 is not set | ||
1009 | # CONFIG_SENSORS_LM77 is not set | ||
1010 | # CONFIG_SENSORS_LM78 is not set | ||
1011 | # CONFIG_SENSORS_LM80 is not set | ||
1012 | # CONFIG_SENSORS_LM83 is not set | ||
1013 | # CONFIG_SENSORS_LM85 is not set | ||
1014 | # CONFIG_SENSORS_LM87 is not set | ||
1015 | # CONFIG_SENSORS_LM90 is not set | ||
1016 | # CONFIG_SENSORS_LM92 is not set | ||
1017 | # CONFIG_SENSORS_LM93 is not set | ||
1018 | # CONFIG_SENSORS_LTC4245 is not set | ||
1019 | # CONFIG_SENSORS_MAX1111 is not set | ||
1020 | # CONFIG_SENSORS_MAX1619 is not set | ||
1021 | # CONFIG_SENSORS_MAX6650 is not set | ||
1022 | # CONFIG_SENSORS_PC87360 is not set | ||
1023 | # CONFIG_SENSORS_PC87427 is not set | ||
1024 | # CONFIG_SENSORS_DME1737 is not set | ||
1025 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
1026 | # CONFIG_SENSORS_SMSC47M192 is not set | ||
1027 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
1028 | # CONFIG_SENSORS_ADS7828 is not set | ||
1029 | # CONFIG_SENSORS_THMC50 is not set | ||
1030 | # CONFIG_SENSORS_VT1211 is not set | ||
1031 | # CONFIG_SENSORS_W83781D is not set | ||
1032 | # CONFIG_SENSORS_W83791D is not set | ||
1033 | # CONFIG_SENSORS_W83792D is not set | ||
1034 | # CONFIG_SENSORS_W83793 is not set | ||
1035 | # CONFIG_SENSORS_W83L785TS is not set | ||
1036 | # CONFIG_SENSORS_W83L786NG is not set | ||
1037 | # CONFIG_SENSORS_W83627HF is not set | ||
1038 | # CONFIG_SENSORS_W83627EHF is not set | ||
1039 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
1040 | # CONFIG_THERMAL is not set | ||
1041 | # CONFIG_THERMAL_HWMON is not set | ||
1042 | CONFIG_WATCHDOG=y | ||
1043 | CONFIG_WATCHDOG_NOWAYOUT=y | ||
1044 | |||
1045 | # | ||
1046 | # Watchdog Device Drivers | ||
1047 | # | ||
1048 | # CONFIG_SOFT_WATCHDOG is not set | ||
1049 | # CONFIG_OMAP_WATCHDOG is not set | ||
1050 | |||
1051 | # | ||
1052 | # USB-based Watchdog Cards | ||
1053 | # | ||
1054 | # CONFIG_USBPCWATCHDOG is not set | ||
1055 | CONFIG_SSB_POSSIBLE=y | ||
1056 | |||
1057 | # | ||
1058 | # Sonics Silicon Backplane | ||
1059 | # | ||
1060 | # CONFIG_SSB is not set | ||
1061 | |||
1062 | # | ||
1063 | # Multifunction device drivers | ||
1064 | # | ||
1065 | # CONFIG_MFD_CORE is not set | ||
1066 | # CONFIG_MFD_SM501 is not set | ||
1067 | # CONFIG_MFD_ASIC3 is not set | ||
1068 | # CONFIG_HTC_EGPIO is not set | ||
1069 | # CONFIG_HTC_PASIC3 is not set | ||
1070 | # CONFIG_TPS65010 is not set | ||
1071 | CONFIG_TWL4030_CORE=y | ||
1072 | # CONFIG_MFD_TMIO is not set | ||
1073 | # CONFIG_MFD_T7L66XB is not set | ||
1074 | # CONFIG_MFD_TC6387XB is not set | ||
1075 | # CONFIG_MFD_TC6393XB is not set | ||
1076 | # CONFIG_PMIC_DA903X is not set | ||
1077 | # CONFIG_MFD_WM8400 is not set | ||
1078 | # CONFIG_MFD_WM8350_I2C is not set | ||
1079 | # CONFIG_MFD_PCF50633 is not set | ||
1080 | |||
1081 | # | ||
1082 | # Multimedia devices | ||
1083 | # | ||
1084 | |||
1085 | # | ||
1086 | # Multimedia core support | ||
1087 | # | ||
1088 | CONFIG_VIDEO_DEV=m | ||
1089 | CONFIG_VIDEO_V4L2_COMMON=m | ||
1090 | CONFIG_VIDEO_ALLOW_V4L1=y | ||
1091 | CONFIG_VIDEO_V4L1_COMPAT=y | ||
1092 | CONFIG_DVB_CORE=m | ||
1093 | CONFIG_VIDEO_MEDIA=m | ||
1094 | |||
1095 | # | ||
1096 | # Multimedia drivers | ||
1097 | # | ||
1098 | CONFIG_MEDIA_ATTACH=y | ||
1099 | CONFIG_MEDIA_TUNER=m | ||
1100 | # CONFIG_MEDIA_TUNER_CUSTOMIZE is not set | ||
1101 | CONFIG_MEDIA_TUNER_SIMPLE=m | ||
1102 | CONFIG_MEDIA_TUNER_TDA8290=m | ||
1103 | CONFIG_MEDIA_TUNER_TDA827X=m | ||
1104 | CONFIG_MEDIA_TUNER_TDA18271=m | ||
1105 | CONFIG_MEDIA_TUNER_TDA9887=m | ||
1106 | CONFIG_MEDIA_TUNER_TEA5761=m | ||
1107 | CONFIG_MEDIA_TUNER_TEA5767=m | ||
1108 | CONFIG_MEDIA_TUNER_MT20XX=m | ||
1109 | CONFIG_MEDIA_TUNER_MT2060=m | ||
1110 | CONFIG_MEDIA_TUNER_MT2266=m | ||
1111 | CONFIG_MEDIA_TUNER_QT1010=m | ||
1112 | CONFIG_MEDIA_TUNER_XC2028=m | ||
1113 | CONFIG_MEDIA_TUNER_XC5000=m | ||
1114 | CONFIG_MEDIA_TUNER_MXL5005S=m | ||
1115 | CONFIG_VIDEO_V4L2=m | ||
1116 | CONFIG_VIDEO_V4L1=m | ||
1117 | CONFIG_VIDEO_TVEEPROM=m | ||
1118 | CONFIG_VIDEO_TUNER=m | ||
1119 | CONFIG_VIDEO_CAPTURE_DRIVERS=y | ||
1120 | # CONFIG_VIDEO_ADV_DEBUG is not set | ||
1121 | # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set | ||
1122 | CONFIG_VIDEO_HELPER_CHIPS_AUTO=y | ||
1123 | CONFIG_VIDEO_MSP3400=m | ||
1124 | CONFIG_VIDEO_CS53L32A=m | ||
1125 | CONFIG_VIDEO_WM8775=m | ||
1126 | CONFIG_VIDEO_SAA711X=m | ||
1127 | CONFIG_VIDEO_CX25840=m | ||
1128 | CONFIG_VIDEO_CX2341X=m | ||
1129 | # CONFIG_VIDEO_VIVI is not set | ||
1130 | # CONFIG_VIDEO_CPIA is not set | ||
1131 | # CONFIG_VIDEO_CPIA2 is not set | ||
1132 | # CONFIG_VIDEO_SAA5246A is not set | ||
1133 | # CONFIG_VIDEO_SAA5249 is not set | ||
1134 | # CONFIG_VIDEO_AU0828 is not set | ||
1135 | # CONFIG_SOC_CAMERA is not set | ||
1136 | CONFIG_V4L_USB_DRIVERS=y | ||
1137 | CONFIG_USB_VIDEO_CLASS=m | ||
1138 | CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y | ||
1139 | # CONFIG_USB_GSPCA is not set | ||
1140 | CONFIG_VIDEO_PVRUSB2=m | ||
1141 | CONFIG_VIDEO_PVRUSB2_SYSFS=y | ||
1142 | CONFIG_VIDEO_PVRUSB2_DVB=y | ||
1143 | # CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set | ||
1144 | # CONFIG_VIDEO_EM28XX is not set | ||
1145 | CONFIG_VIDEO_USBVISION=m | ||
1146 | CONFIG_VIDEO_USBVIDEO=m | ||
1147 | CONFIG_USB_VICAM=m | ||
1148 | CONFIG_USB_IBMCAM=m | ||
1149 | CONFIG_USB_KONICAWC=m | ||
1150 | CONFIG_USB_QUICKCAM_MESSENGER=m | ||
1151 | # CONFIG_USB_ET61X251 is not set | ||
1152 | CONFIG_VIDEO_OVCAMCHIP=m | ||
1153 | CONFIG_USB_W9968CF=m | ||
1154 | CONFIG_USB_OV511=m | ||
1155 | CONFIG_USB_SE401=m | ||
1156 | CONFIG_USB_SN9C102=m | ||
1157 | CONFIG_USB_STV680=m | ||
1158 | # CONFIG_USB_ZC0301 is not set | ||
1159 | CONFIG_USB_PWC=m | ||
1160 | # CONFIG_USB_PWC_DEBUG is not set | ||
1161 | CONFIG_USB_ZR364XX=m | ||
1162 | # CONFIG_USB_STKWEBCAM is not set | ||
1163 | # CONFIG_USB_S2255 is not set | ||
1164 | CONFIG_RADIO_ADAPTERS=y | ||
1165 | # CONFIG_USB_DSBR is not set | ||
1166 | # CONFIG_USB_SI470X is not set | ||
1167 | # CONFIG_USB_MR800 is not set | ||
1168 | # CONFIG_RADIO_TEA5764 is not set | ||
1169 | # CONFIG_DVB_DYNAMIC_MINORS is not set | ||
1170 | CONFIG_DVB_CAPTURE_DRIVERS=y | ||
1171 | # CONFIG_TTPCI_EEPROM is not set | ||
1172 | |||
1173 | # | ||
1174 | # Supported USB Adapters | ||
1175 | # | ||
1176 | CONFIG_DVB_USB=m | ||
1177 | # CONFIG_DVB_USB_DEBUG is not set | ||
1178 | CONFIG_DVB_USB_A800=m | ||
1179 | CONFIG_DVB_USB_DIBUSB_MB=m | ||
1180 | # CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set | ||
1181 | CONFIG_DVB_USB_DIBUSB_MC=m | ||
1182 | CONFIG_DVB_USB_DIB0700=m | ||
1183 | CONFIG_DVB_USB_UMT_010=m | ||
1184 | CONFIG_DVB_USB_CXUSB=m | ||
1185 | CONFIG_DVB_USB_M920X=m | ||
1186 | CONFIG_DVB_USB_GL861=m | ||
1187 | CONFIG_DVB_USB_AU6610=m | ||
1188 | CONFIG_DVB_USB_DIGITV=m | ||
1189 | CONFIG_DVB_USB_VP7045=m | ||
1190 | CONFIG_DVB_USB_VP702X=m | ||
1191 | CONFIG_DVB_USB_GP8PSK=m | ||
1192 | CONFIG_DVB_USB_NOVA_T_USB2=m | ||
1193 | CONFIG_DVB_USB_TTUSB2=m | ||
1194 | CONFIG_DVB_USB_DTT200U=m | ||
1195 | CONFIG_DVB_USB_OPERA1=m | ||
1196 | CONFIG_DVB_USB_AF9005=m | ||
1197 | CONFIG_DVB_USB_AF9005_REMOTE=m | ||
1198 | # CONFIG_DVB_USB_DW2102 is not set | ||
1199 | # CONFIG_DVB_USB_CINERGY_T2 is not set | ||
1200 | # CONFIG_DVB_USB_ANYSEE is not set | ||
1201 | # CONFIG_DVB_USB_DTV5100 is not set | ||
1202 | # CONFIG_DVB_USB_AF9015 is not set | ||
1203 | # CONFIG_DVB_SIANO_SMS1XXX is not set | ||
1204 | |||
1205 | # | ||
1206 | # Supported FlexCopII (B2C2) Adapters | ||
1207 | # | ||
1208 | # CONFIG_DVB_B2C2_FLEXCOP is not set | ||
1209 | |||
1210 | # | ||
1211 | # Supported DVB Frontends | ||
1212 | # | ||
1213 | |||
1214 | # | ||
1215 | # Customise DVB Frontends | ||
1216 | # | ||
1217 | # CONFIG_DVB_FE_CUSTOMISE is not set | ||
1218 | |||
1219 | # | ||
1220 | # Multistandard (satellite) frontends | ||
1221 | # | ||
1222 | # CONFIG_DVB_STB0899 is not set | ||
1223 | # CONFIG_DVB_STB6100 is not set | ||
1224 | |||
1225 | # | ||
1226 | # DVB-S (satellite) frontends | ||
1227 | # | ||
1228 | CONFIG_DVB_CX24110=m | ||
1229 | CONFIG_DVB_CX24123=m | ||
1230 | CONFIG_DVB_MT312=m | ||
1231 | CONFIG_DVB_S5H1420=m | ||
1232 | # CONFIG_DVB_STV0288 is not set | ||
1233 | # CONFIG_DVB_STB6000 is not set | ||
1234 | CONFIG_DVB_STV0299=m | ||
1235 | CONFIG_DVB_TDA8083=m | ||
1236 | CONFIG_DVB_TDA10086=m | ||
1237 | # CONFIG_DVB_TDA8261 is not set | ||
1238 | CONFIG_DVB_VES1X93=m | ||
1239 | CONFIG_DVB_TUNER_ITD1000=m | ||
1240 | # CONFIG_DVB_TUNER_CX24113 is not set | ||
1241 | CONFIG_DVB_TDA826X=m | ||
1242 | CONFIG_DVB_TUA6100=m | ||
1243 | # CONFIG_DVB_CX24116 is not set | ||
1244 | # CONFIG_DVB_SI21XX is not set | ||
1245 | |||
1246 | # | ||
1247 | # DVB-T (terrestrial) frontends | ||
1248 | # | ||
1249 | CONFIG_DVB_SP8870=m | ||
1250 | CONFIG_DVB_SP887X=m | ||
1251 | CONFIG_DVB_CX22700=m | ||
1252 | CONFIG_DVB_CX22702=m | ||
1253 | # CONFIG_DVB_DRX397XD is not set | ||
1254 | CONFIG_DVB_L64781=m | ||
1255 | CONFIG_DVB_TDA1004X=m | ||
1256 | CONFIG_DVB_NXT6000=m | ||
1257 | CONFIG_DVB_MT352=m | ||
1258 | CONFIG_DVB_ZL10353=m | ||
1259 | CONFIG_DVB_DIB3000MB=m | ||
1260 | CONFIG_DVB_DIB3000MC=m | ||
1261 | CONFIG_DVB_DIB7000M=m | ||
1262 | CONFIG_DVB_DIB7000P=m | ||
1263 | CONFIG_DVB_TDA10048=m | ||
1264 | |||
1265 | # | ||
1266 | # DVB-C (cable) frontends | ||
1267 | # | ||
1268 | CONFIG_DVB_VES1820=m | ||
1269 | CONFIG_DVB_TDA10021=m | ||
1270 | CONFIG_DVB_TDA10023=m | ||
1271 | CONFIG_DVB_STV0297=m | ||
1272 | |||
1273 | # | ||
1274 | # ATSC (North American/Korean Terrestrial/Cable DTV) frontends | ||
1275 | # | ||
1276 | CONFIG_DVB_NXT200X=m | ||
1277 | # CONFIG_DVB_OR51211 is not set | ||
1278 | # CONFIG_DVB_OR51132 is not set | ||
1279 | CONFIG_DVB_BCM3510=m | ||
1280 | CONFIG_DVB_LGDT330X=m | ||
1281 | # CONFIG_DVB_LGDT3304 is not set | ||
1282 | CONFIG_DVB_S5H1409=m | ||
1283 | CONFIG_DVB_AU8522=m | ||
1284 | CONFIG_DVB_S5H1411=m | ||
1285 | |||
1286 | # | ||
1287 | # ISDB-T (terrestrial) frontends | ||
1288 | # | ||
1289 | # CONFIG_DVB_S921 is not set | ||
1290 | |||
1291 | # | ||
1292 | # Digital terrestrial only tuners/PLL | ||
1293 | # | ||
1294 | CONFIG_DVB_PLL=m | ||
1295 | CONFIG_DVB_TUNER_DIB0070=m | ||
1296 | |||
1297 | # | ||
1298 | # SEC control devices for DVB-S | ||
1299 | # | ||
1300 | CONFIG_DVB_LNBP21=m | ||
1301 | # CONFIG_DVB_ISL6405 is not set | ||
1302 | CONFIG_DVB_ISL6421=m | ||
1303 | # CONFIG_DVB_LGS8GL5 is not set | ||
1304 | |||
1305 | # | ||
1306 | # Tools to develop new frontends | ||
1307 | # | ||
1308 | # CONFIG_DVB_DUMMY_FE is not set | ||
1309 | # CONFIG_DVB_AF9013 is not set | ||
1310 | # CONFIG_DAB is not set | ||
1311 | |||
1312 | # | ||
1313 | # Graphics support | ||
1314 | # | ||
1315 | # CONFIG_VGASTATE is not set | ||
1316 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
1317 | # CONFIG_FB is not set | ||
1318 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
1319 | |||
1320 | # | ||
1321 | # Display device support | ||
1322 | # | ||
1323 | CONFIG_DISPLAY_SUPPORT=y | ||
1324 | |||
1325 | # | ||
1326 | # Display hardware drivers | ||
1327 | # | ||
1328 | |||
1329 | # | ||
1330 | # Console display driver support | ||
1331 | # | ||
1332 | # CONFIG_VGA_CONSOLE is not set | ||
1333 | CONFIG_DUMMY_CONSOLE=y | ||
1334 | CONFIG_SOUND=y | ||
1335 | CONFIG_SOUND_OSS_CORE=y | ||
1336 | CONFIG_SND=y | ||
1337 | CONFIG_SND_TIMER=y | ||
1338 | CONFIG_SND_PCM=y | ||
1339 | CONFIG_SND_HWDEP=y | ||
1340 | CONFIG_SND_RAWMIDI=y | ||
1341 | CONFIG_SND_SEQUENCER=m | ||
1342 | # CONFIG_SND_SEQ_DUMMY is not set | ||
1343 | CONFIG_SND_OSSEMUL=y | ||
1344 | CONFIG_SND_MIXER_OSS=y | ||
1345 | CONFIG_SND_PCM_OSS=y | ||
1346 | CONFIG_SND_PCM_OSS_PLUGINS=y | ||
1347 | CONFIG_SND_SEQUENCER_OSS=y | ||
1348 | # CONFIG_SND_HRTIMER is not set | ||
1349 | # CONFIG_SND_DYNAMIC_MINORS is not set | ||
1350 | CONFIG_SND_SUPPORT_OLD_API=y | ||
1351 | CONFIG_SND_VERBOSE_PROCFS=y | ||
1352 | CONFIG_SND_VERBOSE_PRINTK=y | ||
1353 | CONFIG_SND_DEBUG=y | ||
1354 | # CONFIG_SND_DEBUG_VERBOSE is not set | ||
1355 | # CONFIG_SND_PCM_XRUN_DEBUG is not set | ||
1356 | CONFIG_SND_DRIVERS=y | ||
1357 | # CONFIG_SND_DUMMY is not set | ||
1358 | # CONFIG_SND_VIRMIDI is not set | ||
1359 | # CONFIG_SND_MTPAV is not set | ||
1360 | # CONFIG_SND_SERIAL_U16550 is not set | ||
1361 | # CONFIG_SND_MPU401 is not set | ||
1362 | CONFIG_SND_ARM=y | ||
1363 | CONFIG_SND_SPI=y | ||
1364 | CONFIG_SND_USB=y | ||
1365 | CONFIG_SND_USB_AUDIO=y | ||
1366 | CONFIG_SND_USB_CAIAQ=m | ||
1367 | CONFIG_SND_USB_CAIAQ_INPUT=y | ||
1368 | CONFIG_SND_SOC=y | ||
1369 | CONFIG_SND_OMAP_SOC=y | ||
1370 | CONFIG_SND_OMAP_SOC_MCBSP=y | ||
1371 | # CONFIG_SND_OMAP_SOC_OVERO is not set | ||
1372 | CONFIG_SND_OMAP_SOC_SDP3430=y | ||
1373 | CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=y | ||
1374 | CONFIG_SND_SOC_I2C_AND_SPI=y | ||
1375 | # CONFIG_SND_SOC_ALL_CODECS is not set | ||
1376 | CONFIG_SND_SOC_TWL4030=y | ||
1377 | # CONFIG_SOUND_PRIME is not set | ||
1378 | CONFIG_HID_SUPPORT=y | ||
1379 | CONFIG_HID=y | ||
1380 | CONFIG_HID_DEBUG=y | ||
1381 | # CONFIG_HIDRAW is not set | ||
1382 | |||
1383 | # | ||
1384 | # USB Input Devices | ||
1385 | # | ||
1386 | CONFIG_USB_HID=y | ||
1387 | # CONFIG_HID_PID is not set | ||
1388 | # CONFIG_USB_HIDDEV is not set | ||
1389 | |||
1390 | # | ||
1391 | # Special HID drivers | ||
1392 | # | ||
1393 | CONFIG_HID_COMPAT=y | ||
1394 | CONFIG_HID_A4TECH=y | ||
1395 | CONFIG_HID_APPLE=y | ||
1396 | CONFIG_HID_BELKIN=y | ||
1397 | CONFIG_HID_CHERRY=y | ||
1398 | CONFIG_HID_CHICONY=y | ||
1399 | CONFIG_HID_CYPRESS=y | ||
1400 | CONFIG_HID_EZKEY=y | ||
1401 | CONFIG_HID_GYRATION=y | ||
1402 | CONFIG_HID_LOGITECH=y | ||
1403 | # CONFIG_LOGITECH_FF is not set | ||
1404 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | ||
1405 | CONFIG_HID_MICROSOFT=y | ||
1406 | CONFIG_HID_MONTEREY=y | ||
1407 | # CONFIG_HID_NTRIG is not set | ||
1408 | CONFIG_HID_PANTHERLORD=y | ||
1409 | # CONFIG_PANTHERLORD_FF is not set | ||
1410 | CONFIG_HID_PETALYNX=y | ||
1411 | CONFIG_HID_SAMSUNG=y | ||
1412 | CONFIG_HID_SONY=y | ||
1413 | CONFIG_HID_SUNPLUS=y | ||
1414 | # CONFIG_GREENASIA_FF is not set | ||
1415 | # CONFIG_HID_TOPSEED is not set | ||
1416 | # CONFIG_THRUSTMASTER_FF is not set | ||
1417 | # CONFIG_ZEROPLUS_FF is not set | ||
1418 | CONFIG_USB_SUPPORT=y | ||
1419 | CONFIG_USB_ARCH_HAS_HCD=y | ||
1420 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
1421 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
1422 | CONFIG_USB=y | ||
1423 | CONFIG_USB_DEBUG=y | ||
1424 | CONFIG_USB_ANNOUNCE_NEW_DEVICES=y | ||
1425 | |||
1426 | # | ||
1427 | # Miscellaneous USB options | ||
1428 | # | ||
1429 | CONFIG_USB_DEVICEFS=y | ||
1430 | CONFIG_USB_DEVICE_CLASS=y | ||
1431 | CONFIG_USB_DYNAMIC_MINORS=y | ||
1432 | CONFIG_USB_SUSPEND=y | ||
1433 | CONFIG_USB_OTG=y | ||
1434 | # CONFIG_USB_OTG_WHITELIST is not set | ||
1435 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
1436 | CONFIG_USB_MON=y | ||
1437 | # CONFIG_USB_WUSB is not set | ||
1438 | # CONFIG_USB_WUSB_CBAF is not set | ||
1439 | |||
1440 | # | ||
1441 | # USB Host Controller Drivers | ||
1442 | # | ||
1443 | # CONFIG_USB_C67X00_HCD is not set | ||
1444 | # CONFIG_USB_OXU210HP_HCD is not set | ||
1445 | # CONFIG_USB_ISP116X_HCD is not set | ||
1446 | # CONFIG_USB_OHCI_HCD is not set | ||
1447 | # CONFIG_USB_SL811_HCD is not set | ||
1448 | # CONFIG_USB_R8A66597_HCD is not set | ||
1449 | # CONFIG_USB_HWA_HCD is not set | ||
1450 | CONFIG_USB_MUSB_HDRC=y | ||
1451 | CONFIG_USB_MUSB_SOC=y | ||
1452 | |||
1453 | # | ||
1454 | # OMAP 343x high speed USB support | ||
1455 | # | ||
1456 | # CONFIG_USB_MUSB_HOST is not set | ||
1457 | # CONFIG_USB_MUSB_PERIPHERAL is not set | ||
1458 | CONFIG_USB_MUSB_OTG=y | ||
1459 | CONFIG_USB_GADGET_MUSB_HDRC=y | ||
1460 | CONFIG_USB_MUSB_HDRC_HCD=y | ||
1461 | CONFIG_MUSB_PIO_ONLY=y | ||
1462 | # CONFIG_USB_MUSB_DEBUG is not set | ||
1463 | |||
1464 | # | ||
1465 | # USB Device Class drivers | ||
1466 | # | ||
1467 | # CONFIG_USB_ACM is not set | ||
1468 | CONFIG_USB_PRINTER=y | ||
1469 | CONFIG_USB_WDM=y | ||
1470 | # CONFIG_USB_TMC is not set | ||
1471 | |||
1472 | # | ||
1473 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | ||
1474 | # | ||
1475 | |||
1476 | # | ||
1477 | # see USB_STORAGE Help for more information | ||
1478 | # | ||
1479 | CONFIG_USB_STORAGE=y | ||
1480 | # CONFIG_USB_STORAGE_DEBUG is not set | ||
1481 | # CONFIG_USB_STORAGE_DATAFAB is not set | ||
1482 | # CONFIG_USB_STORAGE_FREECOM is not set | ||
1483 | # CONFIG_USB_STORAGE_ISD200 is not set | ||
1484 | # CONFIG_USB_STORAGE_USBAT is not set | ||
1485 | # CONFIG_USB_STORAGE_SDDR09 is not set | ||
1486 | # CONFIG_USB_STORAGE_SDDR55 is not set | ||
1487 | # CONFIG_USB_STORAGE_JUMPSHOT is not set | ||
1488 | # CONFIG_USB_STORAGE_ALAUDA is not set | ||
1489 | # CONFIG_USB_STORAGE_ONETOUCH is not set | ||
1490 | # CONFIG_USB_STORAGE_KARMA is not set | ||
1491 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set | ||
1492 | # CONFIG_USB_LIBUSUAL is not set | ||
1493 | |||
1494 | # | ||
1495 | # USB Imaging devices | ||
1496 | # | ||
1497 | # CONFIG_USB_MDC800 is not set | ||
1498 | # CONFIG_USB_MICROTEK is not set | ||
1499 | |||
1500 | # | ||
1501 | # USB port drivers | ||
1502 | # | ||
1503 | # CONFIG_USB_SERIAL is not set | ||
1504 | |||
1505 | # | ||
1506 | # USB Miscellaneous drivers | ||
1507 | # | ||
1508 | # CONFIG_USB_EMI62 is not set | ||
1509 | # CONFIG_USB_EMI26 is not set | ||
1510 | # CONFIG_USB_ADUTUX is not set | ||
1511 | # CONFIG_USB_SEVSEG is not set | ||
1512 | # CONFIG_USB_RIO500 is not set | ||
1513 | # CONFIG_USB_LEGOTOWER is not set | ||
1514 | # CONFIG_USB_LCD is not set | ||
1515 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1516 | # CONFIG_USB_LED is not set | ||
1517 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
1518 | # CONFIG_USB_CYTHERM is not set | ||
1519 | # CONFIG_USB_PHIDGET is not set | ||
1520 | # CONFIG_USB_IDMOUSE is not set | ||
1521 | # CONFIG_USB_FTDI_ELAN is not set | ||
1522 | # CONFIG_USB_APPLEDISPLAY is not set | ||
1523 | # CONFIG_USB_LD is not set | ||
1524 | # CONFIG_USB_TRANCEVIBRATOR is not set | ||
1525 | # CONFIG_USB_IOWARRIOR is not set | ||
1526 | # CONFIG_USB_TEST is not set | ||
1527 | # CONFIG_USB_ISIGHTFW is not set | ||
1528 | # CONFIG_USB_VST is not set | ||
1529 | CONFIG_USB_GADGET=y | ||
1530 | # CONFIG_USB_GADGET_DEBUG is not set | ||
1531 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | ||
1532 | # CONFIG_USB_GADGET_DEBUG_FS is not set | ||
1533 | CONFIG_USB_GADGET_VBUS_DRAW=2 | ||
1534 | CONFIG_USB_GADGET_SELECTED=y | ||
1535 | # CONFIG_USB_GADGET_AT91 is not set | ||
1536 | # CONFIG_USB_GADGET_ATMEL_USBA is not set | ||
1537 | # CONFIG_USB_GADGET_FSL_USB2 is not set | ||
1538 | # CONFIG_USB_GADGET_LH7A40X is not set | ||
1539 | # CONFIG_USB_GADGET_OMAP is not set | ||
1540 | # CONFIG_USB_GADGET_PXA25X is not set | ||
1541 | # CONFIG_USB_GADGET_PXA27X is not set | ||
1542 | # CONFIG_USB_GADGET_S3C2410 is not set | ||
1543 | # CONFIG_USB_GADGET_IMX is not set | ||
1544 | # CONFIG_USB_GADGET_M66592 is not set | ||
1545 | # CONFIG_USB_GADGET_AMD5536UDC is not set | ||
1546 | # CONFIG_USB_GADGET_FSL_QE is not set | ||
1547 | # CONFIG_USB_GADGET_CI13XXX is not set | ||
1548 | # CONFIG_USB_GADGET_NET2280 is not set | ||
1549 | # CONFIG_USB_GADGET_GOKU is not set | ||
1550 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | ||
1551 | CONFIG_USB_GADGET_DUALSPEED=y | ||
1552 | # CONFIG_USB_ZERO is not set | ||
1553 | CONFIG_USB_ETH=y | ||
1554 | CONFIG_USB_ETH_RNDIS=y | ||
1555 | # CONFIG_USB_GADGETFS is not set | ||
1556 | # CONFIG_USB_FILE_STORAGE is not set | ||
1557 | # CONFIG_USB_G_SERIAL is not set | ||
1558 | # CONFIG_USB_MIDI_GADGET is not set | ||
1559 | # CONFIG_USB_G_PRINTER is not set | ||
1560 | # CONFIG_USB_CDC_COMPOSITE is not set | ||
1561 | |||
1562 | # | ||
1563 | # OTG and related infrastructure | ||
1564 | # | ||
1565 | CONFIG_USB_OTG_UTILS=y | ||
1566 | # CONFIG_USB_GPIO_VBUS is not set | ||
1567 | # CONFIG_ISP1301_OMAP is not set | ||
1568 | CONFIG_TWL4030_USB=y | ||
1569 | CONFIG_MMC=y | ||
1570 | # CONFIG_MMC_DEBUG is not set | ||
1571 | CONFIG_MMC_UNSAFE_RESUME=y | ||
1572 | |||
1573 | # | ||
1574 | # MMC/SD/SDIO Card Drivers | ||
1575 | # | ||
1576 | CONFIG_MMC_BLOCK=y | ||
1577 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
1578 | CONFIG_SDIO_UART=y | ||
1579 | # CONFIG_MMC_TEST is not set | ||
1580 | |||
1581 | # | ||
1582 | # MMC/SD/SDIO Host Controller Drivers | ||
1583 | # | ||
1584 | # CONFIG_MMC_SDHCI is not set | ||
1585 | # CONFIG_MMC_OMAP is not set | ||
1586 | CONFIG_MMC_OMAP_HS=y | ||
1587 | # CONFIG_MMC_SPI is not set | ||
1588 | # CONFIG_MEMSTICK is not set | ||
1589 | # CONFIG_ACCESSIBILITY is not set | ||
1590 | CONFIG_NEW_LEDS=y | ||
1591 | CONFIG_LEDS_CLASS=y | ||
1592 | |||
1593 | # | ||
1594 | # LED drivers | ||
1595 | # | ||
1596 | # CONFIG_LEDS_PCA9532 is not set | ||
1597 | CONFIG_LEDS_GPIO=y | ||
1598 | # CONFIG_LEDS_PCA955X is not set | ||
1599 | |||
1600 | # | ||
1601 | # LED Triggers | ||
1602 | # | ||
1603 | CONFIG_LEDS_TRIGGERS=y | ||
1604 | CONFIG_LEDS_TRIGGER_TIMER=y | ||
1605 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | ||
1606 | # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set | ||
1607 | # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set | ||
1608 | CONFIG_RTC_LIB=y | ||
1609 | CONFIG_RTC_CLASS=y | ||
1610 | CONFIG_RTC_HCTOSYS=y | ||
1611 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
1612 | # CONFIG_RTC_DEBUG is not set | ||
1613 | |||
1614 | # | ||
1615 | # RTC interfaces | ||
1616 | # | ||
1617 | CONFIG_RTC_INTF_SYSFS=y | ||
1618 | CONFIG_RTC_INTF_PROC=y | ||
1619 | CONFIG_RTC_INTF_DEV=y | ||
1620 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
1621 | # CONFIG_RTC_DRV_TEST is not set | ||
1622 | |||
1623 | # | ||
1624 | # I2C RTC drivers | ||
1625 | # | ||
1626 | # CONFIG_RTC_DRV_DS1307 is not set | ||
1627 | # CONFIG_RTC_DRV_DS1374 is not set | ||
1628 | # CONFIG_RTC_DRV_DS1672 is not set | ||
1629 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
1630 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
1631 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
1632 | # CONFIG_RTC_DRV_X1205 is not set | ||
1633 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
1634 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
1635 | # CONFIG_RTC_DRV_M41T80 is not set | ||
1636 | CONFIG_RTC_DRV_TWL4030=y | ||
1637 | # CONFIG_RTC_DRV_S35390A is not set | ||
1638 | # CONFIG_RTC_DRV_FM3130 is not set | ||
1639 | # CONFIG_RTC_DRV_RX8581 is not set | ||
1640 | |||
1641 | # | ||
1642 | # SPI RTC drivers | ||
1643 | # | ||
1644 | # CONFIG_RTC_DRV_M41T94 is not set | ||
1645 | # CONFIG_RTC_DRV_DS1305 is not set | ||
1646 | # CONFIG_RTC_DRV_DS1390 is not set | ||
1647 | # CONFIG_RTC_DRV_MAX6902 is not set | ||
1648 | # CONFIG_RTC_DRV_R9701 is not set | ||
1649 | # CONFIG_RTC_DRV_RS5C348 is not set | ||
1650 | # CONFIG_RTC_DRV_DS3234 is not set | ||
1651 | |||
1652 | # | ||
1653 | # Platform RTC drivers | ||
1654 | # | ||
1655 | # CONFIG_RTC_DRV_CMOS is not set | ||
1656 | # CONFIG_RTC_DRV_DS1286 is not set | ||
1657 | # CONFIG_RTC_DRV_DS1511 is not set | ||
1658 | # CONFIG_RTC_DRV_DS1553 is not set | ||
1659 | # CONFIG_RTC_DRV_DS1742 is not set | ||
1660 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
1661 | # CONFIG_RTC_DRV_M48T86 is not set | ||
1662 | # CONFIG_RTC_DRV_M48T35 is not set | ||
1663 | # CONFIG_RTC_DRV_M48T59 is not set | ||
1664 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
1665 | # CONFIG_RTC_DRV_V3020 is not set | ||
1666 | |||
1667 | # | ||
1668 | # on-CPU RTC drivers | ||
1669 | # | ||
1670 | # CONFIG_DMADEVICES is not set | ||
1671 | # CONFIG_REGULATOR is not set | ||
1672 | # CONFIG_UIO is not set | ||
1673 | # CONFIG_STAGING is not set | ||
1674 | |||
1675 | # | ||
1676 | # File systems | ||
1677 | # | ||
1678 | CONFIG_EXT2_FS=y | ||
1679 | # CONFIG_EXT2_FS_XATTR is not set | ||
1680 | # CONFIG_EXT2_FS_XIP is not set | ||
1681 | CONFIG_EXT3_FS=y | ||
1682 | # CONFIG_EXT3_FS_XATTR is not set | ||
1683 | # CONFIG_EXT4_FS is not set | ||
1684 | CONFIG_JBD=y | ||
1685 | # CONFIG_JBD_DEBUG is not set | ||
1686 | # CONFIG_REISERFS_FS is not set | ||
1687 | # CONFIG_JFS_FS is not set | ||
1688 | CONFIG_FS_POSIX_ACL=y | ||
1689 | CONFIG_FILE_LOCKING=y | ||
1690 | CONFIG_XFS_FS=m | ||
1691 | # CONFIG_XFS_QUOTA is not set | ||
1692 | # CONFIG_XFS_POSIX_ACL is not set | ||
1693 | # CONFIG_XFS_RT is not set | ||
1694 | # CONFIG_XFS_DEBUG is not set | ||
1695 | # CONFIG_GFS2_FS is not set | ||
1696 | # CONFIG_OCFS2_FS is not set | ||
1697 | # CONFIG_BTRFS_FS is not set | ||
1698 | CONFIG_DNOTIFY=y | ||
1699 | CONFIG_INOTIFY=y | ||
1700 | CONFIG_INOTIFY_USER=y | ||
1701 | CONFIG_QUOTA=y | ||
1702 | # CONFIG_QUOTA_NETLINK_INTERFACE is not set | ||
1703 | CONFIG_PRINT_QUOTA_WARNING=y | ||
1704 | CONFIG_QUOTA_TREE=y | ||
1705 | # CONFIG_QFMT_V1 is not set | ||
1706 | CONFIG_QFMT_V2=y | ||
1707 | CONFIG_QUOTACTL=y | ||
1708 | # CONFIG_AUTOFS_FS is not set | ||
1709 | # CONFIG_AUTOFS4_FS is not set | ||
1710 | CONFIG_FUSE_FS=m | ||
1711 | |||
1712 | # | ||
1713 | # CD-ROM/DVD Filesystems | ||
1714 | # | ||
1715 | CONFIG_ISO9660_FS=m | ||
1716 | CONFIG_JOLIET=y | ||
1717 | CONFIG_ZISOFS=y | ||
1718 | CONFIG_UDF_FS=m | ||
1719 | CONFIG_UDF_NLS=y | ||
1720 | |||
1721 | # | ||
1722 | # DOS/FAT/NT Filesystems | ||
1723 | # | ||
1724 | CONFIG_FAT_FS=y | ||
1725 | CONFIG_MSDOS_FS=y | ||
1726 | CONFIG_VFAT_FS=y | ||
1727 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
1728 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
1729 | # CONFIG_NTFS_FS is not set | ||
1730 | |||
1731 | # | ||
1732 | # Pseudo filesystems | ||
1733 | # | ||
1734 | CONFIG_PROC_FS=y | ||
1735 | CONFIG_PROC_SYSCTL=y | ||
1736 | CONFIG_PROC_PAGE_MONITOR=y | ||
1737 | CONFIG_SYSFS=y | ||
1738 | CONFIG_TMPFS=y | ||
1739 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
1740 | # CONFIG_HUGETLB_PAGE is not set | ||
1741 | # CONFIG_CONFIGFS_FS is not set | ||
1742 | CONFIG_MISC_FILESYSTEMS=y | ||
1743 | # CONFIG_ADFS_FS is not set | ||
1744 | # CONFIG_AFFS_FS is not set | ||
1745 | # CONFIG_HFS_FS is not set | ||
1746 | # CONFIG_HFSPLUS_FS is not set | ||
1747 | # CONFIG_BEFS_FS is not set | ||
1748 | # CONFIG_BFS_FS is not set | ||
1749 | # CONFIG_EFS_FS is not set | ||
1750 | CONFIG_JFFS2_FS=y | ||
1751 | CONFIG_JFFS2_FS_DEBUG=0 | ||
1752 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
1753 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
1754 | CONFIG_JFFS2_SUMMARY=y | ||
1755 | CONFIG_JFFS2_FS_XATTR=y | ||
1756 | CONFIG_JFFS2_FS_POSIX_ACL=y | ||
1757 | CONFIG_JFFS2_FS_SECURITY=y | ||
1758 | CONFIG_JFFS2_COMPRESSION_OPTIONS=y | ||
1759 | CONFIG_JFFS2_ZLIB=y | ||
1760 | CONFIG_JFFS2_LZO=y | ||
1761 | CONFIG_JFFS2_RTIME=y | ||
1762 | CONFIG_JFFS2_RUBIN=y | ||
1763 | # CONFIG_JFFS2_CMODE_NONE is not set | ||
1764 | CONFIG_JFFS2_CMODE_PRIORITY=y | ||
1765 | # CONFIG_JFFS2_CMODE_SIZE is not set | ||
1766 | # CONFIG_JFFS2_CMODE_FAVOURLZO is not set | ||
1767 | # CONFIG_CRAMFS is not set | ||
1768 | # CONFIG_SQUASHFS is not set | ||
1769 | # CONFIG_VXFS_FS is not set | ||
1770 | # CONFIG_MINIX_FS is not set | ||
1771 | # CONFIG_OMFS_FS is not set | ||
1772 | # CONFIG_HPFS_FS is not set | ||
1773 | # CONFIG_QNX4FS_FS is not set | ||
1774 | # CONFIG_ROMFS_FS is not set | ||
1775 | # CONFIG_SYSV_FS is not set | ||
1776 | # CONFIG_UFS_FS is not set | ||
1777 | CONFIG_NETWORK_FILESYSTEMS=y | ||
1778 | CONFIG_NFS_FS=y | ||
1779 | CONFIG_NFS_V3=y | ||
1780 | # CONFIG_NFS_V3_ACL is not set | ||
1781 | CONFIG_NFS_V4=y | ||
1782 | CONFIG_ROOT_NFS=y | ||
1783 | # CONFIG_NFSD is not set | ||
1784 | CONFIG_LOCKD=y | ||
1785 | CONFIG_LOCKD_V4=y | ||
1786 | CONFIG_EXPORTFS=m | ||
1787 | CONFIG_NFS_COMMON=y | ||
1788 | CONFIG_SUNRPC=y | ||
1789 | CONFIG_SUNRPC_GSS=y | ||
1790 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1791 | CONFIG_RPCSEC_GSS_KRB5=y | ||
1792 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
1793 | # CONFIG_SMB_FS is not set | ||
1794 | # CONFIG_CIFS is not set | ||
1795 | # CONFIG_NCP_FS is not set | ||
1796 | # CONFIG_CODA_FS is not set | ||
1797 | # CONFIG_AFS_FS is not set | ||
1798 | |||
1799 | # | ||
1800 | # Partition Types | ||
1801 | # | ||
1802 | CONFIG_PARTITION_ADVANCED=y | ||
1803 | # CONFIG_ACORN_PARTITION is not set | ||
1804 | # CONFIG_OSF_PARTITION is not set | ||
1805 | # CONFIG_AMIGA_PARTITION is not set | ||
1806 | # CONFIG_ATARI_PARTITION is not set | ||
1807 | # CONFIG_MAC_PARTITION is not set | ||
1808 | CONFIG_MSDOS_PARTITION=y | ||
1809 | # CONFIG_BSD_DISKLABEL is not set | ||
1810 | # CONFIG_MINIX_SUBPARTITION is not set | ||
1811 | # CONFIG_SOLARIS_X86_PARTITION is not set | ||
1812 | # CONFIG_UNIXWARE_DISKLABEL is not set | ||
1813 | # CONFIG_LDM_PARTITION is not set | ||
1814 | # CONFIG_SGI_PARTITION is not set | ||
1815 | # CONFIG_ULTRIX_PARTITION is not set | ||
1816 | # CONFIG_SUN_PARTITION is not set | ||
1817 | # CONFIG_KARMA_PARTITION is not set | ||
1818 | # CONFIG_EFI_PARTITION is not set | ||
1819 | # CONFIG_SYSV68_PARTITION is not set | ||
1820 | CONFIG_NLS=y | ||
1821 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
1822 | CONFIG_NLS_CODEPAGE_437=y | ||
1823 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
1824 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
1825 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
1826 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
1827 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
1828 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
1829 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
1830 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
1831 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
1832 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
1833 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
1834 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
1835 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
1836 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
1837 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
1838 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
1839 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
1840 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
1841 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
1842 | # CONFIG_NLS_ISO8859_8 is not set | ||
1843 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
1844 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
1845 | # CONFIG_NLS_ASCII is not set | ||
1846 | CONFIG_NLS_ISO8859_1=y | ||
1847 | # CONFIG_NLS_ISO8859_2 is not set | ||
1848 | # CONFIG_NLS_ISO8859_3 is not set | ||
1849 | # CONFIG_NLS_ISO8859_4 is not set | ||
1850 | # CONFIG_NLS_ISO8859_5 is not set | ||
1851 | # CONFIG_NLS_ISO8859_6 is not set | ||
1852 | # CONFIG_NLS_ISO8859_7 is not set | ||
1853 | # CONFIG_NLS_ISO8859_9 is not set | ||
1854 | # CONFIG_NLS_ISO8859_13 is not set | ||
1855 | # CONFIG_NLS_ISO8859_14 is not set | ||
1856 | # CONFIG_NLS_ISO8859_15 is not set | ||
1857 | # CONFIG_NLS_KOI8_R is not set | ||
1858 | # CONFIG_NLS_KOI8_U is not set | ||
1859 | # CONFIG_NLS_UTF8 is not set | ||
1860 | # CONFIG_DLM is not set | ||
1861 | |||
1862 | # | ||
1863 | # Kernel hacking | ||
1864 | # | ||
1865 | # CONFIG_PRINTK_TIME is not set | ||
1866 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1867 | CONFIG_ENABLE_MUST_CHECK=y | ||
1868 | CONFIG_FRAME_WARN=1024 | ||
1869 | CONFIG_MAGIC_SYSRQ=y | ||
1870 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1871 | CONFIG_DEBUG_FS=y | ||
1872 | # CONFIG_HEADERS_CHECK is not set | ||
1873 | CONFIG_DEBUG_KERNEL=y | ||
1874 | # CONFIG_DEBUG_SHIRQ is not set | ||
1875 | CONFIG_DETECT_SOFTLOCKUP=y | ||
1876 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
1877 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
1878 | CONFIG_SCHED_DEBUG=y | ||
1879 | CONFIG_SCHEDSTATS=y | ||
1880 | CONFIG_TIMER_STATS=y | ||
1881 | # CONFIG_DEBUG_OBJECTS is not set | ||
1882 | # CONFIG_SLUB_DEBUG_ON is not set | ||
1883 | # CONFIG_SLUB_STATS is not set | ||
1884 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
1885 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1886 | # CONFIG_DEBUG_SPINLOCK is not set | ||
1887 | CONFIG_DEBUG_MUTEXES=y | ||
1888 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
1889 | # CONFIG_PROVE_LOCKING is not set | ||
1890 | # CONFIG_LOCK_STAT is not set | ||
1891 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
1892 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1893 | CONFIG_STACKTRACE=y | ||
1894 | # CONFIG_DEBUG_KOBJECT is not set | ||
1895 | # CONFIG_DEBUG_BUGVERBOSE is not set | ||
1896 | # CONFIG_DEBUG_INFO is not set | ||
1897 | # CONFIG_DEBUG_VM is not set | ||
1898 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
1899 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
1900 | # CONFIG_DEBUG_LIST is not set | ||
1901 | # CONFIG_DEBUG_SG is not set | ||
1902 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1903 | CONFIG_FRAME_POINTER=y | ||
1904 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
1905 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1906 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1907 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
1908 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1909 | # CONFIG_FAULT_INJECTION is not set | ||
1910 | # CONFIG_LATENCYTOP is not set | ||
1911 | CONFIG_NOP_TRACER=y | ||
1912 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
1913 | CONFIG_RING_BUFFER=y | ||
1914 | CONFIG_TRACING=y | ||
1915 | |||
1916 | # | ||
1917 | # Tracers | ||
1918 | # | ||
1919 | # CONFIG_FUNCTION_TRACER is not set | ||
1920 | # CONFIG_IRQSOFF_TRACER is not set | ||
1921 | # CONFIG_SCHED_TRACER is not set | ||
1922 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1923 | # CONFIG_BOOT_TRACER is not set | ||
1924 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1925 | # CONFIG_STACK_TRACER is not set | ||
1926 | # CONFIG_FTRACE_STARTUP_TEST is not set | ||
1927 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
1928 | # CONFIG_SAMPLES is not set | ||
1929 | CONFIG_HAVE_ARCH_KGDB=y | ||
1930 | # CONFIG_KGDB is not set | ||
1931 | # CONFIG_DEBUG_USER is not set | ||
1932 | # CONFIG_DEBUG_ERRORS is not set | ||
1933 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
1934 | # CONFIG_DEBUG_LL is not set | ||
1935 | |||
1936 | # | ||
1937 | # Security options | ||
1938 | # | ||
1939 | # CONFIG_KEYS is not set | ||
1940 | # CONFIG_SECURITY is not set | ||
1941 | # CONFIG_SECURITYFS is not set | ||
1942 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
1943 | CONFIG_XOR_BLOCKS=m | ||
1944 | CONFIG_ASYNC_CORE=m | ||
1945 | CONFIG_ASYNC_MEMCPY=m | ||
1946 | CONFIG_ASYNC_XOR=m | ||
1947 | CONFIG_CRYPTO=y | ||
1948 | |||
1949 | # | ||
1950 | # Crypto core or helper | ||
1951 | # | ||
1952 | # CONFIG_CRYPTO_FIPS is not set | ||
1953 | CONFIG_CRYPTO_ALGAPI=y | ||
1954 | CONFIG_CRYPTO_ALGAPI2=y | ||
1955 | CONFIG_CRYPTO_AEAD2=y | ||
1956 | CONFIG_CRYPTO_BLKCIPHER=y | ||
1957 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
1958 | CONFIG_CRYPTO_HASH=y | ||
1959 | CONFIG_CRYPTO_HASH2=y | ||
1960 | CONFIG_CRYPTO_RNG2=y | ||
1961 | CONFIG_CRYPTO_MANAGER=y | ||
1962 | CONFIG_CRYPTO_MANAGER2=y | ||
1963 | CONFIG_CRYPTO_GF128MUL=m | ||
1964 | CONFIG_CRYPTO_NULL=m | ||
1965 | CONFIG_CRYPTO_CRYPTD=m | ||
1966 | # CONFIG_CRYPTO_AUTHENC is not set | ||
1967 | CONFIG_CRYPTO_TEST=m | ||
1968 | |||
1969 | # | ||
1970 | # Authenticated Encryption with Associated Data | ||
1971 | # | ||
1972 | # CONFIG_CRYPTO_CCM is not set | ||
1973 | # CONFIG_CRYPTO_GCM is not set | ||
1974 | # CONFIG_CRYPTO_SEQIV is not set | ||
1975 | |||
1976 | # | ||
1977 | # Block modes | ||
1978 | # | ||
1979 | CONFIG_CRYPTO_CBC=y | ||
1980 | # CONFIG_CRYPTO_CTR is not set | ||
1981 | # CONFIG_CRYPTO_CTS is not set | ||
1982 | CONFIG_CRYPTO_ECB=y | ||
1983 | CONFIG_CRYPTO_LRW=m | ||
1984 | CONFIG_CRYPTO_PCBC=m | ||
1985 | # CONFIG_CRYPTO_XTS is not set | ||
1986 | |||
1987 | # | ||
1988 | # Hash modes | ||
1989 | # | ||
1990 | CONFIG_CRYPTO_HMAC=m | ||
1991 | CONFIG_CRYPTO_XCBC=m | ||
1992 | |||
1993 | # | ||
1994 | # Digest | ||
1995 | # | ||
1996 | CONFIG_CRYPTO_CRC32C=y | ||
1997 | CONFIG_CRYPTO_MD4=m | ||
1998 | CONFIG_CRYPTO_MD5=y | ||
1999 | CONFIG_CRYPTO_MICHAEL_MIC=y | ||
2000 | # CONFIG_CRYPTO_RMD128 is not set | ||
2001 | # CONFIG_CRYPTO_RMD160 is not set | ||
2002 | # CONFIG_CRYPTO_RMD256 is not set | ||
2003 | # CONFIG_CRYPTO_RMD320 is not set | ||
2004 | CONFIG_CRYPTO_SHA1=m | ||
2005 | CONFIG_CRYPTO_SHA256=m | ||
2006 | CONFIG_CRYPTO_SHA512=m | ||
2007 | CONFIG_CRYPTO_TGR192=m | ||
2008 | CONFIG_CRYPTO_WP512=m | ||
2009 | |||
2010 | # | ||
2011 | # Ciphers | ||
2012 | # | ||
2013 | CONFIG_CRYPTO_AES=y | ||
2014 | CONFIG_CRYPTO_ANUBIS=m | ||
2015 | CONFIG_CRYPTO_ARC4=y | ||
2016 | CONFIG_CRYPTO_BLOWFISH=m | ||
2017 | CONFIG_CRYPTO_CAMELLIA=m | ||
2018 | CONFIG_CRYPTO_CAST5=m | ||
2019 | CONFIG_CRYPTO_CAST6=m | ||
2020 | CONFIG_CRYPTO_DES=y | ||
2021 | CONFIG_CRYPTO_FCRYPT=m | ||
2022 | CONFIG_CRYPTO_KHAZAD=m | ||
2023 | # CONFIG_CRYPTO_SALSA20 is not set | ||
2024 | # CONFIG_CRYPTO_SEED is not set | ||
2025 | CONFIG_CRYPTO_SERPENT=m | ||
2026 | CONFIG_CRYPTO_TEA=m | ||
2027 | CONFIG_CRYPTO_TWOFISH=m | ||
2028 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
2029 | |||
2030 | # | ||
2031 | # Compression | ||
2032 | # | ||
2033 | CONFIG_CRYPTO_DEFLATE=m | ||
2034 | # CONFIG_CRYPTO_LZO is not set | ||
2035 | |||
2036 | # | ||
2037 | # Random Number Generation | ||
2038 | # | ||
2039 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
2040 | CONFIG_CRYPTO_HW=y | ||
2041 | |||
2042 | # | ||
2043 | # Library routines | ||
2044 | # | ||
2045 | CONFIG_BITREVERSE=y | ||
2046 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
2047 | CONFIG_CRC_CCITT=y | ||
2048 | CONFIG_CRC16=m | ||
2049 | CONFIG_CRC_T10DIF=y | ||
2050 | CONFIG_CRC_ITU_T=y | ||
2051 | CONFIG_CRC32=y | ||
2052 | CONFIG_CRC7=y | ||
2053 | CONFIG_LIBCRC32C=y | ||
2054 | CONFIG_ZLIB_INFLATE=y | ||
2055 | CONFIG_ZLIB_DEFLATE=y | ||
2056 | CONFIG_LZO_COMPRESS=y | ||
2057 | CONFIG_LZO_DECOMPRESS=y | ||
2058 | CONFIG_PLIST=y | ||
2059 | CONFIG_HAS_IOMEM=y | ||
2060 | CONFIG_HAS_IOPORT=y | ||
2061 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/arm/configs/rx51_defconfig b/arch/arm/configs/rx51_defconfig new file mode 100644 index 000000000000..593102da8cd7 --- /dev/null +++ b/arch/arm/configs/rx51_defconfig | |||
@@ -0,0 +1,1821 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.29-rc8 | ||
4 | # Fri Mar 13 15:28:56 2009 | ||
5 | # | ||
6 | CONFIG_ARM=y | ||
7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | ||
8 | CONFIG_GENERIC_GPIO=y | ||
9 | CONFIG_GENERIC_TIME=y | ||
10 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
11 | CONFIG_MMU=y | ||
12 | # CONFIG_NO_IOPORT is not set | ||
13 | CONFIG_GENERIC_HARDIRQS=y | ||
14 | CONFIG_STACKTRACE_SUPPORT=y | ||
15 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
16 | CONFIG_LOCKDEP_SUPPORT=y | ||
17 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
18 | CONFIG_HARDIRQS_SW_RESEND=y | ||
19 | CONFIG_GENERIC_IRQ_PROBE=y | ||
20 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
21 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
22 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
23 | CONFIG_GENERIC_HWEIGHT=y | ||
24 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
25 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
26 | CONFIG_VECTORS_BASE=0xffff0000 | ||
27 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
28 | |||
29 | # | ||
30 | # General setup | ||
31 | # | ||
32 | CONFIG_EXPERIMENTAL=y | ||
33 | CONFIG_BROKEN_ON_SMP=y | ||
34 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
35 | CONFIG_LOCALVERSION="" | ||
36 | CONFIG_LOCALVERSION_AUTO=y | ||
37 | CONFIG_SWAP=y | ||
38 | CONFIG_SYSVIPC=y | ||
39 | CONFIG_SYSVIPC_SYSCTL=y | ||
40 | CONFIG_POSIX_MQUEUE=y | ||
41 | CONFIG_BSD_PROCESS_ACCT=y | ||
42 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set | ||
43 | # CONFIG_TASKSTATS is not set | ||
44 | # CONFIG_AUDIT is not set | ||
45 | |||
46 | # | ||
47 | # RCU Subsystem | ||
48 | # | ||
49 | CONFIG_CLASSIC_RCU=y | ||
50 | # CONFIG_TREE_RCU is not set | ||
51 | # CONFIG_PREEMPT_RCU is not set | ||
52 | # CONFIG_TREE_RCU_TRACE is not set | ||
53 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
54 | # CONFIG_IKCONFIG is not set | ||
55 | CONFIG_LOG_BUF_SHIFT=17 | ||
56 | CONFIG_GROUP_SCHED=y | ||
57 | CONFIG_FAIR_GROUP_SCHED=y | ||
58 | # CONFIG_RT_GROUP_SCHED is not set | ||
59 | CONFIG_USER_SCHED=y | ||
60 | # CONFIG_CGROUP_SCHED is not set | ||
61 | # CONFIG_CGROUPS is not set | ||
62 | CONFIG_SYSFS_DEPRECATED=y | ||
63 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
64 | # CONFIG_RELAY is not set | ||
65 | # CONFIG_NAMESPACES is not set | ||
66 | CONFIG_BLK_DEV_INITRD=y | ||
67 | CONFIG_INITRAMFS_SOURCE="" | ||
68 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
69 | CONFIG_SYSCTL=y | ||
70 | CONFIG_ANON_INODES=y | ||
71 | CONFIG_EMBEDDED=y | ||
72 | CONFIG_UID16=y | ||
73 | # CONFIG_SYSCTL_SYSCALL is not set | ||
74 | CONFIG_KALLSYMS=y | ||
75 | CONFIG_KALLSYMS_ALL=y | ||
76 | CONFIG_KALLSYMS_EXTRA_PASS=y | ||
77 | CONFIG_HOTPLUG=y | ||
78 | CONFIG_PRINTK=y | ||
79 | CONFIG_BUG=y | ||
80 | CONFIG_ELF_CORE=y | ||
81 | CONFIG_BASE_FULL=y | ||
82 | CONFIG_FUTEX=y | ||
83 | CONFIG_EPOLL=y | ||
84 | CONFIG_SIGNALFD=y | ||
85 | CONFIG_TIMERFD=y | ||
86 | CONFIG_EVENTFD=y | ||
87 | CONFIG_SHMEM=y | ||
88 | CONFIG_AIO=y | ||
89 | CONFIG_VM_EVENT_COUNTERS=y | ||
90 | CONFIG_COMPAT_BRK=y | ||
91 | CONFIG_SLAB=y | ||
92 | # CONFIG_SLUB is not set | ||
93 | # CONFIG_SLOB is not set | ||
94 | # CONFIG_PROFILING is not set | ||
95 | CONFIG_HAVE_OPROFILE=y | ||
96 | CONFIG_KPROBES=y | ||
97 | CONFIG_KRETPROBES=y | ||
98 | CONFIG_HAVE_KPROBES=y | ||
99 | CONFIG_HAVE_KRETPROBES=y | ||
100 | CONFIG_HAVE_CLK=y | ||
101 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | ||
102 | CONFIG_SLABINFO=y | ||
103 | CONFIG_RT_MUTEXES=y | ||
104 | CONFIG_BASE_SMALL=0 | ||
105 | CONFIG_MODULES=y | ||
106 | CONFIG_MODULE_FORCE_LOAD=y | ||
107 | CONFIG_MODULE_UNLOAD=y | ||
108 | CONFIG_MODULE_FORCE_UNLOAD=y | ||
109 | CONFIG_MODVERSIONS=y | ||
110 | CONFIG_MODULE_SRCVERSION_ALL=y | ||
111 | CONFIG_BLOCK=y | ||
112 | # CONFIG_LBD is not set | ||
113 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
114 | # CONFIG_BLK_DEV_BSG is not set | ||
115 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
116 | |||
117 | # | ||
118 | # IO Schedulers | ||
119 | # | ||
120 | CONFIG_IOSCHED_NOOP=y | ||
121 | # CONFIG_IOSCHED_AS is not set | ||
122 | # CONFIG_IOSCHED_DEADLINE is not set | ||
123 | CONFIG_IOSCHED_CFQ=y | ||
124 | # CONFIG_DEFAULT_AS is not set | ||
125 | # CONFIG_DEFAULT_DEADLINE is not set | ||
126 | CONFIG_DEFAULT_CFQ=y | ||
127 | # CONFIG_DEFAULT_NOOP is not set | ||
128 | CONFIG_DEFAULT_IOSCHED="cfq" | ||
129 | CONFIG_FREEZER=y | ||
130 | |||
131 | # | ||
132 | # System Type | ||
133 | # | ||
134 | # CONFIG_ARCH_AAEC2000 is not set | ||
135 | # CONFIG_ARCH_INTEGRATOR is not set | ||
136 | # CONFIG_ARCH_REALVIEW is not set | ||
137 | # CONFIG_ARCH_VERSATILE is not set | ||
138 | # CONFIG_ARCH_AT91 is not set | ||
139 | # CONFIG_ARCH_CLPS711X is not set | ||
140 | # CONFIG_ARCH_EBSA110 is not set | ||
141 | # CONFIG_ARCH_EP93XX is not set | ||
142 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
143 | # CONFIG_ARCH_NETX is not set | ||
144 | # CONFIG_ARCH_H720X is not set | ||
145 | # CONFIG_ARCH_IMX is not set | ||
146 | # CONFIG_ARCH_IOP13XX is not set | ||
147 | # CONFIG_ARCH_IOP32X is not set | ||
148 | # CONFIG_ARCH_IOP33X is not set | ||
149 | # CONFIG_ARCH_IXP23XX is not set | ||
150 | # CONFIG_ARCH_IXP2000 is not set | ||
151 | # CONFIG_ARCH_IXP4XX is not set | ||
152 | # CONFIG_ARCH_L7200 is not set | ||
153 | # CONFIG_ARCH_KIRKWOOD is not set | ||
154 | # CONFIG_ARCH_KS8695 is not set | ||
155 | # CONFIG_ARCH_NS9XXX is not set | ||
156 | # CONFIG_ARCH_LOKI is not set | ||
157 | # CONFIG_ARCH_MV78XX0 is not set | ||
158 | # CONFIG_ARCH_MXC is not set | ||
159 | # CONFIG_ARCH_ORION5X is not set | ||
160 | # CONFIG_ARCH_PNX4008 is not set | ||
161 | # CONFIG_ARCH_PXA is not set | ||
162 | # CONFIG_ARCH_RPC is not set | ||
163 | # CONFIG_ARCH_SA1100 is not set | ||
164 | # CONFIG_ARCH_S3C2410 is not set | ||
165 | # CONFIG_ARCH_S3C64XX is not set | ||
166 | # CONFIG_ARCH_SHARK is not set | ||
167 | # CONFIG_ARCH_LH7A40X is not set | ||
168 | # CONFIG_ARCH_DAVINCI is not set | ||
169 | CONFIG_ARCH_OMAP=y | ||
170 | # CONFIG_ARCH_MSM is not set | ||
171 | # CONFIG_ARCH_W90X900 is not set | ||
172 | |||
173 | # | ||
174 | # TI OMAP Implementations | ||
175 | # | ||
176 | CONFIG_ARCH_OMAP_OTG=y | ||
177 | # CONFIG_ARCH_OMAP1 is not set | ||
178 | # CONFIG_ARCH_OMAP2 is not set | ||
179 | CONFIG_ARCH_OMAP3=y | ||
180 | |||
181 | # | ||
182 | # OMAP Feature Selections | ||
183 | # | ||
184 | # CONFIG_OMAP_DEBUG_POWERDOMAIN is not set | ||
185 | # CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set | ||
186 | CONFIG_OMAP_RESET_CLOCKS=y | ||
187 | CONFIG_OMAP_MUX=y | ||
188 | CONFIG_OMAP_MUX_DEBUG=y | ||
189 | CONFIG_OMAP_MUX_WARNINGS=y | ||
190 | CONFIG_OMAP_MCBSP=y | ||
191 | # CONFIG_OMAP_MPU_TIMER is not set | ||
192 | CONFIG_OMAP_32K_TIMER=y | ||
193 | CONFIG_OMAP_32K_TIMER_HZ=128 | ||
194 | CONFIG_OMAP_DM_TIMER=y | ||
195 | # CONFIG_OMAP_LL_DEBUG_UART1 is not set | ||
196 | # CONFIG_OMAP_LL_DEBUG_UART2 is not set | ||
197 | CONFIG_OMAP_LL_DEBUG_UART3=y | ||
198 | CONFIG_OMAP_SERIAL_WAKE=y | ||
199 | CONFIG_ARCH_OMAP34XX=y | ||
200 | CONFIG_ARCH_OMAP3430=y | ||
201 | |||
202 | # | ||
203 | # OMAP Board Type | ||
204 | # | ||
205 | # CONFIG_MACH_OMAP3_BEAGLE is not set | ||
206 | # CONFIG_MACH_OMAP_LDP is not set | ||
207 | # CONFIG_MACH_OVERO is not set | ||
208 | # CONFIG_MACH_OMAP3_PANDORA is not set | ||
209 | # CONFIG_MACH_OMAP_3430SDP is not set | ||
210 | CONFIG_MACH_NOKIA_RX51=y | ||
211 | |||
212 | # | ||
213 | # Processor Type | ||
214 | # | ||
215 | CONFIG_CPU_32=y | ||
216 | CONFIG_CPU_32v6K=y | ||
217 | CONFIG_CPU_V7=y | ||
218 | CONFIG_CPU_32v7=y | ||
219 | CONFIG_CPU_ABRT_EV7=y | ||
220 | CONFIG_CPU_PABRT_IFAR=y | ||
221 | CONFIG_CPU_CACHE_V7=y | ||
222 | CONFIG_CPU_CACHE_VIPT=y | ||
223 | CONFIG_CPU_COPY_V6=y | ||
224 | CONFIG_CPU_TLB_V7=y | ||
225 | CONFIG_CPU_HAS_ASID=y | ||
226 | CONFIG_CPU_CP15=y | ||
227 | CONFIG_CPU_CP15_MMU=y | ||
228 | |||
229 | # | ||
230 | # Processor Features | ||
231 | # | ||
232 | CONFIG_ARM_THUMB=y | ||
233 | # CONFIG_ARM_THUMBEE is not set | ||
234 | # CONFIG_CPU_ICACHE_DISABLE is not set | ||
235 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
236 | # CONFIG_CPU_BPREDICT_DISABLE is not set | ||
237 | CONFIG_HAS_TLS_REG=y | ||
238 | # CONFIG_OUTER_CACHE is not set | ||
239 | |||
240 | # | ||
241 | # Bus support | ||
242 | # | ||
243 | # CONFIG_PCI_SYSCALL is not set | ||
244 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
245 | # CONFIG_PCCARD is not set | ||
246 | |||
247 | # | ||
248 | # Kernel Features | ||
249 | # | ||
250 | CONFIG_TICK_ONESHOT=y | ||
251 | CONFIG_NO_HZ=y | ||
252 | CONFIG_HIGH_RES_TIMERS=y | ||
253 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
254 | CONFIG_VMSPLIT_3G=y | ||
255 | # CONFIG_VMSPLIT_2G is not set | ||
256 | # CONFIG_VMSPLIT_1G is not set | ||
257 | CONFIG_PAGE_OFFSET=0xC0000000 | ||
258 | # CONFIG_PREEMPT is not set | ||
259 | CONFIG_HZ=128 | ||
260 | CONFIG_AEABI=y | ||
261 | # CONFIG_OABI_COMPAT is not set | ||
262 | CONFIG_ARCH_FLATMEM_HAS_HOLES=y | ||
263 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | ||
264 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | ||
265 | CONFIG_SELECT_MEMORY_MODEL=y | ||
266 | CONFIG_FLATMEM_MANUAL=y | ||
267 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
268 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
269 | CONFIG_FLATMEM=y | ||
270 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
271 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
272 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
273 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
274 | CONFIG_ZONE_DMA_FLAG=0 | ||
275 | CONFIG_VIRT_TO_BUS=y | ||
276 | CONFIG_UNEVICTABLE_LRU=y | ||
277 | # CONFIG_LEDS is not set | ||
278 | CONFIG_ALIGNMENT_TRAP=y | ||
279 | |||
280 | # | ||
281 | # Boot options | ||
282 | # | ||
283 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
284 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
285 | CONFIG_CMDLINE="init=/sbin/preinit ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs rw console=ttyMTD5" | ||
286 | # CONFIG_XIP_KERNEL is not set | ||
287 | # CONFIG_KEXEC is not set | ||
288 | |||
289 | # | ||
290 | # CPU Power Management | ||
291 | # | ||
292 | # CONFIG_CPU_FREQ is not set | ||
293 | # CONFIG_CPU_IDLE is not set | ||
294 | |||
295 | # | ||
296 | # Floating point emulation | ||
297 | # | ||
298 | |||
299 | # | ||
300 | # At least one emulation must be selected | ||
301 | # | ||
302 | CONFIG_VFP=y | ||
303 | CONFIG_VFPv3=y | ||
304 | CONFIG_NEON=y | ||
305 | |||
306 | # | ||
307 | # Userspace binary formats | ||
308 | # | ||
309 | CONFIG_BINFMT_ELF=y | ||
310 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
311 | CONFIG_HAVE_AOUT=y | ||
312 | # CONFIG_BINFMT_AOUT is not set | ||
313 | CONFIG_BINFMT_MISC=y | ||
314 | |||
315 | # | ||
316 | # Power management options | ||
317 | # | ||
318 | CONFIG_PM=y | ||
319 | CONFIG_PM_DEBUG=y | ||
320 | # CONFIG_PM_VERBOSE is not set | ||
321 | CONFIG_CAN_PM_TRACE=y | ||
322 | CONFIG_PM_SLEEP=y | ||
323 | CONFIG_SUSPEND=y | ||
324 | CONFIG_SUSPEND_FREEZER=y | ||
325 | # CONFIG_APM_EMULATION is not set | ||
326 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
327 | CONFIG_NET=y | ||
328 | |||
329 | # | ||
330 | # Networking options | ||
331 | # | ||
332 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
333 | CONFIG_PACKET=y | ||
334 | # CONFIG_PACKET_MMAP is not set | ||
335 | CONFIG_UNIX=y | ||
336 | CONFIG_XFRM=y | ||
337 | # CONFIG_XFRM_USER is not set | ||
338 | # CONFIG_XFRM_SUB_POLICY is not set | ||
339 | # CONFIG_XFRM_MIGRATE is not set | ||
340 | # CONFIG_XFRM_STATISTICS is not set | ||
341 | CONFIG_NET_KEY=y | ||
342 | # CONFIG_NET_KEY_MIGRATE is not set | ||
343 | CONFIG_INET=y | ||
344 | # CONFIG_IP_MULTICAST is not set | ||
345 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
346 | CONFIG_IP_FIB_HASH=y | ||
347 | CONFIG_IP_PNP=y | ||
348 | CONFIG_IP_PNP_DHCP=y | ||
349 | CONFIG_IP_PNP_BOOTP=y | ||
350 | CONFIG_IP_PNP_RARP=y | ||
351 | # CONFIG_NET_IPIP is not set | ||
352 | # CONFIG_NET_IPGRE is not set | ||
353 | # CONFIG_ARPD is not set | ||
354 | # CONFIG_SYN_COOKIES is not set | ||
355 | # CONFIG_INET_AH is not set | ||
356 | # CONFIG_INET_ESP is not set | ||
357 | # CONFIG_INET_IPCOMP is not set | ||
358 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
359 | # CONFIG_INET_TUNNEL is not set | ||
360 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
361 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
362 | CONFIG_INET_XFRM_MODE_BEET=y | ||
363 | # CONFIG_INET_LRO is not set | ||
364 | CONFIG_INET_DIAG=y | ||
365 | CONFIG_INET_TCP_DIAG=y | ||
366 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
367 | CONFIG_TCP_CONG_CUBIC=y | ||
368 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
369 | # CONFIG_TCP_MD5SIG is not set | ||
370 | # CONFIG_IPV6 is not set | ||
371 | # CONFIG_NETLABEL is not set | ||
372 | # CONFIG_NETWORK_SECMARK is not set | ||
373 | CONFIG_NETFILTER=y | ||
374 | # CONFIG_NETFILTER_DEBUG is not set | ||
375 | CONFIG_NETFILTER_ADVANCED=y | ||
376 | |||
377 | # | ||
378 | # Core Netfilter Configuration | ||
379 | # | ||
380 | # CONFIG_NETFILTER_NETLINK_QUEUE is not set | ||
381 | # CONFIG_NETFILTER_NETLINK_LOG is not set | ||
382 | # CONFIG_NF_CONNTRACK is not set | ||
383 | CONFIG_NETFILTER_XTABLES=m | ||
384 | # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set | ||
385 | # CONFIG_NETFILTER_XT_TARGET_MARK is not set | ||
386 | # CONFIG_NETFILTER_XT_TARGET_NFLOG is not set | ||
387 | # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set | ||
388 | # CONFIG_NETFILTER_XT_TARGET_RATEEST is not set | ||
389 | # CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set | ||
390 | # CONFIG_NETFILTER_XT_MATCH_COMMENT is not set | ||
391 | # CONFIG_NETFILTER_XT_MATCH_DCCP is not set | ||
392 | # CONFIG_NETFILTER_XT_MATCH_DSCP is not set | ||
393 | # CONFIG_NETFILTER_XT_MATCH_ESP is not set | ||
394 | # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set | ||
395 | # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set | ||
396 | # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set | ||
397 | # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set | ||
398 | # CONFIG_NETFILTER_XT_MATCH_MAC is not set | ||
399 | # CONFIG_NETFILTER_XT_MATCH_MARK is not set | ||
400 | # CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set | ||
401 | # CONFIG_NETFILTER_XT_MATCH_OWNER is not set | ||
402 | # CONFIG_NETFILTER_XT_MATCH_POLICY is not set | ||
403 | # CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set | ||
404 | # CONFIG_NETFILTER_XT_MATCH_QUOTA is not set | ||
405 | # CONFIG_NETFILTER_XT_MATCH_RATEEST is not set | ||
406 | # CONFIG_NETFILTER_XT_MATCH_REALM is not set | ||
407 | # CONFIG_NETFILTER_XT_MATCH_RECENT is not set | ||
408 | # CONFIG_NETFILTER_XT_MATCH_SCTP is not set | ||
409 | # CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set | ||
410 | # CONFIG_NETFILTER_XT_MATCH_STRING is not set | ||
411 | # CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set | ||
412 | # CONFIG_NETFILTER_XT_MATCH_TIME is not set | ||
413 | # CONFIG_NETFILTER_XT_MATCH_U32 is not set | ||
414 | # CONFIG_IP_VS is not set | ||
415 | |||
416 | # | ||
417 | # IP: Netfilter Configuration | ||
418 | # | ||
419 | # CONFIG_NF_DEFRAG_IPV4 is not set | ||
420 | # CONFIG_IP_NF_QUEUE is not set | ||
421 | CONFIG_IP_NF_IPTABLES=m | ||
422 | # CONFIG_IP_NF_MATCH_ADDRTYPE is not set | ||
423 | # CONFIG_IP_NF_MATCH_AH is not set | ||
424 | # CONFIG_IP_NF_MATCH_ECN is not set | ||
425 | # CONFIG_IP_NF_MATCH_TTL is not set | ||
426 | CONFIG_IP_NF_FILTER=m | ||
427 | # CONFIG_IP_NF_TARGET_REJECT is not set | ||
428 | # CONFIG_IP_NF_TARGET_LOG is not set | ||
429 | # CONFIG_IP_NF_TARGET_ULOG is not set | ||
430 | # CONFIG_IP_NF_MANGLE is not set | ||
431 | # CONFIG_IP_NF_RAW is not set | ||
432 | # CONFIG_IP_NF_SECURITY is not set | ||
433 | # CONFIG_IP_NF_ARPTABLES is not set | ||
434 | # CONFIG_IP_DCCP is not set | ||
435 | # CONFIG_IP_SCTP is not set | ||
436 | # CONFIG_TIPC is not set | ||
437 | # CONFIG_ATM is not set | ||
438 | # CONFIG_BRIDGE is not set | ||
439 | # CONFIG_NET_DSA is not set | ||
440 | # CONFIG_VLAN_8021Q is not set | ||
441 | # CONFIG_DECNET is not set | ||
442 | # CONFIG_LLC2 is not set | ||
443 | # CONFIG_IPX is not set | ||
444 | # CONFIG_ATALK is not set | ||
445 | # CONFIG_X25 is not set | ||
446 | # CONFIG_LAPB is not set | ||
447 | # CONFIG_ECONET is not set | ||
448 | # CONFIG_WAN_ROUTER is not set | ||
449 | # CONFIG_NET_SCHED is not set | ||
450 | # CONFIG_DCB is not set | ||
451 | |||
452 | # | ||
453 | # Network testing | ||
454 | # | ||
455 | # CONFIG_NET_PKTGEN is not set | ||
456 | # CONFIG_NET_TCPPROBE is not set | ||
457 | # CONFIG_HAMRADIO is not set | ||
458 | # CONFIG_CAN is not set | ||
459 | # CONFIG_IRDA is not set | ||
460 | CONFIG_BT=m | ||
461 | CONFIG_BT_L2CAP=m | ||
462 | CONFIG_BT_SCO=m | ||
463 | CONFIG_BT_RFCOMM=m | ||
464 | CONFIG_BT_RFCOMM_TTY=y | ||
465 | CONFIG_BT_BNEP=m | ||
466 | CONFIG_BT_BNEP_MC_FILTER=y | ||
467 | CONFIG_BT_BNEP_PROTO_FILTER=y | ||
468 | CONFIG_BT_HIDP=m | ||
469 | |||
470 | # | ||
471 | # Bluetooth device drivers | ||
472 | # | ||
473 | # CONFIG_BT_HCIBTUSB is not set | ||
474 | # CONFIG_BT_HCIBTSDIO is not set | ||
475 | # CONFIG_BT_HCIUART is not set | ||
476 | # CONFIG_BT_HCIBCM203X is not set | ||
477 | # CONFIG_BT_HCIBPA10X is not set | ||
478 | # CONFIG_BT_HCIBFUSB is not set | ||
479 | # CONFIG_BT_HCIVHCI is not set | ||
480 | # CONFIG_AF_RXRPC is not set | ||
481 | # CONFIG_PHONET is not set | ||
482 | CONFIG_WIRELESS=y | ||
483 | CONFIG_CFG80211=y | ||
484 | # CONFIG_CFG80211_REG_DEBUG is not set | ||
485 | CONFIG_NL80211=y | ||
486 | CONFIG_WIRELESS_OLD_REGULATORY=y | ||
487 | CONFIG_WIRELESS_EXT=y | ||
488 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
489 | # CONFIG_LIB80211 is not set | ||
490 | CONFIG_MAC80211=m | ||
491 | |||
492 | # | ||
493 | # Rate control algorithm selection | ||
494 | # | ||
495 | CONFIG_MAC80211_RC_PID=y | ||
496 | # CONFIG_MAC80211_RC_MINSTREL is not set | ||
497 | CONFIG_MAC80211_RC_DEFAULT_PID=y | ||
498 | # CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set | ||
499 | CONFIG_MAC80211_RC_DEFAULT="pid" | ||
500 | # CONFIG_MAC80211_MESH is not set | ||
501 | # CONFIG_MAC80211_LEDS is not set | ||
502 | # CONFIG_MAC80211_DEBUGFS is not set | ||
503 | # CONFIG_MAC80211_DEBUG_MENU is not set | ||
504 | # CONFIG_WIMAX is not set | ||
505 | # CONFIG_RFKILL is not set | ||
506 | # CONFIG_NET_9P is not set | ||
507 | |||
508 | # | ||
509 | # Device Drivers | ||
510 | # | ||
511 | |||
512 | # | ||
513 | # Generic Driver Options | ||
514 | # | ||
515 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
516 | CONFIG_STANDALONE=y | ||
517 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
518 | CONFIG_FW_LOADER=y | ||
519 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
520 | CONFIG_EXTRA_FIRMWARE="" | ||
521 | # CONFIG_DEBUG_DRIVER is not set | ||
522 | # CONFIG_DEBUG_DEVRES is not set | ||
523 | # CONFIG_SYS_HYPERVISOR is not set | ||
524 | # CONFIG_CONNECTOR is not set | ||
525 | CONFIG_MTD=y | ||
526 | # CONFIG_MTD_DEBUG is not set | ||
527 | CONFIG_MTD_CONCAT=y | ||
528 | CONFIG_MTD_PARTITIONS=y | ||
529 | # CONFIG_MTD_TESTS is not set | ||
530 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
531 | CONFIG_MTD_CMDLINE_PARTS=y | ||
532 | # CONFIG_MTD_AFS_PARTS is not set | ||
533 | # CONFIG_MTD_AR7_PARTS is not set | ||
534 | |||
535 | # | ||
536 | # User Modules And Translation Layers | ||
537 | # | ||
538 | CONFIG_MTD_CHAR=y | ||
539 | CONFIG_MTD_BLKDEVS=y | ||
540 | CONFIG_MTD_BLOCK=y | ||
541 | # CONFIG_FTL is not set | ||
542 | # CONFIG_NFTL is not set | ||
543 | # CONFIG_INFTL is not set | ||
544 | # CONFIG_RFD_FTL is not set | ||
545 | # CONFIG_SSFDC is not set | ||
546 | CONFIG_MTD_OOPS=y | ||
547 | |||
548 | # | ||
549 | # RAM/ROM/Flash chip drivers | ||
550 | # | ||
551 | CONFIG_MTD_CFI=y | ||
552 | # CONFIG_MTD_JEDECPROBE is not set | ||
553 | CONFIG_MTD_GEN_PROBE=y | ||
554 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
555 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
556 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
557 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
558 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
559 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
560 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
561 | CONFIG_MTD_CFI_I1=y | ||
562 | CONFIG_MTD_CFI_I2=y | ||
563 | # CONFIG_MTD_CFI_I4 is not set | ||
564 | # CONFIG_MTD_CFI_I8 is not set | ||
565 | CONFIG_MTD_CFI_INTELEXT=y | ||
566 | # CONFIG_MTD_CFI_AMDSTD is not set | ||
567 | # CONFIG_MTD_CFI_STAA is not set | ||
568 | CONFIG_MTD_CFI_UTIL=y | ||
569 | # CONFIG_MTD_RAM is not set | ||
570 | # CONFIG_MTD_ROM is not set | ||
571 | # CONFIG_MTD_ABSENT is not set | ||
572 | |||
573 | # | ||
574 | # Mapping drivers for chip access | ||
575 | # | ||
576 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
577 | # CONFIG_MTD_PHYSMAP is not set | ||
578 | # CONFIG_MTD_ARM_INTEGRATOR is not set | ||
579 | # CONFIG_MTD_OMAP_NOR is not set | ||
580 | # CONFIG_MTD_PLATRAM is not set | ||
581 | |||
582 | # | ||
583 | # Self-contained MTD device drivers | ||
584 | # | ||
585 | # CONFIG_MTD_DATAFLASH is not set | ||
586 | # CONFIG_MTD_M25P80 is not set | ||
587 | # CONFIG_MTD_SLRAM is not set | ||
588 | # CONFIG_MTD_PHRAM is not set | ||
589 | # CONFIG_MTD_MTDRAM is not set | ||
590 | # CONFIG_MTD_BLOCK2MTD is not set | ||
591 | |||
592 | # | ||
593 | # Disk-On-Chip Device Drivers | ||
594 | # | ||
595 | # CONFIG_MTD_DOC2000 is not set | ||
596 | # CONFIG_MTD_DOC2001 is not set | ||
597 | # CONFIG_MTD_DOC2001PLUS is not set | ||
598 | # CONFIG_MTD_NAND is not set | ||
599 | CONFIG_MTD_ONENAND=y | ||
600 | # CONFIG_MTD_ONENAND_VERIFY_WRITE is not set | ||
601 | # CONFIG_MTD_ONENAND_GENERIC is not set | ||
602 | CONFIG_MTD_ONENAND_OMAP2=y | ||
603 | # CONFIG_MTD_ONENAND_OTP is not set | ||
604 | # CONFIG_MTD_ONENAND_2X_PROGRAM is not set | ||
605 | # CONFIG_MTD_ONENAND_SIM is not set | ||
606 | |||
607 | # | ||
608 | # LPDDR flash memory drivers | ||
609 | # | ||
610 | # CONFIG_MTD_LPDDR is not set | ||
611 | |||
612 | # | ||
613 | # UBI - Unsorted block images | ||
614 | # | ||
615 | CONFIG_MTD_UBI=y | ||
616 | CONFIG_MTD_UBI_WL_THRESHOLD=4096 | ||
617 | CONFIG_MTD_UBI_BEB_RESERVE=1 | ||
618 | # CONFIG_MTD_UBI_GLUEBI is not set | ||
619 | |||
620 | # | ||
621 | # UBI debugging options | ||
622 | # | ||
623 | # CONFIG_MTD_UBI_DEBUG is not set | ||
624 | # CONFIG_PARPORT is not set | ||
625 | CONFIG_BLK_DEV=y | ||
626 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
627 | CONFIG_BLK_DEV_LOOP=y | ||
628 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
629 | # CONFIG_BLK_DEV_NBD is not set | ||
630 | # CONFIG_BLK_DEV_UB is not set | ||
631 | CONFIG_BLK_DEV_RAM=y | ||
632 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
633 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
634 | # CONFIG_BLK_DEV_XIP is not set | ||
635 | # CONFIG_CDROM_PKTCDVD is not set | ||
636 | # CONFIG_ATA_OVER_ETH is not set | ||
637 | CONFIG_MISC_DEVICES=y | ||
638 | # CONFIG_ICS932S401 is not set | ||
639 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
640 | # CONFIG_C2PORT is not set | ||
641 | |||
642 | # | ||
643 | # EEPROM support | ||
644 | # | ||
645 | # CONFIG_EEPROM_AT24 is not set | ||
646 | # CONFIG_EEPROM_AT25 is not set | ||
647 | # CONFIG_EEPROM_LEGACY is not set | ||
648 | # CONFIG_EEPROM_93CX6 is not set | ||
649 | CONFIG_HAVE_IDE=y | ||
650 | # CONFIG_IDE is not set | ||
651 | |||
652 | # | ||
653 | # SCSI device support | ||
654 | # | ||
655 | # CONFIG_RAID_ATTRS is not set | ||
656 | CONFIG_SCSI=m | ||
657 | CONFIG_SCSI_DMA=y | ||
658 | # CONFIG_SCSI_TGT is not set | ||
659 | # CONFIG_SCSI_NETLINK is not set | ||
660 | CONFIG_SCSI_PROC_FS=y | ||
661 | |||
662 | # | ||
663 | # SCSI support type (disk, tape, CD-ROM) | ||
664 | # | ||
665 | CONFIG_BLK_DEV_SD=m | ||
666 | # CONFIG_CHR_DEV_ST is not set | ||
667 | # CONFIG_CHR_DEV_OSST is not set | ||
668 | # CONFIG_BLK_DEV_SR is not set | ||
669 | # CONFIG_CHR_DEV_SG is not set | ||
670 | # CONFIG_CHR_DEV_SCH is not set | ||
671 | |||
672 | # | ||
673 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
674 | # | ||
675 | CONFIG_SCSI_MULTI_LUN=y | ||
676 | # CONFIG_SCSI_CONSTANTS is not set | ||
677 | # CONFIG_SCSI_LOGGING is not set | ||
678 | CONFIG_SCSI_SCAN_ASYNC=y | ||
679 | CONFIG_SCSI_WAIT_SCAN=m | ||
680 | |||
681 | # | ||
682 | # SCSI Transports | ||
683 | # | ||
684 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
685 | # CONFIG_SCSI_FC_ATTRS is not set | ||
686 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
687 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
688 | # CONFIG_SCSI_SRP_ATTRS is not set | ||
689 | CONFIG_SCSI_LOWLEVEL=y | ||
690 | # CONFIG_ISCSI_TCP is not set | ||
691 | # CONFIG_LIBFC is not set | ||
692 | # CONFIG_SCSI_DEBUG is not set | ||
693 | # CONFIG_SCSI_DH is not set | ||
694 | # CONFIG_ATA is not set | ||
695 | # CONFIG_MD is not set | ||
696 | CONFIG_NETDEVICES=y | ||
697 | # CONFIG_DUMMY is not set | ||
698 | # CONFIG_BONDING is not set | ||
699 | # CONFIG_MACVLAN is not set | ||
700 | # CONFIG_EQUALIZER is not set | ||
701 | CONFIG_TUN=m | ||
702 | # CONFIG_VETH is not set | ||
703 | # CONFIG_PHYLIB is not set | ||
704 | CONFIG_NET_ETHERNET=y | ||
705 | CONFIG_MII=m | ||
706 | # CONFIG_AX88796 is not set | ||
707 | CONFIG_SMC91X=m | ||
708 | # CONFIG_DM9000 is not set | ||
709 | # CONFIG_ENC28J60 is not set | ||
710 | # CONFIG_SMC911X is not set | ||
711 | # CONFIG_SMSC911X is not set | ||
712 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
713 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
714 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
715 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
716 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
717 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
718 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
719 | # CONFIG_B44 is not set | ||
720 | # CONFIG_NETDEV_1000 is not set | ||
721 | # CONFIG_NETDEV_10000 is not set | ||
722 | |||
723 | # | ||
724 | # Wireless LAN | ||
725 | # | ||
726 | # CONFIG_WLAN_PRE80211 is not set | ||
727 | CONFIG_WLAN_80211=y | ||
728 | # CONFIG_LIBERTAS is not set | ||
729 | # CONFIG_LIBERTAS_THINFIRM is not set | ||
730 | # CONFIG_USB_ZD1201 is not set | ||
731 | # CONFIG_USB_NET_RNDIS_WLAN is not set | ||
732 | # CONFIG_RTL8187 is not set | ||
733 | # CONFIG_MAC80211_HWSIM is not set | ||
734 | # CONFIG_P54_COMMON is not set | ||
735 | # CONFIG_IWLWIFI_LEDS is not set | ||
736 | # CONFIG_HOSTAP is not set | ||
737 | # CONFIG_B43 is not set | ||
738 | # CONFIG_B43LEGACY is not set | ||
739 | # CONFIG_ZD1211RW is not set | ||
740 | # CONFIG_RT2X00 is not set | ||
741 | |||
742 | # | ||
743 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
744 | # | ||
745 | |||
746 | # | ||
747 | # USB Network Adapters | ||
748 | # | ||
749 | # CONFIG_USB_CATC is not set | ||
750 | # CONFIG_USB_KAWETH is not set | ||
751 | # CONFIG_USB_PEGASUS is not set | ||
752 | # CONFIG_USB_RTL8150 is not set | ||
753 | # CONFIG_USB_USBNET is not set | ||
754 | # CONFIG_WAN is not set | ||
755 | # CONFIG_PPP is not set | ||
756 | # CONFIG_SLIP is not set | ||
757 | # CONFIG_NETCONSOLE is not set | ||
758 | # CONFIG_NETPOLL is not set | ||
759 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
760 | # CONFIG_ISDN is not set | ||
761 | |||
762 | # | ||
763 | # Input device support | ||
764 | # | ||
765 | CONFIG_INPUT=y | ||
766 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
767 | # CONFIG_INPUT_POLLDEV is not set | ||
768 | |||
769 | # | ||
770 | # Userland interfaces | ||
771 | # | ||
772 | # CONFIG_INPUT_MOUSEDEV is not set | ||
773 | # CONFIG_INPUT_JOYDEV is not set | ||
774 | CONFIG_INPUT_EVDEV=y | ||
775 | # CONFIG_INPUT_EVBUG is not set | ||
776 | |||
777 | # | ||
778 | # Input Device Drivers | ||
779 | # | ||
780 | CONFIG_INPUT_KEYBOARD=y | ||
781 | # CONFIG_KEYBOARD_ATKBD is not set | ||
782 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
783 | # CONFIG_KEYBOARD_LKKBD is not set | ||
784 | # CONFIG_KEYBOARD_XTKBD is not set | ||
785 | # CONFIG_KEYBOARD_NEWTON is not set | ||
786 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
787 | # CONFIG_KEYBOARD_GPIO is not set | ||
788 | # CONFIG_INPUT_MOUSE is not set | ||
789 | # CONFIG_INPUT_JOYSTICK is not set | ||
790 | # CONFIG_INPUT_TABLET is not set | ||
791 | CONFIG_INPUT_TOUCHSCREEN=y | ||
792 | # CONFIG_TOUCHSCREEN_ADS7846 is not set | ||
793 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | ||
794 | # CONFIG_TOUCHSCREEN_GUNZE is not set | ||
795 | # CONFIG_TOUCHSCREEN_ELO is not set | ||
796 | # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set | ||
797 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | ||
798 | # CONFIG_TOUCHSCREEN_INEXIO is not set | ||
799 | # CONFIG_TOUCHSCREEN_MK712 is not set | ||
800 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set | ||
801 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set | ||
802 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set | ||
803 | # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set | ||
804 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set | ||
805 | # CONFIG_TOUCHSCREEN_TSC2007 is not set | ||
806 | CONFIG_INPUT_MISC=y | ||
807 | # CONFIG_INPUT_ATI_REMOTE is not set | ||
808 | # CONFIG_INPUT_ATI_REMOTE2 is not set | ||
809 | # CONFIG_INPUT_KEYSPAN_REMOTE is not set | ||
810 | # CONFIG_INPUT_POWERMATE is not set | ||
811 | # CONFIG_INPUT_YEALINK is not set | ||
812 | # CONFIG_INPUT_CM109 is not set | ||
813 | CONFIG_INPUT_UINPUT=m | ||
814 | |||
815 | # | ||
816 | # Hardware I/O ports | ||
817 | # | ||
818 | # CONFIG_SERIO is not set | ||
819 | # CONFIG_GAMEPORT is not set | ||
820 | |||
821 | # | ||
822 | # Character devices | ||
823 | # | ||
824 | CONFIG_VT=y | ||
825 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
826 | CONFIG_VT_CONSOLE=y | ||
827 | CONFIG_HW_CONSOLE=y | ||
828 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
829 | CONFIG_DEVKMEM=y | ||
830 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
831 | |||
832 | # | ||
833 | # Serial drivers | ||
834 | # | ||
835 | CONFIG_SERIAL_8250=y | ||
836 | CONFIG_SERIAL_8250_CONSOLE=y | ||
837 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
838 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | ||
839 | # CONFIG_SERIAL_8250_EXTENDED is not set | ||
840 | |||
841 | # | ||
842 | # Non-8250 serial port support | ||
843 | # | ||
844 | CONFIG_SERIAL_CORE=y | ||
845 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
846 | CONFIG_UNIX98_PTYS=y | ||
847 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
848 | # CONFIG_LEGACY_PTYS is not set | ||
849 | # CONFIG_IPMI_HANDLER is not set | ||
850 | CONFIG_HW_RANDOM=m | ||
851 | # CONFIG_R3964 is not set | ||
852 | # CONFIG_RAW_DRIVER is not set | ||
853 | # CONFIG_TCG_TPM is not set | ||
854 | CONFIG_I2C=y | ||
855 | CONFIG_I2C_BOARDINFO=y | ||
856 | CONFIG_I2C_CHARDEV=y | ||
857 | CONFIG_I2C_HELPER_AUTO=y | ||
858 | |||
859 | # | ||
860 | # I2C Hardware Bus support | ||
861 | # | ||
862 | |||
863 | # | ||
864 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
865 | # | ||
866 | # CONFIG_I2C_GPIO is not set | ||
867 | # CONFIG_I2C_OCORES is not set | ||
868 | CONFIG_I2C_OMAP=y | ||
869 | # CONFIG_I2C_SIMTEC is not set | ||
870 | |||
871 | # | ||
872 | # External I2C/SMBus adapter drivers | ||
873 | # | ||
874 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
875 | # CONFIG_I2C_TAOS_EVM is not set | ||
876 | # CONFIG_I2C_TINY_USB is not set | ||
877 | |||
878 | # | ||
879 | # Other I2C/SMBus bus drivers | ||
880 | # | ||
881 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
882 | # CONFIG_I2C_STUB is not set | ||
883 | |||
884 | # | ||
885 | # Miscellaneous I2C Chip support | ||
886 | # | ||
887 | # CONFIG_DS1682 is not set | ||
888 | # CONFIG_SENSORS_PCF8574 is not set | ||
889 | # CONFIG_PCF8575 is not set | ||
890 | # CONFIG_SENSORS_PCA9539 is not set | ||
891 | # CONFIG_SENSORS_PCF8591 is not set | ||
892 | # CONFIG_SENSORS_MAX6875 is not set | ||
893 | # CONFIG_SENSORS_TSL2550 is not set | ||
894 | # CONFIG_I2C_DEBUG_CORE is not set | ||
895 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
896 | # CONFIG_I2C_DEBUG_BUS is not set | ||
897 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
898 | CONFIG_SPI=y | ||
899 | # CONFIG_SPI_DEBUG is not set | ||
900 | CONFIG_SPI_MASTER=y | ||
901 | |||
902 | # | ||
903 | # SPI Master Controller Drivers | ||
904 | # | ||
905 | # CONFIG_SPI_BITBANG is not set | ||
906 | # CONFIG_SPI_GPIO is not set | ||
907 | CONFIG_SPI_OMAP24XX=y | ||
908 | |||
909 | # | ||
910 | # SPI Protocol Masters | ||
911 | # | ||
912 | # CONFIG_SPI_SPIDEV is not set | ||
913 | # CONFIG_SPI_TLE62X0 is not set | ||
914 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | ||
915 | CONFIG_GPIOLIB=y | ||
916 | # CONFIG_DEBUG_GPIO is not set | ||
917 | CONFIG_GPIO_SYSFS=y | ||
918 | |||
919 | # | ||
920 | # Memory mapped GPIO expanders: | ||
921 | # | ||
922 | |||
923 | # | ||
924 | # I2C GPIO expanders: | ||
925 | # | ||
926 | # CONFIG_GPIO_MAX732X is not set | ||
927 | # CONFIG_GPIO_PCA953X is not set | ||
928 | # CONFIG_GPIO_PCF857X is not set | ||
929 | CONFIG_GPIO_TWL4030=y | ||
930 | |||
931 | # | ||
932 | # PCI GPIO expanders: | ||
933 | # | ||
934 | |||
935 | # | ||
936 | # SPI GPIO expanders: | ||
937 | # | ||
938 | # CONFIG_GPIO_MAX7301 is not set | ||
939 | # CONFIG_GPIO_MCP23S08 is not set | ||
940 | # CONFIG_W1 is not set | ||
941 | # CONFIG_POWER_SUPPLY is not set | ||
942 | CONFIG_HWMON=y | ||
943 | # CONFIG_HWMON_VID is not set | ||
944 | # CONFIG_SENSORS_AD7414 is not set | ||
945 | # CONFIG_SENSORS_AD7418 is not set | ||
946 | # CONFIG_SENSORS_ADCXX is not set | ||
947 | # CONFIG_SENSORS_ADM1021 is not set | ||
948 | # CONFIG_SENSORS_ADM1025 is not set | ||
949 | # CONFIG_SENSORS_ADM1026 is not set | ||
950 | # CONFIG_SENSORS_ADM1029 is not set | ||
951 | # CONFIG_SENSORS_ADM1031 is not set | ||
952 | # CONFIG_SENSORS_ADM9240 is not set | ||
953 | # CONFIG_SENSORS_ADT7462 is not set | ||
954 | # CONFIG_SENSORS_ADT7470 is not set | ||
955 | # CONFIG_SENSORS_ADT7473 is not set | ||
956 | # CONFIG_SENSORS_ADT7475 is not set | ||
957 | # CONFIG_SENSORS_ATXP1 is not set | ||
958 | # CONFIG_SENSORS_DS1621 is not set | ||
959 | # CONFIG_SENSORS_F71805F is not set | ||
960 | # CONFIG_SENSORS_F71882FG is not set | ||
961 | # CONFIG_SENSORS_F75375S is not set | ||
962 | # CONFIG_SENSORS_GL518SM is not set | ||
963 | # CONFIG_SENSORS_GL520SM is not set | ||
964 | # CONFIG_SENSORS_IT87 is not set | ||
965 | # CONFIG_SENSORS_LM63 is not set | ||
966 | # CONFIG_SENSORS_LM70 is not set | ||
967 | # CONFIG_SENSORS_LM75 is not set | ||
968 | # CONFIG_SENSORS_LM77 is not set | ||
969 | # CONFIG_SENSORS_LM78 is not set | ||
970 | # CONFIG_SENSORS_LM80 is not set | ||
971 | # CONFIG_SENSORS_LM83 is not set | ||
972 | # CONFIG_SENSORS_LM85 is not set | ||
973 | # CONFIG_SENSORS_LM87 is not set | ||
974 | # CONFIG_SENSORS_LM90 is not set | ||
975 | # CONFIG_SENSORS_LM92 is not set | ||
976 | # CONFIG_SENSORS_LM93 is not set | ||
977 | # CONFIG_SENSORS_LTC4245 is not set | ||
978 | # CONFIG_SENSORS_MAX1111 is not set | ||
979 | # CONFIG_SENSORS_MAX1619 is not set | ||
980 | # CONFIG_SENSORS_MAX6650 is not set | ||
981 | # CONFIG_SENSORS_PC87360 is not set | ||
982 | # CONFIG_SENSORS_PC87427 is not set | ||
983 | # CONFIG_SENSORS_DME1737 is not set | ||
984 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
985 | # CONFIG_SENSORS_SMSC47M192 is not set | ||
986 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
987 | # CONFIG_SENSORS_ADS7828 is not set | ||
988 | # CONFIG_SENSORS_THMC50 is not set | ||
989 | # CONFIG_SENSORS_VT1211 is not set | ||
990 | # CONFIG_SENSORS_W83781D is not set | ||
991 | # CONFIG_SENSORS_W83791D is not set | ||
992 | # CONFIG_SENSORS_W83792D is not set | ||
993 | # CONFIG_SENSORS_W83793 is not set | ||
994 | # CONFIG_SENSORS_W83L785TS is not set | ||
995 | # CONFIG_SENSORS_W83L786NG is not set | ||
996 | # CONFIG_SENSORS_W83627HF is not set | ||
997 | # CONFIG_SENSORS_W83627EHF is not set | ||
998 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
999 | # CONFIG_THERMAL is not set | ||
1000 | # CONFIG_THERMAL_HWMON is not set | ||
1001 | CONFIG_WATCHDOG=y | ||
1002 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
1003 | |||
1004 | # | ||
1005 | # Watchdog Device Drivers | ||
1006 | # | ||
1007 | # CONFIG_SOFT_WATCHDOG is not set | ||
1008 | CONFIG_OMAP_WATCHDOG=m | ||
1009 | |||
1010 | # | ||
1011 | # USB-based Watchdog Cards | ||
1012 | # | ||
1013 | # CONFIG_USBPCWATCHDOG is not set | ||
1014 | CONFIG_SSB_POSSIBLE=y | ||
1015 | |||
1016 | # | ||
1017 | # Sonics Silicon Backplane | ||
1018 | # | ||
1019 | # CONFIG_SSB is not set | ||
1020 | |||
1021 | # | ||
1022 | # Multifunction device drivers | ||
1023 | # | ||
1024 | # CONFIG_MFD_CORE is not set | ||
1025 | # CONFIG_MFD_SM501 is not set | ||
1026 | # CONFIG_MFD_ASIC3 is not set | ||
1027 | # CONFIG_HTC_EGPIO is not set | ||
1028 | # CONFIG_HTC_PASIC3 is not set | ||
1029 | # CONFIG_TPS65010 is not set | ||
1030 | CONFIG_TWL4030_CORE=y | ||
1031 | # CONFIG_MFD_TMIO is not set | ||
1032 | # CONFIG_MFD_T7L66XB is not set | ||
1033 | # CONFIG_MFD_TC6387XB is not set | ||
1034 | # CONFIG_MFD_TC6393XB is not set | ||
1035 | # CONFIG_PMIC_DA903X is not set | ||
1036 | # CONFIG_MFD_WM8400 is not set | ||
1037 | # CONFIG_MFD_WM8350_I2C is not set | ||
1038 | # CONFIG_MFD_PCF50633 is not set | ||
1039 | |||
1040 | # | ||
1041 | # Multimedia devices | ||
1042 | # | ||
1043 | |||
1044 | # | ||
1045 | # Multimedia core support | ||
1046 | # | ||
1047 | CONFIG_VIDEO_DEV=m | ||
1048 | CONFIG_VIDEO_V4L2_COMMON=m | ||
1049 | CONFIG_VIDEO_ALLOW_V4L1=y | ||
1050 | CONFIG_VIDEO_V4L1_COMPAT=y | ||
1051 | # CONFIG_DVB_CORE is not set | ||
1052 | CONFIG_VIDEO_MEDIA=m | ||
1053 | |||
1054 | # | ||
1055 | # Multimedia drivers | ||
1056 | # | ||
1057 | # CONFIG_MEDIA_ATTACH is not set | ||
1058 | CONFIG_MEDIA_TUNER=m | ||
1059 | # CONFIG_MEDIA_TUNER_CUSTOMIZE is not set | ||
1060 | CONFIG_MEDIA_TUNER_SIMPLE=m | ||
1061 | CONFIG_MEDIA_TUNER_TDA8290=m | ||
1062 | CONFIG_MEDIA_TUNER_TDA9887=m | ||
1063 | CONFIG_MEDIA_TUNER_TEA5761=m | ||
1064 | CONFIG_MEDIA_TUNER_TEA5767=m | ||
1065 | CONFIG_MEDIA_TUNER_MT20XX=m | ||
1066 | CONFIG_MEDIA_TUNER_XC2028=m | ||
1067 | CONFIG_MEDIA_TUNER_XC5000=m | ||
1068 | CONFIG_VIDEO_V4L2=m | ||
1069 | CONFIG_VIDEO_V4L1=m | ||
1070 | CONFIG_VIDEO_CAPTURE_DRIVERS=y | ||
1071 | # CONFIG_VIDEO_ADV_DEBUG is not set | ||
1072 | # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set | ||
1073 | CONFIG_VIDEO_HELPER_CHIPS_AUTO=y | ||
1074 | # CONFIG_VIDEO_VIVI is not set | ||
1075 | # CONFIG_VIDEO_CPIA is not set | ||
1076 | # CONFIG_VIDEO_CPIA2 is not set | ||
1077 | # CONFIG_VIDEO_SAA5246A is not set | ||
1078 | # CONFIG_VIDEO_SAA5249 is not set | ||
1079 | # CONFIG_SOC_CAMERA is not set | ||
1080 | CONFIG_V4L_USB_DRIVERS=y | ||
1081 | # CONFIG_USB_VIDEO_CLASS is not set | ||
1082 | # CONFIG_USB_GSPCA is not set | ||
1083 | # CONFIG_VIDEO_PVRUSB2 is not set | ||
1084 | # CONFIG_VIDEO_EM28XX is not set | ||
1085 | # CONFIG_VIDEO_USBVISION is not set | ||
1086 | # CONFIG_USB_VICAM is not set | ||
1087 | # CONFIG_USB_IBMCAM is not set | ||
1088 | # CONFIG_USB_KONICAWC is not set | ||
1089 | # CONFIG_USB_QUICKCAM_MESSENGER is not set | ||
1090 | # CONFIG_USB_ET61X251 is not set | ||
1091 | # CONFIG_VIDEO_OVCAMCHIP is not set | ||
1092 | # CONFIG_USB_OV511 is not set | ||
1093 | # CONFIG_USB_SE401 is not set | ||
1094 | # CONFIG_USB_SN9C102 is not set | ||
1095 | # CONFIG_USB_STV680 is not set | ||
1096 | # CONFIG_USB_ZC0301 is not set | ||
1097 | # CONFIG_USB_PWC is not set | ||
1098 | # CONFIG_USB_ZR364XX is not set | ||
1099 | # CONFIG_USB_STKWEBCAM is not set | ||
1100 | # CONFIG_USB_S2255 is not set | ||
1101 | CONFIG_RADIO_ADAPTERS=y | ||
1102 | # CONFIG_USB_DSBR is not set | ||
1103 | # CONFIG_USB_SI470X is not set | ||
1104 | # CONFIG_USB_MR800 is not set | ||
1105 | # CONFIG_RADIO_TEA5764 is not set | ||
1106 | # CONFIG_DAB is not set | ||
1107 | |||
1108 | # | ||
1109 | # Graphics support | ||
1110 | # | ||
1111 | # CONFIG_VGASTATE is not set | ||
1112 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
1113 | # CONFIG_FB is not set | ||
1114 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
1115 | |||
1116 | # | ||
1117 | # Display device support | ||
1118 | # | ||
1119 | CONFIG_DISPLAY_SUPPORT=y | ||
1120 | |||
1121 | # | ||
1122 | # Display hardware drivers | ||
1123 | # | ||
1124 | |||
1125 | # | ||
1126 | # Console display driver support | ||
1127 | # | ||
1128 | # CONFIG_VGA_CONSOLE is not set | ||
1129 | CONFIG_DUMMY_CONSOLE=y | ||
1130 | CONFIG_SOUND=y | ||
1131 | # CONFIG_SOUND_OSS_CORE is not set | ||
1132 | CONFIG_SND=y | ||
1133 | CONFIG_SND_TIMER=y | ||
1134 | CONFIG_SND_PCM=y | ||
1135 | # CONFIG_SND_SEQUENCER is not set | ||
1136 | # CONFIG_SND_MIXER_OSS is not set | ||
1137 | # CONFIG_SND_PCM_OSS is not set | ||
1138 | # CONFIG_SND_HRTIMER is not set | ||
1139 | # CONFIG_SND_DYNAMIC_MINORS is not set | ||
1140 | CONFIG_SND_SUPPORT_OLD_API=y | ||
1141 | CONFIG_SND_VERBOSE_PROCFS=y | ||
1142 | # CONFIG_SND_VERBOSE_PRINTK is not set | ||
1143 | # CONFIG_SND_DEBUG is not set | ||
1144 | CONFIG_SND_DRIVERS=y | ||
1145 | # CONFIG_SND_DUMMY is not set | ||
1146 | # CONFIG_SND_MTPAV is not set | ||
1147 | # CONFIG_SND_SERIAL_U16550 is not set | ||
1148 | # CONFIG_SND_MPU401 is not set | ||
1149 | CONFIG_SND_ARM=y | ||
1150 | CONFIG_SND_SPI=y | ||
1151 | # CONFIG_SND_USB is not set | ||
1152 | CONFIG_SND_SOC=y | ||
1153 | CONFIG_SND_OMAP_SOC=y | ||
1154 | CONFIG_SND_SOC_I2C_AND_SPI=y | ||
1155 | # CONFIG_SND_SOC_ALL_CODECS is not set | ||
1156 | # CONFIG_SOUND_PRIME is not set | ||
1157 | CONFIG_HID_SUPPORT=y | ||
1158 | CONFIG_HID=m | ||
1159 | # CONFIG_HID_DEBUG is not set | ||
1160 | # CONFIG_HIDRAW is not set | ||
1161 | |||
1162 | # | ||
1163 | # USB Input Devices | ||
1164 | # | ||
1165 | CONFIG_USB_HID=m | ||
1166 | # CONFIG_HID_PID is not set | ||
1167 | # CONFIG_USB_HIDDEV is not set | ||
1168 | |||
1169 | # | ||
1170 | # USB HID Boot Protocol drivers | ||
1171 | # | ||
1172 | # CONFIG_USB_KBD is not set | ||
1173 | # CONFIG_USB_MOUSE is not set | ||
1174 | |||
1175 | # | ||
1176 | # Special HID drivers | ||
1177 | # | ||
1178 | CONFIG_HID_COMPAT=y | ||
1179 | CONFIG_HID_A4TECH=m | ||
1180 | CONFIG_HID_APPLE=m | ||
1181 | CONFIG_HID_BELKIN=m | ||
1182 | CONFIG_HID_CHERRY=m | ||
1183 | CONFIG_HID_CHICONY=m | ||
1184 | CONFIG_HID_CYPRESS=m | ||
1185 | CONFIG_HID_EZKEY=m | ||
1186 | CONFIG_HID_GYRATION=m | ||
1187 | CONFIG_HID_LOGITECH=m | ||
1188 | # CONFIG_LOGITECH_FF is not set | ||
1189 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | ||
1190 | CONFIG_HID_MICROSOFT=m | ||
1191 | CONFIG_HID_MONTEREY=m | ||
1192 | # CONFIG_HID_NTRIG is not set | ||
1193 | CONFIG_HID_PANTHERLORD=m | ||
1194 | # CONFIG_PANTHERLORD_FF is not set | ||
1195 | CONFIG_HID_PETALYNX=m | ||
1196 | CONFIG_HID_SAMSUNG=m | ||
1197 | CONFIG_HID_SONY=m | ||
1198 | CONFIG_HID_SUNPLUS=m | ||
1199 | # CONFIG_GREENASIA_FF is not set | ||
1200 | # CONFIG_HID_TOPSEED is not set | ||
1201 | # CONFIG_THRUSTMASTER_FF is not set | ||
1202 | # CONFIG_ZEROPLUS_FF is not set | ||
1203 | CONFIG_USB_SUPPORT=y | ||
1204 | CONFIG_USB_ARCH_HAS_HCD=y | ||
1205 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
1206 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
1207 | CONFIG_USB=y | ||
1208 | CONFIG_USB_DEBUG=y | ||
1209 | CONFIG_USB_ANNOUNCE_NEW_DEVICES=y | ||
1210 | |||
1211 | # | ||
1212 | # Miscellaneous USB options | ||
1213 | # | ||
1214 | CONFIG_USB_DEVICEFS=y | ||
1215 | CONFIG_USB_DEVICE_CLASS=y | ||
1216 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
1217 | CONFIG_USB_SUSPEND=y | ||
1218 | CONFIG_USB_OTG=y | ||
1219 | CONFIG_USB_OTG_WHITELIST=y | ||
1220 | CONFIG_USB_OTG_BLACKLIST_HUB=y | ||
1221 | CONFIG_USB_MON=y | ||
1222 | # CONFIG_USB_WUSB is not set | ||
1223 | # CONFIG_USB_WUSB_CBAF is not set | ||
1224 | |||
1225 | # | ||
1226 | # USB Host Controller Drivers | ||
1227 | # | ||
1228 | # CONFIG_USB_C67X00_HCD is not set | ||
1229 | # CONFIG_USB_OXU210HP_HCD is not set | ||
1230 | # CONFIG_USB_ISP116X_HCD is not set | ||
1231 | # CONFIG_USB_OHCI_HCD is not set | ||
1232 | # CONFIG_USB_SL811_HCD is not set | ||
1233 | # CONFIG_USB_R8A66597_HCD is not set | ||
1234 | # CONFIG_USB_HWA_HCD is not set | ||
1235 | CONFIG_USB_MUSB_HDRC=y | ||
1236 | CONFIG_USB_MUSB_SOC=y | ||
1237 | |||
1238 | # | ||
1239 | # OMAP 343x high speed USB support | ||
1240 | # | ||
1241 | # CONFIG_USB_MUSB_HOST is not set | ||
1242 | # CONFIG_USB_MUSB_PERIPHERAL is not set | ||
1243 | CONFIG_USB_MUSB_OTG=y | ||
1244 | CONFIG_USB_GADGET_MUSB_HDRC=y | ||
1245 | CONFIG_USB_MUSB_HDRC_HCD=y | ||
1246 | # CONFIG_MUSB_PIO_ONLY is not set | ||
1247 | CONFIG_USB_INVENTRA_DMA=y | ||
1248 | # CONFIG_USB_TI_CPPI_DMA is not set | ||
1249 | # CONFIG_USB_MUSB_DEBUG is not set | ||
1250 | |||
1251 | # | ||
1252 | # USB Device Class drivers | ||
1253 | # | ||
1254 | # CONFIG_USB_ACM is not set | ||
1255 | # CONFIG_USB_PRINTER is not set | ||
1256 | # CONFIG_USB_WDM is not set | ||
1257 | # CONFIG_USB_TMC is not set | ||
1258 | |||
1259 | # | ||
1260 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | ||
1261 | # | ||
1262 | |||
1263 | # | ||
1264 | # see USB_STORAGE Help for more information | ||
1265 | # | ||
1266 | CONFIG_USB_STORAGE=m | ||
1267 | # CONFIG_USB_STORAGE_DEBUG is not set | ||
1268 | # CONFIG_USB_STORAGE_DATAFAB is not set | ||
1269 | # CONFIG_USB_STORAGE_FREECOM is not set | ||
1270 | # CONFIG_USB_STORAGE_ISD200 is not set | ||
1271 | # CONFIG_USB_STORAGE_USBAT is not set | ||
1272 | # CONFIG_USB_STORAGE_SDDR09 is not set | ||
1273 | # CONFIG_USB_STORAGE_SDDR55 is not set | ||
1274 | # CONFIG_USB_STORAGE_JUMPSHOT is not set | ||
1275 | # CONFIG_USB_STORAGE_ALAUDA is not set | ||
1276 | # CONFIG_USB_STORAGE_ONETOUCH is not set | ||
1277 | # CONFIG_USB_STORAGE_KARMA is not set | ||
1278 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set | ||
1279 | CONFIG_USB_LIBUSUAL=y | ||
1280 | |||
1281 | # | ||
1282 | # USB Imaging devices | ||
1283 | # | ||
1284 | # CONFIG_USB_MDC800 is not set | ||
1285 | # CONFIG_USB_MICROTEK is not set | ||
1286 | |||
1287 | # | ||
1288 | # USB port drivers | ||
1289 | # | ||
1290 | # CONFIG_USB_SERIAL is not set | ||
1291 | |||
1292 | # | ||
1293 | # USB Miscellaneous drivers | ||
1294 | # | ||
1295 | # CONFIG_USB_EMI62 is not set | ||
1296 | # CONFIG_USB_EMI26 is not set | ||
1297 | # CONFIG_USB_ADUTUX is not set | ||
1298 | # CONFIG_USB_SEVSEG is not set | ||
1299 | # CONFIG_USB_RIO500 is not set | ||
1300 | # CONFIG_USB_LEGOTOWER is not set | ||
1301 | # CONFIG_USB_LCD is not set | ||
1302 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1303 | # CONFIG_USB_LED is not set | ||
1304 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
1305 | # CONFIG_USB_CYTHERM is not set | ||
1306 | # CONFIG_USB_PHIDGET is not set | ||
1307 | # CONFIG_USB_IDMOUSE is not set | ||
1308 | # CONFIG_USB_FTDI_ELAN is not set | ||
1309 | # CONFIG_USB_APPLEDISPLAY is not set | ||
1310 | # CONFIG_USB_LD is not set | ||
1311 | # CONFIG_USB_TRANCEVIBRATOR is not set | ||
1312 | # CONFIG_USB_IOWARRIOR is not set | ||
1313 | CONFIG_USB_TEST=m | ||
1314 | # CONFIG_USB_ISIGHTFW is not set | ||
1315 | # CONFIG_USB_VST is not set | ||
1316 | CONFIG_USB_GADGET=m | ||
1317 | CONFIG_USB_GADGET_DEBUG=y | ||
1318 | CONFIG_USB_GADGET_DEBUG_FILES=y | ||
1319 | CONFIG_USB_GADGET_DEBUG_FS=y | ||
1320 | CONFIG_USB_GADGET_VBUS_DRAW=2 | ||
1321 | CONFIG_USB_GADGET_SELECTED=y | ||
1322 | # CONFIG_USB_GADGET_AT91 is not set | ||
1323 | # CONFIG_USB_GADGET_ATMEL_USBA is not set | ||
1324 | # CONFIG_USB_GADGET_FSL_USB2 is not set | ||
1325 | # CONFIG_USB_GADGET_LH7A40X is not set | ||
1326 | # CONFIG_USB_GADGET_OMAP is not set | ||
1327 | # CONFIG_USB_GADGET_PXA25X is not set | ||
1328 | # CONFIG_USB_GADGET_PXA27X is not set | ||
1329 | # CONFIG_USB_GADGET_S3C2410 is not set | ||
1330 | # CONFIG_USB_GADGET_IMX is not set | ||
1331 | # CONFIG_USB_GADGET_M66592 is not set | ||
1332 | # CONFIG_USB_GADGET_AMD5536UDC is not set | ||
1333 | # CONFIG_USB_GADGET_FSL_QE is not set | ||
1334 | # CONFIG_USB_GADGET_CI13XXX is not set | ||
1335 | # CONFIG_USB_GADGET_NET2280 is not set | ||
1336 | # CONFIG_USB_GADGET_GOKU is not set | ||
1337 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | ||
1338 | CONFIG_USB_GADGET_DUALSPEED=y | ||
1339 | CONFIG_USB_ZERO=m | ||
1340 | # CONFIG_USB_ZERO_HNPTEST is not set | ||
1341 | # CONFIG_USB_ETH is not set | ||
1342 | # CONFIG_USB_GADGETFS is not set | ||
1343 | CONFIG_USB_FILE_STORAGE=m | ||
1344 | # CONFIG_USB_FILE_STORAGE_TEST is not set | ||
1345 | # CONFIG_USB_G_SERIAL is not set | ||
1346 | # CONFIG_USB_MIDI_GADGET is not set | ||
1347 | # CONFIG_USB_G_PRINTER is not set | ||
1348 | # CONFIG_USB_CDC_COMPOSITE is not set | ||
1349 | |||
1350 | # | ||
1351 | # OTG and related infrastructure | ||
1352 | # | ||
1353 | CONFIG_USB_OTG_UTILS=y | ||
1354 | # CONFIG_USB_GPIO_VBUS is not set | ||
1355 | # CONFIG_ISP1301_OMAP is not set | ||
1356 | CONFIG_TWL4030_USB=y | ||
1357 | CONFIG_MMC=m | ||
1358 | # CONFIG_MMC_DEBUG is not set | ||
1359 | # CONFIG_MMC_UNSAFE_RESUME is not set | ||
1360 | |||
1361 | # | ||
1362 | # MMC/SD/SDIO Card Drivers | ||
1363 | # | ||
1364 | CONFIG_MMC_BLOCK=m | ||
1365 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
1366 | # CONFIG_SDIO_UART is not set | ||
1367 | # CONFIG_MMC_TEST is not set | ||
1368 | |||
1369 | # | ||
1370 | # MMC/SD/SDIO Host Controller Drivers | ||
1371 | # | ||
1372 | # CONFIG_MMC_SDHCI is not set | ||
1373 | # CONFIG_MMC_OMAP is not set | ||
1374 | CONFIG_MMC_OMAP_HS=m | ||
1375 | # CONFIG_MMC_SPI is not set | ||
1376 | # CONFIG_MEMSTICK is not set | ||
1377 | # CONFIG_ACCESSIBILITY is not set | ||
1378 | CONFIG_NEW_LEDS=y | ||
1379 | CONFIG_LEDS_CLASS=m | ||
1380 | |||
1381 | # | ||
1382 | # LED drivers | ||
1383 | # | ||
1384 | # CONFIG_LEDS_PCA9532 is not set | ||
1385 | # CONFIG_LEDS_GPIO is not set | ||
1386 | # CONFIG_LEDS_PCA955X is not set | ||
1387 | |||
1388 | # | ||
1389 | # LED Triggers | ||
1390 | # | ||
1391 | # CONFIG_LEDS_TRIGGERS is not set | ||
1392 | CONFIG_RTC_LIB=y | ||
1393 | CONFIG_RTC_CLASS=m | ||
1394 | |||
1395 | # | ||
1396 | # RTC interfaces | ||
1397 | # | ||
1398 | CONFIG_RTC_INTF_SYSFS=y | ||
1399 | CONFIG_RTC_INTF_PROC=y | ||
1400 | CONFIG_RTC_INTF_DEV=y | ||
1401 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
1402 | # CONFIG_RTC_DRV_TEST is not set | ||
1403 | |||
1404 | # | ||
1405 | # I2C RTC drivers | ||
1406 | # | ||
1407 | # CONFIG_RTC_DRV_DS1307 is not set | ||
1408 | # CONFIG_RTC_DRV_DS1374 is not set | ||
1409 | # CONFIG_RTC_DRV_DS1672 is not set | ||
1410 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
1411 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
1412 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
1413 | # CONFIG_RTC_DRV_X1205 is not set | ||
1414 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
1415 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
1416 | # CONFIG_RTC_DRV_M41T80 is not set | ||
1417 | CONFIG_RTC_DRV_TWL4030=m | ||
1418 | # CONFIG_RTC_DRV_S35390A is not set | ||
1419 | # CONFIG_RTC_DRV_FM3130 is not set | ||
1420 | # CONFIG_RTC_DRV_RX8581 is not set | ||
1421 | |||
1422 | # | ||
1423 | # SPI RTC drivers | ||
1424 | # | ||
1425 | # CONFIG_RTC_DRV_M41T94 is not set | ||
1426 | # CONFIG_RTC_DRV_DS1305 is not set | ||
1427 | # CONFIG_RTC_DRV_DS1390 is not set | ||
1428 | # CONFIG_RTC_DRV_MAX6902 is not set | ||
1429 | # CONFIG_RTC_DRV_R9701 is not set | ||
1430 | # CONFIG_RTC_DRV_RS5C348 is not set | ||
1431 | # CONFIG_RTC_DRV_DS3234 is not set | ||
1432 | |||
1433 | # | ||
1434 | # Platform RTC drivers | ||
1435 | # | ||
1436 | # CONFIG_RTC_DRV_CMOS is not set | ||
1437 | # CONFIG_RTC_DRV_DS1286 is not set | ||
1438 | # CONFIG_RTC_DRV_DS1511 is not set | ||
1439 | # CONFIG_RTC_DRV_DS1553 is not set | ||
1440 | # CONFIG_RTC_DRV_DS1742 is not set | ||
1441 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
1442 | # CONFIG_RTC_DRV_M48T86 is not set | ||
1443 | # CONFIG_RTC_DRV_M48T35 is not set | ||
1444 | # CONFIG_RTC_DRV_M48T59 is not set | ||
1445 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
1446 | # CONFIG_RTC_DRV_V3020 is not set | ||
1447 | |||
1448 | # | ||
1449 | # on-CPU RTC drivers | ||
1450 | # | ||
1451 | # CONFIG_DMADEVICES is not set | ||
1452 | # CONFIG_REGULATOR is not set | ||
1453 | # CONFIG_UIO is not set | ||
1454 | # CONFIG_STAGING is not set | ||
1455 | |||
1456 | # | ||
1457 | # File systems | ||
1458 | # | ||
1459 | CONFIG_EXT2_FS=m | ||
1460 | # CONFIG_EXT2_FS_XATTR is not set | ||
1461 | # CONFIG_EXT2_FS_XIP is not set | ||
1462 | CONFIG_EXT3_FS=m | ||
1463 | # CONFIG_EXT3_FS_XATTR is not set | ||
1464 | # CONFIG_EXT4_FS is not set | ||
1465 | CONFIG_JBD=m | ||
1466 | # CONFIG_JBD_DEBUG is not set | ||
1467 | # CONFIG_REISERFS_FS is not set | ||
1468 | # CONFIG_JFS_FS is not set | ||
1469 | # CONFIG_FS_POSIX_ACL is not set | ||
1470 | CONFIG_FILE_LOCKING=y | ||
1471 | # CONFIG_XFS_FS is not set | ||
1472 | # CONFIG_OCFS2_FS is not set | ||
1473 | # CONFIG_BTRFS_FS is not set | ||
1474 | CONFIG_DNOTIFY=y | ||
1475 | CONFIG_INOTIFY=y | ||
1476 | CONFIG_INOTIFY_USER=y | ||
1477 | CONFIG_QUOTA=y | ||
1478 | # CONFIG_QUOTA_NETLINK_INTERFACE is not set | ||
1479 | CONFIG_PRINT_QUOTA_WARNING=y | ||
1480 | CONFIG_QUOTA_TREE=y | ||
1481 | # CONFIG_QFMT_V1 is not set | ||
1482 | CONFIG_QFMT_V2=y | ||
1483 | CONFIG_QUOTACTL=y | ||
1484 | # CONFIG_AUTOFS_FS is not set | ||
1485 | # CONFIG_AUTOFS4_FS is not set | ||
1486 | CONFIG_FUSE_FS=m | ||
1487 | |||
1488 | # | ||
1489 | # CD-ROM/DVD Filesystems | ||
1490 | # | ||
1491 | # CONFIG_ISO9660_FS is not set | ||
1492 | # CONFIG_UDF_FS is not set | ||
1493 | |||
1494 | # | ||
1495 | # DOS/FAT/NT Filesystems | ||
1496 | # | ||
1497 | CONFIG_FAT_FS=m | ||
1498 | CONFIG_MSDOS_FS=m | ||
1499 | CONFIG_VFAT_FS=m | ||
1500 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
1501 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
1502 | # CONFIG_NTFS_FS is not set | ||
1503 | |||
1504 | # | ||
1505 | # Pseudo filesystems | ||
1506 | # | ||
1507 | CONFIG_PROC_FS=y | ||
1508 | CONFIG_PROC_SYSCTL=y | ||
1509 | CONFIG_PROC_PAGE_MONITOR=y | ||
1510 | CONFIG_SYSFS=y | ||
1511 | CONFIG_TMPFS=y | ||
1512 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
1513 | # CONFIG_HUGETLB_PAGE is not set | ||
1514 | # CONFIG_CONFIGFS_FS is not set | ||
1515 | CONFIG_MISC_FILESYSTEMS=y | ||
1516 | # CONFIG_ADFS_FS is not set | ||
1517 | # CONFIG_AFFS_FS is not set | ||
1518 | # CONFIG_HFS_FS is not set | ||
1519 | # CONFIG_HFSPLUS_FS is not set | ||
1520 | # CONFIG_BEFS_FS is not set | ||
1521 | # CONFIG_BFS_FS is not set | ||
1522 | # CONFIG_EFS_FS is not set | ||
1523 | # CONFIG_JFFS2_FS is not set | ||
1524 | CONFIG_UBIFS_FS=y | ||
1525 | # CONFIG_UBIFS_FS_XATTR is not set | ||
1526 | # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set | ||
1527 | CONFIG_UBIFS_FS_LZO=y | ||
1528 | CONFIG_UBIFS_FS_ZLIB=y | ||
1529 | # CONFIG_UBIFS_FS_DEBUG is not set | ||
1530 | CONFIG_CRAMFS=y | ||
1531 | # CONFIG_SQUASHFS is not set | ||
1532 | # CONFIG_VXFS_FS is not set | ||
1533 | # CONFIG_MINIX_FS is not set | ||
1534 | # CONFIG_OMFS_FS is not set | ||
1535 | # CONFIG_HPFS_FS is not set | ||
1536 | # CONFIG_QNX4FS_FS is not set | ||
1537 | # CONFIG_ROMFS_FS is not set | ||
1538 | # CONFIG_SYSV_FS is not set | ||
1539 | # CONFIG_UFS_FS is not set | ||
1540 | CONFIG_NETWORK_FILESYSTEMS=y | ||
1541 | CONFIG_NFS_FS=m | ||
1542 | CONFIG_NFS_V3=y | ||
1543 | # CONFIG_NFS_V3_ACL is not set | ||
1544 | CONFIG_NFS_V4=y | ||
1545 | # CONFIG_NFSD is not set | ||
1546 | CONFIG_LOCKD=m | ||
1547 | CONFIG_LOCKD_V4=y | ||
1548 | CONFIG_NFS_COMMON=y | ||
1549 | CONFIG_SUNRPC=m | ||
1550 | CONFIG_SUNRPC_GSS=m | ||
1551 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1552 | CONFIG_RPCSEC_GSS_KRB5=m | ||
1553 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
1554 | # CONFIG_SMB_FS is not set | ||
1555 | # CONFIG_CIFS is not set | ||
1556 | # CONFIG_NCP_FS is not set | ||
1557 | # CONFIG_CODA_FS is not set | ||
1558 | # CONFIG_AFS_FS is not set | ||
1559 | |||
1560 | # | ||
1561 | # Partition Types | ||
1562 | # | ||
1563 | CONFIG_PARTITION_ADVANCED=y | ||
1564 | # CONFIG_ACORN_PARTITION is not set | ||
1565 | # CONFIG_OSF_PARTITION is not set | ||
1566 | # CONFIG_AMIGA_PARTITION is not set | ||
1567 | # CONFIG_ATARI_PARTITION is not set | ||
1568 | # CONFIG_MAC_PARTITION is not set | ||
1569 | CONFIG_MSDOS_PARTITION=y | ||
1570 | # CONFIG_BSD_DISKLABEL is not set | ||
1571 | # CONFIG_MINIX_SUBPARTITION is not set | ||
1572 | # CONFIG_SOLARIS_X86_PARTITION is not set | ||
1573 | # CONFIG_UNIXWARE_DISKLABEL is not set | ||
1574 | # CONFIG_LDM_PARTITION is not set | ||
1575 | # CONFIG_SGI_PARTITION is not set | ||
1576 | # CONFIG_ULTRIX_PARTITION is not set | ||
1577 | # CONFIG_SUN_PARTITION is not set | ||
1578 | # CONFIG_KARMA_PARTITION is not set | ||
1579 | # CONFIG_EFI_PARTITION is not set | ||
1580 | # CONFIG_SYSV68_PARTITION is not set | ||
1581 | CONFIG_NLS=y | ||
1582 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
1583 | CONFIG_NLS_CODEPAGE_437=y | ||
1584 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
1585 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
1586 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
1587 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
1588 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
1589 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
1590 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
1591 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
1592 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
1593 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
1594 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
1595 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
1596 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
1597 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
1598 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
1599 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
1600 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
1601 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
1602 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
1603 | # CONFIG_NLS_ISO8859_8 is not set | ||
1604 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
1605 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
1606 | # CONFIG_NLS_ASCII is not set | ||
1607 | CONFIG_NLS_ISO8859_1=y | ||
1608 | # CONFIG_NLS_ISO8859_2 is not set | ||
1609 | # CONFIG_NLS_ISO8859_3 is not set | ||
1610 | # CONFIG_NLS_ISO8859_4 is not set | ||
1611 | # CONFIG_NLS_ISO8859_5 is not set | ||
1612 | # CONFIG_NLS_ISO8859_6 is not set | ||
1613 | # CONFIG_NLS_ISO8859_7 is not set | ||
1614 | # CONFIG_NLS_ISO8859_9 is not set | ||
1615 | # CONFIG_NLS_ISO8859_13 is not set | ||
1616 | # CONFIG_NLS_ISO8859_14 is not set | ||
1617 | # CONFIG_NLS_ISO8859_15 is not set | ||
1618 | # CONFIG_NLS_KOI8_R is not set | ||
1619 | # CONFIG_NLS_KOI8_U is not set | ||
1620 | # CONFIG_NLS_UTF8 is not set | ||
1621 | # CONFIG_DLM is not set | ||
1622 | |||
1623 | # | ||
1624 | # Kernel hacking | ||
1625 | # | ||
1626 | CONFIG_PRINTK_TIME=y | ||
1627 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
1628 | CONFIG_ENABLE_MUST_CHECK=y | ||
1629 | CONFIG_FRAME_WARN=1024 | ||
1630 | CONFIG_MAGIC_SYSRQ=y | ||
1631 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1632 | CONFIG_DEBUG_FS=y | ||
1633 | # CONFIG_HEADERS_CHECK is not set | ||
1634 | CONFIG_DEBUG_KERNEL=y | ||
1635 | # CONFIG_DEBUG_SHIRQ is not set | ||
1636 | CONFIG_DETECT_SOFTLOCKUP=y | ||
1637 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
1638 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
1639 | CONFIG_SCHED_DEBUG=y | ||
1640 | # CONFIG_SCHEDSTATS is not set | ||
1641 | CONFIG_TIMER_STATS=y | ||
1642 | # CONFIG_DEBUG_OBJECTS is not set | ||
1643 | # CONFIG_DEBUG_SLAB is not set | ||
1644 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
1645 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1646 | CONFIG_DEBUG_SPINLOCK=y | ||
1647 | CONFIG_DEBUG_MUTEXES=y | ||
1648 | CONFIG_DEBUG_LOCK_ALLOC=y | ||
1649 | CONFIG_PROVE_LOCKING=y | ||
1650 | CONFIG_LOCKDEP=y | ||
1651 | CONFIG_LOCK_STAT=y | ||
1652 | # CONFIG_DEBUG_LOCKDEP is not set | ||
1653 | CONFIG_TRACE_IRQFLAGS=y | ||
1654 | CONFIG_DEBUG_SPINLOCK_SLEEP=y | ||
1655 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1656 | CONFIG_STACKTRACE=y | ||
1657 | # CONFIG_DEBUG_KOBJECT is not set | ||
1658 | # CONFIG_DEBUG_BUGVERBOSE is not set | ||
1659 | CONFIG_DEBUG_INFO=y | ||
1660 | # CONFIG_DEBUG_VM is not set | ||
1661 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
1662 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
1663 | # CONFIG_DEBUG_LIST is not set | ||
1664 | # CONFIG_DEBUG_SG is not set | ||
1665 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1666 | CONFIG_FRAME_POINTER=y | ||
1667 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
1668 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1669 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1670 | # CONFIG_KPROBES_SANITY_TEST is not set | ||
1671 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
1672 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1673 | # CONFIG_LKDTM is not set | ||
1674 | # CONFIG_FAULT_INJECTION is not set | ||
1675 | # CONFIG_LATENCYTOP is not set | ||
1676 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
1677 | |||
1678 | # | ||
1679 | # Tracers | ||
1680 | # | ||
1681 | # CONFIG_FUNCTION_TRACER is not set | ||
1682 | # CONFIG_IRQSOFF_TRACER is not set | ||
1683 | # CONFIG_SCHED_TRACER is not set | ||
1684 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1685 | # CONFIG_BOOT_TRACER is not set | ||
1686 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1687 | # CONFIG_STACK_TRACER is not set | ||
1688 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
1689 | # CONFIG_SAMPLES is not set | ||
1690 | CONFIG_HAVE_ARCH_KGDB=y | ||
1691 | # CONFIG_KGDB is not set | ||
1692 | # CONFIG_DEBUG_USER is not set | ||
1693 | # CONFIG_DEBUG_ERRORS is not set | ||
1694 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
1695 | # CONFIG_DEBUG_LL is not set | ||
1696 | |||
1697 | # | ||
1698 | # Security options | ||
1699 | # | ||
1700 | # CONFIG_KEYS is not set | ||
1701 | CONFIG_SECURITY=y | ||
1702 | # CONFIG_SECURITYFS is not set | ||
1703 | # CONFIG_SECURITY_NETWORK is not set | ||
1704 | # CONFIG_SECURITY_PATH is not set | ||
1705 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
1706 | # CONFIG_SECURITY_ROOTPLUG is not set | ||
1707 | CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 | ||
1708 | CONFIG_CRYPTO=y | ||
1709 | |||
1710 | # | ||
1711 | # Crypto core or helper | ||
1712 | # | ||
1713 | # CONFIG_CRYPTO_FIPS is not set | ||
1714 | CONFIG_CRYPTO_ALGAPI=y | ||
1715 | CONFIG_CRYPTO_ALGAPI2=y | ||
1716 | CONFIG_CRYPTO_AEAD2=y | ||
1717 | CONFIG_CRYPTO_BLKCIPHER=y | ||
1718 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
1719 | CONFIG_CRYPTO_HASH=y | ||
1720 | CONFIG_CRYPTO_HASH2=y | ||
1721 | CONFIG_CRYPTO_RNG2=y | ||
1722 | CONFIG_CRYPTO_MANAGER=y | ||
1723 | CONFIG_CRYPTO_MANAGER2=y | ||
1724 | # CONFIG_CRYPTO_GF128MUL is not set | ||
1725 | # CONFIG_CRYPTO_NULL is not set | ||
1726 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1727 | # CONFIG_CRYPTO_AUTHENC is not set | ||
1728 | # CONFIG_CRYPTO_TEST is not set | ||
1729 | |||
1730 | # | ||
1731 | # Authenticated Encryption with Associated Data | ||
1732 | # | ||
1733 | # CONFIG_CRYPTO_CCM is not set | ||
1734 | # CONFIG_CRYPTO_GCM is not set | ||
1735 | # CONFIG_CRYPTO_SEQIV is not set | ||
1736 | |||
1737 | # | ||
1738 | # Block modes | ||
1739 | # | ||
1740 | CONFIG_CRYPTO_CBC=y | ||
1741 | # CONFIG_CRYPTO_CTR is not set | ||
1742 | # CONFIG_CRYPTO_CTS is not set | ||
1743 | CONFIG_CRYPTO_ECB=y | ||
1744 | # CONFIG_CRYPTO_LRW is not set | ||
1745 | CONFIG_CRYPTO_PCBC=m | ||
1746 | # CONFIG_CRYPTO_XTS is not set | ||
1747 | |||
1748 | # | ||
1749 | # Hash modes | ||
1750 | # | ||
1751 | # CONFIG_CRYPTO_HMAC is not set | ||
1752 | # CONFIG_CRYPTO_XCBC is not set | ||
1753 | |||
1754 | # | ||
1755 | # Digest | ||
1756 | # | ||
1757 | CONFIG_CRYPTO_CRC32C=y | ||
1758 | # CONFIG_CRYPTO_MD4 is not set | ||
1759 | CONFIG_CRYPTO_MD5=y | ||
1760 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1761 | # CONFIG_CRYPTO_RMD128 is not set | ||
1762 | # CONFIG_CRYPTO_RMD160 is not set | ||
1763 | # CONFIG_CRYPTO_RMD256 is not set | ||
1764 | # CONFIG_CRYPTO_RMD320 is not set | ||
1765 | # CONFIG_CRYPTO_SHA1 is not set | ||
1766 | # CONFIG_CRYPTO_SHA256 is not set | ||
1767 | # CONFIG_CRYPTO_SHA512 is not set | ||
1768 | # CONFIG_CRYPTO_TGR192 is not set | ||
1769 | # CONFIG_CRYPTO_WP512 is not set | ||
1770 | |||
1771 | # | ||
1772 | # Ciphers | ||
1773 | # | ||
1774 | CONFIG_CRYPTO_AES=y | ||
1775 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1776 | CONFIG_CRYPTO_ARC4=y | ||
1777 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1778 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1779 | # CONFIG_CRYPTO_CAST5 is not set | ||
1780 | # CONFIG_CRYPTO_CAST6 is not set | ||
1781 | CONFIG_CRYPTO_DES=y | ||
1782 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1783 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1784 | # CONFIG_CRYPTO_SALSA20 is not set | ||
1785 | # CONFIG_CRYPTO_SEED is not set | ||
1786 | # CONFIG_CRYPTO_SERPENT is not set | ||
1787 | # CONFIG_CRYPTO_TEA is not set | ||
1788 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1789 | |||
1790 | # | ||
1791 | # Compression | ||
1792 | # | ||
1793 | CONFIG_CRYPTO_DEFLATE=y | ||
1794 | CONFIG_CRYPTO_LZO=y | ||
1795 | |||
1796 | # | ||
1797 | # Random Number Generation | ||
1798 | # | ||
1799 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
1800 | CONFIG_CRYPTO_HW=y | ||
1801 | |||
1802 | # | ||
1803 | # Library routines | ||
1804 | # | ||
1805 | CONFIG_BITREVERSE=y | ||
1806 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1807 | CONFIG_CRC_CCITT=y | ||
1808 | CONFIG_CRC16=y | ||
1809 | # CONFIG_CRC_T10DIF is not set | ||
1810 | # CONFIG_CRC_ITU_T is not set | ||
1811 | CONFIG_CRC32=y | ||
1812 | CONFIG_CRC7=m | ||
1813 | CONFIG_LIBCRC32C=y | ||
1814 | CONFIG_ZLIB_INFLATE=y | ||
1815 | CONFIG_ZLIB_DEFLATE=y | ||
1816 | CONFIG_LZO_COMPRESS=y | ||
1817 | CONFIG_LZO_DECOMPRESS=y | ||
1818 | CONFIG_PLIST=y | ||
1819 | CONFIG_HAS_IOMEM=y | ||
1820 | CONFIG_HAS_IOPORT=y | ||
1821 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/arm/mach-omap1/Kconfig b/arch/arm/mach-omap1/Kconfig index 10a301e32434..3f325d3718a9 100644 --- a/arch/arm/mach-omap1/Kconfig +++ b/arch/arm/mach-omap1/Kconfig | |||
@@ -7,6 +7,11 @@ config ARCH_OMAP730 | |||
7 | select CPU_ARM926T | 7 | select CPU_ARM926T |
8 | select ARCH_OMAP_OTG | 8 | select ARCH_OMAP_OTG |
9 | 9 | ||
10 | config ARCH_OMAP850 | ||
11 | depends on ARCH_OMAP1 | ||
12 | bool "OMAP850 Based System" | ||
13 | select CPU_ARM926T | ||
14 | |||
10 | config ARCH_OMAP15XX | 15 | config ARCH_OMAP15XX |
11 | depends on ARCH_OMAP1 | 16 | depends on ARCH_OMAP1 |
12 | default y | 17 | default y |
@@ -46,6 +51,12 @@ config MACH_OMAP_H3 | |||
46 | TI OMAP 1710 H3 board support. Say Y here if you have such | 51 | TI OMAP 1710 H3 board support. Say Y here if you have such |
47 | a board. | 52 | a board. |
48 | 53 | ||
54 | config MACH_OMAP_HTCWIZARD | ||
55 | bool "HTC Wizard" | ||
56 | depends on ARCH_OMAP850 | ||
57 | help | ||
58 | HTC Wizard smartphone support (AKA QTEK 9100, ...) | ||
59 | |||
49 | config MACH_OMAP_OSK | 60 | config MACH_OMAP_OSK |
50 | bool "TI OSK Support" | 61 | bool "TI OSK Support" |
51 | depends on ARCH_OMAP1 && ARCH_OMAP16XX | 62 | depends on ARCH_OMAP1 && ARCH_OMAP16XX |
@@ -163,7 +174,7 @@ config OMAP_ARM_216MHZ | |||
163 | 174 | ||
164 | config OMAP_ARM_195MHZ | 175 | config OMAP_ARM_195MHZ |
165 | bool "OMAP ARM 195 MHz CPU" | 176 | bool "OMAP ARM 195 MHz CPU" |
166 | depends on ARCH_OMAP1 && ARCH_OMAP730 | 177 | depends on ARCH_OMAP1 && (ARCH_OMAP730 || ARCH_OMAP850) |
167 | help | 178 | help |
168 | Enable 195MHz clock for OMAP CPU. If unsure, say N. | 179 | Enable 195MHz clock for OMAP CPU. If unsure, say N. |
169 | 180 | ||
@@ -175,13 +186,13 @@ config OMAP_ARM_192MHZ | |||
175 | 186 | ||
176 | config OMAP_ARM_182MHZ | 187 | config OMAP_ARM_182MHZ |
177 | bool "OMAP ARM 182 MHz CPU" | 188 | bool "OMAP ARM 182 MHz CPU" |
178 | depends on ARCH_OMAP1 && ARCH_OMAP730 | 189 | depends on ARCH_OMAP1 && (ARCH_OMAP730 || ARCH_OMAP850) |
179 | help | 190 | help |
180 | Enable 182MHz clock for OMAP CPU. If unsure, say N. | 191 | Enable 182MHz clock for OMAP CPU. If unsure, say N. |
181 | 192 | ||
182 | config OMAP_ARM_168MHZ | 193 | config OMAP_ARM_168MHZ |
183 | bool "OMAP ARM 168 MHz CPU" | 194 | bool "OMAP ARM 168 MHz CPU" |
184 | depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730) | 195 | depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730 || ARCH_OMAP850) |
185 | help | 196 | help |
186 | Enable 168MHz clock for OMAP CPU. If unsure, say N. | 197 | Enable 168MHz clock for OMAP CPU. If unsure, say N. |
187 | 198 | ||
@@ -193,20 +204,20 @@ config OMAP_ARM_150MHZ | |||
193 | 204 | ||
194 | config OMAP_ARM_120MHZ | 205 | config OMAP_ARM_120MHZ |
195 | bool "OMAP ARM 120 MHz CPU" | 206 | bool "OMAP ARM 120 MHz CPU" |
196 | depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730) | 207 | depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730 || ARCH_OMAP850) |
197 | help | 208 | help |
198 | Enable 120MHz clock for OMAP CPU. If unsure, say N. | 209 | Enable 120MHz clock for OMAP CPU. If unsure, say N. |
199 | 210 | ||
200 | config OMAP_ARM_60MHZ | 211 | config OMAP_ARM_60MHZ |
201 | bool "OMAP ARM 60 MHz CPU" | 212 | bool "OMAP ARM 60 MHz CPU" |
202 | depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730) | 213 | depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730 || ARCH_OMAP850) |
203 | default y | 214 | default y |
204 | help | 215 | help |
205 | Enable 60MHz clock for OMAP CPU. If unsure, say Y. | 216 | Enable 60MHz clock for OMAP CPU. If unsure, say Y. |
206 | 217 | ||
207 | config OMAP_ARM_30MHZ | 218 | config OMAP_ARM_30MHZ |
208 | bool "OMAP ARM 30 MHz CPU" | 219 | bool "OMAP ARM 30 MHz CPU" |
209 | depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730) | 220 | depends on ARCH_OMAP1 && (ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730 || ARCH_OMAP850) |
210 | help | 221 | help |
211 | Enable 30MHz clock for OMAP CPU. If unsure, say N. | 222 | Enable 30MHz clock for OMAP CPU. If unsure, say N. |
212 | 223 | ||
diff --git a/arch/arm/mach-omap1/board-ams-delta.c b/arch/arm/mach-omap1/board-ams-delta.c index 2e618391cc51..8b40aace9db4 100644 --- a/arch/arm/mach-omap1/board-ams-delta.c +++ b/arch/arm/mach-omap1/board-ams-delta.c | |||
@@ -175,7 +175,6 @@ static struct omap_usb_config ams_delta_usb_config __initdata = { | |||
175 | static struct omap_board_config_kernel ams_delta_config[] = { | 175 | static struct omap_board_config_kernel ams_delta_config[] = { |
176 | { OMAP_TAG_LCD, &ams_delta_lcd_config }, | 176 | { OMAP_TAG_LCD, &ams_delta_lcd_config }, |
177 | { OMAP_TAG_UART, &ams_delta_uart_config }, | 177 | { OMAP_TAG_UART, &ams_delta_uart_config }, |
178 | { OMAP_TAG_USB, &ams_delta_usb_config }, | ||
179 | }; | 178 | }; |
180 | 179 | ||
181 | static struct resource ams_delta_kp_resources[] = { | 180 | static struct resource ams_delta_kp_resources[] = { |
@@ -232,6 +231,7 @@ static void __init ams_delta_init(void) | |||
232 | /* Clear latch2 (NAND, LCD, modem enable) */ | 231 | /* Clear latch2 (NAND, LCD, modem enable) */ |
233 | ams_delta_latch2_write(~0, 0); | 232 | ams_delta_latch2_write(~0, 0); |
234 | 233 | ||
234 | omap_usb_init(&ams_delta_usb_config); | ||
235 | platform_add_devices(ams_delta_devices, ARRAY_SIZE(ams_delta_devices)); | 235 | platform_add_devices(ams_delta_devices, ARRAY_SIZE(ams_delta_devices)); |
236 | } | 236 | } |
237 | 237 | ||
diff --git a/arch/arm/mach-omap1/board-fsample.c b/arch/arm/mach-omap1/board-fsample.c index 30308294e7c1..19e0e9232336 100644 --- a/arch/arm/mach-omap1/board-fsample.c +++ b/arch/arm/mach-omap1/board-fsample.c | |||
@@ -34,7 +34,39 @@ | |||
34 | #include <mach/keypad.h> | 34 | #include <mach/keypad.h> |
35 | #include <mach/common.h> | 35 | #include <mach/common.h> |
36 | #include <mach/board.h> | 36 | #include <mach/board.h> |
37 | #include <mach/board-fsample.h> | 37 | |
38 | /* fsample is pretty close to p2-sample */ | ||
39 | |||
40 | #define fsample_cpld_read(reg) __raw_readb(reg) | ||
41 | #define fsample_cpld_write(val, reg) __raw_writeb(val, reg) | ||
42 | |||
43 | #define FSAMPLE_CPLD_BASE 0xE8100000 | ||
44 | #define FSAMPLE_CPLD_SIZE SZ_4K | ||
45 | #define FSAMPLE_CPLD_START 0x05080000 | ||
46 | |||
47 | #define FSAMPLE_CPLD_REG_A (FSAMPLE_CPLD_BASE + 0x00) | ||
48 | #define FSAMPLE_CPLD_SWITCH (FSAMPLE_CPLD_BASE + 0x02) | ||
49 | #define FSAMPLE_CPLD_UART (FSAMPLE_CPLD_BASE + 0x02) | ||
50 | #define FSAMPLE_CPLD_REG_B (FSAMPLE_CPLD_BASE + 0x04) | ||
51 | #define FSAMPLE_CPLD_VERSION (FSAMPLE_CPLD_BASE + 0x06) | ||
52 | #define FSAMPLE_CPLD_SET_CLR (FSAMPLE_CPLD_BASE + 0x06) | ||
53 | |||
54 | #define FSAMPLE_CPLD_BIT_BT_RESET 0 | ||
55 | #define FSAMPLE_CPLD_BIT_LCD_RESET 1 | ||
56 | #define FSAMPLE_CPLD_BIT_CAM_PWDN 2 | ||
57 | #define FSAMPLE_CPLD_BIT_CHARGER_ENABLE 3 | ||
58 | #define FSAMPLE_CPLD_BIT_SD_MMC_EN 4 | ||
59 | #define FSAMPLE_CPLD_BIT_aGPS_PWREN 5 | ||
60 | #define FSAMPLE_CPLD_BIT_BACKLIGHT 6 | ||
61 | #define FSAMPLE_CPLD_BIT_aGPS_EN_RESET 7 | ||
62 | #define FSAMPLE_CPLD_BIT_aGPS_SLEEPx_N 8 | ||
63 | #define FSAMPLE_CPLD_BIT_OTG_RESET 9 | ||
64 | |||
65 | #define fsample_cpld_set(bit) \ | ||
66 | fsample_cpld_write((((bit) & 15) << 4) | 0x0f, FSAMPLE_CPLD_SET_CLR) | ||
67 | |||
68 | #define fsample_cpld_clear(bit) \ | ||
69 | fsample_cpld_write(0xf0 | ((bit) & 15), FSAMPLE_CPLD_SET_CLR) | ||
38 | 70 | ||
39 | static int fsample_keymap[] = { | 71 | static int fsample_keymap[] = { |
40 | KEY(0,0,KEY_UP), | 72 | KEY(0,0,KEY_UP), |
diff --git a/arch/arm/mach-omap1/board-generic.c b/arch/arm/mach-omap1/board-generic.c index 7d2670205373..e724940e86f2 100644 --- a/arch/arm/mach-omap1/board-generic.c +++ b/arch/arm/mach-omap1/board-generic.c | |||
@@ -62,7 +62,6 @@ static struct omap_uart_config generic_uart_config __initdata = { | |||
62 | }; | 62 | }; |
63 | 63 | ||
64 | static struct omap_board_config_kernel generic_config[] __initdata = { | 64 | static struct omap_board_config_kernel generic_config[] __initdata = { |
65 | { OMAP_TAG_USB, NULL }, | ||
66 | { OMAP_TAG_UART, &generic_uart_config }, | 65 | { OMAP_TAG_UART, &generic_uart_config }, |
67 | }; | 66 | }; |
68 | 67 | ||
@@ -70,12 +69,12 @@ static void __init omap_generic_init(void) | |||
70 | { | 69 | { |
71 | #ifdef CONFIG_ARCH_OMAP15XX | 70 | #ifdef CONFIG_ARCH_OMAP15XX |
72 | if (cpu_is_omap15xx()) { | 71 | if (cpu_is_omap15xx()) { |
73 | generic_config[0].data = &generic1510_usb_config; | 72 | omap_usb_init(&generic1510_usb_config); |
74 | } | 73 | } |
75 | #endif | 74 | #endif |
76 | #if defined(CONFIG_ARCH_OMAP16XX) | 75 | #if defined(CONFIG_ARCH_OMAP16XX) |
77 | if (!cpu_is_omap1510()) { | 76 | if (!cpu_is_omap1510()) { |
78 | generic_config[0].data = &generic1610_usb_config; | 77 | omap_usb_init(&generic1610_usb_config); |
79 | } | 78 | } |
80 | #endif | 79 | #endif |
81 | 80 | ||
diff --git a/arch/arm/mach-omap1/board-h2-mmc.c b/arch/arm/mach-omap1/board-h2-mmc.c index 409fa56d0a87..44d4a966bed9 100644 --- a/arch/arm/mach-omap1/board-h2-mmc.c +++ b/arch/arm/mach-omap1/board-h2-mmc.c | |||
@@ -19,6 +19,8 @@ | |||
19 | #include <mach/mmc.h> | 19 | #include <mach/mmc.h> |
20 | #include <mach/gpio.h> | 20 | #include <mach/gpio.h> |
21 | 21 | ||
22 | #include "board-h2.h" | ||
23 | |||
22 | #if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) | 24 | #if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) |
23 | 25 | ||
24 | static int mmc_set_power(struct device *dev, int slot, int power_on, | 26 | static int mmc_set_power(struct device *dev, int slot, int power_on, |
diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c index 0d784a795092..f695aa053ac8 100644 --- a/arch/arm/mach-omap1/board-h2.c +++ b/arch/arm/mach-omap1/board-h2.c | |||
@@ -46,6 +46,11 @@ | |||
46 | #include <mach/keypad.h> | 46 | #include <mach/keypad.h> |
47 | #include <mach/common.h> | 47 | #include <mach/common.h> |
48 | 48 | ||
49 | #include "board-h2.h" | ||
50 | |||
51 | /* At OMAP1610 Innovator the Ethernet is directly connected to CS1 */ | ||
52 | #define OMAP1610_ETHR_START 0x04000300 | ||
53 | |||
49 | static int h2_keymap[] = { | 54 | static int h2_keymap[] = { |
50 | KEY(0, 0, KEY_LEFT), | 55 | KEY(0, 0, KEY_LEFT), |
51 | KEY(0, 1, KEY_RIGHT), | 56 | KEY(0, 1, KEY_RIGHT), |
@@ -364,7 +369,6 @@ static struct omap_lcd_config h2_lcd_config __initdata = { | |||
364 | }; | 369 | }; |
365 | 370 | ||
366 | static struct omap_board_config_kernel h2_config[] __initdata = { | 371 | static struct omap_board_config_kernel h2_config[] __initdata = { |
367 | { OMAP_TAG_USB, &h2_usb_config }, | ||
368 | { OMAP_TAG_UART, &h2_uart_config }, | 372 | { OMAP_TAG_UART, &h2_uart_config }, |
369 | { OMAP_TAG_LCD, &h2_lcd_config }, | 373 | { OMAP_TAG_LCD, &h2_lcd_config }, |
370 | }; | 374 | }; |
@@ -413,6 +417,7 @@ static void __init h2_init(void) | |||
413 | omap_serial_init(); | 417 | omap_serial_init(); |
414 | omap_register_i2c_bus(1, 100, h2_i2c_board_info, | 418 | omap_register_i2c_bus(1, 100, h2_i2c_board_info, |
415 | ARRAY_SIZE(h2_i2c_board_info)); | 419 | ARRAY_SIZE(h2_i2c_board_info)); |
420 | omap_usb_init(&h2_usb_config); | ||
416 | h2_mmc_init(); | 421 | h2_mmc_init(); |
417 | } | 422 | } |
418 | 423 | ||
diff --git a/arch/arm/plat-omap/include/mach/board-h2.h b/arch/arm/mach-omap1/board-h2.h index 15531c8dc0e6..315e2662547e 100644 --- a/arch/arm/plat-omap/include/mach/board-h2.h +++ b/arch/arm/mach-omap1/board-h2.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * arch/arm/plat-omap/include/mach/board-h2.h | 2 | * arch/arm/mach-omap1/board-h2.h |
3 | * | 3 | * |
4 | * Hardware definitions for TI OMAP1610 H2 board. | 4 | * Hardware definitions for TI OMAP1610 H2 board. |
5 | * | 5 | * |
@@ -29,9 +29,6 @@ | |||
29 | #ifndef __ASM_ARCH_OMAP_H2_H | 29 | #ifndef __ASM_ARCH_OMAP_H2_H |
30 | #define __ASM_ARCH_OMAP_H2_H | 30 | #define __ASM_ARCH_OMAP_H2_H |
31 | 31 | ||
32 | /* At OMAP1610 Innovator the Ethernet is directly connected to CS1 */ | ||
33 | #define OMAP1610_ETHR_START 0x04000300 | ||
34 | |||
35 | #define H2_TPS_GPIO_BASE (OMAP_MAX_GPIO_LINES + 16 /* MPUIO */) | 32 | #define H2_TPS_GPIO_BASE (OMAP_MAX_GPIO_LINES + 16 /* MPUIO */) |
36 | # define H2_TPS_GPIO_MMC_PWR_EN (H2_TPS_GPIO_BASE + 3) | 33 | # define H2_TPS_GPIO_MMC_PWR_EN (H2_TPS_GPIO_BASE + 3) |
37 | 34 | ||
diff --git a/arch/arm/mach-omap1/board-h3-mmc.c b/arch/arm/mach-omap1/board-h3-mmc.c index fdfe793d56f2..0d8a3c195e2e 100644 --- a/arch/arm/mach-omap1/board-h3-mmc.c +++ b/arch/arm/mach-omap1/board-h3-mmc.c | |||
@@ -19,6 +19,8 @@ | |||
19 | #include <mach/mmc.h> | 19 | #include <mach/mmc.h> |
20 | #include <mach/gpio.h> | 20 | #include <mach/gpio.h> |
21 | 21 | ||
22 | #include "board-h3.h" | ||
23 | |||
22 | #if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) | 24 | #if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) |
23 | 25 | ||
24 | static int mmc_set_power(struct device *dev, int slot, int power_on, | 26 | static int mmc_set_power(struct device *dev, int slot, int power_on, |
diff --git a/arch/arm/mach-omap1/board-h3.c b/arch/arm/mach-omap1/board-h3.c index bf08b6ad22ee..4695965114c4 100644 --- a/arch/arm/mach-omap1/board-h3.c +++ b/arch/arm/mach-omap1/board-h3.c | |||
@@ -50,6 +50,11 @@ | |||
50 | #include <mach/dma.h> | 50 | #include <mach/dma.h> |
51 | #include <mach/common.h> | 51 | #include <mach/common.h> |
52 | 52 | ||
53 | #include "board-h3.h" | ||
54 | |||
55 | /* In OMAP1710 H3 the Ethernet is directly connected to CS1 */ | ||
56 | #define OMAP1710_ETHR_START 0x04000300 | ||
57 | |||
53 | #define H3_TS_GPIO 48 | 58 | #define H3_TS_GPIO 48 |
54 | 59 | ||
55 | static int h3_keymap[] = { | 60 | static int h3_keymap[] = { |
@@ -418,7 +423,6 @@ static struct omap_lcd_config h3_lcd_config __initdata = { | |||
418 | }; | 423 | }; |
419 | 424 | ||
420 | static struct omap_board_config_kernel h3_config[] __initdata = { | 425 | static struct omap_board_config_kernel h3_config[] __initdata = { |
421 | { OMAP_TAG_USB, &h3_usb_config }, | ||
422 | { OMAP_TAG_UART, &h3_uart_config }, | 426 | { OMAP_TAG_UART, &h3_uart_config }, |
423 | { OMAP_TAG_LCD, &h3_lcd_config }, | 427 | { OMAP_TAG_LCD, &h3_lcd_config }, |
424 | }; | 428 | }; |
@@ -472,6 +476,7 @@ static void __init h3_init(void) | |||
472 | omap_serial_init(); | 476 | omap_serial_init(); |
473 | omap_register_i2c_bus(1, 100, h3_i2c_board_info, | 477 | omap_register_i2c_bus(1, 100, h3_i2c_board_info, |
474 | ARRAY_SIZE(h3_i2c_board_info)); | 478 | ARRAY_SIZE(h3_i2c_board_info)); |
479 | omap_usb_init(&h3_usb_config); | ||
475 | h3_mmc_init(); | 480 | h3_mmc_init(); |
476 | } | 481 | } |
477 | 482 | ||
diff --git a/arch/arm/plat-omap/include/mach/board-h3.h b/arch/arm/mach-omap1/board-h3.h index 1888326da7ea..78de535be3c5 100644 --- a/arch/arm/plat-omap/include/mach/board-h3.h +++ b/arch/arm/mach-omap1/board-h3.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * arch/arm/plat-omap/include/mach/board-h3.h | 2 | * arch/arm/mach-omap1/board-h3.h |
3 | * | 3 | * |
4 | * Copyright (C) 2001 RidgeRun, Inc. | 4 | * Copyright (C) 2001 RidgeRun, Inc. |
5 | * Copyright (C) 2004 Texas Instruments, Inc. | 5 | * Copyright (C) 2004 Texas Instruments, Inc. |
@@ -27,9 +27,6 @@ | |||
27 | #ifndef __ASM_ARCH_OMAP_H3_H | 27 | #ifndef __ASM_ARCH_OMAP_H3_H |
28 | #define __ASM_ARCH_OMAP_H3_H | 28 | #define __ASM_ARCH_OMAP_H3_H |
29 | 29 | ||
30 | /* In OMAP1710 H3 the Ethernet is directly connected to CS1 */ | ||
31 | #define OMAP1710_ETHR_START 0x04000300 | ||
32 | |||
33 | #define H3_TPS_GPIO_BASE (OMAP_MAX_GPIO_LINES + 16 /* MPUIO */) | 30 | #define H3_TPS_GPIO_BASE (OMAP_MAX_GPIO_LINES + 16 /* MPUIO */) |
34 | # define H3_TPS_GPIO_MMC_PWR_EN (H3_TPS_GPIO_BASE + 4) | 31 | # define H3_TPS_GPIO_MMC_PWR_EN (H3_TPS_GPIO_BASE + 4) |
35 | 32 | ||
diff --git a/arch/arm/mach-omap1/board-innovator.c b/arch/arm/mach-omap1/board-innovator.c index 071cd02a734e..2fd98260ea49 100644 --- a/arch/arm/mach-omap1/board-innovator.c +++ b/arch/arm/mach-omap1/board-innovator.c | |||
@@ -39,6 +39,9 @@ | |||
39 | #include <mach/common.h> | 39 | #include <mach/common.h> |
40 | #include <mach/mmc.h> | 40 | #include <mach/mmc.h> |
41 | 41 | ||
42 | /* At OMAP1610 Innovator the Ethernet is directly connected to CS1 */ | ||
43 | #define INNOVATOR1610_ETHR_START 0x04000300 | ||
44 | |||
42 | static int innovator_keymap[] = { | 45 | static int innovator_keymap[] = { |
43 | KEY(0, 0, KEY_F1), | 46 | KEY(0, 0, KEY_F1), |
44 | KEY(0, 3, KEY_DOWN), | 47 | KEY(0, 3, KEY_DOWN), |
@@ -370,7 +373,6 @@ static struct omap_uart_config innovator_uart_config __initdata = { | |||
370 | }; | 373 | }; |
371 | 374 | ||
372 | static struct omap_board_config_kernel innovator_config[] = { | 375 | static struct omap_board_config_kernel innovator_config[] = { |
373 | { OMAP_TAG_USB, NULL }, | ||
374 | { OMAP_TAG_LCD, NULL }, | 376 | { OMAP_TAG_LCD, NULL }, |
375 | { OMAP_TAG_UART, &innovator_uart_config }, | 377 | { OMAP_TAG_UART, &innovator_uart_config }, |
376 | }; | 378 | }; |
@@ -392,13 +394,13 @@ static void __init innovator_init(void) | |||
392 | 394 | ||
393 | #ifdef CONFIG_ARCH_OMAP15XX | 395 | #ifdef CONFIG_ARCH_OMAP15XX |
394 | if (cpu_is_omap1510()) { | 396 | if (cpu_is_omap1510()) { |
395 | innovator_config[0].data = &innovator1510_usb_config; | 397 | omap_usb_init(&innovator1510_usb_config); |
396 | innovator_config[1].data = &innovator1510_lcd_config; | 398 | innovator_config[1].data = &innovator1510_lcd_config; |
397 | } | 399 | } |
398 | #endif | 400 | #endif |
399 | #ifdef CONFIG_ARCH_OMAP16XX | 401 | #ifdef CONFIG_ARCH_OMAP16XX |
400 | if (cpu_is_omap1610()) { | 402 | if (cpu_is_omap1610()) { |
401 | innovator_config[0].data = &h2_usb_config; | 403 | omap_usb_init(&h2_usb_config); |
402 | innovator_config[1].data = &innovator1610_lcd_config; | 404 | innovator_config[1].data = &innovator1610_lcd_config; |
403 | } | 405 | } |
404 | #endif | 406 | #endif |
diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/board-nokia770.c index af51e0b180f2..7bc7a3cb9c51 100644 --- a/arch/arm/mach-omap1/board-nokia770.c +++ b/arch/arm/mach-omap1/board-nokia770.c | |||
@@ -233,10 +233,6 @@ static inline void nokia770_mmc_init(void) | |||
233 | } | 233 | } |
234 | #endif | 234 | #endif |
235 | 235 | ||
236 | static struct omap_board_config_kernel nokia770_config[] __initdata = { | ||
237 | { OMAP_TAG_USB, NULL }, | ||
238 | }; | ||
239 | |||
240 | #if defined(CONFIG_OMAP_DSP) | 236 | #if defined(CONFIG_OMAP_DSP) |
241 | /* | 237 | /* |
242 | * audio power control | 238 | * audio power control |
@@ -371,19 +367,16 @@ static __init int omap_dsp_init(void) | |||
371 | 367 | ||
372 | static void __init omap_nokia770_init(void) | 368 | static void __init omap_nokia770_init(void) |
373 | { | 369 | { |
374 | nokia770_config[0].data = &nokia770_usb_config; | ||
375 | |||
376 | platform_add_devices(nokia770_devices, ARRAY_SIZE(nokia770_devices)); | 370 | platform_add_devices(nokia770_devices, ARRAY_SIZE(nokia770_devices)); |
377 | spi_register_board_info(nokia770_spi_board_info, | 371 | spi_register_board_info(nokia770_spi_board_info, |
378 | ARRAY_SIZE(nokia770_spi_board_info)); | 372 | ARRAY_SIZE(nokia770_spi_board_info)); |
379 | omap_board_config = nokia770_config; | ||
380 | omap_board_config_size = ARRAY_SIZE(nokia770_config); | ||
381 | omap_gpio_init(); | 373 | omap_gpio_init(); |
382 | omap_serial_init(); | 374 | omap_serial_init(); |
383 | omap_register_i2c_bus(1, 100, NULL, 0); | 375 | omap_register_i2c_bus(1, 100, NULL, 0); |
384 | omap_dsp_init(); | 376 | omap_dsp_init(); |
385 | ads7846_dev_init(); | 377 | ads7846_dev_init(); |
386 | mipid_dev_init(); | 378 | mipid_dev_init(); |
379 | omap_usb_init(&nokia770_usb_config); | ||
387 | nokia770_mmc_init(); | 380 | nokia770_mmc_init(); |
388 | } | 381 | } |
389 | 382 | ||
diff --git a/arch/arm/mach-omap1/board-osk.c b/arch/arm/mach-omap1/board-osk.c index 1a16ecb2ccc8..cf3247b15f87 100644 --- a/arch/arm/mach-omap1/board-osk.c +++ b/arch/arm/mach-omap1/board-osk.c | |||
@@ -52,6 +52,20 @@ | |||
52 | #include <mach/tc.h> | 52 | #include <mach/tc.h> |
53 | #include <mach/common.h> | 53 | #include <mach/common.h> |
54 | 54 | ||
55 | /* At OMAP5912 OSK the Ethernet is directly connected to CS1 */ | ||
56 | #define OMAP_OSK_ETHR_START 0x04800300 | ||
57 | |||
58 | /* TPS65010 has four GPIOs. nPG and LED2 can be treated like GPIOs with | ||
59 | * alternate pin configurations for hardware-controlled blinking. | ||
60 | */ | ||
61 | #define OSK_TPS_GPIO_BASE (OMAP_MAX_GPIO_LINES + 16 /* MPUIO */) | ||
62 | # define OSK_TPS_GPIO_USB_PWR_EN (OSK_TPS_GPIO_BASE + 0) | ||
63 | # define OSK_TPS_GPIO_LED_D3 (OSK_TPS_GPIO_BASE + 1) | ||
64 | # define OSK_TPS_GPIO_LAN_RESET (OSK_TPS_GPIO_BASE + 2) | ||
65 | # define OSK_TPS_GPIO_DSP_PWR_EN (OSK_TPS_GPIO_BASE + 3) | ||
66 | # define OSK_TPS_GPIO_LED_D9 (OSK_TPS_GPIO_BASE + 4) | ||
67 | # define OSK_TPS_GPIO_LED_D2 (OSK_TPS_GPIO_BASE + 5) | ||
68 | |||
55 | static struct mtd_partition osk_partitions[] = { | 69 | static struct mtd_partition osk_partitions[] = { |
56 | /* bootloader (U-Boot, etc) in first sector */ | 70 | /* bootloader (U-Boot, etc) in first sector */ |
57 | { | 71 | { |
@@ -290,7 +304,6 @@ static struct omap_lcd_config osk_lcd_config __initdata = { | |||
290 | #endif | 304 | #endif |
291 | 305 | ||
292 | static struct omap_board_config_kernel osk_config[] __initdata = { | 306 | static struct omap_board_config_kernel osk_config[] __initdata = { |
293 | { OMAP_TAG_USB, &osk_usb_config }, | ||
294 | { OMAP_TAG_UART, &osk_uart_config }, | 307 | { OMAP_TAG_UART, &osk_uart_config }, |
295 | #ifdef CONFIG_OMAP_OSK_MISTRAL | 308 | #ifdef CONFIG_OMAP_OSK_MISTRAL |
296 | { OMAP_TAG_LCD, &osk_lcd_config }, | 309 | { OMAP_TAG_LCD, &osk_lcd_config }, |
@@ -541,6 +554,8 @@ static void __init osk_init(void) | |||
541 | l |= (3 << 1); | 554 | l |= (3 << 1); |
542 | omap_writel(l, USB_TRANSCEIVER_CTRL); | 555 | omap_writel(l, USB_TRANSCEIVER_CTRL); |
543 | 556 | ||
557 | omap_usb_init(&osk_usb_config); | ||
558 | |||
544 | /* irq for tps65010 chip */ | 559 | /* irq for tps65010 chip */ |
545 | /* bootloader effectively does: omap_cfg_reg(U19_1610_MPUIO1); */ | 560 | /* bootloader effectively does: omap_cfg_reg(U19_1610_MPUIO1); */ |
546 | if (gpio_request(OMAP_MPUIO(1), "tps65010") == 0) | 561 | if (gpio_request(OMAP_MPUIO(1), "tps65010") == 0) |
diff --git a/arch/arm/mach-omap1/board-palmte.c b/arch/arm/mach-omap1/board-palmte.c index 99f2b43f2541..886b4c0569bd 100644 --- a/arch/arm/mach-omap1/board-palmte.c +++ b/arch/arm/mach-omap1/board-palmte.c | |||
@@ -43,6 +43,21 @@ | |||
43 | #include <mach/keypad.h> | 43 | #include <mach/keypad.h> |
44 | #include <mach/common.h> | 44 | #include <mach/common.h> |
45 | 45 | ||
46 | #define PALMTE_USBDETECT_GPIO 0 | ||
47 | #define PALMTE_USB_OR_DC_GPIO 1 | ||
48 | #define PALMTE_TSC_GPIO 4 | ||
49 | #define PALMTE_PINTDAV_GPIO 6 | ||
50 | #define PALMTE_MMC_WP_GPIO 8 | ||
51 | #define PALMTE_MMC_POWER_GPIO 9 | ||
52 | #define PALMTE_HDQ_GPIO 11 | ||
53 | #define PALMTE_HEADPHONES_GPIO 14 | ||
54 | #define PALMTE_SPEAKER_GPIO 15 | ||
55 | #define PALMTE_DC_GPIO OMAP_MPUIO(2) | ||
56 | #define PALMTE_MMC_SWITCH_GPIO OMAP_MPUIO(4) | ||
57 | #define PALMTE_MMC1_GPIO OMAP_MPUIO(6) | ||
58 | #define PALMTE_MMC2_GPIO OMAP_MPUIO(7) | ||
59 | #define PALMTE_MMC3_GPIO OMAP_MPUIO(11) | ||
60 | |||
46 | static void __init omap_palmte_init_irq(void) | 61 | static void __init omap_palmte_init_irq(void) |
47 | { | 62 | { |
48 | omap1_init_common_hw(); | 63 | omap1_init_common_hw(); |
@@ -286,7 +301,6 @@ static void palmte_get_power_status(struct apm_power_info *info, int *battery) | |||
286 | #endif | 301 | #endif |
287 | 302 | ||
288 | static struct omap_board_config_kernel palmte_config[] __initdata = { | 303 | static struct omap_board_config_kernel palmte_config[] __initdata = { |
289 | { OMAP_TAG_USB, &palmte_usb_config }, | ||
290 | { OMAP_TAG_LCD, &palmte_lcd_config }, | 304 | { OMAP_TAG_LCD, &palmte_lcd_config }, |
291 | { OMAP_TAG_UART, &palmte_uart_config }, | 305 | { OMAP_TAG_UART, &palmte_uart_config }, |
292 | }; | 306 | }; |
@@ -341,6 +355,7 @@ static void __init omap_palmte_init(void) | |||
341 | spi_register_board_info(palmte_spi_info, ARRAY_SIZE(palmte_spi_info)); | 355 | spi_register_board_info(palmte_spi_info, ARRAY_SIZE(palmte_spi_info)); |
342 | palmte_misc_gpio_setup(); | 356 | palmte_misc_gpio_setup(); |
343 | omap_serial_init(); | 357 | omap_serial_init(); |
358 | omap_usb_init(&palmte_usb_config); | ||
344 | omap_register_i2c_bus(1, 100, NULL, 0); | 359 | omap_register_i2c_bus(1, 100, NULL, 0); |
345 | } | 360 | } |
346 | 361 | ||
diff --git a/arch/arm/mach-omap1/board-palmtt.c b/arch/arm/mach-omap1/board-palmtt.c index 1cbc1275c95f..4f1b44831d37 100644 --- a/arch/arm/mach-omap1/board-palmtt.c +++ b/arch/arm/mach-omap1/board-palmtt.c | |||
@@ -43,6 +43,13 @@ | |||
43 | #include <linux/spi/spi.h> | 43 | #include <linux/spi/spi.h> |
44 | #include <linux/spi/ads7846.h> | 44 | #include <linux/spi/ads7846.h> |
45 | 45 | ||
46 | #define PALMTT_USBDETECT_GPIO 0 | ||
47 | #define PALMTT_CABLE_GPIO 1 | ||
48 | #define PALMTT_LED_GPIO 3 | ||
49 | #define PALMTT_PENIRQ_GPIO 6 | ||
50 | #define PALMTT_MMC_WP_GPIO 8 | ||
51 | #define PALMTT_HDQ_GPIO 11 | ||
52 | |||
46 | static int palmtt_keymap[] = { | 53 | static int palmtt_keymap[] = { |
47 | KEY(0, 0, KEY_ESC), | 54 | KEY(0, 0, KEY_ESC), |
48 | KEY(0, 1, KEY_SPACE), | 55 | KEY(0, 1, KEY_SPACE), |
@@ -272,7 +279,6 @@ static struct omap_uart_config palmtt_uart_config __initdata = { | |||
272 | }; | 279 | }; |
273 | 280 | ||
274 | static struct omap_board_config_kernel palmtt_config[] __initdata = { | 281 | static struct omap_board_config_kernel palmtt_config[] __initdata = { |
275 | { OMAP_TAG_USB, &palmtt_usb_config }, | ||
276 | { OMAP_TAG_LCD, &palmtt_lcd_config }, | 282 | { OMAP_TAG_LCD, &palmtt_lcd_config }, |
277 | { OMAP_TAG_UART, &palmtt_uart_config }, | 283 | { OMAP_TAG_UART, &palmtt_uart_config }, |
278 | }; | 284 | }; |
@@ -297,6 +303,7 @@ static void __init omap_palmtt_init(void) | |||
297 | 303 | ||
298 | spi_register_board_info(palmtt_boardinfo,ARRAY_SIZE(palmtt_boardinfo)); | 304 | spi_register_board_info(palmtt_boardinfo,ARRAY_SIZE(palmtt_boardinfo)); |
299 | omap_serial_init(); | 305 | omap_serial_init(); |
306 | omap_usb_init(&palmtt_usb_config); | ||
300 | omap_register_i2c_bus(1, 100, NULL, 0); | 307 | omap_register_i2c_bus(1, 100, NULL, 0); |
301 | } | 308 | } |
302 | 309 | ||
diff --git a/arch/arm/mach-omap1/board-palmz71.c b/arch/arm/mach-omap1/board-palmz71.c index baf5efbfe3e8..9a55c3c58218 100644 --- a/arch/arm/mach-omap1/board-palmz71.c +++ b/arch/arm/mach-omap1/board-palmz71.c | |||
@@ -46,6 +46,16 @@ | |||
46 | #include <linux/spi/spi.h> | 46 | #include <linux/spi/spi.h> |
47 | #include <linux/spi/ads7846.h> | 47 | #include <linux/spi/ads7846.h> |
48 | 48 | ||
49 | #define PALMZ71_USBDETECT_GPIO 0 | ||
50 | #define PALMZ71_PENIRQ_GPIO 6 | ||
51 | #define PALMZ71_MMC_WP_GPIO 8 | ||
52 | #define PALMZ71_HDQ_GPIO 11 | ||
53 | |||
54 | #define PALMZ71_HOTSYNC_GPIO OMAP_MPUIO(1) | ||
55 | #define PALMZ71_CABLE_GPIO OMAP_MPUIO(2) | ||
56 | #define PALMZ71_SLIDER_GPIO OMAP_MPUIO(3) | ||
57 | #define PALMZ71_MMC_IN_GPIO OMAP_MPUIO(4) | ||
58 | |||
49 | static void __init | 59 | static void __init |
50 | omap_palmz71_init_irq(void) | 60 | omap_palmz71_init_irq(void) |
51 | { | 61 | { |
@@ -239,7 +249,6 @@ static struct omap_uart_config palmz71_uart_config __initdata = { | |||
239 | }; | 249 | }; |
240 | 250 | ||
241 | static struct omap_board_config_kernel palmz71_config[] __initdata = { | 251 | static struct omap_board_config_kernel palmz71_config[] __initdata = { |
242 | {OMAP_TAG_USB, &palmz71_usb_config}, | ||
243 | {OMAP_TAG_LCD, &palmz71_lcd_config}, | 252 | {OMAP_TAG_LCD, &palmz71_lcd_config}, |
244 | {OMAP_TAG_UART, &palmz71_uart_config}, | 253 | {OMAP_TAG_UART, &palmz71_uart_config}, |
245 | }; | 254 | }; |
@@ -313,6 +322,7 @@ omap_palmz71_init(void) | |||
313 | 322 | ||
314 | spi_register_board_info(palmz71_boardinfo, | 323 | spi_register_board_info(palmz71_boardinfo, |
315 | ARRAY_SIZE(palmz71_boardinfo)); | 324 | ARRAY_SIZE(palmz71_boardinfo)); |
325 | omap_usb_init(&palmz71_usb_config); | ||
316 | omap_serial_init(); | 326 | omap_serial_init(); |
317 | omap_register_i2c_bus(1, 100, NULL, 0); | 327 | omap_register_i2c_bus(1, 100, NULL, 0); |
318 | palmz71_gpio_setup(0); | 328 | palmz71_gpio_setup(0); |
diff --git a/arch/arm/mach-omap1/board-sx1-mmc.c b/arch/arm/mach-omap1/board-sx1-mmc.c index 66a4d7d5255d..58a46e4e45c3 100644 --- a/arch/arm/mach-omap1/board-sx1-mmc.c +++ b/arch/arm/mach-omap1/board-sx1-mmc.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <mach/hardware.h> | 17 | #include <mach/hardware.h> |
18 | #include <mach/mmc.h> | 18 | #include <mach/mmc.h> |
19 | #include <mach/gpio.h> | 19 | #include <mach/gpio.h> |
20 | #include <mach/board-sx1.h> | ||
20 | 21 | ||
21 | #if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) | 22 | #if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) |
22 | 23 | ||
diff --git a/arch/arm/mach-omap1/board-sx1.c b/arch/arm/mach-omap1/board-sx1.c index 28c76a1e71c0..c096577695fe 100644 --- a/arch/arm/mach-omap1/board-sx1.c +++ b/arch/arm/mach-omap1/board-sx1.c | |||
@@ -41,6 +41,7 @@ | |||
41 | #include <mach/board.h> | 41 | #include <mach/board.h> |
42 | #include <mach/common.h> | 42 | #include <mach/common.h> |
43 | #include <mach/keypad.h> | 43 | #include <mach/keypad.h> |
44 | #include <mach/board-sx1.h> | ||
44 | 45 | ||
45 | /* Write to I2C device */ | 46 | /* Write to I2C device */ |
46 | int sx1_i2c_write_byte(u8 devaddr, u8 regoffset, u8 value) | 47 | int sx1_i2c_write_byte(u8 devaddr, u8 regoffset, u8 value) |
@@ -373,7 +374,6 @@ static struct omap_uart_config sx1_uart_config __initdata = { | |||
373 | }; | 374 | }; |
374 | 375 | ||
375 | static struct omap_board_config_kernel sx1_config[] __initdata = { | 376 | static struct omap_board_config_kernel sx1_config[] __initdata = { |
376 | { OMAP_TAG_USB, &sx1_usb_config }, | ||
377 | { OMAP_TAG_LCD, &sx1_lcd_config }, | 377 | { OMAP_TAG_LCD, &sx1_lcd_config }, |
378 | { OMAP_TAG_UART, &sx1_uart_config }, | 378 | { OMAP_TAG_UART, &sx1_uart_config }, |
379 | }; | 379 | }; |
@@ -388,6 +388,7 @@ static void __init omap_sx1_init(void) | |||
388 | omap_board_config_size = ARRAY_SIZE(sx1_config); | 388 | omap_board_config_size = ARRAY_SIZE(sx1_config); |
389 | omap_serial_init(); | 389 | omap_serial_init(); |
390 | omap_register_i2c_bus(1, 100, NULL, 0); | 390 | omap_register_i2c_bus(1, 100, NULL, 0); |
391 | omap_usb_init(&sx1_usb_config); | ||
391 | sx1_mmc_init(); | 392 | sx1_mmc_init(); |
392 | 393 | ||
393 | /* turn on USB power */ | 394 | /* turn on USB power */ |
diff --git a/arch/arm/mach-omap1/board-voiceblue.c b/arch/arm/mach-omap1/board-voiceblue.c index a7653542a2b0..98275e03dad1 100644 --- a/arch/arm/mach-omap1/board-voiceblue.c +++ b/arch/arm/mach-omap1/board-voiceblue.c | |||
@@ -145,7 +145,6 @@ static struct omap_uart_config voiceblue_uart_config __initdata = { | |||
145 | }; | 145 | }; |
146 | 146 | ||
147 | static struct omap_board_config_kernel voiceblue_config[] = { | 147 | static struct omap_board_config_kernel voiceblue_config[] = { |
148 | { OMAP_TAG_USB, &voiceblue_usb_config }, | ||
149 | { OMAP_TAG_UART, &voiceblue_uart_config }, | 148 | { OMAP_TAG_UART, &voiceblue_uart_config }, |
150 | }; | 149 | }; |
151 | 150 | ||
@@ -185,6 +184,7 @@ static void __init voiceblue_init(void) | |||
185 | omap_board_config = voiceblue_config; | 184 | omap_board_config = voiceblue_config; |
186 | omap_board_config_size = ARRAY_SIZE(voiceblue_config); | 185 | omap_board_config_size = ARRAY_SIZE(voiceblue_config); |
187 | omap_serial_init(); | 186 | omap_serial_init(); |
187 | omap_usb_init(&voiceblue_usb_config); | ||
188 | omap_register_i2c_bus(1, 100, NULL, 0); | 188 | omap_register_i2c_bus(1, 100, NULL, 0); |
189 | 189 | ||
190 | /* There is a good chance board is going up, so enable power LED | 190 | /* There is a good chance board is going up, so enable power LED |
diff --git a/arch/arm/mach-omap1/devices.c b/arch/arm/mach-omap1/devices.c index ba5d7c08dc17..bbbaeb0abcd3 100644 --- a/arch/arm/mach-omap1/devices.c +++ b/arch/arm/mach-omap1/devices.c | |||
@@ -86,7 +86,7 @@ static struct resource mbox_resources[] = { | |||
86 | }; | 86 | }; |
87 | 87 | ||
88 | static struct platform_device mbox_device = { | 88 | static struct platform_device mbox_device = { |
89 | .name = "mailbox", | 89 | .name = "omap1-mailbox", |
90 | .id = -1, | 90 | .id = -1, |
91 | .num_resources = ARRAY_SIZE(mbox_resources), | 91 | .num_resources = ARRAY_SIZE(mbox_resources), |
92 | .resource = mbox_resources, | 92 | .resource = mbox_resources, |
diff --git a/arch/arm/mach-omap1/id.c b/arch/arm/mach-omap1/id.c index 89bb8756f450..4ef26faf083e 100644 --- a/arch/arm/mach-omap1/id.c +++ b/arch/arm/mach-omap1/id.c | |||
@@ -38,6 +38,7 @@ static struct omap_id omap_ids[] __initdata = { | |||
38 | { .jtag_id = 0xb574, .die_rev = 0x2, .omap_id = 0x03310315, .type = 0x03100000}, | 38 | { .jtag_id = 0xb574, .die_rev = 0x2, .omap_id = 0x03310315, .type = 0x03100000}, |
39 | { .jtag_id = 0x355f, .die_rev = 0x0, .omap_id = 0x03320000, .type = 0x07300100}, | 39 | { .jtag_id = 0x355f, .die_rev = 0x0, .omap_id = 0x03320000, .type = 0x07300100}, |
40 | { .jtag_id = 0xb55f, .die_rev = 0x0, .omap_id = 0x03320000, .type = 0x07300300}, | 40 | { .jtag_id = 0xb55f, .die_rev = 0x0, .omap_id = 0x03320000, .type = 0x07300300}, |
41 | { .jtag_id = 0xb55f, .die_rev = 0x0, .omap_id = 0x03320500, .type = 0x08500000}, | ||
41 | { .jtag_id = 0xb470, .die_rev = 0x0, .omap_id = 0x03310100, .type = 0x15100000}, | 42 | { .jtag_id = 0xb470, .die_rev = 0x0, .omap_id = 0x03310100, .type = 0x15100000}, |
42 | { .jtag_id = 0xb576, .die_rev = 0x0, .omap_id = 0x03320000, .type = 0x16100000}, | 43 | { .jtag_id = 0xb576, .die_rev = 0x0, .omap_id = 0x03320000, .type = 0x16100000}, |
43 | { .jtag_id = 0xb576, .die_rev = 0x2, .omap_id = 0x03320100, .type = 0x16110000}, | 44 | { .jtag_id = 0xb576, .die_rev = 0x2, .omap_id = 0x03320100, .type = 0x16110000}, |
@@ -77,7 +78,7 @@ static u16 __init omap_get_jtag_id(void) | |||
77 | prod_id = omap_readl(OMAP_PRODUCTION_ID_1); | 78 | prod_id = omap_readl(OMAP_PRODUCTION_ID_1); |
78 | omap_id = omap_readl(OMAP32_ID_1); | 79 | omap_id = omap_readl(OMAP32_ID_1); |
79 | 80 | ||
80 | /* Check for unusable OMAP_PRODUCTION_ID_1 on 1611B/5912 and 730 */ | 81 | /* Check for unusable OMAP_PRODUCTION_ID_1 on 1611B/5912 and 730/850 */ |
81 | if (((prod_id >> 20) == 0) || (prod_id == omap_id)) | 82 | if (((prod_id >> 20) == 0) || (prod_id == omap_id)) |
82 | prod_id = 0; | 83 | prod_id = 0; |
83 | else | 84 | else |
@@ -178,6 +179,7 @@ void __init omap_check_revision(void) | |||
178 | 179 | ||
179 | switch (cpu_type) { | 180 | switch (cpu_type) { |
180 | case 0x07: | 181 | case 0x07: |
182 | case 0x08: | ||
181 | omap_revision |= 0x07; | 183 | omap_revision |= 0x07; |
182 | break; | 184 | break; |
183 | case 0x03: | 185 | case 0x03: |
diff --git a/arch/arm/mach-omap1/io.c b/arch/arm/mach-omap1/io.c index 4c3e582f3d3c..3afe540149f7 100644 --- a/arch/arm/mach-omap1/io.c +++ b/arch/arm/mach-omap1/io.c | |||
@@ -52,6 +52,22 @@ static struct map_desc omap730_io_desc[] __initdata = { | |||
52 | }; | 52 | }; |
53 | #endif | 53 | #endif |
54 | 54 | ||
55 | #ifdef CONFIG_ARCH_OMAP850 | ||
56 | static struct map_desc omap850_io_desc[] __initdata = { | ||
57 | { | ||
58 | .virtual = OMAP850_DSP_BASE, | ||
59 | .pfn = __phys_to_pfn(OMAP850_DSP_START), | ||
60 | .length = OMAP850_DSP_SIZE, | ||
61 | .type = MT_DEVICE | ||
62 | }, { | ||
63 | .virtual = OMAP850_DSPREG_BASE, | ||
64 | .pfn = __phys_to_pfn(OMAP850_DSPREG_START), | ||
65 | .length = OMAP850_DSPREG_SIZE, | ||
66 | .type = MT_DEVICE | ||
67 | } | ||
68 | }; | ||
69 | #endif | ||
70 | |||
55 | #ifdef CONFIG_ARCH_OMAP15XX | 71 | #ifdef CONFIG_ARCH_OMAP15XX |
56 | static struct map_desc omap1510_io_desc[] __initdata = { | 72 | static struct map_desc omap1510_io_desc[] __initdata = { |
57 | { | 73 | { |
@@ -109,6 +125,13 @@ void __init omap1_map_common_io(void) | |||
109 | iotable_init(omap730_io_desc, ARRAY_SIZE(omap730_io_desc)); | 125 | iotable_init(omap730_io_desc, ARRAY_SIZE(omap730_io_desc)); |
110 | } | 126 | } |
111 | #endif | 127 | #endif |
128 | |||
129 | #ifdef CONFIG_ARCH_OMAP850 | ||
130 | if (cpu_is_omap850()) { | ||
131 | iotable_init(omap850_io_desc, ARRAY_SIZE(omap850_io_desc)); | ||
132 | } | ||
133 | #endif | ||
134 | |||
112 | #ifdef CONFIG_ARCH_OMAP15XX | 135 | #ifdef CONFIG_ARCH_OMAP15XX |
113 | if (cpu_is_omap15xx()) { | 136 | if (cpu_is_omap15xx()) { |
114 | iotable_init(omap1510_io_desc, ARRAY_SIZE(omap1510_io_desc)); | 137 | iotable_init(omap1510_io_desc, ARRAY_SIZE(omap1510_io_desc)); |
diff --git a/arch/arm/mach-omap1/irq.c b/arch/arm/mach-omap1/irq.c index 9ad5197075ff..de03c8448994 100644 --- a/arch/arm/mach-omap1/irq.c +++ b/arch/arm/mach-omap1/irq.c | |||
@@ -145,6 +145,14 @@ static struct omap_irq_bank omap730_irq_banks[] = { | |||
145 | }; | 145 | }; |
146 | #endif | 146 | #endif |
147 | 147 | ||
148 | #ifdef CONFIG_ARCH_OMAP850 | ||
149 | static struct omap_irq_bank omap850_irq_banks[] = { | ||
150 | { .base_reg = OMAP_IH1_BASE, .trigger_map = 0xb3f8e22f }, | ||
151 | { .base_reg = OMAP_IH2_BASE, .trigger_map = 0xfdb9c1f2 }, | ||
152 | { .base_reg = OMAP_IH2_BASE + 0x100, .trigger_map = 0x800040f3 }, | ||
153 | }; | ||
154 | #endif | ||
155 | |||
148 | #ifdef CONFIG_ARCH_OMAP15XX | 156 | #ifdef CONFIG_ARCH_OMAP15XX |
149 | static struct omap_irq_bank omap1510_irq_banks[] = { | 157 | static struct omap_irq_bank omap1510_irq_banks[] = { |
150 | { .base_reg = OMAP_IH1_BASE, .trigger_map = 0xb3febfff }, | 158 | { .base_reg = OMAP_IH1_BASE, .trigger_map = 0xb3febfff }, |
@@ -184,6 +192,12 @@ void __init omap_init_irq(void) | |||
184 | irq_bank_count = ARRAY_SIZE(omap730_irq_banks); | 192 | irq_bank_count = ARRAY_SIZE(omap730_irq_banks); |
185 | } | 193 | } |
186 | #endif | 194 | #endif |
195 | #ifdef CONFIG_ARCH_OMAP850 | ||
196 | if (cpu_is_omap850()) { | ||
197 | irq_banks = omap850_irq_banks; | ||
198 | irq_bank_count = ARRAY_SIZE(omap850_irq_banks); | ||
199 | } | ||
200 | #endif | ||
187 | #ifdef CONFIG_ARCH_OMAP15XX | 201 | #ifdef CONFIG_ARCH_OMAP15XX |
188 | if (cpu_is_omap1510()) { | 202 | if (cpu_is_omap1510()) { |
189 | irq_banks = omap1510_irq_banks; | 203 | irq_banks = omap1510_irq_banks; |
@@ -214,9 +228,8 @@ void __init omap_init_irq(void) | |||
214 | irq_bank_writel(0x03, 1, IRQ_CONTROL_REG_OFFSET); | 228 | irq_bank_writel(0x03, 1, IRQ_CONTROL_REG_OFFSET); |
215 | 229 | ||
216 | /* Enable interrupts in global mask */ | 230 | /* Enable interrupts in global mask */ |
217 | if (cpu_is_omap730()) { | 231 | if (cpu_is_omap7xx()) |
218 | irq_bank_writel(0x0, 0, IRQ_GMR_REG_OFFSET); | 232 | irq_bank_writel(0x0, 0, IRQ_GMR_REG_OFFSET); |
219 | } | ||
220 | 233 | ||
221 | /* Install the interrupt handlers for each bank */ | 234 | /* Install the interrupt handlers for each bank */ |
222 | for (i = 0; i < irq_bank_count; i++) { | 235 | for (i = 0; i < irq_bank_count; i++) { |
@@ -236,6 +249,8 @@ void __init omap_init_irq(void) | |||
236 | 249 | ||
237 | if (cpu_is_omap730()) | 250 | if (cpu_is_omap730()) |
238 | omap_unmask_irq(INT_730_IH2_IRQ); | 251 | omap_unmask_irq(INT_730_IH2_IRQ); |
252 | else if (cpu_is_omap850()) | ||
253 | omap_unmask_irq(INT_850_IH2_IRQ); | ||
239 | else if (cpu_is_omap15xx()) | 254 | else if (cpu_is_omap15xx()) |
240 | omap_unmask_irq(INT_1510_IH2_IRQ); | 255 | omap_unmask_irq(INT_1510_IH2_IRQ); |
241 | else if (cpu_is_omap16xx()) | 256 | else if (cpu_is_omap16xx()) |
diff --git a/arch/arm/mach-omap1/mailbox.c b/arch/arm/mach-omap1/mailbox.c index 59abbf331a96..0af4d6c85b47 100644 --- a/arch/arm/mach-omap1/mailbox.c +++ b/arch/arm/mach-omap1/mailbox.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * Mailbox reservation modules for DSP | 2 | * Mailbox reservation modules for DSP |
3 | * | 3 | * |
4 | * Copyright (C) 2006 Nokia Corporation | 4 | * Copyright (C) 2006-2009 Nokia Corporation |
5 | * Written by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> | 5 | * Written by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> |
6 | * | 6 | * |
7 | * This file is subject to the terms and conditions of the GNU General Public | 7 | * This file is subject to the terms and conditions of the GNU General Public |
@@ -27,7 +27,7 @@ | |||
27 | #define MAILBOX_DSP2ARM1_Flag 0x1c | 27 | #define MAILBOX_DSP2ARM1_Flag 0x1c |
28 | #define MAILBOX_DSP2ARM2_Flag 0x20 | 28 | #define MAILBOX_DSP2ARM2_Flag 0x20 |
29 | 29 | ||
30 | unsigned long mbox_base; | 30 | static void __iomem *mbox_base; |
31 | 31 | ||
32 | struct omap_mbox1_fifo { | 32 | struct omap_mbox1_fifo { |
33 | unsigned long cmd; | 33 | unsigned long cmd; |
@@ -40,14 +40,14 @@ struct omap_mbox1_priv { | |||
40 | struct omap_mbox1_fifo rx_fifo; | 40 | struct omap_mbox1_fifo rx_fifo; |
41 | }; | 41 | }; |
42 | 42 | ||
43 | static inline int mbox_read_reg(unsigned int reg) | 43 | static inline int mbox_read_reg(size_t ofs) |
44 | { | 44 | { |
45 | return __raw_readw(mbox_base + reg); | 45 | return __raw_readw(mbox_base + ofs); |
46 | } | 46 | } |
47 | 47 | ||
48 | static inline void mbox_write_reg(unsigned int val, unsigned int reg) | 48 | static inline void mbox_write_reg(u32 val, size_t ofs) |
49 | { | 49 | { |
50 | __raw_writew(val, mbox_base + reg); | 50 | __raw_writew(val, mbox_base + ofs); |
51 | } | 51 | } |
52 | 52 | ||
53 | /* msg */ | 53 | /* msg */ |
@@ -143,7 +143,7 @@ struct omap_mbox mbox_dsp_info = { | |||
143 | }; | 143 | }; |
144 | EXPORT_SYMBOL(mbox_dsp_info); | 144 | EXPORT_SYMBOL(mbox_dsp_info); |
145 | 145 | ||
146 | static int __init omap1_mbox_probe(struct platform_device *pdev) | 146 | static int __devinit omap1_mbox_probe(struct platform_device *pdev) |
147 | { | 147 | { |
148 | struct resource *res; | 148 | struct resource *res; |
149 | int ret = 0; | 149 | int ret = 0; |
@@ -170,12 +170,10 @@ static int __init omap1_mbox_probe(struct platform_device *pdev) | |||
170 | } | 170 | } |
171 | mbox_dsp_info.irq = res->start; | 171 | mbox_dsp_info.irq = res->start; |
172 | 172 | ||
173 | ret = omap_mbox_register(&mbox_dsp_info); | 173 | return omap_mbox_register(&pdev->dev, &mbox_dsp_info); |
174 | |||
175 | return ret; | ||
176 | } | 174 | } |
177 | 175 | ||
178 | static int omap1_mbox_remove(struct platform_device *pdev) | 176 | static int __devexit omap1_mbox_remove(struct platform_device *pdev) |
179 | { | 177 | { |
180 | omap_mbox_unregister(&mbox_dsp_info); | 178 | omap_mbox_unregister(&mbox_dsp_info); |
181 | 179 | ||
@@ -184,9 +182,9 @@ static int omap1_mbox_remove(struct platform_device *pdev) | |||
184 | 182 | ||
185 | static struct platform_driver omap1_mbox_driver = { | 183 | static struct platform_driver omap1_mbox_driver = { |
186 | .probe = omap1_mbox_probe, | 184 | .probe = omap1_mbox_probe, |
187 | .remove = omap1_mbox_remove, | 185 | .remove = __devexit_p(omap1_mbox_remove), |
188 | .driver = { | 186 | .driver = { |
189 | .name = "mailbox", | 187 | .name = "omap1-mailbox", |
190 | }, | 188 | }, |
191 | }; | 189 | }; |
192 | 190 | ||
@@ -203,4 +201,7 @@ static void __exit omap1_mbox_exit(void) | |||
203 | module_init(omap1_mbox_init); | 201 | module_init(omap1_mbox_init); |
204 | module_exit(omap1_mbox_exit); | 202 | module_exit(omap1_mbox_exit); |
205 | 203 | ||
206 | MODULE_LICENSE("GPL"); | 204 | MODULE_LICENSE("GPL v2"); |
205 | MODULE_DESCRIPTION("omap mailbox: omap1 architecture specific functions"); | ||
206 | MODULE_AUTHOR("Hiroshi DOYU" <Hiroshi.DOYU@nokia.com>); | ||
207 | MODULE_ALIAS("platform:omap1-mailbox"); | ||
diff --git a/arch/arm/mach-omap1/mux.c b/arch/arm/mach-omap1/mux.c index 062c905c2ba6..721e0d9d8b1d 100644 --- a/arch/arm/mach-omap1/mux.c +++ b/arch/arm/mach-omap1/mux.c | |||
@@ -58,6 +58,25 @@ MUX_CFG_730("W17_730_USB_VBUSI", 2, 29, 0, 28, 0, 0) | |||
58 | #define OMAP730_PINS_SZ 0 | 58 | #define OMAP730_PINS_SZ 0 |
59 | #endif /* CONFIG_ARCH_OMAP730 */ | 59 | #endif /* CONFIG_ARCH_OMAP730 */ |
60 | 60 | ||
61 | #ifdef CONFIG_ARCH_OMAP850 | ||
62 | struct pin_config __initdata_or_module omap850_pins[] = { | ||
63 | MUX_CFG_850("E2_850_KBR0", 12, 21, 0, 20, 1, 0) | ||
64 | MUX_CFG_850("J7_850_KBR1", 12, 25, 0, 24, 1, 0) | ||
65 | MUX_CFG_850("E1_850_KBR2", 12, 29, 0, 28, 1, 0) | ||
66 | MUX_CFG_850("F3_850_KBR3", 13, 1, 0, 0, 1, 0) | ||
67 | MUX_CFG_850("D2_850_KBR4", 13, 5, 0, 4, 1, 0) | ||
68 | MUX_CFG_850("C2_850_KBC0", 13, 9, 0, 8, 1, 0) | ||
69 | MUX_CFG_850("D3_850_KBC1", 13, 13, 0, 12, 1, 0) | ||
70 | MUX_CFG_850("E4_850_KBC2", 13, 17, 0, 16, 1, 0) | ||
71 | MUX_CFG_850("F4_850_KBC3", 13, 21, 0, 20, 1, 0) | ||
72 | MUX_CFG_850("E3_850_KBC4", 13, 25, 0, 24, 1, 0) | ||
73 | |||
74 | MUX_CFG_850("AA17_850_USB_DM", 2, 21, 0, 20, 0, 0) | ||
75 | MUX_CFG_850("W16_850_USB_PU_EN", 2, 25, 0, 24, 0, 0) | ||
76 | MUX_CFG_850("W17_850_USB_VBUSI", 2, 29, 0, 28, 0, 0) | ||
77 | }; | ||
78 | #endif | ||
79 | |||
61 | #if defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX) | 80 | #if defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX) |
62 | static struct pin_config __initdata_or_module omap1xxx_pins[] = { | 81 | static struct pin_config __initdata_or_module omap1xxx_pins[] = { |
63 | /* | 82 | /* |
@@ -419,6 +438,11 @@ int __init_or_module omap1_cfg_reg(const struct pin_config *cfg) | |||
419 | printk(" %s (0x%08x) = 0x%08x -> 0x%08x\n", | 438 | printk(" %s (0x%08x) = 0x%08x -> 0x%08x\n", |
420 | cfg->pull_name, cfg->pull_reg, pull_orig, pull); | 439 | cfg->pull_name, cfg->pull_reg, pull_orig, pull); |
421 | } | 440 | } |
441 | |||
442 | #ifdef CONFIG_ARCH_OMAP850 | ||
443 | omap_mux_register(omap850_pins, ARRAY_SIZE(omap850_pins)); | ||
444 | #endif | ||
445 | |||
422 | #endif | 446 | #endif |
423 | 447 | ||
424 | #ifdef CONFIG_OMAP_MUX_ERRORS | 448 | #ifdef CONFIG_OMAP_MUX_ERRORS |
diff --git a/arch/arm/mach-omap1/serial.c b/arch/arm/mach-omap1/serial.c index 0002084e0655..842090b148f1 100644 --- a/arch/arm/mach-omap1/serial.c +++ b/arch/arm/mach-omap1/serial.c | |||
@@ -121,6 +121,13 @@ void __init omap_serial_init(void) | |||
121 | serial_platform_data[1].irq = INT_730_UART_MODEM_IRDA_2; | 121 | serial_platform_data[1].irq = INT_730_UART_MODEM_IRDA_2; |
122 | } | 122 | } |
123 | 123 | ||
124 | if (cpu_is_omap850()) { | ||
125 | serial_platform_data[0].regshift = 0; | ||
126 | serial_platform_data[1].regshift = 0; | ||
127 | serial_platform_data[0].irq = INT_850_UART_MODEM_1; | ||
128 | serial_platform_data[1].irq = INT_850_UART_MODEM_IRDA_2; | ||
129 | } | ||
130 | |||
124 | if (cpu_is_omap15xx()) { | 131 | if (cpu_is_omap15xx()) { |
125 | serial_platform_data[0].uartclk = OMAP1510_BASE_BAUD * 16; | 132 | serial_platform_data[0].uartclk = OMAP1510_BASE_BAUD * 16; |
126 | serial_platform_data[1].uartclk = OMAP1510_BASE_BAUD * 16; | 133 | serial_platform_data[1].uartclk = OMAP1510_BASE_BAUD * 16; |
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index 3754b79092ab..64ab386a65c7 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
@@ -58,4 +58,12 @@ config MACH_OVERO | |||
58 | 58 | ||
59 | config MACH_OMAP3_PANDORA | 59 | config MACH_OMAP3_PANDORA |
60 | bool "OMAP3 Pandora" | 60 | bool "OMAP3 Pandora" |
61 | depends on ARCH_OMAP3 && ARCH_OMAP34XX \ No newline at end of file | 61 | depends on ARCH_OMAP3 && ARCH_OMAP34XX |
62 | |||
63 | config MACH_OMAP_3430SDP | ||
64 | bool "OMAP 3430 SDP board" | ||
65 | depends on ARCH_OMAP3 && ARCH_OMAP34XX | ||
66 | |||
67 | config MACH_NOKIA_RX51 | ||
68 | bool "Nokia RX-51 board" | ||
69 | depends on ARCH_OMAP3 && ARCH_OMAP34XX | ||
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index 9717afcdbda7..a2c3fcc27a22 100644 --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile | |||
@@ -42,4 +42,12 @@ obj-$(CONFIG_MACH_OVERO) += board-overo.o \ | |||
42 | mmc-twl4030.o | 42 | mmc-twl4030.o |
43 | obj-$(CONFIG_MACH_OMAP3_PANDORA) += board-omap3pandora.o \ | 43 | obj-$(CONFIG_MACH_OMAP3_PANDORA) += board-omap3pandora.o \ |
44 | mmc-twl4030.o | 44 | mmc-twl4030.o |
45 | obj-$(CONFIG_MACH_OMAP_3430SDP) += board-3430sdp.o \ | ||
46 | mmc-twl4030.o | ||
45 | 47 | ||
48 | obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51.o \ | ||
49 | board-rx51-peripherals.o \ | ||
50 | # Platform specific device init code | ||
51 | ifeq ($(CONFIG_USB_MUSB_SOC),y) | ||
52 | obj-y += usb-musb.o | ||
53 | endif | ||
diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c index 7b29e1d00f23..22143651037e 100644 --- a/arch/arm/mach-omap2/board-2430sdp.c +++ b/arch/arm/mach-omap2/board-2430sdp.c | |||
@@ -35,12 +35,16 @@ | |||
35 | #include <mach/board.h> | 35 | #include <mach/board.h> |
36 | #include <mach/common.h> | 36 | #include <mach/common.h> |
37 | #include <mach/gpmc.h> | 37 | #include <mach/gpmc.h> |
38 | #include <mach/usb.h> | ||
38 | 39 | ||
39 | #include "mmc-twl4030.h" | 40 | #include "mmc-twl4030.h" |
40 | 41 | ||
42 | #define SDP2430_CS0_BASE 0x04000000 | ||
41 | #define SDP2430_FLASH_CS 0 | 43 | #define SDP2430_FLASH_CS 0 |
42 | #define SDP2430_SMC91X_CS 5 | 44 | #define SDP2430_SMC91X_CS 5 |
43 | 45 | ||
46 | #define SDP2430_ETHR_GPIO_IRQ 149 | ||
47 | |||
44 | static struct mtd_partition sdp2430_partitions[] = { | 48 | static struct mtd_partition sdp2430_partitions[] = { |
45 | /* bootloader (U-Boot, etc) in first sector */ | 49 | /* bootloader (U-Boot, etc) in first sector */ |
46 | { | 50 | { |
@@ -102,8 +106,8 @@ static struct resource sdp2430_smc91x_resources[] = { | |||
102 | .flags = IORESOURCE_MEM, | 106 | .flags = IORESOURCE_MEM, |
103 | }, | 107 | }, |
104 | [1] = { | 108 | [1] = { |
105 | .start = OMAP_GPIO_IRQ(OMAP24XX_ETHR_GPIO_IRQ), | 109 | .start = OMAP_GPIO_IRQ(SDP2430_ETHR_GPIO_IRQ), |
106 | .end = OMAP_GPIO_IRQ(OMAP24XX_ETHR_GPIO_IRQ), | 110 | .end = OMAP_GPIO_IRQ(SDP2430_ETHR_GPIO_IRQ), |
107 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL, | 111 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL, |
108 | }, | 112 | }, |
109 | }; | 113 | }; |
@@ -170,13 +174,13 @@ static inline void __init sdp2430_init_smc91x(void) | |||
170 | sdp2430_smc91x_resources[0].end = cs_mem_base + 0x30f; | 174 | sdp2430_smc91x_resources[0].end = cs_mem_base + 0x30f; |
171 | udelay(100); | 175 | udelay(100); |
172 | 176 | ||
173 | if (gpio_request(OMAP24XX_ETHR_GPIO_IRQ, "SMC91x irq") < 0) { | 177 | if (gpio_request(SDP2430_ETHR_GPIO_IRQ, "SMC91x irq") < 0) { |
174 | printk(KERN_ERR "Failed to request GPIO%d for smc91x IRQ\n", | 178 | printk(KERN_ERR "Failed to request GPIO%d for smc91x IRQ\n", |
175 | OMAP24XX_ETHR_GPIO_IRQ); | 179 | SDP2430_ETHR_GPIO_IRQ); |
176 | gpmc_cs_free(eth_cs); | 180 | gpmc_cs_free(eth_cs); |
177 | goto out; | 181 | goto out; |
178 | } | 182 | } |
179 | gpio_direction_input(OMAP24XX_ETHR_GPIO_IRQ); | 183 | gpio_direction_input(SDP2430_ETHR_GPIO_IRQ); |
180 | 184 | ||
181 | out: | 185 | out: |
182 | clk_disable(gpmc_fck); | 186 | clk_disable(gpmc_fck); |
@@ -251,6 +255,7 @@ static void __init omap_2430sdp_init(void) | |||
251 | omap_board_config_size = ARRAY_SIZE(sdp2430_config); | 255 | omap_board_config_size = ARRAY_SIZE(sdp2430_config); |
252 | omap_serial_init(); | 256 | omap_serial_init(); |
253 | twl4030_mmc_init(mmc); | 257 | twl4030_mmc_init(mmc); |
258 | usb_musb_init(); | ||
254 | } | 259 | } |
255 | 260 | ||
256 | static void __init omap_2430sdp_map_io(void) | 261 | static void __init omap_2430sdp_map_io(void) |
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c new file mode 100644 index 000000000000..2af38e56db31 --- /dev/null +++ b/arch/arm/mach-omap2/board-3430sdp.c | |||
@@ -0,0 +1,542 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/mach-omap2/board-3430sdp.c | ||
3 | * | ||
4 | * Copyright (C) 2007 Texas Instruments | ||
5 | * | ||
6 | * Modified from mach-omap2/board-generic.c | ||
7 | * | ||
8 | * Initial code: Syed Mohammed Khasim | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License version 2 as | ||
12 | * published by the Free Software Foundation. | ||
13 | */ | ||
14 | |||
15 | #include <linux/kernel.h> | ||
16 | #include <linux/init.h> | ||
17 | #include <linux/platform_device.h> | ||
18 | #include <linux/delay.h> | ||
19 | #include <linux/input.h> | ||
20 | #include <linux/spi/spi.h> | ||
21 | #include <linux/spi/ads7846.h> | ||
22 | #include <linux/i2c/twl4030.h> | ||
23 | #include <linux/regulator/machine.h> | ||
24 | #include <linux/io.h> | ||
25 | #include <linux/gpio.h> | ||
26 | |||
27 | #include <mach/hardware.h> | ||
28 | #include <asm/mach-types.h> | ||
29 | #include <asm/mach/arch.h> | ||
30 | #include <asm/mach/map.h> | ||
31 | |||
32 | #include <mach/mcspi.h> | ||
33 | #include <mach/mux.h> | ||
34 | #include <mach/board.h> | ||
35 | #include <mach/usb.h> | ||
36 | #include <mach/common.h> | ||
37 | #include <mach/dma.h> | ||
38 | #include <mach/gpmc.h> | ||
39 | |||
40 | #include <mach/control.h> | ||
41 | #include <mach/keypad.h> | ||
42 | |||
43 | #include "mmc-twl4030.h" | ||
44 | |||
45 | #define CONFIG_DISABLE_HFCLK 1 | ||
46 | |||
47 | #define SDP3430_ETHR_GPIO_IRQ_SDPV1 29 | ||
48 | #define SDP3430_ETHR_GPIO_IRQ_SDPV2 6 | ||
49 | #define SDP3430_SMC91X_CS 3 | ||
50 | |||
51 | #define SDP3430_TS_GPIO_IRQ_SDPV1 3 | ||
52 | #define SDP3430_TS_GPIO_IRQ_SDPV2 2 | ||
53 | |||
54 | #define ENABLE_VAUX3_DEDICATED 0x03 | ||
55 | #define ENABLE_VAUX3_DEV_GRP 0x20 | ||
56 | |||
57 | #define TWL4030_MSECURE_GPIO 22 | ||
58 | |||
59 | static struct resource sdp3430_smc91x_resources[] = { | ||
60 | [0] = { | ||
61 | .flags = IORESOURCE_MEM, | ||
62 | }, | ||
63 | [1] = { | ||
64 | .start = 0, | ||
65 | .end = 0, | ||
66 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL, | ||
67 | }, | ||
68 | }; | ||
69 | |||
70 | static struct platform_device sdp3430_smc91x_device = { | ||
71 | .name = "smc91x", | ||
72 | .id = -1, | ||
73 | .num_resources = ARRAY_SIZE(sdp3430_smc91x_resources), | ||
74 | .resource = sdp3430_smc91x_resources, | ||
75 | }; | ||
76 | |||
77 | static int sdp3430_keymap[] = { | ||
78 | KEY(0, 0, KEY_LEFT), | ||
79 | KEY(0, 1, KEY_RIGHT), | ||
80 | KEY(0, 2, KEY_A), | ||
81 | KEY(0, 3, KEY_B), | ||
82 | KEY(0, 4, KEY_C), | ||
83 | KEY(1, 0, KEY_DOWN), | ||
84 | KEY(1, 1, KEY_UP), | ||
85 | KEY(1, 2, KEY_E), | ||
86 | KEY(1, 3, KEY_F), | ||
87 | KEY(1, 4, KEY_G), | ||
88 | KEY(2, 0, KEY_ENTER), | ||
89 | KEY(2, 1, KEY_I), | ||
90 | KEY(2, 2, KEY_J), | ||
91 | KEY(2, 3, KEY_K), | ||
92 | KEY(2, 4, KEY_3), | ||
93 | KEY(3, 0, KEY_M), | ||
94 | KEY(3, 1, KEY_N), | ||
95 | KEY(3, 2, KEY_O), | ||
96 | KEY(3, 3, KEY_P), | ||
97 | KEY(3, 4, KEY_Q), | ||
98 | KEY(4, 0, KEY_R), | ||
99 | KEY(4, 1, KEY_4), | ||
100 | KEY(4, 2, KEY_T), | ||
101 | KEY(4, 3, KEY_U), | ||
102 | KEY(4, 4, KEY_D), | ||
103 | KEY(5, 0, KEY_V), | ||
104 | KEY(5, 1, KEY_W), | ||
105 | KEY(5, 2, KEY_L), | ||
106 | KEY(5, 3, KEY_S), | ||
107 | KEY(5, 4, KEY_H), | ||
108 | 0 | ||
109 | }; | ||
110 | |||
111 | static struct twl4030_keypad_data sdp3430_kp_data = { | ||
112 | .rows = 5, | ||
113 | .cols = 6, | ||
114 | .keymap = sdp3430_keymap, | ||
115 | .keymapsize = ARRAY_SIZE(sdp3430_keymap), | ||
116 | .rep = 1, | ||
117 | }; | ||
118 | |||
119 | static int ts_gpio; /* Needed for ads7846_get_pendown_state */ | ||
120 | |||
121 | /** | ||
122 | * @brief ads7846_dev_init : Requests & sets GPIO line for pen-irq | ||
123 | * | ||
124 | * @return - void. If request gpio fails then Flag KERN_ERR. | ||
125 | */ | ||
126 | static void ads7846_dev_init(void) | ||
127 | { | ||
128 | if (gpio_request(ts_gpio, "ADS7846 pendown") < 0) { | ||
129 | printk(KERN_ERR "can't get ads746 pen down GPIO\n"); | ||
130 | return; | ||
131 | } | ||
132 | |||
133 | gpio_direction_input(ts_gpio); | ||
134 | |||
135 | omap_set_gpio_debounce(ts_gpio, 1); | ||
136 | omap_set_gpio_debounce_time(ts_gpio, 0xa); | ||
137 | } | ||
138 | |||
139 | static int ads7846_get_pendown_state(void) | ||
140 | { | ||
141 | return !gpio_get_value(ts_gpio); | ||
142 | } | ||
143 | |||
144 | static struct ads7846_platform_data tsc2046_config __initdata = { | ||
145 | .get_pendown_state = ads7846_get_pendown_state, | ||
146 | .keep_vref_on = 1, | ||
147 | }; | ||
148 | |||
149 | |||
150 | static struct omap2_mcspi_device_config tsc2046_mcspi_config = { | ||
151 | .turbo_mode = 0, | ||
152 | .single_channel = 1, /* 0: slave, 1: master */ | ||
153 | }; | ||
154 | |||
155 | static struct spi_board_info sdp3430_spi_board_info[] __initdata = { | ||
156 | [0] = { | ||
157 | /* | ||
158 | * TSC2046 operates at a max freqency of 2MHz, so | ||
159 | * operate slightly below at 1.5MHz | ||
160 | */ | ||
161 | .modalias = "ads7846", | ||
162 | .bus_num = 1, | ||
163 | .chip_select = 0, | ||
164 | .max_speed_hz = 1500000, | ||
165 | .controller_data = &tsc2046_mcspi_config, | ||
166 | .irq = 0, | ||
167 | .platform_data = &tsc2046_config, | ||
168 | }, | ||
169 | }; | ||
170 | |||
171 | static struct platform_device sdp3430_lcd_device = { | ||
172 | .name = "sdp2430_lcd", | ||
173 | .id = -1, | ||
174 | }; | ||
175 | |||
176 | static struct regulator_consumer_supply sdp3430_vdac_supply = { | ||
177 | .supply = "vdac", | ||
178 | .dev = &sdp3430_lcd_device.dev, | ||
179 | }; | ||
180 | |||
181 | static struct regulator_consumer_supply sdp3430_vdvi_supply = { | ||
182 | .supply = "vdvi", | ||
183 | .dev = &sdp3430_lcd_device.dev, | ||
184 | }; | ||
185 | |||
186 | static struct platform_device *sdp3430_devices[] __initdata = { | ||
187 | &sdp3430_smc91x_device, | ||
188 | &sdp3430_lcd_device, | ||
189 | }; | ||
190 | |||
191 | static inline void __init sdp3430_init_smc91x(void) | ||
192 | { | ||
193 | int eth_cs; | ||
194 | unsigned long cs_mem_base; | ||
195 | int eth_gpio = 0; | ||
196 | |||
197 | eth_cs = SDP3430_SMC91X_CS; | ||
198 | |||
199 | if (gpmc_cs_request(eth_cs, SZ_16M, &cs_mem_base) < 0) { | ||
200 | printk(KERN_ERR "Failed to request GPMC mem for smc91x\n"); | ||
201 | return; | ||
202 | } | ||
203 | |||
204 | sdp3430_smc91x_resources[0].start = cs_mem_base + 0x300; | ||
205 | sdp3430_smc91x_resources[0].end = cs_mem_base + 0x30f; | ||
206 | udelay(100); | ||
207 | |||
208 | if (omap_rev() > OMAP3430_REV_ES1_0) | ||
209 | eth_gpio = SDP3430_ETHR_GPIO_IRQ_SDPV2; | ||
210 | else | ||
211 | eth_gpio = SDP3430_ETHR_GPIO_IRQ_SDPV1; | ||
212 | |||
213 | sdp3430_smc91x_resources[1].start = gpio_to_irq(eth_gpio); | ||
214 | |||
215 | if (gpio_request(eth_gpio, "SMC91x irq") < 0) { | ||
216 | printk(KERN_ERR "Failed to request GPIO%d for smc91x IRQ\n", | ||
217 | eth_gpio); | ||
218 | return; | ||
219 | } | ||
220 | gpio_direction_input(eth_gpio); | ||
221 | } | ||
222 | |||
223 | static void __init omap_3430sdp_init_irq(void) | ||
224 | { | ||
225 | omap2_init_common_hw(); | ||
226 | omap_init_irq(); | ||
227 | omap_gpio_init(); | ||
228 | sdp3430_init_smc91x(); | ||
229 | } | ||
230 | |||
231 | static struct omap_uart_config sdp3430_uart_config __initdata = { | ||
232 | .enabled_uarts = ((1 << 0) | (1 << 1) | (1 << 2)), | ||
233 | }; | ||
234 | |||
235 | static struct omap_lcd_config sdp3430_lcd_config __initdata = { | ||
236 | .ctrl_name = "internal", | ||
237 | }; | ||
238 | |||
239 | static struct omap_board_config_kernel sdp3430_config[] __initdata = { | ||
240 | { OMAP_TAG_UART, &sdp3430_uart_config }, | ||
241 | { OMAP_TAG_LCD, &sdp3430_lcd_config }, | ||
242 | }; | ||
243 | |||
244 | static int sdp3430_batt_table[] = { | ||
245 | /* 0 C*/ | ||
246 | 30800, 29500, 28300, 27100, | ||
247 | 26000, 24900, 23900, 22900, 22000, 21100, 20300, 19400, 18700, 17900, | ||
248 | 17200, 16500, 15900, 15300, 14700, 14100, 13600, 13100, 12600, 12100, | ||
249 | 11600, 11200, 10800, 10400, 10000, 9630, 9280, 8950, 8620, 8310, | ||
250 | 8020, 7730, 7460, 7200, 6950, 6710, 6470, 6250, 6040, 5830, | ||
251 | 5640, 5450, 5260, 5090, 4920, 4760, 4600, 4450, 4310, 4170, | ||
252 | 4040, 3910, 3790, 3670, 3550 | ||
253 | }; | ||
254 | |||
255 | static struct twl4030_bci_platform_data sdp3430_bci_data = { | ||
256 | .battery_tmp_tbl = sdp3430_batt_table, | ||
257 | .tblsize = ARRAY_SIZE(sdp3430_batt_table), | ||
258 | }; | ||
259 | |||
260 | static struct twl4030_hsmmc_info mmc[] = { | ||
261 | { | ||
262 | .mmc = 1, | ||
263 | /* 8 bits (default) requires S6.3 == ON, | ||
264 | * so the SIM card isn't used; else 4 bits. | ||
265 | */ | ||
266 | .wires = 8, | ||
267 | .gpio_wp = 4, | ||
268 | }, | ||
269 | { | ||
270 | .mmc = 2, | ||
271 | .wires = 8, | ||
272 | .gpio_wp = 7, | ||
273 | }, | ||
274 | {} /* Terminator */ | ||
275 | }; | ||
276 | |||
277 | static struct regulator_consumer_supply sdp3430_vmmc1_supply = { | ||
278 | .supply = "vmmc", | ||
279 | }; | ||
280 | |||
281 | static struct regulator_consumer_supply sdp3430_vsim_supply = { | ||
282 | .supply = "vmmc_aux", | ||
283 | }; | ||
284 | |||
285 | static struct regulator_consumer_supply sdp3430_vmmc2_supply = { | ||
286 | .supply = "vmmc", | ||
287 | }; | ||
288 | |||
289 | static int sdp3430_twl_gpio_setup(struct device *dev, | ||
290 | unsigned gpio, unsigned ngpio) | ||
291 | { | ||
292 | /* gpio + 0 is "mmc0_cd" (input/IRQ), | ||
293 | * gpio + 1 is "mmc1_cd" (input/IRQ) | ||
294 | */ | ||
295 | mmc[0].gpio_cd = gpio + 0; | ||
296 | mmc[1].gpio_cd = gpio + 1; | ||
297 | twl4030_mmc_init(mmc); | ||
298 | |||
299 | /* link regulators to MMC adapters ... we "know" the | ||
300 | * regulators will be set up only *after* we return. | ||
301 | */ | ||
302 | sdp3430_vmmc1_supply.dev = mmc[0].dev; | ||
303 | sdp3430_vsim_supply.dev = mmc[0].dev; | ||
304 | sdp3430_vmmc2_supply.dev = mmc[1].dev; | ||
305 | |||
306 | /* gpio + 7 is "sub_lcd_en_bkl" (output/PWM1) */ | ||
307 | gpio_request(gpio + 7, "sub_lcd_en_bkl"); | ||
308 | gpio_direction_output(gpio + 7, 0); | ||
309 | |||
310 | /* gpio + 15 is "sub_lcd_nRST" (output) */ | ||
311 | gpio_request(gpio + 15, "sub_lcd_nRST"); | ||
312 | gpio_direction_output(gpio + 15, 0); | ||
313 | |||
314 | return 0; | ||
315 | } | ||
316 | |||
317 | static struct twl4030_gpio_platform_data sdp3430_gpio_data = { | ||
318 | .gpio_base = OMAP_MAX_GPIO_LINES, | ||
319 | .irq_base = TWL4030_GPIO_IRQ_BASE, | ||
320 | .irq_end = TWL4030_GPIO_IRQ_END, | ||
321 | .pulldowns = BIT(2) | BIT(6) | BIT(8) | BIT(13) | ||
322 | | BIT(16) | BIT(17), | ||
323 | .setup = sdp3430_twl_gpio_setup, | ||
324 | }; | ||
325 | |||
326 | static struct twl4030_usb_data sdp3430_usb_data = { | ||
327 | .usb_mode = T2_USB_MODE_ULPI, | ||
328 | }; | ||
329 | |||
330 | static struct twl4030_madc_platform_data sdp3430_madc_data = { | ||
331 | .irq_line = 1, | ||
332 | }; | ||
333 | |||
334 | /* | ||
335 | * Apply all the fixed voltages since most versions of U-Boot | ||
336 | * don't bother with that initialization. | ||
337 | */ | ||
338 | |||
339 | /* VAUX1 for mainboard (irda and sub-lcd) */ | ||
340 | static struct regulator_init_data sdp3430_vaux1 = { | ||
341 | .constraints = { | ||
342 | .min_uV = 2800000, | ||
343 | .max_uV = 2800000, | ||
344 | .apply_uV = true, | ||
345 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
346 | | REGULATOR_MODE_STANDBY, | ||
347 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
348 | | REGULATOR_CHANGE_STATUS, | ||
349 | }, | ||
350 | }; | ||
351 | |||
352 | /* VAUX2 for camera module */ | ||
353 | static struct regulator_init_data sdp3430_vaux2 = { | ||
354 | .constraints = { | ||
355 | .min_uV = 2800000, | ||
356 | .max_uV = 2800000, | ||
357 | .apply_uV = true, | ||
358 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
359 | | REGULATOR_MODE_STANDBY, | ||
360 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
361 | | REGULATOR_CHANGE_STATUS, | ||
362 | }, | ||
363 | }; | ||
364 | |||
365 | /* VAUX3 for LCD board */ | ||
366 | static struct regulator_init_data sdp3430_vaux3 = { | ||
367 | .constraints = { | ||
368 | .min_uV = 2800000, | ||
369 | .max_uV = 2800000, | ||
370 | .apply_uV = true, | ||
371 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
372 | | REGULATOR_MODE_STANDBY, | ||
373 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
374 | | REGULATOR_CHANGE_STATUS, | ||
375 | }, | ||
376 | }; | ||
377 | |||
378 | /* VAUX4 for OMAP VDD_CSI2 (camera) */ | ||
379 | static struct regulator_init_data sdp3430_vaux4 = { | ||
380 | .constraints = { | ||
381 | .min_uV = 1800000, | ||
382 | .max_uV = 1800000, | ||
383 | .apply_uV = true, | ||
384 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
385 | | REGULATOR_MODE_STANDBY, | ||
386 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
387 | | REGULATOR_CHANGE_STATUS, | ||
388 | }, | ||
389 | }; | ||
390 | |||
391 | /* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */ | ||
392 | static struct regulator_init_data sdp3430_vmmc1 = { | ||
393 | .constraints = { | ||
394 | .min_uV = 1850000, | ||
395 | .max_uV = 3150000, | ||
396 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
397 | | REGULATOR_MODE_STANDBY, | ||
398 | .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | ||
399 | | REGULATOR_CHANGE_MODE | ||
400 | | REGULATOR_CHANGE_STATUS, | ||
401 | }, | ||
402 | .num_consumer_supplies = 1, | ||
403 | .consumer_supplies = &sdp3430_vmmc1_supply, | ||
404 | }; | ||
405 | |||
406 | /* VMMC2 for MMC2 card */ | ||
407 | static struct regulator_init_data sdp3430_vmmc2 = { | ||
408 | .constraints = { | ||
409 | .min_uV = 1850000, | ||
410 | .max_uV = 1850000, | ||
411 | .apply_uV = true, | ||
412 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
413 | | REGULATOR_MODE_STANDBY, | ||
414 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
415 | | REGULATOR_CHANGE_STATUS, | ||
416 | }, | ||
417 | .num_consumer_supplies = 1, | ||
418 | .consumer_supplies = &sdp3430_vmmc2_supply, | ||
419 | }; | ||
420 | |||
421 | /* VSIM for OMAP VDD_MMC1A (i/o for DAT4..DAT7) */ | ||
422 | static struct regulator_init_data sdp3430_vsim = { | ||
423 | .constraints = { | ||
424 | .min_uV = 1800000, | ||
425 | .max_uV = 3000000, | ||
426 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
427 | | REGULATOR_MODE_STANDBY, | ||
428 | .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | ||
429 | | REGULATOR_CHANGE_MODE | ||
430 | | REGULATOR_CHANGE_STATUS, | ||
431 | }, | ||
432 | .num_consumer_supplies = 1, | ||
433 | .consumer_supplies = &sdp3430_vsim_supply, | ||
434 | }; | ||
435 | |||
436 | /* VDAC for DSS driving S-Video */ | ||
437 | static struct regulator_init_data sdp3430_vdac = { | ||
438 | .constraints = { | ||
439 | .min_uV = 1800000, | ||
440 | .max_uV = 1800000, | ||
441 | .apply_uV = true, | ||
442 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
443 | | REGULATOR_MODE_STANDBY, | ||
444 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
445 | | REGULATOR_CHANGE_STATUS, | ||
446 | }, | ||
447 | .num_consumer_supplies = 1, | ||
448 | .consumer_supplies = &sdp3430_vdac_supply, | ||
449 | }; | ||
450 | |||
451 | /* VPLL2 for digital video outputs */ | ||
452 | static struct regulator_init_data sdp3430_vpll2 = { | ||
453 | .constraints = { | ||
454 | .name = "VDVI", | ||
455 | .min_uV = 1800000, | ||
456 | .max_uV = 1800000, | ||
457 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
458 | | REGULATOR_MODE_STANDBY, | ||
459 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
460 | | REGULATOR_CHANGE_STATUS, | ||
461 | }, | ||
462 | .num_consumer_supplies = 1, | ||
463 | .consumer_supplies = &sdp3430_vdvi_supply, | ||
464 | }; | ||
465 | |||
466 | static struct twl4030_platform_data sdp3430_twldata = { | ||
467 | .irq_base = TWL4030_IRQ_BASE, | ||
468 | .irq_end = TWL4030_IRQ_END, | ||
469 | |||
470 | /* platform_data for children goes here */ | ||
471 | .bci = &sdp3430_bci_data, | ||
472 | .gpio = &sdp3430_gpio_data, | ||
473 | .madc = &sdp3430_madc_data, | ||
474 | .keypad = &sdp3430_kp_data, | ||
475 | .usb = &sdp3430_usb_data, | ||
476 | |||
477 | .vaux1 = &sdp3430_vaux1, | ||
478 | .vaux2 = &sdp3430_vaux2, | ||
479 | .vaux3 = &sdp3430_vaux3, | ||
480 | .vaux4 = &sdp3430_vaux4, | ||
481 | .vmmc1 = &sdp3430_vmmc1, | ||
482 | .vmmc2 = &sdp3430_vmmc2, | ||
483 | .vsim = &sdp3430_vsim, | ||
484 | .vdac = &sdp3430_vdac, | ||
485 | .vpll2 = &sdp3430_vpll2, | ||
486 | }; | ||
487 | |||
488 | static struct i2c_board_info __initdata sdp3430_i2c_boardinfo[] = { | ||
489 | { | ||
490 | I2C_BOARD_INFO("twl4030", 0x48), | ||
491 | .flags = I2C_CLIENT_WAKE, | ||
492 | .irq = INT_34XX_SYS_NIRQ, | ||
493 | .platform_data = &sdp3430_twldata, | ||
494 | }, | ||
495 | }; | ||
496 | |||
497 | static int __init omap3430_i2c_init(void) | ||
498 | { | ||
499 | /* i2c1 for PMIC only */ | ||
500 | omap_register_i2c_bus(1, 2600, sdp3430_i2c_boardinfo, | ||
501 | ARRAY_SIZE(sdp3430_i2c_boardinfo)); | ||
502 | /* i2c2 on camera connector (for sensor control) and optional isp1301 */ | ||
503 | omap_register_i2c_bus(2, 400, NULL, 0); | ||
504 | /* i2c3 on display connector (for DVI, tfp410) */ | ||
505 | omap_register_i2c_bus(3, 400, NULL, 0); | ||
506 | return 0; | ||
507 | } | ||
508 | |||
509 | static void __init omap_3430sdp_init(void) | ||
510 | { | ||
511 | omap3430_i2c_init(); | ||
512 | platform_add_devices(sdp3430_devices, ARRAY_SIZE(sdp3430_devices)); | ||
513 | omap_board_config = sdp3430_config; | ||
514 | omap_board_config_size = ARRAY_SIZE(sdp3430_config); | ||
515 | if (omap_rev() > OMAP3430_REV_ES1_0) | ||
516 | ts_gpio = SDP3430_TS_GPIO_IRQ_SDPV2; | ||
517 | else | ||
518 | ts_gpio = SDP3430_TS_GPIO_IRQ_SDPV1; | ||
519 | sdp3430_spi_board_info[0].irq = gpio_to_irq(ts_gpio); | ||
520 | spi_register_board_info(sdp3430_spi_board_info, | ||
521 | ARRAY_SIZE(sdp3430_spi_board_info)); | ||
522 | ads7846_dev_init(); | ||
523 | omap_serial_init(); | ||
524 | usb_musb_init(); | ||
525 | } | ||
526 | |||
527 | static void __init omap_3430sdp_map_io(void) | ||
528 | { | ||
529 | omap2_set_globals_343x(); | ||
530 | omap2_map_common_io(); | ||
531 | } | ||
532 | |||
533 | MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board") | ||
534 | /* Maintainer: Syed Khasim - Texas Instruments Inc */ | ||
535 | .phys_io = 0x48000000, | ||
536 | .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, | ||
537 | .boot_params = 0x80000100, | ||
538 | .map_io = omap_3430sdp_map_io, | ||
539 | .init_irq = omap_3430sdp_init_irq, | ||
540 | .init_machine = omap_3430sdp_init, | ||
541 | .timer = &omap_timer, | ||
542 | MACHINE_END | ||
diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c index 0c911f414d8d..06dfba888b0c 100644 --- a/arch/arm/mach-omap2/board-apollon.c +++ b/arch/arm/mach-omap2/board-apollon.c | |||
@@ -51,6 +51,7 @@ | |||
51 | 51 | ||
52 | #define APOLLON_FLASH_CS 0 | 52 | #define APOLLON_FLASH_CS 0 |
53 | #define APOLLON_ETH_CS 1 | 53 | #define APOLLON_ETH_CS 1 |
54 | #define APOLLON_ETHR_GPIO_IRQ 74 | ||
54 | 55 | ||
55 | static struct mtd_partition apollon_partitions[] = { | 56 | static struct mtd_partition apollon_partitions[] = { |
56 | { | 57 | { |
@@ -272,7 +273,6 @@ static struct omap_lcd_config apollon_lcd_config __initdata = { | |||
272 | 273 | ||
273 | static struct omap_board_config_kernel apollon_config[] = { | 274 | static struct omap_board_config_kernel apollon_config[] = { |
274 | { OMAP_TAG_UART, &apollon_uart_config }, | 275 | { OMAP_TAG_UART, &apollon_uart_config }, |
275 | { OMAP_TAG_USB, &apollon_usb_config }, | ||
276 | { OMAP_TAG_LCD, &apollon_lcd_config }, | 276 | { OMAP_TAG_LCD, &apollon_lcd_config }, |
277 | }; | 277 | }; |
278 | 278 | ||
@@ -299,6 +299,7 @@ static void __init apollon_usb_init(void) | |||
299 | omap_cfg_reg(P21_242X_GPIO12); | 299 | omap_cfg_reg(P21_242X_GPIO12); |
300 | gpio_request(12, "USB suspend"); | 300 | gpio_request(12, "USB suspend"); |
301 | gpio_direction_output(12, 0); | 301 | gpio_direction_output(12, 0); |
302 | omap_usb_init(&apollon_usb_config); | ||
302 | } | 303 | } |
303 | 304 | ||
304 | static void __init omap_apollon_init(void) | 305 | static void __init omap_apollon_init(void) |
diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c index ef55b45ab769..a0267a9ab466 100644 --- a/arch/arm/mach-omap2/board-h4.c +++ b/arch/arm/mach-omap2/board-h4.c | |||
@@ -47,6 +47,8 @@ | |||
47 | #define H4_FLASH_CS 0 | 47 | #define H4_FLASH_CS 0 |
48 | #define H4_SMC91X_CS 1 | 48 | #define H4_SMC91X_CS 1 |
49 | 49 | ||
50 | #define H4_ETHR_GPIO_IRQ 92 | ||
51 | |||
50 | static unsigned int row_gpios[6] = { 88, 89, 124, 11, 6, 96 }; | 52 | static unsigned int row_gpios[6] = { 88, 89, 124, 11, 6, 96 }; |
51 | static unsigned int col_gpios[7] = { 90, 91, 100, 36, 12, 97, 98 }; | 53 | static unsigned int col_gpios[7] = { 90, 91, 100, 36, 12, 97, 98 }; |
52 | 54 | ||
@@ -341,7 +343,7 @@ static inline void __init h4_init_debug(void) | |||
341 | udelay(100); | 343 | udelay(100); |
342 | 344 | ||
343 | omap_cfg_reg(M15_24XX_GPIO92); | 345 | omap_cfg_reg(M15_24XX_GPIO92); |
344 | if (debug_card_init(cs_mem_base, OMAP24XX_ETHR_GPIO_IRQ) < 0) | 346 | if (debug_card_init(cs_mem_base, H4_ETHR_GPIO_IRQ) < 0) |
345 | gpmc_cs_free(eth_cs); | 347 | gpmc_cs_free(eth_cs); |
346 | 348 | ||
347 | out: | 349 | out: |
@@ -377,6 +379,39 @@ static struct omap_lcd_config h4_lcd_config __initdata = { | |||
377 | .ctrl_name = "internal", | 379 | .ctrl_name = "internal", |
378 | }; | 380 | }; |
379 | 381 | ||
382 | static struct omap_usb_config h4_usb_config __initdata = { | ||
383 | #ifdef CONFIG_MACH_OMAP2_H4_USB1 | ||
384 | /* NOTE: usb1 could also be used with 3 wire signaling */ | ||
385 | .pins[1] = 4, | ||
386 | #endif | ||
387 | |||
388 | #ifdef CONFIG_MACH_OMAP_H4_OTG | ||
389 | /* S1.10 ON -- USB OTG port | ||
390 | * usb0 switched to Mini-AB port and isp1301 transceiver; | ||
391 | * S2.POS3 = OFF, S2.POS4 = ON ... to allow battery charging | ||
392 | */ | ||
393 | .otg = 1, | ||
394 | .pins[0] = 4, | ||
395 | #ifdef CONFIG_USB_GADGET_OMAP | ||
396 | /* use OTG cable, or standard A-to-MiniB */ | ||
397 | .hmc_mode = 0x14, /* 0:dev/otg 1:host 2:disable */ | ||
398 | #elif defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) | ||
399 | /* use OTG cable, or NONSTANDARD (B-to-MiniB) */ | ||
400 | .hmc_mode = 0x11, /* 0:host 1:host 2:disable */ | ||
401 | #endif /* XX */ | ||
402 | |||
403 | #else | ||
404 | /* S1.10 OFF -- usb "download port" | ||
405 | * usb0 switched to Mini-B port and isp1105 transceiver; | ||
406 | * S2.POS3 = ON, S2.POS4 = OFF ... to enable battery charging | ||
407 | */ | ||
408 | .register_dev = 1, | ||
409 | .pins[0] = 3, | ||
410 | /* .hmc_mode = 0x14,*/ /* 0:dev 1:host 2:disable */ | ||
411 | .hmc_mode = 0x00, /* 0:dev|otg 1:disable 2:disable */ | ||
412 | #endif | ||
413 | }; | ||
414 | |||
380 | static struct omap_board_config_kernel h4_config[] = { | 415 | static struct omap_board_config_kernel h4_config[] = { |
381 | { OMAP_TAG_UART, &h4_uart_config }, | 416 | { OMAP_TAG_UART, &h4_uart_config }, |
382 | { OMAP_TAG_LCD, &h4_lcd_config }, | 417 | { OMAP_TAG_LCD, &h4_lcd_config }, |
@@ -428,6 +463,7 @@ static void __init omap_h4_init(void) | |||
428 | platform_add_devices(h4_devices, ARRAY_SIZE(h4_devices)); | 463 | platform_add_devices(h4_devices, ARRAY_SIZE(h4_devices)); |
429 | omap_board_config = h4_config; | 464 | omap_board_config = h4_config; |
430 | omap_board_config_size = ARRAY_SIZE(h4_config); | 465 | omap_board_config_size = ARRAY_SIZE(h4_config); |
466 | omap_usb_init(&h4_usb_config); | ||
431 | omap_serial_init(); | 467 | omap_serial_init(); |
432 | } | 468 | } |
433 | 469 | ||
diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c index c71580557c62..e096f776f996 100644 --- a/arch/arm/mach-omap2/board-ldp.c +++ b/arch/arm/mach-omap2/board-ldp.c | |||
@@ -29,7 +29,6 @@ | |||
29 | #include <asm/mach/arch.h> | 29 | #include <asm/mach/arch.h> |
30 | #include <asm/mach/map.h> | 30 | #include <asm/mach/map.h> |
31 | 31 | ||
32 | #include <mach/board-ldp.h> | ||
33 | #include <mach/mcspi.h> | 32 | #include <mach/mcspi.h> |
34 | #include <mach/gpio.h> | 33 | #include <mach/gpio.h> |
35 | #include <mach/board.h> | 34 | #include <mach/board.h> |
@@ -38,15 +37,19 @@ | |||
38 | 37 | ||
39 | #include <asm/delay.h> | 38 | #include <asm/delay.h> |
40 | #include <mach/control.h> | 39 | #include <mach/control.h> |
40 | #include <mach/usb.h> | ||
41 | 41 | ||
42 | #include "mmc-twl4030.h" | 42 | #include "mmc-twl4030.h" |
43 | 43 | ||
44 | #define SDP3430_SMC91X_CS 3 | 44 | #define LDP_SMC911X_CS 1 |
45 | #define LDP_SMC911X_GPIO 152 | ||
46 | #define DEBUG_BASE 0x08000000 | ||
47 | #define LDP_ETHR_START DEBUG_BASE | ||
45 | 48 | ||
46 | static struct resource ldp_smc911x_resources[] = { | 49 | static struct resource ldp_smc911x_resources[] = { |
47 | [0] = { | 50 | [0] = { |
48 | .start = OMAP34XX_ETHR_START, | 51 | .start = LDP_ETHR_START, |
49 | .end = OMAP34XX_ETHR_START + SZ_4K, | 52 | .end = LDP_ETHR_START + SZ_4K, |
50 | .flags = IORESOURCE_MEM, | 53 | .flags = IORESOURCE_MEM, |
51 | }, | 54 | }, |
52 | [1] = { | 55 | [1] = { |
@@ -162,6 +165,7 @@ static void __init omap_ldp_init(void) | |||
162 | omap_board_config_size = ARRAY_SIZE(ldp_config); | 165 | omap_board_config_size = ARRAY_SIZE(ldp_config); |
163 | omap_serial_init(); | 166 | omap_serial_init(); |
164 | twl4030_mmc_init(mmc); | 167 | twl4030_mmc_init(mmc); |
168 | usb_musb_init(); | ||
165 | } | 169 | } |
166 | 170 | ||
167 | static void __init omap_ldp_map_io(void) | 171 | static void __init omap_ldp_map_io(void) |
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index b70b1e65034b..744740ae1b9c 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c | |||
@@ -41,6 +41,7 @@ | |||
41 | #include <mach/gpmc.h> | 41 | #include <mach/gpmc.h> |
42 | #include <mach/nand.h> | 42 | #include <mach/nand.h> |
43 | #include <mach/mux.h> | 43 | #include <mach/mux.h> |
44 | #include <mach/usb.h> | ||
44 | 45 | ||
45 | #include "mmc-twl4030.h" | 46 | #include "mmc-twl4030.h" |
46 | 47 | ||
@@ -175,9 +176,6 @@ static int __init omap3_beagle_i2c_init(void) | |||
175 | { | 176 | { |
176 | omap_register_i2c_bus(1, 2600, beagle_i2c_boardinfo, | 177 | omap_register_i2c_bus(1, 2600, beagle_i2c_boardinfo, |
177 | ARRAY_SIZE(beagle_i2c_boardinfo)); | 178 | ARRAY_SIZE(beagle_i2c_boardinfo)); |
178 | #ifdef CONFIG_I2C2_OMAP_BEAGLE | ||
179 | omap_register_i2c_bus(2, 400, NULL, 0); | ||
180 | #endif | ||
181 | /* Bus 3 is attached to the DVI port where devices like the pico DLP | 179 | /* Bus 3 is attached to the DVI port where devices like the pico DLP |
182 | * projector don't work reliably with 400kHz */ | 180 | * projector don't work reliably with 400kHz */ |
183 | omap_register_i2c_bus(3, 100, NULL, 0); | 181 | omap_register_i2c_bus(3, 100, NULL, 0); |
@@ -316,6 +314,7 @@ static void __init omap3_beagle_init(void) | |||
316 | /* REVISIT leave DVI powered down until it's needed ... */ | 314 | /* REVISIT leave DVI powered down until it's needed ... */ |
317 | gpio_direction_output(170, true); | 315 | gpio_direction_output(170, true); |
318 | 316 | ||
317 | usb_musb_init(); | ||
319 | omap3beagle_flash_init(); | 318 | omap3beagle_flash_init(); |
320 | } | 319 | } |
321 | 320 | ||
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c index b3196107afdb..16e2128daa12 100644 --- a/arch/arm/mach-omap2/board-omap3pandora.c +++ b/arch/arm/mach-omap2/board-omap3pandora.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <mach/gpio.h> | 34 | #include <mach/gpio.h> |
35 | #include <mach/hardware.h> | 35 | #include <mach/hardware.h> |
36 | #include <mach/mcspi.h> | 36 | #include <mach/mcspi.h> |
37 | #include <mach/usb.h> | ||
37 | 38 | ||
38 | #include "mmc-twl4030.h" | 39 | #include "mmc-twl4030.h" |
39 | 40 | ||
@@ -53,6 +54,13 @@ static struct twl4030_hsmmc_info omap3pandora_mmc[] = { | |||
53 | .gpio_cd = -EINVAL, | 54 | .gpio_cd = -EINVAL, |
54 | .gpio_wp = 127, | 55 | .gpio_wp = 127, |
55 | .ext_clock = 1, | 56 | .ext_clock = 1, |
57 | .transceiver = true, | ||
58 | }, | ||
59 | { | ||
60 | .mmc = 3, | ||
61 | .wires = 4, | ||
62 | .gpio_cd = -EINVAL, | ||
63 | .gpio_wp = -EINVAL, | ||
56 | }, | 64 | }, |
57 | {} /* Terminator */ | 65 | {} /* Terminator */ |
58 | }; | 66 | }; |
@@ -193,6 +201,7 @@ static void __init omap3pandora_init(void) | |||
193 | spi_register_board_info(omap3pandora_spi_board_info, | 201 | spi_register_board_info(omap3pandora_spi_board_info, |
194 | ARRAY_SIZE(omap3pandora_spi_board_info)); | 202 | ARRAY_SIZE(omap3pandora_spi_board_info)); |
195 | omap3pandora_ads7846_init(); | 203 | omap3pandora_ads7846_init(); |
204 | usb_musb_init(); | ||
196 | } | 205 | } |
197 | 206 | ||
198 | static void __init omap3pandora_map_io(void) | 207 | static void __init omap3pandora_map_io(void) |
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c index 82b3dc557c96..782268c91942 100644 --- a/arch/arm/mach-omap2/board-overo.c +++ b/arch/arm/mach-omap2/board-overo.c | |||
@@ -37,20 +37,85 @@ | |||
37 | #include <asm/mach/flash.h> | 37 | #include <asm/mach/flash.h> |
38 | #include <asm/mach/map.h> | 38 | #include <asm/mach/map.h> |
39 | 39 | ||
40 | #include <mach/board-overo.h> | ||
41 | #include <mach/board.h> | 40 | #include <mach/board.h> |
42 | #include <mach/common.h> | 41 | #include <mach/common.h> |
43 | #include <mach/gpio.h> | 42 | #include <mach/gpio.h> |
44 | #include <mach/gpmc.h> | 43 | #include <mach/gpmc.h> |
45 | #include <mach/hardware.h> | 44 | #include <mach/hardware.h> |
46 | #include <mach/nand.h> | 45 | #include <mach/nand.h> |
46 | #include <mach/usb.h> | ||
47 | 47 | ||
48 | #include "mmc-twl4030.h" | 48 | #include "mmc-twl4030.h" |
49 | 49 | ||
50 | #define OVERO_GPIO_BT_XGATE 15 | ||
51 | #define OVERO_GPIO_W2W_NRESET 16 | ||
52 | #define OVERO_GPIO_BT_NRESET 164 | ||
53 | #define OVERO_GPIO_USBH_CPEN 168 | ||
54 | #define OVERO_GPIO_USBH_NRESET 183 | ||
55 | |||
50 | #define NAND_BLOCK_SIZE SZ_128K | 56 | #define NAND_BLOCK_SIZE SZ_128K |
51 | #define GPMC_CS0_BASE 0x60 | 57 | #define GPMC_CS0_BASE 0x60 |
52 | #define GPMC_CS_SIZE 0x30 | 58 | #define GPMC_CS_SIZE 0x30 |
53 | 59 | ||
60 | #if defined(CONFIG_TOUCHSCREEN_ADS7846) || \ | ||
61 | defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE) | ||
62 | |||
63 | #include <mach/mcspi.h> | ||
64 | #include <linux/spi/spi.h> | ||
65 | #include <linux/spi/ads7846.h> | ||
66 | |||
67 | static struct omap2_mcspi_device_config ads7846_mcspi_config = { | ||
68 | .turbo_mode = 0, | ||
69 | .single_channel = 1, /* 0: slave, 1: master */ | ||
70 | }; | ||
71 | |||
72 | static int ads7846_get_pendown_state(void) | ||
73 | { | ||
74 | return !gpio_get_value(OVERO_GPIO_PENDOWN); | ||
75 | } | ||
76 | |||
77 | static struct ads7846_platform_data ads7846_config = { | ||
78 | .x_max = 0x0fff, | ||
79 | .y_max = 0x0fff, | ||
80 | .x_plate_ohms = 180, | ||
81 | .pressure_max = 255, | ||
82 | .debounce_max = 10, | ||
83 | .debounce_tol = 3, | ||
84 | .debounce_rep = 1, | ||
85 | .get_pendown_state = ads7846_get_pendown_state, | ||
86 | .keep_vref_on = 1, | ||
87 | }; | ||
88 | |||
89 | static struct spi_board_info overo_spi_board_info[] __initdata = { | ||
90 | { | ||
91 | .modalias = "ads7846", | ||
92 | .bus_num = 1, | ||
93 | .chip_select = 0, | ||
94 | .max_speed_hz = 1500000, | ||
95 | .controller_data = &ads7846_mcspi_config, | ||
96 | .irq = OMAP_GPIO_IRQ(OVERO_GPIO_PENDOWN), | ||
97 | .platform_data = &ads7846_config, | ||
98 | } | ||
99 | }; | ||
100 | |||
101 | static void __init overo_ads7846_init(void) | ||
102 | { | ||
103 | if ((gpio_request(OVERO_GPIO_PENDOWN, "ADS7846_PENDOWN") == 0) && | ||
104 | (gpio_direction_input(OVERO_GPIO_PENDOWN) == 0)) { | ||
105 | gpio_export(OVERO_GPIO_PENDOWN, 0); | ||
106 | } else { | ||
107 | printk(KERN_ERR "could not obtain gpio for ADS7846_PENDOWN\n"); | ||
108 | return; | ||
109 | } | ||
110 | |||
111 | spi_register_board_info(overo_spi_board_info, | ||
112 | ARRAY_SIZE(overo_spi_board_info)); | ||
113 | } | ||
114 | |||
115 | #else | ||
116 | static inline void __init overo_ads7846_init(void) { return; } | ||
117 | #endif | ||
118 | |||
54 | static struct mtd_partition overo_nand_partitions[] = { | 119 | static struct mtd_partition overo_nand_partitions[] = { |
55 | { | 120 | { |
56 | .name = "xloader", | 121 | .name = "xloader", |
@@ -209,6 +274,7 @@ static struct twl4030_hsmmc_info mmc[] __initdata = { | |||
209 | .wires = 4, | 274 | .wires = 4, |
210 | .gpio_cd = -EINVAL, | 275 | .gpio_cd = -EINVAL, |
211 | .gpio_wp = -EINVAL, | 276 | .gpio_wp = -EINVAL, |
277 | .transceiver = true, | ||
212 | }, | 278 | }, |
213 | {} /* Terminator */ | 279 | {} /* Terminator */ |
214 | }; | 280 | }; |
@@ -222,6 +288,8 @@ static void __init overo_init(void) | |||
222 | omap_serial_init(); | 288 | omap_serial_init(); |
223 | twl4030_mmc_init(mmc); | 289 | twl4030_mmc_init(mmc); |
224 | overo_flash_init(); | 290 | overo_flash_init(); |
291 | usb_musb_init(); | ||
292 | overo_ads7846_init(); | ||
225 | 293 | ||
226 | if ((gpio_request(OVERO_GPIO_W2W_NRESET, | 294 | if ((gpio_request(OVERO_GPIO_W2W_NRESET, |
227 | "OVERO_GPIO_W2W_NRESET") == 0) && | 295 | "OVERO_GPIO_W2W_NRESET") == 0) && |
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c new file mode 100644 index 000000000000..a7381729645c --- /dev/null +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c | |||
@@ -0,0 +1,419 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/mach-omap2/board-rx51-flash.c | ||
3 | * | ||
4 | * Copyright (C) 2008-2009 Nokia | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #include <linux/kernel.h> | ||
12 | #include <linux/init.h> | ||
13 | #include <linux/platform_device.h> | ||
14 | #include <linux/input.h> | ||
15 | #include <linux/spi/spi.h> | ||
16 | #include <linux/i2c.h> | ||
17 | #include <linux/i2c/twl4030.h> | ||
18 | #include <linux/clk.h> | ||
19 | #include <linux/delay.h> | ||
20 | #include <linux/regulator/machine.h> | ||
21 | #include <linux/gpio.h> | ||
22 | |||
23 | #include <mach/mcspi.h> | ||
24 | #include <mach/mux.h> | ||
25 | #include <mach/board.h> | ||
26 | #include <mach/common.h> | ||
27 | #include <mach/dma.h> | ||
28 | #include <mach/gpmc.h> | ||
29 | #include <mach/keypad.h> | ||
30 | |||
31 | #include "mmc-twl4030.h" | ||
32 | |||
33 | |||
34 | #define SMC91X_CS 1 | ||
35 | #define SMC91X_GPIO_IRQ 54 | ||
36 | #define SMC91X_GPIO_RESET 164 | ||
37 | #define SMC91X_GPIO_PWRDWN 86 | ||
38 | |||
39 | static struct resource rx51_smc91x_resources[] = { | ||
40 | [0] = { | ||
41 | .flags = IORESOURCE_MEM, | ||
42 | }, | ||
43 | [1] = { | ||
44 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, | ||
45 | }, | ||
46 | }; | ||
47 | |||
48 | static struct platform_device rx51_smc91x_device = { | ||
49 | .name = "smc91x", | ||
50 | .id = -1, | ||
51 | .num_resources = ARRAY_SIZE(rx51_smc91x_resources), | ||
52 | .resource = rx51_smc91x_resources, | ||
53 | }; | ||
54 | |||
55 | static int rx51_keymap[] = { | ||
56 | KEY(0, 0, KEY_Q), | ||
57 | KEY(0, 1, KEY_W), | ||
58 | KEY(0, 2, KEY_E), | ||
59 | KEY(0, 3, KEY_R), | ||
60 | KEY(0, 4, KEY_T), | ||
61 | KEY(0, 5, KEY_Y), | ||
62 | KEY(0, 6, KEY_U), | ||
63 | KEY(0, 7, KEY_I), | ||
64 | KEY(1, 0, KEY_O), | ||
65 | KEY(1, 1, KEY_D), | ||
66 | KEY(1, 2, KEY_DOT), | ||
67 | KEY(1, 3, KEY_V), | ||
68 | KEY(1, 4, KEY_DOWN), | ||
69 | KEY(2, 0, KEY_P), | ||
70 | KEY(2, 1, KEY_F), | ||
71 | KEY(2, 2, KEY_UP), | ||
72 | KEY(2, 3, KEY_B), | ||
73 | KEY(2, 4, KEY_RIGHT), | ||
74 | KEY(3, 0, KEY_COMMA), | ||
75 | KEY(3, 1, KEY_G), | ||
76 | KEY(3, 2, KEY_ENTER), | ||
77 | KEY(3, 3, KEY_N), | ||
78 | KEY(4, 0, KEY_BACKSPACE), | ||
79 | KEY(4, 1, KEY_H), | ||
80 | KEY(4, 3, KEY_M), | ||
81 | KEY(4, 4, KEY_LEFTCTRL), | ||
82 | KEY(5, 1, KEY_J), | ||
83 | KEY(5, 2, KEY_Z), | ||
84 | KEY(5, 3, KEY_SPACE), | ||
85 | KEY(5, 4, KEY_LEFTSHIFT), | ||
86 | KEY(6, 0, KEY_A), | ||
87 | KEY(6, 1, KEY_K), | ||
88 | KEY(6, 2, KEY_X), | ||
89 | KEY(6, 3, KEY_SPACE), | ||
90 | KEY(6, 4, KEY_FN), | ||
91 | KEY(7, 0, KEY_S), | ||
92 | KEY(7, 1, KEY_L), | ||
93 | KEY(7, 2, KEY_C), | ||
94 | KEY(7, 3, KEY_LEFT), | ||
95 | KEY(0xff, 0, KEY_F6), | ||
96 | KEY(0xff, 1, KEY_F7), | ||
97 | KEY(0xff, 2, KEY_F8), | ||
98 | KEY(0xff, 4, KEY_F9), | ||
99 | KEY(0xff, 5, KEY_F10), | ||
100 | }; | ||
101 | |||
102 | static struct twl4030_keypad_data rx51_kp_data = { | ||
103 | .rows = 8, | ||
104 | .cols = 8, | ||
105 | .keymap = rx51_keymap, | ||
106 | .keymapsize = ARRAY_SIZE(rx51_keymap), | ||
107 | .rep = 1, | ||
108 | }; | ||
109 | |||
110 | static struct platform_device *rx51_peripherals_devices[] = { | ||
111 | &rx51_smc91x_device, | ||
112 | }; | ||
113 | |||
114 | /* | ||
115 | * Timings are taken from smsc-lan91c96-ms.pdf | ||
116 | */ | ||
117 | static int smc91x_init_gpmc(int cs) | ||
118 | { | ||
119 | struct gpmc_timings t; | ||
120 | const int t2_r = 45; /* t2 in Figure 12.10 */ | ||
121 | const int t2_w = 30; /* t2 in Figure 12.11 */ | ||
122 | const int t3 = 15; /* t3 in Figure 12.10 */ | ||
123 | const int t5_r = 0; /* t5 in Figure 12.10 */ | ||
124 | const int t6_r = 45; /* t6 in Figure 12.10 */ | ||
125 | const int t6_w = 0; /* t6 in Figure 12.11 */ | ||
126 | const int t7_w = 15; /* t7 in Figure 12.11 */ | ||
127 | const int t15 = 12; /* t15 in Figure 12.2 */ | ||
128 | const int t20 = 185; /* t20 in Figure 12.2 */ | ||
129 | |||
130 | memset(&t, 0, sizeof(t)); | ||
131 | |||
132 | t.cs_on = t15; | ||
133 | t.cs_rd_off = t3 + t2_r + t5_r; /* Figure 12.10 */ | ||
134 | t.cs_wr_off = t3 + t2_w + t6_w; /* Figure 12.11 */ | ||
135 | t.adv_on = t3; /* Figure 12.10 */ | ||
136 | t.adv_rd_off = t3 + t2_r; /* Figure 12.10 */ | ||
137 | t.adv_wr_off = t3 + t2_w; /* Figure 12.11 */ | ||
138 | t.oe_off = t3 + t2_r + t5_r; /* Figure 12.10 */ | ||
139 | t.oe_on = t.oe_off - t6_r; /* Figure 12.10 */ | ||
140 | t.we_off = t3 + t2_w + t6_w; /* Figure 12.11 */ | ||
141 | t.we_on = t.we_off - t7_w; /* Figure 12.11 */ | ||
142 | t.rd_cycle = t20; /* Figure 12.2 */ | ||
143 | t.wr_cycle = t20; /* Figure 12.4 */ | ||
144 | t.access = t3 + t2_r + t5_r; /* Figure 12.10 */ | ||
145 | t.wr_access = t3 + t2_w + t6_w; /* Figure 12.11 */ | ||
146 | |||
147 | gpmc_cs_write_reg(cs, GPMC_CS_CONFIG1, GPMC_CONFIG1_DEVICESIZE_16); | ||
148 | |||
149 | return gpmc_cs_set_timings(cs, &t); | ||
150 | } | ||
151 | |||
152 | static void __init rx51_init_smc91x(void) | ||
153 | { | ||
154 | unsigned long cs_mem_base; | ||
155 | int ret; | ||
156 | |||
157 | omap_cfg_reg(U8_34XX_GPIO54_DOWN); | ||
158 | omap_cfg_reg(G25_34XX_GPIO86_OUT); | ||
159 | omap_cfg_reg(H19_34XX_GPIO164_OUT); | ||
160 | |||
161 | if (gpmc_cs_request(SMC91X_CS, SZ_16M, &cs_mem_base) < 0) { | ||
162 | printk(KERN_ERR "Failed to request GPMC mem for smc91x\n"); | ||
163 | return; | ||
164 | } | ||
165 | |||
166 | rx51_smc91x_resources[0].start = cs_mem_base + 0x300; | ||
167 | rx51_smc91x_resources[0].end = cs_mem_base + 0x30f; | ||
168 | |||
169 | smc91x_init_gpmc(SMC91X_CS); | ||
170 | |||
171 | if (gpio_request(SMC91X_GPIO_IRQ, "SMC91X irq") < 0) | ||
172 | goto free1; | ||
173 | |||
174 | gpio_direction_input(SMC91X_GPIO_IRQ); | ||
175 | rx51_smc91x_resources[1].start = gpio_to_irq(SMC91X_GPIO_IRQ); | ||
176 | |||
177 | ret = gpio_request(SMC91X_GPIO_PWRDWN, "SMC91X powerdown"); | ||
178 | if (ret) | ||
179 | goto free2; | ||
180 | gpio_direction_output(SMC91X_GPIO_PWRDWN, 0); | ||
181 | |||
182 | ret = gpio_request(SMC91X_GPIO_RESET, "SMC91X reset"); | ||
183 | if (ret) | ||
184 | goto free3; | ||
185 | gpio_direction_output(SMC91X_GPIO_RESET, 0); | ||
186 | gpio_set_value(SMC91X_GPIO_RESET, 1); | ||
187 | msleep(100); | ||
188 | gpio_set_value(SMC91X_GPIO_RESET, 0); | ||
189 | |||
190 | return; | ||
191 | |||
192 | free3: | ||
193 | gpio_free(SMC91X_GPIO_PWRDWN); | ||
194 | free2: | ||
195 | gpio_free(SMC91X_GPIO_IRQ); | ||
196 | free1: | ||
197 | gpmc_cs_free(SMC91X_CS); | ||
198 | |||
199 | printk(KERN_ERR "Could not initialize smc91x\n"); | ||
200 | } | ||
201 | |||
202 | static struct twl4030_madc_platform_data rx51_madc_data = { | ||
203 | .irq_line = 1, | ||
204 | }; | ||
205 | |||
206 | static struct twl4030_hsmmc_info mmc[] = { | ||
207 | { | ||
208 | .name = "external", | ||
209 | .mmc = 1, | ||
210 | .wires = 4, | ||
211 | .cover_only = true, | ||
212 | .gpio_cd = 160, | ||
213 | .gpio_wp = -EINVAL, | ||
214 | }, | ||
215 | { | ||
216 | .name = "internal", | ||
217 | .mmc = 2, | ||
218 | .wires = 8, | ||
219 | .gpio_cd = -EINVAL, | ||
220 | .gpio_wp = -EINVAL, | ||
221 | }, | ||
222 | {} /* Terminator */ | ||
223 | }; | ||
224 | |||
225 | static struct regulator_consumer_supply rx51_vmmc1_supply = { | ||
226 | .supply = "vmmc", | ||
227 | }; | ||
228 | |||
229 | static struct regulator_consumer_supply rx51_vmmc2_supply = { | ||
230 | .supply = "vmmc", | ||
231 | }; | ||
232 | |||
233 | static struct regulator_consumer_supply rx51_vsim_supply = { | ||
234 | .supply = "vmmc_aux", | ||
235 | }; | ||
236 | |||
237 | static struct regulator_init_data rx51_vaux1 = { | ||
238 | .constraints = { | ||
239 | .name = "V28", | ||
240 | .min_uV = 2800000, | ||
241 | .max_uV = 2800000, | ||
242 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
243 | | REGULATOR_MODE_STANDBY, | ||
244 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
245 | | REGULATOR_CHANGE_STATUS, | ||
246 | }, | ||
247 | }; | ||
248 | |||
249 | static struct regulator_init_data rx51_vaux2 = { | ||
250 | .constraints = { | ||
251 | .name = "VCSI", | ||
252 | .min_uV = 1800000, | ||
253 | .max_uV = 1800000, | ||
254 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
255 | | REGULATOR_MODE_STANDBY, | ||
256 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
257 | | REGULATOR_CHANGE_STATUS, | ||
258 | }, | ||
259 | }; | ||
260 | |||
261 | /* VAUX3 - adds more power to VIO_18 rail */ | ||
262 | static struct regulator_init_data rx51_vaux3 = { | ||
263 | .constraints = { | ||
264 | .name = "VCAM_DIG_18", | ||
265 | .min_uV = 1800000, | ||
266 | .max_uV = 1800000, | ||
267 | .apply_uV = true, | ||
268 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
269 | | REGULATOR_MODE_STANDBY, | ||
270 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
271 | | REGULATOR_CHANGE_STATUS, | ||
272 | }, | ||
273 | }; | ||
274 | |||
275 | static struct regulator_init_data rx51_vaux4 = { | ||
276 | .constraints = { | ||
277 | .name = "VCAM_ANA_28", | ||
278 | .min_uV = 2800000, | ||
279 | .max_uV = 2800000, | ||
280 | .apply_uV = true, | ||
281 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
282 | | REGULATOR_MODE_STANDBY, | ||
283 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
284 | | REGULATOR_CHANGE_STATUS, | ||
285 | }, | ||
286 | }; | ||
287 | |||
288 | static struct regulator_init_data rx51_vmmc1 = { | ||
289 | .constraints = { | ||
290 | .min_uV = 1850000, | ||
291 | .max_uV = 3150000, | ||
292 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
293 | | REGULATOR_MODE_STANDBY, | ||
294 | .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | ||
295 | | REGULATOR_CHANGE_MODE | ||
296 | | REGULATOR_CHANGE_STATUS, | ||
297 | }, | ||
298 | .num_consumer_supplies = 1, | ||
299 | .consumer_supplies = &rx51_vmmc1_supply, | ||
300 | }; | ||
301 | |||
302 | static struct regulator_init_data rx51_vmmc2 = { | ||
303 | .constraints = { | ||
304 | .name = "VMMC2_30", | ||
305 | .min_uV = 1850000, | ||
306 | .max_uV = 3150000, | ||
307 | .apply_uV = true, | ||
308 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
309 | | REGULATOR_MODE_STANDBY, | ||
310 | .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | ||
311 | | REGULATOR_CHANGE_MODE | ||
312 | | REGULATOR_CHANGE_STATUS, | ||
313 | }, | ||
314 | .num_consumer_supplies = 1, | ||
315 | .consumer_supplies = &rx51_vmmc2_supply, | ||
316 | }; | ||
317 | |||
318 | static struct regulator_init_data rx51_vsim = { | ||
319 | .constraints = { | ||
320 | .name = "VMMC2_IO_18", | ||
321 | .min_uV = 1800000, | ||
322 | .max_uV = 1800000, | ||
323 | .apply_uV = true, | ||
324 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
325 | | REGULATOR_MODE_STANDBY, | ||
326 | .valid_ops_mask = REGULATOR_CHANGE_MODE | ||
327 | | REGULATOR_CHANGE_STATUS, | ||
328 | }, | ||
329 | .num_consumer_supplies = 1, | ||
330 | .consumer_supplies = &rx51_vsim_supply, | ||
331 | }; | ||
332 | |||
333 | static struct regulator_init_data rx51_vdac = { | ||
334 | .constraints = { | ||
335 | .min_uV = 1800000, | ||
336 | .max_uV = 1800000, | ||
337 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
338 | | REGULATOR_MODE_STANDBY, | ||
339 | .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | ||
340 | | REGULATOR_CHANGE_MODE | ||
341 | | REGULATOR_CHANGE_STATUS, | ||
342 | }, | ||
343 | }; | ||
344 | |||
345 | static int rx51_twlgpio_setup(struct device *dev, unsigned gpio, unsigned n) | ||
346 | { | ||
347 | /* FIXME this gpio setup is just a placeholder for now */ | ||
348 | gpio_request(gpio + 6, "backlight_pwm"); | ||
349 | gpio_direction_output(gpio + 6, 0); | ||
350 | gpio_request(gpio + 7, "speaker_en"); | ||
351 | gpio_direction_output(gpio + 7, 1); | ||
352 | |||
353 | /* set up MMC adapters, linking their regulators to them */ | ||
354 | twl4030_mmc_init(mmc); | ||
355 | rx51_vmmc1_supply.dev = mmc[0].dev; | ||
356 | rx51_vmmc2_supply.dev = mmc[1].dev; | ||
357 | rx51_vsim_supply.dev = mmc[1].dev; | ||
358 | |||
359 | return 0; | ||
360 | } | ||
361 | |||
362 | static struct twl4030_gpio_platform_data rx51_gpio_data = { | ||
363 | .gpio_base = OMAP_MAX_GPIO_LINES, | ||
364 | .irq_base = TWL4030_GPIO_IRQ_BASE, | ||
365 | .irq_end = TWL4030_GPIO_IRQ_END, | ||
366 | .pulldowns = BIT(0) | BIT(1) | BIT(2) | BIT(3) | ||
367 | | BIT(4) | BIT(5) | ||
368 | | BIT(8) | BIT(9) | BIT(10) | BIT(11) | ||
369 | | BIT(12) | BIT(13) | BIT(14) | BIT(15) | ||
370 | | BIT(16) | BIT(17) , | ||
371 | .setup = rx51_twlgpio_setup, | ||
372 | }; | ||
373 | |||
374 | static struct twl4030_platform_data rx51_twldata = { | ||
375 | .irq_base = TWL4030_IRQ_BASE, | ||
376 | .irq_end = TWL4030_IRQ_END, | ||
377 | |||
378 | /* platform_data for children goes here */ | ||
379 | .gpio = &rx51_gpio_data, | ||
380 | .keypad = &rx51_kp_data, | ||
381 | .madc = &rx51_madc_data, | ||
382 | |||
383 | .vaux1 = &rx51_vaux1, | ||
384 | .vaux2 = &rx51_vaux2, | ||
385 | .vaux3 = &rx51_vaux3, | ||
386 | .vaux4 = &rx51_vaux4, | ||
387 | .vmmc1 = &rx51_vmmc1, | ||
388 | .vmmc2 = &rx51_vmmc2, | ||
389 | .vsim = &rx51_vsim, | ||
390 | .vdac = &rx51_vdac, | ||
391 | }; | ||
392 | |||
393 | static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_1[] = { | ||
394 | { | ||
395 | I2C_BOARD_INFO("twl5030", 0x48), | ||
396 | .flags = I2C_CLIENT_WAKE, | ||
397 | .irq = INT_34XX_SYS_NIRQ, | ||
398 | .platform_data = &rx51_twldata, | ||
399 | }, | ||
400 | }; | ||
401 | |||
402 | static int __init rx51_i2c_init(void) | ||
403 | { | ||
404 | omap_register_i2c_bus(1, 2600, rx51_peripherals_i2c_board_info_1, | ||
405 | ARRAY_SIZE(rx51_peripherals_i2c_board_info_1)); | ||
406 | omap_register_i2c_bus(2, 100, NULL, 0); | ||
407 | omap_register_i2c_bus(3, 400, NULL, 0); | ||
408 | return 0; | ||
409 | } | ||
410 | |||
411 | |||
412 | void __init rx51_peripherals_init(void) | ||
413 | { | ||
414 | platform_add_devices(rx51_peripherals_devices, | ||
415 | ARRAY_SIZE(rx51_peripherals_devices)); | ||
416 | rx51_i2c_init(); | ||
417 | rx51_init_smc91x(); | ||
418 | } | ||
419 | |||
diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c new file mode 100644 index 000000000000..6a3c5e53d99c --- /dev/null +++ b/arch/arm/mach-omap2/board-rx51.c | |||
@@ -0,0 +1,96 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/mach-omap2/board-rx51.c | ||
3 | * | ||
4 | * Copyright (C) 2007, 2008 Nokia | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #include <linux/kernel.h> | ||
12 | #include <linux/init.h> | ||
13 | #include <linux/platform_device.h> | ||
14 | #include <linux/delay.h> | ||
15 | #include <linux/err.h> | ||
16 | #include <linux/clk.h> | ||
17 | #include <linux/io.h> | ||
18 | #include <linux/delay.h> | ||
19 | #include <linux/gpio.h> | ||
20 | |||
21 | #include <mach/hardware.h> | ||
22 | #include <asm/mach-types.h> | ||
23 | #include <asm/mach/arch.h> | ||
24 | #include <asm/mach/map.h> | ||
25 | |||
26 | #include <mach/mcspi.h> | ||
27 | #include <mach/mux.h> | ||
28 | #include <mach/board.h> | ||
29 | #include <mach/common.h> | ||
30 | #include <mach/keypad.h> | ||
31 | #include <mach/dma.h> | ||
32 | #include <mach/gpmc.h> | ||
33 | #include <mach/usb.h> | ||
34 | |||
35 | static struct omap_uart_config rx51_uart_config = { | ||
36 | .enabled_uarts = ((1 << 0) | (1 << 1) | (1 << 2)), | ||
37 | }; | ||
38 | |||
39 | static struct omap_lcd_config rx51_lcd_config = { | ||
40 | .ctrl_name = "internal", | ||
41 | }; | ||
42 | |||
43 | static struct omap_fbmem_config rx51_fbmem0_config = { | ||
44 | .size = 752 * 1024, | ||
45 | }; | ||
46 | |||
47 | static struct omap_fbmem_config rx51_fbmem1_config = { | ||
48 | .size = 752 * 1024, | ||
49 | }; | ||
50 | |||
51 | static struct omap_fbmem_config rx51_fbmem2_config = { | ||
52 | .size = 752 * 1024, | ||
53 | }; | ||
54 | |||
55 | static struct omap_board_config_kernel rx51_config[] = { | ||
56 | { OMAP_TAG_UART, &rx51_uart_config }, | ||
57 | { OMAP_TAG_FBMEM, &rx51_fbmem0_config }, | ||
58 | { OMAP_TAG_FBMEM, &rx51_fbmem1_config }, | ||
59 | { OMAP_TAG_FBMEM, &rx51_fbmem2_config }, | ||
60 | { OMAP_TAG_LCD, &rx51_lcd_config }, | ||
61 | }; | ||
62 | |||
63 | static void __init rx51_init_irq(void) | ||
64 | { | ||
65 | omap2_init_common_hw(); | ||
66 | omap_init_irq(); | ||
67 | omap_gpio_init(); | ||
68 | } | ||
69 | |||
70 | extern void __init rx51_peripherals_init(void); | ||
71 | |||
72 | static void __init rx51_init(void) | ||
73 | { | ||
74 | omap_board_config = rx51_config; | ||
75 | omap_board_config_size = ARRAY_SIZE(rx51_config); | ||
76 | omap_serial_init(); | ||
77 | usb_musb_init(); | ||
78 | rx51_peripherals_init(); | ||
79 | } | ||
80 | |||
81 | static void __init rx51_map_io(void) | ||
82 | { | ||
83 | omap2_set_globals_343x(); | ||
84 | omap2_map_common_io(); | ||
85 | } | ||
86 | |||
87 | MACHINE_START(NOKIA_RX51, "Nokia RX-51 board") | ||
88 | /* Maintainer: Lauri Leukkunen <lauri.leukkunen@nokia.com> */ | ||
89 | .phys_io = 0x48000000, | ||
90 | .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, | ||
91 | .boot_params = 0x80000100, | ||
92 | .map_io = rx51_map_io, | ||
93 | .init_irq = rx51_init_irq, | ||
94 | .init_machine = rx51_init, | ||
95 | .timer = &omap_timer, | ||
96 | MACHINE_END | ||
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index 8075f5868c38..d6b4b2f8722f 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c | |||
@@ -28,13 +28,121 @@ | |||
28 | #include <mach/eac.h> | 28 | #include <mach/eac.h> |
29 | #include <mach/mmc.h> | 29 | #include <mach/mmc.h> |
30 | 30 | ||
31 | #if defined(CONFIG_OMAP_DSP) || defined(CONFIG_OMAP_DSP_MODULE) | 31 | #if defined(CONFIG_VIDEO_OMAP2) || defined(CONFIG_VIDEO_OMAP2_MODULE) |
32 | #define OMAP2_MBOX_BASE IO_ADDRESS(OMAP24XX_MAILBOX_BASE) | ||
33 | 32 | ||
34 | static struct resource mbox_resources[] = { | 33 | static struct resource cam_resources[] = { |
35 | { | 34 | { |
36 | .start = OMAP2_MBOX_BASE, | 35 | .start = OMAP24XX_CAMERA_BASE, |
37 | .end = OMAP2_MBOX_BASE + 0x11f, | 36 | .end = OMAP24XX_CAMERA_BASE + 0xfff, |
37 | .flags = IORESOURCE_MEM, | ||
38 | }, | ||
39 | { | ||
40 | .start = INT_24XX_CAM_IRQ, | ||
41 | .flags = IORESOURCE_IRQ, | ||
42 | } | ||
43 | }; | ||
44 | |||
45 | static struct platform_device omap_cam_device = { | ||
46 | .name = "omap24xxcam", | ||
47 | .id = -1, | ||
48 | .num_resources = ARRAY_SIZE(cam_resources), | ||
49 | .resource = cam_resources, | ||
50 | }; | ||
51 | |||
52 | static inline void omap_init_camera(void) | ||
53 | { | ||
54 | platform_device_register(&omap_cam_device); | ||
55 | } | ||
56 | |||
57 | #elif defined(CONFIG_VIDEO_OMAP3) || defined(CONFIG_VIDEO_OMAP3_MODULE) | ||
58 | |||
59 | static struct resource omap3isp_resources[] = { | ||
60 | { | ||
61 | .start = OMAP3430_ISP_BASE, | ||
62 | .end = OMAP3430_ISP_END, | ||
63 | .flags = IORESOURCE_MEM, | ||
64 | }, | ||
65 | { | ||
66 | .start = OMAP3430_ISP_CBUFF_BASE, | ||
67 | .end = OMAP3430_ISP_CBUFF_END, | ||
68 | .flags = IORESOURCE_MEM, | ||
69 | }, | ||
70 | { | ||
71 | .start = OMAP3430_ISP_CCP2_BASE, | ||
72 | .end = OMAP3430_ISP_CCP2_END, | ||
73 | .flags = IORESOURCE_MEM, | ||
74 | }, | ||
75 | { | ||
76 | .start = OMAP3430_ISP_CCDC_BASE, | ||
77 | .end = OMAP3430_ISP_CCDC_END, | ||
78 | .flags = IORESOURCE_MEM, | ||
79 | }, | ||
80 | { | ||
81 | .start = OMAP3430_ISP_HIST_BASE, | ||
82 | .end = OMAP3430_ISP_HIST_END, | ||
83 | .flags = IORESOURCE_MEM, | ||
84 | }, | ||
85 | { | ||
86 | .start = OMAP3430_ISP_H3A_BASE, | ||
87 | .end = OMAP3430_ISP_H3A_END, | ||
88 | .flags = IORESOURCE_MEM, | ||
89 | }, | ||
90 | { | ||
91 | .start = OMAP3430_ISP_PREV_BASE, | ||
92 | .end = OMAP3430_ISP_PREV_END, | ||
93 | .flags = IORESOURCE_MEM, | ||
94 | }, | ||
95 | { | ||
96 | .start = OMAP3430_ISP_RESZ_BASE, | ||
97 | .end = OMAP3430_ISP_RESZ_END, | ||
98 | .flags = IORESOURCE_MEM, | ||
99 | }, | ||
100 | { | ||
101 | .start = OMAP3430_ISP_SBL_BASE, | ||
102 | .end = OMAP3430_ISP_SBL_END, | ||
103 | .flags = IORESOURCE_MEM, | ||
104 | }, | ||
105 | { | ||
106 | .start = OMAP3430_ISP_CSI2A_BASE, | ||
107 | .end = OMAP3430_ISP_CSI2A_END, | ||
108 | .flags = IORESOURCE_MEM, | ||
109 | }, | ||
110 | { | ||
111 | .start = OMAP3430_ISP_CSI2PHY_BASE, | ||
112 | .end = OMAP3430_ISP_CSI2PHY_END, | ||
113 | .flags = IORESOURCE_MEM, | ||
114 | }, | ||
115 | { | ||
116 | .start = INT_34XX_CAM_IRQ, | ||
117 | .flags = IORESOURCE_IRQ, | ||
118 | } | ||
119 | }; | ||
120 | |||
121 | static struct platform_device omap3isp_device = { | ||
122 | .name = "omap3isp", | ||
123 | .id = -1, | ||
124 | .num_resources = ARRAY_SIZE(omap3isp_resources), | ||
125 | .resource = omap3isp_resources, | ||
126 | }; | ||
127 | |||
128 | static inline void omap_init_camera(void) | ||
129 | { | ||
130 | platform_device_register(&omap3isp_device); | ||
131 | } | ||
132 | #else | ||
133 | static inline void omap_init_camera(void) | ||
134 | { | ||
135 | } | ||
136 | #endif | ||
137 | |||
138 | #if defined(CONFIG_OMAP_MBOX_FWK) || defined(CONFIG_OMAP_MBOX_FWK_MODULE) | ||
139 | |||
140 | #define MBOX_REG_SIZE 0x120 | ||
141 | |||
142 | static struct resource omap2_mbox_resources[] = { | ||
143 | { | ||
144 | .start = OMAP24XX_MAILBOX_BASE, | ||
145 | .end = OMAP24XX_MAILBOX_BASE + MBOX_REG_SIZE - 1, | ||
38 | .flags = IORESOURCE_MEM, | 146 | .flags = IORESOURCE_MEM, |
39 | }, | 147 | }, |
40 | { | 148 | { |
@@ -47,20 +155,40 @@ static struct resource mbox_resources[] = { | |||
47 | }, | 155 | }, |
48 | }; | 156 | }; |
49 | 157 | ||
158 | static struct resource omap3_mbox_resources[] = { | ||
159 | { | ||
160 | .start = OMAP34XX_MAILBOX_BASE, | ||
161 | .end = OMAP34XX_MAILBOX_BASE + MBOX_REG_SIZE - 1, | ||
162 | .flags = IORESOURCE_MEM, | ||
163 | }, | ||
164 | { | ||
165 | .start = INT_24XX_MAIL_U0_MPU, | ||
166 | .flags = IORESOURCE_IRQ, | ||
167 | }, | ||
168 | }; | ||
169 | |||
50 | static struct platform_device mbox_device = { | 170 | static struct platform_device mbox_device = { |
51 | .name = "mailbox", | 171 | .name = "omap2-mailbox", |
52 | .id = -1, | 172 | .id = -1, |
53 | .num_resources = ARRAY_SIZE(mbox_resources), | ||
54 | .resource = mbox_resources, | ||
55 | }; | 173 | }; |
56 | 174 | ||
57 | static inline void omap_init_mbox(void) | 175 | static inline void omap_init_mbox(void) |
58 | { | 176 | { |
177 | if (cpu_is_omap2420()) { | ||
178 | mbox_device.num_resources = ARRAY_SIZE(omap2_mbox_resources); | ||
179 | mbox_device.resource = omap2_mbox_resources; | ||
180 | } else if (cpu_is_omap3430()) { | ||
181 | mbox_device.num_resources = ARRAY_SIZE(omap3_mbox_resources); | ||
182 | mbox_device.resource = omap3_mbox_resources; | ||
183 | } else { | ||
184 | pr_err("%s: platform not supported\n", __func__); | ||
185 | return; | ||
186 | } | ||
59 | platform_device_register(&mbox_device); | 187 | platform_device_register(&mbox_device); |
60 | } | 188 | } |
61 | #else | 189 | #else |
62 | static inline void omap_init_mbox(void) { } | 190 | static inline void omap_init_mbox(void) { } |
63 | #endif | 191 | #endif /* CONFIG_OMAP_MBOX_FWK */ |
64 | 192 | ||
65 | #if defined(CONFIG_OMAP_STI) | 193 | #if defined(CONFIG_OMAP_STI) |
66 | 194 | ||
@@ -507,6 +635,7 @@ static int __init omap2_init_devices(void) | |||
507 | * in alphabetical order so they're easier to sort through. | 635 | * in alphabetical order so they're easier to sort through. |
508 | */ | 636 | */ |
509 | omap_hsmmc_reset(); | 637 | omap_hsmmc_reset(); |
638 | omap_init_camera(); | ||
510 | omap_init_mbox(); | 639 | omap_init_mbox(); |
511 | omap_init_mcspi(); | 640 | omap_init_mcspi(); |
512 | omap_hdq_init(); | 641 | omap_hdq_init(); |
diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c index 32b7af3c610b..fd5b8a5925cc 100644 --- a/arch/arm/mach-omap2/mailbox.c +++ b/arch/arm/mach-omap2/mailbox.c | |||
@@ -1,9 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * Mailbox reservation modules for OMAP2 | 2 | * Mailbox reservation modules for OMAP2/3 |
3 | * | 3 | * |
4 | * Copyright (C) 2006 Nokia Corporation | 4 | * Copyright (C) 2006-2009 Nokia Corporation |
5 | * Written by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> | 5 | * Written by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> |
6 | * and Paul Mundt <paul.mundt@nokia.com> | 6 | * and Paul Mundt |
7 | * | 7 | * |
8 | * This file is subject to the terms and conditions of the GNU General Public | 8 | * This file is subject to the terms and conditions of the GNU General Public |
9 | * License. See the file "COPYING" in the main directory of this archive | 9 | * License. See the file "COPYING" in the main directory of this archive |
@@ -18,40 +18,22 @@ | |||
18 | #include <mach/mailbox.h> | 18 | #include <mach/mailbox.h> |
19 | #include <mach/irqs.h> | 19 | #include <mach/irqs.h> |
20 | 20 | ||
21 | #define MAILBOX_REVISION 0x00 | 21 | #define MAILBOX_REVISION 0x000 |
22 | #define MAILBOX_SYSCONFIG 0x10 | 22 | #define MAILBOX_SYSCONFIG 0x010 |
23 | #define MAILBOX_SYSSTATUS 0x14 | 23 | #define MAILBOX_SYSSTATUS 0x014 |
24 | #define MAILBOX_MESSAGE_0 0x40 | 24 | #define MAILBOX_MESSAGE(m) (0x040 + 4 * (m)) |
25 | #define MAILBOX_MESSAGE_1 0x44 | 25 | #define MAILBOX_FIFOSTATUS(m) (0x080 + 4 * (m)) |
26 | #define MAILBOX_MESSAGE_2 0x48 | 26 | #define MAILBOX_MSGSTATUS(m) (0x0c0 + 4 * (m)) |
27 | #define MAILBOX_MESSAGE_3 0x4c | 27 | #define MAILBOX_IRQSTATUS(u) (0x100 + 8 * (u)) |
28 | #define MAILBOX_MESSAGE_4 0x50 | 28 | #define MAILBOX_IRQENABLE(u) (0x104 + 8 * (u)) |
29 | #define MAILBOX_MESSAGE_5 0x54 | 29 | |
30 | #define MAILBOX_FIFOSTATUS_0 0x80 | 30 | #define MAILBOX_IRQ_NEWMSG(u) (1 << (2 * (u))) |
31 | #define MAILBOX_FIFOSTATUS_1 0x84 | 31 | #define MAILBOX_IRQ_NOTFULL(u) (1 << (2 * (u) + 1)) |
32 | #define MAILBOX_FIFOSTATUS_2 0x88 | 32 | |
33 | #define MAILBOX_FIFOSTATUS_3 0x8c | 33 | #define MBOX_REG_SIZE 0x120 |
34 | #define MAILBOX_FIFOSTATUS_4 0x90 | 34 | #define MBOX_NR_REGS (MBOX_REG_SIZE / sizeof(u32)) |
35 | #define MAILBOX_FIFOSTATUS_5 0x94 | 35 | |
36 | #define MAILBOX_MSGSTATUS_0 0xc0 | 36 | static void __iomem *mbox_base; |
37 | #define MAILBOX_MSGSTATUS_1 0xc4 | ||
38 | #define MAILBOX_MSGSTATUS_2 0xc8 | ||
39 | #define MAILBOX_MSGSTATUS_3 0xcc | ||
40 | #define MAILBOX_MSGSTATUS_4 0xd0 | ||
41 | #define MAILBOX_MSGSTATUS_5 0xd4 | ||
42 | #define MAILBOX_IRQSTATUS_0 0x100 | ||
43 | #define MAILBOX_IRQENABLE_0 0x104 | ||
44 | #define MAILBOX_IRQSTATUS_1 0x108 | ||
45 | #define MAILBOX_IRQENABLE_1 0x10c | ||
46 | #define MAILBOX_IRQSTATUS_2 0x110 | ||
47 | #define MAILBOX_IRQENABLE_2 0x114 | ||
48 | #define MAILBOX_IRQSTATUS_3 0x118 | ||
49 | #define MAILBOX_IRQENABLE_3 0x11c | ||
50 | |||
51 | static unsigned long mbox_base; | ||
52 | |||
53 | #define MAILBOX_IRQ_NOTFULL(n) (1 << (2 * (n) + 1)) | ||
54 | #define MAILBOX_IRQ_NEWMSG(n) (1 << (2 * (n))) | ||
55 | 37 | ||
56 | struct omap_mbox2_fifo { | 38 | struct omap_mbox2_fifo { |
57 | unsigned long msg; | 39 | unsigned long msg; |
@@ -66,6 +48,7 @@ struct omap_mbox2_priv { | |||
66 | unsigned long irqstatus; | 48 | unsigned long irqstatus; |
67 | u32 newmsg_bit; | 49 | u32 newmsg_bit; |
68 | u32 notfull_bit; | 50 | u32 notfull_bit; |
51 | u32 ctx[MBOX_NR_REGS]; | ||
69 | }; | 52 | }; |
70 | 53 | ||
71 | static struct clk *mbox_ick_handle; | 54 | static struct clk *mbox_ick_handle; |
@@ -73,14 +56,14 @@ static struct clk *mbox_ick_handle; | |||
73 | static void omap2_mbox_enable_irq(struct omap_mbox *mbox, | 56 | static void omap2_mbox_enable_irq(struct omap_mbox *mbox, |
74 | omap_mbox_type_t irq); | 57 | omap_mbox_type_t irq); |
75 | 58 | ||
76 | static inline unsigned int mbox_read_reg(unsigned int reg) | 59 | static inline unsigned int mbox_read_reg(size_t ofs) |
77 | { | 60 | { |
78 | return __raw_readl(mbox_base + reg); | 61 | return __raw_readl(mbox_base + ofs); |
79 | } | 62 | } |
80 | 63 | ||
81 | static inline void mbox_write_reg(unsigned int val, unsigned int reg) | 64 | static inline void mbox_write_reg(u32 val, size_t ofs) |
82 | { | 65 | { |
83 | __raw_writel(val, mbox_base + reg); | 66 | __raw_writel(val, mbox_base + ofs); |
84 | } | 67 | } |
85 | 68 | ||
86 | /* Mailbox H/W preparations */ | 69 | /* Mailbox H/W preparations */ |
@@ -95,6 +78,9 @@ static int omap2_mbox_startup(struct omap_mbox *mbox) | |||
95 | } | 78 | } |
96 | clk_enable(mbox_ick_handle); | 79 | clk_enable(mbox_ick_handle); |
97 | 80 | ||
81 | l = mbox_read_reg(MAILBOX_REVISION); | ||
82 | pr_info("omap mailbox rev %d.%d\n", (l & 0xf0) >> 4, (l & 0x0f)); | ||
83 | |||
98 | /* set smart-idle & autoidle */ | 84 | /* set smart-idle & autoidle */ |
99 | l = mbox_read_reg(MAILBOX_SYSCONFIG); | 85 | l = mbox_read_reg(MAILBOX_SYSCONFIG); |
100 | l |= 0x00000011; | 86 | l |= 0x00000011; |
@@ -183,6 +169,32 @@ static int omap2_mbox_is_irq(struct omap_mbox *mbox, | |||
183 | return (enable & status & bit); | 169 | return (enable & status & bit); |
184 | } | 170 | } |
185 | 171 | ||
172 | static void omap2_mbox_save_ctx(struct omap_mbox *mbox) | ||
173 | { | ||
174 | int i; | ||
175 | struct omap_mbox2_priv *p = mbox->priv; | ||
176 | |||
177 | for (i = 0; i < MBOX_NR_REGS; i++) { | ||
178 | p->ctx[i] = mbox_read_reg(i * sizeof(u32)); | ||
179 | |||
180 | dev_dbg(mbox->dev, "%s: [%02x] %08x\n", __func__, | ||
181 | i, p->ctx[i]); | ||
182 | } | ||
183 | } | ||
184 | |||
185 | static void omap2_mbox_restore_ctx(struct omap_mbox *mbox) | ||
186 | { | ||
187 | int i; | ||
188 | struct omap_mbox2_priv *p = mbox->priv; | ||
189 | |||
190 | for (i = 0; i < MBOX_NR_REGS; i++) { | ||
191 | mbox_write_reg(p->ctx[i], i * sizeof(u32)); | ||
192 | |||
193 | dev_dbg(mbox->dev, "%s: [%02x] %08x\n", __func__, | ||
194 | i, p->ctx[i]); | ||
195 | } | ||
196 | } | ||
197 | |||
186 | static struct omap_mbox_ops omap2_mbox_ops = { | 198 | static struct omap_mbox_ops omap2_mbox_ops = { |
187 | .type = OMAP_MBOX_TYPE2, | 199 | .type = OMAP_MBOX_TYPE2, |
188 | .startup = omap2_mbox_startup, | 200 | .startup = omap2_mbox_startup, |
@@ -195,6 +207,8 @@ static struct omap_mbox_ops omap2_mbox_ops = { | |||
195 | .disable_irq = omap2_mbox_disable_irq, | 207 | .disable_irq = omap2_mbox_disable_irq, |
196 | .ack_irq = omap2_mbox_ack_irq, | 208 | .ack_irq = omap2_mbox_ack_irq, |
197 | .is_irq = omap2_mbox_is_irq, | 209 | .is_irq = omap2_mbox_is_irq, |
210 | .save_ctx = omap2_mbox_save_ctx, | ||
211 | .restore_ctx = omap2_mbox_restore_ctx, | ||
198 | }; | 212 | }; |
199 | 213 | ||
200 | /* | 214 | /* |
@@ -209,15 +223,15 @@ static struct omap_mbox_ops omap2_mbox_ops = { | |||
209 | /* DSP */ | 223 | /* DSP */ |
210 | static struct omap_mbox2_priv omap2_mbox_dsp_priv = { | 224 | static struct omap_mbox2_priv omap2_mbox_dsp_priv = { |
211 | .tx_fifo = { | 225 | .tx_fifo = { |
212 | .msg = MAILBOX_MESSAGE_0, | 226 | .msg = MAILBOX_MESSAGE(0), |
213 | .fifo_stat = MAILBOX_FIFOSTATUS_0, | 227 | .fifo_stat = MAILBOX_FIFOSTATUS(0), |
214 | }, | 228 | }, |
215 | .rx_fifo = { | 229 | .rx_fifo = { |
216 | .msg = MAILBOX_MESSAGE_1, | 230 | .msg = MAILBOX_MESSAGE(1), |
217 | .msg_stat = MAILBOX_MSGSTATUS_1, | 231 | .msg_stat = MAILBOX_MSGSTATUS(1), |
218 | }, | 232 | }, |
219 | .irqenable = MAILBOX_IRQENABLE_0, | 233 | .irqenable = MAILBOX_IRQENABLE(0), |
220 | .irqstatus = MAILBOX_IRQSTATUS_0, | 234 | .irqstatus = MAILBOX_IRQSTATUS(0), |
221 | .notfull_bit = MAILBOX_IRQ_NOTFULL(0), | 235 | .notfull_bit = MAILBOX_IRQ_NOTFULL(0), |
222 | .newmsg_bit = MAILBOX_IRQ_NEWMSG(1), | 236 | .newmsg_bit = MAILBOX_IRQ_NEWMSG(1), |
223 | }; | 237 | }; |
@@ -229,18 +243,18 @@ struct omap_mbox mbox_dsp_info = { | |||
229 | }; | 243 | }; |
230 | EXPORT_SYMBOL(mbox_dsp_info); | 244 | EXPORT_SYMBOL(mbox_dsp_info); |
231 | 245 | ||
232 | /* IVA */ | 246 | #if defined(CONFIG_ARCH_OMAP2420) /* IVA */ |
233 | static struct omap_mbox2_priv omap2_mbox_iva_priv = { | 247 | static struct omap_mbox2_priv omap2_mbox_iva_priv = { |
234 | .tx_fifo = { | 248 | .tx_fifo = { |
235 | .msg = MAILBOX_MESSAGE_2, | 249 | .msg = MAILBOX_MESSAGE(2), |
236 | .fifo_stat = MAILBOX_FIFOSTATUS_2, | 250 | .fifo_stat = MAILBOX_FIFOSTATUS(2), |
237 | }, | 251 | }, |
238 | .rx_fifo = { | 252 | .rx_fifo = { |
239 | .msg = MAILBOX_MESSAGE_3, | 253 | .msg = MAILBOX_MESSAGE(3), |
240 | .msg_stat = MAILBOX_MSGSTATUS_3, | 254 | .msg_stat = MAILBOX_MSGSTATUS(3), |
241 | }, | 255 | }, |
242 | .irqenable = MAILBOX_IRQENABLE_3, | 256 | .irqenable = MAILBOX_IRQENABLE(3), |
243 | .irqstatus = MAILBOX_IRQSTATUS_3, | 257 | .irqstatus = MAILBOX_IRQSTATUS(3), |
244 | .notfull_bit = MAILBOX_IRQ_NOTFULL(2), | 258 | .notfull_bit = MAILBOX_IRQ_NOTFULL(2), |
245 | .newmsg_bit = MAILBOX_IRQ_NEWMSG(3), | 259 | .newmsg_bit = MAILBOX_IRQ_NEWMSG(3), |
246 | }; | 260 | }; |
@@ -250,17 +264,12 @@ static struct omap_mbox mbox_iva_info = { | |||
250 | .ops = &omap2_mbox_ops, | 264 | .ops = &omap2_mbox_ops, |
251 | .priv = &omap2_mbox_iva_priv, | 265 | .priv = &omap2_mbox_iva_priv, |
252 | }; | 266 | }; |
267 | #endif | ||
253 | 268 | ||
254 | static int __init omap2_mbox_probe(struct platform_device *pdev) | 269 | static int __devinit omap2_mbox_probe(struct platform_device *pdev) |
255 | { | 270 | { |
256 | struct resource *res; | 271 | struct resource *res; |
257 | int ret = 0; | 272 | int ret; |
258 | |||
259 | if (pdev->num_resources != 3) { | ||
260 | dev_err(&pdev->dev, "invalid number of resources: %d\n", | ||
261 | pdev->num_resources); | ||
262 | return -ENODEV; | ||
263 | } | ||
264 | 273 | ||
265 | /* MBOX base */ | 274 | /* MBOX base */ |
266 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); | 275 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
@@ -268,42 +277,61 @@ static int __init omap2_mbox_probe(struct platform_device *pdev) | |||
268 | dev_err(&pdev->dev, "invalid mem resource\n"); | 277 | dev_err(&pdev->dev, "invalid mem resource\n"); |
269 | return -ENODEV; | 278 | return -ENODEV; |
270 | } | 279 | } |
271 | mbox_base = res->start; | 280 | mbox_base = ioremap(res->start, res->end - res->start); |
281 | if (!mbox_base) | ||
282 | return -ENOMEM; | ||
272 | 283 | ||
273 | /* DSP IRQ */ | 284 | /* DSP or IVA2 IRQ */ |
274 | res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); | 285 | mbox_dsp_info.irq = platform_get_irq(pdev, 0); |
275 | if (unlikely(!res)) { | 286 | if (mbox_dsp_info.irq < 0) { |
276 | dev_err(&pdev->dev, "invalid irq resource\n"); | 287 | dev_err(&pdev->dev, "invalid irq resource\n"); |
277 | return -ENODEV; | 288 | ret = -ENODEV; |
289 | goto err_dsp; | ||
278 | } | 290 | } |
279 | mbox_dsp_info.irq = res->start; | ||
280 | 291 | ||
281 | ret = omap_mbox_register(&mbox_dsp_info); | 292 | ret = omap_mbox_register(&pdev->dev, &mbox_dsp_info); |
282 | 293 | if (ret) | |
283 | /* IVA IRQ */ | 294 | goto err_dsp; |
284 | res = platform_get_resource(pdev, IORESOURCE_IRQ, 1); | 295 | |
285 | if (unlikely(!res)) { | 296 | #if defined(CONFIG_ARCH_OMAP2420) /* IVA */ |
286 | dev_err(&pdev->dev, "invalid irq resource\n"); | 297 | if (cpu_is_omap2420()) { |
287 | return -ENODEV; | 298 | /* IVA IRQ */ |
299 | res = platform_get_resource(pdev, IORESOURCE_IRQ, 1); | ||
300 | if (unlikely(!res)) { | ||
301 | dev_err(&pdev->dev, "invalid irq resource\n"); | ||
302 | ret = -ENODEV; | ||
303 | goto err_iva1; | ||
304 | } | ||
305 | mbox_iva_info.irq = res->start; | ||
306 | ret = omap_mbox_register(&pdev->dev, &mbox_iva_info); | ||
307 | if (ret) | ||
308 | goto err_iva1; | ||
288 | } | 309 | } |
289 | mbox_iva_info.irq = res->start; | 310 | #endif |
290 | 311 | return 0; | |
291 | ret = omap_mbox_register(&mbox_iva_info); | ||
292 | 312 | ||
313 | err_iva1: | ||
314 | omap_mbox_unregister(&mbox_dsp_info); | ||
315 | err_dsp: | ||
316 | iounmap(mbox_base); | ||
293 | return ret; | 317 | return ret; |
294 | } | 318 | } |
295 | 319 | ||
296 | static int omap2_mbox_remove(struct platform_device *pdev) | 320 | static int __devexit omap2_mbox_remove(struct platform_device *pdev) |
297 | { | 321 | { |
322 | #if defined(CONFIG_ARCH_OMAP2420) | ||
323 | omap_mbox_unregister(&mbox_iva_info); | ||
324 | #endif | ||
298 | omap_mbox_unregister(&mbox_dsp_info); | 325 | omap_mbox_unregister(&mbox_dsp_info); |
326 | iounmap(mbox_base); | ||
299 | return 0; | 327 | return 0; |
300 | } | 328 | } |
301 | 329 | ||
302 | static struct platform_driver omap2_mbox_driver = { | 330 | static struct platform_driver omap2_mbox_driver = { |
303 | .probe = omap2_mbox_probe, | 331 | .probe = omap2_mbox_probe, |
304 | .remove = omap2_mbox_remove, | 332 | .remove = __devexit_p(omap2_mbox_remove), |
305 | .driver = { | 333 | .driver = { |
306 | .name = "mailbox", | 334 | .name = "omap2-mailbox", |
307 | }, | 335 | }, |
308 | }; | 336 | }; |
309 | 337 | ||
@@ -320,4 +348,7 @@ static void __exit omap2_mbox_exit(void) | |||
320 | module_init(omap2_mbox_init); | 348 | module_init(omap2_mbox_init); |
321 | module_exit(omap2_mbox_exit); | 349 | module_exit(omap2_mbox_exit); |
322 | 350 | ||
323 | MODULE_LICENSE("GPL"); | 351 | MODULE_LICENSE("GPL v2"); |
352 | MODULE_DESCRIPTION("omap mailbox: omap2/3 architecture specific functions"); | ||
353 | MODULE_AUTHOR("Hiroshi DOYU <Hiroshi.DOYU@nokia.com>, Paul Mundt"); | ||
354 | MODULE_ALIAS("platform:omap2-mailbox"); | ||
diff --git a/arch/arm/mach-omap2/mmc-twl4030.c b/arch/arm/mach-omap2/mmc-twl4030.c index 437f52073f6e..dc40b3e72206 100644 --- a/arch/arm/mach-omap2/mmc-twl4030.c +++ b/arch/arm/mach-omap2/mmc-twl4030.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/delay.h> | 17 | #include <linux/delay.h> |
18 | #include <linux/gpio.h> | 18 | #include <linux/gpio.h> |
19 | #include <linux/i2c/twl4030.h> | 19 | #include <linux/i2c/twl4030.h> |
20 | #include <linux/regulator/machine.h> | ||
20 | 21 | ||
21 | #include <mach/hardware.h> | 22 | #include <mach/hardware.h> |
22 | #include <mach/control.h> | 23 | #include <mach/control.h> |
@@ -44,6 +45,7 @@ | |||
44 | #define VMMC2_315V 0x0c | 45 | #define VMMC2_315V 0x0c |
45 | #define VMMC2_300V 0x0b | 46 | #define VMMC2_300V 0x0b |
46 | #define VMMC2_285V 0x0a | 47 | #define VMMC2_285V 0x0a |
48 | #define VMMC2_280V 0x09 | ||
47 | #define VMMC2_260V 0x08 | 49 | #define VMMC2_260V 0x08 |
48 | #define VMMC2_185V 0x06 | 50 | #define VMMC2_185V 0x06 |
49 | #define VMMC2_DEDICATED 0x2E | 51 | #define VMMC2_DEDICATED 0x2E |
@@ -59,8 +61,8 @@ static struct twl_mmc_controller { | |||
59 | struct omap_mmc_platform_data *mmc; | 61 | struct omap_mmc_platform_data *mmc; |
60 | u8 twl_vmmc_dev_grp; | 62 | u8 twl_vmmc_dev_grp; |
61 | u8 twl_mmc_dedicated; | 63 | u8 twl_mmc_dedicated; |
62 | char name[HSMMC_NAME_LEN]; | 64 | char name[HSMMC_NAME_LEN + 1]; |
63 | } hsmmc[] = { | 65 | } hsmmc[OMAP34XX_NR_MMC] = { |
64 | { | 66 | { |
65 | .twl_vmmc_dev_grp = VMMC1_DEV_GRP, | 67 | .twl_vmmc_dev_grp = VMMC1_DEV_GRP, |
66 | .twl_mmc_dedicated = VMMC1_DEDICATED, | 68 | .twl_mmc_dedicated = VMMC1_DEDICATED, |
@@ -98,6 +100,14 @@ static int twl_mmc_get_ro(struct device *dev, int slot) | |||
98 | return gpio_get_value_cansleep(mmc->slots[0].gpio_wp); | 100 | return gpio_get_value_cansleep(mmc->slots[0].gpio_wp); |
99 | } | 101 | } |
100 | 102 | ||
103 | static int twl_mmc_get_cover_state(struct device *dev, int slot) | ||
104 | { | ||
105 | struct omap_mmc_platform_data *mmc = dev->platform_data; | ||
106 | |||
107 | /* NOTE: assumes card detect signal is active-low */ | ||
108 | return !gpio_get_value_cansleep(mmc->slots[0].switch_pin); | ||
109 | } | ||
110 | |||
101 | /* | 111 | /* |
102 | * MMC Slot Initialization. | 112 | * MMC Slot Initialization. |
103 | */ | 113 | */ |
@@ -166,66 +176,85 @@ static int twl_mmc_resume(struct device *dev, int slot) | |||
166 | /* | 176 | /* |
167 | * Sets the MMC voltage in twl4030 | 177 | * Sets the MMC voltage in twl4030 |
168 | */ | 178 | */ |
179 | |||
180 | #define MMC1_OCR (MMC_VDD_165_195 \ | ||
181 | |MMC_VDD_28_29|MMC_VDD_29_30|MMC_VDD_30_31|MMC_VDD_31_32) | ||
182 | #define MMC2_OCR (MMC_VDD_165_195 \ | ||
183 | |MMC_VDD_25_26|MMC_VDD_26_27|MMC_VDD_27_28 \ | ||
184 | |MMC_VDD_28_29|MMC_VDD_29_30|MMC_VDD_30_31|MMC_VDD_31_32) | ||
185 | |||
169 | static int twl_mmc_set_voltage(struct twl_mmc_controller *c, int vdd) | 186 | static int twl_mmc_set_voltage(struct twl_mmc_controller *c, int vdd) |
170 | { | 187 | { |
171 | int ret; | 188 | int ret; |
172 | u8 vmmc, dev_grp_val; | 189 | u8 vmmc = 0, dev_grp_val; |
173 | 190 | ||
174 | switch (1 << vdd) { | 191 | if (!vdd) |
175 | case MMC_VDD_35_36: | 192 | goto doit; |
176 | case MMC_VDD_34_35: | 193 | |
177 | case MMC_VDD_33_34: | 194 | if (c->twl_vmmc_dev_grp == VMMC1_DEV_GRP) { |
178 | case MMC_VDD_32_33: | 195 | /* VMMC1: max 220 mA. And for 8-bit mode, |
179 | case MMC_VDD_31_32: | 196 | * VSIM: max 50 mA |
180 | case MMC_VDD_30_31: | 197 | */ |
181 | if (c->twl_vmmc_dev_grp == VMMC1_DEV_GRP) | 198 | switch (1 << vdd) { |
182 | vmmc = VMMC1_315V; | 199 | case MMC_VDD_165_195: |
183 | else | ||
184 | vmmc = VMMC2_315V; | ||
185 | break; | ||
186 | case MMC_VDD_29_30: | ||
187 | if (c->twl_vmmc_dev_grp == VMMC1_DEV_GRP) | ||
188 | vmmc = VMMC1_315V; | ||
189 | else | ||
190 | vmmc = VMMC2_300V; | ||
191 | break; | ||
192 | case MMC_VDD_27_28: | ||
193 | case MMC_VDD_26_27: | ||
194 | if (c->twl_vmmc_dev_grp == VMMC1_DEV_GRP) | ||
195 | vmmc = VMMC1_285V; | ||
196 | else | ||
197 | vmmc = VMMC2_285V; | ||
198 | break; | ||
199 | case MMC_VDD_25_26: | ||
200 | case MMC_VDD_24_25: | ||
201 | case MMC_VDD_23_24: | ||
202 | case MMC_VDD_22_23: | ||
203 | case MMC_VDD_21_22: | ||
204 | case MMC_VDD_20_21: | ||
205 | if (c->twl_vmmc_dev_grp == VMMC1_DEV_GRP) | ||
206 | vmmc = VMMC1_285V; | ||
207 | else | ||
208 | vmmc = VMMC2_260V; | ||
209 | break; | ||
210 | case MMC_VDD_165_195: | ||
211 | if (c->twl_vmmc_dev_grp == VMMC1_DEV_GRP) | ||
212 | vmmc = VMMC1_185V; | 200 | vmmc = VMMC1_185V; |
213 | else | 201 | /* and VSIM_180V */ |
202 | break; | ||
203 | case MMC_VDD_28_29: | ||
204 | vmmc = VMMC1_285V; | ||
205 | /* and VSIM_280V */ | ||
206 | break; | ||
207 | case MMC_VDD_29_30: | ||
208 | case MMC_VDD_30_31: | ||
209 | vmmc = VMMC1_300V; | ||
210 | /* and VSIM_300V */ | ||
211 | break; | ||
212 | case MMC_VDD_31_32: | ||
213 | vmmc = VMMC1_315V; | ||
214 | /* error if VSIM needed */ | ||
215 | break; | ||
216 | default: | ||
217 | return -EINVAL; | ||
218 | } | ||
219 | } else if (c->twl_vmmc_dev_grp == VMMC2_DEV_GRP) { | ||
220 | /* VMMC2: max 100 mA */ | ||
221 | switch (1 << vdd) { | ||
222 | case MMC_VDD_165_195: | ||
214 | vmmc = VMMC2_185V; | 223 | vmmc = VMMC2_185V; |
215 | break; | 224 | break; |
216 | default: | 225 | case MMC_VDD_25_26: |
217 | vmmc = 0; | 226 | case MMC_VDD_26_27: |
218 | break; | 227 | vmmc = VMMC2_260V; |
228 | break; | ||
229 | case MMC_VDD_27_28: | ||
230 | vmmc = VMMC2_280V; | ||
231 | break; | ||
232 | case MMC_VDD_28_29: | ||
233 | vmmc = VMMC2_285V; | ||
234 | break; | ||
235 | case MMC_VDD_29_30: | ||
236 | case MMC_VDD_30_31: | ||
237 | vmmc = VMMC2_300V; | ||
238 | break; | ||
239 | case MMC_VDD_31_32: | ||
240 | vmmc = VMMC2_315V; | ||
241 | break; | ||
242 | default: | ||
243 | return -EINVAL; | ||
244 | } | ||
245 | } else { | ||
246 | return -EINVAL; | ||
219 | } | 247 | } |
220 | 248 | ||
221 | if (vmmc) | 249 | doit: |
250 | if (vdd) | ||
222 | dev_grp_val = VMMC_DEV_GRP_P1; /* Power up */ | 251 | dev_grp_val = VMMC_DEV_GRP_P1; /* Power up */ |
223 | else | 252 | else |
224 | dev_grp_val = LDO_CLR; /* Power down */ | 253 | dev_grp_val = LDO_CLR; /* Power down */ |
225 | 254 | ||
226 | ret = twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, | 255 | ret = twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, |
227 | dev_grp_val, c->twl_vmmc_dev_grp); | 256 | dev_grp_val, c->twl_vmmc_dev_grp); |
228 | if (ret) | 257 | if (ret || !vdd) |
229 | return ret; | 258 | return ret; |
230 | 259 | ||
231 | ret = twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, | 260 | ret = twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, |
@@ -242,6 +271,14 @@ static int twl_mmc1_set_power(struct device *dev, int slot, int power_on, | |||
242 | struct twl_mmc_controller *c = &hsmmc[0]; | 271 | struct twl_mmc_controller *c = &hsmmc[0]; |
243 | struct omap_mmc_platform_data *mmc = dev->platform_data; | 272 | struct omap_mmc_platform_data *mmc = dev->platform_data; |
244 | 273 | ||
274 | /* | ||
275 | * Assume we power both OMAP VMMC1 (for CMD, CLK, DAT0..3) and the | ||
276 | * card using the same TWL VMMC1 supply (hsmmc[0]); OMAP has both | ||
277 | * 1.8V and 3.0V modes, controlled by the PBIAS register. | ||
278 | * | ||
279 | * In 8-bit modes, OMAP VMMC1A (for DAT4..7) needs a supply, which | ||
280 | * is most naturally TWL VSIM; those pins also use PBIAS. | ||
281 | */ | ||
245 | if (power_on) { | 282 | if (power_on) { |
246 | if (cpu_is_omap2430()) { | 283 | if (cpu_is_omap2430()) { |
247 | reg = omap_ctrl_readl(OMAP243X_CONTROL_DEVCONF1); | 284 | reg = omap_ctrl_readl(OMAP243X_CONTROL_DEVCONF1); |
@@ -298,6 +335,12 @@ static int twl_mmc2_set_power(struct device *dev, int slot, int power_on, int vd | |||
298 | struct twl_mmc_controller *c = &hsmmc[1]; | 335 | struct twl_mmc_controller *c = &hsmmc[1]; |
299 | struct omap_mmc_platform_data *mmc = dev->platform_data; | 336 | struct omap_mmc_platform_data *mmc = dev->platform_data; |
300 | 337 | ||
338 | /* | ||
339 | * Assume TWL VMMC2 (hsmmc[1]) is used only to power the card ... OMAP | ||
340 | * VDDS is used to power the pins, optionally with a transceiver to | ||
341 | * support cards using voltages other than VDDS (1.8V nominal). When a | ||
342 | * transceiver is used, DAT3..7 are muxed as transceiver control pins. | ||
343 | */ | ||
301 | if (power_on) { | 344 | if (power_on) { |
302 | if (mmc->slots[0].internal_clock) { | 345 | if (mmc->slots[0].internal_clock) { |
303 | u32 reg; | 346 | u32 reg; |
@@ -314,6 +357,16 @@ static int twl_mmc2_set_power(struct device *dev, int slot, int power_on, int vd | |||
314 | return ret; | 357 | return ret; |
315 | } | 358 | } |
316 | 359 | ||
360 | static int twl_mmc3_set_power(struct device *dev, int slot, int power_on, | ||
361 | int vdd) | ||
362 | { | ||
363 | /* | ||
364 | * Assume MMC3 has self-powered device connected, for example on-board | ||
365 | * chip with external power source. | ||
366 | */ | ||
367 | return 0; | ||
368 | } | ||
369 | |||
317 | static struct omap_mmc_platform_data *hsmmc_data[OMAP34XX_NR_MMC] __initdata; | 370 | static struct omap_mmc_platform_data *hsmmc_data[OMAP34XX_NR_MMC] __initdata; |
318 | 371 | ||
319 | void __init twl4030_mmc_init(struct twl4030_hsmmc_info *controllers) | 372 | void __init twl4030_mmc_init(struct twl4030_hsmmc_info *controllers) |
@@ -349,13 +402,13 @@ void __init twl4030_mmc_init(struct twl4030_hsmmc_info *controllers) | |||
349 | return; | 402 | return; |
350 | } | 403 | } |
351 | 404 | ||
352 | sprintf(twl->name, "mmc%islot%i", c->mmc, 1); | 405 | if (c->name) |
406 | strncpy(twl->name, c->name, HSMMC_NAME_LEN); | ||
407 | else | ||
408 | snprintf(twl->name, ARRAY_SIZE(twl->name), | ||
409 | "mmc%islot%i", c->mmc, 1); | ||
353 | mmc->slots[0].name = twl->name; | 410 | mmc->slots[0].name = twl->name; |
354 | mmc->nr_slots = 1; | 411 | mmc->nr_slots = 1; |
355 | mmc->slots[0].ocr_mask = MMC_VDD_165_195 | | ||
356 | MMC_VDD_26_27 | MMC_VDD_27_28 | | ||
357 | MMC_VDD_29_30 | | ||
358 | MMC_VDD_30_31 | MMC_VDD_31_32; | ||
359 | mmc->slots[0].wires = c->wires; | 412 | mmc->slots[0].wires = c->wires; |
360 | mmc->slots[0].internal_clock = !c->ext_clock; | 413 | mmc->slots[0].internal_clock = !c->ext_clock; |
361 | mmc->dma_mask = 0xffffffff; | 414 | mmc->dma_mask = 0xffffffff; |
@@ -369,7 +422,10 @@ void __init twl4030_mmc_init(struct twl4030_hsmmc_info *controllers) | |||
369 | 422 | ||
370 | mmc->slots[0].switch_pin = c->gpio_cd; | 423 | mmc->slots[0].switch_pin = c->gpio_cd; |
371 | mmc->slots[0].card_detect_irq = gpio_to_irq(c->gpio_cd); | 424 | mmc->slots[0].card_detect_irq = gpio_to_irq(c->gpio_cd); |
372 | mmc->slots[0].card_detect = twl_mmc_card_detect; | 425 | if (c->cover_only) |
426 | mmc->slots[0].get_cover_state = twl_mmc_get_cover_state; | ||
427 | else | ||
428 | mmc->slots[0].card_detect = twl_mmc_card_detect; | ||
373 | } else | 429 | } else |
374 | mmc->slots[0].switch_pin = -EINVAL; | 430 | mmc->slots[0].switch_pin = -EINVAL; |
375 | 431 | ||
@@ -385,24 +441,43 @@ void __init twl4030_mmc_init(struct twl4030_hsmmc_info *controllers) | |||
385 | 441 | ||
386 | /* NOTE: we assume OMAP's MMC1 and MMC2 use | 442 | /* NOTE: we assume OMAP's MMC1 and MMC2 use |
387 | * the TWL4030's VMMC1 and VMMC2, respectively; | 443 | * the TWL4030's VMMC1 and VMMC2, respectively; |
388 | * and that OMAP's MMC3 isn't used. | 444 | * and that MMC3 device has it's own power source. |
389 | */ | 445 | */ |
390 | 446 | ||
391 | switch (c->mmc) { | 447 | switch (c->mmc) { |
392 | case 1: | 448 | case 1: |
393 | mmc->slots[0].set_power = twl_mmc1_set_power; | 449 | mmc->slots[0].set_power = twl_mmc1_set_power; |
450 | mmc->slots[0].ocr_mask = MMC1_OCR; | ||
394 | break; | 451 | break; |
395 | case 2: | 452 | case 2: |
396 | mmc->slots[0].set_power = twl_mmc2_set_power; | 453 | mmc->slots[0].set_power = twl_mmc2_set_power; |
454 | if (c->transceiver) | ||
455 | mmc->slots[0].ocr_mask = MMC2_OCR; | ||
456 | else | ||
457 | mmc->slots[0].ocr_mask = MMC_VDD_165_195; | ||
458 | break; | ||
459 | case 3: | ||
460 | mmc->slots[0].set_power = twl_mmc3_set_power; | ||
461 | mmc->slots[0].ocr_mask = MMC_VDD_165_195; | ||
397 | break; | 462 | break; |
398 | default: | 463 | default: |
399 | pr_err("MMC%d configuration not supported!\n", c->mmc); | 464 | pr_err("MMC%d configuration not supported!\n", c->mmc); |
465 | kfree(mmc); | ||
400 | continue; | 466 | continue; |
401 | } | 467 | } |
402 | hsmmc_data[c->mmc - 1] = mmc; | 468 | hsmmc_data[c->mmc - 1] = mmc; |
403 | } | 469 | } |
404 | 470 | ||
405 | omap2_init_mmc(hsmmc_data, OMAP34XX_NR_MMC); | 471 | omap2_init_mmc(hsmmc_data, OMAP34XX_NR_MMC); |
472 | |||
473 | /* pass the device nodes back to board setup code */ | ||
474 | for (c = controllers; c->mmc; c++) { | ||
475 | struct omap_mmc_platform_data *mmc = hsmmc_data[c->mmc - 1]; | ||
476 | |||
477 | if (!c->mmc || c->mmc > nr_hsmmc) | ||
478 | continue; | ||
479 | c->dev = mmc->dev; | ||
480 | } | ||
406 | } | 481 | } |
407 | 482 | ||
408 | #endif | 483 | #endif |
diff --git a/arch/arm/mach-omap2/mmc-twl4030.h b/arch/arm/mach-omap2/mmc-twl4030.h index e1c8076400ca..ea59e8624290 100644 --- a/arch/arm/mach-omap2/mmc-twl4030.h +++ b/arch/arm/mach-omap2/mmc-twl4030.h | |||
@@ -9,9 +9,13 @@ | |||
9 | struct twl4030_hsmmc_info { | 9 | struct twl4030_hsmmc_info { |
10 | u8 mmc; /* controller 1/2/3 */ | 10 | u8 mmc; /* controller 1/2/3 */ |
11 | u8 wires; /* 1/4/8 wires */ | 11 | u8 wires; /* 1/4/8 wires */ |
12 | bool transceiver; /* MMC-2 option */ | ||
13 | bool ext_clock; /* use external pin for input clock */ | ||
14 | bool cover_only; /* No card detect - just cover switch */ | ||
12 | int gpio_cd; /* or -EINVAL */ | 15 | int gpio_cd; /* or -EINVAL */ |
13 | int gpio_wp; /* or -EINVAL */ | 16 | int gpio_wp; /* or -EINVAL */ |
14 | int ext_clock:1; /* use external pin for input clock */ | 17 | char *name; /* or NULL for default */ |
18 | struct device *dev; /* returned: pointer to mmc adapter */ | ||
15 | }; | 19 | }; |
16 | 20 | ||
17 | #if defined(CONFIG_TWL4030_CORE) && \ | 21 | #if defined(CONFIG_TWL4030_CORE) && \ |
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index dacb41f130c0..026c4fc883a7 100644 --- a/arch/arm/mach-omap2/mux.c +++ b/arch/arm/mach-omap2/mux.c | |||
@@ -453,10 +453,37 @@ MUX_CFG_34XX("AC1_3430_USB3FS_PHY_MM3_TXEN_N", 0x18a, | |||
453 | 453 | ||
454 | 454 | ||
455 | /* 34XX GPIO - bidirectional, unless the name has an "_OUT" suffix. | 455 | /* 34XX GPIO - bidirectional, unless the name has an "_OUT" suffix. |
456 | * (Always specify PIN_INPUT, except for names suffixed by "_OUT".) | ||
456 | * No internal pullup/pulldown without "_UP" or "_DOWN" suffix. | 457 | * No internal pullup/pulldown without "_UP" or "_DOWN" suffix. |
457 | */ | 458 | */ |
459 | MUX_CFG_34XX("AF26_34XX_GPIO0", 0x1e0, | ||
460 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) | ||
461 | MUX_CFG_34XX("AF22_34XX_GPIO9", 0xa18, | ||
462 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) | ||
458 | MUX_CFG_34XX("AH8_34XX_GPIO29", 0x5fa, | 463 | MUX_CFG_34XX("AH8_34XX_GPIO29", 0x5fa, |
459 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) | 464 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) |
465 | MUX_CFG_34XX("U8_34XX_GPIO54_OUT", 0x0b4, | ||
466 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) | ||
467 | MUX_CFG_34XX("U8_34XX_GPIO54_DOWN", 0x0b4, | ||
468 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT_PULLDOWN) | ||
469 | MUX_CFG_34XX("L8_34XX_GPIO63", 0x0ce, | ||
470 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) | ||
471 | MUX_CFG_34XX("G25_34XX_GPIO86_OUT", 0x0fc, | ||
472 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) | ||
473 | MUX_CFG_34XX("AG4_34XX_GPIO134_OUT", 0x160, | ||
474 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) | ||
475 | MUX_CFG_34XX("AE4_34XX_GPIO136_OUT", 0x164, | ||
476 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) | ||
477 | MUX_CFG_34XX("AF6_34XX_GPIO140_UP", 0x16c, | ||
478 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT_PULLUP) | ||
479 | MUX_CFG_34XX("AE6_34XX_GPIO141", 0x16e, | ||
480 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) | ||
481 | MUX_CFG_34XX("AF5_34XX_GPIO142", 0x170, | ||
482 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) | ||
483 | MUX_CFG_34XX("AE5_34XX_GPIO143", 0x172, | ||
484 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) | ||
485 | MUX_CFG_34XX("H19_34XX_GPIO164_OUT", 0x19c, | ||
486 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) | ||
460 | MUX_CFG_34XX("J25_34XX_GPIO170", 0x1c6, | 487 | MUX_CFG_34XX("J25_34XX_GPIO170", 0x1c6, |
461 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) | 488 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) |
462 | }; | 489 | }; |
diff --git a/arch/arm/mach-omap2/usb-musb.c b/arch/arm/mach-omap2/usb-musb.c new file mode 100644 index 000000000000..fc74e913c415 --- /dev/null +++ b/arch/arm/mach-omap2/usb-musb.c | |||
@@ -0,0 +1,187 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/mach-omap2/usb-musb.c | ||
3 | * | ||
4 | * This file will contain the board specific details for the | ||
5 | * MENTOR USB OTG controller on OMAP3430 | ||
6 | * | ||
7 | * Copyright (C) 2007-2008 Texas Instruments | ||
8 | * Copyright (C) 2008 Nokia Corporation | ||
9 | * Author: Vikram Pandita | ||
10 | * | ||
11 | * Generalization by: | ||
12 | * Felipe Balbi <felipe.balbi@nokia.com> | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License version 2 as | ||
16 | * published by the Free Software Foundation. | ||
17 | */ | ||
18 | |||
19 | #include <linux/types.h> | ||
20 | #include <linux/errno.h> | ||
21 | #include <linux/delay.h> | ||
22 | #include <linux/platform_device.h> | ||
23 | #include <linux/clk.h> | ||
24 | #include <linux/dma-mapping.h> | ||
25 | #include <linux/io.h> | ||
26 | |||
27 | #include <linux/usb/musb.h> | ||
28 | |||
29 | #include <mach/hardware.h> | ||
30 | #include <mach/irqs.h> | ||
31 | #include <mach/pm.h> | ||
32 | #include <mach/mux.h> | ||
33 | #include <mach/usb.h> | ||
34 | |||
35 | static struct resource musb_resources[] = { | ||
36 | [0] = { /* start and end set dynamically */ | ||
37 | .flags = IORESOURCE_MEM, | ||
38 | }, | ||
39 | [1] = { /* general IRQ */ | ||
40 | .start = INT_243X_HS_USB_MC, | ||
41 | .flags = IORESOURCE_IRQ, | ||
42 | }, | ||
43 | [2] = { /* DMA IRQ */ | ||
44 | .start = INT_243X_HS_USB_DMA, | ||
45 | .flags = IORESOURCE_IRQ, | ||
46 | }, | ||
47 | }; | ||
48 | |||
49 | static int clk_on; | ||
50 | |||
51 | static int musb_set_clock(struct clk *clk, int state) | ||
52 | { | ||
53 | if (state) { | ||
54 | if (clk_on > 0) | ||
55 | return -ENODEV; | ||
56 | |||
57 | clk_enable(clk); | ||
58 | clk_on = 1; | ||
59 | } else { | ||
60 | if (clk_on == 0) | ||
61 | return -ENODEV; | ||
62 | |||
63 | clk_disable(clk); | ||
64 | clk_on = 0; | ||
65 | } | ||
66 | |||
67 | return 0; | ||
68 | } | ||
69 | |||
70 | static struct musb_hdrc_eps_bits musb_eps[] = { | ||
71 | { "ep1_tx", 10, }, | ||
72 | { "ep1_rx", 10, }, | ||
73 | { "ep2_tx", 9, }, | ||
74 | { "ep2_rx", 9, }, | ||
75 | { "ep3_tx", 3, }, | ||
76 | { "ep3_rx", 3, }, | ||
77 | { "ep4_tx", 3, }, | ||
78 | { "ep4_rx", 3, }, | ||
79 | { "ep5_tx", 3, }, | ||
80 | { "ep5_rx", 3, }, | ||
81 | { "ep6_tx", 3, }, | ||
82 | { "ep6_rx", 3, }, | ||
83 | { "ep7_tx", 3, }, | ||
84 | { "ep7_rx", 3, }, | ||
85 | { "ep8_tx", 2, }, | ||
86 | { "ep8_rx", 2, }, | ||
87 | { "ep9_tx", 2, }, | ||
88 | { "ep9_rx", 2, }, | ||
89 | { "ep10_tx", 2, }, | ||
90 | { "ep10_rx", 2, }, | ||
91 | { "ep11_tx", 2, }, | ||
92 | { "ep11_rx", 2, }, | ||
93 | { "ep12_tx", 2, }, | ||
94 | { "ep12_rx", 2, }, | ||
95 | { "ep13_tx", 2, }, | ||
96 | { "ep13_rx", 2, }, | ||
97 | { "ep14_tx", 2, }, | ||
98 | { "ep14_rx", 2, }, | ||
99 | { "ep15_tx", 2, }, | ||
100 | { "ep15_rx", 2, }, | ||
101 | }; | ||
102 | |||
103 | static struct musb_hdrc_config musb_config = { | ||
104 | .multipoint = 1, | ||
105 | .dyn_fifo = 1, | ||
106 | .soft_con = 1, | ||
107 | .dma = 1, | ||
108 | .num_eps = 16, | ||
109 | .dma_channels = 7, | ||
110 | .dma_req_chan = (1 << 0) | (1 << 1) | (1 << 2) | (1 << 3), | ||
111 | .ram_bits = 12, | ||
112 | .eps_bits = musb_eps, | ||
113 | }; | ||
114 | |||
115 | static struct musb_hdrc_platform_data musb_plat = { | ||
116 | #ifdef CONFIG_USB_MUSB_OTG | ||
117 | .mode = MUSB_OTG, | ||
118 | #elif defined(CONFIG_USB_MUSB_HDRC_HCD) | ||
119 | .mode = MUSB_HOST, | ||
120 | #elif defined(CONFIG_USB_GADGET_MUSB_HDRC) | ||
121 | .mode = MUSB_PERIPHERAL, | ||
122 | #endif | ||
123 | /* .clock is set dynamically */ | ||
124 | .set_clock = musb_set_clock, | ||
125 | .config = &musb_config, | ||
126 | |||
127 | /* REVISIT charge pump on TWL4030 can supply up to | ||
128 | * 100 mA ... but this value is board-specific, like | ||
129 | * "mode", and should be passed to usb_musb_init(). | ||
130 | */ | ||
131 | .power = 50, /* up to 100 mA */ | ||
132 | }; | ||
133 | |||
134 | static u64 musb_dmamask = DMA_32BIT_MASK; | ||
135 | |||
136 | static struct platform_device musb_device = { | ||
137 | .name = "musb_hdrc", | ||
138 | .id = -1, | ||
139 | .dev = { | ||
140 | .dma_mask = &musb_dmamask, | ||
141 | .coherent_dma_mask = DMA_32BIT_MASK, | ||
142 | .platform_data = &musb_plat, | ||
143 | }, | ||
144 | .num_resources = ARRAY_SIZE(musb_resources), | ||
145 | .resource = musb_resources, | ||
146 | }; | ||
147 | |||
148 | #ifdef CONFIG_NOP_USB_XCEIV | ||
149 | static u64 nop_xceiv_dmamask = DMA_32BIT_MASK; | ||
150 | |||
151 | static struct platform_device nop_xceiv_device = { | ||
152 | .name = "nop_usb_xceiv", | ||
153 | .id = -1, | ||
154 | .dev = { | ||
155 | .dma_mask = &nop_xceiv_dmamask, | ||
156 | .coherent_dma_mask = DMA_32BIT_MASK, | ||
157 | .platform_data = NULL, | ||
158 | }, | ||
159 | }; | ||
160 | #endif | ||
161 | |||
162 | void __init usb_musb_init(void) | ||
163 | { | ||
164 | if (cpu_is_omap243x()) | ||
165 | musb_resources[0].start = OMAP243X_HS_BASE; | ||
166 | else | ||
167 | musb_resources[0].start = OMAP34XX_HSUSB_OTG_BASE; | ||
168 | musb_resources[0].end = musb_resources[0].start + SZ_8K - 1; | ||
169 | |||
170 | /* | ||
171 | * REVISIT: This line can be removed once all the platforms using | ||
172 | * musb_core.c have been converted to use use clkdev. | ||
173 | */ | ||
174 | musb_plat.clock = "ick"; | ||
175 | |||
176 | #ifdef CONFIG_NOP_USB_XCEIV | ||
177 | if (platform_device_register(&nop_xceiv_device) < 0) { | ||
178 | printk(KERN_ERR "Unable to register NOP-XCEIV device\n"); | ||
179 | return; | ||
180 | } | ||
181 | #endif | ||
182 | |||
183 | if (platform_device_register(&musb_device) < 0) { | ||
184 | printk(KERN_ERR "Unable to register HS-USB (MUSB) device\n"); | ||
185 | return; | ||
186 | } | ||
187 | } | ||
diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig index e25e1ac64fc1..9dd68fafb374 100644 --- a/arch/arm/plat-omap/Kconfig +++ b/arch/arm/plat-omap/Kconfig | |||
@@ -107,6 +107,14 @@ config OMAP_MCBSP | |||
107 | Say Y here if you want support for the OMAP Multichannel | 107 | Say Y here if you want support for the OMAP Multichannel |
108 | Buffered Serial Port. | 108 | Buffered Serial Port. |
109 | 109 | ||
110 | config OMAP_MBOX_FWK | ||
111 | tristate "Mailbox framework support" | ||
112 | depends on ARCH_OMAP | ||
113 | default n | ||
114 | help | ||
115 | Say Y here if you want to use OMAP Mailbox framework support for | ||
116 | DSP, IVA1.0 and IVA2 in OMAP1/2/3. | ||
117 | |||
110 | choice | 118 | choice |
111 | prompt "System timer" | 119 | prompt "System timer" |
112 | default OMAP_MPU_TIMER | 120 | default OMAP_MPU_TIMER |
diff --git a/arch/arm/plat-omap/devices.c b/arch/arm/plat-omap/devices.c index 208dbb121f47..87fb7ff41794 100644 --- a/arch/arm/plat-omap/devices.c +++ b/arch/arm/plat-omap/devices.c | |||
@@ -228,6 +228,9 @@ int __init omap_mmc_add(const char *name, int id, unsigned long base, | |||
228 | ret = platform_device_add(pdev); | 228 | ret = platform_device_add(pdev); |
229 | if (ret) | 229 | if (ret) |
230 | goto fail; | 230 | goto fail; |
231 | |||
232 | /* return device handle to board setup code */ | ||
233 | data->dev = &pdev->dev; | ||
231 | return 0; | 234 | return 0; |
232 | 235 | ||
233 | fail: | 236 | fail: |
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index 47ec77af4ccb..21cc0142b97a 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c | |||
@@ -123,6 +123,7 @@ static struct dma_link_info *dma_linked_lch; | |||
123 | 123 | ||
124 | static int dma_lch_count; | 124 | static int dma_lch_count; |
125 | static int dma_chan_count; | 125 | static int dma_chan_count; |
126 | static int omap_dma_reserve_channels; | ||
126 | 127 | ||
127 | static spinlock_t dma_chan_lock; | 128 | static spinlock_t dma_chan_lock; |
128 | static struct omap_dma_lch *dma_chan; | 129 | static struct omap_dma_lch *dma_chan; |
@@ -737,7 +738,7 @@ int omap_request_dma(int dev_id, const char *dev_name, | |||
737 | * id. | 738 | * id. |
738 | */ | 739 | */ |
739 | dma_write(dev_id | (1 << 10), CCR(free_ch)); | 740 | dma_write(dev_id | (1 << 10), CCR(free_ch)); |
740 | } else if (cpu_is_omap730() || cpu_is_omap15xx()) { | 741 | } else if (cpu_is_omap7xx() || cpu_is_omap15xx()) { |
741 | dma_write(dev_id, CCR(free_ch)); | 742 | dma_write(dev_id, CCR(free_ch)); |
742 | } | 743 | } |
743 | 744 | ||
@@ -1900,7 +1901,7 @@ static int omap2_dma_handle_ch(int ch) | |||
1900 | /* STATUS register count is from 1-32 while our is 0-31 */ | 1901 | /* STATUS register count is from 1-32 while our is 0-31 */ |
1901 | static irqreturn_t omap2_dma_irq_handler(int irq, void *dev_id) | 1902 | static irqreturn_t omap2_dma_irq_handler(int irq, void *dev_id) |
1902 | { | 1903 | { |
1903 | u32 val; | 1904 | u32 val, enable_reg; |
1904 | int i; | 1905 | int i; |
1905 | 1906 | ||
1906 | val = dma_read(IRQSTATUS_L0); | 1907 | val = dma_read(IRQSTATUS_L0); |
@@ -1909,6 +1910,8 @@ static irqreturn_t omap2_dma_irq_handler(int irq, void *dev_id) | |||
1909 | printk(KERN_WARNING "Spurious DMA IRQ\n"); | 1910 | printk(KERN_WARNING "Spurious DMA IRQ\n"); |
1910 | return IRQ_HANDLED; | 1911 | return IRQ_HANDLED; |
1911 | } | 1912 | } |
1913 | enable_reg = dma_read(IRQENABLE_L0); | ||
1914 | val &= enable_reg; /* Dispatch only relevant interrupts */ | ||
1912 | for (i = 0; i < dma_lch_count && val != 0; i++) { | 1915 | for (i = 0; i < dma_lch_count && val != 0; i++) { |
1913 | if (val & 1) | 1916 | if (val & 1) |
1914 | omap2_dma_handle_ch(i); | 1917 | omap2_dma_handle_ch(i); |
@@ -2321,6 +2324,10 @@ static int __init omap_init_dma(void) | |||
2321 | return -ENODEV; | 2324 | return -ENODEV; |
2322 | } | 2325 | } |
2323 | 2326 | ||
2327 | if (cpu_class_is_omap2() && omap_dma_reserve_channels | ||
2328 | && (omap_dma_reserve_channels <= dma_lch_count)) | ||
2329 | dma_lch_count = omap_dma_reserve_channels; | ||
2330 | |||
2324 | dma_chan = kzalloc(sizeof(struct omap_dma_lch) * dma_lch_count, | 2331 | dma_chan = kzalloc(sizeof(struct omap_dma_lch) * dma_lch_count, |
2325 | GFP_KERNEL); | 2332 | GFP_KERNEL); |
2326 | if (!dma_chan) | 2333 | if (!dma_chan) |
@@ -2339,7 +2346,7 @@ static int __init omap_init_dma(void) | |||
2339 | printk(KERN_INFO "DMA support for OMAP15xx initialized\n"); | 2346 | printk(KERN_INFO "DMA support for OMAP15xx initialized\n"); |
2340 | dma_chan_count = 9; | 2347 | dma_chan_count = 9; |
2341 | enable_1510_mode = 1; | 2348 | enable_1510_mode = 1; |
2342 | } else if (cpu_is_omap16xx() || cpu_is_omap730()) { | 2349 | } else if (cpu_is_omap16xx() || cpu_is_omap7xx()) { |
2343 | printk(KERN_INFO "OMAP DMA hardware version %d\n", | 2350 | printk(KERN_INFO "OMAP DMA hardware version %d\n", |
2344 | dma_read(HW_ID)); | 2351 | dma_read(HW_ID)); |
2345 | printk(KERN_INFO "DMA capabilities: %08x:%08x:%04x:%04x:%04x\n", | 2352 | printk(KERN_INFO "DMA capabilities: %08x:%08x:%04x:%04x:%04x\n", |
@@ -2371,7 +2378,7 @@ static int __init omap_init_dma(void) | |||
2371 | u8 revision = dma_read(REVISION) & 0xff; | 2378 | u8 revision = dma_read(REVISION) & 0xff; |
2372 | printk(KERN_INFO "OMAP DMA hardware revision %d.%d\n", | 2379 | printk(KERN_INFO "OMAP DMA hardware revision %d.%d\n", |
2373 | revision >> 4, revision & 0xf); | 2380 | revision >> 4, revision & 0xf); |
2374 | dma_chan_count = OMAP_DMA4_LOGICAL_DMA_CH_COUNT; | 2381 | dma_chan_count = dma_lch_count; |
2375 | } else { | 2382 | } else { |
2376 | dma_chan_count = 0; | 2383 | dma_chan_count = 0; |
2377 | return 0; | 2384 | return 0; |
@@ -2437,4 +2444,17 @@ static int __init omap_init_dma(void) | |||
2437 | 2444 | ||
2438 | arch_initcall(omap_init_dma); | 2445 | arch_initcall(omap_init_dma); |
2439 | 2446 | ||
2447 | /* | ||
2448 | * Reserve the omap SDMA channels using cmdline bootarg | ||
2449 | * "omap_dma_reserve_ch=". The valid range is 1 to 32 | ||
2450 | */ | ||
2451 | static int __init omap_dma_cmdline_reserve_ch(char *str) | ||
2452 | { | ||
2453 | if (get_option(&str, &omap_dma_reserve_channels) != 1) | ||
2454 | omap_dma_reserve_channels = 0; | ||
2455 | return 1; | ||
2456 | } | ||
2457 | |||
2458 | __setup("omap_dma_reserve_ch=", omap_dma_cmdline_reserve_ch); | ||
2459 | |||
2440 | 2460 | ||
diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c index e4f0ce04ba92..bfd47570cc91 100644 --- a/arch/arm/plat-omap/dmtimer.c +++ b/arch/arm/plat-omap/dmtimer.c | |||
@@ -33,6 +33,7 @@ | |||
33 | #include <linux/clk.h> | 33 | #include <linux/clk.h> |
34 | #include <linux/delay.h> | 34 | #include <linux/delay.h> |
35 | #include <linux/io.h> | 35 | #include <linux/io.h> |
36 | #include <linux/module.h> | ||
36 | #include <mach/hardware.h> | 37 | #include <mach/hardware.h> |
37 | #include <mach/dmtimer.h> | 38 | #include <mach/dmtimer.h> |
38 | #include <mach/irqs.h> | 39 | #include <mach/irqs.h> |
@@ -362,6 +363,7 @@ struct omap_dm_timer *omap_dm_timer_request(void) | |||
362 | 363 | ||
363 | return timer; | 364 | return timer; |
364 | } | 365 | } |
366 | EXPORT_SYMBOL_GPL(omap_dm_timer_request); | ||
365 | 367 | ||
366 | struct omap_dm_timer *omap_dm_timer_request_specific(int id) | 368 | struct omap_dm_timer *omap_dm_timer_request_specific(int id) |
367 | { | 369 | { |
@@ -385,6 +387,7 @@ struct omap_dm_timer *omap_dm_timer_request_specific(int id) | |||
385 | 387 | ||
386 | return timer; | 388 | return timer; |
387 | } | 389 | } |
390 | EXPORT_SYMBOL_GPL(omap_dm_timer_request_specific); | ||
388 | 391 | ||
389 | void omap_dm_timer_free(struct omap_dm_timer *timer) | 392 | void omap_dm_timer_free(struct omap_dm_timer *timer) |
390 | { | 393 | { |
@@ -395,6 +398,7 @@ void omap_dm_timer_free(struct omap_dm_timer *timer) | |||
395 | WARN_ON(!timer->reserved); | 398 | WARN_ON(!timer->reserved); |
396 | timer->reserved = 0; | 399 | timer->reserved = 0; |
397 | } | 400 | } |
401 | EXPORT_SYMBOL_GPL(omap_dm_timer_free); | ||
398 | 402 | ||
399 | void omap_dm_timer_enable(struct omap_dm_timer *timer) | 403 | void omap_dm_timer_enable(struct omap_dm_timer *timer) |
400 | { | 404 | { |
@@ -406,6 +410,7 @@ void omap_dm_timer_enable(struct omap_dm_timer *timer) | |||
406 | 410 | ||
407 | timer->enabled = 1; | 411 | timer->enabled = 1; |
408 | } | 412 | } |
413 | EXPORT_SYMBOL_GPL(omap_dm_timer_enable); | ||
409 | 414 | ||
410 | void omap_dm_timer_disable(struct omap_dm_timer *timer) | 415 | void omap_dm_timer_disable(struct omap_dm_timer *timer) |
411 | { | 416 | { |
@@ -417,11 +422,13 @@ void omap_dm_timer_disable(struct omap_dm_timer *timer) | |||
417 | 422 | ||
418 | timer->enabled = 0; | 423 | timer->enabled = 0; |
419 | } | 424 | } |
425 | EXPORT_SYMBOL_GPL(omap_dm_timer_disable); | ||
420 | 426 | ||
421 | int omap_dm_timer_get_irq(struct omap_dm_timer *timer) | 427 | int omap_dm_timer_get_irq(struct omap_dm_timer *timer) |
422 | { | 428 | { |
423 | return timer->irq; | 429 | return timer->irq; |
424 | } | 430 | } |
431 | EXPORT_SYMBOL_GPL(omap_dm_timer_get_irq); | ||
425 | 432 | ||
426 | #if defined(CONFIG_ARCH_OMAP1) | 433 | #if defined(CONFIG_ARCH_OMAP1) |
427 | 434 | ||
@@ -452,6 +459,7 @@ __u32 omap_dm_timer_modify_idlect_mask(__u32 inputmask) | |||
452 | 459 | ||
453 | return inputmask; | 460 | return inputmask; |
454 | } | 461 | } |
462 | EXPORT_SYMBOL_GPL(omap_dm_timer_modify_idlect_mask); | ||
455 | 463 | ||
456 | #elif defined(CONFIG_ARCH_OMAP2) || defined (CONFIG_ARCH_OMAP3) | 464 | #elif defined(CONFIG_ARCH_OMAP2) || defined (CONFIG_ARCH_OMAP3) |
457 | 465 | ||
@@ -459,6 +467,7 @@ struct clk *omap_dm_timer_get_fclk(struct omap_dm_timer *timer) | |||
459 | { | 467 | { |
460 | return timer->fclk; | 468 | return timer->fclk; |
461 | } | 469 | } |
470 | EXPORT_SYMBOL_GPL(omap_dm_timer_get_fclk); | ||
462 | 471 | ||
463 | __u32 omap_dm_timer_modify_idlect_mask(__u32 inputmask) | 472 | __u32 omap_dm_timer_modify_idlect_mask(__u32 inputmask) |
464 | { | 473 | { |
@@ -466,6 +475,7 @@ __u32 omap_dm_timer_modify_idlect_mask(__u32 inputmask) | |||
466 | 475 | ||
467 | return 0; | 476 | return 0; |
468 | } | 477 | } |
478 | EXPORT_SYMBOL_GPL(omap_dm_timer_modify_idlect_mask); | ||
469 | 479 | ||
470 | #endif | 480 | #endif |
471 | 481 | ||
@@ -473,6 +483,7 @@ void omap_dm_timer_trigger(struct omap_dm_timer *timer) | |||
473 | { | 483 | { |
474 | omap_dm_timer_write_reg(timer, OMAP_TIMER_TRIGGER_REG, 0); | 484 | omap_dm_timer_write_reg(timer, OMAP_TIMER_TRIGGER_REG, 0); |
475 | } | 485 | } |
486 | EXPORT_SYMBOL_GPL(omap_dm_timer_trigger); | ||
476 | 487 | ||
477 | void omap_dm_timer_start(struct omap_dm_timer *timer) | 488 | void omap_dm_timer_start(struct omap_dm_timer *timer) |
478 | { | 489 | { |
@@ -484,6 +495,7 @@ void omap_dm_timer_start(struct omap_dm_timer *timer) | |||
484 | omap_dm_timer_write_reg(timer, OMAP_TIMER_CTRL_REG, l); | 495 | omap_dm_timer_write_reg(timer, OMAP_TIMER_CTRL_REG, l); |
485 | } | 496 | } |
486 | } | 497 | } |
498 | EXPORT_SYMBOL_GPL(omap_dm_timer_start); | ||
487 | 499 | ||
488 | void omap_dm_timer_stop(struct omap_dm_timer *timer) | 500 | void omap_dm_timer_stop(struct omap_dm_timer *timer) |
489 | { | 501 | { |
@@ -495,6 +507,7 @@ void omap_dm_timer_stop(struct omap_dm_timer *timer) | |||
495 | omap_dm_timer_write_reg(timer, OMAP_TIMER_CTRL_REG, l); | 507 | omap_dm_timer_write_reg(timer, OMAP_TIMER_CTRL_REG, l); |
496 | } | 508 | } |
497 | } | 509 | } |
510 | EXPORT_SYMBOL_GPL(omap_dm_timer_stop); | ||
498 | 511 | ||
499 | #ifdef CONFIG_ARCH_OMAP1 | 512 | #ifdef CONFIG_ARCH_OMAP1 |
500 | 513 | ||
@@ -507,6 +520,7 @@ void omap_dm_timer_set_source(struct omap_dm_timer *timer, int source) | |||
507 | l |= source << n; | 520 | l |= source << n; |
508 | omap_writel(l, MOD_CONF_CTRL_1); | 521 | omap_writel(l, MOD_CONF_CTRL_1); |
509 | } | 522 | } |
523 | EXPORT_SYMBOL_GPL(omap_dm_timer_set_source); | ||
510 | 524 | ||
511 | #else | 525 | #else |
512 | 526 | ||
@@ -523,6 +537,7 @@ void omap_dm_timer_set_source(struct omap_dm_timer *timer, int source) | |||
523 | * cause an abort. */ | 537 | * cause an abort. */ |
524 | __delay(150000); | 538 | __delay(150000); |
525 | } | 539 | } |
540 | EXPORT_SYMBOL_GPL(omap_dm_timer_set_source); | ||
526 | 541 | ||
527 | #endif | 542 | #endif |
528 | 543 | ||
@@ -541,6 +556,7 @@ void omap_dm_timer_set_load(struct omap_dm_timer *timer, int autoreload, | |||
541 | 556 | ||
542 | omap_dm_timer_write_reg(timer, OMAP_TIMER_TRIGGER_REG, 0); | 557 | omap_dm_timer_write_reg(timer, OMAP_TIMER_TRIGGER_REG, 0); |
543 | } | 558 | } |
559 | EXPORT_SYMBOL_GPL(omap_dm_timer_set_load); | ||
544 | 560 | ||
545 | /* Optimized set_load which removes costly spin wait in timer_start */ | 561 | /* Optimized set_load which removes costly spin wait in timer_start */ |
546 | void omap_dm_timer_set_load_start(struct omap_dm_timer *timer, int autoreload, | 562 | void omap_dm_timer_set_load_start(struct omap_dm_timer *timer, int autoreload, |
@@ -560,6 +576,7 @@ void omap_dm_timer_set_load_start(struct omap_dm_timer *timer, int autoreload, | |||
560 | omap_dm_timer_write_reg(timer, OMAP_TIMER_COUNTER_REG, load); | 576 | omap_dm_timer_write_reg(timer, OMAP_TIMER_COUNTER_REG, load); |
561 | omap_dm_timer_write_reg(timer, OMAP_TIMER_CTRL_REG, l); | 577 | omap_dm_timer_write_reg(timer, OMAP_TIMER_CTRL_REG, l); |
562 | } | 578 | } |
579 | EXPORT_SYMBOL_GPL(omap_dm_timer_set_load_start); | ||
563 | 580 | ||
564 | void omap_dm_timer_set_match(struct omap_dm_timer *timer, int enable, | 581 | void omap_dm_timer_set_match(struct omap_dm_timer *timer, int enable, |
565 | unsigned int match) | 582 | unsigned int match) |
@@ -574,6 +591,7 @@ void omap_dm_timer_set_match(struct omap_dm_timer *timer, int enable, | |||
574 | omap_dm_timer_write_reg(timer, OMAP_TIMER_CTRL_REG, l); | 591 | omap_dm_timer_write_reg(timer, OMAP_TIMER_CTRL_REG, l); |
575 | omap_dm_timer_write_reg(timer, OMAP_TIMER_MATCH_REG, match); | 592 | omap_dm_timer_write_reg(timer, OMAP_TIMER_MATCH_REG, match); |
576 | } | 593 | } |
594 | EXPORT_SYMBOL_GPL(omap_dm_timer_set_match); | ||
577 | 595 | ||
578 | void omap_dm_timer_set_pwm(struct omap_dm_timer *timer, int def_on, | 596 | void omap_dm_timer_set_pwm(struct omap_dm_timer *timer, int def_on, |
579 | int toggle, int trigger) | 597 | int toggle, int trigger) |
@@ -590,6 +608,7 @@ void omap_dm_timer_set_pwm(struct omap_dm_timer *timer, int def_on, | |||
590 | l |= trigger << 10; | 608 | l |= trigger << 10; |
591 | omap_dm_timer_write_reg(timer, OMAP_TIMER_CTRL_REG, l); | 609 | omap_dm_timer_write_reg(timer, OMAP_TIMER_CTRL_REG, l); |
592 | } | 610 | } |
611 | EXPORT_SYMBOL_GPL(omap_dm_timer_set_pwm); | ||
593 | 612 | ||
594 | void omap_dm_timer_set_prescaler(struct omap_dm_timer *timer, int prescaler) | 613 | void omap_dm_timer_set_prescaler(struct omap_dm_timer *timer, int prescaler) |
595 | { | 614 | { |
@@ -603,6 +622,7 @@ void omap_dm_timer_set_prescaler(struct omap_dm_timer *timer, int prescaler) | |||
603 | } | 622 | } |
604 | omap_dm_timer_write_reg(timer, OMAP_TIMER_CTRL_REG, l); | 623 | omap_dm_timer_write_reg(timer, OMAP_TIMER_CTRL_REG, l); |
605 | } | 624 | } |
625 | EXPORT_SYMBOL_GPL(omap_dm_timer_set_prescaler); | ||
606 | 626 | ||
607 | void omap_dm_timer_set_int_enable(struct omap_dm_timer *timer, | 627 | void omap_dm_timer_set_int_enable(struct omap_dm_timer *timer, |
608 | unsigned int value) | 628 | unsigned int value) |
@@ -610,6 +630,7 @@ void omap_dm_timer_set_int_enable(struct omap_dm_timer *timer, | |||
610 | omap_dm_timer_write_reg(timer, OMAP_TIMER_INT_EN_REG, value); | 630 | omap_dm_timer_write_reg(timer, OMAP_TIMER_INT_EN_REG, value); |
611 | omap_dm_timer_write_reg(timer, OMAP_TIMER_WAKEUP_EN_REG, value); | 631 | omap_dm_timer_write_reg(timer, OMAP_TIMER_WAKEUP_EN_REG, value); |
612 | } | 632 | } |
633 | EXPORT_SYMBOL_GPL(omap_dm_timer_set_int_enable); | ||
613 | 634 | ||
614 | unsigned int omap_dm_timer_read_status(struct omap_dm_timer *timer) | 635 | unsigned int omap_dm_timer_read_status(struct omap_dm_timer *timer) |
615 | { | 636 | { |
@@ -619,11 +640,13 @@ unsigned int omap_dm_timer_read_status(struct omap_dm_timer *timer) | |||
619 | 640 | ||
620 | return l; | 641 | return l; |
621 | } | 642 | } |
643 | EXPORT_SYMBOL_GPL(omap_dm_timer_read_status); | ||
622 | 644 | ||
623 | void omap_dm_timer_write_status(struct omap_dm_timer *timer, unsigned int value) | 645 | void omap_dm_timer_write_status(struct omap_dm_timer *timer, unsigned int value) |
624 | { | 646 | { |
625 | omap_dm_timer_write_reg(timer, OMAP_TIMER_STAT_REG, value); | 647 | omap_dm_timer_write_reg(timer, OMAP_TIMER_STAT_REG, value); |
626 | } | 648 | } |
649 | EXPORT_SYMBOL_GPL(omap_dm_timer_write_status); | ||
627 | 650 | ||
628 | unsigned int omap_dm_timer_read_counter(struct omap_dm_timer *timer) | 651 | unsigned int omap_dm_timer_read_counter(struct omap_dm_timer *timer) |
629 | { | 652 | { |
@@ -633,11 +656,13 @@ unsigned int omap_dm_timer_read_counter(struct omap_dm_timer *timer) | |||
633 | 656 | ||
634 | return l; | 657 | return l; |
635 | } | 658 | } |
659 | EXPORT_SYMBOL_GPL(omap_dm_timer_read_counter); | ||
636 | 660 | ||
637 | void omap_dm_timer_write_counter(struct omap_dm_timer *timer, unsigned int value) | 661 | void omap_dm_timer_write_counter(struct omap_dm_timer *timer, unsigned int value) |
638 | { | 662 | { |
639 | omap_dm_timer_write_reg(timer, OMAP_TIMER_COUNTER_REG, value); | 663 | omap_dm_timer_write_reg(timer, OMAP_TIMER_COUNTER_REG, value); |
640 | } | 664 | } |
665 | EXPORT_SYMBOL_GPL(omap_dm_timer_write_counter); | ||
641 | 666 | ||
642 | int omap_dm_timers_active(void) | 667 | int omap_dm_timers_active(void) |
643 | { | 668 | { |
@@ -658,6 +683,7 @@ int omap_dm_timers_active(void) | |||
658 | } | 683 | } |
659 | return 0; | 684 | return 0; |
660 | } | 685 | } |
686 | EXPORT_SYMBOL_GPL(omap_dm_timers_active); | ||
661 | 687 | ||
662 | int __init omap_dm_timer_init(void) | 688 | int __init omap_dm_timer_init(void) |
663 | { | 689 | { |
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c index f856a90b264e..d3fa41e3d8c5 100644 --- a/arch/arm/plat-omap/gpio.c +++ b/arch/arm/plat-omap/gpio.c | |||
@@ -81,6 +81,22 @@ | |||
81 | #define OMAP730_GPIO_INT_STATUS 0x14 | 81 | #define OMAP730_GPIO_INT_STATUS 0x14 |
82 | 82 | ||
83 | /* | 83 | /* |
84 | * OMAP850 specific GPIO registers | ||
85 | */ | ||
86 | #define OMAP850_GPIO1_BASE IO_ADDRESS(0xfffbc000) | ||
87 | #define OMAP850_GPIO2_BASE IO_ADDRESS(0xfffbc800) | ||
88 | #define OMAP850_GPIO3_BASE IO_ADDRESS(0xfffbd000) | ||
89 | #define OMAP850_GPIO4_BASE IO_ADDRESS(0xfffbd800) | ||
90 | #define OMAP850_GPIO5_BASE IO_ADDRESS(0xfffbe000) | ||
91 | #define OMAP850_GPIO6_BASE IO_ADDRESS(0xfffbe800) | ||
92 | #define OMAP850_GPIO_DATA_INPUT 0x00 | ||
93 | #define OMAP850_GPIO_DATA_OUTPUT 0x04 | ||
94 | #define OMAP850_GPIO_DIR_CONTROL 0x08 | ||
95 | #define OMAP850_GPIO_INT_CONTROL 0x0c | ||
96 | #define OMAP850_GPIO_INT_MASK 0x10 | ||
97 | #define OMAP850_GPIO_INT_STATUS 0x14 | ||
98 | |||
99 | /* | ||
84 | * omap24xx specific GPIO registers | 100 | * omap24xx specific GPIO registers |
85 | */ | 101 | */ |
86 | #define OMAP242X_GPIO1_BASE IO_ADDRESS(0x48018000) | 102 | #define OMAP242X_GPIO1_BASE IO_ADDRESS(0x48018000) |
@@ -159,7 +175,8 @@ struct gpio_bank { | |||
159 | #define METHOD_GPIO_1510 1 | 175 | #define METHOD_GPIO_1510 1 |
160 | #define METHOD_GPIO_1610 2 | 176 | #define METHOD_GPIO_1610 2 |
161 | #define METHOD_GPIO_730 3 | 177 | #define METHOD_GPIO_730 3 |
162 | #define METHOD_GPIO_24XX 4 | 178 | #define METHOD_GPIO_850 4 |
179 | #define METHOD_GPIO_24XX 5 | ||
163 | 180 | ||
164 | #ifdef CONFIG_ARCH_OMAP16XX | 181 | #ifdef CONFIG_ARCH_OMAP16XX |
165 | static struct gpio_bank gpio_bank_1610[5] = { | 182 | static struct gpio_bank gpio_bank_1610[5] = { |
@@ -190,6 +207,19 @@ static struct gpio_bank gpio_bank_730[7] = { | |||
190 | }; | 207 | }; |
191 | #endif | 208 | #endif |
192 | 209 | ||
210 | #ifdef CONFIG_ARCH_OMAP850 | ||
211 | static struct gpio_bank gpio_bank_850[7] = { | ||
212 | { OMAP_MPUIO_BASE, INT_850_MPUIO, IH_MPUIO_BASE, METHOD_MPUIO }, | ||
213 | { OMAP850_GPIO1_BASE, INT_850_GPIO_BANK1, IH_GPIO_BASE, METHOD_GPIO_850 }, | ||
214 | { OMAP850_GPIO2_BASE, INT_850_GPIO_BANK2, IH_GPIO_BASE + 32, METHOD_GPIO_850 }, | ||
215 | { OMAP850_GPIO3_BASE, INT_850_GPIO_BANK3, IH_GPIO_BASE + 64, METHOD_GPIO_850 }, | ||
216 | { OMAP850_GPIO4_BASE, INT_850_GPIO_BANK4, IH_GPIO_BASE + 96, METHOD_GPIO_850 }, | ||
217 | { OMAP850_GPIO5_BASE, INT_850_GPIO_BANK5, IH_GPIO_BASE + 128, METHOD_GPIO_850 }, | ||
218 | { OMAP850_GPIO6_BASE, INT_850_GPIO_BANK6, IH_GPIO_BASE + 160, METHOD_GPIO_850 }, | ||
219 | }; | ||
220 | #endif | ||
221 | |||
222 | |||
193 | #ifdef CONFIG_ARCH_OMAP24XX | 223 | #ifdef CONFIG_ARCH_OMAP24XX |
194 | 224 | ||
195 | static struct gpio_bank gpio_bank_242x[4] = { | 225 | static struct gpio_bank gpio_bank_242x[4] = { |
@@ -236,7 +266,7 @@ static inline struct gpio_bank *get_gpio_bank(int gpio) | |||
236 | return &gpio_bank[0]; | 266 | return &gpio_bank[0]; |
237 | return &gpio_bank[1 + (gpio >> 4)]; | 267 | return &gpio_bank[1 + (gpio >> 4)]; |
238 | } | 268 | } |
239 | if (cpu_is_omap730()) { | 269 | if (cpu_is_omap7xx()) { |
240 | if (OMAP_GPIO_IS_MPUIO(gpio)) | 270 | if (OMAP_GPIO_IS_MPUIO(gpio)) |
241 | return &gpio_bank[0]; | 271 | return &gpio_bank[0]; |
242 | return &gpio_bank[1 + (gpio >> 5)]; | 272 | return &gpio_bank[1 + (gpio >> 5)]; |
@@ -251,7 +281,7 @@ static inline struct gpio_bank *get_gpio_bank(int gpio) | |||
251 | 281 | ||
252 | static inline int get_gpio_index(int gpio) | 282 | static inline int get_gpio_index(int gpio) |
253 | { | 283 | { |
254 | if (cpu_is_omap730()) | 284 | if (cpu_is_omap7xx()) |
255 | return gpio & 0x1f; | 285 | return gpio & 0x1f; |
256 | if (cpu_is_omap24xx()) | 286 | if (cpu_is_omap24xx()) |
257 | return gpio & 0x1f; | 287 | return gpio & 0x1f; |
@@ -273,7 +303,7 @@ static inline int gpio_valid(int gpio) | |||
273 | return 0; | 303 | return 0; |
274 | if ((cpu_is_omap16xx()) && gpio < 64) | 304 | if ((cpu_is_omap16xx()) && gpio < 64) |
275 | return 0; | 305 | return 0; |
276 | if (cpu_is_omap730() && gpio < 192) | 306 | if (cpu_is_omap7xx() && gpio < 192) |
277 | return 0; | 307 | return 0; |
278 | if (cpu_is_omap24xx() && gpio < 128) | 308 | if (cpu_is_omap24xx() && gpio < 128) |
279 | return 0; | 309 | return 0; |
@@ -318,6 +348,11 @@ static void _set_gpio_direction(struct gpio_bank *bank, int gpio, int is_input) | |||
318 | reg += OMAP730_GPIO_DIR_CONTROL; | 348 | reg += OMAP730_GPIO_DIR_CONTROL; |
319 | break; | 349 | break; |
320 | #endif | 350 | #endif |
351 | #ifdef CONFIG_ARCH_OMAP850 | ||
352 | case METHOD_GPIO_850: | ||
353 | reg += OMAP850_GPIO_DIR_CONTROL; | ||
354 | break; | ||
355 | #endif | ||
321 | #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) | 356 | #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) |
322 | case METHOD_GPIO_24XX: | 357 | case METHOD_GPIO_24XX: |
323 | reg += OMAP24XX_GPIO_OE; | 358 | reg += OMAP24XX_GPIO_OE; |
@@ -380,6 +415,16 @@ static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable) | |||
380 | l &= ~(1 << gpio); | 415 | l &= ~(1 << gpio); |
381 | break; | 416 | break; |
382 | #endif | 417 | #endif |
418 | #ifdef CONFIG_ARCH_OMAP850 | ||
419 | case METHOD_GPIO_850: | ||
420 | reg += OMAP850_GPIO_DATA_OUTPUT; | ||
421 | l = __raw_readl(reg); | ||
422 | if (enable) | ||
423 | l |= 1 << gpio; | ||
424 | else | ||
425 | l &= ~(1 << gpio); | ||
426 | break; | ||
427 | #endif | ||
383 | #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) | 428 | #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) |
384 | case METHOD_GPIO_24XX: | 429 | case METHOD_GPIO_24XX: |
385 | if (enable) | 430 | if (enable) |
@@ -426,6 +471,11 @@ static int __omap_get_gpio_datain(int gpio) | |||
426 | reg += OMAP730_GPIO_DATA_INPUT; | 471 | reg += OMAP730_GPIO_DATA_INPUT; |
427 | break; | 472 | break; |
428 | #endif | 473 | #endif |
474 | #ifdef CONFIG_ARCH_OMAP850 | ||
475 | case METHOD_GPIO_850: | ||
476 | reg += OMAP850_GPIO_DATA_INPUT; | ||
477 | break; | ||
478 | #endif | ||
429 | #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) | 479 | #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) |
430 | case METHOD_GPIO_24XX: | 480 | case METHOD_GPIO_24XX: |
431 | reg += OMAP24XX_GPIO_DATAIN; | 481 | reg += OMAP24XX_GPIO_DATAIN; |
@@ -598,6 +648,18 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger) | |||
598 | goto bad; | 648 | goto bad; |
599 | break; | 649 | break; |
600 | #endif | 650 | #endif |
651 | #ifdef CONFIG_ARCH_OMAP850 | ||
652 | case METHOD_GPIO_850: | ||
653 | reg += OMAP850_GPIO_INT_CONTROL; | ||
654 | l = __raw_readl(reg); | ||
655 | if (trigger & IRQ_TYPE_EDGE_RISING) | ||
656 | l |= 1 << gpio; | ||
657 | else if (trigger & IRQ_TYPE_EDGE_FALLING) | ||
658 | l &= ~(1 << gpio); | ||
659 | else | ||
660 | goto bad; | ||
661 | break; | ||
662 | #endif | ||
601 | #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) | 663 | #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) |
602 | case METHOD_GPIO_24XX: | 664 | case METHOD_GPIO_24XX: |
603 | set_24xx_gpio_triggering(bank, gpio, trigger); | 665 | set_24xx_gpio_triggering(bank, gpio, trigger); |
@@ -678,6 +740,11 @@ static void _clear_gpio_irqbank(struct gpio_bank *bank, int gpio_mask) | |||
678 | reg += OMAP730_GPIO_INT_STATUS; | 740 | reg += OMAP730_GPIO_INT_STATUS; |
679 | break; | 741 | break; |
680 | #endif | 742 | #endif |
743 | #ifdef CONFIG_ARCH_OMAP850 | ||
744 | case METHOD_GPIO_850: | ||
745 | reg += OMAP850_GPIO_INT_STATUS; | ||
746 | break; | ||
747 | #endif | ||
681 | #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) | 748 | #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) |
682 | case METHOD_GPIO_24XX: | 749 | case METHOD_GPIO_24XX: |
683 | reg += OMAP24XX_GPIO_IRQSTATUS1; | 750 | reg += OMAP24XX_GPIO_IRQSTATUS1; |
@@ -736,6 +803,13 @@ static u32 _get_gpio_irqbank_mask(struct gpio_bank *bank) | |||
736 | inv = 1; | 803 | inv = 1; |
737 | break; | 804 | break; |
738 | #endif | 805 | #endif |
806 | #ifdef CONFIG_ARCH_OMAP850 | ||
807 | case METHOD_GPIO_850: | ||
808 | reg += OMAP850_GPIO_INT_MASK; | ||
809 | mask = 0xffffffff; | ||
810 | inv = 1; | ||
811 | break; | ||
812 | #endif | ||
739 | #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) | 813 | #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) |
740 | case METHOD_GPIO_24XX: | 814 | case METHOD_GPIO_24XX: |
741 | reg += OMAP24XX_GPIO_IRQENABLE1; | 815 | reg += OMAP24XX_GPIO_IRQENABLE1; |
@@ -799,6 +873,16 @@ static void _enable_gpio_irqbank(struct gpio_bank *bank, int gpio_mask, int enab | |||
799 | l |= gpio_mask; | 873 | l |= gpio_mask; |
800 | break; | 874 | break; |
801 | #endif | 875 | #endif |
876 | #ifdef CONFIG_ARCH_OMAP850 | ||
877 | case METHOD_GPIO_850: | ||
878 | reg += OMAP850_GPIO_INT_MASK; | ||
879 | l = __raw_readl(reg); | ||
880 | if (enable) | ||
881 | l &= ~(gpio_mask); | ||
882 | else | ||
883 | l |= gpio_mask; | ||
884 | break; | ||
885 | #endif | ||
802 | #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) | 886 | #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) |
803 | case METHOD_GPIO_24XX: | 887 | case METHOD_GPIO_24XX: |
804 | if (enable) | 888 | if (enable) |
@@ -983,6 +1067,10 @@ static void gpio_irq_handler(unsigned int irq, struct irq_desc *desc) | |||
983 | if (bank->method == METHOD_GPIO_730) | 1067 | if (bank->method == METHOD_GPIO_730) |
984 | isr_reg = bank->base + OMAP730_GPIO_INT_STATUS; | 1068 | isr_reg = bank->base + OMAP730_GPIO_INT_STATUS; |
985 | #endif | 1069 | #endif |
1070 | #ifdef CONFIG_ARCH_OMAP850 | ||
1071 | if (bank->method == METHOD_GPIO_850) | ||
1072 | isr_reg = bank->base + OMAP850_GPIO_INT_STATUS; | ||
1073 | #endif | ||
986 | #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) | 1074 | #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) |
987 | if (bank->method == METHOD_GPIO_24XX) | 1075 | if (bank->method == METHOD_GPIO_24XX) |
988 | isr_reg = bank->base + OMAP24XX_GPIO_IRQSTATUS1; | 1076 | isr_reg = bank->base + OMAP24XX_GPIO_IRQSTATUS1; |
@@ -1372,6 +1460,13 @@ static int __init _omap_gpio_init(void) | |||
1372 | gpio_bank = gpio_bank_730; | 1460 | gpio_bank = gpio_bank_730; |
1373 | } | 1461 | } |
1374 | #endif | 1462 | #endif |
1463 | #ifdef CONFIG_ARCH_OMAP850 | ||
1464 | if (cpu_is_omap850()) { | ||
1465 | printk(KERN_INFO "OMAP850 GPIO hardware\n"); | ||
1466 | gpio_bank_count = 7; | ||
1467 | gpio_bank = gpio_bank_850; | ||
1468 | } | ||
1469 | #endif | ||
1375 | 1470 | ||
1376 | #ifdef CONFIG_ARCH_OMAP24XX | 1471 | #ifdef CONFIG_ARCH_OMAP24XX |
1377 | if (cpu_is_omap242x()) { | 1472 | if (cpu_is_omap242x()) { |
@@ -1420,7 +1515,7 @@ static int __init _omap_gpio_init(void) | |||
1420 | __raw_writew(0xffff, bank->base + OMAP1610_GPIO_IRQSTATUS1); | 1515 | __raw_writew(0xffff, bank->base + OMAP1610_GPIO_IRQSTATUS1); |
1421 | __raw_writew(0x0014, bank->base + OMAP1610_GPIO_SYSCONFIG); | 1516 | __raw_writew(0x0014, bank->base + OMAP1610_GPIO_SYSCONFIG); |
1422 | } | 1517 | } |
1423 | if (cpu_is_omap730() && bank->method == METHOD_GPIO_730) { | 1518 | if (cpu_is_omap7xx() && bank->method == METHOD_GPIO_730) { |
1424 | __raw_writel(0xffffffff, bank->base + OMAP730_GPIO_INT_MASK); | 1519 | __raw_writel(0xffffffff, bank->base + OMAP730_GPIO_INT_MASK); |
1425 | __raw_writel(0x00000000, bank->base + OMAP730_GPIO_INT_STATUS); | 1520 | __raw_writel(0x00000000, bank->base + OMAP730_GPIO_INT_STATUS); |
1426 | 1521 | ||
@@ -1743,6 +1838,9 @@ static int gpio_is_input(struct gpio_bank *bank, int mask) | |||
1743 | case METHOD_GPIO_730: | 1838 | case METHOD_GPIO_730: |
1744 | reg += OMAP730_GPIO_DIR_CONTROL; | 1839 | reg += OMAP730_GPIO_DIR_CONTROL; |
1745 | break; | 1840 | break; |
1841 | case METHOD_GPIO_850: | ||
1842 | reg += OMAP850_GPIO_DIR_CONTROL; | ||
1843 | break; | ||
1746 | case METHOD_GPIO_24XX: | 1844 | case METHOD_GPIO_24XX: |
1747 | reg += OMAP24XX_GPIO_OE; | 1845 | reg += OMAP24XX_GPIO_OE; |
1748 | break; | 1846 | break; |
@@ -1762,7 +1860,8 @@ static int dbg_gpio_show(struct seq_file *s, void *unused) | |||
1762 | 1860 | ||
1763 | if (bank_is_mpuio(bank)) | 1861 | if (bank_is_mpuio(bank)) |
1764 | gpio = OMAP_MPUIO(0); | 1862 | gpio = OMAP_MPUIO(0); |
1765 | else if (cpu_class_is_omap2() || cpu_is_omap730()) | 1863 | else if (cpu_class_is_omap2() || cpu_is_omap730() || |
1864 | cpu_is_omap850()) | ||
1766 | bankwidth = 32; | 1865 | bankwidth = 32; |
1767 | 1866 | ||
1768 | for (j = 0; j < bankwidth; j++, gpio++, mask <<= 1) { | 1867 | for (j = 0; j < bankwidth; j++, gpio++, mask <<= 1) { |
diff --git a/arch/arm/plat-omap/i2c.c b/arch/arm/plat-omap/i2c.c index 467531edefd3..a303071d5e36 100644 --- a/arch/arm/plat-omap/i2c.c +++ b/arch/arm/plat-omap/i2c.c | |||
@@ -98,6 +98,8 @@ static const int omap34xx_pins[][2] = { | |||
98 | static const int omap34xx_pins[][2] = {}; | 98 | static const int omap34xx_pins[][2] = {}; |
99 | #endif | 99 | #endif |
100 | 100 | ||
101 | #define OMAP_I2C_CMDLINE_SETUP (BIT(31)) | ||
102 | |||
101 | static void __init omap_i2c_mux_pins(int bus) | 103 | static void __init omap_i2c_mux_pins(int bus) |
102 | { | 104 | { |
103 | int scl, sda; | 105 | int scl, sda; |
@@ -119,14 +121,9 @@ static void __init omap_i2c_mux_pins(int bus) | |||
119 | omap_cfg_reg(scl); | 121 | omap_cfg_reg(scl); |
120 | } | 122 | } |
121 | 123 | ||
122 | int __init omap_register_i2c_bus(int bus_id, u32 clkrate, | 124 | static int __init omap_i2c_nr_ports(void) |
123 | struct i2c_board_info const *info, | ||
124 | unsigned len) | ||
125 | { | 125 | { |
126 | int ports, err; | 126 | int ports = 0; |
127 | struct platform_device *pdev; | ||
128 | struct resource *res; | ||
129 | resource_size_t base, irq; | ||
130 | 127 | ||
131 | if (cpu_class_is_omap1()) | 128 | if (cpu_class_is_omap1()) |
132 | ports = 1; | 129 | ports = 1; |
@@ -135,17 +132,16 @@ int __init omap_register_i2c_bus(int bus_id, u32 clkrate, | |||
135 | else if (cpu_is_omap34xx()) | 132 | else if (cpu_is_omap34xx()) |
136 | ports = 3; | 133 | ports = 3; |
137 | 134 | ||
138 | BUG_ON(bus_id < 1 || bus_id > ports); | 135 | return ports; |
136 | } | ||
139 | 137 | ||
140 | if (info) { | 138 | static int __init omap_i2c_add_bus(int bus_id) |
141 | err = i2c_register_board_info(bus_id, info, len); | 139 | { |
142 | if (err) | 140 | struct platform_device *pdev; |
143 | return err; | 141 | struct resource *res; |
144 | } | 142 | resource_size_t base, irq; |
145 | 143 | ||
146 | pdev = &omap_i2c_devices[bus_id - 1]; | 144 | pdev = &omap_i2c_devices[bus_id - 1]; |
147 | *(u32 *)pdev->dev.platform_data = clkrate; | ||
148 | |||
149 | if (bus_id == 1) { | 145 | if (bus_id == 1) { |
150 | res = pdev->resource; | 146 | res = pdev->resource; |
151 | if (cpu_class_is_omap1()) { | 147 | if (cpu_class_is_omap1()) { |
@@ -163,3 +159,81 @@ int __init omap_register_i2c_bus(int bus_id, u32 clkrate, | |||
163 | omap_i2c_mux_pins(bus_id - 1); | 159 | omap_i2c_mux_pins(bus_id - 1); |
164 | return platform_device_register(pdev); | 160 | return platform_device_register(pdev); |
165 | } | 161 | } |
162 | |||
163 | /** | ||
164 | * omap_i2c_bus_setup - Process command line options for the I2C bus speed | ||
165 | * @str: String of options | ||
166 | * | ||
167 | * This function allow to override the default I2C bus speed for given I2C | ||
168 | * bus with a command line option. | ||
169 | * | ||
170 | * Format: i2c_bus=bus_id,clkrate (in kHz) | ||
171 | * | ||
172 | * Returns 1 on success, 0 otherwise. | ||
173 | */ | ||
174 | static int __init omap_i2c_bus_setup(char *str) | ||
175 | { | ||
176 | int ports; | ||
177 | int ints[3]; | ||
178 | |||
179 | ports = omap_i2c_nr_ports(); | ||
180 | get_options(str, 3, ints); | ||
181 | if (ints[0] < 2 || ints[1] < 1 || ints[1] > ports) | ||
182 | return 0; | ||
183 | i2c_rate[ints[1] - 1] = ints[2]; | ||
184 | i2c_rate[ints[1] - 1] |= OMAP_I2C_CMDLINE_SETUP; | ||
185 | |||
186 | return 1; | ||
187 | } | ||
188 | __setup("i2c_bus=", omap_i2c_bus_setup); | ||
189 | |||
190 | /* | ||
191 | * Register busses defined in command line but that are not registered with | ||
192 | * omap_register_i2c_bus from board initialization code. | ||
193 | */ | ||
194 | static int __init omap_register_i2c_bus_cmdline(void) | ||
195 | { | ||
196 | int i, err = 0; | ||
197 | |||
198 | for (i = 0; i < ARRAY_SIZE(i2c_rate); i++) | ||
199 | if (i2c_rate[i] & OMAP_I2C_CMDLINE_SETUP) { | ||
200 | i2c_rate[i] &= ~OMAP_I2C_CMDLINE_SETUP; | ||
201 | err = omap_i2c_add_bus(i + 1); | ||
202 | if (err) | ||
203 | goto out; | ||
204 | } | ||
205 | |||
206 | out: | ||
207 | return err; | ||
208 | } | ||
209 | subsys_initcall(omap_register_i2c_bus_cmdline); | ||
210 | |||
211 | /** | ||
212 | * omap_register_i2c_bus - register I2C bus with device descriptors | ||
213 | * @bus_id: bus id counting from number 1 | ||
214 | * @clkrate: clock rate of the bus in kHz | ||
215 | * @info: pointer into I2C device descriptor table or NULL | ||
216 | * @len: number of descriptors in the table | ||
217 | * | ||
218 | * Returns 0 on success or an error code. | ||
219 | */ | ||
220 | int __init omap_register_i2c_bus(int bus_id, u32 clkrate, | ||
221 | struct i2c_board_info const *info, | ||
222 | unsigned len) | ||
223 | { | ||
224 | int err; | ||
225 | |||
226 | BUG_ON(bus_id < 1 || bus_id > omap_i2c_nr_ports()); | ||
227 | |||
228 | if (info) { | ||
229 | err = i2c_register_board_info(bus_id, info, len); | ||
230 | if (err) | ||
231 | return err; | ||
232 | } | ||
233 | |||
234 | if (!i2c_rate[bus_id - 1]) | ||
235 | i2c_rate[bus_id - 1] = clkrate; | ||
236 | i2c_rate[bus_id - 1] &= ~OMAP_I2C_CMDLINE_SETUP; | ||
237 | |||
238 | return omap_i2c_add_bus(bus_id); | ||
239 | } | ||
diff --git a/arch/arm/plat-omap/include/mach/board-2430sdp.h b/arch/arm/plat-omap/include/mach/board-2430sdp.h deleted file mode 100644 index 10d449ea7ed0..000000000000 --- a/arch/arm/plat-omap/include/mach/board-2430sdp.h +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-omap/include/mach/board-2430sdp.h | ||
3 | * | ||
4 | * Hardware definitions for TI OMAP2430 SDP board. | ||
5 | * | ||
6 | * Based on board-h4.h by Dirk Behme <dirk.behme@de.bosch.com> | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify it | ||
9 | * under the terms of the GNU General Public License as published by the | ||
10 | * Free Software Foundation; either version 2 of the License, or (at your | ||
11 | * option) any later version. | ||
12 | * | ||
13 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
14 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
15 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN | ||
16 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
17 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
18 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | ||
19 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
20 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
21 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
22 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License along | ||
25 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
26 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
27 | */ | ||
28 | |||
29 | #ifndef __ASM_ARCH_OMAP_2430SDP_H | ||
30 | #define __ASM_ARCH_OMAP_2430SDP_H | ||
31 | |||
32 | /* Placeholder for 2430SDP specific defines */ | ||
33 | #define OMAP24XX_ETHR_START 0x08000300 | ||
34 | #define OMAP24XX_ETHR_GPIO_IRQ 149 | ||
35 | #define SDP2430_CS0_BASE 0x04000000 | ||
36 | |||
37 | /* Function prototypes */ | ||
38 | extern void sdp2430_flash_init(void); | ||
39 | extern void sdp2430_usb_init(void); | ||
40 | |||
41 | #endif /* __ASM_ARCH_OMAP_2430SDP_H */ | ||
diff --git a/arch/arm/plat-omap/include/mach/board-apollon.h b/arch/arm/plat-omap/include/mach/board-apollon.h deleted file mode 100644 index 61bd5e8f09b1..000000000000 --- a/arch/arm/plat-omap/include/mach/board-apollon.h +++ /dev/null | |||
@@ -1,46 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-omap/include/mach/board-apollon.h | ||
3 | * | ||
4 | * Hardware definitions for Samsung OMAP24XX Apollon board. | ||
5 | * | ||
6 | * Initial creation by Kyungmin Park <kyungmin.park@samsung.com> | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify it | ||
9 | * under the terms of the GNU General Public License as published by the | ||
10 | * Free Software Foundation; either version 2 of the License, or (at your | ||
11 | * option) any later version. | ||
12 | * | ||
13 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
14 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
15 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN | ||
16 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
17 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
18 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | ||
19 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
20 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
21 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
22 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License along | ||
25 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
26 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
27 | */ | ||
28 | |||
29 | #ifndef __ASM_ARCH_OMAP_APOLLON_H | ||
30 | #define __ASM_ARCH_OMAP_APOLLON_H | ||
31 | |||
32 | #include <mach/cpu.h> | ||
33 | |||
34 | extern void apollon_mmc_init(void); | ||
35 | |||
36 | static inline int apollon_plus(void) | ||
37 | { | ||
38 | /* The apollon plus has IDCODE revision 5 */ | ||
39 | return omap_rev() & 0xc0; | ||
40 | } | ||
41 | |||
42 | /* Placeholder for APOLLON specific defines */ | ||
43 | #define APOLLON_ETHR_GPIO_IRQ 74 | ||
44 | |||
45 | #endif /* __ASM_ARCH_OMAP_APOLLON_H */ | ||
46 | |||
diff --git a/arch/arm/plat-omap/include/mach/board-fsample.h b/arch/arm/plat-omap/include/mach/board-fsample.h deleted file mode 100644 index cb3c5ae12776..000000000000 --- a/arch/arm/plat-omap/include/mach/board-fsample.h +++ /dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-omap/include/mach/board-fsample.h | ||
3 | * | ||
4 | * Board-specific goodies for TI F-Sample. | ||
5 | * | ||
6 | * Copyright (C) 2006 Google, Inc. | ||
7 | * Author: Brian Swetland <swetland@google.com> | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 as | ||
11 | * published by the Free Software Foundation. | ||
12 | */ | ||
13 | |||
14 | #ifndef __ASM_ARCH_OMAP_FSAMPLE_H | ||
15 | #define __ASM_ARCH_OMAP_FSAMPLE_H | ||
16 | |||
17 | /* fsample is pretty close to p2-sample */ | ||
18 | #include <mach/board-perseus2.h> | ||
19 | |||
20 | #define fsample_cpld_read(reg) __raw_readb(reg) | ||
21 | #define fsample_cpld_write(val, reg) __raw_writeb(val, reg) | ||
22 | |||
23 | #define FSAMPLE_CPLD_BASE 0xE8100000 | ||
24 | #define FSAMPLE_CPLD_SIZE SZ_4K | ||
25 | #define FSAMPLE_CPLD_START 0x05080000 | ||
26 | |||
27 | #define FSAMPLE_CPLD_REG_A (FSAMPLE_CPLD_BASE + 0x00) | ||
28 | #define FSAMPLE_CPLD_SWITCH (FSAMPLE_CPLD_BASE + 0x02) | ||
29 | #define FSAMPLE_CPLD_UART (FSAMPLE_CPLD_BASE + 0x02) | ||
30 | #define FSAMPLE_CPLD_REG_B (FSAMPLE_CPLD_BASE + 0x04) | ||
31 | #define FSAMPLE_CPLD_VERSION (FSAMPLE_CPLD_BASE + 0x06) | ||
32 | #define FSAMPLE_CPLD_SET_CLR (FSAMPLE_CPLD_BASE + 0x06) | ||
33 | |||
34 | #define FSAMPLE_CPLD_BIT_BT_RESET 0 | ||
35 | #define FSAMPLE_CPLD_BIT_LCD_RESET 1 | ||
36 | #define FSAMPLE_CPLD_BIT_CAM_PWDN 2 | ||
37 | #define FSAMPLE_CPLD_BIT_CHARGER_ENABLE 3 | ||
38 | #define FSAMPLE_CPLD_BIT_SD_MMC_EN 4 | ||
39 | #define FSAMPLE_CPLD_BIT_aGPS_PWREN 5 | ||
40 | #define FSAMPLE_CPLD_BIT_BACKLIGHT 6 | ||
41 | #define FSAMPLE_CPLD_BIT_aGPS_EN_RESET 7 | ||
42 | #define FSAMPLE_CPLD_BIT_aGPS_SLEEPx_N 8 | ||
43 | #define FSAMPLE_CPLD_BIT_OTG_RESET 9 | ||
44 | |||
45 | #define fsample_cpld_set(bit) \ | ||
46 | fsample_cpld_write((((bit) & 15) << 4) | 0x0f, FSAMPLE_CPLD_SET_CLR) | ||
47 | |||
48 | #define fsample_cpld_clear(bit) \ | ||
49 | fsample_cpld_write(0xf0 | ((bit) & 15), FSAMPLE_CPLD_SET_CLR) | ||
50 | |||
51 | #endif | ||
diff --git a/arch/arm/plat-omap/include/mach/board-h4.h b/arch/arm/plat-omap/include/mach/board-h4.h deleted file mode 100644 index 7c3fa0f0a65e..000000000000 --- a/arch/arm/plat-omap/include/mach/board-h4.h +++ /dev/null | |||
@@ -1,38 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-omap/include/mach/board-h4.h | ||
3 | * | ||
4 | * Hardware definitions for TI OMAP2420 H4 board. | ||
5 | * | ||
6 | * Initial creation by Dirk Behme <dirk.behme@de.bosch.com> | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify it | ||
9 | * under the terms of the GNU General Public License as published by the | ||
10 | * Free Software Foundation; either version 2 of the License, or (at your | ||
11 | * option) any later version. | ||
12 | * | ||
13 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
14 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
15 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN | ||
16 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
17 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
18 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | ||
19 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
20 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
21 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
22 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License along | ||
25 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
26 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
27 | */ | ||
28 | |||
29 | #ifndef __ASM_ARCH_OMAP_H4_H | ||
30 | #define __ASM_ARCH_OMAP_H4_H | ||
31 | |||
32 | /* MMC Prototypes */ | ||
33 | extern void h4_mmc_init(void); | ||
34 | |||
35 | /* Placeholder for H4 specific defines */ | ||
36 | #define OMAP24XX_ETHR_GPIO_IRQ 92 | ||
37 | #endif /* __ASM_ARCH_OMAP_H4_H */ | ||
38 | |||
diff --git a/arch/arm/plat-omap/include/mach/board-innovator.h b/arch/arm/plat-omap/include/mach/board-innovator.h deleted file mode 100644 index 5ae3e79b9f9c..000000000000 --- a/arch/arm/plat-omap/include/mach/board-innovator.h +++ /dev/null | |||
@@ -1,52 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-omap/include/mach/board-innovator.h | ||
3 | * | ||
4 | * Copyright (C) 2001 RidgeRun, Inc. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License as published by the | ||
8 | * Free Software Foundation; either version 2 of the License, or (at your | ||
9 | * option) any later version. | ||
10 | * | ||
11 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
12 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
13 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN | ||
14 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
15 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
16 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | ||
17 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
18 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
19 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
20 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
21 | * | ||
22 | * You should have received a copy of the GNU General Public License along | ||
23 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
24 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
25 | */ | ||
26 | #ifndef __ASM_ARCH_OMAP_INNOVATOR_H | ||
27 | #define __ASM_ARCH_OMAP_INNOVATOR_H | ||
28 | |||
29 | #if defined (CONFIG_ARCH_OMAP15XX) | ||
30 | |||
31 | #ifndef OMAP_SDRAM_DEVICE | ||
32 | #define OMAP_SDRAM_DEVICE D256M_1X16_4B | ||
33 | #endif | ||
34 | |||
35 | #define OMAP1510P1_IMIF_PRI_VALUE 0x00 | ||
36 | #define OMAP1510P1_EMIFS_PRI_VALUE 0x00 | ||
37 | #define OMAP1510P1_EMIFF_PRI_VALUE 0x00 | ||
38 | |||
39 | #ifndef __ASSEMBLY__ | ||
40 | void fpga_write(unsigned char val, int reg); | ||
41 | unsigned char fpga_read(int reg); | ||
42 | #endif | ||
43 | |||
44 | #endif /* CONFIG_ARCH_OMAP15XX */ | ||
45 | |||
46 | #if defined (CONFIG_ARCH_OMAP16XX) | ||
47 | |||
48 | /* At OMAP1610 Innovator the Ethernet is directly connected to CS1 */ | ||
49 | #define INNOVATOR1610_ETHR_START 0x04000300 | ||
50 | |||
51 | #endif /* CONFIG_ARCH_OMAP1610 */ | ||
52 | #endif /* __ASM_ARCH_OMAP_INNOVATOR_H */ | ||
diff --git a/arch/arm/plat-omap/include/mach/board-ldp.h b/arch/arm/plat-omap/include/mach/board-ldp.h deleted file mode 100644 index f23399665212..000000000000 --- a/arch/arm/plat-omap/include/mach/board-ldp.h +++ /dev/null | |||
@@ -1,39 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-omap/include/mach/board-ldp.h | ||
3 | * | ||
4 | * Hardware definitions for TI OMAP3 LDP. | ||
5 | * | ||
6 | * Copyright (C) 2008 Texas Instruments Inc. | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify it | ||
9 | * under the terms of the GNU General Public License as published by the | ||
10 | * Free Software Foundation; either version 2 of the License, or (at your | ||
11 | * option) any later version. | ||
12 | * | ||
13 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
14 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
15 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN | ||
16 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
17 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
18 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | ||
19 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
20 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
21 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
22 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License along | ||
25 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
26 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
27 | */ | ||
28 | |||
29 | #ifndef __ASM_ARCH_OMAP_LDP_H | ||
30 | #define __ASM_ARCH_OMAP_LDP_H | ||
31 | |||
32 | extern void twl4030_bci_battery_init(void); | ||
33 | |||
34 | #define TWL4030_IRQNUM INT_34XX_SYS_NIRQ | ||
35 | #define LDP_SMC911X_CS 1 | ||
36 | #define LDP_SMC911X_GPIO 152 | ||
37 | #define DEBUG_BASE 0x08000000 | ||
38 | #define OMAP34XX_ETHR_START DEBUG_BASE | ||
39 | #endif /* __ASM_ARCH_OMAP_LDP_H */ | ||
diff --git a/arch/arm/plat-omap/include/mach/board-nokia.h b/arch/arm/plat-omap/include/mach/board-nokia.h deleted file mode 100644 index 2abbe001af8c..000000000000 --- a/arch/arm/plat-omap/include/mach/board-nokia.h +++ /dev/null | |||
@@ -1,54 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-omap/include/mach/board-nokia.h | ||
3 | * | ||
4 | * Information structures for Nokia-specific board config data | ||
5 | * | ||
6 | * Copyright (C) 2005 Nokia Corporation | ||
7 | */ | ||
8 | |||
9 | #ifndef _OMAP_BOARD_NOKIA_H | ||
10 | #define _OMAP_BOARD_NOKIA_H | ||
11 | |||
12 | #include <linux/types.h> | ||
13 | |||
14 | #define OMAP_TAG_NOKIA_BT 0x4e01 | ||
15 | #define OMAP_TAG_WLAN_CX3110X 0x4e02 | ||
16 | #define OMAP_TAG_CBUS 0x4e03 | ||
17 | #define OMAP_TAG_EM_ASIC_BB5 0x4e04 | ||
18 | |||
19 | |||
20 | #define BT_CHIP_CSR 1 | ||
21 | #define BT_CHIP_TI 2 | ||
22 | |||
23 | #define BT_SYSCLK_12 1 | ||
24 | #define BT_SYSCLK_38_4 2 | ||
25 | |||
26 | struct omap_bluetooth_config { | ||
27 | u8 chip_type; | ||
28 | u8 bt_wakeup_gpio; | ||
29 | u8 host_wakeup_gpio; | ||
30 | u8 reset_gpio; | ||
31 | u8 bt_uart; | ||
32 | u8 bd_addr[6]; | ||
33 | u8 bt_sysclk; | ||
34 | }; | ||
35 | |||
36 | struct omap_wlan_cx3110x_config { | ||
37 | u8 chip_type; | ||
38 | s16 power_gpio; | ||
39 | s16 irq_gpio; | ||
40 | s16 spi_cs_gpio; | ||
41 | }; | ||
42 | |||
43 | struct omap_cbus_config { | ||
44 | s16 clk_gpio; | ||
45 | s16 dat_gpio; | ||
46 | s16 sel_gpio; | ||
47 | }; | ||
48 | |||
49 | struct omap_em_asic_bb5_config { | ||
50 | s16 retu_irq_gpio; | ||
51 | s16 tahvo_irq_gpio; | ||
52 | }; | ||
53 | |||
54 | #endif | ||
diff --git a/arch/arm/plat-omap/include/mach/board-omap3beagle.h b/arch/arm/plat-omap/include/mach/board-omap3beagle.h deleted file mode 100644 index 3080d52d877a..000000000000 --- a/arch/arm/plat-omap/include/mach/board-omap3beagle.h +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-omap/include/mach/board-omap3beagle.h | ||
3 | * | ||
4 | * Hardware definitions for TI OMAP3 BEAGLE. | ||
5 | * | ||
6 | * Initial creation by Syed Mohammed Khasim <khasim@ti.com> | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify it | ||
9 | * under the terms of the GNU General Public License as published by the | ||
10 | * Free Software Foundation; either version 2 of the License, or (at your | ||
11 | * option) any later version. | ||
12 | * | ||
13 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
14 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
15 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN | ||
16 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
17 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
18 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | ||
19 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
20 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
21 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
22 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License along | ||
25 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
26 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
27 | */ | ||
28 | |||
29 | #ifndef __ASM_ARCH_OMAP3_BEAGLE_H | ||
30 | #define __ASM_ARCH_OMAP3_BEAGLE_H | ||
31 | |||
32 | #endif /* __ASM_ARCH_OMAP3_BEAGLE_H */ | ||
33 | |||
diff --git a/arch/arm/plat-omap/include/mach/board-osk.h b/arch/arm/plat-omap/include/mach/board-osk.h deleted file mode 100644 index 3850cb1f220a..000000000000 --- a/arch/arm/plat-omap/include/mach/board-osk.h +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-omap/include/mach/board-osk.h | ||
3 | * | ||
4 | * Hardware definitions for TI OMAP5912 OSK board. | ||
5 | * | ||
6 | * Written by Dirk Behme <dirk.behme@de.bosch.com> | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify it | ||
9 | * under the terms of the GNU General Public License as published by the | ||
10 | * Free Software Foundation; either version 2 of the License, or (at your | ||
11 | * option) any later version. | ||
12 | * | ||
13 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
14 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
15 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN | ||
16 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
17 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
18 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | ||
19 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
20 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
21 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
22 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License along | ||
25 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
26 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
27 | */ | ||
28 | |||
29 | #ifndef __ASM_ARCH_OMAP_OSK_H | ||
30 | #define __ASM_ARCH_OMAP_OSK_H | ||
31 | |||
32 | /* At OMAP5912 OSK the Ethernet is directly connected to CS1 */ | ||
33 | #define OMAP_OSK_ETHR_START 0x04800300 | ||
34 | |||
35 | /* TPS65010 has four GPIOs. nPG and LED2 can be treated like GPIOs with | ||
36 | * alternate pin configurations for hardware-controlled blinking. | ||
37 | */ | ||
38 | #define OSK_TPS_GPIO_BASE (OMAP_MAX_GPIO_LINES + 16 /* MPUIO */) | ||
39 | # define OSK_TPS_GPIO_USB_PWR_EN (OSK_TPS_GPIO_BASE + 0) | ||
40 | # define OSK_TPS_GPIO_LED_D3 (OSK_TPS_GPIO_BASE + 1) | ||
41 | # define OSK_TPS_GPIO_LAN_RESET (OSK_TPS_GPIO_BASE + 2) | ||
42 | # define OSK_TPS_GPIO_DSP_PWR_EN (OSK_TPS_GPIO_BASE + 3) | ||
43 | # define OSK_TPS_GPIO_LED_D9 (OSK_TPS_GPIO_BASE + 4) | ||
44 | # define OSK_TPS_GPIO_LED_D2 (OSK_TPS_GPIO_BASE + 5) | ||
45 | |||
46 | #endif /* __ASM_ARCH_OMAP_OSK_H */ | ||
47 | |||
diff --git a/arch/arm/plat-omap/include/mach/board-overo.h b/arch/arm/plat-omap/include/mach/board-overo.h deleted file mode 100644 index 7ecae66966d1..000000000000 --- a/arch/arm/plat-omap/include/mach/board-overo.h +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | /* | ||
2 | * board-overo.h (Gumstix Overo) | ||
3 | * | ||
4 | * Initial code: Steve Sakoman <steve@sakoman.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License as published by the | ||
8 | * Free Software Foundation; either version 2 of the License, or (at your | ||
9 | * option) any later version. | ||
10 | * | ||
11 | * You should have received a copy of the GNU General Public License along | ||
12 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
13 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
14 | */ | ||
15 | |||
16 | #ifndef __ASM_ARCH_OVERO_H | ||
17 | #define __ASM_ARCH_OVERO_H | ||
18 | |||
19 | #define OVERO_GPIO_BT_XGATE 15 | ||
20 | #define OVERO_GPIO_W2W_NRESET 16 | ||
21 | #define OVERO_GPIO_BT_NRESET 164 | ||
22 | #define OVERO_GPIO_USBH_CPEN 168 | ||
23 | #define OVERO_GPIO_USBH_NRESET 183 | ||
24 | |||
25 | #endif /* ____ASM_ARCH_OVERO_H */ | ||
26 | |||
diff --git a/arch/arm/plat-omap/include/mach/board-palmte.h b/arch/arm/plat-omap/include/mach/board-palmte.h deleted file mode 100644 index 6906cdebbcfb..000000000000 --- a/arch/arm/plat-omap/include/mach/board-palmte.h +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-omap/include/mach/board-palmte.h | ||
3 | * | ||
4 | * Hardware definitions for the Palm Tungsten E device. | ||
5 | * | ||
6 | * Maintainters : http://palmtelinux.sf.net | ||
7 | * palmtelinux-developpers@lists.sf.net | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 as | ||
11 | * published by the Free Software Foundation. | ||
12 | */ | ||
13 | |||
14 | #ifndef __OMAP_BOARD_PALMTE_H | ||
15 | #define __OMAP_BOARD_PALMTE_H | ||
16 | |||
17 | #define PALMTE_USBDETECT_GPIO 0 | ||
18 | #define PALMTE_USB_OR_DC_GPIO 1 | ||
19 | #define PALMTE_TSC_GPIO 4 | ||
20 | #define PALMTE_PINTDAV_GPIO 6 | ||
21 | #define PALMTE_MMC_WP_GPIO 8 | ||
22 | #define PALMTE_MMC_POWER_GPIO 9 | ||
23 | #define PALMTE_HDQ_GPIO 11 | ||
24 | #define PALMTE_HEADPHONES_GPIO 14 | ||
25 | #define PALMTE_SPEAKER_GPIO 15 | ||
26 | #define PALMTE_DC_GPIO OMAP_MPUIO(2) | ||
27 | #define PALMTE_MMC_SWITCH_GPIO OMAP_MPUIO(4) | ||
28 | #define PALMTE_MMC1_GPIO OMAP_MPUIO(6) | ||
29 | #define PALMTE_MMC2_GPIO OMAP_MPUIO(7) | ||
30 | #define PALMTE_MMC3_GPIO OMAP_MPUIO(11) | ||
31 | |||
32 | #endif /* __OMAP_BOARD_PALMTE_H */ | ||
diff --git a/arch/arm/plat-omap/include/mach/board-palmtt.h b/arch/arm/plat-omap/include/mach/board-palmtt.h deleted file mode 100644 index e79f382b5931..000000000000 --- a/arch/arm/plat-omap/include/mach/board-palmtt.h +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-omap/include/mach/board-palmte.h | ||
3 | * | ||
4 | * Hardware definitions for the Palm Tungsten|T device. | ||
5 | * | ||
6 | * Maintainters : Marek Vasut <marek.vasut@gmail.com> | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #ifndef __OMAP_BOARD_PALMTT_H | ||
14 | #define __OMAP_BOARD_PALMTT_H | ||
15 | |||
16 | #define PALMTT_USBDETECT_GPIO 0 | ||
17 | #define PALMTT_CABLE_GPIO 1 | ||
18 | #define PALMTT_LED_GPIO 3 | ||
19 | #define PALMTT_PENIRQ_GPIO 6 | ||
20 | #define PALMTT_MMC_WP_GPIO 8 | ||
21 | #define PALMTT_HDQ_GPIO 11 | ||
22 | |||
23 | #endif /* __OMAP_BOARD_PALMTT_H */ | ||
diff --git a/arch/arm/plat-omap/include/mach/board-palmz71.h b/arch/arm/plat-omap/include/mach/board-palmz71.h deleted file mode 100644 index b1d7d579b313..000000000000 --- a/arch/arm/plat-omap/include/mach/board-palmz71.h +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-omap/include/mach/board-palmz71.h | ||
3 | * | ||
4 | * Hardware definitions for the Palm Zire71 device. | ||
5 | * | ||
6 | * Maintainters : Marek Vasut <marek.vasut@gmail.com> | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #ifndef __OMAP_BOARD_PALMZ71_H | ||
14 | #define __OMAP_BOARD_PALMZ71_H | ||
15 | |||
16 | #define PALMZ71_USBDETECT_GPIO 0 | ||
17 | #define PALMZ71_PENIRQ_GPIO 6 | ||
18 | #define PALMZ71_MMC_WP_GPIO 8 | ||
19 | #define PALMZ71_HDQ_GPIO 11 | ||
20 | |||
21 | #define PALMZ71_HOTSYNC_GPIO OMAP_MPUIO(1) | ||
22 | #define PALMZ71_CABLE_GPIO OMAP_MPUIO(2) | ||
23 | #define PALMZ71_SLIDER_GPIO OMAP_MPUIO(3) | ||
24 | #define PALMZ71_MMC_IN_GPIO OMAP_MPUIO(4) | ||
25 | |||
26 | #endif /* __OMAP_BOARD_PALMZ71_H */ | ||
diff --git a/arch/arm/plat-omap/include/mach/board-perseus2.h b/arch/arm/plat-omap/include/mach/board-perseus2.h deleted file mode 100644 index c06c3d717d57..000000000000 --- a/arch/arm/plat-omap/include/mach/board-perseus2.h +++ /dev/null | |||
@@ -1,39 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-omap/include/mach/board-perseus2.h | ||
3 | * | ||
4 | * Copyright 2003 by Texas Instruments Incorporated | ||
5 | * OMAP730 / Perseus2 support by Jean Pihet | ||
6 | * | ||
7 | * Copyright (C) 2001 RidgeRun, Inc. (http://www.ridgerun.com) | ||
8 | * Author: RidgeRun, Inc. | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify it | ||
11 | * under the terms of the GNU General Public License as published by the | ||
12 | * Free Software Foundation; either version 2 of the License, or (at your | ||
13 | * option) any later version. | ||
14 | * | ||
15 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
16 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
17 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN | ||
18 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
19 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
20 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | ||
21 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
22 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
23 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
24 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License along | ||
27 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
28 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
29 | */ | ||
30 | #ifndef __ASM_ARCH_OMAP_PERSEUS2_H | ||
31 | #define __ASM_ARCH_OMAP_PERSEUS2_H | ||
32 | |||
33 | #include <mach/fpga.h> | ||
34 | |||
35 | #ifndef OMAP_SDRAM_DEVICE | ||
36 | #define OMAP_SDRAM_DEVICE D256M_1X16_4B | ||
37 | #endif | ||
38 | |||
39 | #endif | ||
diff --git a/arch/arm/plat-omap/include/mach/board-voiceblue.h b/arch/arm/plat-omap/include/mach/board-voiceblue.h index ed6d346ee123..27916b210f57 100644 --- a/arch/arm/plat-omap/include/mach/board-voiceblue.h +++ b/arch/arm/plat-omap/include/mach/board-voiceblue.h | |||
@@ -14,7 +14,6 @@ | |||
14 | extern void voiceblue_wdt_enable(void); | 14 | extern void voiceblue_wdt_enable(void); |
15 | extern void voiceblue_wdt_disable(void); | 15 | extern void voiceblue_wdt_disable(void); |
16 | extern void voiceblue_wdt_ping(void); | 16 | extern void voiceblue_wdt_ping(void); |
17 | extern void voiceblue_reset(void); | ||
18 | 17 | ||
19 | #endif /* __ASM_ARCH_VOICEBLUE_H */ | 18 | #endif /* __ASM_ARCH_VOICEBLUE_H */ |
20 | 19 | ||
diff --git a/arch/arm/plat-omap/include/mach/board.h b/arch/arm/plat-omap/include/mach/board.h index 9466772fc7c8..50ea79a0efa2 100644 --- a/arch/arm/plat-omap/include/mach/board.h +++ b/arch/arm/plat-omap/include/mach/board.h | |||
@@ -17,7 +17,6 @@ | |||
17 | /* Different peripheral ids */ | 17 | /* Different peripheral ids */ |
18 | #define OMAP_TAG_CLOCK 0x4f01 | 18 | #define OMAP_TAG_CLOCK 0x4f01 |
19 | #define OMAP_TAG_SERIAL_CONSOLE 0x4f03 | 19 | #define OMAP_TAG_SERIAL_CONSOLE 0x4f03 |
20 | #define OMAP_TAG_USB 0x4f04 | ||
21 | #define OMAP_TAG_LCD 0x4f05 | 20 | #define OMAP_TAG_LCD 0x4f05 |
22 | #define OMAP_TAG_GPIO_SWITCH 0x4f06 | 21 | #define OMAP_TAG_GPIO_SWITCH 0x4f06 |
23 | #define OMAP_TAG_UART 0x4f07 | 22 | #define OMAP_TAG_UART 0x4f07 |
@@ -133,9 +132,6 @@ struct omap_version_config { | |||
133 | char version[12]; | 132 | char version[12]; |
134 | }; | 133 | }; |
135 | 134 | ||
136 | |||
137 | #include <mach/board-nokia.h> | ||
138 | |||
139 | struct omap_board_config_entry { | 135 | struct omap_board_config_entry { |
140 | u16 tag; | 136 | u16 tag; |
141 | u16 len; | 137 | u16 len; |
diff --git a/arch/arm/plat-omap/include/mach/cpu.h b/arch/arm/plat-omap/include/mach/cpu.h index 4166a970daa4..98b144252364 100644 --- a/arch/arm/plat-omap/include/mach/cpu.h +++ b/arch/arm/plat-omap/include/mach/cpu.h | |||
@@ -56,6 +56,14 @@ unsigned int omap_rev(void); | |||
56 | # define OMAP_NAME omap730 | 56 | # define OMAP_NAME omap730 |
57 | # endif | 57 | # endif |
58 | #endif | 58 | #endif |
59 | #ifdef CONFIG_ARCH_OMAP850 | ||
60 | # ifdef OMAP_NAME | ||
61 | # undef MULTI_OMAP1 | ||
62 | # define MULTI_OMAP1 | ||
63 | # else | ||
64 | # define OMAP_NAME omap850 | ||
65 | # endif | ||
66 | #endif | ||
59 | #ifdef CONFIG_ARCH_OMAP15XX | 67 | #ifdef CONFIG_ARCH_OMAP15XX |
60 | # ifdef OMAP_NAME | 68 | # ifdef OMAP_NAME |
61 | # undef MULTI_OMAP1 | 69 | # undef MULTI_OMAP1 |
@@ -105,7 +113,7 @@ unsigned int omap_rev(void); | |||
105 | /* | 113 | /* |
106 | * Macros to group OMAP into cpu classes. | 114 | * Macros to group OMAP into cpu classes. |
107 | * These can be used in most places. | 115 | * These can be used in most places. |
108 | * cpu_is_omap7xx(): True for OMAP730 | 116 | * cpu_is_omap7xx(): True for OMAP730, OMAP850 |
109 | * cpu_is_omap15xx(): True for OMAP1510, OMAP5910 and OMAP310 | 117 | * cpu_is_omap15xx(): True for OMAP1510, OMAP5910 and OMAP310 |
110 | * cpu_is_omap16xx(): True for OMAP1610, OMAP5912 and OMAP1710 | 118 | * cpu_is_omap16xx(): True for OMAP1610, OMAP5912 and OMAP1710 |
111 | * cpu_is_omap24xx(): True for OMAP2420, OMAP2422, OMAP2423, OMAP2430 | 119 | * cpu_is_omap24xx(): True for OMAP2420, OMAP2422, OMAP2423, OMAP2430 |
@@ -153,6 +161,10 @@ IS_OMAP_SUBCLASS(343x, 0x343) | |||
153 | # undef cpu_is_omap7xx | 161 | # undef cpu_is_omap7xx |
154 | # define cpu_is_omap7xx() is_omap7xx() | 162 | # define cpu_is_omap7xx() is_omap7xx() |
155 | # endif | 163 | # endif |
164 | # if defined(CONFIG_ARCH_OMAP850) | ||
165 | # undef cpu_is_omap7xx | ||
166 | # define cpu_is_omap7xx() is_omap7xx() | ||
167 | # endif | ||
156 | # if defined(CONFIG_ARCH_OMAP15XX) | 168 | # if defined(CONFIG_ARCH_OMAP15XX) |
157 | # undef cpu_is_omap15xx | 169 | # undef cpu_is_omap15xx |
158 | # define cpu_is_omap15xx() is_omap15xx() | 170 | # define cpu_is_omap15xx() is_omap15xx() |
@@ -166,6 +178,10 @@ IS_OMAP_SUBCLASS(343x, 0x343) | |||
166 | # undef cpu_is_omap7xx | 178 | # undef cpu_is_omap7xx |
167 | # define cpu_is_omap7xx() 1 | 179 | # define cpu_is_omap7xx() 1 |
168 | # endif | 180 | # endif |
181 | # if defined(CONFIG_ARCH_OMAP850) | ||
182 | # undef cpu_is_omap7xx | ||
183 | # define cpu_is_omap7xx() 1 | ||
184 | # endif | ||
169 | # if defined(CONFIG_ARCH_OMAP15XX) | 185 | # if defined(CONFIG_ARCH_OMAP15XX) |
170 | # undef cpu_is_omap15xx | 186 | # undef cpu_is_omap15xx |
171 | # define cpu_is_omap15xx() 1 | 187 | # define cpu_is_omap15xx() 1 |
@@ -219,6 +235,7 @@ IS_OMAP_SUBCLASS(343x, 0x343) | |||
219 | * These are only rarely needed. | 235 | * These are only rarely needed. |
220 | * cpu_is_omap330(): True for OMAP330 | 236 | * cpu_is_omap330(): True for OMAP330 |
221 | * cpu_is_omap730(): True for OMAP730 | 237 | * cpu_is_omap730(): True for OMAP730 |
238 | * cpu_is_omap850(): True for OMAP850 | ||
222 | * cpu_is_omap1510(): True for OMAP1510 | 239 | * cpu_is_omap1510(): True for OMAP1510 |
223 | * cpu_is_omap1610(): True for OMAP1610 | 240 | * cpu_is_omap1610(): True for OMAP1610 |
224 | * cpu_is_omap1611(): True for OMAP1611 | 241 | * cpu_is_omap1611(): True for OMAP1611 |
@@ -241,6 +258,7 @@ static inline int is_omap ##type (void) \ | |||
241 | 258 | ||
242 | IS_OMAP_TYPE(310, 0x0310) | 259 | IS_OMAP_TYPE(310, 0x0310) |
243 | IS_OMAP_TYPE(730, 0x0730) | 260 | IS_OMAP_TYPE(730, 0x0730) |
261 | IS_OMAP_TYPE(850, 0x0850) | ||
244 | IS_OMAP_TYPE(1510, 0x1510) | 262 | IS_OMAP_TYPE(1510, 0x1510) |
245 | IS_OMAP_TYPE(1610, 0x1610) | 263 | IS_OMAP_TYPE(1610, 0x1610) |
246 | IS_OMAP_TYPE(1611, 0x1611) | 264 | IS_OMAP_TYPE(1611, 0x1611) |
@@ -255,6 +273,7 @@ IS_OMAP_TYPE(3430, 0x3430) | |||
255 | 273 | ||
256 | #define cpu_is_omap310() 0 | 274 | #define cpu_is_omap310() 0 |
257 | #define cpu_is_omap730() 0 | 275 | #define cpu_is_omap730() 0 |
276 | #define cpu_is_omap850() 0 | ||
258 | #define cpu_is_omap1510() 0 | 277 | #define cpu_is_omap1510() 0 |
259 | #define cpu_is_omap1610() 0 | 278 | #define cpu_is_omap1610() 0 |
260 | #define cpu_is_omap5912() 0 | 279 | #define cpu_is_omap5912() 0 |
@@ -272,12 +291,22 @@ IS_OMAP_TYPE(3430, 0x3430) | |||
272 | # undef cpu_is_omap730 | 291 | # undef cpu_is_omap730 |
273 | # define cpu_is_omap730() is_omap730() | 292 | # define cpu_is_omap730() is_omap730() |
274 | # endif | 293 | # endif |
294 | # if defined(CONFIG_ARCH_OMAP850) | ||
295 | # undef cpu_is_omap850 | ||
296 | # define cpu_is_omap850() is_omap850() | ||
297 | # endif | ||
275 | #else | 298 | #else |
276 | # if defined(CONFIG_ARCH_OMAP730) | 299 | # if defined(CONFIG_ARCH_OMAP730) |
277 | # undef cpu_is_omap730 | 300 | # undef cpu_is_omap730 |
278 | # define cpu_is_omap730() 1 | 301 | # define cpu_is_omap730() 1 |
279 | # endif | 302 | # endif |
280 | #endif | 303 | #endif |
304 | #else | ||
305 | # if defined(CONFIG_ARCH_OMAP850) | ||
306 | # undef cpu_is_omap850 | ||
307 | # define cpu_is_omap850() 1 | ||
308 | # endif | ||
309 | #endif | ||
281 | 310 | ||
282 | /* | 311 | /* |
283 | * Whether we have MULTI_OMAP1 or not, we still need to distinguish | 312 | * Whether we have MULTI_OMAP1 or not, we still need to distinguish |
@@ -320,7 +349,7 @@ IS_OMAP_TYPE(3430, 0x3430) | |||
320 | #endif | 349 | #endif |
321 | 350 | ||
322 | /* Macros to detect if we have OMAP1 or OMAP2 */ | 351 | /* Macros to detect if we have OMAP1 or OMAP2 */ |
323 | #define cpu_class_is_omap1() (cpu_is_omap730() || cpu_is_omap15xx() || \ | 352 | #define cpu_class_is_omap1() (cpu_is_omap7xx() || cpu_is_omap15xx() || \ |
324 | cpu_is_omap16xx()) | 353 | cpu_is_omap16xx()) |
325 | #define cpu_class_is_omap2() (cpu_is_omap24xx() || cpu_is_omap34xx()) | 354 | #define cpu_class_is_omap2() (cpu_is_omap24xx() || cpu_is_omap34xx()) |
326 | 355 | ||
@@ -392,5 +421,3 @@ int omap_type(void); | |||
392 | void omap2_check_revision(void); | 421 | void omap2_check_revision(void); |
393 | 422 | ||
394 | #endif /* defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) */ | 423 | #endif /* defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) */ |
395 | |||
396 | #endif | ||
diff --git a/arch/arm/plat-omap/include/mach/gpio.h b/arch/arm/plat-omap/include/mach/gpio.h index 8d9dfe314387..2b22a8799bc6 100644 --- a/arch/arm/plat-omap/include/mach/gpio.h +++ b/arch/arm/plat-omap/include/mach/gpio.h | |||
@@ -31,7 +31,8 @@ | |||
31 | 31 | ||
32 | #define OMAP_MPUIO_BASE 0xfffb5000 | 32 | #define OMAP_MPUIO_BASE 0xfffb5000 |
33 | 33 | ||
34 | #ifdef CONFIG_ARCH_OMAP730 | 34 | #if (defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)) |
35 | |||
35 | #define OMAP_MPUIO_INPUT_LATCH 0x00 | 36 | #define OMAP_MPUIO_INPUT_LATCH 0x00 |
36 | #define OMAP_MPUIO_OUTPUT 0x02 | 37 | #define OMAP_MPUIO_OUTPUT 0x02 |
37 | #define OMAP_MPUIO_IO_CNTL 0x04 | 38 | #define OMAP_MPUIO_IO_CNTL 0x04 |
diff --git a/arch/arm/plat-omap/include/mach/hardware.h b/arch/arm/plat-omap/include/mach/hardware.h index 6589ddbb63b2..3dc423ed3e80 100644 --- a/arch/arm/plat-omap/include/mach/hardware.h +++ b/arch/arm/plat-omap/include/mach/hardware.h | |||
@@ -286,78 +286,4 @@ | |||
286 | #include "omap24xx.h" | 286 | #include "omap24xx.h" |
287 | #include "omap34xx.h" | 287 | #include "omap34xx.h" |
288 | 288 | ||
289 | #ifndef __ASSEMBLER__ | ||
290 | |||
291 | /* | ||
292 | * --------------------------------------------------------------------------- | ||
293 | * Board specific defines | ||
294 | * --------------------------------------------------------------------------- | ||
295 | */ | ||
296 | |||
297 | #ifdef CONFIG_MACH_OMAP_INNOVATOR | ||
298 | #include "board-innovator.h" | ||
299 | #endif | ||
300 | |||
301 | #ifdef CONFIG_MACH_OMAP_H2 | ||
302 | #include "board-h2.h" | ||
303 | #endif | ||
304 | |||
305 | #ifdef CONFIG_MACH_OMAP_PERSEUS2 | ||
306 | #include "board-perseus2.h" | ||
307 | #endif | ||
308 | |||
309 | #ifdef CONFIG_MACH_OMAP_FSAMPLE | ||
310 | #include "board-fsample.h" | ||
311 | #endif | ||
312 | |||
313 | #ifdef CONFIG_MACH_OMAP_H3 | ||
314 | #include "board-h3.h" | ||
315 | #endif | ||
316 | |||
317 | #ifdef CONFIG_MACH_OMAP_H4 | ||
318 | #include "board-h4.h" | ||
319 | #endif | ||
320 | |||
321 | #ifdef CONFIG_MACH_OMAP_2430SDP | ||
322 | #include "board-2430sdp.h" | ||
323 | #endif | ||
324 | |||
325 | #ifdef CONFIG_MACH_OMAP3_BEAGLE | ||
326 | #include "board-omap3beagle.h" | ||
327 | #endif | ||
328 | |||
329 | #ifdef CONFIG_MACH_OMAP_LDP | ||
330 | #include "board-ldp.h" | ||
331 | #endif | ||
332 | |||
333 | #ifdef CONFIG_MACH_OMAP_APOLLON | ||
334 | #include "board-apollon.h" | ||
335 | #endif | ||
336 | |||
337 | #ifdef CONFIG_MACH_OMAP_OSK | ||
338 | #include "board-osk.h" | ||
339 | #endif | ||
340 | |||
341 | #ifdef CONFIG_MACH_VOICEBLUE | ||
342 | #include "board-voiceblue.h" | ||
343 | #endif | ||
344 | |||
345 | #ifdef CONFIG_MACH_OMAP_PALMTE | ||
346 | #include "board-palmte.h" | ||
347 | #endif | ||
348 | |||
349 | #ifdef CONFIG_MACH_OMAP_PALMZ71 | ||
350 | #include "board-palmz71.h" | ||
351 | #endif | ||
352 | |||
353 | #ifdef CONFIG_MACH_OMAP_PALMTT | ||
354 | #include "board-palmtt.h" | ||
355 | #endif | ||
356 | |||
357 | #ifdef CONFIG_MACH_SX1 | ||
358 | #include "board-sx1.h" | ||
359 | #endif | ||
360 | |||
361 | #endif /* !__ASSEMBLER__ */ | ||
362 | |||
363 | #endif /* __ASM_ARCH_OMAP_HARDWARE_H */ | 289 | #endif /* __ASM_ARCH_OMAP_HARDWARE_H */ |
diff --git a/arch/arm/plat-omap/include/mach/irqs.h b/arch/arm/plat-omap/include/mach/irqs.h index bed5274c910a..7f57ee66f364 100644 --- a/arch/arm/plat-omap/include/mach/irqs.h +++ b/arch/arm/plat-omap/include/mach/irqs.h | |||
@@ -105,6 +105,29 @@ | |||
105 | #define INT_730_SPGIO_WR 29 | 105 | #define INT_730_SPGIO_WR 29 |
106 | 106 | ||
107 | /* | 107 | /* |
108 | * OMAP-850 specific IRQ numbers for interrupt handler 1 | ||
109 | */ | ||
110 | #define INT_850_IH2_FIQ 0 | ||
111 | #define INT_850_IH2_IRQ 1 | ||
112 | #define INT_850_USB_NON_ISO 2 | ||
113 | #define INT_850_USB_ISO 3 | ||
114 | #define INT_850_ICR 4 | ||
115 | #define INT_850_EAC 5 | ||
116 | #define INT_850_GPIO_BANK1 6 | ||
117 | #define INT_850_GPIO_BANK2 7 | ||
118 | #define INT_850_GPIO_BANK3 8 | ||
119 | #define INT_850_McBSP2TX 10 | ||
120 | #define INT_850_McBSP2RX 11 | ||
121 | #define INT_850_McBSP2RX_OVF 12 | ||
122 | #define INT_850_LCD_LINE 14 | ||
123 | #define INT_850_GSM_PROTECT 15 | ||
124 | #define INT_850_TIMER3 16 | ||
125 | #define INT_850_GPIO_BANK5 17 | ||
126 | #define INT_850_GPIO_BANK6 18 | ||
127 | #define INT_850_SPGIO_WR 29 | ||
128 | |||
129 | |||
130 | /* | ||
108 | * IRQ numbers for interrupt handler 2 | 131 | * IRQ numbers for interrupt handler 2 |
109 | * | 132 | * |
110 | * NOTE: See also the OMAP-1510 and 1610 specific IRQ numbers below | 133 | * NOTE: See also the OMAP-1510 and 1610 specific IRQ numbers below |
@@ -237,6 +260,64 @@ | |||
237 | #define INT_730_DMA_CH15 (62 + IH2_BASE) | 260 | #define INT_730_DMA_CH15 (62 + IH2_BASE) |
238 | #define INT_730_NAND (63 + IH2_BASE) | 261 | #define INT_730_NAND (63 + IH2_BASE) |
239 | 262 | ||
263 | /* | ||
264 | * OMAP-850 specific IRQ numbers for interrupt handler 2 | ||
265 | */ | ||
266 | #define INT_850_HW_ERRORS (0 + IH2_BASE) | ||
267 | #define INT_850_NFIQ_PWR_FAIL (1 + IH2_BASE) | ||
268 | #define INT_850_CFCD (2 + IH2_BASE) | ||
269 | #define INT_850_CFIREQ (3 + IH2_BASE) | ||
270 | #define INT_850_I2C (4 + IH2_BASE) | ||
271 | #define INT_850_PCC (5 + IH2_BASE) | ||
272 | #define INT_850_MPU_EXT_NIRQ (6 + IH2_BASE) | ||
273 | #define INT_850_SPI_100K_1 (7 + IH2_BASE) | ||
274 | #define INT_850_SYREN_SPI (8 + IH2_BASE) | ||
275 | #define INT_850_VLYNQ (9 + IH2_BASE) | ||
276 | #define INT_850_GPIO_BANK4 (10 + IH2_BASE) | ||
277 | #define INT_850_McBSP1TX (11 + IH2_BASE) | ||
278 | #define INT_850_McBSP1RX (12 + IH2_BASE) | ||
279 | #define INT_850_McBSP1RX_OF (13 + IH2_BASE) | ||
280 | #define INT_850_UART_MODEM_IRDA_2 (14 + IH2_BASE) | ||
281 | #define INT_850_UART_MODEM_1 (15 + IH2_BASE) | ||
282 | #define INT_850_MCSI (16 + IH2_BASE) | ||
283 | #define INT_850_uWireTX (17 + IH2_BASE) | ||
284 | #define INT_850_uWireRX (18 + IH2_BASE) | ||
285 | #define INT_850_SMC_CD (19 + IH2_BASE) | ||
286 | #define INT_850_SMC_IREQ (20 + IH2_BASE) | ||
287 | #define INT_850_HDQ_1WIRE (21 + IH2_BASE) | ||
288 | #define INT_850_TIMER32K (22 + IH2_BASE) | ||
289 | #define INT_850_MMC_SDIO (23 + IH2_BASE) | ||
290 | #define INT_850_UPLD (24 + IH2_BASE) | ||
291 | #define INT_850_USB_HHC_1 (27 + IH2_BASE) | ||
292 | #define INT_850_USB_HHC_2 (28 + IH2_BASE) | ||
293 | #define INT_850_USB_GENI (29 + IH2_BASE) | ||
294 | #define INT_850_USB_OTG (30 + IH2_BASE) | ||
295 | #define INT_850_CAMERA_IF (31 + IH2_BASE) | ||
296 | #define INT_850_RNG (32 + IH2_BASE) | ||
297 | #define INT_850_DUAL_MODE_TIMER (33 + IH2_BASE) | ||
298 | #define INT_850_DBB_RF_EN (34 + IH2_BASE) | ||
299 | #define INT_850_MPUIO_KEYPAD (35 + IH2_BASE) | ||
300 | #define INT_850_SHA1_MD5 (36 + IH2_BASE) | ||
301 | #define INT_850_SPI_100K_2 (37 + IH2_BASE) | ||
302 | #define INT_850_RNG_IDLE (38 + IH2_BASE) | ||
303 | #define INT_850_MPUIO (39 + IH2_BASE) | ||
304 | #define INT_850_LLPC_LCD_CTRL_CAN_BE_OFF (40 + IH2_BASE) | ||
305 | #define INT_850_LLPC_OE_FALLING (41 + IH2_BASE) | ||
306 | #define INT_850_LLPC_OE_RISING (42 + IH2_BASE) | ||
307 | #define INT_850_LLPC_VSYNC (43 + IH2_BASE) | ||
308 | #define INT_850_WAKE_UP_REQ (46 + IH2_BASE) | ||
309 | #define INT_850_DMA_CH6 (53 + IH2_BASE) | ||
310 | #define INT_850_DMA_CH7 (54 + IH2_BASE) | ||
311 | #define INT_850_DMA_CH8 (55 + IH2_BASE) | ||
312 | #define INT_850_DMA_CH9 (56 + IH2_BASE) | ||
313 | #define INT_850_DMA_CH10 (57 + IH2_BASE) | ||
314 | #define INT_850_DMA_CH11 (58 + IH2_BASE) | ||
315 | #define INT_850_DMA_CH12 (59 + IH2_BASE) | ||
316 | #define INT_850_DMA_CH13 (60 + IH2_BASE) | ||
317 | #define INT_850_DMA_CH14 (61 + IH2_BASE) | ||
318 | #define INT_850_DMA_CH15 (62 + IH2_BASE) | ||
319 | #define INT_850_NAND (63 + IH2_BASE) | ||
320 | |||
240 | #define INT_24XX_SYS_NIRQ 7 | 321 | #define INT_24XX_SYS_NIRQ 7 |
241 | #define INT_24XX_SDMA_IRQ0 12 | 322 | #define INT_24XX_SDMA_IRQ0 12 |
242 | #define INT_24XX_SDMA_IRQ1 13 | 323 | #define INT_24XX_SDMA_IRQ1 13 |
@@ -341,7 +422,7 @@ | |||
341 | 422 | ||
342 | #define INT_34XX_BENCH_MPU_EMUL 3 | 423 | #define INT_34XX_BENCH_MPU_EMUL 3 |
343 | 424 | ||
344 | /* Max. 128 level 2 IRQs (OMAP1610), 192 GPIOs (OMAP730) and | 425 | /* Max. 128 level 2 IRQs (OMAP1610), 192 GPIOs (OMAP730/850) and |
345 | * 16 MPUIO lines */ | 426 | * 16 MPUIO lines */ |
346 | #define OMAP_MAX_GPIO_LINES 192 | 427 | #define OMAP_MAX_GPIO_LINES 192 |
347 | #define IH_GPIO_BASE (128 + IH2_BASE) | 428 | #define IH_GPIO_BASE (128 + IH2_BASE) |
diff --git a/arch/arm/plat-omap/include/mach/mailbox.h b/arch/arm/plat-omap/include/mach/mailbox.h index 7cbed9332e16..b7a6991814ec 100644 --- a/arch/arm/plat-omap/include/mach/mailbox.h +++ b/arch/arm/plat-omap/include/mach/mailbox.h | |||
@@ -33,6 +33,9 @@ struct omap_mbox_ops { | |||
33 | void (*disable_irq)(struct omap_mbox *mbox, omap_mbox_irq_t irq); | 33 | void (*disable_irq)(struct omap_mbox *mbox, omap_mbox_irq_t irq); |
34 | void (*ack_irq)(struct omap_mbox *mbox, omap_mbox_irq_t irq); | 34 | void (*ack_irq)(struct omap_mbox *mbox, omap_mbox_irq_t irq); |
35 | int (*is_irq)(struct omap_mbox *mbox, omap_mbox_irq_t irq); | 35 | int (*is_irq)(struct omap_mbox *mbox, omap_mbox_irq_t irq); |
36 | /* ctx */ | ||
37 | void (*save_ctx)(struct omap_mbox *mbox); | ||
38 | void (*restore_ctx)(struct omap_mbox *mbox); | ||
36 | }; | 39 | }; |
37 | 40 | ||
38 | struct omap_mbox_queue { | 41 | struct omap_mbox_queue { |
@@ -53,7 +56,7 @@ struct omap_mbox { | |||
53 | 56 | ||
54 | mbox_msg_t seq_snd, seq_rcv; | 57 | mbox_msg_t seq_snd, seq_rcv; |
55 | 58 | ||
56 | struct device dev; | 59 | struct device *dev; |
57 | 60 | ||
58 | struct omap_mbox *next; | 61 | struct omap_mbox *next; |
59 | void *priv; | 62 | void *priv; |
@@ -67,7 +70,27 @@ void omap_mbox_init_seq(struct omap_mbox *); | |||
67 | struct omap_mbox *omap_mbox_get(const char *); | 70 | struct omap_mbox *omap_mbox_get(const char *); |
68 | void omap_mbox_put(struct omap_mbox *); | 71 | void omap_mbox_put(struct omap_mbox *); |
69 | 72 | ||
70 | int omap_mbox_register(struct omap_mbox *); | 73 | int omap_mbox_register(struct device *parent, struct omap_mbox *); |
71 | int omap_mbox_unregister(struct omap_mbox *); | 74 | int omap_mbox_unregister(struct omap_mbox *); |
72 | 75 | ||
76 | static inline void omap_mbox_save_ctx(struct omap_mbox *mbox) | ||
77 | { | ||
78 | if (!mbox->ops->save_ctx) { | ||
79 | dev_err(mbox->dev, "%s:\tno save\n", __func__); | ||
80 | return; | ||
81 | } | ||
82 | |||
83 | mbox->ops->save_ctx(mbox); | ||
84 | } | ||
85 | |||
86 | static inline void omap_mbox_restore_ctx(struct omap_mbox *mbox) | ||
87 | { | ||
88 | if (!mbox->ops->restore_ctx) { | ||
89 | dev_err(mbox->dev, "%s:\tno restore\n", __func__); | ||
90 | return; | ||
91 | } | ||
92 | |||
93 | mbox->ops->restore_ctx(mbox); | ||
94 | } | ||
95 | |||
73 | #endif /* MAILBOX_H */ | 96 | #endif /* MAILBOX_H */ |
diff --git a/arch/arm/plat-omap/include/mach/mmc.h b/arch/arm/plat-omap/include/mach/mmc.h index 73a9e15031b1..4435bd434e17 100644 --- a/arch/arm/plat-omap/include/mach/mmc.h +++ b/arch/arm/plat-omap/include/mach/mmc.h | |||
@@ -37,6 +37,8 @@ | |||
37 | #define OMAP_MMC_MAX_SLOTS 2 | 37 | #define OMAP_MMC_MAX_SLOTS 2 |
38 | 38 | ||
39 | struct omap_mmc_platform_data { | 39 | struct omap_mmc_platform_data { |
40 | /* back-link to device */ | ||
41 | struct device *dev; | ||
40 | 42 | ||
41 | /* number of slots per controller */ | 43 | /* number of slots per controller */ |
42 | unsigned nr_slots:2; | 44 | unsigned nr_slots:2; |
diff --git a/arch/arm/plat-omap/include/mach/mux.h b/arch/arm/plat-omap/include/mach/mux.h index f4362b8682c7..85a621705766 100644 --- a/arch/arm/plat-omap/include/mach/mux.h +++ b/arch/arm/plat-omap/include/mach/mux.h | |||
@@ -61,6 +61,16 @@ | |||
61 | .pull_bit = bit, \ | 61 | .pull_bit = bit, \ |
62 | .pull_val = status, | 62 | .pull_val = status, |
63 | 63 | ||
64 | #define MUX_REG_850(reg, mode_offset, mode) .mux_reg_name = "OMAP850_IO_CONF_"#reg, \ | ||
65 | .mux_reg = OMAP850_IO_CONF_##reg, \ | ||
66 | .mask_offset = mode_offset, \ | ||
67 | .mask = mode, | ||
68 | |||
69 | #define PULL_REG_850(reg, bit, status) .pull_name = "OMAP850_IO_CONF_"#reg, \ | ||
70 | .pull_reg = OMAP850_IO_CONF_##reg, \ | ||
71 | .pull_bit = bit, \ | ||
72 | .pull_val = status, | ||
73 | |||
64 | #else | 74 | #else |
65 | 75 | ||
66 | #define MUX_REG(reg, mode_offset, mode) .mux_reg = FUNC_MUX_CTRL_##reg, \ | 76 | #define MUX_REG(reg, mode_offset, mode) .mux_reg = FUNC_MUX_CTRL_##reg, \ |
@@ -83,6 +93,15 @@ | |||
83 | .pull_bit = bit, \ | 93 | .pull_bit = bit, \ |
84 | .pull_val = status, | 94 | .pull_val = status, |
85 | 95 | ||
96 | #define MUX_REG_850(reg, mode_offset, mode) \ | ||
97 | .mux_reg = OMAP850_IO_CONF_##reg, \ | ||
98 | .mask_offset = mode_offset, \ | ||
99 | .mask = mode, | ||
100 | |||
101 | #define PULL_REG_850(reg, bit, status) .pull_reg = OMAP850_IO_CONF_##reg, \ | ||
102 | .pull_bit = bit, \ | ||
103 | .pull_val = status, | ||
104 | |||
86 | #endif /* CONFIG_OMAP_MUX_DEBUG */ | 105 | #endif /* CONFIG_OMAP_MUX_DEBUG */ |
87 | 106 | ||
88 | #define MUX_CFG(desc, mux_reg, mode_offset, mode, \ | 107 | #define MUX_CFG(desc, mux_reg, mode_offset, mode, \ |
@@ -98,7 +117,7 @@ | |||
98 | 117 | ||
99 | 118 | ||
100 | /* | 119 | /* |
101 | * OMAP730 has a slightly different config for the pin mux. | 120 | * OMAP730/850 has a slightly different config for the pin mux. |
102 | * - config regs are the OMAP730_IO_CONF_x regs (see omap730.h) regs and | 121 | * - config regs are the OMAP730_IO_CONF_x regs (see omap730.h) regs and |
103 | * not the FUNC_MUX_CTRL_x regs from hardware.h | 122 | * not the FUNC_MUX_CTRL_x regs from hardware.h |
104 | * - for pull-up/down, only has one enable bit which is is in the same register | 123 | * - for pull-up/down, only has one enable bit which is is in the same register |
@@ -114,6 +133,17 @@ | |||
114 | PU_PD_REG(NA, 0) \ | 133 | PU_PD_REG(NA, 0) \ |
115 | }, | 134 | }, |
116 | 135 | ||
136 | #define MUX_CFG_850(desc, mux_reg, mode_offset, mode, \ | ||
137 | pull_bit, pull_status, debug_status)\ | ||
138 | { \ | ||
139 | .name = desc, \ | ||
140 | .debug = debug_status, \ | ||
141 | MUX_REG_850(mux_reg, mode_offset, mode) \ | ||
142 | PULL_REG_850(mux_reg, pull_bit, pull_status) \ | ||
143 | PU_PD_REG(NA, 0) \ | ||
144 | }, | ||
145 | |||
146 | |||
117 | #define MUX_CFG_24XX(desc, reg_offset, mode, \ | 147 | #define MUX_CFG_24XX(desc, reg_offset, mode, \ |
118 | pull_en, pull_mode, dbg) \ | 148 | pull_en, pull_mode, dbg) \ |
119 | { \ | 149 | { \ |
@@ -221,6 +251,26 @@ enum omap730_index { | |||
221 | W17_730_USB_VBUSI, | 251 | W17_730_USB_VBUSI, |
222 | }; | 252 | }; |
223 | 253 | ||
254 | enum omap850_index { | ||
255 | /* OMAP 850 keyboard */ | ||
256 | E2_850_KBR0, | ||
257 | J7_850_KBR1, | ||
258 | E1_850_KBR2, | ||
259 | F3_850_KBR3, | ||
260 | D2_850_KBR4, | ||
261 | C2_850_KBC0, | ||
262 | D3_850_KBC1, | ||
263 | E4_850_KBC2, | ||
264 | F4_850_KBC3, | ||
265 | E3_850_KBC4, | ||
266 | |||
267 | /* USB */ | ||
268 | AA17_850_USB_DM, | ||
269 | W16_850_USB_PU_EN, | ||
270 | W17_850_USB_VBUSI, | ||
271 | }; | ||
272 | |||
273 | |||
224 | enum omap1xxx_index { | 274 | enum omap1xxx_index { |
225 | /* UART1 (BT_UART_GATING)*/ | 275 | /* UART1 (BT_UART_GATING)*/ |
226 | UART1_TX = 0, | 276 | UART1_TX = 0, |
@@ -788,7 +838,20 @@ enum omap34xx_index { | |||
788 | * - "_DOWN" suffix (GPIO3_DOWN) with internal pulldown | 838 | * - "_DOWN" suffix (GPIO3_DOWN) with internal pulldown |
789 | * - "_OUT" suffix (GPIO3_OUT) for output-only pins (unlike 24xx) | 839 | * - "_OUT" suffix (GPIO3_OUT) for output-only pins (unlike 24xx) |
790 | */ | 840 | */ |
841 | AF26_34XX_GPIO0, | ||
842 | AF22_34XX_GPIO9, | ||
791 | AH8_34XX_GPIO29, | 843 | AH8_34XX_GPIO29, |
844 | U8_34XX_GPIO54_OUT, | ||
845 | U8_34XX_GPIO54_DOWN, | ||
846 | L8_34XX_GPIO63, | ||
847 | G25_34XX_GPIO86_OUT, | ||
848 | AG4_34XX_GPIO134_OUT, | ||
849 | AE4_34XX_GPIO136_OUT, | ||
850 | AF6_34XX_GPIO140_UP, | ||
851 | AE6_34XX_GPIO141, | ||
852 | AF5_34XX_GPIO142, | ||
853 | AE5_34XX_GPIO143, | ||
854 | H19_34XX_GPIO164_OUT, | ||
792 | J25_34XX_GPIO170, | 855 | J25_34XX_GPIO170, |
793 | }; | 856 | }; |
794 | 857 | ||
diff --git a/arch/arm/plat-omap/include/mach/omap34xx.h b/arch/arm/plat-omap/include/mach/omap34xx.h index 8e0479fff05a..1b1c35d21697 100644 --- a/arch/arm/plat-omap/include/mach/omap34xx.h +++ b/arch/arm/plat-omap/include/mach/omap34xx.h | |||
@@ -49,6 +49,33 @@ | |||
49 | #define OMAP343X_CTRL_BASE OMAP343X_SCM_BASE | 49 | #define OMAP343X_CTRL_BASE OMAP343X_SCM_BASE |
50 | 50 | ||
51 | #define OMAP34XX_IC_BASE 0x48200000 | 51 | #define OMAP34XX_IC_BASE 0x48200000 |
52 | |||
53 | #define OMAP3430_ISP_BASE (L4_34XX_BASE + 0xBC000) | ||
54 | #define OMAP3430_ISP_CBUFF_BASE (OMAP3430_ISP_BASE + 0x0100) | ||
55 | #define OMAP3430_ISP_CCP2_BASE (OMAP3430_ISP_BASE + 0x0400) | ||
56 | #define OMAP3430_ISP_CCDC_BASE (OMAP3430_ISP_BASE + 0x0600) | ||
57 | #define OMAP3430_ISP_HIST_BASE (OMAP3430_ISP_BASE + 0x0A00) | ||
58 | #define OMAP3430_ISP_H3A_BASE (OMAP3430_ISP_BASE + 0x0C00) | ||
59 | #define OMAP3430_ISP_PREV_BASE (OMAP3430_ISP_BASE + 0x0E00) | ||
60 | #define OMAP3430_ISP_RESZ_BASE (OMAP3430_ISP_BASE + 0x1000) | ||
61 | #define OMAP3430_ISP_SBL_BASE (OMAP3430_ISP_BASE + 0x1200) | ||
62 | #define OMAP3430_ISP_MMU_BASE (OMAP3430_ISP_BASE + 0x1400) | ||
63 | #define OMAP3430_ISP_CSI2A_BASE (OMAP3430_ISP_BASE + 0x1800) | ||
64 | #define OMAP3430_ISP_CSI2PHY_BASE (OMAP3430_ISP_BASE + 0x1970) | ||
65 | |||
66 | #define OMAP3430_ISP_END (OMAP3430_ISP_BASE + 0x06F) | ||
67 | #define OMAP3430_ISP_CBUFF_END (OMAP3430_ISP_CBUFF_BASE + 0x077) | ||
68 | #define OMAP3430_ISP_CCP2_END (OMAP3430_ISP_CCP2_BASE + 0x1EF) | ||
69 | #define OMAP3430_ISP_CCDC_END (OMAP3430_ISP_CCDC_BASE + 0x0A7) | ||
70 | #define OMAP3430_ISP_HIST_END (OMAP3430_ISP_HIST_BASE + 0x047) | ||
71 | #define OMAP3430_ISP_H3A_END (OMAP3430_ISP_H3A_BASE + 0x05F) | ||
72 | #define OMAP3430_ISP_PREV_END (OMAP3430_ISP_PREV_BASE + 0x09F) | ||
73 | #define OMAP3430_ISP_RESZ_END (OMAP3430_ISP_RESZ_BASE + 0x0AB) | ||
74 | #define OMAP3430_ISP_SBL_END (OMAP3430_ISP_SBL_BASE + 0x0FB) | ||
75 | #define OMAP3430_ISP_MMU_END (OMAP3430_ISP_MMU_BASE + 0x06F) | ||
76 | #define OMAP3430_ISP_CSI2A_END (OMAP3430_ISP_CSI2A_BASE + 0x16F) | ||
77 | #define OMAP3430_ISP_CSI2PHY_END (OMAP3430_ISP_CSI2PHY_BASE + 0x007) | ||
78 | |||
52 | #define OMAP34XX_IVA_INTC_BASE 0x40000000 | 79 | #define OMAP34XX_IVA_INTC_BASE 0x40000000 |
53 | #define OMAP34XX_HSUSB_OTG_BASE (L4_34XX_BASE + 0xAB000) | 80 | #define OMAP34XX_HSUSB_OTG_BASE (L4_34XX_BASE + 0xAB000) |
54 | #define OMAP34XX_HSUSB_HOST_BASE (L4_34XX_BASE + 0x64000) | 81 | #define OMAP34XX_HSUSB_HOST_BASE (L4_34XX_BASE + 0x64000) |
@@ -61,6 +88,7 @@ | |||
61 | #define OMAP2_CM_BASE OMAP3430_CM_BASE | 88 | #define OMAP2_CM_BASE OMAP3430_CM_BASE |
62 | #define OMAP2_PRM_BASE OMAP3430_PRM_BASE | 89 | #define OMAP2_PRM_BASE OMAP3430_PRM_BASE |
63 | #define OMAP2_VA_IC_BASE IO_ADDRESS(OMAP34XX_IC_BASE) | 90 | #define OMAP2_VA_IC_BASE IO_ADDRESS(OMAP34XX_IC_BASE) |
91 | #define OMAP34XX_MAILBOX_BASE (L4_34XX_BASE + 0x94000) | ||
64 | 92 | ||
65 | #endif | 93 | #endif |
66 | 94 | ||
diff --git a/arch/arm/plat-omap/include/mach/omap850.h b/arch/arm/plat-omap/include/mach/omap850.h new file mode 100644 index 000000000000..c33f67981712 --- /dev/null +++ b/arch/arm/plat-omap/include/mach/omap850.h | |||
@@ -0,0 +1,102 @@ | |||
1 | /* arch/arm/plat-omap/include/mach/omap850.h | ||
2 | * | ||
3 | * Hardware definitions for TI OMAP850 processor. | ||
4 | * | ||
5 | * Derived from omap730.h by Zebediah C. McClure <zmc@lurian.net> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License as published by the | ||
9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
10 | * option) any later version. | ||
11 | * | ||
12 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
13 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
14 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN | ||
15 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
16 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
17 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | ||
18 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
19 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
20 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
21 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
22 | * | ||
23 | * You should have received a copy of the GNU General Public License along | ||
24 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
25 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
26 | */ | ||
27 | |||
28 | #ifndef __ASM_ARCH_OMAP850_H | ||
29 | #define __ASM_ARCH_OMAP850_H | ||
30 | |||
31 | /* | ||
32 | * ---------------------------------------------------------------------------- | ||
33 | * Base addresses | ||
34 | * ---------------------------------------------------------------------------- | ||
35 | */ | ||
36 | |||
37 | /* Syntax: XX_BASE = Virtual base address, XX_START = Physical base address */ | ||
38 | |||
39 | #define OMAP850_DSP_BASE 0xE0000000 | ||
40 | #define OMAP850_DSP_SIZE 0x50000 | ||
41 | #define OMAP850_DSP_START 0xE0000000 | ||
42 | |||
43 | #define OMAP850_DSPREG_BASE 0xE1000000 | ||
44 | #define OMAP850_DSPREG_SIZE SZ_128K | ||
45 | #define OMAP850_DSPREG_START 0xE1000000 | ||
46 | |||
47 | /* | ||
48 | * ---------------------------------------------------------------------------- | ||
49 | * OMAP850 specific configuration registers | ||
50 | * ---------------------------------------------------------------------------- | ||
51 | */ | ||
52 | #define OMAP850_CONFIG_BASE 0xfffe1000 | ||
53 | #define OMAP850_IO_CONF_0 0xfffe1070 | ||
54 | #define OMAP850_IO_CONF_1 0xfffe1074 | ||
55 | #define OMAP850_IO_CONF_2 0xfffe1078 | ||
56 | #define OMAP850_IO_CONF_3 0xfffe107c | ||
57 | #define OMAP850_IO_CONF_4 0xfffe1080 | ||
58 | #define OMAP850_IO_CONF_5 0xfffe1084 | ||
59 | #define OMAP850_IO_CONF_6 0xfffe1088 | ||
60 | #define OMAP850_IO_CONF_7 0xfffe108c | ||
61 | #define OMAP850_IO_CONF_8 0xfffe1090 | ||
62 | #define OMAP850_IO_CONF_9 0xfffe1094 | ||
63 | #define OMAP850_IO_CONF_10 0xfffe1098 | ||
64 | #define OMAP850_IO_CONF_11 0xfffe109c | ||
65 | #define OMAP850_IO_CONF_12 0xfffe10a0 | ||
66 | #define OMAP850_IO_CONF_13 0xfffe10a4 | ||
67 | |||
68 | #define OMAP850_MODE_1 0xfffe1010 | ||
69 | #define OMAP850_MODE_2 0xfffe1014 | ||
70 | |||
71 | /* CSMI specials: in terms of base + offset */ | ||
72 | #define OMAP850_MODE2_OFFSET 0x14 | ||
73 | |||
74 | /* | ||
75 | * ---------------------------------------------------------------------------- | ||
76 | * OMAP850 traffic controller configuration registers | ||
77 | * ---------------------------------------------------------------------------- | ||
78 | */ | ||
79 | #define OMAP850_FLASH_CFG_0 0xfffecc10 | ||
80 | #define OMAP850_FLASH_ACFG_0 0xfffecc50 | ||
81 | #define OMAP850_FLASH_CFG_1 0xfffecc14 | ||
82 | #define OMAP850_FLASH_ACFG_1 0xfffecc54 | ||
83 | |||
84 | /* | ||
85 | * ---------------------------------------------------------------------------- | ||
86 | * OMAP850 DSP control registers | ||
87 | * ---------------------------------------------------------------------------- | ||
88 | */ | ||
89 | #define OMAP850_ICR_BASE 0xfffbb800 | ||
90 | #define OMAP850_DSP_M_CTL 0xfffbb804 | ||
91 | #define OMAP850_DSP_MMU_BASE 0xfffed200 | ||
92 | |||
93 | /* | ||
94 | * ---------------------------------------------------------------------------- | ||
95 | * OMAP850 PCC_UPLD configuration registers | ||
96 | * ---------------------------------------------------------------------------- | ||
97 | */ | ||
98 | #define OMAP850_PCC_UPLD_CTRL_BASE (0xfffe0900) | ||
99 | #define OMAP850_PCC_UPLD_CTRL (OMAP850_PCC_UPLD_CTRL_BASE + 0x00) | ||
100 | |||
101 | #endif /* __ASM_ARCH_OMAP850_H */ | ||
102 | |||
diff --git a/arch/arm/plat-omap/include/mach/system.h b/arch/arm/plat-omap/include/mach/system.h index cb8c0ef30fba..1060e345423b 100644 --- a/arch/arm/plat-omap/include/mach/system.h +++ b/arch/arm/plat-omap/include/mach/system.h | |||
@@ -13,6 +13,8 @@ | |||
13 | 13 | ||
14 | #ifndef CONFIG_MACH_VOICEBLUE | 14 | #ifndef CONFIG_MACH_VOICEBLUE |
15 | #define voiceblue_reset() do {} while (0) | 15 | #define voiceblue_reset() do {} while (0) |
16 | #else | ||
17 | extern void voiceblue_reset(void); | ||
16 | #endif | 18 | #endif |
17 | 19 | ||
18 | static inline void arch_idle(void) | 20 | static inline void arch_idle(void) |
diff --git a/arch/arm/plat-omap/include/mach/usb.h b/arch/arm/plat-omap/include/mach/usb.h index a56a610950c2..69f0ceed500b 100644 --- a/arch/arm/plat-omap/include/mach/usb.h +++ b/arch/arm/plat-omap/include/mach/usb.h | |||
@@ -27,8 +27,18 @@ | |||
27 | #define UDC_BASE OMAP2_UDC_BASE | 27 | #define UDC_BASE OMAP2_UDC_BASE |
28 | #define OMAP_OHCI_BASE OMAP2_OHCI_BASE | 28 | #define OMAP_OHCI_BASE OMAP2_OHCI_BASE |
29 | 29 | ||
30 | #ifdef CONFIG_USB_MUSB_SOC | ||
31 | extern void usb_musb_init(void); | ||
32 | #else | ||
33 | static inline void usb_musb_init(void) | ||
34 | { | ||
35 | } | ||
36 | #endif | ||
37 | |||
30 | #endif | 38 | #endif |
31 | 39 | ||
40 | void omap_usb_init(struct omap_usb_config *pdata); | ||
41 | |||
32 | /*-------------------------------------------------------------------------*/ | 42 | /*-------------------------------------------------------------------------*/ |
33 | 43 | ||
34 | /* | 44 | /* |
diff --git a/arch/arm/plat-omap/mailbox.c b/arch/arm/plat-omap/mailbox.c index b52ce053e6f2..0abfbaa59871 100644 --- a/arch/arm/plat-omap/mailbox.c +++ b/arch/arm/plat-omap/mailbox.c | |||
@@ -1,10 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * OMAP mailbox driver | 2 | * OMAP mailbox driver |
3 | * | 3 | * |
4 | * Copyright (C) 2006 Nokia Corporation. All rights reserved. | 4 | * Copyright (C) 2006-2009 Nokia Corporation. All rights reserved. |
5 | * | 5 | * |
6 | * Contact: Toshihiro Kobayashi <toshihiro.kobayashi@nokia.com> | 6 | * Contact: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> |
7 | * Restructured by Hiroshi DOYU <Hiroshi.DOYU@nokia.com> | ||
8 | * | 7 | * |
9 | * This program is free software; you can redistribute it and/or | 8 | * This program is free software; you can redistribute it and/or |
10 | * modify it under the terms of the GNU General Public License | 9 | * modify it under the terms of the GNU General Public License |
@@ -22,21 +21,98 @@ | |||
22 | * | 21 | * |
23 | */ | 22 | */ |
24 | 23 | ||
25 | #include <linux/init.h> | ||
26 | #include <linux/module.h> | 24 | #include <linux/module.h> |
27 | #include <linux/sched.h> | ||
28 | #include <linux/interrupt.h> | 25 | #include <linux/interrupt.h> |
29 | #include <linux/device.h> | 26 | #include <linux/device.h> |
30 | #include <linux/blkdev.h> | ||
31 | #include <linux/err.h> | ||
32 | #include <linux/delay.h> | 27 | #include <linux/delay.h> |
33 | #include <linux/io.h> | 28 | |
34 | #include <mach/mailbox.h> | 29 | #include <mach/mailbox.h> |
35 | #include "mailbox.h" | 30 | |
31 | static int enable_seq_bit; | ||
32 | module_param(enable_seq_bit, bool, 0); | ||
33 | MODULE_PARM_DESC(enable_seq_bit, "Enable sequence bit checking."); | ||
36 | 34 | ||
37 | static struct omap_mbox *mboxes; | 35 | static struct omap_mbox *mboxes; |
38 | static DEFINE_RWLOCK(mboxes_lock); | 36 | static DEFINE_RWLOCK(mboxes_lock); |
39 | 37 | ||
38 | /* | ||
39 | * Mailbox sequence bit API | ||
40 | */ | ||
41 | |||
42 | /* seq_rcv should be initialized with any value other than | ||
43 | * 0 and 1 << 31, to allow either value for the first | ||
44 | * message. */ | ||
45 | static inline void mbox_seq_init(struct omap_mbox *mbox) | ||
46 | { | ||
47 | if (!enable_seq_bit) | ||
48 | return; | ||
49 | |||
50 | /* any value other than 0 and 1 << 31 */ | ||
51 | mbox->seq_rcv = 0xffffffff; | ||
52 | } | ||
53 | |||
54 | static inline void mbox_seq_toggle(struct omap_mbox *mbox, mbox_msg_t * msg) | ||
55 | { | ||
56 | if (!enable_seq_bit) | ||
57 | return; | ||
58 | |||
59 | /* add seq_snd to msg */ | ||
60 | *msg = (*msg & 0x7fffffff) | mbox->seq_snd; | ||
61 | /* flip seq_snd */ | ||
62 | mbox->seq_snd ^= 1 << 31; | ||
63 | } | ||
64 | |||
65 | static inline int mbox_seq_test(struct omap_mbox *mbox, mbox_msg_t msg) | ||
66 | { | ||
67 | mbox_msg_t seq; | ||
68 | |||
69 | if (!enable_seq_bit) | ||
70 | return 0; | ||
71 | |||
72 | seq = msg & (1 << 31); | ||
73 | if (seq == mbox->seq_rcv) | ||
74 | return -1; | ||
75 | mbox->seq_rcv = seq; | ||
76 | return 0; | ||
77 | } | ||
78 | |||
79 | /* Mailbox FIFO handle functions */ | ||
80 | static inline mbox_msg_t mbox_fifo_read(struct omap_mbox *mbox) | ||
81 | { | ||
82 | return mbox->ops->fifo_read(mbox); | ||
83 | } | ||
84 | static inline void mbox_fifo_write(struct omap_mbox *mbox, mbox_msg_t msg) | ||
85 | { | ||
86 | mbox->ops->fifo_write(mbox, msg); | ||
87 | } | ||
88 | static inline int mbox_fifo_empty(struct omap_mbox *mbox) | ||
89 | { | ||
90 | return mbox->ops->fifo_empty(mbox); | ||
91 | } | ||
92 | static inline int mbox_fifo_full(struct omap_mbox *mbox) | ||
93 | { | ||
94 | return mbox->ops->fifo_full(mbox); | ||
95 | } | ||
96 | |||
97 | /* Mailbox IRQ handle functions */ | ||
98 | static inline void enable_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq) | ||
99 | { | ||
100 | mbox->ops->enable_irq(mbox, irq); | ||
101 | } | ||
102 | static inline void disable_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq) | ||
103 | { | ||
104 | mbox->ops->disable_irq(mbox, irq); | ||
105 | } | ||
106 | static inline void ack_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq) | ||
107 | { | ||
108 | if (mbox->ops->ack_irq) | ||
109 | mbox->ops->ack_irq(mbox, irq); | ||
110 | } | ||
111 | static inline int is_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq) | ||
112 | { | ||
113 | return mbox->ops->is_irq(mbox, irq); | ||
114 | } | ||
115 | |||
40 | /* Mailbox Sequence Bit function */ | 116 | /* Mailbox Sequence Bit function */ |
41 | void omap_mbox_init_seq(struct omap_mbox *mbox) | 117 | void omap_mbox_init_seq(struct omap_mbox *mbox) |
42 | { | 118 | { |
@@ -136,7 +212,7 @@ static void mbox_rx_work(struct work_struct *work) | |||
136 | unsigned long flags; | 212 | unsigned long flags; |
137 | 213 | ||
138 | if (mbox->rxq->callback == NULL) { | 214 | if (mbox->rxq->callback == NULL) { |
139 | sysfs_notify(&mbox->dev.kobj, NULL, "mbox"); | 215 | sysfs_notify(&mbox->dev->kobj, NULL, "mbox"); |
140 | return; | 216 | return; |
141 | } | 217 | } |
142 | 218 | ||
@@ -204,7 +280,7 @@ static void __mbox_rx_interrupt(struct omap_mbox *mbox) | |||
204 | /* no more messages in the fifo. clear IRQ source. */ | 280 | /* no more messages in the fifo. clear IRQ source. */ |
205 | ack_mbox_irq(mbox, IRQ_RX); | 281 | ack_mbox_irq(mbox, IRQ_RX); |
206 | enable_mbox_irq(mbox, IRQ_RX); | 282 | enable_mbox_irq(mbox, IRQ_RX); |
207 | nomem: | 283 | nomem: |
208 | schedule_work(&mbox->rxq->work); | 284 | schedule_work(&mbox->rxq->work); |
209 | } | 285 | } |
210 | 286 | ||
@@ -286,7 +362,7 @@ static ssize_t mbox_show(struct class *class, char *buf) | |||
286 | static CLASS_ATTR(mbox, S_IRUGO, mbox_show, NULL); | 362 | static CLASS_ATTR(mbox, S_IRUGO, mbox_show, NULL); |
287 | 363 | ||
288 | static struct class omap_mbox_class = { | 364 | static struct class omap_mbox_class = { |
289 | .name = "omap_mbox", | 365 | .name = "omap-mailbox", |
290 | }; | 366 | }; |
291 | 367 | ||
292 | static struct omap_mbox_queue *mbox_queue_alloc(struct omap_mbox *mbox, | 368 | static struct omap_mbox_queue *mbox_queue_alloc(struct omap_mbox *mbox, |
@@ -333,21 +409,6 @@ static int omap_mbox_init(struct omap_mbox *mbox) | |||
333 | return ret; | 409 | return ret; |
334 | } | 410 | } |
335 | 411 | ||
336 | mbox->dev.class = &omap_mbox_class; | ||
337 | dev_set_name(&mbox->dev, "%s", mbox->name); | ||
338 | dev_set_drvdata(&mbox->dev, mbox); | ||
339 | |||
340 | ret = device_register(&mbox->dev); | ||
341 | if (unlikely(ret)) | ||
342 | goto fail_device_reg; | ||
343 | |||
344 | ret = device_create_file(&mbox->dev, &dev_attr_mbox); | ||
345 | if (unlikely(ret)) { | ||
346 | printk(KERN_ERR | ||
347 | "device_create_file failed: %d\n", ret); | ||
348 | goto fail_create_mbox; | ||
349 | } | ||
350 | |||
351 | ret = request_irq(mbox->irq, mbox_interrupt, IRQF_DISABLED, | 412 | ret = request_irq(mbox->irq, mbox_interrupt, IRQF_DISABLED, |
352 | mbox->name, mbox); | 413 | mbox->name, mbox); |
353 | if (unlikely(ret)) { | 414 | if (unlikely(ret)) { |
@@ -377,10 +438,6 @@ static int omap_mbox_init(struct omap_mbox *mbox) | |||
377 | fail_alloc_txq: | 438 | fail_alloc_txq: |
378 | free_irq(mbox->irq, mbox); | 439 | free_irq(mbox->irq, mbox); |
379 | fail_request_irq: | 440 | fail_request_irq: |
380 | device_remove_file(&mbox->dev, &dev_attr_mbox); | ||
381 | fail_create_mbox: | ||
382 | device_unregister(&mbox->dev); | ||
383 | fail_device_reg: | ||
384 | if (unlikely(mbox->ops->shutdown)) | 441 | if (unlikely(mbox->ops->shutdown)) |
385 | mbox->ops->shutdown(mbox); | 442 | mbox->ops->shutdown(mbox); |
386 | 443 | ||
@@ -393,8 +450,6 @@ static void omap_mbox_fini(struct omap_mbox *mbox) | |||
393 | mbox_queue_free(mbox->rxq); | 450 | mbox_queue_free(mbox->rxq); |
394 | 451 | ||
395 | free_irq(mbox->irq, mbox); | 452 | free_irq(mbox->irq, mbox); |
396 | device_remove_file(&mbox->dev, &dev_attr_mbox); | ||
397 | class_unregister(&omap_mbox_class); | ||
398 | 453 | ||
399 | if (unlikely(mbox->ops->shutdown)) | 454 | if (unlikely(mbox->ops->shutdown)) |
400 | mbox->ops->shutdown(mbox); | 455 | mbox->ops->shutdown(mbox); |
@@ -440,7 +495,7 @@ void omap_mbox_put(struct omap_mbox *mbox) | |||
440 | } | 495 | } |
441 | EXPORT_SYMBOL(omap_mbox_put); | 496 | EXPORT_SYMBOL(omap_mbox_put); |
442 | 497 | ||
443 | int omap_mbox_register(struct omap_mbox *mbox) | 498 | int omap_mbox_register(struct device *parent, struct omap_mbox *mbox) |
444 | { | 499 | { |
445 | int ret = 0; | 500 | int ret = 0; |
446 | struct omap_mbox **tmp; | 501 | struct omap_mbox **tmp; |
@@ -450,14 +505,31 @@ int omap_mbox_register(struct omap_mbox *mbox) | |||
450 | if (mbox->next) | 505 | if (mbox->next) |
451 | return -EBUSY; | 506 | return -EBUSY; |
452 | 507 | ||
508 | mbox->dev = device_create(&omap_mbox_class, | ||
509 | parent, 0, mbox, "%s", mbox->name); | ||
510 | if (IS_ERR(mbox->dev)) | ||
511 | return PTR_ERR(mbox->dev); | ||
512 | |||
513 | ret = device_create_file(mbox->dev, &dev_attr_mbox); | ||
514 | if (ret) | ||
515 | goto err_sysfs; | ||
516 | |||
453 | write_lock(&mboxes_lock); | 517 | write_lock(&mboxes_lock); |
454 | tmp = find_mboxes(mbox->name); | 518 | tmp = find_mboxes(mbox->name); |
455 | if (*tmp) | 519 | if (*tmp) { |
456 | ret = -EBUSY; | 520 | ret = -EBUSY; |
457 | else | 521 | write_unlock(&mboxes_lock); |
458 | *tmp = mbox; | 522 | goto err_find; |
523 | } | ||
524 | *tmp = mbox; | ||
459 | write_unlock(&mboxes_lock); | 525 | write_unlock(&mboxes_lock); |
460 | 526 | ||
527 | return 0; | ||
528 | |||
529 | err_find: | ||
530 | device_remove_file(mbox->dev, &dev_attr_mbox); | ||
531 | err_sysfs: | ||
532 | device_unregister(mbox->dev); | ||
461 | return ret; | 533 | return ret; |
462 | } | 534 | } |
463 | EXPORT_SYMBOL(omap_mbox_register); | 535 | EXPORT_SYMBOL(omap_mbox_register); |
@@ -473,6 +545,8 @@ int omap_mbox_unregister(struct omap_mbox *mbox) | |||
473 | *tmp = mbox->next; | 545 | *tmp = mbox->next; |
474 | mbox->next = NULL; | 546 | mbox->next = NULL; |
475 | write_unlock(&mboxes_lock); | 547 | write_unlock(&mboxes_lock); |
548 | device_remove_file(mbox->dev, &dev_attr_mbox); | ||
549 | device_unregister(mbox->dev); | ||
476 | return 0; | 550 | return 0; |
477 | } | 551 | } |
478 | tmp = &(*tmp)->next; | 552 | tmp = &(*tmp)->next; |
@@ -501,4 +575,6 @@ static void __exit omap_mbox_class_exit(void) | |||
501 | subsys_initcall(omap_mbox_class_init); | 575 | subsys_initcall(omap_mbox_class_init); |
502 | module_exit(omap_mbox_class_exit); | 576 | module_exit(omap_mbox_class_exit); |
503 | 577 | ||
504 | MODULE_LICENSE("GPL"); | 578 | MODULE_LICENSE("GPL v2"); |
579 | MODULE_DESCRIPTION("omap mailbox: interrupt driven messaging"); | ||
580 | MODULE_AUTHOR("Toshihiro Kobayashi and Hiroshi DOYU"); | ||
diff --git a/arch/arm/plat-omap/mailbox.h b/arch/arm/plat-omap/mailbox.h deleted file mode 100644 index 67c6740b8ad5..000000000000 --- a/arch/arm/plat-omap/mailbox.h +++ /dev/null | |||
@@ -1,100 +0,0 @@ | |||
1 | /* | ||
2 | * Mailbox internal functions | ||
3 | * | ||
4 | * Copyright (C) 2006 Nokia Corporation | ||
5 | * Written by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> | ||
6 | * | ||
7 | * This file is subject to the terms and conditions of the GNU General Public | ||
8 | * License. See the file "COPYING" in the main directory of this archive | ||
9 | * for more details. | ||
10 | */ | ||
11 | |||
12 | #ifndef __ARCH_ARM_PLAT_MAILBOX_H | ||
13 | #define __ARCH_ARM_PLAT_MAILBOX_H | ||
14 | |||
15 | /* | ||
16 | * Mailbox sequence bit API | ||
17 | */ | ||
18 | #if defined(CONFIG_ARCH_OMAP1) | ||
19 | # define MBOX_USE_SEQ_BIT | ||
20 | #elif defined(CONFIG_ARCH_OMAP2) | ||
21 | # define MBOX_USE_SEQ_BIT | ||
22 | #endif | ||
23 | |||
24 | #ifdef MBOX_USE_SEQ_BIT | ||
25 | /* seq_rcv should be initialized with any value other than | ||
26 | * 0 and 1 << 31, to allow either value for the first | ||
27 | * message. */ | ||
28 | static inline void mbox_seq_init(struct omap_mbox *mbox) | ||
29 | { | ||
30 | /* any value other than 0 and 1 << 31 */ | ||
31 | mbox->seq_rcv = 0xffffffff; | ||
32 | } | ||
33 | |||
34 | static inline void mbox_seq_toggle(struct omap_mbox *mbox, mbox_msg_t * msg) | ||
35 | { | ||
36 | /* add seq_snd to msg */ | ||
37 | *msg = (*msg & 0x7fffffff) | mbox->seq_snd; | ||
38 | /* flip seq_snd */ | ||
39 | mbox->seq_snd ^= 1 << 31; | ||
40 | } | ||
41 | |||
42 | static inline int mbox_seq_test(struct omap_mbox *mbox, mbox_msg_t msg) | ||
43 | { | ||
44 | mbox_msg_t seq = msg & (1 << 31); | ||
45 | if (seq == mbox->seq_rcv) | ||
46 | return -1; | ||
47 | mbox->seq_rcv = seq; | ||
48 | return 0; | ||
49 | } | ||
50 | #else | ||
51 | static inline void mbox_seq_init(struct omap_mbox *mbox) | ||
52 | { | ||
53 | } | ||
54 | static inline void mbox_seq_toggle(struct omap_mbox *mbox, mbox_msg_t * msg) | ||
55 | { | ||
56 | } | ||
57 | static inline int mbox_seq_test(struct omap_mbox *mbox, mbox_msg_t msg) | ||
58 | { | ||
59 | return 0; | ||
60 | } | ||
61 | #endif | ||
62 | |||
63 | /* Mailbox FIFO handle functions */ | ||
64 | static inline mbox_msg_t mbox_fifo_read(struct omap_mbox *mbox) | ||
65 | { | ||
66 | return mbox->ops->fifo_read(mbox); | ||
67 | } | ||
68 | static inline void mbox_fifo_write(struct omap_mbox *mbox, mbox_msg_t msg) | ||
69 | { | ||
70 | mbox->ops->fifo_write(mbox, msg); | ||
71 | } | ||
72 | static inline int mbox_fifo_empty(struct omap_mbox *mbox) | ||
73 | { | ||
74 | return mbox->ops->fifo_empty(mbox); | ||
75 | } | ||
76 | static inline int mbox_fifo_full(struct omap_mbox *mbox) | ||
77 | { | ||
78 | return mbox->ops->fifo_full(mbox); | ||
79 | } | ||
80 | |||
81 | /* Mailbox IRQ handle functions */ | ||
82 | static inline void enable_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq) | ||
83 | { | ||
84 | mbox->ops->enable_irq(mbox, irq); | ||
85 | } | ||
86 | static inline void disable_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq) | ||
87 | { | ||
88 | mbox->ops->disable_irq(mbox, irq); | ||
89 | } | ||
90 | static inline void ack_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq) | ||
91 | { | ||
92 | if (mbox->ops->ack_irq) | ||
93 | mbox->ops->ack_irq(mbox, irq); | ||
94 | } | ||
95 | static inline int is_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq) | ||
96 | { | ||
97 | return mbox->ops->is_irq(mbox, irq); | ||
98 | } | ||
99 | |||
100 | #endif /* __ARCH_ARM_PLAT_MAILBOX_H */ | ||
diff --git a/arch/arm/plat-omap/sram.c b/arch/arm/plat-omap/sram.c index be7bcaf2b832..fa5297d643d3 100644 --- a/arch/arm/plat-omap/sram.c +++ b/arch/arm/plat-omap/sram.c | |||
@@ -148,7 +148,7 @@ void __init omap_detect_sram(void) | |||
148 | omap_sram_base = OMAP1_SRAM_VA; | 148 | omap_sram_base = OMAP1_SRAM_VA; |
149 | omap_sram_start = OMAP1_SRAM_PA; | 149 | omap_sram_start = OMAP1_SRAM_PA; |
150 | 150 | ||
151 | if (cpu_is_omap730()) | 151 | if (cpu_is_omap7xx()) |
152 | omap_sram_size = 0x32000; /* 200K */ | 152 | omap_sram_size = 0x32000; /* 200K */ |
153 | else if (cpu_is_omap15xx()) | 153 | else if (cpu_is_omap15xx()) |
154 | omap_sram_size = 0x30000; /* 192K */ | 154 | omap_sram_size = 0x30000; /* 192K */ |
diff --git a/arch/arm/plat-omap/usb.c b/arch/arm/plat-omap/usb.c index e278de6862ae..509f2ed99e21 100644 --- a/arch/arm/plat-omap/usb.c +++ b/arch/arm/plat-omap/usb.c | |||
@@ -729,30 +729,13 @@ static inline void omap_1510_usb_init(struct omap_usb_config *config) {} | |||
729 | 729 | ||
730 | /*-------------------------------------------------------------------------*/ | 730 | /*-------------------------------------------------------------------------*/ |
731 | 731 | ||
732 | static struct omap_usb_config platform_data; | 732 | void __init omap_usb_init(struct omap_usb_config *pdata) |
733 | |||
734 | static int __init | ||
735 | omap_usb_init(void) | ||
736 | { | 733 | { |
737 | const struct omap_usb_config *config; | ||
738 | |||
739 | config = omap_get_config(OMAP_TAG_USB, struct omap_usb_config); | ||
740 | if (config == NULL) { | ||
741 | printk(KERN_ERR "USB: No board-specific " | ||
742 | "platform config found\n"); | ||
743 | return -ENODEV; | ||
744 | } | ||
745 | platform_data = *config; | ||
746 | |||
747 | if (cpu_is_omap730() || cpu_is_omap16xx() || cpu_is_omap24xx()) | 734 | if (cpu_is_omap730() || cpu_is_omap16xx() || cpu_is_omap24xx()) |
748 | omap_otg_init(&platform_data); | 735 | omap_otg_init(pdata); |
749 | else if (cpu_is_omap15xx()) | 736 | else if (cpu_is_omap15xx()) |
750 | omap_1510_usb_init(&platform_data); | 737 | omap_1510_usb_init(pdata); |
751 | else { | 738 | else |
752 | printk(KERN_ERR "USB: No init for your chip yet\n"); | 739 | printk(KERN_ERR "USB: No init for your chip yet\n"); |
753 | return -ENODEV; | ||
754 | } | ||
755 | return 0; | ||
756 | } | 740 | } |
757 | 741 | ||
758 | subsys_initcall(omap_usb_init); | ||