diff options
37 files changed, 6114 insertions, 135 deletions
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index 6abafb6f1844..aaa47400eb9c 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S | |||
| @@ -84,7 +84,7 @@ | |||
| 84 | kputc #'\n' | 84 | kputc #'\n' |
| 85 | kphex r5, 8 /* decompressed kernel start */ | 85 | kphex r5, 8 /* decompressed kernel start */ |
| 86 | kputc #'-' | 86 | kputc #'-' |
| 87 | kphex r8, 8 /* decompressed kernel end */ | 87 | kphex r9, 8 /* decompressed kernel end */ |
| 88 | kputc #'>' | 88 | kputc #'>' |
| 89 | kphex r4, 8 /* kernel execution address */ | 89 | kphex r4, 8 /* kernel execution address */ |
| 90 | kputc #'\n' | 90 | kputc #'\n' |
| @@ -116,7 +116,7 @@ start: | |||
| 116 | .word start @ absolute load/run zImage address | 116 | .word start @ absolute load/run zImage address |
| 117 | .word _edata @ zImage end address | 117 | .word _edata @ zImage end address |
| 118 | 1: mov r7, r1 @ save architecture ID | 118 | 1: mov r7, r1 @ save architecture ID |
| 119 | mov r8, #0 @ save r0 | 119 | mov r8, r2 @ save atags pointer |
| 120 | 120 | ||
| 121 | #ifndef __ARM_ARCH_2__ | 121 | #ifndef __ARM_ARCH_2__ |
| 122 | /* | 122 | /* |
| @@ -144,7 +144,7 @@ not_angel: | |||
| 144 | 144 | ||
| 145 | /* | 145 | /* |
| 146 | * some architecture specific code can be inserted | 146 | * some architecture specific code can be inserted |
| 147 | * by the linker here, but it should preserve r7 and r8. | 147 | * by the linker here, but it should preserve r7, r8, and r9. |
| 148 | */ | 148 | */ |
| 149 | 149 | ||
| 150 | .text | 150 | .text |
| @@ -249,16 +249,17 @@ not_relocated: mov r0, #0 | |||
| 249 | * r5 = decompressed kernel start | 249 | * r5 = decompressed kernel start |
| 250 | * r6 = processor ID | 250 | * r6 = processor ID |
| 251 | * r7 = architecture ID | 251 | * r7 = architecture ID |
| 252 | * r8-r14 = unused | 252 | * r8 = atags pointer |
| 253 | * r9-r14 = corrupted | ||
| 253 | */ | 254 | */ |
| 254 | add r1, r5, r0 @ end of decompressed kernel | 255 | add r1, r5, r0 @ end of decompressed kernel |
| 255 | adr r2, reloc_start | 256 | adr r2, reloc_start |
| 256 | ldr r3, LC1 | 257 | ldr r3, LC1 |
| 257 | add r3, r2, r3 | 258 | add r3, r2, r3 |
| 258 | 1: ldmia r2!, {r8 - r13} @ copy relocation code | 259 | 1: ldmia r2!, {r9 - r14} @ copy relocation code |
| 259 | stmia r1!, {r8 - r13} | 260 | stmia r1!, {r9 - r14} |
| 260 | ldmia r2!, {r8 - r13} | 261 | ldmia r2!, {r9 - r14} |
| 261 | stmia r1!, {r8 - r13} | 262 | stmia r1!, {r9 - r14} |
| 262 | cmp r2, r3 | 263 | cmp r2, r3 |
| 263 | blo 1b | 264 | blo 1b |
| 264 | 265 | ||
| @@ -308,11 +309,12 @@ params: ldr r0, =params_phys | |||
| 308 | * r4 = kernel execution address | 309 | * r4 = kernel execution address |
| 309 | * r6 = processor ID | 310 | * r6 = processor ID |
| 310 | * r7 = architecture number | 311 | * r7 = architecture number |
| 311 | * r8 = run-time address of "start" | 312 | * r8 = atags pointer |
| 313 | * r9 = run-time address of "start" (???) | ||
| 312 | * On exit, | 314 | * On exit, |
| 313 | * r1, r2, r3, r8, r9, r12 corrupted | 315 | * r1, r2, r3, r9, r10, r12 corrupted |
| 314 | * This routine must preserve: | 316 | * This routine must preserve: |
| 315 | * r4, r5, r6, r7 | 317 | * r4, r5, r6, r7, r8 |
| 316 | */ | 318 | */ |
| 317 | .align 5 | 319 | .align 5 |
| 318 | cache_on: mov r3, #8 @ cache_on function | 320 | cache_on: mov r3, #8 @ cache_on function |
| @@ -326,15 +328,15 @@ __setup_mmu: sub r3, r4, #16384 @ Page directory size | |||
| 326 | * bits for the RAM area only. | 328 | * bits for the RAM area only. |
| 327 | */ | 329 | */ |
| 328 | mov r0, r3 | 330 | mov r0, r3 |
| 329 | mov r8, r0, lsr #18 | 331 | mov r9, r0, lsr #18 |
| 330 | mov r8, r8, lsl #18 @ start of RAM | 332 | mov r9, r9, lsl #18 @ start of RAM |
| 331 | add r9, r8, #0x10000000 @ a reasonable RAM size | 333 | add r10, r9, #0x10000000 @ a reasonable RAM size |
| 332 | mov r1, #0x12 | 334 | mov r1, #0x12 |
| 333 | orr r1, r1, #3 << 10 | 335 | orr r1, r1, #3 << 10 |
| 334 | add r2, r3, #16384 | 336 | add r2, r3, #16384 |
| 335 | 1: cmp r1, r8 @ if virt > start of RAM | 337 | 1: cmp r1, r8 @ if virt > start of RAM |
| 336 | orrhs r1, r1, #0x0c @ set cacheable, bufferable | 338 | orrhs r1, r1, #0x0c @ set cacheable, bufferable |
| 337 | cmp r1, r9 @ if virt > end of RAM | 339 | cmp r1, r10 @ if virt > end of RAM |
| 338 | bichs r1, r1, #0x0c @ clear cacheable, bufferable | 340 | bichs r1, r1, #0x0c @ clear cacheable, bufferable |
| 339 | str r1, [r0], #4 @ 1:1 mapping | 341 | str r1, [r0], #4 @ 1:1 mapping |
| 340 | add r1, r1, #1048576 | 342 | add r1, r1, #1048576 |
| @@ -403,26 +405,28 @@ __common_cache_on: | |||
| 403 | * r5 = decompressed kernel start | 405 | * r5 = decompressed kernel start |
| 404 | * r6 = processor ID | 406 | * r6 = processor ID |
| 405 | * r7 = architecture ID | 407 | * r7 = architecture ID |
| 406 | * r8-r14 = unused | 408 | * r8 = atags pointer |
| 409 | * r9-r14 = corrupted | ||
| 407 | */ | 410 | */ |
| 408 | .align 5 | 411 | .align 5 |
| 409 | reloc_start: add r8, r5, r0 | 412 | reloc_start: add r9, r5, r0 |
| 410 | debug_reloc_start | 413 | debug_reloc_start |
| 411 | mov r1, r4 | 414 | mov r1, r4 |
| 412 | 1: | 415 | 1: |
| 413 | .rept 4 | 416 | .rept 4 |
| 414 | ldmia r5!, {r0, r2, r3, r9 - r13} @ relocate kernel | 417 | ldmia r5!, {r0, r2, r3, r10 - r14} @ relocate kernel |
| 415 | stmia r1!, {r0, r2, r3, r9 - r13} | 418 | stmia r1!, {r0, r2, r3, r10 - r14} |
| 416 | .endr | 419 | .endr |
| 417 | 420 | ||
| 418 | cmp r5, r8 | 421 | cmp r5, r9 |
| 419 | blo 1b | 422 | blo 1b |
| 420 | debug_reloc_end | 423 | debug_reloc_end |
| 421 | 424 | ||
| 422 | call_kernel: bl cache_clean_flush | 425 | call_kernel: bl cache_clean_flush |
| 423 | bl cache_off | 426 | bl cache_off |
| 424 | mov r0, #0 | 427 | mov r0, #0 @ must be zero |
| 425 | mov r1, r7 @ restore architecture number | 428 | mov r1, r7 @ restore architecture number |
| 429 | mov r2, r8 @ restore atags pointer | ||
| 426 | mov pc, r4 @ call kernel | 430 | mov pc, r4 @ call kernel |
| 427 | 431 | ||
| 428 | /* | 432 | /* |
diff --git a/arch/arm/common/rtctime.c b/arch/arm/common/rtctime.c index ffb82d5bedef..48b1e19b131f 100644 --- a/arch/arm/common/rtctime.c +++ b/arch/arm/common/rtctime.c | |||
| @@ -19,6 +19,7 @@ | |||
| 19 | #include <linux/spinlock.h> | 19 | #include <linux/spinlock.h> |
| 20 | #include <linux/capability.h> | 20 | #include <linux/capability.h> |
| 21 | #include <linux/device.h> | 21 | #include <linux/device.h> |
| 22 | #include <linux/mutex.h> | ||
| 22 | 23 | ||
| 23 | #include <asm/rtc.h> | 24 | #include <asm/rtc.h> |
| 24 | #include <asm/semaphore.h> | 25 | #include <asm/semaphore.h> |
| @@ -35,7 +36,7 @@ static unsigned long rtc_irq_data; | |||
| 35 | /* | 36 | /* |
| 36 | * rtc_sem protects rtc_inuse and rtc_ops | 37 | * rtc_sem protects rtc_inuse and rtc_ops |
| 37 | */ | 38 | */ |
| 38 | static DECLARE_MUTEX(rtc_sem); | 39 | static DEFINE_MUTEX(rtc_mutex); |
| 39 | static unsigned long rtc_inuse; | 40 | static unsigned long rtc_inuse; |
| 40 | static struct rtc_ops *rtc_ops; | 41 | static struct rtc_ops *rtc_ops; |
| 41 | 42 | ||
| @@ -356,7 +357,7 @@ static int rtc_open(struct inode *inode, struct file *file) | |||
| 356 | { | 357 | { |
| 357 | int ret; | 358 | int ret; |
| 358 | 359 | ||
| 359 | down(&rtc_sem); | 360 | mutex_lock(&rtc_mutex); |
| 360 | 361 | ||
| 361 | if (rtc_inuse) { | 362 | if (rtc_inuse) { |
| 362 | ret = -EBUSY; | 363 | ret = -EBUSY; |
| @@ -374,7 +375,7 @@ static int rtc_open(struct inode *inode, struct file *file) | |||
| 374 | rtc_inuse = 1; | 375 | rtc_inuse = 1; |
| 375 | } | 376 | } |
| 376 | } | 377 | } |
| 377 | up(&rtc_sem); | 378 | mutex_unlock(&rtc_mutex); |
| 378 | 379 | ||
| 379 | return ret; | 380 | return ret; |
| 380 | } | 381 | } |
| @@ -480,7 +481,7 @@ int register_rtc(struct rtc_ops *ops) | |||
| 480 | { | 481 | { |
| 481 | int ret = -EBUSY; | 482 | int ret = -EBUSY; |
| 482 | 483 | ||
| 483 | down(&rtc_sem); | 484 | mutex_lock(&rtc_mutex); |
| 484 | if (rtc_ops == NULL) { | 485 | if (rtc_ops == NULL) { |
| 485 | rtc_ops = ops; | 486 | rtc_ops = ops; |
| 486 | 487 | ||
| @@ -489,7 +490,7 @@ int register_rtc(struct rtc_ops *ops) | |||
| 489 | create_proc_read_entry("driver/rtc", 0, NULL, | 490 | create_proc_read_entry("driver/rtc", 0, NULL, |
| 490 | rtc_read_proc, ops); | 491 | rtc_read_proc, ops); |
| 491 | } | 492 | } |
| 492 | up(&rtc_sem); | 493 | mutex_unlock(&rtc_mutex); |
| 493 | 494 | ||
| 494 | return ret; | 495 | return ret; |
| 495 | } | 496 | } |
| @@ -497,12 +498,12 @@ EXPORT_SYMBOL(register_rtc); | |||
| 497 | 498 | ||
| 498 | void unregister_rtc(struct rtc_ops *rtc) | 499 | void unregister_rtc(struct rtc_ops *rtc) |
| 499 | { | 500 | { |
| 500 | down(&rtc_sem); | 501 | mutex_lock(&rtc_mutex); |
| 501 | if (rtc == rtc_ops) { | 502 | if (rtc == rtc_ops) { |
| 502 | remove_proc_entry("driver/rtc", NULL); | 503 | remove_proc_entry("driver/rtc", NULL); |
| 503 | misc_deregister(&rtc_miscdev); | 504 | misc_deregister(&rtc_miscdev); |
| 504 | rtc_ops = NULL; | 505 | rtc_ops = NULL; |
| 505 | } | 506 | } |
| 506 | up(&rtc_sem); | 507 | mutex_unlock(&rtc_mutex); |
| 507 | } | 508 | } |
| 508 | EXPORT_SYMBOL(unregister_rtc); | 509 | EXPORT_SYMBOL(unregister_rtc); |
diff --git a/arch/arm/configs/at91rm9200dk_defconfig b/arch/arm/configs/at91rm9200dk_defconfig new file mode 100644 index 000000000000..5cdd13acf8ff --- /dev/null +++ b/arch/arm/configs/at91rm9200dk_defconfig | |||
| @@ -0,0 +1,1009 @@ | |||
| 1 | # | ||
| 2 | # Automatically generated make config: don't edit | ||
| 3 | # Linux kernel version: 2.6.15 | ||
| 4 | # Mon Jan 9 20:54:30 2006 | ||
| 5 | # | ||
| 6 | CONFIG_ARM=y | ||
| 7 | CONFIG_MMU=y | ||
| 8 | CONFIG_UID16=y | ||
| 9 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
| 10 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
| 11 | |||
| 12 | # | ||
| 13 | # Code maturity level options | ||
| 14 | # | ||
| 15 | CONFIG_EXPERIMENTAL=y | ||
| 16 | CONFIG_CLEAN_COMPILE=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_HOTPLUG=y | ||
| 32 | CONFIG_KOBJECT_UEVENT=y | ||
| 33 | # CONFIG_IKCONFIG is not set | ||
| 34 | CONFIG_INITRAMFS_SOURCE="" | ||
| 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_PRINTK=y | ||
| 41 | CONFIG_BUG=y | ||
| 42 | CONFIG_BASE_FULL=y | ||
| 43 | CONFIG_FUTEX=y | ||
| 44 | CONFIG_EPOLL=y | ||
| 45 | CONFIG_SHMEM=y | ||
| 46 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 47 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 48 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 49 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 50 | # CONFIG_TINY_SHMEM is not set | ||
| 51 | CONFIG_BASE_SMALL=0 | ||
| 52 | |||
| 53 | # | ||
| 54 | # Loadable module support | ||
| 55 | # | ||
| 56 | CONFIG_MODULES=y | ||
| 57 | CONFIG_MODULE_UNLOAD=y | ||
| 58 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
| 59 | CONFIG_OBSOLETE_MODPARM=y | ||
| 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 | |||
| 68 | # | ||
| 69 | # IO Schedulers | ||
| 70 | # | ||
| 71 | CONFIG_IOSCHED_NOOP=y | ||
| 72 | CONFIG_IOSCHED_AS=y | ||
| 73 | # CONFIG_IOSCHED_DEADLINE is not set | ||
| 74 | # CONFIG_IOSCHED_CFQ is not set | ||
| 75 | CONFIG_DEFAULT_AS=y | ||
| 76 | # CONFIG_DEFAULT_DEADLINE is not set | ||
| 77 | # CONFIG_DEFAULT_CFQ is not set | ||
| 78 | # CONFIG_DEFAULT_NOOP is not set | ||
| 79 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
| 80 | |||
| 81 | # | ||
| 82 | # System Type | ||
| 83 | # | ||
| 84 | # CONFIG_ARCH_CLPS7500 is not set | ||
| 85 | # CONFIG_ARCH_CLPS711X is not set | ||
| 86 | # CONFIG_ARCH_CO285 is not set | ||
| 87 | # CONFIG_ARCH_EBSA110 is not set | ||
| 88 | # CONFIG_ARCH_CAMELOT is not set | ||
| 89 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
| 90 | # CONFIG_ARCH_INTEGRATOR is not set | ||
| 91 | # CONFIG_ARCH_IOP3XX is not set | ||
| 92 | # CONFIG_ARCH_IXP4XX is not set | ||
| 93 | # CONFIG_ARCH_IXP2000 is not set | ||
| 94 | # CONFIG_ARCH_L7200 is not set | ||
| 95 | # CONFIG_ARCH_PXA is not set | ||
| 96 | # CONFIG_ARCH_RPC is not set | ||
| 97 | # CONFIG_ARCH_SA1100 is not set | ||
| 98 | # CONFIG_ARCH_S3C2410 is not set | ||
| 99 | # CONFIG_ARCH_SHARK is not set | ||
| 100 | # CONFIG_ARCH_LH7A40X is not set | ||
| 101 | # CONFIG_ARCH_OMAP is not set | ||
| 102 | # CONFIG_ARCH_VERSATILE is not set | ||
| 103 | # CONFIG_ARCH_REALVIEW is not set | ||
| 104 | # CONFIG_ARCH_IMX is not set | ||
| 105 | # CONFIG_ARCH_H720X is not set | ||
| 106 | # CONFIG_ARCH_AAEC2000 is not set | ||
| 107 | CONFIG_ARCH_AT91RM9200=y | ||
| 108 | |||
| 109 | # | ||
| 110 | # AT91RM9200 Implementations | ||
| 111 | # | ||
| 112 | |||
| 113 | # | ||
| 114 | # AT91RM9200 Board Type | ||
| 115 | # | ||
| 116 | CONFIG_ARCH_AT91RM9200DK=y | ||
| 117 | # CONFIG_MACH_AT91RM9200EK is not set | ||
| 118 | # CONFIG_MACH_CSB337 is not set | ||
| 119 | # CONFIG_MACH_CSB637 is not set | ||
| 120 | # CONFIG_MACH_CARMEVA is not set | ||
| 121 | # CONFIG_MACH_KB9200 is not set | ||
| 122 | # CONFIG_MACH_ATEB9200 is not set | ||
| 123 | |||
| 124 | # | ||
| 125 | # AT91RM9200 Feature Selections | ||
| 126 | # | ||
| 127 | CONFIG_AT91_PROGRAMMABLE_CLOCKS=y | ||
| 128 | |||
| 129 | # | ||
| 130 | # Processor Type | ||
| 131 | # | ||
| 132 | CONFIG_CPU_32=y | ||
| 133 | CONFIG_CPU_ARM920T=y | ||
| 134 | CONFIG_CPU_32v4=y | ||
| 135 | CONFIG_CPU_ABRT_EV4T=y | ||
| 136 | CONFIG_CPU_CACHE_V4WT=y | ||
| 137 | CONFIG_CPU_CACHE_VIVT=y | ||
| 138 | CONFIG_CPU_COPY_V4WB=y | ||
| 139 | CONFIG_CPU_TLB_V4WBI=y | ||
| 140 | |||
| 141 | # | ||
| 142 | # Processor Features | ||
| 143 | # | ||
| 144 | # CONFIG_ARM_THUMB is not set | ||
| 145 | # CONFIG_CPU_ICACHE_DISABLE is not set | ||
| 146 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
| 147 | # CONFIG_CPU_DCACHE_WRITETHROUGH is not set | ||
| 148 | |||
| 149 | # | ||
| 150 | # Bus support | ||
| 151 | # | ||
| 152 | CONFIG_ISA_DMA_API=y | ||
| 153 | |||
| 154 | # | ||
| 155 | # PCCARD (PCMCIA/CardBus) support | ||
| 156 | # | ||
| 157 | CONFIG_PCCARD=y | ||
| 158 | # CONFIG_PCMCIA_DEBUG is not set | ||
| 159 | CONFIG_PCMCIA=y | ||
| 160 | CONFIG_PCMCIA_LOAD_CIS=y | ||
| 161 | CONFIG_PCMCIA_IOCTL=y | ||
| 162 | |||
| 163 | # | ||
| 164 | # PC-card bridges | ||
| 165 | # | ||
| 166 | CONFIG_AT91_CF=y | ||
| 167 | |||
| 168 | # | ||
| 169 | # Kernel Features | ||
| 170 | # | ||
| 171 | # CONFIG_PREEMPT is not set | ||
| 172 | # CONFIG_NO_IDLE_HZ is not set | ||
| 173 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | ||
| 174 | CONFIG_SELECT_MEMORY_MODEL=y | ||
| 175 | CONFIG_FLATMEM_MANUAL=y | ||
| 176 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
| 177 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
| 178 | CONFIG_FLATMEM=y | ||
| 179 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
| 180 | # CONFIG_SPARSEMEM_STATIC is not set | ||
| 181 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | ||
| 182 | CONFIG_LEDS=y | ||
| 183 | CONFIG_LEDS_TIMER=y | ||
| 184 | # CONFIG_LEDS_CPU is not set | ||
| 185 | CONFIG_ALIGNMENT_TRAP=y | ||
| 186 | |||
| 187 | # | ||
| 188 | # Boot options | ||
| 189 | # | ||
| 190 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
| 191 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
| 192 | CONFIG_CMDLINE="mem=32M console=ttyS0,115200 initrd=0x20410000,3145728 root=/dev/ram0 rw" | ||
| 193 | # CONFIG_XIP_KERNEL is not set | ||
| 194 | |||
| 195 | # | ||
| 196 | # Floating point emulation | ||
| 197 | # | ||
| 198 | |||
| 199 | # | ||
| 200 | # At least one emulation must be selected | ||
| 201 | # | ||
| 202 | CONFIG_FPE_NWFPE=y | ||
| 203 | # CONFIG_FPE_NWFPE_XP is not set | ||
| 204 | # CONFIG_FPE_FASTFPE is not set | ||
| 205 | |||
| 206 | # | ||
| 207 | # Userspace binary formats | ||
| 208 | # | ||
| 209 | CONFIG_BINFMT_ELF=y | ||
| 210 | # CONFIG_BINFMT_AOUT is not set | ||
| 211 | # CONFIG_BINFMT_MISC is not set | ||
| 212 | # CONFIG_ARTHUR is not set | ||
| 213 | |||
| 214 | # | ||
| 215 | # Power management options | ||
| 216 | # | ||
| 217 | # CONFIG_PM is not set | ||
| 218 | |||
| 219 | # | ||
| 220 | # Networking | ||
| 221 | # | ||
| 222 | CONFIG_NET=y | ||
| 223 | |||
| 224 | # | ||
| 225 | # Networking options | ||
| 226 | # | ||
| 227 | CONFIG_PACKET=y | ||
| 228 | # CONFIG_PACKET_MMAP is not set | ||
| 229 | CONFIG_UNIX=y | ||
| 230 | # CONFIG_NET_KEY is not set | ||
| 231 | CONFIG_INET=y | ||
| 232 | # CONFIG_IP_MULTICAST is not set | ||
| 233 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
| 234 | CONFIG_IP_FIB_HASH=y | ||
| 235 | CONFIG_IP_PNP=y | ||
| 236 | # CONFIG_IP_PNP_DHCP is not set | ||
| 237 | CONFIG_IP_PNP_BOOTP=y | ||
| 238 | # CONFIG_IP_PNP_RARP is not set | ||
| 239 | # CONFIG_NET_IPIP is not set | ||
| 240 | # CONFIG_NET_IPGRE is not set | ||
| 241 | # CONFIG_ARPD is not set | ||
| 242 | # CONFIG_SYN_COOKIES is not set | ||
| 243 | # CONFIG_INET_AH is not set | ||
| 244 | # CONFIG_INET_ESP is not set | ||
| 245 | # CONFIG_INET_IPCOMP is not set | ||
| 246 | # CONFIG_INET_TUNNEL is not set | ||
| 247 | CONFIG_INET_DIAG=y | ||
| 248 | CONFIG_INET_TCP_DIAG=y | ||
| 249 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
| 250 | CONFIG_TCP_CONG_BIC=y | ||
| 251 | # CONFIG_IPV6 is not set | ||
| 252 | # CONFIG_NETFILTER is not set | ||
| 253 | |||
| 254 | # | ||
| 255 | # DCCP Configuration (EXPERIMENTAL) | ||
| 256 | # | ||
| 257 | # CONFIG_IP_DCCP is not set | ||
| 258 | |||
| 259 | # | ||
| 260 | # SCTP Configuration (EXPERIMENTAL) | ||
| 261 | # | ||
| 262 | # CONFIG_IP_SCTP is not set | ||
| 263 | # CONFIG_ATM is not set | ||
| 264 | # CONFIG_BRIDGE is not set | ||
| 265 | # CONFIG_VLAN_8021Q is not set | ||
| 266 | # CONFIG_DECNET is not set | ||
| 267 | # CONFIG_LLC2 is not set | ||
| 268 | # CONFIG_IPX is not set | ||
| 269 | # CONFIG_ATALK is not set | ||
| 270 | # CONFIG_X25 is not set | ||
| 271 | # CONFIG_LAPB is not set | ||
| 272 | # CONFIG_NET_DIVERT is not set | ||
| 273 | # CONFIG_ECONET is not set | ||
| 274 | # CONFIG_WAN_ROUTER is not set | ||
| 275 | |||
| 276 | # | ||
| 277 | # QoS and/or fair queueing | ||
| 278 | # | ||
| 279 | # CONFIG_NET_SCHED is not set | ||
| 280 | |||
| 281 | # | ||
| 282 | # Network testing | ||
| 283 | # | ||
| 284 | # CONFIG_NET_PKTGEN is not set | ||
| 285 | # CONFIG_HAMRADIO is not set | ||
| 286 | # CONFIG_IRDA is not set | ||
| 287 | # CONFIG_BT is not set | ||
| 288 | # CONFIG_IEEE80211 is not set | ||
| 289 | |||
| 290 | # | ||
| 291 | # Device Drivers | ||
| 292 | # | ||
| 293 | |||
| 294 | # | ||
| 295 | # Generic Driver Options | ||
| 296 | # | ||
| 297 | CONFIG_STANDALONE=y | ||
| 298 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
| 299 | CONFIG_FW_LOADER=y | ||
| 300 | # CONFIG_DEBUG_DRIVER is not set | ||
| 301 | |||
| 302 | # | ||
| 303 | # Connector - unified userspace <-> kernelspace linker | ||
| 304 | # | ||
| 305 | # CONFIG_CONNECTOR is not set | ||
| 306 | |||
| 307 | # | ||
| 308 | # Memory Technology Devices (MTD) | ||
| 309 | # | ||
| 310 | CONFIG_MTD=y | ||
| 311 | # CONFIG_MTD_DEBUG is not set | ||
| 312 | # CONFIG_MTD_CONCAT is not set | ||
| 313 | CONFIG_MTD_PARTITIONS=y | ||
| 314 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
| 315 | CONFIG_MTD_CMDLINE_PARTS=y | ||
| 316 | # CONFIG_MTD_AFS_PARTS is not set | ||
| 317 | |||
| 318 | # | ||
| 319 | # User Modules And Translation Layers | ||
| 320 | # | ||
| 321 | CONFIG_MTD_CHAR=y | ||
| 322 | CONFIG_MTD_BLOCK=y | ||
| 323 | # CONFIG_FTL is not set | ||
| 324 | # CONFIG_NFTL is not set | ||
| 325 | # CONFIG_INFTL is not set | ||
| 326 | # CONFIG_RFD_FTL is not set | ||
| 327 | |||
| 328 | # | ||
| 329 | # RAM/ROM/Flash chip drivers | ||
| 330 | # | ||
| 331 | CONFIG_MTD_CFI=y | ||
| 332 | CONFIG_MTD_JEDECPROBE=y | ||
| 333 | CONFIG_MTD_GEN_PROBE=y | ||
| 334 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
| 335 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
| 336 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
| 337 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
| 338 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
| 339 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
| 340 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
| 341 | CONFIG_MTD_CFI_I1=y | ||
| 342 | CONFIG_MTD_CFI_I2=y | ||
| 343 | # CONFIG_MTD_CFI_I4 is not set | ||
| 344 | # CONFIG_MTD_CFI_I8 is not set | ||
| 345 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
| 346 | CONFIG_MTD_CFI_AMDSTD=y | ||
| 347 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
| 348 | # CONFIG_MTD_CFI_STAA is not set | ||
| 349 | CONFIG_MTD_CFI_UTIL=y | ||
| 350 | # CONFIG_MTD_RAM is not set | ||
| 351 | # CONFIG_MTD_ROM is not set | ||
| 352 | # CONFIG_MTD_ABSENT is not set | ||
| 353 | # CONFIG_MTD_XIP is not set | ||
| 354 | |||
| 355 | # | ||
| 356 | # Mapping drivers for chip access | ||
| 357 | # | ||
| 358 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
| 359 | CONFIG_MTD_PHYSMAP=y | ||
| 360 | CONFIG_MTD_PHYSMAP_START=0x10000000 | ||
| 361 | CONFIG_MTD_PHYSMAP_LEN=0x200000 | ||
| 362 | CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | ||
| 363 | # CONFIG_MTD_ARM_INTEGRATOR is not set | ||
| 364 | # CONFIG_MTD_IMPA7 is not set | ||
| 365 | # CONFIG_MTD_PLATRAM is not set | ||
| 366 | |||
| 367 | # | ||
| 368 | # Self-contained MTD device drivers | ||
| 369 | # | ||
| 370 | # CONFIG_MTD_SLRAM is not set | ||
| 371 | # CONFIG_MTD_PHRAM is not set | ||
| 372 | # CONFIG_MTD_MTDRAM is not set | ||
| 373 | # CONFIG_MTD_BLKMTD is not set | ||
| 374 | # CONFIG_MTD_BLOCK2MTD is not set | ||
| 375 | |||
| 376 | # | ||
| 377 | # Disk-On-Chip Device Drivers | ||
| 378 | # | ||
| 379 | # CONFIG_MTD_DOC2000 is not set | ||
| 380 | # CONFIG_MTD_DOC2001 is not set | ||
| 381 | # CONFIG_MTD_DOC2001PLUS is not set | ||
| 382 | CONFIG_MTD_AT91_DATAFLASH=y | ||
| 383 | CONFIG_MTD_AT91_DATAFLASH_CARD=y | ||
| 384 | |||
| 385 | # | ||
| 386 | # NAND Flash Device Drivers | ||
| 387 | # | ||
| 388 | # CONFIG_MTD_NAND is not set | ||
| 389 | |||
| 390 | # | ||
| 391 | # OneNAND Flash Device Drivers | ||
| 392 | # | ||
| 393 | # CONFIG_MTD_ONENAND is not set | ||
| 394 | |||
| 395 | # | ||
| 396 | # Parallel port support | ||
| 397 | # | ||
| 398 | # CONFIG_PARPORT is not set | ||
| 399 | |||
| 400 | # | ||
| 401 | # Plug and Play support | ||
| 402 | # | ||
| 403 | |||
| 404 | # | ||
| 405 | # Block devices | ||
| 406 | # | ||
| 407 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
| 408 | # CONFIG_BLK_DEV_LOOP is not set | ||
| 409 | # CONFIG_BLK_DEV_NBD is not set | ||
| 410 | # CONFIG_BLK_DEV_UB is not set | ||
| 411 | CONFIG_BLK_DEV_RAM=y | ||
| 412 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
| 413 | CONFIG_BLK_DEV_RAM_SIZE=8192 | ||
| 414 | CONFIG_BLK_DEV_INITRD=y | ||
| 415 | # CONFIG_CDROM_PKTCDVD is not set | ||
| 416 | # CONFIG_ATA_OVER_ETH is not set | ||
| 417 | |||
| 418 | # | ||
| 419 | # ATA/ATAPI/MFM/RLL support | ||
| 420 | # | ||
| 421 | # CONFIG_IDE is not set | ||
| 422 | |||
| 423 | # | ||
| 424 | # SCSI device support | ||
| 425 | # | ||
| 426 | # CONFIG_RAID_ATTRS is not set | ||
| 427 | # CONFIG_SCSI is not set | ||
| 428 | |||
| 429 | # | ||
| 430 | # Multi-device support (RAID and LVM) | ||
| 431 | # | ||
| 432 | # CONFIG_MD is not set | ||
| 433 | |||
| 434 | # | ||
| 435 | # Fusion MPT device support | ||
| 436 | # | ||
| 437 | # CONFIG_FUSION is not set | ||
| 438 | |||
| 439 | # | ||
| 440 | # IEEE 1394 (FireWire) support | ||
| 441 | # | ||
| 442 | |||
| 443 | # | ||
| 444 | # I2O device support | ||
| 445 | # | ||
| 446 | |||
| 447 | # | ||
| 448 | # Network device support | ||
| 449 | # | ||
| 450 | CONFIG_NETDEVICES=y | ||
| 451 | # CONFIG_DUMMY is not set | ||
| 452 | # CONFIG_BONDING is not set | ||
| 453 | # CONFIG_EQUALIZER is not set | ||
| 454 | # CONFIG_TUN is not set | ||
| 455 | |||
| 456 | # | ||
| 457 | # PHY device support | ||
| 458 | # | ||
| 459 | # CONFIG_PHYLIB is not set | ||
| 460 | |||
| 461 | # | ||
| 462 | # Ethernet (10 or 100Mbit) | ||
| 463 | # | ||
| 464 | CONFIG_NET_ETHERNET=y | ||
| 465 | CONFIG_MII=y | ||
| 466 | CONFIG_ARM_AT91_ETHER=y | ||
| 467 | # CONFIG_SMC91X is not set | ||
| 468 | # CONFIG_DM9000 is not set | ||
| 469 | |||
| 470 | # | ||
| 471 | # Ethernet (1000 Mbit) | ||
| 472 | # | ||
| 473 | |||
| 474 | # | ||
| 475 | # Ethernet (10000 Mbit) | ||
| 476 | # | ||
| 477 | |||
| 478 | # | ||
| 479 | # Token Ring devices | ||
| 480 | # | ||
| 481 | |||
| 482 | # | ||
| 483 | # Wireless LAN (non-hamradio) | ||
| 484 | # | ||
| 485 | # CONFIG_NET_RADIO is not set | ||
| 486 | |||
| 487 | # | ||
| 488 | # PCMCIA network device support | ||
| 489 | # | ||
| 490 | # CONFIG_NET_PCMCIA is not set | ||
| 491 | |||
| 492 | # | ||
| 493 | # Wan interfaces | ||
| 494 | # | ||
| 495 | # CONFIG_WAN is not set | ||
| 496 | # CONFIG_PPP is not set | ||
| 497 | # CONFIG_SLIP is not set | ||
| 498 | # CONFIG_SHAPER is not set | ||
| 499 | # CONFIG_NETCONSOLE is not set | ||
| 500 | # CONFIG_NETPOLL is not set | ||
| 501 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
| 502 | |||
| 503 | # | ||
| 504 | # ISDN subsystem | ||
| 505 | # | ||
| 506 | # CONFIG_ISDN is not set | ||
| 507 | |||
| 508 | # | ||
| 509 | # Input device support | ||
| 510 | # | ||
| 511 | CONFIG_INPUT=y | ||
| 512 | |||
| 513 | # | ||
| 514 | # Userland interfaces | ||
| 515 | # | ||
| 516 | CONFIG_INPUT_MOUSEDEV=y | ||
| 517 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
| 518 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
| 519 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
| 520 | # CONFIG_INPUT_JOYDEV is not set | ||
| 521 | # CONFIG_INPUT_TSDEV is not set | ||
| 522 | # CONFIG_INPUT_EVDEV is not set | ||
| 523 | # CONFIG_INPUT_EVBUG is not set | ||
| 524 | |||
| 525 | # | ||
| 526 | # Input Device Drivers | ||
| 527 | # | ||
| 528 | # CONFIG_INPUT_KEYBOARD is not set | ||
| 529 | # CONFIG_INPUT_MOUSE is not set | ||
| 530 | # CONFIG_INPUT_JOYSTICK is not set | ||
| 531 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
| 532 | # CONFIG_INPUT_MISC is not set | ||
| 533 | |||
| 534 | # | ||
| 535 | # Hardware I/O ports | ||
| 536 | # | ||
| 537 | # CONFIG_SERIO is not set | ||
| 538 | # CONFIG_GAMEPORT is not set | ||
| 539 | |||
| 540 | # | ||
| 541 | # Character devices | ||
| 542 | # | ||
| 543 | CONFIG_VT=y | ||
| 544 | CONFIG_VT_CONSOLE=y | ||
| 545 | CONFIG_HW_CONSOLE=y | ||
| 546 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
| 547 | |||
| 548 | # | ||
| 549 | # Serial drivers | ||
| 550 | # | ||
| 551 | # CONFIG_SERIAL_8250 is not set | ||
| 552 | |||
| 553 | # | ||
| 554 | # Non-8250 serial port support | ||
| 555 | # | ||
| 556 | CONFIG_SERIAL_AT91=y | ||
| 557 | CONFIG_SERIAL_AT91_CONSOLE=y | ||
| 558 | # CONFIG_SERIAL_AT91_TTYAT is not set | ||
| 559 | CONFIG_SERIAL_CORE=y | ||
| 560 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
| 561 | CONFIG_UNIX98_PTYS=y | ||
| 562 | CONFIG_LEGACY_PTYS=y | ||
| 563 | CONFIG_LEGACY_PTY_COUNT=256 | ||
| 564 | |||
| 565 | # | ||
| 566 | # IPMI | ||
| 567 | # | ||
| 568 | # CONFIG_IPMI_HANDLER is not set | ||
| 569 | |||
| 570 | # | ||
| 571 | # Watchdog Cards | ||
| 572 | # | ||
| 573 | CONFIG_WATCHDOG=y | ||
| 574 | CONFIG_WATCHDOG_NOWAYOUT=y | ||
| 575 | |||
| 576 | # | ||
| 577 | # Watchdog Device Drivers | ||
| 578 | # | ||
| 579 | # CONFIG_SOFT_WATCHDOG is not set | ||
| 580 | CONFIG_AT91_WATCHDOG=y | ||
| 581 | |||
| 582 | # | ||
| 583 | # USB-based Watchdog Cards | ||
| 584 | # | ||
| 585 | # CONFIG_USBPCWATCHDOG is not set | ||
| 586 | # CONFIG_NVRAM is not set | ||
| 587 | # CONFIG_RTC is not set | ||
| 588 | CONFIG_AT91_RTC=y | ||
| 589 | # CONFIG_DTLK is not set | ||
| 590 | # CONFIG_R3964 is not set | ||
| 591 | |||
| 592 | # | ||
| 593 | # Ftape, the floppy tape device driver | ||
| 594 | # | ||
| 595 | |||
| 596 | # | ||
| 597 | # PCMCIA character devices | ||
| 598 | # | ||
| 599 | # CONFIG_SYNCLINK_CS is not set | ||
| 600 | # CONFIG_CARDMAN_4000 is not set | ||
| 601 | # CONFIG_CARDMAN_4040 is not set | ||
| 602 | # CONFIG_RAW_DRIVER is not set | ||
| 603 | |||
| 604 | # | ||
| 605 | # TPM devices | ||
| 606 | # | ||
| 607 | # CONFIG_TCG_TPM is not set | ||
| 608 | # CONFIG_TELCLOCK is not set | ||
| 609 | CONFIG_AT91_SPI=y | ||
| 610 | CONFIG_AT91_SPIDEV=y | ||
| 611 | |||
| 612 | # | ||
| 613 | # I2C support | ||
| 614 | # | ||
| 615 | CONFIG_I2C=y | ||
| 616 | CONFIG_I2C_CHARDEV=y | ||
| 617 | |||
| 618 | # | ||
| 619 | # I2C Algorithms | ||
| 620 | # | ||
| 621 | # CONFIG_I2C_ALGOBIT is not set | ||
| 622 | # CONFIG_I2C_ALGOPCF is not set | ||
| 623 | # CONFIG_I2C_ALGOPCA is not set | ||
| 624 | |||
| 625 | # | ||
| 626 | # I2C Hardware Bus support | ||
| 627 | # | ||
| 628 | CONFIG_I2C_AT91=y | ||
| 629 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
| 630 | # CONFIG_I2C_STUB is not set | ||
| 631 | # CONFIG_I2C_PCA_ISA is not set | ||
| 632 | |||
| 633 | # | ||
| 634 | # Miscellaneous I2C Chip support | ||
| 635 | # | ||
| 636 | # CONFIG_SENSORS_DS1337 is not set | ||
| 637 | # CONFIG_SENSORS_DS1374 is not set | ||
| 638 | # CONFIG_SENSORS_EEPROM is not set | ||
| 639 | # CONFIG_SENSORS_PCF8574 is not set | ||
| 640 | # CONFIG_SENSORS_PCA9539 is not set | ||
| 641 | # CONFIG_SENSORS_PCF8591 is not set | ||
| 642 | # CONFIG_SENSORS_RTC8564 is not set | ||
| 643 | # CONFIG_SENSORS_MAX6875 is not set | ||
| 644 | # CONFIG_RTC_X1205_I2C is not set | ||
| 645 | # CONFIG_I2C_DEBUG_CORE is not set | ||
| 646 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
| 647 | # CONFIG_I2C_DEBUG_BUS is not set | ||
| 648 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
| 649 | |||
| 650 | # | ||
| 651 | # Hardware Monitoring support | ||
| 652 | # | ||
| 653 | CONFIG_HWMON=y | ||
| 654 | # CONFIG_HWMON_VID is not set | ||
| 655 | # CONFIG_SENSORS_ADM1021 is not set | ||
| 656 | # CONFIG_SENSORS_ADM1025 is not set | ||
| 657 | # CONFIG_SENSORS_ADM1026 is not set | ||
| 658 | # CONFIG_SENSORS_ADM1031 is not set | ||
| 659 | # CONFIG_SENSORS_ADM9240 is not set | ||
| 660 | # CONFIG_SENSORS_ASB100 is not set | ||
| 661 | # CONFIG_SENSORS_ATXP1 is not set | ||
| 662 | # CONFIG_SENSORS_DS1621 is not set | ||
| 663 | # CONFIG_SENSORS_FSCHER is not set | ||
| 664 | # CONFIG_SENSORS_FSCPOS is not set | ||
| 665 | # CONFIG_SENSORS_GL518SM is not set | ||
| 666 | # CONFIG_SENSORS_GL520SM is not set | ||
| 667 | # CONFIG_SENSORS_IT87 is not set | ||
| 668 | # CONFIG_SENSORS_LM63 is not set | ||
| 669 | # CONFIG_SENSORS_LM75 is not set | ||
| 670 | # CONFIG_SENSORS_LM77 is not set | ||
| 671 | # CONFIG_SENSORS_LM78 is not set | ||
| 672 | # CONFIG_SENSORS_LM80 is not set | ||
| 673 | # CONFIG_SENSORS_LM83 is not set | ||
| 674 | # CONFIG_SENSORS_LM85 is not set | ||
| 675 | # CONFIG_SENSORS_LM87 is not set | ||
| 676 | # CONFIG_SENSORS_LM90 is not set | ||
| 677 | # CONFIG_SENSORS_LM92 is not set | ||
| 678 | # CONFIG_SENSORS_MAX1619 is not set | ||
| 679 | # CONFIG_SENSORS_PC87360 is not set | ||
| 680 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
| 681 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
| 682 | # CONFIG_SENSORS_W83781D is not set | ||
| 683 | # CONFIG_SENSORS_W83792D is not set | ||
| 684 | # CONFIG_SENSORS_W83L785TS is not set | ||
| 685 | # CONFIG_SENSORS_W83627HF is not set | ||
| 686 | # CONFIG_SENSORS_W83627EHF is not set | ||
| 687 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
| 688 | |||
| 689 | # | ||
| 690 | # Misc devices | ||
| 691 | # | ||
| 692 | |||
| 693 | # | ||
| 694 | # Multimedia Capabilities Port drivers | ||
| 695 | # | ||
| 696 | |||
| 697 | # | ||
| 698 | # Multimedia devices | ||
| 699 | # | ||
| 700 | # CONFIG_VIDEO_DEV is not set | ||
| 701 | |||
| 702 | # | ||
| 703 | # Digital Video Broadcasting Devices | ||
| 704 | # | ||
| 705 | # CONFIG_DVB is not set | ||
| 706 | |||
| 707 | # | ||
| 708 | # Graphics support | ||
| 709 | # | ||
| 710 | # CONFIG_FB is not set | ||
| 711 | |||
| 712 | # | ||
| 713 | # Console display driver support | ||
| 714 | # | ||
| 715 | # CONFIG_VGA_CONSOLE is not set | ||
| 716 | CONFIG_DUMMY_CONSOLE=y | ||
| 717 | |||
| 718 | # | ||
| 719 | # Sound | ||
| 720 | # | ||
| 721 | # CONFIG_SOUND is not set | ||
| 722 | |||
| 723 | # | ||
| 724 | # USB support | ||
| 725 | # | ||
| 726 | CONFIG_USB_ARCH_HAS_HCD=y | ||
| 727 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
| 728 | CONFIG_USB=y | ||
| 729 | CONFIG_USB_DEBUG=y | ||
| 730 | |||
| 731 | # | ||
| 732 | # Miscellaneous USB options | ||
| 733 | # | ||
| 734 | CONFIG_USB_DEVICEFS=y | ||
| 735 | # CONFIG_USB_BANDWIDTH is not set | ||
| 736 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
| 737 | # CONFIG_USB_OTG is not set | ||
| 738 | |||
| 739 | # | ||
| 740 | # USB Host Controller Drivers | ||
| 741 | # | ||
| 742 | # CONFIG_USB_ISP116X_HCD is not set | ||
| 743 | CONFIG_USB_OHCI_HCD=y | ||
| 744 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | ||
| 745 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | ||
| 746 | # CONFIG_USB_SL811_HCD is not set | ||
| 747 | |||
| 748 | # | ||
| 749 | # USB Device Class drivers | ||
| 750 | # | ||
| 751 | # CONFIG_USB_ACM is not set | ||
| 752 | # CONFIG_USB_PRINTER is not set | ||
| 753 | |||
| 754 | # | ||
| 755 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
| 756 | # | ||
| 757 | |||
| 758 | # | ||
| 759 | # may also be needed; see USB_STORAGE Help for more information | ||
| 760 | # | ||
| 761 | # CONFIG_USB_STORAGE is not set | ||
| 762 | |||
| 763 | # | ||
| 764 | # USB Input Devices | ||
| 765 | # | ||
| 766 | # CONFIG_USB_HID is not set | ||
| 767 | |||
| 768 | # | ||
| 769 | # USB HID Boot Protocol drivers | ||
| 770 | # | ||
| 771 | # CONFIG_USB_KBD is not set | ||
| 772 | # CONFIG_USB_MOUSE is not set | ||
| 773 | # CONFIG_USB_AIPTEK is not set | ||
| 774 | # CONFIG_USB_WACOM is not set | ||
| 775 | # CONFIG_USB_ACECAD is not set | ||
| 776 | # CONFIG_USB_KBTAB is not set | ||
| 777 | # CONFIG_USB_POWERMATE is not set | ||
| 778 | # CONFIG_USB_MTOUCH is not set | ||
| 779 | # CONFIG_USB_ITMTOUCH is not set | ||
| 780 | # CONFIG_USB_EGALAX is not set | ||
| 781 | # CONFIG_USB_YEALINK is not set | ||
| 782 | # CONFIG_USB_XPAD is not set | ||
| 783 | # CONFIG_USB_ATI_REMOTE is not set | ||
| 784 | # CONFIG_USB_KEYSPAN_REMOTE is not set | ||
| 785 | # CONFIG_USB_APPLETOUCH is not set | ||
| 786 | |||
| 787 | # | ||
| 788 | # USB Imaging devices | ||
| 789 | # | ||
| 790 | # CONFIG_USB_MDC800 is not set | ||
| 791 | |||
| 792 | # | ||
| 793 | # USB Multimedia devices | ||
| 794 | # | ||
| 795 | # CONFIG_USB_DABUSB is not set | ||
| 796 | |||
| 797 | # | ||
| 798 | # Video4Linux support is needed for USB Multimedia device support | ||
| 799 | # | ||
| 800 | |||
| 801 | # | ||
| 802 | # USB Network Adapters | ||
| 803 | # | ||
| 804 | # CONFIG_USB_CATC is not set | ||
| 805 | # CONFIG_USB_KAWETH is not set | ||
| 806 | # CONFIG_USB_PEGASUS is not set | ||
| 807 | # CONFIG_USB_RTL8150 is not set | ||
| 808 | # CONFIG_USB_USBNET is not set | ||
| 809 | CONFIG_USB_MON=y | ||
| 810 | |||
| 811 | # | ||
| 812 | # USB port drivers | ||
| 813 | # | ||
| 814 | |||
| 815 | # | ||
| 816 | # USB Serial Converter support | ||
| 817 | # | ||
| 818 | # CONFIG_USB_SERIAL is not set | ||
| 819 | |||
| 820 | # | ||
| 821 | # USB Miscellaneous drivers | ||
| 822 | # | ||
| 823 | # CONFIG_USB_EMI62 is not set | ||
| 824 | # CONFIG_USB_EMI26 is not set | ||
| 825 | # CONFIG_USB_AUERSWALD is not set | ||
| 826 | # CONFIG_USB_RIO500 is not set | ||
| 827 | # CONFIG_USB_LEGOTOWER is not set | ||
| 828 | # CONFIG_USB_LCD is not set | ||
| 829 | # CONFIG_USB_LED is not set | ||
| 830 | # CONFIG_USB_CYTHERM is not set | ||
| 831 | # CONFIG_USB_PHIDGETKIT is not set | ||
| 832 | # CONFIG_USB_PHIDGETSERVO is not set | ||
| 833 | # CONFIG_USB_IDMOUSE is not set | ||
| 834 | # CONFIG_USB_LD is not set | ||
| 835 | # CONFIG_USB_TEST is not set | ||
| 836 | |||
| 837 | # | ||
| 838 | # USB DSL modem support | ||
| 839 | # | ||
| 840 | |||
| 841 | # | ||
| 842 | # USB Gadget Support | ||
| 843 | # | ||
| 844 | CONFIG_USB_GADGET=y | ||
| 845 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | ||
| 846 | CONFIG_USB_GADGET_SELECTED=y | ||
| 847 | # CONFIG_USB_GADGET_NET2280 is not set | ||
| 848 | # CONFIG_USB_GADGET_PXA2XX is not set | ||
| 849 | # CONFIG_USB_GADGET_GOKU is not set | ||
| 850 | # CONFIG_USB_GADGET_LH7A40X is not set | ||
| 851 | # CONFIG_USB_GADGET_OMAP is not set | ||
| 852 | CONFIG_USB_GADGET_AT91=y | ||
| 853 | CONFIG_USB_AT91=y | ||
| 854 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | ||
| 855 | # CONFIG_USB_GADGET_DUALSPEED is not set | ||
| 856 | # CONFIG_USB_ZERO is not set | ||
| 857 | # CONFIG_USB_ETH is not set | ||
| 858 | # CONFIG_USB_GADGETFS is not set | ||
| 859 | # CONFIG_USB_FILE_STORAGE is not set | ||
| 860 | # CONFIG_USB_G_SERIAL is not set | ||
| 861 | |||
| 862 | # | ||
| 863 | # MMC/SD Card support | ||
| 864 | # | ||
| 865 | CONFIG_MMC=y | ||
| 866 | # CONFIG_MMC_DEBUG is not set | ||
| 867 | CONFIG_MMC_BLOCK=y | ||
| 868 | # CONFIG_MMC_WBSD is not set | ||
| 869 | CONFIG_MMC_AT91RM9200=y | ||
| 870 | |||
| 871 | # | ||
| 872 | # File systems | ||
| 873 | # | ||
| 874 | CONFIG_EXT2_FS=y | ||
| 875 | # CONFIG_EXT2_FS_XATTR is not set | ||
| 876 | # CONFIG_EXT2_FS_XIP is not set | ||
| 877 | # CONFIG_EXT3_FS is not set | ||
| 878 | # CONFIG_JBD is not set | ||
| 879 | # CONFIG_REISERFS_FS is not set | ||
| 880 | # CONFIG_JFS_FS is not set | ||
| 881 | # CONFIG_FS_POSIX_ACL is not set | ||
| 882 | # CONFIG_XFS_FS is not set | ||
| 883 | # CONFIG_MINIX_FS is not set | ||
| 884 | # CONFIG_ROMFS_FS is not set | ||
| 885 | CONFIG_INOTIFY=y | ||
| 886 | # CONFIG_QUOTA is not set | ||
| 887 | CONFIG_DNOTIFY=y | ||
| 888 | # CONFIG_AUTOFS_FS is not set | ||
| 889 | # CONFIG_AUTOFS4_FS is not set | ||
| 890 | # CONFIG_FUSE_FS is not set | ||
| 891 | |||
| 892 | # | ||
| 893 | # CD-ROM/DVD Filesystems | ||
| 894 | # | ||
| 895 | # CONFIG_ISO9660_FS is not set | ||
| 896 | # CONFIG_UDF_FS is not set | ||
| 897 | |||
| 898 | # | ||
| 899 | # DOS/FAT/NT Filesystems | ||
| 900 | # | ||
| 901 | # CONFIG_MSDOS_FS is not set | ||
| 902 | # CONFIG_VFAT_FS is not set | ||
| 903 | # CONFIG_NTFS_FS is not set | ||
| 904 | |||
| 905 | # | ||
| 906 | # Pseudo filesystems | ||
| 907 | # | ||
| 908 | CONFIG_PROC_FS=y | ||
| 909 | CONFIG_SYSFS=y | ||
| 910 | CONFIG_TMPFS=y | ||
| 911 | # CONFIG_HUGETLB_PAGE is not set | ||
| 912 | CONFIG_RAMFS=y | ||
| 913 | # CONFIG_RELAYFS_FS is not set | ||
| 914 | |||
| 915 | # | ||
| 916 | # Miscellaneous filesystems | ||
| 917 | # | ||
| 918 | # CONFIG_ADFS_FS is not set | ||
| 919 | # CONFIG_AFFS_FS is not set | ||
| 920 | # CONFIG_HFS_FS is not set | ||
| 921 | # CONFIG_HFSPLUS_FS is not set | ||
| 922 | # CONFIG_BEFS_FS is not set | ||
| 923 | # CONFIG_BFS_FS is not set | ||
| 924 | # CONFIG_EFS_FS is not set | ||
| 925 | # CONFIG_JFFS_FS is not set | ||
| 926 | # CONFIG_JFFS2_FS is not set | ||
| 927 | CONFIG_CRAMFS=y | ||
| 928 | # CONFIG_VXFS_FS is not set | ||
| 929 | # CONFIG_HPFS_FS is not set | ||
| 930 | # CONFIG_QNX4FS_FS is not set | ||
| 931 | # CONFIG_SYSV_FS is not set | ||
| 932 | # CONFIG_UFS_FS is not set | ||
| 933 | |||
| 934 | # | ||
| 935 | # Network File Systems | ||
| 936 | # | ||
| 937 | # CONFIG_NFS_FS is not set | ||
| 938 | # CONFIG_NFSD is not set | ||
| 939 | # CONFIG_SMB_FS is not set | ||
| 940 | # CONFIG_CIFS is not set | ||
| 941 | # CONFIG_NCP_FS is not set | ||
| 942 | # CONFIG_CODA_FS is not set | ||
| 943 | # CONFIG_AFS_FS is not set | ||
| 944 | # CONFIG_9P_FS is not set | ||
| 945 | |||
| 946 | # | ||
| 947 | # Partition Types | ||
| 948 | # | ||
| 949 | # CONFIG_PARTITION_ADVANCED is not set | ||
| 950 | CONFIG_MSDOS_PARTITION=y | ||
| 951 | |||
| 952 | # | ||
| 953 | # Native Language Support | ||
| 954 | # | ||
| 955 | # CONFIG_NLS is not set | ||
| 956 | |||
| 957 | # | ||
| 958 | # Profiling support | ||
| 959 | # | ||
| 960 | # CONFIG_PROFILING is not set | ||
| 961 | |||
| 962 | # | ||
| 963 | # Kernel hacking | ||
| 964 | # | ||
| 965 | # CONFIG_PRINTK_TIME is not set | ||
| 966 | CONFIG_DEBUG_KERNEL=y | ||
| 967 | # CONFIG_MAGIC_SYSRQ is not set | ||
| 968 | CONFIG_LOG_BUF_SHIFT=14 | ||
| 969 | CONFIG_DETECT_SOFTLOCKUP=y | ||
| 970 | # CONFIG_SCHEDSTATS is not set | ||
| 971 | # CONFIG_DEBUG_SLAB is not set | ||
| 972 | # CONFIG_DEBUG_SPINLOCK is not set | ||
| 973 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
| 974 | # CONFIG_DEBUG_KOBJECT is not set | ||
| 975 | CONFIG_DEBUG_BUGVERBOSE=y | ||
| 976 | # CONFIG_DEBUG_INFO is not set | ||
| 977 | # CONFIG_DEBUG_FS is not set | ||
| 978 | # CONFIG_DEBUG_VM is not set | ||
| 979 | CONFIG_FRAME_POINTER=y | ||
| 980 | # CONFIG_RCU_TORTURE_TEST is not set | ||
| 981 | CONFIG_DEBUG_USER=y | ||
| 982 | # CONFIG_DEBUG_WAITQ is not set | ||
| 983 | # CONFIG_DEBUG_ERRORS is not set | ||
| 984 | CONFIG_DEBUG_LL=y | ||
| 985 | # CONFIG_DEBUG_ICEDCC is not set | ||
| 986 | |||
| 987 | # | ||
| 988 | # Security options | ||
| 989 | # | ||
| 990 | # CONFIG_KEYS is not set | ||
| 991 | # CONFIG_SECURITY is not set | ||
| 992 | |||
| 993 | # | ||
| 994 | # Cryptographic options | ||
| 995 | # | ||
| 996 | # CONFIG_CRYPTO is not set | ||
| 997 | |||
| 998 | # | ||
| 999 | # Hardware crypto devices | ||
| 1000 | # | ||
| 1001 | |||
| 1002 | # | ||
| 1003 | # Library routines | ||
| 1004 | # | ||
| 1005 | # CONFIG_CRC_CCITT is not set | ||
| 1006 | # CONFIG_CRC16 is not set | ||
| 1007 | CONFIG_CRC32=y | ||
| 1008 | # CONFIG_LIBCRC32C is not set | ||
| 1009 | CONFIG_ZLIB_INFLATE=y | ||
diff --git a/arch/arm/configs/at91rm9200ek_defconfig b/arch/arm/configs/at91rm9200ek_defconfig new file mode 100644 index 000000000000..20838ccf1da7 --- /dev/null +++ b/arch/arm/configs/at91rm9200ek_defconfig | |||
| @@ -0,0 +1,998 @@ | |||
| 1 | # | ||
| 2 | # Automatically generated make config: don't edit | ||
| 3 | # Linux kernel version: 2.6.15 | ||
| 4 | # Mon Jan 9 20:57:31 2006 | ||
| 5 | # | ||
| 6 | CONFIG_ARM=y | ||
| 7 | CONFIG_MMU=y | ||
| 8 | CONFIG_UID16=y | ||
| 9 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
| 10 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
| 11 | |||
| 12 | # | ||
| 13 | # Code maturity level options | ||
| 14 | # | ||
| 15 | CONFIG_EXPERIMENTAL=y | ||
| 16 | CONFIG_CLEAN_COMPILE=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 is not set | ||
| 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_HOTPLUG=y | ||
| 32 | CONFIG_KOBJECT_UEVENT=y | ||
| 33 | # CONFIG_IKCONFIG is not set | ||
| 34 | CONFIG_INITRAMFS_SOURCE="" | ||
| 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_PRINTK=y | ||
| 41 | CONFIG_BUG=y | ||
| 42 | CONFIG_BASE_FULL=y | ||
| 43 | CONFIG_FUTEX=y | ||
| 44 | CONFIG_EPOLL=y | ||
| 45 | CONFIG_SHMEM=y | ||
| 46 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 47 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 48 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 49 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 50 | # CONFIG_TINY_SHMEM is not set | ||
| 51 | CONFIG_BASE_SMALL=0 | ||
| 52 | |||
| 53 | # | ||
| 54 | # Loadable module support | ||
| 55 | # | ||
| 56 | CONFIG_MODULES=y | ||
| 57 | CONFIG_MODULE_UNLOAD=y | ||
| 58 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
| 59 | CONFIG_OBSOLETE_MODPARM=y | ||
| 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 | |||
| 68 | # | ||
| 69 | # IO Schedulers | ||
| 70 | # | ||
| 71 | CONFIG_IOSCHED_NOOP=y | ||
| 72 | CONFIG_IOSCHED_AS=y | ||
| 73 | # CONFIG_IOSCHED_DEADLINE is not set | ||
| 74 | # CONFIG_IOSCHED_CFQ is not set | ||
| 75 | CONFIG_DEFAULT_AS=y | ||
| 76 | # CONFIG_DEFAULT_DEADLINE is not set | ||
| 77 | # CONFIG_DEFAULT_CFQ is not set | ||
| 78 | # CONFIG_DEFAULT_NOOP is not set | ||
| 79 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
| 80 | |||
| 81 | # | ||
| 82 | # System Type | ||
| 83 | # | ||
| 84 | # CONFIG_ARCH_CLPS7500 is not set | ||
| 85 | # CONFIG_ARCH_CLPS711X is not set | ||
| 86 | # CONFIG_ARCH_CO285 is not set | ||
| 87 | # CONFIG_ARCH_EBSA110 is not set | ||
| 88 | # CONFIG_ARCH_CAMELOT is not set | ||
| 89 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
| 90 | # CONFIG_ARCH_INTEGRATOR is not set | ||
| 91 | # CONFIG_ARCH_IOP3XX is not set | ||
| 92 | # CONFIG_ARCH_IXP4XX is not set | ||
| 93 | # CONFIG_ARCH_IXP2000 is not set | ||
| 94 | # CONFIG_ARCH_L7200 is not set | ||
| 95 | # CONFIG_ARCH_PXA is not set | ||
| 96 | # CONFIG_ARCH_RPC is not set | ||
| 97 | # CONFIG_ARCH_SA1100 is not set | ||
| 98 | # CONFIG_ARCH_S3C2410 is not set | ||
| 99 | # CONFIG_ARCH_SHARK is not set | ||
| 100 | # CONFIG_ARCH_LH7A40X is not set | ||
| 101 | # CONFIG_ARCH_OMAP is not set | ||
| 102 | # CONFIG_ARCH_VERSATILE is not set | ||
| 103 | # CONFIG_ARCH_REALVIEW is not set | ||
| 104 | # CONFIG_ARCH_IMX is not set | ||
| 105 | # CONFIG_ARCH_H720X is not set | ||
| 106 | # CONFIG_ARCH_AAEC2000 is not set | ||
| 107 | CONFIG_ARCH_AT91RM9200=y | ||
| 108 | |||
| 109 | # | ||
| 110 | # AT91RM9200 Implementations | ||
| 111 | # | ||
| 112 | |||
| 113 | # | ||
| 114 | # AT91RM9200 Board Type | ||
| 115 | # | ||
| 116 | # CONFIG_ARCH_AT91RM9200DK is not set | ||
| 117 | CONFIG_MACH_AT91RM9200EK=y | ||
| 118 | # CONFIG_MACH_CSB337 is not set | ||
| 119 | # CONFIG_MACH_CSB637 is not set | ||
| 120 | # CONFIG_MACH_CARMEVA is not set | ||
| 121 | # CONFIG_MACH_KB9200 is not set | ||
| 122 | # CONFIG_MACH_ATEB9200 is not set | ||
| 123 | |||
| 124 | # | ||
| 125 | # AT91RM9200 Feature Selections | ||
| 126 | # | ||
| 127 | CONFIG_AT91_PROGRAMMABLE_CLOCKS=y | ||
| 128 | |||
| 129 | # | ||
| 130 | # Processor Type | ||
| 131 | # | ||
| 132 | CONFIG_CPU_32=y | ||
| 133 | CONFIG_CPU_ARM920T=y | ||
| 134 | CONFIG_CPU_32v4=y | ||
| 135 | CONFIG_CPU_ABRT_EV4T=y | ||
| 136 | CONFIG_CPU_CACHE_V4WT=y | ||
| 137 | CONFIG_CPU_CACHE_VIVT=y | ||
| 138 | CONFIG_CPU_COPY_V4WB=y | ||
| 139 | CONFIG_CPU_TLB_V4WBI=y | ||
| 140 | |||
| 141 | # | ||
| 142 | # Processor Features | ||
| 143 | # | ||
| 144 | # CONFIG_ARM_THUMB is not set | ||
| 145 | # CONFIG_CPU_ICACHE_DISABLE is not set | ||
| 146 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
| 147 | # CONFIG_CPU_DCACHE_WRITETHROUGH is not set | ||
| 148 | |||
| 149 | # | ||
| 150 | # Bus support | ||
| 151 | # | ||
| 152 | CONFIG_ISA_DMA_API=y | ||
| 153 | |||
| 154 | # | ||
| 155 | # PCCARD (PCMCIA/CardBus) support | ||
| 156 | # | ||
| 157 | # CONFIG_PCCARD is not set | ||
| 158 | |||
| 159 | # | ||
| 160 | # Kernel Features | ||
| 161 | # | ||
| 162 | # CONFIG_PREEMPT is not set | ||
| 163 | # CONFIG_NO_IDLE_HZ is not set | ||
| 164 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | ||
| 165 | CONFIG_SELECT_MEMORY_MODEL=y | ||
| 166 | CONFIG_FLATMEM_MANUAL=y | ||
| 167 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
| 168 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
| 169 | CONFIG_FLATMEM=y | ||
| 170 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
| 171 | # CONFIG_SPARSEMEM_STATIC is not set | ||
| 172 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | ||
| 173 | CONFIG_LEDS=y | ||
| 174 | CONFIG_LEDS_TIMER=y | ||
| 175 | CONFIG_LEDS_CPU=y | ||
| 176 | CONFIG_ALIGNMENT_TRAP=y | ||
| 177 | |||
| 178 | # | ||
| 179 | # Boot options | ||
| 180 | # | ||
| 181 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
| 182 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
| 183 | CONFIG_CMDLINE="mem=32M console=ttyS0,115200 initrd=0x20410000,3145728 root=/dev/ram0 rw" | ||
| 184 | # CONFIG_XIP_KERNEL is not set | ||
| 185 | |||
| 186 | # | ||
| 187 | # Floating point emulation | ||
| 188 | # | ||
| 189 | |||
| 190 | # | ||
| 191 | # At least one emulation must be selected | ||
| 192 | # | ||
| 193 | CONFIG_FPE_NWFPE=y | ||
| 194 | # CONFIG_FPE_NWFPE_XP is not set | ||
| 195 | # CONFIG_FPE_FASTFPE is not set | ||
| 196 | |||
| 197 | # | ||
| 198 | # Userspace binary formats | ||
| 199 | # | ||
| 200 | CONFIG_BINFMT_ELF=y | ||
| 201 | # CONFIG_BINFMT_AOUT is not set | ||
| 202 | # CONFIG_BINFMT_MISC is not set | ||
| 203 | # CONFIG_ARTHUR is not set | ||
| 204 | |||
| 205 | # | ||
| 206 | # Power management options | ||
| 207 | # | ||
| 208 | # CONFIG_PM is not set | ||
| 209 | |||
| 210 | # | ||
| 211 | # Networking | ||
| 212 | # | ||
| 213 | CONFIG_NET=y | ||
| 214 | |||
| 215 | # | ||
| 216 | # Networking options | ||
| 217 | # | ||
| 218 | CONFIG_PACKET=y | ||
| 219 | # CONFIG_PACKET_MMAP is not set | ||
| 220 | CONFIG_UNIX=y | ||
| 221 | # CONFIG_NET_KEY is not set | ||
| 222 | CONFIG_INET=y | ||
| 223 | # CONFIG_IP_MULTICAST is not set | ||
| 224 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
| 225 | CONFIG_IP_FIB_HASH=y | ||
| 226 | CONFIG_IP_PNP=y | ||
| 227 | # CONFIG_IP_PNP_DHCP is not set | ||
| 228 | CONFIG_IP_PNP_BOOTP=y | ||
| 229 | # CONFIG_IP_PNP_RARP is not set | ||
| 230 | # CONFIG_NET_IPIP is not set | ||
| 231 | # CONFIG_NET_IPGRE is not set | ||
| 232 | # CONFIG_ARPD is not set | ||
| 233 | # CONFIG_SYN_COOKIES is not set | ||
| 234 | # CONFIG_INET_AH is not set | ||
| 235 | # CONFIG_INET_ESP is not set | ||
| 236 | # CONFIG_INET_IPCOMP is not set | ||
| 237 | # CONFIG_INET_TUNNEL is not set | ||
| 238 | CONFIG_INET_DIAG=y | ||
| 239 | CONFIG_INET_TCP_DIAG=y | ||
| 240 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
| 241 | CONFIG_TCP_CONG_BIC=y | ||
| 242 | # CONFIG_IPV6 is not set | ||
| 243 | # CONFIG_NETFILTER is not set | ||
| 244 | |||
| 245 | # | ||
| 246 | # DCCP Configuration (EXPERIMENTAL) | ||
| 247 | # | ||
| 248 | # CONFIG_IP_DCCP is not set | ||
| 249 | |||
| 250 | # | ||
| 251 | # SCTP Configuration (EXPERIMENTAL) | ||
| 252 | # | ||
| 253 | # CONFIG_IP_SCTP is not set | ||
| 254 | # CONFIG_ATM is not set | ||
| 255 | # CONFIG_BRIDGE is not set | ||
| 256 | # CONFIG_VLAN_8021Q is not set | ||
| 257 | # CONFIG_DECNET is not set | ||
| 258 | # CONFIG_LLC2 is not set | ||
| 259 | # CONFIG_IPX is not set | ||
| 260 | # CONFIG_ATALK is not set | ||
| 261 | # CONFIG_X25 is not set | ||
| 262 | # CONFIG_LAPB is not set | ||
| 263 | # CONFIG_NET_DIVERT is not set | ||
| 264 | # CONFIG_ECONET is not set | ||
| 265 | # CONFIG_WAN_ROUTER is not set | ||
| 266 | |||
| 267 | # | ||
| 268 | # QoS and/or fair queueing | ||
| 269 | # | ||
| 270 | # CONFIG_NET_SCHED is not set | ||
| 271 | |||
| 272 | # | ||
| 273 | # Network testing | ||
| 274 | # | ||
| 275 | # CONFIG_NET_PKTGEN is not set | ||
| 276 | # CONFIG_HAMRADIO is not set | ||
| 277 | # CONFIG_IRDA is not set | ||
| 278 | # CONFIG_BT is not set | ||
| 279 | # CONFIG_IEEE80211 is not set | ||
| 280 | |||
| 281 | # | ||
| 282 | # Device Drivers | ||
| 283 | # | ||
| 284 | |||
| 285 | # | ||
| 286 | # Generic Driver Options | ||
| 287 | # | ||
| 288 | CONFIG_STANDALONE=y | ||
| 289 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
| 290 | # CONFIG_FW_LOADER is not set | ||
| 291 | # CONFIG_DEBUG_DRIVER is not set | ||
| 292 | |||
| 293 | # | ||
| 294 | # Connector - unified userspace <-> kernelspace linker | ||
| 295 | # | ||
| 296 | # CONFIG_CONNECTOR is not set | ||
| 297 | |||
| 298 | # | ||
| 299 | # Memory Technology Devices (MTD) | ||
| 300 | # | ||
| 301 | CONFIG_MTD=y | ||
| 302 | # CONFIG_MTD_DEBUG is not set | ||
| 303 | # CONFIG_MTD_CONCAT is not set | ||
| 304 | CONFIG_MTD_PARTITIONS=y | ||
| 305 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
| 306 | CONFIG_MTD_CMDLINE_PARTS=y | ||
| 307 | # CONFIG_MTD_AFS_PARTS is not set | ||
| 308 | |||
| 309 | # | ||
| 310 | # User Modules And Translation Layers | ||
| 311 | # | ||
| 312 | CONFIG_MTD_CHAR=y | ||
| 313 | CONFIG_MTD_BLOCK=y | ||
| 314 | # CONFIG_FTL is not set | ||
| 315 | # CONFIG_NFTL is not set | ||
| 316 | # CONFIG_INFTL is not set | ||
| 317 | # CONFIG_RFD_FTL is not set | ||
| 318 | |||
| 319 | # | ||
| 320 | # RAM/ROM/Flash chip drivers | ||
| 321 | # | ||
| 322 | CONFIG_MTD_CFI=y | ||
| 323 | CONFIG_MTD_JEDECPROBE=y | ||
| 324 | CONFIG_MTD_GEN_PROBE=y | ||
| 325 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
| 326 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
| 327 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
| 328 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
| 329 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
| 330 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
| 331 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
| 332 | CONFIG_MTD_CFI_I1=y | ||
| 333 | CONFIG_MTD_CFI_I2=y | ||
| 334 | # CONFIG_MTD_CFI_I4 is not set | ||
| 335 | # CONFIG_MTD_CFI_I8 is not set | ||
| 336 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
| 337 | CONFIG_MTD_CFI_AMDSTD=y | ||
| 338 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
| 339 | # CONFIG_MTD_CFI_STAA is not set | ||
| 340 | CONFIG_MTD_CFI_UTIL=y | ||
| 341 | # CONFIG_MTD_RAM is not set | ||
| 342 | # CONFIG_MTD_ROM is not set | ||
| 343 | # CONFIG_MTD_ABSENT is not set | ||
| 344 | # CONFIG_MTD_XIP is not set | ||
| 345 | |||
| 346 | # | ||
| 347 | # Mapping drivers for chip access | ||
| 348 | # | ||
| 349 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
| 350 | CONFIG_MTD_PHYSMAP=y | ||
| 351 | CONFIG_MTD_PHYSMAP_START=0x10000000 | ||
| 352 | CONFIG_MTD_PHYSMAP_LEN=0x800000 | ||
| 353 | CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | ||
| 354 | # CONFIG_MTD_ARM_INTEGRATOR is not set | ||
| 355 | # CONFIG_MTD_IMPA7 is not set | ||
| 356 | # CONFIG_MTD_PLATRAM is not set | ||
| 357 | |||
| 358 | # | ||
| 359 | # Self-contained MTD device drivers | ||
| 360 | # | ||
| 361 | # CONFIG_MTD_SLRAM is not set | ||
| 362 | # CONFIG_MTD_PHRAM is not set | ||
| 363 | # CONFIG_MTD_MTDRAM is not set | ||
| 364 | # CONFIG_MTD_BLKMTD 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 | CONFIG_MTD_AT91_DATAFLASH=y | ||
| 374 | CONFIG_MTD_AT91_DATAFLASH_CARD=y | ||
| 375 | |||
| 376 | # | ||
| 377 | # NAND Flash Device Drivers | ||
| 378 | # | ||
| 379 | # CONFIG_MTD_NAND is not set | ||
| 380 | |||
| 381 | # | ||
| 382 | # OneNAND Flash Device Drivers | ||
| 383 | # | ||
| 384 | # CONFIG_MTD_ONENAND is not set | ||
| 385 | |||
| 386 | # | ||
| 387 | # Parallel port support | ||
| 388 | # | ||
| 389 | # CONFIG_PARPORT is not set | ||
| 390 | |||
| 391 | # | ||
| 392 | # Plug and Play support | ||
| 393 | # | ||
| 394 | |||
| 395 | # | ||
| 396 | # Block devices | ||
| 397 | # | ||
| 398 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
| 399 | # CONFIG_BLK_DEV_LOOP is not set | ||
| 400 | # CONFIG_BLK_DEV_NBD is not set | ||
| 401 | # CONFIG_BLK_DEV_UB is not set | ||
| 402 | CONFIG_BLK_DEV_RAM=y | ||
| 403 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
| 404 | CONFIG_BLK_DEV_RAM_SIZE=8192 | ||
| 405 | CONFIG_BLK_DEV_INITRD=y | ||
| 406 | # CONFIG_CDROM_PKTCDVD is not set | ||
| 407 | # CONFIG_ATA_OVER_ETH is not set | ||
| 408 | |||
| 409 | # | ||
| 410 | # SCSI device support | ||
| 411 | # | ||
| 412 | # CONFIG_RAID_ATTRS is not set | ||
| 413 | # CONFIG_SCSI is not set | ||
| 414 | |||
| 415 | # | ||
| 416 | # Multi-device support (RAID and LVM) | ||
| 417 | # | ||
| 418 | # CONFIG_MD is not set | ||
| 419 | |||
| 420 | # | ||
| 421 | # Fusion MPT device support | ||
| 422 | # | ||
| 423 | # CONFIG_FUSION is not set | ||
| 424 | |||
| 425 | # | ||
| 426 | # IEEE 1394 (FireWire) support | ||
| 427 | # | ||
| 428 | |||
| 429 | # | ||
| 430 | # I2O device support | ||
| 431 | # | ||
| 432 | |||
| 433 | # | ||
| 434 | # Network device support | ||
| 435 | # | ||
| 436 | CONFIG_NETDEVICES=y | ||
| 437 | # CONFIG_DUMMY is not set | ||
| 438 | # CONFIG_BONDING is not set | ||
| 439 | # CONFIG_EQUALIZER is not set | ||
| 440 | # CONFIG_TUN is not set | ||
| 441 | |||
| 442 | # | ||
| 443 | # PHY device support | ||
| 444 | # | ||
| 445 | # CONFIG_PHYLIB is not set | ||
| 446 | |||
| 447 | # | ||
| 448 | # Ethernet (10 or 100Mbit) | ||
| 449 | # | ||
| 450 | CONFIG_NET_ETHERNET=y | ||
| 451 | CONFIG_MII=y | ||
| 452 | CONFIG_ARM_AT91_ETHER=y | ||
| 453 | # CONFIG_SMC91X is not set | ||
| 454 | # CONFIG_DM9000 is not set | ||
| 455 | |||
| 456 | # | ||
| 457 | # Ethernet (1000 Mbit) | ||
| 458 | # | ||
| 459 | |||
| 460 | # | ||
| 461 | # Ethernet (10000 Mbit) | ||
| 462 | # | ||
| 463 | |||
| 464 | # | ||
| 465 | # Token Ring devices | ||
| 466 | # | ||
| 467 | |||
| 468 | # | ||
| 469 | # Wireless LAN (non-hamradio) | ||
| 470 | # | ||
| 471 | # CONFIG_NET_RADIO is not set | ||
| 472 | |||
| 473 | # | ||
| 474 | # Wan interfaces | ||
| 475 | # | ||
| 476 | # CONFIG_WAN is not set | ||
| 477 | # CONFIG_PPP is not set | ||
| 478 | # CONFIG_SLIP is not set | ||
| 479 | # CONFIG_SHAPER is not set | ||
| 480 | # CONFIG_NETCONSOLE is not set | ||
| 481 | # CONFIG_NETPOLL is not set | ||
| 482 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
| 483 | |||
| 484 | # | ||
| 485 | # ISDN subsystem | ||
| 486 | # | ||
| 487 | # CONFIG_ISDN is not set | ||
| 488 | |||
| 489 | # | ||
| 490 | # Input device support | ||
| 491 | # | ||
| 492 | CONFIG_INPUT=y | ||
| 493 | |||
| 494 | # | ||
| 495 | # Userland interfaces | ||
| 496 | # | ||
| 497 | CONFIG_INPUT_MOUSEDEV=y | ||
| 498 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
| 499 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
| 500 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
| 501 | # CONFIG_INPUT_JOYDEV is not set | ||
| 502 | # CONFIG_INPUT_TSDEV is not set | ||
| 503 | # CONFIG_INPUT_EVDEV is not set | ||
| 504 | # CONFIG_INPUT_EVBUG is not set | ||
| 505 | |||
| 506 | # | ||
| 507 | # Input Device Drivers | ||
| 508 | # | ||
| 509 | # CONFIG_INPUT_KEYBOARD is not set | ||
| 510 | # CONFIG_INPUT_MOUSE is not set | ||
| 511 | # CONFIG_INPUT_JOYSTICK is not set | ||
| 512 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
| 513 | # CONFIG_INPUT_MISC is not set | ||
| 514 | |||
| 515 | # | ||
| 516 | # Hardware I/O ports | ||
| 517 | # | ||
| 518 | # CONFIG_SERIO is not set | ||
| 519 | # CONFIG_GAMEPORT is not set | ||
| 520 | |||
| 521 | # | ||
| 522 | # Character devices | ||
| 523 | # | ||
| 524 | CONFIG_VT=y | ||
| 525 | CONFIG_VT_CONSOLE=y | ||
| 526 | CONFIG_HW_CONSOLE=y | ||
| 527 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
| 528 | |||
| 529 | # | ||
| 530 | # Serial drivers | ||
| 531 | # | ||
| 532 | # CONFIG_SERIAL_8250 is not set | ||
| 533 | |||
| 534 | # | ||
| 535 | # Non-8250 serial port support | ||
| 536 | # | ||
| 537 | CONFIG_SERIAL_AT91=y | ||
| 538 | CONFIG_SERIAL_AT91_CONSOLE=y | ||
| 539 | # CONFIG_SERIAL_AT91_TTYAT is not set | ||
| 540 | CONFIG_SERIAL_CORE=y | ||
| 541 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
| 542 | CONFIG_UNIX98_PTYS=y | ||
| 543 | CONFIG_LEGACY_PTYS=y | ||
| 544 | CONFIG_LEGACY_PTY_COUNT=256 | ||
| 545 | |||
| 546 | # | ||
| 547 | # IPMI | ||
| 548 | # | ||
| 549 | # CONFIG_IPMI_HANDLER is not set | ||
| 550 | |||
| 551 | # | ||
| 552 | # Watchdog Cards | ||
| 553 | # | ||
| 554 | CONFIG_WATCHDOG=y | ||
| 555 | CONFIG_WATCHDOG_NOWAYOUT=y | ||
| 556 | |||
| 557 | # | ||
| 558 | # Watchdog Device Drivers | ||
| 559 | # | ||
| 560 | # CONFIG_SOFT_WATCHDOG is not set | ||
| 561 | CONFIG_AT91_WATCHDOG=y | ||
| 562 | |||
| 563 | # | ||
| 564 | # USB-based Watchdog Cards | ||
| 565 | # | ||
| 566 | # CONFIG_USBPCWATCHDOG is not set | ||
| 567 | # CONFIG_NVRAM is not set | ||
| 568 | # CONFIG_RTC is not set | ||
| 569 | CONFIG_AT91_RTC=y | ||
| 570 | # CONFIG_DTLK is not set | ||
| 571 | # CONFIG_R3964 is not set | ||
| 572 | |||
| 573 | # | ||
| 574 | # Ftape, the floppy tape device driver | ||
| 575 | # | ||
| 576 | # CONFIG_RAW_DRIVER is not set | ||
| 577 | |||
| 578 | # | ||
| 579 | # TPM devices | ||
| 580 | # | ||
| 581 | # CONFIG_TCG_TPM is not set | ||
| 582 | # CONFIG_TELCLOCK is not set | ||
| 583 | CONFIG_AT91_SPI=y | ||
| 584 | CONFIG_AT91_SPIDEV=y | ||
| 585 | |||
| 586 | # | ||
| 587 | # I2C support | ||
| 588 | # | ||
| 589 | CONFIG_I2C=y | ||
| 590 | CONFIG_I2C_CHARDEV=y | ||
| 591 | |||
| 592 | # | ||
| 593 | # I2C Algorithms | ||
| 594 | # | ||
| 595 | # CONFIG_I2C_ALGOBIT is not set | ||
| 596 | # CONFIG_I2C_ALGOPCF is not set | ||
| 597 | # CONFIG_I2C_ALGOPCA is not set | ||
| 598 | |||
| 599 | # | ||
| 600 | # I2C Hardware Bus support | ||
| 601 | # | ||
| 602 | CONFIG_I2C_AT91=y | ||
| 603 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
| 604 | # CONFIG_I2C_STUB is not set | ||
| 605 | # CONFIG_I2C_PCA_ISA is not set | ||
| 606 | |||
| 607 | # | ||
| 608 | # Miscellaneous I2C Chip support | ||
| 609 | # | ||
| 610 | # CONFIG_SENSORS_DS1337 is not set | ||
| 611 | # CONFIG_SENSORS_DS1374 is not set | ||
| 612 | # CONFIG_SENSORS_EEPROM is not set | ||
| 613 | # CONFIG_SENSORS_PCF8574 is not set | ||
| 614 | # CONFIG_SENSORS_PCA9539 is not set | ||
| 615 | # CONFIG_SENSORS_PCF8591 is not set | ||
| 616 | # CONFIG_SENSORS_RTC8564 is not set | ||
| 617 | # CONFIG_SENSORS_MAX6875 is not set | ||
| 618 | # CONFIG_RTC_X1205_I2C is not set | ||
| 619 | # CONFIG_I2C_DEBUG_CORE is not set | ||
| 620 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
| 621 | # CONFIG_I2C_DEBUG_BUS is not set | ||
| 622 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
| 623 | |||
| 624 | # | ||
| 625 | # Hardware Monitoring support | ||
| 626 | # | ||
| 627 | CONFIG_HWMON=y | ||
| 628 | # CONFIG_HWMON_VID is not set | ||
| 629 | # CONFIG_SENSORS_ADM1021 is not set | ||
| 630 | # CONFIG_SENSORS_ADM1025 is not set | ||
| 631 | # CONFIG_SENSORS_ADM1026 is not set | ||
| 632 | # CONFIG_SENSORS_ADM1031 is not set | ||
| 633 | # CONFIG_SENSORS_ADM9240 is not set | ||
| 634 | # CONFIG_SENSORS_ASB100 is not set | ||
| 635 | # CONFIG_SENSORS_ATXP1 is not set | ||
| 636 | # CONFIG_SENSORS_DS1621 is not set | ||
| 637 | # CONFIG_SENSORS_FSCHER is not set | ||
| 638 | # CONFIG_SENSORS_FSCPOS is not set | ||
| 639 | # CONFIG_SENSORS_GL518SM is not set | ||
| 640 | # CONFIG_SENSORS_GL520SM is not set | ||
| 641 | # CONFIG_SENSORS_IT87 is not set | ||
| 642 | # CONFIG_SENSORS_LM63 is not set | ||
| 643 | # CONFIG_SENSORS_LM75 is not set | ||
| 644 | # CONFIG_SENSORS_LM77 is not set | ||
| 645 | # CONFIG_SENSORS_LM78 is not set | ||
| 646 | # CONFIG_SENSORS_LM80 is not set | ||
| 647 | # CONFIG_SENSORS_LM83 is not set | ||
| 648 | # CONFIG_SENSORS_LM85 is not set | ||
| 649 | # CONFIG_SENSORS_LM87 is not set | ||
| 650 | # CONFIG_SENSORS_LM90 is not set | ||
| 651 | # CONFIG_SENSORS_LM92 is not set | ||
| 652 | # CONFIG_SENSORS_MAX1619 is not set | ||
| 653 | # CONFIG_SENSORS_PC87360 is not set | ||
| 654 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
| 655 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
| 656 | # CONFIG_SENSORS_W83781D is not set | ||
| 657 | # CONFIG_SENSORS_W83792D is not set | ||
| 658 | # CONFIG_SENSORS_W83L785TS is not set | ||
| 659 | # CONFIG_SENSORS_W83627HF is not set | ||
| 660 | # CONFIG_SENSORS_W83627EHF is not set | ||
| 661 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
| 662 | |||
| 663 | # | ||
| 664 | # Misc devices | ||
| 665 | # | ||
| 666 | |||
| 667 | # | ||
| 668 | # Multimedia Capabilities Port drivers | ||
| 669 | # | ||
| 670 | |||
| 671 | # | ||
| 672 | # Multimedia devices | ||
| 673 | # | ||
| 674 | # CONFIG_VIDEO_DEV is not set | ||
| 675 | |||
| 676 | # | ||
| 677 | # Digital Video Broadcasting Devices | ||
| 678 | # | ||
| 679 | # CONFIG_DVB is not set | ||
| 680 | |||
| 681 | # | ||
| 682 | # Graphics support | ||
| 683 | # | ||
| 684 | CONFIG_FB=y | ||
| 685 | CONFIG_FB_CFB_FILLRECT=y | ||
| 686 | CONFIG_FB_CFB_COPYAREA=y | ||
| 687 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
| 688 | # CONFIG_FB_MACMODES is not set | ||
| 689 | # CONFIG_FB_MODE_HELPERS is not set | ||
| 690 | # CONFIG_FB_TILEBLITTING is not set | ||
| 691 | CONFIG_FB_S1D13XXX=y | ||
| 692 | # CONFIG_FB_VIRTUAL is not set | ||
| 693 | |||
| 694 | # | ||
| 695 | # Console display driver support | ||
| 696 | # | ||
| 697 | # CONFIG_VGA_CONSOLE is not set | ||
| 698 | CONFIG_DUMMY_CONSOLE=y | ||
| 699 | # CONFIG_FRAMEBUFFER_CONSOLE is not set | ||
| 700 | |||
| 701 | # | ||
| 702 | # Logo configuration | ||
| 703 | # | ||
| 704 | # CONFIG_LOGO is not set | ||
| 705 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
| 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=y | ||
| 718 | CONFIG_USB_DEBUG=y | ||
| 719 | |||
| 720 | # | ||
| 721 | # Miscellaneous USB options | ||
| 722 | # | ||
| 723 | CONFIG_USB_DEVICEFS=y | ||
| 724 | # CONFIG_USB_BANDWIDTH is not set | ||
| 725 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
| 726 | # CONFIG_USB_OTG is not set | ||
| 727 | |||
| 728 | # | ||
| 729 | # USB Host Controller Drivers | ||
| 730 | # | ||
| 731 | # CONFIG_USB_ISP116X_HCD is not set | ||
| 732 | CONFIG_USB_OHCI_HCD=y | ||
| 733 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | ||
| 734 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | ||
| 735 | # CONFIG_USB_SL811_HCD is not set | ||
| 736 | |||
| 737 | # | ||
| 738 | # USB Device Class drivers | ||
| 739 | # | ||
| 740 | # CONFIG_USB_ACM is not set | ||
| 741 | # CONFIG_USB_PRINTER is not set | ||
| 742 | |||
| 743 | # | ||
| 744 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
| 745 | # | ||
| 746 | |||
| 747 | # | ||
| 748 | # may also be needed; see USB_STORAGE Help for more information | ||
| 749 | # | ||
| 750 | # CONFIG_USB_STORAGE is not set | ||
| 751 | |||
| 752 | # | ||
| 753 | # USB Input Devices | ||
| 754 | # | ||
| 755 | # CONFIG_USB_HID is not set | ||
| 756 | |||
| 757 | # | ||
| 758 | # USB HID Boot Protocol drivers | ||
| 759 | # | ||
| 760 | # CONFIG_USB_KBD is not set | ||
| 761 | # CONFIG_USB_MOUSE is not set | ||
| 762 | # CONFIG_USB_AIPTEK is not set | ||
| 763 | # CONFIG_USB_WACOM is not set | ||
| 764 | # CONFIG_USB_ACECAD is not set | ||
| 765 | # CONFIG_USB_KBTAB is not set | ||
| 766 | # CONFIG_USB_POWERMATE is not set | ||
| 767 | # CONFIG_USB_MTOUCH is not set | ||
| 768 | # CONFIG_USB_ITMTOUCH is not set | ||
| 769 | # CONFIG_USB_EGALAX is not set | ||
| 770 | # CONFIG_USB_YEALINK is not set | ||
| 771 | # CONFIG_USB_XPAD is not set | ||
| 772 | # CONFIG_USB_ATI_REMOTE is not set | ||
| 773 | # CONFIG_USB_KEYSPAN_REMOTE is not set | ||
| 774 | # CONFIG_USB_APPLETOUCH is not set | ||
| 775 | |||
| 776 | # | ||
| 777 | # USB Imaging devices | ||
| 778 | # | ||
| 779 | # CONFIG_USB_MDC800 is not set | ||
| 780 | |||
| 781 | # | ||
| 782 | # USB Multimedia devices | ||
| 783 | # | ||
| 784 | # CONFIG_USB_DABUSB is not set | ||
| 785 | |||
| 786 | # | ||
| 787 | # Video4Linux support is needed for USB Multimedia device support | ||
| 788 | # | ||
| 789 | |||
| 790 | # | ||
| 791 | # USB Network Adapters | ||
| 792 | # | ||
| 793 | # CONFIG_USB_CATC is not set | ||
| 794 | # CONFIG_USB_KAWETH is not set | ||
| 795 | # CONFIG_USB_PEGASUS is not set | ||
| 796 | # CONFIG_USB_RTL8150 is not set | ||
| 797 | # CONFIG_USB_USBNET is not set | ||
| 798 | CONFIG_USB_MON=y | ||
| 799 | |||
| 800 | # | ||
| 801 | # USB port drivers | ||
| 802 | # | ||
| 803 | |||
| 804 | # | ||
| 805 | # USB Serial Converter support | ||
| 806 | # | ||
| 807 | # CONFIG_USB_SERIAL is not set | ||
| 808 | |||
| 809 | # | ||
| 810 | # USB Miscellaneous drivers | ||
| 811 | # | ||
| 812 | # CONFIG_USB_EMI62 is not set | ||
| 813 | # CONFIG_USB_EMI26 is not set | ||
| 814 | # CONFIG_USB_AUERSWALD is not set | ||
| 815 | # CONFIG_USB_RIO500 is not set | ||
| 816 | # CONFIG_USB_LEGOTOWER is not set | ||
| 817 | # CONFIG_USB_LCD is not set | ||
| 818 | # CONFIG_USB_LED is not set | ||
| 819 | # CONFIG_USB_CYTHERM is not set | ||
| 820 | # CONFIG_USB_PHIDGETKIT is not set | ||
| 821 | # CONFIG_USB_PHIDGETSERVO is not set | ||
| 822 | # CONFIG_USB_IDMOUSE is not set | ||
| 823 | # CONFIG_USB_LD is not set | ||
| 824 | # CONFIG_USB_TEST is not set | ||
| 825 | |||
| 826 | # | ||
| 827 | # USB DSL modem support | ||
| 828 | # | ||
| 829 | |||
| 830 | # | ||
| 831 | # USB Gadget Support | ||
| 832 | # | ||
| 833 | CONFIG_USB_GADGET=y | ||
| 834 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | ||
| 835 | CONFIG_USB_GADGET_SELECTED=y | ||
| 836 | # CONFIG_USB_GADGET_NET2280 is not set | ||
| 837 | # CONFIG_USB_GADGET_PXA2XX is not set | ||
| 838 | # CONFIG_USB_GADGET_GOKU is not set | ||
| 839 | # CONFIG_USB_GADGET_LH7A40X is not set | ||
| 840 | # CONFIG_USB_GADGET_OMAP is not set | ||
| 841 | CONFIG_USB_GADGET_AT91=y | ||
| 842 | CONFIG_USB_AT91=y | ||
| 843 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | ||
| 844 | # CONFIG_USB_GADGET_DUALSPEED is not set | ||
| 845 | # CONFIG_USB_ZERO is not set | ||
| 846 | # CONFIG_USB_ETH is not set | ||
| 847 | # CONFIG_USB_GADGETFS is not set | ||
| 848 | # CONFIG_USB_FILE_STORAGE is not set | ||
| 849 | # CONFIG_USB_G_SERIAL is not set | ||
| 850 | |||
| 851 | # | ||
| 852 | # MMC/SD Card support | ||
| 853 | # | ||
| 854 | CONFIG_MMC=y | ||
| 855 | # CONFIG_MMC_DEBUG is not set | ||
| 856 | CONFIG_MMC_BLOCK=y | ||
| 857 | # CONFIG_MMC_WBSD is not set | ||
| 858 | CONFIG_MMC_AT91RM9200=y | ||
| 859 | |||
| 860 | # | ||
| 861 | # File systems | ||
| 862 | # | ||
| 863 | CONFIG_EXT2_FS=y | ||
| 864 | # CONFIG_EXT2_FS_XATTR is not set | ||
| 865 | # CONFIG_EXT2_FS_XIP is not set | ||
| 866 | # CONFIG_EXT3_FS is not set | ||
| 867 | # CONFIG_JBD is not set | ||
| 868 | # CONFIG_REISERFS_FS is not set | ||
| 869 | # CONFIG_JFS_FS is not set | ||
| 870 | # CONFIG_FS_POSIX_ACL is not set | ||
| 871 | # CONFIG_XFS_FS is not set | ||
| 872 | # CONFIG_MINIX_FS is not set | ||
| 873 | # CONFIG_ROMFS_FS is not set | ||
| 874 | CONFIG_INOTIFY=y | ||
| 875 | # CONFIG_QUOTA is not set | ||
| 876 | CONFIG_DNOTIFY=y | ||
| 877 | # CONFIG_AUTOFS_FS is not set | ||
| 878 | # CONFIG_AUTOFS4_FS is not set | ||
| 879 | # CONFIG_FUSE_FS is not set | ||
| 880 | |||
| 881 | # | ||
| 882 | # CD-ROM/DVD Filesystems | ||
| 883 | # | ||
| 884 | # CONFIG_ISO9660_FS is not set | ||
| 885 | # CONFIG_UDF_FS is not set | ||
| 886 | |||
| 887 | # | ||
| 888 | # DOS/FAT/NT Filesystems | ||
| 889 | # | ||
| 890 | # CONFIG_MSDOS_FS is not set | ||
| 891 | # CONFIG_VFAT_FS is not set | ||
| 892 | # CONFIG_NTFS_FS is not set | ||
| 893 | |||
| 894 | # | ||
| 895 | # Pseudo filesystems | ||
| 896 | # | ||
| 897 | CONFIG_PROC_FS=y | ||
| 898 | CONFIG_SYSFS=y | ||
| 899 | CONFIG_TMPFS=y | ||
| 900 | # CONFIG_HUGETLB_PAGE is not set | ||
| 901 | CONFIG_RAMFS=y | ||
| 902 | # CONFIG_RELAYFS_FS is not set | ||
| 903 | |||
| 904 | # | ||
| 905 | # Miscellaneous filesystems | ||
| 906 | # | ||
| 907 | # CONFIG_ADFS_FS is not set | ||
| 908 | # CONFIG_AFFS_FS is not set | ||
| 909 | # CONFIG_HFS_FS is not set | ||
| 910 | # CONFIG_HFSPLUS_FS is not set | ||
| 911 | # CONFIG_BEFS_FS is not set | ||
| 912 | # CONFIG_BFS_FS is not set | ||
| 913 | # CONFIG_EFS_FS is not set | ||
| 914 | # CONFIG_JFFS_FS is not set | ||
| 915 | # CONFIG_JFFS2_FS is not set | ||
| 916 | CONFIG_CRAMFS=y | ||
| 917 | # CONFIG_VXFS_FS is not set | ||
| 918 | # CONFIG_HPFS_FS is not set | ||
| 919 | # CONFIG_QNX4FS_FS is not set | ||
| 920 | # CONFIG_SYSV_FS is not set | ||
| 921 | # CONFIG_UFS_FS is not set | ||
| 922 | |||
| 923 | # | ||
| 924 | # Network File Systems | ||
| 925 | # | ||
| 926 | # CONFIG_NFS_FS is not set | ||
| 927 | # CONFIG_NFSD is not set | ||
| 928 | # CONFIG_SMB_FS is not set | ||
| 929 | # CONFIG_CIFS is not set | ||
| 930 | # CONFIG_NCP_FS is not set | ||
| 931 | # CONFIG_CODA_FS is not set | ||
| 932 | # CONFIG_AFS_FS is not set | ||
| 933 | # CONFIG_9P_FS is not set | ||
| 934 | |||
| 935 | # | ||
| 936 | # Partition Types | ||
| 937 | # | ||
| 938 | # CONFIG_PARTITION_ADVANCED is not set | ||
| 939 | CONFIG_MSDOS_PARTITION=y | ||
| 940 | |||
| 941 | # | ||
| 942 | # Native Language Support | ||
| 943 | # | ||
| 944 | # CONFIG_NLS is not set | ||
| 945 | |||
| 946 | # | ||
| 947 | # Profiling support | ||
| 948 | # | ||
| 949 | # CONFIG_PROFILING is not set | ||
| 950 | |||
| 951 | # | ||
| 952 | # Kernel hacking | ||
| 953 | # | ||
| 954 | # CONFIG_PRINTK_TIME is not set | ||
| 955 | CONFIG_DEBUG_KERNEL=y | ||
| 956 | # CONFIG_MAGIC_SYSRQ is not set | ||
| 957 | CONFIG_LOG_BUF_SHIFT=14 | ||
| 958 | CONFIG_DETECT_SOFTLOCKUP=y | ||
| 959 | # CONFIG_SCHEDSTATS is not set | ||
| 960 | # CONFIG_DEBUG_SLAB is not set | ||
| 961 | # CONFIG_DEBUG_SPINLOCK is not set | ||
| 962 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
| 963 | # CONFIG_DEBUG_KOBJECT is not set | ||
| 964 | CONFIG_DEBUG_BUGVERBOSE=y | ||
| 965 | # CONFIG_DEBUG_INFO is not set | ||
| 966 | # CONFIG_DEBUG_FS is not set | ||
| 967 | # CONFIG_DEBUG_VM is not set | ||
| 968 | CONFIG_FRAME_POINTER=y | ||
| 969 | # CONFIG_RCU_TORTURE_TEST is not set | ||
| 970 | CONFIG_DEBUG_USER=y | ||
| 971 | # CONFIG_DEBUG_WAITQ is not set | ||
| 972 | # CONFIG_DEBUG_ERRORS is not set | ||
| 973 | CONFIG_DEBUG_LL=y | ||
| 974 | # CONFIG_DEBUG_ICEDCC is not set | ||
| 975 | |||
| 976 | # | ||
| 977 | # Security options | ||
| 978 | # | ||
| 979 | # CONFIG_KEYS is not set | ||
| 980 | # CONFIG_SECURITY is not set | ||
| 981 | |||
| 982 | # | ||
| 983 | # Cryptographic options | ||
| 984 | # | ||
| 985 | # CONFIG_CRYPTO is not set | ||
| 986 | |||
| 987 | # | ||
| 988 | # Hardware crypto devices | ||
| 989 | # | ||
| 990 | |||
| 991 | # | ||
| 992 | # Library routines | ||
| 993 | # | ||
| 994 | # CONFIG_CRC_CCITT is not set | ||
| 995 | # CONFIG_CRC16 is not set | ||
| 996 | CONFIG_CRC32=y | ||
| 997 | # CONFIG_LIBCRC32C is not set | ||
| 998 | CONFIG_ZLIB_INFLATE=y | ||
diff --git a/arch/arm/configs/csb337_defconfig b/arch/arm/configs/csb337_defconfig new file mode 100644 index 000000000000..885a3184830a --- /dev/null +++ b/arch/arm/configs/csb337_defconfig | |||
| @@ -0,0 +1,1136 @@ | |||
| 1 | # | ||
| 2 | # Automatically generated make config: don't edit | ||
| 3 | # Linux kernel version: 2.6.15 | ||
| 4 | # Mon Jan 9 21:51:31 2006 | ||
| 5 | # | ||
| 6 | CONFIG_ARM=y | ||
| 7 | CONFIG_MMU=y | ||
| 8 | CONFIG_UID16=y | ||
| 9 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
| 10 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
| 11 | |||
| 12 | # | ||
| 13 | # Code maturity level options | ||
| 14 | # | ||
| 15 | CONFIG_EXPERIMENTAL=y | ||
| 16 | CONFIG_CLEAN_COMPILE=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_HOTPLUG=y | ||
| 32 | CONFIG_KOBJECT_UEVENT=y | ||
| 33 | # CONFIG_IKCONFIG is not set | ||
| 34 | CONFIG_INITRAMFS_SOURCE="" | ||
| 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_PRINTK=y | ||
| 41 | CONFIG_BUG=y | ||
| 42 | CONFIG_BASE_FULL=y | ||
| 43 | CONFIG_FUTEX=y | ||
| 44 | CONFIG_EPOLL=y | ||
| 45 | CONFIG_SHMEM=y | ||
| 46 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 47 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 48 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 49 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 50 | # CONFIG_TINY_SHMEM is not set | ||
| 51 | CONFIG_BASE_SMALL=0 | ||
| 52 | |||
| 53 | # | ||
| 54 | # Loadable module support | ||
| 55 | # | ||
| 56 | CONFIG_MODULES=y | ||
| 57 | CONFIG_MODULE_UNLOAD=y | ||
| 58 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
| 59 | CONFIG_OBSOLETE_MODPARM=y | ||
| 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 | |||
| 68 | # | ||
| 69 | # IO Schedulers | ||
| 70 | # | ||
| 71 | CONFIG_IOSCHED_NOOP=y | ||
| 72 | CONFIG_IOSCHED_AS=y | ||
| 73 | CONFIG_IOSCHED_DEADLINE=y | ||
| 74 | CONFIG_IOSCHED_CFQ=y | ||
| 75 | CONFIG_DEFAULT_AS=y | ||
| 76 | # CONFIG_DEFAULT_DEADLINE is not set | ||
| 77 | # CONFIG_DEFAULT_CFQ is not set | ||
| 78 | # CONFIG_DEFAULT_NOOP is not set | ||
| 79 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
| 80 | |||
| 81 | # | ||
| 82 | # System Type | ||
| 83 | # | ||
| 84 | # CONFIG_ARCH_CLPS7500 is not set | ||
| 85 | # CONFIG_ARCH_CLPS711X is not set | ||
| 86 | # CONFIG_ARCH_CO285 is not set | ||
| 87 | # CONFIG_ARCH_EBSA110 is not set | ||
| 88 | # CONFIG_ARCH_CAMELOT is not set | ||
| 89 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
| 90 | # CONFIG_ARCH_INTEGRATOR is not set | ||
| 91 | # CONFIG_ARCH_IOP3XX is not set | ||
| 92 | # CONFIG_ARCH_IXP4XX is not set | ||
| 93 | # CONFIG_ARCH_IXP2000 is not set | ||
| 94 | # CONFIG_ARCH_L7200 is not set | ||
| 95 | # CONFIG_ARCH_PXA is not set | ||
| 96 | # CONFIG_ARCH_RPC is not set | ||
| 97 | # CONFIG_ARCH_SA1100 is not set | ||
| 98 | # CONFIG_ARCH_S3C2410 is not set | ||
| 99 | # CONFIG_ARCH_SHARK is not set | ||
| 100 | # CONFIG_ARCH_LH7A40X is not set | ||
| 101 | # CONFIG_ARCH_OMAP is not set | ||
| 102 | # CONFIG_ARCH_VERSATILE is not set | ||
| 103 | # CONFIG_ARCH_REALVIEW is not set | ||
| 104 | # CONFIG_ARCH_IMX is not set | ||
| 105 | # CONFIG_ARCH_H720X is not set | ||
| 106 | # CONFIG_ARCH_AAEC2000 is not set | ||
| 107 | CONFIG_ARCH_AT91RM9200=y | ||
| 108 | |||
| 109 | # | ||
| 110 | # AT91RM9200 Implementations | ||
| 111 | # | ||
| 112 | |||
| 113 | # | ||
| 114 | # AT91RM9200 Board Type | ||
| 115 | # | ||
| 116 | # CONFIG_ARCH_AT91RM9200DK is not set | ||
| 117 | # CONFIG_MACH_AT91RM9200EK is not set | ||
| 118 | CONFIG_MACH_CSB337=y | ||
| 119 | # CONFIG_MACH_CSB637 is not set | ||
| 120 | # CONFIG_MACH_CARMEVA is not set | ||
| 121 | # CONFIG_MACH_KB9200 is not set | ||
| 122 | # CONFIG_MACH_ATEB9200 is not set | ||
| 123 | |||
| 124 | # | ||
| 125 | # AT91RM9200 Feature Selections | ||
| 126 | # | ||
| 127 | CONFIG_AT91_PROGRAMMABLE_CLOCKS=y | ||
| 128 | |||
| 129 | # | ||
| 130 | # Processor Type | ||
| 131 | # | ||
| 132 | CONFIG_CPU_32=y | ||
| 133 | CONFIG_CPU_ARM920T=y | ||
| 134 | CONFIG_CPU_32v4=y | ||
| 135 | CONFIG_CPU_ABRT_EV4T=y | ||
| 136 | CONFIG_CPU_CACHE_V4WT=y | ||
| 137 | CONFIG_CPU_CACHE_VIVT=y | ||
| 138 | CONFIG_CPU_COPY_V4WB=y | ||
| 139 | CONFIG_CPU_TLB_V4WBI=y | ||
| 140 | |||
| 141 | # | ||
| 142 | # Processor Features | ||
| 143 | # | ||
| 144 | # CONFIG_ARM_THUMB is not set | ||
| 145 | # CONFIG_CPU_ICACHE_DISABLE is not set | ||
| 146 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
| 147 | # CONFIG_CPU_DCACHE_WRITETHROUGH is not set | ||
| 148 | |||
| 149 | # | ||
| 150 | # Bus support | ||
| 151 | # | ||
| 152 | CONFIG_ISA_DMA_API=y | ||
| 153 | |||
| 154 | # | ||
| 155 | # PCCARD (PCMCIA/CardBus) support | ||
| 156 | # | ||
| 157 | CONFIG_PCCARD=y | ||
| 158 | # CONFIG_PCMCIA_DEBUG is not set | ||
| 159 | CONFIG_PCMCIA=y | ||
| 160 | CONFIG_PCMCIA_LOAD_CIS=y | ||
| 161 | CONFIG_PCMCIA_IOCTL=y | ||
| 162 | |||
| 163 | # | ||
| 164 | # PC-card bridges | ||
| 165 | # | ||
| 166 | CONFIG_AT91_CF=y | ||
| 167 | |||
| 168 | # | ||
| 169 | # Kernel Features | ||
| 170 | # | ||
| 171 | # CONFIG_PREEMPT is not set | ||
| 172 | # CONFIG_NO_IDLE_HZ is not set | ||
| 173 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | ||
| 174 | CONFIG_SELECT_MEMORY_MODEL=y | ||
| 175 | CONFIG_FLATMEM_MANUAL=y | ||
| 176 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
| 177 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
| 178 | CONFIG_FLATMEM=y | ||
| 179 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
| 180 | # CONFIG_SPARSEMEM_STATIC is not set | ||
| 181 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | ||
| 182 | CONFIG_LEDS=y | ||
| 183 | CONFIG_LEDS_TIMER=y | ||
| 184 | CONFIG_LEDS_CPU=y | ||
| 185 | CONFIG_ALIGNMENT_TRAP=y | ||
| 186 | |||
| 187 | # | ||
| 188 | # Boot options | ||
| 189 | # | ||
| 190 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
| 191 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
| 192 | CONFIG_CMDLINE="mem=32M console=ttyS0,38400 initrd=0x20410000,3145728 root=/dev/ram0 rw" | ||
| 193 | # CONFIG_XIP_KERNEL is not set | ||
| 194 | |||
| 195 | # | ||
| 196 | # Floating point emulation | ||
| 197 | # | ||
| 198 | |||
| 199 | # | ||
| 200 | # At least one emulation must be selected | ||
| 201 | # | ||
| 202 | CONFIG_FPE_NWFPE=y | ||
| 203 | # CONFIG_FPE_NWFPE_XP is not set | ||
| 204 | # CONFIG_FPE_FASTFPE is not set | ||
| 205 | |||
| 206 | # | ||
| 207 | # Userspace binary formats | ||
| 208 | # | ||
| 209 | CONFIG_BINFMT_ELF=y | ||
| 210 | # CONFIG_BINFMT_AOUT is not set | ||
| 211 | # CONFIG_BINFMT_MISC is not set | ||
| 212 | # CONFIG_ARTHUR is not set | ||
| 213 | |||
| 214 | # | ||
| 215 | # Power management options | ||
| 216 | # | ||
| 217 | # CONFIG_PM is not set | ||
| 218 | |||
| 219 | # | ||
| 220 | # Networking | ||
| 221 | # | ||
| 222 | CONFIG_NET=y | ||
| 223 | |||
| 224 | # | ||
| 225 | # Networking options | ||
| 226 | # | ||
| 227 | CONFIG_PACKET=y | ||
| 228 | # CONFIG_PACKET_MMAP is not set | ||
| 229 | CONFIG_UNIX=y | ||
| 230 | # CONFIG_NET_KEY is not set | ||
| 231 | CONFIG_INET=y | ||
| 232 | # CONFIG_IP_MULTICAST is not set | ||
| 233 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
| 234 | CONFIG_IP_FIB_HASH=y | ||
| 235 | CONFIG_IP_PNP=y | ||
| 236 | CONFIG_IP_PNP_DHCP=y | ||
| 237 | CONFIG_IP_PNP_BOOTP=y | ||
| 238 | # CONFIG_IP_PNP_RARP is not set | ||
| 239 | # CONFIG_NET_IPIP is not set | ||
| 240 | # CONFIG_NET_IPGRE is not set | ||
| 241 | # CONFIG_ARPD is not set | ||
| 242 | # CONFIG_SYN_COOKIES is not set | ||
| 243 | # CONFIG_INET_AH is not set | ||
| 244 | # CONFIG_INET_ESP is not set | ||
| 245 | # CONFIG_INET_IPCOMP is not set | ||
| 246 | # CONFIG_INET_TUNNEL is not set | ||
| 247 | CONFIG_INET_DIAG=y | ||
| 248 | CONFIG_INET_TCP_DIAG=y | ||
| 249 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
| 250 | CONFIG_TCP_CONG_BIC=y | ||
| 251 | # CONFIG_IPV6 is not set | ||
| 252 | # CONFIG_NETFILTER is not set | ||
| 253 | |||
| 254 | # | ||
| 255 | # DCCP Configuration (EXPERIMENTAL) | ||
| 256 | # | ||
| 257 | # CONFIG_IP_DCCP is not set | ||
| 258 | |||
| 259 | # | ||
| 260 | # SCTP Configuration (EXPERIMENTAL) | ||
| 261 | # | ||
| 262 | # CONFIG_IP_SCTP is not set | ||
| 263 | # CONFIG_ATM is not set | ||
| 264 | # CONFIG_BRIDGE is not set | ||
| 265 | # CONFIG_VLAN_8021Q is not set | ||
| 266 | # CONFIG_DECNET is not set | ||
| 267 | # CONFIG_LLC2 is not set | ||
| 268 | # CONFIG_IPX is not set | ||
| 269 | # CONFIG_ATALK is not set | ||
| 270 | # CONFIG_X25 is not set | ||
| 271 | # CONFIG_LAPB is not set | ||
| 272 | # CONFIG_NET_DIVERT is not set | ||
| 273 | # CONFIG_ECONET is not set | ||
| 274 | # CONFIG_WAN_ROUTER is not set | ||
| 275 | |||
| 276 | # | ||
| 277 | # QoS and/or fair queueing | ||
| 278 | # | ||
| 279 | # CONFIG_NET_SCHED is not set | ||
| 280 | |||
| 281 | # | ||
| 282 | # Network testing | ||
| 283 | # | ||
| 284 | # CONFIG_NET_PKTGEN is not set | ||
| 285 | # CONFIG_HAMRADIO is not set | ||
| 286 | # CONFIG_IRDA is not set | ||
| 287 | # CONFIG_BT is not set | ||
| 288 | # CONFIG_IEEE80211 is not set | ||
| 289 | |||
| 290 | # | ||
| 291 | # Device Drivers | ||
| 292 | # | ||
| 293 | |||
| 294 | # | ||
| 295 | # Generic Driver Options | ||
| 296 | # | ||
| 297 | CONFIG_STANDALONE=y | ||
| 298 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
| 299 | CONFIG_FW_LOADER=y | ||
| 300 | # CONFIG_DEBUG_DRIVER is not set | ||
| 301 | |||
| 302 | # | ||
| 303 | # Connector - unified userspace <-> kernelspace linker | ||
| 304 | # | ||
| 305 | # CONFIG_CONNECTOR is not set | ||
| 306 | |||
| 307 | # | ||
| 308 | # Memory Technology Devices (MTD) | ||
| 309 | # | ||
| 310 | CONFIG_MTD=y | ||
| 311 | # CONFIG_MTD_DEBUG is not set | ||
| 312 | # CONFIG_MTD_CONCAT is not set | ||
| 313 | CONFIG_MTD_PARTITIONS=y | ||
| 314 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
| 315 | CONFIG_MTD_CMDLINE_PARTS=y | ||
| 316 | # CONFIG_MTD_AFS_PARTS is not set | ||
| 317 | |||
| 318 | # | ||
| 319 | # User Modules And Translation Layers | ||
| 320 | # | ||
| 321 | CONFIG_MTD_CHAR=y | ||
| 322 | CONFIG_MTD_BLOCK=y | ||
| 323 | # CONFIG_FTL is not set | ||
| 324 | # CONFIG_NFTL is not set | ||
| 325 | # CONFIG_INFTL is not set | ||
| 326 | # CONFIG_RFD_FTL is not set | ||
| 327 | |||
| 328 | # | ||
| 329 | # RAM/ROM/Flash chip drivers | ||
| 330 | # | ||
| 331 | CONFIG_MTD_CFI=y | ||
| 332 | # CONFIG_MTD_JEDECPROBE is not set | ||
| 333 | CONFIG_MTD_GEN_PROBE=y | ||
| 334 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
| 335 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
| 336 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
| 337 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
| 338 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
| 339 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
| 340 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
| 341 | CONFIG_MTD_CFI_I1=y | ||
| 342 | CONFIG_MTD_CFI_I2=y | ||
| 343 | # CONFIG_MTD_CFI_I4 is not set | ||
| 344 | # CONFIG_MTD_CFI_I8 is not set | ||
| 345 | CONFIG_MTD_CFI_INTELEXT=y | ||
| 346 | # CONFIG_MTD_CFI_AMDSTD is not set | ||
| 347 | # CONFIG_MTD_CFI_STAA is not set | ||
| 348 | CONFIG_MTD_CFI_UTIL=y | ||
| 349 | # CONFIG_MTD_RAM is not set | ||
| 350 | # CONFIG_MTD_ROM is not set | ||
| 351 | # CONFIG_MTD_ABSENT is not set | ||
| 352 | # CONFIG_MTD_XIP is not set | ||
| 353 | |||
| 354 | # | ||
| 355 | # Mapping drivers for chip access | ||
| 356 | # | ||
| 357 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
| 358 | # CONFIG_MTD_PHYSMAP is not set | ||
| 359 | # CONFIG_MTD_ARM_INTEGRATOR is not set | ||
| 360 | # CONFIG_MTD_PLATRAM is not set | ||
| 361 | CONFIG_MTD_CSB337=y | ||
| 362 | |||
| 363 | # | ||
| 364 | # Self-contained MTD device drivers | ||
| 365 | # | ||
| 366 | # CONFIG_MTD_SLRAM is not set | ||
| 367 | # CONFIG_MTD_PHRAM is not set | ||
| 368 | # CONFIG_MTD_MTDRAM is not set | ||
| 369 | # CONFIG_MTD_BLKMTD is not set | ||
| 370 | # CONFIG_MTD_BLOCK2MTD is not set | ||
| 371 | |||
| 372 | # | ||
| 373 | # Disk-On-Chip Device Drivers | ||
| 374 | # | ||
| 375 | # CONFIG_MTD_DOC2000 is not set | ||
| 376 | # CONFIG_MTD_DOC2001 is not set | ||
| 377 | # CONFIG_MTD_DOC2001PLUS is not set | ||
| 378 | # CONFIG_MTD_AT91_DATAFLASH is not set | ||
| 379 | |||
| 380 | # | ||
| 381 | # NAND Flash Device Drivers | ||
| 382 | # | ||
| 383 | # CONFIG_MTD_NAND 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 | |||
| 399 | # | ||
| 400 | # Block devices | ||
| 401 | # | ||
| 402 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
| 403 | CONFIG_BLK_DEV_LOOP=y | ||
| 404 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
| 405 | # CONFIG_BLK_DEV_NBD is not set | ||
| 406 | # CONFIG_BLK_DEV_UB is not set | ||
| 407 | CONFIG_BLK_DEV_RAM=y | ||
| 408 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
| 409 | CONFIG_BLK_DEV_RAM_SIZE=8192 | ||
| 410 | CONFIG_BLK_DEV_INITRD=y | ||
| 411 | # CONFIG_CDROM_PKTCDVD is not set | ||
| 412 | # CONFIG_ATA_OVER_ETH is not set | ||
| 413 | |||
| 414 | # | ||
| 415 | # ATA/ATAPI/MFM/RLL support | ||
| 416 | # | ||
| 417 | # CONFIG_IDE is not set | ||
| 418 | |||
| 419 | # | ||
| 420 | # SCSI device support | ||
| 421 | # | ||
| 422 | # CONFIG_RAID_ATTRS is not set | ||
| 423 | CONFIG_SCSI=y | ||
| 424 | CONFIG_SCSI_PROC_FS=y | ||
| 425 | |||
| 426 | # | ||
| 427 | # SCSI support type (disk, tape, CD-ROM) | ||
| 428 | # | ||
| 429 | # CONFIG_BLK_DEV_SD is not set | ||
| 430 | # CONFIG_CHR_DEV_ST is not set | ||
| 431 | # CONFIG_CHR_DEV_OSST is not set | ||
| 432 | # CONFIG_BLK_DEV_SR is not set | ||
| 433 | # CONFIG_CHR_DEV_SG is not set | ||
| 434 | # CONFIG_CHR_DEV_SCH is not set | ||
| 435 | |||
| 436 | # | ||
| 437 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
| 438 | # | ||
| 439 | # CONFIG_SCSI_MULTI_LUN is not set | ||
| 440 | # CONFIG_SCSI_CONSTANTS is not set | ||
| 441 | # CONFIG_SCSI_LOGGING is not set | ||
| 442 | |||
| 443 | # | ||
| 444 | # SCSI Transport Attributes | ||
| 445 | # | ||
| 446 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
| 447 | # CONFIG_SCSI_FC_ATTRS is not set | ||
| 448 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
| 449 | # CONFIG_SCSI_SAS_ATTRS is not set | ||
| 450 | |||
| 451 | # | ||
| 452 | # SCSI low-level drivers | ||
| 453 | # | ||
| 454 | # CONFIG_ISCSI_TCP is not set | ||
| 455 | # CONFIG_SCSI_SATA is not set | ||
| 456 | # CONFIG_SCSI_DEBUG is not set | ||
| 457 | |||
| 458 | # | ||
| 459 | # PCMCIA SCSI adapter support | ||
| 460 | # | ||
| 461 | # CONFIG_PCMCIA_AHA152X is not set | ||
| 462 | # CONFIG_PCMCIA_FDOMAIN is not set | ||
| 463 | # CONFIG_PCMCIA_NINJA_SCSI is not set | ||
| 464 | # CONFIG_PCMCIA_QLOGIC is not set | ||
| 465 | # CONFIG_PCMCIA_SYM53C500 is not set | ||
| 466 | |||
| 467 | # | ||
| 468 | # Multi-device support (RAID and LVM) | ||
| 469 | # | ||
| 470 | # CONFIG_MD is not set | ||
| 471 | |||
| 472 | # | ||
| 473 | # Fusion MPT device support | ||
| 474 | # | ||
| 475 | # CONFIG_FUSION is not set | ||
| 476 | |||
| 477 | # | ||
| 478 | # IEEE 1394 (FireWire) support | ||
| 479 | # | ||
| 480 | |||
| 481 | # | ||
| 482 | # I2O device support | ||
| 483 | # | ||
| 484 | |||
| 485 | # | ||
| 486 | # Network device support | ||
| 487 | # | ||
| 488 | CONFIG_NETDEVICES=y | ||
| 489 | # CONFIG_DUMMY is not set | ||
| 490 | # CONFIG_BONDING is not set | ||
| 491 | # CONFIG_EQUALIZER is not set | ||
| 492 | # CONFIG_TUN is not set | ||
| 493 | |||
| 494 | # | ||
| 495 | # PHY device support | ||
| 496 | # | ||
| 497 | # CONFIG_PHYLIB is not set | ||
| 498 | |||
| 499 | # | ||
| 500 | # Ethernet (10 or 100Mbit) | ||
| 501 | # | ||
| 502 | CONFIG_NET_ETHERNET=y | ||
| 503 | CONFIG_MII=y | ||
| 504 | CONFIG_ARM_AT91_ETHER=y | ||
| 505 | # CONFIG_SMC91X is not set | ||
| 506 | # CONFIG_DM9000 is not set | ||
| 507 | |||
| 508 | # | ||
| 509 | # Ethernet (1000 Mbit) | ||
| 510 | # | ||
| 511 | |||
| 512 | # | ||
| 513 | # Ethernet (10000 Mbit) | ||
| 514 | # | ||
| 515 | |||
| 516 | # | ||
| 517 | # Token Ring devices | ||
| 518 | # | ||
| 519 | |||
| 520 | # | ||
| 521 | # Wireless LAN (non-hamradio) | ||
| 522 | # | ||
| 523 | # CONFIG_NET_RADIO is not set | ||
| 524 | |||
| 525 | # | ||
| 526 | # PCMCIA network device support | ||
| 527 | # | ||
| 528 | # CONFIG_NET_PCMCIA is not set | ||
| 529 | |||
| 530 | # | ||
| 531 | # Wan interfaces | ||
| 532 | # | ||
| 533 | # CONFIG_WAN is not set | ||
| 534 | # CONFIG_PPP is not set | ||
| 535 | # CONFIG_SLIP is not set | ||
| 536 | # CONFIG_SHAPER is not set | ||
| 537 | # CONFIG_NETCONSOLE is not set | ||
| 538 | # CONFIG_NETPOLL is not set | ||
| 539 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
| 540 | |||
| 541 | # | ||
| 542 | # ISDN subsystem | ||
| 543 | # | ||
| 544 | # CONFIG_ISDN is not set | ||
| 545 | |||
| 546 | # | ||
| 547 | # Input device support | ||
| 548 | # | ||
| 549 | CONFIG_INPUT=y | ||
| 550 | |||
| 551 | # | ||
| 552 | # Userland interfaces | ||
| 553 | # | ||
| 554 | CONFIG_INPUT_MOUSEDEV=y | ||
| 555 | CONFIG_INPUT_MOUSEDEV_PSAUX=y | ||
| 556 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
| 557 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
| 558 | # CONFIG_INPUT_JOYDEV is not set | ||
| 559 | # CONFIG_INPUT_TSDEV is not set | ||
| 560 | # CONFIG_INPUT_EVDEV is not set | ||
| 561 | # CONFIG_INPUT_EVBUG is not set | ||
| 562 | |||
| 563 | # | ||
| 564 | # Input Device Drivers | ||
| 565 | # | ||
| 566 | # CONFIG_INPUT_KEYBOARD is not set | ||
| 567 | # CONFIG_INPUT_MOUSE is not set | ||
| 568 | # CONFIG_INPUT_JOYSTICK is not set | ||
| 569 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
| 570 | # CONFIG_INPUT_MISC is not set | ||
| 571 | |||
| 572 | # | ||
| 573 | # Hardware I/O ports | ||
| 574 | # | ||
| 575 | # CONFIG_SERIO is not set | ||
| 576 | # CONFIG_GAMEPORT is not set | ||
| 577 | |||
| 578 | # | ||
| 579 | # Character devices | ||
| 580 | # | ||
| 581 | CONFIG_VT=y | ||
| 582 | CONFIG_VT_CONSOLE=y | ||
| 583 | CONFIG_HW_CONSOLE=y | ||
| 584 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
| 585 | |||
| 586 | # | ||
| 587 | # Serial drivers | ||
| 588 | # | ||
| 589 | # CONFIG_SERIAL_8250 is not set | ||
| 590 | |||
| 591 | # | ||
| 592 | # Non-8250 serial port support | ||
| 593 | # | ||
| 594 | CONFIG_SERIAL_AT91=y | ||
| 595 | CONFIG_SERIAL_AT91_CONSOLE=y | ||
| 596 | # CONFIG_SERIAL_AT91_TTYAT is not set | ||
| 597 | CONFIG_SERIAL_CORE=y | ||
| 598 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
| 599 | CONFIG_UNIX98_PTYS=y | ||
| 600 | CONFIG_LEGACY_PTYS=y | ||
| 601 | CONFIG_LEGACY_PTY_COUNT=256 | ||
| 602 | |||
| 603 | # | ||
| 604 | # IPMI | ||
| 605 | # | ||
| 606 | # CONFIG_IPMI_HANDLER is not set | ||
| 607 | |||
| 608 | # | ||
| 609 | # Watchdog Cards | ||
| 610 | # | ||
| 611 | CONFIG_WATCHDOG=y | ||
| 612 | CONFIG_WATCHDOG_NOWAYOUT=y | ||
| 613 | |||
| 614 | # | ||
| 615 | # Watchdog Device Drivers | ||
| 616 | # | ||
| 617 | # CONFIG_SOFT_WATCHDOG is not set | ||
| 618 | CONFIG_AT91_WATCHDOG=y | ||
| 619 | |||
| 620 | # | ||
| 621 | # USB-based Watchdog Cards | ||
| 622 | # | ||
| 623 | # CONFIG_USBPCWATCHDOG is not set | ||
| 624 | # CONFIG_NVRAM is not set | ||
| 625 | CONFIG_RTC=y | ||
| 626 | # CONFIG_AT91_RTC is not set | ||
| 627 | # CONFIG_DTLK is not set | ||
| 628 | # CONFIG_R3964 is not set | ||
| 629 | |||
| 630 | # | ||
| 631 | # Ftape, the floppy tape device driver | ||
| 632 | # | ||
| 633 | |||
| 634 | # | ||
| 635 | # PCMCIA character devices | ||
| 636 | # | ||
| 637 | # CONFIG_SYNCLINK_CS is not set | ||
| 638 | # CONFIG_CARDMAN_4000 is not set | ||
| 639 | # CONFIG_CARDMAN_4040 is not set | ||
| 640 | # CONFIG_RAW_DRIVER is not set | ||
| 641 | |||
| 642 | # | ||
| 643 | # TPM devices | ||
| 644 | # | ||
| 645 | # CONFIG_TCG_TPM is not set | ||
| 646 | # CONFIG_TELCLOCK is not set | ||
| 647 | CONFIG_AT91_SPI=y | ||
| 648 | CONFIG_AT91_SPIDEV=y | ||
| 649 | |||
| 650 | # | ||
| 651 | # I2C support | ||
| 652 | # | ||
| 653 | CONFIG_I2C=y | ||
| 654 | CONFIG_I2C_CHARDEV=y | ||
| 655 | |||
| 656 | # | ||
| 657 | # I2C Algorithms | ||
| 658 | # | ||
| 659 | # CONFIG_I2C_ALGOBIT is not set | ||
| 660 | # CONFIG_I2C_ALGOPCF is not set | ||
| 661 | # CONFIG_I2C_ALGOPCA is not set | ||
| 662 | |||
| 663 | # | ||
| 664 | # I2C Hardware Bus support | ||
| 665 | # | ||
| 666 | CONFIG_I2C_AT91=y | ||
| 667 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
| 668 | # CONFIG_I2C_STUB is not set | ||
| 669 | # CONFIG_I2C_PCA_ISA is not set | ||
| 670 | |||
| 671 | # | ||
| 672 | # Miscellaneous I2C Chip support | ||
| 673 | # | ||
| 674 | # CONFIG_SENSORS_DS1337 is not set | ||
| 675 | # CONFIG_SENSORS_DS1374 is not set | ||
| 676 | # CONFIG_SENSORS_EEPROM is not set | ||
| 677 | # CONFIG_SENSORS_PCF8574 is not set | ||
| 678 | # CONFIG_SENSORS_PCA9539 is not set | ||
| 679 | # CONFIG_SENSORS_PCF8591 is not set | ||
| 680 | # CONFIG_SENSORS_RTC8564 is not set | ||
| 681 | # CONFIG_SENSORS_MAX6875 is not set | ||
| 682 | # CONFIG_RTC_X1205_I2C is not set | ||
| 683 | # CONFIG_I2C_DEBUG_CORE is not set | ||
| 684 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
| 685 | # CONFIG_I2C_DEBUG_BUS is not set | ||
| 686 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
| 687 | |||
| 688 | # | ||
| 689 | # Hardware Monitoring support | ||
| 690 | # | ||
| 691 | CONFIG_HWMON=y | ||
| 692 | # CONFIG_HWMON_VID is not set | ||
| 693 | # CONFIG_SENSORS_ADM1021 is not set | ||
| 694 | # CONFIG_SENSORS_ADM1025 is not set | ||
| 695 | # CONFIG_SENSORS_ADM1026 is not set | ||
| 696 | # CONFIG_SENSORS_ADM1031 is not set | ||
| 697 | # CONFIG_SENSORS_ADM9240 is not set | ||
| 698 | # CONFIG_SENSORS_ASB100 is not set | ||
| 699 | # CONFIG_SENSORS_ATXP1 is not set | ||
| 700 | # CONFIG_SENSORS_DS1621 is not set | ||
| 701 | # CONFIG_SENSORS_FSCHER is not set | ||
| 702 | # CONFIG_SENSORS_FSCPOS is not set | ||
| 703 | # CONFIG_SENSORS_GL518SM is not set | ||
| 704 | # CONFIG_SENSORS_GL520SM is not set | ||
| 705 | # CONFIG_SENSORS_IT87 is not set | ||
| 706 | # CONFIG_SENSORS_LM63 is not set | ||
| 707 | # CONFIG_SENSORS_LM75 is not set | ||
| 708 | # CONFIG_SENSORS_LM77 is not set | ||
| 709 | # CONFIG_SENSORS_LM78 is not set | ||
| 710 | # CONFIG_SENSORS_LM80 is not set | ||
| 711 | # CONFIG_SENSORS_LM83 is not set | ||
| 712 | # CONFIG_SENSORS_LM85 is not set | ||
| 713 | # CONFIG_SENSORS_LM87 is not set | ||
| 714 | # CONFIG_SENSORS_LM90 is not set | ||
| 715 | # CONFIG_SENSORS_LM92 is not set | ||
| 716 | # CONFIG_SENSORS_MAX1619 is not set | ||
| 717 | # CONFIG_SENSORS_PC87360 is not set | ||
| 718 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
| 719 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
| 720 | # CONFIG_SENSORS_W83781D is not set | ||
| 721 | # CONFIG_SENSORS_W83792D is not set | ||
| 722 | # CONFIG_SENSORS_W83L785TS is not set | ||
| 723 | # CONFIG_SENSORS_W83627HF is not set | ||
| 724 | # CONFIG_SENSORS_W83627EHF is not set | ||
| 725 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
| 726 | |||
| 727 | # | ||
| 728 | # Misc devices | ||
| 729 | # | ||
| 730 | |||
| 731 | # | ||
| 732 | # Multimedia Capabilities Port drivers | ||
| 733 | # | ||
| 734 | |||
| 735 | # | ||
| 736 | # Multimedia devices | ||
| 737 | # | ||
| 738 | # CONFIG_VIDEO_DEV is not set | ||
| 739 | |||
| 740 | # | ||
| 741 | # Digital Video Broadcasting Devices | ||
| 742 | # | ||
| 743 | # CONFIG_DVB is not set | ||
| 744 | |||
| 745 | # | ||
| 746 | # Graphics support | ||
| 747 | # | ||
| 748 | # CONFIG_FB is not set | ||
| 749 | |||
| 750 | # | ||
| 751 | # Console display driver support | ||
| 752 | # | ||
| 753 | # CONFIG_VGA_CONSOLE is not set | ||
| 754 | CONFIG_DUMMY_CONSOLE=y | ||
| 755 | |||
| 756 | # | ||
| 757 | # Sound | ||
| 758 | # | ||
| 759 | # CONFIG_SOUND is not set | ||
| 760 | |||
| 761 | # | ||
| 762 | # USB support | ||
| 763 | # | ||
| 764 | CONFIG_USB_ARCH_HAS_HCD=y | ||
| 765 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
| 766 | CONFIG_USB=y | ||
| 767 | CONFIG_USB_DEBUG=y | ||
| 768 | |||
| 769 | # | ||
| 770 | # Miscellaneous USB options | ||
| 771 | # | ||
| 772 | CONFIG_USB_DEVICEFS=y | ||
| 773 | # CONFIG_USB_BANDWIDTH is not set | ||
| 774 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
| 775 | # CONFIG_USB_OTG is not set | ||
| 776 | |||
| 777 | # | ||
| 778 | # USB Host Controller Drivers | ||
| 779 | # | ||
| 780 | # CONFIG_USB_ISP116X_HCD is not set | ||
| 781 | CONFIG_USB_OHCI_HCD=y | ||
| 782 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | ||
| 783 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | ||
| 784 | # CONFIG_USB_SL811_HCD is not set | ||
| 785 | |||
| 786 | # | ||
| 787 | # USB Device Class drivers | ||
| 788 | # | ||
| 789 | # CONFIG_USB_ACM is not set | ||
| 790 | # CONFIG_USB_PRINTER is not set | ||
| 791 | |||
| 792 | # | ||
| 793 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
| 794 | # | ||
| 795 | |||
| 796 | # | ||
| 797 | # may also be needed; see USB_STORAGE Help for more information | ||
| 798 | # | ||
| 799 | CONFIG_USB_STORAGE=y | ||
| 800 | # CONFIG_USB_STORAGE_DEBUG is not set | ||
| 801 | # CONFIG_USB_STORAGE_DATAFAB is not set | ||
| 802 | # CONFIG_USB_STORAGE_FREECOM is not set | ||
| 803 | # CONFIG_USB_STORAGE_DPCM is not set | ||
| 804 | # CONFIG_USB_STORAGE_USBAT is not set | ||
| 805 | # CONFIG_USB_STORAGE_SDDR09 is not set | ||
| 806 | # CONFIG_USB_STORAGE_SDDR55 is not set | ||
| 807 | # CONFIG_USB_STORAGE_JUMPSHOT is not set | ||
| 808 | |||
| 809 | # | ||
| 810 | # USB Input Devices | ||
| 811 | # | ||
| 812 | # CONFIG_USB_HID is not set | ||
| 813 | |||
| 814 | # | ||
| 815 | # USB HID Boot Protocol drivers | ||
| 816 | # | ||
| 817 | # CONFIG_USB_KBD is not set | ||
| 818 | # CONFIG_USB_MOUSE is not set | ||
| 819 | # CONFIG_USB_AIPTEK is not set | ||
| 820 | # CONFIG_USB_WACOM is not set | ||
| 821 | # CONFIG_USB_ACECAD is not set | ||
| 822 | # CONFIG_USB_KBTAB is not set | ||
| 823 | # CONFIG_USB_POWERMATE is not set | ||
| 824 | # CONFIG_USB_MTOUCH is not set | ||
| 825 | # CONFIG_USB_ITMTOUCH is not set | ||
| 826 | # CONFIG_USB_EGALAX is not set | ||
| 827 | # CONFIG_USB_YEALINK is not set | ||
| 828 | # CONFIG_USB_XPAD is not set | ||
| 829 | # CONFIG_USB_ATI_REMOTE is not set | ||
| 830 | # CONFIG_USB_KEYSPAN_REMOTE is not set | ||
| 831 | # CONFIG_USB_APPLETOUCH is not set | ||
| 832 | |||
| 833 | # | ||
| 834 | # USB Imaging devices | ||
| 835 | # | ||
| 836 | # CONFIG_USB_MDC800 is not set | ||
| 837 | # CONFIG_USB_MICROTEK is not set | ||
| 838 | |||
| 839 | # | ||
| 840 | # USB Multimedia devices | ||
| 841 | # | ||
| 842 | # CONFIG_USB_DABUSB is not set | ||
| 843 | |||
| 844 | # | ||
| 845 | # Video4Linux support is needed for USB Multimedia device support | ||
| 846 | # | ||
| 847 | |||
| 848 | # | ||
| 849 | # USB Network Adapters | ||
| 850 | # | ||
| 851 | # CONFIG_USB_CATC is not set | ||
| 852 | # CONFIG_USB_KAWETH is not set | ||
| 853 | # CONFIG_USB_PEGASUS is not set | ||
| 854 | # CONFIG_USB_RTL8150 is not set | ||
| 855 | # CONFIG_USB_USBNET is not set | ||
| 856 | CONFIG_USB_MON=y | ||
| 857 | |||
| 858 | # | ||
| 859 | # USB port drivers | ||
| 860 | # | ||
| 861 | |||
| 862 | # | ||
| 863 | # USB Serial Converter support | ||
| 864 | # | ||
| 865 | CONFIG_USB_SERIAL=y | ||
| 866 | CONFIG_USB_SERIAL_CONSOLE=y | ||
| 867 | CONFIG_USB_SERIAL_GENERIC=y | ||
| 868 | # CONFIG_USB_SERIAL_AIRPRIME is not set | ||
| 869 | # CONFIG_USB_SERIAL_ANYDATA is not set | ||
| 870 | # CONFIG_USB_SERIAL_BELKIN is not set | ||
| 871 | # CONFIG_USB_SERIAL_WHITEHEAT is not set | ||
| 872 | # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set | ||
| 873 | # CONFIG_USB_SERIAL_CP2101 is not set | ||
| 874 | # CONFIG_USB_SERIAL_CYPRESS_M8 is not set | ||
| 875 | # CONFIG_USB_SERIAL_EMPEG is not set | ||
| 876 | CONFIG_USB_SERIAL_FTDI_SIO=y | ||
| 877 | # CONFIG_USB_SERIAL_VISOR is not set | ||
| 878 | # CONFIG_USB_SERIAL_IPAQ is not set | ||
| 879 | # CONFIG_USB_SERIAL_IR is not set | ||
| 880 | # CONFIG_USB_SERIAL_EDGEPORT is not set | ||
| 881 | # CONFIG_USB_SERIAL_EDGEPORT_TI is not set | ||
| 882 | # CONFIG_USB_SERIAL_GARMIN is not set | ||
| 883 | # CONFIG_USB_SERIAL_IPW is not set | ||
| 884 | # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set | ||
| 885 | CONFIG_USB_SERIAL_KEYSPAN=y | ||
| 886 | CONFIG_USB_SERIAL_KEYSPAN_MPR=y | ||
| 887 | CONFIG_USB_SERIAL_KEYSPAN_USA28=y | ||
| 888 | CONFIG_USB_SERIAL_KEYSPAN_USA28X=y | ||
| 889 | CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y | ||
| 890 | CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y | ||
| 891 | CONFIG_USB_SERIAL_KEYSPAN_USA19=y | ||
| 892 | CONFIG_USB_SERIAL_KEYSPAN_USA18X=y | ||
| 893 | CONFIG_USB_SERIAL_KEYSPAN_USA19W=y | ||
| 894 | CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y | ||
| 895 | CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y | ||
| 896 | CONFIG_USB_SERIAL_KEYSPAN_USA49W=y | ||
| 897 | CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y | ||
| 898 | # CONFIG_USB_SERIAL_KLSI is not set | ||
| 899 | # CONFIG_USB_SERIAL_KOBIL_SCT is not set | ||
| 900 | CONFIG_USB_SERIAL_MCT_U232=y | ||
| 901 | # CONFIG_USB_SERIAL_PL2303 is not set | ||
| 902 | # CONFIG_USB_SERIAL_HP4X is not set | ||
| 903 | # CONFIG_USB_SERIAL_SAFE is not set | ||
| 904 | # CONFIG_USB_SERIAL_TI is not set | ||
| 905 | # CONFIG_USB_SERIAL_CYBERJACK is not set | ||
| 906 | # CONFIG_USB_SERIAL_XIRCOM is not set | ||
| 907 | # CONFIG_USB_SERIAL_OPTION is not set | ||
| 908 | # CONFIG_USB_SERIAL_OMNINET is not set | ||
| 909 | CONFIG_USB_EZUSB=y | ||
| 910 | |||
| 911 | # | ||
| 912 | # USB Miscellaneous drivers | ||
| 913 | # | ||
| 914 | # CONFIG_USB_EMI62 is not set | ||
| 915 | # CONFIG_USB_EMI26 is not set | ||
| 916 | # CONFIG_USB_AUERSWALD is not set | ||
| 917 | # CONFIG_USB_RIO500 is not set | ||
| 918 | # CONFIG_USB_LEGOTOWER is not set | ||
| 919 | # CONFIG_USB_LCD is not set | ||
| 920 | # CONFIG_USB_LED is not set | ||
| 921 | # CONFIG_USB_CYTHERM is not set | ||
| 922 | # CONFIG_USB_PHIDGETKIT is not set | ||
| 923 | # CONFIG_USB_PHIDGETSERVO is not set | ||
| 924 | # CONFIG_USB_IDMOUSE is not set | ||
| 925 | # CONFIG_USB_LD is not set | ||
| 926 | # CONFIG_USB_TEST is not set | ||
| 927 | |||
| 928 | # | ||
| 929 | # USB DSL modem support | ||
| 930 | # | ||
| 931 | |||
| 932 | # | ||
| 933 | # USB Gadget Support | ||
| 934 | # | ||
| 935 | CONFIG_USB_GADGET=y | ||
| 936 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | ||
| 937 | CONFIG_USB_GADGET_SELECTED=y | ||
| 938 | # CONFIG_USB_GADGET_NET2280 is not set | ||
| 939 | # CONFIG_USB_GADGET_PXA2XX is not set | ||
| 940 | # CONFIG_USB_GADGET_GOKU is not set | ||
| 941 | # CONFIG_USB_GADGET_LH7A40X is not set | ||
| 942 | # CONFIG_USB_GADGET_OMAP is not set | ||
| 943 | CONFIG_USB_GADGET_AT91=y | ||
| 944 | CONFIG_USB_AT91=y | ||
| 945 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | ||
| 946 | # CONFIG_USB_GADGET_DUALSPEED is not set | ||
| 947 | # CONFIG_USB_ZERO is not set | ||
| 948 | # CONFIG_USB_ETH is not set | ||
| 949 | # CONFIG_USB_GADGETFS is not set | ||
| 950 | # CONFIG_USB_FILE_STORAGE is not set | ||
| 951 | # CONFIG_USB_G_SERIAL is not set | ||
| 952 | |||
| 953 | # | ||
| 954 | # MMC/SD Card support | ||
| 955 | # | ||
| 956 | CONFIG_MMC=y | ||
| 957 | # CONFIG_MMC_DEBUG is not set | ||
| 958 | CONFIG_MMC_BLOCK=y | ||
| 959 | # CONFIG_MMC_WBSD is not set | ||
| 960 | CONFIG_MMC_AT91RM9200=y | ||
| 961 | |||
| 962 | # | ||
| 963 | # File systems | ||
| 964 | # | ||
| 965 | CONFIG_EXT2_FS=y | ||
| 966 | # CONFIG_EXT2_FS_XATTR is not set | ||
| 967 | # CONFIG_EXT2_FS_XIP is not set | ||
| 968 | # CONFIG_EXT3_FS is not set | ||
| 969 | # CONFIG_JBD is not set | ||
| 970 | # CONFIG_REISERFS_FS is not set | ||
| 971 | # CONFIG_JFS_FS is not set | ||
| 972 | # CONFIG_FS_POSIX_ACL is not set | ||
| 973 | # CONFIG_XFS_FS is not set | ||
| 974 | # CONFIG_MINIX_FS is not set | ||
| 975 | # CONFIG_ROMFS_FS is not set | ||
| 976 | CONFIG_INOTIFY=y | ||
| 977 | # CONFIG_QUOTA is not set | ||
| 978 | CONFIG_DNOTIFY=y | ||
| 979 | # CONFIG_AUTOFS_FS is not set | ||
| 980 | # CONFIG_AUTOFS4_FS is not set | ||
| 981 | # CONFIG_FUSE_FS is not set | ||
| 982 | |||
| 983 | # | ||
| 984 | # CD-ROM/DVD Filesystems | ||
| 985 | # | ||
| 986 | # CONFIG_ISO9660_FS is not set | ||
| 987 | # CONFIG_UDF_FS is not set | ||
| 988 | |||
| 989 | # | ||
| 990 | # DOS/FAT/NT Filesystems | ||
| 991 | # | ||
| 992 | # CONFIG_MSDOS_FS is not set | ||
| 993 | # CONFIG_VFAT_FS is not set | ||
| 994 | # CONFIG_NTFS_FS is not set | ||
| 995 | |||
| 996 | # | ||
| 997 | # Pseudo filesystems | ||
| 998 | # | ||
| 999 | CONFIG_PROC_FS=y | ||
| 1000 | CONFIG_SYSFS=y | ||
| 1001 | CONFIG_TMPFS=y | ||
| 1002 | # CONFIG_HUGETLB_PAGE is not set | ||
| 1003 | CONFIG_RAMFS=y | ||
| 1004 | # CONFIG_RELAYFS_FS is not set | ||
| 1005 | |||
| 1006 | # | ||
| 1007 | # Miscellaneous filesystems | ||
| 1008 | # | ||
| 1009 | # CONFIG_ADFS_FS is not set | ||
| 1010 | # CONFIG_AFFS_FS is not set | ||
| 1011 | # CONFIG_HFS_FS is not set | ||
| 1012 | # CONFIG_HFSPLUS_FS is not set | ||
| 1013 | # CONFIG_BEFS_FS is not set | ||
| 1014 | # CONFIG_BFS_FS is not set | ||
| 1015 | # CONFIG_EFS_FS is not set | ||
| 1016 | # CONFIG_JFFS_FS is not set | ||
| 1017 | # CONFIG_JFFS2_FS is not set | ||
| 1018 | CONFIG_CRAMFS=y | ||
| 1019 | # CONFIG_VXFS_FS is not set | ||
| 1020 | # CONFIG_HPFS_FS is not set | ||
| 1021 | # CONFIG_QNX4FS_FS is not set | ||
| 1022 | # CONFIG_SYSV_FS is not set | ||
| 1023 | # CONFIG_UFS_FS is not set | ||
| 1024 | |||
| 1025 | # | ||
| 1026 | # Network File Systems | ||
| 1027 | # | ||
| 1028 | CONFIG_NFS_FS=y | ||
| 1029 | CONFIG_NFS_V3=y | ||
| 1030 | # CONFIG_NFS_V3_ACL is not set | ||
| 1031 | CONFIG_NFS_V4=y | ||
| 1032 | # CONFIG_NFS_DIRECTIO is not set | ||
| 1033 | # CONFIG_NFSD is not set | ||
| 1034 | CONFIG_ROOT_NFS=y | ||
| 1035 | CONFIG_LOCKD=y | ||
| 1036 | CONFIG_LOCKD_V4=y | ||
| 1037 | CONFIG_NFS_COMMON=y | ||
| 1038 | CONFIG_SUNRPC=y | ||
| 1039 | CONFIG_SUNRPC_GSS=y | ||
| 1040 | CONFIG_RPCSEC_GSS_KRB5=y | ||
| 1041 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
| 1042 | # CONFIG_SMB_FS is not set | ||
| 1043 | # CONFIG_CIFS is not set | ||
| 1044 | # CONFIG_NCP_FS is not set | ||
| 1045 | # CONFIG_CODA_FS is not set | ||
| 1046 | # CONFIG_AFS_FS is not set | ||
| 1047 | # CONFIG_9P_FS is not set | ||
| 1048 | |||
| 1049 | # | ||
| 1050 | # Partition Types | ||
| 1051 | # | ||
| 1052 | # CONFIG_PARTITION_ADVANCED is not set | ||
| 1053 | CONFIG_MSDOS_PARTITION=y | ||
| 1054 | |||
| 1055 | # | ||
| 1056 | # Native Language Support | ||
| 1057 | # | ||
| 1058 | # CONFIG_NLS is not set | ||
| 1059 | |||
| 1060 | # | ||
| 1061 | # Profiling support | ||
| 1062 | # | ||
| 1063 | # CONFIG_PROFILING is not set | ||
| 1064 | |||
| 1065 | # | ||
| 1066 | # Kernel hacking | ||
| 1067 | # | ||
| 1068 | # CONFIG_PRINTK_TIME is not set | ||
| 1069 | CONFIG_DEBUG_KERNEL=y | ||
| 1070 | # CONFIG_MAGIC_SYSRQ is not set | ||
| 1071 | CONFIG_LOG_BUF_SHIFT=14 | ||
| 1072 | CONFIG_DETECT_SOFTLOCKUP=y | ||
| 1073 | # CONFIG_SCHEDSTATS is not set | ||
| 1074 | # CONFIG_DEBUG_SLAB is not set | ||
| 1075 | # CONFIG_DEBUG_SPINLOCK is not set | ||
| 1076 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
| 1077 | # CONFIG_DEBUG_KOBJECT is not set | ||
| 1078 | CONFIG_DEBUG_BUGVERBOSE=y | ||
| 1079 | # CONFIG_DEBUG_INFO is not set | ||
| 1080 | # CONFIG_DEBUG_FS is not set | ||
| 1081 | # CONFIG_DEBUG_VM is not set | ||
| 1082 | CONFIG_FRAME_POINTER=y | ||
| 1083 | # CONFIG_RCU_TORTURE_TEST is not set | ||
| 1084 | CONFIG_DEBUG_USER=y | ||
| 1085 | # CONFIG_DEBUG_WAITQ is not set | ||
| 1086 | # CONFIG_DEBUG_ERRORS is not set | ||
| 1087 | CONFIG_DEBUG_LL=y | ||
| 1088 | # CONFIG_DEBUG_ICEDCC is not set | ||
| 1089 | |||
| 1090 | # | ||
| 1091 | # Security options | ||
| 1092 | # | ||
| 1093 | # CONFIG_KEYS is not set | ||
| 1094 | # CONFIG_SECURITY is not set | ||
| 1095 | |||
| 1096 | # | ||
| 1097 | # Cryptographic options | ||
| 1098 | # | ||
| 1099 | CONFIG_CRYPTO=y | ||
| 1100 | # CONFIG_CRYPTO_HMAC is not set | ||
| 1101 | # CONFIG_CRYPTO_NULL is not set | ||
| 1102 | # CONFIG_CRYPTO_MD4 is not set | ||
| 1103 | CONFIG_CRYPTO_MD5=y | ||
| 1104 | # CONFIG_CRYPTO_SHA1 is not set | ||
| 1105 | # CONFIG_CRYPTO_SHA256 is not set | ||
| 1106 | # CONFIG_CRYPTO_SHA512 is not set | ||
| 1107 | # CONFIG_CRYPTO_WP512 is not set | ||
| 1108 | # CONFIG_CRYPTO_TGR192 is not set | ||
| 1109 | CONFIG_CRYPTO_DES=y | ||
| 1110 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
| 1111 | # CONFIG_CRYPTO_TWOFISH is not set | ||
| 1112 | # CONFIG_CRYPTO_SERPENT is not set | ||
| 1113 | # CONFIG_CRYPTO_AES is not set | ||
| 1114 | # CONFIG_CRYPTO_CAST5 is not set | ||
| 1115 | # CONFIG_CRYPTO_CAST6 is not set | ||
| 1116 | # CONFIG_CRYPTO_TEA is not set | ||
| 1117 | # CONFIG_CRYPTO_ARC4 is not set | ||
| 1118 | # CONFIG_CRYPTO_KHAZAD is not set | ||
| 1119 | # CONFIG_CRYPTO_ANUBIS is not set | ||
| 1120 | # CONFIG_CRYPTO_DEFLATE is not set | ||
| 1121 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
| 1122 | # CONFIG_CRYPTO_CRC32C is not set | ||
| 1123 | # CONFIG_CRYPTO_TEST is not set | ||
| 1124 | |||
| 1125 | # | ||
| 1126 | # Hardware crypto devices | ||
| 1127 | # | ||
| 1128 | |||
| 1129 | # | ||
| 1130 | # Library routines | ||
| 1131 | # | ||
| 1132 | # CONFIG_CRC_CCITT is not set | ||
| 1133 | # CONFIG_CRC16 is not set | ||
| 1134 | CONFIG_CRC32=y | ||
| 1135 | # CONFIG_LIBCRC32C is not set | ||
| 1136 | CONFIG_ZLIB_INFLATE=y | ||
diff --git a/arch/arm/configs/csb637_defconfig b/arch/arm/configs/csb637_defconfig new file mode 100644 index 000000000000..95a96a5462a0 --- /dev/null +++ b/arch/arm/configs/csb637_defconfig | |||
| @@ -0,0 +1,1116 @@ | |||
| 1 | # | ||
| 2 | # Automatically generated make config: don't edit | ||
| 3 | # Linux kernel version: 2.6.15 | ||
| 4 | # Mon Jan 9 21:52:00 2006 | ||
| 5 | # | ||
| 6 | CONFIG_ARM=y | ||
| 7 | CONFIG_MMU=y | ||
| 8 | CONFIG_UID16=y | ||
| 9 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
| 10 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
| 11 | |||
| 12 | # | ||
| 13 | # Code maturity level options | ||
| 14 | # | ||
| 15 | CONFIG_EXPERIMENTAL=y | ||
| 16 | CONFIG_CLEAN_COMPILE=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_HOTPLUG=y | ||
| 32 | CONFIG_KOBJECT_UEVENT=y | ||
| 33 | # CONFIG_IKCONFIG is not set | ||
| 34 | CONFIG_INITRAMFS_SOURCE="" | ||
| 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_PRINTK=y | ||
| 41 | CONFIG_BUG=y | ||
| 42 | CONFIG_BASE_FULL=y | ||
| 43 | CONFIG_FUTEX=y | ||
| 44 | CONFIG_EPOLL=y | ||
| 45 | CONFIG_SHMEM=y | ||
| 46 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 47 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 48 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 49 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 50 | # CONFIG_TINY_SHMEM is not set | ||
| 51 | CONFIG_BASE_SMALL=0 | ||
| 52 | |||
| 53 | # | ||
| 54 | # Loadable module support | ||
| 55 | # | ||
| 56 | CONFIG_MODULES=y | ||
| 57 | CONFIG_MODULE_UNLOAD=y | ||
| 58 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
| 59 | CONFIG_OBSOLETE_MODPARM=y | ||
| 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 | |||
| 68 | # | ||
| 69 | # IO Schedulers | ||
| 70 | # | ||
| 71 | CONFIG_IOSCHED_NOOP=y | ||
| 72 | CONFIG_IOSCHED_AS=y | ||
| 73 | CONFIG_IOSCHED_DEADLINE=y | ||
| 74 | CONFIG_IOSCHED_CFQ=y | ||
| 75 | CONFIG_DEFAULT_AS=y | ||
| 76 | # CONFIG_DEFAULT_DEADLINE is not set | ||
| 77 | # CONFIG_DEFAULT_CFQ is not set | ||
| 78 | # CONFIG_DEFAULT_NOOP is not set | ||
| 79 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
| 80 | |||
| 81 | # | ||
| 82 | # System Type | ||
| 83 | # | ||
| 84 | # CONFIG_ARCH_CLPS7500 is not set | ||
| 85 | # CONFIG_ARCH_CLPS711X is not set | ||
| 86 | # CONFIG_ARCH_CO285 is not set | ||
| 87 | # CONFIG_ARCH_EBSA110 is not set | ||
| 88 | # CONFIG_ARCH_CAMELOT is not set | ||
| 89 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
| 90 | # CONFIG_ARCH_INTEGRATOR is not set | ||
| 91 | # CONFIG_ARCH_IOP3XX is not set | ||
| 92 | # CONFIG_ARCH_IXP4XX is not set | ||
| 93 | # CONFIG_ARCH_IXP2000 is not set | ||
| 94 | # CONFIG_ARCH_L7200 is not set | ||
| 95 | # CONFIG_ARCH_PXA is not set | ||
| 96 | # CONFIG_ARCH_RPC is not set | ||
| 97 | # CONFIG_ARCH_SA1100 is not set | ||
| 98 | # CONFIG_ARCH_S3C2410 is not set | ||
| 99 | # CONFIG_ARCH_SHARK is not set | ||
| 100 | # CONFIG_ARCH_LH7A40X is not set | ||
| 101 | # CONFIG_ARCH_OMAP is not set | ||
| 102 | # CONFIG_ARCH_VERSATILE is not set | ||
| 103 | # CONFIG_ARCH_REALVIEW is not set | ||
| 104 | # CONFIG_ARCH_IMX is not set | ||
| 105 | # CONFIG_ARCH_H720X is not set | ||
| 106 | # CONFIG_ARCH_AAEC2000 is not set | ||
| 107 | CONFIG_ARCH_AT91RM9200=y | ||
| 108 | |||
| 109 | # | ||
| 110 | # AT91RM9200 Implementations | ||
| 111 | # | ||
| 112 | |||
| 113 | # | ||
| 114 | # AT91RM9200 Board Type | ||
| 115 | # | ||
| 116 | # CONFIG_ARCH_AT91RM9200DK is not set | ||
| 117 | # CONFIG_MACH_AT91RM9200EK is not set | ||
| 118 | # CONFIG_MACH_CSB337 is not set | ||
| 119 | CONFIG_MACH_CSB637=y | ||
| 120 | # CONFIG_MACH_CARMEVA is not set | ||
| 121 | # CONFIG_MACH_KB9200 is not set | ||
| 122 | # CONFIG_MACH_ATEB9200 is not set | ||
| 123 | |||
| 124 | # | ||
| 125 | # AT91RM9200 Feature Selections | ||
| 126 | # | ||
| 127 | CONFIG_AT91_PROGRAMMABLE_CLOCKS=y | ||
| 128 | |||
| 129 | # | ||
| 130 | # Processor Type | ||
| 131 | # | ||
| 132 | CONFIG_CPU_32=y | ||
| 133 | CONFIG_CPU_ARM920T=y | ||
| 134 | CONFIG_CPU_32v4=y | ||
| 135 | CONFIG_CPU_ABRT_EV4T=y | ||
| 136 | CONFIG_CPU_CACHE_V4WT=y | ||
| 137 | CONFIG_CPU_CACHE_VIVT=y | ||
| 138 | CONFIG_CPU_COPY_V4WB=y | ||
| 139 | CONFIG_CPU_TLB_V4WBI=y | ||
| 140 | |||
| 141 | # | ||
| 142 | # Processor Features | ||
| 143 | # | ||
| 144 | # CONFIG_ARM_THUMB is not set | ||
| 145 | # CONFIG_CPU_ICACHE_DISABLE is not set | ||
| 146 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
| 147 | # CONFIG_CPU_DCACHE_WRITETHROUGH is not set | ||
| 148 | |||
| 149 | # | ||
| 150 | # Bus support | ||
| 151 | # | ||
| 152 | CONFIG_ISA_DMA_API=y | ||
| 153 | |||
| 154 | # | ||
| 155 | # PCCARD (PCMCIA/CardBus) support | ||
| 156 | # | ||
| 157 | CONFIG_PCCARD=y | ||
| 158 | # CONFIG_PCMCIA_DEBUG is not set | ||
| 159 | CONFIG_PCMCIA=y | ||
| 160 | CONFIG_PCMCIA_LOAD_CIS=y | ||
| 161 | CONFIG_PCMCIA_IOCTL=y | ||
| 162 | |||
| 163 | # | ||
| 164 | # PC-card bridges | ||
| 165 | # | ||
| 166 | CONFIG_AT91_CF=y | ||
| 167 | |||
| 168 | # | ||
| 169 | # Kernel Features | ||
| 170 | # | ||
| 171 | # CONFIG_PREEMPT is not set | ||
| 172 | # CONFIG_NO_IDLE_HZ is not set | ||
| 173 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | ||
| 174 | CONFIG_SELECT_MEMORY_MODEL=y | ||
| 175 | CONFIG_FLATMEM_MANUAL=y | ||
| 176 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
| 177 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
| 178 | CONFIG_FLATMEM=y | ||
| 179 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
| 180 | # CONFIG_SPARSEMEM_STATIC is not set | ||
| 181 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | ||
| 182 | CONFIG_LEDS=y | ||
| 183 | CONFIG_LEDS_TIMER=y | ||
| 184 | CONFIG_LEDS_CPU=y | ||
| 185 | CONFIG_ALIGNMENT_TRAP=y | ||
| 186 | |||
| 187 | # | ||
| 188 | # Boot options | ||
| 189 | # | ||
| 190 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
| 191 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
| 192 | CONFIG_CMDLINE="mem=32M console=ttyS0,38400 initrd=0x20410000,3145728 root=/dev/ram0 rw" | ||
| 193 | # CONFIG_XIP_KERNEL is not set | ||
| 194 | |||
| 195 | # | ||
| 196 | # Floating point emulation | ||
| 197 | # | ||
| 198 | |||
| 199 | # | ||
| 200 | # At least one emulation must be selected | ||
| 201 | # | ||
| 202 | CONFIG_FPE_NWFPE=y | ||
| 203 | # CONFIG_FPE_NWFPE_XP is not set | ||
| 204 | # CONFIG_FPE_FASTFPE is not set | ||
| 205 | |||
| 206 | # | ||
| 207 | # Userspace binary formats | ||
| 208 | # | ||
| 209 | CONFIG_BINFMT_ELF=y | ||
| 210 | # CONFIG_BINFMT_AOUT is not set | ||
| 211 | # CONFIG_BINFMT_MISC is not set | ||
| 212 | # CONFIG_ARTHUR is not set | ||
| 213 | |||
| 214 | # | ||
| 215 | # Power management options | ||
| 216 | # | ||
| 217 | # CONFIG_PM is not set | ||
| 218 | |||
| 219 | # | ||
| 220 | # Networking | ||
| 221 | # | ||
| 222 | CONFIG_NET=y | ||
| 223 | |||
| 224 | # | ||
| 225 | # Networking options | ||
| 226 | # | ||
| 227 | CONFIG_PACKET=y | ||
| 228 | # CONFIG_PACKET_MMAP is not set | ||
| 229 | CONFIG_UNIX=y | ||
| 230 | # CONFIG_NET_KEY is not set | ||
| 231 | CONFIG_INET=y | ||
| 232 | # CONFIG_IP_MULTICAST is not set | ||
| 233 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
| 234 | CONFIG_IP_FIB_HASH=y | ||
| 235 | CONFIG_IP_PNP=y | ||
| 236 | CONFIG_IP_PNP_DHCP=y | ||
| 237 | CONFIG_IP_PNP_BOOTP=y | ||
| 238 | # CONFIG_IP_PNP_RARP is not set | ||
| 239 | # CONFIG_NET_IPIP is not set | ||
| 240 | # CONFIG_NET_IPGRE is not set | ||
| 241 | # CONFIG_ARPD is not set | ||
| 242 | # CONFIG_SYN_COOKIES is not set | ||
| 243 | # CONFIG_INET_AH is not set | ||
| 244 | # CONFIG_INET_ESP is not set | ||
| 245 | # CONFIG_INET_IPCOMP is not set | ||
| 246 | # CONFIG_INET_TUNNEL is not set | ||
| 247 | CONFIG_INET_DIAG=y | ||
| 248 | CONFIG_INET_TCP_DIAG=y | ||
| 249 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
| 250 | CONFIG_TCP_CONG_BIC=y | ||
| 251 | # CONFIG_IPV6 is not set | ||
| 252 | # CONFIG_NETFILTER is not set | ||
| 253 | |||
| 254 | # | ||
| 255 | # DCCP Configuration (EXPERIMENTAL) | ||
| 256 | # | ||
| 257 | # CONFIG_IP_DCCP is not set | ||
| 258 | |||
| 259 | # | ||
| 260 | # SCTP Configuration (EXPERIMENTAL) | ||
| 261 | # | ||
| 262 | # CONFIG_IP_SCTP is not set | ||
| 263 | # CONFIG_ATM is not set | ||
| 264 | # CONFIG_BRIDGE is not set | ||
| 265 | # CONFIG_VLAN_8021Q is not set | ||
| 266 | # CONFIG_DECNET is not set | ||
| 267 | # CONFIG_LLC2 is not set | ||
| 268 | # CONFIG_IPX is not set | ||
| 269 | # CONFIG_ATALK is not set | ||
| 270 | # CONFIG_X25 is not set | ||
| 271 | # CONFIG_LAPB is not set | ||
| 272 | # CONFIG_NET_DIVERT is not set | ||
| 273 | # CONFIG_ECONET is not set | ||
| 274 | # CONFIG_WAN_ROUTER is not set | ||
| 275 | |||
| 276 | # | ||
| 277 | # QoS and/or fair queueing | ||
| 278 | # | ||
| 279 | # CONFIG_NET_SCHED is not set | ||
| 280 | |||
| 281 | # | ||
| 282 | # Network testing | ||
| 283 | # | ||
| 284 | # CONFIG_NET_PKTGEN is not set | ||
| 285 | # CONFIG_HAMRADIO is not set | ||
| 286 | # CONFIG_IRDA is not set | ||
| 287 | # CONFIG_BT is not set | ||
| 288 | # CONFIG_IEEE80211 is not set | ||
| 289 | |||
| 290 | # | ||
| 291 | # Device Drivers | ||
| 292 | # | ||
| 293 | |||
| 294 | # | ||
| 295 | # Generic Driver Options | ||
| 296 | # | ||
| 297 | CONFIG_STANDALONE=y | ||
| 298 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
| 299 | CONFIG_FW_LOADER=y | ||
| 300 | # CONFIG_DEBUG_DRIVER is not set | ||
| 301 | |||
| 302 | # | ||
| 303 | # Connector - unified userspace <-> kernelspace linker | ||
| 304 | # | ||
| 305 | # CONFIG_CONNECTOR is not set | ||
| 306 | |||
| 307 | # | ||
| 308 | # Memory Technology Devices (MTD) | ||
| 309 | # | ||
| 310 | CONFIG_MTD=y | ||
| 311 | # CONFIG_MTD_DEBUG is not set | ||
| 312 | # CONFIG_MTD_CONCAT is not set | ||
| 313 | CONFIG_MTD_PARTITIONS=y | ||
| 314 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
| 315 | CONFIG_MTD_CMDLINE_PARTS=y | ||
| 316 | # CONFIG_MTD_AFS_PARTS is not set | ||
| 317 | |||
| 318 | # | ||
| 319 | # User Modules And Translation Layers | ||
| 320 | # | ||
| 321 | CONFIG_MTD_CHAR=y | ||
| 322 | CONFIG_MTD_BLOCK=y | ||
| 323 | # CONFIG_FTL is not set | ||
| 324 | # CONFIG_NFTL is not set | ||
| 325 | # CONFIG_INFTL is not set | ||
| 326 | # CONFIG_RFD_FTL is not set | ||
| 327 | |||
| 328 | # | ||
| 329 | # RAM/ROM/Flash chip drivers | ||
| 330 | # | ||
| 331 | CONFIG_MTD_CFI=y | ||
| 332 | # CONFIG_MTD_JEDECPROBE is not set | ||
| 333 | CONFIG_MTD_GEN_PROBE=y | ||
| 334 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
| 335 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
| 336 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
| 337 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
| 338 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
| 339 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
| 340 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
| 341 | CONFIG_MTD_CFI_I1=y | ||
| 342 | CONFIG_MTD_CFI_I2=y | ||
| 343 | # CONFIG_MTD_CFI_I4 is not set | ||
| 344 | # CONFIG_MTD_CFI_I8 is not set | ||
| 345 | CONFIG_MTD_CFI_INTELEXT=y | ||
| 346 | # CONFIG_MTD_CFI_AMDSTD is not set | ||
| 347 | # CONFIG_MTD_CFI_STAA is not set | ||
| 348 | CONFIG_MTD_CFI_UTIL=y | ||
| 349 | # CONFIG_MTD_RAM is not set | ||
| 350 | # CONFIG_MTD_ROM is not set | ||
| 351 | # CONFIG_MTD_ABSENT is not set | ||
| 352 | # CONFIG_MTD_XIP is not set | ||
| 353 | |||
| 354 | # | ||
| 355 | # Mapping drivers for chip access | ||
| 356 | # | ||
| 357 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
| 358 | # CONFIG_MTD_PHYSMAP is not set | ||
| 359 | # CONFIG_MTD_ARM_INTEGRATOR is not set | ||
| 360 | # CONFIG_MTD_PLATRAM is not set | ||
| 361 | CONFIG_MTD_CSB637=y | ||
| 362 | |||
| 363 | # | ||
| 364 | # Self-contained MTD device drivers | ||
| 365 | # | ||
| 366 | # CONFIG_MTD_SLRAM is not set | ||
| 367 | # CONFIG_MTD_PHRAM is not set | ||
| 368 | # CONFIG_MTD_MTDRAM is not set | ||
| 369 | # CONFIG_MTD_BLKMTD is not set | ||
| 370 | # CONFIG_MTD_BLOCK2MTD is not set | ||
| 371 | |||
| 372 | # | ||
| 373 | # Disk-On-Chip Device Drivers | ||
| 374 | # | ||
| 375 | # CONFIG_MTD_DOC2000 is not set | ||
| 376 | # CONFIG_MTD_DOC2001 is not set | ||
| 377 | # CONFIG_MTD_DOC2001PLUS is not set | ||
| 378 | # CONFIG_MTD_AT91_DATAFLASH is not set | ||
| 379 | |||
| 380 | # | ||
| 381 | # NAND Flash Device Drivers | ||
| 382 | # | ||
| 383 | # CONFIG_MTD_NAND 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 | |||
| 399 | # | ||
| 400 | # Block devices | ||
| 401 | # | ||
| 402 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
| 403 | CONFIG_BLK_DEV_LOOP=y | ||
| 404 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
| 405 | # CONFIG_BLK_DEV_NBD is not set | ||
| 406 | # CONFIG_BLK_DEV_UB is not set | ||
| 407 | CONFIG_BLK_DEV_RAM=y | ||
| 408 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
| 409 | CONFIG_BLK_DEV_RAM_SIZE=8192 | ||
| 410 | CONFIG_BLK_DEV_INITRD=y | ||
| 411 | # CONFIG_CDROM_PKTCDVD is not set | ||
| 412 | # CONFIG_ATA_OVER_ETH is not set | ||
| 413 | |||
| 414 | # | ||
| 415 | # ATA/ATAPI/MFM/RLL support | ||
| 416 | # | ||
| 417 | # CONFIG_IDE is not set | ||
| 418 | |||
| 419 | # | ||
| 420 | # SCSI device support | ||
| 421 | # | ||
| 422 | # CONFIG_RAID_ATTRS is not set | ||
| 423 | CONFIG_SCSI=y | ||
| 424 | CONFIG_SCSI_PROC_FS=y | ||
| 425 | |||
| 426 | # | ||
| 427 | # SCSI support type (disk, tape, CD-ROM) | ||
| 428 | # | ||
| 429 | # CONFIG_BLK_DEV_SD is not set | ||
| 430 | # CONFIG_CHR_DEV_ST is not set | ||
| 431 | # CONFIG_CHR_DEV_OSST is not set | ||
| 432 | # CONFIG_BLK_DEV_SR is not set | ||
| 433 | # CONFIG_CHR_DEV_SG is not set | ||
| 434 | # CONFIG_CHR_DEV_SCH is not set | ||
| 435 | |||
| 436 | # | ||
| 437 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
| 438 | # | ||
| 439 | # CONFIG_SCSI_MULTI_LUN is not set | ||
| 440 | # CONFIG_SCSI_CONSTANTS is not set | ||
| 441 | # CONFIG_SCSI_LOGGING is not set | ||
| 442 | |||
| 443 | # | ||
| 444 | # SCSI Transport Attributes | ||
| 445 | # | ||
| 446 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
| 447 | # CONFIG_SCSI_FC_ATTRS is not set | ||
| 448 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
| 449 | # CONFIG_SCSI_SAS_ATTRS is not set | ||
| 450 | |||
| 451 | # | ||
| 452 | # SCSI low-level drivers | ||
| 453 | # | ||
| 454 | # CONFIG_ISCSI_TCP is not set | ||
| 455 | # CONFIG_SCSI_SATA is not set | ||
| 456 | # CONFIG_SCSI_DEBUG is not set | ||
| 457 | |||
| 458 | # | ||
| 459 | # PCMCIA SCSI adapter support | ||
| 460 | # | ||
| 461 | # CONFIG_PCMCIA_AHA152X is not set | ||
| 462 | # CONFIG_PCMCIA_FDOMAIN is not set | ||
| 463 | # CONFIG_PCMCIA_NINJA_SCSI is not set | ||
| 464 | # CONFIG_PCMCIA_QLOGIC is not set | ||
| 465 | # CONFIG_PCMCIA_SYM53C500 is not set | ||
| 466 | |||
| 467 | # | ||
| 468 | # Multi-device support (RAID and LVM) | ||
| 469 | # | ||
| 470 | # CONFIG_MD is not set | ||
| 471 | |||
| 472 | # | ||
| 473 | # Fusion MPT device support | ||
| 474 | # | ||
| 475 | # CONFIG_FUSION is not set | ||
| 476 | |||
| 477 | # | ||
| 478 | # IEEE 1394 (FireWire) support | ||
| 479 | # | ||
| 480 | |||
| 481 | # | ||
| 482 | # I2O device support | ||
| 483 | # | ||
| 484 | |||
| 485 | # | ||
| 486 | # Network device support | ||
| 487 | # | ||
| 488 | CONFIG_NETDEVICES=y | ||
| 489 | # CONFIG_DUMMY is not set | ||
| 490 | # CONFIG_BONDING is not set | ||
| 491 | # CONFIG_EQUALIZER is not set | ||
| 492 | # CONFIG_TUN is not set | ||
| 493 | |||
| 494 | # | ||
| 495 | # PHY device support | ||
| 496 | # | ||
| 497 | # CONFIG_PHYLIB is not set | ||
| 498 | |||
| 499 | # | ||
| 500 | # Ethernet (10 or 100Mbit) | ||
| 501 | # | ||
| 502 | CONFIG_NET_ETHERNET=y | ||
| 503 | CONFIG_MII=y | ||
| 504 | CONFIG_ARM_AT91_ETHER=y | ||
| 505 | # CONFIG_SMC91X is not set | ||
| 506 | # CONFIG_DM9000 is not set | ||
| 507 | |||
| 508 | # | ||
| 509 | # Ethernet (1000 Mbit) | ||
| 510 | # | ||
| 511 | |||
| 512 | # | ||
| 513 | # Ethernet (10000 Mbit) | ||
| 514 | # | ||
| 515 | |||
| 516 | # | ||
| 517 | # Token Ring devices | ||
| 518 | # | ||
| 519 | |||
| 520 | # | ||
| 521 | # Wireless LAN (non-hamradio) | ||
| 522 | # | ||
| 523 | # CONFIG_NET_RADIO is not set | ||
| 524 | |||
| 525 | # | ||
| 526 | # PCMCIA network device support | ||
| 527 | # | ||
| 528 | # CONFIG_NET_PCMCIA is not set | ||
| 529 | |||
| 530 | # | ||
| 531 | # Wan interfaces | ||
| 532 | # | ||
| 533 | # CONFIG_WAN is not set | ||
| 534 | # CONFIG_PPP is not set | ||
| 535 | # CONFIG_SLIP is not set | ||
| 536 | # CONFIG_SHAPER is not set | ||
| 537 | # CONFIG_NETCONSOLE is not set | ||
| 538 | # CONFIG_NETPOLL is not set | ||
| 539 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
| 540 | |||
| 541 | # | ||
| 542 | # ISDN subsystem | ||
| 543 | # | ||
| 544 | # CONFIG_ISDN is not set | ||
| 545 | |||
| 546 | # | ||
| 547 | # Input device support | ||
| 548 | # | ||
| 549 | CONFIG_INPUT=y | ||
| 550 | |||
| 551 | # | ||
| 552 | # Userland interfaces | ||
| 553 | # | ||
| 554 | CONFIG_INPUT_MOUSEDEV=y | ||
| 555 | CONFIG_INPUT_MOUSEDEV_PSAUX=y | ||
| 556 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
| 557 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
| 558 | # CONFIG_INPUT_JOYDEV is not set | ||
| 559 | # CONFIG_INPUT_TSDEV is not set | ||
| 560 | # CONFIG_INPUT_EVDEV is not set | ||
| 561 | # CONFIG_INPUT_EVBUG is not set | ||
| 562 | |||
| 563 | # | ||
| 564 | # Input Device Drivers | ||
| 565 | # | ||
| 566 | # CONFIG_INPUT_KEYBOARD is not set | ||
| 567 | # CONFIG_INPUT_MOUSE is not set | ||
| 568 | # CONFIG_INPUT_JOYSTICK is not set | ||
| 569 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
| 570 | # CONFIG_INPUT_MISC is not set | ||
| 571 | |||
| 572 | # | ||
| 573 | # Hardware I/O ports | ||
| 574 | # | ||
| 575 | # CONFIG_SERIO is not set | ||
| 576 | # CONFIG_GAMEPORT is not set | ||
| 577 | |||
| 578 | # | ||
| 579 | # Character devices | ||
| 580 | # | ||
| 581 | CONFIG_VT=y | ||
| 582 | CONFIG_VT_CONSOLE=y | ||
| 583 | CONFIG_HW_CONSOLE=y | ||
| 584 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
| 585 | |||
| 586 | # | ||
| 587 | # Serial drivers | ||
| 588 | # | ||
| 589 | # CONFIG_SERIAL_8250 is not set | ||
| 590 | |||
| 591 | # | ||
| 592 | # Non-8250 serial port support | ||
| 593 | # | ||
| 594 | CONFIG_SERIAL_AT91=y | ||
| 595 | CONFIG_SERIAL_AT91_CONSOLE=y | ||
| 596 | # CONFIG_SERIAL_AT91_TTYAT is not set | ||
| 597 | CONFIG_SERIAL_CORE=y | ||
| 598 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
| 599 | CONFIG_UNIX98_PTYS=y | ||
| 600 | CONFIG_LEGACY_PTYS=y | ||
| 601 | CONFIG_LEGACY_PTY_COUNT=256 | ||
| 602 | |||
| 603 | # | ||
| 604 | # IPMI | ||
| 605 | # | ||
| 606 | # CONFIG_IPMI_HANDLER is not set | ||
| 607 | |||
| 608 | # | ||
| 609 | # Watchdog Cards | ||
| 610 | # | ||
| 611 | CONFIG_WATCHDOG=y | ||
| 612 | CONFIG_WATCHDOG_NOWAYOUT=y | ||
| 613 | |||
| 614 | # | ||
| 615 | # Watchdog Device Drivers | ||
| 616 | # | ||
| 617 | # CONFIG_SOFT_WATCHDOG is not set | ||
| 618 | CONFIG_AT91_WATCHDOG=y | ||
| 619 | |||
| 620 | # | ||
| 621 | # USB-based Watchdog Cards | ||
| 622 | # | ||
| 623 | # CONFIG_USBPCWATCHDOG is not set | ||
| 624 | # CONFIG_NVRAM is not set | ||
| 625 | CONFIG_RTC=y | ||
| 626 | # CONFIG_AT91_RTC is not set | ||
| 627 | # CONFIG_DTLK is not set | ||
| 628 | # CONFIG_R3964 is not set | ||
| 629 | |||
| 630 | # | ||
| 631 | # Ftape, the floppy tape device driver | ||
| 632 | # | ||
| 633 | |||
| 634 | # | ||
| 635 | # PCMCIA character devices | ||
| 636 | # | ||
| 637 | # CONFIG_SYNCLINK_CS is not set | ||
| 638 | # CONFIG_CARDMAN_4000 is not set | ||
| 639 | # CONFIG_CARDMAN_4040 is not set | ||
| 640 | # CONFIG_RAW_DRIVER is not set | ||
| 641 | |||
| 642 | # | ||
| 643 | # TPM devices | ||
| 644 | # | ||
| 645 | # CONFIG_TCG_TPM is not set | ||
| 646 | # CONFIG_TELCLOCK is not set | ||
| 647 | CONFIG_AT91_SPI=y | ||
| 648 | CONFIG_AT91_SPIDEV=y | ||
| 649 | |||
| 650 | # | ||
| 651 | # I2C support | ||
| 652 | # | ||
| 653 | CONFIG_I2C=y | ||
| 654 | CONFIG_I2C_CHARDEV=y | ||
| 655 | |||
| 656 | # | ||
| 657 | # I2C Algorithms | ||
| 658 | # | ||
| 659 | # CONFIG_I2C_ALGOBIT is not set | ||
| 660 | # CONFIG_I2C_ALGOPCF is not set | ||
| 661 | # CONFIG_I2C_ALGOPCA is not set | ||
| 662 | |||
| 663 | # | ||
| 664 | # I2C Hardware Bus support | ||
| 665 | # | ||
| 666 | CONFIG_I2C_AT91=y | ||
| 667 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
| 668 | # CONFIG_I2C_STUB is not set | ||
| 669 | # CONFIG_I2C_PCA_ISA is not set | ||
| 670 | |||
| 671 | # | ||
| 672 | # Miscellaneous I2C Chip support | ||
| 673 | # | ||
| 674 | # CONFIG_SENSORS_DS1337 is not set | ||
| 675 | # CONFIG_SENSORS_DS1374 is not set | ||
| 676 | # CONFIG_SENSORS_EEPROM is not set | ||
| 677 | # CONFIG_SENSORS_PCF8574 is not set | ||
| 678 | # CONFIG_SENSORS_PCA9539 is not set | ||
| 679 | # CONFIG_SENSORS_PCF8591 is not set | ||
| 680 | # CONFIG_SENSORS_RTC8564 is not set | ||
| 681 | # CONFIG_SENSORS_MAX6875 is not set | ||
| 682 | # CONFIG_RTC_X1205_I2C is not set | ||
| 683 | # CONFIG_I2C_DEBUG_CORE is not set | ||
| 684 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
| 685 | # CONFIG_I2C_DEBUG_BUS is not set | ||
| 686 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
| 687 | |||
| 688 | # | ||
| 689 | # Hardware Monitoring support | ||
| 690 | # | ||
| 691 | CONFIG_HWMON=y | ||
| 692 | # CONFIG_HWMON_VID is not set | ||
| 693 | # CONFIG_SENSORS_ADM1021 is not set | ||
| 694 | # CONFIG_SENSORS_ADM1025 is not set | ||
| 695 | # CONFIG_SENSORS_ADM1026 is not set | ||
| 696 | # CONFIG_SENSORS_ADM1031 is not set | ||
| 697 | # CONFIG_SENSORS_ADM9240 is not set | ||
| 698 | # CONFIG_SENSORS_ASB100 is not set | ||
| 699 | # CONFIG_SENSORS_ATXP1 is not set | ||
| 700 | # CONFIG_SENSORS_DS1621 is not set | ||
| 701 | # CONFIG_SENSORS_FSCHER is not set | ||
| 702 | # CONFIG_SENSORS_FSCPOS is not set | ||
| 703 | # CONFIG_SENSORS_GL518SM is not set | ||
| 704 | # CONFIG_SENSORS_GL520SM is not set | ||
| 705 | # CONFIG_SENSORS_IT87 is not set | ||
| 706 | # CONFIG_SENSORS_LM63 is not set | ||
| 707 | # CONFIG_SENSORS_LM75 is not set | ||
| 708 | # CONFIG_SENSORS_LM77 is not set | ||
| 709 | # CONFIG_SENSORS_LM78 is not set | ||
| 710 | # CONFIG_SENSORS_LM80 is not set | ||
| 711 | # CONFIG_SENSORS_LM83 is not set | ||
| 712 | # CONFIG_SENSORS_LM85 is not set | ||
| 713 | # CONFIG_SENSORS_LM87 is not set | ||
| 714 | # CONFIG_SENSORS_LM90 is not set | ||
| 715 | # CONFIG_SENSORS_LM92 is not set | ||
| 716 | # CONFIG_SENSORS_MAX1619 is not set | ||
| 717 | # CONFIG_SENSORS_PC87360 is not set | ||
| 718 | # CONFIG_SENSORS_SMSC47M1 is not set | ||
| 719 | # CONFIG_SENSORS_SMSC47B397 is not set | ||
| 720 | # CONFIG_SENSORS_W83781D is not set | ||
| 721 | # CONFIG_SENSORS_W83792D is not set | ||
| 722 | # CONFIG_SENSORS_W83L785TS is not set | ||
| 723 | # CONFIG_SENSORS_W83627HF is not set | ||
| 724 | # CONFIG_SENSORS_W83627EHF is not set | ||
| 725 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
| 726 | |||
| 727 | # | ||
| 728 | # Misc devices | ||
| 729 | # | ||
| 730 | |||
| 731 | # | ||
| 732 | # Multimedia Capabilities Port drivers | ||
| 733 | # | ||
| 734 | |||
| 735 | # | ||
| 736 | # Multimedia devices | ||
| 737 | # | ||
| 738 | # CONFIG_VIDEO_DEV is not set | ||
| 739 | |||
| 740 | # | ||
| 741 | # Digital Video Broadcasting Devices | ||
| 742 | # | ||
| 743 | # CONFIG_DVB is not set | ||
| 744 | |||
| 745 | # | ||
| 746 | # Graphics support | ||
| 747 | # | ||
| 748 | # CONFIG_FB is not set | ||
| 749 | |||
| 750 | # | ||
| 751 | # Console display driver support | ||
| 752 | # | ||
| 753 | # CONFIG_VGA_CONSOLE is not set | ||
| 754 | CONFIG_DUMMY_CONSOLE=y | ||
| 755 | |||
| 756 | # | ||
| 757 | # Sound | ||
| 758 | # | ||
| 759 | # CONFIG_SOUND is not set | ||
| 760 | |||
| 761 | # | ||
| 762 | # USB support | ||
| 763 | # | ||
| 764 | CONFIG_USB_ARCH_HAS_HCD=y | ||
| 765 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
| 766 | CONFIG_USB=y | ||
| 767 | CONFIG_USB_DEBUG=y | ||
| 768 | |||
| 769 | # | ||
| 770 | # Miscellaneous USB options | ||
| 771 | # | ||
| 772 | CONFIG_USB_DEVICEFS=y | ||
| 773 | # CONFIG_USB_BANDWIDTH is not set | ||
| 774 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
| 775 | # CONFIG_USB_OTG is not set | ||
| 776 | |||
| 777 | # | ||
| 778 | # USB Host Controller Drivers | ||
| 779 | # | ||
| 780 | # CONFIG_USB_ISP116X_HCD is not set | ||
| 781 | CONFIG_USB_OHCI_HCD=y | ||
| 782 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | ||
| 783 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | ||
| 784 | # CONFIG_USB_SL811_HCD is not set | ||
| 785 | |||
| 786 | # | ||
| 787 | # USB Device Class drivers | ||
| 788 | # | ||
| 789 | # CONFIG_USB_ACM is not set | ||
| 790 | # CONFIG_USB_PRINTER is not set | ||
| 791 | |||
| 792 | # | ||
| 793 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
| 794 | # | ||
| 795 | |||
| 796 | # | ||
| 797 | # may also be needed; see USB_STORAGE Help for more information | ||
| 798 | # | ||
| 799 | CONFIG_USB_STORAGE=y | ||
| 800 | # CONFIG_USB_STORAGE_DEBUG is not set | ||
| 801 | # CONFIG_USB_STORAGE_DATAFAB is not set | ||
| 802 | # CONFIG_USB_STORAGE_FREECOM is not set | ||
| 803 | # CONFIG_USB_STORAGE_DPCM is not set | ||
| 804 | # CONFIG_USB_STORAGE_USBAT is not set | ||
| 805 | # CONFIG_USB_STORAGE_SDDR09 is not set | ||
| 806 | # CONFIG_USB_STORAGE_SDDR55 is not set | ||
| 807 | # CONFIG_USB_STORAGE_JUMPSHOT is not set | ||
| 808 | |||
| 809 | # | ||
| 810 | # USB Input Devices | ||
| 811 | # | ||
| 812 | # CONFIG_USB_HID is not set | ||
| 813 | |||
| 814 | # | ||
| 815 | # USB HID Boot Protocol drivers | ||
| 816 | # | ||
| 817 | # CONFIG_USB_KBD is not set | ||
| 818 | # CONFIG_USB_MOUSE is not set | ||
| 819 | # CONFIG_USB_AIPTEK is not set | ||
| 820 | # CONFIG_USB_WACOM is not set | ||
| 821 | # CONFIG_USB_ACECAD is not set | ||
| 822 | # CONFIG_USB_KBTAB is not set | ||
| 823 | # CONFIG_USB_POWERMATE is not set | ||
| 824 | # CONFIG_USB_MTOUCH is not set | ||
| 825 | # CONFIG_USB_ITMTOUCH is not set | ||
| 826 | # CONFIG_USB_EGALAX is not set | ||
| 827 | # CONFIG_USB_YEALINK is not set | ||
| 828 | # CONFIG_USB_XPAD is not set | ||
| 829 | # CONFIG_USB_ATI_REMOTE is not set | ||
| 830 | # CONFIG_USB_KEYSPAN_REMOTE is not set | ||
| 831 | # CONFIG_USB_APPLETOUCH is not set | ||
| 832 | |||
| 833 | # | ||
| 834 | # USB Imaging devices | ||
| 835 | # | ||
| 836 | # CONFIG_USB_MDC800 is not set | ||
| 837 | # CONFIG_USB_MICROTEK is not set | ||
| 838 | |||
| 839 | # | ||
| 840 | # USB Multimedia devices | ||
| 841 | # | ||
| 842 | # CONFIG_USB_DABUSB is not set | ||
| 843 | |||
| 844 | # | ||
| 845 | # Video4Linux support is needed for USB Multimedia device support | ||
| 846 | # | ||
| 847 | |||
| 848 | # | ||
| 849 | # USB Network Adapters | ||
| 850 | # | ||
| 851 | # CONFIG_USB_CATC is not set | ||
| 852 | # CONFIG_USB_KAWETH is not set | ||
| 853 | # CONFIG_USB_PEGASUS is not set | ||
| 854 | # CONFIG_USB_RTL8150 is not set | ||
| 855 | # CONFIG_USB_USBNET is not set | ||
| 856 | CONFIG_USB_MON=y | ||
| 857 | |||
| 858 | # | ||
| 859 | # USB port drivers | ||
| 860 | # | ||
| 861 | |||
| 862 | # | ||
| 863 | # USB Serial Converter support | ||
| 864 | # | ||
| 865 | CONFIG_USB_SERIAL=y | ||
| 866 | CONFIG_USB_SERIAL_CONSOLE=y | ||
| 867 | CONFIG_USB_SERIAL_GENERIC=y | ||
| 868 | # CONFIG_USB_SERIAL_AIRPRIME is not set | ||
| 869 | # CONFIG_USB_SERIAL_ANYDATA is not set | ||
| 870 | # CONFIG_USB_SERIAL_BELKIN is not set | ||
| 871 | # CONFIG_USB_SERIAL_WHITEHEAT is not set | ||
| 872 | # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set | ||
| 873 | # CONFIG_USB_SERIAL_CP2101 is not set | ||
| 874 | # CONFIG_USB_SERIAL_CYPRESS_M8 is not set | ||
| 875 | # CONFIG_USB_SERIAL_EMPEG is not set | ||
| 876 | CONFIG_USB_SERIAL_FTDI_SIO=y | ||
| 877 | # CONFIG_USB_SERIAL_VISOR is not set | ||
| 878 | # CONFIG_USB_SERIAL_IPAQ is not set | ||
| 879 | # CONFIG_USB_SERIAL_IR is not set | ||
| 880 | # CONFIG_USB_SERIAL_EDGEPORT is not set | ||
| 881 | # CONFIG_USB_SERIAL_EDGEPORT_TI is not set | ||
| 882 | # CONFIG_USB_SERIAL_GARMIN is not set | ||
| 883 | # CONFIG_USB_SERIAL_IPW is not set | ||
| 884 | # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set | ||
| 885 | CONFIG_USB_SERIAL_KEYSPAN=y | ||
| 886 | CONFIG_USB_SERIAL_KEYSPAN_MPR=y | ||
| 887 | CONFIG_USB_SERIAL_KEYSPAN_USA28=y | ||
| 888 | CONFIG_USB_SERIAL_KEYSPAN_USA28X=y | ||
| 889 | CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y | ||
| 890 | CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y | ||
| 891 | CONFIG_USB_SERIAL_KEYSPAN_USA19=y | ||
| 892 | CONFIG_USB_SERIAL_KEYSPAN_USA18X=y | ||
| 893 | CONFIG_USB_SERIAL_KEYSPAN_USA19W=y | ||
| 894 | CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y | ||
| 895 | CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y | ||
| 896 | CONFIG_USB_SERIAL_KEYSPAN_USA49W=y | ||
| 897 | CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y | ||
| 898 | # CONFIG_USB_SERIAL_KLSI is not set | ||
| 899 | # CONFIG_USB_SERIAL_KOBIL_SCT is not set | ||
| 900 | CONFIG_USB_SERIAL_MCT_U232=y | ||
| 901 | # CONFIG_USB_SERIAL_PL2303 is not set | ||
| 902 | # CONFIG_USB_SERIAL_HP4X is not set | ||
| 903 | # CONFIG_USB_SERIAL_SAFE is not set | ||
| 904 | # CONFIG_USB_SERIAL_TI is not set | ||
| 905 | # CONFIG_USB_SERIAL_CYBERJACK is not set | ||
| 906 | # CONFIG_USB_SERIAL_XIRCOM is not set | ||
| 907 | # CONFIG_USB_SERIAL_OPTION is not set | ||
| 908 | # CONFIG_USB_SERIAL_OMNINET is not set | ||
| 909 | CONFIG_USB_EZUSB=y | ||
| 910 | |||
| 911 | # | ||
| 912 | # USB Miscellaneous drivers | ||
| 913 | # | ||
| 914 | # CONFIG_USB_EMI62 is not set | ||
| 915 | # CONFIG_USB_EMI26 is not set | ||
| 916 | # CONFIG_USB_AUERSWALD is not set | ||
| 917 | # CONFIG_USB_RIO500 is not set | ||
| 918 | # CONFIG_USB_LEGOTOWER is not set | ||
| 919 | # CONFIG_USB_LCD is not set | ||
| 920 | # CONFIG_USB_LED is not set | ||
| 921 | # CONFIG_USB_CYTHERM is not set | ||
| 922 | # CONFIG_USB_PHIDGETKIT is not set | ||
| 923 | # CONFIG_USB_PHIDGETSERVO is not set | ||
| 924 | # CONFIG_USB_IDMOUSE is not set | ||
| 925 | # CONFIG_USB_LD is not set | ||
| 926 | # CONFIG_USB_TEST is not set | ||
| 927 | |||
| 928 | # | ||
| 929 | # USB DSL modem support | ||
| 930 | # | ||
| 931 | |||
| 932 | # | ||
| 933 | # USB Gadget Support | ||
| 934 | # | ||
| 935 | # CONFIG_USB_GADGET is not set | ||
| 936 | |||
| 937 | # | ||
| 938 | # MMC/SD Card support | ||
| 939 | # | ||
| 940 | # CONFIG_MMC is not set | ||
| 941 | |||
| 942 | # | ||
| 943 | # File systems | ||
| 944 | # | ||
| 945 | CONFIG_EXT2_FS=y | ||
| 946 | # CONFIG_EXT2_FS_XATTR is not set | ||
| 947 | # CONFIG_EXT2_FS_XIP is not set | ||
| 948 | # CONFIG_EXT3_FS is not set | ||
| 949 | # CONFIG_JBD is not set | ||
| 950 | # CONFIG_REISERFS_FS is not set | ||
| 951 | # CONFIG_JFS_FS is not set | ||
| 952 | # CONFIG_FS_POSIX_ACL is not set | ||
| 953 | # CONFIG_XFS_FS is not set | ||
| 954 | # CONFIG_MINIX_FS is not set | ||
| 955 | # CONFIG_ROMFS_FS is not set | ||
| 956 | CONFIG_INOTIFY=y | ||
| 957 | # CONFIG_QUOTA is not set | ||
| 958 | CONFIG_DNOTIFY=y | ||
| 959 | # CONFIG_AUTOFS_FS is not set | ||
| 960 | # CONFIG_AUTOFS4_FS is not set | ||
| 961 | # CONFIG_FUSE_FS is not set | ||
| 962 | |||
| 963 | # | ||
| 964 | # CD-ROM/DVD Filesystems | ||
| 965 | # | ||
| 966 | # CONFIG_ISO9660_FS is not set | ||
| 967 | # CONFIG_UDF_FS is not set | ||
| 968 | |||
| 969 | # | ||
| 970 | # DOS/FAT/NT Filesystems | ||
| 971 | # | ||
| 972 | # CONFIG_MSDOS_FS is not set | ||
| 973 | # CONFIG_VFAT_FS is not set | ||
| 974 | # CONFIG_NTFS_FS is not set | ||
| 975 | |||
| 976 | # | ||
| 977 | # Pseudo filesystems | ||
| 978 | # | ||
| 979 | CONFIG_PROC_FS=y | ||
| 980 | CONFIG_SYSFS=y | ||
| 981 | CONFIG_TMPFS=y | ||
| 982 | # CONFIG_HUGETLB_PAGE is not set | ||
| 983 | CONFIG_RAMFS=y | ||
| 984 | # CONFIG_RELAYFS_FS is not set | ||
| 985 | |||
| 986 | # | ||
| 987 | # Miscellaneous filesystems | ||
| 988 | # | ||
| 989 | # CONFIG_ADFS_FS is not set | ||
| 990 | # CONFIG_AFFS_FS is not set | ||
| 991 | # CONFIG_HFS_FS is not set | ||
| 992 | # CONFIG_HFSPLUS_FS is not set | ||
| 993 | # CONFIG_BEFS_FS is not set | ||
| 994 | # CONFIG_BFS_FS is not set | ||
| 995 | # CONFIG_EFS_FS is not set | ||
| 996 | # CONFIG_JFFS_FS is not set | ||
| 997 | # CONFIG_JFFS2_FS is not set | ||
| 998 | CONFIG_CRAMFS=y | ||
| 999 | # CONFIG_VXFS_FS is not set | ||
| 1000 | # CONFIG_HPFS_FS is not set | ||
| 1001 | # CONFIG_QNX4FS_FS is not set | ||
| 1002 | # CONFIG_SYSV_FS is not set | ||
| 1003 | # CONFIG_UFS_FS is not set | ||
| 1004 | |||
| 1005 | # | ||
| 1006 | # Network File Systems | ||
| 1007 | # | ||
| 1008 | CONFIG_NFS_FS=y | ||
| 1009 | CONFIG_NFS_V3=y | ||
| 1010 | # CONFIG_NFS_V3_ACL is not set | ||
| 1011 | CONFIG_NFS_V4=y | ||
| 1012 | # CONFIG_NFS_DIRECTIO is not set | ||
| 1013 | # CONFIG_NFSD is not set | ||
| 1014 | CONFIG_ROOT_NFS=y | ||
| 1015 | CONFIG_LOCKD=y | ||
| 1016 | CONFIG_LOCKD_V4=y | ||
| 1017 | CONFIG_NFS_COMMON=y | ||
| 1018 | CONFIG_SUNRPC=y | ||
| 1019 | CONFIG_SUNRPC_GSS=y | ||
| 1020 | CONFIG_RPCSEC_GSS_KRB5=y | ||
| 1021 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
| 1022 | # CONFIG_SMB_FS is not set | ||
| 1023 | # CONFIG_CIFS is not set | ||
| 1024 | # CONFIG_NCP_FS is not set | ||
| 1025 | # CONFIG_CODA_FS is not set | ||
| 1026 | # CONFIG_AFS_FS is not set | ||
| 1027 | # CONFIG_9P_FS is not set | ||
| 1028 | |||
| 1029 | # | ||
| 1030 | # Partition Types | ||
| 1031 | # | ||
| 1032 | # CONFIG_PARTITION_ADVANCED is not set | ||
| 1033 | CONFIG_MSDOS_PARTITION=y | ||
| 1034 | |||
| 1035 | # | ||
| 1036 | # Native Language Support | ||
| 1037 | # | ||
| 1038 | # CONFIG_NLS is not set | ||
| 1039 | |||
| 1040 | # | ||
| 1041 | # Profiling support | ||
| 1042 | # | ||
| 1043 | # CONFIG_PROFILING is not set | ||
| 1044 | |||
| 1045 | # | ||
| 1046 | # Kernel hacking | ||
| 1047 | # | ||
| 1048 | # CONFIG_PRINTK_TIME is not set | ||
| 1049 | CONFIG_DEBUG_KERNEL=y | ||
| 1050 | # CONFIG_MAGIC_SYSRQ is not set | ||
| 1051 | CONFIG_LOG_BUF_SHIFT=14 | ||
| 1052 | CONFIG_DETECT_SOFTLOCKUP=y | ||
| 1053 | # CONFIG_SCHEDSTATS is not set | ||
| 1054 | # CONFIG_DEBUG_SLAB is not set | ||
| 1055 | # CONFIG_DEBUG_SPINLOCK is not set | ||
| 1056 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
| 1057 | # CONFIG_DEBUG_KOBJECT is not set | ||
| 1058 | CONFIG_DEBUG_BUGVERBOSE=y | ||
| 1059 | # CONFIG_DEBUG_INFO is not set | ||
| 1060 | # CONFIG_DEBUG_FS is not set | ||
| 1061 | # CONFIG_DEBUG_VM is not set | ||
| 1062 | CONFIG_FRAME_POINTER=y | ||
| 1063 | # CONFIG_RCU_TORTURE_TEST is not set | ||
| 1064 | CONFIG_DEBUG_USER=y | ||
| 1065 | # CONFIG_DEBUG_WAITQ is not set | ||
| 1066 | # CONFIG_DEBUG_ERRORS is not set | ||
| 1067 | CONFIG_DEBUG_LL=y | ||
| 1068 | # CONFIG_DEBUG_ICEDCC is not set | ||
| 1069 | |||
| 1070 | # | ||
| 1071 | # Security options | ||
| 1072 | # | ||
| 1073 | # CONFIG_KEYS is not set | ||
| 1074 | # CONFIG_SECURITY is not set | ||
| 1075 | |||
| 1076 | # | ||
| 1077 | # Cryptographic options | ||
| 1078 | # | ||
| 1079 | CONFIG_CRYPTO=y | ||
| 1080 | # CONFIG_CRYPTO_HMAC is not set | ||
| 1081 | # CONFIG_CRYPTO_NULL is not set | ||
| 1082 | # CONFIG_CRYPTO_MD4 is not set | ||
| 1083 | CONFIG_CRYPTO_MD5=y | ||
| 1084 | # CONFIG_CRYPTO_SHA1 is not set | ||
| 1085 | # CONFIG_CRYPTO_SHA256 is not set | ||
| 1086 | # CONFIG_CRYPTO_SHA512 is not set | ||
| 1087 | # CONFIG_CRYPTO_WP512 is not set | ||
| 1088 | # CONFIG_CRYPTO_TGR192 is not set | ||
| 1089 | CONFIG_CRYPTO_DES=y | ||
| 1090 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
| 1091 | # CONFIG_CRYPTO_TWOFISH is not set | ||
| 1092 | # CONFIG_CRYPTO_SERPENT is not set | ||
| 1093 | # CONFIG_CRYPTO_AES is not set | ||
| 1094 | # CONFIG_CRYPTO_CAST5 is not set | ||
| 1095 | # CONFIG_CRYPTO_CAST6 is not set | ||
| 1096 | # CONFIG_CRYPTO_TEA is not set | ||
| 1097 | # CONFIG_CRYPTO_ARC4 is not set | ||
| 1098 | # CONFIG_CRYPTO_KHAZAD is not set | ||
| 1099 | # CONFIG_CRYPTO_ANUBIS is not set | ||
| 1100 | # CONFIG_CRYPTO_DEFLATE is not set | ||
| 1101 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
| 1102 | # CONFIG_CRYPTO_CRC32C is not set | ||
| 1103 | # CONFIG_CRYPTO_TEST is not set | ||
| 1104 | |||
| 1105 | # | ||
| 1106 | # Hardware crypto devices | ||
| 1107 | # | ||
| 1108 | |||
| 1109 | # | ||
| 1110 | # Library routines | ||
| 1111 | # | ||
| 1112 | # CONFIG_CRC_CCITT is not set | ||
| 1113 | # CONFIG_CRC16 is not set | ||
| 1114 | CONFIG_CRC32=y | ||
| 1115 | # CONFIG_LIBCRC32C is not set | ||
| 1116 | CONFIG_ZLIB_INFLATE=y | ||
diff --git a/arch/arm/kernel/ecard.c b/arch/arm/kernel/ecard.c index dceb826bd216..96fd91926c9b 100644 --- a/arch/arm/kernel/ecard.c +++ b/arch/arm/kernel/ecard.c | |||
| @@ -40,6 +40,7 @@ | |||
| 40 | #include <linux/proc_fs.h> | 40 | #include <linux/proc_fs.h> |
| 41 | #include <linux/device.h> | 41 | #include <linux/device.h> |
| 42 | #include <linux/init.h> | 42 | #include <linux/init.h> |
| 43 | #include <linux/mutex.h> | ||
| 43 | 44 | ||
| 44 | #include <asm/dma.h> | 45 | #include <asm/dma.h> |
| 45 | #include <asm/ecard.h> | 46 | #include <asm/ecard.h> |
| @@ -206,7 +207,7 @@ static void ecard_task_readbytes(struct ecard_request *req) | |||
| 206 | 207 | ||
| 207 | static DECLARE_WAIT_QUEUE_HEAD(ecard_wait); | 208 | static DECLARE_WAIT_QUEUE_HEAD(ecard_wait); |
| 208 | static struct ecard_request *ecard_req; | 209 | static struct ecard_request *ecard_req; |
| 209 | static DECLARE_MUTEX(ecard_sem); | 210 | static DEFINE_MUTEX(ecard_mutex); |
| 210 | 211 | ||
| 211 | /* | 212 | /* |
| 212 | * Set up the expansion card daemon's page tables. | 213 | * Set up the expansion card daemon's page tables. |
| @@ -299,7 +300,7 @@ static void ecard_call(struct ecard_request *req) | |||
| 299 | 300 | ||
| 300 | req->complete = &completion; | 301 | req->complete = &completion; |
| 301 | 302 | ||
| 302 | down(&ecard_sem); | 303 | mutex_lock(&ecard_mutex); |
| 303 | ecard_req = req; | 304 | ecard_req = req; |
| 304 | wake_up(&ecard_wait); | 305 | wake_up(&ecard_wait); |
| 305 | 306 | ||
| @@ -307,7 +308,7 @@ static void ecard_call(struct ecard_request *req) | |||
| 307 | * Now wait for kecardd to run. | 308 | * Now wait for kecardd to run. |
| 308 | */ | 309 | */ |
| 309 | wait_for_completion(&completion); | 310 | wait_for_completion(&completion); |
| 310 | up(&ecard_sem); | 311 | mutex_unlock(&ecard_mutex); |
| 311 | } | 312 | } |
| 312 | 313 | ||
| 313 | /* ======================= Mid-level card control ===================== */ | 314 | /* ======================= Mid-level card control ===================== */ |
diff --git a/arch/arm/kernel/fiq.c b/arch/arm/kernel/fiq.c index 9299dfc25698..1ec3f7faa259 100644 --- a/arch/arm/kernel/fiq.c +++ b/arch/arm/kernel/fiq.c | |||
| @@ -101,7 +101,7 @@ void __attribute__((naked)) set_fiq_regs(struct pt_regs *regs) | |||
| 101 | ldmia %1, {r8 - r14}\n\ | 101 | ldmia %1, {r8 - r14}\n\ |
| 102 | msr cpsr_c, %0 @ return to SVC mode\n\ | 102 | msr cpsr_c, %0 @ return to SVC mode\n\ |
| 103 | mov r0, r0\n\ | 103 | mov r0, r0\n\ |
| 104 | ldmea fp, {fp, sp, pc}" | 104 | ldmfd sp, {fp, sp, pc}" |
| 105 | : "=&r" (tmp) | 105 | : "=&r" (tmp) |
| 106 | : "r" (®s->ARM_r8), "I" (PSR_I_BIT | PSR_F_BIT | FIQ_MODE)); | 106 | : "r" (®s->ARM_r8), "I" (PSR_I_BIT | PSR_F_BIT | FIQ_MODE)); |
| 107 | } | 107 | } |
| @@ -119,7 +119,7 @@ void __attribute__((naked)) get_fiq_regs(struct pt_regs *regs) | |||
| 119 | stmia %1, {r8 - r14}\n\ | 119 | stmia %1, {r8 - r14}\n\ |
| 120 | msr cpsr_c, %0 @ return to SVC mode\n\ | 120 | msr cpsr_c, %0 @ return to SVC mode\n\ |
| 121 | mov r0, r0\n\ | 121 | mov r0, r0\n\ |
| 122 | ldmea fp, {fp, sp, pc}" | 122 | ldmfd sp, {fp, sp, pc}" |
| 123 | : "=&r" (tmp) | 123 | : "=&r" (tmp) |
| 124 | : "r" (®s->ARM_r8), "I" (PSR_I_BIT | PSR_F_BIT | FIQ_MODE)); | 124 | : "r" (®s->ARM_r8), "I" (PSR_I_BIT | PSR_F_BIT | FIQ_MODE)); |
| 125 | } | 125 | } |
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 2cab741ad0f8..c45d10d07bde 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c | |||
| @@ -205,7 +205,7 @@ static const char *proc_arch[] = { | |||
| 205 | "5TE", | 205 | "5TE", |
| 206 | "5TEJ", | 206 | "5TEJ", |
| 207 | "6TEJ", | 207 | "6TEJ", |
| 208 | "?(10)", | 208 | "7", |
| 209 | "?(11)", | 209 | "?(11)", |
| 210 | "?(12)", | 210 | "?(12)", |
| 211 | "?(13)", | 211 | "?(13)", |
| @@ -258,14 +258,17 @@ int cpu_architecture(void) | |||
| 258 | { | 258 | { |
| 259 | int cpu_arch; | 259 | int cpu_arch; |
| 260 | 260 | ||
| 261 | if ((processor_id & 0x0000f000) == 0) { | 261 | if ((processor_id & 0x0008f000) == 0) { |
| 262 | cpu_arch = CPU_ARCH_UNKNOWN; | 262 | cpu_arch = CPU_ARCH_UNKNOWN; |
| 263 | } else if ((processor_id & 0x0000f000) == 0x00007000) { | 263 | } else if ((processor_id & 0x0008f000) == 0x00007000) { |
| 264 | cpu_arch = (processor_id & (1 << 23)) ? CPU_ARCH_ARMv4T : CPU_ARCH_ARMv3; | 264 | cpu_arch = (processor_id & (1 << 23)) ? CPU_ARCH_ARMv4T : CPU_ARCH_ARMv3; |
| 265 | } else { | 265 | } else if ((processor_id & 0x00080000) == 0x00000000) { |
| 266 | cpu_arch = (processor_id >> 16) & 7; | 266 | cpu_arch = (processor_id >> 16) & 7; |
| 267 | if (cpu_arch) | 267 | if (cpu_arch) |
| 268 | cpu_arch += CPU_ARCH_ARMv3; | 268 | cpu_arch += CPU_ARCH_ARMv3; |
| 269 | } else { | ||
| 270 | /* the revised CPUID */ | ||
| 271 | cpu_arch = ((processor_id >> 12) & 0xf) - 0xb + CPU_ARCH_ARMv6; | ||
| 269 | } | 272 | } |
| 270 | 273 | ||
| 271 | return cpu_arch; | 274 | return cpu_arch; |
| @@ -863,11 +866,11 @@ static int c_show(struct seq_file *m, void *v) | |||
| 863 | seq_printf(m, "\nCPU implementer\t: 0x%02x\n", processor_id >> 24); | 866 | seq_printf(m, "\nCPU implementer\t: 0x%02x\n", processor_id >> 24); |
| 864 | seq_printf(m, "CPU architecture: %s\n", proc_arch[cpu_architecture()]); | 867 | seq_printf(m, "CPU architecture: %s\n", proc_arch[cpu_architecture()]); |
| 865 | 868 | ||
| 866 | if ((processor_id & 0x0000f000) == 0x00000000) { | 869 | if ((processor_id & 0x0008f000) == 0x00000000) { |
| 867 | /* pre-ARM7 */ | 870 | /* pre-ARM7 */ |
| 868 | seq_printf(m, "CPU part\t\t: %07x\n", processor_id >> 4); | 871 | seq_printf(m, "CPU part\t\t: %07x\n", processor_id >> 4); |
| 869 | } else { | 872 | } else { |
| 870 | if ((processor_id & 0x0000f000) == 0x00007000) { | 873 | if ((processor_id & 0x0008f000) == 0x00007000) { |
| 871 | /* ARM7 */ | 874 | /* ARM7 */ |
| 872 | seq_printf(m, "CPU variant\t: 0x%02x\n", | 875 | seq_printf(m, "CPU variant\t: 0x%02x\n", |
| 873 | (processor_id >> 16) & 127); | 876 | (processor_id >> 16) & 127); |
diff --git a/arch/arm/lib/csumpartialcopy.S b/arch/arm/lib/csumpartialcopy.S index 990ee63b2465..21effe0dbf97 100644 --- a/arch/arm/lib/csumpartialcopy.S +++ b/arch/arm/lib/csumpartialcopy.S | |||
| @@ -18,11 +18,13 @@ | |||
| 18 | */ | 18 | */ |
| 19 | 19 | ||
| 20 | .macro save_regs | 20 | .macro save_regs |
| 21 | mov ip, sp | ||
| 21 | stmfd sp!, {r1, r4 - r8, fp, ip, lr, pc} | 22 | stmfd sp!, {r1, r4 - r8, fp, ip, lr, pc} |
| 23 | sub fp, ip, #4 | ||
| 22 | .endm | 24 | .endm |
| 23 | 25 | ||
| 24 | .macro load_regs,flags | 26 | .macro load_regs |
| 25 | LOADREGS(\flags,fp,{r1, r4 - r8, fp, sp, pc}) | 27 | ldmfd sp, {r1, r4 - r8, fp, sp, pc} |
| 26 | .endm | 28 | .endm |
| 27 | 29 | ||
| 28 | .macro load1b, reg1 | 30 | .macro load1b, reg1 |
diff --git a/arch/arm/lib/csumpartialcopygeneric.S b/arch/arm/lib/csumpartialcopygeneric.S index 4a4609c19095..c50e8f5285d1 100644 --- a/arch/arm/lib/csumpartialcopygeneric.S +++ b/arch/arm/lib/csumpartialcopygeneric.S | |||
| @@ -23,7 +23,7 @@ len .req r2 | |||
| 23 | sum .req r3 | 23 | sum .req r3 |
| 24 | 24 | ||
| 25 | .Lzero: mov r0, sum | 25 | .Lzero: mov r0, sum |
| 26 | load_regs ea | 26 | load_regs |
| 27 | 27 | ||
| 28 | /* | 28 | /* |
| 29 | * Align an unaligned destination pointer. We know that | 29 | * Align an unaligned destination pointer. We know that |
| @@ -87,9 +87,7 @@ sum .req r3 | |||
| 87 | b .Ldone | 87 | b .Ldone |
| 88 | 88 | ||
| 89 | FN_ENTRY | 89 | FN_ENTRY |
| 90 | mov ip, sp | ||
| 91 | save_regs | 90 | save_regs |
| 92 | sub fp, ip, #4 | ||
| 93 | 91 | ||
| 94 | cmp len, #8 @ Ensure that we have at least | 92 | cmp len, #8 @ Ensure that we have at least |
| 95 | blo .Lless8 @ 8 bytes to copy. | 93 | blo .Lless8 @ 8 bytes to copy. |
| @@ -163,7 +161,7 @@ FN_ENTRY | |||
| 163 | ldr sum, [sp, #0] @ dst | 161 | ldr sum, [sp, #0] @ dst |
| 164 | tst sum, #1 | 162 | tst sum, #1 |
| 165 | movne r0, r0, ror #8 | 163 | movne r0, r0, ror #8 |
| 166 | load_regs ea | 164 | load_regs |
| 167 | 165 | ||
| 168 | .Lsrc_not_aligned: | 166 | .Lsrc_not_aligned: |
| 169 | adc sum, sum, #0 @ include C from dst alignment | 167 | adc sum, sum, #0 @ include C from dst alignment |
diff --git a/arch/arm/lib/csumpartialcopyuser.S b/arch/arm/lib/csumpartialcopyuser.S index 333bca292de9..c3b93e22ea25 100644 --- a/arch/arm/lib/csumpartialcopyuser.S +++ b/arch/arm/lib/csumpartialcopyuser.S | |||
| @@ -18,11 +18,13 @@ | |||
| 18 | .text | 18 | .text |
| 19 | 19 | ||
| 20 | .macro save_regs | 20 | .macro save_regs |
| 21 | mov ip, sp | ||
| 21 | stmfd sp!, {r1 - r2, r4 - r8, fp, ip, lr, pc} | 22 | stmfd sp!, {r1 - r2, r4 - r8, fp, ip, lr, pc} |
| 23 | sub fp, ip, #4 | ||
| 22 | .endm | 24 | .endm |
| 23 | 25 | ||
| 24 | .macro load_regs,flags | 26 | .macro load_regs |
| 25 | ldm\flags fp, {r1, r2, r4-r8, fp, sp, pc} | 27 | ldmfd sp, {r1, r2, r4-r8, fp, sp, pc} |
| 26 | .endm | 28 | .endm |
| 27 | 29 | ||
| 28 | .macro load1b, reg1 | 30 | .macro load1b, reg1 |
| @@ -100,5 +102,5 @@ | |||
| 100 | 6002: teq r2, r1 | 102 | 6002: teq r2, r1 |
| 101 | strneb r0, [r1], #1 | 103 | strneb r0, [r1], #1 |
| 102 | bne 6002b | 104 | bne 6002b |
| 103 | load_regs ea | 105 | load_regs |
| 104 | .previous | 106 | .previous |
diff --git a/arch/arm/mach-aaec2000/clock.c b/arch/arm/mach-aaec2000/clock.c index 1c84c60941e1..74aa7a39bb68 100644 --- a/arch/arm/mach-aaec2000/clock.c +++ b/arch/arm/mach-aaec2000/clock.c | |||
| @@ -16,26 +16,27 @@ | |||
| 16 | #include <linux/err.h> | 16 | #include <linux/err.h> |
| 17 | #include <linux/string.h> | 17 | #include <linux/string.h> |
| 18 | #include <linux/clk.h> | 18 | #include <linux/clk.h> |
| 19 | #include <linux/mutex.h> | ||
| 19 | 20 | ||
| 20 | #include <asm/semaphore.h> | 21 | #include <asm/semaphore.h> |
| 21 | 22 | ||
| 22 | #include "clock.h" | 23 | #include "clock.h" |
| 23 | 24 | ||
| 24 | static LIST_HEAD(clocks); | 25 | static LIST_HEAD(clocks); |
| 25 | static DECLARE_MUTEX(clocks_sem); | 26 | static DEFINE_MUTEX(clocks_mutex); |
| 26 | 27 | ||
| 27 | struct clk *clk_get(struct device *dev, const char *id) | 28 | struct clk *clk_get(struct device *dev, const char *id) |
| 28 | { | 29 | { |
| 29 | struct clk *p, *clk = ERR_PTR(-ENOENT); | 30 | struct clk *p, *clk = ERR_PTR(-ENOENT); |
| 30 | 31 | ||
| 31 | down(&clocks_sem); | 32 | mutex_lock(&clocks_mutex); |
| 32 | list_for_each_entry(p, &clocks, node) { | 33 | list_for_each_entry(p, &clocks, node) { |
| 33 | if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { | 34 | if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { |
| 34 | clk = p; | 35 | clk = p; |
| 35 | break; | 36 | break; |
| 36 | } | 37 | } |
| 37 | } | 38 | } |
| 38 | up(&clocks_sem); | 39 | mutex_unlock(&clocks_mutex); |
| 39 | 40 | ||
| 40 | return clk; | 41 | return clk; |
| 41 | } | 42 | } |
| @@ -78,18 +79,18 @@ EXPORT_SYMBOL(clk_set_rate); | |||
| 78 | 79 | ||
| 79 | int clk_register(struct clk *clk) | 80 | int clk_register(struct clk *clk) |
| 80 | { | 81 | { |
| 81 | down(&clocks_sem); | 82 | mutex_lock(&clocks_mutex); |
| 82 | list_add(&clk->node, &clocks); | 83 | list_add(&clk->node, &clocks); |
| 83 | up(&clocks_sem); | 84 | mutex_unlock(&clocks_mutex); |
| 84 | return 0; | 85 | return 0; |
| 85 | } | 86 | } |
| 86 | EXPORT_SYMBOL(clk_register); | 87 | EXPORT_SYMBOL(clk_register); |
| 87 | 88 | ||
| 88 | void clk_unregister(struct clk *clk) | 89 | void clk_unregister(struct clk *clk) |
| 89 | { | 90 | { |
| 90 | down(&clocks_sem); | 91 | mutex_lock(&clocks_mutex); |
| 91 | list_del(&clk->node); | 92 | list_del(&clk->node); |
| 92 | up(&clocks_sem); | 93 | mutex_unlock(&clocks_mutex); |
| 93 | } | 94 | } |
| 94 | EXPORT_SYMBOL(clk_unregister); | 95 | EXPORT_SYMBOL(clk_unregister); |
| 95 | 96 | ||
diff --git a/arch/arm/mach-at91rm9200/Makefile b/arch/arm/mach-at91rm9200/Makefile index 1f2805ca6e21..75e6ee318ded 100644 --- a/arch/arm/mach-at91rm9200/Makefile +++ b/arch/arm/mach-at91rm9200/Makefile | |||
| @@ -8,10 +8,10 @@ obj-n := | |||
| 8 | obj- := | 8 | obj- := |
| 9 | 9 | ||
| 10 | # Board-specific support | 10 | # Board-specific support |
| 11 | #obj-$(CONFIG_ARCH_AT91RM9200DK) += board-dk.o | 11 | obj-$(CONFIG_ARCH_AT91RM9200DK) += board-dk.o |
| 12 | #obj-$(CONFIG_MACH_AT91RM9200EK) += board-ek.o | 12 | obj-$(CONFIG_MACH_AT91RM9200EK) += board-ek.o |
| 13 | #obj-$(CONFIG_MACH_CSB337) += board-csb337.o | 13 | obj-$(CONFIG_MACH_CSB337) += board-csb337.o |
| 14 | #obj-$(CONFIG_MACH_CSB637) += board-csb637.o | 14 | obj-$(CONFIG_MACH_CSB637) += board-csb637.o |
| 15 | #obj-$(CONFIG_MACH_CARMEVA) += board-carmeva.o | 15 | #obj-$(CONFIG_MACH_CARMEVA) += board-carmeva.o |
| 16 | #obj-$(CONFIG_MACH_KB9200) += board-kb9202.o | 16 | #obj-$(CONFIG_MACH_KB9200) += board-kb9202.o |
| 17 | 17 | ||
diff --git a/arch/arm/mach-at91rm9200/board-csb337.c b/arch/arm/mach-at91rm9200/board-csb337.c new file mode 100644 index 000000000000..4aec834ee47f --- /dev/null +++ b/arch/arm/mach-at91rm9200/board-csb337.c | |||
| @@ -0,0 +1,143 @@ | |||
| 1 | /* | ||
| 2 | * linux/arch/arm/mach-at91rm9200/board-csb337.c | ||
| 3 | * | ||
| 4 | * Copyright (C) 2005 SAN People | ||
| 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 19 | */ | ||
| 20 | |||
| 21 | #include <linux/config.h> | ||
| 22 | #include <linux/types.h> | ||
| 23 | #include <linux/init.h> | ||
| 24 | #include <linux/mm.h> | ||
| 25 | #include <linux/module.h> | ||
| 26 | #include <linux/platform_device.h> | ||
| 27 | |||
| 28 | #include <asm/hardware.h> | ||
| 29 | #include <asm/setup.h> | ||
| 30 | #include <asm/mach-types.h> | ||
| 31 | #include <asm/irq.h> | ||
| 32 | |||
| 33 | #include <asm/mach/arch.h> | ||
| 34 | #include <asm/mach/map.h> | ||
| 35 | #include <asm/mach/irq.h> | ||
| 36 | |||
| 37 | #include <asm/arch/hardware.h> | ||
| 38 | #include <asm/mach/serial_at91rm9200.h> | ||
| 39 | #include <asm/arch/board.h> | ||
| 40 | |||
| 41 | #include "generic.h" | ||
| 42 | |||
| 43 | static void __init csb337_init_irq(void) | ||
| 44 | { | ||
| 45 | /* Initialize AIC controller */ | ||
| 46 | at91rm9200_init_irq(NULL); | ||
| 47 | |||
| 48 | /* Set up the GPIO interrupts */ | ||
| 49 | at91_gpio_irq_setup(BGA_GPIO_BANKS); | ||
| 50 | } | ||
| 51 | |||
| 52 | /* | ||
| 53 | * Serial port configuration. | ||
| 54 | * 0 .. 3 = USART0 .. USART3 | ||
| 55 | * 4 = DBGU | ||
| 56 | */ | ||
| 57 | #define CSB337_UART_MAP { 4, 1, -1, -1, -1 } /* ttyS0, ..., ttyS4 */ | ||
| 58 | #define CSB337_SERIAL_CONSOLE 0 /* ttyS0 */ | ||
| 59 | |||
| 60 | static void __init csb337_map_io(void) | ||
| 61 | { | ||
| 62 | int serial[AT91_NR_UART] = CSB337_UART_MAP; | ||
| 63 | int i; | ||
| 64 | |||
| 65 | at91rm9200_map_io(); | ||
| 66 | |||
| 67 | /* Initialize clocks: 3.6864 MHz crystal */ | ||
| 68 | at91_clock_init(3686400); | ||
| 69 | |||
| 70 | #ifdef CONFIG_SERIAL_AT91 | ||
| 71 | at91_console_port = CSB337_SERIAL_CONSOLE; | ||
| 72 | memcpy(at91_serial_map, serial, sizeof(serial)); | ||
| 73 | |||
| 74 | /* Register UARTs */ | ||
| 75 | for (i = 0; i < AT91_NR_UART; i++) { | ||
| 76 | if (serial[i] >= 0) | ||
| 77 | at91_register_uart(i, serial[i]); | ||
| 78 | } | ||
| 79 | #endif | ||
| 80 | } | ||
| 81 | |||
| 82 | static struct at91_eth_data __initdata csb337_eth_data = { | ||
| 83 | .phy_irq_pin = AT91_PIN_PC2, | ||
| 84 | .is_rmii = 0, | ||
| 85 | }; | ||
| 86 | |||
| 87 | static struct at91_usbh_data __initdata csb337_usbh_data = { | ||
| 88 | .ports = 2, | ||
| 89 | }; | ||
| 90 | |||
| 91 | static struct at91_udc_data __initdata csb337_udc_data = { | ||
| 92 | // this has no VBUS sensing pin | ||
| 93 | .pullup_pin = AT91_PIN_PA24, | ||
| 94 | }; | ||
| 95 | |||
| 96 | static struct at91_cf_data __initdata csb337_cf_data = { | ||
| 97 | /* | ||
| 98 | * connector P4 on the CSB 337 mates to | ||
| 99 | * connector P8 on the CSB 300CF | ||
| 100 | */ | ||
| 101 | |||
| 102 | /* CSB337 specific */ | ||
| 103 | .det_pin = AT91_PIN_PC3, | ||
| 104 | |||
| 105 | /* CSB300CF specific */ | ||
| 106 | .irq_pin = AT91_PIN_PA19, | ||
| 107 | .vcc_pin = AT91_PIN_PD0, | ||
| 108 | .rst_pin = AT91_PIN_PD2, | ||
| 109 | }; | ||
| 110 | |||
| 111 | static struct at91_mmc_data __initdata csb337_mmc_data = { | ||
| 112 | .det_pin = AT91_PIN_PD5, | ||
| 113 | .is_b = 0, | ||
| 114 | .wire4 = 1, | ||
| 115 | .wp_pin = AT91_PIN_PD6, | ||
| 116 | }; | ||
| 117 | |||
| 118 | static void __init csb337_board_init(void) | ||
| 119 | { | ||
| 120 | /* Ethernet */ | ||
| 121 | at91_add_device_eth(&csb337_eth_data); | ||
| 122 | /* USB Host */ | ||
| 123 | at91_add_device_usbh(&csb337_usbh_data); | ||
| 124 | /* USB Device */ | ||
| 125 | at91_add_device_udc(&csb337_udc_data); | ||
| 126 | /* Compact Flash */ | ||
| 127 | at91_set_gpio_input(AT91_PIN_PB22, 1); /* IOIS16 */ | ||
| 128 | at91_add_device_cf(&csb337_cf_data); | ||
| 129 | /* MMC */ | ||
| 130 | at91_add_device_mmc(&csb337_mmc_data); | ||
| 131 | } | ||
| 132 | |||
| 133 | MACHINE_START(CSB337, "Cogent CSB337") | ||
| 134 | /* Maintainer: Bill Gatliff */ | ||
| 135 | .phys_ram = AT91_SDRAM_BASE, | ||
| 136 | .phys_io = AT91_BASE_SYS, | ||
| 137 | .io_pg_offst = (AT91_VA_BASE_SYS >> 18) & 0xfffc, | ||
| 138 | .boot_params = AT91_SDRAM_BASE + 0x100, | ||
| 139 | .timer = &at91rm9200_timer, | ||
| 140 | .map_io = csb337_map_io, | ||
| 141 | .init_irq = csb337_init_irq, | ||
| 142 | .init_machine = csb337_board_init, | ||
| 143 | MACHINE_END | ||
diff --git a/arch/arm/mach-at91rm9200/board-csb637.c b/arch/arm/mach-at91rm9200/board-csb637.c new file mode 100644 index 000000000000..23e4cc21481a --- /dev/null +++ b/arch/arm/mach-at91rm9200/board-csb637.c | |||
| @@ -0,0 +1,116 @@ | |||
| 1 | /* | ||
| 2 | * linux/arch/arm/mach-at91rm9200/board-csb637.c | ||
| 3 | * | ||
| 4 | * Copyright (C) 2005 SAN People | ||
| 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 19 | */ | ||
| 20 | |||
| 21 | #include <linux/config.h> | ||
| 22 | #include <linux/types.h> | ||
| 23 | #include <linux/init.h> | ||
| 24 | #include <linux/mm.h> | ||
| 25 | #include <linux/module.h> | ||
| 26 | #include <linux/platform_device.h> | ||
| 27 | |||
| 28 | #include <asm/hardware.h> | ||
| 29 | #include <asm/setup.h> | ||
| 30 | #include <asm/mach-types.h> | ||
| 31 | #include <asm/irq.h> | ||
| 32 | |||
| 33 | #include <asm/mach/arch.h> | ||
| 34 | #include <asm/mach/map.h> | ||
| 35 | #include <asm/mach/irq.h> | ||
| 36 | |||
| 37 | #include <asm/arch/hardware.h> | ||
| 38 | #include <asm/mach/serial_at91rm9200.h> | ||
| 39 | #include <asm/arch/board.h> | ||
| 40 | |||
| 41 | #include "generic.h" | ||
| 42 | |||
| 43 | static void __init csb637_init_irq(void) | ||
| 44 | { | ||
| 45 | /* Initialize AIC controller */ | ||
| 46 | at91rm9200_init_irq(NULL); | ||
| 47 | |||
| 48 | /* Set up the GPIO interrupts */ | ||
| 49 | at91_gpio_irq_setup(BGA_GPIO_BANKS); | ||
| 50 | } | ||
| 51 | |||
| 52 | /* | ||
| 53 | * Serial port configuration. | ||
| 54 | * 0 .. 3 = USART0 .. USART3 | ||
| 55 | * 4 = DBGU | ||
| 56 | */ | ||
| 57 | #define CSB637_UART_MAP { 4, 1, -1, -1, -1 } /* ttyS0, ..., ttyS4 */ | ||
| 58 | #define CSB637_SERIAL_CONSOLE 0 /* ttyS0 */ | ||
| 59 | |||
| 60 | static void __init csb637_map_io(void) | ||
| 61 | { | ||
| 62 | int serial[AT91_NR_UART] = CSB637_UART_MAP; | ||
| 63 | int i; | ||
| 64 | |||
| 65 | at91rm9200_map_io(); | ||
| 66 | |||
| 67 | /* Initialize clocks: 3.6864 MHz crystal */ | ||
| 68 | at91_clock_init(3686400); | ||
| 69 | |||
| 70 | #ifdef CONFIG_SERIAL_AT91 | ||
| 71 | at91_console_port = CSB637_SERIAL_CONSOLE; | ||
| 72 | memcpy(at91_serial_map, serial, sizeof(serial)); | ||
| 73 | |||
| 74 | /* Register UARTs */ | ||
| 75 | for (i = 0; i < AT91_NR_UART; i++) { | ||
| 76 | if (serial[i] >= 0) | ||
| 77 | at91_register_uart(i, serial[i]); | ||
| 78 | } | ||
| 79 | #endif | ||
| 80 | } | ||
| 81 | |||
| 82 | static struct at91_eth_data __initdata csb637_eth_data = { | ||
| 83 | .phy_irq_pin = AT91_PIN_PC0, | ||
| 84 | .is_rmii = 0, | ||
| 85 | }; | ||
| 86 | |||
| 87 | static struct at91_usbh_data __initdata csb637_usbh_data = { | ||
| 88 | .ports = 2, | ||
| 89 | }; | ||
| 90 | |||
| 91 | static struct at91_udc_data __initdata csb637_udc_data = { | ||
| 92 | .vbus_pin = AT91_PIN_PB28, | ||
| 93 | .pullup_pin = AT91_PIN_PB1, | ||
| 94 | }; | ||
| 95 | |||
| 96 | static void __init csb637_board_init(void) | ||
| 97 | { | ||
| 98 | /* Ethernet */ | ||
| 99 | at91_add_device_eth(&csb637_eth_data); | ||
| 100 | /* USB Host */ | ||
| 101 | at91_add_device_usbh(&csb637_usbh_data); | ||
| 102 | /* USB Device */ | ||
| 103 | at91_add_device_udc(&csb637_udc_data); | ||
| 104 | } | ||
| 105 | |||
| 106 | MACHINE_START(CSB637, "Cogent CSB637") | ||
| 107 | /* Maintainer: Bill Gatliff */ | ||
| 108 | .phys_ram = AT91_SDRAM_BASE, | ||
| 109 | .phys_io = AT91_BASE_SYS, | ||
| 110 | .io_pg_offst = (AT91_VA_BASE_SYS >> 18) & 0xfffc, | ||
| 111 | .boot_params = AT91_SDRAM_BASE + 0x100, | ||
| 112 | .timer = &at91rm9200_timer, | ||
| 113 | .map_io = csb637_map_io, | ||
| 114 | .init_irq = csb637_init_irq, | ||
| 115 | .init_machine = csb637_board_init, | ||
| 116 | MACHINE_END | ||
diff --git a/arch/arm/mach-at91rm9200/board-dk.c b/arch/arm/mach-at91rm9200/board-dk.c new file mode 100644 index 000000000000..8c747a31b95a --- /dev/null +++ b/arch/arm/mach-at91rm9200/board-dk.c | |||
| @@ -0,0 +1,138 @@ | |||
| 1 | /* | ||
| 2 | * linux/arch/arm/mach-at91rm9200/board-dk.c | ||
| 3 | * | ||
| 4 | * Copyright (C) 2005 SAN People | ||
| 5 | * | ||
| 6 | * Epson S1D framebuffer glue code is: | ||
| 7 | * Copyright (C) 2005 Thibaut VARENE <varenet@parisc-linux.org> | ||
| 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/config.h> | ||
| 25 | #include <linux/types.h> | ||
| 26 | #include <linux/init.h> | ||
| 27 | #include <linux/mm.h> | ||
| 28 | #include <linux/module.h> | ||
| 29 | #include <linux/platform_device.h> | ||
| 30 | |||
| 31 | #include <asm/hardware.h> | ||
| 32 | #include <asm/setup.h> | ||
| 33 | #include <asm/mach-types.h> | ||
| 34 | #include <asm/irq.h> | ||
| 35 | |||
| 36 | #include <asm/mach/arch.h> | ||
| 37 | #include <asm/mach/map.h> | ||
| 38 | #include <asm/mach/irq.h> | ||
| 39 | |||
| 40 | #include <asm/arch/hardware.h> | ||
| 41 | #include <asm/mach/serial_at91rm9200.h> | ||
| 42 | #include <asm/arch/board.h> | ||
| 43 | |||
| 44 | #include "generic.h" | ||
| 45 | |||
| 46 | static void __init dk_init_irq(void) | ||
| 47 | { | ||
| 48 | /* Initialize AIC controller */ | ||
| 49 | at91rm9200_init_irq(NULL); | ||
| 50 | |||
| 51 | /* Set up the GPIO interrupts */ | ||
| 52 | at91_gpio_irq_setup(BGA_GPIO_BANKS); | ||
| 53 | } | ||
| 54 | |||
| 55 | /* | ||
| 56 | * Serial port configuration. | ||
| 57 | * 0 .. 3 = USART0 .. USART3 | ||
| 58 | * 4 = DBGU | ||
| 59 | */ | ||
| 60 | #define DK_UART_MAP { 4, 1, -1, -1, -1 } /* ttyS0, ..., ttyS4 */ | ||
| 61 | #define DK_SERIAL_CONSOLE 0 /* ttyS0 */ | ||
| 62 | |||
| 63 | static void __init dk_map_io(void) | ||
| 64 | { | ||
| 65 | int serial[AT91_NR_UART] = DK_UART_MAP; | ||
| 66 | int i; | ||
| 67 | |||
| 68 | at91rm9200_map_io(); | ||
| 69 | |||
| 70 | /* Initialize clocks: 18.432 MHz crystal */ | ||
| 71 | at91_clock_init(18432000); | ||
| 72 | |||
| 73 | #ifdef CONFIG_SERIAL_AT91 | ||
| 74 | at91_console_port = DK_SERIAL_CONSOLE; | ||
| 75 | memcpy(at91_serial_map, serial, sizeof(serial)); | ||
| 76 | |||
| 77 | /* Register UARTs */ | ||
| 78 | for (i = 0; i < AT91_NR_UART; i++) { | ||
| 79 | if (at91_serial_map[i] >= 0) | ||
| 80 | at91_register_uart(i, at91_serial_map[i]); | ||
| 81 | } | ||
| 82 | #endif | ||
| 83 | } | ||
| 84 | |||
| 85 | static struct at91_eth_data __initdata dk_eth_data = { | ||
| 86 | .phy_irq_pin = AT91_PIN_PC4, | ||
| 87 | .is_rmii = 1, | ||
| 88 | }; | ||
| 89 | |||
| 90 | static struct at91_usbh_data __initdata dk_usbh_data = { | ||
| 91 | .ports = 2, | ||
| 92 | }; | ||
| 93 | |||
| 94 | static struct at91_udc_data __initdata dk_udc_data = { | ||
| 95 | .vbus_pin = AT91_PIN_PD4, | ||
| 96 | .pullup_pin = AT91_PIN_PD5, | ||
| 97 | }; | ||
| 98 | |||
| 99 | static struct at91_cf_data __initdata dk_cf_data = { | ||
| 100 | .det_pin = AT91_PIN_PB0, | ||
| 101 | .rst_pin = AT91_PIN_PC5, | ||
| 102 | // .irq_pin = ... not connected | ||
| 103 | // .vcc_pin = ... always powered | ||
| 104 | }; | ||
| 105 | |||
| 106 | static struct at91_mmc_data __initdata dk_mmc_data = { | ||
| 107 | .is_b = 0, | ||
| 108 | .wire4 = 1, | ||
| 109 | }; | ||
| 110 | |||
| 111 | static void __init dk_board_init(void) | ||
| 112 | { | ||
| 113 | /* Ethernet */ | ||
| 114 | at91_add_device_eth(&dk_eth_data); | ||
| 115 | /* USB Host */ | ||
| 116 | at91_add_device_usbh(&dk_usbh_data); | ||
| 117 | /* USB Device */ | ||
| 118 | at91_add_device_udc(&dk_udc_data); | ||
| 119 | /* Compact Flash */ | ||
| 120 | at91_add_device_cf(&dk_cf_data); | ||
| 121 | /* MMC */ | ||
| 122 | at91_set_gpio_output(AT91_PIN_PB7, 1); /* this MMC card slot can optionally use SPI signaling (CS3). default: MMC */ | ||
| 123 | at91_add_device_mmc(&dk_mmc_data); | ||
| 124 | /* VGA */ | ||
| 125 | // dk_add_device_video(); | ||
| 126 | } | ||
| 127 | |||
| 128 | MACHINE_START(AT91RM9200DK, "Atmel AT91RM9200-DK") | ||
| 129 | /* Maintainer: SAN People/Atmel */ | ||
| 130 | .phys_ram = AT91_SDRAM_BASE, | ||
| 131 | .phys_io = AT91_BASE_SYS, | ||
| 132 | .io_pg_offst = (AT91_VA_BASE_SYS >> 18) & 0xfffc, | ||
| 133 | .boot_params = AT91_SDRAM_BASE + 0x100, | ||
| 134 | .timer = &at91rm9200_timer, | ||
| 135 | .map_io = dk_map_io, | ||
| 136 | .init_irq = dk_init_irq, | ||
| 137 | .init_machine = dk_board_init, | ||
| 138 | MACHINE_END | ||
diff --git a/arch/arm/mach-at91rm9200/board-ek.c b/arch/arm/mach-at91rm9200/board-ek.c new file mode 100644 index 000000000000..d140645711be --- /dev/null +++ b/arch/arm/mach-at91rm9200/board-ek.c | |||
| @@ -0,0 +1,131 @@ | |||
| 1 | /* | ||
| 2 | * linux/arch/arm/mach-at91rm9200/board-ek.c | ||
| 3 | * | ||
| 4 | * Copyright (C) 2005 SAN People | ||
| 5 | * | ||
| 6 | * Epson S1D framebuffer glue code is: | ||
| 7 | * Copyright (C) 2005 Thibaut VARENE <varenet@parisc-linux.org> | ||
| 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/config.h> | ||
| 25 | #include <linux/types.h> | ||
| 26 | #include <linux/init.h> | ||
| 27 | #include <linux/mm.h> | ||
| 28 | #include <linux/module.h> | ||
| 29 | #include <linux/platform_device.h> | ||
| 30 | |||
| 31 | #include <asm/hardware.h> | ||
| 32 | #include <asm/setup.h> | ||
| 33 | #include <asm/mach-types.h> | ||
| 34 | #include <asm/irq.h> | ||
| 35 | |||
| 36 | #include <asm/mach/arch.h> | ||
| 37 | #include <asm/mach/map.h> | ||
| 38 | #include <asm/mach/irq.h> | ||
| 39 | |||
| 40 | #include <asm/arch/hardware.h> | ||
| 41 | #include <asm/mach/serial_at91rm9200.h> | ||
| 42 | #include <asm/arch/board.h> | ||
| 43 | |||
| 44 | #include "generic.h" | ||
| 45 | |||
| 46 | static void __init ek_init_irq(void) | ||
| 47 | { | ||
| 48 | /* Initialize AIC controller */ | ||
| 49 | at91rm9200_init_irq(NULL); | ||
| 50 | |||
| 51 | /* Set up the GPIO interrupts */ | ||
| 52 | at91_gpio_irq_setup(BGA_GPIO_BANKS); | ||
| 53 | } | ||
| 54 | |||
| 55 | /* | ||
| 56 | * Serial port configuration. | ||
| 57 | * 0 .. 3 = USART0 .. USART3 | ||
| 58 | * 4 = DBGU | ||
| 59 | */ | ||
| 60 | #define EK_UART_MAP { 4, 1, -1, -1, -1 } /* ttyS0, ..., ttyS4 */ | ||
| 61 | #define EK_SERIAL_CONSOLE 0 /* ttyS0 */ | ||
| 62 | |||
| 63 | static void __init ek_map_io(void) | ||
| 64 | { | ||
| 65 | int serial[AT91_NR_UART] = EK_UART_MAP; | ||
| 66 | int i; | ||
| 67 | |||
| 68 | at91rm9200_map_io(); | ||
| 69 | |||
| 70 | /* Initialize clocks: 18.432 MHz crystal */ | ||
| 71 | at91_clock_init(18432000); | ||
| 72 | |||
| 73 | #ifdef CONFIG_SERIAL_AT91 | ||
| 74 | at91_console_port = EK_SERIAL_CONSOLE; | ||
| 75 | memcpy(at91_serial_map, serial, sizeof(serial)); | ||
| 76 | |||
| 77 | /* Register UARTs */ | ||
| 78 | for (i = 0; i < AT91_NR_UART; i++) { | ||
| 79 | if (serial[i] >= 0) | ||
| 80 | at91_register_uart(i, serial[i]); | ||
| 81 | } | ||
| 82 | #endif | ||
| 83 | } | ||
| 84 | |||
| 85 | static struct at91_eth_data __initdata ek_eth_data = { | ||
| 86 | .phy_irq_pin = AT91_PIN_PC4, | ||
| 87 | .is_rmii = 1, | ||
| 88 | }; | ||
| 89 | |||
| 90 | static struct at91_usbh_data __initdata ek_usbh_data = { | ||
| 91 | .ports = 2, | ||
| 92 | }; | ||
| 93 | |||
| 94 | static struct at91_udc_data __initdata ek_udc_data = { | ||
| 95 | .vbus_pin = AT91_PIN_PD4, | ||
| 96 | .pullup_pin = AT91_PIN_PD5, | ||
| 97 | }; | ||
| 98 | |||
| 99 | static struct at91_mmc_data __initdata ek_mmc_data = { | ||
| 100 | .det_pin = AT91_PIN_PB27, | ||
| 101 | .is_b = 0, | ||
| 102 | .wire4 = 1, | ||
| 103 | .wp_pin = AT91_PIN_PA17, | ||
| 104 | }; | ||
| 105 | |||
| 106 | static void __init ek_board_init(void) | ||
| 107 | { | ||
| 108 | /* Ethernet */ | ||
| 109 | at91_add_device_eth(&ek_eth_data); | ||
| 110 | /* USB Host */ | ||
| 111 | at91_add_device_usbh(&ek_usbh_data); | ||
| 112 | /* USB Device */ | ||
| 113 | at91_add_device_udc(&ek_udc_data); | ||
| 114 | /* MMC */ | ||
| 115 | at91_set_gpio_output(AT91_PIN_PB22, 1); /* this MMC card slot can optionally use SPI signaling (CS3). default: MMC */ | ||
| 116 | at91_add_device_mmc(&ek_mmc_data); | ||
| 117 | /* VGA */ | ||
| 118 | // ek_add_device_video(); | ||
| 119 | } | ||
| 120 | |||
| 121 | MACHINE_START(AT91RM9200EK, "Atmel AT91RM9200-EK") | ||
| 122 | /* Maintainer: SAN People/Atmel */ | ||
| 123 | .phys_ram = AT91_SDRAM_BASE, | ||
| 124 | .phys_io = AT91_BASE_SYS, | ||
| 125 | .io_pg_offst = (AT91_VA_BASE_SYS >> 18) & 0xfffc, | ||
| 126 | .boot_params = AT91_SDRAM_BASE + 0x100, | ||
| 127 | .timer = &at91rm9200_timer, | ||
| 128 | .map_io = ek_map_io, | ||
| 129 | .init_irq = ek_init_irq, | ||
| 130 | .init_machine = ek_board_init, | ||
| 131 | MACHINE_END | ||
diff --git a/arch/arm/mach-integrator/clock.c b/arch/arm/mach-integrator/clock.c index 40684e01e865..95a1e263f7fa 100644 --- a/arch/arm/mach-integrator/clock.c +++ b/arch/arm/mach-integrator/clock.c | |||
| @@ -15,6 +15,7 @@ | |||
| 15 | #include <linux/err.h> | 15 | #include <linux/err.h> |
| 16 | #include <linux/string.h> | 16 | #include <linux/string.h> |
| 17 | #include <linux/clk.h> | 17 | #include <linux/clk.h> |
| 18 | #include <linux/mutex.h> | ||
| 18 | 19 | ||
| 19 | #include <asm/semaphore.h> | 20 | #include <asm/semaphore.h> |
| 20 | #include <asm/hardware/icst525.h> | 21 | #include <asm/hardware/icst525.h> |
| @@ -22,20 +23,20 @@ | |||
| 22 | #include "clock.h" | 23 | #include "clock.h" |
| 23 | 24 | ||
| 24 | static LIST_HEAD(clocks); | 25 | static LIST_HEAD(clocks); |
| 25 | static DECLARE_MUTEX(clocks_sem); | 26 | static DEFINE_MUTEX(clocks_mutex); |
| 26 | 27 | ||
| 27 | struct clk *clk_get(struct device *dev, const char *id) | 28 | struct clk *clk_get(struct device *dev, const char *id) |
| 28 | { | 29 | { |
| 29 | struct clk *p, *clk = ERR_PTR(-ENOENT); | 30 | struct clk *p, *clk = ERR_PTR(-ENOENT); |
| 30 | 31 | ||
| 31 | down(&clocks_sem); | 32 | mutex_lock(&clocks_mutex); |
| 32 | list_for_each_entry(p, &clocks, node) { | 33 | list_for_each_entry(p, &clocks, node) { |
| 33 | if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { | 34 | if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { |
| 34 | clk = p; | 35 | clk = p; |
| 35 | break; | 36 | break; |
| 36 | } | 37 | } |
| 37 | } | 38 | } |
| 38 | up(&clocks_sem); | 39 | mutex_unlock(&clocks_mutex); |
| 39 | 40 | ||
| 40 | return clk; | 41 | return clk; |
| 41 | } | 42 | } |
| @@ -107,18 +108,18 @@ static struct clk uart_clk = { | |||
| 107 | 108 | ||
| 108 | int clk_register(struct clk *clk) | 109 | int clk_register(struct clk *clk) |
| 109 | { | 110 | { |
| 110 | down(&clocks_sem); | 111 | mutex_lock(&clocks_mutex); |
| 111 | list_add(&clk->node, &clocks); | 112 | list_add(&clk->node, &clocks); |
| 112 | up(&clocks_sem); | 113 | mutex_unlock(&clocks_mutex); |
| 113 | return 0; | 114 | return 0; |
| 114 | } | 115 | } |
| 115 | EXPORT_SYMBOL(clk_register); | 116 | EXPORT_SYMBOL(clk_register); |
| 116 | 117 | ||
| 117 | void clk_unregister(struct clk *clk) | 118 | void clk_unregister(struct clk *clk) |
| 118 | { | 119 | { |
| 119 | down(&clocks_sem); | 120 | mutex_lock(&clocks_mutex); |
| 120 | list_del(&clk->node); | 121 | list_del(&clk->node); |
| 121 | up(&clocks_sem); | 122 | mutex_unlock(&clocks_mutex); |
| 122 | } | 123 | } |
| 123 | EXPORT_SYMBOL(clk_unregister); | 124 | EXPORT_SYMBOL(clk_unregister); |
| 124 | 125 | ||
diff --git a/arch/arm/mach-pxa/ssp.c b/arch/arm/mach-pxa/ssp.c index a68b30eff4d2..93096befd017 100644 --- a/arch/arm/mach-pxa/ssp.c +++ b/arch/arm/mach-pxa/ssp.c | |||
| @@ -31,6 +31,7 @@ | |||
| 31 | #include <linux/interrupt.h> | 31 | #include <linux/interrupt.h> |
| 32 | #include <linux/ioport.h> | 32 | #include <linux/ioport.h> |
| 33 | #include <linux/init.h> | 33 | #include <linux/init.h> |
| 34 | #include <linux/mutex.h> | ||
| 34 | #include <asm/io.h> | 35 | #include <asm/io.h> |
| 35 | #include <asm/irq.h> | 36 | #include <asm/irq.h> |
| 36 | #include <asm/hardware.h> | 37 | #include <asm/hardware.h> |
| @@ -59,7 +60,7 @@ static const struct ssp_info_ ssp_info[PXA_SSP_PORTS] = { | |||
| 59 | #endif | 60 | #endif |
| 60 | }; | 61 | }; |
| 61 | 62 | ||
| 62 | static DECLARE_MUTEX(sem); | 63 | static DEFINE_MUTEX(mutex); |
| 63 | static int use_count[PXA_SSP_PORTS] = {0, 0, 0}; | 64 | static int use_count[PXA_SSP_PORTS] = {0, 0, 0}; |
| 64 | 65 | ||
| 65 | static irqreturn_t ssp_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 66 | static irqreturn_t ssp_interrupt(int irq, void *dev_id, struct pt_regs *regs) |
| @@ -239,16 +240,16 @@ int ssp_init(struct ssp_dev *dev, u32 port, u32 init_flags) | |||
| 239 | if (port > PXA_SSP_PORTS || port == 0) | 240 | if (port > PXA_SSP_PORTS || port == 0) |
| 240 | return -ENODEV; | 241 | return -ENODEV; |
| 241 | 242 | ||
| 242 | down(&sem); | 243 | mutex_lock(&mutex); |
| 243 | if (use_count[port - 1]) { | 244 | if (use_count[port - 1]) { |
| 244 | up(&sem); | 245 | mutex_unlock(&mutex); |
| 245 | return -EBUSY; | 246 | return -EBUSY; |
| 246 | } | 247 | } |
| 247 | use_count[port - 1]++; | 248 | use_count[port - 1]++; |
| 248 | 249 | ||
| 249 | if (!request_mem_region(__PREG(SSCR0_P(port)), 0x2c, "SSP")) { | 250 | if (!request_mem_region(__PREG(SSCR0_P(port)), 0x2c, "SSP")) { |
| 250 | use_count[port - 1]--; | 251 | use_count[port - 1]--; |
| 251 | up(&sem); | 252 | mutex_unlock(&mutex); |
| 252 | return -EBUSY; | 253 | return -EBUSY; |
| 253 | } | 254 | } |
| 254 | dev->port = port; | 255 | dev->port = port; |
| @@ -265,13 +266,13 @@ int ssp_init(struct ssp_dev *dev, u32 port, u32 init_flags) | |||
| 265 | 266 | ||
| 266 | /* turn on SSP port clock */ | 267 | /* turn on SSP port clock */ |
| 267 | pxa_set_cken(ssp_info[port-1].clock, 1); | 268 | pxa_set_cken(ssp_info[port-1].clock, 1); |
| 268 | up(&sem); | 269 | mutex_unlock(&mutex); |
| 269 | return 0; | 270 | return 0; |
| 270 | 271 | ||
| 271 | out_region: | 272 | out_region: |
| 272 | release_mem_region(__PREG(SSCR0_P(port)), 0x2c); | 273 | release_mem_region(__PREG(SSCR0_P(port)), 0x2c); |
| 273 | use_count[port - 1]--; | 274 | use_count[port - 1]--; |
| 274 | up(&sem); | 275 | mutex_unlock(&mutex); |
| 275 | return ret; | 276 | return ret; |
| 276 | } | 277 | } |
| 277 | 278 | ||
| @@ -282,7 +283,7 @@ out_region: | |||
| 282 | */ | 283 | */ |
| 283 | void ssp_exit(struct ssp_dev *dev) | 284 | void ssp_exit(struct ssp_dev *dev) |
| 284 | { | 285 | { |
| 285 | down(&sem); | 286 | mutex_lock(&mutex); |
| 286 | SSCR0_P(dev->port) &= ~SSCR0_SSE; | 287 | SSCR0_P(dev->port) &= ~SSCR0_SSE; |
| 287 | 288 | ||
| 288 | if (dev->port > PXA_SSP_PORTS || dev->port == 0) { | 289 | if (dev->port > PXA_SSP_PORTS || dev->port == 0) { |
| @@ -295,7 +296,7 @@ void ssp_exit(struct ssp_dev *dev) | |||
| 295 | free_irq(dev->irq, dev); | 296 | free_irq(dev->irq, dev); |
| 296 | release_mem_region(__PREG(SSCR0_P(dev->port)), 0x2c); | 297 | release_mem_region(__PREG(SSCR0_P(dev->port)), 0x2c); |
| 297 | use_count[dev->port - 1]--; | 298 | use_count[dev->port - 1]--; |
| 298 | up(&sem); | 299 | mutex_unlock(&mutex); |
| 299 | } | 300 | } |
| 300 | 301 | ||
| 301 | EXPORT_SYMBOL(ssp_write_word); | 302 | EXPORT_SYMBOL(ssp_write_word); |
diff --git a/arch/arm/mach-realview/clock.c b/arch/arm/mach-realview/clock.c index ec3f7e798623..21325a4da9da 100644 --- a/arch/arm/mach-realview/clock.c +++ b/arch/arm/mach-realview/clock.c | |||
| @@ -14,6 +14,7 @@ | |||
| 14 | #include <linux/errno.h> | 14 | #include <linux/errno.h> |
| 15 | #include <linux/err.h> | 15 | #include <linux/err.h> |
| 16 | #include <linux/clk.h> | 16 | #include <linux/clk.h> |
| 17 | #include <linux/mutex.h> | ||
| 17 | 18 | ||
| 18 | #include <asm/semaphore.h> | 19 | #include <asm/semaphore.h> |
| 19 | #include <asm/hardware/icst307.h> | 20 | #include <asm/hardware/icst307.h> |
| @@ -21,20 +22,20 @@ | |||
| 21 | #include "clock.h" | 22 | #include "clock.h" |
| 22 | 23 | ||
| 23 | static LIST_HEAD(clocks); | 24 | static LIST_HEAD(clocks); |
| 24 | static DECLARE_MUTEX(clocks_sem); | 25 | static DEFINE_MUTEX(clocks_mutex); |
| 25 | 26 | ||
| 26 | struct clk *clk_get(struct device *dev, const char *id) | 27 | struct clk *clk_get(struct device *dev, const char *id) |
| 27 | { | 28 | { |
| 28 | struct clk *p, *clk = ERR_PTR(-ENOENT); | 29 | struct clk *p, *clk = ERR_PTR(-ENOENT); |
| 29 | 30 | ||
| 30 | down(&clocks_sem); | 31 | mutex_lock(&clocks_mutex); |
| 31 | list_for_each_entry(p, &clocks, node) { | 32 | list_for_each_entry(p, &clocks, node) { |
| 32 | if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { | 33 | if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { |
| 33 | clk = p; | 34 | clk = p; |
| 34 | break; | 35 | break; |
| 35 | } | 36 | } |
| 36 | } | 37 | } |
| 37 | up(&clocks_sem); | 38 | mutex_unlock(&clocks_mutex); |
| 38 | 39 | ||
| 39 | return clk; | 40 | return clk; |
| 40 | } | 41 | } |
| @@ -109,18 +110,18 @@ static struct clk mmci_clk = { | |||
| 109 | 110 | ||
| 110 | int clk_register(struct clk *clk) | 111 | int clk_register(struct clk *clk) |
| 111 | { | 112 | { |
| 112 | down(&clocks_sem); | 113 | mutex_lock(&clocks_mutex); |
| 113 | list_add(&clk->node, &clocks); | 114 | list_add(&clk->node, &clocks); |
| 114 | up(&clocks_sem); | 115 | mutex_unlock(&clocks_mutex); |
| 115 | return 0; | 116 | return 0; |
| 116 | } | 117 | } |
| 117 | EXPORT_SYMBOL(clk_register); | 118 | EXPORT_SYMBOL(clk_register); |
| 118 | 119 | ||
| 119 | void clk_unregister(struct clk *clk) | 120 | void clk_unregister(struct clk *clk) |
| 120 | { | 121 | { |
| 121 | down(&clocks_sem); | 122 | mutex_lock(&clocks_mutex); |
| 122 | list_del(&clk->node); | 123 | list_del(&clk->node); |
| 123 | up(&clocks_sem); | 124 | mutex_unlock(&clocks_mutex); |
| 124 | } | 125 | } |
| 125 | EXPORT_SYMBOL(clk_unregister); | 126 | EXPORT_SYMBOL(clk_unregister); |
| 126 | 127 | ||
diff --git a/arch/arm/mach-s3c2410/clock.c b/arch/arm/mach-s3c2410/clock.c index fc09ba92d66a..af2f3d52b61b 100644 --- a/arch/arm/mach-s3c2410/clock.c +++ b/arch/arm/mach-s3c2410/clock.c | |||
| @@ -37,6 +37,7 @@ | |||
| 37 | #include <linux/interrupt.h> | 37 | #include <linux/interrupt.h> |
| 38 | #include <linux/ioport.h> | 38 | #include <linux/ioport.h> |
| 39 | #include <linux/clk.h> | 39 | #include <linux/clk.h> |
| 40 | #include <linux/mutex.h> | ||
| 40 | 41 | ||
| 41 | #include <asm/hardware.h> | 42 | #include <asm/hardware.h> |
| 42 | #include <asm/atomic.h> | 43 | #include <asm/atomic.h> |
| @@ -51,7 +52,7 @@ | |||
| 51 | /* clock information */ | 52 | /* clock information */ |
| 52 | 53 | ||
| 53 | static LIST_HEAD(clocks); | 54 | static LIST_HEAD(clocks); |
| 54 | static DECLARE_MUTEX(clocks_sem); | 55 | static DEFINE_MUTEX(clocks_mutex); |
| 55 | 56 | ||
| 56 | /* old functions */ | 57 | /* old functions */ |
| 57 | 58 | ||
| @@ -102,7 +103,7 @@ struct clk *clk_get(struct device *dev, const char *id) | |||
| 102 | else | 103 | else |
| 103 | idno = to_platform_device(dev)->id; | 104 | idno = to_platform_device(dev)->id; |
| 104 | 105 | ||
| 105 | down(&clocks_sem); | 106 | mutex_lock(&clocks_mutex); |
| 106 | 107 | ||
| 107 | list_for_each_entry(p, &clocks, list) { | 108 | list_for_each_entry(p, &clocks, list) { |
| 108 | if (p->id == idno && | 109 | if (p->id == idno && |
| @@ -126,7 +127,7 @@ struct clk *clk_get(struct device *dev, const char *id) | |||
| 126 | } | 127 | } |
| 127 | } | 128 | } |
| 128 | 129 | ||
| 129 | up(&clocks_sem); | 130 | mutex_unlock(&clocks_mutex); |
| 130 | return clk; | 131 | return clk; |
| 131 | } | 132 | } |
| 132 | 133 | ||
| @@ -362,9 +363,9 @@ int s3c24xx_register_clock(struct clk *clk) | |||
| 362 | 363 | ||
| 363 | /* add to the list of available clocks */ | 364 | /* add to the list of available clocks */ |
| 364 | 365 | ||
| 365 | down(&clocks_sem); | 366 | mutex_lock(&clocks_mutex); |
| 366 | list_add(&clk->list, &clocks); | 367 | list_add(&clk->list, &clocks); |
| 367 | up(&clocks_sem); | 368 | mutex_unlock(&clocks_mutex); |
| 368 | 369 | ||
| 369 | return 0; | 370 | return 0; |
| 370 | } | 371 | } |
diff --git a/arch/arm/mach-versatile/clock.c b/arch/arm/mach-versatile/clock.c index dcf10014f5cd..9858c96560e2 100644 --- a/arch/arm/mach-versatile/clock.c +++ b/arch/arm/mach-versatile/clock.c | |||
| @@ -15,6 +15,7 @@ | |||
| 15 | #include <linux/err.h> | 15 | #include <linux/err.h> |
| 16 | #include <linux/string.h> | 16 | #include <linux/string.h> |
| 17 | #include <linux/clk.h> | 17 | #include <linux/clk.h> |
| 18 | #include <linux/mutex.h> | ||
| 18 | 19 | ||
| 19 | #include <asm/semaphore.h> | 20 | #include <asm/semaphore.h> |
| 20 | #include <asm/hardware/icst307.h> | 21 | #include <asm/hardware/icst307.h> |
| @@ -22,20 +23,20 @@ | |||
| 22 | #include "clock.h" | 23 | #include "clock.h" |
| 23 | 24 | ||
| 24 | static LIST_HEAD(clocks); | 25 | static LIST_HEAD(clocks); |
| 25 | static DECLARE_MUTEX(clocks_sem); | 26 | static DEFINE_MUTEX(clocks_mutex); |
| 26 | 27 | ||
| 27 | struct clk *clk_get(struct device *dev, const char *id) | 28 | struct clk *clk_get(struct device *dev, const char *id) |
| 28 | { | 29 | { |
| 29 | struct clk *p, *clk = ERR_PTR(-ENOENT); | 30 | struct clk *p, *clk = ERR_PTR(-ENOENT); |
| 30 | 31 | ||
| 31 | down(&clocks_sem); | 32 | mutex_lock(&clocks_mutex); |
| 32 | list_for_each_entry(p, &clocks, node) { | 33 | list_for_each_entry(p, &clocks, node) { |
| 33 | if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { | 34 | if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { |
| 34 | clk = p; | 35 | clk = p; |
| 35 | break; | 36 | break; |
| 36 | } | 37 | } |
| 37 | } | 38 | } |
| 38 | up(&clocks_sem); | 39 | mutex_unlock(&clocks_mutex); |
| 39 | 40 | ||
| 40 | return clk; | 41 | return clk; |
| 41 | } | 42 | } |
| @@ -110,18 +111,18 @@ static struct clk mmci_clk = { | |||
| 110 | 111 | ||
| 111 | int clk_register(struct clk *clk) | 112 | int clk_register(struct clk *clk) |
| 112 | { | 113 | { |
| 113 | down(&clocks_sem); | 114 | mutex_lock(&clocks_mutex); |
| 114 | list_add(&clk->node, &clocks); | 115 | list_add(&clk->node, &clocks); |
| 115 | up(&clocks_sem); | 116 | mutex_unlock(&clocks_mutex); |
| 116 | return 0; | 117 | return 0; |
| 117 | } | 118 | } |
| 118 | EXPORT_SYMBOL(clk_register); | 119 | EXPORT_SYMBOL(clk_register); |
| 119 | 120 | ||
| 120 | void clk_unregister(struct clk *clk) | 121 | void clk_unregister(struct clk *clk) |
| 121 | { | 122 | { |
| 122 | down(&clocks_sem); | 123 | mutex_lock(&clocks_mutex); |
| 123 | list_del(&clk->node); | 124 | list_del(&clk->node); |
| 124 | up(&clocks_sem); | 125 | mutex_unlock(&clocks_mutex); |
| 125 | } | 126 | } |
| 126 | EXPORT_SYMBOL(clk_unregister); | 127 | EXPORT_SYMBOL(clk_unregister); |
| 127 | 128 | ||
diff --git a/arch/arm/mm/consistent.c b/arch/arm/mm/consistent.c index 0513ed1b2fcf..c2ee18d2075e 100644 --- a/arch/arm/mm/consistent.c +++ b/arch/arm/mm/consistent.c | |||
| @@ -20,15 +20,25 @@ | |||
| 20 | 20 | ||
| 21 | #include <asm/cacheflush.h> | 21 | #include <asm/cacheflush.h> |
| 22 | #include <asm/tlbflush.h> | 22 | #include <asm/tlbflush.h> |
| 23 | #include <asm/sizes.h> | ||
| 24 | |||
| 25 | /* Sanity check size */ | ||
| 26 | #if (CONSISTENT_DMA_SIZE % SZ_2M) | ||
| 27 | #error "CONSISTENT_DMA_SIZE must be multiple of 2MiB" | ||
| 28 | #endif | ||
| 23 | 29 | ||
| 24 | #define CONSISTENT_BASE (0xffc00000) | ||
| 25 | #define CONSISTENT_END (0xffe00000) | 30 | #define CONSISTENT_END (0xffe00000) |
| 31 | #define CONSISTENT_BASE (CONSISTENT_END - CONSISTENT_DMA_SIZE) | ||
| 32 | |||
| 26 | #define CONSISTENT_OFFSET(x) (((unsigned long)(x) - CONSISTENT_BASE) >> PAGE_SHIFT) | 33 | #define CONSISTENT_OFFSET(x) (((unsigned long)(x) - CONSISTENT_BASE) >> PAGE_SHIFT) |
| 34 | #define CONSISTENT_PTE_INDEX(x) (((unsigned long)(x) - CONSISTENT_BASE) >> PGDIR_SHIFT) | ||
| 35 | #define NUM_CONSISTENT_PTES (CONSISTENT_DMA_SIZE >> PGDIR_SHIFT) | ||
| 36 | |||
| 27 | 37 | ||
| 28 | /* | 38 | /* |
| 29 | * This is the page table (2MB) covering uncached, DMA consistent allocations | 39 | * These are the page tables (2MB each) covering uncached, DMA consistent allocations |
| 30 | */ | 40 | */ |
| 31 | static pte_t *consistent_pte; | 41 | static pte_t *consistent_pte[NUM_CONSISTENT_PTES]; |
| 32 | static DEFINE_SPINLOCK(consistent_lock); | 42 | static DEFINE_SPINLOCK(consistent_lock); |
| 33 | 43 | ||
| 34 | /* | 44 | /* |
| @@ -142,7 +152,7 @@ __dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, gfp_t gfp, | |||
| 142 | unsigned long order; | 152 | unsigned long order; |
| 143 | u64 mask = ISA_DMA_THRESHOLD, limit; | 153 | u64 mask = ISA_DMA_THRESHOLD, limit; |
| 144 | 154 | ||
| 145 | if (!consistent_pte) { | 155 | if (!consistent_pte[0]) { |
| 146 | printk(KERN_ERR "%s: not initialised\n", __func__); | 156 | printk(KERN_ERR "%s: not initialised\n", __func__); |
| 147 | dump_stack(); | 157 | dump_stack(); |
| 148 | return NULL; | 158 | return NULL; |
| @@ -205,9 +215,12 @@ __dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, gfp_t gfp, | |||
| 205 | c = vm_region_alloc(&consistent_head, size, | 215 | c = vm_region_alloc(&consistent_head, size, |
| 206 | gfp & ~(__GFP_DMA | __GFP_HIGHMEM)); | 216 | gfp & ~(__GFP_DMA | __GFP_HIGHMEM)); |
| 207 | if (c) { | 217 | if (c) { |
| 208 | pte_t *pte = consistent_pte + CONSISTENT_OFFSET(c->vm_start); | 218 | pte_t *pte; |
| 209 | struct page *end = page + (1 << order); | 219 | struct page *end = page + (1 << order); |
| 220 | int idx = CONSISTENT_PTE_INDEX(c->vm_start); | ||
| 221 | u32 off = CONSISTENT_OFFSET(c->vm_start) & (PTRS_PER_PTE-1); | ||
| 210 | 222 | ||
| 223 | pte = consistent_pte[idx] + off; | ||
| 211 | c->vm_pages = page; | 224 | c->vm_pages = page; |
| 212 | 225 | ||
| 213 | /* | 226 | /* |
| @@ -226,6 +239,11 @@ __dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, gfp_t gfp, | |||
| 226 | set_pte(pte, mk_pte(page, prot)); | 239 | set_pte(pte, mk_pte(page, prot)); |
| 227 | page++; | 240 | page++; |
| 228 | pte++; | 241 | pte++; |
| 242 | off++; | ||
| 243 | if (off >= PTRS_PER_PTE) { | ||
| 244 | off = 0; | ||
| 245 | pte = consistent_pte[++idx]; | ||
| 246 | } | ||
| 229 | } while (size -= PAGE_SIZE); | 247 | } while (size -= PAGE_SIZE); |
| 230 | 248 | ||
| 231 | /* | 249 | /* |
| @@ -327,6 +345,8 @@ void dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, dma_addr | |||
| 327 | struct vm_region *c; | 345 | struct vm_region *c; |
| 328 | unsigned long flags, addr; | 346 | unsigned long flags, addr; |
| 329 | pte_t *ptep; | 347 | pte_t *ptep; |
| 348 | int idx; | ||
| 349 | u32 off; | ||
| 330 | 350 | ||
| 331 | WARN_ON(irqs_disabled()); | 351 | WARN_ON(irqs_disabled()); |
| 332 | 352 | ||
| @@ -347,7 +367,9 @@ void dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, dma_addr | |||
| 347 | size = c->vm_end - c->vm_start; | 367 | size = c->vm_end - c->vm_start; |
| 348 | } | 368 | } |
| 349 | 369 | ||
| 350 | ptep = consistent_pte + CONSISTENT_OFFSET(c->vm_start); | 370 | idx = CONSISTENT_PTE_INDEX(c->vm_start); |
| 371 | off = CONSISTENT_OFFSET(c->vm_start) & (PTRS_PER_PTE-1); | ||
| 372 | ptep = consistent_pte[idx] + off; | ||
| 351 | addr = c->vm_start; | 373 | addr = c->vm_start; |
| 352 | do { | 374 | do { |
| 353 | pte_t pte = ptep_get_and_clear(&init_mm, addr, ptep); | 375 | pte_t pte = ptep_get_and_clear(&init_mm, addr, ptep); |
| @@ -355,6 +377,11 @@ void dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, dma_addr | |||
| 355 | 377 | ||
| 356 | ptep++; | 378 | ptep++; |
| 357 | addr += PAGE_SIZE; | 379 | addr += PAGE_SIZE; |
| 380 | off++; | ||
| 381 | if (off >= PTRS_PER_PTE) { | ||
| 382 | off = 0; | ||
| 383 | ptep = consistent_pte[++idx]; | ||
| 384 | } | ||
| 358 | 385 | ||
| 359 | if (!pte_none(pte) && pte_present(pte)) { | 386 | if (!pte_none(pte) && pte_present(pte)) { |
| 360 | pfn = pte_pfn(pte); | 387 | pfn = pte_pfn(pte); |
| @@ -401,11 +428,12 @@ static int __init consistent_init(void) | |||
| 401 | pgd_t *pgd; | 428 | pgd_t *pgd; |
| 402 | pmd_t *pmd; | 429 | pmd_t *pmd; |
| 403 | pte_t *pte; | 430 | pte_t *pte; |
| 404 | int ret = 0; | 431 | int ret = 0, i = 0; |
| 432 | u32 base = CONSISTENT_BASE; | ||
| 405 | 433 | ||
| 406 | do { | 434 | do { |
| 407 | pgd = pgd_offset(&init_mm, CONSISTENT_BASE); | 435 | pgd = pgd_offset(&init_mm, base); |
| 408 | pmd = pmd_alloc(&init_mm, pgd, CONSISTENT_BASE); | 436 | pmd = pmd_alloc(&init_mm, pgd, base); |
| 409 | if (!pmd) { | 437 | if (!pmd) { |
| 410 | printk(KERN_ERR "%s: no pmd tables\n", __func__); | 438 | printk(KERN_ERR "%s: no pmd tables\n", __func__); |
| 411 | ret = -ENOMEM; | 439 | ret = -ENOMEM; |
| @@ -413,15 +441,16 @@ static int __init consistent_init(void) | |||
| 413 | } | 441 | } |
| 414 | WARN_ON(!pmd_none(*pmd)); | 442 | WARN_ON(!pmd_none(*pmd)); |
| 415 | 443 | ||
| 416 | pte = pte_alloc_kernel(pmd, CONSISTENT_BASE); | 444 | pte = pte_alloc_kernel(pmd, base); |
| 417 | if (!pte) { | 445 | if (!pte) { |
| 418 | printk(KERN_ERR "%s: no pte tables\n", __func__); | 446 | printk(KERN_ERR "%s: no pte tables\n", __func__); |
| 419 | ret = -ENOMEM; | 447 | ret = -ENOMEM; |
| 420 | break; | 448 | break; |
| 421 | } | 449 | } |
| 422 | 450 | ||
| 423 | consistent_pte = pte; | 451 | consistent_pte[i++] = pte; |
| 424 | } while (0); | 452 | base += (1 << PGDIR_SHIFT); |
| 453 | } while (base < CONSISTENT_END); | ||
| 425 | 454 | ||
| 426 | return ret; | 455 | return ret; |
| 427 | } | 456 | } |
diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c index 84fd65656fcf..7ebc5a29db8d 100644 --- a/arch/arm/plat-omap/clock.c +++ b/arch/arm/plat-omap/clock.c | |||
| @@ -20,6 +20,7 @@ | |||
| 20 | #include <linux/err.h> | 20 | #include <linux/err.h> |
| 21 | #include <linux/string.h> | 21 | #include <linux/string.h> |
| 22 | #include <linux/clk.h> | 22 | #include <linux/clk.h> |
| 23 | #include <linux/mutex.h> | ||
| 23 | 24 | ||
| 24 | #include <asm/io.h> | 25 | #include <asm/io.h> |
| 25 | #include <asm/semaphore.h> | 26 | #include <asm/semaphore.h> |
| @@ -27,7 +28,7 @@ | |||
| 27 | #include <asm/arch/clock.h> | 28 | #include <asm/arch/clock.h> |
| 28 | 29 | ||
| 29 | LIST_HEAD(clocks); | 30 | LIST_HEAD(clocks); |
| 30 | static DECLARE_MUTEX(clocks_sem); | 31 | static DEFINE_MUTEX(clocks_mutex); |
| 31 | DEFINE_SPINLOCK(clockfw_lock); | 32 | DEFINE_SPINLOCK(clockfw_lock); |
| 32 | 33 | ||
| 33 | static struct clk_functions *arch_clock; | 34 | static struct clk_functions *arch_clock; |
| @@ -40,14 +41,14 @@ struct clk * clk_get(struct device *dev, const char *id) | |||
| 40 | { | 41 | { |
| 41 | struct clk *p, *clk = ERR_PTR(-ENOENT); | 42 | struct clk *p, *clk = ERR_PTR(-ENOENT); |
| 42 | 43 | ||
| 43 | down(&clocks_sem); | 44 | mutex_lock(&clocks_mutex); |
| 44 | list_for_each_entry(p, &clocks, node) { | 45 | list_for_each_entry(p, &clocks, node) { |
| 45 | if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { | 46 | if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { |
| 46 | clk = p; | 47 | clk = p; |
| 47 | break; | 48 | break; |
| 48 | } | 49 | } |
| 49 | } | 50 | } |
| 50 | up(&clocks_sem); | 51 | mutex_unlock(&clocks_mutex); |
| 51 | 52 | ||
| 52 | return clk; | 53 | return clk; |
| 53 | } | 54 | } |
| @@ -249,11 +250,11 @@ void propagate_rate(struct clk * tclk) | |||
| 249 | 250 | ||
| 250 | int clk_register(struct clk *clk) | 251 | int clk_register(struct clk *clk) |
| 251 | { | 252 | { |
| 252 | down(&clocks_sem); | 253 | mutex_lock(&clocks_mutex); |
| 253 | list_add(&clk->node, &clocks); | 254 | list_add(&clk->node, &clocks); |
| 254 | if (clk->init) | 255 | if (clk->init) |
| 255 | clk->init(clk); | 256 | clk->init(clk); |
| 256 | up(&clocks_sem); | 257 | mutex_unlock(&clocks_mutex); |
| 257 | 258 | ||
| 258 | return 0; | 259 | return 0; |
| 259 | } | 260 | } |
| @@ -261,9 +262,9 @@ EXPORT_SYMBOL(clk_register); | |||
| 261 | 262 | ||
| 262 | void clk_unregister(struct clk *clk) | 263 | void clk_unregister(struct clk *clk) |
| 263 | { | 264 | { |
| 264 | down(&clocks_sem); | 265 | mutex_lock(&clocks_mutex); |
| 265 | list_del(&clk->node); | 266 | list_del(&clk->node); |
| 266 | up(&clocks_sem); | 267 | mutex_unlock(&clocks_mutex); |
| 267 | } | 268 | } |
| 268 | EXPORT_SYMBOL(clk_unregister); | 269 | EXPORT_SYMBOL(clk_unregister); |
| 269 | 270 | ||
diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c index 70f7ab829d36..86e2234faf80 100644 --- a/drivers/i2c/busses/i2c-pxa.c +++ b/drivers/i2c/busses/i2c-pxa.c | |||
| @@ -899,6 +899,12 @@ static int i2c_pxa_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num | |||
| 899 | struct pxa_i2c *i2c = adap->algo_data; | 899 | struct pxa_i2c *i2c = adap->algo_data; |
| 900 | int ret, i; | 900 | int ret, i; |
| 901 | 901 | ||
| 902 | /* If the I2C controller is disabled we need to reset it (probably due | ||
| 903 | to a suspend/resume destroying state). We do this here as we can then | ||
| 904 | avoid worrying about resuming the controller before its users. */ | ||
| 905 | if (!(ICR & ICR_IUE)) | ||
| 906 | i2c_pxa_reset(i2c); | ||
| 907 | |||
| 902 | for (i = adap->retries; i >= 0; i--) { | 908 | for (i = adap->retries; i >= 0; i--) { |
| 903 | ret = i2c_pxa_do_xfer(i2c, msgs, num); | 909 | ret = i2c_pxa_do_xfer(i2c, msgs, num); |
| 904 | if (ret != I2C_RETRY) | 910 | if (ret != I2C_RETRY) |
| @@ -939,7 +945,9 @@ static struct pxa_i2c i2c_pxa = { | |||
| 939 | static int i2c_pxa_probe(struct platform_device *dev) | 945 | static int i2c_pxa_probe(struct platform_device *dev) |
| 940 | { | 946 | { |
| 941 | struct pxa_i2c *i2c = &i2c_pxa; | 947 | struct pxa_i2c *i2c = &i2c_pxa; |
| 948 | #ifdef CONFIG_I2C_PXA_SLAVE | ||
| 942 | struct i2c_pxa_platform_data *plat = dev->dev.platform_data; | 949 | struct i2c_pxa_platform_data *plat = dev->dev.platform_data; |
| 950 | #endif | ||
| 943 | int ret; | 951 | int ret; |
| 944 | 952 | ||
| 945 | #ifdef CONFIG_PXA27x | 953 | #ifdef CONFIG_PXA27x |
| @@ -1024,5 +1032,7 @@ static void i2c_adap_pxa_exit(void) | |||
| 1024 | return platform_driver_unregister(&i2c_pxa_driver); | 1032 | return platform_driver_unregister(&i2c_pxa_driver); |
| 1025 | } | 1033 | } |
| 1026 | 1034 | ||
| 1035 | MODULE_LICENSE("GPL"); | ||
| 1036 | |||
| 1027 | module_init(i2c_adap_pxa_init); | 1037 | module_init(i2c_adap_pxa_init); |
| 1028 | module_exit(i2c_adap_pxa_exit); | 1038 | module_exit(i2c_adap_pxa_exit); |
diff --git a/drivers/pcmcia/pxa2xx_mainstone.c b/drivers/pcmcia/pxa2xx_mainstone.c index 5d957dfe23d9..fda06941e730 100644 --- a/drivers/pcmcia/pxa2xx_mainstone.c +++ b/drivers/pcmcia/pxa2xx_mainstone.c | |||
| @@ -171,27 +171,22 @@ static int __init mst_pcmcia_init(void) | |||
| 171 | { | 171 | { |
| 172 | int ret; | 172 | int ret; |
| 173 | 173 | ||
| 174 | mst_pcmcia_device = kzalloc(sizeof(*mst_pcmcia_device), GFP_KERNEL); | 174 | mst_pcmcia_device = platform_device_alloc("pxa2xx-pcmcia", -1); |
| 175 | if (!mst_pcmcia_device) | 175 | if (!mst_pcmcia_device) |
| 176 | return -ENOMEM; | 176 | return -ENOMEM; |
| 177 | mst_pcmcia_device->name = "pxa2xx-pcmcia"; | 177 | |
| 178 | mst_pcmcia_device->dev.platform_data = &mst_pcmcia_ops; | 178 | mst_pcmcia_device->dev.platform_data = &mst_pcmcia_ops; |
| 179 | 179 | ||
| 180 | ret = platform_device_register(mst_pcmcia_device); | 180 | ret = platform_device_add(mst_pcmcia_device); |
| 181 | |||
| 181 | if (ret) | 182 | if (ret) |
| 182 | kfree(mst_pcmcia_device); | 183 | platform_device_put(mst_pcmcia_device); |
| 183 | 184 | ||
| 184 | return ret; | 185 | return ret; |
| 185 | } | 186 | } |
| 186 | 187 | ||
| 187 | static void __exit mst_pcmcia_exit(void) | 188 | static void __exit mst_pcmcia_exit(void) |
| 188 | { | 189 | { |
| 189 | /* | ||
| 190 | * This call is supposed to free our mst_pcmcia_device. | ||
| 191 | * Unfortunately platform_device don't have a free method, and | ||
| 192 | * we can't assume it's free of any reference at this point so we | ||
| 193 | * can't free it either. | ||
| 194 | */ | ||
| 195 | platform_device_unregister(mst_pcmcia_device); | 190 | platform_device_unregister(mst_pcmcia_device); |
| 196 | } | 191 | } |
| 197 | 192 | ||
diff --git a/drivers/pcmcia/pxa2xx_sharpsl.c b/drivers/pcmcia/pxa2xx_sharpsl.c index 12a7244a5ec8..fd3647368955 100644 --- a/drivers/pcmcia/pxa2xx_sharpsl.c +++ b/drivers/pcmcia/pxa2xx_sharpsl.c | |||
| @@ -263,30 +263,25 @@ static int __init sharpsl_pcmcia_init(void) | |||
| 263 | { | 263 | { |
| 264 | int ret; | 264 | int ret; |
| 265 | 265 | ||
| 266 | sharpsl_pcmcia_ops.nr=platform_scoop_config->num_devs; | 266 | sharpsl_pcmcia_ops.nr = platform_scoop_config->num_devs; |
| 267 | sharpsl_pcmcia_device = kzalloc(sizeof(*sharpsl_pcmcia_device), GFP_KERNEL); | 267 | sharpsl_pcmcia_device = platform_device_alloc("pxa2xx-pcmcia", -1); |
| 268 | |||
| 268 | if (!sharpsl_pcmcia_device) | 269 | if (!sharpsl_pcmcia_device) |
| 269 | return -ENOMEM; | 270 | return -ENOMEM; |
| 270 | 271 | ||
| 271 | sharpsl_pcmcia_device->name = "pxa2xx-pcmcia"; | ||
| 272 | sharpsl_pcmcia_device->dev.platform_data = &sharpsl_pcmcia_ops; | 272 | sharpsl_pcmcia_device->dev.platform_data = &sharpsl_pcmcia_ops; |
| 273 | sharpsl_pcmcia_device->dev.parent=platform_scoop_config->devs[0].dev; | 273 | sharpsl_pcmcia_device->dev.parent = platform_scoop_config->devs[0].dev; |
| 274 | |||
| 275 | ret = platform_device_add(sharpsl_pcmcia_device); | ||
| 274 | 276 | ||
| 275 | ret = platform_device_register(sharpsl_pcmcia_device); | ||
| 276 | if (ret) | 277 | if (ret) |
| 277 | kfree(sharpsl_pcmcia_device); | 278 | platform_device_put(sharpsl_pcmcia_device); |
| 278 | 279 | ||
| 279 | return ret; | 280 | return ret; |
| 280 | } | 281 | } |
| 281 | 282 | ||
| 282 | static void __exit sharpsl_pcmcia_exit(void) | 283 | static void __exit sharpsl_pcmcia_exit(void) |
| 283 | { | 284 | { |
| 284 | /* | ||
| 285 | * This call is supposed to free our sharpsl_pcmcia_device. | ||
| 286 | * Unfortunately platform_device don't have a free method, and | ||
| 287 | * we can't assume it's free of any reference at this point so we | ||
| 288 | * can't free it either. | ||
| 289 | */ | ||
| 290 | platform_device_unregister(sharpsl_pcmcia_device); | 285 | platform_device_unregister(sharpsl_pcmcia_device); |
| 291 | } | 286 | } |
| 292 | 287 | ||
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index 698cb76819d9..843717275d49 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig | |||
| @@ -280,6 +280,40 @@ config SERIAL_AMBA_PL011_CONSOLE | |||
| 280 | your boot loader (lilo or loadlin) about how to pass options to the | 280 | your boot loader (lilo or loadlin) about how to pass options to the |
| 281 | kernel at boot time.) | 281 | kernel at boot time.) |
| 282 | 282 | ||
| 283 | config SERIAL_AT91 | ||
| 284 | bool "AT91RM9200 serial port support" | ||
| 285 | depends on ARM && ARCH_AT91RM9200 | ||
| 286 | select SERIAL_CORE | ||
| 287 | help | ||
| 288 | This enables the driver for the on-chip UARTs of the AT91RM9200 | ||
| 289 | processor. | ||
| 290 | |||
| 291 | config SERIAL_AT91_CONSOLE | ||
| 292 | bool "Support for console on AT91RM9200 serial port" | ||
| 293 | depends on SERIAL_AT91=y | ||
| 294 | select SERIAL_CORE_CONSOLE | ||
| 295 | help | ||
| 296 | Say Y here if you wish to use a UART on the AT91RM9200 as the system | ||
| 297 | console (the system console is the device which receives all kernel | ||
| 298 | messages and warnings and which allows logins in single user mode). | ||
| 299 | |||
| 300 | config SERIAL_AT91_TTYAT | ||
| 301 | bool "Install as device ttyAT0-4 instead of ttyS0-4" | ||
| 302 | depends on SERIAL_AT91=y | ||
| 303 | help | ||
| 304 | Say Y here if you wish to have the five internal AT91RM9200 UARTs | ||
| 305 | appear as /dev/ttyAT0-4 (major 240, minor 0-4) instead of the | ||
| 306 | normal /dev/ttyS0-4 (major 4, minor 64-68). This is necessary if | ||
| 307 | you also want other UARTs, such as external 8250/16C550 compatible | ||
| 308 | UARTs. | ||
| 309 | The ttySn nodes are legally reserved for the 8250 serial driver | ||
| 310 | but are often misused by other serial drivers. | ||
| 311 | |||
| 312 | To use this, you should create suitable ttyATn device nodes in | ||
| 313 | /dev/, and pass "console=ttyATn" to the kernel. | ||
| 314 | |||
| 315 | Say Y if you have an external 8250/16C550 UART. If unsure, say N. | ||
| 316 | |||
| 283 | config SERIAL_CLPS711X | 317 | config SERIAL_CLPS711X |
| 284 | tristate "CLPS711X serial port support" | 318 | tristate "CLPS711X serial port support" |
| 285 | depends on ARM && ARCH_CLPS711X | 319 | depends on ARM && ARCH_CLPS711X |
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile index 137148bba4fa..24a583e482bb 100644 --- a/drivers/serial/Makefile +++ b/drivers/serial/Makefile | |||
| @@ -56,3 +56,4 @@ obj-$(CONFIG_SERIAL_JSM) += jsm/ | |||
| 56 | obj-$(CONFIG_SERIAL_TXX9) += serial_txx9.o | 56 | obj-$(CONFIG_SERIAL_TXX9) += serial_txx9.o |
| 57 | obj-$(CONFIG_SERIAL_VR41XX) += vr41xx_siu.o | 57 | obj-$(CONFIG_SERIAL_VR41XX) += vr41xx_siu.o |
| 58 | obj-$(CONFIG_SERIAL_SGI_IOC4) += ioc4_serial.o | 58 | obj-$(CONFIG_SERIAL_SGI_IOC4) += ioc4_serial.o |
| 59 | obj-$(CONFIG_SERIAL_AT91) += at91_serial.o | ||
diff --git a/drivers/serial/at91_serial.c b/drivers/serial/at91_serial.c new file mode 100644 index 000000000000..0e206063d685 --- /dev/null +++ b/drivers/serial/at91_serial.c | |||
| @@ -0,0 +1,894 @@ | |||
| 1 | /* | ||
| 2 | * linux/drivers/char/at91_serial.c | ||
| 3 | * | ||
| 4 | * Driver for Atmel AT91RM9200 Serial ports | ||
| 5 | * | ||
| 6 | * Copyright (C) 2003 Rick Bronson | ||
| 7 | * | ||
| 8 | * Based on drivers/char/serial_sa1100.c, by Deep Blue Solutions Ltd. | ||
| 9 | * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o. | ||
| 10 | * | ||
| 11 | * This program is free software; you can redistribute it and/or modify | ||
| 12 | * it under the terms of the GNU General Public License as published by | ||
| 13 | * the Free Software Foundation; either version 2 of the License, or | ||
| 14 | * (at your option) any later version. | ||
| 15 | * | ||
| 16 | * This program is distributed in the hope that it will be useful, | ||
| 17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 19 | * GNU General Public License for more details. | ||
| 20 | * | ||
| 21 | * You should have received a copy of the GNU General Public License | ||
| 22 | * along with this program; if not, write to the Free Software | ||
| 23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 24 | * | ||
| 25 | */ | ||
| 26 | #include <linux/config.h> | ||
| 27 | #include <linux/module.h> | ||
| 28 | #include <linux/tty.h> | ||
| 29 | #include <linux/ioport.h> | ||
| 30 | #include <linux/slab.h> | ||
| 31 | #include <linux/init.h> | ||
| 32 | #include <linux/serial.h> | ||
| 33 | #include <linux/console.h> | ||
| 34 | #include <linux/sysrq.h> | ||
| 35 | #include <linux/tty_flip.h> | ||
| 36 | |||
| 37 | #include <asm/io.h> | ||
| 38 | |||
| 39 | #include <asm/arch/at91rm9200_usart.h> | ||
| 40 | #include <asm/mach/serial_at91rm9200.h> | ||
| 41 | #include <asm/arch/board.h> | ||
| 42 | #include <asm/arch/pio.h> | ||
| 43 | |||
| 44 | |||
| 45 | #if defined(CONFIG_SERIAL_AT91_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ) | ||
| 46 | #define SUPPORT_SYSRQ | ||
| 47 | #endif | ||
| 48 | |||
| 49 | #include <linux/serial_core.h> | ||
| 50 | |||
| 51 | #ifdef CONFIG_SERIAL_AT91_TTYAT | ||
| 52 | |||
| 53 | /* Use device name ttyAT, major 204 and minor 154-169. This is necessary if we | ||
| 54 | * should coexist with the 8250 driver, such as if we have an external 16C550 | ||
| 55 | * UART. */ | ||
| 56 | #define SERIAL_AT91_MAJOR 204 | ||
| 57 | #define MINOR_START 154 | ||
| 58 | #define AT91_DEVICENAME "ttyAT" | ||
| 59 | |||
| 60 | #else | ||
| 61 | |||
| 62 | /* Use device name ttyS, major 4, minor 64-68. This is the usual serial port | ||
| 63 | * name, but it is legally reserved for the 8250 driver. */ | ||
| 64 | #define SERIAL_AT91_MAJOR TTY_MAJOR | ||
| 65 | #define MINOR_START 64 | ||
| 66 | #define AT91_DEVICENAME "ttyS" | ||
| 67 | |||
| 68 | #endif | ||
| 69 | |||
| 70 | #define AT91_VA_BASE_DBGU ((unsigned long) AT91_VA_BASE_SYS + AT91_DBGU) | ||
| 71 | #define AT91_ISR_PASS_LIMIT 256 | ||
| 72 | |||
| 73 | #define UART_PUT_CR(port,v) writel(v, (port)->membase + AT91_US_CR) | ||
| 74 | #define UART_GET_MR(port) readl((port)->membase + AT91_US_MR) | ||
| 75 | #define UART_PUT_MR(port,v) writel(v, (port)->membase + AT91_US_MR) | ||
| 76 | #define UART_PUT_IER(port,v) writel(v, (port)->membase + AT91_US_IER) | ||
| 77 | #define UART_PUT_IDR(port,v) writel(v, (port)->membase + AT91_US_IDR) | ||
| 78 | #define UART_GET_IMR(port) readl((port)->membase + AT91_US_IMR) | ||
| 79 | #define UART_GET_CSR(port) readl((port)->membase + AT91_US_CSR) | ||
| 80 | #define UART_GET_CHAR(port) readl((port)->membase + AT91_US_RHR) | ||
| 81 | #define UART_PUT_CHAR(port,v) writel(v, (port)->membase + AT91_US_THR) | ||
| 82 | #define UART_GET_BRGR(port) readl((port)->membase + AT91_US_BRGR) | ||
| 83 | #define UART_PUT_BRGR(port,v) writel(v, (port)->membase + AT91_US_BRGR) | ||
| 84 | #define UART_PUT_RTOR(port,v) writel(v, (port)->membase + AT91_US_RTOR) | ||
| 85 | |||
| 86 | // #define UART_GET_CR(port) readl((port)->membase + AT91_US_CR) // is write-only | ||
| 87 | |||
| 88 | /* PDC registers */ | ||
| 89 | #define UART_PUT_PTCR(port,v) writel(v, (port)->membase + AT91_PDC_PTCR) | ||
| 90 | #define UART_PUT_RPR(port,v) writel(v, (port)->membase + AT91_PDC_RPR) | ||
| 91 | #define UART_PUT_RCR(port,v) writel(v, (port)->membase + AT91_PDC_RCR) | ||
| 92 | #define UART_GET_RCR(port) readl((port)->membase + AT91_PDC_RCR) | ||
| 93 | #define UART_PUT_RNPR(port,v) writel(v, (port)->membase + AT91_PDC_RNPR) | ||
| 94 | #define UART_PUT_RNCR(port,v) writel(v, (port)->membase + AT91_PDC_RNCR) | ||
| 95 | |||
| 96 | |||
| 97 | static int (*at91_open)(struct uart_port *); | ||
| 98 | static void (*at91_close)(struct uart_port *); | ||
| 99 | |||
| 100 | #ifdef SUPPORT_SYSRQ | ||
| 101 | static struct console at91_console; | ||
| 102 | #endif | ||
| 103 | |||
| 104 | /* | ||
| 105 | * Return TIOCSER_TEMT when transmitter FIFO and Shift register is empty. | ||
| 106 | */ | ||
| 107 | static u_int at91_tx_empty(struct uart_port *port) | ||
| 108 | { | ||
| 109 | return (UART_GET_CSR(port) & AT91_US_TXEMPTY) ? TIOCSER_TEMT : 0; | ||
| 110 | } | ||
| 111 | |||
| 112 | /* | ||
| 113 | * Set state of the modem control output lines | ||
| 114 | */ | ||
| 115 | static void at91_set_mctrl(struct uart_port *port, u_int mctrl) | ||
| 116 | { | ||
| 117 | unsigned int control = 0; | ||
| 118 | |||
| 119 | /* | ||
| 120 | * Errata #39: RTS0 is not internally connected to PA21. We need to drive | ||
| 121 | * the pin manually. | ||
| 122 | */ | ||
| 123 | if (port->mapbase == AT91_VA_BASE_US0) { | ||
| 124 | if (mctrl & TIOCM_RTS) | ||
| 125 | at91_sys_write(AT91_PIOA + PIO_CODR, AT91_PA21_RTS0); | ||
| 126 | else | ||
| 127 | at91_sys_write(AT91_PIOA + PIO_SODR, AT91_PA21_RTS0); | ||
| 128 | } | ||
| 129 | |||
| 130 | if (mctrl & TIOCM_RTS) | ||
| 131 | control |= AT91_US_RTSEN; | ||
| 132 | else | ||
| 133 | control |= AT91_US_RTSDIS; | ||
| 134 | |||
| 135 | if (mctrl & TIOCM_DTR) | ||
| 136 | control |= AT91_US_DTREN; | ||
| 137 | else | ||
| 138 | control |= AT91_US_DTRDIS; | ||
| 139 | |||
| 140 | UART_PUT_CR(port,control); | ||
| 141 | } | ||
| 142 | |||
| 143 | /* | ||
| 144 | * Get state of the modem control input lines | ||
| 145 | */ | ||
| 146 | static u_int at91_get_mctrl(struct uart_port *port) | ||
| 147 | { | ||
| 148 | unsigned int status, ret = 0; | ||
| 149 | |||
| 150 | status = UART_GET_CSR(port); | ||
| 151 | |||
| 152 | /* | ||
| 153 | * The control signals are active low. | ||
| 154 | */ | ||
| 155 | if (!(status & AT91_US_DCD)) | ||
| 156 | ret |= TIOCM_CD; | ||
| 157 | if (!(status & AT91_US_CTS)) | ||
| 158 | ret |= TIOCM_CTS; | ||
| 159 | if (!(status & AT91_US_DSR)) | ||
| 160 | ret |= TIOCM_DSR; | ||
| 161 | if (!(status & AT91_US_RI)) | ||
| 162 | ret |= TIOCM_RI; | ||
| 163 | |||
| 164 | return ret; | ||
| 165 | } | ||
| 166 | |||
| 167 | /* | ||
| 168 | * Stop transmitting. | ||
| 169 | */ | ||
| 170 | static void at91_stop_tx(struct uart_port *port) | ||
| 171 | { | ||
| 172 | UART_PUT_IDR(port, AT91_US_TXRDY); | ||
| 173 | port->read_status_mask &= ~AT91_US_TXRDY; | ||
| 174 | } | ||
| 175 | |||
| 176 | /* | ||
| 177 | * Start transmitting. | ||
| 178 | */ | ||
| 179 | static void at91_start_tx(struct uart_port *port) | ||
| 180 | { | ||
| 181 | port->read_status_mask |= AT91_US_TXRDY; | ||
| 182 | UART_PUT_IER(port, AT91_US_TXRDY); | ||
| 183 | } | ||
| 184 | |||
| 185 | /* | ||
| 186 | * Stop receiving - port is in process of being closed. | ||
| 187 | */ | ||
| 188 | static void at91_stop_rx(struct uart_port *port) | ||
| 189 | { | ||
| 190 | UART_PUT_IDR(port, AT91_US_RXRDY); | ||
| 191 | } | ||
| 192 | |||
| 193 | /* | ||
| 194 | * Enable modem status interrupts | ||
| 195 | */ | ||
| 196 | static void at91_enable_ms(struct uart_port *port) | ||
| 197 | { | ||
| 198 | port->read_status_mask |= (AT91_US_RIIC | AT91_US_DSRIC | AT91_US_DCDIC | AT91_US_CTSIC); | ||
| 199 | UART_PUT_IER(port, AT91_US_RIIC | AT91_US_DSRIC | AT91_US_DCDIC | AT91_US_CTSIC); | ||
| 200 | } | ||
| 201 | |||
| 202 | /* | ||
| 203 | * Control the transmission of a break signal | ||
| 204 | */ | ||
| 205 | static void at91_break_ctl(struct uart_port *port, int break_state) | ||
| 206 | { | ||
| 207 | if (break_state != 0) | ||
| 208 | UART_PUT_CR(port, AT91_US_STTBRK); /* start break */ | ||
| 209 | else | ||
| 210 | UART_PUT_CR(port, AT91_US_STPBRK); /* stop break */ | ||
| 211 | } | ||
| 212 | |||
| 213 | /* | ||
| 214 | * Characters received (called from interrupt handler) | ||
| 215 | */ | ||
| 216 | static void at91_rx_chars(struct uart_port *port, struct pt_regs *regs) | ||
| 217 | { | ||
| 218 | struct tty_struct *tty = port->info->tty; | ||
| 219 | unsigned int status, ch, flg; | ||
| 220 | |||
| 221 | status = UART_GET_CSR(port) & port->read_status_mask; | ||
| 222 | while (status & (AT91_US_RXRDY)) { | ||
| 223 | ch = UART_GET_CHAR(port); | ||
| 224 | |||
| 225 | if (tty->flip.count >= TTY_FLIPBUF_SIZE) | ||
| 226 | goto ignore_char; | ||
| 227 | port->icount.rx++; | ||
| 228 | |||
| 229 | flg = TTY_NORMAL; | ||
| 230 | |||
| 231 | /* | ||
| 232 | * note that the error handling code is | ||
| 233 | * out of the main execution path | ||
| 234 | */ | ||
| 235 | if (unlikely(status & (AT91_US_PARE | AT91_US_FRAME | AT91_US_OVRE))) { | ||
| 236 | UART_PUT_CR(port, AT91_US_RSTSTA); /* clear error */ | ||
| 237 | if (status & (AT91_US_PARE)) | ||
| 238 | port->icount.parity++; | ||
| 239 | if (status & (AT91_US_FRAME)) | ||
| 240 | port->icount.frame++; | ||
| 241 | if (status & (AT91_US_OVRE)) | ||
| 242 | port->icount.overrun++; | ||
| 243 | |||
| 244 | if (status & AT91_US_PARE) | ||
| 245 | flg = TTY_PARITY; | ||
| 246 | else if (status & AT91_US_FRAME) | ||
| 247 | flg = TTY_FRAME; | ||
| 248 | if (status & AT91_US_OVRE) { | ||
| 249 | /* | ||
| 250 | * overrun does *not* affect the character | ||
| 251 | * we read from the FIFO | ||
| 252 | */ | ||
| 253 | tty_insert_flip_char(tty, ch, flg); | ||
| 254 | ch = 0; | ||
| 255 | flg = TTY_OVERRUN; | ||
| 256 | } | ||
| 257 | #ifdef SUPPORT_SYSRQ | ||
| 258 | port->sysrq = 0; | ||
| 259 | #endif | ||
| 260 | } | ||
| 261 | |||
| 262 | if (uart_handle_sysrq_char(port, ch, regs)) | ||
| 263 | goto ignore_char; | ||
| 264 | |||
| 265 | tty_insert_flip_char(tty, ch, flg); | ||
| 266 | |||
| 267 | ignore_char: | ||
| 268 | status = UART_GET_CSR(port) & port->read_status_mask; | ||
| 269 | } | ||
| 270 | |||
| 271 | tty_flip_buffer_push(tty); | ||
| 272 | } | ||
| 273 | |||
| 274 | /* | ||
| 275 | * Transmit characters (called from interrupt handler) | ||
| 276 | */ | ||
| 277 | static void at91_tx_chars(struct uart_port *port) | ||
| 278 | { | ||
| 279 | struct circ_buf *xmit = &port->info->xmit; | ||
| 280 | |||
| 281 | if (port->x_char) { | ||
| 282 | UART_PUT_CHAR(port, port->x_char); | ||
| 283 | port->icount.tx++; | ||
| 284 | port->x_char = 0; | ||
| 285 | return; | ||
| 286 | } | ||
| 287 | if (uart_circ_empty(xmit) || uart_tx_stopped(port)) { | ||
| 288 | at91_stop_tx(port); | ||
| 289 | return; | ||
| 290 | } | ||
| 291 | |||
| 292 | while (UART_GET_CSR(port) & AT91_US_TXRDY) { | ||
| 293 | UART_PUT_CHAR(port, xmit->buf[xmit->tail]); | ||
| 294 | xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1); | ||
| 295 | port->icount.tx++; | ||
| 296 | if (uart_circ_empty(xmit)) | ||
| 297 | break; | ||
| 298 | } | ||
| 299 | |||
| 300 | if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS) | ||
| 301 | uart_write_wakeup(port); | ||
| 302 | |||
| 303 | if (uart_circ_empty(xmit)) | ||
| 304 | at91_stop_tx(port); | ||
| 305 | } | ||
| 306 | |||
| 307 | /* | ||
| 308 | * Interrupt handler | ||
| 309 | */ | ||
| 310 | static irqreturn_t at91_interrupt(int irq, void *dev_id, struct pt_regs *regs) | ||
| 311 | { | ||
| 312 | struct uart_port *port = dev_id; | ||
| 313 | unsigned int status, pending, pass_counter = 0; | ||
| 314 | |||
| 315 | status = UART_GET_CSR(port); | ||
| 316 | pending = status & port->read_status_mask; | ||
| 317 | if (pending) { | ||
| 318 | do { | ||
| 319 | if (pending & AT91_US_RXRDY) | ||
| 320 | at91_rx_chars(port, regs); | ||
| 321 | |||
| 322 | /* Clear the relevent break bits */ | ||
| 323 | if (pending & AT91_US_RXBRK) { | ||
| 324 | UART_PUT_CR(port, AT91_US_RSTSTA); | ||
| 325 | port->icount.brk++; | ||
| 326 | uart_handle_break(port); | ||
| 327 | } | ||
| 328 | |||
| 329 | // TODO: All reads to CSR will clear these interrupts! | ||
| 330 | if (pending & AT91_US_RIIC) port->icount.rng++; | ||
| 331 | if (pending & AT91_US_DSRIC) port->icount.dsr++; | ||
| 332 | if (pending & AT91_US_DCDIC) | ||
| 333 | uart_handle_dcd_change(port, !(status & AT91_US_DCD)); | ||
| 334 | if (pending & AT91_US_CTSIC) | ||
| 335 | uart_handle_cts_change(port, !(status & AT91_US_CTS)); | ||
| 336 | if (pending & (AT91_US_RIIC | AT91_US_DSRIC | AT91_US_DCDIC | AT91_US_CTSIC)) | ||
| 337 | wake_up_interruptible(&port->info->delta_msr_wait); | ||
| 338 | |||
| 339 | if (pending & AT91_US_TXRDY) | ||
| 340 | at91_tx_chars(port); | ||
| 341 | if (pass_counter++ > AT91_ISR_PASS_LIMIT) | ||
| 342 | break; | ||
| 343 | |||
| 344 | status = UART_GET_CSR(port); | ||
| 345 | pending = status & port->read_status_mask; | ||
| 346 | } while (pending); | ||
| 347 | } | ||
| 348 | return IRQ_HANDLED; | ||
| 349 | } | ||
| 350 | |||
| 351 | /* | ||
| 352 | * Perform initialization and enable port for reception | ||
| 353 | */ | ||
| 354 | static int at91_startup(struct uart_port *port) | ||
| 355 | { | ||
| 356 | int retval; | ||
| 357 | |||
| 358 | /* | ||
| 359 | * Ensure that no interrupts are enabled otherwise when | ||
| 360 | * request_irq() is called we could get stuck trying to | ||
| 361 | * handle an unexpected interrupt | ||
| 362 | */ | ||
| 363 | UART_PUT_IDR(port, -1); | ||
| 364 | |||
| 365 | /* | ||
| 366 | * Allocate the IRQ | ||
| 367 | */ | ||
| 368 | retval = request_irq(port->irq, at91_interrupt, SA_SHIRQ, "at91_serial", port); | ||
| 369 | if (retval) { | ||
| 370 | printk("at91_serial: at91_startup - Can't get irq\n"); | ||
| 371 | return retval; | ||
| 372 | } | ||
| 373 | |||
| 374 | /* | ||
| 375 | * If there is a specific "open" function (to register | ||
| 376 | * control line interrupts) | ||
| 377 | */ | ||
| 378 | if (at91_open) { | ||
| 379 | retval = at91_open(port); | ||
| 380 | if (retval) { | ||
| 381 | free_irq(port->irq, port); | ||
| 382 | return retval; | ||
| 383 | } | ||
| 384 | } | ||
| 385 | |||
| 386 | port->read_status_mask = AT91_US_RXRDY | AT91_US_TXRDY | AT91_US_OVRE | ||
| 387 | | AT91_US_FRAME | AT91_US_PARE | AT91_US_RXBRK; | ||
| 388 | /* | ||
| 389 | * Finally, enable the serial port | ||
| 390 | */ | ||
| 391 | UART_PUT_CR(port, AT91_US_RSTSTA | AT91_US_RSTRX); | ||
| 392 | UART_PUT_CR(port, AT91_US_TXEN | AT91_US_RXEN); /* enable xmit & rcvr */ | ||
| 393 | UART_PUT_IER(port, AT91_US_RXRDY); /* do receive only */ | ||
| 394 | return 0; | ||
| 395 | } | ||
| 396 | |||
| 397 | /* | ||
| 398 | * Disable the port | ||
| 399 | */ | ||
| 400 | static void at91_shutdown(struct uart_port *port) | ||
| 401 | { | ||
| 402 | /* | ||
| 403 | * Disable all interrupts, port and break condition. | ||
| 404 | */ | ||
| 405 | UART_PUT_CR(port, AT91_US_RSTSTA); | ||
| 406 | UART_PUT_IDR(port, -1); | ||
| 407 | |||
| 408 | /* | ||
| 409 | * Free the interrupt | ||
| 410 | */ | ||
| 411 | free_irq(port->irq, port); | ||
| 412 | |||
| 413 | /* | ||
| 414 | * If there is a specific "close" function (to unregister | ||
| 415 | * control line interrupts) | ||
| 416 | */ | ||
| 417 | if (at91_close) | ||
| 418 | at91_close(port); | ||
| 419 | } | ||
| 420 | |||
| 421 | /* | ||
| 422 | * Power / Clock management. | ||
| 423 | */ | ||
| 424 | static void at91_serial_pm(struct uart_port *port, unsigned int state, unsigned int oldstate) | ||
| 425 | { | ||
| 426 | switch (state) { | ||
| 427 | case 0: | ||
| 428 | /* | ||
| 429 | * Enable the peripheral clock for this serial port. | ||
| 430 | * This is called on uart_open() or a resume event. | ||
| 431 | */ | ||
| 432 | at91_sys_write(AT91_PMC_PCER, 1 << port->irq); | ||
| 433 | break; | ||
| 434 | case 3: | ||
| 435 | /* | ||
| 436 | * Disable the peripheral clock for this serial port. | ||
| 437 | * This is called on uart_close() or a suspend event. | ||
| 438 | */ | ||
| 439 | if (port->irq != AT91_ID_SYS) /* is this a shared clock? */ | ||
| 440 | at91_sys_write(AT91_PMC_PCDR, 1 << port->irq); | ||
| 441 | break; | ||
| 442 | default: | ||
| 443 | printk(KERN_ERR "at91_serial: unknown pm %d\n", state); | ||
| 444 | } | ||
| 445 | } | ||
| 446 | |||
| 447 | /* | ||
| 448 | * Change the port parameters | ||
| 449 | */ | ||
| 450 | static void at91_set_termios(struct uart_port *port, struct termios * termios, struct termios * old) | ||
| 451 | { | ||
| 452 | unsigned long flags; | ||
| 453 | unsigned int mode, imr, quot, baud; | ||
| 454 | |||
| 455 | baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/16); | ||
| 456 | quot = uart_get_divisor(port, baud); | ||
| 457 | |||
| 458 | /* Get current mode register */ | ||
| 459 | mode = UART_GET_MR(port) & ~(AT91_US_CHRL | AT91_US_NBSTOP | AT91_US_PAR); | ||
| 460 | |||
| 461 | /* byte size */ | ||
| 462 | switch (termios->c_cflag & CSIZE) { | ||
| 463 | case CS5: | ||
| 464 | mode |= AT91_US_CHRL_5; | ||
| 465 | break; | ||
| 466 | case CS6: | ||
| 467 | mode |= AT91_US_CHRL_6; | ||
| 468 | break; | ||
| 469 | case CS7: | ||
| 470 | mode |= AT91_US_CHRL_7; | ||
| 471 | break; | ||
| 472 | default: | ||
| 473 | mode |= AT91_US_CHRL_8; | ||
| 474 | break; | ||
| 475 | } | ||
| 476 | |||
| 477 | /* stop bits */ | ||
| 478 | if (termios->c_cflag & CSTOPB) | ||
| 479 | mode |= AT91_US_NBSTOP_2; | ||
| 480 | |||
| 481 | /* parity */ | ||
| 482 | if (termios->c_cflag & PARENB) { | ||
| 483 | if (termios->c_cflag & CMSPAR) { /* Mark or Space parity */ | ||
| 484 | if (termios->c_cflag & PARODD) | ||
| 485 | mode |= AT91_US_PAR_MARK; | ||
| 486 | else | ||
| 487 | mode |= AT91_US_PAR_SPACE; | ||
| 488 | } | ||
| 489 | else if (termios->c_cflag & PARODD) | ||
| 490 | mode |= AT91_US_PAR_ODD; | ||
| 491 | else | ||
| 492 | mode |= AT91_US_PAR_EVEN; | ||
| 493 | } | ||
| 494 | else | ||
| 495 | mode |= AT91_US_PAR_NONE; | ||
| 496 | |||
| 497 | spin_lock_irqsave(&port->lock, flags); | ||
| 498 | |||
| 499 | port->read_status_mask |= AT91_US_OVRE; | ||
| 500 | if (termios->c_iflag & INPCK) | ||
| 501 | port->read_status_mask |= AT91_US_FRAME | AT91_US_PARE; | ||
| 502 | if (termios->c_iflag & (BRKINT | PARMRK)) | ||
| 503 | port->read_status_mask |= AT91_US_RXBRK; | ||
| 504 | |||
| 505 | /* | ||
| 506 | * Characters to ignore | ||
| 507 | */ | ||
| 508 | port->ignore_status_mask = 0; | ||
| 509 | if (termios->c_iflag & IGNPAR) | ||
| 510 | port->ignore_status_mask |= (AT91_US_FRAME | AT91_US_PARE); | ||
| 511 | if (termios->c_iflag & IGNBRK) { | ||
| 512 | port->ignore_status_mask |= AT91_US_RXBRK; | ||
| 513 | /* | ||
| 514 | * If we're ignoring parity and break indicators, | ||
| 515 | * ignore overruns too (for real raw support). | ||
| 516 | */ | ||
| 517 | if (termios->c_iflag & IGNPAR) | ||
| 518 | port->ignore_status_mask |= AT91_US_OVRE; | ||
| 519 | } | ||
| 520 | |||
| 521 | // TODO: Ignore all characters if CREAD is set. | ||
| 522 | |||
| 523 | /* update the per-port timeout */ | ||
| 524 | uart_update_timeout(port, termios->c_cflag, baud); | ||
| 525 | |||
| 526 | /* disable interrupts and drain transmitter */ | ||
| 527 | imr = UART_GET_IMR(port); /* get interrupt mask */ | ||
| 528 | UART_PUT_IDR(port, -1); /* disable all interrupts */ | ||
| 529 | while (!(UART_GET_CSR(port) & AT91_US_TXEMPTY)) { barrier(); } | ||
| 530 | |||
| 531 | /* disable receiver and transmitter */ | ||
| 532 | UART_PUT_CR(port, AT91_US_TXDIS | AT91_US_RXDIS); | ||
| 533 | |||
| 534 | /* set the parity, stop bits and data size */ | ||
| 535 | UART_PUT_MR(port, mode); | ||
| 536 | |||
| 537 | /* set the baud rate */ | ||
| 538 | UART_PUT_BRGR(port, quot); | ||
| 539 | UART_PUT_CR(port, AT91_US_RSTSTA | AT91_US_RSTRX); | ||
| 540 | UART_PUT_CR(port, AT91_US_TXEN | AT91_US_RXEN); | ||
| 541 | |||
| 542 | /* restore interrupts */ | ||
| 543 | UART_PUT_IER(port, imr); | ||
| 544 | |||
| 545 | /* CTS flow-control and modem-status interrupts */ | ||
| 546 | if (UART_ENABLE_MS(port, termios->c_cflag)) | ||
| 547 | port->ops->enable_ms(port); | ||
| 548 | |||
| 549 | spin_unlock_irqrestore(&port->lock, flags); | ||
| 550 | } | ||
| 551 | |||
| 552 | /* | ||
| 553 | * Return string describing the specified port | ||
| 554 | */ | ||
| 555 | static const char *at91_type(struct uart_port *port) | ||
| 556 | { | ||
| 557 | return (port->type == PORT_AT91RM9200) ? "AT91_SERIAL" : NULL; | ||
| 558 | } | ||
| 559 | |||
| 560 | /* | ||
| 561 | * Release the memory region(s) being used by 'port'. | ||
| 562 | */ | ||
| 563 | static void at91_release_port(struct uart_port *port) | ||
| 564 | { | ||
| 565 | release_mem_region(port->mapbase, | ||
| 566 | (port->mapbase == AT91_VA_BASE_DBGU) ? 512 : SZ_16K); | ||
| 567 | } | ||
| 568 | |||
| 569 | /* | ||
| 570 | * Request the memory region(s) being used by 'port'. | ||
| 571 | */ | ||
| 572 | static int at91_request_port(struct uart_port *port) | ||
| 573 | { | ||
| 574 | return request_mem_region(port->mapbase, | ||
| 575 | (port->mapbase == AT91_VA_BASE_DBGU) ? 512 : SZ_16K, | ||
| 576 | "at91_serial") != NULL ? 0 : -EBUSY; | ||
| 577 | |||
| 578 | } | ||
| 579 | |||
| 580 | /* | ||
| 581 | * Configure/autoconfigure the port. | ||
| 582 | */ | ||
| 583 | static void at91_config_port(struct uart_port *port, int flags) | ||
| 584 | { | ||
| 585 | if (flags & UART_CONFIG_TYPE) { | ||
| 586 | port->type = PORT_AT91RM9200; | ||
| 587 | at91_request_port(port); | ||
| 588 | } | ||
| 589 | } | ||
| 590 | |||
| 591 | /* | ||
| 592 | * Verify the new serial_struct (for TIOCSSERIAL). | ||
| 593 | */ | ||
| 594 | static int at91_verify_port(struct uart_port *port, struct serial_struct *ser) | ||
| 595 | { | ||
| 596 | int ret = 0; | ||
| 597 | if (ser->type != PORT_UNKNOWN && ser->type != PORT_AT91RM9200) | ||
| 598 | ret = -EINVAL; | ||
| 599 | if (port->irq != ser->irq) | ||
| 600 | ret = -EINVAL; | ||
| 601 | if (ser->io_type != SERIAL_IO_MEM) | ||
| 602 | ret = -EINVAL; | ||
| 603 | if (port->uartclk / 16 != ser->baud_base) | ||
| 604 | ret = -EINVAL; | ||
| 605 | if ((void *)port->mapbase != ser->iomem_base) | ||
| 606 | ret = -EINVAL; | ||
| 607 | if (port->iobase != ser->port) | ||
| 608 | ret = -EINVAL; | ||
| 609 | if (ser->hub6 != 0) | ||
| 610 | ret = -EINVAL; | ||
| 611 | return ret; | ||
| 612 | } | ||
| 613 | |||
| 614 | static struct uart_ops at91_pops = { | ||
| 615 | .tx_empty = at91_tx_empty, | ||
| 616 | .set_mctrl = at91_set_mctrl, | ||
| 617 | .get_mctrl = at91_get_mctrl, | ||
| 618 | .stop_tx = at91_stop_tx, | ||
| 619 | .start_tx = at91_start_tx, | ||
| 620 | .stop_rx = at91_stop_rx, | ||
| 621 | .enable_ms = at91_enable_ms, | ||
| 622 | .break_ctl = at91_break_ctl, | ||
| 623 | .startup = at91_startup, | ||
| 624 | .shutdown = at91_shutdown, | ||
| 625 | .set_termios = at91_set_termios, | ||
| 626 | .type = at91_type, | ||
| 627 | .release_port = at91_release_port, | ||
| 628 | .request_port = at91_request_port, | ||
| 629 | .config_port = at91_config_port, | ||
| 630 | .verify_port = at91_verify_port, | ||
| 631 | .pm = at91_serial_pm, | ||
| 632 | }; | ||
| 633 | |||
| 634 | static struct uart_port at91_ports[AT91_NR_UART]; | ||
| 635 | |||
| 636 | void __init at91_init_ports(void) | ||
| 637 | { | ||
| 638 | static int first = 1; | ||
| 639 | int i; | ||
| 640 | |||
| 641 | if (!first) | ||
| 642 | return; | ||
| 643 | first = 0; | ||
| 644 | |||
| 645 | for (i = 0; i < AT91_NR_UART; i++) { | ||
| 646 | at91_ports[i].iotype = UPIO_MEM; | ||
| 647 | at91_ports[i].flags = UPF_BOOT_AUTOCONF; | ||
| 648 | at91_ports[i].uartclk = at91_master_clock; | ||
| 649 | at91_ports[i].ops = &at91_pops; | ||
| 650 | at91_ports[i].fifosize = 1; | ||
| 651 | at91_ports[i].line = i; | ||
| 652 | } | ||
| 653 | } | ||
| 654 | |||
| 655 | void __init at91_register_uart_fns(struct at91rm9200_port_fns *fns) | ||
| 656 | { | ||
| 657 | if (fns->enable_ms) | ||
| 658 | at91_pops.enable_ms = fns->enable_ms; | ||
| 659 | if (fns->get_mctrl) | ||
| 660 | at91_pops.get_mctrl = fns->get_mctrl; | ||
| 661 | if (fns->set_mctrl) | ||
| 662 | at91_pops.set_mctrl = fns->set_mctrl; | ||
| 663 | at91_open = fns->open; | ||
| 664 | at91_close = fns->close; | ||
| 665 | at91_pops.pm = fns->pm; | ||
| 666 | at91_pops.set_wake = fns->set_wake; | ||
| 667 | } | ||
| 668 | |||
| 669 | /* | ||
| 670 | * Setup ports. | ||
| 671 | */ | ||
| 672 | void __init at91_register_uart(int idx, int port) | ||
| 673 | { | ||
| 674 | if ((idx < 0) || (idx >= AT91_NR_UART)) { | ||
| 675 | printk(KERN_ERR "%s: bad index number %d\n", __FUNCTION__, idx); | ||
| 676 | return; | ||
| 677 | } | ||
| 678 | |||
| 679 | switch (port) { | ||
| 680 | case 0: | ||
| 681 | at91_ports[idx].membase = (void __iomem *) AT91_VA_BASE_US0; | ||
| 682 | at91_ports[idx].mapbase = AT91_VA_BASE_US0; | ||
| 683 | at91_ports[idx].irq = AT91_ID_US0; | ||
| 684 | AT91_CfgPIO_USART0(); | ||
| 685 | break; | ||
| 686 | case 1: | ||
| 687 | at91_ports[idx].membase = (void __iomem *) AT91_VA_BASE_US1; | ||
| 688 | at91_ports[idx].mapbase = AT91_VA_BASE_US1; | ||
| 689 | at91_ports[idx].irq = AT91_ID_US1; | ||
| 690 | AT91_CfgPIO_USART1(); | ||
| 691 | break; | ||
| 692 | case 2: | ||
| 693 | at91_ports[idx].membase = (void __iomem *) AT91_VA_BASE_US2; | ||
| 694 | at91_ports[idx].mapbase = AT91_VA_BASE_US2; | ||
| 695 | at91_ports[idx].irq = AT91_ID_US2; | ||
| 696 | AT91_CfgPIO_USART2(); | ||
| 697 | break; | ||
| 698 | case 3: | ||
| 699 | at91_ports[idx].membase = (void __iomem *) AT91_VA_BASE_US3; | ||
| 700 | at91_ports[idx].mapbase = AT91_VA_BASE_US3; | ||
| 701 | at91_ports[idx].irq = AT91_ID_US3; | ||
| 702 | AT91_CfgPIO_USART3(); | ||
| 703 | break; | ||
| 704 | case 4: | ||
| 705 | at91_ports[idx].membase = (void __iomem *) AT91_VA_BASE_DBGU; | ||
| 706 | at91_ports[idx].mapbase = AT91_VA_BASE_DBGU; | ||
| 707 | at91_ports[idx].irq = AT91_ID_SYS; | ||
| 708 | AT91_CfgPIO_DBGU(); | ||
| 709 | break; | ||
| 710 | default: | ||
| 711 | printk(KERN_ERR "%s : bad port number %d\n", __FUNCTION__, port); | ||
| 712 | } | ||
| 713 | } | ||
| 714 | |||
| 715 | #ifdef CONFIG_SERIAL_AT91_CONSOLE | ||
| 716 | |||
| 717 | /* | ||
| 718 | * Interrupts are disabled on entering | ||
| 719 | */ | ||
| 720 | static void at91_console_write(struct console *co, const char *s, u_int count) | ||
| 721 | { | ||
| 722 | struct uart_port *port = at91_ports + co->index; | ||
| 723 | unsigned int status, i, imr; | ||
| 724 | |||
| 725 | /* | ||
| 726 | * First, save IMR and then disable interrupts | ||
| 727 | */ | ||
| 728 | imr = UART_GET_IMR(port); /* get interrupt mask */ | ||
| 729 | UART_PUT_IDR(port, AT91_US_RXRDY | AT91_US_TXRDY); | ||
| 730 | |||
| 731 | /* | ||
| 732 | * Now, do each character | ||
| 733 | */ | ||
| 734 | for (i = 0; i < count; i++) { | ||
| 735 | do { | ||
| 736 | status = UART_GET_CSR(port); | ||
| 737 | } while (!(status & AT91_US_TXRDY)); | ||
| 738 | UART_PUT_CHAR(port, s[i]); | ||
| 739 | if (s[i] == '\n') { | ||
| 740 | do { | ||
| 741 | status = UART_GET_CSR(port); | ||
| 742 | } while (!(status & AT91_US_TXRDY)); | ||
| 743 | UART_PUT_CHAR(port, '\r'); | ||
| 744 | } | ||
| 745 | } | ||
| 746 | |||
| 747 | /* | ||
| 748 | * Finally, wait for transmitter to become empty | ||
| 749 | * and restore IMR | ||
| 750 | */ | ||
| 751 | do { | ||
| 752 | status = UART_GET_CSR(port); | ||
| 753 | } while (!(status & AT91_US_TXRDY)); | ||
| 754 | UART_PUT_IER(port, imr); /* set interrupts back the way they were */ | ||
| 755 | } | ||
| 756 | |||
| 757 | /* | ||
| 758 | * If the port was already initialised (eg, by a boot loader), try to determine | ||
| 759 | * the current setup. | ||
| 760 | */ | ||
| 761 | static void __init at91_console_get_options(struct uart_port *port, int *baud, int *parity, int *bits) | ||
| 762 | { | ||
| 763 | unsigned int mr, quot; | ||
| 764 | |||
| 765 | // TODO: CR is a write-only register | ||
| 766 | // unsigned int cr; | ||
| 767 | // | ||
| 768 | // cr = UART_GET_CR(port) & (AT91_US_RXEN | AT91_US_TXEN); | ||
| 769 | // if (cr == (AT91_US_RXEN | AT91_US_TXEN)) { | ||
| 770 | // /* ok, the port was enabled */ | ||
| 771 | // } | ||
| 772 | |||
| 773 | mr = UART_GET_MR(port) & AT91_US_CHRL; | ||
| 774 | if (mr == AT91_US_CHRL_8) | ||
| 775 | *bits = 8; | ||
| 776 | else | ||
| 777 | *bits = 7; | ||
| 778 | |||
| 779 | mr = UART_GET_MR(port) & AT91_US_PAR; | ||
| 780 | if (mr == AT91_US_PAR_EVEN) | ||
| 781 | *parity = 'e'; | ||
| 782 | else if (mr == AT91_US_PAR_ODD) | ||
| 783 | *parity = 'o'; | ||
| 784 | |||
| 785 | quot = UART_GET_BRGR(port); | ||
| 786 | *baud = port->uartclk / (16 * (quot)); | ||
| 787 | } | ||
| 788 | |||
| 789 | static int __init at91_console_setup(struct console *co, char *options) | ||
| 790 | { | ||
| 791 | struct uart_port *port; | ||
| 792 | int baud = 115200; | ||
| 793 | int bits = 8; | ||
| 794 | int parity = 'n'; | ||
| 795 | int flow = 'n'; | ||
| 796 | |||
| 797 | /* | ||
| 798 | * Check whether an invalid uart number has been specified, and | ||
| 799 | * if so, search for the first available port that does have | ||
| 800 | * console support. | ||
| 801 | */ | ||
| 802 | port = uart_get_console(at91_ports, AT91_NR_UART, co); | ||
| 803 | |||
| 804 | /* | ||
| 805 | * Enable the serial console, in-case bootloader did not do it. | ||
| 806 | */ | ||
| 807 | at91_sys_write(AT91_PMC_PCER, 1 << port->irq); /* enable clock */ | ||
| 808 | UART_PUT_IDR(port, -1); /* disable interrupts */ | ||
| 809 | UART_PUT_CR(port, AT91_US_RSTSTA | AT91_US_RSTRX); | ||
| 810 | UART_PUT_CR(port, AT91_US_TXEN | AT91_US_RXEN); | ||
| 811 | |||
| 812 | if (options) | ||
| 813 | uart_parse_options(options, &baud, &parity, &bits, &flow); | ||
| 814 | else | ||
| 815 | at91_console_get_options(port, &baud, &parity, &bits); | ||
| 816 | |||
| 817 | return uart_set_options(port, co, baud, parity, bits, flow); | ||
| 818 | } | ||
| 819 | |||
| 820 | static struct uart_driver at91_uart; | ||
| 821 | |||
| 822 | static struct console at91_console = { | ||
| 823 | .name = AT91_DEVICENAME, | ||
| 824 | .write = at91_console_write, | ||
| 825 | .device = uart_console_device, | ||
| 826 | .setup = at91_console_setup, | ||
| 827 | .flags = CON_PRINTBUFFER, | ||
| 828 | .index = -1, | ||
| 829 | .data = &at91_uart, | ||
| 830 | }; | ||
| 831 | |||
| 832 | #define AT91_CONSOLE_DEVICE &at91_console | ||
| 833 | |||
| 834 | static int __init at91_console_init(void) | ||
| 835 | { | ||
| 836 | at91_init_ports(); | ||
| 837 | |||
| 838 | at91_console.index = at91_console_port; | ||
| 839 | register_console(&at91_console); | ||
| 840 | return 0; | ||
| 841 | } | ||
| 842 | console_initcall(at91_console_init); | ||
| 843 | |||
| 844 | #else | ||
| 845 | #define AT91_CONSOLE_DEVICE NULL | ||
| 846 | #endif | ||
| 847 | |||
| 848 | static struct uart_driver at91_uart = { | ||
| 849 | .owner = THIS_MODULE, | ||
| 850 | .driver_name = AT91_DEVICENAME, | ||
| 851 | .dev_name = AT91_DEVICENAME, | ||
| 852 | .devfs_name = AT91_DEVICENAME, | ||
| 853 | .major = SERIAL_AT91_MAJOR, | ||
| 854 | .minor = MINOR_START, | ||
| 855 | .nr = AT91_NR_UART, | ||
| 856 | .cons = AT91_CONSOLE_DEVICE, | ||
| 857 | }; | ||
| 858 | |||
| 859 | static int __init at91_serial_init(void) | ||
| 860 | { | ||
| 861 | int ret, i; | ||
| 862 | |||
| 863 | at91_init_ports(); | ||
| 864 | |||
| 865 | ret = uart_register_driver(&at91_uart); | ||
| 866 | if (ret) | ||
| 867 | return ret; | ||
| 868 | |||
| 869 | for (i = 0; i < AT91_NR_UART; i++) { | ||
| 870 | if (at91_serial_map[i] >= 0) | ||
| 871 | uart_add_one_port(&at91_uart, &at91_ports[i]); | ||
| 872 | } | ||
| 873 | |||
| 874 | return 0; | ||
| 875 | } | ||
| 876 | |||
| 877 | static void __exit at91_serial_exit(void) | ||
| 878 | { | ||
| 879 | int i; | ||
| 880 | |||
| 881 | for (i = 0; i < AT91_NR_UART; i++) { | ||
| 882 | if (at91_serial_map[i] >= 0) | ||
| 883 | uart_remove_one_port(&at91_uart, &at91_ports[i]); | ||
| 884 | } | ||
| 885 | |||
| 886 | uart_unregister_driver(&at91_uart); | ||
| 887 | } | ||
| 888 | |||
| 889 | module_init(at91_serial_init); | ||
| 890 | module_exit(at91_serial_exit); | ||
| 891 | |||
| 892 | MODULE_AUTHOR("Rick Bronson"); | ||
| 893 | MODULE_DESCRIPTION("AT91 generic serial port driver"); | ||
| 894 | MODULE_LICENSE("GPL"); | ||
diff --git a/include/asm-arm/arch-at91rm9200/at91rm9200_pdc.h b/include/asm-arm/arch-at91rm9200/at91rm9200_pdc.h new file mode 100644 index 000000000000..ce1150d4438d --- /dev/null +++ b/include/asm-arm/arch-at91rm9200/at91rm9200_pdc.h | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | /* | ||
| 2 | * include/asm-arm/arch-at91rm9200/at91rm9200_pdc.h | ||
| 3 | * | ||
| 4 | * Copyright (C) 2005 Ivan Kokshaysky | ||
| 5 | * Copyright (C) SAN People | ||
| 6 | * | ||
| 7 | * Peripheral Data Controller (PDC) registers. | ||
| 8 | * Based on AT91RM9200 datasheet revision E. | ||
| 9 | * | ||
| 10 | * This program is free software; you can redistribute it and/or modify | ||
| 11 | * it under the terms of the GNU General Public License as published by | ||
| 12 | * the Free Software Foundation; either version 2 of the License, or | ||
| 13 | * (at your option) any later version. | ||
| 14 | */ | ||
| 15 | |||
| 16 | #ifndef AT91RM9200_PDC_H | ||
| 17 | #define AT91RM9200_PDC_H | ||
| 18 | |||
| 19 | #define AT91_PDC_RPR 0x100 /* Receive Pointer Register */ | ||
| 20 | #define AT91_PDC_RCR 0x104 /* Receive Counter Register */ | ||
| 21 | #define AT91_PDC_TPR 0x108 /* Transmit Pointer Register */ | ||
| 22 | #define AT91_PDC_TCR 0x10c /* Transmit Counter Register */ | ||
| 23 | #define AT91_PDC_RNPR 0x110 /* Receive Next Pointer Register */ | ||
| 24 | #define AT91_PDC_RNCR 0x114 /* Receive Next Counter Register */ | ||
| 25 | #define AT91_PDC_TNPR 0x118 /* Transmit Next Pointer Register */ | ||
| 26 | #define AT91_PDC_TNCR 0x11c /* Transmit Next Counter Register */ | ||
| 27 | |||
| 28 | #define AT91_PDC_PTCR 0x120 /* Transfer Control Register */ | ||
| 29 | #define AT91_PDC_RXTEN (1 << 0) /* Receiver Transfer Enable */ | ||
| 30 | #define AT91_PDC_RXTDIS (1 << 1) /* Receiver Transfer Disable */ | ||
| 31 | #define AT91_PDC_TXTEN (1 << 8) /* Transmitter Transfer Enable */ | ||
| 32 | #define AT91_PDC_TXTDIS (1 << 9) /* Transmitter Transfer Disable */ | ||
| 33 | |||
| 34 | #define AT91_PDC_PTSR 0x124 /* Transfer Status Register */ | ||
| 35 | |||
| 36 | #endif | ||
diff --git a/include/asm-arm/arch-at91rm9200/at91rm9200_usart.h b/include/asm-arm/arch-at91rm9200/at91rm9200_usart.h new file mode 100644 index 000000000000..79f851e31b9c --- /dev/null +++ b/include/asm-arm/arch-at91rm9200/at91rm9200_usart.h | |||
| @@ -0,0 +1,123 @@ | |||
| 1 | /* | ||
| 2 | * include/asm-arm/arch-at91rm9200/at91rm9200_usart.h | ||
| 3 | * | ||
| 4 | * Copyright (C) 2005 Ivan Kokshaysky | ||
| 5 | * Copyright (C) SAN People | ||
| 6 | * | ||
| 7 | * USART registers. | ||
| 8 | * Based on AT91RM9200 datasheet revision E. | ||
| 9 | * | ||
| 10 | * This program is free software; you can redistribute it and/or modify | ||
| 11 | * it under the terms of the GNU General Public License as published by | ||
| 12 | * the Free Software Foundation; either version 2 of the License, or | ||
| 13 | * (at your option) any later version. | ||
| 14 | */ | ||
| 15 | |||
| 16 | #ifndef AT91RM9200_USART_H | ||
| 17 | #define AT91RM9200_USART_H | ||
| 18 | |||
| 19 | #define AT91_US_CR 0x00 /* Control Register */ | ||
| 20 | #define AT91_US_RSTRX (1 << 2) /* Reset Receiver */ | ||
| 21 | #define AT91_US_RSTTX (1 << 3) /* Reset Transmitter */ | ||
| 22 | #define AT91_US_RXEN (1 << 4) /* Receiver Enable */ | ||
| 23 | #define AT91_US_RXDIS (1 << 5) /* Receiver Disable */ | ||
| 24 | #define AT91_US_TXEN (1 << 6) /* Transmitter Enable */ | ||
| 25 | #define AT91_US_TXDIS (1 << 7) /* Transmitter Disable */ | ||
| 26 | #define AT91_US_RSTSTA (1 << 8) /* Reset Status Bits */ | ||
| 27 | #define AT91_US_STTBRK (1 << 9) /* Start Break */ | ||
| 28 | #define AT91_US_STPBRK (1 << 10) /* Stop Break */ | ||
| 29 | #define AT91_US_STTTO (1 << 11) /* Start Time-out */ | ||
| 30 | #define AT91_US_SENDA (1 << 12) /* Send Address */ | ||
| 31 | #define AT91_US_RSTIT (1 << 13) /* Reset Iterations */ | ||
| 32 | #define AT91_US_RSTNACK (1 << 14) /* Reset Non Acknowledge */ | ||
| 33 | #define AT91_US_RETTO (1 << 15) /* Rearm Time-out */ | ||
| 34 | #define AT91_US_DTREN (1 << 16) /* Data Terminal Ready Enable */ | ||
| 35 | #define AT91_US_DTRDIS (1 << 17) /* Data Terminal Ready Disable */ | ||
| 36 | #define AT91_US_RTSEN (1 << 18) /* Request To Send Enable */ | ||
| 37 | #define AT91_US_RTSDIS (1 << 19) /* Request To Send Disable */ | ||
| 38 | |||
| 39 | #define AT91_US_MR 0x04 /* Mode Register */ | ||
| 40 | #define AT91_US_USMODE (0xf << 0) /* Mode of the USART */ | ||
| 41 | #define AT91_US_USMODE_NORMAL 0 | ||
| 42 | #define AT91_US_USMODE_RS485 1 | ||
| 43 | #define AT91_US_USMODE_HWHS 2 | ||
| 44 | #define AT91_US_USMODE_MODEM 3 | ||
| 45 | #define AT91_US_USMODE_ISO7816_T0 4 | ||
| 46 | #define AT91_US_USMODE_ISO7816_T1 6 | ||
| 47 | #define AT91_US_USMODE_IRDA 8 | ||
| 48 | #define AT91_US_USCLKS (3 << 4) /* Clock Selection */ | ||
| 49 | #define AT91_US_CHRL (3 << 6) /* Character Length */ | ||
| 50 | #define AT91_US_CHRL_5 (0 << 6) | ||
| 51 | #define AT91_US_CHRL_6 (1 << 6) | ||
| 52 | #define AT91_US_CHRL_7 (2 << 6) | ||
| 53 | #define AT91_US_CHRL_8 (3 << 6) | ||
| 54 | #define AT91_US_SYNC (1 << 8) /* Synchronous Mode Select */ | ||
| 55 | #define AT91_US_PAR (7 << 9) /* Parity Type */ | ||
| 56 | #define AT91_US_PAR_EVEN (0 << 9) | ||
| 57 | #define AT91_US_PAR_ODD (1 << 9) | ||
| 58 | #define AT91_US_PAR_SPACE (2 << 9) | ||
| 59 | #define AT91_US_PAR_MARK (3 << 9) | ||
| 60 | #define AT91_US_PAR_NONE (4 << 9) | ||
| 61 | #define AT91_US_PAR_MULTI_DROP (6 << 9) | ||
| 62 | #define AT91_US_NBSTOP (3 << 12) /* Number of Stop Bits */ | ||
| 63 | #define AT91_US_NBSTOP_1 (0 << 12) | ||
| 64 | #define AT91_US_NBSTOP_1_5 (1 << 12) | ||
| 65 | #define AT91_US_NBSTOP_2 (2 << 12) | ||
| 66 | #define AT91_US_CHMODE (3 << 14) /* Channel Mode */ | ||
| 67 | #define AT91_US_CHMODE_NORMAL (0 << 14) | ||
| 68 | #define AT91_US_CHMODE_ECHO (1 << 14) | ||
| 69 | #define AT91_US_CHMODE_LOC_LOOP (2 << 14) | ||
| 70 | #define AT91_US_CHMODE_REM_LOOP (3 << 14) | ||
| 71 | #define AT91_US_MSBF (1 << 16) /* Bit Order */ | ||
| 72 | #define AT91_US_MODE9 (1 << 17) /* 9-bit Character Length */ | ||
| 73 | #define AT91_US_CLKO (1 << 18) /* Clock Output Select */ | ||
| 74 | #define AT91_US_OVER (1 << 19) /* Oversampling Mode */ | ||
| 75 | #define AT91_US_INACK (1 << 20) /* Inhibit Non Acknowledge */ | ||
| 76 | #define AT91_US_DSNACK (1 << 21) /* Disable Successive NACK */ | ||
| 77 | #define AT91_US_MAX_ITER (7 << 24) /* Max Iterations */ | ||
| 78 | #define AT91_US_FILTER (1 << 28) /* Infrared Receive Line Filter */ | ||
| 79 | |||
| 80 | #define AT91_US_IER 0x08 /* Interrupt Enable Register */ | ||
| 81 | #define AT91_US_RXRDY (1 << 0) /* Receiver Ready */ | ||
| 82 | #define AT91_US_TXRDY (1 << 1) /* Transmitter Ready */ | ||
| 83 | #define AT91_US_RXBRK (1 << 2) /* Break Received / End of Break */ | ||
| 84 | #define AT91_US_ENDRX (1 << 3) /* End of Receiver Transfer */ | ||
| 85 | #define AT91_US_ENDTX (1 << 4) /* End of Transmitter Transfer */ | ||
| 86 | #define AT91_US_OVRE (1 << 5) /* Overrun Error */ | ||
| 87 | #define AT91_US_FRAME (1 << 6) /* Framing Error */ | ||
| 88 | #define AT91_US_PARE (1 << 7) /* Parity Error */ | ||
| 89 | #define AT91_US_TIMEOUT (1 << 8) /* Receiver Time-out */ | ||
| 90 | #define AT91_US_TXEMPTY (1 << 9) /* Transmitter Empty */ | ||
| 91 | #define AT91_US_ITERATION (1 << 10) /* Max number of Repetitions Reached */ | ||
| 92 | #define AT91_US_TXBUFE (1 << 11) /* Transmission Buffer Empty */ | ||
| 93 | #define AT91_US_RXBUFF (1 << 12) /* Reception Buffer Full */ | ||
| 94 | #define AT91_US_NACK (1 << 13) /* Non Acknowledge */ | ||
| 95 | #define AT91_US_RIIC (1 << 16) /* Ring Indicator Input Change */ | ||
| 96 | #define AT91_US_DSRIC (1 << 17) /* Data Set Ready Input Change */ | ||
| 97 | #define AT91_US_DCDIC (1 << 18) /* Data Carrier Detect Input Change */ | ||
| 98 | #define AT91_US_CTSIC (1 << 19) /* Clear to Send Input Change */ | ||
| 99 | #define AT91_US_RI (1 << 20) /* RI */ | ||
| 100 | #define AT91_US_DSR (1 << 21) /* DSR */ | ||
| 101 | #define AT91_US_DCD (1 << 22) /* DCD */ | ||
| 102 | #define AT91_US_CTS (1 << 23) /* CTS */ | ||
| 103 | |||
| 104 | #define AT91_US_IDR 0x0c /* Interrupt Disable Register */ | ||
| 105 | #define AT91_US_IMR 0x10 /* Interrupt Mask Register */ | ||
| 106 | #define AT91_US_CSR 0x14 /* Channel Status Register */ | ||
| 107 | #define AT91_US_RHR 0x18 /* Receiver Holding Register */ | ||
| 108 | #define AT91_US_THR 0x1c /* Transmitter Holding Register */ | ||
| 109 | |||
| 110 | #define AT91_US_BRGR 0x20 /* Baud Rate Generator Register */ | ||
| 111 | #define AT91_US_CD (0xffff << 0) /* Clock Divider */ | ||
| 112 | |||
| 113 | #define AT91_US_RTOR 0x24 /* Receiver Time-out Register */ | ||
| 114 | #define AT91_US_TO (0xffff << 0) /* Time-out Value */ | ||
| 115 | |||
| 116 | #define AT91_US_TTGR 0x28 /* Transmitter Timeguard Register */ | ||
| 117 | #define AT91_US_TG (0xff << 0) /* Timeguard Value */ | ||
| 118 | |||
| 119 | #define AT91_US_FIDI 0x40 /* FI DI Ratio Register */ | ||
| 120 | #define AT91_US_NER 0x44 /* Number of Errors Register */ | ||
| 121 | #define AT91_US_IF 0x4c /* IrDA Filter Register */ | ||
| 122 | |||
| 123 | #endif | ||
diff --git a/include/asm-arm/byteorder.h b/include/asm-arm/byteorder.h index 741f5bc5d016..17eaf8bdf092 100644 --- a/include/asm-arm/byteorder.h +++ b/include/asm-arm/byteorder.h | |||
| @@ -22,7 +22,16 @@ static inline __attribute_const__ __u32 ___arch__swab32(__u32 x) | |||
| 22 | { | 22 | { |
| 23 | __u32 t; | 23 | __u32 t; |
| 24 | 24 | ||
| 25 | t = x ^ ((x << 16) | (x >> 16)); /* eor r1,r0,r0,ror #16 */ | 25 | if (__builtin_constant_p(x)) { |
| 26 | t = x ^ ((x << 16) | (x >> 16)); /* eor r1,r0,r0,ror #16 */ | ||
| 27 | } else { | ||
| 28 | /* | ||
| 29 | * The compiler needs a bit of a hint here to always do the | ||
| 30 | * right thing and not screw it up to different degrees | ||
| 31 | * depending on the gcc version. | ||
| 32 | */ | ||
| 33 | asm ("eor\t%0, %1, %1, ror #16" : "=r" (t) : "r" (x)); | ||
| 34 | } | ||
| 26 | x = (x << 24) | (x >> 8); /* mov r0,r0,ror #8 */ | 35 | x = (x << 24) | (x >> 8); /* mov r0,r0,ror #8 */ |
| 27 | t &= ~0x00FF0000; /* bic r1,r1,#0x00FF0000 */ | 36 | t &= ~0x00FF0000; /* bic r1,r1,#0x00FF0000 */ |
| 28 | x ^= (t >> 8); /* eor r0,r0,r1,lsr #8 */ | 37 | x ^= (t >> 8); /* eor r0,r0,r1,lsr #8 */ |
diff --git a/include/asm-arm/mach/serial_at91rm9200.h b/include/asm-arm/mach/serial_at91rm9200.h new file mode 100644 index 000000000000..98f4b0cb883c --- /dev/null +++ b/include/asm-arm/mach/serial_at91rm9200.h | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | /* | ||
| 2 | * linux/include/asm-arm/mach/serial_at91rm9200.h | ||
| 3 | * | ||
| 4 | * Based on serial_sa1100.h by Nicolas Pitre | ||
| 5 | * | ||
| 6 | * Copyright (C) 2002 ATMEL Rousset | ||
| 7 | * | ||
| 8 | * Low level machine dependent UART functions. | ||
| 9 | */ | ||
| 10 | #include <linux/config.h> | ||
| 11 | |||
| 12 | struct uart_port; | ||
| 13 | |||
| 14 | /* | ||
| 15 | * This is a temporary structure for registering these | ||
| 16 | * functions; it is intended to be discarded after boot. | ||
| 17 | */ | ||
| 18 | struct at91rm9200_port_fns { | ||
| 19 | void (*set_mctrl)(struct uart_port *, u_int); | ||
| 20 | u_int (*get_mctrl)(struct uart_port *); | ||
| 21 | void (*enable_ms)(struct uart_port *); | ||
| 22 | void (*pm)(struct uart_port *, u_int, u_int); | ||
| 23 | int (*set_wake)(struct uart_port *, u_int); | ||
| 24 | int (*open)(struct uart_port *); | ||
| 25 | void (*close)(struct uart_port *); | ||
| 26 | }; | ||
| 27 | |||
| 28 | #if defined(CONFIG_SERIAL_AT91) | ||
| 29 | void at91_register_uart_fns(struct at91rm9200_port_fns *fns); | ||
| 30 | void at91_register_uart(int idx, int port); | ||
| 31 | #else | ||
| 32 | #define at91_register_uart_fns(fns) do { } while (0) | ||
| 33 | #define at91_register_uart(idx,port) do { } while (0) | ||
| 34 | #endif | ||
| 35 | |||
| 36 | |||
diff --git a/include/asm-arm/memory.h b/include/asm-arm/memory.h index 3d7f08bd9030..b4e1146ab682 100644 --- a/include/asm-arm/memory.h +++ b/include/asm-arm/memory.h | |||
| @@ -25,6 +25,7 @@ | |||
| 25 | #include <linux/config.h> | 25 | #include <linux/config.h> |
| 26 | #include <linux/compiler.h> | 26 | #include <linux/compiler.h> |
| 27 | #include <asm/arch/memory.h> | 27 | #include <asm/arch/memory.h> |
| 28 | #include <asm/sizes.h> | ||
| 28 | 29 | ||
| 29 | #ifndef TASK_SIZE | 30 | #ifndef TASK_SIZE |
| 30 | /* | 31 | /* |
| @@ -48,6 +49,14 @@ | |||
| 48 | #endif | 49 | #endif |
| 49 | 50 | ||
| 50 | /* | 51 | /* |
| 52 | * Size of DMA-consistent memory region. Must be multiple of 2M, | ||
| 53 | * between 2MB and 14MB inclusive. | ||
| 54 | */ | ||
| 55 | #ifndef CONSISTENT_DMA_SIZE | ||
| 56 | #define CONSISTENT_DMA_SIZE SZ_2M | ||
| 57 | #endif | ||
| 58 | |||
| 59 | /* | ||
| 51 | * Physical vs virtual RAM address space conversion. These are | 60 | * Physical vs virtual RAM address space conversion. These are |
| 52 | * private definitions which should NOT be used outside memory.h | 61 | * private definitions which should NOT be used outside memory.h |
| 53 | * files. Use virt_to_phys/phys_to_virt/__pa/__va instead. | 62 | * files. Use virt_to_phys/phys_to_virt/__pa/__va instead. |
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index e3710d7e260a..a8187c3c8a7b 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h | |||
| @@ -67,6 +67,9 @@ | |||
| 67 | /* Parisc type numbers. */ | 67 | /* Parisc type numbers. */ |
| 68 | #define PORT_MUX 48 | 68 | #define PORT_MUX 48 |
| 69 | 69 | ||
| 70 | /* Atmel AT91RM9200 SoC */ | ||
| 71 | #define PORT_AT91RM9200 49 | ||
| 72 | |||
| 70 | /* Macintosh Zilog type numbers */ | 73 | /* Macintosh Zilog type numbers */ |
| 71 | #define PORT_MAC_ZILOG 50 /* m68k : not yet implemented */ | 74 | #define PORT_MAC_ZILOG 50 /* m68k : not yet implemented */ |
| 72 | #define PORT_PMAC_ZILOG 51 | 75 | #define PORT_PMAC_ZILOG 51 |
