diff options
Diffstat (limited to 'arch')
58 files changed, 5742 insertions, 297 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index d7c0984d4a86..e55bbd32dcac 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -114,9 +114,6 @@ config GENERIC_CALIBRATE_DELAY | |||
114 | bool | 114 | bool |
115 | default y | 115 | default y |
116 | 116 | ||
117 | config GENERIC_BUST_SPINLOCK | ||
118 | bool | ||
119 | |||
120 | config ARCH_MAY_HAVE_PC_FDC | 117 | config ARCH_MAY_HAVE_PC_FDC |
121 | bool | 118 | bool |
122 | 119 | ||
@@ -247,6 +244,15 @@ config ARCH_IMX | |||
247 | help | 244 | help |
248 | Support for Motorola's i.MX family of processors (MX1, MXL). | 245 | Support for Motorola's i.MX family of processors (MX1, MXL). |
249 | 246 | ||
247 | config ARCH_IOP13XX | ||
248 | bool "IOP13xx-based" | ||
249 | depends on MMU | ||
250 | select PLAT_IOP | ||
251 | select PCI | ||
252 | select ARCH_SUPPORTS_MSI | ||
253 | help | ||
254 | Support for Intel's IOP13XX (XScale) family of processors. | ||
255 | |||
250 | config ARCH_IOP32X | 256 | config ARCH_IOP32X |
251 | bool "IOP32x-based" | 257 | bool "IOP32x-based" |
252 | depends on MMU | 258 | depends on MMU |
@@ -264,22 +270,12 @@ config ARCH_IOP33X | |||
264 | help | 270 | help |
265 | Support for Intel's IOP33X (XScale) family of processors. | 271 | Support for Intel's IOP33X (XScale) family of processors. |
266 | 272 | ||
267 | config ARCH_IOP13XX | 273 | config ARCH_IXP23XX |
268 | bool "IOP13xx-based" | 274 | bool "IXP23XX-based" |
269 | depends on MMU | ||
270 | select PLAT_IOP | ||
271 | select PCI | ||
272 | select ARCH_SUPPORTS_MSI | ||
273 | help | ||
274 | Support for Intel's IOP13XX (XScale) family of processors. | ||
275 | |||
276 | config ARCH_IXP4XX | ||
277 | bool "IXP4xx-based" | ||
278 | depends on MMU | 275 | depends on MMU |
279 | select GENERIC_TIME | 276 | select PCI |
280 | select GENERIC_CLOCKEVENTS | ||
281 | help | 277 | help |
282 | Support for Intel's IXP4XX (XScale) family of processors. | 278 | Support for Intel's IXP23xx (XScale) family of processors. |
283 | 279 | ||
284 | config ARCH_IXP2000 | 280 | config ARCH_IXP2000 |
285 | bool "IXP2400/2800-based" | 281 | bool "IXP2400/2800-based" |
@@ -288,12 +284,13 @@ config ARCH_IXP2000 | |||
288 | help | 284 | help |
289 | Support for Intel's IXP2400/2800 (XScale) family of processors. | 285 | Support for Intel's IXP2400/2800 (XScale) family of processors. |
290 | 286 | ||
291 | config ARCH_IXP23XX | 287 | config ARCH_IXP4XX |
292 | bool "IXP23XX-based" | 288 | bool "IXP4xx-based" |
293 | depends on MMU | 289 | depends on MMU |
294 | select PCI | 290 | select GENERIC_TIME |
291 | select GENERIC_CLOCKEVENTS | ||
295 | help | 292 | help |
296 | Support for Intel's IXP23xx (XScale) family of processors. | 293 | Support for Intel's IXP4XX (XScale) family of processors. |
297 | 294 | ||
298 | config ARCH_L7200 | 295 | config ARCH_L7200 |
299 | bool "LinkUp-L7200" | 296 | bool "LinkUp-L7200" |
@@ -308,6 +305,12 @@ config ARCH_L7200 | |||
308 | If you have any questions or comments about the Linux kernel port | 305 | If you have any questions or comments about the Linux kernel port |
309 | to this board, send e-mail to <sjhill@cotw.com>. | 306 | to this board, send e-mail to <sjhill@cotw.com>. |
310 | 307 | ||
308 | config ARCH_KS8695 | ||
309 | bool "Micrel/Kendin KS8695" | ||
310 | help | ||
311 | Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based | ||
312 | System-on-Chip devices. | ||
313 | |||
311 | config ARCH_NS9XXX | 314 | config ARCH_NS9XXX |
312 | bool "NetSilicon NS9xxx" | 315 | bool "NetSilicon NS9xxx" |
313 | help | 316 | help |
@@ -354,7 +357,6 @@ config ARCH_SA1100 | |||
354 | config ARCH_S3C2410 | 357 | config ARCH_S3C2410 |
355 | bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443" | 358 | bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443" |
356 | select GENERIC_GPIO | 359 | select GENERIC_GPIO |
357 | select GENERIC_TIME | ||
358 | help | 360 | help |
359 | Samsung S3C2410X CPU based systems, such as the Simtec Electronics | 361 | Samsung S3C2410X CPU based systems, such as the Simtec Electronics |
360 | BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or | 362 | BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or |
@@ -377,6 +379,13 @@ config ARCH_LH7A40X | |||
377 | core with a wide array of integrated devices for | 379 | core with a wide array of integrated devices for |
378 | hand-held and low-power applications. | 380 | hand-held and low-power applications. |
379 | 381 | ||
382 | config ARCH_DAVINCI | ||
383 | bool "TI DaVinci" | ||
384 | select GENERIC_TIME | ||
385 | select GENERIC_CLOCKEVENTS | ||
386 | help | ||
387 | Support for TI's DaVinci platform. | ||
388 | |||
380 | config ARCH_OMAP | 389 | config ARCH_OMAP |
381 | bool "TI OMAP" | 390 | bool "TI OMAP" |
382 | select GENERIC_GPIO | 391 | select GENERIC_GPIO |
@@ -445,6 +454,10 @@ source "arch/arm/mach-netx/Kconfig" | |||
445 | 454 | ||
446 | source "arch/arm/mach-ns9xxx/Kconfig" | 455 | source "arch/arm/mach-ns9xxx/Kconfig" |
447 | 456 | ||
457 | source "arch/arm/mach-davinci/Kconfig" | ||
458 | |||
459 | source "arch/arm/mach-ks8695/Kconfig" | ||
460 | |||
448 | # Definitions to make life easier | 461 | # Definitions to make life easier |
449 | config ARCH_ACORN | 462 | config ARCH_ACORN |
450 | bool | 463 | bool |
@@ -505,7 +518,7 @@ config ISA_DMA_API | |||
505 | bool | 518 | bool |
506 | 519 | ||
507 | config PCI | 520 | config PCI |
508 | bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX | 521 | bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 |
509 | help | 522 | help |
510 | Find out whether you have a PCI motherboard. PCI is the name of a | 523 | Find out whether you have a PCI motherboard. PCI is the name of a |
511 | bus system, i.e. the way the CPU talks to the other stuff inside | 524 | bus system, i.e. the way the CPU talks to the other stuff inside |
@@ -674,7 +687,8 @@ config LEDS | |||
674 | ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \ | 687 | ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \ |
675 | ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \ | 688 | ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \ |
676 | ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \ | 689 | ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \ |
677 | ARCH_AT91 || MACH_TRIZEPS4 | 690 | ARCH_AT91 || MACH_TRIZEPS4 || ARCH_DAVINCI || \ |
691 | ARCH_KS8695 | ||
678 | help | 692 | help |
679 | If you say Y here, the LEDs on your machine will be used | 693 | If you say Y here, the LEDs on your machine will be used |
680 | to provide useful information about your current system status. | 694 | to provide useful information about your current system status. |
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 00ea4305ad5d..cbd5010d3bc3 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
@@ -135,6 +135,8 @@ endif | |||
135 | machine-$(CONFIG_ARCH_NETX) := netx | 135 | machine-$(CONFIG_ARCH_NETX) := netx |
136 | machine-$(CONFIG_ARCH_NS9XXX) := ns9xxx | 136 | machine-$(CONFIG_ARCH_NS9XXX) := ns9xxx |
137 | textofs-$(CONFIG_ARCH_NS9XXX) := 0x00108000 | 137 | textofs-$(CONFIG_ARCH_NS9XXX) := 0x00108000 |
138 | machine-$(CONFIG_ARCH_DAVINCI) := davinci | ||
139 | machine-$(CONFIG_ARCH_KS8695) := ks8695 | ||
138 | 140 | ||
139 | ifeq ($(CONFIG_ARCH_EBSA110),y) | 141 | ifeq ($(CONFIG_ARCH_EBSA110),y) |
140 | # This is what happens if you forget the IOCS16 line. | 142 | # This is what happens if you forget the IOCS16 line. |
diff --git a/arch/arm/configs/at91sam9rlek_defconfig b/arch/arm/configs/at91sam9rlek_defconfig new file mode 100644 index 000000000000..fbe8b3049343 --- /dev/null +++ b/arch/arm/configs/at91sam9rlek_defconfig | |||
@@ -0,0 +1,957 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.21 | ||
4 | # Mon May 7 16:30:40 2007 | ||
5 | # | ||
6 | CONFIG_ARM=y | ||
7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | ||
8 | CONFIG_GENERIC_GPIO=y | ||
9 | # CONFIG_GENERIC_TIME is not set | ||
10 | CONFIG_MMU=y | ||
11 | # CONFIG_NO_IOPORT is not set | ||
12 | CONFIG_GENERIC_HARDIRQS=y | ||
13 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
14 | CONFIG_HARDIRQS_SW_RESEND=y | ||
15 | CONFIG_GENERIC_IRQ_PROBE=y | ||
16 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
17 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
18 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
19 | CONFIG_GENERIC_HWEIGHT=y | ||
20 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
21 | CONFIG_ZONE_DMA=y | ||
22 | CONFIG_VECTORS_BASE=0xffff0000 | ||
23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
24 | |||
25 | # | ||
26 | # Code maturity level options | ||
27 | # | ||
28 | CONFIG_EXPERIMENTAL=y | ||
29 | CONFIG_BROKEN_ON_SMP=y | ||
30 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
31 | |||
32 | # | ||
33 | # General setup | ||
34 | # | ||
35 | CONFIG_LOCALVERSION="" | ||
36 | # CONFIG_LOCALVERSION_AUTO is not set | ||
37 | # CONFIG_SWAP is not set | ||
38 | CONFIG_SYSVIPC=y | ||
39 | # CONFIG_IPC_NS is not set | ||
40 | CONFIG_SYSVIPC_SYSCTL=y | ||
41 | # CONFIG_POSIX_MQUEUE is not set | ||
42 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
43 | # CONFIG_TASKSTATS is not set | ||
44 | # CONFIG_UTS_NS is not set | ||
45 | # CONFIG_AUDIT is not set | ||
46 | # CONFIG_IKCONFIG is not set | ||
47 | CONFIG_SYSFS_DEPRECATED=y | ||
48 | # CONFIG_RELAY is not set | ||
49 | CONFIG_BLK_DEV_INITRD=y | ||
50 | CONFIG_INITRAMFS_SOURCE="" | ||
51 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
52 | CONFIG_SYSCTL=y | ||
53 | # CONFIG_EMBEDDED is not set | ||
54 | CONFIG_UID16=y | ||
55 | CONFIG_SYSCTL_SYSCALL=y | ||
56 | CONFIG_KALLSYMS=y | ||
57 | # CONFIG_KALLSYMS_ALL is not set | ||
58 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
59 | CONFIG_HOTPLUG=y | ||
60 | CONFIG_PRINTK=y | ||
61 | CONFIG_BUG=y | ||
62 | CONFIG_ELF_CORE=y | ||
63 | CONFIG_BASE_FULL=y | ||
64 | CONFIG_FUTEX=y | ||
65 | CONFIG_EPOLL=y | ||
66 | CONFIG_SHMEM=y | ||
67 | CONFIG_SLAB=y | ||
68 | CONFIG_VM_EVENT_COUNTERS=y | ||
69 | CONFIG_RT_MUTEXES=y | ||
70 | # CONFIG_TINY_SHMEM is not set | ||
71 | CONFIG_BASE_SMALL=0 | ||
72 | # CONFIG_SLOB is not set | ||
73 | |||
74 | # | ||
75 | # Loadable module support | ||
76 | # | ||
77 | CONFIG_MODULES=y | ||
78 | CONFIG_MODULE_UNLOAD=y | ||
79 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
80 | # CONFIG_MODVERSIONS is not set | ||
81 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
82 | CONFIG_KMOD=y | ||
83 | |||
84 | # | ||
85 | # Block layer | ||
86 | # | ||
87 | CONFIG_BLOCK=y | ||
88 | # CONFIG_LBD is not set | ||
89 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
90 | # CONFIG_LSF is not set | ||
91 | |||
92 | # | ||
93 | # IO Schedulers | ||
94 | # | ||
95 | CONFIG_IOSCHED_NOOP=y | ||
96 | CONFIG_IOSCHED_AS=y | ||
97 | # CONFIG_IOSCHED_DEADLINE is not set | ||
98 | # CONFIG_IOSCHED_CFQ is not set | ||
99 | CONFIG_DEFAULT_AS=y | ||
100 | # CONFIG_DEFAULT_DEADLINE is not set | ||
101 | # CONFIG_DEFAULT_CFQ is not set | ||
102 | # CONFIG_DEFAULT_NOOP is not set | ||
103 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
104 | |||
105 | # | ||
106 | # System Type | ||
107 | # | ||
108 | # CONFIG_ARCH_AAEC2000 is not set | ||
109 | # CONFIG_ARCH_INTEGRATOR is not set | ||
110 | # CONFIG_ARCH_REALVIEW is not set | ||
111 | # CONFIG_ARCH_VERSATILE is not set | ||
112 | CONFIG_ARCH_AT91=y | ||
113 | # CONFIG_ARCH_CLPS7500 is not set | ||
114 | # CONFIG_ARCH_CLPS711X is not set | ||
115 | # CONFIG_ARCH_CO285 is not set | ||
116 | # CONFIG_ARCH_EBSA110 is not set | ||
117 | # CONFIG_ARCH_EP93XX is not set | ||
118 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
119 | # CONFIG_ARCH_NETX is not set | ||
120 | # CONFIG_ARCH_H720X is not set | ||
121 | # CONFIG_ARCH_IMX is not set | ||
122 | # CONFIG_ARCH_IOP32X is not set | ||
123 | # CONFIG_ARCH_IOP33X is not set | ||
124 | # CONFIG_ARCH_IOP13XX is not set | ||
125 | # CONFIG_ARCH_IXP4XX is not set | ||
126 | # CONFIG_ARCH_IXP2000 is not set | ||
127 | # CONFIG_ARCH_IXP23XX is not set | ||
128 | # CONFIG_ARCH_L7200 is not set | ||
129 | # CONFIG_ARCH_NS9XXX is not set | ||
130 | # CONFIG_ARCH_PNX4008 is not set | ||
131 | # CONFIG_ARCH_PXA is not set | ||
132 | # CONFIG_ARCH_RPC is not set | ||
133 | # CONFIG_ARCH_SA1100 is not set | ||
134 | # CONFIG_ARCH_S3C2410 is not set | ||
135 | # CONFIG_ARCH_SHARK is not set | ||
136 | # CONFIG_ARCH_LH7A40X is not set | ||
137 | # CONFIG_ARCH_OMAP is not set | ||
138 | |||
139 | # | ||
140 | # Atmel AT91 System-on-Chip | ||
141 | # | ||
142 | # CONFIG_ARCH_AT91RM9200 is not set | ||
143 | # CONFIG_ARCH_AT91SAM9260 is not set | ||
144 | # CONFIG_ARCH_AT91SAM9261 is not set | ||
145 | # CONFIG_ARCH_AT91SAM9263 is not set | ||
146 | CONFIG_ARCH_AT91SAM9RL=y | ||
147 | |||
148 | # | ||
149 | # AT91SAM9RL Board Type | ||
150 | # | ||
151 | CONFIG_MACH_AT91SAM9RLEK=y | ||
152 | |||
153 | # | ||
154 | # AT91 Board Options | ||
155 | # | ||
156 | |||
157 | # | ||
158 | # AT91 Feature Selections | ||
159 | # | ||
160 | # CONFIG_AT91_PROGRAMMABLE_CLOCKS is not set | ||
161 | |||
162 | # | ||
163 | # Processor Type | ||
164 | # | ||
165 | CONFIG_CPU_32=y | ||
166 | CONFIG_CPU_ARM926T=y | ||
167 | CONFIG_CPU_32v5=y | ||
168 | CONFIG_CPU_ABRT_EV5TJ=y | ||
169 | CONFIG_CPU_CACHE_VIVT=y | ||
170 | CONFIG_CPU_COPY_V4WB=y | ||
171 | CONFIG_CPU_TLB_V4WBI=y | ||
172 | CONFIG_CPU_CP15=y | ||
173 | CONFIG_CPU_CP15_MMU=y | ||
174 | |||
175 | # | ||
176 | # Processor Features | ||
177 | # | ||
178 | # CONFIG_ARM_THUMB is not set | ||
179 | # CONFIG_CPU_ICACHE_DISABLE is not set | ||
180 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
181 | # CONFIG_CPU_DCACHE_WRITETHROUGH is not set | ||
182 | # CONFIG_CPU_CACHE_ROUND_ROBIN is not set | ||
183 | # CONFIG_OUTER_CACHE is not set | ||
184 | |||
185 | # | ||
186 | # Bus support | ||
187 | # | ||
188 | |||
189 | # | ||
190 | # PCCARD (PCMCIA/CardBus) support | ||
191 | # | ||
192 | # CONFIG_PCCARD is not set | ||
193 | |||
194 | # | ||
195 | # Kernel Features | ||
196 | # | ||
197 | # CONFIG_PREEMPT is not set | ||
198 | # CONFIG_NO_IDLE_HZ is not set | ||
199 | CONFIG_HZ=100 | ||
200 | # CONFIG_AEABI is not set | ||
201 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | ||
202 | CONFIG_SELECT_MEMORY_MODEL=y | ||
203 | CONFIG_FLATMEM_MANUAL=y | ||
204 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
205 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
206 | CONFIG_FLATMEM=y | ||
207 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
208 | # CONFIG_SPARSEMEM_STATIC is not set | ||
209 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | ||
210 | # CONFIG_RESOURCES_64BIT is not set | ||
211 | CONFIG_ZONE_DMA_FLAG=1 | ||
212 | # CONFIG_LEDS is not set | ||
213 | CONFIG_ALIGNMENT_TRAP=y | ||
214 | |||
215 | # | ||
216 | # Boot options | ||
217 | # | ||
218 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
219 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
220 | CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,17105363 root=/dev/ram0 rw" | ||
221 | # CONFIG_XIP_KERNEL is not set | ||
222 | # CONFIG_KEXEC is not set | ||
223 | |||
224 | # | ||
225 | # Floating point emulation | ||
226 | # | ||
227 | |||
228 | # | ||
229 | # At least one emulation must be selected | ||
230 | # | ||
231 | CONFIG_FPE_NWFPE=y | ||
232 | # CONFIG_FPE_NWFPE_XP is not set | ||
233 | # CONFIG_FPE_FASTFPE is not set | ||
234 | # CONFIG_VFP is not set | ||
235 | |||
236 | # | ||
237 | # Userspace binary formats | ||
238 | # | ||
239 | CONFIG_BINFMT_ELF=y | ||
240 | # CONFIG_BINFMT_AOUT is not set | ||
241 | # CONFIG_BINFMT_MISC is not set | ||
242 | # CONFIG_ARTHUR is not set | ||
243 | |||
244 | # | ||
245 | # Power management options | ||
246 | # | ||
247 | # CONFIG_PM is not set | ||
248 | |||
249 | # | ||
250 | # Networking | ||
251 | # | ||
252 | CONFIG_NET=y | ||
253 | |||
254 | # | ||
255 | # Networking options | ||
256 | # | ||
257 | # CONFIG_NETDEBUG is not set | ||
258 | # CONFIG_PACKET is not set | ||
259 | CONFIG_UNIX=y | ||
260 | # CONFIG_NET_KEY is not set | ||
261 | # CONFIG_INET is not set | ||
262 | # CONFIG_NETWORK_SECMARK is not set | ||
263 | # CONFIG_NETFILTER is not set | ||
264 | # CONFIG_ATM is not set | ||
265 | # CONFIG_BRIDGE is not set | ||
266 | # CONFIG_VLAN_8021Q is not set | ||
267 | # CONFIG_DECNET is not set | ||
268 | # CONFIG_LLC2 is not set | ||
269 | # CONFIG_IPX is not set | ||
270 | # CONFIG_ATALK is not set | ||
271 | # CONFIG_X25 is not set | ||
272 | # CONFIG_LAPB is not set | ||
273 | # CONFIG_WAN_ROUTER is not set | ||
274 | |||
275 | # | ||
276 | # QoS and/or fair queueing | ||
277 | # | ||
278 | # CONFIG_NET_SCHED is not set | ||
279 | |||
280 | # | ||
281 | # Network testing | ||
282 | # | ||
283 | # CONFIG_NET_PKTGEN is not set | ||
284 | # CONFIG_HAMRADIO is not set | ||
285 | # CONFIG_IRDA is not set | ||
286 | # CONFIG_BT is not set | ||
287 | # CONFIG_IEEE80211 is not set | ||
288 | |||
289 | # | ||
290 | # Device Drivers | ||
291 | # | ||
292 | |||
293 | # | ||
294 | # Generic Driver Options | ||
295 | # | ||
296 | CONFIG_STANDALONE=y | ||
297 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
298 | # CONFIG_FW_LOADER is not set | ||
299 | # CONFIG_DEBUG_DRIVER is not set | ||
300 | # CONFIG_DEBUG_DEVRES is not set | ||
301 | # CONFIG_SYS_HYPERVISOR is not set | ||
302 | |||
303 | # | ||
304 | # Connector - unified userspace <-> kernelspace linker | ||
305 | # | ||
306 | # CONFIG_CONNECTOR is not set | ||
307 | |||
308 | # | ||
309 | # Memory Technology Devices (MTD) | ||
310 | # | ||
311 | CONFIG_MTD=y | ||
312 | # CONFIG_MTD_DEBUG is not set | ||
313 | CONFIG_MTD_CONCAT=y | ||
314 | CONFIG_MTD_PARTITIONS=y | ||
315 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
316 | CONFIG_MTD_CMDLINE_PARTS=y | ||
317 | # CONFIG_MTD_AFS_PARTS is not set | ||
318 | |||
319 | # | ||
320 | # User Modules And Translation Layers | ||
321 | # | ||
322 | CONFIG_MTD_CHAR=y | ||
323 | CONFIG_MTD_BLKDEVS=y | ||
324 | CONFIG_MTD_BLOCK=y | ||
325 | # CONFIG_FTL is not set | ||
326 | # CONFIG_NFTL is not set | ||
327 | # CONFIG_INFTL is not set | ||
328 | # CONFIG_RFD_FTL is not set | ||
329 | # CONFIG_SSFDC is not set | ||
330 | |||
331 | # | ||
332 | # RAM/ROM/Flash chip drivers | ||
333 | # | ||
334 | # CONFIG_MTD_CFI is not set | ||
335 | # CONFIG_MTD_JEDECPROBE is not set | ||
336 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
337 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
338 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
339 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
340 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
341 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
342 | CONFIG_MTD_CFI_I1=y | ||
343 | CONFIG_MTD_CFI_I2=y | ||
344 | # CONFIG_MTD_CFI_I4 is not set | ||
345 | # CONFIG_MTD_CFI_I8 is not set | ||
346 | # CONFIG_MTD_RAM is not set | ||
347 | # CONFIG_MTD_ROM is not set | ||
348 | # CONFIG_MTD_ABSENT is not set | ||
349 | # CONFIG_MTD_OBSOLETE_CHIPS is not set | ||
350 | |||
351 | # | ||
352 | # Mapping drivers for chip access | ||
353 | # | ||
354 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
355 | # CONFIG_MTD_PLATRAM is not set | ||
356 | |||
357 | # | ||
358 | # Self-contained MTD device drivers | ||
359 | # | ||
360 | CONFIG_MTD_DATAFLASH=y | ||
361 | # CONFIG_MTD_M25P80 is not set | ||
362 | # CONFIG_MTD_SLRAM is not set | ||
363 | # CONFIG_MTD_PHRAM is not set | ||
364 | # CONFIG_MTD_MTDRAM is not set | ||
365 | # CONFIG_MTD_BLOCK2MTD is not set | ||
366 | |||
367 | # | ||
368 | # Disk-On-Chip Device Drivers | ||
369 | # | ||
370 | # CONFIG_MTD_DOC2000 is not set | ||
371 | # CONFIG_MTD_DOC2001 is not set | ||
372 | # CONFIG_MTD_DOC2001PLUS is not set | ||
373 | |||
374 | # | ||
375 | # NAND Flash Device Drivers | ||
376 | # | ||
377 | CONFIG_MTD_NAND=y | ||
378 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
379 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
380 | CONFIG_MTD_NAND_IDS=y | ||
381 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
382 | CONFIG_MTD_NAND_AT91=y | ||
383 | # CONFIG_MTD_NAND_NANDSIM is not set | ||
384 | |||
385 | # | ||
386 | # OneNAND Flash Device Drivers | ||
387 | # | ||
388 | # CONFIG_MTD_ONENAND is not set | ||
389 | |||
390 | # | ||
391 | # Parallel port support | ||
392 | # | ||
393 | # CONFIG_PARPORT is not set | ||
394 | |||
395 | # | ||
396 | # Plug and Play support | ||
397 | # | ||
398 | # CONFIG_PNPACPI is not set | ||
399 | |||
400 | # | ||
401 | # Block devices | ||
402 | # | ||
403 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
404 | CONFIG_BLK_DEV_LOOP=y | ||
405 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
406 | # CONFIG_BLK_DEV_NBD is not set | ||
407 | CONFIG_BLK_DEV_RAM=y | ||
408 | CONFIG_BLK_DEV_RAM_COUNT=4 | ||
409 | CONFIG_BLK_DEV_RAM_SIZE=24576 | ||
410 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
411 | # CONFIG_CDROM_PKTCDVD is not set | ||
412 | # CONFIG_ATA_OVER_ETH is not set | ||
413 | |||
414 | # | ||
415 | # SCSI device support | ||
416 | # | ||
417 | # CONFIG_RAID_ATTRS is not set | ||
418 | CONFIG_SCSI=y | ||
419 | # CONFIG_SCSI_TGT is not set | ||
420 | # CONFIG_SCSI_NETLINK is not set | ||
421 | CONFIG_SCSI_PROC_FS=y | ||
422 | |||
423 | # | ||
424 | # SCSI support type (disk, tape, CD-ROM) | ||
425 | # | ||
426 | CONFIG_BLK_DEV_SD=y | ||
427 | # CONFIG_CHR_DEV_ST is not set | ||
428 | # CONFIG_CHR_DEV_OSST is not set | ||
429 | # CONFIG_BLK_DEV_SR is not set | ||
430 | # CONFIG_CHR_DEV_SG is not set | ||
431 | # CONFIG_CHR_DEV_SCH is not set | ||
432 | |||
433 | # | ||
434 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
435 | # | ||
436 | CONFIG_SCSI_MULTI_LUN=y | ||
437 | # CONFIG_SCSI_CONSTANTS is not set | ||
438 | # CONFIG_SCSI_LOGGING is not set | ||
439 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
440 | |||
441 | # | ||
442 | # SCSI Transports | ||
443 | # | ||
444 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
445 | # CONFIG_SCSI_FC_ATTRS is not set | ||
446 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
447 | # CONFIG_SCSI_SAS_ATTRS is not set | ||
448 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
449 | |||
450 | # | ||
451 | # SCSI low-level drivers | ||
452 | # | ||
453 | # CONFIG_SCSI_DEBUG is not set | ||
454 | |||
455 | # | ||
456 | # Serial ATA (prod) and Parallel ATA (experimental) drivers | ||
457 | # | ||
458 | # CONFIG_ATA is not set | ||
459 | |||
460 | # | ||
461 | # Multi-device support (RAID and LVM) | ||
462 | # | ||
463 | # CONFIG_MD is not set | ||
464 | |||
465 | # | ||
466 | # Fusion MPT device support | ||
467 | # | ||
468 | # CONFIG_FUSION is not set | ||
469 | |||
470 | # | ||
471 | # IEEE 1394 (FireWire) support | ||
472 | # | ||
473 | |||
474 | # | ||
475 | # I2O device support | ||
476 | # | ||
477 | |||
478 | # | ||
479 | # Network device support | ||
480 | # | ||
481 | # CONFIG_NETDEVICES is not set | ||
482 | # CONFIG_NETPOLL is not set | ||
483 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
484 | |||
485 | # | ||
486 | # ISDN subsystem | ||
487 | # | ||
488 | # CONFIG_ISDN is not set | ||
489 | |||
490 | # | ||
491 | # Input device support | ||
492 | # | ||
493 | CONFIG_INPUT=y | ||
494 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
495 | |||
496 | # | ||
497 | # Userland interfaces | ||
498 | # | ||
499 | CONFIG_INPUT_MOUSEDEV=y | ||
500 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
501 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=320 | ||
502 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240 | ||
503 | # CONFIG_INPUT_JOYDEV is not set | ||
504 | # CONFIG_INPUT_TSDEV is not set | ||
505 | CONFIG_INPUT_EVDEV=y | ||
506 | # CONFIG_INPUT_EVBUG is not set | ||
507 | |||
508 | # | ||
509 | # Input Device Drivers | ||
510 | # | ||
511 | # CONFIG_INPUT_KEYBOARD is not set | ||
512 | # CONFIG_INPUT_MOUSE is not set | ||
513 | # CONFIG_INPUT_JOYSTICK is not set | ||
514 | CONFIG_INPUT_TOUCHSCREEN=y | ||
515 | # CONFIG_TOUCHSCREEN_ADS7846 is not set | ||
516 | # CONFIG_TOUCHSCREEN_GUNZE is not set | ||
517 | # CONFIG_TOUCHSCREEN_ELO is not set | ||
518 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | ||
519 | # CONFIG_TOUCHSCREEN_MK712 is not set | ||
520 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set | ||
521 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set | ||
522 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set | ||
523 | # CONFIG_TOUCHSCREEN_UCB1400 is not set | ||
524 | # CONFIG_INPUT_MISC is not set | ||
525 | |||
526 | # | ||
527 | # Hardware I/O ports | ||
528 | # | ||
529 | # CONFIG_SERIO is not set | ||
530 | # CONFIG_GAMEPORT is not set | ||
531 | |||
532 | # | ||
533 | # Character devices | ||
534 | # | ||
535 | CONFIG_VT=y | ||
536 | CONFIG_VT_CONSOLE=y | ||
537 | CONFIG_HW_CONSOLE=y | ||
538 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
539 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
540 | |||
541 | # | ||
542 | # Serial drivers | ||
543 | # | ||
544 | # CONFIG_SERIAL_8250 is not set | ||
545 | |||
546 | # | ||
547 | # Non-8250 serial port support | ||
548 | # | ||
549 | CONFIG_SERIAL_ATMEL=y | ||
550 | CONFIG_SERIAL_ATMEL_CONSOLE=y | ||
551 | # CONFIG_SERIAL_ATMEL_TTYAT is not set | ||
552 | CONFIG_SERIAL_CORE=y | ||
553 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
554 | CONFIG_UNIX98_PTYS=y | ||
555 | CONFIG_LEGACY_PTYS=y | ||
556 | CONFIG_LEGACY_PTY_COUNT=256 | ||
557 | |||
558 | # | ||
559 | # IPMI | ||
560 | # | ||
561 | # CONFIG_IPMI_HANDLER is not set | ||
562 | |||
563 | # | ||
564 | # Watchdog Cards | ||
565 | # | ||
566 | CONFIG_WATCHDOG=y | ||
567 | CONFIG_WATCHDOG_NOWAYOUT=y | ||
568 | |||
569 | # | ||
570 | # Watchdog Device Drivers | ||
571 | # | ||
572 | # CONFIG_SOFT_WATCHDOG is not set | ||
573 | CONFIG_HW_RANDOM=y | ||
574 | # CONFIG_NVRAM is not set | ||
575 | # CONFIG_DTLK is not set | ||
576 | # CONFIG_R3964 is not set | ||
577 | # CONFIG_RAW_DRIVER is not set | ||
578 | |||
579 | # | ||
580 | # TPM devices | ||
581 | # | ||
582 | # CONFIG_TCG_TPM is not set | ||
583 | |||
584 | # | ||
585 | # I2C support | ||
586 | # | ||
587 | # CONFIG_I2C is not set | ||
588 | |||
589 | # | ||
590 | # SPI support | ||
591 | # | ||
592 | CONFIG_SPI=y | ||
593 | # CONFIG_SPI_DEBUG is not set | ||
594 | CONFIG_SPI_MASTER=y | ||
595 | |||
596 | # | ||
597 | # SPI Master Controller Drivers | ||
598 | # | ||
599 | CONFIG_SPI_ATMEL=y | ||
600 | # CONFIG_SPI_BITBANG is not set | ||
601 | |||
602 | # | ||
603 | # SPI Protocol Masters | ||
604 | # | ||
605 | # CONFIG_SPI_AT25 is not set | ||
606 | |||
607 | # | ||
608 | # Dallas's 1-wire bus | ||
609 | # | ||
610 | # CONFIG_W1 is not set | ||
611 | |||
612 | # | ||
613 | # Hardware Monitoring support | ||
614 | # | ||
615 | # CONFIG_HWMON is not set | ||
616 | # CONFIG_HWMON_VID is not set | ||
617 | |||
618 | # | ||
619 | # Misc devices | ||
620 | # | ||
621 | |||
622 | # | ||
623 | # Multifunction device drivers | ||
624 | # | ||
625 | # CONFIG_MFD_SM501 is not set | ||
626 | |||
627 | # | ||
628 | # LED devices | ||
629 | # | ||
630 | # CONFIG_NEW_LEDS is not set | ||
631 | |||
632 | # | ||
633 | # LED drivers | ||
634 | # | ||
635 | |||
636 | # | ||
637 | # LED Triggers | ||
638 | # | ||
639 | |||
640 | # | ||
641 | # Multimedia devices | ||
642 | # | ||
643 | # CONFIG_VIDEO_DEV is not set | ||
644 | |||
645 | # | ||
646 | # Digital Video Broadcasting Devices | ||
647 | # | ||
648 | |||
649 | # | ||
650 | # Graphics support | ||
651 | # | ||
652 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
653 | CONFIG_FB=y | ||
654 | # CONFIG_FIRMWARE_EDID is not set | ||
655 | # CONFIG_FB_DDC is not set | ||
656 | CONFIG_FB_CFB_FILLRECT=y | ||
657 | CONFIG_FB_CFB_COPYAREA=y | ||
658 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
659 | # CONFIG_FB_SVGALIB is not set | ||
660 | # CONFIG_FB_MACMODES is not set | ||
661 | # CONFIG_FB_BACKLIGHT is not set | ||
662 | # CONFIG_FB_MODE_HELPERS is not set | ||
663 | # CONFIG_FB_TILEBLITTING is not set | ||
664 | |||
665 | # | ||
666 | # Frame buffer hardware drivers | ||
667 | # | ||
668 | # CONFIG_FB_S1D13XXX is not set | ||
669 | CONFIG_FB_ATMEL=y | ||
670 | # CONFIG_FB_VIRTUAL is not set | ||
671 | |||
672 | # | ||
673 | # Console display driver support | ||
674 | # | ||
675 | # CONFIG_VGA_CONSOLE is not set | ||
676 | CONFIG_DUMMY_CONSOLE=y | ||
677 | # CONFIG_FRAMEBUFFER_CONSOLE is not set | ||
678 | |||
679 | # | ||
680 | # Logo configuration | ||
681 | # | ||
682 | # CONFIG_LOGO is not set | ||
683 | |||
684 | # | ||
685 | # Sound | ||
686 | # | ||
687 | CONFIG_SOUND=y | ||
688 | |||
689 | # | ||
690 | # Advanced Linux Sound Architecture | ||
691 | # | ||
692 | CONFIG_SND=y | ||
693 | CONFIG_SND_TIMER=y | ||
694 | CONFIG_SND_PCM=y | ||
695 | CONFIG_SND_SEQUENCER=y | ||
696 | CONFIG_SND_SEQ_DUMMY=y | ||
697 | CONFIG_SND_OSSEMUL=y | ||
698 | CONFIG_SND_MIXER_OSS=y | ||
699 | CONFIG_SND_PCM_OSS=y | ||
700 | CONFIG_SND_PCM_OSS_PLUGINS=y | ||
701 | CONFIG_SND_SEQUENCER_OSS=y | ||
702 | # CONFIG_SND_DYNAMIC_MINORS is not set | ||
703 | CONFIG_SND_SUPPORT_OLD_API=y | ||
704 | CONFIG_SND_VERBOSE_PROCFS=y | ||
705 | CONFIG_SND_VERBOSE_PRINTK=y | ||
706 | CONFIG_SND_DEBUG=y | ||
707 | CONFIG_SND_DEBUG_DETECT=y | ||
708 | # CONFIG_SND_PCM_XRUN_DEBUG is not set | ||
709 | |||
710 | # | ||
711 | # Generic devices | ||
712 | # | ||
713 | # CONFIG_SND_DUMMY is not set | ||
714 | # CONFIG_SND_VIRMIDI is not set | ||
715 | # CONFIG_SND_MTPAV is not set | ||
716 | # CONFIG_SND_SERIAL_U16550 is not set | ||
717 | # CONFIG_SND_MPU401 is not set | ||
718 | |||
719 | # | ||
720 | # ALSA ARM devices | ||
721 | # | ||
722 | |||
723 | # | ||
724 | # SoC audio support | ||
725 | # | ||
726 | # CONFIG_SND_SOC is not set | ||
727 | |||
728 | # | ||
729 | # Open Sound System | ||
730 | # | ||
731 | # CONFIG_SOUND_PRIME is not set | ||
732 | |||
733 | # | ||
734 | # HID Devices | ||
735 | # | ||
736 | CONFIG_HID=y | ||
737 | # CONFIG_HID_DEBUG is not set | ||
738 | |||
739 | # | ||
740 | # USB support | ||
741 | # | ||
742 | CONFIG_USB_ARCH_HAS_HCD=y | ||
743 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
744 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
745 | # CONFIG_USB is not set | ||
746 | |||
747 | # | ||
748 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
749 | # | ||
750 | |||
751 | # | ||
752 | # USB Gadget Support | ||
753 | # | ||
754 | # CONFIG_USB_GADGET is not set | ||
755 | |||
756 | # | ||
757 | # MMC/SD Card support | ||
758 | # | ||
759 | CONFIG_MMC=y | ||
760 | # CONFIG_MMC_DEBUG is not set | ||
761 | CONFIG_MMC_BLOCK=y | ||
762 | CONFIG_MMC_AT91=y | ||
763 | |||
764 | # | ||
765 | # Real Time Clock | ||
766 | # | ||
767 | CONFIG_RTC_LIB=y | ||
768 | # CONFIG_RTC_CLASS is not set | ||
769 | |||
770 | # | ||
771 | # File systems | ||
772 | # | ||
773 | CONFIG_EXT2_FS=y | ||
774 | # CONFIG_EXT2_FS_XATTR is not set | ||
775 | # CONFIG_EXT2_FS_XIP is not set | ||
776 | # CONFIG_EXT3_FS is not set | ||
777 | # CONFIG_EXT4DEV_FS is not set | ||
778 | # CONFIG_REISERFS_FS is not set | ||
779 | # CONFIG_JFS_FS is not set | ||
780 | # CONFIG_FS_POSIX_ACL is not set | ||
781 | # CONFIG_XFS_FS is not set | ||
782 | # CONFIG_GFS2_FS is not set | ||
783 | # CONFIG_OCFS2_FS is not set | ||
784 | # CONFIG_MINIX_FS is not set | ||
785 | # CONFIG_ROMFS_FS is not set | ||
786 | CONFIG_INOTIFY=y | ||
787 | CONFIG_INOTIFY_USER=y | ||
788 | # CONFIG_QUOTA is not set | ||
789 | CONFIG_DNOTIFY=y | ||
790 | # CONFIG_AUTOFS_FS is not set | ||
791 | # CONFIG_AUTOFS4_FS is not set | ||
792 | # CONFIG_FUSE_FS is not set | ||
793 | |||
794 | # | ||
795 | # CD-ROM/DVD Filesystems | ||
796 | # | ||
797 | # CONFIG_ISO9660_FS is not set | ||
798 | # CONFIG_UDF_FS is not set | ||
799 | |||
800 | # | ||
801 | # DOS/FAT/NT Filesystems | ||
802 | # | ||
803 | CONFIG_FAT_FS=y | ||
804 | CONFIG_MSDOS_FS=y | ||
805 | CONFIG_VFAT_FS=y | ||
806 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
807 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
808 | # CONFIG_NTFS_FS is not set | ||
809 | |||
810 | # | ||
811 | # Pseudo filesystems | ||
812 | # | ||
813 | CONFIG_PROC_FS=y | ||
814 | CONFIG_PROC_SYSCTL=y | ||
815 | CONFIG_SYSFS=y | ||
816 | CONFIG_TMPFS=y | ||
817 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
818 | # CONFIG_HUGETLB_PAGE is not set | ||
819 | CONFIG_RAMFS=y | ||
820 | # CONFIG_CONFIGFS_FS is not set | ||
821 | |||
822 | # | ||
823 | # Miscellaneous filesystems | ||
824 | # | ||
825 | # CONFIG_ADFS_FS is not set | ||
826 | # CONFIG_AFFS_FS is not set | ||
827 | # CONFIG_HFS_FS is not set | ||
828 | # CONFIG_HFSPLUS_FS is not set | ||
829 | # CONFIG_BEFS_FS is not set | ||
830 | # CONFIG_BFS_FS is not set | ||
831 | # CONFIG_EFS_FS is not set | ||
832 | # CONFIG_JFFS2_FS is not set | ||
833 | CONFIG_CRAMFS=y | ||
834 | # CONFIG_VXFS_FS is not set | ||
835 | # CONFIG_HPFS_FS is not set | ||
836 | # CONFIG_QNX4FS_FS is not set | ||
837 | # CONFIG_SYSV_FS is not set | ||
838 | # CONFIG_UFS_FS is not set | ||
839 | |||
840 | # | ||
841 | # Network File Systems | ||
842 | # | ||
843 | |||
844 | # | ||
845 | # Partition Types | ||
846 | # | ||
847 | # CONFIG_PARTITION_ADVANCED is not set | ||
848 | CONFIG_MSDOS_PARTITION=y | ||
849 | |||
850 | # | ||
851 | # Native Language Support | ||
852 | # | ||
853 | CONFIG_NLS=y | ||
854 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
855 | CONFIG_NLS_CODEPAGE_437=y | ||
856 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
857 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
858 | CONFIG_NLS_CODEPAGE_850=y | ||
859 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
860 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
861 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
862 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
863 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
864 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
865 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
866 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
867 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
868 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
869 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
870 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
871 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
872 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
873 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
874 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
875 | # CONFIG_NLS_ISO8859_8 is not set | ||
876 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
877 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
878 | # CONFIG_NLS_ASCII is not set | ||
879 | CONFIG_NLS_ISO8859_1=y | ||
880 | # CONFIG_NLS_ISO8859_2 is not set | ||
881 | # CONFIG_NLS_ISO8859_3 is not set | ||
882 | # CONFIG_NLS_ISO8859_4 is not set | ||
883 | # CONFIG_NLS_ISO8859_5 is not set | ||
884 | # CONFIG_NLS_ISO8859_6 is not set | ||
885 | # CONFIG_NLS_ISO8859_7 is not set | ||
886 | # CONFIG_NLS_ISO8859_9 is not set | ||
887 | # CONFIG_NLS_ISO8859_13 is not set | ||
888 | # CONFIG_NLS_ISO8859_14 is not set | ||
889 | CONFIG_NLS_ISO8859_15=y | ||
890 | # CONFIG_NLS_KOI8_R is not set | ||
891 | # CONFIG_NLS_KOI8_U is not set | ||
892 | CONFIG_NLS_UTF8=y | ||
893 | |||
894 | # | ||
895 | # Profiling support | ||
896 | # | ||
897 | # CONFIG_PROFILING is not set | ||
898 | |||
899 | # | ||
900 | # Kernel hacking | ||
901 | # | ||
902 | # CONFIG_PRINTK_TIME is not set | ||
903 | CONFIG_ENABLE_MUST_CHECK=y | ||
904 | # CONFIG_MAGIC_SYSRQ is not set | ||
905 | # CONFIG_UNUSED_SYMBOLS is not set | ||
906 | # CONFIG_DEBUG_FS is not set | ||
907 | # CONFIG_HEADERS_CHECK is not set | ||
908 | CONFIG_DEBUG_KERNEL=y | ||
909 | # CONFIG_DEBUG_SHIRQ is not set | ||
910 | CONFIG_LOG_BUF_SHIFT=14 | ||
911 | CONFIG_DETECT_SOFTLOCKUP=y | ||
912 | # CONFIG_SCHEDSTATS is not set | ||
913 | # CONFIG_TIMER_STATS is not set | ||
914 | # CONFIG_DEBUG_SLAB is not set | ||
915 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
916 | # CONFIG_RT_MUTEX_TESTER is not set | ||
917 | # CONFIG_DEBUG_SPINLOCK is not set | ||
918 | # CONFIG_DEBUG_MUTEXES is not set | ||
919 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
920 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
921 | # CONFIG_DEBUG_KOBJECT is not set | ||
922 | CONFIG_DEBUG_BUGVERBOSE=y | ||
923 | CONFIG_DEBUG_INFO=y | ||
924 | # CONFIG_DEBUG_VM is not set | ||
925 | # CONFIG_DEBUG_LIST is not set | ||
926 | CONFIG_FRAME_POINTER=y | ||
927 | CONFIG_FORCED_INLINING=y | ||
928 | # CONFIG_RCU_TORTURE_TEST is not set | ||
929 | # CONFIG_FAULT_INJECTION is not set | ||
930 | CONFIG_DEBUG_USER=y | ||
931 | # CONFIG_DEBUG_ERRORS is not set | ||
932 | CONFIG_DEBUG_LL=y | ||
933 | # CONFIG_DEBUG_ICEDCC is not set | ||
934 | |||
935 | # | ||
936 | # Security options | ||
937 | # | ||
938 | # CONFIG_KEYS is not set | ||
939 | # CONFIG_SECURITY is not set | ||
940 | |||
941 | # | ||
942 | # Cryptographic options | ||
943 | # | ||
944 | # CONFIG_CRYPTO is not set | ||
945 | |||
946 | # | ||
947 | # Library routines | ||
948 | # | ||
949 | CONFIG_BITREVERSE=y | ||
950 | # CONFIG_CRC_CCITT is not set | ||
951 | # CONFIG_CRC16 is not set | ||
952 | CONFIG_CRC32=y | ||
953 | # CONFIG_LIBCRC32C is not set | ||
954 | CONFIG_ZLIB_INFLATE=y | ||
955 | CONFIG_PLIST=y | ||
956 | CONFIG_HAS_IOMEM=y | ||
957 | CONFIG_HAS_IOPORT=y | ||
diff --git a/arch/arm/configs/ks8695_defconfig b/arch/arm/configs/ks8695_defconfig new file mode 100644 index 000000000000..8ab21a0719e9 --- /dev/null +++ b/arch/arm/configs/ks8695_defconfig | |||
@@ -0,0 +1,880 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.17-rc4 | ||
4 | # Thu May 25 15:42:51 2006 | ||
5 | # | ||
6 | CONFIG_ARM=y | ||
7 | CONFIG_MMU=y | ||
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
9 | CONFIG_GENERIC_HWEIGHT=y | ||
10 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
11 | CONFIG_VECTORS_BASE=0xffff0000 | ||
12 | |||
13 | # | ||
14 | # Code maturity level options | ||
15 | # | ||
16 | CONFIG_EXPERIMENTAL=y | ||
17 | CONFIG_BROKEN_ON_SMP=y | ||
18 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
19 | |||
20 | # | ||
21 | # General setup | ||
22 | # | ||
23 | CONFIG_LOCALVERSION="" | ||
24 | CONFIG_LOCALVERSION_AUTO=y | ||
25 | # CONFIG_SWAP is not set | ||
26 | CONFIG_SYSVIPC=y | ||
27 | # CONFIG_POSIX_MQUEUE is not set | ||
28 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
29 | CONFIG_SYSCTL=y | ||
30 | # CONFIG_AUDIT is not set | ||
31 | # CONFIG_IKCONFIG is not set | ||
32 | # CONFIG_RELAY is not set | ||
33 | CONFIG_INITRAMFS_SOURCE="" | ||
34 | CONFIG_UID16=y | ||
35 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
36 | # CONFIG_EMBEDDED is not set | ||
37 | CONFIG_KALLSYMS=y | ||
38 | # CONFIG_KALLSYMS_ALL is not set | ||
39 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
40 | CONFIG_HOTPLUG=y | ||
41 | CONFIG_PRINTK=y | ||
42 | CONFIG_BUG=y | ||
43 | CONFIG_ELF_CORE=y | ||
44 | CONFIG_BASE_FULL=y | ||
45 | CONFIG_FUTEX=y | ||
46 | CONFIG_EPOLL=y | ||
47 | CONFIG_SHMEM=y | ||
48 | CONFIG_SLAB=y | ||
49 | # CONFIG_TINY_SHMEM is not set | ||
50 | CONFIG_BASE_SMALL=0 | ||
51 | # CONFIG_SLOB is not set | ||
52 | CONFIG_OBSOLETE_INTERMODULE=y | ||
53 | |||
54 | # | ||
55 | # Loadable module support | ||
56 | # | ||
57 | CONFIG_MODULES=y | ||
58 | CONFIG_MODULE_UNLOAD=y | ||
59 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
60 | # CONFIG_MODVERSIONS is not set | ||
61 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
62 | CONFIG_KMOD=y | ||
63 | |||
64 | # | ||
65 | # Block layer | ||
66 | # | ||
67 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
68 | |||
69 | # | ||
70 | # IO Schedulers | ||
71 | # | ||
72 | CONFIG_IOSCHED_NOOP=y | ||
73 | CONFIG_IOSCHED_AS=y | ||
74 | # CONFIG_IOSCHED_DEADLINE is not set | ||
75 | # CONFIG_IOSCHED_CFQ is not set | ||
76 | CONFIG_DEFAULT_AS=y | ||
77 | # CONFIG_DEFAULT_DEADLINE is not set | ||
78 | # CONFIG_DEFAULT_CFQ is not set | ||
79 | # CONFIG_DEFAULT_NOOP is not set | ||
80 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
81 | |||
82 | # | ||
83 | # System Type | ||
84 | # | ||
85 | # CONFIG_ARCH_CLPS7500 is not set | ||
86 | # CONFIG_ARCH_CLPS711X is not set | ||
87 | # CONFIG_ARCH_CO285 is not set | ||
88 | # CONFIG_ARCH_EBSA110 is not set | ||
89 | # CONFIG_ARCH_EP93XX is not set | ||
90 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
91 | # CONFIG_ARCH_INTEGRATOR is not set | ||
92 | # CONFIG_ARCH_IOP3XX is not set | ||
93 | # CONFIG_ARCH_IXP4XX is not set | ||
94 | # CONFIG_ARCH_IXP2000 is not set | ||
95 | # CONFIG_ARCH_IXP23XX is not set | ||
96 | # CONFIG_ARCH_L7200 is not set | ||
97 | # CONFIG_ARCH_PXA is not set | ||
98 | # CONFIG_ARCH_RPC is not set | ||
99 | # CONFIG_ARCH_SA1100 is not set | ||
100 | # CONFIG_ARCH_S3C2410 is not set | ||
101 | # CONFIG_ARCH_SHARK is not set | ||
102 | # CONFIG_ARCH_LH7A40X is not set | ||
103 | # CONFIG_ARCH_OMAP is not set | ||
104 | # CONFIG_ARCH_VERSATILE is not set | ||
105 | # CONFIG_ARCH_REALVIEW is not set | ||
106 | # CONFIG_ARCH_IMX is not set | ||
107 | # CONFIG_ARCH_H720X is not set | ||
108 | # CONFIG_ARCH_AAEC2000 is not set | ||
109 | # CONFIG_ARCH_AT91 is not set | ||
110 | CONFIG_ARCH_KS8695=y | ||
111 | |||
112 | # | ||
113 | # Kendin/Micrel KS8695 Implementations | ||
114 | # | ||
115 | CONFIG_MACH_KS8695=y | ||
116 | # CONFIG_MACH_DSM320 is not set | ||
117 | # CONFIG_MACH_CM4002 is not set | ||
118 | # CONFIG_MACH_CM4008 is not set | ||
119 | # CONFIG_MACH_CM40xx is not set | ||
120 | # CONFIG_MACH_LITE300 is not set | ||
121 | # CONFIG_MACH_SE4200 is not set | ||
122 | # CONFIG_MACH_MANGA_KS8695 is not set | ||
123 | |||
124 | # | ||
125 | # Processor Type | ||
126 | # | ||
127 | CONFIG_CPU_32=y | ||
128 | CONFIG_CPU_ARM922T=y | ||
129 | CONFIG_CPU_32v4=y | ||
130 | CONFIG_CPU_ABRT_EV4T=y | ||
131 | CONFIG_CPU_CACHE_V4WT=y | ||
132 | CONFIG_CPU_CACHE_VIVT=y | ||
133 | CONFIG_CPU_COPY_V4WB=y | ||
134 | CONFIG_CPU_TLB_V4WBI=y | ||
135 | |||
136 | # | ||
137 | # Processor Features | ||
138 | # | ||
139 | # CONFIG_ARM_THUMB is not set | ||
140 | # CONFIG_CPU_ICACHE_DISABLE is not set | ||
141 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
142 | # CONFIG_CPU_DCACHE_WRITETHROUGH is not set | ||
143 | |||
144 | # | ||
145 | # Bus support | ||
146 | # | ||
147 | CONFIG_PCI=y | ||
148 | CONFIG_PCI_DEBUG=y | ||
149 | |||
150 | # | ||
151 | # PCCARD (PCMCIA/CardBus) support | ||
152 | # | ||
153 | CONFIG_PCCARD=y | ||
154 | # CONFIG_PCMCIA_DEBUG is not set | ||
155 | CONFIG_PCMCIA=y | ||
156 | CONFIG_PCMCIA_LOAD_CIS=y | ||
157 | CONFIG_PCMCIA_IOCTL=y | ||
158 | CONFIG_CARDBUS=y | ||
159 | |||
160 | # | ||
161 | # PC-card bridges | ||
162 | # | ||
163 | CONFIG_YENTA=y | ||
164 | CONFIG_YENTA_O2=y | ||
165 | CONFIG_YENTA_RICOH=y | ||
166 | CONFIG_YENTA_TI=y | ||
167 | CONFIG_YENTA_ENE_TUNE=y | ||
168 | CONFIG_YENTA_TOSHIBA=y | ||
169 | # CONFIG_PD6729 is not set | ||
170 | # CONFIG_I82092 is not set | ||
171 | CONFIG_PCCARD_NONSTATIC=y | ||
172 | |||
173 | # | ||
174 | # Kernel Features | ||
175 | # | ||
176 | # CONFIG_PREEMPT is not set | ||
177 | # CONFIG_NO_IDLE_HZ is not set | ||
178 | CONFIG_HZ=100 | ||
179 | # CONFIG_AEABI is not set | ||
180 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | ||
181 | CONFIG_SELECT_MEMORY_MODEL=y | ||
182 | CONFIG_FLATMEM_MANUAL=y | ||
183 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
184 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
185 | CONFIG_FLATMEM=y | ||
186 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
187 | # CONFIG_SPARSEMEM_STATIC is not set | ||
188 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | ||
189 | CONFIG_ALIGNMENT_TRAP=y | ||
190 | |||
191 | # | ||
192 | # Boot options | ||
193 | # | ||
194 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
195 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
196 | CONFIG_CMDLINE="mem=32M console=ttyS0,115200 initrd=0x20410000,3145728 root=/dev/ram0 rw" | ||
197 | # CONFIG_XIP_KERNEL is not set | ||
198 | |||
199 | # | ||
200 | # Floating point emulation | ||
201 | # | ||
202 | |||
203 | # | ||
204 | # At least one emulation must be selected | ||
205 | # | ||
206 | CONFIG_FPE_NWFPE=y | ||
207 | # CONFIG_FPE_NWFPE_XP is not set | ||
208 | # CONFIG_FPE_FASTFPE is not set | ||
209 | |||
210 | # | ||
211 | # Userspace binary formats | ||
212 | # | ||
213 | CONFIG_BINFMT_ELF=y | ||
214 | # CONFIG_BINFMT_AOUT is not set | ||
215 | # CONFIG_BINFMT_MISC is not set | ||
216 | # CONFIG_ARTHUR is not set | ||
217 | |||
218 | # | ||
219 | # Power management options | ||
220 | # | ||
221 | # CONFIG_PM is not set | ||
222 | # CONFIG_APM is not set | ||
223 | |||
224 | # | ||
225 | # Networking | ||
226 | # | ||
227 | CONFIG_NET=y | ||
228 | |||
229 | # | ||
230 | # Networking options | ||
231 | # | ||
232 | # CONFIG_NETDEBUG is not set | ||
233 | CONFIG_PACKET=y | ||
234 | # CONFIG_PACKET_MMAP is not set | ||
235 | CONFIG_UNIX=y | ||
236 | # CONFIG_NET_KEY is not set | ||
237 | CONFIG_INET=y | ||
238 | # CONFIG_IP_MULTICAST is not set | ||
239 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
240 | CONFIG_IP_FIB_HASH=y | ||
241 | CONFIG_IP_PNP=y | ||
242 | # CONFIG_IP_PNP_DHCP is not set | ||
243 | CONFIG_IP_PNP_BOOTP=y | ||
244 | # CONFIG_IP_PNP_RARP is not set | ||
245 | # CONFIG_NET_IPIP is not set | ||
246 | # CONFIG_NET_IPGRE is not set | ||
247 | # CONFIG_ARPD is not set | ||
248 | # CONFIG_SYN_COOKIES is not set | ||
249 | # CONFIG_INET_AH is not set | ||
250 | # CONFIG_INET_ESP is not set | ||
251 | # CONFIG_INET_IPCOMP is not set | ||
252 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
253 | # CONFIG_INET_TUNNEL is not set | ||
254 | CONFIG_INET_DIAG=y | ||
255 | CONFIG_INET_TCP_DIAG=y | ||
256 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
257 | CONFIG_TCP_CONG_BIC=y | ||
258 | # CONFIG_IPV6 is not set | ||
259 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
260 | # CONFIG_INET6_TUNNEL is not set | ||
261 | # CONFIG_NETFILTER is not set | ||
262 | |||
263 | # | ||
264 | # DCCP Configuration (EXPERIMENTAL) | ||
265 | # | ||
266 | # CONFIG_IP_DCCP is not set | ||
267 | |||
268 | # | ||
269 | # SCTP Configuration (EXPERIMENTAL) | ||
270 | # | ||
271 | # CONFIG_IP_SCTP is not set | ||
272 | |||
273 | # | ||
274 | # TIPC Configuration (EXPERIMENTAL) | ||
275 | # | ||
276 | # CONFIG_TIPC is not set | ||
277 | # CONFIG_ATM is not set | ||
278 | # CONFIG_BRIDGE is not set | ||
279 | # CONFIG_VLAN_8021Q is not set | ||
280 | # CONFIG_DECNET is not set | ||
281 | # CONFIG_LLC2 is not set | ||
282 | # CONFIG_IPX is not set | ||
283 | # CONFIG_ATALK is not set | ||
284 | # CONFIG_X25 is not set | ||
285 | # CONFIG_LAPB is not set | ||
286 | # CONFIG_NET_DIVERT is not set | ||
287 | # CONFIG_ECONET is not set | ||
288 | # CONFIG_WAN_ROUTER is not set | ||
289 | |||
290 | # | ||
291 | # QoS and/or fair queueing | ||
292 | # | ||
293 | # CONFIG_NET_SCHED is not set | ||
294 | |||
295 | # | ||
296 | # Network testing | ||
297 | # | ||
298 | # CONFIG_NET_PKTGEN is not set | ||
299 | # CONFIG_HAMRADIO is not set | ||
300 | # CONFIG_IRDA is not set | ||
301 | # CONFIG_BT is not set | ||
302 | # CONFIG_IEEE80211 is not set | ||
303 | |||
304 | # | ||
305 | # Device Drivers | ||
306 | # | ||
307 | |||
308 | # | ||
309 | # Generic Driver Options | ||
310 | # | ||
311 | CONFIG_STANDALONE=y | ||
312 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
313 | CONFIG_FW_LOADER=y | ||
314 | # CONFIG_DEBUG_DRIVER is not set | ||
315 | |||
316 | # | ||
317 | # Connector - unified userspace <-> kernelspace linker | ||
318 | # | ||
319 | # CONFIG_CONNECTOR is not set | ||
320 | |||
321 | # | ||
322 | # Memory Technology Devices (MTD) | ||
323 | # | ||
324 | CONFIG_MTD=y | ||
325 | # CONFIG_MTD_DEBUG is not set | ||
326 | # CONFIG_MTD_CONCAT is not set | ||
327 | CONFIG_MTD_PARTITIONS=y | ||
328 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
329 | CONFIG_MTD_CMDLINE_PARTS=y | ||
330 | # CONFIG_MTD_AFS_PARTS is not set | ||
331 | |||
332 | # | ||
333 | # User Modules And Translation Layers | ||
334 | # | ||
335 | CONFIG_MTD_CHAR=y | ||
336 | CONFIG_MTD_BLOCK=y | ||
337 | # CONFIG_FTL is not set | ||
338 | # CONFIG_NFTL is not set | ||
339 | # CONFIG_INFTL is not set | ||
340 | # CONFIG_RFD_FTL is not set | ||
341 | |||
342 | # | ||
343 | # RAM/ROM/Flash chip drivers | ||
344 | # | ||
345 | CONFIG_MTD_CFI=y | ||
346 | CONFIG_MTD_JEDECPROBE=y | ||
347 | CONFIG_MTD_GEN_PROBE=y | ||
348 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
349 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
350 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
351 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
352 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
353 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
354 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
355 | CONFIG_MTD_CFI_I1=y | ||
356 | CONFIG_MTD_CFI_I2=y | ||
357 | # CONFIG_MTD_CFI_I4 is not set | ||
358 | # CONFIG_MTD_CFI_I8 is not set | ||
359 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
360 | CONFIG_MTD_CFI_AMDSTD=y | ||
361 | # CONFIG_MTD_CFI_STAA is not set | ||
362 | CONFIG_MTD_CFI_UTIL=y | ||
363 | # CONFIG_MTD_RAM is not set | ||
364 | # CONFIG_MTD_ROM is not set | ||
365 | # CONFIG_MTD_ABSENT is not set | ||
366 | # CONFIG_MTD_OBSOLETE_CHIPS is not set | ||
367 | |||
368 | # | ||
369 | # Mapping drivers for chip access | ||
370 | # | ||
371 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
372 | # CONFIG_MTD_PHYSMAP is not set | ||
373 | # CONFIG_MTD_ARM_INTEGRATOR is not set | ||
374 | # CONFIG_MTD_IMPA7 is not set | ||
375 | # CONFIG_MTD_PLATRAM is not set | ||
376 | |||
377 | # | ||
378 | # Self-contained MTD device drivers | ||
379 | # | ||
380 | # CONFIG_MTD_PMC551 is not set | ||
381 | # CONFIG_MTD_SLRAM is not set | ||
382 | # CONFIG_MTD_PHRAM is not set | ||
383 | # CONFIG_MTD_MTDRAM is not set | ||
384 | # CONFIG_MTD_BLOCK2MTD is not set | ||
385 | |||
386 | # | ||
387 | # Disk-On-Chip Device Drivers | ||
388 | # | ||
389 | # CONFIG_MTD_DOC2000 is not set | ||
390 | # CONFIG_MTD_DOC2001 is not set | ||
391 | # CONFIG_MTD_DOC2001PLUS is not set | ||
392 | |||
393 | # | ||
394 | # NAND Flash Device Drivers | ||
395 | # | ||
396 | # CONFIG_MTD_NAND is not set | ||
397 | |||
398 | # | ||
399 | # OneNAND Flash Device Drivers | ||
400 | # | ||
401 | # CONFIG_MTD_ONENAND is not set | ||
402 | |||
403 | # | ||
404 | # Parallel port support | ||
405 | # | ||
406 | # CONFIG_PARPORT is not set | ||
407 | |||
408 | # | ||
409 | # Plug and Play support | ||
410 | # | ||
411 | |||
412 | # | ||
413 | # Block devices | ||
414 | # | ||
415 | # CONFIG_BLK_CPQ_DA is not set | ||
416 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
417 | # CONFIG_BLK_DEV_DAC960 is not set | ||
418 | # CONFIG_BLK_DEV_UMEM is not set | ||
419 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
420 | # CONFIG_BLK_DEV_LOOP is not set | ||
421 | # CONFIG_BLK_DEV_NBD is not set | ||
422 | # CONFIG_BLK_DEV_SX8 is not set | ||
423 | CONFIG_BLK_DEV_RAM=y | ||
424 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
425 | CONFIG_BLK_DEV_RAM_SIZE=8192 | ||
426 | CONFIG_BLK_DEV_INITRD=y | ||
427 | # CONFIG_CDROM_PKTCDVD is not set | ||
428 | # CONFIG_ATA_OVER_ETH is not set | ||
429 | |||
430 | # | ||
431 | # ATA/ATAPI/MFM/RLL support | ||
432 | # | ||
433 | # CONFIG_IDE is not set | ||
434 | |||
435 | # | ||
436 | # SCSI device support | ||
437 | # | ||
438 | # CONFIG_RAID_ATTRS is not set | ||
439 | # CONFIG_SCSI is not set | ||
440 | |||
441 | # | ||
442 | # Multi-device support (RAID and LVM) | ||
443 | # | ||
444 | # CONFIG_MD is not set | ||
445 | |||
446 | # | ||
447 | # Fusion MPT device support | ||
448 | # | ||
449 | # CONFIG_FUSION is not set | ||
450 | |||
451 | # | ||
452 | # IEEE 1394 (FireWire) support | ||
453 | # | ||
454 | # CONFIG_IEEE1394 is not set | ||
455 | |||
456 | # | ||
457 | # I2O device support | ||
458 | # | ||
459 | # CONFIG_I2O is not set | ||
460 | |||
461 | # | ||
462 | # Network device support | ||
463 | # | ||
464 | CONFIG_NETDEVICES=y | ||
465 | # CONFIG_DUMMY is not set | ||
466 | # CONFIG_BONDING is not set | ||
467 | # CONFIG_EQUALIZER is not set | ||
468 | # CONFIG_TUN is not set | ||
469 | |||
470 | # | ||
471 | # ARCnet devices | ||
472 | # | ||
473 | # CONFIG_ARCNET is not set | ||
474 | |||
475 | # | ||
476 | # PHY device support | ||
477 | # | ||
478 | # CONFIG_PHYLIB is not set | ||
479 | |||
480 | # | ||
481 | # Ethernet (10 or 100Mbit) | ||
482 | # | ||
483 | CONFIG_NET_ETHERNET=y | ||
484 | # CONFIG_MII is not set | ||
485 | CONFIG_ARM_KS8695_ETHER=y | ||
486 | # CONFIG_HAPPYMEAL is not set | ||
487 | # CONFIG_SUNGEM is not set | ||
488 | # CONFIG_CASSINI is not set | ||
489 | # CONFIG_NET_VENDOR_3COM is not set | ||
490 | # CONFIG_SMC91X is not set | ||
491 | # CONFIG_DM9000 is not set | ||
492 | |||
493 | # | ||
494 | # Tulip family network device support | ||
495 | # | ||
496 | # CONFIG_NET_TULIP is not set | ||
497 | # CONFIG_HP100 is not set | ||
498 | # CONFIG_NET_PCI is not set | ||
499 | |||
500 | # | ||
501 | # Ethernet (1000 Mbit) | ||
502 | # | ||
503 | # CONFIG_ACENIC is not set | ||
504 | # CONFIG_DL2K is not set | ||
505 | # CONFIG_E1000 is not set | ||
506 | # CONFIG_NS83820 is not set | ||
507 | # CONFIG_HAMACHI is not set | ||
508 | # CONFIG_YELLOWFIN is not set | ||
509 | # CONFIG_R8169 is not set | ||
510 | # CONFIG_SIS190 is not set | ||
511 | # CONFIG_SKGE is not set | ||
512 | # CONFIG_SKY2 is not set | ||
513 | # CONFIG_SK98LIN is not set | ||
514 | # CONFIG_TIGON3 is not set | ||
515 | # CONFIG_BNX2 is not set | ||
516 | |||
517 | # | ||
518 | # Ethernet (10000 Mbit) | ||
519 | # | ||
520 | # CONFIG_CHELSIO_T1 is not set | ||
521 | # CONFIG_IXGB is not set | ||
522 | # CONFIG_S2IO is not set | ||
523 | |||
524 | # | ||
525 | # Token Ring devices | ||
526 | # | ||
527 | # CONFIG_TR is not set | ||
528 | |||
529 | # | ||
530 | # Wireless LAN (non-hamradio) | ||
531 | # | ||
532 | # CONFIG_NET_RADIO is not set | ||
533 | |||
534 | # | ||
535 | # PCMCIA network device support | ||
536 | # | ||
537 | # CONFIG_NET_PCMCIA is not set | ||
538 | |||
539 | # | ||
540 | # Wan interfaces | ||
541 | # | ||
542 | # CONFIG_WAN is not set | ||
543 | # CONFIG_FDDI is not set | ||
544 | # CONFIG_HIPPI is not set | ||
545 | # CONFIG_PPP is not set | ||
546 | # CONFIG_SLIP is not set | ||
547 | # CONFIG_SHAPER is not set | ||
548 | # CONFIG_NETCONSOLE is not set | ||
549 | # CONFIG_NETPOLL is not set | ||
550 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
551 | |||
552 | # | ||
553 | # ISDN subsystem | ||
554 | # | ||
555 | # CONFIG_ISDN is not set | ||
556 | |||
557 | # | ||
558 | # Input device support | ||
559 | # | ||
560 | CONFIG_INPUT=y | ||
561 | |||
562 | # | ||
563 | # Userland interfaces | ||
564 | # | ||
565 | CONFIG_INPUT_MOUSEDEV=y | ||
566 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
567 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
568 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
569 | # CONFIG_INPUT_JOYDEV is not set | ||
570 | # CONFIG_INPUT_TSDEV is not set | ||
571 | # CONFIG_INPUT_EVDEV is not set | ||
572 | # CONFIG_INPUT_EVBUG is not set | ||
573 | |||
574 | # | ||
575 | # Input Device Drivers | ||
576 | # | ||
577 | # CONFIG_INPUT_KEYBOARD is not set | ||
578 | # CONFIG_INPUT_MOUSE is not set | ||
579 | # CONFIG_INPUT_JOYSTICK is not set | ||
580 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
581 | # CONFIG_INPUT_MISC is not set | ||
582 | |||
583 | # | ||
584 | # Hardware I/O ports | ||
585 | # | ||
586 | # CONFIG_SERIO is not set | ||
587 | # CONFIG_GAMEPORT is not set | ||
588 | |||
589 | # | ||
590 | # Character devices | ||
591 | # | ||
592 | CONFIG_VT=y | ||
593 | CONFIG_VT_CONSOLE=y | ||
594 | CONFIG_HW_CONSOLE=y | ||
595 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
596 | |||
597 | # | ||
598 | # Serial drivers | ||
599 | # | ||
600 | # CONFIG_SERIAL_8250 is not set | ||
601 | |||
602 | # | ||
603 | # Non-8250 serial port support | ||
604 | # | ||
605 | CONFIG_SERIAL_KS8695=y | ||
606 | CONFIG_SERIAL_KS8695_CONSOLE=y | ||
607 | CONFIG_SERIAL_CORE=y | ||
608 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
609 | # CONFIG_SERIAL_JSM is not set | ||
610 | CONFIG_UNIX98_PTYS=y | ||
611 | CONFIG_LEGACY_PTYS=y | ||
612 | CONFIG_LEGACY_PTY_COUNT=256 | ||
613 | |||
614 | # | ||
615 | # IPMI | ||
616 | # | ||
617 | # CONFIG_IPMI_HANDLER is not set | ||
618 | |||
619 | # | ||
620 | # Watchdog Cards | ||
621 | # | ||
622 | # CONFIG_WATCHDOG is not set | ||
623 | # CONFIG_NVRAM is not set | ||
624 | # CONFIG_DTLK is not set | ||
625 | # CONFIG_R3964 is not set | ||
626 | # CONFIG_APPLICOM is not set | ||
627 | |||
628 | # | ||
629 | # Ftape, the floppy tape device driver | ||
630 | # | ||
631 | # CONFIG_DRM is not set | ||
632 | |||
633 | # | ||
634 | # PCMCIA character devices | ||
635 | # | ||
636 | # CONFIG_SYNCLINK_CS is not set | ||
637 | # CONFIG_CARDMAN_4000 is not set | ||
638 | # CONFIG_CARDMAN_4040 is not set | ||
639 | # CONFIG_RAW_DRIVER is not set | ||
640 | |||
641 | # | ||
642 | # TPM devices | ||
643 | # | ||
644 | # CONFIG_TCG_TPM is not set | ||
645 | # CONFIG_TELCLOCK is not set | ||
646 | |||
647 | # | ||
648 | # I2C support | ||
649 | # | ||
650 | # CONFIG_I2C is not set | ||
651 | |||
652 | # | ||
653 | # SPI support | ||
654 | # | ||
655 | # CONFIG_SPI is not set | ||
656 | # CONFIG_SPI_MASTER is not set | ||
657 | |||
658 | # | ||
659 | # Dallas's 1-wire bus | ||
660 | # | ||
661 | # CONFIG_W1 is not set | ||
662 | |||
663 | # | ||
664 | # Hardware Monitoring support | ||
665 | # | ||
666 | # CONFIG_HWMON is not set | ||
667 | # CONFIG_HWMON_VID is not set | ||
668 | |||
669 | # | ||
670 | # Misc devices | ||
671 | # | ||
672 | |||
673 | # | ||
674 | # LED devices | ||
675 | # | ||
676 | # CONFIG_NEW_LEDS is not set | ||
677 | |||
678 | # | ||
679 | # LED drivers | ||
680 | # | ||
681 | |||
682 | # | ||
683 | # LED Triggers | ||
684 | # | ||
685 | |||
686 | # | ||
687 | # Multimedia devices | ||
688 | # | ||
689 | # CONFIG_VIDEO_DEV is not set | ||
690 | |||
691 | # | ||
692 | # Digital Video Broadcasting Devices | ||
693 | # | ||
694 | # CONFIG_DVB is not set | ||
695 | |||
696 | # | ||
697 | # Graphics support | ||
698 | # | ||
699 | # CONFIG_FB is not set | ||
700 | |||
701 | # | ||
702 | # Console display driver support | ||
703 | # | ||
704 | # CONFIG_VGA_CONSOLE is not set | ||
705 | CONFIG_DUMMY_CONSOLE=y | ||
706 | |||
707 | # | ||
708 | # Sound | ||
709 | # | ||
710 | # CONFIG_SOUND is not set | ||
711 | |||
712 | # | ||
713 | # USB support | ||
714 | # | ||
715 | CONFIG_USB_ARCH_HAS_HCD=y | ||
716 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
717 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
718 | # CONFIG_USB is not set | ||
719 | |||
720 | # | ||
721 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
722 | # | ||
723 | |||
724 | # | ||
725 | # USB Gadget Support | ||
726 | # | ||
727 | # CONFIG_USB_GADGET is not set | ||
728 | |||
729 | # | ||
730 | # MMC/SD Card support | ||
731 | # | ||
732 | # CONFIG_MMC is not set | ||
733 | |||
734 | # | ||
735 | # Real Time Clock | ||
736 | # | ||
737 | CONFIG_RTC_LIB=y | ||
738 | # CONFIG_RTC_CLASS is not set | ||
739 | |||
740 | # | ||
741 | # File systems | ||
742 | # | ||
743 | CONFIG_EXT2_FS=y | ||
744 | # CONFIG_EXT2_FS_XATTR is not set | ||
745 | # CONFIG_EXT2_FS_XIP is not set | ||
746 | # CONFIG_EXT3_FS is not set | ||
747 | # CONFIG_REISERFS_FS is not set | ||
748 | # CONFIG_JFS_FS is not set | ||
749 | # CONFIG_FS_POSIX_ACL is not set | ||
750 | # CONFIG_XFS_FS is not set | ||
751 | # CONFIG_OCFS2_FS is not set | ||
752 | # CONFIG_MINIX_FS is not set | ||
753 | # CONFIG_ROMFS_FS is not set | ||
754 | CONFIG_INOTIFY=y | ||
755 | # CONFIG_QUOTA is not set | ||
756 | CONFIG_DNOTIFY=y | ||
757 | # CONFIG_AUTOFS_FS is not set | ||
758 | # CONFIG_AUTOFS4_FS is not set | ||
759 | # CONFIG_FUSE_FS is not set | ||
760 | |||
761 | # | ||
762 | # CD-ROM/DVD Filesystems | ||
763 | # | ||
764 | # CONFIG_ISO9660_FS is not set | ||
765 | # CONFIG_UDF_FS is not set | ||
766 | |||
767 | # | ||
768 | # DOS/FAT/NT Filesystems | ||
769 | # | ||
770 | # CONFIG_MSDOS_FS is not set | ||
771 | # CONFIG_VFAT_FS is not set | ||
772 | # CONFIG_NTFS_FS is not set | ||
773 | |||
774 | # | ||
775 | # Pseudo filesystems | ||
776 | # | ||
777 | CONFIG_PROC_FS=y | ||
778 | CONFIG_SYSFS=y | ||
779 | CONFIG_TMPFS=y | ||
780 | # CONFIG_HUGETLB_PAGE is not set | ||
781 | CONFIG_RAMFS=y | ||
782 | # CONFIG_CONFIGFS_FS is not set | ||
783 | |||
784 | # | ||
785 | # Miscellaneous filesystems | ||
786 | # | ||
787 | # CONFIG_ADFS_FS is not set | ||
788 | # CONFIG_AFFS_FS is not set | ||
789 | # CONFIG_HFS_FS is not set | ||
790 | # CONFIG_HFSPLUS_FS is not set | ||
791 | # CONFIG_BEFS_FS is not set | ||
792 | # CONFIG_BFS_FS is not set | ||
793 | # CONFIG_EFS_FS is not set | ||
794 | # CONFIG_JFFS_FS is not set | ||
795 | # CONFIG_JFFS2_FS is not set | ||
796 | CONFIG_CRAMFS=y | ||
797 | # CONFIG_VXFS_FS is not set | ||
798 | # CONFIG_HPFS_FS is not set | ||
799 | # CONFIG_QNX4FS_FS is not set | ||
800 | # CONFIG_SYSV_FS is not set | ||
801 | # CONFIG_UFS_FS is not set | ||
802 | |||
803 | # | ||
804 | # Network File Systems | ||
805 | # | ||
806 | # CONFIG_NFS_FS is not set | ||
807 | # CONFIG_NFSD is not set | ||
808 | # CONFIG_SMB_FS is not set | ||
809 | # CONFIG_CIFS is not set | ||
810 | # CONFIG_NCP_FS is not set | ||
811 | # CONFIG_CODA_FS is not set | ||
812 | # CONFIG_AFS_FS is not set | ||
813 | # CONFIG_9P_FS is not set | ||
814 | |||
815 | # | ||
816 | # Partition Types | ||
817 | # | ||
818 | # CONFIG_PARTITION_ADVANCED is not set | ||
819 | CONFIG_MSDOS_PARTITION=y | ||
820 | |||
821 | # | ||
822 | # Native Language Support | ||
823 | # | ||
824 | # CONFIG_NLS is not set | ||
825 | |||
826 | # | ||
827 | # Profiling support | ||
828 | # | ||
829 | # CONFIG_PROFILING is not set | ||
830 | |||
831 | # | ||
832 | # Kernel hacking | ||
833 | # | ||
834 | # CONFIG_PRINTK_TIME is not set | ||
835 | # CONFIG_MAGIC_SYSRQ is not set | ||
836 | CONFIG_DEBUG_KERNEL=y | ||
837 | CONFIG_LOG_BUF_SHIFT=14 | ||
838 | CONFIG_DETECT_SOFTLOCKUP=y | ||
839 | # CONFIG_SCHEDSTATS is not set | ||
840 | # CONFIG_DEBUG_SLAB is not set | ||
841 | CONFIG_DEBUG_MUTEXES=y | ||
842 | # CONFIG_DEBUG_SPINLOCK is not set | ||
843 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
844 | # CONFIG_DEBUG_KOBJECT is not set | ||
845 | CONFIG_DEBUG_BUGVERBOSE=y | ||
846 | # CONFIG_DEBUG_INFO is not set | ||
847 | # CONFIG_DEBUG_FS is not set | ||
848 | # CONFIG_DEBUG_VM is not set | ||
849 | CONFIG_FRAME_POINTER=y | ||
850 | # CONFIG_UNWIND_INFO is not set | ||
851 | CONFIG_FORCED_INLINING=y | ||
852 | # CONFIG_RCU_TORTURE_TEST is not set | ||
853 | CONFIG_DEBUG_USER=y | ||
854 | # CONFIG_DEBUG_ERRORS is not set | ||
855 | CONFIG_DEBUG_LL=y | ||
856 | # CONFIG_DEBUG_ICEDCC is not set | ||
857 | |||
858 | # | ||
859 | # Security options | ||
860 | # | ||
861 | # CONFIG_KEYS is not set | ||
862 | # CONFIG_SECURITY is not set | ||
863 | |||
864 | # | ||
865 | # Cryptographic options | ||
866 | # | ||
867 | # CONFIG_CRYPTO is not set | ||
868 | |||
869 | # | ||
870 | # Hardware crypto devices | ||
871 | # | ||
872 | |||
873 | # | ||
874 | # Library routines | ||
875 | # | ||
876 | # CONFIG_CRC_CCITT is not set | ||
877 | # CONFIG_CRC16 is not set | ||
878 | CONFIG_CRC32=y | ||
879 | # CONFIG_LIBCRC32C is not set | ||
880 | CONFIG_ZLIB_INFLATE=y | ||
diff --git a/arch/arm/configs/trizeps4_defconfig b/arch/arm/configs/trizeps4_defconfig index a6698dc4f6b9..6db6392806f9 100644 --- a/arch/arm/configs/trizeps4_defconfig +++ b/arch/arm/configs/trizeps4_defconfig | |||
@@ -1,15 +1,27 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17 | 3 | # Linux kernel version: 2.6.21 |
4 | # Sat Jun 24 22:45:14 2006 | 4 | # Mon Apr 30 21:23:20 2007 |
5 | # | 5 | # |
6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | ||
8 | CONFIG_GENERIC_GPIO=y | ||
9 | CONFIG_GENERIC_TIME=y | ||
7 | CONFIG_MMU=y | 10 | CONFIG_MMU=y |
11 | # CONFIG_NO_IOPORT is not set | ||
12 | CONFIG_GENERIC_HARDIRQS=y | ||
13 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
14 | CONFIG_HARDIRQS_SW_RESEND=y | ||
15 | CONFIG_GENERIC_IRQ_PROBE=y | ||
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 16 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
17 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
18 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
9 | CONFIG_GENERIC_HWEIGHT=y | 19 | CONFIG_GENERIC_HWEIGHT=y |
10 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 20 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
21 | CONFIG_ZONE_DMA=y | ||
11 | CONFIG_ARCH_MTD_XIP=y | 22 | CONFIG_ARCH_MTD_XIP=y |
12 | CONFIG_VECTORS_BASE=0xffff0000 | 23 | CONFIG_VECTORS_BASE=0xffff0000 |
24 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
13 | 25 | ||
14 | # | 26 | # |
15 | # Code maturity level options | 27 | # Code maturity level options |
@@ -26,18 +38,25 @@ CONFIG_LOCALVERSION="" | |||
26 | CONFIG_LOCALVERSION_AUTO=y | 38 | CONFIG_LOCALVERSION_AUTO=y |
27 | CONFIG_SWAP=y | 39 | CONFIG_SWAP=y |
28 | CONFIG_SYSVIPC=y | 40 | CONFIG_SYSVIPC=y |
41 | # CONFIG_IPC_NS is not set | ||
42 | CONFIG_SYSVIPC_SYSCTL=y | ||
29 | CONFIG_POSIX_MQUEUE=y | 43 | CONFIG_POSIX_MQUEUE=y |
30 | CONFIG_BSD_PROCESS_ACCT=y | 44 | CONFIG_BSD_PROCESS_ACCT=y |
31 | CONFIG_BSD_PROCESS_ACCT_V3=y | 45 | CONFIG_BSD_PROCESS_ACCT_V3=y |
32 | CONFIG_SYSCTL=y | 46 | # CONFIG_TASKSTATS is not set |
33 | CONFIG_AUDIT=y | 47 | # CONFIG_UTS_NS is not set |
48 | # CONFIG_AUDIT is not set | ||
34 | CONFIG_IKCONFIG=y | 49 | CONFIG_IKCONFIG=y |
35 | CONFIG_IKCONFIG_PROC=y | 50 | CONFIG_IKCONFIG_PROC=y |
51 | CONFIG_SYSFS_DEPRECATED=y | ||
36 | # CONFIG_RELAY is not set | 52 | # CONFIG_RELAY is not set |
53 | CONFIG_BLK_DEV_INITRD=y | ||
37 | CONFIG_INITRAMFS_SOURCE="" | 54 | CONFIG_INITRAMFS_SOURCE="" |
38 | CONFIG_UID16=y | ||
39 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 55 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
56 | CONFIG_SYSCTL=y | ||
40 | CONFIG_EMBEDDED=y | 57 | CONFIG_EMBEDDED=y |
58 | CONFIG_UID16=y | ||
59 | CONFIG_SYSCTL_SYSCALL=y | ||
41 | CONFIG_KALLSYMS=y | 60 | CONFIG_KALLSYMS=y |
42 | CONFIG_KALLSYMS_EXTRA_PASS=y | 61 | CONFIG_KALLSYMS_EXTRA_PASS=y |
43 | CONFIG_HOTPLUG=y | 62 | CONFIG_HOTPLUG=y |
@@ -49,10 +68,11 @@ CONFIG_FUTEX=y | |||
49 | CONFIG_EPOLL=y | 68 | CONFIG_EPOLL=y |
50 | CONFIG_SHMEM=y | 69 | CONFIG_SHMEM=y |
51 | CONFIG_SLAB=y | 70 | CONFIG_SLAB=y |
71 | CONFIG_VM_EVENT_COUNTERS=y | ||
72 | CONFIG_RT_MUTEXES=y | ||
52 | # CONFIG_TINY_SHMEM is not set | 73 | # CONFIG_TINY_SHMEM is not set |
53 | CONFIG_BASE_SMALL=0 | 74 | CONFIG_BASE_SMALL=0 |
54 | # CONFIG_SLOB is not set | 75 | # CONFIG_SLOB is not set |
55 | CONFIG_OBSOLETE_INTERMODULE=y | ||
56 | 76 | ||
57 | # | 77 | # |
58 | # Loadable module support | 78 | # Loadable module support |
@@ -60,14 +80,17 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
60 | CONFIG_MODULES=y | 80 | CONFIG_MODULES=y |
61 | CONFIG_MODULE_UNLOAD=y | 81 | CONFIG_MODULE_UNLOAD=y |
62 | CONFIG_MODULE_FORCE_UNLOAD=y | 82 | CONFIG_MODULE_FORCE_UNLOAD=y |
63 | # CONFIG_MODVERSIONS is not set | 83 | CONFIG_MODVERSIONS=y |
64 | CONFIG_MODULE_SRCVERSION_ALL=y | 84 | CONFIG_MODULE_SRCVERSION_ALL=y |
65 | CONFIG_KMOD=y | 85 | CONFIG_KMOD=y |
66 | 86 | ||
67 | # | 87 | # |
68 | # Block layer | 88 | # Block layer |
69 | # | 89 | # |
90 | CONFIG_BLOCK=y | ||
91 | CONFIG_LBD=y | ||
70 | # CONFIG_BLK_DEV_IO_TRACE is not set | 92 | # CONFIG_BLK_DEV_IO_TRACE is not set |
93 | CONFIG_LSF=y | ||
71 | 94 | ||
72 | # | 95 | # |
73 | # IO Schedulers | 96 | # IO Schedulers |
@@ -85,18 +108,29 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
85 | # | 108 | # |
86 | # System Type | 109 | # System Type |
87 | # | 110 | # |
111 | # CONFIG_ARCH_AAEC2000 is not set | ||
112 | # CONFIG_ARCH_INTEGRATOR is not set | ||
113 | # CONFIG_ARCH_REALVIEW is not set | ||
114 | # CONFIG_ARCH_VERSATILE is not set | ||
115 | # CONFIG_ARCH_AT91 is not set | ||
88 | # CONFIG_ARCH_CLPS7500 is not set | 116 | # CONFIG_ARCH_CLPS7500 is not set |
89 | # CONFIG_ARCH_CLPS711X is not set | 117 | # CONFIG_ARCH_CLPS711X is not set |
90 | # CONFIG_ARCH_CO285 is not set | 118 | # CONFIG_ARCH_CO285 is not set |
91 | # CONFIG_ARCH_EBSA110 is not set | 119 | # CONFIG_ARCH_EBSA110 is not set |
92 | # CONFIG_ARCH_EP93XX is not set | 120 | # CONFIG_ARCH_EP93XX is not set |
93 | # CONFIG_ARCH_FOOTBRIDGE is not set | 121 | # CONFIG_ARCH_FOOTBRIDGE is not set |
94 | # CONFIG_ARCH_INTEGRATOR is not set | 122 | # CONFIG_ARCH_NETX is not set |
95 | # CONFIG_ARCH_IOP3XX is not set | 123 | # CONFIG_ARCH_H720X is not set |
124 | # CONFIG_ARCH_IMX is not set | ||
125 | # CONFIG_ARCH_IOP32X is not set | ||
126 | # CONFIG_ARCH_IOP33X is not set | ||
127 | # CONFIG_ARCH_IOP13XX is not set | ||
96 | # CONFIG_ARCH_IXP4XX is not set | 128 | # CONFIG_ARCH_IXP4XX is not set |
97 | # CONFIG_ARCH_IXP2000 is not set | 129 | # CONFIG_ARCH_IXP2000 is not set |
98 | # CONFIG_ARCH_IXP23XX is not set | 130 | # CONFIG_ARCH_IXP23XX is not set |
99 | # CONFIG_ARCH_L7200 is not set | 131 | # CONFIG_ARCH_L7200 is not set |
132 | # CONFIG_ARCH_NS9XXX is not set | ||
133 | # CONFIG_ARCH_PNX4008 is not set | ||
100 | CONFIG_ARCH_PXA=y | 134 | CONFIG_ARCH_PXA=y |
101 | # CONFIG_ARCH_RPC is not set | 135 | # CONFIG_ARCH_RPC is not set |
102 | # CONFIG_ARCH_SA1100 is not set | 136 | # CONFIG_ARCH_SA1100 is not set |
@@ -104,12 +138,6 @@ CONFIG_ARCH_PXA=y | |||
104 | # CONFIG_ARCH_SHARK is not set | 138 | # CONFIG_ARCH_SHARK is not set |
105 | # CONFIG_ARCH_LH7A40X is not set | 139 | # CONFIG_ARCH_LH7A40X is not set |
106 | # CONFIG_ARCH_OMAP is not set | 140 | # CONFIG_ARCH_OMAP is not set |
107 | # CONFIG_ARCH_VERSATILE is not set | ||
108 | # CONFIG_ARCH_REALVIEW is not set | ||
109 | # CONFIG_ARCH_IMX is not set | ||
110 | # CONFIG_ARCH_H720X is not set | ||
111 | # CONFIG_ARCH_AAEC2000 is not set | ||
112 | # CONFIG_ARCH_AT91RM9200 is not set | ||
113 | 141 | ||
114 | # | 142 | # |
115 | # Intel PXA2xx Implementations | 143 | # Intel PXA2xx Implementations |
@@ -133,11 +161,16 @@ CONFIG_CPU_32v5=y | |||
133 | CONFIG_CPU_ABRT_EV5T=y | 161 | CONFIG_CPU_ABRT_EV5T=y |
134 | CONFIG_CPU_CACHE_VIVT=y | 162 | CONFIG_CPU_CACHE_VIVT=y |
135 | CONFIG_CPU_TLB_V4WBI=y | 163 | CONFIG_CPU_TLB_V4WBI=y |
164 | CONFIG_CPU_CP15=y | ||
165 | CONFIG_CPU_CP15_MMU=y | ||
136 | 166 | ||
137 | # | 167 | # |
138 | # Processor Features | 168 | # Processor Features |
139 | # | 169 | # |
140 | CONFIG_ARM_THUMB=y | 170 | CONFIG_ARM_THUMB=y |
171 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
172 | # CONFIG_OUTER_CACHE is not set | ||
173 | CONFIG_IWMMXT=y | ||
141 | CONFIG_XSCALE_PMU=y | 174 | CONFIG_XSCALE_PMU=y |
142 | 175 | ||
143 | # | 176 | # |
@@ -147,16 +180,16 @@ CONFIG_XSCALE_PMU=y | |||
147 | # | 180 | # |
148 | # PCCARD (PCMCIA/CardBus) support | 181 | # PCCARD (PCMCIA/CardBus) support |
149 | # | 182 | # |
150 | CONFIG_PCCARD=m | 183 | CONFIG_PCCARD=y |
151 | # CONFIG_PCMCIA_DEBUG is not set | 184 | # CONFIG_PCMCIA_DEBUG is not set |
152 | CONFIG_PCMCIA=m | 185 | CONFIG_PCMCIA=y |
153 | CONFIG_PCMCIA_LOAD_CIS=y | 186 | # CONFIG_PCMCIA_LOAD_CIS is not set |
154 | CONFIG_PCMCIA_IOCTL=y | 187 | CONFIG_PCMCIA_IOCTL=y |
155 | 188 | ||
156 | # | 189 | # |
157 | # PC-card bridges | 190 | # PC-card bridges |
158 | # | 191 | # |
159 | CONFIG_PCMCIA_PXA2XX=m | 192 | CONFIG_PCMCIA_PXA2XX=y |
160 | 193 | ||
161 | # | 194 | # |
162 | # Kernel Features | 195 | # Kernel Features |
@@ -164,7 +197,8 @@ CONFIG_PCMCIA_PXA2XX=m | |||
164 | CONFIG_PREEMPT=y | 197 | CONFIG_PREEMPT=y |
165 | # CONFIG_NO_IDLE_HZ is not set | 198 | # CONFIG_NO_IDLE_HZ is not set |
166 | CONFIG_HZ=100 | 199 | CONFIG_HZ=100 |
167 | # CONFIG_AEABI is not set | 200 | CONFIG_AEABI=y |
201 | CONFIG_OABI_COMPAT=y | ||
168 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 202 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set |
169 | CONFIG_SELECT_MEMORY_MODEL=y | 203 | CONFIG_SELECT_MEMORY_MODEL=y |
170 | CONFIG_FLATMEM_MANUAL=y | 204 | CONFIG_FLATMEM_MANUAL=y |
@@ -174,6 +208,8 @@ CONFIG_FLATMEM=y | |||
174 | CONFIG_FLAT_NODE_MEM_MAP=y | 208 | CONFIG_FLAT_NODE_MEM_MAP=y |
175 | # CONFIG_SPARSEMEM_STATIC is not set | 209 | # CONFIG_SPARSEMEM_STATIC is not set |
176 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | 210 | CONFIG_SPLIT_PTLOCK_CPUS=4096 |
211 | # CONFIG_RESOURCES_64BIT is not set | ||
212 | CONFIG_ZONE_DMA_FLAG=1 | ||
177 | CONFIG_LEDS=y | 213 | CONFIG_LEDS=y |
178 | CONFIG_LEDS_TIMER=y | 214 | CONFIG_LEDS_TIMER=y |
179 | CONFIG_LEDS_CPU=y | 215 | CONFIG_LEDS_CPU=y |
@@ -184,8 +220,9 @@ CONFIG_ALIGNMENT_TRAP=y | |||
184 | # | 220 | # |
185 | CONFIG_ZBOOT_ROM_TEXT=0 | 221 | CONFIG_ZBOOT_ROM_TEXT=0 |
186 | CONFIG_ZBOOT_ROM_BSS=0 | 222 | CONFIG_ZBOOT_ROM_BSS=0 |
187 | CONFIG_CMDLINE="root=/dev/nfs ip=bootp console=ttyS0,115200n8" | 223 | CONFIG_CMDLINE="root=fe01 console=ttyS0,38400n8 loglevel=5" |
188 | # CONFIG_XIP_KERNEL is not set | 224 | # CONFIG_XIP_KERNEL is not set |
225 | # CONFIG_KEXEC is not set | ||
189 | 226 | ||
190 | # | 227 | # |
191 | # Floating point emulation | 228 | # Floating point emulation |
@@ -203,16 +240,16 @@ CONFIG_FPE_NWFPE_XP=y | |||
203 | # | 240 | # |
204 | CONFIG_BINFMT_ELF=y | 241 | CONFIG_BINFMT_ELF=y |
205 | # CONFIG_BINFMT_AOUT is not set | 242 | # CONFIG_BINFMT_AOUT is not set |
206 | CONFIG_BINFMT_MISC=m | 243 | # CONFIG_BINFMT_MISC is not set |
207 | # CONFIG_ARTHUR is not set | ||
208 | 244 | ||
209 | # | 245 | # |
210 | # Power management options | 246 | # Power management options |
211 | # | 247 | # |
212 | CONFIG_PM=y | 248 | CONFIG_PM=y |
213 | CONFIG_PM_LEGACY=y | 249 | # CONFIG_PM_LEGACY is not set |
214 | # CONFIG_PM_DEBUG is not set | 250 | # CONFIG_PM_DEBUG is not set |
215 | CONFIG_APM=y | 251 | # CONFIG_PM_SYSFS_DEPRECATED is not set |
252 | # CONFIG_APM_EMULATION is not set | ||
216 | 253 | ||
217 | # | 254 | # |
218 | # Networking | 255 | # Networking |
@@ -222,13 +259,15 @@ CONFIG_NET=y | |||
222 | # | 259 | # |
223 | # Networking options | 260 | # Networking options |
224 | # | 261 | # |
225 | # CONFIG_NETDEBUG is not set | ||
226 | CONFIG_PACKET=y | 262 | CONFIG_PACKET=y |
227 | CONFIG_PACKET_MMAP=y | 263 | CONFIG_PACKET_MMAP=y |
228 | CONFIG_UNIX=y | 264 | CONFIG_UNIX=y |
229 | CONFIG_XFRM=y | 265 | CONFIG_XFRM=y |
230 | CONFIG_XFRM_USER=m | 266 | CONFIG_XFRM_USER=m |
267 | # CONFIG_XFRM_SUB_POLICY is not set | ||
268 | # CONFIG_XFRM_MIGRATE is not set | ||
231 | CONFIG_NET_KEY=y | 269 | CONFIG_NET_KEY=y |
270 | # CONFIG_NET_KEY_MIGRATE is not set | ||
232 | CONFIG_INET=y | 271 | CONFIG_INET=y |
233 | # CONFIG_IP_MULTICAST is not set | 272 | # CONFIG_IP_MULTICAST is not set |
234 | # CONFIG_IP_ADVANCED_ROUTER is not set | 273 | # CONFIG_IP_ADVANCED_ROUTER is not set |
@@ -246,24 +285,25 @@ CONFIG_IP_PNP_BOOTP=y | |||
246 | # CONFIG_INET_IPCOMP is not set | 285 | # CONFIG_INET_IPCOMP is not set |
247 | # CONFIG_INET_XFRM_TUNNEL is not set | 286 | # CONFIG_INET_XFRM_TUNNEL is not set |
248 | # CONFIG_INET_TUNNEL is not set | 287 | # CONFIG_INET_TUNNEL is not set |
288 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
289 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
290 | CONFIG_INET_XFRM_MODE_BEET=y | ||
249 | CONFIG_INET_DIAG=y | 291 | CONFIG_INET_DIAG=y |
250 | CONFIG_INET_TCP_DIAG=y | 292 | CONFIG_INET_TCP_DIAG=y |
251 | # CONFIG_TCP_CONG_ADVANCED is not set | 293 | # CONFIG_TCP_CONG_ADVANCED is not set |
252 | CONFIG_TCP_CONG_BIC=y | 294 | CONFIG_TCP_CONG_CUBIC=y |
295 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
296 | # CONFIG_TCP_MD5SIG is not set | ||
253 | 297 | ||
254 | # | 298 | # |
255 | # IP: Virtual Server Configuration | 299 | # IP: Virtual Server Configuration |
256 | # | 300 | # |
257 | # CONFIG_IP_VS is not set | 301 | # CONFIG_IP_VS is not set |
258 | CONFIG_IPV6=m | 302 | # CONFIG_IPV6 is not set |
259 | # CONFIG_IPV6_PRIVACY is not set | ||
260 | # CONFIG_IPV6_ROUTER_PREF is not set | ||
261 | # CONFIG_INET6_AH is not set | ||
262 | # CONFIG_INET6_ESP is not set | ||
263 | # CONFIG_INET6_IPCOMP is not set | ||
264 | # CONFIG_INET6_XFRM_TUNNEL is not set | 303 | # CONFIG_INET6_XFRM_TUNNEL is not set |
265 | # CONFIG_INET6_TUNNEL is not set | 304 | # CONFIG_INET6_TUNNEL is not set |
266 | # CONFIG_IPV6_TUNNEL is not set | 305 | # CONFIG_NETLABEL is not set |
306 | # CONFIG_NETWORK_SECMARK is not set | ||
267 | CONFIG_NETFILTER=y | 307 | CONFIG_NETFILTER=y |
268 | # CONFIG_NETFILTER_DEBUG is not set | 308 | # CONFIG_NETFILTER_DEBUG is not set |
269 | 309 | ||
@@ -271,29 +311,16 @@ CONFIG_NETFILTER=y | |||
271 | # Core Netfilter Configuration | 311 | # Core Netfilter Configuration |
272 | # | 312 | # |
273 | # CONFIG_NETFILTER_NETLINK is not set | 313 | # CONFIG_NETFILTER_NETLINK is not set |
314 | # CONFIG_NF_CONNTRACK_ENABLED is not set | ||
315 | # CONFIG_NF_CONNTRACK is not set | ||
274 | # CONFIG_NETFILTER_XTABLES is not set | 316 | # CONFIG_NETFILTER_XTABLES is not set |
275 | 317 | ||
276 | # | 318 | # |
277 | # IP: Netfilter Configuration | 319 | # IP: Netfilter Configuration |
278 | # | 320 | # |
279 | CONFIG_IP_NF_CONNTRACK=m | ||
280 | CONFIG_IP_NF_CT_ACCT=y | ||
281 | CONFIG_IP_NF_CONNTRACK_MARK=y | ||
282 | # CONFIG_IP_NF_CONNTRACK_EVENTS is not set | ||
283 | # CONFIG_IP_NF_CT_PROTO_SCTP is not set | ||
284 | CONFIG_IP_NF_FTP=m | ||
285 | CONFIG_IP_NF_IRC=m | ||
286 | # CONFIG_IP_NF_NETBIOS_NS is not set | ||
287 | CONFIG_IP_NF_TFTP=m | ||
288 | CONFIG_IP_NF_AMANDA=m | ||
289 | # CONFIG_IP_NF_PPTP is not set | ||
290 | # CONFIG_IP_NF_H323 is not set | ||
291 | CONFIG_IP_NF_QUEUE=m | 321 | CONFIG_IP_NF_QUEUE=m |
292 | 322 | # CONFIG_IP_NF_IPTABLES is not set | |
293 | # | 323 | # CONFIG_IP_NF_ARPTABLES is not set |
294 | # IPv6: Netfilter Configuration (EXPERIMENTAL) | ||
295 | # | ||
296 | # CONFIG_IP6_NF_QUEUE is not set | ||
297 | 324 | ||
298 | # | 325 | # |
299 | # DCCP Configuration (EXPERIMENTAL) | 326 | # DCCP Configuration (EXPERIMENTAL) |
@@ -318,7 +345,6 @@ CONFIG_VLAN_8021Q=m | |||
318 | # CONFIG_ATALK is not set | 345 | # CONFIG_ATALK is not set |
319 | # CONFIG_X25 is not set | 346 | # CONFIG_X25 is not set |
320 | # CONFIG_LAPB is not set | 347 | # CONFIG_LAPB is not set |
321 | # CONFIG_NET_DIVERT is not set | ||
322 | # CONFIG_ECONET is not set | 348 | # CONFIG_ECONET is not set |
323 | # CONFIG_WAN_ROUTER is not set | 349 | # CONFIG_WAN_ROUTER is not set |
324 | 350 | ||
@@ -378,6 +404,7 @@ CONFIG_IRTTY_SIR=m | |||
378 | # CONFIG_USB_IRDA is not set | 404 | # CONFIG_USB_IRDA is not set |
379 | # CONFIG_SIGMATEL_FIR is not set | 405 | # CONFIG_SIGMATEL_FIR is not set |
380 | # CONFIG_PXA_FICP is not set | 406 | # CONFIG_PXA_FICP is not set |
407 | # CONFIG_MCS_FIR is not set | ||
381 | CONFIG_BT=m | 408 | CONFIG_BT=m |
382 | CONFIG_BT_L2CAP=m | 409 | CONFIG_BT_L2CAP=m |
383 | CONFIG_BT_SCO=m | 410 | CONFIG_BT_SCO=m |
@@ -401,14 +428,20 @@ CONFIG_BT_HIDP=m | |||
401 | # CONFIG_BT_HCIBLUECARD is not set | 428 | # CONFIG_BT_HCIBLUECARD is not set |
402 | # CONFIG_BT_HCIBTUART is not set | 429 | # CONFIG_BT_HCIBTUART is not set |
403 | # CONFIG_BT_HCIVHCI is not set | 430 | # CONFIG_BT_HCIVHCI is not set |
404 | CONFIG_IEEE80211=m | 431 | # CONFIG_AF_RXRPC is not set |
432 | |||
433 | # | ||
434 | # Wireless | ||
435 | # | ||
436 | CONFIG_CFG80211=y | ||
437 | CONFIG_WIRELESS_EXT=y | ||
438 | CONFIG_IEEE80211=y | ||
405 | # CONFIG_IEEE80211_DEBUG is not set | 439 | # CONFIG_IEEE80211_DEBUG is not set |
406 | CONFIG_IEEE80211_CRYPT_WEP=m | 440 | CONFIG_IEEE80211_CRYPT_WEP=y |
407 | CONFIG_IEEE80211_CRYPT_CCMP=m | 441 | CONFIG_IEEE80211_CRYPT_CCMP=m |
408 | CONFIG_IEEE80211_CRYPT_TKIP=m | 442 | CONFIG_IEEE80211_CRYPT_TKIP=m |
409 | CONFIG_IEEE80211_SOFTMAC=m | 443 | CONFIG_IEEE80211_SOFTMAC=m |
410 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | 444 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set |
411 | CONFIG_WIRELESS_EXT=y | ||
412 | 445 | ||
413 | # | 446 | # |
414 | # Device Drivers | 447 | # Device Drivers |
@@ -420,16 +453,13 @@ CONFIG_WIRELESS_EXT=y | |||
420 | CONFIG_STANDALONE=y | 453 | CONFIG_STANDALONE=y |
421 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 454 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
422 | CONFIG_FW_LOADER=y | 455 | CONFIG_FW_LOADER=y |
456 | # CONFIG_SYS_HYPERVISOR is not set | ||
423 | 457 | ||
424 | # | 458 | # |
425 | # Connector - unified userspace <-> kernelspace linker | 459 | # Connector - unified userspace <-> kernelspace linker |
426 | # | 460 | # |
427 | CONFIG_CONNECTOR=y | 461 | CONFIG_CONNECTOR=y |
428 | CONFIG_PROC_EVENTS=y | 462 | CONFIG_PROC_EVENTS=y |
429 | |||
430 | # | ||
431 | # Memory Technology Devices (MTD) | ||
432 | # | ||
433 | CONFIG_MTD=y | 463 | CONFIG_MTD=y |
434 | # CONFIG_MTD_DEBUG is not set | 464 | # CONFIG_MTD_DEBUG is not set |
435 | CONFIG_MTD_CONCAT=y | 465 | CONFIG_MTD_CONCAT=y |
@@ -445,12 +475,13 @@ CONFIG_MTD_REDBOOT_PARTS_READONLY=y | |||
445 | # User Modules And Translation Layers | 475 | # User Modules And Translation Layers |
446 | # | 476 | # |
447 | CONFIG_MTD_CHAR=y | 477 | CONFIG_MTD_CHAR=y |
478 | CONFIG_MTD_BLKDEVS=y | ||
448 | CONFIG_MTD_BLOCK=y | 479 | CONFIG_MTD_BLOCK=y |
449 | # CONFIG_FTL is not set | 480 | # CONFIG_FTL is not set |
450 | CONFIG_NFTL=y | 481 | # CONFIG_NFTL is not set |
451 | CONFIG_NFTL_RW=y | 482 | # CONFIG_INFTL is not set |
452 | CONFIG_INFTL=y | ||
453 | # CONFIG_RFD_FTL is not set | 483 | # CONFIG_RFD_FTL is not set |
484 | # CONFIG_SSFDC is not set | ||
454 | 485 | ||
455 | # | 486 | # |
456 | # RAM/ROM/Flash chip drivers | 487 | # RAM/ROM/Flash chip drivers |
@@ -490,9 +521,8 @@ CONFIG_MTD_CFI_UTIL=y | |||
490 | CONFIG_MTD_COMPLEX_MAPPINGS=y | 521 | CONFIG_MTD_COMPLEX_MAPPINGS=y |
491 | CONFIG_MTD_PHYSMAP=y | 522 | CONFIG_MTD_PHYSMAP=y |
492 | CONFIG_MTD_PHYSMAP_START=0x0 | 523 | CONFIG_MTD_PHYSMAP_START=0x0 |
493 | CONFIG_MTD_PHYSMAP_LEN=0x4000000 | 524 | CONFIG_MTD_PHYSMAP_LEN=0x0 |
494 | CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | 525 | CONFIG_MTD_PHYSMAP_BANKWIDTH=2 |
495 | # CONFIG_MTD_TRIZEPS4 is not set | ||
496 | # CONFIG_MTD_ARM_INTEGRATOR is not set | 526 | # CONFIG_MTD_ARM_INTEGRATOR is not set |
497 | # CONFIG_MTD_IMPA7 is not set | 527 | # CONFIG_MTD_IMPA7 is not set |
498 | # CONFIG_MTD_SHARP_SL is not set | 528 | # CONFIG_MTD_SHARP_SL is not set |
@@ -501,42 +531,45 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | |||
501 | # | 531 | # |
502 | # Self-contained MTD device drivers | 532 | # Self-contained MTD device drivers |
503 | # | 533 | # |
504 | # CONFIG_MTD_DATAFLASH is not set | ||
505 | # CONFIG_MTD_M25P80 is not set | ||
506 | # CONFIG_MTD_SLRAM is not set | 534 | # CONFIG_MTD_SLRAM is not set |
507 | # CONFIG_MTD_PHRAM is not set | 535 | # CONFIG_MTD_PHRAM is not set |
508 | # CONFIG_MTD_MTDRAM is not set | 536 | # CONFIG_MTD_MTDRAM is not set |
509 | # CONFIG_MTD_BLOCK2MTD is not set | 537 | CONFIG_MTD_BLOCK2MTD=y |
510 | 538 | ||
511 | # | 539 | # |
512 | # Disk-On-Chip Device Drivers | 540 | # Disk-On-Chip Device Drivers |
513 | # | 541 | # |
514 | # CONFIG_MTD_DOC2000 is not set | 542 | CONFIG_MTD_DOC2000=y |
515 | # CONFIG_MTD_DOC2001 is not set | 543 | CONFIG_MTD_DOC2001=y |
516 | CONFIG_MTD_DOC2001PLUS=y | 544 | CONFIG_MTD_DOC2001PLUS=y |
517 | CONFIG_MTD_DOCPROBE=y | 545 | CONFIG_MTD_DOCPROBE=y |
518 | CONFIG_MTD_DOCECC=y | 546 | CONFIG_MTD_DOCECC=y |
519 | # CONFIG_MTD_DOCPROBE_ADVANCED is not set | 547 | CONFIG_MTD_DOCPROBE_ADVANCED=y |
520 | CONFIG_MTD_DOCPROBE_ADDRESS=0 | 548 | CONFIG_MTD_DOCPROBE_ADDRESS=0x4000000 |
521 | 549 | CONFIG_MTD_DOCPROBE_HIGH=y | |
522 | # | 550 | # CONFIG_MTD_DOCPROBE_55AA is not set |
523 | # NAND Flash Device Drivers | ||
524 | # | ||
525 | CONFIG_MTD_NAND=y | 551 | CONFIG_MTD_NAND=y |
526 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | 552 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set |
553 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
554 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
527 | # CONFIG_MTD_NAND_H1900 is not set | 555 | # CONFIG_MTD_NAND_H1900 is not set |
528 | CONFIG_MTD_NAND_IDS=y | 556 | CONFIG_MTD_NAND_IDS=y |
529 | CONFIG_MTD_NAND_DISKONCHIP=y | 557 | CONFIG_MTD_NAND_DISKONCHIP=y |
530 | # CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set | 558 | CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y |
531 | CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 | 559 | CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0x4000000 |
532 | # CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set | 560 | CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y |
561 | CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y | ||
533 | # CONFIG_MTD_NAND_SHARPSL is not set | 562 | # CONFIG_MTD_NAND_SHARPSL is not set |
534 | # CONFIG_MTD_NAND_NANDSIM is not set | 563 | # CONFIG_MTD_NAND_NANDSIM is not set |
564 | CONFIG_MTD_ONENAND=y | ||
565 | # CONFIG_MTD_ONENAND_VERIFY_WRITE is not set | ||
566 | # CONFIG_MTD_ONENAND_GENERIC is not set | ||
567 | # CONFIG_MTD_ONENAND_OTP is not set | ||
535 | 568 | ||
536 | # | 569 | # |
537 | # OneNAND Flash Device Drivers | 570 | # UBI - Unsorted block images |
538 | # | 571 | # |
539 | # CONFIG_MTD_ONENAND is not set | 572 | # CONFIG_MTD_UBI is not set |
540 | 573 | ||
541 | # | 574 | # |
542 | # Parallel port support | 575 | # Parallel port support |
@@ -546,6 +579,7 @@ CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 | |||
546 | # | 579 | # |
547 | # Plug and Play support | 580 | # Plug and Play support |
548 | # | 581 | # |
582 | # CONFIG_PNPACPI is not set | ||
549 | 583 | ||
550 | # | 584 | # |
551 | # Block devices | 585 | # Block devices |
@@ -556,9 +590,9 @@ CONFIG_BLK_DEV_CRYPTOLOOP=m | |||
556 | CONFIG_BLK_DEV_NBD=y | 590 | CONFIG_BLK_DEV_NBD=y |
557 | # CONFIG_BLK_DEV_UB is not set | 591 | # CONFIG_BLK_DEV_UB is not set |
558 | CONFIG_BLK_DEV_RAM=y | 592 | CONFIG_BLK_DEV_RAM=y |
559 | CONFIG_BLK_DEV_RAM_COUNT=4 | 593 | CONFIG_BLK_DEV_RAM_COUNT=8 |
560 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 594 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
561 | CONFIG_BLK_DEV_INITRD=y | 595 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 |
562 | # CONFIG_CDROM_PKTCDVD is not set | 596 | # CONFIG_CDROM_PKTCDVD is not set |
563 | # CONFIG_ATA_OVER_ETH is not set | 597 | # CONFIG_ATA_OVER_ETH is not set |
564 | 598 | ||
@@ -566,6 +600,7 @@ CONFIG_BLK_DEV_INITRD=y | |||
566 | # ATA/ATAPI/MFM/RLL support | 600 | # ATA/ATAPI/MFM/RLL support |
567 | # | 601 | # |
568 | CONFIG_IDE=y | 602 | CONFIG_IDE=y |
603 | CONFIG_IDE_MAX_HWIFS=4 | ||
569 | CONFIG_BLK_DEV_IDE=y | 604 | CONFIG_BLK_DEV_IDE=y |
570 | 605 | ||
571 | # | 606 | # |
@@ -585,27 +620,27 @@ CONFIG_BLK_DEV_IDECS=m | |||
585 | # IDE chipset support/bugfixes | 620 | # IDE chipset support/bugfixes |
586 | # | 621 | # |
587 | CONFIG_IDE_GENERIC=y | 622 | CONFIG_IDE_GENERIC=y |
588 | CONFIG_IDE_PXA_CF=y | 623 | # CONFIG_IDE_ARM is not set |
589 | CONFIG_IDE_ARM=y | ||
590 | # CONFIG_BLK_DEV_IDEDMA is not set | 624 | # CONFIG_BLK_DEV_IDEDMA is not set |
591 | # CONFIG_IDEDMA_AUTO is not set | ||
592 | # CONFIG_BLK_DEV_HD is not set | 625 | # CONFIG_BLK_DEV_HD is not set |
593 | 626 | ||
594 | # | 627 | # |
595 | # SCSI device support | 628 | # SCSI device support |
596 | # | 629 | # |
597 | # CONFIG_RAID_ATTRS is not set | 630 | # CONFIG_RAID_ATTRS is not set |
598 | CONFIG_SCSI=m | 631 | CONFIG_SCSI=y |
632 | # CONFIG_SCSI_TGT is not set | ||
633 | # CONFIG_SCSI_NETLINK is not set | ||
599 | CONFIG_SCSI_PROC_FS=y | 634 | CONFIG_SCSI_PROC_FS=y |
600 | 635 | ||
601 | # | 636 | # |
602 | # SCSI support type (disk, tape, CD-ROM) | 637 | # SCSI support type (disk, tape, CD-ROM) |
603 | # | 638 | # |
604 | CONFIG_BLK_DEV_SD=m | 639 | CONFIG_BLK_DEV_SD=y |
605 | # CONFIG_CHR_DEV_ST is not set | 640 | # CONFIG_CHR_DEV_ST is not set |
606 | # CONFIG_CHR_DEV_OSST is not set | 641 | # CONFIG_CHR_DEV_OSST is not set |
607 | # CONFIG_BLK_DEV_SR is not set | 642 | # CONFIG_BLK_DEV_SR is not set |
608 | CONFIG_CHR_DEV_SG=m | 643 | CONFIG_CHR_DEV_SG=y |
609 | # CONFIG_CHR_DEV_SCH is not set | 644 | # CONFIG_CHR_DEV_SCH is not set |
610 | 645 | ||
611 | # | 646 | # |
@@ -614,21 +649,23 @@ CONFIG_CHR_DEV_SG=m | |||
614 | CONFIG_SCSI_MULTI_LUN=y | 649 | CONFIG_SCSI_MULTI_LUN=y |
615 | # CONFIG_SCSI_CONSTANTS is not set | 650 | # CONFIG_SCSI_CONSTANTS is not set |
616 | # CONFIG_SCSI_LOGGING is not set | 651 | # CONFIG_SCSI_LOGGING is not set |
652 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
617 | 653 | ||
618 | # | 654 | # |
619 | # SCSI Transport Attributes | 655 | # SCSI Transports |
620 | # | 656 | # |
621 | # CONFIG_SCSI_SPI_ATTRS is not set | 657 | # CONFIG_SCSI_SPI_ATTRS is not set |
622 | # CONFIG_SCSI_FC_ATTRS is not set | 658 | # CONFIG_SCSI_FC_ATTRS is not set |
623 | # CONFIG_SCSI_ISCSI_ATTRS is not set | 659 | # CONFIG_SCSI_ISCSI_ATTRS is not set |
624 | # CONFIG_SCSI_SAS_ATTRS is not set | 660 | # CONFIG_SCSI_SAS_ATTRS is not set |
661 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
625 | 662 | ||
626 | # | 663 | # |
627 | # SCSI low-level drivers | 664 | # SCSI low-level drivers |
628 | # | 665 | # |
629 | # CONFIG_ISCSI_TCP is not set | 666 | # CONFIG_ISCSI_TCP is not set |
630 | # CONFIG_SCSI_SATA is not set | ||
631 | # CONFIG_SCSI_DEBUG is not set | 667 | # CONFIG_SCSI_DEBUG is not set |
668 | # CONFIG_SCSI_ESP_CORE is not set | ||
632 | 669 | ||
633 | # | 670 | # |
634 | # PCMCIA SCSI adapter support | 671 | # PCMCIA SCSI adapter support |
@@ -640,6 +677,14 @@ CONFIG_SCSI_MULTI_LUN=y | |||
640 | # CONFIG_PCMCIA_SYM53C500 is not set | 677 | # CONFIG_PCMCIA_SYM53C500 is not set |
641 | 678 | ||
642 | # | 679 | # |
680 | # Serial ATA (prod) and Parallel ATA (experimental) drivers | ||
681 | # | ||
682 | CONFIG_ATA=m | ||
683 | # CONFIG_ATA_NONSTANDARD is not set | ||
684 | CONFIG_PATA_PCMCIA=m | ||
685 | CONFIG_PATA_PLATFORM=m | ||
686 | |||
687 | # | ||
643 | # Multi-device support (RAID and LVM) | 688 | # Multi-device support (RAID and LVM) |
644 | # | 689 | # |
645 | # CONFIG_MD is not set | 690 | # CONFIG_MD is not set |
@@ -675,10 +720,14 @@ CONFIG_PHYLIB=y | |||
675 | # MII PHY device drivers | 720 | # MII PHY device drivers |
676 | # | 721 | # |
677 | # CONFIG_MARVELL_PHY is not set | 722 | # CONFIG_MARVELL_PHY is not set |
678 | CONFIG_DAVICOM_PHY=y | 723 | # CONFIG_DAVICOM_PHY is not set |
679 | # CONFIG_QSEMI_PHY is not set | 724 | # CONFIG_QSEMI_PHY is not set |
680 | # CONFIG_LXT_PHY is not set | 725 | # CONFIG_LXT_PHY is not set |
681 | # CONFIG_CICADA_PHY is not set | 726 | # CONFIG_CICADA_PHY is not set |
727 | # CONFIG_VITESSE_PHY is not set | ||
728 | # CONFIG_SMSC_PHY is not set | ||
729 | # CONFIG_BROADCOM_PHY is not set | ||
730 | # CONFIG_FIXED_PHY is not set | ||
682 | 731 | ||
683 | # | 732 | # |
684 | # Ethernet (10 or 100Mbit) | 733 | # Ethernet (10 or 100Mbit) |
@@ -687,6 +736,7 @@ CONFIG_NET_ETHERNET=y | |||
687 | CONFIG_MII=y | 736 | CONFIG_MII=y |
688 | # CONFIG_SMC91X is not set | 737 | # CONFIG_SMC91X is not set |
689 | CONFIG_DM9000=y | 738 | CONFIG_DM9000=y |
739 | # CONFIG_SMC911X is not set | ||
690 | 740 | ||
691 | # | 741 | # |
692 | # Ethernet (1000 Mbit) | 742 | # Ethernet (1000 Mbit) |
@@ -701,41 +751,23 @@ CONFIG_DM9000=y | |||
701 | # | 751 | # |
702 | 752 | ||
703 | # | 753 | # |
704 | # Wireless LAN (non-hamradio) | 754 | # Wireless LAN |
705 | # | ||
706 | CONFIG_NET_RADIO=y | ||
707 | # CONFIG_NET_WIRELESS_RTNETLINK is not set | ||
708 | |||
709 | # | ||
710 | # Obsolete Wireless cards support (pre-802.11) | ||
711 | # | ||
712 | # CONFIG_STRIP is not set | ||
713 | # CONFIG_PCMCIA_WAVELAN is not set | ||
714 | # CONFIG_PCMCIA_NETWAVE is not set | ||
715 | |||
716 | # | ||
717 | # Wireless 802.11 Frequency Hopping cards support | ||
718 | # | 755 | # |
756 | # CONFIG_WLAN_PRE80211 is not set | ||
757 | CONFIG_WLAN_80211=y | ||
719 | # CONFIG_PCMCIA_RAYCS is not set | 758 | # CONFIG_PCMCIA_RAYCS is not set |
720 | 759 | CONFIG_HERMES=y | |
721 | # | ||
722 | # Wireless 802.11b ISA/PCI cards support | ||
723 | # | ||
724 | CONFIG_HERMES=m | ||
725 | # CONFIG_ATMEL is not set | 760 | # CONFIG_ATMEL is not set |
726 | 761 | CONFIG_PCMCIA_HERMES=y | |
727 | # | 762 | CONFIG_PCMCIA_SPECTRUM=y |
728 | # Wireless 802.11b Pcmcia/Cardbus cards support | 763 | # CONFIG_AIRO_CS is not set |
729 | # | ||
730 | CONFIG_PCMCIA_HERMES=m | ||
731 | # CONFIG_PCMCIA_SPECTRUM is not set | ||
732 | CONFIG_AIRO_CS=m | ||
733 | # CONFIG_PCMCIA_WL3501 is not set | 764 | # CONFIG_PCMCIA_WL3501 is not set |
734 | CONFIG_HOSTAP=m | 765 | # CONFIG_USB_ZD1201 is not set |
766 | CONFIG_HOSTAP=y | ||
735 | CONFIG_HOSTAP_FIRMWARE=y | 767 | CONFIG_HOSTAP_FIRMWARE=y |
736 | CONFIG_HOSTAP_FIRMWARE_NVRAM=y | 768 | CONFIG_HOSTAP_FIRMWARE_NVRAM=y |
737 | CONFIG_HOSTAP_CS=m | 769 | CONFIG_HOSTAP_CS=y |
738 | CONFIG_NET_WIRELESS=y | 770 | # CONFIG_ZD1211RW is not set |
739 | 771 | ||
740 | # | 772 | # |
741 | # PCMCIA network device support | 773 | # PCMCIA network device support |
@@ -756,6 +788,7 @@ CONFIG_PPP_BSDCOMP=m | |||
756 | CONFIG_PPP_MPPE=m | 788 | CONFIG_PPP_MPPE=m |
757 | # CONFIG_PPPOE is not set | 789 | # CONFIG_PPPOE is not set |
758 | # CONFIG_SLIP is not set | 790 | # CONFIG_SLIP is not set |
791 | CONFIG_SLHC=m | ||
759 | # CONFIG_SHAPER is not set | 792 | # CONFIG_SHAPER is not set |
760 | # CONFIG_NETCONSOLE is not set | 793 | # CONFIG_NETCONSOLE is not set |
761 | # CONFIG_NETPOLL is not set | 794 | # CONFIG_NETPOLL is not set |
@@ -770,6 +803,7 @@ CONFIG_PPP_MPPE=m | |||
770 | # Input device support | 803 | # Input device support |
771 | # | 804 | # |
772 | CONFIG_INPUT=y | 805 | CONFIG_INPUT=y |
806 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
773 | 807 | ||
774 | # | 808 | # |
775 | # Userland interfaces | 809 | # Userland interfaces |
@@ -789,22 +823,27 @@ CONFIG_INPUT_EVDEV=y | |||
789 | # Input Device Drivers | 823 | # Input Device Drivers |
790 | # | 824 | # |
791 | CONFIG_INPUT_KEYBOARD=y | 825 | CONFIG_INPUT_KEYBOARD=y |
792 | CONFIG_KEYBOARD_ATKBD=y | 826 | CONFIG_KEYBOARD_ATKBD=m |
793 | # CONFIG_KEYBOARD_SUNKBD is not set | 827 | # CONFIG_KEYBOARD_SUNKBD is not set |
794 | # CONFIG_KEYBOARD_LKKBD is not set | 828 | # CONFIG_KEYBOARD_LKKBD is not set |
795 | # CONFIG_KEYBOARD_XTKBD is not set | 829 | # CONFIG_KEYBOARD_XTKBD is not set |
796 | # CONFIG_KEYBOARD_NEWTON is not set | 830 | # CONFIG_KEYBOARD_NEWTON is not set |
831 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
832 | # CONFIG_KEYBOARD_GPIO is not set | ||
797 | CONFIG_INPUT_MOUSE=y | 833 | CONFIG_INPUT_MOUSE=y |
798 | # CONFIG_MOUSE_PS2 is not set | 834 | # CONFIG_MOUSE_PS2 is not set |
799 | CONFIG_MOUSE_SERIAL=y | 835 | CONFIG_MOUSE_SERIAL=m |
800 | # CONFIG_MOUSE_VSXXXAA is not set | 836 | # CONFIG_MOUSE_VSXXXAA is not set |
801 | # CONFIG_INPUT_JOYSTICK is not set | 837 | # CONFIG_INPUT_JOYSTICK is not set |
802 | CONFIG_INPUT_TOUCHSCREEN=y | 838 | CONFIG_INPUT_TOUCHSCREEN=y |
803 | # CONFIG_TOUCHSCREEN_ADS7846 is not set | ||
804 | # CONFIG_TOUCHSCREEN_GUNZE is not set | 839 | # CONFIG_TOUCHSCREEN_GUNZE is not set |
805 | # CONFIG_TOUCHSCREEN_ELO is not set | 840 | # CONFIG_TOUCHSCREEN_ELO is not set |
806 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | 841 | # CONFIG_TOUCHSCREEN_MTOUCH is not set |
807 | # CONFIG_TOUCHSCREEN_MK712 is not set | 842 | # CONFIG_TOUCHSCREEN_MK712 is not set |
843 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set | ||
844 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set | ||
845 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set | ||
846 | CONFIG_TOUCHSCREEN_UCB1400=y | ||
808 | CONFIG_INPUT_MISC=y | 847 | CONFIG_INPUT_MISC=y |
809 | CONFIG_INPUT_UINPUT=m | 848 | CONFIG_INPUT_UINPUT=m |
810 | 849 | ||
@@ -823,6 +862,7 @@ CONFIG_SERIO_LIBPS2=y | |||
823 | CONFIG_VT=y | 862 | CONFIG_VT=y |
824 | CONFIG_VT_CONSOLE=y | 863 | CONFIG_VT_CONSOLE=y |
825 | CONFIG_HW_CONSOLE=y | 864 | CONFIG_HW_CONSOLE=y |
865 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
826 | # CONFIG_SERIAL_NONSTANDARD is not set | 866 | # CONFIG_SERIAL_NONSTANDARD is not set |
827 | 867 | ||
828 | # | 868 | # |
@@ -862,15 +902,12 @@ CONFIG_SA1100_WATCHDOG=y | |||
862 | # USB-based Watchdog Cards | 902 | # USB-based Watchdog Cards |
863 | # | 903 | # |
864 | # CONFIG_USBPCWATCHDOG is not set | 904 | # CONFIG_USBPCWATCHDOG is not set |
905 | CONFIG_HW_RANDOM=y | ||
865 | # CONFIG_NVRAM is not set | 906 | # CONFIG_NVRAM is not set |
866 | # CONFIG_DTLK is not set | 907 | # CONFIG_DTLK is not set |
867 | # CONFIG_R3964 is not set | 908 | # CONFIG_R3964 is not set |
868 | 909 | ||
869 | # | 910 | # |
870 | # Ftape, the floppy tape device driver | ||
871 | # | ||
872 | |||
873 | # | ||
874 | # PCMCIA character devices | 911 | # PCMCIA character devices |
875 | # | 912 | # |
876 | # CONFIG_SYNCLINK_CS is not set | 913 | # CONFIG_SYNCLINK_CS is not set |
@@ -882,7 +919,6 @@ CONFIG_SA1100_WATCHDOG=y | |||
882 | # TPM devices | 919 | # TPM devices |
883 | # | 920 | # |
884 | # CONFIG_TCG_TPM is not set | 921 | # CONFIG_TCG_TPM is not set |
885 | # CONFIG_TELCLOCK is not set | ||
886 | 922 | ||
887 | # | 923 | # |
888 | # I2C support | 924 | # I2C support |
@@ -902,6 +938,7 @@ CONFIG_I2C_CHARDEV=y | |||
902 | # | 938 | # |
903 | CONFIG_I2C_PXA=y | 939 | CONFIG_I2C_PXA=y |
904 | CONFIG_I2C_PXA_SLAVE=y | 940 | CONFIG_I2C_PXA_SLAVE=y |
941 | # CONFIG_I2C_OCORES is not set | ||
905 | # CONFIG_I2C_PARPORT_LIGHT is not set | 942 | # CONFIG_I2C_PARPORT_LIGHT is not set |
906 | # CONFIG_I2C_STUB is not set | 943 | # CONFIG_I2C_STUB is not set |
907 | # CONFIG_I2C_PCA_ISA is not set | 944 | # CONFIG_I2C_PCA_ISA is not set |
@@ -911,7 +948,7 @@ CONFIG_I2C_PXA_SLAVE=y | |||
911 | # | 948 | # |
912 | # CONFIG_SENSORS_DS1337 is not set | 949 | # CONFIG_SENSORS_DS1337 is not set |
913 | # CONFIG_SENSORS_DS1374 is not set | 950 | # CONFIG_SENSORS_DS1374 is not set |
914 | CONFIG_SENSORS_EEPROM=m | 951 | # CONFIG_SENSORS_EEPROM is not set |
915 | # CONFIG_SENSORS_PCF8574 is not set | 952 | # CONFIG_SENSORS_PCF8574 is not set |
916 | # CONFIG_SENSORS_PCA9539 is not set | 953 | # CONFIG_SENSORS_PCA9539 is not set |
917 | # CONFIG_SENSORS_PCF8591 is not set | 954 | # CONFIG_SENSORS_PCF8591 is not set |
@@ -924,18 +961,8 @@ CONFIG_SENSORS_EEPROM=m | |||
924 | # | 961 | # |
925 | # SPI support | 962 | # SPI support |
926 | # | 963 | # |
927 | CONFIG_SPI=y | 964 | # CONFIG_SPI is not set |
928 | CONFIG_SPI_MASTER=y | 965 | # CONFIG_SPI_MASTER is not set |
929 | |||
930 | # | ||
931 | # SPI Master Controller Drivers | ||
932 | # | ||
933 | # CONFIG_SPI_BITBANG is not set | ||
934 | CONFIG_SPI_PXA2XX=m | ||
935 | |||
936 | # | ||
937 | # SPI Protocol Masters | ||
938 | # | ||
939 | 966 | ||
940 | # | 967 | # |
941 | # Dallas's 1-wire bus | 968 | # Dallas's 1-wire bus |
@@ -947,9 +974,11 @@ CONFIG_SPI_PXA2XX=m | |||
947 | # | 974 | # |
948 | CONFIG_HWMON=y | 975 | CONFIG_HWMON=y |
949 | # CONFIG_HWMON_VID is not set | 976 | # CONFIG_HWMON_VID is not set |
977 | # CONFIG_SENSORS_ABITUGURU is not set | ||
950 | # CONFIG_SENSORS_ADM1021 is not set | 978 | # CONFIG_SENSORS_ADM1021 is not set |
951 | # CONFIG_SENSORS_ADM1025 is not set | 979 | # CONFIG_SENSORS_ADM1025 is not set |
952 | # CONFIG_SENSORS_ADM1026 is not set | 980 | # CONFIG_SENSORS_ADM1026 is not set |
981 | # CONFIG_SENSORS_ADM1029 is not set | ||
953 | # CONFIG_SENSORS_ADM1031 is not set | 982 | # CONFIG_SENSORS_ADM1031 is not set |
954 | # CONFIG_SENSORS_ADM9240 is not set | 983 | # CONFIG_SENSORS_ADM9240 is not set |
955 | # CONFIG_SENSORS_ASB100 is not set | 984 | # CONFIG_SENSORS_ASB100 is not set |
@@ -973,10 +1002,15 @@ CONFIG_HWMON=y | |||
973 | # CONFIG_SENSORS_LM92 is not set | 1002 | # CONFIG_SENSORS_LM92 is not set |
974 | # CONFIG_SENSORS_MAX1619 is not set | 1003 | # CONFIG_SENSORS_MAX1619 is not set |
975 | # CONFIG_SENSORS_PC87360 is not set | 1004 | # CONFIG_SENSORS_PC87360 is not set |
1005 | # CONFIG_SENSORS_PC87427 is not set | ||
976 | # CONFIG_SENSORS_SMSC47M1 is not set | 1006 | # CONFIG_SENSORS_SMSC47M1 is not set |
1007 | # CONFIG_SENSORS_SMSC47M192 is not set | ||
977 | # CONFIG_SENSORS_SMSC47B397 is not set | 1008 | # CONFIG_SENSORS_SMSC47B397 is not set |
1009 | # CONFIG_SENSORS_VT1211 is not set | ||
978 | # CONFIG_SENSORS_W83781D is not set | 1010 | # CONFIG_SENSORS_W83781D is not set |
1011 | # CONFIG_SENSORS_W83791D is not set | ||
979 | # CONFIG_SENSORS_W83792D is not set | 1012 | # CONFIG_SENSORS_W83792D is not set |
1013 | # CONFIG_SENSORS_W83793 is not set | ||
980 | # CONFIG_SENSORS_W83L785TS is not set | 1014 | # CONFIG_SENSORS_W83L785TS is not set |
981 | # CONFIG_SENSORS_W83627HF is not set | 1015 | # CONFIG_SENSORS_W83627HF is not set |
982 | # CONFIG_SENSORS_W83627EHF is not set | 1016 | # CONFIG_SENSORS_W83627EHF is not set |
@@ -987,16 +1021,15 @@ CONFIG_HWMON=y | |||
987 | # | 1021 | # |
988 | 1022 | ||
989 | # | 1023 | # |
990 | # Multimedia Capabilities Port drivers | 1024 | # Multifunction device drivers |
991 | # | 1025 | # |
992 | CONFIG_UCB1400=y | 1026 | # CONFIG_MFD_SM501 is not set |
993 | CONFIG_UCB1400_TS=y | ||
994 | 1027 | ||
995 | # | 1028 | # |
996 | # LED devices | 1029 | # LED devices |
997 | # | 1030 | # |
998 | CONFIG_NEW_LEDS=y | 1031 | CONFIG_NEW_LEDS=y |
999 | CONFIG_LEDS_CLASS=y | 1032 | # CONFIG_LEDS_CLASS is not set |
1000 | 1033 | ||
1001 | # | 1034 | # |
1002 | # LED drivers | 1035 | # LED drivers |
@@ -1007,13 +1040,13 @@ CONFIG_LEDS_CLASS=y | |||
1007 | # | 1040 | # |
1008 | CONFIG_LEDS_TRIGGERS=y | 1041 | CONFIG_LEDS_TRIGGERS=y |
1009 | CONFIG_LEDS_TRIGGER_TIMER=y | 1042 | CONFIG_LEDS_TRIGGER_TIMER=y |
1010 | CONFIG_LEDS_TRIGGER_IDE_DISK=y | 1043 | # CONFIG_LEDS_TRIGGER_IDE_DISK is not set |
1044 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | ||
1011 | 1045 | ||
1012 | # | 1046 | # |
1013 | # Multimedia devices | 1047 | # Multimedia devices |
1014 | # | 1048 | # |
1015 | # CONFIG_VIDEO_DEV is not set | 1049 | # CONFIG_VIDEO_DEV is not set |
1016 | CONFIG_VIDEO_V4L2=y | ||
1017 | 1050 | ||
1018 | # | 1051 | # |
1019 | # Digital Video Broadcasting Devices | 1052 | # Digital Video Broadcasting Devices |
@@ -1024,17 +1057,28 @@ CONFIG_VIDEO_V4L2=y | |||
1024 | # | 1057 | # |
1025 | # Graphics support | 1058 | # Graphics support |
1026 | # | 1059 | # |
1060 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
1061 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | ||
1062 | CONFIG_LCD_CLASS_DEVICE=y | ||
1027 | CONFIG_FB=y | 1063 | CONFIG_FB=y |
1064 | CONFIG_FIRMWARE_EDID=y | ||
1065 | # CONFIG_FB_DDC is not set | ||
1028 | CONFIG_FB_CFB_FILLRECT=y | 1066 | CONFIG_FB_CFB_FILLRECT=y |
1029 | CONFIG_FB_CFB_COPYAREA=y | 1067 | CONFIG_FB_CFB_COPYAREA=y |
1030 | CONFIG_FB_CFB_IMAGEBLIT=y | 1068 | CONFIG_FB_CFB_IMAGEBLIT=y |
1069 | # CONFIG_FB_SVGALIB is not set | ||
1031 | # CONFIG_FB_MACMODES is not set | 1070 | # CONFIG_FB_MACMODES is not set |
1032 | CONFIG_FB_FIRMWARE_EDID=y | 1071 | # CONFIG_FB_BACKLIGHT is not set |
1033 | # CONFIG_FB_MODE_HELPERS is not set | 1072 | # CONFIG_FB_MODE_HELPERS is not set |
1034 | # CONFIG_FB_TILEBLITTING is not set | 1073 | # CONFIG_FB_TILEBLITTING is not set |
1074 | |||
1075 | # | ||
1076 | # Frame buffer hardware drivers | ||
1077 | # | ||
1035 | # CONFIG_FB_S1D13XXX is not set | 1078 | # CONFIG_FB_S1D13XXX is not set |
1036 | CONFIG_FB_PXA=y | 1079 | CONFIG_FB_PXA=y |
1037 | # CONFIG_FB_PXA_PARAMETERS is not set | 1080 | # CONFIG_FB_PXA_PARAMETERS is not set |
1081 | # CONFIG_FB_MBX is not set | ||
1038 | # CONFIG_FB_VIRTUAL is not set | 1082 | # CONFIG_FB_VIRTUAL is not set |
1039 | 1083 | ||
1040 | # | 1084 | # |
@@ -1063,11 +1107,6 @@ CONFIG_LOGO=y | |||
1063 | CONFIG_LOGO_LINUX_MONO=y | 1107 | CONFIG_LOGO_LINUX_MONO=y |
1064 | CONFIG_LOGO_LINUX_VGA16=y | 1108 | CONFIG_LOGO_LINUX_VGA16=y |
1065 | CONFIG_LOGO_LINUX_CLUT224=y | 1109 | CONFIG_LOGO_LINUX_CLUT224=y |
1066 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
1067 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | ||
1068 | CONFIG_BACKLIGHT_DEVICE=y | ||
1069 | CONFIG_LCD_CLASS_DEVICE=y | ||
1070 | CONFIG_LCD_DEVICE=y | ||
1071 | 1110 | ||
1072 | # | 1111 | # |
1073 | # Sound | 1112 | # Sound |
@@ -1082,7 +1121,7 @@ CONFIG_SND_TIMER=y | |||
1082 | CONFIG_SND_PCM=y | 1121 | CONFIG_SND_PCM=y |
1083 | CONFIG_SND_HWDEP=m | 1122 | CONFIG_SND_HWDEP=m |
1084 | CONFIG_SND_RAWMIDI=m | 1123 | CONFIG_SND_RAWMIDI=m |
1085 | CONFIG_SND_SEQUENCER=m | 1124 | CONFIG_SND_SEQUENCER=y |
1086 | # CONFIG_SND_SEQ_DUMMY is not set | 1125 | # CONFIG_SND_SEQ_DUMMY is not set |
1087 | CONFIG_SND_OSSEMUL=y | 1126 | CONFIG_SND_OSSEMUL=y |
1088 | CONFIG_SND_MIXER_OSS=y | 1127 | CONFIG_SND_MIXER_OSS=y |
@@ -1093,13 +1132,14 @@ CONFIG_SND_PCM_OSS_PLUGINS=y | |||
1093 | CONFIG_SND_SUPPORT_OLD_API=y | 1132 | CONFIG_SND_SUPPORT_OLD_API=y |
1094 | CONFIG_SND_VERBOSE_PROCFS=y | 1133 | CONFIG_SND_VERBOSE_PROCFS=y |
1095 | CONFIG_SND_VERBOSE_PRINTK=y | 1134 | CONFIG_SND_VERBOSE_PRINTK=y |
1096 | # CONFIG_SND_DEBUG is not set | 1135 | CONFIG_SND_DEBUG=y |
1136 | CONFIG_SND_DEBUG_DETECT=y | ||
1137 | # CONFIG_SND_PCM_XRUN_DEBUG is not set | ||
1097 | 1138 | ||
1098 | # | 1139 | # |
1099 | # Generic devices | 1140 | # Generic devices |
1100 | # | 1141 | # |
1101 | CONFIG_SND_AC97_CODEC=y | 1142 | CONFIG_SND_AC97_CODEC=y |
1102 | CONFIG_SND_AC97_BUS=y | ||
1103 | # CONFIG_SND_DUMMY is not set | 1143 | # CONFIG_SND_DUMMY is not set |
1104 | # CONFIG_SND_VIRMIDI is not set | 1144 | # CONFIG_SND_VIRMIDI is not set |
1105 | # CONFIG_SND_MTPAV is not set | 1145 | # CONFIG_SND_MTPAV is not set |
@@ -1124,9 +1164,32 @@ CONFIG_SND_USB_AUDIO=m | |||
1124 | # CONFIG_SND_PDAUDIOCF is not set | 1164 | # CONFIG_SND_PDAUDIOCF is not set |
1125 | 1165 | ||
1126 | # | 1166 | # |
1167 | # SoC audio support | ||
1168 | # | ||
1169 | # CONFIG_SND_SOC is not set | ||
1170 | |||
1171 | # | ||
1127 | # Open Sound System | 1172 | # Open Sound System |
1128 | # | 1173 | # |
1129 | # CONFIG_SOUND_PRIME is not set | 1174 | # CONFIG_SOUND_PRIME is not set |
1175 | CONFIG_AC97_BUS=y | ||
1176 | |||
1177 | # | ||
1178 | # HID Devices | ||
1179 | # | ||
1180 | CONFIG_HID=y | ||
1181 | # CONFIG_HID_DEBUG is not set | ||
1182 | |||
1183 | # | ||
1184 | # USB Input Devices | ||
1185 | # | ||
1186 | # CONFIG_USB_HID is not set | ||
1187 | |||
1188 | # | ||
1189 | # USB HID Boot Protocol drivers | ||
1190 | # | ||
1191 | # CONFIG_USB_KBD is not set | ||
1192 | # CONFIG_USB_MOUSE is not set | ||
1130 | 1193 | ||
1131 | # | 1194 | # |
1132 | # USB support | 1195 | # USB support |
@@ -1141,7 +1204,7 @@ CONFIG_USB=y | |||
1141 | # Miscellaneous USB options | 1204 | # Miscellaneous USB options |
1142 | # | 1205 | # |
1143 | CONFIG_USB_DEVICEFS=y | 1206 | CONFIG_USB_DEVICEFS=y |
1144 | # CONFIG_USB_BANDWIDTH is not set | 1207 | # CONFIG_USB_DEVICE_CLASS is not set |
1145 | # CONFIG_USB_DYNAMIC_MINORS is not set | 1208 | # CONFIG_USB_DYNAMIC_MINORS is not set |
1146 | # CONFIG_USB_SUSPEND is not set | 1209 | # CONFIG_USB_SUSPEND is not set |
1147 | # CONFIG_USB_OTG is not set | 1210 | # CONFIG_USB_OTG is not set |
@@ -1151,7 +1214,8 @@ CONFIG_USB_DEVICEFS=y | |||
1151 | # | 1214 | # |
1152 | # CONFIG_USB_ISP116X_HCD is not set | 1215 | # CONFIG_USB_ISP116X_HCD is not set |
1153 | CONFIG_USB_OHCI_HCD=y | 1216 | CONFIG_USB_OHCI_HCD=y |
1154 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | 1217 | # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set |
1218 | # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set | ||
1155 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | 1219 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y |
1156 | # CONFIG_USB_SL811_HCD is not set | 1220 | # CONFIG_USB_SL811_HCD is not set |
1157 | 1221 | ||
@@ -1179,38 +1243,25 @@ CONFIG_USB_STORAGE=m | |||
1179 | # CONFIG_USB_STORAGE_SDDR55 is not set | 1243 | # CONFIG_USB_STORAGE_SDDR55 is not set |
1180 | # CONFIG_USB_STORAGE_JUMPSHOT is not set | 1244 | # CONFIG_USB_STORAGE_JUMPSHOT is not set |
1181 | # CONFIG_USB_STORAGE_ALAUDA is not set | 1245 | # CONFIG_USB_STORAGE_ALAUDA is not set |
1246 | # CONFIG_USB_STORAGE_KARMA is not set | ||
1182 | # CONFIG_USB_LIBUSUAL is not set | 1247 | # CONFIG_USB_LIBUSUAL is not set |
1183 | 1248 | ||
1184 | # | 1249 | # |
1185 | # USB Input Devices | 1250 | # USB Input Devices |
1186 | # | 1251 | # |
1187 | CONFIG_USB_HID=m | ||
1188 | CONFIG_USB_HIDINPUT=y | ||
1189 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set | ||
1190 | # CONFIG_HID_FF is not set | ||
1191 | # CONFIG_USB_HIDDEV is not set | ||
1192 | |||
1193 | # | ||
1194 | # USB HID Boot Protocol drivers | ||
1195 | # | ||
1196 | # CONFIG_USB_KBD is not set | ||
1197 | # CONFIG_USB_MOUSE is not set | ||
1198 | # CONFIG_USB_AIPTEK is not set | 1252 | # CONFIG_USB_AIPTEK is not set |
1199 | # CONFIG_USB_WACOM is not set | 1253 | # CONFIG_USB_WACOM is not set |
1200 | # CONFIG_USB_ACECAD is not set | 1254 | # CONFIG_USB_ACECAD is not set |
1201 | # CONFIG_USB_KBTAB is not set | 1255 | # CONFIG_USB_KBTAB is not set |
1202 | # CONFIG_USB_POWERMATE is not set | 1256 | # CONFIG_USB_POWERMATE is not set |
1203 | CONFIG_USB_TOUCHSCREEN=m | 1257 | # CONFIG_USB_TOUCHSCREEN is not set |
1204 | # CONFIG_USB_TOUCHSCREEN_EGALAX is not set | ||
1205 | # CONFIG_USB_TOUCHSCREEN_PANJIT is not set | ||
1206 | # CONFIG_USB_TOUCHSCREEN_3M is not set | ||
1207 | # CONFIG_USB_TOUCHSCREEN_ITM is not set | ||
1208 | # CONFIG_USB_YEALINK is not set | 1258 | # CONFIG_USB_YEALINK is not set |
1209 | # CONFIG_USB_XPAD is not set | 1259 | # CONFIG_USB_XPAD is not set |
1210 | # CONFIG_USB_ATI_REMOTE is not set | 1260 | # CONFIG_USB_ATI_REMOTE is not set |
1211 | # CONFIG_USB_ATI_REMOTE2 is not set | 1261 | # CONFIG_USB_ATI_REMOTE2 is not set |
1212 | # CONFIG_USB_KEYSPAN_REMOTE is not set | 1262 | # CONFIG_USB_KEYSPAN_REMOTE is not set |
1213 | # CONFIG_USB_APPLETOUCH is not set | 1263 | # CONFIG_USB_APPLETOUCH is not set |
1264 | # CONFIG_USB_GTCO is not set | ||
1214 | 1265 | ||
1215 | # | 1266 | # |
1216 | # USB Imaging devices | 1267 | # USB Imaging devices |
@@ -1225,9 +1276,9 @@ CONFIG_USB_TOUCHSCREEN=m | |||
1225 | # CONFIG_USB_KAWETH is not set | 1276 | # CONFIG_USB_KAWETH is not set |
1226 | # CONFIG_USB_PEGASUS is not set | 1277 | # CONFIG_USB_PEGASUS is not set |
1227 | # CONFIG_USB_RTL8150 is not set | 1278 | # CONFIG_USB_RTL8150 is not set |
1279 | # CONFIG_USB_USBNET_MII is not set | ||
1228 | # CONFIG_USB_USBNET is not set | 1280 | # CONFIG_USB_USBNET is not set |
1229 | # CONFIG_USB_ZD1201 is not set | 1281 | # CONFIG_USB_MON is not set |
1230 | CONFIG_USB_MON=y | ||
1231 | 1282 | ||
1232 | # | 1283 | # |
1233 | # USB port drivers | 1284 | # USB port drivers |
@@ -1236,23 +1287,66 @@ CONFIG_USB_MON=y | |||
1236 | # | 1287 | # |
1237 | # USB Serial Converter support | 1288 | # USB Serial Converter support |
1238 | # | 1289 | # |
1239 | # CONFIG_USB_SERIAL is not set | 1290 | CONFIG_USB_SERIAL=m |
1291 | # CONFIG_USB_SERIAL_GENERIC is not set | ||
1292 | # CONFIG_USB_SERIAL_AIRCABLE is not set | ||
1293 | # CONFIG_USB_SERIAL_AIRPRIME is not set | ||
1294 | # CONFIG_USB_SERIAL_ARK3116 is not set | ||
1295 | # CONFIG_USB_SERIAL_BELKIN is not set | ||
1296 | # CONFIG_USB_SERIAL_WHITEHEAT is not set | ||
1297 | # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set | ||
1298 | # CONFIG_USB_SERIAL_CP2101 is not set | ||
1299 | # CONFIG_USB_SERIAL_CYPRESS_M8 is not set | ||
1300 | # CONFIG_USB_SERIAL_EMPEG is not set | ||
1301 | # CONFIG_USB_SERIAL_FTDI_SIO is not set | ||
1302 | # CONFIG_USB_SERIAL_FUNSOFT is not set | ||
1303 | # CONFIG_USB_SERIAL_VISOR is not set | ||
1304 | # CONFIG_USB_SERIAL_IPAQ is not set | ||
1305 | # CONFIG_USB_SERIAL_IR is not set | ||
1306 | # CONFIG_USB_SERIAL_EDGEPORT is not set | ||
1307 | # CONFIG_USB_SERIAL_EDGEPORT_TI is not set | ||
1308 | # CONFIG_USB_SERIAL_GARMIN is not set | ||
1309 | # CONFIG_USB_SERIAL_IPW is not set | ||
1310 | # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set | ||
1311 | # CONFIG_USB_SERIAL_KEYSPAN is not set | ||
1312 | # CONFIG_USB_SERIAL_KLSI is not set | ||
1313 | # CONFIG_USB_SERIAL_KOBIL_SCT is not set | ||
1314 | # CONFIG_USB_SERIAL_MCT_U232 is not set | ||
1315 | # CONFIG_USB_SERIAL_MOS7720 is not set | ||
1316 | # CONFIG_USB_SERIAL_MOS7840 is not set | ||
1317 | # CONFIG_USB_SERIAL_NAVMAN is not set | ||
1318 | # CONFIG_USB_SERIAL_PL2303 is not set | ||
1319 | # CONFIG_USB_SERIAL_HP4X is not set | ||
1320 | # CONFIG_USB_SERIAL_SAFE is not set | ||
1321 | # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set | ||
1322 | # CONFIG_USB_SERIAL_TI is not set | ||
1323 | # CONFIG_USB_SERIAL_CYBERJACK is not set | ||
1324 | # CONFIG_USB_SERIAL_XIRCOM is not set | ||
1325 | # CONFIG_USB_SERIAL_OPTION is not set | ||
1326 | # CONFIG_USB_SERIAL_OMNINET is not set | ||
1327 | # CONFIG_USB_SERIAL_DEBUG is not set | ||
1240 | 1328 | ||
1241 | # | 1329 | # |
1242 | # USB Miscellaneous drivers | 1330 | # USB Miscellaneous drivers |
1243 | # | 1331 | # |
1244 | # CONFIG_USB_EMI62 is not set | 1332 | # CONFIG_USB_EMI62 is not set |
1245 | # CONFIG_USB_EMI26 is not set | 1333 | # CONFIG_USB_EMI26 is not set |
1334 | # CONFIG_USB_ADUTUX is not set | ||
1246 | # CONFIG_USB_AUERSWALD is not set | 1335 | # CONFIG_USB_AUERSWALD is not set |
1247 | # CONFIG_USB_RIO500 is not set | 1336 | # CONFIG_USB_RIO500 is not set |
1248 | # CONFIG_USB_LEGOTOWER is not set | 1337 | # CONFIG_USB_LEGOTOWER is not set |
1249 | # CONFIG_USB_LCD is not set | 1338 | # CONFIG_USB_LCD is not set |
1339 | # CONFIG_USB_BERRY_CHARGE is not set | ||
1250 | # CONFIG_USB_LED is not set | 1340 | # CONFIG_USB_LED is not set |
1341 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
1251 | # CONFIG_USB_CYTHERM is not set | 1342 | # CONFIG_USB_CYTHERM is not set |
1252 | # CONFIG_USB_PHIDGETKIT is not set | 1343 | # CONFIG_USB_PHIDGET is not set |
1253 | # CONFIG_USB_PHIDGETSERVO is not set | ||
1254 | # CONFIG_USB_IDMOUSE is not set | 1344 | # CONFIG_USB_IDMOUSE is not set |
1345 | # CONFIG_USB_FTDI_ELAN is not set | ||
1346 | # CONFIG_USB_APPLEDISPLAY is not set | ||
1255 | # CONFIG_USB_LD is not set | 1347 | # CONFIG_USB_LD is not set |
1348 | # CONFIG_USB_TRANCEVIBRATOR is not set | ||
1349 | # CONFIG_USB_IOWARRIOR is not set | ||
1256 | # CONFIG_USB_TEST is not set | 1350 | # CONFIG_USB_TEST is not set |
1257 | 1351 | ||
1258 | # | 1352 | # |
@@ -1262,9 +1356,10 @@ CONFIG_USB_MON=y | |||
1262 | # | 1356 | # |
1263 | # USB Gadget Support | 1357 | # USB Gadget Support |
1264 | # | 1358 | # |
1265 | CONFIG_USB_GADGET=y | 1359 | CONFIG_USB_GADGET=m |
1266 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | 1360 | # CONFIG_USB_GADGET_DEBUG_FILES is not set |
1267 | CONFIG_USB_GADGET_SELECTED=y | 1361 | CONFIG_USB_GADGET_SELECTED=y |
1362 | # CONFIG_USB_GADGET_FSL_USB2 is not set | ||
1268 | # CONFIG_USB_GADGET_NET2280 is not set | 1363 | # CONFIG_USB_GADGET_NET2280 is not set |
1269 | # CONFIG_USB_GADGET_PXA2XX is not set | 1364 | # CONFIG_USB_GADGET_PXA2XX is not set |
1270 | # CONFIG_USB_GADGET_GOKU is not set | 1365 | # CONFIG_USB_GADGET_GOKU is not set |
@@ -1272,15 +1367,14 @@ CONFIG_USB_GADGET_SELECTED=y | |||
1272 | # CONFIG_USB_GADGET_OMAP is not set | 1367 | # CONFIG_USB_GADGET_OMAP is not set |
1273 | # CONFIG_USB_GADGET_AT91 is not set | 1368 | # CONFIG_USB_GADGET_AT91 is not set |
1274 | CONFIG_USB_GADGET_DUMMY_HCD=y | 1369 | CONFIG_USB_GADGET_DUMMY_HCD=y |
1275 | CONFIG_USB_DUMMY_HCD=y | 1370 | CONFIG_USB_DUMMY_HCD=m |
1276 | CONFIG_USB_GADGET_DUALSPEED=y | 1371 | CONFIG_USB_GADGET_DUALSPEED=y |
1277 | # CONFIG_USB_ZERO is not set | 1372 | # CONFIG_USB_ZERO is not set |
1278 | CONFIG_USB_ETH=m | 1373 | # CONFIG_USB_ETH is not set |
1279 | CONFIG_USB_ETH_RNDIS=y | 1374 | # CONFIG_USB_GADGETFS is not set |
1280 | CONFIG_USB_GADGETFS=m | 1375 | # CONFIG_USB_FILE_STORAGE is not set |
1281 | CONFIG_USB_FILE_STORAGE=m | 1376 | # CONFIG_USB_G_SERIAL is not set |
1282 | # CONFIG_USB_FILE_STORAGE_TEST is not set | 1377 | # CONFIG_USB_MIDI_GADGET is not set |
1283 | CONFIG_USB_G_SERIAL=m | ||
1284 | 1378 | ||
1285 | # | 1379 | # |
1286 | # MMC/SD Card support | 1380 | # MMC/SD Card support |
@@ -1295,8 +1389,8 @@ CONFIG_MMC_PXA=y | |||
1295 | # | 1389 | # |
1296 | CONFIG_RTC_LIB=y | 1390 | CONFIG_RTC_LIB=y |
1297 | CONFIG_RTC_CLASS=y | 1391 | CONFIG_RTC_CLASS=y |
1298 | CONFIG_RTC_HCTOSYS=y | 1392 | # CONFIG_RTC_HCTOSYS is not set |
1299 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | 1393 | # CONFIG_RTC_DEBUG is not set |
1300 | 1394 | ||
1301 | # | 1395 | # |
1302 | # RTC interfaces | 1396 | # RTC interfaces |
@@ -1304,17 +1398,25 @@ CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | |||
1304 | CONFIG_RTC_INTF_SYSFS=y | 1398 | CONFIG_RTC_INTF_SYSFS=y |
1305 | CONFIG_RTC_INTF_PROC=y | 1399 | CONFIG_RTC_INTF_PROC=y |
1306 | CONFIG_RTC_INTF_DEV=y | 1400 | CONFIG_RTC_INTF_DEV=y |
1401 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
1307 | 1402 | ||
1308 | # | 1403 | # |
1309 | # RTC drivers | 1404 | # RTC drivers |
1310 | # | 1405 | # |
1406 | # CONFIG_RTC_DRV_CMOS is not set | ||
1311 | # CONFIG_RTC_DRV_X1205 is not set | 1407 | # CONFIG_RTC_DRV_X1205 is not set |
1408 | # CONFIG_RTC_DRV_DS1307 is not set | ||
1409 | # CONFIG_RTC_DRV_DS1553 is not set | ||
1410 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
1312 | # CONFIG_RTC_DRV_DS1672 is not set | 1411 | # CONFIG_RTC_DRV_DS1672 is not set |
1412 | # CONFIG_RTC_DRV_DS1742 is not set | ||
1313 | # CONFIG_RTC_DRV_PCF8563 is not set | 1413 | # CONFIG_RTC_DRV_PCF8563 is not set |
1414 | CONFIG_RTC_DRV_PCF8583=m | ||
1314 | # CONFIG_RTC_DRV_RS5C372 is not set | 1415 | # CONFIG_RTC_DRV_RS5C372 is not set |
1315 | # CONFIG_RTC_DRV_M48T86 is not set | 1416 | # CONFIG_RTC_DRV_M48T86 is not set |
1316 | CONFIG_RTC_DRV_SA1100=y | 1417 | CONFIG_RTC_DRV_SA1100=y |
1317 | # CONFIG_RTC_DRV_TEST is not set | 1418 | # CONFIG_RTC_DRV_TEST is not set |
1419 | # CONFIG_RTC_DRV_V3020 is not set | ||
1318 | 1420 | ||
1319 | # | 1421 | # |
1320 | # File systems | 1422 | # File systems |
@@ -1328,6 +1430,7 @@ CONFIG_EXT3_FS=y | |||
1328 | CONFIG_EXT3_FS_XATTR=y | 1430 | CONFIG_EXT3_FS_XATTR=y |
1329 | CONFIG_EXT3_FS_POSIX_ACL=y | 1431 | CONFIG_EXT3_FS_POSIX_ACL=y |
1330 | CONFIG_EXT3_FS_SECURITY=y | 1432 | CONFIG_EXT3_FS_SECURITY=y |
1433 | # CONFIG_EXT4DEV_FS is not set | ||
1331 | CONFIG_JBD=y | 1434 | CONFIG_JBD=y |
1332 | # CONFIG_JBD_DEBUG is not set | 1435 | # CONFIG_JBD_DEBUG is not set |
1333 | CONFIG_FS_MBCACHE=y | 1436 | CONFIG_FS_MBCACHE=y |
@@ -1335,10 +1438,12 @@ CONFIG_FS_MBCACHE=y | |||
1335 | # CONFIG_JFS_FS is not set | 1438 | # CONFIG_JFS_FS is not set |
1336 | CONFIG_FS_POSIX_ACL=y | 1439 | CONFIG_FS_POSIX_ACL=y |
1337 | # CONFIG_XFS_FS is not set | 1440 | # CONFIG_XFS_FS is not set |
1441 | # CONFIG_GFS2_FS is not set | ||
1338 | # CONFIG_OCFS2_FS is not set | 1442 | # CONFIG_OCFS2_FS is not set |
1339 | # CONFIG_MINIX_FS is not set | 1443 | # CONFIG_MINIX_FS is not set |
1340 | # CONFIG_ROMFS_FS is not set | 1444 | # CONFIG_ROMFS_FS is not set |
1341 | CONFIG_INOTIFY=y | 1445 | CONFIG_INOTIFY=y |
1446 | CONFIG_INOTIFY_USER=y | ||
1342 | # CONFIG_QUOTA is not set | 1447 | # CONFIG_QUOTA is not set |
1343 | CONFIG_DNOTIFY=y | 1448 | CONFIG_DNOTIFY=y |
1344 | # CONFIG_AUTOFS_FS is not set | 1449 | # CONFIG_AUTOFS_FS is not set |
@@ -1365,8 +1470,10 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-15" | |||
1365 | # Pseudo filesystems | 1470 | # Pseudo filesystems |
1366 | # | 1471 | # |
1367 | CONFIG_PROC_FS=y | 1472 | CONFIG_PROC_FS=y |
1473 | CONFIG_PROC_SYSCTL=y | ||
1368 | CONFIG_SYSFS=y | 1474 | CONFIG_SYSFS=y |
1369 | CONFIG_TMPFS=y | 1475 | CONFIG_TMPFS=y |
1476 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
1370 | # CONFIG_HUGETLB_PAGE is not set | 1477 | # CONFIG_HUGETLB_PAGE is not set |
1371 | CONFIG_RAMFS=y | 1478 | CONFIG_RAMFS=y |
1372 | # CONFIG_CONFIGFS_FS is not set | 1479 | # CONFIG_CONFIGFS_FS is not set |
@@ -1376,18 +1483,17 @@ CONFIG_RAMFS=y | |||
1376 | # | 1483 | # |
1377 | # CONFIG_ADFS_FS is not set | 1484 | # CONFIG_ADFS_FS is not set |
1378 | # CONFIG_AFFS_FS is not set | 1485 | # CONFIG_AFFS_FS is not set |
1486 | # CONFIG_ECRYPT_FS is not set | ||
1379 | # CONFIG_HFS_FS is not set | 1487 | # CONFIG_HFS_FS is not set |
1380 | # CONFIG_HFSPLUS_FS is not set | 1488 | # CONFIG_HFSPLUS_FS is not set |
1381 | # CONFIG_BEFS_FS is not set | 1489 | # CONFIG_BEFS_FS is not set |
1382 | # CONFIG_BFS_FS is not set | 1490 | # CONFIG_BFS_FS is not set |
1383 | # CONFIG_EFS_FS is not set | 1491 | # CONFIG_EFS_FS is not set |
1384 | CONFIG_JFFS_FS=y | ||
1385 | CONFIG_JFFS_FS_VERBOSE=0 | ||
1386 | CONFIG_JFFS_PROC_FS=y | ||
1387 | CONFIG_JFFS2_FS=y | 1492 | CONFIG_JFFS2_FS=y |
1388 | CONFIG_JFFS2_FS_DEBUG=0 | 1493 | CONFIG_JFFS2_FS_DEBUG=0 |
1389 | CONFIG_JFFS2_FS_WRITEBUFFER=y | 1494 | CONFIG_JFFS2_FS_WRITEBUFFER=y |
1390 | # CONFIG_JFFS2_SUMMARY is not set | 1495 | # CONFIG_JFFS2_SUMMARY is not set |
1496 | # CONFIG_JFFS2_FS_XATTR is not set | ||
1391 | CONFIG_JFFS2_COMPRESSION_OPTIONS=y | 1497 | CONFIG_JFFS2_COMPRESSION_OPTIONS=y |
1392 | CONFIG_JFFS2_ZLIB=y | 1498 | CONFIG_JFFS2_ZLIB=y |
1393 | CONFIG_JFFS2_RTIME=y | 1499 | CONFIG_JFFS2_RTIME=y |
@@ -1407,20 +1513,18 @@ CONFIG_JFFS2_CMODE_PRIORITY=y | |||
1407 | # | 1513 | # |
1408 | CONFIG_NFS_FS=y | 1514 | CONFIG_NFS_FS=y |
1409 | CONFIG_NFS_V3=y | 1515 | CONFIG_NFS_V3=y |
1410 | CONFIG_NFS_V3_ACL=y | 1516 | # CONFIG_NFS_V3_ACL is not set |
1411 | CONFIG_NFS_V4=y | 1517 | CONFIG_NFS_V4=y |
1412 | # CONFIG_NFS_DIRECTIO is not set | 1518 | # CONFIG_NFS_DIRECTIO is not set |
1413 | CONFIG_NFSD=y | 1519 | CONFIG_NFSD=y |
1414 | CONFIG_NFSD_V2_ACL=y | ||
1415 | CONFIG_NFSD_V3=y | 1520 | CONFIG_NFSD_V3=y |
1416 | CONFIG_NFSD_V3_ACL=y | 1521 | # CONFIG_NFSD_V3_ACL is not set |
1417 | CONFIG_NFSD_V4=y | 1522 | CONFIG_NFSD_V4=y |
1418 | CONFIG_NFSD_TCP=y | 1523 | CONFIG_NFSD_TCP=y |
1419 | CONFIG_ROOT_NFS=y | 1524 | CONFIG_ROOT_NFS=y |
1420 | CONFIG_LOCKD=y | 1525 | CONFIG_LOCKD=y |
1421 | CONFIG_LOCKD_V4=y | 1526 | CONFIG_LOCKD_V4=y |
1422 | CONFIG_EXPORTFS=y | 1527 | CONFIG_EXPORTFS=y |
1423 | CONFIG_NFS_ACL_SUPPORT=y | ||
1424 | CONFIG_NFS_COMMON=y | 1528 | CONFIG_NFS_COMMON=y |
1425 | CONFIG_SUNRPC=y | 1529 | CONFIG_SUNRPC=y |
1426 | CONFIG_SUNRPC_GSS=y | 1530 | CONFIG_SUNRPC_GSS=y |
@@ -1430,7 +1534,9 @@ CONFIG_SMB_FS=m | |||
1430 | # CONFIG_SMB_NLS_DEFAULT is not set | 1534 | # CONFIG_SMB_NLS_DEFAULT is not set |
1431 | CONFIG_CIFS=m | 1535 | CONFIG_CIFS=m |
1432 | # CONFIG_CIFS_STATS is not set | 1536 | # CONFIG_CIFS_STATS is not set |
1537 | # CONFIG_CIFS_WEAK_PW_HASH is not set | ||
1433 | # CONFIG_CIFS_XATTR is not set | 1538 | # CONFIG_CIFS_XATTR is not set |
1539 | # CONFIG_CIFS_DEBUG2 is not set | ||
1434 | # CONFIG_CIFS_EXPERIMENTAL is not set | 1540 | # CONFIG_CIFS_EXPERIMENTAL is not set |
1435 | # CONFIG_NCP_FS is not set | 1541 | # CONFIG_NCP_FS is not set |
1436 | # CONFIG_CODA_FS is not set | 1542 | # CONFIG_CODA_FS is not set |
@@ -1504,22 +1610,28 @@ CONFIG_NLS_ISO8859_15=m | |||
1504 | CONFIG_NLS_UTF8=m | 1610 | CONFIG_NLS_UTF8=m |
1505 | 1611 | ||
1506 | # | 1612 | # |
1613 | # Distributed Lock Manager | ||
1614 | # | ||
1615 | # CONFIG_DLM is not set | ||
1616 | |||
1617 | # | ||
1507 | # Profiling support | 1618 | # Profiling support |
1508 | # | 1619 | # |
1509 | CONFIG_PROFILING=y | 1620 | # CONFIG_PROFILING is not set |
1510 | CONFIG_OPROFILE=y | ||
1511 | 1621 | ||
1512 | # | 1622 | # |
1513 | # Kernel hacking | 1623 | # Kernel hacking |
1514 | # | 1624 | # |
1515 | # CONFIG_PRINTK_TIME is not set | 1625 | # CONFIG_PRINTK_TIME is not set |
1626 | CONFIG_ENABLE_MUST_CHECK=y | ||
1516 | CONFIG_MAGIC_SYSRQ=y | 1627 | CONFIG_MAGIC_SYSRQ=y |
1628 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1629 | CONFIG_DEBUG_FS=y | ||
1630 | # CONFIG_HEADERS_CHECK is not set | ||
1517 | # CONFIG_DEBUG_KERNEL is not set | 1631 | # CONFIG_DEBUG_KERNEL is not set |
1518 | CONFIG_LOG_BUF_SHIFT=14 | 1632 | CONFIG_LOG_BUF_SHIFT=14 |
1519 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1633 | # CONFIG_DEBUG_BUGVERBOSE is not set |
1520 | # CONFIG_DEBUG_FS is not set | ||
1521 | CONFIG_FRAME_POINTER=y | 1634 | CONFIG_FRAME_POINTER=y |
1522 | # CONFIG_UNWIND_INFO is not set | ||
1523 | CONFIG_DEBUG_USER=y | 1635 | CONFIG_DEBUG_USER=y |
1524 | 1636 | ||
1525 | # | 1637 | # |
@@ -1531,22 +1643,31 @@ CONFIG_SECURITY=y | |||
1531 | # CONFIG_SECURITY_NETWORK is not set | 1643 | # CONFIG_SECURITY_NETWORK is not set |
1532 | CONFIG_SECURITY_CAPABILITIES=y | 1644 | CONFIG_SECURITY_CAPABILITIES=y |
1533 | # CONFIG_SECURITY_ROOTPLUG is not set | 1645 | # CONFIG_SECURITY_ROOTPLUG is not set |
1534 | # CONFIG_SECURITY_SECLVL is not set | ||
1535 | 1646 | ||
1536 | # | 1647 | # |
1537 | # Cryptographic options | 1648 | # Cryptographic options |
1538 | # | 1649 | # |
1539 | CONFIG_CRYPTO=y | 1650 | CONFIG_CRYPTO=y |
1651 | CONFIG_CRYPTO_ALGAPI=y | ||
1652 | CONFIG_CRYPTO_BLKCIPHER=y | ||
1653 | CONFIG_CRYPTO_MANAGER=y | ||
1540 | # CONFIG_CRYPTO_HMAC is not set | 1654 | # CONFIG_CRYPTO_HMAC is not set |
1655 | # CONFIG_CRYPTO_XCBC is not set | ||
1541 | # CONFIG_CRYPTO_NULL is not set | 1656 | # CONFIG_CRYPTO_NULL is not set |
1542 | CONFIG_CRYPTO_MD4=y | 1657 | # CONFIG_CRYPTO_MD4 is not set |
1543 | CONFIG_CRYPTO_MD5=y | 1658 | CONFIG_CRYPTO_MD5=y |
1544 | CONFIG_CRYPTO_SHA1=m | 1659 | CONFIG_CRYPTO_SHA1=m |
1545 | CONFIG_CRYPTO_SHA256=m | 1660 | CONFIG_CRYPTO_SHA256=m |
1546 | CONFIG_CRYPTO_SHA512=m | 1661 | CONFIG_CRYPTO_SHA512=m |
1547 | # CONFIG_CRYPTO_WP512 is not set | 1662 | # CONFIG_CRYPTO_WP512 is not set |
1548 | # CONFIG_CRYPTO_TGR192 is not set | 1663 | # CONFIG_CRYPTO_TGR192 is not set |
1664 | # CONFIG_CRYPTO_GF128MUL is not set | ||
1665 | CONFIG_CRYPTO_ECB=y | ||
1666 | CONFIG_CRYPTO_CBC=y | ||
1667 | CONFIG_CRYPTO_PCBC=m | ||
1668 | # CONFIG_CRYPTO_LRW is not set | ||
1549 | CONFIG_CRYPTO_DES=y | 1669 | CONFIG_CRYPTO_DES=y |
1670 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1550 | # CONFIG_CRYPTO_BLOWFISH is not set | 1671 | # CONFIG_CRYPTO_BLOWFISH is not set |
1551 | # CONFIG_CRYPTO_TWOFISH is not set | 1672 | # CONFIG_CRYPTO_TWOFISH is not set |
1552 | # CONFIG_CRYPTO_SERPENT is not set | 1673 | # CONFIG_CRYPTO_SERPENT is not set |
@@ -1554,12 +1675,13 @@ CONFIG_CRYPTO_AES=m | |||
1554 | # CONFIG_CRYPTO_CAST5 is not set | 1675 | # CONFIG_CRYPTO_CAST5 is not set |
1555 | # CONFIG_CRYPTO_CAST6 is not set | 1676 | # CONFIG_CRYPTO_CAST6 is not set |
1556 | # CONFIG_CRYPTO_TEA is not set | 1677 | # CONFIG_CRYPTO_TEA is not set |
1557 | CONFIG_CRYPTO_ARC4=m | 1678 | CONFIG_CRYPTO_ARC4=y |
1558 | # CONFIG_CRYPTO_KHAZAD is not set | 1679 | # CONFIG_CRYPTO_KHAZAD is not set |
1559 | # CONFIG_CRYPTO_ANUBIS is not set | 1680 | # CONFIG_CRYPTO_ANUBIS is not set |
1560 | CONFIG_CRYPTO_DEFLATE=m | 1681 | CONFIG_CRYPTO_DEFLATE=m |
1561 | CONFIG_CRYPTO_MICHAEL_MIC=m | 1682 | CONFIG_CRYPTO_MICHAEL_MIC=m |
1562 | CONFIG_CRYPTO_CRC32C=y | 1683 | CONFIG_CRYPTO_CRC32C=y |
1684 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1563 | # CONFIG_CRYPTO_TEST is not set | 1685 | # CONFIG_CRYPTO_TEST is not set |
1564 | 1686 | ||
1565 | # | 1687 | # |
@@ -1569,6 +1691,7 @@ CONFIG_CRYPTO_CRC32C=y | |||
1569 | # | 1691 | # |
1570 | # Library routines | 1692 | # Library routines |
1571 | # | 1693 | # |
1694 | CONFIG_BITREVERSE=y | ||
1572 | CONFIG_CRC_CCITT=y | 1695 | CONFIG_CRC_CCITT=y |
1573 | CONFIG_CRC16=y | 1696 | CONFIG_CRC16=y |
1574 | CONFIG_CRC32=y | 1697 | CONFIG_CRC32=y |
@@ -1577,3 +1700,6 @@ CONFIG_ZLIB_INFLATE=y | |||
1577 | CONFIG_ZLIB_DEFLATE=y | 1700 | CONFIG_ZLIB_DEFLATE=y |
1578 | CONFIG_REED_SOLOMON=y | 1701 | CONFIG_REED_SOLOMON=y |
1579 | CONFIG_REED_SOLOMON_DEC16=y | 1702 | CONFIG_REED_SOLOMON_DEC16=y |
1703 | CONFIG_PLIST=y | ||
1704 | CONFIG_HAS_IOMEM=y | ||
1705 | CONFIG_HAS_IOPORT=y | ||
diff --git a/arch/arm/kernel/armksyms.c b/arch/arm/kernel/armksyms.c index 4779f474f911..9179e8220314 100644 --- a/arch/arm/kernel/armksyms.c +++ b/arch/arm/kernel/armksyms.c | |||
@@ -76,6 +76,7 @@ EXPORT_SYMBOL(__const_udelay); | |||
76 | 76 | ||
77 | /* networking */ | 77 | /* networking */ |
78 | EXPORT_SYMBOL(csum_partial); | 78 | EXPORT_SYMBOL(csum_partial); |
79 | EXPORT_SYMBOL(csum_partial_copy_from_user); | ||
79 | EXPORT_SYMBOL(csum_partial_copy_nocheck); | 80 | EXPORT_SYMBOL(csum_partial_copy_nocheck); |
80 | EXPORT_SYMBOL(__csum_ipv6_magic); | 81 | EXPORT_SYMBOL(__csum_ipv6_magic); |
81 | 82 | ||
diff --git a/arch/arm/kernel/ecard.c b/arch/arm/kernel/ecard.c index bdbd7da99286..f56d48c451ea 100644 --- a/arch/arm/kernel/ecard.c +++ b/arch/arm/kernel/ecard.c | |||
@@ -41,11 +41,11 @@ | |||
41 | #include <linux/init.h> | 41 | #include <linux/init.h> |
42 | #include <linux/mutex.h> | 42 | #include <linux/mutex.h> |
43 | #include <linux/kthread.h> | 43 | #include <linux/kthread.h> |
44 | #include <linux/io.h> | ||
44 | 45 | ||
45 | #include <asm/dma.h> | 46 | #include <asm/dma.h> |
46 | #include <asm/ecard.h> | 47 | #include <asm/ecard.h> |
47 | #include <asm/hardware.h> | 48 | #include <asm/hardware.h> |
48 | #include <asm/io.h> | ||
49 | #include <asm/irq.h> | 49 | #include <asm/irq.h> |
50 | #include <asm/mmu_context.h> | 50 | #include <asm/mmu_context.h> |
51 | #include <asm/mach/irq.h> | 51 | #include <asm/mach/irq.h> |
@@ -958,6 +958,31 @@ void ecard_release_resources(struct expansion_card *ec) | |||
958 | } | 958 | } |
959 | EXPORT_SYMBOL(ecard_release_resources); | 959 | EXPORT_SYMBOL(ecard_release_resources); |
960 | 960 | ||
961 | void ecard_setirq(struct expansion_card *ec, const struct expansion_card_ops *ops, void *irq_data) | ||
962 | { | ||
963 | ec->irq_data = irq_data; | ||
964 | barrier(); | ||
965 | ec->ops = ops; | ||
966 | } | ||
967 | EXPORT_SYMBOL(ecard_setirq); | ||
968 | |||
969 | void __iomem *ecardm_iomap(struct expansion_card *ec, unsigned int res, | ||
970 | unsigned long offset, unsigned long maxsize) | ||
971 | { | ||
972 | unsigned long start = ecard_resource_start(ec, res); | ||
973 | unsigned long end = ecard_resource_end(ec, res); | ||
974 | |||
975 | if (offset > (end - start)) | ||
976 | return NULL; | ||
977 | |||
978 | start += offset; | ||
979 | if (maxsize && end - start > maxsize) | ||
980 | end = start + maxsize; | ||
981 | |||
982 | return devm_ioremap(&ec->dev, start, end - start); | ||
983 | } | ||
984 | EXPORT_SYMBOL(ecardm_iomap); | ||
985 | |||
961 | /* | 986 | /* |
962 | * Probe for an expansion card. | 987 | * Probe for an expansion card. |
963 | * | 988 | * |
@@ -1133,6 +1158,14 @@ static int ecard_drv_remove(struct device *dev) | |||
1133 | drv->remove(ec); | 1158 | drv->remove(ec); |
1134 | ecard_release(ec); | 1159 | ecard_release(ec); |
1135 | 1160 | ||
1161 | /* | ||
1162 | * Restore the default operations. We ensure that the | ||
1163 | * ops are set before we change the data. | ||
1164 | */ | ||
1165 | ec->ops = &ecard_default_ops; | ||
1166 | barrier(); | ||
1167 | ec->irq_data = NULL; | ||
1168 | |||
1136 | return 0; | 1169 | return 0; |
1137 | } | 1170 | } |
1138 | 1171 | ||
diff --git a/arch/arm/kernel/stacktrace.c b/arch/arm/kernel/stacktrace.c index 77ef35efaa8d..398d0c0511eb 100644 --- a/arch/arm/kernel/stacktrace.c +++ b/arch/arm/kernel/stacktrace.c | |||
@@ -52,21 +52,15 @@ static int save_trace(struct stackframe *frame, void *d) | |||
52 | return trace->nr_entries >= trace->max_entries; | 52 | return trace->nr_entries >= trace->max_entries; |
53 | } | 53 | } |
54 | 54 | ||
55 | void save_stack_trace(struct stack_trace *trace, struct task_struct *task) | 55 | void save_stack_trace(struct stack_trace *trace) |
56 | { | 56 | { |
57 | struct stack_trace_data data; | 57 | struct stack_trace_data data; |
58 | unsigned long fp, base; | 58 | unsigned long fp, base; |
59 | 59 | ||
60 | data.trace = trace; | 60 | data.trace = trace; |
61 | data.skip = trace->skip; | 61 | data.skip = trace->skip; |
62 | 62 | base = (unsigned long)task_stack_page(current); | |
63 | if (task) { | 63 | asm("mov %0, fp" : "=r" (fp)); |
64 | base = (unsigned long)task_stack_page(task); | ||
65 | fp = 0; /* FIXME */ | ||
66 | } else { | ||
67 | base = (unsigned long)task_stack_page(current); | ||
68 | asm("mov %0, fp" : "=r" (fp)); | ||
69 | } | ||
70 | 64 | ||
71 | walk_stackframe(fp, base, base + THREAD_SIZE, save_trace, &data); | 65 | walk_stackframe(fp, base, base + THREAD_SIZE, save_trace, &data); |
72 | } | 66 | } |
diff --git a/arch/arm/kernel/time.c b/arch/arm/kernel/time.c index d0540e4eaf5b..1533d3ecd7a0 100644 --- a/arch/arm/kernel/time.c +++ b/arch/arm/kernel/time.c | |||
@@ -512,7 +512,7 @@ void __init time_init(void) | |||
512 | 512 | ||
513 | #ifdef CONFIG_NO_IDLE_HZ | 513 | #ifdef CONFIG_NO_IDLE_HZ |
514 | if (system_timer->dyn_tick) | 514 | if (system_timer->dyn_tick) |
515 | system_timer->dyn_tick->lock = SPIN_LOCK_UNLOCKED; | 515 | spin_lock_init(&system_timer->dyn_tick->lock); |
516 | #endif | 516 | #endif |
517 | } | 517 | } |
518 | 518 | ||
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig index 018d637f87fc..a31157f1655a 100644 --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig | |||
@@ -17,6 +17,9 @@ config ARCH_AT91SAM9261 | |||
17 | config ARCH_AT91SAM9263 | 17 | config ARCH_AT91SAM9263 |
18 | bool "AT91SAM9263" | 18 | bool "AT91SAM9263" |
19 | 19 | ||
20 | config ARCH_AT91SAM9RL | ||
21 | bool "AT91SAM9RL" | ||
22 | |||
20 | endchoice | 23 | endchoice |
21 | 24 | ||
22 | # ---------------------------------------------------------- | 25 | # ---------------------------------------------------------- |
@@ -152,6 +155,20 @@ endif | |||
152 | 155 | ||
153 | # ---------------------------------------------------------- | 156 | # ---------------------------------------------------------- |
154 | 157 | ||
158 | if ARCH_AT91SAM9RL | ||
159 | |||
160 | comment "AT91SAM9RL Board Type" | ||
161 | |||
162 | config MACH_AT91SAM9RLEK | ||
163 | bool "Atmel AT91SAM9RL-EK Evaluation Kit" | ||
164 | depends on ARCH_AT91SAM9RL | ||
165 | help | ||
166 | Select this if you are using Atmel's AT91SAM9RL-EK Evaluation Kit. | ||
167 | |||
168 | endif | ||
169 | |||
170 | # ---------------------------------------------------------- | ||
171 | |||
155 | comment "AT91 Board Options" | 172 | comment "AT91 Board Options" |
156 | 173 | ||
157 | config MTD_AT91_DATAFLASH_CARD | 174 | config MTD_AT91_DATAFLASH_CARD |
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile index a412ae18a421..a4d80eb056ee 100644 --- a/arch/arm/mach-at91/Makefile +++ b/arch/arm/mach-at91/Makefile | |||
@@ -14,6 +14,7 @@ obj-$(CONFIG_ARCH_AT91RM9200) += at91rm9200.o at91rm9200_time.o at91rm9200_devic | |||
14 | obj-$(CONFIG_ARCH_AT91SAM9260) += at91sam9260.o at91sam926x_time.o at91sam9260_devices.o | 14 | obj-$(CONFIG_ARCH_AT91SAM9260) += at91sam9260.o at91sam926x_time.o at91sam9260_devices.o |
15 | obj-$(CONFIG_ARCH_AT91SAM9261) += at91sam9261.o at91sam926x_time.o at91sam9261_devices.o | 15 | obj-$(CONFIG_ARCH_AT91SAM9261) += at91sam9261.o at91sam926x_time.o at91sam9261_devices.o |
16 | obj-$(CONFIG_ARCH_AT91SAM9263) += at91sam9263.o at91sam926x_time.o at91sam9263_devices.o | 16 | obj-$(CONFIG_ARCH_AT91SAM9263) += at91sam9263.o at91sam926x_time.o at91sam9263_devices.o |
17 | obj-$(CONFIG_ARCH_AT91SAM9RL) += at91sam9rl.o at91sam926x_time.o at91sam9rl_devices.o | ||
17 | 18 | ||
18 | # AT91RM9200 board-specific support | 19 | # AT91RM9200 board-specific support |
19 | obj-$(CONFIG_MACH_ONEARM) += board-1arm.o | 20 | obj-$(CONFIG_MACH_ONEARM) += board-1arm.o |
@@ -36,9 +37,13 @@ obj-$(CONFIG_MACH_AT91SAM9261EK) += board-sam9261ek.o | |||
36 | # AT91SAM9263 board-specific support | 37 | # AT91SAM9263 board-specific support |
37 | obj-$(CONFIG_MACH_AT91SAM9263EK) += board-sam9263ek.o | 38 | obj-$(CONFIG_MACH_AT91SAM9263EK) += board-sam9263ek.o |
38 | 39 | ||
40 | # AT91SAM9RL board-specific support | ||
41 | obj-$(CONFIG_MACH_AT91SAM9RLEK) += board-sam9rlek.o | ||
42 | |||
39 | # LEDs support | 43 | # LEDs support |
40 | led-$(CONFIG_ARCH_AT91RM9200DK) += leds.o | 44 | led-$(CONFIG_ARCH_AT91RM9200DK) += leds.o |
41 | led-$(CONFIG_MACH_AT91RM9200EK) += leds.o | 45 | led-$(CONFIG_MACH_AT91RM9200EK) += leds.o |
46 | led-$(CONFIG_MACH_AT91SAM9261EK)+= leds.o | ||
42 | led-$(CONFIG_MACH_CSB337) += leds.o | 47 | led-$(CONFIG_MACH_CSB337) += leds.o |
43 | led-$(CONFIG_MACH_CSB637) += leds.o | 48 | led-$(CONFIG_MACH_CSB637) += leds.o |
44 | led-$(CONFIG_MACH_KB9200) += leds.o | 49 | led-$(CONFIG_MACH_KB9200) += leds.o |
diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c index 2624a4f22d61..70599bcf451c 100644 --- a/arch/arm/mach-at91/at91rm9200_devices.c +++ b/arch/arm/mach-at91/at91rm9200_devices.c | |||
@@ -22,9 +22,6 @@ | |||
22 | 22 | ||
23 | #include "generic.h" | 23 | #include "generic.h" |
24 | 24 | ||
25 | #define SZ_512 0x00000200 | ||
26 | #define SZ_256 0x00000100 | ||
27 | #define SZ_16 0x00000010 | ||
28 | 25 | ||
29 | /* -------------------------------------------------------------------- | 26 | /* -------------------------------------------------------------------- |
30 | * USB Host | 27 | * USB Host |
diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c index 40586e22cd38..ffd3154c1e54 100644 --- a/arch/arm/mach-at91/at91sam9260_devices.c +++ b/arch/arm/mach-at91/at91sam9260_devices.c | |||
@@ -22,9 +22,6 @@ | |||
22 | 22 | ||
23 | #include "generic.h" | 23 | #include "generic.h" |
24 | 24 | ||
25 | #define SZ_512 0x00000200 | ||
26 | #define SZ_256 0x00000100 | ||
27 | #define SZ_16 0x00000010 | ||
28 | 25 | ||
29 | /* -------------------------------------------------------------------- | 26 | /* -------------------------------------------------------------------- |
30 | * USB Host | 27 | * USB Host |
diff --git a/arch/arm/mach-at91/at91sam9261_devices.c b/arch/arm/mach-at91/at91sam9261_devices.c index 8e781997716a..9db58da04754 100644 --- a/arch/arm/mach-at91/at91sam9261_devices.c +++ b/arch/arm/mach-at91/at91sam9261_devices.c | |||
@@ -23,9 +23,6 @@ | |||
23 | 23 | ||
24 | #include "generic.h" | 24 | #include "generic.h" |
25 | 25 | ||
26 | #define SZ_512 0x00000200 | ||
27 | #define SZ_256 0x00000100 | ||
28 | #define SZ_16 0x00000010 | ||
29 | 26 | ||
30 | /* -------------------------------------------------------------------- | 27 | /* -------------------------------------------------------------------- |
31 | * USB Host | 28 | * USB Host |
diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c index 2b2e18a67128..635695787f91 100644 --- a/arch/arm/mach-at91/at91sam9263_devices.c +++ b/arch/arm/mach-at91/at91sam9263_devices.c | |||
@@ -22,9 +22,6 @@ | |||
22 | 22 | ||
23 | #include "generic.h" | 23 | #include "generic.h" |
24 | 24 | ||
25 | #define SZ_512 0x00000200 | ||
26 | #define SZ_256 0x00000100 | ||
27 | #define SZ_16 0x00000010 | ||
28 | 25 | ||
29 | /* -------------------------------------------------------------------- | 26 | /* -------------------------------------------------------------------- |
30 | * USB Host | 27 | * USB Host |
diff --git a/arch/arm/mach-at91/at91sam9rl.c b/arch/arm/mach-at91/at91sam9rl.c new file mode 100644 index 000000000000..4813a35f6cf5 --- /dev/null +++ b/arch/arm/mach-at91/at91sam9rl.c | |||
@@ -0,0 +1,341 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-at91/at91sam9rl.c | ||
3 | * | ||
4 | * Copyright (C) 2005 SAN People | ||
5 | * Copyright (C) 2007 Atmel Corporation | ||
6 | * | ||
7 | * This file is subject to the terms and conditions of the GNU General Public | ||
8 | * License. See the file COPYING in the main directory of this archive for | ||
9 | * more details. | ||
10 | */ | ||
11 | |||
12 | #include <linux/module.h> | ||
13 | |||
14 | #include <asm/mach/arch.h> | ||
15 | #include <asm/mach/map.h> | ||
16 | #include <asm/arch/cpu.h> | ||
17 | #include <asm/arch/at91sam9rl.h> | ||
18 | #include <asm/arch/at91_pmc.h> | ||
19 | #include <asm/arch/at91_rstc.h> | ||
20 | |||
21 | #include "generic.h" | ||
22 | #include "clock.h" | ||
23 | |||
24 | static struct map_desc at91sam9rl_io_desc[] __initdata = { | ||
25 | { | ||
26 | .virtual = AT91_VA_BASE_SYS, | ||
27 | .pfn = __phys_to_pfn(AT91_BASE_SYS), | ||
28 | .length = SZ_16K, | ||
29 | .type = MT_DEVICE, | ||
30 | }, | ||
31 | }; | ||
32 | |||
33 | static struct map_desc at91sam9rl_sram_desc[] __initdata = { | ||
34 | { | ||
35 | .pfn = __phys_to_pfn(AT91SAM9RL_SRAM_BASE), | ||
36 | .type = MT_DEVICE, | ||
37 | } | ||
38 | }; | ||
39 | |||
40 | /* -------------------------------------------------------------------- | ||
41 | * Clocks | ||
42 | * -------------------------------------------------------------------- */ | ||
43 | |||
44 | /* | ||
45 | * The peripheral clocks. | ||
46 | */ | ||
47 | static struct clk pioA_clk = { | ||
48 | .name = "pioA_clk", | ||
49 | .pmc_mask = 1 << AT91SAM9RL_ID_PIOA, | ||
50 | .type = CLK_TYPE_PERIPHERAL, | ||
51 | }; | ||
52 | static struct clk pioB_clk = { | ||
53 | .name = "pioB_clk", | ||
54 | .pmc_mask = 1 << AT91SAM9RL_ID_PIOB, | ||
55 | .type = CLK_TYPE_PERIPHERAL, | ||
56 | }; | ||
57 | static struct clk pioC_clk = { | ||
58 | .name = "pioC_clk", | ||
59 | .pmc_mask = 1 << AT91SAM9RL_ID_PIOC, | ||
60 | .type = CLK_TYPE_PERIPHERAL, | ||
61 | }; | ||
62 | static struct clk pioD_clk = { | ||
63 | .name = "pioD_clk", | ||
64 | .pmc_mask = 1 << AT91SAM9RL_ID_PIOD, | ||
65 | .type = CLK_TYPE_PERIPHERAL, | ||
66 | }; | ||
67 | static struct clk usart0_clk = { | ||
68 | .name = "usart0_clk", | ||
69 | .pmc_mask = 1 << AT91SAM9RL_ID_US0, | ||
70 | .type = CLK_TYPE_PERIPHERAL, | ||
71 | }; | ||
72 | static struct clk usart1_clk = { | ||
73 | .name = "usart1_clk", | ||
74 | .pmc_mask = 1 << AT91SAM9RL_ID_US1, | ||
75 | .type = CLK_TYPE_PERIPHERAL, | ||
76 | }; | ||
77 | static struct clk usart2_clk = { | ||
78 | .name = "usart2_clk", | ||
79 | .pmc_mask = 1 << AT91SAM9RL_ID_US2, | ||
80 | .type = CLK_TYPE_PERIPHERAL, | ||
81 | }; | ||
82 | static struct clk usart3_clk = { | ||
83 | .name = "usart3_clk", | ||
84 | .pmc_mask = 1 << AT91SAM9RL_ID_US3, | ||
85 | .type = CLK_TYPE_PERIPHERAL, | ||
86 | }; | ||
87 | static struct clk mmc_clk = { | ||
88 | .name = "mci_clk", | ||
89 | .pmc_mask = 1 << AT91SAM9RL_ID_MCI, | ||
90 | .type = CLK_TYPE_PERIPHERAL, | ||
91 | }; | ||
92 | static struct clk twi0_clk = { | ||
93 | .name = "twi0_clk", | ||
94 | .pmc_mask = 1 << AT91SAM9RL_ID_TWI0, | ||
95 | .type = CLK_TYPE_PERIPHERAL, | ||
96 | }; | ||
97 | static struct clk twi1_clk = { | ||
98 | .name = "twi1_clk", | ||
99 | .pmc_mask = 1 << AT91SAM9RL_ID_TWI1, | ||
100 | .type = CLK_TYPE_PERIPHERAL, | ||
101 | }; | ||
102 | static struct clk spi_clk = { | ||
103 | .name = "spi_clk", | ||
104 | .pmc_mask = 1 << AT91SAM9RL_ID_SPI, | ||
105 | .type = CLK_TYPE_PERIPHERAL, | ||
106 | }; | ||
107 | static struct clk ssc0_clk = { | ||
108 | .name = "ssc0_clk", | ||
109 | .pmc_mask = 1 << AT91SAM9RL_ID_SSC0, | ||
110 | .type = CLK_TYPE_PERIPHERAL, | ||
111 | }; | ||
112 | static struct clk ssc1_clk = { | ||
113 | .name = "ssc1_clk", | ||
114 | .pmc_mask = 1 << AT91SAM9RL_ID_SSC1, | ||
115 | .type = CLK_TYPE_PERIPHERAL, | ||
116 | }; | ||
117 | static struct clk tc0_clk = { | ||
118 | .name = "tc0_clk", | ||
119 | .pmc_mask = 1 << AT91SAM9RL_ID_TC0, | ||
120 | .type = CLK_TYPE_PERIPHERAL, | ||
121 | }; | ||
122 | static struct clk tc1_clk = { | ||
123 | .name = "tc1_clk", | ||
124 | .pmc_mask = 1 << AT91SAM9RL_ID_TC1, | ||
125 | .type = CLK_TYPE_PERIPHERAL, | ||
126 | }; | ||
127 | static struct clk tc2_clk = { | ||
128 | .name = "tc2_clk", | ||
129 | .pmc_mask = 1 << AT91SAM9RL_ID_TC2, | ||
130 | .type = CLK_TYPE_PERIPHERAL, | ||
131 | }; | ||
132 | static struct clk pwmc_clk = { | ||
133 | .name = "pwmc_clk", | ||
134 | .pmc_mask = 1 << AT91SAM9RL_ID_PWMC, | ||
135 | .type = CLK_TYPE_PERIPHERAL, | ||
136 | }; | ||
137 | static struct clk tsc_clk = { | ||
138 | .name = "tsc_clk", | ||
139 | .pmc_mask = 1 << AT91SAM9RL_ID_TSC, | ||
140 | .type = CLK_TYPE_PERIPHERAL, | ||
141 | }; | ||
142 | static struct clk dma_clk = { | ||
143 | .name = "dma_clk", | ||
144 | .pmc_mask = 1 << AT91SAM9RL_ID_DMA, | ||
145 | .type = CLK_TYPE_PERIPHERAL, | ||
146 | }; | ||
147 | static struct clk udphs_clk = { | ||
148 | .name = "udphs_clk", | ||
149 | .pmc_mask = 1 << AT91SAM9RL_ID_UDPHS, | ||
150 | .type = CLK_TYPE_PERIPHERAL, | ||
151 | }; | ||
152 | static struct clk lcdc_clk = { | ||
153 | .name = "lcdc_clk", | ||
154 | .pmc_mask = 1 << AT91SAM9RL_ID_LCDC, | ||
155 | .type = CLK_TYPE_PERIPHERAL, | ||
156 | }; | ||
157 | static struct clk ac97_clk = { | ||
158 | .name = "ac97_clk", | ||
159 | .pmc_mask = 1 << AT91SAM9RL_ID_AC97C, | ||
160 | .type = CLK_TYPE_PERIPHERAL, | ||
161 | }; | ||
162 | |||
163 | static struct clk *periph_clocks[] __initdata = { | ||
164 | &pioA_clk, | ||
165 | &pioB_clk, | ||
166 | &pioC_clk, | ||
167 | &pioD_clk, | ||
168 | &usart0_clk, | ||
169 | &usart1_clk, | ||
170 | &usart2_clk, | ||
171 | &usart3_clk, | ||
172 | &mmc_clk, | ||
173 | &twi0_clk, | ||
174 | &twi1_clk, | ||
175 | &spi_clk, | ||
176 | &ssc0_clk, | ||
177 | &ssc1_clk, | ||
178 | &tc0_clk, | ||
179 | &tc1_clk, | ||
180 | &tc2_clk, | ||
181 | &pwmc_clk, | ||
182 | &tsc_clk, | ||
183 | &dma_clk, | ||
184 | &udphs_clk, | ||
185 | &lcdc_clk, | ||
186 | &ac97_clk, | ||
187 | // irq0 | ||
188 | }; | ||
189 | |||
190 | /* | ||
191 | * The two programmable clocks. | ||
192 | * You must configure pin multiplexing to bring these signals out. | ||
193 | */ | ||
194 | static struct clk pck0 = { | ||
195 | .name = "pck0", | ||
196 | .pmc_mask = AT91_PMC_PCK0, | ||
197 | .type = CLK_TYPE_PROGRAMMABLE, | ||
198 | .id = 0, | ||
199 | }; | ||
200 | static struct clk pck1 = { | ||
201 | .name = "pck1", | ||
202 | .pmc_mask = AT91_PMC_PCK1, | ||
203 | .type = CLK_TYPE_PROGRAMMABLE, | ||
204 | .id = 1, | ||
205 | }; | ||
206 | |||
207 | static void __init at91sam9rl_register_clocks(void) | ||
208 | { | ||
209 | int i; | ||
210 | |||
211 | for (i = 0; i < ARRAY_SIZE(periph_clocks); i++) | ||
212 | clk_register(periph_clocks[i]); | ||
213 | |||
214 | clk_register(&pck0); | ||
215 | clk_register(&pck1); | ||
216 | } | ||
217 | |||
218 | /* -------------------------------------------------------------------- | ||
219 | * GPIO | ||
220 | * -------------------------------------------------------------------- */ | ||
221 | |||
222 | static struct at91_gpio_bank at91sam9rl_gpio[] = { | ||
223 | { | ||
224 | .id = AT91SAM9RL_ID_PIOA, | ||
225 | .offset = AT91_PIOA, | ||
226 | .clock = &pioA_clk, | ||
227 | }, { | ||
228 | .id = AT91SAM9RL_ID_PIOB, | ||
229 | .offset = AT91_PIOB, | ||
230 | .clock = &pioB_clk, | ||
231 | }, { | ||
232 | .id = AT91SAM9RL_ID_PIOC, | ||
233 | .offset = AT91_PIOC, | ||
234 | .clock = &pioC_clk, | ||
235 | }, { | ||
236 | .id = AT91SAM9RL_ID_PIOD, | ||
237 | .offset = AT91_PIOD, | ||
238 | .clock = &pioD_clk, | ||
239 | } | ||
240 | }; | ||
241 | |||
242 | static void at91sam9rl_reset(void) | ||
243 | { | ||
244 | at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST); | ||
245 | } | ||
246 | |||
247 | |||
248 | /* -------------------------------------------------------------------- | ||
249 | * AT91SAM9RL processor initialization | ||
250 | * -------------------------------------------------------------------- */ | ||
251 | |||
252 | void __init at91sam9rl_initialize(unsigned long main_clock) | ||
253 | { | ||
254 | unsigned long cidr, sram_size; | ||
255 | |||
256 | /* Map peripherals */ | ||
257 | iotable_init(at91sam9rl_io_desc, ARRAY_SIZE(at91sam9rl_io_desc)); | ||
258 | |||
259 | cidr = at91_sys_read(AT91_DBGU_CIDR); | ||
260 | |||
261 | switch (cidr & AT91_CIDR_SRAMSIZ) { | ||
262 | case AT91_CIDR_SRAMSIZ_32K: | ||
263 | sram_size = 2 * SZ_16K; | ||
264 | break; | ||
265 | case AT91_CIDR_SRAMSIZ_16K: | ||
266 | default: | ||
267 | sram_size = SZ_16K; | ||
268 | } | ||
269 | |||
270 | at91sam9rl_sram_desc->virtual = AT91_IO_VIRT_BASE - sram_size; | ||
271 | at91sam9rl_sram_desc->length = sram_size; | ||
272 | |||
273 | /* Map SRAM */ | ||
274 | iotable_init(at91sam9rl_sram_desc, ARRAY_SIZE(at91sam9rl_sram_desc)); | ||
275 | |||
276 | at91_arch_reset = at91sam9rl_reset; | ||
277 | at91_extern_irq = (1 << AT91SAM9RL_ID_IRQ0); | ||
278 | |||
279 | /* Init clock subsystem */ | ||
280 | at91_clock_init(main_clock); | ||
281 | |||
282 | /* Register the processor-specific clocks */ | ||
283 | at91sam9rl_register_clocks(); | ||
284 | |||
285 | /* Register GPIO subsystem */ | ||
286 | at91_gpio_init(at91sam9rl_gpio, 4); | ||
287 | } | ||
288 | |||
289 | /* -------------------------------------------------------------------- | ||
290 | * Interrupt initialization | ||
291 | * -------------------------------------------------------------------- */ | ||
292 | |||
293 | /* | ||
294 | * The default interrupt priority levels (0 = lowest, 7 = highest). | ||
295 | */ | ||
296 | static unsigned int at91sam9rl_default_irq_priority[NR_AIC_IRQS] __initdata = { | ||
297 | 7, /* Advanced Interrupt Controller */ | ||
298 | 7, /* System Peripherals */ | ||
299 | 1, /* Parallel IO Controller A */ | ||
300 | 1, /* Parallel IO Controller B */ | ||
301 | 1, /* Parallel IO Controller C */ | ||
302 | 1, /* Parallel IO Controller D */ | ||
303 | 5, /* USART 0 */ | ||
304 | 5, /* USART 1 */ | ||
305 | 5, /* USART 2 */ | ||
306 | 5, /* USART 3 */ | ||
307 | 0, /* Multimedia Card Interface */ | ||
308 | 6, /* Two-Wire Interface 0 */ | ||
309 | 6, /* Two-Wire Interface 1 */ | ||
310 | 5, /* Serial Peripheral Interface */ | ||
311 | 4, /* Serial Synchronous Controller 0 */ | ||
312 | 4, /* Serial Synchronous Controller 1 */ | ||
313 | 0, /* Timer Counter 0 */ | ||
314 | 0, /* Timer Counter 1 */ | ||
315 | 0, /* Timer Counter 2 */ | ||
316 | 0, | ||
317 | 0, /* Touch Screen Controller */ | ||
318 | 0, /* DMA Controller */ | ||
319 | 2, /* USB Device High speed port */ | ||
320 | 2, /* LCD Controller */ | ||
321 | 6, /* AC97 Controller */ | ||
322 | 0, | ||
323 | 0, | ||
324 | 0, | ||
325 | 0, | ||
326 | 0, | ||
327 | 0, | ||
328 | 0, /* Advanced Interrupt Controller */ | ||
329 | }; | ||
330 | |||
331 | void __init at91sam9rl_init_interrupts(unsigned int priority[NR_AIC_IRQS]) | ||
332 | { | ||
333 | if (!priority) | ||
334 | priority = at91sam9rl_default_irq_priority; | ||
335 | |||
336 | /* Initialize the AIC interrupt controller */ | ||
337 | at91_aic_init(priority); | ||
338 | |||
339 | /* Enable GPIO interrupts */ | ||
340 | at91_gpio_irq_setup(); | ||
341 | } | ||
diff --git a/arch/arm/mach-at91/at91sam9rl_devices.c b/arch/arm/mach-at91/at91sam9rl_devices.c new file mode 100644 index 000000000000..cd7532bcd4e5 --- /dev/null +++ b/arch/arm/mach-at91/at91sam9rl_devices.c | |||
@@ -0,0 +1,630 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2007 Atmel Corporation | ||
3 | * | ||
4 | * This file is subject to the terms and conditions of the GNU General Public | ||
5 | * License. See the file COPYING in the main directory of this archive for | ||
6 | * more details. | ||
7 | */ | ||
8 | |||
9 | #include <asm/mach/arch.h> | ||
10 | #include <asm/mach/map.h> | ||
11 | |||
12 | #include <linux/platform_device.h> | ||
13 | #include <linux/fb.h> | ||
14 | |||
15 | #include <video/atmel_lcdc.h> | ||
16 | |||
17 | #include <asm/arch/board.h> | ||
18 | #include <asm/arch/gpio.h> | ||
19 | #include <asm/arch/at91sam9rl.h> | ||
20 | #include <asm/arch/at91sam9rl_matrix.h> | ||
21 | #include <asm/arch/at91sam926x_mc.h> | ||
22 | |||
23 | #include "generic.h" | ||
24 | |||
25 | |||
26 | /* -------------------------------------------------------------------- | ||
27 | * MMC / SD | ||
28 | * -------------------------------------------------------------------- */ | ||
29 | |||
30 | #if defined(CONFIG_MMC_AT91) || defined(CONFIG_MMC_AT91_MODULE) | ||
31 | static u64 mmc_dmamask = 0xffffffffUL; | ||
32 | static struct at91_mmc_data mmc_data; | ||
33 | |||
34 | static struct resource mmc_resources[] = { | ||
35 | [0] = { | ||
36 | .start = AT91SAM9RL_BASE_MCI, | ||
37 | .end = AT91SAM9RL_BASE_MCI + SZ_16K - 1, | ||
38 | .flags = IORESOURCE_MEM, | ||
39 | }, | ||
40 | [1] = { | ||
41 | .start = AT91SAM9RL_ID_MCI, | ||
42 | .end = AT91SAM9RL_ID_MCI, | ||
43 | .flags = IORESOURCE_IRQ, | ||
44 | }, | ||
45 | }; | ||
46 | |||
47 | static struct platform_device at91sam9rl_mmc_device = { | ||
48 | .name = "at91_mci", | ||
49 | .id = -1, | ||
50 | .dev = { | ||
51 | .dma_mask = &mmc_dmamask, | ||
52 | .coherent_dma_mask = 0xffffffff, | ||
53 | .platform_data = &mmc_data, | ||
54 | }, | ||
55 | .resource = mmc_resources, | ||
56 | .num_resources = ARRAY_SIZE(mmc_resources), | ||
57 | }; | ||
58 | |||
59 | void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) | ||
60 | { | ||
61 | if (!data) | ||
62 | return; | ||
63 | |||
64 | /* input/irq */ | ||
65 | if (data->det_pin) { | ||
66 | at91_set_gpio_input(data->det_pin, 1); | ||
67 | at91_set_deglitch(data->det_pin, 1); | ||
68 | } | ||
69 | if (data->wp_pin) | ||
70 | at91_set_gpio_input(data->wp_pin, 1); | ||
71 | if (data->vcc_pin) | ||
72 | at91_set_gpio_output(data->vcc_pin, 0); | ||
73 | |||
74 | /* CLK */ | ||
75 | at91_set_A_periph(AT91_PIN_PA2, 0); | ||
76 | |||
77 | /* CMD */ | ||
78 | at91_set_A_periph(AT91_PIN_PA1, 1); | ||
79 | |||
80 | /* DAT0, maybe DAT1..DAT3 */ | ||
81 | at91_set_A_periph(AT91_PIN_PA0, 1); | ||
82 | if (data->wire4) { | ||
83 | at91_set_A_periph(AT91_PIN_PA3, 1); | ||
84 | at91_set_A_periph(AT91_PIN_PA4, 1); | ||
85 | at91_set_A_periph(AT91_PIN_PA5, 1); | ||
86 | } | ||
87 | |||
88 | mmc_data = *data; | ||
89 | platform_device_register(&at91sam9rl_mmc_device); | ||
90 | } | ||
91 | #else | ||
92 | void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {} | ||
93 | #endif | ||
94 | |||
95 | |||
96 | /* -------------------------------------------------------------------- | ||
97 | * NAND / SmartMedia | ||
98 | * -------------------------------------------------------------------- */ | ||
99 | |||
100 | #if defined(CONFIG_MTD_NAND_AT91) || defined(CONFIG_MTD_NAND_AT91_MODULE) | ||
101 | static struct at91_nand_data nand_data; | ||
102 | |||
103 | #define NAND_BASE AT91_CHIPSELECT_3 | ||
104 | |||
105 | static struct resource nand_resources[] = { | ||
106 | { | ||
107 | .start = NAND_BASE, | ||
108 | .end = NAND_BASE + SZ_256M - 1, | ||
109 | .flags = IORESOURCE_MEM, | ||
110 | } | ||
111 | }; | ||
112 | |||
113 | static struct platform_device at91_nand_device = { | ||
114 | .name = "at91_nand", | ||
115 | .id = -1, | ||
116 | .dev = { | ||
117 | .platform_data = &nand_data, | ||
118 | }, | ||
119 | .resource = nand_resources, | ||
120 | .num_resources = ARRAY_SIZE(nand_resources), | ||
121 | }; | ||
122 | |||
123 | void __init at91_add_device_nand(struct at91_nand_data *data) | ||
124 | { | ||
125 | unsigned long csa; | ||
126 | |||
127 | if (!data) | ||
128 | return; | ||
129 | |||
130 | csa = at91_sys_read(AT91_MATRIX_EBICSA); | ||
131 | at91_sys_write(AT91_MATRIX_EBICSA, csa | AT91_MATRIX_CS3A_SMC_SMARTMEDIA); | ||
132 | |||
133 | /* set the bus interface characteristics */ | ||
134 | at91_sys_write(AT91_SMC_SETUP(3), AT91_SMC_NWESETUP_(0) | AT91_SMC_NCS_WRSETUP_(0) | ||
135 | | AT91_SMC_NRDSETUP_(0) | AT91_SMC_NCS_RDSETUP_(0)); | ||
136 | |||
137 | at91_sys_write(AT91_SMC_PULSE(3), AT91_SMC_NWEPULSE_(2) | AT91_SMC_NCS_WRPULSE_(5) | ||
138 | | AT91_SMC_NRDPULSE_(2) | AT91_SMC_NCS_RDPULSE_(5)); | ||
139 | |||
140 | at91_sys_write(AT91_SMC_CYCLE(3), AT91_SMC_NWECYCLE_(7) | AT91_SMC_NRDCYCLE_(7)); | ||
141 | |||
142 | at91_sys_write(AT91_SMC_MODE(3), AT91_SMC_DBW_8 | AT91_SMC_READMODE | AT91_SMC_WRITEMODE | AT91_SMC_EXNWMODE_DISABLE | AT91_SMC_TDF_(1)); | ||
143 | |||
144 | /* enable pin */ | ||
145 | if (data->enable_pin) | ||
146 | at91_set_gpio_output(data->enable_pin, 1); | ||
147 | |||
148 | /* ready/busy pin */ | ||
149 | if (data->rdy_pin) | ||
150 | at91_set_gpio_input(data->rdy_pin, 1); | ||
151 | |||
152 | /* card detect pin */ | ||
153 | if (data->det_pin) | ||
154 | at91_set_gpio_input(data->det_pin, 1); | ||
155 | |||
156 | at91_set_A_periph(AT91_PIN_PB4, 0); /* NANDOE */ | ||
157 | at91_set_A_periph(AT91_PIN_PB5, 0); /* NANDWE */ | ||
158 | |||
159 | nand_data = *data; | ||
160 | platform_device_register(&at91_nand_device); | ||
161 | } | ||
162 | |||
163 | #else | ||
164 | void __init at91_add_device_nand(struct at91_nand_data *data) {} | ||
165 | #endif | ||
166 | |||
167 | |||
168 | /* -------------------------------------------------------------------- | ||
169 | * TWI (i2c) | ||
170 | * -------------------------------------------------------------------- */ | ||
171 | |||
172 | #if defined(CONFIG_I2C_AT91) || defined(CONFIG_I2C_AT91_MODULE) | ||
173 | |||
174 | static struct resource twi_resources[] = { | ||
175 | [0] = { | ||
176 | .start = AT91SAM9RL_BASE_TWI0, | ||
177 | .end = AT91SAM9RL_BASE_TWI0 + SZ_16K - 1, | ||
178 | .flags = IORESOURCE_MEM, | ||
179 | }, | ||
180 | [1] = { | ||
181 | .start = AT91SAM9RL_ID_TWI0, | ||
182 | .end = AT91SAM9RL_ID_TWI0, | ||
183 | .flags = IORESOURCE_IRQ, | ||
184 | }, | ||
185 | }; | ||
186 | |||
187 | static struct platform_device at91sam9rl_twi_device = { | ||
188 | .name = "at91_i2c", | ||
189 | .id = -1, | ||
190 | .resource = twi_resources, | ||
191 | .num_resources = ARRAY_SIZE(twi_resources), | ||
192 | }; | ||
193 | |||
194 | void __init at91_add_device_i2c(void) | ||
195 | { | ||
196 | /* pins used for TWI interface */ | ||
197 | at91_set_A_periph(AT91_PIN_PA23, 0); /* TWD */ | ||
198 | at91_set_multi_drive(AT91_PIN_PA23, 1); | ||
199 | |||
200 | at91_set_A_periph(AT91_PIN_PA24, 0); /* TWCK */ | ||
201 | at91_set_multi_drive(AT91_PIN_PA24, 1); | ||
202 | |||
203 | platform_device_register(&at91sam9rl_twi_device); | ||
204 | } | ||
205 | #else | ||
206 | void __init at91_add_device_i2c(void) {} | ||
207 | #endif | ||
208 | |||
209 | |||
210 | /* -------------------------------------------------------------------- | ||
211 | * SPI | ||
212 | * -------------------------------------------------------------------- */ | ||
213 | |||
214 | #if defined(CONFIG_SPI_ATMEL) || defined(CONFIG_SPI_ATMEL_MODULE) | ||
215 | static u64 spi_dmamask = 0xffffffffUL; | ||
216 | |||
217 | static struct resource spi_resources[] = { | ||
218 | [0] = { | ||
219 | .start = AT91SAM9RL_BASE_SPI, | ||
220 | .end = AT91SAM9RL_BASE_SPI + SZ_16K - 1, | ||
221 | .flags = IORESOURCE_MEM, | ||
222 | }, | ||
223 | [1] = { | ||
224 | .start = AT91SAM9RL_ID_SPI, | ||
225 | .end = AT91SAM9RL_ID_SPI, | ||
226 | .flags = IORESOURCE_IRQ, | ||
227 | }, | ||
228 | }; | ||
229 | |||
230 | static struct platform_device at91sam9rl_spi_device = { | ||
231 | .name = "atmel_spi", | ||
232 | .id = 0, | ||
233 | .dev = { | ||
234 | .dma_mask = &spi_dmamask, | ||
235 | .coherent_dma_mask = 0xffffffff, | ||
236 | }, | ||
237 | .resource = spi_resources, | ||
238 | .num_resources = ARRAY_SIZE(spi_resources), | ||
239 | }; | ||
240 | |||
241 | static const unsigned spi_standard_cs[4] = { AT91_PIN_PA28, AT91_PIN_PB7, AT91_PIN_PD8, AT91_PIN_PD9 }; | ||
242 | |||
243 | |||
244 | void __init at91_add_device_spi(struct spi_board_info *devices, int nr_devices) | ||
245 | { | ||
246 | int i; | ||
247 | unsigned long cs_pin; | ||
248 | |||
249 | at91_set_A_periph(AT91_PIN_PA25, 0); /* MISO */ | ||
250 | at91_set_A_periph(AT91_PIN_PA26, 0); /* MOSI */ | ||
251 | at91_set_A_periph(AT91_PIN_PA27, 0); /* SPCK */ | ||
252 | |||
253 | /* Enable SPI chip-selects */ | ||
254 | for (i = 0; i < nr_devices; i++) { | ||
255 | if (devices[i].controller_data) | ||
256 | cs_pin = (unsigned long) devices[i].controller_data; | ||
257 | else | ||
258 | cs_pin = spi_standard_cs[devices[i].chip_select]; | ||
259 | |||
260 | /* enable chip-select pin */ | ||
261 | at91_set_gpio_output(cs_pin, 1); | ||
262 | |||
263 | /* pass chip-select pin to driver */ | ||
264 | devices[i].controller_data = (void *) cs_pin; | ||
265 | } | ||
266 | |||
267 | spi_register_board_info(devices, nr_devices); | ||
268 | platform_device_register(&at91sam9rl_spi_device); | ||
269 | } | ||
270 | #else | ||
271 | void __init at91_add_device_spi(struct spi_board_info *devices, int nr_devices) {} | ||
272 | #endif | ||
273 | |||
274 | |||
275 | /* -------------------------------------------------------------------- | ||
276 | * LCD Controller | ||
277 | * -------------------------------------------------------------------- */ | ||
278 | |||
279 | #if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE) | ||
280 | static u64 lcdc_dmamask = 0xffffffffUL; | ||
281 | static struct atmel_lcdfb_info lcdc_data; | ||
282 | |||
283 | static struct resource lcdc_resources[] = { | ||
284 | [0] = { | ||
285 | .start = AT91SAM9RL_LCDC_BASE, | ||
286 | .end = AT91SAM9RL_LCDC_BASE + SZ_4K - 1, | ||
287 | .flags = IORESOURCE_MEM, | ||
288 | }, | ||
289 | [1] = { | ||
290 | .start = AT91SAM9RL_ID_LCDC, | ||
291 | .end = AT91SAM9RL_ID_LCDC, | ||
292 | .flags = IORESOURCE_IRQ, | ||
293 | }, | ||
294 | #if defined(CONFIG_FB_INTSRAM) | ||
295 | [2] = { | ||
296 | .start = AT91SAM9RL_SRAM_BASE, | ||
297 | .end = AT91SAM9RL_SRAM_BASE + AT91SAM9RL_SRAM_SIZE - 1, | ||
298 | .flags = IORESOURCE_MEM, | ||
299 | }, | ||
300 | #endif | ||
301 | }; | ||
302 | |||
303 | static struct platform_device at91_lcdc_device = { | ||
304 | .name = "atmel_lcdfb", | ||
305 | .id = 0, | ||
306 | .dev = { | ||
307 | .dma_mask = &lcdc_dmamask, | ||
308 | .coherent_dma_mask = 0xffffffff, | ||
309 | .platform_data = &lcdc_data, | ||
310 | }, | ||
311 | .resource = lcdc_resources, | ||
312 | .num_resources = ARRAY_SIZE(lcdc_resources), | ||
313 | }; | ||
314 | |||
315 | void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data) | ||
316 | { | ||
317 | if (!data) { | ||
318 | return; | ||
319 | } | ||
320 | |||
321 | at91_set_B_periph(AT91_PIN_PC1, 0); /* LCDPWR */ | ||
322 | at91_set_A_periph(AT91_PIN_PC5, 0); /* LCDHSYNC */ | ||
323 | at91_set_A_periph(AT91_PIN_PC6, 0); /* LCDDOTCK */ | ||
324 | at91_set_A_periph(AT91_PIN_PC7, 0); /* LCDDEN */ | ||
325 | at91_set_A_periph(AT91_PIN_PC3, 0); /* LCDCC */ | ||
326 | at91_set_B_periph(AT91_PIN_PC9, 0); /* LCDD3 */ | ||
327 | at91_set_B_periph(AT91_PIN_PC10, 0); /* LCDD4 */ | ||
328 | at91_set_B_periph(AT91_PIN_PC11, 0); /* LCDD5 */ | ||
329 | at91_set_B_periph(AT91_PIN_PC12, 0); /* LCDD6 */ | ||
330 | at91_set_B_periph(AT91_PIN_PC13, 0); /* LCDD7 */ | ||
331 | at91_set_B_periph(AT91_PIN_PC15, 0); /* LCDD11 */ | ||
332 | at91_set_B_periph(AT91_PIN_PC16, 0); /* LCDD12 */ | ||
333 | at91_set_B_periph(AT91_PIN_PC17, 0); /* LCDD13 */ | ||
334 | at91_set_B_periph(AT91_PIN_PC18, 0); /* LCDD14 */ | ||
335 | at91_set_B_periph(AT91_PIN_PC19, 0); /* LCDD15 */ | ||
336 | at91_set_B_periph(AT91_PIN_PC20, 0); /* LCDD18 */ | ||
337 | at91_set_B_periph(AT91_PIN_PC21, 0); /* LCDD19 */ | ||
338 | at91_set_B_periph(AT91_PIN_PC22, 0); /* LCDD20 */ | ||
339 | at91_set_B_periph(AT91_PIN_PC23, 0); /* LCDD21 */ | ||
340 | at91_set_B_periph(AT91_PIN_PC24, 0); /* LCDD22 */ | ||
341 | at91_set_B_periph(AT91_PIN_PC25, 0); /* LCDD23 */ | ||
342 | |||
343 | lcdc_data = *data; | ||
344 | platform_device_register(&at91_lcdc_device); | ||
345 | } | ||
346 | #else | ||
347 | void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data) {} | ||
348 | #endif | ||
349 | |||
350 | |||
351 | /* -------------------------------------------------------------------- | ||
352 | * LEDs | ||
353 | * -------------------------------------------------------------------- */ | ||
354 | |||
355 | #if defined(CONFIG_LEDS) | ||
356 | u8 at91_leds_cpu; | ||
357 | u8 at91_leds_timer; | ||
358 | |||
359 | void __init at91_init_leds(u8 cpu_led, u8 timer_led) | ||
360 | { | ||
361 | /* Enable GPIO to access the LEDs */ | ||
362 | at91_set_gpio_output(cpu_led, 1); | ||
363 | at91_set_gpio_output(timer_led, 1); | ||
364 | |||
365 | at91_leds_cpu = cpu_led; | ||
366 | at91_leds_timer = timer_led; | ||
367 | } | ||
368 | #else | ||
369 | void __init at91_init_leds(u8 cpu_led, u8 timer_led) {} | ||
370 | #endif | ||
371 | |||
372 | |||
373 | /* -------------------------------------------------------------------- | ||
374 | * UART | ||
375 | * -------------------------------------------------------------------- */ | ||
376 | |||
377 | #if defined(CONFIG_SERIAL_ATMEL) | ||
378 | static struct resource dbgu_resources[] = { | ||
379 | [0] = { | ||
380 | .start = AT91_VA_BASE_SYS + AT91_DBGU, | ||
381 | .end = AT91_VA_BASE_SYS + AT91_DBGU + SZ_512 - 1, | ||
382 | .flags = IORESOURCE_MEM, | ||
383 | }, | ||
384 | [1] = { | ||
385 | .start = AT91_ID_SYS, | ||
386 | .end = AT91_ID_SYS, | ||
387 | .flags = IORESOURCE_IRQ, | ||
388 | }, | ||
389 | }; | ||
390 | |||
391 | static struct atmel_uart_data dbgu_data = { | ||
392 | .use_dma_tx = 0, | ||
393 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ | ||
394 | .regs = (void __iomem *)(AT91_VA_BASE_SYS + AT91_DBGU), | ||
395 | }; | ||
396 | |||
397 | static struct platform_device at91sam9rl_dbgu_device = { | ||
398 | .name = "atmel_usart", | ||
399 | .id = 0, | ||
400 | .dev = { | ||
401 | .platform_data = &dbgu_data, | ||
402 | .coherent_dma_mask = 0xffffffff, | ||
403 | }, | ||
404 | .resource = dbgu_resources, | ||
405 | .num_resources = ARRAY_SIZE(dbgu_resources), | ||
406 | }; | ||
407 | |||
408 | static inline void configure_dbgu_pins(void) | ||
409 | { | ||
410 | at91_set_A_periph(AT91_PIN_PA21, 0); /* DRXD */ | ||
411 | at91_set_A_periph(AT91_PIN_PA22, 1); /* DTXD */ | ||
412 | } | ||
413 | |||
414 | static struct resource uart0_resources[] = { | ||
415 | [0] = { | ||
416 | .start = AT91SAM9RL_BASE_US0, | ||
417 | .end = AT91SAM9RL_BASE_US0 + SZ_16K - 1, | ||
418 | .flags = IORESOURCE_MEM, | ||
419 | }, | ||
420 | [1] = { | ||
421 | .start = AT91SAM9RL_ID_US0, | ||
422 | .end = AT91SAM9RL_ID_US0, | ||
423 | .flags = IORESOURCE_IRQ, | ||
424 | }, | ||
425 | }; | ||
426 | |||
427 | static struct atmel_uart_data uart0_data = { | ||
428 | .use_dma_tx = 1, | ||
429 | .use_dma_rx = 1, | ||
430 | }; | ||
431 | |||
432 | static struct platform_device at91sam9rl_uart0_device = { | ||
433 | .name = "atmel_usart", | ||
434 | .id = 1, | ||
435 | .dev = { | ||
436 | .platform_data = &uart0_data, | ||
437 | .coherent_dma_mask = 0xffffffff, | ||
438 | }, | ||
439 | .resource = uart0_resources, | ||
440 | .num_resources = ARRAY_SIZE(uart0_resources), | ||
441 | }; | ||
442 | |||
443 | static inline void configure_usart0_pins(void) | ||
444 | { | ||
445 | at91_set_A_periph(AT91_PIN_PA6, 1); /* TXD0 */ | ||
446 | at91_set_A_periph(AT91_PIN_PA7, 0); /* RXD0 */ | ||
447 | at91_set_A_periph(AT91_PIN_PA9, 0); /* RTS0 */ | ||
448 | at91_set_A_periph(AT91_PIN_PA10, 0); /* CTS0 */ | ||
449 | } | ||
450 | |||
451 | static struct resource uart1_resources[] = { | ||
452 | [0] = { | ||
453 | .start = AT91SAM9RL_BASE_US1, | ||
454 | .end = AT91SAM9RL_BASE_US1 + SZ_16K - 1, | ||
455 | .flags = IORESOURCE_MEM, | ||
456 | }, | ||
457 | [1] = { | ||
458 | .start = AT91SAM9RL_ID_US1, | ||
459 | .end = AT91SAM9RL_ID_US1, | ||
460 | .flags = IORESOURCE_IRQ, | ||
461 | }, | ||
462 | }; | ||
463 | |||
464 | static struct atmel_uart_data uart1_data = { | ||
465 | .use_dma_tx = 1, | ||
466 | .use_dma_rx = 1, | ||
467 | }; | ||
468 | |||
469 | static struct platform_device at91sam9rl_uart1_device = { | ||
470 | .name = "atmel_usart", | ||
471 | .id = 2, | ||
472 | .dev = { | ||
473 | .platform_data = &uart1_data, | ||
474 | .coherent_dma_mask = 0xffffffff, | ||
475 | }, | ||
476 | .resource = uart1_resources, | ||
477 | .num_resources = ARRAY_SIZE(uart1_resources), | ||
478 | }; | ||
479 | |||
480 | static inline void configure_usart1_pins(void) | ||
481 | { | ||
482 | at91_set_A_periph(AT91_PIN_PA11, 1); /* TXD1 */ | ||
483 | at91_set_A_periph(AT91_PIN_PA12, 0); /* RXD1 */ | ||
484 | } | ||
485 | |||
486 | static struct resource uart2_resources[] = { | ||
487 | [0] = { | ||
488 | .start = AT91SAM9RL_BASE_US2, | ||
489 | .end = AT91SAM9RL_BASE_US2 + SZ_16K - 1, | ||
490 | .flags = IORESOURCE_MEM, | ||
491 | }, | ||
492 | [1] = { | ||
493 | .start = AT91SAM9RL_ID_US2, | ||
494 | .end = AT91SAM9RL_ID_US2, | ||
495 | .flags = IORESOURCE_IRQ, | ||
496 | }, | ||
497 | }; | ||
498 | |||
499 | static struct atmel_uart_data uart2_data = { | ||
500 | .use_dma_tx = 1, | ||
501 | .use_dma_rx = 1, | ||
502 | }; | ||
503 | |||
504 | static struct platform_device at91sam9rl_uart2_device = { | ||
505 | .name = "atmel_usart", | ||
506 | .id = 3, | ||
507 | .dev = { | ||
508 | .platform_data = &uart2_data, | ||
509 | .coherent_dma_mask = 0xffffffff, | ||
510 | }, | ||
511 | .resource = uart2_resources, | ||
512 | .num_resources = ARRAY_SIZE(uart2_resources), | ||
513 | }; | ||
514 | |||
515 | static inline void configure_usart2_pins(void) | ||
516 | { | ||
517 | at91_set_A_periph(AT91_PIN_PA13, 1); /* TXD2 */ | ||
518 | at91_set_A_periph(AT91_PIN_PA14, 0); /* RXD2 */ | ||
519 | } | ||
520 | |||
521 | static struct resource uart3_resources[] = { | ||
522 | [0] = { | ||
523 | .start = AT91SAM9RL_BASE_US3, | ||
524 | .end = AT91SAM9RL_BASE_US3 + SZ_16K - 1, | ||
525 | .flags = IORESOURCE_MEM, | ||
526 | }, | ||
527 | [1] = { | ||
528 | .start = AT91SAM9RL_ID_US3, | ||
529 | .end = AT91SAM9RL_ID_US3, | ||
530 | .flags = IORESOURCE_IRQ, | ||
531 | }, | ||
532 | }; | ||
533 | |||
534 | static struct atmel_uart_data uart3_data = { | ||
535 | .use_dma_tx = 1, | ||
536 | .use_dma_rx = 1, | ||
537 | }; | ||
538 | |||
539 | static struct platform_device at91sam9rl_uart3_device = { | ||
540 | .name = "atmel_usart", | ||
541 | .id = 4, | ||
542 | .dev = { | ||
543 | .platform_data = &uart3_data, | ||
544 | .coherent_dma_mask = 0xffffffff, | ||
545 | }, | ||
546 | .resource = uart3_resources, | ||
547 | .num_resources = ARRAY_SIZE(uart3_resources), | ||
548 | }; | ||
549 | |||
550 | static inline void configure_usart3_pins(void) | ||
551 | { | ||
552 | at91_set_A_periph(AT91_PIN_PB0, 1); /* TXD3 */ | ||
553 | at91_set_A_periph(AT91_PIN_PB1, 0); /* RXD3 */ | ||
554 | } | ||
555 | |||
556 | struct platform_device *at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */ | ||
557 | struct platform_device *atmel_default_console_device; /* the serial console device */ | ||
558 | |||
559 | void __init at91_init_serial(struct at91_uart_config *config) | ||
560 | { | ||
561 | int i; | ||
562 | |||
563 | /* Fill in list of supported UARTs */ | ||
564 | for (i = 0; i < config->nr_tty; i++) { | ||
565 | switch (config->tty_map[i]) { | ||
566 | case 0: | ||
567 | configure_usart0_pins(); | ||
568 | at91_uarts[i] = &at91sam9rl_uart0_device; | ||
569 | at91_clock_associate("usart0_clk", &at91sam9rl_uart0_device.dev, "usart"); | ||
570 | break; | ||
571 | case 1: | ||
572 | configure_usart1_pins(); | ||
573 | at91_uarts[i] = &at91sam9rl_uart1_device; | ||
574 | at91_clock_associate("usart1_clk", &at91sam9rl_uart1_device.dev, "usart"); | ||
575 | break; | ||
576 | case 2: | ||
577 | configure_usart2_pins(); | ||
578 | at91_uarts[i] = &at91sam9rl_uart2_device; | ||
579 | at91_clock_associate("usart2_clk", &at91sam9rl_uart2_device.dev, "usart"); | ||
580 | break; | ||
581 | case 3: | ||
582 | configure_usart3_pins(); | ||
583 | at91_uarts[i] = &at91sam9rl_uart3_device; | ||
584 | at91_clock_associate("usart3_clk", &at91sam9rl_uart3_device.dev, "usart"); | ||
585 | break; | ||
586 | case 4: | ||
587 | configure_dbgu_pins(); | ||
588 | at91_uarts[i] = &at91sam9rl_dbgu_device; | ||
589 | at91_clock_associate("mck", &at91sam9rl_dbgu_device.dev, "usart"); | ||
590 | break; | ||
591 | default: | ||
592 | continue; | ||
593 | } | ||
594 | at91_uarts[i]->id = i; /* update ID number to mapped ID */ | ||
595 | } | ||
596 | |||
597 | /* Set serial console device */ | ||
598 | if (config->console_tty < ATMEL_MAX_UART) | ||
599 | atmel_default_console_device = at91_uarts[config->console_tty]; | ||
600 | if (!atmel_default_console_device) | ||
601 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
602 | } | ||
603 | |||
604 | void __init at91_add_device_serial(void) | ||
605 | { | ||
606 | int i; | ||
607 | |||
608 | for (i = 0; i < ATMEL_MAX_UART; i++) { | ||
609 | if (at91_uarts[i]) | ||
610 | platform_device_register(at91_uarts[i]); | ||
611 | } | ||
612 | } | ||
613 | #else | ||
614 | void __init at91_init_serial(struct at91_uart_config *config) {} | ||
615 | void __init at91_add_device_serial(void) {} | ||
616 | #endif | ||
617 | |||
618 | |||
619 | /* -------------------------------------------------------------------- */ | ||
620 | |||
621 | /* | ||
622 | * These devices are always present and don't need any board-specific | ||
623 | * setup. | ||
624 | */ | ||
625 | static int __init at91_add_standard_devices(void) | ||
626 | { | ||
627 | return 0; | ||
628 | } | ||
629 | |||
630 | arch_initcall(at91_add_standard_devices); | ||
diff --git a/arch/arm/mach-at91/board-sam9261ek.c b/arch/arm/mach-at91/board-sam9261ek.c index bcf71536cc6d..1f0c8a400b3a 100644 --- a/arch/arm/mach-at91/board-sam9261ek.c +++ b/arch/arm/mach-at91/board-sam9261ek.c | |||
@@ -60,6 +60,9 @@ static void __init ek_map_io(void) | |||
60 | /* Initialize processor: 18.432 MHz crystal */ | 60 | /* Initialize processor: 18.432 MHz crystal */ |
61 | at91sam9261_initialize(18432000); | 61 | at91sam9261_initialize(18432000); |
62 | 62 | ||
63 | /* Setup the LEDs */ | ||
64 | at91_init_leds(AT91_PIN_PA13, AT91_PIN_PA14); | ||
65 | |||
63 | /* Setup the serial ports and console */ | 66 | /* Setup the serial ports and console */ |
64 | at91_init_serial(&ek_uart_config); | 67 | at91_init_serial(&ek_uart_config); |
65 | } | 68 | } |
diff --git a/arch/arm/mach-at91/board-sam9rlek.c b/arch/arm/mach-at91/board-sam9rlek.c new file mode 100644 index 000000000000..30c79aca84d4 --- /dev/null +++ b/arch/arm/mach-at91/board-sam9rlek.c | |||
@@ -0,0 +1,204 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2005 SAN People | ||
3 | * Copyright (C) 2007 Atmel Corporation | ||
4 | * | ||
5 | * This file is subject to the terms and conditions of the GNU General Public | ||
6 | * License. See the file COPYING in the main directory of this archive for | ||
7 | * more details. | ||
8 | */ | ||
9 | |||
10 | #include <linux/types.h> | ||
11 | #include <linux/init.h> | ||
12 | #include <linux/mm.h> | ||
13 | #include <linux/module.h> | ||
14 | #include <linux/platform_device.h> | ||
15 | #include <linux/spi/spi.h> | ||
16 | #include <linux/fb.h> | ||
17 | #include <linux/clk.h> | ||
18 | |||
19 | #include <video/atmel_lcdc.h> | ||
20 | |||
21 | #include <asm/hardware.h> | ||
22 | #include <asm/setup.h> | ||
23 | #include <asm/mach-types.h> | ||
24 | #include <asm/irq.h> | ||
25 | |||
26 | #include <asm/mach/arch.h> | ||
27 | #include <asm/mach/map.h> | ||
28 | #include <asm/mach/irq.h> | ||
29 | |||
30 | #include <asm/arch/board.h> | ||
31 | #include <asm/arch/gpio.h> | ||
32 | #include <asm/arch/at91sam926x_mc.h> | ||
33 | |||
34 | #include "generic.h" | ||
35 | |||
36 | |||
37 | /* | ||
38 | * Serial port configuration. | ||
39 | * 0 .. 3 = USART0 .. USART3 | ||
40 | * 4 = DBGU | ||
41 | */ | ||
42 | static struct at91_uart_config __initdata ek_uart_config = { | ||
43 | .console_tty = 0, /* ttyS0 */ | ||
44 | .nr_tty = 2, | ||
45 | .tty_map = { 4, 0, -1, -1, -1 } /* ttyS0, ..., ttyS4 */ | ||
46 | }; | ||
47 | |||
48 | static void __init ek_map_io(void) | ||
49 | { | ||
50 | /* Initialize processor: 12.000 MHz crystal */ | ||
51 | at91sam9rl_initialize(12000000); | ||
52 | |||
53 | /* Setup the serial ports and console */ | ||
54 | at91_init_serial(&ek_uart_config); | ||
55 | } | ||
56 | |||
57 | static void __init ek_init_irq(void) | ||
58 | { | ||
59 | at91sam9rl_init_interrupts(NULL); | ||
60 | } | ||
61 | |||
62 | |||
63 | /* | ||
64 | * MCI (SD/MMC) | ||
65 | */ | ||
66 | static struct at91_mmc_data __initdata ek_mmc_data = { | ||
67 | .wire4 = 1, | ||
68 | .det_pin = AT91_PIN_PA15, | ||
69 | // .wp_pin = ... not connected | ||
70 | // .vcc_pin = ... not connected | ||
71 | }; | ||
72 | |||
73 | |||
74 | /* | ||
75 | * NAND flash | ||
76 | */ | ||
77 | static struct mtd_partition __initdata ek_nand_partition[] = { | ||
78 | { | ||
79 | .name = "Partition 1", | ||
80 | .offset = 0, | ||
81 | .size = 256 * 1024, | ||
82 | }, | ||
83 | { | ||
84 | .name = "Partition 2", | ||
85 | .offset = 256 * 1024 , | ||
86 | .size = MTDPART_SIZ_FULL, | ||
87 | }, | ||
88 | }; | ||
89 | |||
90 | static struct mtd_partition *nand_partitions(int size, int *num_partitions) | ||
91 | { | ||
92 | *num_partitions = ARRAY_SIZE(ek_nand_partition); | ||
93 | return ek_nand_partition; | ||
94 | } | ||
95 | |||
96 | static struct at91_nand_data __initdata ek_nand_data = { | ||
97 | .ale = 21, | ||
98 | .cle = 22, | ||
99 | // .det_pin = ... not connected | ||
100 | .rdy_pin = AT91_PIN_PD17, | ||
101 | .enable_pin = AT91_PIN_PB6, | ||
102 | .partition_info = nand_partitions, | ||
103 | .bus_width_16 = 0, | ||
104 | }; | ||
105 | |||
106 | |||
107 | /* | ||
108 | * SPI devices | ||
109 | */ | ||
110 | static struct spi_board_info ek_spi_devices[] = { | ||
111 | { /* DataFlash chip */ | ||
112 | .modalias = "mtd_dataflash", | ||
113 | .chip_select = 0, | ||
114 | .max_speed_hz = 15 * 1000 * 1000, | ||
115 | .bus_num = 0, | ||
116 | }, | ||
117 | }; | ||
118 | |||
119 | |||
120 | /* | ||
121 | * LCD Controller | ||
122 | */ | ||
123 | #if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE) | ||
124 | static struct fb_videomode at91_tft_vga_modes[] = { | ||
125 | { | ||
126 | .name = "TX09D50VM1CCA @ 60", | ||
127 | .refresh = 60, | ||
128 | .xres = 240, .yres = 320, | ||
129 | .pixclock = KHZ2PICOS(4965), | ||
130 | |||
131 | .left_margin = 1, .right_margin = 33, | ||
132 | .upper_margin = 1, .lower_margin = 0, | ||
133 | .hsync_len = 5, .vsync_len = 1, | ||
134 | |||
135 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | ||
136 | .vmode = FB_VMODE_NONINTERLACED, | ||
137 | }, | ||
138 | }; | ||
139 | |||
140 | static struct fb_monspecs at91fb_default_monspecs = { | ||
141 | .manufacturer = "HIT", | ||
142 | .monitor = "TX09D50VM1CCA", | ||
143 | |||
144 | .modedb = at91_tft_vga_modes, | ||
145 | .modedb_len = ARRAY_SIZE(at91_tft_vga_modes), | ||
146 | .hfmin = 15000, | ||
147 | .hfmax = 64000, | ||
148 | .vfmin = 50, | ||
149 | .vfmax = 150, | ||
150 | }; | ||
151 | |||
152 | #define AT91SAM9RL_DEFAULT_LCDCON2 (ATMEL_LCDC_MEMOR_LITTLE \ | ||
153 | | ATMEL_LCDC_DISTYPE_TFT \ | ||
154 | | ATMEL_LCDC_CLKMOD_ALWAYSACTIVE) | ||
155 | |||
156 | static void at91_lcdc_power_control(int on) | ||
157 | { | ||
158 | if (on) | ||
159 | at91_set_gpio_value(AT91_PIN_PA30, 0); /* power up */ | ||
160 | else | ||
161 | at91_set_gpio_value(AT91_PIN_PA30, 1); /* power down */ | ||
162 | } | ||
163 | |||
164 | /* Driver datas */ | ||
165 | static struct atmel_lcdfb_info __initdata ek_lcdc_data = { | ||
166 | .default_bpp = 16, | ||
167 | .default_dmacon = ATMEL_LCDC_DMAEN, | ||
168 | .default_lcdcon2 = AT91SAM9RL_DEFAULT_LCDCON2, | ||
169 | .default_monspecs = &at91fb_default_monspecs, | ||
170 | .atmel_lcdfb_power_control = at91_lcdc_power_control, | ||
171 | .guard_time = 1, | ||
172 | }; | ||
173 | |||
174 | #else | ||
175 | static struct atmel_lcdfb_info __initdata ek_lcdc_data; | ||
176 | #endif | ||
177 | |||
178 | |||
179 | static void __init ek_board_init(void) | ||
180 | { | ||
181 | /* Serial */ | ||
182 | at91_add_device_serial(); | ||
183 | /* I2C */ | ||
184 | at91_add_device_i2c(); | ||
185 | /* NAND */ | ||
186 | at91_add_device_nand(&ek_nand_data); | ||
187 | /* SPI */ | ||
188 | at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices)); | ||
189 | /* MMC */ | ||
190 | at91_add_device_mmc(0, &ek_mmc_data); | ||
191 | /* LCD Controller */ | ||
192 | at91_add_device_lcdc(&ek_lcdc_data); | ||
193 | } | ||
194 | |||
195 | MACHINE_START(AT91SAM9RLEK, "Atmel AT91SAM9RL-EK") | ||
196 | /* Maintainer: Atmel */ | ||
197 | .phys_io = AT91_BASE_SYS, | ||
198 | .io_pg_offst = (AT91_VA_BASE_SYS >> 18) & 0xfffc, | ||
199 | .boot_params = AT91_SDRAM_BASE + 0x100, | ||
200 | .timer = &at91sam926x_timer, | ||
201 | .map_io = ek_map_io, | ||
202 | .init_irq = ek_init_irq, | ||
203 | .init_machine = ek_board_init, | ||
204 | MACHINE_END | ||
diff --git a/arch/arm/mach-at91/generic.h b/arch/arm/mach-at91/generic.h index bda26221c522..68ed71a3e6c6 100644 --- a/arch/arm/mach-at91/generic.h +++ b/arch/arm/mach-at91/generic.h | |||
@@ -13,12 +13,14 @@ extern void __init at91rm9200_initialize(unsigned long main_clock, unsigned shor | |||
13 | extern void __init at91sam9260_initialize(unsigned long main_clock); | 13 | extern void __init at91sam9260_initialize(unsigned long main_clock); |
14 | extern void __init at91sam9261_initialize(unsigned long main_clock); | 14 | extern void __init at91sam9261_initialize(unsigned long main_clock); |
15 | extern void __init at91sam9263_initialize(unsigned long main_clock); | 15 | extern void __init at91sam9263_initialize(unsigned long main_clock); |
16 | extern void __init at91sam9rl_initialize(unsigned long main_clock); | ||
16 | 17 | ||
17 | /* Interrupts */ | 18 | /* Interrupts */ |
18 | extern void __init at91rm9200_init_interrupts(unsigned int priority[]); | 19 | extern void __init at91rm9200_init_interrupts(unsigned int priority[]); |
19 | extern void __init at91sam9260_init_interrupts(unsigned int priority[]); | 20 | extern void __init at91sam9260_init_interrupts(unsigned int priority[]); |
20 | extern void __init at91sam9261_init_interrupts(unsigned int priority[]); | 21 | extern void __init at91sam9261_init_interrupts(unsigned int priority[]); |
21 | extern void __init at91sam9263_init_interrupts(unsigned int priority[]); | 22 | extern void __init at91sam9263_init_interrupts(unsigned int priority[]); |
23 | extern void __init at91sam9rl_init_interrupts(unsigned int priority[]); | ||
22 | extern void __init at91_aic_init(unsigned int priority[]); | 24 | extern void __init at91_aic_init(unsigned int priority[]); |
23 | 25 | ||
24 | /* Timer */ | 26 | /* Timer */ |
diff --git a/arch/arm/mach-davinci/Kconfig b/arch/arm/mach-davinci/Kconfig new file mode 100644 index 000000000000..bac988e7a4c3 --- /dev/null +++ b/arch/arm/mach-davinci/Kconfig | |||
@@ -0,0 +1,23 @@ | |||
1 | if ARCH_DAVINCI | ||
2 | |||
3 | menu "TI DaVinci Implementations" | ||
4 | |||
5 | comment "DaVinci Core Type" | ||
6 | |||
7 | config ARCH_DAVINCI644x | ||
8 | default y | ||
9 | bool "DaVinci 644x based system" | ||
10 | |||
11 | comment "DaVinci Board Type" | ||
12 | |||
13 | config MACH_DAVINCI_EVM | ||
14 | bool "TI DaVinci EVM" | ||
15 | default y | ||
16 | depends on ARCH_DAVINCI644x | ||
17 | help | ||
18 | Configure this option to specify the whether the board used | ||
19 | for development is a DaVinci EVM | ||
20 | |||
21 | endmenu | ||
22 | |||
23 | endif | ||
diff --git a/arch/arm/mach-davinci/Makefile b/arch/arm/mach-davinci/Makefile new file mode 100644 index 000000000000..a8f88cd29905 --- /dev/null +++ b/arch/arm/mach-davinci/Makefile | |||
@@ -0,0 +1,10 @@ | |||
1 | # | ||
2 | # Makefile for the linux kernel. | ||
3 | # | ||
4 | # | ||
5 | |||
6 | # Common objects | ||
7 | obj-y := time.o irq.o serial.o io.o id.o psc.o | ||
8 | |||
9 | # Board specific | ||
10 | obj-$(CONFIG_MACH_DAVINCI_EVM) += board-evm.o | ||
diff --git a/arch/arm/mach-davinci/Makefile.boot b/arch/arm/mach-davinci/Makefile.boot new file mode 100644 index 000000000000..e1dd366f836b --- /dev/null +++ b/arch/arm/mach-davinci/Makefile.boot | |||
@@ -0,0 +1,3 @@ | |||
1 | zreladdr-y := 0x80008000 | ||
2 | params_phys-y := 0x80000100 | ||
3 | initrd_phys-y := 0x80800000 | ||
diff --git a/arch/arm/mach-davinci/board-evm.c b/arch/arm/mach-davinci/board-evm.c new file mode 100644 index 000000000000..633c12e43044 --- /dev/null +++ b/arch/arm/mach-davinci/board-evm.c | |||
@@ -0,0 +1,131 @@ | |||
1 | /* | ||
2 | * TI DaVinci EVM board support | ||
3 | * | ||
4 | * Author: Kevin Hilman, MontaVista Software, Inc. <source@mvista.com> | ||
5 | * | ||
6 | * 2007 (c) MontaVista Software, Inc. This file is licensed under | ||
7 | * the terms of the GNU General Public License version 2. This program | ||
8 | * is licensed "as is" without any warranty of any kind, whether express | ||
9 | * or implied. | ||
10 | */ | ||
11 | #include <linux/kernel.h> | ||
12 | #include <linux/module.h> | ||
13 | #include <linux/init.h> | ||
14 | #include <linux/dma-mapping.h> | ||
15 | #include <linux/platform_device.h> | ||
16 | #include <linux/mtd/mtd.h> | ||
17 | #include <linux/mtd/partitions.h> | ||
18 | #include <linux/mtd/physmap.h> | ||
19 | |||
20 | #include <asm/setup.h> | ||
21 | #include <asm/io.h> | ||
22 | #include <asm/mach-types.h> | ||
23 | #include <asm/hardware.h> | ||
24 | |||
25 | #include <asm/mach/arch.h> | ||
26 | #include <asm/mach/map.h> | ||
27 | #include <asm/mach/flash.h> | ||
28 | |||
29 | #include <asm/arch/common.h> | ||
30 | |||
31 | /* other misc. init functions */ | ||
32 | void __init davinci_psc_init(void); | ||
33 | void __init davinci_irq_init(void); | ||
34 | void __init davinci_map_common_io(void); | ||
35 | |||
36 | /* NOR Flash base address set to CS0 by default */ | ||
37 | #define NOR_FLASH_PHYS 0x02000000 | ||
38 | |||
39 | static struct mtd_partition davinci_evm_partitions[] = { | ||
40 | /* bootloader (U-Boot, etc) in first 4 sectors */ | ||
41 | { | ||
42 | .name = "bootloader", | ||
43 | .offset = 0, | ||
44 | .size = 4 * SZ_64K, | ||
45 | .mask_flags = MTD_WRITEABLE, /* force read-only */ | ||
46 | }, | ||
47 | /* bootloader params in the next 1 sectors */ | ||
48 | { | ||
49 | .name = "params", | ||
50 | .offset = MTDPART_OFS_APPEND, | ||
51 | .size = SZ_64K, | ||
52 | .mask_flags = 0, | ||
53 | }, | ||
54 | /* kernel */ | ||
55 | { | ||
56 | .name = "kernel", | ||
57 | .offset = MTDPART_OFS_APPEND, | ||
58 | .size = SZ_2M, | ||
59 | .mask_flags = 0 | ||
60 | }, | ||
61 | /* file system */ | ||
62 | { | ||
63 | .name = "filesystem", | ||
64 | .offset = MTDPART_OFS_APPEND, | ||
65 | .size = MTDPART_SIZ_FULL, | ||
66 | .mask_flags = 0 | ||
67 | } | ||
68 | }; | ||
69 | |||
70 | static struct physmap_flash_data davinci_evm_flash_data = { | ||
71 | .width = 2, | ||
72 | .parts = davinci_evm_partitions, | ||
73 | .nr_parts = ARRAY_SIZE(davinci_evm_partitions), | ||
74 | }; | ||
75 | |||
76 | /* NOTE: CFI probe will correctly detect flash part as 32M, but EMIF | ||
77 | * limits addresses to 16M, so using addresses past 16M will wrap */ | ||
78 | static struct resource davinci_evm_flash_resource = { | ||
79 | .start = NOR_FLASH_PHYS, | ||
80 | .end = NOR_FLASH_PHYS + SZ_16M - 1, | ||
81 | .flags = IORESOURCE_MEM, | ||
82 | }; | ||
83 | |||
84 | static struct platform_device davinci_evm_flash_device = { | ||
85 | .name = "physmap-flash", | ||
86 | .id = 0, | ||
87 | .dev = { | ||
88 | .platform_data = &davinci_evm_flash_data, | ||
89 | }, | ||
90 | .num_resources = 1, | ||
91 | .resource = &davinci_evm_flash_resource, | ||
92 | }; | ||
93 | |||
94 | static struct platform_device *davinci_evm_devices[] __initdata = { | ||
95 | &davinci_evm_flash_device, | ||
96 | }; | ||
97 | |||
98 | static void __init | ||
99 | davinci_evm_map_io(void) | ||
100 | { | ||
101 | davinci_map_common_io(); | ||
102 | } | ||
103 | |||
104 | static __init void davinci_evm_init(void) | ||
105 | { | ||
106 | davinci_psc_init(); | ||
107 | |||
108 | #if defined(CONFIG_BLK_DEV_DAVINCI) || defined(CONFIG_BLK_DEV_DAVINCI_MODULE) | ||
109 | printk(KERN_WARNING "WARNING: both IDE and NOR flash are enabled, " | ||
110 | "but share pins.\n\t Disable IDE for NOR support.\n"); | ||
111 | #endif | ||
112 | |||
113 | platform_add_devices(davinci_evm_devices, | ||
114 | ARRAY_SIZE(davinci_evm_devices)); | ||
115 | } | ||
116 | |||
117 | static __init void davinci_evm_irq_init(void) | ||
118 | { | ||
119 | davinci_irq_init(); | ||
120 | } | ||
121 | |||
122 | MACHINE_START(DAVINCI_EVM, "DaVinci EVM") | ||
123 | /* Maintainer: MontaVista Software <source@mvista.com> */ | ||
124 | .phys_io = IO_PHYS, | ||
125 | .io_pg_offst = (io_p2v(IO_PHYS) >> 18) & 0xfffc, | ||
126 | .boot_params = (DAVINCI_DDR_BASE + 0x100), | ||
127 | .map_io = davinci_evm_map_io, | ||
128 | .init_irq = davinci_evm_irq_init, | ||
129 | .timer = &davinci_timer, | ||
130 | .init_machine = davinci_evm_init, | ||
131 | MACHINE_END | ||
diff --git a/arch/arm/mach-davinci/id.c b/arch/arm/mach-davinci/id.c new file mode 100644 index 000000000000..70608f76aed8 --- /dev/null +++ b/arch/arm/mach-davinci/id.c | |||
@@ -0,0 +1,94 @@ | |||
1 | /* | ||
2 | * Davinci CPU identification code | ||
3 | * | ||
4 | * Copyright (C) 2006 Komal Shah <komal_shah802003@yahoo.com> | ||
5 | * | ||
6 | * Derived from OMAP1 CPU identification code. | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #include <linux/module.h> | ||
14 | #include <linux/kernel.h> | ||
15 | #include <linux/init.h> | ||
16 | |||
17 | #include <asm/io.h> | ||
18 | |||
19 | #define JTAG_ID_BASE 0x01c40028 | ||
20 | |||
21 | struct davinci_id { | ||
22 | u8 variant; /* JTAG ID bits 31:28 */ | ||
23 | u16 part_no; /* JTAG ID bits 27:12 */ | ||
24 | u32 manufacturer; /* JTAG ID bits 11:1 */ | ||
25 | u32 type; /* Cpu id bits [31:8], cpu class bits [7:0] */ | ||
26 | }; | ||
27 | |||
28 | /* Register values to detect the DaVinci version */ | ||
29 | static struct davinci_id davinci_ids[] __initdata = { | ||
30 | { | ||
31 | /* DM6446 */ | ||
32 | .part_no = 0xb700, | ||
33 | .variant = 0x0, | ||
34 | .manufacturer = 0x017, | ||
35 | .type = 0x64460000, | ||
36 | }, | ||
37 | }; | ||
38 | |||
39 | /* | ||
40 | * Get Device Part No. from JTAG ID register | ||
41 | */ | ||
42 | static u16 __init davinci_get_part_no(void) | ||
43 | { | ||
44 | u32 dev_id, part_no; | ||
45 | |||
46 | dev_id = davinci_readl(JTAG_ID_BASE); | ||
47 | |||
48 | part_no = ((dev_id >> 12) & 0xffff); | ||
49 | |||
50 | return part_no; | ||
51 | } | ||
52 | |||
53 | /* | ||
54 | * Get Device Revision from JTAG ID register | ||
55 | */ | ||
56 | static u8 __init davinci_get_variant(void) | ||
57 | { | ||
58 | u32 variant; | ||
59 | |||
60 | variant = davinci_readl(JTAG_ID_BASE); | ||
61 | |||
62 | variant = (variant >> 28) & 0xf; | ||
63 | |||
64 | return variant; | ||
65 | } | ||
66 | |||
67 | void __init davinci_check_revision(void) | ||
68 | { | ||
69 | int i; | ||
70 | u16 part_no; | ||
71 | u8 variant; | ||
72 | |||
73 | part_no = davinci_get_part_no(); | ||
74 | variant = davinci_get_variant(); | ||
75 | |||
76 | /* First check only the major version in a safe way */ | ||
77 | for (i = 0; i < ARRAY_SIZE(davinci_ids); i++) { | ||
78 | if (part_no == (davinci_ids[i].part_no)) { | ||
79 | system_rev = davinci_ids[i].type; | ||
80 | break; | ||
81 | } | ||
82 | } | ||
83 | |||
84 | /* Check if we can find the dev revision */ | ||
85 | for (i = 0; i < ARRAY_SIZE(davinci_ids); i++) { | ||
86 | if (part_no == davinci_ids[i].part_no && | ||
87 | variant == davinci_ids[i].variant) { | ||
88 | system_rev = davinci_ids[i].type; | ||
89 | break; | ||
90 | } | ||
91 | } | ||
92 | |||
93 | printk("DaVinci DM%04x variant 0x%x\n", system_rev >> 16, variant); | ||
94 | } | ||
diff --git a/arch/arm/mach-davinci/io.c b/arch/arm/mach-davinci/io.c new file mode 100644 index 000000000000..87fae6fb6ecf --- /dev/null +++ b/arch/arm/mach-davinci/io.c | |||
@@ -0,0 +1,51 @@ | |||
1 | /* | ||
2 | * DaVinci I/O mapping code | ||
3 | * | ||
4 | * Copyright (C) 2005-2006 Texas Instruments | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #include <linux/module.h> | ||
12 | #include <linux/kernel.h> | ||
13 | #include <linux/init.h> | ||
14 | |||
15 | #include <asm/tlb.h> | ||
16 | #include <asm/io.h> | ||
17 | #include <asm/memory.h> | ||
18 | |||
19 | #include <asm/mach/map.h> | ||
20 | |||
21 | extern void davinci_check_revision(void); | ||
22 | |||
23 | /* | ||
24 | * The machine specific code may provide the extra mapping besides the | ||
25 | * default mapping provided here. | ||
26 | */ | ||
27 | static struct map_desc davinci_io_desc[] __initdata = { | ||
28 | { | ||
29 | .virtual = IO_VIRT, | ||
30 | .pfn = __phys_to_pfn(IO_PHYS), | ||
31 | .length = IO_SIZE, | ||
32 | .type = MT_DEVICE | ||
33 | }, | ||
34 | }; | ||
35 | |||
36 | void __init davinci_map_common_io(void) | ||
37 | { | ||
38 | iotable_init(davinci_io_desc, ARRAY_SIZE(davinci_io_desc)); | ||
39 | |||
40 | /* Normally devicemaps_init() would flush caches and tlb after | ||
41 | * mdesc->map_io(), but we must also do it here because of the CPU | ||
42 | * revision check below. | ||
43 | */ | ||
44 | local_flush_tlb_all(); | ||
45 | flush_cache_all(); | ||
46 | |||
47 | /* We want to check CPU revision early for cpu_is_xxxx() macros. | ||
48 | * IO space mapping must be initialized before we can do that. | ||
49 | */ | ||
50 | davinci_check_revision(); | ||
51 | } | ||
diff --git a/arch/arm/mach-davinci/irq.c b/arch/arm/mach-davinci/irq.c new file mode 100644 index 000000000000..1333d84d2e45 --- /dev/null +++ b/arch/arm/mach-davinci/irq.c | |||
@@ -0,0 +1,226 @@ | |||
1 | /* | ||
2 | * Interrupt handler for DaVinci boards. | ||
3 | * | ||
4 | * Copyright (C) 2006 Texas Instruments. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
19 | * | ||
20 | */ | ||
21 | #include <linux/kernel.h> | ||
22 | #include <linux/init.h> | ||
23 | #include <linux/interrupt.h> | ||
24 | #include <linux/irq.h> | ||
25 | |||
26 | #include <asm/hardware.h> | ||
27 | #include <asm/io.h> | ||
28 | #include <asm/mach/irq.h> | ||
29 | |||
30 | #define IRQ_BIT(irq) ((irq) & 0x1f) | ||
31 | |||
32 | #define FIQ_REG0_OFFSET 0x0000 | ||
33 | #define FIQ_REG1_OFFSET 0x0004 | ||
34 | #define IRQ_REG0_OFFSET 0x0008 | ||
35 | #define IRQ_REG1_OFFSET 0x000C | ||
36 | #define IRQ_ENT_REG0_OFFSET 0x0018 | ||
37 | #define IRQ_ENT_REG1_OFFSET 0x001C | ||
38 | #define IRQ_INCTL_REG_OFFSET 0x0020 | ||
39 | #define IRQ_EABASE_REG_OFFSET 0x0024 | ||
40 | #define IRQ_INTPRI0_REG_OFFSET 0x0030 | ||
41 | #define IRQ_INTPRI7_REG_OFFSET 0x004C | ||
42 | |||
43 | static inline unsigned int davinci_irq_readl(int offset) | ||
44 | { | ||
45 | return davinci_readl(DAVINCI_ARM_INTC_BASE + offset); | ||
46 | } | ||
47 | |||
48 | static inline void davinci_irq_writel(unsigned long value, int offset) | ||
49 | { | ||
50 | davinci_writel(value, DAVINCI_ARM_INTC_BASE + offset); | ||
51 | } | ||
52 | |||
53 | /* Disable interrupt */ | ||
54 | static void davinci_mask_irq(unsigned int irq) | ||
55 | { | ||
56 | unsigned int mask; | ||
57 | u32 l; | ||
58 | |||
59 | mask = 1 << IRQ_BIT(irq); | ||
60 | |||
61 | if (irq > 31) { | ||
62 | l = davinci_irq_readl(IRQ_ENT_REG1_OFFSET); | ||
63 | l &= ~mask; | ||
64 | davinci_irq_writel(l, IRQ_ENT_REG1_OFFSET); | ||
65 | } else { | ||
66 | l = davinci_irq_readl(IRQ_ENT_REG0_OFFSET); | ||
67 | l &= ~mask; | ||
68 | davinci_irq_writel(l, IRQ_ENT_REG0_OFFSET); | ||
69 | } | ||
70 | } | ||
71 | |||
72 | /* Enable interrupt */ | ||
73 | static void davinci_unmask_irq(unsigned int irq) | ||
74 | { | ||
75 | unsigned int mask; | ||
76 | u32 l; | ||
77 | |||
78 | mask = 1 << IRQ_BIT(irq); | ||
79 | |||
80 | if (irq > 31) { | ||
81 | l = davinci_irq_readl(IRQ_ENT_REG1_OFFSET); | ||
82 | l |= mask; | ||
83 | davinci_irq_writel(l, IRQ_ENT_REG1_OFFSET); | ||
84 | } else { | ||
85 | l = davinci_irq_readl(IRQ_ENT_REG0_OFFSET); | ||
86 | l |= mask; | ||
87 | davinci_irq_writel(l, IRQ_ENT_REG0_OFFSET); | ||
88 | } | ||
89 | } | ||
90 | |||
91 | /* EOI interrupt */ | ||
92 | static void davinci_ack_irq(unsigned int irq) | ||
93 | { | ||
94 | unsigned int mask; | ||
95 | |||
96 | mask = 1 << IRQ_BIT(irq); | ||
97 | |||
98 | if (irq > 31) | ||
99 | davinci_irq_writel(mask, IRQ_REG1_OFFSET); | ||
100 | else | ||
101 | davinci_irq_writel(mask, IRQ_REG0_OFFSET); | ||
102 | } | ||
103 | |||
104 | static struct irq_chip davinci_irq_chip_0 = { | ||
105 | .name = "AINTC", | ||
106 | .ack = davinci_ack_irq, | ||
107 | .mask = davinci_mask_irq, | ||
108 | .unmask = davinci_unmask_irq, | ||
109 | }; | ||
110 | |||
111 | |||
112 | /* FIQ are pri 0-1; otherwise 2-7, with 7 lowest priority */ | ||
113 | static const u8 default_priorities[DAVINCI_N_AINTC_IRQ] __initdata = { | ||
114 | [IRQ_VDINT0] = 2, | ||
115 | [IRQ_VDINT1] = 6, | ||
116 | [IRQ_VDINT2] = 6, | ||
117 | [IRQ_HISTINT] = 6, | ||
118 | [IRQ_H3AINT] = 6, | ||
119 | [IRQ_PRVUINT] = 6, | ||
120 | [IRQ_RSZINT] = 6, | ||
121 | [7] = 7, | ||
122 | [IRQ_VENCINT] = 6, | ||
123 | [IRQ_ASQINT] = 6, | ||
124 | [IRQ_IMXINT] = 6, | ||
125 | [IRQ_VLCDINT] = 6, | ||
126 | [IRQ_USBINT] = 4, | ||
127 | [IRQ_EMACINT] = 4, | ||
128 | [14] = 7, | ||
129 | [15] = 7, | ||
130 | [IRQ_CCINT0] = 5, /* dma */ | ||
131 | [IRQ_CCERRINT] = 5, /* dma */ | ||
132 | [IRQ_TCERRINT0] = 5, /* dma */ | ||
133 | [IRQ_TCERRINT] = 5, /* dma */ | ||
134 | [IRQ_PSCIN] = 7, | ||
135 | [21] = 7, | ||
136 | [IRQ_IDE] = 4, | ||
137 | [23] = 7, | ||
138 | [IRQ_MBXINT] = 7, | ||
139 | [IRQ_MBRINT] = 7, | ||
140 | [IRQ_MMCINT] = 7, | ||
141 | [IRQ_SDIOINT] = 7, | ||
142 | [28] = 7, | ||
143 | [IRQ_DDRINT] = 7, | ||
144 | [IRQ_AEMIFINT] = 7, | ||
145 | [IRQ_VLQINT] = 4, | ||
146 | [IRQ_TINT0_TINT12] = 2, /* clockevent */ | ||
147 | [IRQ_TINT0_TINT34] = 2, /* clocksource */ | ||
148 | [IRQ_TINT1_TINT12] = 7, /* DSP timer */ | ||
149 | [IRQ_TINT1_TINT34] = 7, /* system tick */ | ||
150 | [IRQ_PWMINT0] = 7, | ||
151 | [IRQ_PWMINT1] = 7, | ||
152 | [IRQ_PWMINT2] = 7, | ||
153 | [IRQ_I2C] = 3, | ||
154 | [IRQ_UARTINT0] = 3, | ||
155 | [IRQ_UARTINT1] = 3, | ||
156 | [IRQ_UARTINT2] = 3, | ||
157 | [IRQ_SPINT0] = 3, | ||
158 | [IRQ_SPINT1] = 3, | ||
159 | [45] = 7, | ||
160 | [IRQ_DSP2ARM0] = 4, | ||
161 | [IRQ_DSP2ARM1] = 4, | ||
162 | [IRQ_GPIO0] = 7, | ||
163 | [IRQ_GPIO1] = 7, | ||
164 | [IRQ_GPIO2] = 7, | ||
165 | [IRQ_GPIO3] = 7, | ||
166 | [IRQ_GPIO4] = 7, | ||
167 | [IRQ_GPIO5] = 7, | ||
168 | [IRQ_GPIO6] = 7, | ||
169 | [IRQ_GPIO7] = 7, | ||
170 | [IRQ_GPIOBNK0] = 7, | ||
171 | [IRQ_GPIOBNK1] = 7, | ||
172 | [IRQ_GPIOBNK2] = 7, | ||
173 | [IRQ_GPIOBNK3] = 7, | ||
174 | [IRQ_GPIOBNK4] = 7, | ||
175 | [IRQ_COMMTX] = 7, | ||
176 | [IRQ_COMMRX] = 7, | ||
177 | [IRQ_EMUINT] = 7, | ||
178 | }; | ||
179 | |||
180 | /* ARM Interrupt Controller Initialization */ | ||
181 | void __init davinci_irq_init(void) | ||
182 | { | ||
183 | unsigned i; | ||
184 | const u8 *priority = default_priorities; | ||
185 | |||
186 | /* Clear all interrupt requests */ | ||
187 | davinci_irq_writel(~0x0, FIQ_REG0_OFFSET); | ||
188 | davinci_irq_writel(~0x0, FIQ_REG1_OFFSET); | ||
189 | davinci_irq_writel(~0x0, IRQ_REG0_OFFSET); | ||
190 | davinci_irq_writel(~0x0, IRQ_REG1_OFFSET); | ||
191 | |||
192 | /* Disable all interrupts */ | ||
193 | davinci_irq_writel(0x0, IRQ_ENT_REG0_OFFSET); | ||
194 | davinci_irq_writel(0x0, IRQ_ENT_REG1_OFFSET); | ||
195 | |||
196 | /* Interrupts disabled immediately, IRQ entry reflects all */ | ||
197 | davinci_irq_writel(0x0, IRQ_INCTL_REG_OFFSET); | ||
198 | |||
199 | /* we don't use the hardware vector table, just its entry addresses */ | ||
200 | davinci_irq_writel(0, IRQ_EABASE_REG_OFFSET); | ||
201 | |||
202 | /* Clear all interrupt requests */ | ||
203 | davinci_irq_writel(~0x0, FIQ_REG0_OFFSET); | ||
204 | davinci_irq_writel(~0x0, FIQ_REG1_OFFSET); | ||
205 | davinci_irq_writel(~0x0, IRQ_REG0_OFFSET); | ||
206 | davinci_irq_writel(~0x0, IRQ_REG1_OFFSET); | ||
207 | |||
208 | for (i = IRQ_INTPRI0_REG_OFFSET; i <= IRQ_INTPRI7_REG_OFFSET; i += 4) { | ||
209 | unsigned j; | ||
210 | u32 pri; | ||
211 | |||
212 | for (j = 0, pri = 0; j < 32; j += 4, priority++) | ||
213 | pri |= (*priority & 0x07) << j; | ||
214 | davinci_irq_writel(pri, i); | ||
215 | } | ||
216 | |||
217 | /* set up genirq dispatch for ARM INTC */ | ||
218 | for (i = 0; i < DAVINCI_N_AINTC_IRQ; i++) { | ||
219 | set_irq_chip(i, &davinci_irq_chip_0); | ||
220 | set_irq_flags(i, IRQF_VALID | IRQF_PROBE); | ||
221 | if (i != IRQ_TINT1_TINT34) | ||
222 | set_irq_handler(i, handle_edge_irq); | ||
223 | else | ||
224 | set_irq_handler(i, handle_level_irq); | ||
225 | } | ||
226 | } | ||
diff --git a/arch/arm/mach-davinci/psc.c b/arch/arm/mach-davinci/psc.c new file mode 100644 index 000000000000..e1b0050283a6 --- /dev/null +++ b/arch/arm/mach-davinci/psc.c | |||
@@ -0,0 +1,113 @@ | |||
1 | /* | ||
2 | * TI DaVinci Power and Sleep Controller (PSC) | ||
3 | * | ||
4 | * Copyright (C) 2006 Texas Instruments. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
19 | * | ||
20 | */ | ||
21 | #include <linux/kernel.h> | ||
22 | #include <linux/module.h> | ||
23 | #include <linux/init.h> | ||
24 | |||
25 | #include <asm/io.h> | ||
26 | #include <asm/hardware.h> | ||
27 | #include <asm/arch/psc.h> | ||
28 | |||
29 | #define PTCMD __REG(0x01C41120) | ||
30 | #define PDSTAT __REG(0x01C41200) | ||
31 | #define PDCTL1 __REG(0x01C41304) | ||
32 | #define EPCPR __REG(0x01C41070) | ||
33 | #define PTSTAT __REG(0x01C41128) | ||
34 | |||
35 | #define MDSTAT IO_ADDRESS(0x01C41800) | ||
36 | #define MDCTL IO_ADDRESS(0x01C41A00) | ||
37 | |||
38 | #define PINMUX0 __REG(0x01c40000) | ||
39 | #define PINMUX1 __REG(0x01c40004) | ||
40 | #define VDD3P3V_PWDN __REG(0x01C40048) | ||
41 | |||
42 | static void davinci_psc_mux(unsigned int id) | ||
43 | { | ||
44 | switch (id) { | ||
45 | case DAVINCI_LPSC_ATA: | ||
46 | PINMUX0 |= (1 << 17) | (1 << 16); | ||
47 | break; | ||
48 | case DAVINCI_LPSC_MMC_SD: | ||
49 | /* VDD power manupulations are done in U-Boot for CPMAC | ||
50 | * so applies to MMC as well | ||
51 | */ | ||
52 | /*Set up the pull regiter for MMC */ | ||
53 | VDD3P3V_PWDN = 0x0; | ||
54 | PINMUX1 &= (~(1 << 9)); | ||
55 | break; | ||
56 | case DAVINCI_LPSC_I2C: | ||
57 | PINMUX1 |= (1 << 7); | ||
58 | break; | ||
59 | case DAVINCI_LPSC_McBSP: | ||
60 | PINMUX1 |= (1 << 10); | ||
61 | break; | ||
62 | default: | ||
63 | break; | ||
64 | } | ||
65 | } | ||
66 | |||
67 | /* Enable or disable a PSC domain */ | ||
68 | void davinci_psc_config(unsigned int domain, unsigned int id, char enable) | ||
69 | { | ||
70 | volatile unsigned int *mdstat = (unsigned int *)((int)MDSTAT + 4 * id); | ||
71 | volatile unsigned int *mdctl = (unsigned int *)((int)MDCTL + 4 * id); | ||
72 | |||
73 | if (id < 0) | ||
74 | return; | ||
75 | |||
76 | if (enable) | ||
77 | *mdctl |= 0x00000003; /* Enable Module */ | ||
78 | else | ||
79 | *mdctl &= 0xFFFFFFF2; /* Disable Module */ | ||
80 | |||
81 | if ((PDSTAT & 0x00000001) == 0) { | ||
82 | PDCTL1 |= 0x1; | ||
83 | PTCMD = (1 << domain); | ||
84 | while ((((EPCPR >> domain) & 1) == 0)); | ||
85 | |||
86 | PDCTL1 |= 0x100; | ||
87 | while (!(((PTSTAT >> domain) & 1) == 0)); | ||
88 | } else { | ||
89 | PTCMD = (1 << domain); | ||
90 | while (!(((PTSTAT >> domain) & 1) == 0)); | ||
91 | } | ||
92 | |||
93 | if (enable) | ||
94 | while (!((*mdstat & 0x0000001F) == 0x3)); | ||
95 | else | ||
96 | while (!((*mdstat & 0x0000001F) == 0x2)); | ||
97 | |||
98 | if (enable) | ||
99 | davinci_psc_mux(id); | ||
100 | } | ||
101 | |||
102 | void __init davinci_psc_init(void) | ||
103 | { | ||
104 | davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN, DAVINCI_LPSC_VPSSMSTR, 1); | ||
105 | davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN, DAVINCI_LPSC_VPSSSLV, 1); | ||
106 | davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN, DAVINCI_LPSC_TPCC, 1); | ||
107 | davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN, DAVINCI_LPSC_TPTC0, 1); | ||
108 | davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN, DAVINCI_LPSC_TPTC1, 1); | ||
109 | davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN, DAVINCI_LPSC_GPIO, 1); | ||
110 | |||
111 | /* Turn on WatchDog timer LPSC. Needed for RESET to work */ | ||
112 | davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN, DAVINCI_LPSC_TIMER2, 1); | ||
113 | } | ||
diff --git a/arch/arm/mach-davinci/serial.c b/arch/arm/mach-davinci/serial.c new file mode 100644 index 000000000000..8368c93c788d --- /dev/null +++ b/arch/arm/mach-davinci/serial.c | |||
@@ -0,0 +1,96 @@ | |||
1 | /* | ||
2 | * TI DaVinci serial driver | ||
3 | * | ||
4 | * Copyright (C) 2006 Texas Instruments. | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
19 | * | ||
20 | */ | ||
21 | |||
22 | #include <linux/kernel.h> | ||
23 | #include <linux/init.h> | ||
24 | #include <linux/serial_8250.h> | ||
25 | #include <linux/serial_reg.h> | ||
26 | #include <linux/platform_device.h> | ||
27 | #include <linux/delay.h> | ||
28 | #include <linux/clk.h> | ||
29 | |||
30 | #include <asm/io.h> | ||
31 | #include <asm/irq.h> | ||
32 | #include <asm/hardware.h> | ||
33 | #include <asm/arch/serial.h> | ||
34 | #include <asm/arch/irqs.h> | ||
35 | |||
36 | #define UART_DAVINCI_PWREMU 0x0c | ||
37 | |||
38 | static inline unsigned int davinci_serial_in(struct plat_serial8250_port *up, | ||
39 | int offset) | ||
40 | { | ||
41 | offset <<= up->regshift; | ||
42 | return (unsigned int)__raw_readb(up->membase + offset); | ||
43 | } | ||
44 | |||
45 | static inline void davinci_serial_outp(struct plat_serial8250_port *p, | ||
46 | int offset, int value) | ||
47 | { | ||
48 | offset <<= p->regshift; | ||
49 | __raw_writeb(value, p->membase + offset); | ||
50 | } | ||
51 | |||
52 | static struct plat_serial8250_port serial_platform_data[] = { | ||
53 | { | ||
54 | .membase = (char *)IO_ADDRESS(DAVINCI_UART0_BASE), | ||
55 | .mapbase = (unsigned long)DAVINCI_UART0_BASE, | ||
56 | .irq = IRQ_UARTINT0, | ||
57 | .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST, | ||
58 | .iotype = UPIO_MEM, | ||
59 | .regshift = 2, | ||
60 | .uartclk = 27000000, | ||
61 | }, | ||
62 | { | ||
63 | .flags = 0 | ||
64 | }, | ||
65 | }; | ||
66 | |||
67 | static struct platform_device serial_device = { | ||
68 | .name = "serial8250", | ||
69 | .id = PLAT8250_DEV_PLATFORM, | ||
70 | .dev = { | ||
71 | .platform_data = serial_platform_data, | ||
72 | }, | ||
73 | }; | ||
74 | |||
75 | static void __init davinci_serial_reset(struct plat_serial8250_port *p) | ||
76 | { | ||
77 | /* reset both transmitter and receiver: bits 14,13 = UTRST, URRST */ | ||
78 | unsigned int pwremu = 0; | ||
79 | |||
80 | davinci_serial_outp(p, UART_IER, 0); /* disable all interrupts */ | ||
81 | |||
82 | davinci_serial_outp(p, UART_DAVINCI_PWREMU, pwremu); | ||
83 | mdelay(10); | ||
84 | |||
85 | pwremu |= (0x3 << 13); | ||
86 | pwremu |= 0x1; | ||
87 | davinci_serial_outp(p, UART_DAVINCI_PWREMU, pwremu); | ||
88 | } | ||
89 | |||
90 | static int __init davinci_init(void) | ||
91 | { | ||
92 | davinci_serial_reset(&serial_platform_data[0]); | ||
93 | return platform_device_register(&serial_device); | ||
94 | } | ||
95 | |||
96 | arch_initcall(davinci_init); | ||
diff --git a/arch/arm/mach-davinci/time.c b/arch/arm/mach-davinci/time.c new file mode 100644 index 000000000000..4d8425de6922 --- /dev/null +++ b/arch/arm/mach-davinci/time.c | |||
@@ -0,0 +1,372 @@ | |||
1 | /* | ||
2 | * DaVinci timer subsystem | ||
3 | * | ||
4 | * Author: Kevin Hilman, MontaVista Software, Inc. <source@mvista.com> | ||
5 | * | ||
6 | * 2007 (c) MontaVista Software, Inc. This file is licensed under | ||
7 | * the terms of the GNU General Public License version 2. This program | ||
8 | * is licensed "as is" without any warranty of any kind, whether express | ||
9 | * or implied. | ||
10 | */ | ||
11 | #include <linux/kernel.h> | ||
12 | #include <linux/init.h> | ||
13 | #include <linux/types.h> | ||
14 | #include <linux/interrupt.h> | ||
15 | #include <linux/clocksource.h> | ||
16 | #include <linux/clockchips.h> | ||
17 | #include <linux/spinlock.h> | ||
18 | |||
19 | #include <asm/io.h> | ||
20 | #include <asm/hardware.h> | ||
21 | #include <asm/system.h> | ||
22 | #include <asm/irq.h> | ||
23 | #include <asm/mach/irq.h> | ||
24 | #include <asm/mach/time.h> | ||
25 | #include <asm/errno.h> | ||
26 | #include <asm/arch/io.h> | ||
27 | |||
28 | static struct clock_event_device clockevent_davinci; | ||
29 | |||
30 | #define DAVINCI_TIMER0_BASE (IO_PHYS + 0x21400) | ||
31 | #define DAVINCI_TIMER1_BASE (IO_PHYS + 0x21800) | ||
32 | #define DAVINCI_WDOG_BASE (IO_PHYS + 0x21C00) | ||
33 | |||
34 | enum { | ||
35 | T0_BOT = 0, T0_TOP, T1_BOT, T1_TOP, NUM_TIMERS, | ||
36 | }; | ||
37 | |||
38 | #define IS_TIMER1(id) (id & 0x2) | ||
39 | #define IS_TIMER0(id) (!IS_TIMER1(id)) | ||
40 | #define IS_TIMER_TOP(id) ((id & 0x1)) | ||
41 | #define IS_TIMER_BOT(id) (!IS_TIMER_TOP(id)) | ||
42 | |||
43 | static int timer_irqs[NUM_TIMERS] = { | ||
44 | IRQ_TINT0_TINT12, | ||
45 | IRQ_TINT0_TINT34, | ||
46 | IRQ_TINT1_TINT12, | ||
47 | IRQ_TINT1_TINT34, | ||
48 | }; | ||
49 | |||
50 | /* | ||
51 | * This driver configures the 2 64-bit count-up timers as 4 independent | ||
52 | * 32-bit count-up timers used as follows: | ||
53 | * | ||
54 | * T0_BOT: Timer 0, bottom: clockevent source for hrtimers | ||
55 | * T0_TOP: Timer 0, top : clocksource for generic timekeeping | ||
56 | * T1_BOT: Timer 1, bottom: (used by DSP in TI DSPLink code) | ||
57 | * T1_TOP: Timer 1, top : <unused> | ||
58 | */ | ||
59 | #define TID_CLOCKEVENT T0_BOT | ||
60 | #define TID_CLOCKSOURCE T0_TOP | ||
61 | |||
62 | /* Timer register offsets */ | ||
63 | #define PID12 0x0 | ||
64 | #define TIM12 0x10 | ||
65 | #define TIM34 0x14 | ||
66 | #define PRD12 0x18 | ||
67 | #define PRD34 0x1c | ||
68 | #define TCR 0x20 | ||
69 | #define TGCR 0x24 | ||
70 | #define WDTCR 0x28 | ||
71 | |||
72 | /* Timer register bitfields */ | ||
73 | #define TCR_ENAMODE_DISABLE 0x0 | ||
74 | #define TCR_ENAMODE_ONESHOT 0x1 | ||
75 | #define TCR_ENAMODE_PERIODIC 0x2 | ||
76 | #define TCR_ENAMODE_MASK 0x3 | ||
77 | |||
78 | #define TGCR_TIMMODE_SHIFT 2 | ||
79 | #define TGCR_TIMMODE_64BIT_GP 0x0 | ||
80 | #define TGCR_TIMMODE_32BIT_UNCHAINED 0x1 | ||
81 | #define TGCR_TIMMODE_64BIT_WDOG 0x2 | ||
82 | #define TGCR_TIMMODE_32BIT_CHAINED 0x3 | ||
83 | |||
84 | #define TGCR_TIM12RS_SHIFT 0 | ||
85 | #define TGCR_TIM34RS_SHIFT 1 | ||
86 | #define TGCR_RESET 0x0 | ||
87 | #define TGCR_UNRESET 0x1 | ||
88 | #define TGCR_RESET_MASK 0x3 | ||
89 | |||
90 | #define WDTCR_WDEN_SHIFT 14 | ||
91 | #define WDTCR_WDEN_DISABLE 0x0 | ||
92 | #define WDTCR_WDEN_ENABLE 0x1 | ||
93 | #define WDTCR_WDKEY_SHIFT 16 | ||
94 | #define WDTCR_WDKEY_SEQ0 0xa5c6 | ||
95 | #define WDTCR_WDKEY_SEQ1 0xda7e | ||
96 | |||
97 | struct timer_s { | ||
98 | char *name; | ||
99 | unsigned int id; | ||
100 | unsigned long period; | ||
101 | unsigned long opts; | ||
102 | unsigned long reg_base; | ||
103 | unsigned long tim_reg; | ||
104 | unsigned long prd_reg; | ||
105 | unsigned long enamode_shift; | ||
106 | struct irqaction irqaction; | ||
107 | }; | ||
108 | static struct timer_s timers[]; | ||
109 | |||
110 | /* values for 'opts' field of struct timer_s */ | ||
111 | #define TIMER_OPTS_DISABLED 0x00 | ||
112 | #define TIMER_OPTS_ONESHOT 0x01 | ||
113 | #define TIMER_OPTS_PERIODIC 0x02 | ||
114 | |||
115 | static int timer32_config(struct timer_s *t) | ||
116 | { | ||
117 | u32 tcr = davinci_readl(t->reg_base + TCR); | ||
118 | |||
119 | /* disable timer */ | ||
120 | tcr &= ~(TCR_ENAMODE_MASK << t->enamode_shift); | ||
121 | davinci_writel(tcr, t->reg_base + TCR); | ||
122 | |||
123 | /* reset counter to zero, set new period */ | ||
124 | davinci_writel(0, t->tim_reg); | ||
125 | davinci_writel(t->period, t->prd_reg); | ||
126 | |||
127 | /* Set enable mode */ | ||
128 | if (t->opts & TIMER_OPTS_ONESHOT) { | ||
129 | tcr |= TCR_ENAMODE_ONESHOT << t->enamode_shift; | ||
130 | } else if (t->opts & TIMER_OPTS_PERIODIC) { | ||
131 | tcr |= TCR_ENAMODE_PERIODIC << t->enamode_shift; | ||
132 | } | ||
133 | |||
134 | davinci_writel(tcr, t->reg_base + TCR); | ||
135 | return 0; | ||
136 | } | ||
137 | |||
138 | static inline u32 timer32_read(struct timer_s *t) | ||
139 | { | ||
140 | return davinci_readl(t->tim_reg); | ||
141 | } | ||
142 | |||
143 | static irqreturn_t timer_interrupt(int irq, void *dev_id) | ||
144 | { | ||
145 | struct clock_event_device *evt = &clockevent_davinci; | ||
146 | |||
147 | evt->event_handler(evt); | ||
148 | return IRQ_HANDLED; | ||
149 | } | ||
150 | |||
151 | /* called when 32-bit counter wraps */ | ||
152 | static irqreturn_t freerun_interrupt(int irq, void *dev_id) | ||
153 | { | ||
154 | return IRQ_HANDLED; | ||
155 | } | ||
156 | |||
157 | static struct timer_s timers[] = { | ||
158 | [TID_CLOCKEVENT] = { | ||
159 | .name = "clockevent", | ||
160 | .opts = TIMER_OPTS_DISABLED, | ||
161 | .irqaction = { | ||
162 | .flags = IRQF_DISABLED | IRQF_TIMER, | ||
163 | .handler = timer_interrupt, | ||
164 | } | ||
165 | }, | ||
166 | [TID_CLOCKSOURCE] = { | ||
167 | .name = "free-run counter", | ||
168 | .period = ~0, | ||
169 | .opts = TIMER_OPTS_PERIODIC, | ||
170 | .irqaction = { | ||
171 | .flags = IRQF_DISABLED | IRQF_TIMER, | ||
172 | .handler = freerun_interrupt, | ||
173 | } | ||
174 | }, | ||
175 | }; | ||
176 | |||
177 | static void __init timer_init(void) | ||
178 | { | ||
179 | u32 bases[] = {DAVINCI_TIMER0_BASE, DAVINCI_TIMER1_BASE}; | ||
180 | int i; | ||
181 | |||
182 | /* Global init of each 64-bit timer as a whole */ | ||
183 | for(i=0; i<2; i++) { | ||
184 | u32 tgcr, base = bases[i]; | ||
185 | |||
186 | /* Disabled, Internal clock source */ | ||
187 | davinci_writel(0, base + TCR); | ||
188 | |||
189 | /* reset both timers, no pre-scaler for timer34 */ | ||
190 | tgcr = 0; | ||
191 | davinci_writel(tgcr, base + TGCR); | ||
192 | |||
193 | /* Set both timers to unchained 32-bit */ | ||
194 | tgcr = TGCR_TIMMODE_32BIT_UNCHAINED << TGCR_TIMMODE_SHIFT; | ||
195 | davinci_writel(tgcr, base + TGCR); | ||
196 | |||
197 | /* Unreset timers */ | ||
198 | tgcr |= (TGCR_UNRESET << TGCR_TIM12RS_SHIFT) | | ||
199 | (TGCR_UNRESET << TGCR_TIM34RS_SHIFT); | ||
200 | davinci_writel(tgcr, base + TGCR); | ||
201 | |||
202 | /* Init both counters to zero */ | ||
203 | davinci_writel(0, base + TIM12); | ||
204 | davinci_writel(0, base + TIM34); | ||
205 | } | ||
206 | |||
207 | /* Init of each timer as a 32-bit timer */ | ||
208 | for (i=0; i< ARRAY_SIZE(timers); i++) { | ||
209 | struct timer_s *t = &timers[i]; | ||
210 | |||
211 | if (t->name) { | ||
212 | t->id = i; | ||
213 | t->reg_base = (IS_TIMER1(t->id) ? | ||
214 | DAVINCI_TIMER1_BASE : DAVINCI_TIMER0_BASE); | ||
215 | |||
216 | if (IS_TIMER_BOT(t->id)) { | ||
217 | t->enamode_shift = 6; | ||
218 | t->tim_reg = t->reg_base + TIM12; | ||
219 | t->prd_reg = t->reg_base + PRD12; | ||
220 | } else { | ||
221 | t->enamode_shift = 22; | ||
222 | t->tim_reg = t->reg_base + TIM34; | ||
223 | t->prd_reg = t->reg_base + PRD34; | ||
224 | } | ||
225 | |||
226 | /* Register interrupt */ | ||
227 | t->irqaction.name = t->name; | ||
228 | t->irqaction.dev_id = (void *)t; | ||
229 | if (t->irqaction.handler != NULL) { | ||
230 | setup_irq(timer_irqs[t->id], &t->irqaction); | ||
231 | } | ||
232 | |||
233 | timer32_config(&timers[i]); | ||
234 | } | ||
235 | } | ||
236 | } | ||
237 | |||
238 | /* | ||
239 | * clocksource | ||
240 | */ | ||
241 | static cycle_t read_cycles(void) | ||
242 | { | ||
243 | struct timer_s *t = &timers[TID_CLOCKSOURCE]; | ||
244 | |||
245 | return (cycles_t)timer32_read(t); | ||
246 | } | ||
247 | |||
248 | static struct clocksource clocksource_davinci = { | ||
249 | .name = "timer0_1", | ||
250 | .rating = 300, | ||
251 | .read = read_cycles, | ||
252 | .mask = CLOCKSOURCE_MASK(32), | ||
253 | .shift = 24, | ||
254 | .flags = CLOCK_SOURCE_IS_CONTINUOUS, | ||
255 | }; | ||
256 | |||
257 | /* | ||
258 | * clockevent | ||
259 | */ | ||
260 | static int davinci_set_next_event(unsigned long cycles, | ||
261 | struct clock_event_device *evt) | ||
262 | { | ||
263 | struct timer_s *t = &timers[TID_CLOCKEVENT]; | ||
264 | |||
265 | t->period = cycles; | ||
266 | timer32_config(t); | ||
267 | return 0; | ||
268 | } | ||
269 | |||
270 | static void davinci_set_mode(enum clock_event_mode mode, | ||
271 | struct clock_event_device *evt) | ||
272 | { | ||
273 | struct timer_s *t = &timers[TID_CLOCKEVENT]; | ||
274 | |||
275 | switch (mode) { | ||
276 | case CLOCK_EVT_MODE_PERIODIC: | ||
277 | t->period = CLOCK_TICK_RATE / (HZ); | ||
278 | t->opts = TIMER_OPTS_PERIODIC; | ||
279 | timer32_config(t); | ||
280 | break; | ||
281 | case CLOCK_EVT_MODE_ONESHOT: | ||
282 | t->opts = TIMER_OPTS_ONESHOT; | ||
283 | break; | ||
284 | case CLOCK_EVT_MODE_UNUSED: | ||
285 | case CLOCK_EVT_MODE_SHUTDOWN: | ||
286 | t->opts = TIMER_OPTS_DISABLED; | ||
287 | break; | ||
288 | } | ||
289 | } | ||
290 | |||
291 | static struct clock_event_device clockevent_davinci = { | ||
292 | .name = "timer0_0", | ||
293 | .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, | ||
294 | .shift = 32, | ||
295 | .set_next_event = davinci_set_next_event, | ||
296 | .set_mode = davinci_set_mode, | ||
297 | }; | ||
298 | |||
299 | |||
300 | static void __init davinci_timer_init(void) | ||
301 | { | ||
302 | static char err[] __initdata = KERN_ERR | ||
303 | "%s: can't register clocksource!\n"; | ||
304 | |||
305 | /* init timer hw */ | ||
306 | timer_init(); | ||
307 | |||
308 | /* setup clocksource */ | ||
309 | clocksource_davinci.mult = | ||
310 | clocksource_khz2mult(CLOCK_TICK_RATE/1000, | ||
311 | clocksource_davinci.shift); | ||
312 | if (clocksource_register(&clocksource_davinci)) | ||
313 | printk(err, clocksource_davinci.name); | ||
314 | |||
315 | /* setup clockevent */ | ||
316 | clockevent_davinci.mult = div_sc(CLOCK_TICK_RATE, NSEC_PER_SEC, | ||
317 | clockevent_davinci.shift); | ||
318 | clockevent_davinci.max_delta_ns = | ||
319 | clockevent_delta2ns(0xfffffffe, &clockevent_davinci); | ||
320 | clockevent_davinci.min_delta_ns = | ||
321 | clockevent_delta2ns(1, &clockevent_davinci); | ||
322 | |||
323 | clockevent_davinci.cpumask = cpumask_of_cpu(0); | ||
324 | clockevents_register_device(&clockevent_davinci); | ||
325 | } | ||
326 | |||
327 | struct sys_timer davinci_timer = { | ||
328 | .init = davinci_timer_init, | ||
329 | }; | ||
330 | |||
331 | |||
332 | /* reset board using watchdog timer */ | ||
333 | void davinci_watchdog_reset(void) { | ||
334 | u32 tgcr, wdtcr, base = DAVINCI_WDOG_BASE; | ||
335 | |||
336 | /* disable, internal clock source */ | ||
337 | davinci_writel(0, base + TCR); | ||
338 | |||
339 | /* reset timer, set mode to 64-bit watchdog, and unreset */ | ||
340 | tgcr = 0; | ||
341 | davinci_writel(tgcr, base + TCR); | ||
342 | tgcr = TGCR_TIMMODE_64BIT_WDOG << TGCR_TIMMODE_SHIFT; | ||
343 | tgcr |= (TGCR_UNRESET << TGCR_TIM12RS_SHIFT) | | ||
344 | (TGCR_UNRESET << TGCR_TIM34RS_SHIFT); | ||
345 | davinci_writel(tgcr, base + TCR); | ||
346 | |||
347 | /* clear counter and period regs */ | ||
348 | davinci_writel(0, base + TIM12); | ||
349 | davinci_writel(0, base + TIM34); | ||
350 | davinci_writel(0, base + PRD12); | ||
351 | davinci_writel(0, base + PRD34); | ||
352 | |||
353 | /* enable */ | ||
354 | wdtcr = davinci_readl(base + WDTCR); | ||
355 | wdtcr |= WDTCR_WDEN_ENABLE << WDTCR_WDEN_SHIFT; | ||
356 | davinci_writel(wdtcr, base + WDTCR); | ||
357 | |||
358 | /* put watchdog in pre-active state */ | ||
359 | wdtcr = (WDTCR_WDKEY_SEQ0 << WDTCR_WDKEY_SHIFT) | | ||
360 | (WDTCR_WDEN_ENABLE << WDTCR_WDEN_SHIFT); | ||
361 | davinci_writel(wdtcr, base + WDTCR); | ||
362 | |||
363 | /* put watchdog in active state */ | ||
364 | wdtcr = (WDTCR_WDKEY_SEQ1 << WDTCR_WDKEY_SHIFT) | | ||
365 | (WDTCR_WDEN_ENABLE << WDTCR_WDEN_SHIFT); | ||
366 | davinci_writel(wdtcr, base + WDTCR); | ||
367 | |||
368 | /* write an invalid value to the WDKEY field to trigger | ||
369 | * a watchdog reset */ | ||
370 | wdtcr = 0x00004000; | ||
371 | davinci_writel(wdtcr, base + WDTCR); | ||
372 | } | ||
diff --git a/arch/arm/mach-ebsa110/io.c b/arch/arm/mach-ebsa110/io.c index bbf0d332407e..6b2380e153ef 100644 --- a/arch/arm/mach-ebsa110/io.c +++ b/arch/arm/mach-ebsa110/io.c | |||
@@ -102,7 +102,7 @@ EXPORT_SYMBOL(__readb); | |||
102 | EXPORT_SYMBOL(__readw); | 102 | EXPORT_SYMBOL(__readw); |
103 | EXPORT_SYMBOL(__readl); | 103 | EXPORT_SYMBOL(__readl); |
104 | 104 | ||
105 | void readsw(void __iomem *addr, void *data, int len) | 105 | void readsw(const void __iomem *addr, void *data, int len) |
106 | { | 106 | { |
107 | void __iomem *a = __isamem_convert_addr(addr); | 107 | void __iomem *a = __isamem_convert_addr(addr); |
108 | 108 | ||
@@ -112,7 +112,7 @@ void readsw(void __iomem *addr, void *data, int len) | |||
112 | } | 112 | } |
113 | EXPORT_SYMBOL(readsw); | 113 | EXPORT_SYMBOL(readsw); |
114 | 114 | ||
115 | void readsl(void __iomem *addr, void *data, int len) | 115 | void readsl(const void __iomem *addr, void *data, int len) |
116 | { | 116 | { |
117 | void __iomem *a = __isamem_convert_addr(addr); | 117 | void __iomem *a = __isamem_convert_addr(addr); |
118 | 118 | ||
@@ -157,7 +157,7 @@ EXPORT_SYMBOL(__writeb); | |||
157 | EXPORT_SYMBOL(__writew); | 157 | EXPORT_SYMBOL(__writew); |
158 | EXPORT_SYMBOL(__writel); | 158 | EXPORT_SYMBOL(__writel); |
159 | 159 | ||
160 | void writesw(void __iomem *addr, void *data, int len) | 160 | void writesw(void __iomem *addr, const void *data, int len) |
161 | { | 161 | { |
162 | void __iomem *a = __isamem_convert_addr(addr); | 162 | void __iomem *a = __isamem_convert_addr(addr); |
163 | 163 | ||
@@ -167,7 +167,7 @@ void writesw(void __iomem *addr, void *data, int len) | |||
167 | } | 167 | } |
168 | EXPORT_SYMBOL(writesw); | 168 | EXPORT_SYMBOL(writesw); |
169 | 169 | ||
170 | void writesl(void __iomem *addr, void *data, int len) | 170 | void writesl(void __iomem *addr, const void *data, int len) |
171 | { | 171 | { |
172 | void __iomem *a = __isamem_convert_addr(addr); | 172 | void __iomem *a = __isamem_convert_addr(addr); |
173 | 173 | ||
diff --git a/arch/arm/mach-iop13xx/Makefile b/arch/arm/mach-iop13xx/Makefile index da1609dc0dee..cad015fee12f 100644 --- a/arch/arm/mach-iop13xx/Makefile +++ b/arch/arm/mach-iop13xx/Makefile | |||
@@ -10,3 +10,4 @@ obj-$(CONFIG_ARCH_IOP13XX) += io.o | |||
10 | obj-$(CONFIG_ARCH_IOP13XX) += tpmi.o | 10 | obj-$(CONFIG_ARCH_IOP13XX) += tpmi.o |
11 | obj-$(CONFIG_MACH_IQ81340SC) += iq81340sc.o | 11 | obj-$(CONFIG_MACH_IQ81340SC) += iq81340sc.o |
12 | obj-$(CONFIG_MACH_IQ81340MC) += iq81340mc.o | 12 | obj-$(CONFIG_MACH_IQ81340MC) += iq81340mc.o |
13 | obj-$(CONFIG_PCI_MSI) += msi.o | ||
diff --git a/arch/arm/mach-iop13xx/irq.c b/arch/arm/mach-iop13xx/irq.c index b2eb0b961031..5791addd436b 100644 --- a/arch/arm/mach-iop13xx/irq.c +++ b/arch/arm/mach-iop13xx/irq.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <asm/hardware.h> | 26 | #include <asm/hardware.h> |
27 | #include <asm/mach-types.h> | 27 | #include <asm/mach-types.h> |
28 | #include <asm/arch/irqs.h> | 28 | #include <asm/arch/irqs.h> |
29 | #include <asm/arch/msi.h> | ||
29 | 30 | ||
30 | /* INTCTL0 CP6 R0 Page 4 | 31 | /* INTCTL0 CP6 R0 Page 4 |
31 | */ | 32 | */ |
@@ -258,7 +259,7 @@ void __init iop13xx_init_irq(void) | |||
258 | write_intbase(INTBASE); | 259 | write_intbase(INTBASE); |
259 | write_intsize(INTSIZE_4); | 260 | write_intsize(INTSIZE_4); |
260 | 261 | ||
261 | for(i = 0; i < NR_IOP13XX_IRQS; i++) { | 262 | for(i = 0; i <= IRQ_IOP13XX_HPI; i++) { |
262 | if (i < 32) | 263 | if (i < 32) |
263 | set_irq_chip(i, &iop13xx_irqchip1); | 264 | set_irq_chip(i, &iop13xx_irqchip1); |
264 | else if (i < 64) | 265 | else if (i < 64) |
@@ -271,4 +272,6 @@ void __init iop13xx_init_irq(void) | |||
271 | set_irq_handler(i, handle_level_irq); | 272 | set_irq_handler(i, handle_level_irq); |
272 | set_irq_flags(i, IRQF_VALID | IRQF_PROBE); | 273 | set_irq_flags(i, IRQF_VALID | IRQF_PROBE); |
273 | } | 274 | } |
275 | |||
276 | iop13xx_msi_init(); | ||
274 | } | 277 | } |
diff --git a/arch/arm/mach-iop13xx/msi.c b/arch/arm/mach-iop13xx/msi.c new file mode 100644 index 000000000000..2d2369302220 --- /dev/null +++ b/arch/arm/mach-iop13xx/msi.c | |||
@@ -0,0 +1,194 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-iop13xx/msi.c | ||
3 | * | ||
4 | * PCI MSI support for the iop13xx processor | ||
5 | * | ||
6 | * Copyright (c) 2006, Intel Corporation. | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify it | ||
9 | * under the terms and conditions of the GNU General Public License, | ||
10 | * version 2, as published by the Free Software Foundation. | ||
11 | * | ||
12 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
13 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
14 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
15 | * more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License along with | ||
18 | * this program; if not, write to the Free Software Foundation, Inc., 59 Temple | ||
19 | * Place - Suite 330, Boston, MA 02111-1307 USA. | ||
20 | * | ||
21 | */ | ||
22 | #include <linux/pci.h> | ||
23 | #include <linux/msi.h> | ||
24 | #include <asm/mach/irq.h> | ||
25 | #include <asm/irq.h> | ||
26 | |||
27 | |||
28 | #define IOP13XX_NUM_MSI_IRQS 128 | ||
29 | static DECLARE_BITMAP(msi_irq_in_use, IOP13XX_NUM_MSI_IRQS); | ||
30 | |||
31 | /* IMIPR0 CP6 R8 Page 1 | ||
32 | */ | ||
33 | static inline u32 read_imipr_0(void) | ||
34 | { | ||
35 | u32 val; | ||
36 | asm volatile("mrc p6, 0, %0, c8, c1, 0":"=r" (val)); | ||
37 | return val; | ||
38 | } | ||
39 | static inline void write_imipr_0(u32 val) | ||
40 | { | ||
41 | asm volatile("mcr p6, 0, %0, c8, c1, 0"::"r" (val)); | ||
42 | } | ||
43 | |||
44 | /* IMIPR1 CP6 R9 Page 1 | ||
45 | */ | ||
46 | static inline u32 read_imipr_1(void) | ||
47 | { | ||
48 | u32 val; | ||
49 | asm volatile("mrc p6, 0, %0, c9, c1, 0":"=r" (val)); | ||
50 | return val; | ||
51 | } | ||
52 | static inline void write_imipr_1(u32 val) | ||
53 | { | ||
54 | asm volatile("mcr p6, 0, %0, c9, c1, 0"::"r" (val)); | ||
55 | } | ||
56 | |||
57 | /* IMIPR2 CP6 R10 Page 1 | ||
58 | */ | ||
59 | static inline u32 read_imipr_2(void) | ||
60 | { | ||
61 | u32 val; | ||
62 | asm volatile("mrc p6, 0, %0, c10, c1, 0":"=r" (val)); | ||
63 | return val; | ||
64 | } | ||
65 | static inline void write_imipr_2(u32 val) | ||
66 | { | ||
67 | asm volatile("mcr p6, 0, %0, c10, c1, 0"::"r" (val)); | ||
68 | } | ||
69 | |||
70 | /* IMIPR3 CP6 R11 Page 1 | ||
71 | */ | ||
72 | static inline u32 read_imipr_3(void) | ||
73 | { | ||
74 | u32 val; | ||
75 | asm volatile("mrc p6, 0, %0, c11, c1, 0":"=r" (val)); | ||
76 | return val; | ||
77 | } | ||
78 | static inline void write_imipr_3(u32 val) | ||
79 | { | ||
80 | asm volatile("mcr p6, 0, %0, c11, c1, 0"::"r" (val)); | ||
81 | } | ||
82 | |||
83 | static u32 (*read_imipr[])(void) = { | ||
84 | read_imipr_0, | ||
85 | read_imipr_1, | ||
86 | read_imipr_2, | ||
87 | read_imipr_3, | ||
88 | }; | ||
89 | |||
90 | static void (*write_imipr[])(u32) = { | ||
91 | write_imipr_0, | ||
92 | write_imipr_1, | ||
93 | write_imipr_2, | ||
94 | write_imipr_3, | ||
95 | }; | ||
96 | |||
97 | static void iop13xx_msi_handler(unsigned int irq, struct irq_desc *desc) | ||
98 | { | ||
99 | int i, j; | ||
100 | unsigned long status; | ||
101 | |||
102 | /* read IMIPR registers and find any active interrupts, | ||
103 | * then call ISR for each active interrupt | ||
104 | */ | ||
105 | for (i = 0; i < ARRAY_SIZE(read_imipr); i++) { | ||
106 | status = (read_imipr[i])(); | ||
107 | if (!status) | ||
108 | continue; | ||
109 | |||
110 | do { | ||
111 | j = find_first_bit(&status, 32); | ||
112 | (write_imipr[i])(1 << j); /* write back to clear bit */ | ||
113 | desc = irq_desc + IRQ_IOP13XX_MSI_0 + j + (32*i); | ||
114 | desc_handle_irq(IRQ_IOP13XX_MSI_0 + j + (32*i), desc); | ||
115 | status = (read_imipr[i])(); | ||
116 | } while (status); | ||
117 | } | ||
118 | } | ||
119 | |||
120 | void __init iop13xx_msi_init(void) | ||
121 | { | ||
122 | set_irq_chained_handler(IRQ_IOP13XX_INBD_MSI, iop13xx_msi_handler); | ||
123 | } | ||
124 | |||
125 | /* | ||
126 | * Dynamic irq allocate and deallocation | ||
127 | */ | ||
128 | int create_irq(void) | ||
129 | { | ||
130 | int irq, pos; | ||
131 | |||
132 | again: | ||
133 | pos = find_first_zero_bit(msi_irq_in_use, IOP13XX_NUM_MSI_IRQS); | ||
134 | irq = IRQ_IOP13XX_MSI_0 + pos; | ||
135 | if (irq > NR_IRQS) | ||
136 | return -ENOSPC; | ||
137 | /* test_and_set_bit operates on 32-bits at a time */ | ||
138 | if (test_and_set_bit(pos, msi_irq_in_use)) | ||
139 | goto again; | ||
140 | |||
141 | dynamic_irq_init(irq); | ||
142 | |||
143 | return irq; | ||
144 | } | ||
145 | |||
146 | void destroy_irq(unsigned int irq) | ||
147 | { | ||
148 | int pos = irq - IRQ_IOP13XX_MSI_0; | ||
149 | |||
150 | dynamic_irq_cleanup(irq); | ||
151 | |||
152 | clear_bit(pos, msi_irq_in_use); | ||
153 | } | ||
154 | |||
155 | void arch_teardown_msi_irq(unsigned int irq) | ||
156 | { | ||
157 | destroy_irq(irq); | ||
158 | } | ||
159 | |||
160 | static void iop13xx_msi_nop(unsigned int irq) | ||
161 | { | ||
162 | return; | ||
163 | } | ||
164 | |||
165 | static struct irq_chip iop13xx_msi_chip = { | ||
166 | .name = "PCI-MSI", | ||
167 | .ack = iop13xx_msi_nop, | ||
168 | .enable = unmask_msi_irq, | ||
169 | .disable = mask_msi_irq, | ||
170 | .mask = mask_msi_irq, | ||
171 | .unmask = unmask_msi_irq, | ||
172 | }; | ||
173 | |||
174 | int arch_setup_msi_irq(struct pci_dev *pdev, struct msi_desc *desc) | ||
175 | { | ||
176 | int id, irq = create_irq(); | ||
177 | struct msi_msg msg; | ||
178 | |||
179 | if (irq < 0) | ||
180 | return irq; | ||
181 | |||
182 | set_irq_msi(irq, desc); | ||
183 | |||
184 | msg.address_hi = 0x0; | ||
185 | msg.address_lo = IOP13XX_MU_MIMR_PCI; | ||
186 | |||
187 | id = iop13xx_cpu_id(); | ||
188 | msg.data = (id << IOP13XX_MU_MIMR_CORE_SELECT) | (irq & 0x7f); | ||
189 | |||
190 | write_msi_msg(irq, &msg); | ||
191 | set_irq_chip_and_handler(irq, &iop13xx_msi_chip, handle_simple_irq); | ||
192 | |||
193 | return irq; | ||
194 | } | ||
diff --git a/arch/arm/mach-iop13xx/pci.c b/arch/arm/mach-iop13xx/pci.c index d1d0d32ca77c..1c9e94c38b7e 100644 --- a/arch/arm/mach-iop13xx/pci.c +++ b/arch/arm/mach-iop13xx/pci.c | |||
@@ -559,6 +559,14 @@ void __init iop13xx_atue_setup(void) | |||
559 | int func = iop13xx_atu_function(IOP13XX_INIT_ATU_ATUE); | 559 | int func = iop13xx_atu_function(IOP13XX_INIT_ATU_ATUE); |
560 | u32 reg_val; | 560 | u32 reg_val; |
561 | 561 | ||
562 | #ifdef CONFIG_PCI_MSI | ||
563 | /* BAR 0 (inbound msi window) */ | ||
564 | __raw_writel(IOP13XX_MU_BASE_PHYS, IOP13XX_MU_MUBAR); | ||
565 | __raw_writel(~(IOP13XX_MU_WINDOW_SIZE - 1), IOP13XX_ATUE_IALR0); | ||
566 | __raw_writel(IOP13XX_MU_BASE_PHYS, IOP13XX_ATUE_IATVR0); | ||
567 | __raw_writel(IOP13XX_MU_BASE_PCI, IOP13XX_ATUE_IABAR0); | ||
568 | #endif | ||
569 | |||
562 | /* BAR 1 (1:1 mapping with Physical RAM) */ | 570 | /* BAR 1 (1:1 mapping with Physical RAM) */ |
563 | /* Set limit and enable */ | 571 | /* Set limit and enable */ |
564 | __raw_writel(~(IOP13XX_MAX_RAM_SIZE - PHYS_OFFSET - 1) & ~0x1, | 572 | __raw_writel(~(IOP13XX_MAX_RAM_SIZE - PHYS_OFFSET - 1) & ~0x1, |
@@ -720,6 +728,14 @@ void __init iop13xx_atux_setup(void) | |||
720 | else | 728 | else |
721 | atux_trhfa_timeout = jiffies; | 729 | atux_trhfa_timeout = jiffies; |
722 | 730 | ||
731 | #ifdef CONFIG_PCI_MSI | ||
732 | /* BAR 0 (inbound msi window) */ | ||
733 | __raw_writel(IOP13XX_MU_BASE_PHYS, IOP13XX_MU_MUBAR); | ||
734 | __raw_writel(~(IOP13XX_MU_WINDOW_SIZE - 1), IOP13XX_ATUX_IALR0); | ||
735 | __raw_writel(IOP13XX_MU_BASE_PHYS, IOP13XX_ATUX_IATVR0); | ||
736 | __raw_writel(IOP13XX_MU_BASE_PCI, IOP13XX_ATUX_IABAR0); | ||
737 | #endif | ||
738 | |||
723 | /* BAR 1 (1:1 mapping with Physical RAM) */ | 739 | /* BAR 1 (1:1 mapping with Physical RAM) */ |
724 | /* Set limit and enable */ | 740 | /* Set limit and enable */ |
725 | __raw_writel(~(IOP13XX_MAX_RAM_SIZE - PHYS_OFFSET - 1) & ~0x1, | 741 | __raw_writel(~(IOP13XX_MAX_RAM_SIZE - PHYS_OFFSET - 1) & ~0x1, |
diff --git a/arch/arm/mach-ks8695/Kconfig b/arch/arm/mach-ks8695/Kconfig new file mode 100644 index 000000000000..ce1cf8de2b4d --- /dev/null +++ b/arch/arm/mach-ks8695/Kconfig | |||
@@ -0,0 +1,13 @@ | |||
1 | if ARCH_KS8695 | ||
2 | |||
3 | menu "Kendin/Micrel KS8695 Implementations" | ||
4 | |||
5 | config MACH_KS8695 | ||
6 | bool "KS8695 development board" | ||
7 | help | ||
8 | Say 'Y' here if you want your kernel to run on the original | ||
9 | Kendin-Micrel KS8695 development board. | ||
10 | |||
11 | endmenu | ||
12 | |||
13 | endif | ||
diff --git a/arch/arm/mach-ks8695/Makefile b/arch/arm/mach-ks8695/Makefile new file mode 100644 index 000000000000..56b7d337333a --- /dev/null +++ b/arch/arm/mach-ks8695/Makefile | |||
@@ -0,0 +1,15 @@ | |||
1 | # arch/arm/mach-ks8695/Makefile | ||
2 | # | ||
3 | # Makefile for KS8695 architecture support | ||
4 | # | ||
5 | |||
6 | obj-y := cpu.o irq.o time.o devices.o | ||
7 | obj-m := | ||
8 | obj-n := | ||
9 | obj- := | ||
10 | |||
11 | # PCI support is optional | ||
12 | #obj-$(CONFIG_PCI) += pci.o | ||
13 | |||
14 | # Board-specific support | ||
15 | obj-$(CONFIG_MACH_KS8695) += board-micrel.o | ||
diff --git a/arch/arm/mach-ks8695/Makefile.boot b/arch/arm/mach-ks8695/Makefile.boot new file mode 100644 index 000000000000..48eb2cb3ac77 --- /dev/null +++ b/arch/arm/mach-ks8695/Makefile.boot | |||
@@ -0,0 +1,8 @@ | |||
1 | # Note: the following conditions must always be true: | ||
2 | # ZRELADDR == virt_to_phys(TEXTADDR) | ||
3 | # PARAMS_PHYS must be within 4MB of ZRELADDR | ||
4 | # INITRD_PHYS must be in RAM | ||
5 | |||
6 | zreladdr-y := 0x00008000 | ||
7 | params_phys-y := 0x00000100 | ||
8 | initrd_phys-y := 0x00800000 | ||
diff --git a/arch/arm/mach-ks8695/board-micrel.c b/arch/arm/mach-ks8695/board-micrel.c new file mode 100644 index 000000000000..8fc0edb5211e --- /dev/null +++ b/arch/arm/mach-ks8695/board-micrel.c | |||
@@ -0,0 +1,60 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-ks8695/board-micrel.c | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License version 2 as | ||
6 | * published by the Free Software Foundation. | ||
7 | */ | ||
8 | |||
9 | #include <linux/kernel.h> | ||
10 | #include <linux/types.h> | ||
11 | #include <linux/interrupt.h> | ||
12 | #include <linux/init.h> | ||
13 | #include <linux/platform_device.h> | ||
14 | |||
15 | #include <asm/mach-types.h> | ||
16 | |||
17 | #include <asm/mach/arch.h> | ||
18 | #include <asm/mach/map.h> | ||
19 | #include <asm/mach/irq.h> | ||
20 | |||
21 | #include <asm/arch/devices.h> | ||
22 | |||
23 | #include "generic.h" | ||
24 | |||
25 | #ifdef CONFIG_PCI | ||
26 | static int __init micrel_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) | ||
27 | { | ||
28 | return KS8695_IRQ_EXTERN0; | ||
29 | } | ||
30 | |||
31 | static struct ks8695_pci_cfg micrel_pci = { | ||
32 | .mode = KS8695_MODE_MINIPCI, | ||
33 | .map_irq = micrel_pci_map_irq, | ||
34 | }; | ||
35 | #endif | ||
36 | |||
37 | |||
38 | static void micrel_init(void) | ||
39 | { | ||
40 | printk(KERN_INFO "Micrel KS8695 Development Board initializing\n"); | ||
41 | |||
42 | #ifdef CONFIG_PCI | ||
43 | ks8695_init_pci(&micrel_pci); | ||
44 | #endif | ||
45 | |||
46 | /* Add devices */ | ||
47 | ks8695_add_device_wan(); /* eth0 = WAN */ | ||
48 | ks8695_add_device_lan(); /* eth1 = LAN */ | ||
49 | } | ||
50 | |||
51 | MACHINE_START(KS8695, "KS8695 Centaur Development Board") | ||
52 | /* Maintainer: Micrel Semiconductor Inc. */ | ||
53 | .phys_io = KS8695_IO_PA, | ||
54 | .io_pg_offst = (KS8695_IO_VA >> 18) & 0xfffc, | ||
55 | .boot_params = KS8695_SDRAM_PA + 0x100, | ||
56 | .map_io = ks8695_map_io, | ||
57 | .init_irq = ks8695_init_irq, | ||
58 | .init_machine = micrel_init, | ||
59 | .timer = &ks8695_timer, | ||
60 | MACHINE_END | ||
diff --git a/arch/arm/mach-ks8695/cpu.c b/arch/arm/mach-ks8695/cpu.c new file mode 100644 index 000000000000..407d255e42bf --- /dev/null +++ b/arch/arm/mach-ks8695/cpu.c | |||
@@ -0,0 +1,73 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-ks8695/cpu.c | ||
3 | * | ||
4 | * Copyright (C) 2006 Ben Dooks <ben@simtec.co.uk> | ||
5 | * Copyright (C) 2006 Simtec Electronics | ||
6 | * | ||
7 | * KS8695 CPU support | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License as published by | ||
11 | * the Free Software Foundation; either version 2 of the License, or | ||
12 | * (at your option) any later version. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public License | ||
20 | * along with this program; if not, write to the Free Software | ||
21 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
22 | */ | ||
23 | |||
24 | #include <linux/kernel.h> | ||
25 | #include <linux/module.h> | ||
26 | #include <linux/init.h> | ||
27 | |||
28 | #include <asm/hardware.h> | ||
29 | #include <asm/io.h> | ||
30 | #include <asm/mach/arch.h> | ||
31 | #include <asm/mach/map.h> | ||
32 | |||
33 | #include <asm/arch/regs-sys.h> | ||
34 | #include <asm/arch/regs-misc.h> | ||
35 | |||
36 | |||
37 | static struct __initdata map_desc ks8695_io_desc[] = { | ||
38 | { | ||
39 | .virtual = KS8695_IO_VA, | ||
40 | .pfn = __phys_to_pfn(KS8695_IO_PA), | ||
41 | .length = KS8695_IO_SIZE, | ||
42 | .type = MT_DEVICE, | ||
43 | } | ||
44 | }; | ||
45 | |||
46 | static void __init ks8695_processor_info(void) | ||
47 | { | ||
48 | unsigned long id, rev; | ||
49 | |||
50 | id = __raw_readl(KS8695_MISC_VA + KS8695_DID); | ||
51 | rev = __raw_readl(KS8695_MISC_VA + KS8695_RID); | ||
52 | |||
53 | printk("KS8695 ID=%04lx SubID=%02lx Revision=%02lx\n", (id & DID_ID), (rev & RID_SUBID), (rev & RID_REVISION)); | ||
54 | } | ||
55 | |||
56 | static unsigned int sysclk[8] = { 125000000, 100000000, 62500000, 50000000, 41700000, 33300000, 31300000, 25000000 }; | ||
57 | static unsigned int cpuclk[8] = { 166000000, 166000000, 83000000, 83000000, 55300000, 55300000, 41500000, 41500000 }; | ||
58 | |||
59 | static void __init ks8695_clock_info(void) | ||
60 | { | ||
61 | unsigned int scdc = __raw_readl(KS8695_SYS_VA + KS8695_CLKCON) & CLKCON_SCDC; | ||
62 | |||
63 | printk("Clocks: System %u MHz, CPU %u MHz\n", | ||
64 | sysclk[scdc] / 1000000, cpuclk[scdc] / 1000000); | ||
65 | } | ||
66 | |||
67 | void __init ks8695_map_io(void) | ||
68 | { | ||
69 | iotable_init(ks8695_io_desc, ARRAY_SIZE(ks8695_io_desc)); | ||
70 | |||
71 | ks8695_processor_info(); | ||
72 | ks8695_clock_info(); | ||
73 | } | ||
diff --git a/arch/arm/mach-ks8695/devices.c b/arch/arm/mach-ks8695/devices.c new file mode 100644 index 000000000000..386593f8ac65 --- /dev/null +++ b/arch/arm/mach-ks8695/devices.c | |||
@@ -0,0 +1,191 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-ks8695/devices.c | ||
3 | * | ||
4 | * Copyright (C) 2006 Andrew Victor | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | ||
19 | |||
20 | #include <asm/mach/arch.h> | ||
21 | #include <asm/mach/map.h> | ||
22 | |||
23 | #include <linux/platform_device.h> | ||
24 | |||
25 | #include <asm/arch/regs-wan.h> | ||
26 | #include <asm/arch/regs-lan.h> | ||
27 | #include <asm/arch/regs-hpna.h> | ||
28 | |||
29 | |||
30 | /* -------------------------------------------------------------------- | ||
31 | * Ethernet | ||
32 | * -------------------------------------------------------------------- */ | ||
33 | |||
34 | #if defined(CONFIG_ARM_KS8695_ETHER) || defined(CONFIG_ARM_KS8695_ETHER_MODULE) | ||
35 | static u64 eth_dmamask = 0xffffffffUL; | ||
36 | |||
37 | static struct resource ks8695_wan_resources[] = { | ||
38 | [0] = { | ||
39 | .start = KS8695_WAN_VA, | ||
40 | .end = KS8695_WAN_VA + 0x00ff, | ||
41 | .flags = IORESOURCE_MEM, | ||
42 | }, | ||
43 | [1] = { | ||
44 | .name = "WAN RX", | ||
45 | .start = KS8695_IRQ_WAN_RX_STATUS, | ||
46 | .end = KS8695_IRQ_WAN_RX_STATUS, | ||
47 | .flags = IORESOURCE_IRQ, | ||
48 | }, | ||
49 | [2] = { | ||
50 | .name = "WAN TX", | ||
51 | .start = KS8695_IRQ_WAN_TX_STATUS, | ||
52 | .end = KS8695_IRQ_WAN_TX_STATUS, | ||
53 | .flags = IORESOURCE_IRQ, | ||
54 | }, | ||
55 | [3] = { | ||
56 | .name = "WAN Link", | ||
57 | .start = KS8695_IRQ_WAN_LINK, | ||
58 | .end = KS8695_IRQ_WAN_LINK, | ||
59 | .flags = IORESOURCE_IRQ, | ||
60 | }, | ||
61 | }; | ||
62 | |||
63 | static struct platform_device ks8695_wan_device = { | ||
64 | .name = "ks8695_ether", | ||
65 | .id = 0, | ||
66 | .dev = { | ||
67 | .dma_mask = ð_dmamask, | ||
68 | .coherent_dma_mask = 0xffffffff, | ||
69 | }, | ||
70 | .resource = ks8695_wan_resources, | ||
71 | .num_resources = ARRAY_SIZE(ks8695_wan_resources), | ||
72 | }; | ||
73 | |||
74 | |||
75 | static struct resource ks8695_lan_resources[] = { | ||
76 | [0] = { | ||
77 | .start = KS8695_LAN_VA, | ||
78 | .end = KS8695_LAN_VA + 0x00ff, | ||
79 | .flags = IORESOURCE_MEM, | ||
80 | }, | ||
81 | [1] = { | ||
82 | .name = "LAN RX", | ||
83 | .start = KS8695_IRQ_LAN_RX_STATUS, | ||
84 | .end = KS8695_IRQ_LAN_RX_STATUS, | ||
85 | .flags = IORESOURCE_IRQ, | ||
86 | }, | ||
87 | [2] = { | ||
88 | .name = "LAN TX", | ||
89 | .start = KS8695_IRQ_LAN_TX_STATUS, | ||
90 | .end = KS8695_IRQ_LAN_TX_STATUS, | ||
91 | .flags = IORESOURCE_IRQ, | ||
92 | }, | ||
93 | }; | ||
94 | |||
95 | static struct platform_device ks8695_lan_device = { | ||
96 | .name = "ks8695_ether", | ||
97 | .id = 1, | ||
98 | .dev = { | ||
99 | .dma_mask = ð_dmamask, | ||
100 | .coherent_dma_mask = 0xffffffff, | ||
101 | }, | ||
102 | .resource = ks8695_lan_resources, | ||
103 | .num_resources = ARRAY_SIZE(ks8695_lan_resources), | ||
104 | }; | ||
105 | |||
106 | |||
107 | static struct resource ks8695_hpna_resources[] = { | ||
108 | [0] = { | ||
109 | .start = KS8695_HPNA_VA, | ||
110 | .end = KS8695_HPNA_VA + 0x00ff, | ||
111 | .flags = IORESOURCE_MEM, | ||
112 | }, | ||
113 | [1] = { | ||
114 | .name = "HPNA RX", | ||
115 | .start = KS8695_IRQ_HPNA_RX_STATUS, | ||
116 | .end = KS8695_IRQ_HPNA_RX_STATUS, | ||
117 | .flags = IORESOURCE_IRQ, | ||
118 | }, | ||
119 | [2] = { | ||
120 | .name = "HPNA TX", | ||
121 | .start = KS8695_IRQ_HPNA_TX_STATUS, | ||
122 | .end = KS8695_IRQ_HPNA_TX_STATUS, | ||
123 | .flags = IORESOURCE_IRQ, | ||
124 | }, | ||
125 | }; | ||
126 | |||
127 | static struct platform_device ks8695_hpna_device = { | ||
128 | .name = "ks8695_ether", | ||
129 | .id = 2, | ||
130 | .dev = { | ||
131 | .dma_mask = ð_dmamask, | ||
132 | .coherent_dma_mask = 0xffffffff, | ||
133 | }, | ||
134 | .resource = ks8695_hpna_resources, | ||
135 | .num_resources = ARRAY_SIZE(ks8695_hpna_resources), | ||
136 | }; | ||
137 | |||
138 | void __init ks8695_add_device_wan(void) | ||
139 | { | ||
140 | platform_device_register(&ks8695_wan_device); | ||
141 | } | ||
142 | |||
143 | void __init ks8695_add_device_lan(void) | ||
144 | { | ||
145 | platform_device_register(&ks8695_lan_device); | ||
146 | } | ||
147 | |||
148 | void __init ks8696_add_device_hpna(void) | ||
149 | { | ||
150 | platform_device_register(&ks8695_hpna_device); | ||
151 | } | ||
152 | #else | ||
153 | void __init ks8695_add_device_wan(void) {} | ||
154 | void __init ks8695_add_device_lan(void) {} | ||
155 | void __init ks8696_add_device_hpna(void) {} | ||
156 | #endif | ||
157 | |||
158 | |||
159 | /* -------------------------------------------------------------------- | ||
160 | * Watchdog | ||
161 | * -------------------------------------------------------------------- */ | ||
162 | |||
163 | #if defined(CONFIG_KS8695_WATCHDOG) || defined(CONFIG_KS8695_WATCHDOG_MODULE) | ||
164 | static struct platform_device ks8695_wdt_device = { | ||
165 | .name = "ks8695_wdt", | ||
166 | .id = -1, | ||
167 | .num_resources = 0, | ||
168 | }; | ||
169 | |||
170 | static void __init ks8695_add_device_watchdog(void) | ||
171 | { | ||
172 | platform_device_register(&ks8695_wdt_device); | ||
173 | } | ||
174 | #else | ||
175 | static void __init ks8695_add_device_watchdog(void) {} | ||
176 | #endif | ||
177 | |||
178 | |||
179 | /* -------------------------------------------------------------------- */ | ||
180 | |||
181 | /* | ||
182 | * These devices are always present and don't need any board-specific | ||
183 | * setup. | ||
184 | */ | ||
185 | static int __init ks8695_add_standard_devices(void) | ||
186 | { | ||
187 | ks8695_add_device_watchdog(); | ||
188 | return 0; | ||
189 | } | ||
190 | |||
191 | arch_initcall(ks8695_add_standard_devices); | ||
diff --git a/arch/arm/mach-ks8695/generic.h b/arch/arm/mach-ks8695/generic.h new file mode 100644 index 000000000000..2fbfab8d5fae --- /dev/null +++ b/arch/arm/mach-ks8695/generic.h | |||
@@ -0,0 +1,15 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-ks8695/generic.h | ||
3 | * | ||
4 | * Copyright (C) 2006 Ben Dooks <ben@simtec.co.uk> | ||
5 | * Copyright (C) 2006 Simtec Electronics | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | extern __init void ks8695_map_io(void); | ||
14 | extern __init void ks8695_init_irq(void); | ||
15 | extern struct sys_timer ks8695_timer; | ||
diff --git a/arch/arm/mach-ks8695/irq.c b/arch/arm/mach-ks8695/irq.c new file mode 100644 index 000000000000..2407bba00547 --- /dev/null +++ b/arch/arm/mach-ks8695/irq.c | |||
@@ -0,0 +1,175 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-ks8695/irq.c | ||
3 | * | ||
4 | * Copyright (C) 2006 Ben Dooks <ben@simtec.co.uk> | ||
5 | * Copyright (C) 2006 Simtec Electronics | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | */ | ||
21 | |||
22 | #include <linux/init.h> | ||
23 | #include <linux/module.h> | ||
24 | #include <linux/interrupt.h> | ||
25 | #include <linux/ioport.h> | ||
26 | #include <linux/ptrace.h> | ||
27 | #include <linux/sysdev.h> | ||
28 | |||
29 | #include <asm/hardware.h> | ||
30 | #include <asm/irq.h> | ||
31 | #include <asm/io.h> | ||
32 | |||
33 | #include <asm/mach/irq.h> | ||
34 | |||
35 | #include <asm/arch/regs-irq.h> | ||
36 | #include <asm/arch/regs-gpio.h> | ||
37 | |||
38 | static void ks8695_irq_mask(unsigned int irqno) | ||
39 | { | ||
40 | unsigned long inten; | ||
41 | |||
42 | inten = __raw_readl(KS8695_IRQ_VA + KS8695_INTEN); | ||
43 | inten &= ~(1 << irqno); | ||
44 | |||
45 | __raw_writel(inten, KS8695_IRQ_VA + KS8695_INTEN); | ||
46 | } | ||
47 | |||
48 | static void ks8695_irq_unmask(unsigned int irqno) | ||
49 | { | ||
50 | unsigned long inten; | ||
51 | |||
52 | inten = __raw_readl(KS8695_IRQ_VA + KS8695_INTEN); | ||
53 | inten |= (1 << irqno); | ||
54 | |||
55 | __raw_writel(inten, KS8695_IRQ_VA + KS8695_INTEN); | ||
56 | } | ||
57 | |||
58 | static void ks8695_irq_ack(unsigned int irqno) | ||
59 | { | ||
60 | __raw_writel((1 << irqno), KS8695_IRQ_VA + KS8695_INTST); | ||
61 | } | ||
62 | |||
63 | |||
64 | static struct irq_chip ks8695_irq_level_chip; | ||
65 | static struct irq_chip ks8695_irq_edge_chip; | ||
66 | |||
67 | |||
68 | static int ks8695_irq_set_type(unsigned int irqno, unsigned int type) | ||
69 | { | ||
70 | unsigned long ctrl, mode; | ||
71 | unsigned short level_triggered = 0; | ||
72 | |||
73 | ctrl = __raw_readl(KS8695_GPIO_VA + KS8695_IOPC); | ||
74 | |||
75 | switch (type) { | ||
76 | case IRQT_HIGH: | ||
77 | mode = IOPC_TM_HIGH; | ||
78 | level_triggered = 1; | ||
79 | break; | ||
80 | case IRQT_LOW: | ||
81 | mode = IOPC_TM_LOW; | ||
82 | level_triggered = 1; | ||
83 | break; | ||
84 | case IRQT_RISING: | ||
85 | mode = IOPC_TM_RISING; | ||
86 | break; | ||
87 | case IRQT_FALLING: | ||
88 | mode = IOPC_TM_FALLING; | ||
89 | break; | ||
90 | case IRQT_BOTHEDGE: | ||
91 | mode = IOPC_TM_EDGE; | ||
92 | break; | ||
93 | default: | ||
94 | return -EINVAL; | ||
95 | } | ||
96 | |||
97 | switch (irqno) { | ||
98 | case KS8695_IRQ_EXTERN0: | ||
99 | ctrl &= ~IOPC_IOEINT0TM; | ||
100 | ctrl |= IOPC_IOEINT0_MODE(mode); | ||
101 | break; | ||
102 | case KS8695_IRQ_EXTERN1: | ||
103 | ctrl &= ~IOPC_IOEINT1TM; | ||
104 | ctrl |= IOPC_IOEINT1_MODE(mode); | ||
105 | break; | ||
106 | case KS8695_IRQ_EXTERN2: | ||
107 | ctrl &= ~IOPC_IOEINT2TM; | ||
108 | ctrl |= IOPC_IOEINT2_MODE(mode); | ||
109 | break; | ||
110 | case KS8695_IRQ_EXTERN3: | ||
111 | ctrl &= ~IOPC_IOEINT3TM; | ||
112 | ctrl |= IOPC_IOEINT3_MODE(mode); | ||
113 | break; | ||
114 | default: | ||
115 | return -EINVAL; | ||
116 | } | ||
117 | |||
118 | if (level_triggered) { | ||
119 | set_irq_chip(irqno, &ks8695_irq_level_chip); | ||
120 | set_irq_handler(irqno, handle_level_irq); | ||
121 | } | ||
122 | else { | ||
123 | set_irq_chip(irqno, &ks8695_irq_edge_chip); | ||
124 | set_irq_handler(irqno, handle_edge_irq); | ||
125 | } | ||
126 | |||
127 | __raw_writel(ctrl, KS8695_GPIO_VA + KS8695_IOPC); | ||
128 | return 0; | ||
129 | } | ||
130 | |||
131 | static struct irq_chip ks8695_irq_level_chip = { | ||
132 | .ack = ks8695_irq_mask, | ||
133 | .mask = ks8695_irq_mask, | ||
134 | .unmask = ks8695_irq_unmask, | ||
135 | .set_type = ks8695_irq_set_type, | ||
136 | }; | ||
137 | |||
138 | static struct irq_chip ks8695_irq_edge_chip = { | ||
139 | .ack = ks8695_irq_ack, | ||
140 | .mask = ks8695_irq_mask, | ||
141 | .unmask = ks8695_irq_unmask, | ||
142 | .set_type = ks8695_irq_set_type, | ||
143 | }; | ||
144 | |||
145 | void __init ks8695_init_irq(void) | ||
146 | { | ||
147 | unsigned int irq; | ||
148 | |||
149 | /* Disable all interrupts initially */ | ||
150 | __raw_writel(0, KS8695_IRQ_VA + KS8695_INTMC); | ||
151 | __raw_writel(0, KS8695_IRQ_VA + KS8695_INTEN); | ||
152 | |||
153 | for (irq = 0; irq < NR_IRQS; irq++) { | ||
154 | switch (irq) { | ||
155 | /* Level-triggered interrupts */ | ||
156 | case KS8695_IRQ_BUS_ERROR: | ||
157 | case KS8695_IRQ_UART_MODEM_STATUS: | ||
158 | case KS8695_IRQ_UART_LINE_STATUS: | ||
159 | case KS8695_IRQ_UART_RX: | ||
160 | case KS8695_IRQ_COMM_TX: | ||
161 | case KS8695_IRQ_COMM_RX: | ||
162 | set_irq_chip(irq, &ks8695_irq_level_chip); | ||
163 | set_irq_handler(irq, handle_level_irq); | ||
164 | break; | ||
165 | |||
166 | /* Edge-triggered interrupts */ | ||
167 | default: | ||
168 | ks8695_irq_ack(irq); /* clear pending bit */ | ||
169 | set_irq_chip(irq, &ks8695_irq_edge_chip); | ||
170 | set_irq_handler(irq, handle_edge_irq); | ||
171 | } | ||
172 | |||
173 | set_irq_flags(irq, IRQF_VALID); | ||
174 | } | ||
175 | } | ||
diff --git a/arch/arm/mach-ks8695/time.c b/arch/arm/mach-ks8695/time.c new file mode 100644 index 000000000000..d2c86e4a72eb --- /dev/null +++ b/arch/arm/mach-ks8695/time.c | |||
@@ -0,0 +1,114 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-ks8695/time.c | ||
3 | * | ||
4 | * Copyright (C) 2006 Ben Dooks <ben@simtec.co.uk> | ||
5 | * Copyright (C) 2006 Simtec Electronics | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | */ | ||
21 | |||
22 | #include <linux/init.h> | ||
23 | #include <linux/interrupt.h> | ||
24 | #include <linux/irq.h> | ||
25 | #include <linux/kernel.h> | ||
26 | #include <linux/sched.h> | ||
27 | |||
28 | #include <asm/io.h> | ||
29 | #include <asm/mach/time.h> | ||
30 | |||
31 | #include <asm/arch/regs-timer.h> | ||
32 | #include <asm/arch/regs-irq.h> | ||
33 | |||
34 | #include "generic.h" | ||
35 | |||
36 | /* | ||
37 | * Returns number of ms since last clock interrupt. Note that interrupts | ||
38 | * will have been disabled by do_gettimeoffset() | ||
39 | */ | ||
40 | static unsigned long ks8695_gettimeoffset (void) | ||
41 | { | ||
42 | unsigned long elapsed, tick2, intpending; | ||
43 | |||
44 | /* | ||
45 | * Get the current number of ticks. Note that there is a race | ||
46 | * condition between us reading the timer and checking for an | ||
47 | * interrupt. We solve this by ensuring that the counter has not | ||
48 | * reloaded between our two reads. | ||
49 | */ | ||
50 | elapsed = __raw_readl(KS8695_TMR_VA + KS8695_T1TC) + __raw_readl(KS8695_TMR_VA + KS8695_T1PD); | ||
51 | do { | ||
52 | tick2 = elapsed; | ||
53 | intpending = __raw_readl(KS8695_IRQ_VA + KS8695_INTST) & (1 << KS8695_IRQ_TIMER1); | ||
54 | elapsed = __raw_readl(KS8695_TMR_VA + KS8695_T1TC) + __raw_readl(KS8695_TMR_VA + KS8695_T1PD); | ||
55 | } while (elapsed > tick2); | ||
56 | |||
57 | /* Convert to number of ticks expired (not remaining) */ | ||
58 | elapsed = (CLOCK_TICK_RATE / HZ) - elapsed; | ||
59 | |||
60 | /* Is interrupt pending? If so, then timer has been reloaded already. */ | ||
61 | if (intpending) | ||
62 | elapsed += (CLOCK_TICK_RATE / HZ); | ||
63 | |||
64 | /* Convert ticks to usecs */ | ||
65 | return (unsigned long)(elapsed * (tick_nsec / 1000)) / LATCH; | ||
66 | } | ||
67 | |||
68 | /* | ||
69 | * IRQ handler for the timer. | ||
70 | */ | ||
71 | static irqreturn_t ks8695_timer_interrupt(int irq, void *dev_id) | ||
72 | { | ||
73 | write_seqlock(&xtime_lock); | ||
74 | timer_tick(); | ||
75 | write_sequnlock(&xtime_lock); | ||
76 | |||
77 | return IRQ_HANDLED; | ||
78 | } | ||
79 | |||
80 | static struct irqaction ks8695_timer_irq = { | ||
81 | .name = "ks8695_tick", | ||
82 | .flags = IRQF_DISABLED | IRQF_TIMER, | ||
83 | .handler = ks8695_timer_interrupt, | ||
84 | }; | ||
85 | |||
86 | static void ks8695_timer_setup(void) | ||
87 | { | ||
88 | unsigned long tmout = CLOCK_TICK_RATE / HZ; | ||
89 | unsigned long tmcon; | ||
90 | |||
91 | /* disable timer1 */ | ||
92 | tmcon = __raw_readl(KS8695_TMR_VA + KS8695_TMCON); | ||
93 | __raw_writel(tmcon & ~TMCON_T1EN, KS8695_TMR_VA + KS8695_TMCON); | ||
94 | |||
95 | __raw_writel(tmout / 2, KS8695_TMR_VA + KS8695_T1TC); | ||
96 | __raw_writel(tmout / 2, KS8695_TMR_VA + KS8695_T1PD); | ||
97 | |||
98 | /* re-enable timer1 */ | ||
99 | __raw_writel(tmcon | TMCON_T1EN, KS8695_TMR_VA + KS8695_TMCON); | ||
100 | } | ||
101 | |||
102 | static void __init ks8695_timer_init (void) | ||
103 | { | ||
104 | ks8695_timer_setup(); | ||
105 | |||
106 | /* Enable timer interrupts */ | ||
107 | setup_irq(KS8695_IRQ_TIMER1, &ks8695_timer_irq); | ||
108 | } | ||
109 | |||
110 | struct sys_timer ks8695_timer = { | ||
111 | .init = ks8695_timer_init, | ||
112 | .offset = ks8695_gettimeoffset, | ||
113 | .resume = ks8695_timer_setup, | ||
114 | }; | ||
diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c index ad519390dd58..48c8c9195dc3 100644 --- a/arch/arm/mach-omap1/board-h2.c +++ b/arch/arm/mach-omap1/board-h2.c | |||
@@ -326,7 +326,7 @@ static struct omap_lcd_config h2_lcd_config __initdata = { | |||
326 | .ctrl_name = "internal", | 326 | .ctrl_name = "internal", |
327 | }; | 327 | }; |
328 | 328 | ||
329 | static struct omap_board_config_kernel h2_config[] = { | 329 | static struct omap_board_config_kernel h2_config[] __initdata = { |
330 | { OMAP_TAG_USB, &h2_usb_config }, | 330 | { OMAP_TAG_USB, &h2_usb_config }, |
331 | { OMAP_TAG_MMC, &h2_mmc_config }, | 331 | { OMAP_TAG_MMC, &h2_mmc_config }, |
332 | { OMAP_TAG_UART, &h2_uart_config }, | 332 | { OMAP_TAG_UART, &h2_uart_config }, |
diff --git a/arch/arm/mach-omap1/pm.c b/arch/arm/mach-omap1/pm.c index 6f4ea4bda5e0..8caee68aa090 100644 --- a/arch/arm/mach-omap1/pm.c +++ b/arch/arm/mach-omap1/pm.c | |||
@@ -1,4 +1,3 @@ | |||
1 | //kernel/linux-omap-fsample/arch/arm/mach-omap1/pm.c#3 - integrate change 4545 (text) | ||
2 | /* | 1 | /* |
3 | * linux/arch/arm/mach-omap1/pm.c | 2 | * linux/arch/arm/mach-omap1/pm.c |
4 | * | 3 | * |
@@ -377,7 +376,7 @@ void omap_pm_suspend(void) | |||
377 | * Jump to assembly code. The processor will stay there | 376 | * Jump to assembly code. The processor will stay there |
378 | * until wake up. | 377 | * until wake up. |
379 | */ | 378 | */ |
380 | omap_sram_suspend(arg0, arg1); | 379 | omap_sram_suspend(arg0, arg1); |
381 | 380 | ||
382 | /* | 381 | /* |
383 | * If we are here, processor is woken up! | 382 | * If we are here, processor is woken up! |
@@ -631,10 +630,6 @@ static int omap_pm_prepare(suspend_state_t state) | |||
631 | case PM_SUSPEND_STANDBY: | 630 | case PM_SUSPEND_STANDBY: |
632 | case PM_SUSPEND_MEM: | 631 | case PM_SUSPEND_MEM: |
633 | break; | 632 | break; |
634 | |||
635 | case PM_SUSPEND_DISK: | ||
636 | return -ENOTSUPP; | ||
637 | |||
638 | default: | 633 | default: |
639 | return -EINVAL; | 634 | return -EINVAL; |
640 | } | 635 | } |
@@ -657,10 +652,6 @@ static int omap_pm_enter(suspend_state_t state) | |||
657 | case PM_SUSPEND_MEM: | 652 | case PM_SUSPEND_MEM: |
658 | omap_pm_suspend(); | 653 | omap_pm_suspend(); |
659 | break; | 654 | break; |
660 | |||
661 | case PM_SUSPEND_DISK: | ||
662 | return -ENOTSUPP; | ||
663 | |||
664 | default: | 655 | default: |
665 | return -EINVAL; | 656 | return -EINVAL; |
666 | } | 657 | } |
diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c index 54c836a98456..e290b989aa94 100644 --- a/arch/arm/mach-omap2/gpmc.c +++ b/arch/arm/mach-omap2/gpmc.c | |||
@@ -54,7 +54,7 @@ | |||
54 | 54 | ||
55 | static struct resource gpmc_mem_root; | 55 | static struct resource gpmc_mem_root; |
56 | static struct resource gpmc_cs_mem[GPMC_CS_NUM]; | 56 | static struct resource gpmc_cs_mem[GPMC_CS_NUM]; |
57 | static spinlock_t gpmc_mem_lock = SPIN_LOCK_UNLOCKED; | 57 | static DEFINE_SPINLOCK(gpmc_mem_lock); |
58 | static unsigned gpmc_cs_map; | 58 | static unsigned gpmc_cs_map; |
59 | 59 | ||
60 | static void __iomem *gpmc_base = | 60 | static void __iomem *gpmc_base = |
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index f538d0fdb13c..0439906d5da7 100644 --- a/arch/arm/mach-omap2/mux.c +++ b/arch/arm/mach-omap2/mux.c | |||
@@ -43,7 +43,7 @@ struct pin_config __initdata_or_module omap24xx_pins[] = { | |||
43 | /* 24xx I2C */ | 43 | /* 24xx I2C */ |
44 | MUX_CFG_24XX("M19_24XX_I2C1_SCL", 0x111, 0, 0, 0, 1) | 44 | MUX_CFG_24XX("M19_24XX_I2C1_SCL", 0x111, 0, 0, 0, 1) |
45 | MUX_CFG_24XX("L15_24XX_I2C1_SDA", 0x112, 0, 0, 0, 1) | 45 | MUX_CFG_24XX("L15_24XX_I2C1_SDA", 0x112, 0, 0, 0, 1) |
46 | MUX_CFG_24XX("J15_24XX_I2C2_SCL", 0x113, 0, 0, 0, 1) | 46 | MUX_CFG_24XX("J15_24XX_I2C2_SCL", 0x113, 0, 0, 1, 1) |
47 | MUX_CFG_24XX("H19_24XX_I2C2_SDA", 0x114, 0, 0, 0, 1) | 47 | MUX_CFG_24XX("H19_24XX_I2C2_SDA", 0x114, 0, 0, 0, 1) |
48 | 48 | ||
49 | /* Menelaus interrupt */ | 49 | /* Menelaus interrupt */ |
@@ -52,7 +52,9 @@ MUX_CFG_24XX("W19_24XX_SYS_NIRQ", 0x12c, 0, 1, 1, 1) | |||
52 | /* 24xx clocks */ | 52 | /* 24xx clocks */ |
53 | MUX_CFG_24XX("W14_24XX_SYS_CLKOUT", 0x137, 0, 1, 1, 1) | 53 | MUX_CFG_24XX("W14_24XX_SYS_CLKOUT", 0x137, 0, 1, 1, 1) |
54 | 54 | ||
55 | /* 24xx GPMC wait pin monitoring */ | 55 | /* 24xx GPMC chipselects, wait pin monitoring */ |
56 | MUX_CFG_24XX("E2_GPMC_NCS2", 0x08e, 0, 1, 1, 1) | ||
57 | MUX_CFG_24XX("L2_GPMC_NCS7", 0x093, 0, 1, 1, 1) | ||
56 | MUX_CFG_24XX("L3_GPMC_WAIT0", 0x09a, 0, 1, 1, 1) | 58 | MUX_CFG_24XX("L3_GPMC_WAIT0", 0x09a, 0, 1, 1, 1) |
57 | MUX_CFG_24XX("N7_GPMC_WAIT1", 0x09b, 0, 1, 1, 1) | 59 | MUX_CFG_24XX("N7_GPMC_WAIT1", 0x09b, 0, 1, 1, 1) |
58 | MUX_CFG_24XX("M1_GPMC_WAIT2", 0x09c, 0, 1, 1, 1) | 60 | MUX_CFG_24XX("M1_GPMC_WAIT2", 0x09c, 0, 1, 1, 1) |
@@ -66,6 +68,7 @@ MUX_CFG_24XX("V15_24XX_MCBSP2_DX", 0x127, 1, 1, 0, 1) | |||
66 | 68 | ||
67 | /* 24xx GPIO */ | 69 | /* 24xx GPIO */ |
68 | MUX_CFG_24XX("M21_242X_GPIO11", 0x0c9, 3, 1, 1, 1) | 70 | MUX_CFG_24XX("M21_242X_GPIO11", 0x0c9, 3, 1, 1, 1) |
71 | MUX_CFG_24XX("P21_242X_GPIO12", 0x0ca, 3, 0, 0, 1) | ||
69 | MUX_CFG_24XX("AA10_242X_GPIO13", 0x0e5, 3, 0, 0, 1) | 72 | MUX_CFG_24XX("AA10_242X_GPIO13", 0x0e5, 3, 0, 0, 1) |
70 | MUX_CFG_24XX("AA6_242X_GPIO14", 0x0e6, 3, 0, 0, 1) | 73 | MUX_CFG_24XX("AA6_242X_GPIO14", 0x0e6, 3, 0, 0, 1) |
71 | MUX_CFG_24XX("AA4_242X_GPIO15", 0x0e7, 3, 0, 0, 1) | 74 | MUX_CFG_24XX("AA4_242X_GPIO15", 0x0e7, 3, 0, 0, 1) |
@@ -75,7 +78,9 @@ MUX_CFG_24XX("AA8_242X_GPIO58", 0x0ea, 3, 0, 0, 1) | |||
75 | MUX_CFG_24XX("Y20_24XX_GPIO60", 0x12c, 3, 0, 0, 1) | 78 | MUX_CFG_24XX("Y20_24XX_GPIO60", 0x12c, 3, 0, 0, 1) |
76 | MUX_CFG_24XX("W4__24XX_GPIO74", 0x0f2, 3, 0, 0, 1) | 79 | MUX_CFG_24XX("W4__24XX_GPIO74", 0x0f2, 3, 0, 0, 1) |
77 | MUX_CFG_24XX("M15_24XX_GPIO92", 0x10a, 3, 0, 0, 1) | 80 | MUX_CFG_24XX("M15_24XX_GPIO92", 0x10a, 3, 0, 0, 1) |
81 | MUX_CFG_24XX("J15_24XX_GPIO99", 0x113, 3, 1, 1, 1) | ||
78 | MUX_CFG_24XX("V14_24XX_GPIO117", 0x128, 3, 1, 0, 1) | 82 | MUX_CFG_24XX("V14_24XX_GPIO117", 0x128, 3, 1, 0, 1) |
83 | MUX_CFG_24XX("P14_24XX_GPIO125", 0x140, 3, 1, 1, 1) | ||
79 | 84 | ||
80 | /* 242x DBG GPIO */ | 85 | /* 242x DBG GPIO */ |
81 | MUX_CFG_24XX("V4_242X_GPIO49", 0xd3, 3, 0, 0, 1) | 86 | MUX_CFG_24XX("V4_242X_GPIO49", 0xd3, 3, 0, 0, 1) |
@@ -118,6 +123,30 @@ MUX_CFG_24XX("E18_24XX_MMC_DAT_DIR3", 0x0fc, 0, 0, 0, 1) | |||
118 | MUX_CFG_24XX("G18_24XX_MMC_CMD_DIR", 0x0fd, 0, 0, 0, 1) | 123 | MUX_CFG_24XX("G18_24XX_MMC_CMD_DIR", 0x0fd, 0, 0, 0, 1) |
119 | MUX_CFG_24XX("H15_24XX_MMC_CLKI", 0x0fe, 0, 0, 0, 1) | 124 | MUX_CFG_24XX("H15_24XX_MMC_CLKI", 0x0fe, 0, 0, 0, 1) |
120 | 125 | ||
126 | /* Full speed USB */ | ||
127 | MUX_CFG_24XX("J20_24XX_USB0_PUEN", 0x11d, 0, 0, 0, 1) | ||
128 | MUX_CFG_24XX("J19_24XX_USB0_VP", 0x11e, 0, 0, 0, 1) | ||
129 | MUX_CFG_24XX("K20_24XX_USB0_VM", 0x11f, 0, 0, 0, 1) | ||
130 | MUX_CFG_24XX("J18_24XX_USB0_RCV", 0x120, 0, 0, 0, 1) | ||
131 | MUX_CFG_24XX("K19_24XX_USB0_TXEN", 0x121, 0, 0, 0, 1) | ||
132 | MUX_CFG_24XX("J14_24XX_USB0_SE0", 0x122, 0, 0, 0, 1) | ||
133 | MUX_CFG_24XX("K18_24XX_USB0_DAT", 0x123, 0, 0, 0, 1) | ||
134 | |||
135 | MUX_CFG_24XX("N14_24XX_USB1_SE0", 0x0ed, 2, 0, 0, 1) | ||
136 | MUX_CFG_24XX("W12_24XX_USB1_SE0", 0x0dd, 3, 0, 0, 1) | ||
137 | MUX_CFG_24XX("P15_24XX_USB1_DAT", 0x0ee, 2, 0, 0, 1) | ||
138 | MUX_CFG_24XX("R13_24XX_USB1_DAT", 0x0e0, 3, 0, 0, 1) | ||
139 | MUX_CFG_24XX("W20_24XX_USB1_TXEN", 0x0ec, 2, 0, 0, 1) | ||
140 | MUX_CFG_24XX("P13_24XX_USB1_TXEN", 0x0df, 3, 0, 0, 1) | ||
141 | MUX_CFG_24XX("V19_24XX_USB1_RCV", 0x0eb, 2, 0, 0, 1) | ||
142 | MUX_CFG_24XX("V12_24XX_USB1_RCV", 0x0de, 3, 0, 0, 1) | ||
143 | |||
144 | MUX_CFG_24XX("AA10_24XX_USB2_SE0", 0x0e5, 2, 0, 0, 1) | ||
145 | MUX_CFG_24XX("Y11_24XX_USB2_DAT", 0x0e8, 2, 0, 0, 1) | ||
146 | MUX_CFG_24XX("AA12_24XX_USB2_TXEN", 0x0e9, 2, 0, 0, 1) | ||
147 | MUX_CFG_24XX("AA6_24XX_USB2_RCV", 0x0e6, 2, 0, 0, 1) | ||
148 | MUX_CFG_24XX("AA4_24XX_USB2_TLLSE0", 0x0e7, 2, 0, 0, 1) | ||
149 | |||
121 | /* Keypad GPIO*/ | 150 | /* Keypad GPIO*/ |
122 | MUX_CFG_24XX("T19_24XX_KBR0", 0x106, 3, 1, 1, 1) | 151 | MUX_CFG_24XX("T19_24XX_KBR0", 0x106, 3, 1, 1, 1) |
123 | MUX_CFG_24XX("R19_24XX_KBR1", 0x107, 3, 1, 1, 1) | 152 | MUX_CFG_24XX("R19_24XX_KBR1", 0x107, 3, 1, 1, 1) |
diff --git a/arch/arm/mach-pnx4008/dma.c b/arch/arm/mach-pnx4008/dma.c index d6a279e4b524..f7009d845be8 100644 --- a/arch/arm/mach-pnx4008/dma.c +++ b/arch/arm/mach-pnx4008/dma.c | |||
@@ -47,7 +47,7 @@ static struct ll_pool { | |||
47 | int count; | 47 | int count; |
48 | } ll_pool; | 48 | } ll_pool; |
49 | 49 | ||
50 | static spinlock_t ll_lock = SPIN_LOCK_UNLOCKED; | 50 | static DEFINE_SPINLOCK(ll_lock); |
51 | 51 | ||
52 | struct pnx4008_dma_ll *pnx4008_alloc_ll_entry(dma_addr_t * ll_dma) | 52 | struct pnx4008_dma_ll *pnx4008_alloc_ll_entry(dma_addr_t * ll_dma) |
53 | { | 53 | { |
@@ -135,7 +135,7 @@ static inline void dma_decrement_usage(void) | |||
135 | } | 135 | } |
136 | } | 136 | } |
137 | 137 | ||
138 | static spinlock_t dma_lock = SPIN_LOCK_UNLOCKED; | 138 | static DEFINE_SPINLOCK(dma_lock); |
139 | 139 | ||
140 | static inline void pnx4008_dma_lock(void) | 140 | static inline void pnx4008_dma_lock(void) |
141 | { | 141 | { |
diff --git a/arch/arm/mach-pxa/trizeps4.c b/arch/arm/mach-pxa/trizeps4.c index 119c64b7223f..28c79bd0a3a0 100644 --- a/arch/arm/mach-pxa/trizeps4.c +++ b/arch/arm/mach-pxa/trizeps4.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/delay.h> | 24 | #include <linux/delay.h> |
25 | #include <linux/serial_8250.h> | 25 | #include <linux/serial_8250.h> |
26 | #include <linux/mtd/mtd.h> | 26 | #include <linux/mtd/mtd.h> |
27 | #include <linux/mtd/physmap.h> | ||
27 | #include <linux/mtd/partitions.h> | 28 | #include <linux/mtd/partitions.h> |
28 | 29 | ||
29 | #include <asm/types.h> | 30 | #include <asm/types.h> |
@@ -55,23 +56,31 @@ | |||
55 | static struct mtd_partition trizeps4_partitions[] = { | 56 | static struct mtd_partition trizeps4_partitions[] = { |
56 | { | 57 | { |
57 | .name = "Bootloader", | 58 | .name = "Bootloader", |
59 | .offset = 0x00000000, | ||
58 | .size = 0x00040000, | 60 | .size = 0x00040000, |
59 | .offset = 0, | ||
60 | .mask_flags = MTD_WRITEABLE /* force read-only */ | 61 | .mask_flags = MTD_WRITEABLE /* force read-only */ |
61 | },{ | 62 | },{ |
62 | .name = "Kernel", | 63 | .name = "Backup", |
63 | .size = 0x00400000, | 64 | .offset = 0x00040000, |
64 | .offset = 0x00040000 | 65 | .size = 0x00040000, |
66 | },{ | ||
67 | .name = "Image", | ||
68 | .offset = 0x00080000, | ||
69 | .size = 0x01080000, | ||
70 | },{ | ||
71 | .name = "IPSM", | ||
72 | .offset = 0x01100000, | ||
73 | .size = 0x00e00000, | ||
65 | },{ | 74 | },{ |
66 | .name = "Filesystem", | 75 | .name = "Registry", |
76 | .offset = 0x01f00000, | ||
67 | .size = MTDPART_SIZ_FULL, | 77 | .size = MTDPART_SIZ_FULL, |
68 | .offset = 0x00440000 | ||
69 | } | 78 | } |
70 | }; | 79 | }; |
71 | 80 | ||
72 | static struct flash_platform_data trizeps4_flash_data[] = { | 81 | static struct physmap_flash_data trizeps4_flash_data[] = { |
73 | { | 82 | { |
74 | .map_name = "cfi_probe", | 83 | .width = 4, /* bankwidth in bytes */ |
75 | .parts = trizeps4_partitions, | 84 | .parts = trizeps4_partitions, |
76 | .nr_parts = ARRAY_SIZE(trizeps4_partitions) | 85 | .nr_parts = ARRAY_SIZE(trizeps4_partitions) |
77 | } | 86 | } |
@@ -79,15 +88,15 @@ static struct flash_platform_data trizeps4_flash_data[] = { | |||
79 | 88 | ||
80 | static struct resource flash_resource = { | 89 | static struct resource flash_resource = { |
81 | .start = PXA_CS0_PHYS, | 90 | .start = PXA_CS0_PHYS, |
82 | .end = PXA_CS0_PHYS + SZ_64M - 1, | 91 | .end = PXA_CS0_PHYS + SZ_32M - 1, |
83 | .flags = IORESOURCE_MEM, | 92 | .flags = IORESOURCE_MEM, |
84 | }; | 93 | }; |
85 | 94 | ||
86 | static struct platform_device flash_device = { | 95 | static struct platform_device flash_device = { |
87 | .name = "pxa2xx-flash", | 96 | .name = "physmap-flash", |
88 | .id = 0, | 97 | .id = 0, |
89 | .dev = { | 98 | .dev = { |
90 | .platform_data = &trizeps4_flash_data, | 99 | .platform_data = trizeps4_flash_data, |
91 | }, | 100 | }, |
92 | .resource = &flash_resource, | 101 | .resource = &flash_resource, |
93 | .num_resources = 1, | 102 | .num_resources = 1, |
@@ -393,11 +402,37 @@ static struct pxafb_mach_info sharp_lcd = { | |||
393 | .pxafb_backlight_power = board_backlight_power, | 402 | .pxafb_backlight_power = board_backlight_power, |
394 | }; | 403 | }; |
395 | 404 | ||
405 | static struct pxafb_mode_info toshiba_lcd_mode = { | ||
406 | .pixclock = 39720, | ||
407 | .xres = 640, | ||
408 | .yres = 480, | ||
409 | .bpp = 8, | ||
410 | .hsync_len = 63, | ||
411 | .left_margin = 12, | ||
412 | .right_margin = 12, | ||
413 | .vsync_len = 4, | ||
414 | .upper_margin = 32, | ||
415 | .lower_margin = 10, | ||
416 | .sync = 0, | ||
417 | .cmap_greyscale = 0, | ||
418 | }; | ||
419 | |||
420 | static struct pxafb_mach_info toshiba_lcd = { | ||
421 | .modes = &toshiba_lcd_mode, | ||
422 | .num_modes = 1, | ||
423 | .cmap_inverse = 0, | ||
424 | .cmap_static = 0, | ||
425 | .lccr0 = LCCR0_Color | LCCR0_Act, | ||
426 | .lccr3 = 0x03400002, | ||
427 | .pxafb_backlight_power = board_backlight_power, | ||
428 | }; | ||
429 | |||
396 | static void __init trizeps4_init(void) | 430 | static void __init trizeps4_init(void) |
397 | { | 431 | { |
398 | platform_add_devices(trizeps4_devices, ARRAY_SIZE(trizeps4_devices)); | 432 | platform_add_devices(trizeps4_devices, ARRAY_SIZE(trizeps4_devices)); |
399 | 433 | ||
400 | set_pxa_fb_info(&sharp_lcd); | 434 | /* set_pxa_fb_info(&sharp_lcd); */ |
435 | set_pxa_fb_info(&toshiba_lcd); | ||
401 | 436 | ||
402 | pxa_set_mci_info(&trizeps4_mci_platform_data); | 437 | pxa_set_mci_info(&trizeps4_mci_platform_data); |
403 | pxa_set_ficp_info(&trizeps4_ficp_platform_data); | 438 | pxa_set_ficp_info(&trizeps4_ficp_platform_data); |
@@ -436,9 +471,10 @@ static void __init trizeps4_map_io(void) | |||
436 | /* whats that for ??? */ | 471 | /* whats that for ??? */ |
437 | pxa_gpio_mode(GPIO79_nCS_3_MD); | 472 | pxa_gpio_mode(GPIO79_nCS_3_MD); |
438 | 473 | ||
474 | #ifdef CONFIG_LEDS | ||
439 | pxa_gpio_mode( GPIO_SYS_BUSY_LED | GPIO_OUT); /* LED1 */ | 475 | pxa_gpio_mode( GPIO_SYS_BUSY_LED | GPIO_OUT); /* LED1 */ |
440 | pxa_gpio_mode( GPIO_HEARTBEAT_LED | GPIO_OUT); /* LED2 */ | 476 | pxa_gpio_mode( GPIO_HEARTBEAT_LED | GPIO_OUT); /* LED2 */ |
441 | 477 | #endif | |
442 | #ifdef CONFIG_MACH_TRIZEPS4_CONXS | 478 | #ifdef CONFIG_MACH_TRIZEPS4_CONXS |
443 | #ifdef CONFIG_IDE_PXA_CF | 479 | #ifdef CONFIG_IDE_PXA_CF |
444 | /* if boot direct from compact flash dont disable power */ | 480 | /* if boot direct from compact flash dont disable power */ |
diff --git a/arch/arm/mach-s3c2410/Makefile b/arch/arm/mach-s3c2410/Makefile index 9a3d3d24c084..3e7a85594d9c 100644 --- a/arch/arm/mach-s3c2410/Makefile +++ b/arch/arm/mach-s3c2410/Makefile | |||
@@ -20,7 +20,7 @@ obj-$(CONFIG_S3C2410_CLOCK) += clock.o | |||
20 | # Machine support | 20 | # Machine support |
21 | 21 | ||
22 | obj-$(CONFIG_ARCH_SMDK2410) += mach-smdk2410.o | 22 | obj-$(CONFIG_ARCH_SMDK2410) += mach-smdk2410.o |
23 | obj-$(CONFIG_ARCH_H1940) += mach-h1940.o | 23 | obj-$(CONFIG_ARCH_H1940) += mach-h1940.o h1940-bluetooth.o |
24 | obj-$(CONFIG_PM_H1940) += pm-h1940.o | 24 | obj-$(CONFIG_PM_H1940) += pm-h1940.o |
25 | obj-$(CONFIG_MACH_N30) += mach-n30.o | 25 | obj-$(CONFIG_MACH_N30) += mach-n30.o |
26 | obj-$(CONFIG_ARCH_BAST) += mach-bast.o usb-simtec.o | 26 | obj-$(CONFIG_ARCH_BAST) += mach-bast.o usb-simtec.o |
diff --git a/arch/arm/mach-s3c2410/h1940-bluetooth.c b/arch/arm/mach-s3c2410/h1940-bluetooth.c new file mode 100644 index 000000000000..3c48886521e7 --- /dev/null +++ b/arch/arm/mach-s3c2410/h1940-bluetooth.c | |||
@@ -0,0 +1,142 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-s3c2410/h1940-bluetooth.c | ||
3 | * Copyright (c) Arnaud Patard <arnaud.patard@rtp-net.org> | ||
4 | * | ||
5 | * This file is subject to the terms and conditions of the GNU General Public | ||
6 | * License. See the file COPYING in the main directory of this archive for | ||
7 | * more details. | ||
8 | * | ||
9 | * S3C2410 bluetooth "driver" | ||
10 | * | ||
11 | */ | ||
12 | |||
13 | #include <linux/module.h> | ||
14 | #include <linux/platform_device.h> | ||
15 | #include <linux/delay.h> | ||
16 | #include <linux/string.h> | ||
17 | #include <linux/ctype.h> | ||
18 | #include <linux/leds.h> | ||
19 | #include <asm/arch/regs-gpio.h> | ||
20 | #include <asm/hardware.h> | ||
21 | #include <asm/arch/h1940-latch.h> | ||
22 | |||
23 | #define DRV_NAME "h1940-bt" | ||
24 | |||
25 | #ifdef CONFIG_LEDS_H1940 | ||
26 | DEFINE_LED_TRIGGER(bt_led_trigger); | ||
27 | #endif | ||
28 | |||
29 | static int state; | ||
30 | |||
31 | /* Bluetooth control */ | ||
32 | static void h1940bt_enable(int on) | ||
33 | { | ||
34 | if (on) { | ||
35 | #ifdef CONFIG_LEDS_H1940 | ||
36 | /* flashing Blue */ | ||
37 | led_trigger_event(bt_led_trigger, LED_HALF); | ||
38 | #endif | ||
39 | |||
40 | /* Power on the chip */ | ||
41 | h1940_latch_control(0, H1940_LATCH_BLUETOOTH_POWER); | ||
42 | /* Reset the chip */ | ||
43 | mdelay(10); | ||
44 | s3c2410_gpio_setpin(S3C2410_GPH1, 1); | ||
45 | mdelay(10); | ||
46 | s3c2410_gpio_setpin(S3C2410_GPH1, 0); | ||
47 | |||
48 | state = 1; | ||
49 | } | ||
50 | else { | ||
51 | #ifdef CONFIG_LEDS_H1940 | ||
52 | led_trigger_event(bt_led_trigger, 0); | ||
53 | #endif | ||
54 | |||
55 | s3c2410_gpio_setpin(S3C2410_GPH1, 1); | ||
56 | mdelay(10); | ||
57 | s3c2410_gpio_setpin(S3C2410_GPH1, 0); | ||
58 | mdelay(10); | ||
59 | h1940_latch_control(H1940_LATCH_BLUETOOTH_POWER, 0); | ||
60 | |||
61 | state = 0; | ||
62 | } | ||
63 | } | ||
64 | |||
65 | static ssize_t h1940bt_show(struct device *dev, struct device_attribute *attr, char *buf) | ||
66 | { | ||
67 | return snprintf(buf, PAGE_SIZE, "%d\n", state); | ||
68 | } | ||
69 | |||
70 | static ssize_t h1940bt_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) | ||
71 | { | ||
72 | int new_state; | ||
73 | char *endp; | ||
74 | |||
75 | new_state = simple_strtoul(buf, &endp, 0); | ||
76 | if (*endp && !isspace(*endp)) | ||
77 | return -EINVAL; | ||
78 | |||
79 | h1940bt_enable(new_state); | ||
80 | |||
81 | return count; | ||
82 | } | ||
83 | static DEVICE_ATTR(enable, 0644, | ||
84 | h1940bt_show, | ||
85 | h1940bt_store); | ||
86 | |||
87 | static int __init h1940bt_probe(struct platform_device *pdev) | ||
88 | { | ||
89 | /* Configures BT serial port GPIOs */ | ||
90 | s3c2410_gpio_cfgpin(S3C2410_GPH0, S3C2410_GPH0_nCTS0); | ||
91 | s3c2410_gpio_pullup(S3C2410_GPH0, 1); | ||
92 | s3c2410_gpio_cfgpin(S3C2410_GPH1, S3C2410_GPH1_OUTP); | ||
93 | s3c2410_gpio_pullup(S3C2410_GPH1, 1); | ||
94 | s3c2410_gpio_cfgpin(S3C2410_GPH2, S3C2410_GPH2_TXD0); | ||
95 | s3c2410_gpio_pullup(S3C2410_GPH2, 1); | ||
96 | s3c2410_gpio_cfgpin(S3C2410_GPH3, S3C2410_GPH3_RXD0); | ||
97 | s3c2410_gpio_pullup(S3C2410_GPH3, 1); | ||
98 | |||
99 | #ifdef CONFIG_LEDS_H1940 | ||
100 | led_trigger_register_simple("h1940-bluetooth", &bt_led_trigger); | ||
101 | #endif | ||
102 | |||
103 | /* disable BT by default */ | ||
104 | h1940bt_enable(0); | ||
105 | |||
106 | return device_create_file(&pdev->dev, &dev_attr_enable); | ||
107 | } | ||
108 | |||
109 | static int h1940bt_remove(struct platform_device *pdev) | ||
110 | { | ||
111 | #ifdef CONFIG_LEDS_H1940 | ||
112 | led_trigger_unregister_simple(bt_led_trigger); | ||
113 | #endif | ||
114 | return 0; | ||
115 | } | ||
116 | |||
117 | |||
118 | static struct platform_driver h1940bt_driver = { | ||
119 | .driver = { | ||
120 | .name = DRV_NAME, | ||
121 | }, | ||
122 | .probe = h1940bt_probe, | ||
123 | .remove = h1940bt_remove, | ||
124 | }; | ||
125 | |||
126 | |||
127 | static int __init h1940bt_init(void) | ||
128 | { | ||
129 | return platform_driver_register(&h1940bt_driver); | ||
130 | } | ||
131 | |||
132 | static void __exit h1940bt_exit(void) | ||
133 | { | ||
134 | platform_driver_unregister(&h1940bt_driver); | ||
135 | } | ||
136 | |||
137 | module_init(h1940bt_init); | ||
138 | module_exit(h1940bt_exit); | ||
139 | |||
140 | MODULE_AUTHOR("Arnaud Patard <arnaud.patard@rtp-net.org>"); | ||
141 | MODULE_DESCRIPTION("Driver for the iPAQ H1940 bluetooth chip"); | ||
142 | MODULE_LICENSE("GPL"); | ||
diff --git a/arch/arm/mach-s3c2410/mach-h1940.c b/arch/arm/mach-s3c2410/mach-h1940.c index 5d5f00e9c462..5ccd0be23a33 100644 --- a/arch/arm/mach-s3c2410/mach-h1940.c +++ b/arch/arm/mach-s3c2410/mach-h1940.c | |||
@@ -177,6 +177,11 @@ static struct platform_device s3c_device_leds = { | |||
177 | .id = -1, | 177 | .id = -1, |
178 | }; | 178 | }; |
179 | 179 | ||
180 | static struct platform_device s3c_device_bluetooth = { | ||
181 | .name = "h1940-bt", | ||
182 | .id = -1, | ||
183 | }; | ||
184 | |||
180 | static struct platform_device *h1940_devices[] __initdata = { | 185 | static struct platform_device *h1940_devices[] __initdata = { |
181 | &s3c_device_usb, | 186 | &s3c_device_usb, |
182 | &s3c_device_lcd, | 187 | &s3c_device_lcd, |
@@ -185,6 +190,7 @@ static struct platform_device *h1940_devices[] __initdata = { | |||
185 | &s3c_device_iis, | 190 | &s3c_device_iis, |
186 | &s3c_device_usbgadget, | 191 | &s3c_device_usbgadget, |
187 | &s3c_device_leds, | 192 | &s3c_device_leds, |
193 | &s3c_device_bluetooth, | ||
188 | }; | 194 | }; |
189 | 195 | ||
190 | static void __init h1940_map_io(void) | 196 | static void __init h1940_map_io(void) |
diff --git a/arch/arm/mach-s3c2443/clock.c b/arch/arm/mach-s3c2443/clock.c index dd2272fb1131..0b6e360aeae7 100644 --- a/arch/arm/mach-s3c2443/clock.c +++ b/arch/arm/mach-s3c2443/clock.c | |||
@@ -791,6 +791,10 @@ static struct clk init_clocks[] = { | |||
791 | .name = "usb-bus-host", | 791 | .name = "usb-bus-host", |
792 | .id = -1, | 792 | .id = -1, |
793 | .parent = &clk_usb_bus_host, | 793 | .parent = &clk_usb_bus_host, |
794 | }, { .name = "ac97", | ||
795 | .id = -1, | ||
796 | .parent = &clk_p, | ||
797 | .ctrlbit = S3C2443_PCLKCON_AC97, | ||
794 | } | 798 | } |
795 | }; | 799 | }; |
796 | 800 | ||
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index b81391a4e374..15f0284010ca 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig | |||
@@ -131,8 +131,8 @@ config CPU_ARM920T | |||
131 | # ARM922T | 131 | # ARM922T |
132 | config CPU_ARM922T | 132 | config CPU_ARM922T |
133 | bool "Support ARM922T processor" if ARCH_INTEGRATOR | 133 | bool "Support ARM922T processor" if ARCH_INTEGRATOR |
134 | depends on ARCH_LH7A40X || ARCH_INTEGRATOR | 134 | depends on ARCH_LH7A40X || ARCH_INTEGRATOR || ARCH_KS8695 |
135 | default y if ARCH_LH7A40X | 135 | default y if ARCH_LH7A40X || ARCH_KS8695 |
136 | select CPU_32v4T | 136 | select CPU_32v4T |
137 | select CPU_ABRT_EV4T | 137 | select CPU_ABRT_EV4T |
138 | select CPU_CACHE_V4WT | 138 | select CPU_CACHE_V4WT |
@@ -143,7 +143,7 @@ config CPU_ARM922T | |||
143 | help | 143 | help |
144 | The ARM922T is a version of the ARM920T, but with smaller | 144 | The ARM922T is a version of the ARM920T, but with smaller |
145 | instruction and data caches. It is used in Altera's | 145 | instruction and data caches. It is used in Altera's |
146 | Excalibur XA device family. | 146 | Excalibur XA device family and Micrel's KS8695 Centaur. |
147 | 147 | ||
148 | Say Y if you want support for the ARM922T processor. | 148 | Say Y if you want support for the ARM922T processor. |
149 | Otherwise, say N. | 149 | Otherwise, say N. |
@@ -171,8 +171,8 @@ config CPU_ARM925T | |||
171 | # ARM926T | 171 | # ARM926T |
172 | config CPU_ARM926T | 172 | config CPU_ARM926T |
173 | bool "Support ARM926T processor" | 173 | bool "Support ARM926T processor" |
174 | depends on ARCH_INTEGRATOR || ARCH_VERSATILE_PB || MACH_VERSATILE_AB || ARCH_OMAP730 || ARCH_OMAP16XX || MACH_REALVIEW_EB || ARCH_PNX4008 || ARCH_NETX || CPU_S3C2412 || ARCH_AT91SAM9260 || ARCH_AT91SAM9261 || ARCH_AT91SAM9263 || ARCH_NS9XXX | 174 | depends on ARCH_INTEGRATOR || ARCH_VERSATILE_PB || MACH_VERSATILE_AB || ARCH_OMAP730 || ARCH_OMAP16XX || MACH_REALVIEW_EB || ARCH_PNX4008 || ARCH_NETX || CPU_S3C2412 || ARCH_AT91SAM9260 || ARCH_AT91SAM9261 || ARCH_AT91SAM9263 || ARCH_AT91SAM9RL || ARCH_NS9XXX || ARCH_DAVINCI |
175 | default y if ARCH_VERSATILE_PB || MACH_VERSATILE_AB || ARCH_OMAP730 || ARCH_OMAP16XX || ARCH_PNX4008 || ARCH_NETX || CPU_S3C2412 || ARCH_AT91SAM9260 || ARCH_AT91SAM9261 || ARCH_AT91SAM9263 || ARCH_NS9XXX | 175 | default y if ARCH_VERSATILE_PB || MACH_VERSATILE_AB || ARCH_OMAP730 || ARCH_OMAP16XX || ARCH_PNX4008 || ARCH_NETX || CPU_S3C2412 || ARCH_AT91SAM9260 || ARCH_AT91SAM9261 || ARCH_AT91SAM9263 || ARCH_AT91SAM9RL || ARCH_NS9XXX || ARCH_DAVINCI |
176 | select CPU_32v5 | 176 | select CPU_32v5 |
177 | select CPU_ABRT_EV5TJ | 177 | select CPU_ABRT_EV5TJ |
178 | select CPU_CACHE_VIVT | 178 | select CPU_CACHE_VIVT |
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index 2d86b106ff3e..55a4d3be16b6 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c | |||
@@ -747,7 +747,7 @@ int omap_set_dma_callback(int lch, | |||
747 | */ | 747 | */ |
748 | dma_addr_t omap_get_dma_src_pos(int lch) | 748 | dma_addr_t omap_get_dma_src_pos(int lch) |
749 | { | 749 | { |
750 | dma_addr_t offset; | 750 | dma_addr_t offset = 0; |
751 | 751 | ||
752 | if (cpu_class_is_omap1()) | 752 | if (cpu_class_is_omap1()) |
753 | offset = (dma_addr_t) (OMAP1_DMA_CSSA_L_REG(lch) | | 753 | offset = (dma_addr_t) (OMAP1_DMA_CSSA_L_REG(lch) | |
@@ -769,7 +769,7 @@ dma_addr_t omap_get_dma_src_pos(int lch) | |||
769 | */ | 769 | */ |
770 | dma_addr_t omap_get_dma_dst_pos(int lch) | 770 | dma_addr_t omap_get_dma_dst_pos(int lch) |
771 | { | 771 | { |
772 | dma_addr_t offset; | 772 | dma_addr_t offset = 0; |
773 | 773 | ||
774 | if (cpu_class_is_omap1()) | 774 | if (cpu_class_is_omap1()) |
775 | offset = (dma_addr_t) (OMAP1_DMA_CDSA_L_REG(lch) | | 775 | offset = (dma_addr_t) (OMAP1_DMA_CDSA_L_REG(lch) | |
diff --git a/arch/arm/plat-omap/mux.c b/arch/arm/plat-omap/mux.c index 6c798d288688..75211f20ccb3 100644 --- a/arch/arm/plat-omap/mux.c +++ b/arch/arm/plat-omap/mux.c | |||
@@ -83,10 +83,21 @@ int __init_or_module omap_cfg_reg(const unsigned long index) | |||
83 | reg |= OMAP24XX_PULL_ENA; | 83 | reg |= OMAP24XX_PULL_ENA; |
84 | if(cfg->pu_pd_val) | 84 | if(cfg->pu_pd_val) |
85 | reg |= OMAP24XX_PULL_UP; | 85 | reg |= OMAP24XX_PULL_UP; |
86 | #ifdef CONFIG_OMAP_MUX_DEBUG | 86 | #if defined(CONFIG_OMAP_MUX_DEBUG) || defined(CONFIG_OMAP_MUX_WARNINGS) |
87 | printk("Muxing %s (0x%08x): 0x%02x -> 0x%02x\n", | 87 | { |
88 | cfg->name, OMAP24XX_L4_BASE + cfg->mux_reg, | 88 | u8 orig = omap_readb(OMAP24XX_L4_BASE + cfg->mux_reg); |
89 | omap_readb(OMAP24XX_L4_BASE + cfg->mux_reg), reg); | 89 | u8 debug = 0; |
90 | |||
91 | #ifdef CONFIG_OMAP_MUX_DEBUG | ||
92 | debug = cfg->debug; | ||
93 | #endif | ||
94 | warn = (orig != reg); | ||
95 | if (debug || warn) | ||
96 | printk("MUX: setup %s (0x%08x): 0x%02x -> 0x%02x\n", | ||
97 | cfg->name, | ||
98 | OMAP24XX_L4_BASE + cfg->mux_reg, | ||
99 | orig, reg); | ||
100 | } | ||
90 | #endif | 101 | #endif |
91 | omap_writeb(reg, OMAP24XX_L4_BASE + cfg->mux_reg); | 102 | omap_writeb(reg, OMAP24XX_L4_BASE + cfg->mux_reg); |
92 | 103 | ||
diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types index b1142ce4ac47..0a9a5e7f62e5 100644 --- a/arch/arm/tools/mach-types +++ b/arch/arm/tools/mach-types | |||
@@ -12,7 +12,7 @@ | |||
12 | # | 12 | # |
13 | # http://www.arm.linux.org.uk/developer/machines/?action=new | 13 | # http://www.arm.linux.org.uk/developer/machines/?action=new |
14 | # | 14 | # |
15 | # Last update: Mon Apr 16 21:01:04 2007 | 15 | # Last update: Fri May 11 19:53:41 2007 |
16 | # | 16 | # |
17 | # machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number | 17 | # machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number |
18 | # | 18 | # |
@@ -1335,3 +1335,35 @@ at91sam9rlek MACH_AT91SAM9RLEK AT91SAM9RLEK 1326 | |||
1335 | comtech_router MACH_COMTECH_ROUTER COMTECH_ROUTER 1327 | 1335 | comtech_router MACH_COMTECH_ROUTER COMTECH_ROUTER 1327 |
1336 | sbc2410x MACH_SBC2410X SBC2410X 1328 | 1336 | sbc2410x MACH_SBC2410X SBC2410X 1328 |
1337 | at4x0bd MACH_AT4X0BD AT4X0BD 1329 | 1337 | at4x0bd MACH_AT4X0BD AT4X0BD 1329 |
1338 | cbifr MACH_CBIFR CBIFR 1330 | ||
1339 | arcom_quantum MACH_ARCOM_QUANTUM ARCOM_QUANTUM 1331 | ||
1340 | matrix520 MACH_MATRIX520 MATRIX520 1332 | ||
1341 | matrix510 MACH_MATRIX510 MATRIX510 1333 | ||
1342 | matrix500 MACH_MATRIX500 MATRIX500 1334 | ||
1343 | m501 MACH_M501 M501 1335 | ||
1344 | aaeon1270 MACH_AAEON1270 AAEON1270 1336 | ||
1345 | matrix500ev MACH_MATRIX500EV MATRIX500EV 1337 | ||
1346 | pac500 MACH_PAC500 PAC500 1338 | ||
1347 | pnx8181 MACH_PNX8181 PNX8181 1339 | ||
1348 | colibri320 MACH_COLIBRI320 COLIBRI320 1340 | ||
1349 | aztoolbb MACH_AZTOOLBB AZTOOLBB 1341 | ||
1350 | aztoolg2 MACH_AZTOOLG2 AZTOOLG2 1342 | ||
1351 | dvlhost MACH_DVLHOST DVLHOST 1343 | ||
1352 | zir9200 MACH_ZIR9200 ZIR9200 1344 | ||
1353 | zir9260 MACH_ZIR9260 ZIR9260 1345 | ||
1354 | cocopah MACH_COCOPAH COCOPAH 1346 | ||
1355 | nds MACH_NDS NDS 1347 | ||
1356 | rosencrantz MACH_ROSENCRANTZ ROSENCRANTZ 1348 | ||
1357 | fttx_odsc MACH_FTTX_ODSC FTTX_ODSC 1349 | ||
1358 | classe_r6904 MACH_CLASSE_R6904 CLASSE_R6904 1350 | ||
1359 | cam60 MACH_CAM60 CAM60 1351 | ||
1360 | mxc30031ads MACH_MXC30031ADS MXC30031ADS 1352 | ||
1361 | datacall MACH_DATACALL DATACALL 1353 | ||
1362 | at91eb01 MACH_AT91EB01 AT91EB01 1354 | ||
1363 | rty MACH_RTY RTY 1355 | ||
1364 | dwl2100 MACH_DWL2100 DWL2100 1356 | ||
1365 | vinsi MACH_VINSI VINSI 1357 | ||
1366 | db88f5281 MACH_DB88F5281 DB88F5281 1358 | ||
1367 | csb726 MACH_CSB726 CSB726 1359 | ||
1368 | tik27 MACH_TIK27 TIK27 1360 | ||
1369 | mx_uc7420 MACH_MX_UC7420 MX_UC7420 1361 | ||