diff options
Diffstat (limited to 'arch/arm')
84 files changed, 1444 insertions, 632 deletions
diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c index 9e6e512f0117..17153b54613b 100644 --- a/arch/arm/boot/compressed/misc.c +++ b/arch/arm/boot/compressed/misc.c | |||
@@ -29,7 +29,6 @@ unsigned int __machine_arch_type; | |||
29 | 29 | ||
30 | static void putstr(const char *ptr); | 30 | static void putstr(const char *ptr); |
31 | 31 | ||
32 | #include <linux/compiler.h> | ||
33 | #include <mach/uncompress.h> | 32 | #include <mach/uncompress.h> |
34 | 33 | ||
35 | #ifdef CONFIG_DEBUG_ICEDCC | 34 | #ifdef CONFIG_DEBUG_ICEDCC |
diff --git a/arch/arm/common/clkdev.c b/arch/arm/common/clkdev.c index f37afd9422f3..aae5bc01acc8 100644 --- a/arch/arm/common/clkdev.c +++ b/arch/arm/common/clkdev.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/err.h> | 17 | #include <linux/err.h> |
18 | #include <linux/string.h> | 18 | #include <linux/string.h> |
19 | #include <linux/mutex.h> | 19 | #include <linux/mutex.h> |
20 | #include <linux/clk.h> | ||
20 | 21 | ||
21 | #include <asm/clkdev.h> | 22 | #include <asm/clkdev.h> |
22 | #include <mach/clkdev.h> | 23 | #include <mach/clkdev.h> |
diff --git a/arch/arm/configs/jornada720_defconfig b/arch/arm/configs/jornada720_defconfig index f3074e49f2fa..df9bfbea8612 100644 --- a/arch/arm/configs/jornada720_defconfig +++ b/arch/arm/configs/jornada720_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc6 | 3 | # Linux kernel version: 2.6.31-rc6 |
4 | # Tue Sep 16 18:56:58 2008 | 4 | # Fri Aug 21 15:41:39 2009 |
5 | # | 5 | # |
6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y |
@@ -9,7 +9,6 @@ CONFIG_GENERIC_GPIO=y | |||
9 | CONFIG_GENERIC_TIME=y | 9 | CONFIG_GENERIC_TIME=y |
10 | CONFIG_GENERIC_CLOCKEVENTS=y | 10 | CONFIG_GENERIC_CLOCKEVENTS=y |
11 | CONFIG_MMU=y | 11 | CONFIG_MMU=y |
12 | # CONFIG_NO_IOPORT is not set | ||
13 | CONFIG_GENERIC_HARDIRQS=y | 12 | CONFIG_GENERIC_HARDIRQS=y |
14 | CONFIG_STACKTRACE_SUPPORT=y | 13 | CONFIG_STACKTRACE_SUPPORT=y |
15 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | 14 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y |
@@ -18,16 +17,14 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y | |||
18 | CONFIG_HARDIRQS_SW_RESEND=y | 17 | CONFIG_HARDIRQS_SW_RESEND=y |
19 | CONFIG_GENERIC_IRQ_PROBE=y | 18 | CONFIG_GENERIC_IRQ_PROBE=y |
20 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 19 | 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 | 20 | CONFIG_GENERIC_HWEIGHT=y |
24 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 21 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
25 | CONFIG_ARCH_SUPPORTS_AOUT=y | ||
26 | CONFIG_ZONE_DMA=y | 22 | CONFIG_ZONE_DMA=y |
27 | CONFIG_ARCH_MTD_XIP=y | 23 | CONFIG_ARCH_MTD_XIP=y |
28 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | 24 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y |
29 | CONFIG_VECTORS_BASE=0xffff0000 | 25 | CONFIG_VECTORS_BASE=0xffff0000 |
30 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 26 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
27 | CONFIG_CONSTRUCTORS=y | ||
31 | 28 | ||
32 | # | 29 | # |
33 | # General setup | 30 | # General setup |
@@ -44,10 +41,19 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
44 | # CONFIG_BSD_PROCESS_ACCT is not set | 41 | # CONFIG_BSD_PROCESS_ACCT is not set |
45 | # CONFIG_TASKSTATS is not set | 42 | # CONFIG_TASKSTATS is not set |
46 | # CONFIG_AUDIT is not set | 43 | # CONFIG_AUDIT is not set |
44 | |||
45 | # | ||
46 | # RCU Subsystem | ||
47 | # | ||
48 | CONFIG_CLASSIC_RCU=y | ||
49 | # CONFIG_TREE_RCU is not set | ||
50 | # CONFIG_PREEMPT_RCU is not set | ||
51 | # CONFIG_TREE_RCU_TRACE is not set | ||
52 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
47 | # CONFIG_IKCONFIG is not set | 53 | # CONFIG_IKCONFIG is not set |
48 | CONFIG_LOG_BUF_SHIFT=14 | 54 | CONFIG_LOG_BUF_SHIFT=14 |
49 | # CONFIG_CGROUPS is not set | ||
50 | # CONFIG_GROUP_SCHED is not set | 55 | # CONFIG_GROUP_SCHED is not set |
56 | # CONFIG_CGROUPS is not set | ||
51 | CONFIG_SYSFS_DEPRECATED=y | 57 | CONFIG_SYSFS_DEPRECATED=y |
52 | CONFIG_SYSFS_DEPRECATED_V2=y | 58 | CONFIG_SYSFS_DEPRECATED_V2=y |
53 | # CONFIG_RELAY is not set | 59 | # CONFIG_RELAY is not set |
@@ -56,9 +62,11 @@ CONFIG_NAMESPACES=y | |||
56 | # CONFIG_IPC_NS is not set | 62 | # CONFIG_IPC_NS is not set |
57 | # CONFIG_USER_NS is not set | 63 | # CONFIG_USER_NS is not set |
58 | # CONFIG_PID_NS is not set | 64 | # CONFIG_PID_NS is not set |
65 | # CONFIG_NET_NS is not set | ||
59 | # CONFIG_BLK_DEV_INITRD is not set | 66 | # CONFIG_BLK_DEV_INITRD is not set |
60 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 67 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
61 | CONFIG_SYSCTL=y | 68 | CONFIG_SYSCTL=y |
69 | CONFIG_ANON_INODES=y | ||
62 | # CONFIG_EMBEDDED is not set | 70 | # CONFIG_EMBEDDED is not set |
63 | CONFIG_UID16=y | 71 | CONFIG_UID16=y |
64 | CONFIG_SYSCTL_SYSCALL=y | 72 | CONFIG_SYSCTL_SYSCALL=y |
@@ -69,17 +77,22 @@ CONFIG_HOTPLUG=y | |||
69 | CONFIG_PRINTK=y | 77 | CONFIG_PRINTK=y |
70 | CONFIG_BUG=y | 78 | CONFIG_BUG=y |
71 | CONFIG_ELF_CORE=y | 79 | CONFIG_ELF_CORE=y |
72 | CONFIG_COMPAT_BRK=y | ||
73 | CONFIG_BASE_FULL=y | 80 | CONFIG_BASE_FULL=y |
74 | CONFIG_FUTEX=y | 81 | CONFIG_FUTEX=y |
75 | CONFIG_ANON_INODES=y | ||
76 | CONFIG_EPOLL=y | 82 | CONFIG_EPOLL=y |
77 | CONFIG_SIGNALFD=y | 83 | CONFIG_SIGNALFD=y |
78 | CONFIG_TIMERFD=y | 84 | CONFIG_TIMERFD=y |
79 | CONFIG_EVENTFD=y | 85 | CONFIG_EVENTFD=y |
80 | CONFIG_SHMEM=y | 86 | CONFIG_SHMEM=y |
87 | CONFIG_AIO=y | ||
88 | |||
89 | # | ||
90 | # Performance Counters | ||
91 | # | ||
81 | CONFIG_VM_EVENT_COUNTERS=y | 92 | CONFIG_VM_EVENT_COUNTERS=y |
82 | CONFIG_SLUB_DEBUG=y | 93 | CONFIG_SLUB_DEBUG=y |
94 | # CONFIG_STRIP_ASM_SYMS is not set | ||
95 | CONFIG_COMPAT_BRK=y | ||
83 | # CONFIG_SLAB is not set | 96 | # CONFIG_SLAB is not set |
84 | CONFIG_SLUB=y | 97 | CONFIG_SLUB=y |
85 | # CONFIG_SLOB is not set | 98 | # CONFIG_SLOB is not set |
@@ -87,30 +100,25 @@ CONFIG_SLUB=y | |||
87 | # CONFIG_MARKERS is not set | 100 | # CONFIG_MARKERS is not set |
88 | CONFIG_HAVE_OPROFILE=y | 101 | CONFIG_HAVE_OPROFILE=y |
89 | # CONFIG_KPROBES is not set | 102 | # CONFIG_KPROBES is not set |
90 | # CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set | ||
91 | # CONFIG_HAVE_IOREMAP_PROT is not set | ||
92 | CONFIG_HAVE_KPROBES=y | 103 | CONFIG_HAVE_KPROBES=y |
93 | CONFIG_HAVE_KRETPROBES=y | 104 | CONFIG_HAVE_KRETPROBES=y |
94 | # CONFIG_HAVE_ARCH_TRACEHOOK is not set | ||
95 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
96 | # CONFIG_USE_GENERIC_SMP_HELPERS is not set | ||
97 | CONFIG_HAVE_CLK=y | 105 | CONFIG_HAVE_CLK=y |
98 | CONFIG_PROC_PAGE_MONITOR=y | 106 | |
107 | # | ||
108 | # GCOV-based kernel profiling | ||
109 | # | ||
110 | # CONFIG_SLOW_WORK is not set | ||
99 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | 111 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y |
100 | CONFIG_SLABINFO=y | 112 | CONFIG_SLABINFO=y |
101 | CONFIG_RT_MUTEXES=y | 113 | CONFIG_RT_MUTEXES=y |
102 | # CONFIG_TINY_SHMEM is not set | ||
103 | CONFIG_BASE_SMALL=0 | 114 | CONFIG_BASE_SMALL=0 |
104 | CONFIG_MODULES=y | 115 | CONFIG_MODULES=y |
105 | # CONFIG_MODULE_FORCE_LOAD is not set | 116 | # CONFIG_MODULE_FORCE_LOAD is not set |
106 | # CONFIG_MODULE_UNLOAD is not set | 117 | # CONFIG_MODULE_UNLOAD is not set |
107 | # CONFIG_MODVERSIONS is not set | 118 | # CONFIG_MODVERSIONS is not set |
108 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 119 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
109 | CONFIG_KMOD=y | ||
110 | CONFIG_BLOCK=y | 120 | CONFIG_BLOCK=y |
111 | # CONFIG_LBD is not set | 121 | CONFIG_LBDAF=y |
112 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
113 | # CONFIG_LSF is not set | ||
114 | # CONFIG_BLK_DEV_BSG is not set | 122 | # CONFIG_BLK_DEV_BSG is not set |
115 | # CONFIG_BLK_DEV_INTEGRITY is not set | 123 | # CONFIG_BLK_DEV_INTEGRITY is not set |
116 | 124 | ||
@@ -126,7 +134,7 @@ CONFIG_IOSCHED_CFQ=y | |||
126 | CONFIG_DEFAULT_CFQ=y | 134 | CONFIG_DEFAULT_CFQ=y |
127 | # CONFIG_DEFAULT_NOOP is not set | 135 | # CONFIG_DEFAULT_NOOP is not set |
128 | CONFIG_DEFAULT_IOSCHED="cfq" | 136 | CONFIG_DEFAULT_IOSCHED="cfq" |
129 | CONFIG_CLASSIC_RCU=y | 137 | CONFIG_FREEZER=y |
130 | 138 | ||
131 | # | 139 | # |
132 | # System Type | 140 | # System Type |
@@ -136,14 +144,15 @@ CONFIG_CLASSIC_RCU=y | |||
136 | # CONFIG_ARCH_REALVIEW is not set | 144 | # CONFIG_ARCH_REALVIEW is not set |
137 | # CONFIG_ARCH_VERSATILE is not set | 145 | # CONFIG_ARCH_VERSATILE is not set |
138 | # CONFIG_ARCH_AT91 is not set | 146 | # CONFIG_ARCH_AT91 is not set |
139 | # CONFIG_ARCH_CLPS7500 is not set | ||
140 | # CONFIG_ARCH_CLPS711X is not set | 147 | # CONFIG_ARCH_CLPS711X is not set |
148 | # CONFIG_ARCH_GEMINI is not set | ||
141 | # CONFIG_ARCH_EBSA110 is not set | 149 | # CONFIG_ARCH_EBSA110 is not set |
142 | # CONFIG_ARCH_EP93XX is not set | 150 | # CONFIG_ARCH_EP93XX is not set |
143 | # CONFIG_ARCH_FOOTBRIDGE is not set | 151 | # CONFIG_ARCH_FOOTBRIDGE is not set |
152 | # CONFIG_ARCH_MXC is not set | ||
153 | # CONFIG_ARCH_STMP3XXX is not set | ||
144 | # CONFIG_ARCH_NETX is not set | 154 | # CONFIG_ARCH_NETX is not set |
145 | # CONFIG_ARCH_H720X is not set | 155 | # CONFIG_ARCH_H720X is not set |
146 | # CONFIG_ARCH_IMX is not set | ||
147 | # CONFIG_ARCH_IOP13XX is not set | 156 | # CONFIG_ARCH_IOP13XX is not set |
148 | # CONFIG_ARCH_IOP32X is not set | 157 | # CONFIG_ARCH_IOP32X is not set |
149 | # CONFIG_ARCH_IOP33X is not set | 158 | # CONFIG_ARCH_IOP33X is not set |
@@ -152,23 +161,25 @@ CONFIG_CLASSIC_RCU=y | |||
152 | # CONFIG_ARCH_IXP4XX is not set | 161 | # CONFIG_ARCH_IXP4XX is not set |
153 | # CONFIG_ARCH_L7200 is not set | 162 | # CONFIG_ARCH_L7200 is not set |
154 | # CONFIG_ARCH_KIRKWOOD is not set | 163 | # CONFIG_ARCH_KIRKWOOD is not set |
155 | # CONFIG_ARCH_KS8695 is not set | ||
156 | # CONFIG_ARCH_NS9XXX is not set | ||
157 | # CONFIG_ARCH_LOKI is not set | 164 | # CONFIG_ARCH_LOKI is not set |
158 | # CONFIG_ARCH_MV78XX0 is not set | 165 | # CONFIG_ARCH_MV78XX0 is not set |
159 | # CONFIG_ARCH_MXC is not set | ||
160 | # CONFIG_ARCH_ORION5X is not set | 166 | # CONFIG_ARCH_ORION5X is not set |
167 | # CONFIG_ARCH_MMP is not set | ||
168 | # CONFIG_ARCH_KS8695 is not set | ||
169 | # CONFIG_ARCH_NS9XXX is not set | ||
170 | # CONFIG_ARCH_W90X900 is not set | ||
161 | # CONFIG_ARCH_PNX4008 is not set | 171 | # CONFIG_ARCH_PNX4008 is not set |
162 | # CONFIG_ARCH_PXA is not set | 172 | # CONFIG_ARCH_PXA is not set |
173 | # CONFIG_ARCH_MSM is not set | ||
163 | # CONFIG_ARCH_RPC is not set | 174 | # CONFIG_ARCH_RPC is not set |
164 | CONFIG_ARCH_SA1100=y | 175 | CONFIG_ARCH_SA1100=y |
165 | # CONFIG_ARCH_S3C2410 is not set | 176 | # CONFIG_ARCH_S3C2410 is not set |
177 | # CONFIG_ARCH_S3C64XX is not set | ||
166 | # CONFIG_ARCH_SHARK is not set | 178 | # CONFIG_ARCH_SHARK is not set |
167 | # CONFIG_ARCH_LH7A40X is not set | 179 | # CONFIG_ARCH_LH7A40X is not set |
180 | # CONFIG_ARCH_U300 is not set | ||
168 | # CONFIG_ARCH_DAVINCI is not set | 181 | # CONFIG_ARCH_DAVINCI is not set |
169 | # CONFIG_ARCH_OMAP is not set | 182 | # CONFIG_ARCH_OMAP is not set |
170 | # CONFIG_ARCH_MSM7X00A is not set | ||
171 | CONFIG_DMABOUNCE=y | ||
172 | 183 | ||
173 | # | 184 | # |
174 | # SA11x0 Implementations | 185 | # SA11x0 Implementations |
@@ -189,14 +200,6 @@ CONFIG_SA1100_JORNADA720_SSP=y | |||
189 | CONFIG_SA1100_SSP=y | 200 | CONFIG_SA1100_SSP=y |
190 | 201 | ||
191 | # | 202 | # |
192 | # Boot options | ||
193 | # | ||
194 | |||
195 | # | ||
196 | # Power management | ||
197 | # | ||
198 | |||
199 | # | ||
200 | # Processor Type | 203 | # Processor Type |
201 | # | 204 | # |
202 | CONFIG_CPU_32=y | 205 | CONFIG_CPU_32=y |
@@ -215,8 +218,8 @@ CONFIG_CPU_CP15_MMU=y | |||
215 | # | 218 | # |
216 | # CONFIG_CPU_ICACHE_DISABLE is not set | 219 | # CONFIG_CPU_ICACHE_DISABLE is not set |
217 | # CONFIG_CPU_DCACHE_DISABLE is not set | 220 | # CONFIG_CPU_DCACHE_DISABLE is not set |
218 | # CONFIG_OUTER_CACHE is not set | ||
219 | CONFIG_SA1111=y | 221 | CONFIG_SA1111=y |
222 | CONFIG_DMABOUNCE=y | ||
220 | CONFIG_FORCE_MAX_ZONEORDER=9 | 223 | CONFIG_FORCE_MAX_ZONEORDER=9 |
221 | 224 | ||
222 | # | 225 | # |
@@ -246,30 +249,36 @@ CONFIG_TICK_ONESHOT=y | |||
246 | # CONFIG_NO_HZ is not set | 249 | # CONFIG_NO_HZ is not set |
247 | # CONFIG_HIGH_RES_TIMERS is not set | 250 | # CONFIG_HIGH_RES_TIMERS is not set |
248 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 251 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
252 | CONFIG_VMSPLIT_3G=y | ||
253 | # CONFIG_VMSPLIT_2G is not set | ||
254 | # CONFIG_VMSPLIT_1G is not set | ||
255 | CONFIG_PAGE_OFFSET=0xC0000000 | ||
249 | # CONFIG_PREEMPT is not set | 256 | # CONFIG_PREEMPT is not set |
250 | CONFIG_HZ=100 | 257 | CONFIG_HZ=100 |
251 | # CONFIG_AEABI is not set | 258 | # CONFIG_AEABI is not set |
252 | CONFIG_ARCH_DISCONTIGMEM_ENABLE=y | ||
253 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | 259 | CONFIG_ARCH_SPARSEMEM_ENABLE=y |
254 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | 260 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y |
255 | CONFIG_NODES_SHIFT=2 | 261 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set |
262 | # CONFIG_HIGHMEM is not set | ||
256 | CONFIG_SELECT_MEMORY_MODEL=y | 263 | CONFIG_SELECT_MEMORY_MODEL=y |
257 | # CONFIG_FLATMEM_MANUAL is not set | 264 | # CONFIG_FLATMEM_MANUAL is not set |
258 | CONFIG_DISCONTIGMEM_MANUAL=y | 265 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
259 | # CONFIG_SPARSEMEM_MANUAL is not set | 266 | CONFIG_SPARSEMEM_MANUAL=y |
260 | CONFIG_DISCONTIGMEM=y | 267 | CONFIG_SPARSEMEM=y |
261 | CONFIG_FLAT_NODE_MEM_MAP=y | 268 | CONFIG_HAVE_MEMORY_PRESENT=y |
262 | CONFIG_NEED_MULTIPLE_NODES=y | 269 | CONFIG_SPARSEMEM_EXTREME=y |
263 | # CONFIG_SPARSEMEM_STATIC is not set | ||
264 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
265 | CONFIG_PAGEFLAGS_EXTENDED=y | 270 | CONFIG_PAGEFLAGS_EXTENDED=y |
266 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | 271 | CONFIG_SPLIT_PTLOCK_CPUS=4096 |
267 | # CONFIG_RESOURCES_64BIT is not set | 272 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
268 | CONFIG_ZONE_DMA_FLAG=1 | 273 | CONFIG_ZONE_DMA_FLAG=1 |
269 | CONFIG_BOUNCE=y | 274 | CONFIG_BOUNCE=y |
270 | CONFIG_VIRT_TO_BUS=y | 275 | CONFIG_VIRT_TO_BUS=y |
276 | CONFIG_HAVE_MLOCK=y | ||
277 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
278 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
271 | # CONFIG_LEDS is not set | 279 | # CONFIG_LEDS is not set |
272 | CONFIG_ALIGNMENT_TRAP=y | 280 | CONFIG_ALIGNMENT_TRAP=y |
281 | # CONFIG_UACCESS_WITH_MEMCPY is not set | ||
273 | 282 | ||
274 | # | 283 | # |
275 | # Boot options | 284 | # Boot options |
@@ -281,9 +290,10 @@ CONFIG_CMDLINE="" | |||
281 | # CONFIG_KEXEC is not set | 290 | # CONFIG_KEXEC is not set |
282 | 291 | ||
283 | # | 292 | # |
284 | # CPU Frequency scaling | 293 | # CPU Power Management |
285 | # | 294 | # |
286 | # CONFIG_CPU_FREQ is not set | 295 | # CONFIG_CPU_FREQ is not set |
296 | # CONFIG_CPU_IDLE is not set | ||
287 | 297 | ||
288 | # | 298 | # |
289 | # Floating point emulation | 299 | # Floating point emulation |
@@ -294,12 +304,14 @@ CONFIG_CMDLINE="" | |||
294 | # | 304 | # |
295 | CONFIG_FPE_NWFPE=y | 305 | CONFIG_FPE_NWFPE=y |
296 | # CONFIG_FPE_NWFPE_XP is not set | 306 | # CONFIG_FPE_NWFPE_XP is not set |
297 | CONFIG_FPE_FASTFPE=y | 307 | # CONFIG_FPE_FASTFPE is not set |
298 | 308 | ||
299 | # | 309 | # |
300 | # Userspace binary formats | 310 | # Userspace binary formats |
301 | # | 311 | # |
302 | CONFIG_BINFMT_ELF=y | 312 | CONFIG_BINFMT_ELF=y |
313 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
314 | CONFIG_HAVE_AOUT=y | ||
303 | CONFIG_BINFMT_AOUT=y | 315 | CONFIG_BINFMT_AOUT=y |
304 | # CONFIG_BINFMT_MISC is not set | 316 | # CONFIG_BINFMT_MISC is not set |
305 | # CONFIG_ARTHUR is not set | 317 | # CONFIG_ARTHUR is not set |
@@ -353,7 +365,6 @@ CONFIG_INET_TCP_DIAG=y | |||
353 | CONFIG_TCP_CONG_CUBIC=y | 365 | CONFIG_TCP_CONG_CUBIC=y |
354 | CONFIG_DEFAULT_TCP_CONG="cubic" | 366 | CONFIG_DEFAULT_TCP_CONG="cubic" |
355 | # CONFIG_TCP_MD5SIG is not set | 367 | # CONFIG_TCP_MD5SIG is not set |
356 | # CONFIG_IP_VS is not set | ||
357 | # CONFIG_IPV6 is not set | 368 | # CONFIG_IPV6 is not set |
358 | # CONFIG_NETWORK_SECMARK is not set | 369 | # CONFIG_NETWORK_SECMARK is not set |
359 | CONFIG_NETFILTER=y | 370 | CONFIG_NETFILTER=y |
@@ -367,10 +378,12 @@ CONFIG_NETFILTER_ADVANCED=y | |||
367 | # CONFIG_NETFILTER_NETLINK_LOG is not set | 378 | # CONFIG_NETFILTER_NETLINK_LOG is not set |
368 | # CONFIG_NF_CONNTRACK is not set | 379 | # CONFIG_NF_CONNTRACK is not set |
369 | # CONFIG_NETFILTER_XTABLES is not set | 380 | # CONFIG_NETFILTER_XTABLES is not set |
381 | # CONFIG_IP_VS is not set | ||
370 | 382 | ||
371 | # | 383 | # |
372 | # IP: Netfilter Configuration | 384 | # IP: Netfilter Configuration |
373 | # | 385 | # |
386 | # CONFIG_NF_DEFRAG_IPV4 is not set | ||
374 | # CONFIG_IP_NF_QUEUE is not set | 387 | # CONFIG_IP_NF_QUEUE is not set |
375 | # CONFIG_IP_NF_IPTABLES is not set | 388 | # CONFIG_IP_NF_IPTABLES is not set |
376 | # CONFIG_IP_NF_ARPTABLES is not set | 389 | # CONFIG_IP_NF_ARPTABLES is not set |
@@ -379,6 +392,7 @@ CONFIG_NETFILTER_ADVANCED=y | |||
379 | # CONFIG_TIPC is not set | 392 | # CONFIG_TIPC is not set |
380 | # CONFIG_ATM is not set | 393 | # CONFIG_ATM is not set |
381 | # CONFIG_BRIDGE is not set | 394 | # CONFIG_BRIDGE is not set |
395 | # CONFIG_NET_DSA is not set | ||
382 | # CONFIG_VLAN_8021Q is not set | 396 | # CONFIG_VLAN_8021Q is not set |
383 | # CONFIG_DECNET is not set | 397 | # CONFIG_DECNET is not set |
384 | # CONFIG_LLC2 is not set | 398 | # CONFIG_LLC2 is not set |
@@ -388,7 +402,10 @@ CONFIG_NETFILTER_ADVANCED=y | |||
388 | # CONFIG_LAPB is not set | 402 | # CONFIG_LAPB is not set |
389 | # CONFIG_ECONET is not set | 403 | # CONFIG_ECONET is not set |
390 | # CONFIG_WAN_ROUTER is not set | 404 | # CONFIG_WAN_ROUTER is not set |
405 | # CONFIG_PHONET is not set | ||
406 | # CONFIG_IEEE802154 is not set | ||
391 | # CONFIG_NET_SCHED is not set | 407 | # CONFIG_NET_SCHED is not set |
408 | # CONFIG_DCB is not set | ||
392 | 409 | ||
393 | # | 410 | # |
394 | # Network testing | 411 | # Network testing |
@@ -431,14 +448,17 @@ CONFIG_IRCOMM=m | |||
431 | CONFIG_SA1100_FIR=m | 448 | CONFIG_SA1100_FIR=m |
432 | # CONFIG_BT is not set | 449 | # CONFIG_BT is not set |
433 | # CONFIG_AF_RXRPC is not set | 450 | # CONFIG_AF_RXRPC is not set |
451 | CONFIG_WIRELESS=y | ||
452 | # CONFIG_CFG80211 is not set | ||
453 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
454 | # CONFIG_WIRELESS_EXT is not set | ||
455 | # CONFIG_LIB80211 is not set | ||
434 | 456 | ||
435 | # | 457 | # |
436 | # Wireless | 458 | # CFG80211 needs to be enabled for MAC80211 |
437 | # | 459 | # |
438 | # CONFIG_CFG80211 is not set | 460 | CONFIG_MAC80211_DEFAULT_PS_VALUE=0 |
439 | # CONFIG_WIRELESS_EXT is not set | 461 | # CONFIG_WIMAX is not set |
440 | # CONFIG_MAC80211 is not set | ||
441 | # CONFIG_IEEE80211 is not set | ||
442 | # CONFIG_RFKILL is not set | 462 | # CONFIG_RFKILL is not set |
443 | # CONFIG_NET_9P is not set | 463 | # CONFIG_NET_9P is not set |
444 | 464 | ||
@@ -464,29 +484,34 @@ CONFIG_EXTRA_FIRMWARE="" | |||
464 | # CONFIG_PNP is not set | 484 | # CONFIG_PNP is not set |
465 | CONFIG_BLK_DEV=y | 485 | CONFIG_BLK_DEV=y |
466 | # CONFIG_BLK_DEV_COW_COMMON is not set | 486 | # CONFIG_BLK_DEV_COW_COMMON is not set |
467 | CONFIG_BLK_DEV_LOOP=m | 487 | CONFIG_BLK_DEV_LOOP=y |
468 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 488 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
469 | CONFIG_BLK_DEV_NBD=m | 489 | CONFIG_BLK_DEV_NBD=y |
470 | # CONFIG_BLK_DEV_RAM is not set | 490 | # CONFIG_BLK_DEV_RAM is not set |
471 | # CONFIG_CDROM_PKTCDVD is not set | 491 | # CONFIG_CDROM_PKTCDVD is not set |
472 | # CONFIG_ATA_OVER_ETH is not set | 492 | # CONFIG_ATA_OVER_ETH is not set |
493 | # CONFIG_MG_DISK is not set | ||
473 | CONFIG_MISC_DEVICES=y | 494 | CONFIG_MISC_DEVICES=y |
474 | # CONFIG_EEPROM_93CX6 is not set | ||
475 | # CONFIG_ENCLOSURE_SERVICES is not set | 495 | # CONFIG_ENCLOSURE_SERVICES is not set |
496 | # CONFIG_C2PORT is not set | ||
497 | |||
498 | # | ||
499 | # EEPROM support | ||
500 | # | ||
501 | # CONFIG_EEPROM_93CX6 is not set | ||
476 | CONFIG_HAVE_IDE=y | 502 | CONFIG_HAVE_IDE=y |
477 | CONFIG_IDE=y | 503 | CONFIG_IDE=y |
478 | CONFIG_BLK_DEV_IDE=y | ||
479 | 504 | ||
480 | # | 505 | # |
481 | # Please see Documentation/ide/ide.txt for help/info on IDE drives | 506 | # Please see Documentation/ide/ide.txt for help/info on IDE drives |
482 | # | 507 | # |
483 | # CONFIG_BLK_DEV_IDE_SATA is not set | 508 | # CONFIG_BLK_DEV_IDE_SATA is not set |
484 | CONFIG_BLK_DEV_IDEDISK=y | 509 | CONFIG_IDE_GD=y |
485 | # CONFIG_IDEDISK_MULTI_MODE is not set | 510 | CONFIG_IDE_GD_ATA=y |
511 | # CONFIG_IDE_GD_ATAPI is not set | ||
486 | CONFIG_BLK_DEV_IDECS=y | 512 | CONFIG_BLK_DEV_IDECS=y |
487 | # CONFIG_BLK_DEV_IDECD is not set | 513 | # CONFIG_BLK_DEV_IDECD is not set |
488 | # CONFIG_BLK_DEV_IDETAPE is not set | 514 | # CONFIG_BLK_DEV_IDETAPE is not set |
489 | # CONFIG_BLK_DEV_IDEFLOPPY is not set | ||
490 | # CONFIG_IDE_TASK_IOCTL is not set | 515 | # CONFIG_IDE_TASK_IOCTL is not set |
491 | CONFIG_IDE_PROC_FS=y | 516 | CONFIG_IDE_PROC_FS=y |
492 | 517 | ||
@@ -513,8 +538,34 @@ CONFIG_DUMMY=y | |||
513 | # CONFIG_TUN is not set | 538 | # CONFIG_TUN is not set |
514 | # CONFIG_VETH is not set | 539 | # CONFIG_VETH is not set |
515 | # CONFIG_ARCNET is not set | 540 | # CONFIG_ARCNET is not set |
516 | # CONFIG_NET_ETHERNET is not set | 541 | # CONFIG_PHYLIB is not set |
517 | CONFIG_MII=m | 542 | CONFIG_NET_ETHERNET=y |
543 | # CONFIG_MII is not set | ||
544 | # CONFIG_AX88796 is not set | ||
545 | # CONFIG_NET_VENDOR_3COM is not set | ||
546 | # CONFIG_NET_VENDOR_SMC is not set | ||
547 | # CONFIG_SMC91X is not set | ||
548 | # CONFIG_DM9000 is not set | ||
549 | # CONFIG_ETHOC is not set | ||
550 | # CONFIG_SMC911X is not set | ||
551 | # CONFIG_SMSC911X is not set | ||
552 | # CONFIG_NET_VENDOR_RACAL is not set | ||
553 | # CONFIG_DNET is not set | ||
554 | # CONFIG_AT1700 is not set | ||
555 | # CONFIG_DEPCA is not set | ||
556 | # CONFIG_HP100 is not set | ||
557 | # CONFIG_NET_ISA is not set | ||
558 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
559 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
560 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
561 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
562 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
563 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
564 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
565 | # CONFIG_NET_PCI is not set | ||
566 | # CONFIG_B44 is not set | ||
567 | # CONFIG_CS89x0 is not set | ||
568 | # CONFIG_KS8842 is not set | ||
518 | # CONFIG_NETDEV_1000 is not set | 569 | # CONFIG_NETDEV_1000 is not set |
519 | # CONFIG_NETDEV_10000 is not set | 570 | # CONFIG_NETDEV_10000 is not set |
520 | # CONFIG_TR is not set | 571 | # CONFIG_TR is not set |
@@ -523,17 +574,27 @@ CONFIG_MII=m | |||
523 | # Wireless LAN | 574 | # Wireless LAN |
524 | # | 575 | # |
525 | # CONFIG_WLAN_PRE80211 is not set | 576 | # CONFIG_WLAN_PRE80211 is not set |
526 | # CONFIG_WLAN_80211 is not set | 577 | CONFIG_WLAN_80211=y |
527 | # CONFIG_IWLWIFI_LEDS is not set | 578 | # CONFIG_PCMCIA_RAYCS is not set |
579 | # CONFIG_LIBERTAS is not set | ||
580 | # CONFIG_ATMEL is not set | ||
581 | # CONFIG_AIRO_CS is not set | ||
582 | # CONFIG_PCMCIA_WL3501 is not set | ||
583 | # CONFIG_HOSTAP is not set | ||
584 | # CONFIG_HERMES is not set | ||
585 | |||
586 | # | ||
587 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
588 | # | ||
528 | CONFIG_NET_PCMCIA=y | 589 | CONFIG_NET_PCMCIA=y |
529 | CONFIG_PCMCIA_3C589=m | 590 | # CONFIG_PCMCIA_3C589 is not set |
530 | CONFIG_PCMCIA_3C574=m | 591 | # CONFIG_PCMCIA_3C574 is not set |
531 | CONFIG_PCMCIA_FMVJ18X=m | 592 | # CONFIG_PCMCIA_FMVJ18X is not set |
532 | CONFIG_PCMCIA_PCNET=m | 593 | # CONFIG_PCMCIA_PCNET is not set |
533 | CONFIG_PCMCIA_NMCLAN=m | 594 | # CONFIG_PCMCIA_NMCLAN is not set |
534 | CONFIG_PCMCIA_SMC91C92=m | 595 | # CONFIG_PCMCIA_SMC91C92 is not set |
535 | CONFIG_PCMCIA_XIRC2PS=m | 596 | # CONFIG_PCMCIA_XIRC2PS is not set |
536 | CONFIG_PCMCIA_AXNET=m | 597 | # CONFIG_PCMCIA_AXNET is not set |
537 | # CONFIG_WAN is not set | 598 | # CONFIG_WAN is not set |
538 | # CONFIG_PPP is not set | 599 | # CONFIG_PPP is not set |
539 | # CONFIG_SLIP is not set | 600 | # CONFIG_SLIP is not set |
@@ -565,20 +626,23 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240 | |||
565 | # | 626 | # |
566 | CONFIG_INPUT_KEYBOARD=y | 627 | CONFIG_INPUT_KEYBOARD=y |
567 | # CONFIG_KEYBOARD_ATKBD is not set | 628 | # CONFIG_KEYBOARD_ATKBD is not set |
568 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
569 | # CONFIG_KEYBOARD_LKKBD is not set | 629 | # CONFIG_KEYBOARD_LKKBD is not set |
570 | # CONFIG_KEYBOARD_XTKBD is not set | 630 | # CONFIG_KEYBOARD_GPIO is not set |
631 | # CONFIG_KEYBOARD_MATRIX is not set | ||
632 | CONFIG_KEYBOARD_HP7XX=y | ||
571 | # CONFIG_KEYBOARD_NEWTON is not set | 633 | # CONFIG_KEYBOARD_NEWTON is not set |
572 | # CONFIG_KEYBOARD_STOWAWAY is not set | 634 | # CONFIG_KEYBOARD_STOWAWAY is not set |
573 | CONFIG_KEYBOARD_HP7XX=y | 635 | # CONFIG_KEYBOARD_SUNKBD is not set |
574 | # CONFIG_KEYBOARD_GPIO is not set | 636 | # CONFIG_KEYBOARD_XTKBD is not set |
575 | # CONFIG_INPUT_MOUSE is not set | 637 | # CONFIG_INPUT_MOUSE is not set |
576 | # CONFIG_INPUT_JOYSTICK is not set | 638 | # CONFIG_INPUT_JOYSTICK is not set |
577 | # CONFIG_INPUT_TABLET is not set | 639 | # CONFIG_INPUT_TABLET is not set |
578 | CONFIG_INPUT_TOUCHSCREEN=y | 640 | CONFIG_INPUT_TOUCHSCREEN=y |
641 | # CONFIG_TOUCHSCREEN_AD7879 is not set | ||
579 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | 642 | # CONFIG_TOUCHSCREEN_FUJITSU is not set |
580 | # CONFIG_TOUCHSCREEN_GUNZE is not set | 643 | # CONFIG_TOUCHSCREEN_GUNZE is not set |
581 | # CONFIG_TOUCHSCREEN_ELO is not set | 644 | # CONFIG_TOUCHSCREEN_ELO is not set |
645 | # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set | ||
582 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | 646 | # CONFIG_TOUCHSCREEN_MTOUCH is not set |
583 | # CONFIG_TOUCHSCREEN_INEXIO is not set | 647 | # CONFIG_TOUCHSCREEN_INEXIO is not set |
584 | # CONFIG_TOUCHSCREEN_MK712 is not set | 648 | # CONFIG_TOUCHSCREEN_MK712 is not set |
@@ -587,8 +651,8 @@ CONFIG_TOUCHSCREEN_HP7XX=y | |||
587 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set | 651 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set |
588 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set | 652 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set |
589 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set | 653 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set |
590 | # CONFIG_TOUCHSCREEN_UCB1400 is not set | ||
591 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set | 654 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set |
655 | # CONFIG_TOUCHSCREEN_W90X900 is not set | ||
592 | # CONFIG_INPUT_MISC is not set | 656 | # CONFIG_INPUT_MISC is not set |
593 | 657 | ||
594 | # | 658 | # |
@@ -624,11 +688,12 @@ CONFIG_SERIAL_SA1100_CONSOLE=y | |||
624 | CONFIG_SERIAL_CORE=y | 688 | CONFIG_SERIAL_CORE=y |
625 | CONFIG_SERIAL_CORE_CONSOLE=y | 689 | CONFIG_SERIAL_CORE_CONSOLE=y |
626 | CONFIG_UNIX98_PTYS=y | 690 | CONFIG_UNIX98_PTYS=y |
691 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
627 | CONFIG_LEGACY_PTYS=y | 692 | CONFIG_LEGACY_PTYS=y |
628 | CONFIG_LEGACY_PTY_COUNT=32 | 693 | CONFIG_LEGACY_PTY_COUNT=32 |
629 | # CONFIG_IPMI_HANDLER is not set | 694 | # CONFIG_IPMI_HANDLER is not set |
630 | CONFIG_HW_RANDOM=m | 695 | CONFIG_HW_RANDOM=m |
631 | # CONFIG_NVRAM is not set | 696 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set |
632 | # CONFIG_DTLK is not set | 697 | # CONFIG_DTLK is not set |
633 | # CONFIG_R3964 is not set | 698 | # CONFIG_R3964 is not set |
634 | 699 | ||
@@ -650,6 +715,10 @@ CONFIG_GPIOLIB=y | |||
650 | # CONFIG_GPIO_SYSFS is not set | 715 | # CONFIG_GPIO_SYSFS is not set |
651 | 716 | ||
652 | # | 717 | # |
718 | # Memory mapped GPIO expanders: | ||
719 | # | ||
720 | |||
721 | # | ||
653 | # I2C GPIO expanders: | 722 | # I2C GPIO expanders: |
654 | # | 723 | # |
655 | 724 | ||
@@ -663,12 +732,14 @@ CONFIG_GPIOLIB=y | |||
663 | # CONFIG_W1 is not set | 732 | # CONFIG_W1 is not set |
664 | # CONFIG_POWER_SUPPLY is not set | 733 | # CONFIG_POWER_SUPPLY is not set |
665 | # CONFIG_HWMON is not set | 734 | # CONFIG_HWMON is not set |
735 | # CONFIG_THERMAL is not set | ||
736 | # CONFIG_THERMAL_HWMON is not set | ||
666 | # CONFIG_WATCHDOG is not set | 737 | # CONFIG_WATCHDOG is not set |
738 | CONFIG_SSB_POSSIBLE=y | ||
667 | 739 | ||
668 | # | 740 | # |
669 | # Sonics Silicon Backplane | 741 | # Sonics Silicon Backplane |
670 | # | 742 | # |
671 | CONFIG_SSB_POSSIBLE=y | ||
672 | # CONFIG_SSB is not set | 743 | # CONFIG_SSB is not set |
673 | 744 | ||
674 | # | 745 | # |
@@ -676,6 +747,7 @@ CONFIG_SSB_POSSIBLE=y | |||
676 | # | 747 | # |
677 | # CONFIG_MFD_CORE is not set | 748 | # CONFIG_MFD_CORE is not set |
678 | # CONFIG_MFD_SM501 is not set | 749 | # CONFIG_MFD_SM501 is not set |
750 | # CONFIG_MFD_ASIC3 is not set | ||
679 | # CONFIG_HTC_EGPIO is not set | 751 | # CONFIG_HTC_EGPIO is not set |
680 | # CONFIG_HTC_PASIC3 is not set | 752 | # CONFIG_HTC_PASIC3 is not set |
681 | # CONFIG_MFD_TMIO is not set | 753 | # CONFIG_MFD_TMIO is not set |
@@ -687,22 +759,7 @@ CONFIG_SSB_POSSIBLE=y | |||
687 | # Multimedia Capabilities Port drivers | 759 | # Multimedia Capabilities Port drivers |
688 | # | 760 | # |
689 | # CONFIG_MCP_SA11X0 is not set | 761 | # CONFIG_MCP_SA11X0 is not set |
690 | 762 | # CONFIG_MEDIA_SUPPORT is not set | |
691 | # | ||
692 | # Multimedia devices | ||
693 | # | ||
694 | |||
695 | # | ||
696 | # Multimedia core support | ||
697 | # | ||
698 | # CONFIG_VIDEO_DEV is not set | ||
699 | # CONFIG_DVB_CORE is not set | ||
700 | # CONFIG_VIDEO_MEDIA is not set | ||
701 | |||
702 | # | ||
703 | # Multimedia drivers | ||
704 | # | ||
705 | # CONFIG_DAB is not set | ||
706 | 763 | ||
707 | # | 764 | # |
708 | # Graphics support | 765 | # Graphics support |
@@ -712,6 +769,7 @@ CONFIG_SSB_POSSIBLE=y | |||
712 | CONFIG_FB=y | 769 | CONFIG_FB=y |
713 | # CONFIG_FIRMWARE_EDID is not set | 770 | # CONFIG_FIRMWARE_EDID is not set |
714 | # CONFIG_FB_DDC is not set | 771 | # CONFIG_FB_DDC is not set |
772 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
715 | CONFIG_FB_CFB_FILLRECT=y | 773 | CONFIG_FB_CFB_FILLRECT=y |
716 | CONFIG_FB_CFB_COPYAREA=y | 774 | CONFIG_FB_CFB_COPYAREA=y |
717 | CONFIG_FB_CFB_IMAGEBLIT=y | 775 | CONFIG_FB_CFB_IMAGEBLIT=y |
@@ -733,7 +791,17 @@ CONFIG_FB_CFB_IMAGEBLIT=y | |||
733 | # CONFIG_FB_SA1100 is not set | 791 | # CONFIG_FB_SA1100 is not set |
734 | CONFIG_FB_S1D13XXX=y | 792 | CONFIG_FB_S1D13XXX=y |
735 | # CONFIG_FB_VIRTUAL is not set | 793 | # CONFIG_FB_VIRTUAL is not set |
736 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 794 | # CONFIG_FB_METRONOME is not set |
795 | # CONFIG_FB_MB862XX is not set | ||
796 | # CONFIG_FB_BROADSHEET is not set | ||
797 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
798 | CONFIG_LCD_CLASS_DEVICE=y | ||
799 | # CONFIG_LCD_ILI9320 is not set | ||
800 | # CONFIG_LCD_PLATFORM is not set | ||
801 | CONFIG_LCD_HP700=y | ||
802 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | ||
803 | # CONFIG_BACKLIGHT_GENERIC is not set | ||
804 | CONFIG_BACKLIGHT_HP700=y | ||
737 | 805 | ||
738 | # | 806 | # |
739 | # Display device support | 807 | # Display device support |
@@ -757,6 +825,8 @@ CONFIG_FONT_8x16=y | |||
757 | # CONFIG_HID_SUPPORT is not set | 825 | # CONFIG_HID_SUPPORT is not set |
758 | # CONFIG_USB_SUPPORT is not set | 826 | # CONFIG_USB_SUPPORT is not set |
759 | # CONFIG_MMC is not set | 827 | # CONFIG_MMC is not set |
828 | # CONFIG_MEMSTICK is not set | ||
829 | # CONFIG_ACCESSIBILITY is not set | ||
760 | # CONFIG_NEW_LEDS is not set | 830 | # CONFIG_NEW_LEDS is not set |
761 | CONFIG_RTC_LIB=y | 831 | CONFIG_RTC_LIB=y |
762 | CONFIG_RTC_CLASS=y | 832 | CONFIG_RTC_CLASS=y |
@@ -781,12 +851,15 @@ CONFIG_RTC_INTF_DEV=y | |||
781 | # Platform RTC drivers | 851 | # Platform RTC drivers |
782 | # | 852 | # |
783 | # CONFIG_RTC_DRV_CMOS is not set | 853 | # CONFIG_RTC_DRV_CMOS is not set |
854 | # CONFIG_RTC_DRV_DS1286 is not set | ||
784 | # CONFIG_RTC_DRV_DS1511 is not set | 855 | # CONFIG_RTC_DRV_DS1511 is not set |
785 | # CONFIG_RTC_DRV_DS1553 is not set | 856 | # CONFIG_RTC_DRV_DS1553 is not set |
786 | # CONFIG_RTC_DRV_DS1742 is not set | 857 | # CONFIG_RTC_DRV_DS1742 is not set |
787 | # CONFIG_RTC_DRV_STK17TA8 is not set | 858 | # CONFIG_RTC_DRV_STK17TA8 is not set |
788 | # CONFIG_RTC_DRV_M48T86 is not set | 859 | # CONFIG_RTC_DRV_M48T86 is not set |
860 | # CONFIG_RTC_DRV_M48T35 is not set | ||
789 | # CONFIG_RTC_DRV_M48T59 is not set | 861 | # CONFIG_RTC_DRV_M48T59 is not set |
862 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
790 | # CONFIG_RTC_DRV_V3020 is not set | 863 | # CONFIG_RTC_DRV_V3020 is not set |
791 | 864 | ||
792 | # | 865 | # |
@@ -794,15 +867,10 @@ CONFIG_RTC_INTF_DEV=y | |||
794 | # | 867 | # |
795 | CONFIG_RTC_DRV_SA1100=y | 868 | CONFIG_RTC_DRV_SA1100=y |
796 | # CONFIG_DMADEVICES is not set | 869 | # CONFIG_DMADEVICES is not set |
797 | 870 | # CONFIG_AUXDISPLAY is not set | |
798 | # | ||
799 | # Voltage and Current regulators | ||
800 | # | ||
801 | # CONFIG_REGULATOR is not set | 871 | # CONFIG_REGULATOR is not set |
802 | # CONFIG_REGULATOR_FIXED_VOLTAGE is not set | ||
803 | # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set | ||
804 | # CONFIG_REGULATOR_BQ24022 is not set | ||
805 | # CONFIG_UIO is not set | 872 | # CONFIG_UIO is not set |
873 | # CONFIG_STAGING is not set | ||
806 | 874 | ||
807 | # | 875 | # |
808 | # File systems | 876 | # File systems |
@@ -811,12 +879,16 @@ CONFIG_EXT2_FS=y | |||
811 | # CONFIG_EXT2_FS_XATTR is not set | 879 | # CONFIG_EXT2_FS_XATTR is not set |
812 | # CONFIG_EXT2_FS_XIP is not set | 880 | # CONFIG_EXT2_FS_XIP is not set |
813 | # CONFIG_EXT3_FS is not set | 881 | # CONFIG_EXT3_FS is not set |
814 | # CONFIG_EXT4DEV_FS is not set | 882 | # CONFIG_EXT4_FS is not set |
815 | # CONFIG_REISERFS_FS is not set | 883 | # CONFIG_REISERFS_FS is not set |
816 | # CONFIG_JFS_FS is not set | 884 | # CONFIG_JFS_FS is not set |
817 | # CONFIG_FS_POSIX_ACL is not set | 885 | # CONFIG_FS_POSIX_ACL is not set |
818 | # CONFIG_XFS_FS is not set | 886 | # CONFIG_XFS_FS is not set |
887 | # CONFIG_GFS2_FS is not set | ||
819 | # CONFIG_OCFS2_FS is not set | 888 | # CONFIG_OCFS2_FS is not set |
889 | # CONFIG_BTRFS_FS is not set | ||
890 | CONFIG_FILE_LOCKING=y | ||
891 | CONFIG_FSNOTIFY=y | ||
820 | CONFIG_DNOTIFY=y | 892 | CONFIG_DNOTIFY=y |
821 | CONFIG_INOTIFY=y | 893 | CONFIG_INOTIFY=y |
822 | CONFIG_INOTIFY_USER=y | 894 | CONFIG_INOTIFY_USER=y |
@@ -826,6 +898,11 @@ CONFIG_INOTIFY_USER=y | |||
826 | # CONFIG_FUSE_FS is not set | 898 | # CONFIG_FUSE_FS is not set |
827 | 899 | ||
828 | # | 900 | # |
901 | # Caches | ||
902 | # | ||
903 | # CONFIG_FSCACHE is not set | ||
904 | |||
905 | # | ||
829 | # CD-ROM/DVD Filesystems | 906 | # CD-ROM/DVD Filesystems |
830 | # | 907 | # |
831 | # CONFIG_ISO9660_FS is not set | 908 | # CONFIG_ISO9660_FS is not set |
@@ -846,14 +923,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | |||
846 | # | 923 | # |
847 | CONFIG_PROC_FS=y | 924 | CONFIG_PROC_FS=y |
848 | CONFIG_PROC_SYSCTL=y | 925 | CONFIG_PROC_SYSCTL=y |
926 | CONFIG_PROC_PAGE_MONITOR=y | ||
849 | CONFIG_SYSFS=y | 927 | CONFIG_SYSFS=y |
850 | # CONFIG_TMPFS is not set | 928 | # CONFIG_TMPFS is not set |
851 | # CONFIG_HUGETLB_PAGE is not set | 929 | # CONFIG_HUGETLB_PAGE is not set |
852 | # CONFIG_CONFIGFS_FS is not set | 930 | # CONFIG_CONFIGFS_FS is not set |
853 | 931 | CONFIG_MISC_FILESYSTEMS=y | |
854 | # | ||
855 | # Miscellaneous filesystems | ||
856 | # | ||
857 | # CONFIG_ADFS_FS is not set | 932 | # CONFIG_ADFS_FS is not set |
858 | # CONFIG_AFFS_FS is not set | 933 | # CONFIG_AFFS_FS is not set |
859 | # CONFIG_HFS_FS is not set | 934 | # CONFIG_HFS_FS is not set |
@@ -862,6 +937,7 @@ CONFIG_SYSFS=y | |||
862 | # CONFIG_BFS_FS is not set | 937 | # CONFIG_BFS_FS is not set |
863 | # CONFIG_EFS_FS is not set | 938 | # CONFIG_EFS_FS is not set |
864 | # CONFIG_CRAMFS is not set | 939 | # CONFIG_CRAMFS is not set |
940 | # CONFIG_SQUASHFS is not set | ||
865 | # CONFIG_VXFS_FS is not set | 941 | # CONFIG_VXFS_FS is not set |
866 | # CONFIG_MINIX_FS is not set | 942 | # CONFIG_MINIX_FS is not set |
867 | # CONFIG_OMFS_FS is not set | 943 | # CONFIG_OMFS_FS is not set |
@@ -870,6 +946,7 @@ CONFIG_SYSFS=y | |||
870 | # CONFIG_ROMFS_FS is not set | 946 | # CONFIG_ROMFS_FS is not set |
871 | # CONFIG_SYSV_FS is not set | 947 | # CONFIG_SYSV_FS is not set |
872 | # CONFIG_UFS_FS is not set | 948 | # CONFIG_UFS_FS is not set |
949 | # CONFIG_NILFS2_FS is not set | ||
873 | # CONFIG_NETWORK_FILESYSTEMS is not set | 950 | # CONFIG_NETWORK_FILESYSTEMS is not set |
874 | 951 | ||
875 | # | 952 | # |
@@ -935,12 +1012,16 @@ CONFIG_DEBUG_KERNEL=y | |||
935 | CONFIG_DETECT_SOFTLOCKUP=y | 1012 | CONFIG_DETECT_SOFTLOCKUP=y |
936 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 1013 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
937 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 1014 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
1015 | CONFIG_DETECT_HUNG_TASK=y | ||
1016 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1017 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
938 | CONFIG_SCHED_DEBUG=y | 1018 | CONFIG_SCHED_DEBUG=y |
939 | # CONFIG_SCHEDSTATS is not set | 1019 | # CONFIG_SCHEDSTATS is not set |
940 | # CONFIG_TIMER_STATS is not set | 1020 | # CONFIG_TIMER_STATS is not set |
941 | # CONFIG_DEBUG_OBJECTS is not set | 1021 | # CONFIG_DEBUG_OBJECTS is not set |
942 | # CONFIG_SLUB_DEBUG_ON is not set | 1022 | # CONFIG_SLUB_DEBUG_ON is not set |
943 | # CONFIG_SLUB_STATS is not set | 1023 | # CONFIG_SLUB_STATS is not set |
1024 | # CONFIG_DEBUG_KMEMLEAK is not set | ||
944 | # CONFIG_DEBUG_RT_MUTEXES is not set | 1025 | # CONFIG_DEBUG_RT_MUTEXES is not set |
945 | # CONFIG_RT_MUTEX_TESTER is not set | 1026 | # CONFIG_RT_MUTEX_TESTER is not set |
946 | # CONFIG_DEBUG_SPINLOCK is not set | 1027 | # CONFIG_DEBUG_SPINLOCK is not set |
@@ -958,19 +1039,20 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
958 | CONFIG_DEBUG_MEMORY_INIT=y | 1039 | CONFIG_DEBUG_MEMORY_INIT=y |
959 | # CONFIG_DEBUG_LIST is not set | 1040 | # CONFIG_DEBUG_LIST is not set |
960 | # CONFIG_DEBUG_SG is not set | 1041 | # CONFIG_DEBUG_SG is not set |
1042 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
961 | CONFIG_FRAME_POINTER=y | 1043 | CONFIG_FRAME_POINTER=y |
962 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1044 | # CONFIG_BOOT_PRINTK_DELAY is not set |
963 | # CONFIG_RCU_TORTURE_TEST is not set | 1045 | # CONFIG_RCU_TORTURE_TEST is not set |
1046 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
964 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1047 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1048 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
965 | # CONFIG_FAULT_INJECTION is not set | 1049 | # CONFIG_FAULT_INJECTION is not set |
966 | # CONFIG_LATENCYTOP is not set | 1050 | # CONFIG_LATENCYTOP is not set |
967 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | 1051 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set |
968 | CONFIG_HAVE_FTRACE=y | 1052 | # CONFIG_PAGE_POISONING is not set |
969 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1053 | CONFIG_HAVE_FUNCTION_TRACER=y |
1054 | CONFIG_TRACING_SUPPORT=y | ||
970 | # CONFIG_FTRACE is not set | 1055 | # CONFIG_FTRACE is not set |
971 | # CONFIG_IRQSOFF_TRACER is not set | ||
972 | # CONFIG_SCHED_TRACER is not set | ||
973 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
974 | # CONFIG_SAMPLES is not set | 1056 | # CONFIG_SAMPLES is not set |
975 | CONFIG_HAVE_ARCH_KGDB=y | 1057 | CONFIG_HAVE_ARCH_KGDB=y |
976 | # CONFIG_KGDB is not set | 1058 | # CONFIG_KGDB is not set |
@@ -985,13 +1067,16 @@ CONFIG_DEBUG_LL=y | |||
985 | # | 1067 | # |
986 | # CONFIG_KEYS is not set | 1068 | # CONFIG_KEYS is not set |
987 | # CONFIG_SECURITY is not set | 1069 | # CONFIG_SECURITY is not set |
1070 | # CONFIG_SECURITYFS is not set | ||
988 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1071 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
989 | CONFIG_CRYPTO=y | 1072 | CONFIG_CRYPTO=y |
990 | 1073 | ||
991 | # | 1074 | # |
992 | # Crypto core or helper | 1075 | # Crypto core or helper |
993 | # | 1076 | # |
1077 | # CONFIG_CRYPTO_FIPS is not set | ||
994 | # CONFIG_CRYPTO_MANAGER is not set | 1078 | # CONFIG_CRYPTO_MANAGER is not set |
1079 | # CONFIG_CRYPTO_MANAGER2 is not set | ||
995 | # CONFIG_CRYPTO_GF128MUL is not set | 1080 | # CONFIG_CRYPTO_GF128MUL is not set |
996 | # CONFIG_CRYPTO_NULL is not set | 1081 | # CONFIG_CRYPTO_NULL is not set |
997 | # CONFIG_CRYPTO_CRYPTD is not set | 1082 | # CONFIG_CRYPTO_CRYPTD is not set |
@@ -1062,15 +1147,21 @@ CONFIG_CRYPTO=y | |||
1062 | # Compression | 1147 | # Compression |
1063 | # | 1148 | # |
1064 | # CONFIG_CRYPTO_DEFLATE is not set | 1149 | # CONFIG_CRYPTO_DEFLATE is not set |
1150 | # CONFIG_CRYPTO_ZLIB is not set | ||
1065 | # CONFIG_CRYPTO_LZO is not set | 1151 | # CONFIG_CRYPTO_LZO is not set |
1152 | |||
1153 | # | ||
1154 | # Random Number Generation | ||
1155 | # | ||
1156 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
1066 | CONFIG_CRYPTO_HW=y | 1157 | CONFIG_CRYPTO_HW=y |
1158 | # CONFIG_BINARY_PRINTF is not set | ||
1067 | 1159 | ||
1068 | # | 1160 | # |
1069 | # Library routines | 1161 | # Library routines |
1070 | # | 1162 | # |
1071 | CONFIG_BITREVERSE=y | 1163 | CONFIG_BITREVERSE=y |
1072 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | 1164 | CONFIG_GENERIC_FIND_LAST_BIT=y |
1073 | # CONFIG_GENERIC_FIND_NEXT_BIT is not set | ||
1074 | CONFIG_CRC_CCITT=m | 1165 | CONFIG_CRC_CCITT=m |
1075 | # CONFIG_CRC16 is not set | 1166 | # CONFIG_CRC16 is not set |
1076 | # CONFIG_CRC_T10DIF is not set | 1167 | # CONFIG_CRC_T10DIF is not set |
@@ -1078,7 +1169,7 @@ CONFIG_CRC_CCITT=m | |||
1078 | CONFIG_CRC32=y | 1169 | CONFIG_CRC32=y |
1079 | # CONFIG_CRC7 is not set | 1170 | # CONFIG_CRC7 is not set |
1080 | # CONFIG_LIBCRC32C is not set | 1171 | # CONFIG_LIBCRC32C is not set |
1081 | CONFIG_PLIST=y | ||
1082 | CONFIG_HAS_IOMEM=y | 1172 | CONFIG_HAS_IOMEM=y |
1083 | CONFIG_HAS_IOPORT=y | 1173 | CONFIG_HAS_IOPORT=y |
1084 | CONFIG_HAS_DMA=y | 1174 | CONFIG_HAS_DMA=y |
1175 | CONFIG_NLATTR=y | ||
diff --git a/arch/arm/configs/kirkwood_defconfig b/arch/arm/configs/kirkwood_defconfig index 0a1abb978d7e..af74cc2de8b6 100644 --- a/arch/arm/configs/kirkwood_defconfig +++ b/arch/arm/configs/kirkwood_defconfig | |||
@@ -629,7 +629,7 @@ CONFIG_SCSI_LOWLEVEL=y | |||
629 | CONFIG_ATA=y | 629 | CONFIG_ATA=y |
630 | # CONFIG_ATA_NONSTANDARD is not set | 630 | # CONFIG_ATA_NONSTANDARD is not set |
631 | CONFIG_SATA_PMP=y | 631 | CONFIG_SATA_PMP=y |
632 | # CONFIG_SATA_AHCI is not set | 632 | CONFIG_SATA_AHCI=y |
633 | # CONFIG_SATA_SIL24 is not set | 633 | # CONFIG_SATA_SIL24 is not set |
634 | CONFIG_ATA_SFF=y | 634 | CONFIG_ATA_SFF=y |
635 | # CONFIG_SATA_SVW is not set | 635 | # CONFIG_SATA_SVW is not set |
diff --git a/arch/arm/configs/mx27_defconfig b/arch/arm/configs/mx27_defconfig index 083516cd0d7f..75263a83741c 100644 --- a/arch/arm/configs/mx27_defconfig +++ b/arch/arm/configs/mx27_defconfig | |||
@@ -1,15 +1,15 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.30-rc1 | 3 | # Linux kernel version: 2.6.31-rc4 |
4 | # Wed Apr 8 10:18:06 2009 | 4 | # Fri Jul 24 16:08:06 2009 |
5 | # | 5 | # |
6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
7 | CONFIG_HAVE_PWM=y | ||
7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | 8 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y |
8 | CONFIG_GENERIC_GPIO=y | 9 | CONFIG_GENERIC_GPIO=y |
9 | CONFIG_GENERIC_TIME=y | 10 | CONFIG_GENERIC_TIME=y |
10 | CONFIG_GENERIC_CLOCKEVENTS=y | 11 | CONFIG_GENERIC_CLOCKEVENTS=y |
11 | CONFIG_MMU=y | 12 | CONFIG_MMU=y |
12 | # CONFIG_NO_IOPORT is not set | ||
13 | CONFIG_GENERIC_HARDIRQS=y | 13 | CONFIG_GENERIC_HARDIRQS=y |
14 | CONFIG_STACKTRACE_SUPPORT=y | 14 | CONFIG_STACKTRACE_SUPPORT=y |
15 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | 15 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y |
@@ -18,14 +18,13 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y | |||
18 | CONFIG_HARDIRQS_SW_RESEND=y | 18 | CONFIG_HARDIRQS_SW_RESEND=y |
19 | CONFIG_GENERIC_IRQ_PROBE=y | 19 | CONFIG_GENERIC_IRQ_PROBE=y |
20 | CONFIG_RWSEM_GENERIC_SPINLOCK=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 | 21 | CONFIG_GENERIC_HWEIGHT=y |
24 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 22 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
25 | CONFIG_ARCH_MTD_XIP=y | 23 | CONFIG_ARCH_MTD_XIP=y |
26 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | 24 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y |
27 | CONFIG_VECTORS_BASE=0xffff0000 | 25 | CONFIG_VECTORS_BASE=0xffff0000 |
28 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 26 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
27 | CONFIG_CONSTRUCTORS=y | ||
29 | 28 | ||
30 | # | 29 | # |
31 | # General setup | 30 | # General setup |
@@ -85,7 +84,12 @@ CONFIG_TIMERFD=y | |||
85 | CONFIG_EVENTFD=y | 84 | CONFIG_EVENTFD=y |
86 | CONFIG_SHMEM=y | 85 | CONFIG_SHMEM=y |
87 | CONFIG_AIO=y | 86 | CONFIG_AIO=y |
87 | |||
88 | # | ||
89 | # Performance Counters | ||
90 | # | ||
88 | CONFIG_VM_EVENT_COUNTERS=y | 91 | CONFIG_VM_EVENT_COUNTERS=y |
92 | # CONFIG_STRIP_ASM_SYMS is not set | ||
89 | # CONFIG_COMPAT_BRK is not set | 93 | # CONFIG_COMPAT_BRK is not set |
90 | CONFIG_SLAB=y | 94 | CONFIG_SLAB=y |
91 | # CONFIG_SLUB is not set | 95 | # CONFIG_SLUB is not set |
@@ -99,6 +103,12 @@ CONFIG_KPROBES=y | |||
99 | CONFIG_KRETPROBES=y | 103 | CONFIG_KRETPROBES=y |
100 | CONFIG_HAVE_KPROBES=y | 104 | CONFIG_HAVE_KPROBES=y |
101 | CONFIG_HAVE_KRETPROBES=y | 105 | CONFIG_HAVE_KRETPROBES=y |
106 | CONFIG_HAVE_CLK=y | ||
107 | |||
108 | # | ||
109 | # GCOV-based kernel profiling | ||
110 | # | ||
111 | # CONFIG_GCOV_KERNEL is not set | ||
102 | # CONFIG_SLOW_WORK is not set | 112 | # CONFIG_SLOW_WORK is not set |
103 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | 113 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y |
104 | CONFIG_SLABINFO=y | 114 | CONFIG_SLABINFO=y |
@@ -111,7 +121,7 @@ CONFIG_MODULE_UNLOAD=y | |||
111 | # CONFIG_MODVERSIONS is not set | 121 | # CONFIG_MODVERSIONS is not set |
112 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 122 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
113 | CONFIG_BLOCK=y | 123 | CONFIG_BLOCK=y |
114 | # CONFIG_LBD is not set | 124 | CONFIG_LBDAF=y |
115 | # CONFIG_BLK_DEV_BSG is not set | 125 | # CONFIG_BLK_DEV_BSG is not set |
116 | # CONFIG_BLK_DEV_INTEGRITY is not set | 126 | # CONFIG_BLK_DEV_INTEGRITY is not set |
117 | 127 | ||
@@ -138,13 +148,14 @@ CONFIG_FREEZER=y | |||
138 | # CONFIG_ARCH_VERSATILE is not set | 148 | # CONFIG_ARCH_VERSATILE is not set |
139 | # CONFIG_ARCH_AT91 is not set | 149 | # CONFIG_ARCH_AT91 is not set |
140 | # CONFIG_ARCH_CLPS711X is not set | 150 | # CONFIG_ARCH_CLPS711X is not set |
151 | # CONFIG_ARCH_GEMINI is not set | ||
141 | # CONFIG_ARCH_EBSA110 is not set | 152 | # CONFIG_ARCH_EBSA110 is not set |
142 | # CONFIG_ARCH_EP93XX is not set | 153 | # CONFIG_ARCH_EP93XX is not set |
143 | # CONFIG_ARCH_GEMINI is not set | ||
144 | # CONFIG_ARCH_FOOTBRIDGE is not set | 154 | # CONFIG_ARCH_FOOTBRIDGE is not set |
155 | CONFIG_ARCH_MXC=y | ||
156 | # CONFIG_ARCH_STMP3XXX is not set | ||
145 | # CONFIG_ARCH_NETX is not set | 157 | # CONFIG_ARCH_NETX is not set |
146 | # CONFIG_ARCH_H720X is not set | 158 | # CONFIG_ARCH_H720X is not set |
147 | # CONFIG_ARCH_IMX is not set | ||
148 | # CONFIG_ARCH_IOP13XX is not set | 159 | # CONFIG_ARCH_IOP13XX is not set |
149 | # CONFIG_ARCH_IOP32X is not set | 160 | # CONFIG_ARCH_IOP32X is not set |
150 | # CONFIG_ARCH_IOP33X is not set | 161 | # CONFIG_ARCH_IOP33X is not set |
@@ -153,25 +164,25 @@ CONFIG_FREEZER=y | |||
153 | # CONFIG_ARCH_IXP4XX is not set | 164 | # CONFIG_ARCH_IXP4XX is not set |
154 | # CONFIG_ARCH_L7200 is not set | 165 | # CONFIG_ARCH_L7200 is not set |
155 | # CONFIG_ARCH_KIRKWOOD is not set | 166 | # CONFIG_ARCH_KIRKWOOD is not set |
156 | # CONFIG_ARCH_KS8695 is not set | ||
157 | # CONFIG_ARCH_NS9XXX is not set | ||
158 | # CONFIG_ARCH_LOKI is not set | 167 | # CONFIG_ARCH_LOKI is not set |
159 | # CONFIG_ARCH_MV78XX0 is not set | 168 | # CONFIG_ARCH_MV78XX0 is not set |
160 | CONFIG_ARCH_MXC=y | ||
161 | # CONFIG_ARCH_ORION5X is not set | 169 | # CONFIG_ARCH_ORION5X is not set |
170 | # CONFIG_ARCH_MMP is not set | ||
171 | # CONFIG_ARCH_KS8695 is not set | ||
172 | # CONFIG_ARCH_NS9XXX is not set | ||
173 | # CONFIG_ARCH_W90X900 is not set | ||
162 | # CONFIG_ARCH_PNX4008 is not set | 174 | # CONFIG_ARCH_PNX4008 is not set |
163 | # CONFIG_ARCH_PXA is not set | 175 | # CONFIG_ARCH_PXA is not set |
164 | # CONFIG_ARCH_MMP is not set | 176 | # CONFIG_ARCH_MSM is not set |
165 | # CONFIG_ARCH_RPC is not set | 177 | # CONFIG_ARCH_RPC is not set |
166 | # CONFIG_ARCH_SA1100 is not set | 178 | # CONFIG_ARCH_SA1100 is not set |
167 | # CONFIG_ARCH_S3C2410 is not set | 179 | # CONFIG_ARCH_S3C2410 is not set |
168 | # CONFIG_ARCH_S3C64XX is not set | 180 | # CONFIG_ARCH_S3C64XX is not set |
169 | # CONFIG_ARCH_SHARK is not set | 181 | # CONFIG_ARCH_SHARK is not set |
170 | # CONFIG_ARCH_LH7A40X is not set | 182 | # CONFIG_ARCH_LH7A40X is not set |
183 | # CONFIG_ARCH_U300 is not set | ||
171 | # CONFIG_ARCH_DAVINCI is not set | 184 | # CONFIG_ARCH_DAVINCI is not set |
172 | # CONFIG_ARCH_OMAP is not set | 185 | # CONFIG_ARCH_OMAP is not set |
173 | # CONFIG_ARCH_MSM is not set | ||
174 | # CONFIG_ARCH_W90X900 is not set | ||
175 | 186 | ||
176 | # | 187 | # |
177 | # Freescale MXC Implementations | 188 | # Freescale MXC Implementations |
@@ -188,6 +199,8 @@ CONFIG_MACH_MX27=y | |||
188 | CONFIG_MACH_MX27ADS=y | 199 | CONFIG_MACH_MX27ADS=y |
189 | CONFIG_MACH_PCM038=y | 200 | CONFIG_MACH_PCM038=y |
190 | CONFIG_MACH_PCM970_BASEBOARD=y | 201 | CONFIG_MACH_PCM970_BASEBOARD=y |
202 | CONFIG_MACH_MX27_3DS=y | ||
203 | CONFIG_MACH_MX27LITE=y | ||
191 | CONFIG_MXC_IRQ_PRIOR=y | 204 | CONFIG_MXC_IRQ_PRIOR=y |
192 | CONFIG_MXC_PWM=y | 205 | CONFIG_MXC_PWM=y |
193 | 206 | ||
@@ -213,7 +226,6 @@ CONFIG_ARM_THUMB=y | |||
213 | # CONFIG_CPU_DCACHE_DISABLE is not set | 226 | # CONFIG_CPU_DCACHE_DISABLE is not set |
214 | # CONFIG_CPU_DCACHE_WRITETHROUGH is not set | 227 | # CONFIG_CPU_DCACHE_WRITETHROUGH is not set |
215 | # CONFIG_CPU_CACHE_ROUND_ROBIN is not set | 228 | # CONFIG_CPU_CACHE_ROUND_ROBIN is not set |
216 | # CONFIG_OUTER_CACHE is not set | ||
217 | CONFIG_COMMON_CLKDEV=y | 229 | CONFIG_COMMON_CLKDEV=y |
218 | 230 | ||
219 | # | 231 | # |
@@ -238,7 +250,6 @@ CONFIG_PREEMPT=y | |||
238 | CONFIG_HZ=100 | 250 | CONFIG_HZ=100 |
239 | CONFIG_AEABI=y | 251 | CONFIG_AEABI=y |
240 | CONFIG_OABI_COMPAT=y | 252 | CONFIG_OABI_COMPAT=y |
241 | CONFIG_ARCH_FLATMEM_HAS_HOLES=y | ||
242 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | 253 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set |
243 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | 254 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set |
244 | # CONFIG_HIGHMEM is not set | 255 | # CONFIG_HIGHMEM is not set |
@@ -253,10 +264,11 @@ CONFIG_SPLIT_PTLOCK_CPUS=4096 | |||
253 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 264 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
254 | CONFIG_ZONE_DMA_FLAG=0 | 265 | CONFIG_ZONE_DMA_FLAG=0 |
255 | CONFIG_VIRT_TO_BUS=y | 266 | CONFIG_VIRT_TO_BUS=y |
256 | CONFIG_UNEVICTABLE_LRU=y | ||
257 | CONFIG_HAVE_MLOCK=y | 267 | CONFIG_HAVE_MLOCK=y |
258 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | 268 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y |
269 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
259 | CONFIG_ALIGNMENT_TRAP=y | 270 | CONFIG_ALIGNMENT_TRAP=y |
271 | # CONFIG_UACCESS_WITH_MEMCPY is not set | ||
260 | 272 | ||
261 | # | 273 | # |
262 | # Boot options | 274 | # Boot options |
@@ -361,6 +373,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
361 | # CONFIG_ECONET is not set | 373 | # CONFIG_ECONET is not set |
362 | # CONFIG_WAN_ROUTER is not set | 374 | # CONFIG_WAN_ROUTER is not set |
363 | # CONFIG_PHONET is not set | 375 | # CONFIG_PHONET is not set |
376 | # CONFIG_IEEE802154 is not set | ||
364 | # CONFIG_NET_SCHED is not set | 377 | # CONFIG_NET_SCHED is not set |
365 | # CONFIG_DCB is not set | 378 | # CONFIG_DCB is not set |
366 | 379 | ||
@@ -474,7 +487,16 @@ CONFIG_MTD_PHYSMAP=y | |||
474 | # CONFIG_MTD_DOC2000 is not set | 487 | # CONFIG_MTD_DOC2000 is not set |
475 | # CONFIG_MTD_DOC2001 is not set | 488 | # CONFIG_MTD_DOC2001 is not set |
476 | # CONFIG_MTD_DOC2001PLUS is not set | 489 | # CONFIG_MTD_DOC2001PLUS is not set |
477 | # CONFIG_MTD_NAND is not set | 490 | CONFIG_MTD_NAND=y |
491 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
492 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
493 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
494 | # CONFIG_MTD_NAND_GPIO is not set | ||
495 | CONFIG_MTD_NAND_IDS=y | ||
496 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
497 | # CONFIG_MTD_NAND_NANDSIM is not set | ||
498 | # CONFIG_MTD_NAND_PLATFORM is not set | ||
499 | CONFIG_MTD_NAND_MXC=y | ||
478 | # CONFIG_MTD_ONENAND is not set | 500 | # CONFIG_MTD_ONENAND is not set |
479 | 501 | ||
480 | # | 502 | # |
@@ -485,7 +507,15 @@ CONFIG_MTD_PHYSMAP=y | |||
485 | # | 507 | # |
486 | # UBI - Unsorted block images | 508 | # UBI - Unsorted block images |
487 | # | 509 | # |
488 | # CONFIG_MTD_UBI is not set | 510 | CONFIG_MTD_UBI=y |
511 | CONFIG_MTD_UBI_WL_THRESHOLD=4096 | ||
512 | CONFIG_MTD_UBI_BEB_RESERVE=1 | ||
513 | # CONFIG_MTD_UBI_GLUEBI is not set | ||
514 | |||
515 | # | ||
516 | # UBI debugging options | ||
517 | # | ||
518 | # CONFIG_MTD_UBI_DEBUG is not set | ||
489 | # CONFIG_PARPORT is not set | 519 | # CONFIG_PARPORT is not set |
490 | CONFIG_BLK_DEV=y | 520 | CONFIG_BLK_DEV=y |
491 | # CONFIG_BLK_DEV_COW_COMMON is not set | 521 | # CONFIG_BLK_DEV_COW_COMMON is not set |
@@ -494,7 +524,21 @@ CONFIG_BLK_DEV=y | |||
494 | # CONFIG_BLK_DEV_RAM is not set | 524 | # CONFIG_BLK_DEV_RAM is not set |
495 | # CONFIG_CDROM_PKTCDVD is not set | 525 | # CONFIG_CDROM_PKTCDVD is not set |
496 | # CONFIG_ATA_OVER_ETH is not set | 526 | # CONFIG_ATA_OVER_ETH is not set |
497 | # CONFIG_MISC_DEVICES is not set | 527 | # CONFIG_MG_DISK is not set |
528 | CONFIG_MISC_DEVICES=y | ||
529 | # CONFIG_ICS932S401 is not set | ||
530 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
531 | # CONFIG_ISL29003 is not set | ||
532 | # CONFIG_C2PORT is not set | ||
533 | |||
534 | # | ||
535 | # EEPROM support | ||
536 | # | ||
537 | CONFIG_EEPROM_AT24=y | ||
538 | # CONFIG_EEPROM_AT25 is not set | ||
539 | # CONFIG_EEPROM_LEGACY is not set | ||
540 | # CONFIG_EEPROM_MAX6875 is not set | ||
541 | # CONFIG_EEPROM_93CX6 is not set | ||
498 | CONFIG_HAVE_IDE=y | 542 | CONFIG_HAVE_IDE=y |
499 | # CONFIG_IDE is not set | 543 | # CONFIG_IDE is not set |
500 | 544 | ||
@@ -508,7 +552,6 @@ CONFIG_HAVE_IDE=y | |||
508 | # CONFIG_ATA is not set | 552 | # CONFIG_ATA is not set |
509 | # CONFIG_MD is not set | 553 | # CONFIG_MD is not set |
510 | CONFIG_NETDEVICES=y | 554 | CONFIG_NETDEVICES=y |
511 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
512 | # CONFIG_DUMMY is not set | 555 | # CONFIG_DUMMY is not set |
513 | # CONFIG_BONDING is not set | 556 | # CONFIG_BONDING is not set |
514 | # CONFIG_MACVLAN is not set | 557 | # CONFIG_MACVLAN is not set |
@@ -534,6 +577,8 @@ CONFIG_NET_ETHERNET=y | |||
534 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | 577 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set |
535 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 578 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
536 | # CONFIG_B44 is not set | 579 | # CONFIG_B44 is not set |
580 | # CONFIG_KS8842 is not set | ||
581 | # CONFIG_KS8851 is not set | ||
537 | CONFIG_FEC=y | 582 | CONFIG_FEC=y |
538 | # CONFIG_FEC2 is not set | 583 | # CONFIG_FEC2 is not set |
539 | # CONFIG_NETDEV_1000 is not set | 584 | # CONFIG_NETDEV_1000 is not set |
@@ -580,6 +625,11 @@ CONFIG_INPUT_EVDEV=y | |||
580 | # CONFIG_INPUT_TABLET is not set | 625 | # CONFIG_INPUT_TABLET is not set |
581 | CONFIG_INPUT_TOUCHSCREEN=y | 626 | CONFIG_INPUT_TOUCHSCREEN=y |
582 | # CONFIG_TOUCHSCREEN_ADS7846 is not set | 627 | # CONFIG_TOUCHSCREEN_ADS7846 is not set |
628 | # CONFIG_TOUCHSCREEN_AD7877 is not set | ||
629 | # CONFIG_TOUCHSCREEN_AD7879_I2C is not set | ||
630 | # CONFIG_TOUCHSCREEN_AD7879_SPI is not set | ||
631 | # CONFIG_TOUCHSCREEN_AD7879 is not set | ||
632 | # CONFIG_TOUCHSCREEN_EETI is not set | ||
583 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | 633 | # CONFIG_TOUCHSCREEN_FUJITSU is not set |
584 | # CONFIG_TOUCHSCREEN_GUNZE is not set | 634 | # CONFIG_TOUCHSCREEN_GUNZE is not set |
585 | # CONFIG_TOUCHSCREEN_ELO is not set | 635 | # CONFIG_TOUCHSCREEN_ELO is not set |
@@ -592,6 +642,7 @@ CONFIG_INPUT_TOUCHSCREEN=y | |||
592 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set | 642 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set |
593 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set | 643 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set |
594 | # CONFIG_TOUCHSCREEN_TSC2007 is not set | 644 | # CONFIG_TOUCHSCREEN_TSC2007 is not set |
645 | # CONFIG_TOUCHSCREEN_W90X900 is not set | ||
595 | # CONFIG_INPUT_MISC is not set | 646 | # CONFIG_INPUT_MISC is not set |
596 | 647 | ||
597 | # | 648 | # |
@@ -644,6 +695,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
644 | # | 695 | # |
645 | # I2C system bus drivers (mostly embedded / system-on-chip) | 696 | # I2C system bus drivers (mostly embedded / system-on-chip) |
646 | # | 697 | # |
698 | # CONFIG_I2C_DESIGNWARE is not set | ||
647 | # CONFIG_I2C_GPIO is not set | 699 | # CONFIG_I2C_GPIO is not set |
648 | CONFIG_I2C_IMX=y | 700 | CONFIG_I2C_IMX=y |
649 | # CONFIG_I2C_OCORES is not set | 701 | # CONFIG_I2C_OCORES is not set |
@@ -668,7 +720,6 @@ CONFIG_I2C_IMX=y | |||
668 | # CONFIG_SENSORS_PCF8574 is not set | 720 | # CONFIG_SENSORS_PCF8574 is not set |
669 | # CONFIG_PCF8575 is not set | 721 | # CONFIG_PCF8575 is not set |
670 | # CONFIG_SENSORS_PCA9539 is not set | 722 | # CONFIG_SENSORS_PCA9539 is not set |
671 | # CONFIG_SENSORS_MAX6875 is not set | ||
672 | # CONFIG_SENSORS_TSL2550 is not set | 723 | # CONFIG_SENSORS_TSL2550 is not set |
673 | # CONFIG_I2C_DEBUG_CORE is not set | 724 | # CONFIG_I2C_DEBUG_CORE is not set |
674 | # CONFIG_I2C_DEBUG_ALGO is not set | 725 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -719,6 +770,7 @@ CONFIG_W1=y | |||
719 | # | 770 | # |
720 | # CONFIG_W1_MASTER_DS2482 is not set | 771 | # CONFIG_W1_MASTER_DS2482 is not set |
721 | CONFIG_W1_MASTER_MXC=y | 772 | CONFIG_W1_MASTER_MXC=y |
773 | # CONFIG_W1_MASTER_DS1WM is not set | ||
722 | # CONFIG_W1_MASTER_GPIO is not set | 774 | # CONFIG_W1_MASTER_GPIO is not set |
723 | 775 | ||
724 | # | 776 | # |
@@ -753,54 +805,16 @@ CONFIG_SSB_POSSIBLE=y | |||
753 | # CONFIG_TPS65010 is not set | 805 | # CONFIG_TPS65010 is not set |
754 | # CONFIG_TWL4030_CORE is not set | 806 | # CONFIG_TWL4030_CORE is not set |
755 | # CONFIG_MFD_TMIO is not set | 807 | # CONFIG_MFD_TMIO is not set |
808 | # CONFIG_MFD_T7L66XB is not set | ||
809 | # CONFIG_MFD_TC6387XB is not set | ||
756 | # CONFIG_MFD_TC6393XB is not set | 810 | # CONFIG_MFD_TC6393XB is not set |
757 | # CONFIG_PMIC_DA903X is not set | 811 | # CONFIG_PMIC_DA903X is not set |
758 | # CONFIG_MFD_WM8400 is not set | 812 | # CONFIG_MFD_WM8400 is not set |
759 | # CONFIG_MFD_WM8350_I2C is not set | 813 | # CONFIG_MFD_WM8350_I2C is not set |
760 | # CONFIG_MFD_PCF50633 is not set | 814 | # CONFIG_MFD_PCF50633 is not set |
761 | 815 | # CONFIG_AB3100_CORE is not set | |
762 | # | 816 | # CONFIG_EZX_PCAP is not set |
763 | # Multimedia devices | 817 | # CONFIG_MEDIA_SUPPORT is not set |
764 | # | ||
765 | |||
766 | # | ||
767 | # Multimedia core support | ||
768 | # | ||
769 | CONFIG_VIDEO_DEV=y | ||
770 | CONFIG_VIDEO_V4L2_COMMON=y | ||
771 | CONFIG_VIDEO_ALLOW_V4L1=y | ||
772 | CONFIG_VIDEO_V4L1_COMPAT=y | ||
773 | # CONFIG_DVB_CORE is not set | ||
774 | CONFIG_VIDEO_MEDIA=y | ||
775 | |||
776 | # | ||
777 | # Multimedia drivers | ||
778 | # | ||
779 | # CONFIG_MEDIA_ATTACH is not set | ||
780 | CONFIG_MEDIA_TUNER=y | ||
781 | # CONFIG_MEDIA_TUNER_CUSTOMISE is not set | ||
782 | CONFIG_MEDIA_TUNER_SIMPLE=y | ||
783 | CONFIG_MEDIA_TUNER_TDA8290=y | ||
784 | CONFIG_MEDIA_TUNER_TDA9887=y | ||
785 | CONFIG_MEDIA_TUNER_TEA5761=y | ||
786 | CONFIG_MEDIA_TUNER_TEA5767=y | ||
787 | CONFIG_MEDIA_TUNER_MT20XX=y | ||
788 | CONFIG_MEDIA_TUNER_XC2028=y | ||
789 | CONFIG_MEDIA_TUNER_XC5000=y | ||
790 | CONFIG_MEDIA_TUNER_MC44S803=y | ||
791 | CONFIG_VIDEO_V4L2=y | ||
792 | CONFIG_VIDEO_V4L1=y | ||
793 | CONFIG_VIDEO_CAPTURE_DRIVERS=y | ||
794 | # CONFIG_VIDEO_ADV_DEBUG is not set | ||
795 | # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set | ||
796 | CONFIG_VIDEO_HELPER_CHIPS_AUTO=y | ||
797 | # CONFIG_VIDEO_VIVI is not set | ||
798 | # CONFIG_VIDEO_CPIA is not set | ||
799 | # CONFIG_VIDEO_SAA5246A is not set | ||
800 | # CONFIG_VIDEO_SAA5249 is not set | ||
801 | # CONFIG_SOC_CAMERA is not set | ||
802 | # CONFIG_RADIO_ADAPTERS is not set | ||
803 | # CONFIG_DAB is not set | ||
804 | 818 | ||
805 | # | 819 | # |
806 | # Graphics support | 820 | # Graphics support |
@@ -917,6 +931,7 @@ CONFIG_RTC_DRV_PCF8563=y | |||
917 | # CONFIG_RTC_DRV_S35390A is not set | 931 | # CONFIG_RTC_DRV_S35390A is not set |
918 | # CONFIG_RTC_DRV_FM3130 is not set | 932 | # CONFIG_RTC_DRV_FM3130 is not set |
919 | # CONFIG_RTC_DRV_RX8581 is not set | 933 | # CONFIG_RTC_DRV_RX8581 is not set |
934 | # CONFIG_RTC_DRV_RX8025 is not set | ||
920 | 935 | ||
921 | # | 936 | # |
922 | # SPI RTC drivers | 937 | # SPI RTC drivers |
@@ -962,12 +977,15 @@ CONFIG_RTC_DRV_PCF8563=y | |||
962 | # CONFIG_REISERFS_FS is not set | 977 | # CONFIG_REISERFS_FS is not set |
963 | # CONFIG_JFS_FS is not set | 978 | # CONFIG_JFS_FS is not set |
964 | # CONFIG_FS_POSIX_ACL is not set | 979 | # CONFIG_FS_POSIX_ACL is not set |
965 | CONFIG_FILE_LOCKING=y | ||
966 | # CONFIG_XFS_FS is not set | 980 | # CONFIG_XFS_FS is not set |
981 | # CONFIG_GFS2_FS is not set | ||
967 | # CONFIG_OCFS2_FS is not set | 982 | # CONFIG_OCFS2_FS is not set |
968 | # CONFIG_BTRFS_FS is not set | 983 | # CONFIG_BTRFS_FS is not set |
984 | CONFIG_FILE_LOCKING=y | ||
985 | CONFIG_FSNOTIFY=y | ||
969 | # CONFIG_DNOTIFY is not set | 986 | # CONFIG_DNOTIFY is not set |
970 | # CONFIG_INOTIFY is not set | 987 | # CONFIG_INOTIFY is not set |
988 | CONFIG_INOTIFY_USER=y | ||
971 | # CONFIG_QUOTA is not set | 989 | # CONFIG_QUOTA is not set |
972 | # CONFIG_AUTOFS_FS is not set | 990 | # CONFIG_AUTOFS_FS is not set |
973 | # CONFIG_AUTOFS4_FS is not set | 991 | # CONFIG_AUTOFS4_FS is not set |
@@ -1021,6 +1039,12 @@ CONFIG_JFFS2_ZLIB=y | |||
1021 | # CONFIG_JFFS2_LZO is not set | 1039 | # CONFIG_JFFS2_LZO is not set |
1022 | CONFIG_JFFS2_RTIME=y | 1040 | CONFIG_JFFS2_RTIME=y |
1023 | # CONFIG_JFFS2_RUBIN is not set | 1041 | # CONFIG_JFFS2_RUBIN is not set |
1042 | CONFIG_UBIFS_FS=y | ||
1043 | # CONFIG_UBIFS_FS_XATTR is not set | ||
1044 | # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set | ||
1045 | CONFIG_UBIFS_FS_LZO=y | ||
1046 | CONFIG_UBIFS_FS_ZLIB=y | ||
1047 | # CONFIG_UBIFS_FS_DEBUG is not set | ||
1024 | # CONFIG_CRAMFS is not set | 1048 | # CONFIG_CRAMFS is not set |
1025 | # CONFIG_SQUASHFS is not set | 1049 | # CONFIG_SQUASHFS is not set |
1026 | # CONFIG_VXFS_FS is not set | 1050 | # CONFIG_VXFS_FS is not set |
@@ -1119,25 +1143,11 @@ CONFIG_SYSCTL_SYSCALL_CHECK=y | |||
1119 | CONFIG_NOP_TRACER=y | 1143 | CONFIG_NOP_TRACER=y |
1120 | CONFIG_HAVE_FUNCTION_TRACER=y | 1144 | CONFIG_HAVE_FUNCTION_TRACER=y |
1121 | CONFIG_RING_BUFFER=y | 1145 | CONFIG_RING_BUFFER=y |
1146 | CONFIG_EVENT_TRACING=y | ||
1147 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
1122 | CONFIG_TRACING=y | 1148 | CONFIG_TRACING=y |
1123 | CONFIG_TRACING_SUPPORT=y | 1149 | CONFIG_TRACING_SUPPORT=y |
1124 | 1150 | # CONFIG_FTRACE is not set | |
1125 | # | ||
1126 | # Tracers | ||
1127 | # | ||
1128 | # CONFIG_FUNCTION_TRACER is not set | ||
1129 | # CONFIG_IRQSOFF_TRACER is not set | ||
1130 | # CONFIG_PREEMPT_TRACER is not set | ||
1131 | # CONFIG_SCHED_TRACER is not set | ||
1132 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
1133 | # CONFIG_EVENT_TRACER is not set | ||
1134 | # CONFIG_BOOT_TRACER is not set | ||
1135 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1136 | # CONFIG_STACK_TRACER is not set | ||
1137 | # CONFIG_KMEMTRACE is not set | ||
1138 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1139 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1140 | # CONFIG_FTRACE_STARTUP_TEST is not set | ||
1141 | # CONFIG_DYNAMIC_DEBUG is not set | 1151 | # CONFIG_DYNAMIC_DEBUG is not set |
1142 | # CONFIG_SAMPLES is not set | 1152 | # CONFIG_SAMPLES is not set |
1143 | CONFIG_HAVE_ARCH_KGDB=y | 1153 | CONFIG_HAVE_ARCH_KGDB=y |
@@ -1151,16 +1161,104 @@ CONFIG_ARM_UNWIND=y | |||
1151 | # CONFIG_SECURITY is not set | 1161 | # CONFIG_SECURITY is not set |
1152 | # CONFIG_SECURITYFS is not set | 1162 | # CONFIG_SECURITYFS is not set |
1153 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1163 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1154 | # CONFIG_CRYPTO is not set | 1164 | CONFIG_CRYPTO=y |
1165 | |||
1166 | # | ||
1167 | # Crypto core or helper | ||
1168 | # | ||
1169 | # CONFIG_CRYPTO_FIPS is not set | ||
1170 | CONFIG_CRYPTO_ALGAPI=y | ||
1171 | CONFIG_CRYPTO_ALGAPI2=y | ||
1172 | # CONFIG_CRYPTO_MANAGER is not set | ||
1173 | # CONFIG_CRYPTO_MANAGER2 is not set | ||
1174 | # CONFIG_CRYPTO_GF128MUL is not set | ||
1175 | # CONFIG_CRYPTO_NULL is not set | ||
1176 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1177 | # CONFIG_CRYPTO_AUTHENC is not set | ||
1178 | # CONFIG_CRYPTO_TEST is not set | ||
1179 | |||
1180 | # | ||
1181 | # Authenticated Encryption with Associated Data | ||
1182 | # | ||
1183 | # CONFIG_CRYPTO_CCM is not set | ||
1184 | # CONFIG_CRYPTO_GCM is not set | ||
1185 | # CONFIG_CRYPTO_SEQIV is not set | ||
1186 | |||
1187 | # | ||
1188 | # Block modes | ||
1189 | # | ||
1190 | # CONFIG_CRYPTO_CBC is not set | ||
1191 | # CONFIG_CRYPTO_CTR is not set | ||
1192 | # CONFIG_CRYPTO_CTS is not set | ||
1193 | # CONFIG_CRYPTO_ECB is not set | ||
1194 | # CONFIG_CRYPTO_LRW is not set | ||
1195 | # CONFIG_CRYPTO_PCBC is not set | ||
1196 | # CONFIG_CRYPTO_XTS is not set | ||
1197 | |||
1198 | # | ||
1199 | # Hash modes | ||
1200 | # | ||
1201 | # CONFIG_CRYPTO_HMAC is not set | ||
1202 | # CONFIG_CRYPTO_XCBC is not set | ||
1203 | |||
1204 | # | ||
1205 | # Digest | ||
1206 | # | ||
1207 | # CONFIG_CRYPTO_CRC32C is not set | ||
1208 | # CONFIG_CRYPTO_MD4 is not set | ||
1209 | # CONFIG_CRYPTO_MD5 is not set | ||
1210 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1211 | # CONFIG_CRYPTO_RMD128 is not set | ||
1212 | # CONFIG_CRYPTO_RMD160 is not set | ||
1213 | # CONFIG_CRYPTO_RMD256 is not set | ||
1214 | # CONFIG_CRYPTO_RMD320 is not set | ||
1215 | # CONFIG_CRYPTO_SHA1 is not set | ||
1216 | # CONFIG_CRYPTO_SHA256 is not set | ||
1217 | # CONFIG_CRYPTO_SHA512 is not set | ||
1218 | # CONFIG_CRYPTO_TGR192 is not set | ||
1219 | # CONFIG_CRYPTO_WP512 is not set | ||
1220 | |||
1221 | # | ||
1222 | # Ciphers | ||
1223 | # | ||
1224 | # CONFIG_CRYPTO_AES is not set | ||
1225 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1226 | # CONFIG_CRYPTO_ARC4 is not set | ||
1227 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1228 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1229 | # CONFIG_CRYPTO_CAST5 is not set | ||
1230 | # CONFIG_CRYPTO_CAST6 is not set | ||
1231 | # CONFIG_CRYPTO_DES is not set | ||
1232 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1233 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1234 | # CONFIG_CRYPTO_SALSA20 is not set | ||
1235 | # CONFIG_CRYPTO_SEED is not set | ||
1236 | # CONFIG_CRYPTO_SERPENT is not set | ||
1237 | # CONFIG_CRYPTO_TEA is not set | ||
1238 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1239 | |||
1240 | # | ||
1241 | # Compression | ||
1242 | # | ||
1243 | CONFIG_CRYPTO_DEFLATE=y | ||
1244 | # CONFIG_CRYPTO_ZLIB is not set | ||
1245 | CONFIG_CRYPTO_LZO=y | ||
1246 | |||
1247 | # | ||
1248 | # Random Number Generation | ||
1249 | # | ||
1250 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
1251 | CONFIG_CRYPTO_HW=y | ||
1155 | CONFIG_BINARY_PRINTF=y | 1252 | CONFIG_BINARY_PRINTF=y |
1156 | 1253 | ||
1157 | # | 1254 | # |
1158 | # Library routines | 1255 | # Library routines |
1159 | # | 1256 | # |
1160 | CONFIG_BITREVERSE=y | 1257 | CONFIG_BITREVERSE=y |
1258 | CONFIG_RATIONAL=y | ||
1161 | CONFIG_GENERIC_FIND_LAST_BIT=y | 1259 | CONFIG_GENERIC_FIND_LAST_BIT=y |
1162 | # CONFIG_CRC_CCITT is not set | 1260 | # CONFIG_CRC_CCITT is not set |
1163 | # CONFIG_CRC16 is not set | 1261 | CONFIG_CRC16=y |
1164 | # CONFIG_CRC_T10DIF is not set | 1262 | # CONFIG_CRC_T10DIF is not set |
1165 | # CONFIG_CRC_ITU_T is not set | 1263 | # CONFIG_CRC_ITU_T is not set |
1166 | CONFIG_CRC32=y | 1264 | CONFIG_CRC32=y |
@@ -1168,6 +1266,8 @@ CONFIG_CRC32=y | |||
1168 | # CONFIG_LIBCRC32C is not set | 1266 | # CONFIG_LIBCRC32C is not set |
1169 | CONFIG_ZLIB_INFLATE=y | 1267 | CONFIG_ZLIB_INFLATE=y |
1170 | CONFIG_ZLIB_DEFLATE=y | 1268 | CONFIG_ZLIB_DEFLATE=y |
1269 | CONFIG_LZO_COMPRESS=y | ||
1270 | CONFIG_LZO_DECOMPRESS=y | ||
1171 | CONFIG_HAS_IOMEM=y | 1271 | CONFIG_HAS_IOMEM=y |
1172 | CONFIG_HAS_IOPORT=y | 1272 | CONFIG_HAS_IOPORT=y |
1173 | CONFIG_HAS_DMA=y | 1273 | CONFIG_HAS_DMA=y |
diff --git a/arch/arm/configs/mx3_defconfig b/arch/arm/configs/mx3_defconfig index 20ada526f6de..a4f9a2a8149c 100644 --- a/arch/arm/configs/mx3_defconfig +++ b/arch/arm/configs/mx3_defconfig | |||
@@ -1,15 +1,15 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.30-rc1 | 3 | # Linux kernel version: 2.6.31-rc4 |
4 | # Wed Apr 8 11:06:37 2009 | 4 | # Tue Jul 28 14:11:34 2009 |
5 | # | 5 | # |
6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
7 | CONFIG_HAVE_PWM=y | ||
7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | 8 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y |
8 | CONFIG_GENERIC_GPIO=y | 9 | CONFIG_GENERIC_GPIO=y |
9 | CONFIG_GENERIC_TIME=y | 10 | CONFIG_GENERIC_TIME=y |
10 | CONFIG_GENERIC_CLOCKEVENTS=y | 11 | CONFIG_GENERIC_CLOCKEVENTS=y |
11 | CONFIG_MMU=y | 12 | CONFIG_MMU=y |
12 | # CONFIG_NO_IOPORT is not set | ||
13 | CONFIG_GENERIC_HARDIRQS=y | 13 | CONFIG_GENERIC_HARDIRQS=y |
14 | CONFIG_STACKTRACE_SUPPORT=y | 14 | CONFIG_STACKTRACE_SUPPORT=y |
15 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | 15 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y |
@@ -18,14 +18,13 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y | |||
18 | CONFIG_HARDIRQS_SW_RESEND=y | 18 | CONFIG_HARDIRQS_SW_RESEND=y |
19 | CONFIG_GENERIC_IRQ_PROBE=y | 19 | CONFIG_GENERIC_IRQ_PROBE=y |
20 | CONFIG_RWSEM_GENERIC_SPINLOCK=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 | 21 | CONFIG_GENERIC_HWEIGHT=y |
24 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 22 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
25 | CONFIG_ARCH_MTD_XIP=y | 23 | CONFIG_ARCH_MTD_XIP=y |
26 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | 24 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y |
27 | CONFIG_VECTORS_BASE=0xffff0000 | 25 | CONFIG_VECTORS_BASE=0xffff0000 |
28 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 26 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
27 | CONFIG_CONSTRUCTORS=y | ||
29 | 28 | ||
30 | # | 29 | # |
31 | # General setup | 30 | # General setup |
@@ -86,7 +85,12 @@ CONFIG_TIMERFD=y | |||
86 | CONFIG_EVENTFD=y | 85 | CONFIG_EVENTFD=y |
87 | CONFIG_SHMEM=y | 86 | CONFIG_SHMEM=y |
88 | CONFIG_AIO=y | 87 | CONFIG_AIO=y |
88 | |||
89 | # | ||
90 | # Performance Counters | ||
91 | # | ||
89 | CONFIG_VM_EVENT_COUNTERS=y | 92 | CONFIG_VM_EVENT_COUNTERS=y |
93 | # CONFIG_STRIP_ASM_SYMS is not set | ||
90 | CONFIG_COMPAT_BRK=y | 94 | CONFIG_COMPAT_BRK=y |
91 | CONFIG_SLAB=y | 95 | CONFIG_SLAB=y |
92 | # CONFIG_SLUB is not set | 96 | # CONFIG_SLUB is not set |
@@ -97,6 +101,11 @@ CONFIG_HAVE_OPROFILE=y | |||
97 | # CONFIG_KPROBES is not set | 101 | # CONFIG_KPROBES is not set |
98 | CONFIG_HAVE_KPROBES=y | 102 | CONFIG_HAVE_KPROBES=y |
99 | CONFIG_HAVE_KRETPROBES=y | 103 | CONFIG_HAVE_KRETPROBES=y |
104 | CONFIG_HAVE_CLK=y | ||
105 | |||
106 | # | ||
107 | # GCOV-based kernel profiling | ||
108 | # | ||
100 | # CONFIG_SLOW_WORK is not set | 109 | # CONFIG_SLOW_WORK is not set |
101 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | 110 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y |
102 | CONFIG_SLABINFO=y | 111 | CONFIG_SLABINFO=y |
@@ -109,7 +118,7 @@ CONFIG_MODULE_FORCE_UNLOAD=y | |||
109 | CONFIG_MODVERSIONS=y | 118 | CONFIG_MODVERSIONS=y |
110 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 119 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
111 | CONFIG_BLOCK=y | 120 | CONFIG_BLOCK=y |
112 | # CONFIG_LBD is not set | 121 | CONFIG_LBDAF=y |
113 | # CONFIG_BLK_DEV_BSG is not set | 122 | # CONFIG_BLK_DEV_BSG is not set |
114 | # CONFIG_BLK_DEV_INTEGRITY is not set | 123 | # CONFIG_BLK_DEV_INTEGRITY is not set |
115 | 124 | ||
@@ -136,13 +145,14 @@ CONFIG_FREEZER=y | |||
136 | # CONFIG_ARCH_VERSATILE is not set | 145 | # CONFIG_ARCH_VERSATILE is not set |
137 | # CONFIG_ARCH_AT91 is not set | 146 | # CONFIG_ARCH_AT91 is not set |
138 | # CONFIG_ARCH_CLPS711X is not set | 147 | # CONFIG_ARCH_CLPS711X is not set |
148 | # CONFIG_ARCH_GEMINI is not set | ||
139 | # CONFIG_ARCH_EBSA110 is not set | 149 | # CONFIG_ARCH_EBSA110 is not set |
140 | # CONFIG_ARCH_EP93XX is not set | 150 | # CONFIG_ARCH_EP93XX is not set |
141 | # CONFIG_ARCH_GEMINI is not set | ||
142 | # CONFIG_ARCH_FOOTBRIDGE is not set | 151 | # CONFIG_ARCH_FOOTBRIDGE is not set |
152 | CONFIG_ARCH_MXC=y | ||
153 | # CONFIG_ARCH_STMP3XXX is not set | ||
143 | # CONFIG_ARCH_NETX is not set | 154 | # CONFIG_ARCH_NETX is not set |
144 | # CONFIG_ARCH_H720X is not set | 155 | # CONFIG_ARCH_H720X is not set |
145 | # CONFIG_ARCH_IMX is not set | ||
146 | # CONFIG_ARCH_IOP13XX is not set | 156 | # CONFIG_ARCH_IOP13XX is not set |
147 | # CONFIG_ARCH_IOP32X is not set | 157 | # CONFIG_ARCH_IOP32X is not set |
148 | # CONFIG_ARCH_IOP33X is not set | 158 | # CONFIG_ARCH_IOP33X is not set |
@@ -151,25 +161,25 @@ CONFIG_FREEZER=y | |||
151 | # CONFIG_ARCH_IXP4XX is not set | 161 | # CONFIG_ARCH_IXP4XX is not set |
152 | # CONFIG_ARCH_L7200 is not set | 162 | # CONFIG_ARCH_L7200 is not set |
153 | # CONFIG_ARCH_KIRKWOOD is not set | 163 | # 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 | 164 | # CONFIG_ARCH_LOKI is not set |
157 | # CONFIG_ARCH_MV78XX0 is not set | 165 | # CONFIG_ARCH_MV78XX0 is not set |
158 | CONFIG_ARCH_MXC=y | ||
159 | # CONFIG_ARCH_ORION5X is not set | 166 | # CONFIG_ARCH_ORION5X is not set |
167 | # CONFIG_ARCH_MMP is not set | ||
168 | # CONFIG_ARCH_KS8695 is not set | ||
169 | # CONFIG_ARCH_NS9XXX is not set | ||
170 | # CONFIG_ARCH_W90X900 is not set | ||
160 | # CONFIG_ARCH_PNX4008 is not set | 171 | # CONFIG_ARCH_PNX4008 is not set |
161 | # CONFIG_ARCH_PXA is not set | 172 | # CONFIG_ARCH_PXA is not set |
162 | # CONFIG_ARCH_MMP is not set | 173 | # CONFIG_ARCH_MSM is not set |
163 | # CONFIG_ARCH_RPC is not set | 174 | # CONFIG_ARCH_RPC is not set |
164 | # CONFIG_ARCH_SA1100 is not set | 175 | # CONFIG_ARCH_SA1100 is not set |
165 | # CONFIG_ARCH_S3C2410 is not set | 176 | # CONFIG_ARCH_S3C2410 is not set |
166 | # CONFIG_ARCH_S3C64XX is not set | 177 | # CONFIG_ARCH_S3C64XX is not set |
167 | # CONFIG_ARCH_SHARK is not set | 178 | # CONFIG_ARCH_SHARK is not set |
168 | # CONFIG_ARCH_LH7A40X is not set | 179 | # CONFIG_ARCH_LH7A40X is not set |
180 | # CONFIG_ARCH_U300 is not set | ||
169 | # CONFIG_ARCH_DAVINCI is not set | 181 | # CONFIG_ARCH_DAVINCI is not set |
170 | # CONFIG_ARCH_OMAP is not set | 182 | # CONFIG_ARCH_OMAP is not set |
171 | # CONFIG_ARCH_MSM is not set | ||
172 | # CONFIG_ARCH_W90X900 is not set | ||
173 | 183 | ||
174 | # | 184 | # |
175 | # Freescale MXC Implementations | 185 | # Freescale MXC Implementations |
@@ -178,6 +188,7 @@ CONFIG_ARCH_MXC=y | |||
178 | # CONFIG_ARCH_MX2 is not set | 188 | # CONFIG_ARCH_MX2 is not set |
179 | CONFIG_ARCH_MX3=y | 189 | CONFIG_ARCH_MX3=y |
180 | CONFIG_ARCH_MX31=y | 190 | CONFIG_ARCH_MX31=y |
191 | CONFIG_ARCH_MX35=y | ||
181 | 192 | ||
182 | # | 193 | # |
183 | # MX3 platforms: | 194 | # MX3 platforms: |
@@ -185,12 +196,19 @@ CONFIG_ARCH_MX31=y | |||
185 | CONFIG_MACH_MX31ADS=y | 196 | CONFIG_MACH_MX31ADS=y |
186 | CONFIG_MACH_MX31ADS_WM1133_EV1=y | 197 | CONFIG_MACH_MX31ADS_WM1133_EV1=y |
187 | CONFIG_MACH_PCM037=y | 198 | CONFIG_MACH_PCM037=y |
199 | CONFIG_MACH_PCM037_EET=y | ||
188 | CONFIG_MACH_MX31LITE=y | 200 | CONFIG_MACH_MX31LITE=y |
189 | CONFIG_MACH_MX31_3DS=y | 201 | CONFIG_MACH_MX31_3DS=y |
190 | CONFIG_MACH_MX31MOBOARD=y | 202 | CONFIG_MACH_MX31MOBOARD=y |
203 | CONFIG_MACH_MX31LILLY=y | ||
191 | CONFIG_MACH_QONG=y | 204 | CONFIG_MACH_QONG=y |
205 | CONFIG_MACH_PCM043=y | ||
206 | CONFIG_MACH_ARMADILLO5X0=y | ||
207 | CONFIG_MACH_MX35_3DS=y | ||
192 | CONFIG_MXC_IRQ_PRIOR=y | 208 | CONFIG_MXC_IRQ_PRIOR=y |
193 | CONFIG_MXC_PWM=y | 209 | CONFIG_MXC_PWM=y |
210 | CONFIG_ARCH_HAS_RNGA=y | ||
211 | CONFIG_ARCH_MXC_IOMUX_V3=y | ||
194 | 212 | ||
195 | # | 213 | # |
196 | # Processor Type | 214 | # Processor Type |
@@ -218,6 +236,7 @@ CONFIG_ARM_THUMB=y | |||
218 | # CONFIG_CPU_BPREDICT_DISABLE is not set | 236 | # CONFIG_CPU_BPREDICT_DISABLE is not set |
219 | CONFIG_OUTER_CACHE=y | 237 | CONFIG_OUTER_CACHE=y |
220 | CONFIG_CACHE_L2X0=y | 238 | CONFIG_CACHE_L2X0=y |
239 | # CONFIG_ARM_ERRATA_411920 is not set | ||
221 | CONFIG_COMMON_CLKDEV=y | 240 | CONFIG_COMMON_CLKDEV=y |
222 | 241 | ||
223 | # | 242 | # |
@@ -242,7 +261,6 @@ CONFIG_PREEMPT=y | |||
242 | CONFIG_HZ=100 | 261 | CONFIG_HZ=100 |
243 | CONFIG_AEABI=y | 262 | CONFIG_AEABI=y |
244 | CONFIG_OABI_COMPAT=y | 263 | CONFIG_OABI_COMPAT=y |
245 | CONFIG_ARCH_FLATMEM_HAS_HOLES=y | ||
246 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | 264 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set |
247 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | 265 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set |
248 | # CONFIG_HIGHMEM is not set | 266 | # CONFIG_HIGHMEM is not set |
@@ -257,10 +275,11 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
257 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 275 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
258 | CONFIG_ZONE_DMA_FLAG=0 | 276 | CONFIG_ZONE_DMA_FLAG=0 |
259 | CONFIG_VIRT_TO_BUS=y | 277 | CONFIG_VIRT_TO_BUS=y |
260 | CONFIG_UNEVICTABLE_LRU=y | ||
261 | CONFIG_HAVE_MLOCK=y | 278 | CONFIG_HAVE_MLOCK=y |
262 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | 279 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y |
280 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
263 | CONFIG_ALIGNMENT_TRAP=y | 281 | CONFIG_ALIGNMENT_TRAP=y |
282 | # CONFIG_UACCESS_WITH_MEMCPY is not set | ||
264 | 283 | ||
265 | # | 284 | # |
266 | # Boot options | 285 | # Boot options |
@@ -362,6 +381,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
362 | # CONFIG_ECONET is not set | 381 | # CONFIG_ECONET is not set |
363 | # CONFIG_WAN_ROUTER is not set | 382 | # CONFIG_WAN_ROUTER is not set |
364 | # CONFIG_PHONET is not set | 383 | # CONFIG_PHONET is not set |
384 | # CONFIG_IEEE802154 is not set | ||
365 | # CONFIG_NET_SCHED is not set | 385 | # CONFIG_NET_SCHED is not set |
366 | # CONFIG_DCB is not set | 386 | # CONFIG_DCB is not set |
367 | 387 | ||
@@ -465,7 +485,16 @@ CONFIG_MTD_PHYSMAP=y | |||
465 | # CONFIG_MTD_DOC2000 is not set | 485 | # CONFIG_MTD_DOC2000 is not set |
466 | # CONFIG_MTD_DOC2001 is not set | 486 | # CONFIG_MTD_DOC2001 is not set |
467 | # CONFIG_MTD_DOC2001PLUS is not set | 487 | # CONFIG_MTD_DOC2001PLUS is not set |
468 | # CONFIG_MTD_NAND is not set | 488 | CONFIG_MTD_NAND=y |
489 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
490 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
491 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
492 | # CONFIG_MTD_NAND_GPIO is not set | ||
493 | CONFIG_MTD_NAND_IDS=y | ||
494 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
495 | # CONFIG_MTD_NAND_NANDSIM is not set | ||
496 | # CONFIG_MTD_NAND_PLATFORM is not set | ||
497 | CONFIG_MTD_NAND_MXC=y | ||
469 | # CONFIG_MTD_ONENAND is not set | 498 | # CONFIG_MTD_ONENAND is not set |
470 | 499 | ||
471 | # | 500 | # |
@@ -476,10 +505,30 @@ CONFIG_MTD_PHYSMAP=y | |||
476 | # | 505 | # |
477 | # UBI - Unsorted block images | 506 | # UBI - Unsorted block images |
478 | # | 507 | # |
479 | # CONFIG_MTD_UBI is not set | 508 | CONFIG_MTD_UBI=y |
509 | CONFIG_MTD_UBI_WL_THRESHOLD=4096 | ||
510 | CONFIG_MTD_UBI_BEB_RESERVE=1 | ||
511 | # CONFIG_MTD_UBI_GLUEBI is not set | ||
512 | |||
513 | # | ||
514 | # UBI debugging options | ||
515 | # | ||
516 | # CONFIG_MTD_UBI_DEBUG is not set | ||
480 | # CONFIG_PARPORT is not set | 517 | # CONFIG_PARPORT is not set |
481 | # CONFIG_BLK_DEV is not set | 518 | # CONFIG_BLK_DEV is not set |
482 | # CONFIG_MISC_DEVICES is not set | 519 | CONFIG_MISC_DEVICES=y |
520 | # CONFIG_ICS932S401 is not set | ||
521 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
522 | # CONFIG_ISL29003 is not set | ||
523 | # CONFIG_C2PORT is not set | ||
524 | |||
525 | # | ||
526 | # EEPROM support | ||
527 | # | ||
528 | CONFIG_EEPROM_AT24=y | ||
529 | # CONFIG_EEPROM_LEGACY is not set | ||
530 | # CONFIG_EEPROM_MAX6875 is not set | ||
531 | # CONFIG_EEPROM_93CX6 is not set | ||
483 | CONFIG_HAVE_IDE=y | 532 | CONFIG_HAVE_IDE=y |
484 | # CONFIG_IDE is not set | 533 | # CONFIG_IDE is not set |
485 | 534 | ||
@@ -493,7 +542,6 @@ CONFIG_HAVE_IDE=y | |||
493 | # CONFIG_ATA is not set | 542 | # CONFIG_ATA is not set |
494 | # CONFIG_MD is not set | 543 | # CONFIG_MD is not set |
495 | CONFIG_NETDEVICES=y | 544 | CONFIG_NETDEVICES=y |
496 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
497 | # CONFIG_DUMMY is not set | 545 | # CONFIG_DUMMY is not set |
498 | # CONFIG_BONDING is not set | 546 | # CONFIG_BONDING is not set |
499 | # CONFIG_MACVLAN is not set | 547 | # CONFIG_MACVLAN is not set |
@@ -528,7 +576,7 @@ CONFIG_MII=y | |||
528 | # CONFIG_ETHOC is not set | 576 | # CONFIG_ETHOC is not set |
529 | # CONFIG_SMC911X is not set | 577 | # CONFIG_SMC911X is not set |
530 | CONFIG_SMSC911X=y | 578 | CONFIG_SMSC911X=y |
531 | # CONFIG_DNET is not set | 579 | CONFIG_DNET=y |
532 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 580 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
533 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 581 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
534 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 582 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
@@ -537,8 +585,10 @@ CONFIG_SMSC911X=y | |||
537 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | 585 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set |
538 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 586 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
539 | # CONFIG_B44 is not set | 587 | # CONFIG_B44 is not set |
540 | CONFIG_CS89x0=y | 588 | # CONFIG_CS89x0 is not set |
541 | CONFIG_CS89x0_NONISA_IRQ=y | 589 | # CONFIG_KS8842 is not set |
590 | CONFIG_FEC=y | ||
591 | # CONFIG_FEC2 is not set | ||
542 | # CONFIG_NETDEV_1000 is not set | 592 | # CONFIG_NETDEV_1000 is not set |
543 | # CONFIG_NETDEV_10000 is not set | 593 | # CONFIG_NETDEV_10000 is not set |
544 | 594 | ||
@@ -609,6 +659,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
609 | # | 659 | # |
610 | # I2C system bus drivers (mostly embedded / system-on-chip) | 660 | # I2C system bus drivers (mostly embedded / system-on-chip) |
611 | # | 661 | # |
662 | # CONFIG_I2C_DESIGNWARE is not set | ||
612 | # CONFIG_I2C_GPIO is not set | 663 | # CONFIG_I2C_GPIO is not set |
613 | CONFIG_I2C_IMX=y | 664 | CONFIG_I2C_IMX=y |
614 | # CONFIG_I2C_OCORES is not set | 665 | # CONFIG_I2C_OCORES is not set |
@@ -633,7 +684,6 @@ CONFIG_I2C_IMX=y | |||
633 | # CONFIG_SENSORS_PCF8574 is not set | 684 | # CONFIG_SENSORS_PCF8574 is not set |
634 | # CONFIG_PCF8575 is not set | 685 | # CONFIG_PCF8575 is not set |
635 | # CONFIG_SENSORS_PCA9539 is not set | 686 | # CONFIG_SENSORS_PCA9539 is not set |
636 | # CONFIG_SENSORS_MAX6875 is not set | ||
637 | # CONFIG_SENSORS_TSL2550 is not set | 687 | # CONFIG_SENSORS_TSL2550 is not set |
638 | # CONFIG_I2C_DEBUG_CORE is not set | 688 | # CONFIG_I2C_DEBUG_CORE is not set |
639 | # CONFIG_I2C_DEBUG_ALGO is not set | 689 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -669,6 +719,7 @@ CONFIG_W1=y | |||
669 | # | 719 | # |
670 | # CONFIG_W1_MASTER_DS2482 is not set | 720 | # CONFIG_W1_MASTER_DS2482 is not set |
671 | CONFIG_W1_MASTER_MXC=y | 721 | CONFIG_W1_MASTER_MXC=y |
722 | # CONFIG_W1_MASTER_DS1WM is not set | ||
672 | # CONFIG_W1_MASTER_GPIO is not set | 723 | # CONFIG_W1_MASTER_GPIO is not set |
673 | 724 | ||
674 | # | 725 | # |
@@ -703,6 +754,8 @@ CONFIG_SSB_POSSIBLE=y | |||
703 | # CONFIG_TPS65010 is not set | 754 | # CONFIG_TPS65010 is not set |
704 | # CONFIG_TWL4030_CORE is not set | 755 | # CONFIG_TWL4030_CORE is not set |
705 | # CONFIG_MFD_TMIO is not set | 756 | # CONFIG_MFD_TMIO is not set |
757 | # CONFIG_MFD_T7L66XB is not set | ||
758 | # CONFIG_MFD_TC6387XB is not set | ||
706 | # CONFIG_MFD_TC6393XB is not set | 759 | # CONFIG_MFD_TC6393XB is not set |
707 | # CONFIG_PMIC_DA903X is not set | 760 | # CONFIG_PMIC_DA903X is not set |
708 | # CONFIG_MFD_WM8400 is not set | 761 | # CONFIG_MFD_WM8400 is not set |
@@ -711,10 +764,8 @@ CONFIG_MFD_WM8350_CONFIG_MODE_0=y | |||
711 | CONFIG_MFD_WM8352_CONFIG_MODE_0=y | 764 | CONFIG_MFD_WM8352_CONFIG_MODE_0=y |
712 | CONFIG_MFD_WM8350_I2C=y | 765 | CONFIG_MFD_WM8350_I2C=y |
713 | # CONFIG_MFD_PCF50633 is not set | 766 | # CONFIG_MFD_PCF50633 is not set |
714 | 767 | # CONFIG_AB3100_CORE is not set | |
715 | # | 768 | CONFIG_MEDIA_SUPPORT=y |
716 | # Multimedia devices | ||
717 | # | ||
718 | 769 | ||
719 | # | 770 | # |
720 | # Multimedia core support | 771 | # Multimedia core support |
@@ -758,8 +809,10 @@ CONFIG_SOC_CAMERA_MT9T031=y | |||
758 | CONFIG_SOC_CAMERA_MT9V022=y | 809 | CONFIG_SOC_CAMERA_MT9V022=y |
759 | CONFIG_SOC_CAMERA_TW9910=y | 810 | CONFIG_SOC_CAMERA_TW9910=y |
760 | # CONFIG_SOC_CAMERA_PLATFORM is not set | 811 | # CONFIG_SOC_CAMERA_PLATFORM is not set |
761 | # CONFIG_SOC_CAMERA_OV772X is not set | 812 | CONFIG_SOC_CAMERA_OV772X=y |
813 | CONFIG_MX3_VIDEO=y | ||
762 | CONFIG_VIDEO_MX3=y | 814 | CONFIG_VIDEO_MX3=y |
815 | # CONFIG_VIDEO_SH_MOBILE_CEU is not set | ||
763 | # CONFIG_RADIO_ADAPTERS is not set | 816 | # CONFIG_RADIO_ADAPTERS is not set |
764 | # CONFIG_DAB is not set | 817 | # CONFIG_DAB is not set |
765 | 818 | ||
@@ -847,8 +900,11 @@ CONFIG_REGULATOR=y | |||
847 | # CONFIG_REGULATOR_DEBUG is not set | 900 | # CONFIG_REGULATOR_DEBUG is not set |
848 | # CONFIG_REGULATOR_FIXED_VOLTAGE is not set | 901 | # CONFIG_REGULATOR_FIXED_VOLTAGE is not set |
849 | # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set | 902 | # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set |
903 | # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set | ||
850 | # CONFIG_REGULATOR_BQ24022 is not set | 904 | # CONFIG_REGULATOR_BQ24022 is not set |
905 | # CONFIG_REGULATOR_MAX1586 is not set | ||
851 | CONFIG_REGULATOR_WM8350=y | 906 | CONFIG_REGULATOR_WM8350=y |
907 | # CONFIG_REGULATOR_LP3971 is not set | ||
852 | # CONFIG_UIO is not set | 908 | # CONFIG_UIO is not set |
853 | # CONFIG_STAGING is not set | 909 | # CONFIG_STAGING is not set |
854 | 910 | ||
@@ -861,10 +917,12 @@ CONFIG_REGULATOR_WM8350=y | |||
861 | # CONFIG_REISERFS_FS is not set | 917 | # CONFIG_REISERFS_FS is not set |
862 | # CONFIG_JFS_FS is not set | 918 | # CONFIG_JFS_FS is not set |
863 | # CONFIG_FS_POSIX_ACL is not set | 919 | # CONFIG_FS_POSIX_ACL is not set |
864 | CONFIG_FILE_LOCKING=y | ||
865 | # CONFIG_XFS_FS is not set | 920 | # CONFIG_XFS_FS is not set |
921 | # CONFIG_GFS2_FS is not set | ||
866 | # CONFIG_OCFS2_FS is not set | 922 | # CONFIG_OCFS2_FS is not set |
867 | # CONFIG_BTRFS_FS is not set | 923 | # CONFIG_BTRFS_FS is not set |
924 | CONFIG_FILE_LOCKING=y | ||
925 | CONFIG_FSNOTIFY=y | ||
868 | # CONFIG_DNOTIFY is not set | 926 | # CONFIG_DNOTIFY is not set |
869 | CONFIG_INOTIFY=y | 927 | CONFIG_INOTIFY=y |
870 | CONFIG_INOTIFY_USER=y | 928 | CONFIG_INOTIFY_USER=y |
@@ -921,6 +979,12 @@ CONFIG_JFFS2_ZLIB=y | |||
921 | # CONFIG_JFFS2_LZO is not set | 979 | # CONFIG_JFFS2_LZO is not set |
922 | CONFIG_JFFS2_RTIME=y | 980 | CONFIG_JFFS2_RTIME=y |
923 | # CONFIG_JFFS2_RUBIN is not set | 981 | # CONFIG_JFFS2_RUBIN is not set |
982 | CONFIG_UBIFS_FS=y | ||
983 | # CONFIG_UBIFS_FS_XATTR is not set | ||
984 | # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set | ||
985 | CONFIG_UBIFS_FS_LZO=y | ||
986 | CONFIG_UBIFS_FS_ZLIB=y | ||
987 | # CONFIG_UBIFS_FS_DEBUG is not set | ||
924 | # CONFIG_CRAMFS is not set | 988 | # CONFIG_CRAMFS is not set |
925 | # CONFIG_SQUASHFS is not set | 989 | # CONFIG_SQUASHFS is not set |
926 | # CONFIG_VXFS_FS is not set | 990 | # CONFIG_VXFS_FS is not set |
@@ -937,6 +1001,7 @@ CONFIG_NFS_FS=y | |||
937 | CONFIG_NFS_V3=y | 1001 | CONFIG_NFS_V3=y |
938 | # CONFIG_NFS_V3_ACL is not set | 1002 | # CONFIG_NFS_V3_ACL is not set |
939 | CONFIG_NFS_V4=y | 1003 | CONFIG_NFS_V4=y |
1004 | # CONFIG_NFS_V4_1 is not set | ||
940 | CONFIG_ROOT_NFS=y | 1005 | CONFIG_ROOT_NFS=y |
941 | # CONFIG_NFSD is not set | 1006 | # CONFIG_NFSD is not set |
942 | CONFIG_LOCKD=y | 1007 | CONFIG_LOCKD=y |
@@ -979,22 +1044,7 @@ CONFIG_FRAME_WARN=1024 | |||
979 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1044 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
980 | CONFIG_HAVE_FUNCTION_TRACER=y | 1045 | CONFIG_HAVE_FUNCTION_TRACER=y |
981 | CONFIG_TRACING_SUPPORT=y | 1046 | CONFIG_TRACING_SUPPORT=y |
982 | 1047 | # CONFIG_FTRACE is not set | |
983 | # | ||
984 | # Tracers | ||
985 | # | ||
986 | # CONFIG_FUNCTION_TRACER is not set | ||
987 | # CONFIG_IRQSOFF_TRACER is not set | ||
988 | # CONFIG_PREEMPT_TRACER is not set | ||
989 | # CONFIG_SCHED_TRACER is not set | ||
990 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
991 | # CONFIG_EVENT_TRACER is not set | ||
992 | # CONFIG_BOOT_TRACER is not set | ||
993 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
994 | # CONFIG_STACK_TRACER is not set | ||
995 | # CONFIG_KMEMTRACE is not set | ||
996 | # CONFIG_WORKQUEUE_TRACER is not set | ||
997 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
998 | # CONFIG_SAMPLES is not set | 1048 | # CONFIG_SAMPLES is not set |
999 | CONFIG_HAVE_ARCH_KGDB=y | 1049 | CONFIG_HAVE_ARCH_KGDB=y |
1000 | CONFIG_ARM_UNWIND=y | 1050 | CONFIG_ARM_UNWIND=y |
@@ -1094,9 +1144,9 @@ CONFIG_CRYPTO_DES=y | |||
1094 | # | 1144 | # |
1095 | # Compression | 1145 | # Compression |
1096 | # | 1146 | # |
1097 | # CONFIG_CRYPTO_DEFLATE is not set | 1147 | CONFIG_CRYPTO_DEFLATE=y |
1098 | # CONFIG_CRYPTO_ZLIB is not set | 1148 | # CONFIG_CRYPTO_ZLIB is not set |
1099 | # CONFIG_CRYPTO_LZO is not set | 1149 | CONFIG_CRYPTO_LZO=y |
1100 | 1150 | ||
1101 | # | 1151 | # |
1102 | # Random Number Generation | 1152 | # Random Number Generation |
@@ -1109,9 +1159,10 @@ CONFIG_CRYPTO_HW=y | |||
1109 | # Library routines | 1159 | # Library routines |
1110 | # | 1160 | # |
1111 | CONFIG_BITREVERSE=y | 1161 | CONFIG_BITREVERSE=y |
1162 | CONFIG_RATIONAL=y | ||
1112 | CONFIG_GENERIC_FIND_LAST_BIT=y | 1163 | CONFIG_GENERIC_FIND_LAST_BIT=y |
1113 | # CONFIG_CRC_CCITT is not set | 1164 | # CONFIG_CRC_CCITT is not set |
1114 | # CONFIG_CRC16 is not set | 1165 | CONFIG_CRC16=y |
1115 | # CONFIG_CRC_T10DIF is not set | 1166 | # CONFIG_CRC_T10DIF is not set |
1116 | # CONFIG_CRC_ITU_T is not set | 1167 | # CONFIG_CRC_ITU_T is not set |
1117 | CONFIG_CRC32=y | 1168 | CONFIG_CRC32=y |
@@ -1119,6 +1170,8 @@ CONFIG_CRC32=y | |||
1119 | # CONFIG_LIBCRC32C is not set | 1170 | # CONFIG_LIBCRC32C is not set |
1120 | CONFIG_ZLIB_INFLATE=y | 1171 | CONFIG_ZLIB_INFLATE=y |
1121 | CONFIG_ZLIB_DEFLATE=y | 1172 | CONFIG_ZLIB_DEFLATE=y |
1173 | CONFIG_LZO_COMPRESS=y | ||
1174 | CONFIG_LZO_DECOMPRESS=y | ||
1122 | CONFIG_HAS_IOMEM=y | 1175 | CONFIG_HAS_IOMEM=y |
1123 | CONFIG_HAS_IOPORT=y | 1176 | CONFIG_HAS_IOPORT=y |
1124 | CONFIG_HAS_DMA=y | 1177 | CONFIG_HAS_DMA=y |
diff --git a/arch/arm/configs/omap3_evm_defconfig b/arch/arm/configs/omap3_evm_defconfig index 28be17fbc157..d5ff4776cd0a 100644 --- a/arch/arm/configs/omap3_evm_defconfig +++ b/arch/arm/configs/omap3_evm_defconfig | |||
@@ -1107,7 +1107,7 @@ CONFIG_USB_ZERO=m | |||
1107 | CONFIG_USB_OTG_UTILS=y | 1107 | CONFIG_USB_OTG_UTILS=y |
1108 | # CONFIG_USB_GPIO_VBUS is not set | 1108 | # CONFIG_USB_GPIO_VBUS is not set |
1109 | # CONFIG_ISP1301_OMAP is not set | 1109 | # CONFIG_ISP1301_OMAP is not set |
1110 | CONFIG_TWL4030_USB=y | 1110 | # CONFIG_TWL4030_USB is not set |
1111 | # CONFIG_NOP_USB_XCEIV is not set | 1111 | # CONFIG_NOP_USB_XCEIV is not set |
1112 | CONFIG_MMC=y | 1112 | CONFIG_MMC=y |
1113 | # CONFIG_MMC_DEBUG is not set | 1113 | # CONFIG_MMC_DEBUG is not set |
diff --git a/arch/arm/configs/rx51_defconfig b/arch/arm/configs/rx51_defconfig index eb2cb31825c0..f238df66efd4 100644 --- a/arch/arm/configs/rx51_defconfig +++ b/arch/arm/configs/rx51_defconfig | |||
@@ -282,7 +282,7 @@ CONFIG_ALIGNMENT_TRAP=y | |||
282 | # | 282 | # |
283 | CONFIG_ZBOOT_ROM_TEXT=0x0 | 283 | CONFIG_ZBOOT_ROM_TEXT=0x0 |
284 | CONFIG_ZBOOT_ROM_BSS=0x0 | 284 | CONFIG_ZBOOT_ROM_BSS=0x0 |
285 | CONFIG_CMDLINE="init=/sbin/preinit ubi.mtd=rootfs root=ubi0:rootfs rootfstype=ubifs rootflags=bulk_read,no_chk_data_crc rw console=ttyMTD,log console=tty0" | 285 | CONFIG_CMDLINE="init=/sbin/preinit ubi.mtd=rootfs root=ubi0:rootfs rootfstype=ubifs rootflags=bulk_read,no_chk_data_crc rw console=ttyMTD,log console=tty0 console=ttyS2,115200n8" |
286 | # CONFIG_XIP_KERNEL is not set | 286 | # CONFIG_XIP_KERNEL is not set |
287 | # CONFIG_KEXEC is not set | 287 | # CONFIG_KEXEC is not set |
288 | 288 | ||
@@ -1354,7 +1354,7 @@ CONFIG_USB_OTG_UTILS=y | |||
1354 | # CONFIG_USB_GPIO_VBUS is not set | 1354 | # CONFIG_USB_GPIO_VBUS is not set |
1355 | # CONFIG_ISP1301_OMAP is not set | 1355 | # CONFIG_ISP1301_OMAP is not set |
1356 | CONFIG_TWL4030_USB=y | 1356 | CONFIG_TWL4030_USB=y |
1357 | CONFIG_MMC=m | 1357 | CONFIG_MMC=y |
1358 | # CONFIG_MMC_DEBUG is not set | 1358 | # CONFIG_MMC_DEBUG is not set |
1359 | # CONFIG_MMC_UNSAFE_RESUME is not set | 1359 | # CONFIG_MMC_UNSAFE_RESUME is not set |
1360 | 1360 | ||
@@ -1449,7 +1449,8 @@ CONFIG_RTC_DRV_TWL4030=m | |||
1449 | # on-CPU RTC drivers | 1449 | # on-CPU RTC drivers |
1450 | # | 1450 | # |
1451 | # CONFIG_DMADEVICES is not set | 1451 | # CONFIG_DMADEVICES is not set |
1452 | # CONFIG_REGULATOR is not set | 1452 | CONFIG_REGULATOR=y |
1453 | CONFIG_REGULATOR_TWL4030=y | ||
1453 | # CONFIG_UIO is not set | 1454 | # CONFIG_UIO is not set |
1454 | # CONFIG_STAGING is not set | 1455 | # CONFIG_STAGING is not set |
1455 | 1456 | ||
diff --git a/arch/arm/include/asm/atomic.h b/arch/arm/include/asm/atomic.h index 9e07fe507029..9ed2377fe8e5 100644 --- a/arch/arm/include/asm/atomic.h +++ b/arch/arm/include/asm/atomic.h | |||
@@ -159,8 +159,6 @@ static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr) | |||
159 | 159 | ||
160 | #else /* ARM_ARCH_6 */ | 160 | #else /* ARM_ARCH_6 */ |
161 | 161 | ||
162 | #include <asm/system.h> | ||
163 | |||
164 | #ifdef CONFIG_SMP | 162 | #ifdef CONFIG_SMP |
165 | #error SMP not supported on pre-ARMv6 CPUs | 163 | #error SMP not supported on pre-ARMv6 CPUs |
166 | #endif | 164 | #endif |
diff --git a/arch/arm/include/asm/memory.h b/arch/arm/include/asm/memory.h index 376be1a62866..cefedf062138 100644 --- a/arch/arm/include/asm/memory.h +++ b/arch/arm/include/asm/memory.h | |||
@@ -218,7 +218,6 @@ static inline __deprecated void *bus_to_virt(unsigned long x) | |||
218 | * | 218 | * |
219 | * page_to_pfn(page) convert a struct page * to a PFN number | 219 | * page_to_pfn(page) convert a struct page * to a PFN number |
220 | * pfn_to_page(pfn) convert a _valid_ PFN number to struct page * | 220 | * pfn_to_page(pfn) convert a _valid_ PFN number to struct page * |
221 | * pfn_valid(pfn) indicates whether a PFN number is valid | ||
222 | * | 221 | * |
223 | * virt_to_page(k) convert a _valid_ virtual address to struct page * | 222 | * virt_to_page(k) convert a _valid_ virtual address to struct page * |
224 | * virt_addr_valid(k) indicates whether a virtual address is valid | 223 | * virt_addr_valid(k) indicates whether a virtual address is valid |
@@ -227,10 +226,6 @@ static inline __deprecated void *bus_to_virt(unsigned long x) | |||
227 | 226 | ||
228 | #define ARCH_PFN_OFFSET PHYS_PFN_OFFSET | 227 | #define ARCH_PFN_OFFSET PHYS_PFN_OFFSET |
229 | 228 | ||
230 | #ifndef CONFIG_SPARSEMEM | ||
231 | #define pfn_valid(pfn) ((pfn) >= PHYS_PFN_OFFSET && (pfn) < (PHYS_PFN_OFFSET + max_mapnr)) | ||
232 | #endif | ||
233 | |||
234 | #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) | 229 | #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) |
235 | #define virt_addr_valid(kaddr) ((unsigned long)(kaddr) >= PAGE_OFFSET && (unsigned long)(kaddr) < (unsigned long)high_memory) | 230 | #define virt_addr_valid(kaddr) ((unsigned long)(kaddr) >= PAGE_OFFSET && (unsigned long)(kaddr) < (unsigned long)high_memory) |
236 | 231 | ||
@@ -247,18 +242,6 @@ static inline __deprecated void *bus_to_virt(unsigned long x) | |||
247 | #define arch_pfn_to_nid(pfn) PFN_TO_NID(pfn) | 242 | #define arch_pfn_to_nid(pfn) PFN_TO_NID(pfn) |
248 | #define arch_local_page_offset(pfn, nid) LOCAL_MAP_NR((pfn) << PAGE_SHIFT) | 243 | #define arch_local_page_offset(pfn, nid) LOCAL_MAP_NR((pfn) << PAGE_SHIFT) |
249 | 244 | ||
250 | #define pfn_valid(pfn) \ | ||
251 | ({ \ | ||
252 | unsigned int nid = PFN_TO_NID(pfn); \ | ||
253 | int valid = nid < MAX_NUMNODES; \ | ||
254 | if (valid) { \ | ||
255 | pg_data_t *node = NODE_DATA(nid); \ | ||
256 | valid = (pfn - node->node_start_pfn) < \ | ||
257 | node->node_spanned_pages; \ | ||
258 | } \ | ||
259 | valid; \ | ||
260 | }) | ||
261 | |||
262 | #define virt_to_page(kaddr) \ | 245 | #define virt_to_page(kaddr) \ |
263 | (ADDR_TO_MAPBASE(kaddr) + LOCAL_MAP_NR(kaddr)) | 246 | (ADDR_TO_MAPBASE(kaddr) + LOCAL_MAP_NR(kaddr)) |
264 | 247 | ||
diff --git a/arch/arm/include/asm/page.h b/arch/arm/include/asm/page.h index 9c746af1bf6e..3a32af4cce30 100644 --- a/arch/arm/include/asm/page.h +++ b/arch/arm/include/asm/page.h | |||
@@ -194,6 +194,10 @@ typedef unsigned long pgprot_t; | |||
194 | 194 | ||
195 | typedef struct page *pgtable_t; | 195 | typedef struct page *pgtable_t; |
196 | 196 | ||
197 | #ifndef CONFIG_SPARSEMEM | ||
198 | extern int pfn_valid(unsigned long); | ||
199 | #endif | ||
200 | |||
197 | #include <asm/memory.h> | 201 | #include <asm/memory.h> |
198 | 202 | ||
199 | #endif /* !__ASSEMBLY__ */ | 203 | #endif /* !__ASSEMBLY__ */ |
diff --git a/arch/arm/include/asm/setup.h b/arch/arm/include/asm/setup.h index ee1304f22f94..5ccce0a9b03c 100644 --- a/arch/arm/include/asm/setup.h +++ b/arch/arm/include/asm/setup.h | |||
@@ -201,7 +201,8 @@ static struct tagtable __tagtable_##fn __tag = { tag, fn } | |||
201 | struct membank { | 201 | struct membank { |
202 | unsigned long start; | 202 | unsigned long start; |
203 | unsigned long size; | 203 | unsigned long size; |
204 | int node; | 204 | unsigned short node; |
205 | unsigned short highmem; | ||
205 | }; | 206 | }; |
206 | 207 | ||
207 | struct meminfo { | 208 | struct meminfo { |
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S index 3657c5328a5b..c71818bdf2cc 100644 --- a/arch/arm/kernel/entry-common.S +++ b/arch/arm/kernel/entry-common.S | |||
@@ -153,7 +153,7 @@ trace: | |||
153 | sub r0, r0, #MCOUNT_INSN_SIZE | 153 | sub r0, r0, #MCOUNT_INSN_SIZE |
154 | mov lr, pc | 154 | mov lr, pc |
155 | mov pc, r2 | 155 | mov pc, r2 |
156 | mov lr, r1 @ restore lr | 156 | ldr lr, [fp, #-4] @ restore lr |
157 | ldmia sp!, {r0-r3, pc} | 157 | ldmia sp!, {r0-r3, pc} |
158 | 158 | ||
159 | #endif /* CONFIG_DYNAMIC_FTRACE */ | 159 | #endif /* CONFIG_DYNAMIC_FTRACE */ |
diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c index e27ee1f701d5..f7194e44d5a9 100644 --- a/arch/arm/kernel/signal.c +++ b/arch/arm/kernel/signal.c | |||
@@ -98,7 +98,7 @@ sys_sigaction(int sig, const struct old_sigaction __user *act, | |||
98 | } | 98 | } |
99 | 99 | ||
100 | #ifdef CONFIG_CRUNCH | 100 | #ifdef CONFIG_CRUNCH |
101 | static int preserve_crunch_context(struct crunch_sigframe *frame) | 101 | static int preserve_crunch_context(struct crunch_sigframe __user *frame) |
102 | { | 102 | { |
103 | char kbuf[sizeof(*frame) + 8]; | 103 | char kbuf[sizeof(*frame) + 8]; |
104 | struct crunch_sigframe *kframe; | 104 | struct crunch_sigframe *kframe; |
@@ -111,7 +111,7 @@ static int preserve_crunch_context(struct crunch_sigframe *frame) | |||
111 | return __copy_to_user(frame, kframe, sizeof(*frame)); | 111 | return __copy_to_user(frame, kframe, sizeof(*frame)); |
112 | } | 112 | } |
113 | 113 | ||
114 | static int restore_crunch_context(struct crunch_sigframe *frame) | 114 | static int restore_crunch_context(struct crunch_sigframe __user *frame) |
115 | { | 115 | { |
116 | char kbuf[sizeof(*frame) + 8]; | 116 | char kbuf[sizeof(*frame) + 8]; |
117 | struct crunch_sigframe *kframe; | 117 | struct crunch_sigframe *kframe; |
diff --git a/arch/arm/mach-davinci/board-dm355-evm.c b/arch/arm/mach-davinci/board-dm355-evm.c index 5ac2f565d860..d6ab64ccd496 100644 --- a/arch/arm/mach-davinci/board-dm355-evm.c +++ b/arch/arm/mach-davinci/board-dm355-evm.c | |||
@@ -37,7 +37,6 @@ | |||
37 | #include <mach/serial.h> | 37 | #include <mach/serial.h> |
38 | #include <mach/nand.h> | 38 | #include <mach/nand.h> |
39 | #include <mach/mmc.h> | 39 | #include <mach/mmc.h> |
40 | #include <mach/common.h> | ||
41 | 40 | ||
42 | #define DAVINCI_ASYNC_EMIF_CONTROL_BASE 0x01e10000 | 41 | #define DAVINCI_ASYNC_EMIF_CONTROL_BASE 0x01e10000 |
43 | #define DAVINCI_ASYNC_EMIF_DATA_CE0_BASE 0x02000000 | 42 | #define DAVINCI_ASYNC_EMIF_DATA_CE0_BASE 0x02000000 |
diff --git a/arch/arm/mach-davinci/board-dm355-leopard.c b/arch/arm/mach-davinci/board-dm355-leopard.c index 28c9008df4f4..84ad5d161a87 100644 --- a/arch/arm/mach-davinci/board-dm355-leopard.c +++ b/arch/arm/mach-davinci/board-dm355-leopard.c | |||
@@ -36,7 +36,6 @@ | |||
36 | #include <mach/serial.h> | 36 | #include <mach/serial.h> |
37 | #include <mach/nand.h> | 37 | #include <mach/nand.h> |
38 | #include <mach/mmc.h> | 38 | #include <mach/mmc.h> |
39 | #include <mach/common.h> | ||
40 | 39 | ||
41 | #define DAVINCI_ASYNC_EMIF_CONTROL_BASE 0x01e10000 | 40 | #define DAVINCI_ASYNC_EMIF_CONTROL_BASE 0x01e10000 |
42 | #define DAVINCI_ASYNC_EMIF_DATA_CE0_BASE 0x02000000 | 41 | #define DAVINCI_ASYNC_EMIF_DATA_CE0_BASE 0x02000000 |
diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c index d9d40450bdc5..56c8cd01de9a 100644 --- a/arch/arm/mach-davinci/board-dm644x-evm.c +++ b/arch/arm/mach-davinci/board-dm644x-evm.c | |||
@@ -45,7 +45,6 @@ | |||
45 | #include <mach/nand.h> | 45 | #include <mach/nand.h> |
46 | #include <mach/mmc.h> | 46 | #include <mach/mmc.h> |
47 | #include <mach/emac.h> | 47 | #include <mach/emac.h> |
48 | #include <mach/common.h> | ||
49 | 48 | ||
50 | #define DM644X_EVM_PHY_MASK (0x2) | 49 | #define DM644X_EVM_PHY_MASK (0x2) |
51 | #define DM644X_EVM_MDIO_FREQUENCY (2200000) /* PHY bus frequency */ | 50 | #define DM644X_EVM_MDIO_FREQUENCY (2200000) /* PHY bus frequency */ |
diff --git a/arch/arm/mach-davinci/board-dm646x-evm.c b/arch/arm/mach-davinci/board-dm646x-evm.c index e17de6352624..8657e72debc1 100644 --- a/arch/arm/mach-davinci/board-dm646x-evm.c +++ b/arch/arm/mach-davinci/board-dm646x-evm.c | |||
@@ -47,7 +47,6 @@ | |||
47 | #include <mach/i2c.h> | 47 | #include <mach/i2c.h> |
48 | #include <mach/mmc.h> | 48 | #include <mach/mmc.h> |
49 | #include <mach/emac.h> | 49 | #include <mach/emac.h> |
50 | #include <mach/common.h> | ||
51 | 50 | ||
52 | #define DM646X_EVM_PHY_MASK (0x2) | 51 | #define DM646X_EVM_PHY_MASK (0x2) |
53 | #define DM646X_EVM_MDIO_FREQUENCY (2200000) /* PHY bus frequency */ | 52 | #define DM646X_EVM_MDIO_FREQUENCY (2200000) /* PHY bus frequency */ |
diff --git a/arch/arm/mach-davinci/board-sffsdr.c b/arch/arm/mach-davinci/board-sffsdr.c index 748a8e48541e..7acdfd8ac071 100644 --- a/arch/arm/mach-davinci/board-sffsdr.c +++ b/arch/arm/mach-davinci/board-sffsdr.c | |||
@@ -52,7 +52,6 @@ | |||
52 | #include <mach/serial.h> | 52 | #include <mach/serial.h> |
53 | #include <mach/psc.h> | 53 | #include <mach/psc.h> |
54 | #include <mach/mux.h> | 54 | #include <mach/mux.h> |
55 | #include <mach/common.h> | ||
56 | 55 | ||
57 | #define SFFSDR_PHY_MASK (0x2) | 56 | #define SFFSDR_PHY_MASK (0x2) |
58 | #define SFFSDR_MDIO_FREQUENCY (2200000) /* PHY bus frequency */ | 57 | #define SFFSDR_MDIO_FREQUENCY (2200000) /* PHY bus frequency */ |
diff --git a/arch/arm/mach-ep93xx/include/mach/ts72xx.h b/arch/arm/mach-ep93xx/include/mach/ts72xx.h index 2737666e800e..3bd934e9a7f1 100644 --- a/arch/arm/mach-ep93xx/include/mach/ts72xx.h +++ b/arch/arm/mach-ep93xx/include/mach/ts72xx.h | |||
@@ -41,9 +41,6 @@ | |||
41 | #define TS72XX_OPTIONS2_TS9420_BOOT 0x02 | 41 | #define TS72XX_OPTIONS2_TS9420_BOOT 0x02 |
42 | 42 | ||
43 | 43 | ||
44 | #define TS72XX_NOR_PHYS_BASE 0x60000000 | ||
45 | #define TS72XX_NOR2_PHYS_BASE 0x62000000 | ||
46 | |||
47 | #define TS72XX_NAND1_DATA_PHYS_BASE 0x60000000 | 44 | #define TS72XX_NAND1_DATA_PHYS_BASE 0x60000000 |
48 | #define TS72XX_NAND2_DATA_PHYS_BASE 0x70000000 | 45 | #define TS72XX_NAND2_DATA_PHYS_BASE 0x70000000 |
49 | #define TS72XX_NAND_DATA_VIRT_BASE 0xfebfc000 | 46 | #define TS72XX_NAND_DATA_VIRT_BASE 0xfebfc000 |
diff --git a/arch/arm/mach-ep93xx/ts72xx.c b/arch/arm/mach-ep93xx/ts72xx.c index 5255dddd3067..259f7822ba52 100644 --- a/arch/arm/mach-ep93xx/ts72xx.c +++ b/arch/arm/mach-ep93xx/ts72xx.c | |||
@@ -111,13 +111,16 @@ static void __init ts72xx_map_io(void) | |||
111 | } | 111 | } |
112 | } | 112 | } |
113 | 113 | ||
114 | /************************************************************************* | ||
115 | * NOR flash (TS-7200 only) | ||
116 | *************************************************************************/ | ||
114 | static struct physmap_flash_data ts72xx_flash_data = { | 117 | static struct physmap_flash_data ts72xx_flash_data = { |
115 | .width = 1, | 118 | .width = 2, |
116 | }; | 119 | }; |
117 | 120 | ||
118 | static struct resource ts72xx_flash_resource = { | 121 | static struct resource ts72xx_flash_resource = { |
119 | .start = TS72XX_NOR_PHYS_BASE, | 122 | .start = EP93XX_CS6_PHYS_BASE, |
120 | .end = TS72XX_NOR_PHYS_BASE + SZ_16M - 1, | 123 | .end = EP93XX_CS6_PHYS_BASE + SZ_16M - 1, |
121 | .flags = IORESOURCE_MEM, | 124 | .flags = IORESOURCE_MEM, |
122 | }; | 125 | }; |
123 | 126 | ||
@@ -131,6 +134,12 @@ static struct platform_device ts72xx_flash = { | |||
131 | .resource = &ts72xx_flash_resource, | 134 | .resource = &ts72xx_flash_resource, |
132 | }; | 135 | }; |
133 | 136 | ||
137 | static void __init ts72xx_register_flash(void) | ||
138 | { | ||
139 | if (board_is_ts7200()) | ||
140 | platform_device_register(&ts72xx_flash); | ||
141 | } | ||
142 | |||
134 | static unsigned char ts72xx_rtc_readbyte(unsigned long addr) | 143 | static unsigned char ts72xx_rtc_readbyte(unsigned long addr) |
135 | { | 144 | { |
136 | __raw_writeb(addr, TS72XX_RTC_INDEX_VIRT_BASE); | 145 | __raw_writeb(addr, TS72XX_RTC_INDEX_VIRT_BASE); |
@@ -164,8 +173,7 @@ static struct ep93xx_eth_data ts72xx_eth_data = { | |||
164 | static void __init ts72xx_init_machine(void) | 173 | static void __init ts72xx_init_machine(void) |
165 | { | 174 | { |
166 | ep93xx_init_devices(); | 175 | ep93xx_init_devices(); |
167 | if (board_is_ts7200()) | 176 | ts72xx_register_flash(); |
168 | platform_device_register(&ts72xx_flash); | ||
169 | platform_device_register(&ts72xx_rtc_device); | 177 | platform_device_register(&ts72xx_rtc_device); |
170 | 178 | ||
171 | ep93xx_register_eth(&ts72xx_eth_data, 1); | 179 | ep93xx_register_eth(&ts72xx_eth_data, 1); |
diff --git a/arch/arm/mach-ixp4xx/include/mach/io.h b/arch/arm/mach-ixp4xx/include/mach/io.h index ce63048d45eb..8a947d42a6f1 100644 --- a/arch/arm/mach-ixp4xx/include/mach/io.h +++ b/arch/arm/mach-ixp4xx/include/mach/io.h | |||
@@ -17,7 +17,7 @@ | |||
17 | 17 | ||
18 | #include <mach/hardware.h> | 18 | #include <mach/hardware.h> |
19 | 19 | ||
20 | #define IO_SPACE_LIMIT 0xffff0000 | 20 | #define IO_SPACE_LIMIT 0x0000ffff |
21 | 21 | ||
22 | extern int (*ixp4xx_pci_read)(u32 addr, u32 cmd, u32* data); | 22 | extern int (*ixp4xx_pci_read)(u32 addr, u32 cmd, u32* data); |
23 | extern int ixp4xx_pci_write(u32 addr, u32 cmd, u32 data); | 23 | extern int ixp4xx_pci_write(u32 addr, u32 cmd, u32 data); |
diff --git a/arch/arm/mach-kirkwood/ts219-setup.c b/arch/arm/mach-kirkwood/ts219-setup.c index 01aa213c0a6f..ec1a64f263d2 100644 --- a/arch/arm/mach-kirkwood/ts219-setup.c +++ b/arch/arm/mach-kirkwood/ts219-setup.c | |||
@@ -206,6 +206,15 @@ static void __init qnap_ts219_init(void) | |||
206 | 206 | ||
207 | } | 207 | } |
208 | 208 | ||
209 | static int __init ts219_pci_init(void) | ||
210 | { | ||
211 | if (machine_is_ts219()) | ||
212 | kirkwood_pcie_init(); | ||
213 | |||
214 | return 0; | ||
215 | } | ||
216 | subsys_initcall(ts219_pci_init); | ||
217 | |||
209 | MACHINE_START(TS219, "QNAP TS-119/TS-219") | 218 | MACHINE_START(TS219, "QNAP TS-119/TS-219") |
210 | /* Maintainer: Martin Michlmayr <tbm@cyrius.com> */ | 219 | /* Maintainer: Martin Michlmayr <tbm@cyrius.com> */ |
211 | .phys_io = KIRKWOOD_REGS_PHYS_BASE, | 220 | .phys_io = KIRKWOOD_REGS_PHYS_BASE, |
diff --git a/arch/arm/mach-ks8695/include/mach/hardware.h b/arch/arm/mach-ks8695/include/mach/hardware.h index 1d640d075b7e..e0f911d9e021 100644 --- a/arch/arm/mach-ks8695/include/mach/hardware.h +++ b/arch/arm/mach-ks8695/include/mach/hardware.h | |||
@@ -17,6 +17,11 @@ | |||
17 | #include <asm/sizes.h> | 17 | #include <asm/sizes.h> |
18 | 18 | ||
19 | /* | 19 | /* |
20 | * Clocks are derived from MCLK, which is 25Mhz | ||
21 | */ | ||
22 | #define KS8695_CLOCK_RATE 25000000 | ||
23 | |||
24 | /* | ||
20 | * Physical RAM address. | 25 | * Physical RAM address. |
21 | */ | 26 | */ |
22 | #define KS8695_SDRAM_PA 0x00000000 | 27 | #define KS8695_SDRAM_PA 0x00000000 |
diff --git a/arch/arm/mach-ks8695/include/mach/timex.h b/arch/arm/mach-ks8695/include/mach/timex.h index 4682e350369b..10f716371bd3 100644 --- a/arch/arm/mach-ks8695/include/mach/timex.h +++ b/arch/arm/mach-ks8695/include/mach/timex.h | |||
@@ -14,7 +14,8 @@ | |||
14 | #ifndef __ASM_ARCH_TIMEX_H | 14 | #ifndef __ASM_ARCH_TIMEX_H |
15 | #define __ASM_ARCH_TIMEX_H | 15 | #define __ASM_ARCH_TIMEX_H |
16 | 16 | ||
17 | /* timers are derived from MCLK, which is 25MHz */ | 17 | #include <mach/hardware.h> |
18 | #define CLOCK_TICK_RATE 25000000 | 18 | |
19 | #define CLOCK_TICK_RATE KS8695_CLOCK_RATE | ||
19 | 20 | ||
20 | #endif | 21 | #endif |
diff --git a/arch/arm/mach-ks8695/pci.c b/arch/arm/mach-ks8695/pci.c index f5ebcc0fcab9..78499667eb7b 100644 --- a/arch/arm/mach-ks8695/pci.c +++ b/arch/arm/mach-ks8695/pci.c | |||
@@ -245,6 +245,9 @@ static int ks8695_pci_fault(unsigned long addr, unsigned int fsr, struct pt_regs | |||
245 | 245 | ||
246 | static void __init ks8695_pci_preinit(void) | 246 | static void __init ks8695_pci_preinit(void) |
247 | { | 247 | { |
248 | /* make software reset to avoid freeze if PCI bus was messed up */ | ||
249 | __raw_writel(0x80000000, KS8695_PCI_VA + KS8695_PBCS); | ||
250 | |||
248 | /* stage 1 initialization, subid, subdevice = 0x0001 */ | 251 | /* stage 1 initialization, subid, subdevice = 0x0001 */ |
249 | __raw_writel(0x00010001, KS8695_PCI_VA + KS8695_CRCSID); | 252 | __raw_writel(0x00010001, KS8695_PCI_VA + KS8695_CRCSID); |
250 | 253 | ||
diff --git a/arch/arm/mach-mx3/mx31moboard-devboard.c b/arch/arm/mach-mx3/mx31moboard-devboard.c index b3e8f251ac79..5592cdb8d0ad 100644 --- a/arch/arm/mach-mx3/mx31moboard-devboard.c +++ b/arch/arm/mach-mx3/mx31moboard-devboard.c | |||
@@ -50,7 +50,7 @@ static struct imxuart_platform_data uart_pdata = { | |||
50 | 50 | ||
51 | static int devboard_sdhc2_get_ro(struct device *dev) | 51 | static int devboard_sdhc2_get_ro(struct device *dev) |
52 | { | 52 | { |
53 | return gpio_get_value(SDHC2_WP); | 53 | return !gpio_get_value(SDHC2_WP); |
54 | } | 54 | } |
55 | 55 | ||
56 | static int devboard_sdhc2_init(struct device *dev, irq_handler_t detect_irq, | 56 | static int devboard_sdhc2_init(struct device *dev, irq_handler_t detect_irq, |
diff --git a/arch/arm/mach-mx3/mx31moboard-marxbot.c b/arch/arm/mach-mx3/mx31moboard-marxbot.c index 3e2b73051b94..2bfaffb344f0 100644 --- a/arch/arm/mach-mx3/mx31moboard-marxbot.c +++ b/arch/arm/mach-mx3/mx31moboard-marxbot.c | |||
@@ -56,7 +56,7 @@ static unsigned int marxbot_pins[] = { | |||
56 | 56 | ||
57 | static int marxbot_sdhc2_get_ro(struct device *dev) | 57 | static int marxbot_sdhc2_get_ro(struct device *dev) |
58 | { | 58 | { |
59 | return gpio_get_value(SDHC2_WP); | 59 | return !gpio_get_value(SDHC2_WP); |
60 | } | 60 | } |
61 | 61 | ||
62 | static int marxbot_sdhc2_init(struct device *dev, irq_handler_t detect_irq, | 62 | static int marxbot_sdhc2_init(struct device *dev, irq_handler_t detect_irq, |
diff --git a/arch/arm/mach-mx3/mx31moboard.c b/arch/arm/mach-mx3/mx31moboard.c index d3c6bb26271f..9243de54041a 100644 --- a/arch/arm/mach-mx3/mx31moboard.c +++ b/arch/arm/mach-mx3/mx31moboard.c | |||
@@ -118,7 +118,7 @@ static struct imxi2c_platform_data moboard_i2c1_pdata = { | |||
118 | 118 | ||
119 | static int moboard_sdhc1_get_ro(struct device *dev) | 119 | static int moboard_sdhc1_get_ro(struct device *dev) |
120 | { | 120 | { |
121 | return gpio_get_value(SDHC1_WP); | 121 | return !gpio_get_value(SDHC1_WP); |
122 | } | 122 | } |
123 | 123 | ||
124 | static int moboard_sdhc1_init(struct device *dev, irq_handler_t detect_irq, | 124 | static int moboard_sdhc1_init(struct device *dev, irq_handler_t detect_irq, |
diff --git a/arch/arm/mach-mx3/pcm037_eet.c b/arch/arm/mach-mx3/pcm037_eet.c index fe52fb1bb8b7..8d386000fc40 100644 --- a/arch/arm/mach-mx3/pcm037_eet.c +++ b/arch/arm/mach-mx3/pcm037_eet.c | |||
@@ -24,15 +24,6 @@ | |||
24 | #include "devices.h" | 24 | #include "devices.h" |
25 | 25 | ||
26 | static unsigned int pcm037_eet_pins[] = { | 26 | static unsigned int pcm037_eet_pins[] = { |
27 | /* SPI #1 */ | ||
28 | MX31_PIN_CSPI1_MISO__MISO, | ||
29 | MX31_PIN_CSPI1_MOSI__MOSI, | ||
30 | MX31_PIN_CSPI1_SCLK__SCLK, | ||
31 | MX31_PIN_CSPI1_SPI_RDY__SPI_RDY, | ||
32 | MX31_PIN_CSPI1_SS0__SS0, | ||
33 | MX31_PIN_CSPI1_SS1__SS1, | ||
34 | MX31_PIN_CSPI1_SS2__SS2, | ||
35 | |||
36 | /* Reserve and hardwire GPIO 57 high - S6E63D6 chipselect */ | 27 | /* Reserve and hardwire GPIO 57 high - S6E63D6 chipselect */ |
37 | IOMUX_MODE(MX31_PIN_KEY_COL7, IOMUX_CONFIG_GPIO), | 28 | IOMUX_MODE(MX31_PIN_KEY_COL7, IOMUX_CONFIG_GPIO), |
38 | /* GPIO keys */ | 29 | /* GPIO keys */ |
diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c index 9c3fdcdf76c3..8ec2a132904d 100644 --- a/arch/arm/mach-omap2/board-2430sdp.c +++ b/arch/arm/mach-omap2/board-2430sdp.c | |||
@@ -141,7 +141,7 @@ static inline void board_smc91x_init(void) | |||
141 | 141 | ||
142 | static void __init omap_2430sdp_init_irq(void) | 142 | static void __init omap_2430sdp_init_irq(void) |
143 | { | 143 | { |
144 | omap2_init_common_hw(NULL); | 144 | omap2_init_common_hw(NULL, NULL); |
145 | omap_init_irq(); | 145 | omap_init_irq(); |
146 | omap_gpio_init(); | 146 | omap_gpio_init(); |
147 | } | 147 | } |
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c index 496a90e4ea7a..ac262cd74503 100644 --- a/arch/arm/mach-omap2/board-3430sdp.c +++ b/arch/arm/mach-omap2/board-3430sdp.c | |||
@@ -169,7 +169,7 @@ static struct platform_device *sdp3430_devices[] __initdata = { | |||
169 | 169 | ||
170 | static void __init omap_3430sdp_init_irq(void) | 170 | static void __init omap_3430sdp_init_irq(void) |
171 | { | 171 | { |
172 | omap2_init_common_hw(hyb18m512160af6_sdrc_params); | 172 | omap2_init_common_hw(hyb18m512160af6_sdrc_params, NULL); |
173 | omap_init_irq(); | 173 | omap_init_irq(); |
174 | omap_gpio_init(); | 174 | omap_gpio_init(); |
175 | } | 175 | } |
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index 7e1e721f0324..1b223076ceb7 100644 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ b/arch/arm/mach-omap2/board-4430sdp.c | |||
@@ -59,7 +59,7 @@ static void __init gic_init_irq(void) | |||
59 | 59 | ||
60 | static void __init omap_4430sdp_init_irq(void) | 60 | static void __init omap_4430sdp_init_irq(void) |
61 | { | 61 | { |
62 | omap2_init_common_hw(NULL); | 62 | omap2_init_common_hw(NULL, NULL); |
63 | #ifdef CONFIG_OMAP_32K_TIMER | 63 | #ifdef CONFIG_OMAP_32K_TIMER |
64 | omap2_gp_clockevent_set_gptimer(1); | 64 | omap2_gp_clockevent_set_gptimer(1); |
65 | #endif | 65 | #endif |
diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c index 06dfba888b0c..dcfc20d03894 100644 --- a/arch/arm/mach-omap2/board-apollon.c +++ b/arch/arm/mach-omap2/board-apollon.c | |||
@@ -250,7 +250,7 @@ out: | |||
250 | 250 | ||
251 | static void __init omap_apollon_init_irq(void) | 251 | static void __init omap_apollon_init_irq(void) |
252 | { | 252 | { |
253 | omap2_init_common_hw(NULL); | 253 | omap2_init_common_hw(NULL, NULL); |
254 | omap_init_irq(); | 254 | omap_init_irq(); |
255 | omap_gpio_init(); | 255 | omap_gpio_init(); |
256 | apollon_init_smc91x(); | 256 | apollon_init_smc91x(); |
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c index 3492162a65c3..fd00aa03690c 100644 --- a/arch/arm/mach-omap2/board-generic.c +++ b/arch/arm/mach-omap2/board-generic.c | |||
@@ -33,7 +33,7 @@ | |||
33 | 33 | ||
34 | static void __init omap_generic_init_irq(void) | 34 | static void __init omap_generic_init_irq(void) |
35 | { | 35 | { |
36 | omap2_init_common_hw(NULL); | 36 | omap2_init_common_hw(NULL, NULL); |
37 | omap_init_irq(); | 37 | omap_init_irq(); |
38 | } | 38 | } |
39 | 39 | ||
diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c index e7d017cdc438..7b1d61d5bb2c 100644 --- a/arch/arm/mach-omap2/board-h4.c +++ b/arch/arm/mach-omap2/board-h4.c | |||
@@ -270,7 +270,7 @@ static void __init h4_init_flash(void) | |||
270 | 270 | ||
271 | static void __init omap_h4_init_irq(void) | 271 | static void __init omap_h4_init_irq(void) |
272 | { | 272 | { |
273 | omap2_init_common_hw(NULL); | 273 | omap2_init_common_hw(NULL, NULL); |
274 | omap_init_irq(); | 274 | omap_init_irq(); |
275 | omap_gpio_init(); | 275 | omap_gpio_init(); |
276 | h4_init_flash(); | 276 | h4_init_flash(); |
diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c index d8bc0a7dcb8d..ea383f88cb1b 100644 --- a/arch/arm/mach-omap2/board-ldp.c +++ b/arch/arm/mach-omap2/board-ldp.c | |||
@@ -270,7 +270,7 @@ static inline void __init ldp_init_smsc911x(void) | |||
270 | 270 | ||
271 | static void __init omap_ldp_init_irq(void) | 271 | static void __init omap_ldp_init_irq(void) |
272 | { | 272 | { |
273 | omap2_init_common_hw(NULL); | 273 | omap2_init_common_hw(NULL, NULL); |
274 | omap_init_irq(); | 274 | omap_init_irq(); |
275 | omap_gpio_init(); | 275 | omap_gpio_init(); |
276 | ldp_init_smsc911x(); | 276 | ldp_init_smsc911x(); |
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 991ac9c38032..e00ba128cece 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c | |||
@@ -282,7 +282,8 @@ static int __init omap3_beagle_i2c_init(void) | |||
282 | 282 | ||
283 | static void __init omap3_beagle_init_irq(void) | 283 | static void __init omap3_beagle_init_irq(void) |
284 | { | 284 | { |
285 | omap2_init_common_hw(mt46h32m32lf6_sdrc_params); | 285 | omap2_init_common_hw(mt46h32m32lf6_sdrc_params, |
286 | mt46h32m32lf6_sdrc_params); | ||
286 | omap_init_irq(); | 287 | omap_init_irq(); |
287 | #ifdef CONFIG_OMAP_32K_TIMER | 288 | #ifdef CONFIG_OMAP_32K_TIMER |
288 | omap2_gp_clockevent_set_gptimer(12); | 289 | omap2_gp_clockevent_set_gptimer(12); |
@@ -408,6 +409,10 @@ static void __init omap3_beagle_init(void) | |||
408 | 409 | ||
409 | usb_musb_init(); | 410 | usb_musb_init(); |
410 | omap3beagle_flash_init(); | 411 | omap3beagle_flash_init(); |
412 | |||
413 | /* Ensure SDRC pins are mux'd for self-refresh */ | ||
414 | omap_cfg_reg(H16_34XX_SDRC_CKE0); | ||
415 | omap_cfg_reg(H17_34XX_SDRC_CKE1); | ||
411 | } | 416 | } |
412 | 417 | ||
413 | static void __init omap3_beagle_map_io(void) | 418 | static void __init omap3_beagle_map_io(void) |
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c index d3cc145814d0..c4b144647dc5 100644 --- a/arch/arm/mach-omap2/board-omap3evm.c +++ b/arch/arm/mach-omap2/board-omap3evm.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <linux/spi/spi.h> | 25 | #include <linux/spi/spi.h> |
26 | #include <linux/spi/ads7846.h> | 26 | #include <linux/spi/ads7846.h> |
27 | #include <linux/i2c/twl4030.h> | 27 | #include <linux/i2c/twl4030.h> |
28 | #include <linux/usb/otg.h> | ||
28 | 29 | ||
29 | #include <mach/hardware.h> | 30 | #include <mach/hardware.h> |
30 | #include <asm/mach-types.h> | 31 | #include <asm/mach-types.h> |
@@ -279,7 +280,7 @@ struct spi_board_info omap3evm_spi_board_info[] = { | |||
279 | 280 | ||
280 | static void __init omap3_evm_init_irq(void) | 281 | static void __init omap3_evm_init_irq(void) |
281 | { | 282 | { |
282 | omap2_init_common_hw(mt46h32m32lf6_sdrc_params); | 283 | omap2_init_common_hw(mt46h32m32lf6_sdrc_params, NULL); |
283 | omap_init_irq(); | 284 | omap_init_irq(); |
284 | omap_gpio_init(); | 285 | omap_gpio_init(); |
285 | omap3evm_init_smc911x(); | 286 | omap3evm_init_smc911x(); |
@@ -307,6 +308,10 @@ static void __init omap3_evm_init(void) | |||
307 | ARRAY_SIZE(omap3evm_spi_board_info)); | 308 | ARRAY_SIZE(omap3evm_spi_board_info)); |
308 | 309 | ||
309 | omap_serial_init(); | 310 | omap_serial_init(); |
311 | #ifdef CONFIG_NOP_USB_XCEIV | ||
312 | /* OMAP3EVM uses ISP1504 phy and so register nop transceiver */ | ||
313 | usb_nop_xceiv_register(); | ||
314 | #endif | ||
310 | usb_musb_init(); | 315 | usb_musb_init(); |
311 | ads7846_dev_init(); | 316 | ads7846_dev_init(); |
312 | } | 317 | } |
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c index e32aa23ce962..864ee3d021f7 100644 --- a/arch/arm/mach-omap2/board-omap3pandora.c +++ b/arch/arm/mach-omap2/board-omap3pandora.c | |||
@@ -40,6 +40,7 @@ | |||
40 | #include <mach/mcspi.h> | 40 | #include <mach/mcspi.h> |
41 | #include <mach/usb.h> | 41 | #include <mach/usb.h> |
42 | #include <mach/keypad.h> | 42 | #include <mach/keypad.h> |
43 | #include <mach/mux.h> | ||
43 | 44 | ||
44 | #include "sdram-micron-mt46h32m32lf-6.h" | 45 | #include "sdram-micron-mt46h32m32lf-6.h" |
45 | #include "mmc-twl4030.h" | 46 | #include "mmc-twl4030.h" |
@@ -310,7 +311,8 @@ static int __init omap3pandora_i2c_init(void) | |||
310 | 311 | ||
311 | static void __init omap3pandora_init_irq(void) | 312 | static void __init omap3pandora_init_irq(void) |
312 | { | 313 | { |
313 | omap2_init_common_hw(mt46h32m32lf6_sdrc_params); | 314 | omap2_init_common_hw(mt46h32m32lf6_sdrc_params, |
315 | mt46h32m32lf6_sdrc_params); | ||
314 | omap_init_irq(); | 316 | omap_init_irq(); |
315 | omap_gpio_init(); | 317 | omap_gpio_init(); |
316 | } | 318 | } |
@@ -397,6 +399,10 @@ static void __init omap3pandora_init(void) | |||
397 | omap3pandora_ads7846_init(); | 399 | omap3pandora_ads7846_init(); |
398 | pandora_keys_gpio_init(); | 400 | pandora_keys_gpio_init(); |
399 | usb_musb_init(); | 401 | usb_musb_init(); |
402 | |||
403 | /* Ensure SDRC pins are mux'd for self-refresh */ | ||
404 | omap_cfg_reg(H16_34XX_SDRC_CKE0); | ||
405 | omap_cfg_reg(H17_34XX_SDRC_CKE1); | ||
400 | } | 406 | } |
401 | 407 | ||
402 | static void __init omap3pandora_map_io(void) | 408 | 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 e26af837510b..6bce23004aa4 100644 --- a/arch/arm/mach-omap2/board-overo.c +++ b/arch/arm/mach-omap2/board-overo.c | |||
@@ -44,6 +44,7 @@ | |||
44 | #include <mach/gpmc.h> | 44 | #include <mach/gpmc.h> |
45 | #include <mach/hardware.h> | 45 | #include <mach/hardware.h> |
46 | #include <mach/nand.h> | 46 | #include <mach/nand.h> |
47 | #include <mach/mux.h> | ||
47 | #include <mach/usb.h> | 48 | #include <mach/usb.h> |
48 | 49 | ||
49 | #include "sdram-micron-mt46h32m32lf-6.h" | 50 | #include "sdram-micron-mt46h32m32lf-6.h" |
@@ -147,7 +148,7 @@ static struct platform_device overo_smsc911x_device = { | |||
147 | .name = "smsc911x", | 148 | .name = "smsc911x", |
148 | .id = -1, | 149 | .id = -1, |
149 | .num_resources = ARRAY_SIZE(overo_smsc911x_resources), | 150 | .num_resources = ARRAY_SIZE(overo_smsc911x_resources), |
150 | .resource = &overo_smsc911x_resources, | 151 | .resource = overo_smsc911x_resources, |
151 | .dev = { | 152 | .dev = { |
152 | .platform_data = &overo_smsc911x_config, | 153 | .platform_data = &overo_smsc911x_config, |
153 | }, | 154 | }, |
@@ -361,7 +362,8 @@ static int __init overo_i2c_init(void) | |||
361 | 362 | ||
362 | static void __init overo_init_irq(void) | 363 | static void __init overo_init_irq(void) |
363 | { | 364 | { |
364 | omap2_init_common_hw(mt46h32m32lf6_sdrc_params); | 365 | omap2_init_common_hw(mt46h32m32lf6_sdrc_params, |
366 | mt46h32m32lf6_sdrc_params); | ||
365 | omap_init_irq(); | 367 | omap_init_irq(); |
366 | omap_gpio_init(); | 368 | omap_gpio_init(); |
367 | } | 369 | } |
@@ -396,6 +398,10 @@ static void __init overo_init(void) | |||
396 | overo_ads7846_init(); | 398 | overo_ads7846_init(); |
397 | overo_init_smsc911x(); | 399 | overo_init_smsc911x(); |
398 | 400 | ||
401 | /* Ensure SDRC pins are mux'd for self-refresh */ | ||
402 | omap_cfg_reg(H16_34XX_SDRC_CKE0); | ||
403 | omap_cfg_reg(H17_34XX_SDRC_CKE1); | ||
404 | |||
399 | if ((gpio_request(OVERO_GPIO_W2W_NRESET, | 405 | if ((gpio_request(OVERO_GPIO_W2W_NRESET, |
400 | "OVERO_GPIO_W2W_NRESET") == 0) && | 406 | "OVERO_GPIO_W2W_NRESET") == 0) && |
401 | (gpio_direction_output(OVERO_GPIO_W2W_NRESET, 1) == 0)) { | 407 | (gpio_direction_output(OVERO_GPIO_W2W_NRESET, 1) == 0)) { |
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index 9a0bf6744a05..56d931a425f7 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c | |||
@@ -278,6 +278,10 @@ static struct twl4030_gpio_platform_data rx51_gpio_data = { | |||
278 | .setup = rx51_twlgpio_setup, | 278 | .setup = rx51_twlgpio_setup, |
279 | }; | 279 | }; |
280 | 280 | ||
281 | static struct twl4030_usb_data rx51_usb_data = { | ||
282 | .usb_mode = T2_USB_MODE_ULPI, | ||
283 | }; | ||
284 | |||
281 | static struct twl4030_platform_data rx51_twldata = { | 285 | static struct twl4030_platform_data rx51_twldata = { |
282 | .irq_base = TWL4030_IRQ_BASE, | 286 | .irq_base = TWL4030_IRQ_BASE, |
283 | .irq_end = TWL4030_IRQ_END, | 287 | .irq_end = TWL4030_IRQ_END, |
@@ -286,6 +290,7 @@ static struct twl4030_platform_data rx51_twldata = { | |||
286 | .gpio = &rx51_gpio_data, | 290 | .gpio = &rx51_gpio_data, |
287 | .keypad = &rx51_kp_data, | 291 | .keypad = &rx51_kp_data, |
288 | .madc = &rx51_madc_data, | 292 | .madc = &rx51_madc_data, |
293 | .usb = &rx51_usb_data, | ||
289 | 294 | ||
290 | .vaux1 = &rx51_vaux1, | 295 | .vaux1 = &rx51_vaux1, |
291 | .vaux2 = &rx51_vaux2, | 296 | .vaux2 = &rx51_vaux2, |
diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c index 374ff63c3eb2..1c9e07fe8266 100644 --- a/arch/arm/mach-omap2/board-rx51.c +++ b/arch/arm/mach-omap2/board-rx51.c | |||
@@ -61,7 +61,7 @@ static struct omap_board_config_kernel rx51_config[] = { | |||
61 | 61 | ||
62 | static void __init rx51_init_irq(void) | 62 | static void __init rx51_init_irq(void) |
63 | { | 63 | { |
64 | omap2_init_common_hw(NULL); | 64 | omap2_init_common_hw(NULL, NULL); |
65 | omap_init_irq(); | 65 | omap_init_irq(); |
66 | omap_gpio_init(); | 66 | omap_gpio_init(); |
67 | } | 67 | } |
@@ -75,6 +75,10 @@ static void __init rx51_init(void) | |||
75 | omap_serial_init(); | 75 | omap_serial_init(); |
76 | usb_musb_init(); | 76 | usb_musb_init(); |
77 | rx51_peripherals_init(); | 77 | rx51_peripherals_init(); |
78 | |||
79 | /* Ensure SDRC pins are mux'd for self-refresh */ | ||
80 | omap_cfg_reg(H16_34XX_SDRC_CKE0); | ||
81 | omap_cfg_reg(H17_34XX_SDRC_CKE1); | ||
78 | } | 82 | } |
79 | 83 | ||
80 | static void __init rx51_map_io(void) | 84 | static void __init rx51_map_io(void) |
diff --git a/arch/arm/mach-omap2/board-zoom2.c b/arch/arm/mach-omap2/board-zoom2.c index bcc0f7632dea..427b7b8b1237 100644 --- a/arch/arm/mach-omap2/board-zoom2.c +++ b/arch/arm/mach-omap2/board-zoom2.c | |||
@@ -25,7 +25,7 @@ | |||
25 | 25 | ||
26 | static void __init omap_zoom2_init_irq(void) | 26 | static void __init omap_zoom2_init_irq(void) |
27 | { | 27 | { |
28 | omap2_init_common_hw(NULL); | 28 | omap2_init_common_hw(NULL, NULL); |
29 | omap_init_irq(); | 29 | omap_init_irq(); |
30 | omap_gpio_init(); | 30 | omap_gpio_init(); |
31 | } | 31 | } |
diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c index b0665f161c03..456e2ad5f621 100644 --- a/arch/arm/mach-omap2/clock.c +++ b/arch/arm/mach-omap2/clock.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <mach/clock.h> | 27 | #include <mach/clock.h> |
28 | #include <mach/clockdomain.h> | 28 | #include <mach/clockdomain.h> |
29 | #include <mach/cpu.h> | 29 | #include <mach/cpu.h> |
30 | #include <mach/prcm.h> | ||
30 | #include <asm/div64.h> | 31 | #include <asm/div64.h> |
31 | 32 | ||
32 | #include <mach/sdrc.h> | 33 | #include <mach/sdrc.h> |
@@ -38,8 +39,6 @@ | |||
38 | #include "cm-regbits-24xx.h" | 39 | #include "cm-regbits-24xx.h" |
39 | #include "cm-regbits-34xx.h" | 40 | #include "cm-regbits-34xx.h" |
40 | 41 | ||
41 | #define MAX_CLOCK_ENABLE_WAIT 100000 | ||
42 | |||
43 | /* DPLL rate rounding: minimum DPLL multiplier, divider values */ | 42 | /* DPLL rate rounding: minimum DPLL multiplier, divider values */ |
44 | #define DPLL_MIN_MULTIPLIER 1 | 43 | #define DPLL_MIN_MULTIPLIER 1 |
45 | #define DPLL_MIN_DIVIDER 1 | 44 | #define DPLL_MIN_DIVIDER 1 |
@@ -274,83 +273,97 @@ unsigned long omap2_fixed_divisor_recalc(struct clk *clk) | |||
274 | } | 273 | } |
275 | 274 | ||
276 | /** | 275 | /** |
277 | * omap2_wait_clock_ready - wait for clock to enable | 276 | * omap2_clk_dflt_find_companion - find companion clock to @clk |
278 | * @reg: physical address of clock IDLEST register | 277 | * @clk: struct clk * to find the companion clock of |
279 | * @mask: value to mask against to determine if the clock is active | 278 | * @other_reg: void __iomem ** to return the companion clock CM_*CLKEN va in |
280 | * @name: name of the clock (for printk) | 279 | * @other_bit: u8 ** to return the companion clock bit shift in |
280 | * | ||
281 | * Note: We don't need special code here for INVERT_ENABLE for the | ||
282 | * time being since INVERT_ENABLE only applies to clocks enabled by | ||
283 | * CM_CLKEN_PLL | ||
281 | * | 284 | * |
282 | * Returns 1 if the clock enabled in time, or 0 if it failed to enable | 285 | * Convert CM_ICLKEN* <-> CM_FCLKEN*. This conversion assumes it's |
283 | * in roughly MAX_CLOCK_ENABLE_WAIT microseconds. | 286 | * just a matter of XORing the bits. |
287 | * | ||
288 | * Some clocks don't have companion clocks. For example, modules with | ||
289 | * only an interface clock (such as MAILBOXES) don't have a companion | ||
290 | * clock. Right now, this code relies on the hardware exporting a bit | ||
291 | * in the correct companion register that indicates that the | ||
292 | * nonexistent 'companion clock' is active. Future patches will | ||
293 | * associate this type of code with per-module data structures to | ||
294 | * avoid this issue, and remove the casts. No return value. | ||
284 | */ | 295 | */ |
285 | int omap2_wait_clock_ready(void __iomem *reg, u32 mask, const char *name) | 296 | void omap2_clk_dflt_find_companion(struct clk *clk, void __iomem **other_reg, |
297 | u8 *other_bit) | ||
286 | { | 298 | { |
287 | int i = 0; | 299 | u32 r; |
288 | int ena = 0; | ||
289 | 300 | ||
290 | /* | 301 | /* |
291 | * 24xx uses 0 to indicate not ready, and 1 to indicate ready. | 302 | * Convert CM_ICLKEN* <-> CM_FCLKEN*. This conversion assumes |
292 | * 34xx reverses this, just to keep us on our toes | 303 | * it's just a matter of XORing the bits. |
293 | */ | 304 | */ |
294 | if (cpu_mask & (RATE_IN_242X | RATE_IN_243X)) | 305 | r = ((__force u32)clk->enable_reg ^ (CM_FCLKEN ^ CM_ICLKEN)); |
295 | ena = mask; | ||
296 | else if (cpu_mask & RATE_IN_343X) | ||
297 | ena = 0; | ||
298 | |||
299 | /* Wait for lock */ | ||
300 | while (((__raw_readl(reg) & mask) != ena) && | ||
301 | (i++ < MAX_CLOCK_ENABLE_WAIT)) { | ||
302 | udelay(1); | ||
303 | } | ||
304 | |||
305 | if (i <= MAX_CLOCK_ENABLE_WAIT) | ||
306 | pr_debug("Clock %s stable after %d loops\n", name, i); | ||
307 | else | ||
308 | printk(KERN_ERR "Clock %s didn't enable in %d tries\n", | ||
309 | name, MAX_CLOCK_ENABLE_WAIT); | ||
310 | |||
311 | |||
312 | return (i < MAX_CLOCK_ENABLE_WAIT) ? 1 : 0; | ||
313 | }; | ||
314 | 306 | ||
307 | *other_reg = (__force void __iomem *)r; | ||
308 | *other_bit = clk->enable_bit; | ||
309 | } | ||
315 | 310 | ||
316 | /* | 311 | /** |
317 | * Note: We don't need special code here for INVERT_ENABLE | 312 | * omap2_clk_dflt_find_idlest - find CM_IDLEST reg va, bit shift for @clk |
318 | * for the time being since INVERT_ENABLE only applies to clocks enabled by | 313 | * @clk: struct clk * to find IDLEST info for |
319 | * CM_CLKEN_PLL | 314 | * @idlest_reg: void __iomem ** to return the CM_IDLEST va in |
315 | * @idlest_bit: u8 ** to return the CM_IDLEST bit shift in | ||
316 | * | ||
317 | * Return the CM_IDLEST register address and bit shift corresponding | ||
318 | * to the module that "owns" this clock. This default code assumes | ||
319 | * that the CM_IDLEST bit shift is the CM_*CLKEN bit shift, and that | ||
320 | * the IDLEST register address ID corresponds to the CM_*CLKEN | ||
321 | * register address ID (e.g., that CM_FCLKEN2 corresponds to | ||
322 | * CM_IDLEST2). This is not true for all modules. No return value. | ||
320 | */ | 323 | */ |
321 | static void omap2_clk_wait_ready(struct clk *clk) | 324 | void omap2_clk_dflt_find_idlest(struct clk *clk, void __iomem **idlest_reg, |
325 | u8 *idlest_bit) | ||
322 | { | 326 | { |
323 | void __iomem *reg, *other_reg, *st_reg; | 327 | u32 r; |
324 | u32 bit; | ||
325 | 328 | ||
326 | /* | 329 | r = (((__force u32)clk->enable_reg & ~0xf0) | 0x20); |
327 | * REVISIT: This code is pretty ugly. It would be nice to generalize | 330 | *idlest_reg = (__force void __iomem *)r; |
328 | * it and pull it into struct clk itself somehow. | 331 | *idlest_bit = clk->enable_bit; |
329 | */ | 332 | } |
330 | reg = clk->enable_reg; | ||
331 | 333 | ||
332 | /* | 334 | /** |
333 | * Convert CM_ICLKEN* <-> CM_FCLKEN*. This conversion assumes | 335 | * omap2_module_wait_ready - wait for an OMAP module to leave IDLE |
334 | * it's just a matter of XORing the bits. | 336 | * @clk: struct clk * belonging to the module |
335 | */ | 337 | * |
336 | other_reg = (void __iomem *)((u32)reg ^ (CM_FCLKEN ^ CM_ICLKEN)); | 338 | * If the necessary clocks for the OMAP hardware IP block that |
339 | * corresponds to clock @clk are enabled, then wait for the module to | ||
340 | * indicate readiness (i.e., to leave IDLE). This code does not | ||
341 | * belong in the clock code and will be moved in the medium term to | ||
342 | * module-dependent code. No return value. | ||
343 | */ | ||
344 | static void omap2_module_wait_ready(struct clk *clk) | ||
345 | { | ||
346 | void __iomem *companion_reg, *idlest_reg; | ||
347 | u8 other_bit, idlest_bit; | ||
348 | |||
349 | /* Not all modules have multiple clocks that their IDLEST depends on */ | ||
350 | if (clk->ops->find_companion) { | ||
351 | clk->ops->find_companion(clk, &companion_reg, &other_bit); | ||
352 | if (!(__raw_readl(companion_reg) & (1 << other_bit))) | ||
353 | return; | ||
354 | } | ||
337 | 355 | ||
338 | /* Check if both functional and interface clocks | 356 | clk->ops->find_idlest(clk, &idlest_reg, &idlest_bit); |
339 | * are running. */ | ||
340 | bit = 1 << clk->enable_bit; | ||
341 | if (!(__raw_readl(other_reg) & bit)) | ||
342 | return; | ||
343 | st_reg = (void __iomem *)(((u32)other_reg & ~0xf0) | 0x20); /* CM_IDLEST* */ | ||
344 | 357 | ||
345 | omap2_wait_clock_ready(st_reg, bit, clk->name); | 358 | omap2_cm_wait_idlest(idlest_reg, (1 << idlest_bit), clk->name); |
346 | } | 359 | } |
347 | 360 | ||
348 | static int omap2_dflt_clk_enable(struct clk *clk) | 361 | int omap2_dflt_clk_enable(struct clk *clk) |
349 | { | 362 | { |
350 | u32 v; | 363 | u32 v; |
351 | 364 | ||
352 | if (unlikely(clk->enable_reg == NULL)) { | 365 | if (unlikely(clk->enable_reg == NULL)) { |
353 | printk(KERN_ERR "clock.c: Enable for %s without enable code\n", | 366 | pr_err("clock.c: Enable for %s without enable code\n", |
354 | clk->name); | 367 | clk->name); |
355 | return 0; /* REVISIT: -EINVAL */ | 368 | return 0; /* REVISIT: -EINVAL */ |
356 | } | 369 | } |
@@ -363,26 +376,13 @@ static int omap2_dflt_clk_enable(struct clk *clk) | |||
363 | __raw_writel(v, clk->enable_reg); | 376 | __raw_writel(v, clk->enable_reg); |
364 | v = __raw_readl(clk->enable_reg); /* OCP barrier */ | 377 | v = __raw_readl(clk->enable_reg); /* OCP barrier */ |
365 | 378 | ||
366 | return 0; | 379 | if (clk->ops->find_idlest) |
367 | } | 380 | omap2_module_wait_ready(clk); |
368 | 381 | ||
369 | static int omap2_dflt_clk_enable_wait(struct clk *clk) | 382 | return 0; |
370 | { | ||
371 | int ret; | ||
372 | |||
373 | if (!clk->enable_reg) { | ||
374 | printk(KERN_ERR "clock.c: Enable for %s without enable code\n", | ||
375 | clk->name); | ||
376 | return 0; /* REVISIT: -EINVAL */ | ||
377 | } | ||
378 | |||
379 | ret = omap2_dflt_clk_enable(clk); | ||
380 | if (ret == 0) | ||
381 | omap2_clk_wait_ready(clk); | ||
382 | return ret; | ||
383 | } | 383 | } |
384 | 384 | ||
385 | static void omap2_dflt_clk_disable(struct clk *clk) | 385 | void omap2_dflt_clk_disable(struct clk *clk) |
386 | { | 386 | { |
387 | u32 v; | 387 | u32 v; |
388 | 388 | ||
@@ -406,8 +406,10 @@ static void omap2_dflt_clk_disable(struct clk *clk) | |||
406 | } | 406 | } |
407 | 407 | ||
408 | const struct clkops clkops_omap2_dflt_wait = { | 408 | const struct clkops clkops_omap2_dflt_wait = { |
409 | .enable = omap2_dflt_clk_enable_wait, | 409 | .enable = omap2_dflt_clk_enable, |
410 | .disable = omap2_dflt_clk_disable, | 410 | .disable = omap2_dflt_clk_disable, |
411 | .find_companion = omap2_clk_dflt_find_companion, | ||
412 | .find_idlest = omap2_clk_dflt_find_idlest, | ||
411 | }; | 413 | }; |
412 | 414 | ||
413 | const struct clkops clkops_omap2_dflt = { | 415 | const struct clkops clkops_omap2_dflt = { |
diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h index 2679ddfa6424..9ae7540f8af2 100644 --- a/arch/arm/mach-omap2/clock.h +++ b/arch/arm/mach-omap2/clock.h | |||
@@ -65,6 +65,12 @@ int omap2_clksel_set_rate(struct clk *clk, unsigned long rate); | |||
65 | u32 omap2_get_dpll_rate(struct clk *clk); | 65 | u32 omap2_get_dpll_rate(struct clk *clk); |
66 | int omap2_wait_clock_ready(void __iomem *reg, u32 cval, const char *name); | 66 | int omap2_wait_clock_ready(void __iomem *reg, u32 cval, const char *name); |
67 | void omap2_clk_prepare_for_reboot(void); | 67 | void omap2_clk_prepare_for_reboot(void); |
68 | int omap2_dflt_clk_enable(struct clk *clk); | ||
69 | void omap2_dflt_clk_disable(struct clk *clk); | ||
70 | void omap2_clk_dflt_find_companion(struct clk *clk, void __iomem **other_reg, | ||
71 | u8 *other_bit); | ||
72 | void omap2_clk_dflt_find_idlest(struct clk *clk, void __iomem **idlest_reg, | ||
73 | u8 *idlest_bit); | ||
68 | 74 | ||
69 | extern const struct clkops clkops_omap2_dflt_wait; | 75 | extern const struct clkops clkops_omap2_dflt_wait; |
70 | extern const struct clkops clkops_omap2_dflt; | 76 | extern const struct clkops clkops_omap2_dflt; |
diff --git a/arch/arm/mach-omap2/clock24xx.c b/arch/arm/mach-omap2/clock24xx.c index 44de0271fc2f..bc5d3ac66611 100644 --- a/arch/arm/mach-omap2/clock24xx.c +++ b/arch/arm/mach-omap2/clock24xx.c | |||
@@ -30,6 +30,7 @@ | |||
30 | 30 | ||
31 | #include <mach/clock.h> | 31 | #include <mach/clock.h> |
32 | #include <mach/sram.h> | 32 | #include <mach/sram.h> |
33 | #include <mach/prcm.h> | ||
33 | #include <asm/div64.h> | 34 | #include <asm/div64.h> |
34 | #include <asm/clkdev.h> | 35 | #include <asm/clkdev.h> |
35 | 36 | ||
@@ -43,6 +44,18 @@ | |||
43 | static const struct clkops clkops_oscck; | 44 | static const struct clkops clkops_oscck; |
44 | static const struct clkops clkops_fixed; | 45 | static const struct clkops clkops_fixed; |
45 | 46 | ||
47 | static void omap2430_clk_i2chs_find_idlest(struct clk *clk, | ||
48 | void __iomem **idlest_reg, | ||
49 | u8 *idlest_bit); | ||
50 | |||
51 | /* 2430 I2CHS has non-standard IDLEST register */ | ||
52 | static const struct clkops clkops_omap2430_i2chs_wait = { | ||
53 | .enable = omap2_dflt_clk_enable, | ||
54 | .disable = omap2_dflt_clk_disable, | ||
55 | .find_idlest = omap2430_clk_i2chs_find_idlest, | ||
56 | .find_companion = omap2_clk_dflt_find_companion, | ||
57 | }; | ||
58 | |||
46 | #include "clock24xx.h" | 59 | #include "clock24xx.h" |
47 | 60 | ||
48 | struct omap_clk { | 61 | struct omap_clk { |
@@ -240,6 +253,26 @@ static void __iomem *prcm_clksrc_ctrl; | |||
240 | *-------------------------------------------------------------------------*/ | 253 | *-------------------------------------------------------------------------*/ |
241 | 254 | ||
242 | /** | 255 | /** |
256 | * omap2430_clk_i2chs_find_idlest - return CM_IDLEST info for 2430 I2CHS | ||
257 | * @clk: struct clk * being enabled | ||
258 | * @idlest_reg: void __iomem ** to store CM_IDLEST reg address into | ||
259 | * @idlest_bit: pointer to a u8 to store the CM_IDLEST bit shift into | ||
260 | * | ||
261 | * OMAP2430 I2CHS CM_IDLEST bits are in CM_IDLEST1_CORE, but the | ||
262 | * CM_*CLKEN bits are in CM_{I,F}CLKEN2_CORE. This custom function | ||
263 | * passes back the correct CM_IDLEST register address for I2CHS | ||
264 | * modules. No return value. | ||
265 | */ | ||
266 | static void omap2430_clk_i2chs_find_idlest(struct clk *clk, | ||
267 | void __iomem **idlest_reg, | ||
268 | u8 *idlest_bit) | ||
269 | { | ||
270 | *idlest_reg = OMAP_CM_REGADDR(CORE_MOD, CM_IDLEST); | ||
271 | *idlest_bit = clk->enable_bit; | ||
272 | } | ||
273 | |||
274 | |||
275 | /** | ||
243 | * omap2xxx_clk_get_core_rate - return the CORE_CLK rate | 276 | * omap2xxx_clk_get_core_rate - return the CORE_CLK rate |
244 | * @clk: pointer to the combined dpll_ck + core_ck (currently "dpll_ck") | 277 | * @clk: pointer to the combined dpll_ck + core_ck (currently "dpll_ck") |
245 | * | 278 | * |
@@ -325,8 +358,8 @@ static int omap2_clk_fixed_enable(struct clk *clk) | |||
325 | else if (clk == &apll54_ck) | 358 | else if (clk == &apll54_ck) |
326 | cval = OMAP24XX_ST_54M_APLL; | 359 | cval = OMAP24XX_ST_54M_APLL; |
327 | 360 | ||
328 | omap2_wait_clock_ready(OMAP_CM_REGADDR(PLL_MOD, CM_IDLEST), cval, | 361 | omap2_cm_wait_idlest(OMAP_CM_REGADDR(PLL_MOD, CM_IDLEST), cval, |
329 | clk->name); | 362 | clk->name); |
330 | 363 | ||
331 | /* | 364 | /* |
332 | * REVISIT: Should we return an error code if omap2_wait_clock_ready() | 365 | * REVISIT: Should we return an error code if omap2_wait_clock_ready() |
diff --git a/arch/arm/mach-omap2/clock24xx.h b/arch/arm/mach-omap2/clock24xx.h index 458f00cdcbea..d19cf7a7d8db 100644 --- a/arch/arm/mach-omap2/clock24xx.h +++ b/arch/arm/mach-omap2/clock24xx.h | |||
@@ -2337,7 +2337,7 @@ static struct clk i2c2_fck = { | |||
2337 | 2337 | ||
2338 | static struct clk i2chs2_fck = { | 2338 | static struct clk i2chs2_fck = { |
2339 | .name = "i2c_fck", | 2339 | .name = "i2c_fck", |
2340 | .ops = &clkops_omap2_dflt_wait, | 2340 | .ops = &clkops_omap2430_i2chs_wait, |
2341 | .id = 2, | 2341 | .id = 2, |
2342 | .parent = &func_96m_ck, | 2342 | .parent = &func_96m_ck, |
2343 | .clkdm_name = "core_l4_clkdm", | 2343 | .clkdm_name = "core_l4_clkdm", |
@@ -2370,7 +2370,7 @@ static struct clk i2c1_fck = { | |||
2370 | 2370 | ||
2371 | static struct clk i2chs1_fck = { | 2371 | static struct clk i2chs1_fck = { |
2372 | .name = "i2c_fck", | 2372 | .name = "i2c_fck", |
2373 | .ops = &clkops_omap2_dflt_wait, | 2373 | .ops = &clkops_omap2430_i2chs_wait, |
2374 | .id = 1, | 2374 | .id = 1, |
2375 | .parent = &func_96m_ck, | 2375 | .parent = &func_96m_ck, |
2376 | .clkdm_name = "core_l4_clkdm", | 2376 | .clkdm_name = "core_l4_clkdm", |
diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c index 045da923e75b..cd7819cc0c9e 100644 --- a/arch/arm/mach-omap2/clock34xx.c +++ b/arch/arm/mach-omap2/clock34xx.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * OMAP3-specific clock framework functions | 2 | * OMAP3-specific clock framework functions |
3 | * | 3 | * |
4 | * Copyright (C) 2007-2008 Texas Instruments, Inc. | 4 | * Copyright (C) 2007-2008 Texas Instruments, Inc. |
5 | * Copyright (C) 2007-2008 Nokia Corporation | 5 | * Copyright (C) 2007-2009 Nokia Corporation |
6 | * | 6 | * |
7 | * Written by Paul Walmsley | 7 | * Written by Paul Walmsley |
8 | * Testing and integration fixes by Jouni Högander | 8 | * Testing and integration fixes by Jouni Högander |
@@ -41,6 +41,37 @@ | |||
41 | 41 | ||
42 | static const struct clkops clkops_noncore_dpll_ops; | 42 | static const struct clkops clkops_noncore_dpll_ops; |
43 | 43 | ||
44 | static void omap3430es2_clk_ssi_find_idlest(struct clk *clk, | ||
45 | void __iomem **idlest_reg, | ||
46 | u8 *idlest_bit); | ||
47 | static void omap3430es2_clk_hsotgusb_find_idlest(struct clk *clk, | ||
48 | void __iomem **idlest_reg, | ||
49 | u8 *idlest_bit); | ||
50 | static void omap3430es2_clk_dss_usbhost_find_idlest(struct clk *clk, | ||
51 | void __iomem **idlest_reg, | ||
52 | u8 *idlest_bit); | ||
53 | |||
54 | static const struct clkops clkops_omap3430es2_ssi_wait = { | ||
55 | .enable = omap2_dflt_clk_enable, | ||
56 | .disable = omap2_dflt_clk_disable, | ||
57 | .find_idlest = omap3430es2_clk_ssi_find_idlest, | ||
58 | .find_companion = omap2_clk_dflt_find_companion, | ||
59 | }; | ||
60 | |||
61 | static const struct clkops clkops_omap3430es2_hsotgusb_wait = { | ||
62 | .enable = omap2_dflt_clk_enable, | ||
63 | .disable = omap2_dflt_clk_disable, | ||
64 | .find_idlest = omap3430es2_clk_hsotgusb_find_idlest, | ||
65 | .find_companion = omap2_clk_dflt_find_companion, | ||
66 | }; | ||
67 | |||
68 | static const struct clkops clkops_omap3430es2_dss_usbhost_wait = { | ||
69 | .enable = omap2_dflt_clk_enable, | ||
70 | .disable = omap2_dflt_clk_disable, | ||
71 | .find_idlest = omap3430es2_clk_dss_usbhost_find_idlest, | ||
72 | .find_companion = omap2_clk_dflt_find_companion, | ||
73 | }; | ||
74 | |||
44 | #include "clock34xx.h" | 75 | #include "clock34xx.h" |
45 | 76 | ||
46 | struct omap_clk { | 77 | struct omap_clk { |
@@ -157,10 +188,13 @@ static struct omap_clk omap34xx_clks[] = { | |||
157 | CLK(NULL, "fshostusb_fck", &fshostusb_fck, CK_3430ES1), | 188 | CLK(NULL, "fshostusb_fck", &fshostusb_fck, CK_3430ES1), |
158 | CLK(NULL, "core_12m_fck", &core_12m_fck, CK_343X), | 189 | CLK(NULL, "core_12m_fck", &core_12m_fck, CK_343X), |
159 | CLK("omap_hdq.0", "fck", &hdq_fck, CK_343X), | 190 | CLK("omap_hdq.0", "fck", &hdq_fck, CK_343X), |
160 | CLK(NULL, "ssi_ssr_fck", &ssi_ssr_fck, CK_343X), | 191 | CLK(NULL, "ssi_ssr_fck", &ssi_ssr_fck_3430es1, CK_3430ES1), |
161 | CLK(NULL, "ssi_sst_fck", &ssi_sst_fck, CK_343X), | 192 | CLK(NULL, "ssi_ssr_fck", &ssi_ssr_fck_3430es2, CK_3430ES2), |
193 | CLK(NULL, "ssi_sst_fck", &ssi_sst_fck_3430es1, CK_3430ES1), | ||
194 | CLK(NULL, "ssi_sst_fck", &ssi_sst_fck_3430es2, CK_3430ES2), | ||
162 | CLK(NULL, "core_l3_ick", &core_l3_ick, CK_343X), | 195 | CLK(NULL, "core_l3_ick", &core_l3_ick, CK_343X), |
163 | CLK("musb_hdrc", "ick", &hsotgusb_ick, CK_343X), | 196 | CLK("musb_hdrc", "ick", &hsotgusb_ick_3430es1, CK_3430ES1), |
197 | CLK("musb_hdrc", "ick", &hsotgusb_ick_3430es2, CK_3430ES2), | ||
164 | CLK(NULL, "sdrc_ick", &sdrc_ick, CK_343X), | 198 | CLK(NULL, "sdrc_ick", &sdrc_ick, CK_343X), |
165 | CLK(NULL, "gpmc_fck", &gpmc_fck, CK_343X), | 199 | CLK(NULL, "gpmc_fck", &gpmc_fck, CK_343X), |
166 | CLK(NULL, "security_l3_ick", &security_l3_ick, CK_343X), | 200 | CLK(NULL, "security_l3_ick", &security_l3_ick, CK_343X), |
@@ -193,18 +227,21 @@ static struct omap_clk omap34xx_clks[] = { | |||
193 | CLK(NULL, "mailboxes_ick", &mailboxes_ick, CK_343X), | 227 | CLK(NULL, "mailboxes_ick", &mailboxes_ick, CK_343X), |
194 | CLK(NULL, "omapctrl_ick", &omapctrl_ick, CK_343X), | 228 | CLK(NULL, "omapctrl_ick", &omapctrl_ick, CK_343X), |
195 | CLK(NULL, "ssi_l4_ick", &ssi_l4_ick, CK_343X), | 229 | CLK(NULL, "ssi_l4_ick", &ssi_l4_ick, CK_343X), |
196 | CLK(NULL, "ssi_ick", &ssi_ick, CK_343X), | 230 | CLK(NULL, "ssi_ick", &ssi_ick_3430es1, CK_3430ES1), |
231 | CLK(NULL, "ssi_ick", &ssi_ick_3430es2, CK_3430ES2), | ||
197 | CLK(NULL, "usb_l4_ick", &usb_l4_ick, CK_3430ES1), | 232 | CLK(NULL, "usb_l4_ick", &usb_l4_ick, CK_3430ES1), |
198 | CLK(NULL, "security_l4_ick2", &security_l4_ick2, CK_343X), | 233 | CLK(NULL, "security_l4_ick2", &security_l4_ick2, CK_343X), |
199 | CLK(NULL, "aes1_ick", &aes1_ick, CK_343X), | 234 | CLK(NULL, "aes1_ick", &aes1_ick, CK_343X), |
200 | CLK("omap_rng", "ick", &rng_ick, CK_343X), | 235 | CLK("omap_rng", "ick", &rng_ick, CK_343X), |
201 | CLK(NULL, "sha11_ick", &sha11_ick, CK_343X), | 236 | CLK(NULL, "sha11_ick", &sha11_ick, CK_343X), |
202 | CLK(NULL, "des1_ick", &des1_ick, CK_343X), | 237 | CLK(NULL, "des1_ick", &des1_ick, CK_343X), |
203 | CLK("omapfb", "dss1_fck", &dss1_alwon_fck, CK_343X), | 238 | CLK("omapfb", "dss1_fck", &dss1_alwon_fck_3430es1, CK_3430ES1), |
239 | CLK("omapfb", "dss1_fck", &dss1_alwon_fck_3430es2, CK_3430ES2), | ||
204 | CLK("omapfb", "tv_fck", &dss_tv_fck, CK_343X), | 240 | CLK("omapfb", "tv_fck", &dss_tv_fck, CK_343X), |
205 | CLK("omapfb", "video_fck", &dss_96m_fck, CK_343X), | 241 | CLK("omapfb", "video_fck", &dss_96m_fck, CK_343X), |
206 | CLK("omapfb", "dss2_fck", &dss2_alwon_fck, CK_343X), | 242 | CLK("omapfb", "dss2_fck", &dss2_alwon_fck, CK_343X), |
207 | CLK("omapfb", "ick", &dss_ick, CK_343X), | 243 | CLK("omapfb", "ick", &dss_ick_3430es1, CK_3430ES1), |
244 | CLK("omapfb", "ick", &dss_ick_3430es2, CK_3430ES2), | ||
208 | CLK(NULL, "cam_mclk", &cam_mclk, CK_343X), | 245 | CLK(NULL, "cam_mclk", &cam_mclk, CK_343X), |
209 | CLK(NULL, "cam_ick", &cam_ick, CK_343X), | 246 | CLK(NULL, "cam_ick", &cam_ick, CK_343X), |
210 | CLK(NULL, "csi2_96m_fck", &csi2_96m_fck, CK_343X), | 247 | CLK(NULL, "csi2_96m_fck", &csi2_96m_fck, CK_343X), |
@@ -301,6 +338,73 @@ static struct omap_clk omap34xx_clks[] = { | |||
301 | #define SDRC_MPURATE_LOOPS 96 | 338 | #define SDRC_MPURATE_LOOPS 96 |
302 | 339 | ||
303 | /** | 340 | /** |
341 | * omap3430es2_clk_ssi_find_idlest - return CM_IDLEST info for SSI | ||
342 | * @clk: struct clk * being enabled | ||
343 | * @idlest_reg: void __iomem ** to store CM_IDLEST reg address into | ||
344 | * @idlest_bit: pointer to a u8 to store the CM_IDLEST bit shift into | ||
345 | * | ||
346 | * The OMAP3430ES2 SSI target CM_IDLEST bit is at a different shift | ||
347 | * from the CM_{I,F}CLKEN bit. Pass back the correct info via | ||
348 | * @idlest_reg and @idlest_bit. No return value. | ||
349 | */ | ||
350 | static void omap3430es2_clk_ssi_find_idlest(struct clk *clk, | ||
351 | void __iomem **idlest_reg, | ||
352 | u8 *idlest_bit) | ||
353 | { | ||
354 | u32 r; | ||
355 | |||
356 | r = (((__force u32)clk->enable_reg & ~0xf0) | 0x20); | ||
357 | *idlest_reg = (__force void __iomem *)r; | ||
358 | *idlest_bit = OMAP3430ES2_ST_SSI_IDLE_SHIFT; | ||
359 | } | ||
360 | |||
361 | /** | ||
362 | * omap3430es2_clk_dss_usbhost_find_idlest - CM_IDLEST info for DSS, USBHOST | ||
363 | * @clk: struct clk * being enabled | ||
364 | * @idlest_reg: void __iomem ** to store CM_IDLEST reg address into | ||
365 | * @idlest_bit: pointer to a u8 to store the CM_IDLEST bit shift into | ||
366 | * | ||
367 | * Some OMAP modules on OMAP3 ES2+ chips have both initiator and | ||
368 | * target IDLEST bits. For our purposes, we are concerned with the | ||
369 | * target IDLEST bits, which exist at a different bit position than | ||
370 | * the *CLKEN bit position for these modules (DSS and USBHOST) (The | ||
371 | * default find_idlest code assumes that they are at the same | ||
372 | * position.) No return value. | ||
373 | */ | ||
374 | static void omap3430es2_clk_dss_usbhost_find_idlest(struct clk *clk, | ||
375 | void __iomem **idlest_reg, | ||
376 | u8 *idlest_bit) | ||
377 | { | ||
378 | u32 r; | ||
379 | |||
380 | r = (((__force u32)clk->enable_reg & ~0xf0) | 0x20); | ||
381 | *idlest_reg = (__force void __iomem *)r; | ||
382 | /* USBHOST_IDLE has same shift */ | ||
383 | *idlest_bit = OMAP3430ES2_ST_DSS_IDLE_SHIFT; | ||
384 | } | ||
385 | |||
386 | /** | ||
387 | * omap3430es2_clk_hsotgusb_find_idlest - return CM_IDLEST info for HSOTGUSB | ||
388 | * @clk: struct clk * being enabled | ||
389 | * @idlest_reg: void __iomem ** to store CM_IDLEST reg address into | ||
390 | * @idlest_bit: pointer to a u8 to store the CM_IDLEST bit shift into | ||
391 | * | ||
392 | * The OMAP3430ES2 HSOTGUSB target CM_IDLEST bit is at a different | ||
393 | * shift from the CM_{I,F}CLKEN bit. Pass back the correct info via | ||
394 | * @idlest_reg and @idlest_bit. No return value. | ||
395 | */ | ||
396 | static void omap3430es2_clk_hsotgusb_find_idlest(struct clk *clk, | ||
397 | void __iomem **idlest_reg, | ||
398 | u8 *idlest_bit) | ||
399 | { | ||
400 | u32 r; | ||
401 | |||
402 | r = (((__force u32)clk->enable_reg & ~0xf0) | 0x20); | ||
403 | *idlest_reg = (__force void __iomem *)r; | ||
404 | *idlest_bit = OMAP3430ES2_ST_HSOTGUSB_IDLE_SHIFT; | ||
405 | } | ||
406 | |||
407 | /** | ||
304 | * omap3_dpll_recalc - recalculate DPLL rate | 408 | * omap3_dpll_recalc - recalculate DPLL rate |
305 | * @clk: DPLL struct clk | 409 | * @clk: DPLL struct clk |
306 | * | 410 | * |
@@ -725,7 +829,9 @@ static int omap3_core_dpll_m2_set_rate(struct clk *clk, unsigned long rate) | |||
725 | u32 unlock_dll = 0; | 829 | u32 unlock_dll = 0; |
726 | u32 c; | 830 | u32 c; |
727 | unsigned long validrate, sdrcrate, mpurate; | 831 | unsigned long validrate, sdrcrate, mpurate; |
728 | struct omap_sdrc_params *sp; | 832 | struct omap_sdrc_params *sdrc_cs0; |
833 | struct omap_sdrc_params *sdrc_cs1; | ||
834 | int ret; | ||
729 | 835 | ||
730 | if (!clk || !rate) | 836 | if (!clk || !rate) |
731 | return -EINVAL; | 837 | return -EINVAL; |
@@ -743,8 +849,8 @@ static int omap3_core_dpll_m2_set_rate(struct clk *clk, unsigned long rate) | |||
743 | else | 849 | else |
744 | sdrcrate >>= ((clk->rate / rate) >> 1); | 850 | sdrcrate >>= ((clk->rate / rate) >> 1); |
745 | 851 | ||
746 | sp = omap2_sdrc_get_params(sdrcrate); | 852 | ret = omap2_sdrc_get_params(sdrcrate, &sdrc_cs0, &sdrc_cs1); |
747 | if (!sp) | 853 | if (ret) |
748 | return -EINVAL; | 854 | return -EINVAL; |
749 | 855 | ||
750 | if (sdrcrate < MIN_SDRC_DLL_LOCK_FREQ) { | 856 | if (sdrcrate < MIN_SDRC_DLL_LOCK_FREQ) { |
@@ -765,12 +871,29 @@ static int omap3_core_dpll_m2_set_rate(struct clk *clk, unsigned long rate) | |||
765 | 871 | ||
766 | pr_debug("clock: changing CORE DPLL rate from %lu to %lu\n", clk->rate, | 872 | pr_debug("clock: changing CORE DPLL rate from %lu to %lu\n", clk->rate, |
767 | validrate); | 873 | validrate); |
768 | pr_debug("clock: SDRC timing params used: %08x %08x %08x\n", | 874 | pr_debug("clock: SDRC CS0 timing params used:" |
769 | sp->rfr_ctrl, sp->actim_ctrla, sp->actim_ctrlb); | 875 | " RFR %08x CTRLA %08x CTRLB %08x MR %08x\n", |
770 | 876 | sdrc_cs0->rfr_ctrl, sdrc_cs0->actim_ctrla, | |
771 | omap3_configure_core_dpll(sp->rfr_ctrl, sp->actim_ctrla, | 877 | sdrc_cs0->actim_ctrlb, sdrc_cs0->mr); |
772 | sp->actim_ctrlb, new_div, unlock_dll, c, | 878 | if (sdrc_cs1) |
773 | sp->mr, rate > clk->rate); | 879 | pr_debug("clock: SDRC CS1 timing params used: " |
880 | " RFR %08x CTRLA %08x CTRLB %08x MR %08x\n", | ||
881 | sdrc_cs1->rfr_ctrl, sdrc_cs1->actim_ctrla, | ||
882 | sdrc_cs1->actim_ctrlb, sdrc_cs1->mr); | ||
883 | |||
884 | if (sdrc_cs1) | ||
885 | omap3_configure_core_dpll( | ||
886 | new_div, unlock_dll, c, rate > clk->rate, | ||
887 | sdrc_cs0->rfr_ctrl, sdrc_cs0->actim_ctrla, | ||
888 | sdrc_cs0->actim_ctrlb, sdrc_cs0->mr, | ||
889 | sdrc_cs1->rfr_ctrl, sdrc_cs1->actim_ctrla, | ||
890 | sdrc_cs1->actim_ctrlb, sdrc_cs1->mr); | ||
891 | else | ||
892 | omap3_configure_core_dpll( | ||
893 | new_div, unlock_dll, c, rate > clk->rate, | ||
894 | sdrc_cs0->rfr_ctrl, sdrc_cs0->actim_ctrla, | ||
895 | sdrc_cs0->actim_ctrlb, sdrc_cs0->mr, | ||
896 | 0, 0, 0, 0); | ||
774 | 897 | ||
775 | return 0; | 898 | return 0; |
776 | } | 899 | } |
diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h index e433aec4efdd..57cc2725b923 100644 --- a/arch/arm/mach-omap2/clock34xx.h +++ b/arch/arm/mach-omap2/clock34xx.h | |||
@@ -1568,7 +1568,7 @@ static const struct clksel ssi_ssr_clksel[] = { | |||
1568 | { .parent = NULL } | 1568 | { .parent = NULL } |
1569 | }; | 1569 | }; |
1570 | 1570 | ||
1571 | static struct clk ssi_ssr_fck = { | 1571 | static struct clk ssi_ssr_fck_3430es1 = { |
1572 | .name = "ssi_ssr_fck", | 1572 | .name = "ssi_ssr_fck", |
1573 | .ops = &clkops_omap2_dflt, | 1573 | .ops = &clkops_omap2_dflt, |
1574 | .init = &omap2_init_clksel_parent, | 1574 | .init = &omap2_init_clksel_parent, |
@@ -1581,10 +1581,31 @@ static struct clk ssi_ssr_fck = { | |||
1581 | .recalc = &omap2_clksel_recalc, | 1581 | .recalc = &omap2_clksel_recalc, |
1582 | }; | 1582 | }; |
1583 | 1583 | ||
1584 | static struct clk ssi_sst_fck = { | 1584 | static struct clk ssi_ssr_fck_3430es2 = { |
1585 | .name = "ssi_ssr_fck", | ||
1586 | .ops = &clkops_omap3430es2_ssi_wait, | ||
1587 | .init = &omap2_init_clksel_parent, | ||
1588 | .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1), | ||
1589 | .enable_bit = OMAP3430_EN_SSI_SHIFT, | ||
1590 | .clksel_reg = OMAP_CM_REGADDR(CORE_MOD, CM_CLKSEL), | ||
1591 | .clksel_mask = OMAP3430_CLKSEL_SSI_MASK, | ||
1592 | .clksel = ssi_ssr_clksel, | ||
1593 | .clkdm_name = "core_l4_clkdm", | ||
1594 | .recalc = &omap2_clksel_recalc, | ||
1595 | }; | ||
1596 | |||
1597 | static struct clk ssi_sst_fck_3430es1 = { | ||
1585 | .name = "ssi_sst_fck", | 1598 | .name = "ssi_sst_fck", |
1586 | .ops = &clkops_null, | 1599 | .ops = &clkops_null, |
1587 | .parent = &ssi_ssr_fck, | 1600 | .parent = &ssi_ssr_fck_3430es1, |
1601 | .fixed_div = 2, | ||
1602 | .recalc = &omap2_fixed_divisor_recalc, | ||
1603 | }; | ||
1604 | |||
1605 | static struct clk ssi_sst_fck_3430es2 = { | ||
1606 | .name = "ssi_sst_fck", | ||
1607 | .ops = &clkops_null, | ||
1608 | .parent = &ssi_ssr_fck_3430es2, | ||
1588 | .fixed_div = 2, | 1609 | .fixed_div = 2, |
1589 | .recalc = &omap2_fixed_divisor_recalc, | 1610 | .recalc = &omap2_fixed_divisor_recalc, |
1590 | }; | 1611 | }; |
@@ -1606,9 +1627,19 @@ static struct clk core_l3_ick = { | |||
1606 | .recalc = &followparent_recalc, | 1627 | .recalc = &followparent_recalc, |
1607 | }; | 1628 | }; |
1608 | 1629 | ||
1609 | static struct clk hsotgusb_ick = { | 1630 | static struct clk hsotgusb_ick_3430es1 = { |
1610 | .name = "hsotgusb_ick", | 1631 | .name = "hsotgusb_ick", |
1611 | .ops = &clkops_omap2_dflt_wait, | 1632 | .ops = &clkops_omap2_dflt, |
1633 | .parent = &core_l3_ick, | ||
1634 | .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1), | ||
1635 | .enable_bit = OMAP3430_EN_HSOTGUSB_SHIFT, | ||
1636 | .clkdm_name = "core_l3_clkdm", | ||
1637 | .recalc = &followparent_recalc, | ||
1638 | }; | ||
1639 | |||
1640 | static struct clk hsotgusb_ick_3430es2 = { | ||
1641 | .name = "hsotgusb_ick", | ||
1642 | .ops = &clkops_omap3430es2_hsotgusb_wait, | ||
1612 | .parent = &core_l3_ick, | 1643 | .parent = &core_l3_ick, |
1613 | .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1), | 1644 | .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1), |
1614 | .enable_bit = OMAP3430_EN_HSOTGUSB_SHIFT, | 1645 | .enable_bit = OMAP3430_EN_HSOTGUSB_SHIFT, |
@@ -1947,7 +1978,7 @@ static struct clk ssi_l4_ick = { | |||
1947 | .recalc = &followparent_recalc, | 1978 | .recalc = &followparent_recalc, |
1948 | }; | 1979 | }; |
1949 | 1980 | ||
1950 | static struct clk ssi_ick = { | 1981 | static struct clk ssi_ick_3430es1 = { |
1951 | .name = "ssi_ick", | 1982 | .name = "ssi_ick", |
1952 | .ops = &clkops_omap2_dflt, | 1983 | .ops = &clkops_omap2_dflt, |
1953 | .parent = &ssi_l4_ick, | 1984 | .parent = &ssi_l4_ick, |
@@ -1957,6 +1988,16 @@ static struct clk ssi_ick = { | |||
1957 | .recalc = &followparent_recalc, | 1988 | .recalc = &followparent_recalc, |
1958 | }; | 1989 | }; |
1959 | 1990 | ||
1991 | static struct clk ssi_ick_3430es2 = { | ||
1992 | .name = "ssi_ick", | ||
1993 | .ops = &clkops_omap3430es2_ssi_wait, | ||
1994 | .parent = &ssi_l4_ick, | ||
1995 | .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1), | ||
1996 | .enable_bit = OMAP3430_EN_SSI_SHIFT, | ||
1997 | .clkdm_name = "core_l4_clkdm", | ||
1998 | .recalc = &followparent_recalc, | ||
1999 | }; | ||
2000 | |||
1960 | /* REVISIT: Technically the TRM claims that this is CORE_CLK based, | 2001 | /* REVISIT: Technically the TRM claims that this is CORE_CLK based, |
1961 | * but l4_ick makes more sense to me */ | 2002 | * but l4_ick makes more sense to me */ |
1962 | 2003 | ||
@@ -2024,7 +2065,7 @@ static struct clk des1_ick = { | |||
2024 | }; | 2065 | }; |
2025 | 2066 | ||
2026 | /* DSS */ | 2067 | /* DSS */ |
2027 | static struct clk dss1_alwon_fck = { | 2068 | static struct clk dss1_alwon_fck_3430es1 = { |
2028 | .name = "dss1_alwon_fck", | 2069 | .name = "dss1_alwon_fck", |
2029 | .ops = &clkops_omap2_dflt, | 2070 | .ops = &clkops_omap2_dflt, |
2030 | .parent = &dpll4_m4x2_ck, | 2071 | .parent = &dpll4_m4x2_ck, |
@@ -2034,6 +2075,16 @@ static struct clk dss1_alwon_fck = { | |||
2034 | .recalc = &followparent_recalc, | 2075 | .recalc = &followparent_recalc, |
2035 | }; | 2076 | }; |
2036 | 2077 | ||
2078 | static struct clk dss1_alwon_fck_3430es2 = { | ||
2079 | .name = "dss1_alwon_fck", | ||
2080 | .ops = &clkops_omap3430es2_dss_usbhost_wait, | ||
2081 | .parent = &dpll4_m4x2_ck, | ||
2082 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_DSS_MOD, CM_FCLKEN), | ||
2083 | .enable_bit = OMAP3430_EN_DSS1_SHIFT, | ||
2084 | .clkdm_name = "dss_clkdm", | ||
2085 | .recalc = &followparent_recalc, | ||
2086 | }; | ||
2087 | |||
2037 | static struct clk dss_tv_fck = { | 2088 | static struct clk dss_tv_fck = { |
2038 | .name = "dss_tv_fck", | 2089 | .name = "dss_tv_fck", |
2039 | .ops = &clkops_omap2_dflt, | 2090 | .ops = &clkops_omap2_dflt, |
@@ -2067,7 +2118,7 @@ static struct clk dss2_alwon_fck = { | |||
2067 | .recalc = &followparent_recalc, | 2118 | .recalc = &followparent_recalc, |
2068 | }; | 2119 | }; |
2069 | 2120 | ||
2070 | static struct clk dss_ick = { | 2121 | static struct clk dss_ick_3430es1 = { |
2071 | /* Handles both L3 and L4 clocks */ | 2122 | /* Handles both L3 and L4 clocks */ |
2072 | .name = "dss_ick", | 2123 | .name = "dss_ick", |
2073 | .ops = &clkops_omap2_dflt, | 2124 | .ops = &clkops_omap2_dflt, |
@@ -2079,6 +2130,18 @@ static struct clk dss_ick = { | |||
2079 | .recalc = &followparent_recalc, | 2130 | .recalc = &followparent_recalc, |
2080 | }; | 2131 | }; |
2081 | 2132 | ||
2133 | static struct clk dss_ick_3430es2 = { | ||
2134 | /* Handles both L3 and L4 clocks */ | ||
2135 | .name = "dss_ick", | ||
2136 | .ops = &clkops_omap3430es2_dss_usbhost_wait, | ||
2137 | .parent = &l4_ick, | ||
2138 | .init = &omap2_init_clk_clkdm, | ||
2139 | .enable_reg = OMAP_CM_REGADDR(OMAP3430_DSS_MOD, CM_ICLKEN), | ||
2140 | .enable_bit = OMAP3430_CM_ICLKEN_DSS_EN_DSS_SHIFT, | ||
2141 | .clkdm_name = "dss_clkdm", | ||
2142 | .recalc = &followparent_recalc, | ||
2143 | }; | ||
2144 | |||
2082 | /* CAM */ | 2145 | /* CAM */ |
2083 | 2146 | ||
2084 | static struct clk cam_mclk = { | 2147 | static struct clk cam_mclk = { |
@@ -2118,7 +2181,7 @@ static struct clk csi2_96m_fck = { | |||
2118 | 2181 | ||
2119 | static struct clk usbhost_120m_fck = { | 2182 | static struct clk usbhost_120m_fck = { |
2120 | .name = "usbhost_120m_fck", | 2183 | .name = "usbhost_120m_fck", |
2121 | .ops = &clkops_omap2_dflt_wait, | 2184 | .ops = &clkops_omap2_dflt, |
2122 | .parent = &dpll5_m2_ck, | 2185 | .parent = &dpll5_m2_ck, |
2123 | .init = &omap2_init_clk_clkdm, | 2186 | .init = &omap2_init_clk_clkdm, |
2124 | .enable_reg = OMAP_CM_REGADDR(OMAP3430ES2_USBHOST_MOD, CM_FCLKEN), | 2187 | .enable_reg = OMAP_CM_REGADDR(OMAP3430ES2_USBHOST_MOD, CM_FCLKEN), |
@@ -2129,7 +2192,7 @@ static struct clk usbhost_120m_fck = { | |||
2129 | 2192 | ||
2130 | static struct clk usbhost_48m_fck = { | 2193 | static struct clk usbhost_48m_fck = { |
2131 | .name = "usbhost_48m_fck", | 2194 | .name = "usbhost_48m_fck", |
2132 | .ops = &clkops_omap2_dflt_wait, | 2195 | .ops = &clkops_omap3430es2_dss_usbhost_wait, |
2133 | .parent = &omap_48m_fck, | 2196 | .parent = &omap_48m_fck, |
2134 | .init = &omap2_init_clk_clkdm, | 2197 | .init = &omap2_init_clk_clkdm, |
2135 | .enable_reg = OMAP_CM_REGADDR(OMAP3430ES2_USBHOST_MOD, CM_FCLKEN), | 2198 | .enable_reg = OMAP_CM_REGADDR(OMAP3430ES2_USBHOST_MOD, CM_FCLKEN), |
@@ -2141,7 +2204,7 @@ static struct clk usbhost_48m_fck = { | |||
2141 | static struct clk usbhost_ick = { | 2204 | static struct clk usbhost_ick = { |
2142 | /* Handles both L3 and L4 clocks */ | 2205 | /* Handles both L3 and L4 clocks */ |
2143 | .name = "usbhost_ick", | 2206 | .name = "usbhost_ick", |
2144 | .ops = &clkops_omap2_dflt_wait, | 2207 | .ops = &clkops_omap3430es2_dss_usbhost_wait, |
2145 | .parent = &l4_ick, | 2208 | .parent = &l4_ick, |
2146 | .init = &omap2_init_clk_clkdm, | 2209 | .init = &omap2_init_clk_clkdm, |
2147 | .enable_reg = OMAP_CM_REGADDR(OMAP3430ES2_USBHOST_MOD, CM_ICLKEN), | 2210 | .enable_reg = OMAP_CM_REGADDR(OMAP3430ES2_USBHOST_MOD, CM_ICLKEN), |
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index 3a86b0f66031..e9b9bcb19b4e 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c | |||
@@ -276,14 +276,15 @@ static int __init _omap2_init_reprogram_sdrc(void) | |||
276 | return v; | 276 | return v; |
277 | } | 277 | } |
278 | 278 | ||
279 | void __init omap2_init_common_hw(struct omap_sdrc_params *sp) | 279 | void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0, |
280 | struct omap_sdrc_params *sdrc_cs1) | ||
280 | { | 281 | { |
281 | omap2_mux_init(); | 282 | omap2_mux_init(); |
282 | #ifndef CONFIG_ARCH_OMAP4 /* FIXME: Remove this once the clkdev is ready */ | 283 | #ifndef CONFIG_ARCH_OMAP4 /* FIXME: Remove this once the clkdev is ready */ |
283 | pwrdm_init(powerdomains_omap); | 284 | pwrdm_init(powerdomains_omap); |
284 | clkdm_init(clockdomains_omap, clkdm_pwrdm_autodeps); | 285 | clkdm_init(clockdomains_omap, clkdm_pwrdm_autodeps); |
285 | omap2_clk_init(); | 286 | omap2_clk_init(); |
286 | omap2_sdrc_init(sp); | 287 | omap2_sdrc_init(sdrc_cs0, sdrc_cs1); |
287 | _omap2_init_reprogram_sdrc(); | 288 | _omap2_init_reprogram_sdrc(); |
288 | #endif | 289 | #endif |
289 | gpmc_init(); | 290 | gpmc_init(); |
diff --git a/arch/arm/mach-omap2/mmc-twl4030.c b/arch/arm/mach-omap2/mmc-twl4030.c index 1541fd4c8d0f..3c04c2f1b23f 100644 --- a/arch/arm/mach-omap2/mmc-twl4030.c +++ b/arch/arm/mach-omap2/mmc-twl4030.c | |||
@@ -119,6 +119,7 @@ static int twl_mmc_late_init(struct device *dev) | |||
119 | if (i != 0) | 119 | if (i != 0) |
120 | break; | 120 | break; |
121 | ret = PTR_ERR(reg); | 121 | ret = PTR_ERR(reg); |
122 | hsmmc[i].vcc = NULL; | ||
122 | goto err; | 123 | goto err; |
123 | } | 124 | } |
124 | hsmmc[i].vcc = reg; | 125 | hsmmc[i].vcc = reg; |
@@ -165,8 +166,13 @@ done: | |||
165 | static void twl_mmc_cleanup(struct device *dev) | 166 | static void twl_mmc_cleanup(struct device *dev) |
166 | { | 167 | { |
167 | struct omap_mmc_platform_data *mmc = dev->platform_data; | 168 | struct omap_mmc_platform_data *mmc = dev->platform_data; |
169 | int i; | ||
168 | 170 | ||
169 | gpio_free(mmc->slots[0].switch_pin); | 171 | gpio_free(mmc->slots[0].switch_pin); |
172 | for(i = 0; i < ARRAY_SIZE(hsmmc); i++) { | ||
173 | regulator_put(hsmmc[i].vcc); | ||
174 | regulator_put(hsmmc[i].vcc_aux); | ||
175 | } | ||
170 | } | 176 | } |
171 | 177 | ||
172 | #ifdef CONFIG_PM | 178 | #ifdef CONFIG_PM |
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index 026c4fc883a7..43d6b92b65f2 100644 --- a/arch/arm/mach-omap2/mux.c +++ b/arch/arm/mach-omap2/mux.c | |||
@@ -486,6 +486,12 @@ MUX_CFG_34XX("H19_34XX_GPIO164_OUT", 0x19c, | |||
486 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) | 486 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) |
487 | MUX_CFG_34XX("J25_34XX_GPIO170", 0x1c6, | 487 | MUX_CFG_34XX("J25_34XX_GPIO170", 0x1c6, |
488 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) | 488 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) |
489 | |||
490 | /* OMAP3 SDRC CKE signals to SDR/DDR ram chips */ | ||
491 | MUX_CFG_34XX("H16_34XX_SDRC_CKE0", 0x262, | ||
492 | OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) | ||
493 | MUX_CFG_34XX("H17_34XX_SDRC_CKE1", 0x264, | ||
494 | OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) | ||
489 | }; | 495 | }; |
490 | 496 | ||
491 | #define OMAP34XX_PINS_SZ ARRAY_SIZE(omap34xx_pins) | 497 | #define OMAP34XX_PINS_SZ ARRAY_SIZE(omap34xx_pins) |
diff --git a/arch/arm/mach-omap2/prcm.c b/arch/arm/mach-omap2/prcm.c index f945156d5585..ced555a4cd1a 100644 --- a/arch/arm/mach-omap2/prcm.c +++ b/arch/arm/mach-omap2/prcm.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
18 | #include <linux/clk.h> | 18 | #include <linux/clk.h> |
19 | #include <linux/io.h> | 19 | #include <linux/io.h> |
20 | #include <linux/delay.h> | ||
20 | 21 | ||
21 | #include <mach/common.h> | 22 | #include <mach/common.h> |
22 | #include <mach/prcm.h> | 23 | #include <mach/prcm.h> |
@@ -28,6 +29,8 @@ | |||
28 | static void __iomem *prm_base; | 29 | static void __iomem *prm_base; |
29 | static void __iomem *cm_base; | 30 | static void __iomem *cm_base; |
30 | 31 | ||
32 | #define MAX_MODULE_ENABLE_WAIT 100000 | ||
33 | |||
31 | u32 omap_prcm_get_reset_sources(void) | 34 | u32 omap_prcm_get_reset_sources(void) |
32 | { | 35 | { |
33 | /* XXX This presumably needs modification for 34XX */ | 36 | /* XXX This presumably needs modification for 34XX */ |
@@ -120,6 +123,46 @@ u32 cm_rmw_mod_reg_bits(u32 mask, u32 bits, s16 module, s16 idx) | |||
120 | } | 123 | } |
121 | EXPORT_SYMBOL(cm_rmw_mod_reg_bits); | 124 | EXPORT_SYMBOL(cm_rmw_mod_reg_bits); |
122 | 125 | ||
126 | /** | ||
127 | * omap2_cm_wait_idlest - wait for IDLEST bit to indicate module readiness | ||
128 | * @reg: physical address of module IDLEST register | ||
129 | * @mask: value to mask against to determine if the module is active | ||
130 | * @name: name of the clock (for printk) | ||
131 | * | ||
132 | * Returns 1 if the module indicated readiness in time, or 0 if it | ||
133 | * failed to enable in roughly MAX_MODULE_ENABLE_WAIT microseconds. | ||
134 | */ | ||
135 | int omap2_cm_wait_idlest(void __iomem *reg, u32 mask, const char *name) | ||
136 | { | ||
137 | int i = 0; | ||
138 | int ena = 0; | ||
139 | |||
140 | /* | ||
141 | * 24xx uses 0 to indicate not ready, and 1 to indicate ready. | ||
142 | * 34xx reverses this, just to keep us on our toes | ||
143 | */ | ||
144 | if (cpu_is_omap24xx()) | ||
145 | ena = mask; | ||
146 | else if (cpu_is_omap34xx()) | ||
147 | ena = 0; | ||
148 | else | ||
149 | BUG(); | ||
150 | |||
151 | /* Wait for lock */ | ||
152 | while (((__raw_readl(reg) & mask) != ena) && | ||
153 | (i++ < MAX_MODULE_ENABLE_WAIT)) | ||
154 | udelay(1); | ||
155 | |||
156 | if (i < MAX_MODULE_ENABLE_WAIT) | ||
157 | pr_debug("cm: Module associated with clock %s ready after %d " | ||
158 | "loops\n", name, i); | ||
159 | else | ||
160 | pr_err("cm: Module associated with clock %s didn't enable in " | ||
161 | "%d tries\n", name, MAX_MODULE_ENABLE_WAIT); | ||
162 | |||
163 | return (i < MAX_MODULE_ENABLE_WAIT) ? 1 : 0; | ||
164 | }; | ||
165 | |||
123 | void __init omap2_set_globals_prcm(struct omap_globals *omap2_globals) | 166 | void __init omap2_set_globals_prcm(struct omap_globals *omap2_globals) |
124 | { | 167 | { |
125 | prm_base = omap2_globals->prm; | 168 | prm_base = omap2_globals->prm; |
diff --git a/arch/arm/mach-omap2/sdrc.c b/arch/arm/mach-omap2/sdrc.c index 2045441e8385..9e3bd4fa7810 100644 --- a/arch/arm/mach-omap2/sdrc.c +++ b/arch/arm/mach-omap2/sdrc.c | |||
@@ -32,7 +32,7 @@ | |||
32 | #include <mach/sdrc.h> | 32 | #include <mach/sdrc.h> |
33 | #include "sdrc.h" | 33 | #include "sdrc.h" |
34 | 34 | ||
35 | static struct omap_sdrc_params *sdrc_init_params; | 35 | static struct omap_sdrc_params *sdrc_init_params_cs0, *sdrc_init_params_cs1; |
36 | 36 | ||
37 | void __iomem *omap2_sdrc_base; | 37 | void __iomem *omap2_sdrc_base; |
38 | void __iomem *omap2_sms_base; | 38 | void __iomem *omap2_sms_base; |
@@ -45,33 +45,49 @@ void __iomem *omap2_sms_base; | |||
45 | /** | 45 | /** |
46 | * omap2_sdrc_get_params - return SDRC register values for a given clock rate | 46 | * omap2_sdrc_get_params - return SDRC register values for a given clock rate |
47 | * @r: SDRC clock rate (in Hz) | 47 | * @r: SDRC clock rate (in Hz) |
48 | * @sdrc_cs0: chip select 0 ram timings ** | ||
49 | * @sdrc_cs1: chip select 1 ram timings ** | ||
48 | * | 50 | * |
49 | * Return pre-calculated values for the SDRC_ACTIM_CTRLA, | 51 | * Return pre-calculated values for the SDRC_ACTIM_CTRLA, |
50 | * SDRC_ACTIM_CTRLB, SDRC_RFR_CTRL, and SDRC_MR registers, for a given | 52 | * SDRC_ACTIM_CTRLB, SDRC_RFR_CTRL and SDRC_MR registers in sdrc_cs[01] |
51 | * SDRC clock rate 'r'. These parameters control various timing | 53 | * structs,for a given SDRC clock rate 'r'. |
52 | * delays in the SDRAM controller that are expressed in terms of the | 54 | * These parameters control various timing delays in the SDRAM controller |
53 | * number of SDRC clock cycles to wait; hence the clock rate | 55 | * that are expressed in terms of the number of SDRC clock cycles to |
54 | * dependency. Note that sdrc_init_params must be sorted rate | 56 | * wait; hence the clock rate dependency. |
55 | * descending. Also assumes that both chip-selects use the same | 57 | * |
56 | * timing parameters. Returns a struct omap_sdrc_params * upon | 58 | * Supports 2 different timing parameters for both chip selects. |
57 | * success, or NULL upon failure. | 59 | * |
60 | * Note 1: the sdrc_init_params_cs[01] must be sorted rate descending. | ||
61 | * Note 2: If sdrc_init_params_cs_1 is not NULL it must be of same size | ||
62 | * as sdrc_init_params_cs_0. | ||
63 | * | ||
64 | * Fills in the struct omap_sdrc_params * for each chip select. | ||
65 | * Returns 0 upon success or -1 upon failure. | ||
58 | */ | 66 | */ |
59 | struct omap_sdrc_params *omap2_sdrc_get_params(unsigned long r) | 67 | int omap2_sdrc_get_params(unsigned long r, |
68 | struct omap_sdrc_params **sdrc_cs0, | ||
69 | struct omap_sdrc_params **sdrc_cs1) | ||
60 | { | 70 | { |
61 | struct omap_sdrc_params *sp; | 71 | struct omap_sdrc_params *sp0, *sp1; |
62 | 72 | ||
63 | if (!sdrc_init_params) | 73 | if (!sdrc_init_params_cs0) |
64 | return NULL; | 74 | return -1; |
65 | 75 | ||
66 | sp = sdrc_init_params; | 76 | sp0 = sdrc_init_params_cs0; |
77 | sp1 = sdrc_init_params_cs1; | ||
67 | 78 | ||
68 | while (sp->rate && sp->rate != r) | 79 | while (sp0->rate && sp0->rate != r) { |
69 | sp++; | 80 | sp0++; |
81 | if (sdrc_init_params_cs1) | ||
82 | sp1++; | ||
83 | } | ||
70 | 84 | ||
71 | if (!sp->rate) | 85 | if (!sp0->rate) |
72 | return NULL; | 86 | return -1; |
73 | 87 | ||
74 | return sp; | 88 | *sdrc_cs0 = sp0; |
89 | *sdrc_cs1 = sp1; | ||
90 | return 0; | ||
75 | } | 91 | } |
76 | 92 | ||
77 | 93 | ||
@@ -83,13 +99,15 @@ void __init omap2_set_globals_sdrc(struct omap_globals *omap2_globals) | |||
83 | 99 | ||
84 | /** | 100 | /** |
85 | * omap2_sdrc_init - initialize SMS, SDRC devices on boot | 101 | * omap2_sdrc_init - initialize SMS, SDRC devices on boot |
86 | * @sp: pointer to a null-terminated list of struct omap_sdrc_params | 102 | * @sdrc_cs[01]: pointers to a null-terminated list of struct omap_sdrc_params |
103 | * Support for 2 chip selects timings | ||
87 | * | 104 | * |
88 | * Turn on smart idle modes for SDRAM scheduler and controller. | 105 | * Turn on smart idle modes for SDRAM scheduler and controller. |
89 | * Program a known-good configuration for the SDRC to deal with buggy | 106 | * Program a known-good configuration for the SDRC to deal with buggy |
90 | * bootloaders. | 107 | * bootloaders. |
91 | */ | 108 | */ |
92 | void __init omap2_sdrc_init(struct omap_sdrc_params *sp) | 109 | void __init omap2_sdrc_init(struct omap_sdrc_params *sdrc_cs0, |
110 | struct omap_sdrc_params *sdrc_cs1) | ||
93 | { | 111 | { |
94 | u32 l; | 112 | u32 l; |
95 | 113 | ||
@@ -103,11 +121,15 @@ void __init omap2_sdrc_init(struct omap_sdrc_params *sp) | |||
103 | l |= (0x2 << 3); | 121 | l |= (0x2 << 3); |
104 | sdrc_write_reg(l, SDRC_SYSCONFIG); | 122 | sdrc_write_reg(l, SDRC_SYSCONFIG); |
105 | 123 | ||
106 | sdrc_init_params = sp; | 124 | sdrc_init_params_cs0 = sdrc_cs0; |
125 | sdrc_init_params_cs1 = sdrc_cs1; | ||
107 | 126 | ||
108 | /* XXX Enable SRFRONIDLEREQ here also? */ | 127 | /* XXX Enable SRFRONIDLEREQ here also? */ |
128 | /* | ||
129 | * PWDENA should not be set due to 34xx erratum 1.150 - PWDENA | ||
130 | * can cause random memory corruption | ||
131 | */ | ||
109 | l = (1 << SDRC_POWER_EXTCLKDIS_SHIFT) | | 132 | l = (1 << SDRC_POWER_EXTCLKDIS_SHIFT) | |
110 | (1 << SDRC_POWER_PWDENA_SHIFT) | | ||
111 | (1 << SDRC_POWER_PAGEPOLICY_SHIFT); | 133 | (1 << SDRC_POWER_PAGEPOLICY_SHIFT); |
112 | sdrc_write_reg(l, SDRC_POWER); | 134 | sdrc_write_reg(l, SDRC_POWER); |
113 | } | 135 | } |
diff --git a/arch/arm/mach-omap2/sram34xx.S b/arch/arm/mach-omap2/sram34xx.S index f41f8d96ddba..82aa4a3d160c 100644 --- a/arch/arm/mach-omap2/sram34xx.S +++ b/arch/arm/mach-omap2/sram34xx.S | |||
@@ -36,7 +36,7 @@ | |||
36 | 36 | ||
37 | .text | 37 | .text |
38 | 38 | ||
39 | /* r4 parameters */ | 39 | /* r1 parameters */ |
40 | #define SDRC_NO_UNLOCK_DLL 0x0 | 40 | #define SDRC_NO_UNLOCK_DLL 0x0 |
41 | #define SDRC_UNLOCK_DLL 0x1 | 41 | #define SDRC_UNLOCK_DLL 0x1 |
42 | 42 | ||
@@ -58,7 +58,6 @@ | |||
58 | 58 | ||
59 | /* SDRC_POWER bit settings */ | 59 | /* SDRC_POWER bit settings */ |
60 | #define SRFRONIDLEREQ_MASK 0x40 | 60 | #define SRFRONIDLEREQ_MASK 0x40 |
61 | #define PWDENA_MASK 0x4 | ||
62 | 61 | ||
63 | /* CM_IDLEST1_CORE bit settings */ | 62 | /* CM_IDLEST1_CORE bit settings */ |
64 | #define ST_SDRC_MASK 0x2 | 63 | #define ST_SDRC_MASK 0x2 |
@@ -71,41 +70,72 @@ | |||
71 | 70 | ||
72 | /* | 71 | /* |
73 | * omap3_sram_configure_core_dpll - change DPLL3 M2 divider | 72 | * omap3_sram_configure_core_dpll - change DPLL3 M2 divider |
74 | * r0 = new SDRC_RFR_CTRL register contents | 73 | * |
75 | * r1 = new SDRC_ACTIM_CTRLA register contents | 74 | * Params passed in registers: |
76 | * r2 = new SDRC_ACTIM_CTRLB register contents | 75 | * r0 = new M2 divider setting (only 1 and 2 supported right now) |
77 | * r3 = new M2 divider setting (only 1 and 2 supported right now) | 76 | * r1 = unlock SDRC DLL? (1 = yes, 0 = no). Only unlock DLL for |
78 | * r4 = unlock SDRC DLL? (1 = yes, 0 = no). Only unlock DLL for | ||
79 | * SDRC rates < 83MHz | 77 | * SDRC rates < 83MHz |
80 | * r5 = number of MPU cycles to wait for SDRC to stabilize after | 78 | * r2 = number of MPU cycles to wait for SDRC to stabilize after |
81 | * reprogramming the SDRC when switching to a slower MPU speed | 79 | * reprogramming the SDRC when switching to a slower MPU speed |
82 | * r6 = new SDRC_MR_0 register value | 80 | * r3 = increasing SDRC rate? (1 = yes, 0 = no) |
83 | * r7 = increasing SDRC rate? (1 = yes, 0 = no) | 81 | * |
82 | * Params passed via the stack. The needed params will be copied in SRAM | ||
83 | * before use by the code in SRAM (SDRAM is not accessible during SDRC | ||
84 | * reconfiguration): | ||
85 | * new SDRC_RFR_CTRL_0 register contents | ||
86 | * new SDRC_ACTIM_CTRL_A_0 register contents | ||
87 | * new SDRC_ACTIM_CTRL_B_0 register contents | ||
88 | * new SDRC_MR_0 register value | ||
89 | * new SDRC_RFR_CTRL_1 register contents | ||
90 | * new SDRC_ACTIM_CTRL_A_1 register contents | ||
91 | * new SDRC_ACTIM_CTRL_B_1 register contents | ||
92 | * new SDRC_MR_1 register value | ||
84 | * | 93 | * |
94 | * If the param SDRC_RFR_CTRL_1 is 0, the parameters | ||
95 | * are not programmed into the SDRC CS1 registers | ||
85 | */ | 96 | */ |
86 | ENTRY(omap3_sram_configure_core_dpll) | 97 | ENTRY(omap3_sram_configure_core_dpll) |
87 | stmfd sp!, {r1-r12, lr} @ store regs to stack | 98 | stmfd sp!, {r1-r12, lr} @ store regs to stack |
88 | ldr r4, [sp, #52] @ pull extra args off the stack | 99 | |
89 | ldr r5, [sp, #56] @ load extra args from the stack | 100 | @ pull the extra args off the stack |
90 | ldr r6, [sp, #60] @ load extra args from the stack | 101 | @ and store them in SRAM |
91 | ldr r7, [sp, #64] @ load extra args from the stack | 102 | ldr r4, [sp, #52] |
103 | str r4, omap_sdrc_rfr_ctrl_0_val | ||
104 | ldr r4, [sp, #56] | ||
105 | str r4, omap_sdrc_actim_ctrl_a_0_val | ||
106 | ldr r4, [sp, #60] | ||
107 | str r4, omap_sdrc_actim_ctrl_b_0_val | ||
108 | ldr r4, [sp, #64] | ||
109 | str r4, omap_sdrc_mr_0_val | ||
110 | ldr r4, [sp, #68] | ||
111 | str r4, omap_sdrc_rfr_ctrl_1_val | ||
112 | cmp r4, #0 @ if SDRC_RFR_CTRL_1 is 0, | ||
113 | beq skip_cs1_params @ do not use cs1 params | ||
114 | ldr r4, [sp, #72] | ||
115 | str r4, omap_sdrc_actim_ctrl_a_1_val | ||
116 | ldr r4, [sp, #76] | ||
117 | str r4, omap_sdrc_actim_ctrl_b_1_val | ||
118 | ldr r4, [sp, #80] | ||
119 | str r4, omap_sdrc_mr_1_val | ||
120 | skip_cs1_params: | ||
92 | dsb @ flush buffered writes to interconnect | 121 | dsb @ flush buffered writes to interconnect |
93 | cmp r7, #1 @ if increasing SDRC clk rate, | 122 | |
123 | cmp r3, #1 @ if increasing SDRC clk rate, | ||
94 | bleq configure_sdrc @ program the SDRC regs early (for RFR) | 124 | bleq configure_sdrc @ program the SDRC regs early (for RFR) |
95 | cmp r4, #SDRC_UNLOCK_DLL @ set the intended DLL state | 125 | cmp r1, #SDRC_UNLOCK_DLL @ set the intended DLL state |
96 | bleq unlock_dll | 126 | bleq unlock_dll |
97 | blne lock_dll | 127 | blne lock_dll |
98 | bl sdram_in_selfrefresh @ put SDRAM in self refresh, idle SDRC | 128 | bl sdram_in_selfrefresh @ put SDRAM in self refresh, idle SDRC |
99 | bl configure_core_dpll @ change the DPLL3 M2 divider | 129 | bl configure_core_dpll @ change the DPLL3 M2 divider |
130 | mov r12, r2 | ||
131 | bl wait_clk_stable @ wait for SDRC to stabilize | ||
100 | bl enable_sdrc @ take SDRC out of idle | 132 | bl enable_sdrc @ take SDRC out of idle |
101 | cmp r4, #SDRC_UNLOCK_DLL @ wait for DLL status to change | 133 | cmp r1, #SDRC_UNLOCK_DLL @ wait for DLL status to change |
102 | bleq wait_dll_unlock | 134 | bleq wait_dll_unlock |
103 | blne wait_dll_lock | 135 | blne wait_dll_lock |
104 | cmp r7, #1 @ if increasing SDRC clk rate, | 136 | cmp r3, #1 @ if increasing SDRC clk rate, |
105 | beq return_to_sdram @ return to SDRAM code, otherwise, | 137 | beq return_to_sdram @ return to SDRAM code, otherwise, |
106 | bl configure_sdrc @ reprogram SDRC regs now | 138 | bl configure_sdrc @ reprogram SDRC regs now |
107 | mov r12, r5 | ||
108 | bl wait_clk_stable @ wait for SDRC to stabilize | ||
109 | return_to_sdram: | 139 | return_to_sdram: |
110 | isb @ prevent speculative exec past here | 140 | isb @ prevent speculative exec past here |
111 | mov r0, #0 @ return value | 141 | mov r0, #0 @ return value |
@@ -113,7 +143,7 @@ return_to_sdram: | |||
113 | unlock_dll: | 143 | unlock_dll: |
114 | ldr r11, omap3_sdrc_dlla_ctrl | 144 | ldr r11, omap3_sdrc_dlla_ctrl |
115 | ldr r12, [r11] | 145 | ldr r12, [r11] |
116 | and r12, r12, #FIXEDDELAY_MASK | 146 | bic r12, r12, #FIXEDDELAY_MASK |
117 | orr r12, r12, #FIXEDDELAY_DEFAULT | 147 | orr r12, r12, #FIXEDDELAY_DEFAULT |
118 | orr r12, r12, #DLLIDLE_MASK | 148 | orr r12, r12, #DLLIDLE_MASK |
119 | str r12, [r11] @ (no OCP barrier needed) | 149 | str r12, [r11] @ (no OCP barrier needed) |
@@ -129,7 +159,6 @@ sdram_in_selfrefresh: | |||
129 | ldr r12, [r11] @ read the contents of SDRC_POWER | 159 | ldr r12, [r11] @ read the contents of SDRC_POWER |
130 | mov r9, r12 @ keep a copy of SDRC_POWER bits | 160 | mov r9, r12 @ keep a copy of SDRC_POWER bits |
131 | orr r12, r12, #SRFRONIDLEREQ_MASK @ enable self refresh on idle | 161 | orr r12, r12, #SRFRONIDLEREQ_MASK @ enable self refresh on idle |
132 | bic r12, r12, #PWDENA_MASK @ clear PWDENA | ||
133 | str r12, [r11] @ write back to SDRC_POWER register | 162 | str r12, [r11] @ write back to SDRC_POWER register |
134 | ldr r12, [r11] @ posted-write barrier for SDRC | 163 | ldr r12, [r11] @ posted-write barrier for SDRC |
135 | idle_sdrc: | 164 | idle_sdrc: |
@@ -149,7 +178,7 @@ configure_core_dpll: | |||
149 | ldr r12, [r11] | 178 | ldr r12, [r11] |
150 | ldr r10, core_m2_mask_val @ modify m2 for core dpll | 179 | ldr r10, core_m2_mask_val @ modify m2 for core dpll |
151 | and r12, r12, r10 | 180 | and r12, r12, r10 |
152 | orr r12, r12, r3, lsl #CORE_DPLL_CLKOUT_DIV_SHIFT | 181 | orr r12, r12, r0, lsl #CORE_DPLL_CLKOUT_DIV_SHIFT |
153 | str r12, [r11] | 182 | str r12, [r11] |
154 | ldr r12, [r11] @ posted-write barrier for CM | 183 | ldr r12, [r11] @ posted-write barrier for CM |
155 | bx lr | 184 | bx lr |
@@ -187,15 +216,34 @@ wait_dll_unlock: | |||
187 | bne wait_dll_unlock | 216 | bne wait_dll_unlock |
188 | bx lr | 217 | bx lr |
189 | configure_sdrc: | 218 | configure_sdrc: |
190 | ldr r11, omap3_sdrc_rfr_ctrl | 219 | ldr r12, omap_sdrc_rfr_ctrl_0_val @ fetch value from SRAM |
191 | str r0, [r11] | 220 | ldr r11, omap3_sdrc_rfr_ctrl_0 @ fetch addr from SRAM |
192 | ldr r11, omap3_sdrc_actim_ctrla | 221 | str r12, [r11] @ store |
193 | str r1, [r11] | 222 | ldr r12, omap_sdrc_actim_ctrl_a_0_val |
194 | ldr r11, omap3_sdrc_actim_ctrlb | 223 | ldr r11, omap3_sdrc_actim_ctrl_a_0 |
195 | str r2, [r11] | 224 | str r12, [r11] |
225 | ldr r12, omap_sdrc_actim_ctrl_b_0_val | ||
226 | ldr r11, omap3_sdrc_actim_ctrl_b_0 | ||
227 | str r12, [r11] | ||
228 | ldr r12, omap_sdrc_mr_0_val | ||
196 | ldr r11, omap3_sdrc_mr_0 | 229 | ldr r11, omap3_sdrc_mr_0 |
197 | str r6, [r11] | 230 | str r12, [r11] |
198 | ldr r6, [r11] @ posted-write barrier for SDRC | 231 | ldr r12, omap_sdrc_rfr_ctrl_1_val |
232 | cmp r12, #0 @ if SDRC_RFR_CTRL_1 is 0, | ||
233 | beq skip_cs1_prog @ do not program cs1 params | ||
234 | ldr r11, omap3_sdrc_rfr_ctrl_1 | ||
235 | str r12, [r11] | ||
236 | ldr r12, omap_sdrc_actim_ctrl_a_1_val | ||
237 | ldr r11, omap3_sdrc_actim_ctrl_a_1 | ||
238 | str r12, [r11] | ||
239 | ldr r12, omap_sdrc_actim_ctrl_b_1_val | ||
240 | ldr r11, omap3_sdrc_actim_ctrl_b_1 | ||
241 | str r12, [r11] | ||
242 | ldr r12, omap_sdrc_mr_1_val | ||
243 | ldr r11, omap3_sdrc_mr_1 | ||
244 | str r12, [r11] | ||
245 | skip_cs1_prog: | ||
246 | ldr r12, [r11] @ posted-write barrier for SDRC | ||
199 | bx lr | 247 | bx lr |
200 | 248 | ||
201 | omap3_sdrc_power: | 249 | omap3_sdrc_power: |
@@ -206,14 +254,40 @@ omap3_cm_idlest1_core: | |||
206 | .word OMAP34XX_CM_REGADDR(CORE_MOD, CM_IDLEST) | 254 | .word OMAP34XX_CM_REGADDR(CORE_MOD, CM_IDLEST) |
207 | omap3_cm_iclken1_core: | 255 | omap3_cm_iclken1_core: |
208 | .word OMAP34XX_CM_REGADDR(CORE_MOD, CM_ICLKEN1) | 256 | .word OMAP34XX_CM_REGADDR(CORE_MOD, CM_ICLKEN1) |
209 | omap3_sdrc_rfr_ctrl: | 257 | |
258 | omap3_sdrc_rfr_ctrl_0: | ||
210 | .word OMAP34XX_SDRC_REGADDR(SDRC_RFR_CTRL_0) | 259 | .word OMAP34XX_SDRC_REGADDR(SDRC_RFR_CTRL_0) |
211 | omap3_sdrc_actim_ctrla: | 260 | omap3_sdrc_rfr_ctrl_1: |
261 | .word OMAP34XX_SDRC_REGADDR(SDRC_RFR_CTRL_1) | ||
262 | omap3_sdrc_actim_ctrl_a_0: | ||
212 | .word OMAP34XX_SDRC_REGADDR(SDRC_ACTIM_CTRL_A_0) | 263 | .word OMAP34XX_SDRC_REGADDR(SDRC_ACTIM_CTRL_A_0) |
213 | omap3_sdrc_actim_ctrlb: | 264 | omap3_sdrc_actim_ctrl_a_1: |
265 | .word OMAP34XX_SDRC_REGADDR(SDRC_ACTIM_CTRL_A_1) | ||
266 | omap3_sdrc_actim_ctrl_b_0: | ||
214 | .word OMAP34XX_SDRC_REGADDR(SDRC_ACTIM_CTRL_B_0) | 267 | .word OMAP34XX_SDRC_REGADDR(SDRC_ACTIM_CTRL_B_0) |
268 | omap3_sdrc_actim_ctrl_b_1: | ||
269 | .word OMAP34XX_SDRC_REGADDR(SDRC_ACTIM_CTRL_B_1) | ||
215 | omap3_sdrc_mr_0: | 270 | omap3_sdrc_mr_0: |
216 | .word OMAP34XX_SDRC_REGADDR(SDRC_MR_0) | 271 | .word OMAP34XX_SDRC_REGADDR(SDRC_MR_0) |
272 | omap3_sdrc_mr_1: | ||
273 | .word OMAP34XX_SDRC_REGADDR(SDRC_MR_1) | ||
274 | omap_sdrc_rfr_ctrl_0_val: | ||
275 | .word 0xDEADBEEF | ||
276 | omap_sdrc_rfr_ctrl_1_val: | ||
277 | .word 0xDEADBEEF | ||
278 | omap_sdrc_actim_ctrl_a_0_val: | ||
279 | .word 0xDEADBEEF | ||
280 | omap_sdrc_actim_ctrl_a_1_val: | ||
281 | .word 0xDEADBEEF | ||
282 | omap_sdrc_actim_ctrl_b_0_val: | ||
283 | .word 0xDEADBEEF | ||
284 | omap_sdrc_actim_ctrl_b_1_val: | ||
285 | .word 0xDEADBEEF | ||
286 | omap_sdrc_mr_0_val: | ||
287 | .word 0xDEADBEEF | ||
288 | omap_sdrc_mr_1_val: | ||
289 | .word 0xDEADBEEF | ||
290 | |||
217 | omap3_sdrc_dlla_status: | 291 | omap3_sdrc_dlla_status: |
218 | .word OMAP34XX_SDRC_REGADDR(SDRC_DLLA_STATUS) | 292 | .word OMAP34XX_SDRC_REGADDR(SDRC_DLLA_STATUS) |
219 | omap3_sdrc_dlla_ctrl: | 293 | omap3_sdrc_dlla_ctrl: |
@@ -223,3 +297,4 @@ core_m2_mask_val: | |||
223 | 297 | ||
224 | ENTRY(omap3_sram_configure_core_dpll_sz) | 298 | ENTRY(omap3_sram_configure_core_dpll_sz) |
225 | .word . - omap3_sram_configure_core_dpll | 299 | .word . - omap3_sram_configure_core_dpll |
300 | |||
diff --git a/arch/arm/mach-omap2/usb-musb.c b/arch/arm/mach-omap2/usb-musb.c index d85296dc896c..739e59e8025c 100644 --- a/arch/arm/mach-omap2/usb-musb.c +++ b/arch/arm/mach-omap2/usb-musb.c | |||
@@ -155,20 +155,6 @@ static struct platform_device musb_device = { | |||
155 | .resource = musb_resources, | 155 | .resource = musb_resources, |
156 | }; | 156 | }; |
157 | 157 | ||
158 | #ifdef CONFIG_NOP_USB_XCEIV | ||
159 | static u64 nop_xceiv_dmamask = DMA_BIT_MASK(32); | ||
160 | |||
161 | static struct platform_device nop_xceiv_device = { | ||
162 | .name = "nop_usb_xceiv", | ||
163 | .id = -1, | ||
164 | .dev = { | ||
165 | .dma_mask = &nop_xceiv_dmamask, | ||
166 | .coherent_dma_mask = DMA_BIT_MASK(32), | ||
167 | .platform_data = NULL, | ||
168 | }, | ||
169 | }; | ||
170 | #endif | ||
171 | |||
172 | void __init usb_musb_init(void) | 158 | void __init usb_musb_init(void) |
173 | { | 159 | { |
174 | if (cpu_is_omap243x()) | 160 | if (cpu_is_omap243x()) |
@@ -183,13 +169,6 @@ void __init usb_musb_init(void) | |||
183 | */ | 169 | */ |
184 | musb_plat.clock = "ick"; | 170 | musb_plat.clock = "ick"; |
185 | 171 | ||
186 | #ifdef CONFIG_NOP_USB_XCEIV | ||
187 | if (platform_device_register(&nop_xceiv_device) < 0) { | ||
188 | printk(KERN_ERR "Unable to register NOP-XCEIV device\n"); | ||
189 | return; | ||
190 | } | ||
191 | #endif | ||
192 | |||
193 | if (platform_device_register(&musb_device) < 0) { | 172 | if (platform_device_register(&musb_device) < 0) { |
194 | printk(KERN_ERR "Unable to register HS-USB (MUSB) device\n"); | 173 | printk(KERN_ERR "Unable to register HS-USB (MUSB) device\n"); |
195 | return; | 174 | return; |
diff --git a/arch/arm/mach-pxa/em-x270.c b/arch/arm/mach-pxa/em-x270.c index 63b10d9bb1d3..9cd09465a0e8 100644 --- a/arch/arm/mach-pxa/em-x270.c +++ b/arch/arm/mach-pxa/em-x270.c | |||
@@ -1141,12 +1141,16 @@ struct power_supply_info em_x270_psy_info = { | |||
1141 | 1141 | ||
1142 | static void em_x270_battery_low(void) | 1142 | static void em_x270_battery_low(void) |
1143 | { | 1143 | { |
1144 | #if defined(CONFIG_APM_EMULATION) | ||
1144 | apm_queue_event(APM_LOW_BATTERY); | 1145 | apm_queue_event(APM_LOW_BATTERY); |
1146 | #endif | ||
1145 | } | 1147 | } |
1146 | 1148 | ||
1147 | static void em_x270_battery_critical(void) | 1149 | static void em_x270_battery_critical(void) |
1148 | { | 1150 | { |
1151 | #if defined(CONFIG_APM_EMULATION) | ||
1149 | apm_queue_event(APM_CRITICAL_SUSPEND); | 1152 | apm_queue_event(APM_CRITICAL_SUSPEND); |
1153 | #endif | ||
1150 | } | 1154 | } |
1151 | 1155 | ||
1152 | struct da9030_battery_info em_x270_batterty_info = { | 1156 | struct da9030_battery_info em_x270_batterty_info = { |
diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c index ed70f281dd09..169fcc18154e 100644 --- a/arch/arm/mach-pxa/palmld.c +++ b/arch/arm/mach-pxa/palmld.c | |||
@@ -128,6 +128,10 @@ static unsigned long palmld_pin_config[] __initdata = { | |||
128 | GPIO38_GPIO, /* wifi ready */ | 128 | GPIO38_GPIO, /* wifi ready */ |
129 | GPIO81_GPIO, /* wifi reset */ | 129 | GPIO81_GPIO, /* wifi reset */ |
130 | 130 | ||
131 | /* FFUART */ | ||
132 | GPIO34_FFUART_RXD, | ||
133 | GPIO39_FFUART_TXD, | ||
134 | |||
131 | /* HDD */ | 135 | /* HDD */ |
132 | GPIO98_GPIO, /* HDD reset */ | 136 | GPIO98_GPIO, /* HDD reset */ |
133 | GPIO115_GPIO, /* HDD power */ | 137 | GPIO115_GPIO, /* HDD power */ |
diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c index aae64a12a734..33f726ff55e5 100644 --- a/arch/arm/mach-pxa/palmt5.c +++ b/arch/arm/mach-pxa/palmt5.c | |||
@@ -111,6 +111,10 @@ static unsigned long palmt5_pin_config[] __initdata = { | |||
111 | /* PWM */ | 111 | /* PWM */ |
112 | GPIO16_PWM0_OUT, | 112 | GPIO16_PWM0_OUT, |
113 | 113 | ||
114 | /* FFUART */ | ||
115 | GPIO34_FFUART_RXD, | ||
116 | GPIO39_FFUART_TXD, | ||
117 | |||
114 | /* MISC */ | 118 | /* MISC */ |
115 | GPIO10_GPIO, /* hotsync button */ | 119 | GPIO10_GPIO, /* hotsync button */ |
116 | GPIO90_GPIO, /* power detect */ | 120 | GPIO90_GPIO, /* power detect */ |
diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c index 6c15d84bde53..83d020879581 100644 --- a/arch/arm/mach-pxa/palmtx.c +++ b/arch/arm/mach-pxa/palmtx.c | |||
@@ -127,6 +127,10 @@ static unsigned long palmtx_pin_config[] __initdata = { | |||
127 | GPIO76_LCD_PCLK, | 127 | GPIO76_LCD_PCLK, |
128 | GPIO77_LCD_BIAS, | 128 | GPIO77_LCD_BIAS, |
129 | 129 | ||
130 | /* FFUART */ | ||
131 | GPIO34_FFUART_RXD, | ||
132 | GPIO39_FFUART_TXD, | ||
133 | |||
130 | /* MISC. */ | 134 | /* MISC. */ |
131 | GPIO10_GPIO, /* hotsync button */ | 135 | GPIO10_GPIO, /* hotsync button */ |
132 | GPIO12_GPIO, /* power detect */ | 136 | GPIO12_GPIO, /* power detect */ |
diff --git a/arch/arm/mach-pxa/sharpsl_pm.c b/arch/arm/mach-pxa/sharpsl_pm.c index 2546c066cd6e..629e05d1196e 100644 --- a/arch/arm/mach-pxa/sharpsl_pm.c +++ b/arch/arm/mach-pxa/sharpsl_pm.c | |||
@@ -678,8 +678,8 @@ static int corgi_enter_suspend(unsigned long alarm_time, unsigned int alarm_enab | |||
678 | dev_dbg(sharpsl_pm.dev, "User triggered wakeup in offline charger.\n"); | 678 | dev_dbg(sharpsl_pm.dev, "User triggered wakeup in offline charger.\n"); |
679 | } | 679 | } |
680 | 680 | ||
681 | if ((!sharpsl_pm.machinfo->read_devdata(SHARPSL_STATUS_LOCK)) || (sharpsl_fatal_check() < 0) ) | 681 | if ((!sharpsl_pm.machinfo->read_devdata(SHARPSL_STATUS_LOCK)) || |
682 | { | 682 | (!sharpsl_pm.machinfo->read_devdata(SHARPSL_STATUS_FATAL))) { |
683 | dev_err(sharpsl_pm.dev, "Fatal condition. Suspend.\n"); | 683 | dev_err(sharpsl_pm.dev, "Fatal condition. Suspend.\n"); |
684 | corgi_goto_sleep(alarm_time, alarm_enable, state); | 684 | corgi_goto_sleep(alarm_time, alarm_enable, state); |
685 | return 1; | 685 | return 1; |
diff --git a/arch/arm/mach-pxa/treo680.c b/arch/arm/mach-pxa/treo680.c index a06f19edebb3..753ec4df17b9 100644 --- a/arch/arm/mach-pxa/treo680.c +++ b/arch/arm/mach-pxa/treo680.c | |||
@@ -409,7 +409,7 @@ err1: | |||
409 | 409 | ||
410 | static void treo680_irda_shutdown(struct device *dev) | 410 | static void treo680_irda_shutdown(struct device *dev) |
411 | { | 411 | { |
412 | gpio_free(GPIO_NR_TREO680_AMP_EN); | 412 | gpio_free(GPIO_NR_TREO680_IR_EN); |
413 | } | 413 | } |
414 | 414 | ||
415 | static struct pxaficp_platform_data treo680_ficp_info = { | 415 | static struct pxaficp_platform_data treo680_ficp_info = { |
diff --git a/arch/arm/mach-pxa/zylonite_pxa300.c b/arch/arm/mach-pxa/zylonite_pxa300.c index cefd1c0a854a..84095440a878 100644 --- a/arch/arm/mach-pxa/zylonite_pxa300.c +++ b/arch/arm/mach-pxa/zylonite_pxa300.c | |||
@@ -197,10 +197,12 @@ static void __init zylonite_detect_lcd_panel(void) | |||
197 | for (i = 0; i < NUM_LCD_DETECT_PINS; i++) { | 197 | for (i = 0; i < NUM_LCD_DETECT_PINS; i++) { |
198 | id = id << 1; | 198 | id = id << 1; |
199 | gpio = mfp_to_gpio(lcd_detect_pins[i]); | 199 | gpio = mfp_to_gpio(lcd_detect_pins[i]); |
200 | gpio_request(gpio, "LCD_ID_PINS"); | ||
200 | gpio_direction_input(gpio); | 201 | gpio_direction_input(gpio); |
201 | 202 | ||
202 | if (gpio_get_value(gpio)) | 203 | if (gpio_get_value(gpio)) |
203 | id = id | 0x1; | 204 | id = id | 0x1; |
205 | gpio_free(gpio); | ||
204 | } | 206 | } |
205 | 207 | ||
206 | /* lcd id, flush out bit 1 */ | 208 | /* lcd id, flush out bit 1 */ |
diff --git a/arch/arm/mach-pxa/zylonite_pxa320.c b/arch/arm/mach-pxa/zylonite_pxa320.c index cc5a22833605..60d08f23f5e4 100644 --- a/arch/arm/mach-pxa/zylonite_pxa320.c +++ b/arch/arm/mach-pxa/zylonite_pxa320.c | |||
@@ -176,10 +176,12 @@ static void __init zylonite_detect_lcd_panel(void) | |||
176 | for (i = 0; i < NUM_LCD_DETECT_PINS; i++) { | 176 | for (i = 0; i < NUM_LCD_DETECT_PINS; i++) { |
177 | id = id << 1; | 177 | id = id << 1; |
178 | gpio = mfp_to_gpio(lcd_detect_pins[i]); | 178 | gpio = mfp_to_gpio(lcd_detect_pins[i]); |
179 | gpio_request(gpio, "LCD_ID_PINS"); | ||
179 | gpio_direction_input(gpio); | 180 | gpio_direction_input(gpio); |
180 | 181 | ||
181 | if (gpio_get_value(gpio)) | 182 | if (gpio_get_value(gpio)) |
182 | id = id | 0x1; | 183 | id = id | 0x1; |
184 | gpio_free(gpio); | ||
183 | } | 185 | } |
184 | 186 | ||
185 | /* lcd id, flush out bit 1 */ | 187 | /* lcd id, flush out bit 1 */ |
diff --git a/arch/arm/mach-u300/core.c b/arch/arm/mach-u300/core.c index 7936085dd758..2e9b8ccd8ec2 100644 --- a/arch/arm/mach-u300/core.c +++ b/arch/arm/mach-u300/core.c | |||
@@ -510,7 +510,7 @@ static struct db_chip db_chips[] __initdata = { | |||
510 | } | 510 | } |
511 | }; | 511 | }; |
512 | 512 | ||
513 | static void u300_init_check_chip(void) | 513 | static void __init u300_init_check_chip(void) |
514 | { | 514 | { |
515 | 515 | ||
516 | u16 val; | 516 | u16 val; |
diff --git a/arch/arm/mm/flush.c b/arch/arm/mm/flush.c index c07222eb5ce0..575f3ad722e7 100644 --- a/arch/arm/mm/flush.c +++ b/arch/arm/mm/flush.c | |||
@@ -144,7 +144,14 @@ void __flush_dcache_page(struct address_space *mapping, struct page *page) | |||
144 | * page. This ensures that data in the physical page is mutually | 144 | * page. This ensures that data in the physical page is mutually |
145 | * coherent with the kernels mapping. | 145 | * coherent with the kernels mapping. |
146 | */ | 146 | */ |
147 | __cpuc_flush_dcache_page(page_address(page)); | 147 | #ifdef CONFIG_HIGHMEM |
148 | /* | ||
149 | * kmap_atomic() doesn't set the page virtual address, and | ||
150 | * kunmap_atomic() takes care of cache flushing already. | ||
151 | */ | ||
152 | if (page_address(page)) | ||
153 | #endif | ||
154 | __cpuc_flush_dcache_page(page_address(page)); | ||
148 | 155 | ||
149 | /* | 156 | /* |
150 | * If this is a page cache page, and we have an aliasing VIPT cache, | 157 | * If this is a page cache page, and we have an aliasing VIPT cache, |
diff --git a/arch/arm/mm/highmem.c b/arch/arm/mm/highmem.c index a34954d9df7d..73cae57fa707 100644 --- a/arch/arm/mm/highmem.c +++ b/arch/arm/mm/highmem.c | |||
@@ -40,11 +40,16 @@ void *kmap_atomic(struct page *page, enum km_type type) | |||
40 | { | 40 | { |
41 | unsigned int idx; | 41 | unsigned int idx; |
42 | unsigned long vaddr; | 42 | unsigned long vaddr; |
43 | void *kmap; | ||
43 | 44 | ||
44 | pagefault_disable(); | 45 | pagefault_disable(); |
45 | if (!PageHighMem(page)) | 46 | if (!PageHighMem(page)) |
46 | return page_address(page); | 47 | return page_address(page); |
47 | 48 | ||
49 | kmap = kmap_high_get(page); | ||
50 | if (kmap) | ||
51 | return kmap; | ||
52 | |||
48 | idx = type + KM_TYPE_NR * smp_processor_id(); | 53 | idx = type + KM_TYPE_NR * smp_processor_id(); |
49 | vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx); | 54 | vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx); |
50 | #ifdef CONFIG_DEBUG_HIGHMEM | 55 | #ifdef CONFIG_DEBUG_HIGHMEM |
@@ -80,6 +85,9 @@ void kunmap_atomic(void *kvaddr, enum km_type type) | |||
80 | #else | 85 | #else |
81 | (void) idx; /* to kill a warning */ | 86 | (void) idx; /* to kill a warning */ |
82 | #endif | 87 | #endif |
88 | } else if (vaddr >= PKMAP_ADDR(0) && vaddr < PKMAP_ADDR(LAST_PKMAP)) { | ||
89 | /* this address was obtained through kmap_high_get() */ | ||
90 | kunmap_high(pte_page(pkmap_page_table[PKMAP_NR(vaddr)])); | ||
83 | } | 91 | } |
84 | pagefault_enable(); | 92 | pagefault_enable(); |
85 | } | 93 | } |
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c index 8277802ec859..ea36186f32c3 100644 --- a/arch/arm/mm/init.c +++ b/arch/arm/mm/init.c | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <linux/mman.h> | 15 | #include <linux/mman.h> |
16 | #include <linux/nodemask.h> | 16 | #include <linux/nodemask.h> |
17 | #include <linux/initrd.h> | 17 | #include <linux/initrd.h> |
18 | #include <linux/sort.h> | ||
18 | #include <linux/highmem.h> | 19 | #include <linux/highmem.h> |
19 | 20 | ||
20 | #include <asm/mach-types.h> | 21 | #include <asm/mach-types.h> |
@@ -120,6 +121,32 @@ void show_mem(void) | |||
120 | printk("%d pages swap cached\n", cached); | 121 | printk("%d pages swap cached\n", cached); |
121 | } | 122 | } |
122 | 123 | ||
124 | static void __init find_node_limits(int node, struct meminfo *mi, | ||
125 | unsigned long *min, unsigned long *max_low, unsigned long *max_high) | ||
126 | { | ||
127 | int i; | ||
128 | |||
129 | *min = -1UL; | ||
130 | *max_low = *max_high = 0; | ||
131 | |||
132 | for_each_nodebank(i, mi, node) { | ||
133 | struct membank *bank = &mi->bank[i]; | ||
134 | unsigned long start, end; | ||
135 | |||
136 | start = bank_pfn_start(bank); | ||
137 | end = bank_pfn_end(bank); | ||
138 | |||
139 | if (*min > start) | ||
140 | *min = start; | ||
141 | if (*max_high < end) | ||
142 | *max_high = end; | ||
143 | if (bank->highmem) | ||
144 | continue; | ||
145 | if (*max_low < end) | ||
146 | *max_low = end; | ||
147 | } | ||
148 | } | ||
149 | |||
123 | /* | 150 | /* |
124 | * FIXME: We really want to avoid allocating the bootmap bitmap | 151 | * FIXME: We really want to avoid allocating the bootmap bitmap |
125 | * over the top of the initrd. Hopefully, this is located towards | 152 | * over the top of the initrd. Hopefully, this is located towards |
@@ -210,41 +237,25 @@ static inline void map_memory_bank(struct membank *bank) | |||
210 | #endif | 237 | #endif |
211 | } | 238 | } |
212 | 239 | ||
213 | static unsigned long __init bootmem_init_node(int node, struct meminfo *mi) | 240 | static void __init bootmem_init_node(int node, struct meminfo *mi, |
241 | unsigned long start_pfn, unsigned long end_pfn) | ||
214 | { | 242 | { |
215 | unsigned long start_pfn, end_pfn, boot_pfn; | 243 | unsigned long boot_pfn; |
216 | unsigned int boot_pages; | 244 | unsigned int boot_pages; |
217 | pg_data_t *pgdat; | 245 | pg_data_t *pgdat; |
218 | int i; | 246 | int i; |
219 | 247 | ||
220 | start_pfn = -1UL; | ||
221 | end_pfn = 0; | ||
222 | |||
223 | /* | 248 | /* |
224 | * Calculate the pfn range, and map the memory banks for this node. | 249 | * Map the memory banks for this node. |
225 | */ | 250 | */ |
226 | for_each_nodebank(i, mi, node) { | 251 | for_each_nodebank(i, mi, node) { |
227 | struct membank *bank = &mi->bank[i]; | 252 | struct membank *bank = &mi->bank[i]; |
228 | unsigned long start, end; | ||
229 | |||
230 | start = bank_pfn_start(bank); | ||
231 | end = bank_pfn_end(bank); | ||
232 | |||
233 | if (start_pfn > start) | ||
234 | start_pfn = start; | ||
235 | if (end_pfn < end) | ||
236 | end_pfn = end; | ||
237 | 253 | ||
238 | map_memory_bank(bank); | 254 | if (!bank->highmem) |
255 | map_memory_bank(bank); | ||
239 | } | 256 | } |
240 | 257 | ||
241 | /* | 258 | /* |
242 | * If there is no memory in this node, ignore it. | ||
243 | */ | ||
244 | if (end_pfn == 0) | ||
245 | return end_pfn; | ||
246 | |||
247 | /* | ||
248 | * Allocate the bootmem bitmap page. | 259 | * Allocate the bootmem bitmap page. |
249 | */ | 260 | */ |
250 | boot_pages = bootmem_bootmap_pages(end_pfn - start_pfn); | 261 | boot_pages = bootmem_bootmap_pages(end_pfn - start_pfn); |
@@ -260,7 +271,8 @@ static unsigned long __init bootmem_init_node(int node, struct meminfo *mi) | |||
260 | 271 | ||
261 | for_each_nodebank(i, mi, node) { | 272 | for_each_nodebank(i, mi, node) { |
262 | struct membank *bank = &mi->bank[i]; | 273 | struct membank *bank = &mi->bank[i]; |
263 | free_bootmem_node(pgdat, bank_phys_start(bank), bank_phys_size(bank)); | 274 | if (!bank->highmem) |
275 | free_bootmem_node(pgdat, bank_phys_start(bank), bank_phys_size(bank)); | ||
264 | memory_present(node, bank_pfn_start(bank), bank_pfn_end(bank)); | 276 | memory_present(node, bank_pfn_start(bank), bank_pfn_end(bank)); |
265 | } | 277 | } |
266 | 278 | ||
@@ -269,8 +281,6 @@ static unsigned long __init bootmem_init_node(int node, struct meminfo *mi) | |||
269 | */ | 281 | */ |
270 | reserve_bootmem_node(pgdat, boot_pfn << PAGE_SHIFT, | 282 | reserve_bootmem_node(pgdat, boot_pfn << PAGE_SHIFT, |
271 | boot_pages << PAGE_SHIFT, BOOTMEM_DEFAULT); | 283 | boot_pages << PAGE_SHIFT, BOOTMEM_DEFAULT); |
272 | |||
273 | return end_pfn; | ||
274 | } | 284 | } |
275 | 285 | ||
276 | static void __init bootmem_reserve_initrd(int node) | 286 | static void __init bootmem_reserve_initrd(int node) |
@@ -297,33 +307,39 @@ static void __init bootmem_reserve_initrd(int node) | |||
297 | static void __init bootmem_free_node(int node, struct meminfo *mi) | 307 | static void __init bootmem_free_node(int node, struct meminfo *mi) |
298 | { | 308 | { |
299 | unsigned long zone_size[MAX_NR_ZONES], zhole_size[MAX_NR_ZONES]; | 309 | unsigned long zone_size[MAX_NR_ZONES], zhole_size[MAX_NR_ZONES]; |
300 | unsigned long start_pfn, end_pfn; | 310 | unsigned long min, max_low, max_high; |
301 | pg_data_t *pgdat = NODE_DATA(node); | ||
302 | int i; | 311 | int i; |
303 | 312 | ||
304 | start_pfn = pgdat->bdata->node_min_pfn; | 313 | find_node_limits(node, mi, &min, &max_low, &max_high); |
305 | end_pfn = pgdat->bdata->node_low_pfn; | ||
306 | 314 | ||
307 | /* | 315 | /* |
308 | * initialise the zones within this node. | 316 | * initialise the zones within this node. |
309 | */ | 317 | */ |
310 | memset(zone_size, 0, sizeof(zone_size)); | 318 | memset(zone_size, 0, sizeof(zone_size)); |
311 | memset(zhole_size, 0, sizeof(zhole_size)); | ||
312 | 319 | ||
313 | /* | 320 | /* |
314 | * The size of this node has already been determined. If we need | 321 | * The size of this node has already been determined. If we need |
315 | * to do anything fancy with the allocation of this memory to the | 322 | * to do anything fancy with the allocation of this memory to the |
316 | * zones, now is the time to do it. | 323 | * zones, now is the time to do it. |
317 | */ | 324 | */ |
318 | zone_size[0] = end_pfn - start_pfn; | 325 | zone_size[0] = max_low - min; |
326 | #ifdef CONFIG_HIGHMEM | ||
327 | zone_size[ZONE_HIGHMEM] = max_high - max_low; | ||
328 | #endif | ||
319 | 329 | ||
320 | /* | 330 | /* |
321 | * For each bank in this node, calculate the size of the holes. | 331 | * For each bank in this node, calculate the size of the holes. |
322 | * holes = node_size - sum(bank_sizes_in_node) | 332 | * holes = node_size - sum(bank_sizes_in_node) |
323 | */ | 333 | */ |
324 | zhole_size[0] = zone_size[0]; | 334 | memcpy(zhole_size, zone_size, sizeof(zhole_size)); |
325 | for_each_nodebank(i, mi, node) | 335 | for_each_nodebank(i, mi, node) { |
326 | zhole_size[0] -= bank_pfn_size(&mi->bank[i]); | 336 | int idx = 0; |
337 | #ifdef CONFIG_HIGHMEM | ||
338 | if (mi->bank[i].highmem) | ||
339 | idx = ZONE_HIGHMEM; | ||
340 | #endif | ||
341 | zhole_size[idx] -= bank_pfn_size(&mi->bank[i]); | ||
342 | } | ||
327 | 343 | ||
328 | /* | 344 | /* |
329 | * Adjust the sizes according to any special requirements for | 345 | * Adjust the sizes according to any special requirements for |
@@ -331,25 +347,74 @@ static void __init bootmem_free_node(int node, struct meminfo *mi) | |||
331 | */ | 347 | */ |
332 | arch_adjust_zones(node, zone_size, zhole_size); | 348 | arch_adjust_zones(node, zone_size, zhole_size); |
333 | 349 | ||
334 | free_area_init_node(node, zone_size, start_pfn, zhole_size); | 350 | free_area_init_node(node, zone_size, min, zhole_size); |
351 | } | ||
352 | |||
353 | #ifndef CONFIG_SPARSEMEM | ||
354 | int pfn_valid(unsigned long pfn) | ||
355 | { | ||
356 | struct meminfo *mi = &meminfo; | ||
357 | unsigned int left = 0, right = mi->nr_banks; | ||
358 | |||
359 | do { | ||
360 | unsigned int mid = (right + left) / 2; | ||
361 | struct membank *bank = &mi->bank[mid]; | ||
362 | |||
363 | if (pfn < bank_pfn_start(bank)) | ||
364 | right = mid; | ||
365 | else if (pfn >= bank_pfn_end(bank)) | ||
366 | left = mid + 1; | ||
367 | else | ||
368 | return 1; | ||
369 | } while (left < right); | ||
370 | return 0; | ||
371 | } | ||
372 | EXPORT_SYMBOL(pfn_valid); | ||
373 | #endif | ||
374 | |||
375 | static int __init meminfo_cmp(const void *_a, const void *_b) | ||
376 | { | ||
377 | const struct membank *a = _a, *b = _b; | ||
378 | long cmp = bank_pfn_start(a) - bank_pfn_start(b); | ||
379 | return cmp < 0 ? -1 : cmp > 0 ? 1 : 0; | ||
335 | } | 380 | } |
336 | 381 | ||
337 | void __init bootmem_init(void) | 382 | void __init bootmem_init(void) |
338 | { | 383 | { |
339 | struct meminfo *mi = &meminfo; | 384 | struct meminfo *mi = &meminfo; |
340 | unsigned long memend_pfn = 0; | 385 | unsigned long min, max_low, max_high; |
341 | int node, initrd_node; | 386 | int node, initrd_node; |
342 | 387 | ||
388 | sort(&mi->bank, mi->nr_banks, sizeof(mi->bank[0]), meminfo_cmp, NULL); | ||
389 | |||
343 | /* | 390 | /* |
344 | * Locate which node contains the ramdisk image, if any. | 391 | * Locate which node contains the ramdisk image, if any. |
345 | */ | 392 | */ |
346 | initrd_node = check_initrd(mi); | 393 | initrd_node = check_initrd(mi); |
347 | 394 | ||
395 | max_low = max_high = 0; | ||
396 | |||
348 | /* | 397 | /* |
349 | * Run through each node initialising the bootmem allocator. | 398 | * Run through each node initialising the bootmem allocator. |
350 | */ | 399 | */ |
351 | for_each_node(node) { | 400 | for_each_node(node) { |
352 | unsigned long end_pfn = bootmem_init_node(node, mi); | 401 | unsigned long node_low, node_high; |
402 | |||
403 | find_node_limits(node, mi, &min, &node_low, &node_high); | ||
404 | |||
405 | if (node_low > max_low) | ||
406 | max_low = node_low; | ||
407 | if (node_high > max_high) | ||
408 | max_high = node_high; | ||
409 | |||
410 | /* | ||
411 | * If there is no memory in this node, ignore it. | ||
412 | * (We can't have nodes which have no lowmem) | ||
413 | */ | ||
414 | if (node_low == 0) | ||
415 | continue; | ||
416 | |||
417 | bootmem_init_node(node, mi, min, node_low); | ||
353 | 418 | ||
354 | /* | 419 | /* |
355 | * Reserve any special node zero regions. | 420 | * Reserve any special node zero regions. |
@@ -362,12 +427,6 @@ void __init bootmem_init(void) | |||
362 | */ | 427 | */ |
363 | if (node == initrd_node) | 428 | if (node == initrd_node) |
364 | bootmem_reserve_initrd(node); | 429 | bootmem_reserve_initrd(node); |
365 | |||
366 | /* | ||
367 | * Remember the highest memory PFN. | ||
368 | */ | ||
369 | if (end_pfn > memend_pfn) | ||
370 | memend_pfn = end_pfn; | ||
371 | } | 430 | } |
372 | 431 | ||
373 | /* | 432 | /* |
@@ -383,7 +442,7 @@ void __init bootmem_init(void) | |||
383 | for_each_node(node) | 442 | for_each_node(node) |
384 | bootmem_free_node(node, mi); | 443 | bootmem_free_node(node, mi); |
385 | 444 | ||
386 | high_memory = __va((memend_pfn << PAGE_SHIFT) - 1) + 1; | 445 | high_memory = __va((max_low << PAGE_SHIFT) - 1) + 1; |
387 | 446 | ||
388 | /* | 447 | /* |
389 | * This doesn't seem to be used by the Linux memory manager any | 448 | * This doesn't seem to be used by the Linux memory manager any |
@@ -393,7 +452,8 @@ void __init bootmem_init(void) | |||
393 | * Note: max_low_pfn and max_pfn reflect the number of _pages_ in | 452 | * Note: max_low_pfn and max_pfn reflect the number of _pages_ in |
394 | * the system, not the maximum PFN. | 453 | * the system, not the maximum PFN. |
395 | */ | 454 | */ |
396 | max_pfn = max_low_pfn = memend_pfn - PHYS_PFN_OFFSET; | 455 | max_low_pfn = max_low - PHYS_PFN_OFFSET; |
456 | max_pfn = max_high - PHYS_PFN_OFFSET; | ||
397 | } | 457 | } |
398 | 458 | ||
399 | static inline int free_area(unsigned long pfn, unsigned long end, char *s) | 459 | static inline int free_area(unsigned long pfn, unsigned long end, char *s) |
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c index 4722582b17b8..4426ee67ceca 100644 --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c | |||
@@ -687,13 +687,19 @@ __early_param("vmalloc=", early_vmalloc); | |||
687 | 687 | ||
688 | static void __init sanity_check_meminfo(void) | 688 | static void __init sanity_check_meminfo(void) |
689 | { | 689 | { |
690 | int i, j; | 690 | int i, j, highmem = 0; |
691 | 691 | ||
692 | for (i = 0, j = 0; i < meminfo.nr_banks; i++) { | 692 | for (i = 0, j = 0; i < meminfo.nr_banks; i++) { |
693 | struct membank *bank = &meminfo.bank[j]; | 693 | struct membank *bank = &meminfo.bank[j]; |
694 | *bank = meminfo.bank[i]; | 694 | *bank = meminfo.bank[i]; |
695 | 695 | ||
696 | #ifdef CONFIG_HIGHMEM | 696 | #ifdef CONFIG_HIGHMEM |
697 | if (__va(bank->start) > VMALLOC_MIN || | ||
698 | __va(bank->start) < (void *)PAGE_OFFSET) | ||
699 | highmem = 1; | ||
700 | |||
701 | bank->highmem = highmem; | ||
702 | |||
697 | /* | 703 | /* |
698 | * Split those memory banks which are partially overlapping | 704 | * Split those memory banks which are partially overlapping |
699 | * the vmalloc area greatly simplifying things later. | 705 | * the vmalloc area greatly simplifying things later. |
@@ -714,6 +720,7 @@ static void __init sanity_check_meminfo(void) | |||
714 | i++; | 720 | i++; |
715 | bank[1].size -= VMALLOC_MIN - __va(bank->start); | 721 | bank[1].size -= VMALLOC_MIN - __va(bank->start); |
716 | bank[1].start = __pa(VMALLOC_MIN - 1) + 1; | 722 | bank[1].start = __pa(VMALLOC_MIN - 1) + 1; |
723 | bank[1].highmem = highmem = 1; | ||
717 | j++; | 724 | j++; |
718 | } | 725 | } |
719 | bank->size = VMALLOC_MIN - __va(bank->start); | 726 | bank->size = VMALLOC_MIN - __va(bank->start); |
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index 7677a4a1cef2..e3ac94f09006 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c | |||
@@ -946,7 +946,9 @@ void omap_start_dma(int lch) | |||
946 | 946 | ||
947 | cur_lch = next_lch; | 947 | cur_lch = next_lch; |
948 | } while (next_lch != -1); | 948 | } while (next_lch != -1); |
949 | } else if (cpu_class_is_omap2()) { | 949 | } else if (cpu_is_omap242x() || |
950 | (cpu_is_omap243x() && omap_type() <= OMAP2430_REV_ES1_0)) { | ||
951 | |||
950 | /* Errata: Need to write lch even if not using chaining */ | 952 | /* Errata: Need to write lch even if not using chaining */ |
951 | dma_write(lch, CLNK_CTRL(lch)); | 953 | dma_write(lch, CLNK_CTRL(lch)); |
952 | } | 954 | } |
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c index 00940dc6bb50..fd21937fe110 100644 --- a/arch/arm/plat-omap/gpio.c +++ b/arch/arm/plat-omap/gpio.c | |||
@@ -514,14 +514,12 @@ static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable) | |||
514 | __raw_writel(l, reg); | 514 | __raw_writel(l, reg); |
515 | } | 515 | } |
516 | 516 | ||
517 | static int __omap_get_gpio_datain(int gpio) | 517 | static int _get_gpio_datain(struct gpio_bank *bank, int gpio) |
518 | { | 518 | { |
519 | struct gpio_bank *bank; | ||
520 | void __iomem *reg; | 519 | void __iomem *reg; |
521 | 520 | ||
522 | if (check_gpio(gpio) < 0) | 521 | if (check_gpio(gpio) < 0) |
523 | return -EINVAL; | 522 | return -EINVAL; |
524 | bank = get_gpio_bank(gpio); | ||
525 | reg = bank->base; | 523 | reg = bank->base; |
526 | switch (bank->method) { | 524 | switch (bank->method) { |
527 | #ifdef CONFIG_ARCH_OMAP1 | 525 | #ifdef CONFIG_ARCH_OMAP1 |
@@ -566,6 +564,53 @@ static int __omap_get_gpio_datain(int gpio) | |||
566 | & (1 << get_gpio_index(gpio))) != 0; | 564 | & (1 << get_gpio_index(gpio))) != 0; |
567 | } | 565 | } |
568 | 566 | ||
567 | static int _get_gpio_dataout(struct gpio_bank *bank, int gpio) | ||
568 | { | ||
569 | void __iomem *reg; | ||
570 | |||
571 | if (check_gpio(gpio) < 0) | ||
572 | return -EINVAL; | ||
573 | reg = bank->base; | ||
574 | |||
575 | switch (bank->method) { | ||
576 | #ifdef CONFIG_ARCH_OMAP1 | ||
577 | case METHOD_MPUIO: | ||
578 | reg += OMAP_MPUIO_OUTPUT; | ||
579 | break; | ||
580 | #endif | ||
581 | #ifdef CONFIG_ARCH_OMAP15XX | ||
582 | case METHOD_GPIO_1510: | ||
583 | reg += OMAP1510_GPIO_DATA_OUTPUT; | ||
584 | break; | ||
585 | #endif | ||
586 | #ifdef CONFIG_ARCH_OMAP16XX | ||
587 | case METHOD_GPIO_1610: | ||
588 | reg += OMAP1610_GPIO_DATAOUT; | ||
589 | break; | ||
590 | #endif | ||
591 | #ifdef CONFIG_ARCH_OMAP730 | ||
592 | case METHOD_GPIO_730: | ||
593 | reg += OMAP730_GPIO_DATA_OUTPUT; | ||
594 | break; | ||
595 | #endif | ||
596 | #ifdef CONFIG_ARCH_OMAP850 | ||
597 | case METHOD_GPIO_850: | ||
598 | reg += OMAP850_GPIO_DATA_OUTPUT; | ||
599 | break; | ||
600 | #endif | ||
601 | #if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) || \ | ||
602 | defined(CONFIG_ARCH_OMAP4) | ||
603 | case METHOD_GPIO_24XX: | ||
604 | reg += OMAP24XX_GPIO_DATAOUT; | ||
605 | break; | ||
606 | #endif | ||
607 | default: | ||
608 | return -EINVAL; | ||
609 | } | ||
610 | |||
611 | return (__raw_readl(reg) & (1 << get_gpio_index(gpio))) != 0; | ||
612 | } | ||
613 | |||
569 | #define MOD_REG_BIT(reg, bit_mask, set) \ | 614 | #define MOD_REG_BIT(reg, bit_mask, set) \ |
570 | do { \ | 615 | do { \ |
571 | int l = __raw_readl(base + reg); \ | 616 | int l = __raw_readl(base + reg); \ |
@@ -1459,9 +1504,49 @@ static int gpio_input(struct gpio_chip *chip, unsigned offset) | |||
1459 | return 0; | 1504 | return 0; |
1460 | } | 1505 | } |
1461 | 1506 | ||
1507 | static int gpio_is_input(struct gpio_bank *bank, int mask) | ||
1508 | { | ||
1509 | void __iomem *reg = bank->base; | ||
1510 | |||
1511 | switch (bank->method) { | ||
1512 | case METHOD_MPUIO: | ||
1513 | reg += OMAP_MPUIO_IO_CNTL; | ||
1514 | break; | ||
1515 | case METHOD_GPIO_1510: | ||
1516 | reg += OMAP1510_GPIO_DIR_CONTROL; | ||
1517 | break; | ||
1518 | case METHOD_GPIO_1610: | ||
1519 | reg += OMAP1610_GPIO_DIRECTION; | ||
1520 | break; | ||
1521 | case METHOD_GPIO_730: | ||
1522 | reg += OMAP730_GPIO_DIR_CONTROL; | ||
1523 | break; | ||
1524 | case METHOD_GPIO_850: | ||
1525 | reg += OMAP850_GPIO_DIR_CONTROL; | ||
1526 | break; | ||
1527 | case METHOD_GPIO_24XX: | ||
1528 | reg += OMAP24XX_GPIO_OE; | ||
1529 | break; | ||
1530 | } | ||
1531 | return __raw_readl(reg) & mask; | ||
1532 | } | ||
1533 | |||
1462 | static int gpio_get(struct gpio_chip *chip, unsigned offset) | 1534 | static int gpio_get(struct gpio_chip *chip, unsigned offset) |
1463 | { | 1535 | { |
1464 | return __omap_get_gpio_datain(chip->base + offset); | 1536 | struct gpio_bank *bank; |
1537 | void __iomem *reg; | ||
1538 | int gpio; | ||
1539 | u32 mask; | ||
1540 | |||
1541 | gpio = chip->base + offset; | ||
1542 | bank = get_gpio_bank(gpio); | ||
1543 | reg = bank->base; | ||
1544 | mask = 1 << get_gpio_index(gpio); | ||
1545 | |||
1546 | if (gpio_is_input(bank, mask)) | ||
1547 | return _get_gpio_datain(bank, gpio); | ||
1548 | else | ||
1549 | return _get_gpio_dataout(bank, gpio); | ||
1465 | } | 1550 | } |
1466 | 1551 | ||
1467 | static int gpio_output(struct gpio_chip *chip, unsigned offset, int value) | 1552 | static int gpio_output(struct gpio_chip *chip, unsigned offset, int value) |
@@ -2039,34 +2124,6 @@ arch_initcall(omap_gpio_sysinit); | |||
2039 | #include <linux/debugfs.h> | 2124 | #include <linux/debugfs.h> |
2040 | #include <linux/seq_file.h> | 2125 | #include <linux/seq_file.h> |
2041 | 2126 | ||
2042 | static int gpio_is_input(struct gpio_bank *bank, int mask) | ||
2043 | { | ||
2044 | void __iomem *reg = bank->base; | ||
2045 | |||
2046 | switch (bank->method) { | ||
2047 | case METHOD_MPUIO: | ||
2048 | reg += OMAP_MPUIO_IO_CNTL; | ||
2049 | break; | ||
2050 | case METHOD_GPIO_1510: | ||
2051 | reg += OMAP1510_GPIO_DIR_CONTROL; | ||
2052 | break; | ||
2053 | case METHOD_GPIO_1610: | ||
2054 | reg += OMAP1610_GPIO_DIRECTION; | ||
2055 | break; | ||
2056 | case METHOD_GPIO_730: | ||
2057 | reg += OMAP730_GPIO_DIR_CONTROL; | ||
2058 | break; | ||
2059 | case METHOD_GPIO_850: | ||
2060 | reg += OMAP850_GPIO_DIR_CONTROL; | ||
2061 | break; | ||
2062 | case METHOD_GPIO_24XX: | ||
2063 | reg += OMAP24XX_GPIO_OE; | ||
2064 | break; | ||
2065 | } | ||
2066 | return __raw_readl(reg) & mask; | ||
2067 | } | ||
2068 | |||
2069 | |||
2070 | static int dbg_gpio_show(struct seq_file *s, void *unused) | 2127 | static int dbg_gpio_show(struct seq_file *s, void *unused) |
2071 | { | 2128 | { |
2072 | unsigned i, j, gpio; | 2129 | unsigned i, j, gpio; |
diff --git a/arch/arm/plat-omap/include/mach/clock.h b/arch/arm/plat-omap/include/mach/clock.h index f9f65e1ba3f1..4b8b0d65cbf2 100644 --- a/arch/arm/plat-omap/include/mach/clock.h +++ b/arch/arm/plat-omap/include/mach/clock.h | |||
@@ -20,6 +20,8 @@ struct clockdomain; | |||
20 | struct clkops { | 20 | struct clkops { |
21 | int (*enable)(struct clk *); | 21 | int (*enable)(struct clk *); |
22 | void (*disable)(struct clk *); | 22 | void (*disable)(struct clk *); |
23 | void (*find_idlest)(struct clk *, void __iomem **, u8 *); | ||
24 | void (*find_companion)(struct clk *, void __iomem **, u8 *); | ||
23 | }; | 25 | }; |
24 | 26 | ||
25 | #if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) || \ | 27 | #if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) || \ |
diff --git a/arch/arm/plat-omap/include/mach/cpu.h b/arch/arm/plat-omap/include/mach/cpu.h index 285eaa3a8275..11e73d9e8928 100644 --- a/arch/arm/plat-omap/include/mach/cpu.h +++ b/arch/arm/plat-omap/include/mach/cpu.h | |||
@@ -378,9 +378,6 @@ IS_OMAP_TYPE(3430, 0x3430) | |||
378 | #define cpu_class_is_omap2() (cpu_is_omap24xx() || cpu_is_omap34xx() || \ | 378 | #define cpu_class_is_omap2() (cpu_is_omap24xx() || cpu_is_omap34xx() || \ |
379 | cpu_is_omap44xx()) | 379 | cpu_is_omap44xx()) |
380 | 380 | ||
381 | #if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) || \ | ||
382 | defined(CONFIG_ARCH_OMAP4) | ||
383 | |||
384 | /* Various silicon revisions for omap2 */ | 381 | /* Various silicon revisions for omap2 */ |
385 | #define OMAP242X_CLASS 0x24200024 | 382 | #define OMAP242X_CLASS 0x24200024 |
386 | #define OMAP2420_REV_ES1_0 0x24200024 | 383 | #define OMAP2420_REV_ES1_0 0x24200024 |
@@ -436,5 +433,3 @@ IS_OMAP_TYPE(3430, 0x3430) | |||
436 | 433 | ||
437 | int omap_chip_is(struct omap_chip_id oci); | 434 | int omap_chip_is(struct omap_chip_id oci); |
438 | void omap2_check_revision(void); | 435 | void omap2_check_revision(void); |
439 | |||
440 | #endif /* defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) */ | ||
diff --git a/arch/arm/plat-omap/include/mach/io.h b/arch/arm/plat-omap/include/mach/io.h index 73f483d56ca6..21fb0efdda86 100644 --- a/arch/arm/plat-omap/include/mach/io.h +++ b/arch/arm/plat-omap/include/mach/io.h | |||
@@ -228,7 +228,8 @@ extern void omap1_map_common_io(void); | |||
228 | extern void omap1_init_common_hw(void); | 228 | extern void omap1_init_common_hw(void); |
229 | 229 | ||
230 | extern void omap2_map_common_io(void); | 230 | extern void omap2_map_common_io(void); |
231 | extern void omap2_init_common_hw(struct omap_sdrc_params *sp); | 231 | extern void omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0, |
232 | struct omap_sdrc_params *sdrc_cs1); | ||
232 | 233 | ||
233 | #define __arch_ioremap(p,s,t) omap_ioremap(p,s,t) | 234 | #define __arch_ioremap(p,s,t) omap_ioremap(p,s,t) |
234 | #define __arch_iounmap(v) omap_iounmap(v) | 235 | #define __arch_iounmap(v) omap_iounmap(v) |
diff --git a/arch/arm/plat-omap/include/mach/mux.h b/arch/arm/plat-omap/include/mach/mux.h index 85a621705766..80281c458baf 100644 --- a/arch/arm/plat-omap/include/mach/mux.h +++ b/arch/arm/plat-omap/include/mach/mux.h | |||
@@ -853,6 +853,10 @@ enum omap34xx_index { | |||
853 | AE5_34XX_GPIO143, | 853 | AE5_34XX_GPIO143, |
854 | H19_34XX_GPIO164_OUT, | 854 | H19_34XX_GPIO164_OUT, |
855 | J25_34XX_GPIO170, | 855 | J25_34XX_GPIO170, |
856 | |||
857 | /* OMAP3 SDRC CKE signals to SDR/DDR ram chips */ | ||
858 | H16_34XX_SDRC_CKE0, | ||
859 | H17_34XX_SDRC_CKE1, | ||
856 | }; | 860 | }; |
857 | 861 | ||
858 | struct omap_mux_cfg { | 862 | struct omap_mux_cfg { |
diff --git a/arch/arm/plat-omap/include/mach/prcm.h b/arch/arm/plat-omap/include/mach/prcm.h index 24ac3c715912..cda2a70397b4 100644 --- a/arch/arm/plat-omap/include/mach/prcm.h +++ b/arch/arm/plat-omap/include/mach/prcm.h | |||
@@ -25,6 +25,7 @@ | |||
25 | 25 | ||
26 | u32 omap_prcm_get_reset_sources(void); | 26 | u32 omap_prcm_get_reset_sources(void); |
27 | void omap_prcm_arch_reset(char mode); | 27 | void omap_prcm_arch_reset(char mode); |
28 | int omap2_cm_wait_idlest(void __iomem *reg, u32 mask, const char *name); | ||
28 | 29 | ||
29 | #endif | 30 | #endif |
30 | 31 | ||
diff --git a/arch/arm/plat-omap/include/mach/sdrc.h b/arch/arm/plat-omap/include/mach/sdrc.h index adc73522491f..0be18e4ff182 100644 --- a/arch/arm/plat-omap/include/mach/sdrc.h +++ b/arch/arm/plat-omap/include/mach/sdrc.h | |||
@@ -30,6 +30,10 @@ | |||
30 | #define SDRC_ACTIM_CTRL_A_0 0x09c | 30 | #define SDRC_ACTIM_CTRL_A_0 0x09c |
31 | #define SDRC_ACTIM_CTRL_B_0 0x0a0 | 31 | #define SDRC_ACTIM_CTRL_B_0 0x0a0 |
32 | #define SDRC_RFR_CTRL_0 0x0a4 | 32 | #define SDRC_RFR_CTRL_0 0x0a4 |
33 | #define SDRC_MR_1 0x0B4 | ||
34 | #define SDRC_ACTIM_CTRL_A_1 0x0C4 | ||
35 | #define SDRC_ACTIM_CTRL_B_1 0x0C8 | ||
36 | #define SDRC_RFR_CTRL_1 0x0D4 | ||
33 | 37 | ||
34 | /* | 38 | /* |
35 | * These values represent the number of memory clock cycles between | 39 | * These values represent the number of memory clock cycles between |
@@ -102,8 +106,11 @@ struct omap_sdrc_params { | |||
102 | u32 mr; | 106 | u32 mr; |
103 | }; | 107 | }; |
104 | 108 | ||
105 | void __init omap2_sdrc_init(struct omap_sdrc_params *sp); | 109 | void __init omap2_sdrc_init(struct omap_sdrc_params *sdrc_cs0, |
106 | struct omap_sdrc_params *omap2_sdrc_get_params(unsigned long r); | 110 | struct omap_sdrc_params *sdrc_cs1); |
111 | int omap2_sdrc_get_params(unsigned long r, | ||
112 | struct omap_sdrc_params **sdrc_cs0, | ||
113 | struct omap_sdrc_params **sdrc_cs1); | ||
107 | 114 | ||
108 | #ifdef CONFIG_ARCH_OMAP2 | 115 | #ifdef CONFIG_ARCH_OMAP2 |
109 | 116 | ||
diff --git a/arch/arm/plat-omap/include/mach/sram.h b/arch/arm/plat-omap/include/mach/sram.h index 4d53cc59d7a3..8974e3fc2691 100644 --- a/arch/arm/plat-omap/include/mach/sram.h +++ b/arch/arm/plat-omap/include/mach/sram.h | |||
@@ -21,11 +21,12 @@ extern void omap2_sram_reprogram_sdrc(u32 perf_level, u32 dll_val, | |||
21 | u32 mem_type); | 21 | u32 mem_type); |
22 | extern u32 omap2_set_prcm(u32 dpll_ctrl_val, u32 sdrc_rfr_val, int bypass); | 22 | extern u32 omap2_set_prcm(u32 dpll_ctrl_val, u32 sdrc_rfr_val, int bypass); |
23 | 23 | ||
24 | extern u32 omap3_configure_core_dpll(u32 sdrc_rfr_ctrl, | 24 | extern u32 omap3_configure_core_dpll( |
25 | u32 sdrc_actim_ctrla, | 25 | u32 m2, u32 unlock_dll, u32 f, u32 inc, |
26 | u32 sdrc_actim_ctrlb, u32 m2, | 26 | u32 sdrc_rfr_ctrl_0, u32 sdrc_actim_ctrl_a_0, |
27 | u32 unlock_dll, u32 f, u32 sdrc_mr, | 27 | u32 sdrc_actim_ctrl_b_0, u32 sdrc_mr_0, |
28 | u32 inc); | 28 | u32 sdrc_rfr_ctrl_1, u32 sdrc_actim_ctrl_a_1, |
29 | u32 sdrc_actim_ctrl_b_1, u32 sdrc_mr_1); | ||
29 | 30 | ||
30 | /* Do not use these */ | 31 | /* Do not use these */ |
31 | extern void omap1_sram_reprogram_clock(u32 ckctl, u32 dpllctl); | 32 | extern void omap1_sram_reprogram_clock(u32 ckctl, u32 dpllctl); |
@@ -59,12 +60,12 @@ extern void omap243x_sram_reprogram_sdrc(u32 perf_level, u32 dll_val, | |||
59 | u32 mem_type); | 60 | u32 mem_type); |
60 | extern unsigned long omap243x_sram_reprogram_sdrc_sz; | 61 | extern unsigned long omap243x_sram_reprogram_sdrc_sz; |
61 | 62 | ||
62 | 63 | extern u32 omap3_sram_configure_core_dpll( | |
63 | extern u32 omap3_sram_configure_core_dpll(u32 sdrc_rfr_ctrl, | 64 | u32 m2, u32 unlock_dll, u32 f, u32 inc, |
64 | u32 sdrc_actim_ctrla, | 65 | u32 sdrc_rfr_ctrl_0, u32 sdrc_actim_ctrl_a_0, |
65 | u32 sdrc_actim_ctrlb, u32 m2, | 66 | u32 sdrc_actim_ctrl_b_0, u32 sdrc_mr_0, |
66 | u32 unlock_dll, u32 f, u32 sdrc_mr, | 67 | u32 sdrc_rfr_ctrl_1, u32 sdrc_actim_ctrl_a_1, |
67 | u32 inc); | 68 | u32 sdrc_actim_ctrl_b_1, u32 sdrc_mr_1); |
68 | extern unsigned long omap3_sram_configure_core_dpll_sz; | 69 | extern unsigned long omap3_sram_configure_core_dpll_sz; |
69 | 70 | ||
70 | #endif | 71 | #endif |
diff --git a/arch/arm/plat-omap/sram.c b/arch/arm/plat-omap/sram.c index 4ea73804d21e..5eae7876979c 100644 --- a/arch/arm/plat-omap/sram.c +++ b/arch/arm/plat-omap/sram.c | |||
@@ -44,9 +44,9 @@ | |||
44 | #define OMAP2_SRAM_VA 0xe3000000 | 44 | #define OMAP2_SRAM_VA 0xe3000000 |
45 | #define OMAP2_SRAM_PUB_VA (OMAP2_SRAM_VA + 0x800) | 45 | #define OMAP2_SRAM_PUB_VA (OMAP2_SRAM_VA + 0x800) |
46 | #define OMAP3_SRAM_PA 0x40200000 | 46 | #define OMAP3_SRAM_PA 0x40200000 |
47 | #define OMAP3_SRAM_VA 0xd7000000 | 47 | #define OMAP3_SRAM_VA 0xe3000000 |
48 | #define OMAP3_SRAM_PUB_PA 0x40208000 | 48 | #define OMAP3_SRAM_PUB_PA 0x40208000 |
49 | #define OMAP3_SRAM_PUB_VA 0xd7008000 | 49 | #define OMAP3_SRAM_PUB_VA (OMAP3_SRAM_VA + 0x8000) |
50 | #define OMAP4_SRAM_PA 0x40200000 /*0x402f0000*/ | 50 | #define OMAP4_SRAM_PA 0x40200000 /*0x402f0000*/ |
51 | #define OMAP4_SRAM_VA 0xd7000000 /*0xd70f0000*/ | 51 | #define OMAP4_SRAM_VA 0xd7000000 /*0xd70f0000*/ |
52 | 52 | ||
@@ -373,20 +373,26 @@ static inline int omap243x_sram_init(void) | |||
373 | 373 | ||
374 | #ifdef CONFIG_ARCH_OMAP3 | 374 | #ifdef CONFIG_ARCH_OMAP3 |
375 | 375 | ||
376 | static u32 (*_omap3_sram_configure_core_dpll)(u32 sdrc_rfr_ctrl, | 376 | static u32 (*_omap3_sram_configure_core_dpll)( |
377 | u32 sdrc_actim_ctrla, | 377 | u32 m2, u32 unlock_dll, u32 f, u32 inc, |
378 | u32 sdrc_actim_ctrlb, | 378 | u32 sdrc_rfr_ctrl_0, u32 sdrc_actim_ctrl_a_0, |
379 | u32 m2, u32 unlock_dll, | 379 | u32 sdrc_actim_ctrl_b_0, u32 sdrc_mr_0, |
380 | u32 f, u32 sdrc_mr, u32 inc); | 380 | u32 sdrc_rfr_ctrl_1, u32 sdrc_actim_ctrl_a_1, |
381 | u32 omap3_configure_core_dpll(u32 sdrc_rfr_ctrl, u32 sdrc_actim_ctrla, | 381 | u32 sdrc_actim_ctrl_b_1, u32 sdrc_mr_1); |
382 | u32 sdrc_actim_ctrlb, u32 m2, u32 unlock_dll, | 382 | |
383 | u32 f, u32 sdrc_mr, u32 inc) | 383 | u32 omap3_configure_core_dpll(u32 m2, u32 unlock_dll, u32 f, u32 inc, |
384 | u32 sdrc_rfr_ctrl_0, u32 sdrc_actim_ctrl_a_0, | ||
385 | u32 sdrc_actim_ctrl_b_0, u32 sdrc_mr_0, | ||
386 | u32 sdrc_rfr_ctrl_1, u32 sdrc_actim_ctrl_a_1, | ||
387 | u32 sdrc_actim_ctrl_b_1, u32 sdrc_mr_1) | ||
384 | { | 388 | { |
385 | BUG_ON(!_omap3_sram_configure_core_dpll); | 389 | BUG_ON(!_omap3_sram_configure_core_dpll); |
386 | return _omap3_sram_configure_core_dpll(sdrc_rfr_ctrl, | 390 | return _omap3_sram_configure_core_dpll( |
387 | sdrc_actim_ctrla, | 391 | m2, unlock_dll, f, inc, |
388 | sdrc_actim_ctrlb, m2, | 392 | sdrc_rfr_ctrl_0, sdrc_actim_ctrl_a_0, |
389 | unlock_dll, f, sdrc_mr, inc); | 393 | sdrc_actim_ctrl_b_0, sdrc_mr_0, |
394 | sdrc_rfr_ctrl_1, sdrc_actim_ctrl_a_1, | ||
395 | sdrc_actim_ctrl_b_1, sdrc_mr_1); | ||
390 | } | 396 | } |
391 | 397 | ||
392 | /* REVISIT: Should this be same as omap34xx_sram_init() after off-idle? */ | 398 | /* REVISIT: Should this be same as omap34xx_sram_init() after off-idle? */ |
diff --git a/arch/arm/plat-orion/include/plat/gpio.h b/arch/arm/plat-orion/include/plat/gpio.h index 9646a94ed3d0..07c430fdc9ef 100644 --- a/arch/arm/plat-orion/include/plat/gpio.h +++ b/arch/arm/plat-orion/include/plat/gpio.h | |||
@@ -11,6 +11,8 @@ | |||
11 | #ifndef __PLAT_GPIO_H | 11 | #ifndef __PLAT_GPIO_H |
12 | #define __PLAT_GPIO_H | 12 | #define __PLAT_GPIO_H |
13 | 13 | ||
14 | #include <linux/init.h> | ||
15 | |||
14 | /* | 16 | /* |
15 | * GENERIC_GPIO primitives. | 17 | * GENERIC_GPIO primitives. |
16 | */ | 18 | */ |
diff --git a/arch/arm/plat-s3c/pwm.c b/arch/arm/plat-s3c/pwm.c index f3d37ac5595b..4fdc5b307fd2 100644 --- a/arch/arm/plat-s3c/pwm.c +++ b/arch/arm/plat-s3c/pwm.c | |||
@@ -247,6 +247,10 @@ int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns) | |||
247 | 247 | ||
248 | tcmp = duty_ns / tin_ns; | 248 | tcmp = duty_ns / tin_ns; |
249 | tcmp = tcnt - tcmp; | 249 | tcmp = tcnt - tcmp; |
250 | /* the pwm hw only checks the compare register after a decrement, | ||
251 | so the pin never toggles if tcmp = tcnt */ | ||
252 | if (tcmp == tcnt) | ||
253 | tcmp--; | ||
250 | 254 | ||
251 | pwm_dbg(pwm, "tin_ns=%lu, tcmp=%ld/%lu\n", tin_ns, tcmp, tcnt); | 255 | pwm_dbg(pwm, "tin_ns=%lu, tcmp=%ld/%lu\n", tin_ns, tcmp, tcnt); |
252 | 256 | ||
diff --git a/arch/arm/plat-s3c24xx/clock-dclk.c b/arch/arm/plat-s3c24xx/clock-dclk.c index 5b75a797b5ab..0afb217a775e 100644 --- a/arch/arm/plat-s3c24xx/clock-dclk.c +++ b/arch/arm/plat-s3c24xx/clock-dclk.c | |||
@@ -129,7 +129,7 @@ static int s3c24xx_clkout_setparent(struct clk *clk, struct clk *parent) | |||
129 | 129 | ||
130 | /* calculate the MISCCR setting for the clock */ | 130 | /* calculate the MISCCR setting for the clock */ |
131 | 131 | ||
132 | if (parent == &clk_xtal) | 132 | if (parent == &clk_mpll) |
133 | source = S3C2410_MISCCR_CLK0_MPLL; | 133 | source = S3C2410_MISCCR_CLK0_MPLL; |
134 | else if (parent == &clk_upll) | 134 | else if (parent == &clk_upll) |
135 | source = S3C2410_MISCCR_CLK0_UPLL; | 135 | source = S3C2410_MISCCR_CLK0_UPLL; |
diff --git a/arch/arm/plat-s3c64xx/pm.c b/arch/arm/plat-s3c64xx/pm.c index 07a6516a4f3c..47632fc7eb66 100644 --- a/arch/arm/plat-s3c64xx/pm.c +++ b/arch/arm/plat-s3c64xx/pm.c | |||
@@ -117,8 +117,6 @@ void s3c_pm_save_core(void) | |||
117 | * this. | 117 | * this. |
118 | */ | 118 | */ |
119 | 119 | ||
120 | #include <plat/regs-gpio.h> | ||
121 | |||
122 | static void s3c64xx_cpu_suspend(void) | 120 | static void s3c64xx_cpu_suspend(void) |
123 | { | 121 | { |
124 | unsigned long tmp; | 122 | unsigned long tmp; |