Merge master.kernel.org:/home/rmk/linux-2.6-arm

+6114 -135
+25 -21
arch/arm/boot/compressed/head.S
··· 84 kputc #'\n' 85 kphex r5, 8 /* decompressed kernel start */ 86 kputc #'-' 87 - kphex r8, 8 /* decompressed kernel end */ 88 kputc #'>' 89 kphex r4, 8 /* kernel execution address */ 90 kputc #'\n' ··· 116 .word start @ absolute load/run zImage address 117 .word _edata @ zImage end address 118 1: mov r7, r1 @ save architecture ID 119 - mov r8, #0 @ save r0 120 121 #ifndef __ARM_ARCH_2__ 122 /* ··· 144 145 /* 146 * some architecture specific code can be inserted 147 - * by the linker here, but it should preserve r7 and r8. 148 */ 149 150 .text ··· 249 * r5 = decompressed kernel start 250 * r6 = processor ID 251 * r7 = architecture ID 252 - * r8-r14 = unused 253 */ 254 add r1, r5, r0 @ end of decompressed kernel 255 adr r2, reloc_start 256 ldr r3, LC1 257 add r3, r2, r3 258 - 1: ldmia r2!, {r8 - r13} @ copy relocation code 259 - stmia r1!, {r8 - r13} 260 - ldmia r2!, {r8 - r13} 261 - stmia r1!, {r8 - r13} 262 cmp r2, r3 263 blo 1b 264 ··· 309 * r4 = kernel execution address 310 * r6 = processor ID 311 * r7 = architecture number 312 - * r8 = run-time address of "start" 313 * On exit, 314 - * r1, r2, r3, r8, r9, r12 corrupted 315 * This routine must preserve: 316 - * r4, r5, r6, r7 317 */ 318 .align 5 319 cache_on: mov r3, #8 @ cache_on function ··· 328 * bits for the RAM area only. 329 */ 330 mov r0, r3 331 - mov r8, r0, lsr #18 332 - mov r8, r8, lsl #18 @ start of RAM 333 - add r9, r8, #0x10000000 @ a reasonable RAM size 334 mov r1, #0x12 335 orr r1, r1, #3 << 10 336 add r2, r3, #16384 337 1: cmp r1, r8 @ if virt > start of RAM 338 orrhs r1, r1, #0x0c @ set cacheable, bufferable 339 - cmp r1, r9 @ if virt > end of RAM 340 bichs r1, r1, #0x0c @ clear cacheable, bufferable 341 str r1, [r0], #4 @ 1:1 mapping 342 add r1, r1, #1048576 ··· 405 * r5 = decompressed kernel start 406 * r6 = processor ID 407 * r7 = architecture ID 408 - * r8-r14 = unused 409 */ 410 .align 5 411 - reloc_start: add r8, r5, r0 412 debug_reloc_start 413 mov r1, r4 414 1: 415 .rept 4 416 - ldmia r5!, {r0, r2, r3, r9 - r13} @ relocate kernel 417 - stmia r1!, {r0, r2, r3, r9 - r13} 418 .endr 419 420 - cmp r5, r8 421 blo 1b 422 debug_reloc_end 423 424 call_kernel: bl cache_clean_flush 425 bl cache_off 426 - mov r0, #0 427 mov r1, r7 @ restore architecture number 428 mov pc, r4 @ call kernel 429 430 /*
··· 84 kputc #'\n' 85 kphex r5, 8 /* decompressed kernel start */ 86 kputc #'-' 87 + kphex r9, 8 /* decompressed kernel end */ 88 kputc #'>' 89 kphex r4, 8 /* kernel execution address */ 90 kputc #'\n' ··· 116 .word start @ absolute load/run zImage address 117 .word _edata @ zImage end address 118 1: mov r7, r1 @ save architecture ID 119 + mov r8, r2 @ save atags pointer 120 121 #ifndef __ARM_ARCH_2__ 122 /* ··· 144 145 /* 146 * some architecture specific code can be inserted 147 + * by the linker here, but it should preserve r7, r8, and r9. 148 */ 149 150 .text ··· 249 * r5 = decompressed kernel start 250 * r6 = processor ID 251 * r7 = architecture ID 252 + * r8 = atags pointer 253 + * r9-r14 = corrupted 254 */ 255 add r1, r5, r0 @ end of decompressed kernel 256 adr r2, reloc_start 257 ldr r3, LC1 258 add r3, r2, r3 259 + 1: ldmia r2!, {r9 - r14} @ copy relocation code 260 + stmia r1!, {r9 - r14} 261 + ldmia r2!, {r9 - r14} 262 + stmia r1!, {r9 - r14} 263 cmp r2, r3 264 blo 1b 265 ··· 308 * r4 = kernel execution address 309 * r6 = processor ID 310 * r7 = architecture number 311 + * r8 = atags pointer 312 + * r9 = run-time address of "start" (???) 313 * On exit, 314 + * r1, r2, r3, r9, r10, r12 corrupted 315 * This routine must preserve: 316 + * r4, r5, r6, r7, r8 317 */ 318 .align 5 319 cache_on: mov r3, #8 @ cache_on function ··· 326 * bits for the RAM area only. 327 */ 328 mov r0, r3 329 + mov r9, r0, lsr #18 330 + mov r9, r9, lsl #18 @ start of RAM 331 + add r10, r9, #0x10000000 @ a reasonable RAM size 332 mov r1, #0x12 333 orr r1, r1, #3 << 10 334 add r2, r3, #16384 335 1: cmp r1, r8 @ if virt > start of RAM 336 orrhs r1, r1, #0x0c @ set cacheable, bufferable 337 + cmp r1, r10 @ if virt > end of RAM 338 bichs r1, r1, #0x0c @ clear cacheable, bufferable 339 str r1, [r0], #4 @ 1:1 mapping 340 add r1, r1, #1048576 ··· 403 * r5 = decompressed kernel start 404 * r6 = processor ID 405 * r7 = architecture ID 406 + * r8 = atags pointer 407 + * r9-r14 = corrupted 408 */ 409 .align 5 410 + reloc_start: add r9, r5, r0 411 debug_reloc_start 412 mov r1, r4 413 1: 414 .rept 4 415 + ldmia r5!, {r0, r2, r3, r10 - r14} @ relocate kernel 416 + stmia r1!, {r0, r2, r3, r10 - r14} 417 .endr 418 419 + cmp r5, r9 420 blo 1b 421 debug_reloc_end 422 423 call_kernel: bl cache_clean_flush 424 bl cache_off 425 + mov r0, #0 @ must be zero 426 mov r1, r7 @ restore architecture number 427 + mov r2, r8 @ restore atags pointer 428 mov pc, r4 @ call kernel 429 430 /*
+8 -7
arch/arm/common/rtctime.c
··· 19 #include <linux/spinlock.h> 20 #include <linux/capability.h> 21 #include <linux/device.h> 22 23 #include <asm/rtc.h> 24 #include <asm/semaphore.h> ··· 36 /* 37 * rtc_sem protects rtc_inuse and rtc_ops 38 */ 39 - static DECLARE_MUTEX(rtc_sem); 40 static unsigned long rtc_inuse; 41 static struct rtc_ops *rtc_ops; 42 ··· 357 { 358 int ret; 359 360 - down(&rtc_sem); 361 362 if (rtc_inuse) { 363 ret = -EBUSY; ··· 375 rtc_inuse = 1; 376 } 377 } 378 - up(&rtc_sem); 379 380 return ret; 381 } ··· 481 { 482 int ret = -EBUSY; 483 484 - down(&rtc_sem); 485 if (rtc_ops == NULL) { 486 rtc_ops = ops; 487 ··· 490 create_proc_read_entry("driver/rtc", 0, NULL, 491 rtc_read_proc, ops); 492 } 493 - up(&rtc_sem); 494 495 return ret; 496 } ··· 498 499 void unregister_rtc(struct rtc_ops *rtc) 500 { 501 - down(&rtc_sem); 502 if (rtc == rtc_ops) { 503 remove_proc_entry("driver/rtc", NULL); 504 misc_deregister(&rtc_miscdev); 505 rtc_ops = NULL; 506 } 507 - up(&rtc_sem); 508 } 509 EXPORT_SYMBOL(unregister_rtc);
··· 19 #include <linux/spinlock.h> 20 #include <linux/capability.h> 21 #include <linux/device.h> 22 + #include <linux/mutex.h> 23 24 #include <asm/rtc.h> 25 #include <asm/semaphore.h> ··· 35 /* 36 * rtc_sem protects rtc_inuse and rtc_ops 37 */ 38 + static DEFINE_MUTEX(rtc_mutex); 39 static unsigned long rtc_inuse; 40 static struct rtc_ops *rtc_ops; 41 ··· 356 { 357 int ret; 358 359 + mutex_lock(&rtc_mutex); 360 361 if (rtc_inuse) { 362 ret = -EBUSY; ··· 374 rtc_inuse = 1; 375 } 376 } 377 + mutex_unlock(&rtc_mutex); 378 379 return ret; 380 } ··· 480 { 481 int ret = -EBUSY; 482 483 + mutex_lock(&rtc_mutex); 484 if (rtc_ops == NULL) { 485 rtc_ops = ops; 486 ··· 489 create_proc_read_entry("driver/rtc", 0, NULL, 490 rtc_read_proc, ops); 491 } 492 + mutex_unlock(&rtc_mutex); 493 494 return ret; 495 } ··· 497 498 void unregister_rtc(struct rtc_ops *rtc) 499 { 500 + mutex_lock(&rtc_mutex); 501 if (rtc == rtc_ops) { 502 remove_proc_entry("driver/rtc", NULL); 503 misc_deregister(&rtc_miscdev); 504 rtc_ops = NULL; 505 } 506 + mutex_unlock(&rtc_mutex); 507 } 508 EXPORT_SYMBOL(unregister_rtc);
+1009
arch/arm/configs/at91rm9200dk_defconfig
···
··· 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
+998
arch/arm/configs/at91rm9200ek_defconfig
···
··· 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
+1136
arch/arm/configs/csb337_defconfig
···
··· 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
+1116
arch/arm/configs/csb637_defconfig
···
··· 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
+4 -3
arch/arm/kernel/ecard.c
··· 40 #include <linux/proc_fs.h> 41 #include <linux/device.h> 42 #include <linux/init.h> 43 44 #include <asm/dma.h> 45 #include <asm/ecard.h> ··· 207 208 static DECLARE_WAIT_QUEUE_HEAD(ecard_wait); 209 static struct ecard_request *ecard_req; 210 - static DECLARE_MUTEX(ecard_sem); 211 212 /* 213 * Set up the expansion card daemon's page tables. ··· 300 301 req->complete = &completion; 302 303 - down(&ecard_sem); 304 ecard_req = req; 305 wake_up(&ecard_wait); 306 ··· 308 * Now wait for kecardd to run. 309 */ 310 wait_for_completion(&completion); 311 - up(&ecard_sem); 312 } 313 314 /* ======================= Mid-level card control ===================== */
··· 40 #include <linux/proc_fs.h> 41 #include <linux/device.h> 42 #include <linux/init.h> 43 + #include <linux/mutex.h> 44 45 #include <asm/dma.h> 46 #include <asm/ecard.h> ··· 206 207 static DECLARE_WAIT_QUEUE_HEAD(ecard_wait); 208 static struct ecard_request *ecard_req; 209 + static DEFINE_MUTEX(ecard_mutex); 210 211 /* 212 * Set up the expansion card daemon's page tables. ··· 299 300 req->complete = &completion; 301 302 + mutex_lock(&ecard_mutex); 303 ecard_req = req; 304 wake_up(&ecard_wait); 305 ··· 307 * Now wait for kecardd to run. 308 */ 309 wait_for_completion(&completion); 310 + mutex_unlock(&ecard_mutex); 311 } 312 313 /* ======================= Mid-level card control ===================== */
+2 -2
arch/arm/kernel/fiq.c
··· 101 ldmia %1, {r8 - r14}\n\ 102 msr cpsr_c, %0 @ return to SVC mode\n\ 103 mov r0, r0\n\ 104 - ldmea fp, {fp, sp, pc}" 105 : "=&r" (tmp) 106 : "r" (&regs->ARM_r8), "I" (PSR_I_BIT | PSR_F_BIT | FIQ_MODE)); 107 } ··· 119 stmia %1, {r8 - r14}\n\ 120 msr cpsr_c, %0 @ return to SVC mode\n\ 121 mov r0, r0\n\ 122 - ldmea fp, {fp, sp, pc}" 123 : "=&r" (tmp) 124 : "r" (&regs->ARM_r8), "I" (PSR_I_BIT | PSR_F_BIT | FIQ_MODE)); 125 }
··· 101 ldmia %1, {r8 - r14}\n\ 102 msr cpsr_c, %0 @ return to SVC mode\n\ 103 mov r0, r0\n\ 104 + ldmfd sp, {fp, sp, pc}" 105 : "=&r" (tmp) 106 : "r" (&regs->ARM_r8), "I" (PSR_I_BIT | PSR_F_BIT | FIQ_MODE)); 107 } ··· 119 stmia %1, {r8 - r14}\n\ 120 msr cpsr_c, %0 @ return to SVC mode\n\ 121 mov r0, r0\n\ 122 + ldmfd sp, {fp, sp, pc}" 123 : "=&r" (tmp) 124 : "r" (&regs->ARM_r8), "I" (PSR_I_BIT | PSR_F_BIT | FIQ_MODE)); 125 }
+9 -6
arch/arm/kernel/setup.c
··· 205 "5TE", 206 "5TEJ", 207 "6TEJ", 208 - "?(10)", 209 "?(11)", 210 "?(12)", 211 "?(13)", ··· 258 { 259 int cpu_arch; 260 261 - if ((processor_id & 0x0000f000) == 0) { 262 cpu_arch = CPU_ARCH_UNKNOWN; 263 - } else if ((processor_id & 0x0000f000) == 0x00007000) { 264 cpu_arch = (processor_id & (1 << 23)) ? CPU_ARCH_ARMv4T : CPU_ARCH_ARMv3; 265 - } else { 266 cpu_arch = (processor_id >> 16) & 7; 267 if (cpu_arch) 268 cpu_arch += CPU_ARCH_ARMv3; 269 } 270 271 return cpu_arch; ··· 866 seq_printf(m, "\nCPU implementer\t: 0x%02x\n", processor_id >> 24); 867 seq_printf(m, "CPU architecture: %s\n", proc_arch[cpu_architecture()]); 868 869 - if ((processor_id & 0x0000f000) == 0x00000000) { 870 /* pre-ARM7 */ 871 seq_printf(m, "CPU part\t\t: %07x\n", processor_id >> 4); 872 } else { 873 - if ((processor_id & 0x0000f000) == 0x00007000) { 874 /* ARM7 */ 875 seq_printf(m, "CPU variant\t: 0x%02x\n", 876 (processor_id >> 16) & 127);
··· 205 "5TE", 206 "5TEJ", 207 "6TEJ", 208 + "7", 209 "?(11)", 210 "?(12)", 211 "?(13)", ··· 258 { 259 int cpu_arch; 260 261 + if ((processor_id & 0x0008f000) == 0) { 262 cpu_arch = CPU_ARCH_UNKNOWN; 263 + } else if ((processor_id & 0x0008f000) == 0x00007000) { 264 cpu_arch = (processor_id & (1 << 23)) ? CPU_ARCH_ARMv4T : CPU_ARCH_ARMv3; 265 + } else if ((processor_id & 0x00080000) == 0x00000000) { 266 cpu_arch = (processor_id >> 16) & 7; 267 if (cpu_arch) 268 cpu_arch += CPU_ARCH_ARMv3; 269 + } else { 270 + /* the revised CPUID */ 271 + cpu_arch = ((processor_id >> 12) & 0xf) - 0xb + CPU_ARCH_ARMv6; 272 } 273 274 return cpu_arch; ··· 863 seq_printf(m, "\nCPU implementer\t: 0x%02x\n", processor_id >> 24); 864 seq_printf(m, "CPU architecture: %s\n", proc_arch[cpu_architecture()]); 865 866 + if ((processor_id & 0x0008f000) == 0x00000000) { 867 /* pre-ARM7 */ 868 seq_printf(m, "CPU part\t\t: %07x\n", processor_id >> 4); 869 } else { 870 + if ((processor_id & 0x0008f000) == 0x00007000) { 871 /* ARM7 */ 872 seq_printf(m, "CPU variant\t: 0x%02x\n", 873 (processor_id >> 16) & 127);
+4 -2
arch/arm/lib/csumpartialcopy.S
··· 18 */ 19 20 .macro save_regs 21 stmfd sp!, {r1, r4 - r8, fp, ip, lr, pc} 22 .endm 23 24 - .macro load_regs,flags 25 - LOADREGS(\flags,fp,{r1, r4 - r8, fp, sp, pc}) 26 .endm 27 28 .macro load1b, reg1
··· 18 */ 19 20 .macro save_regs 21 + mov ip, sp 22 stmfd sp!, {r1, r4 - r8, fp, ip, lr, pc} 23 + sub fp, ip, #4 24 .endm 25 26 + .macro load_regs 27 + ldmfd sp, {r1, r4 - r8, fp, sp, pc} 28 .endm 29 30 .macro load1b, reg1
+2 -4
arch/arm/lib/csumpartialcopygeneric.S
··· 23 sum .req r3 24 25 .Lzero: mov r0, sum 26 - load_regs ea 27 28 /* 29 * Align an unaligned destination pointer. We know that ··· 87 b .Ldone 88 89 FN_ENTRY 90 - mov ip, sp 91 save_regs 92 - sub fp, ip, #4 93 94 cmp len, #8 @ Ensure that we have at least 95 blo .Lless8 @ 8 bytes to copy. ··· 161 ldr sum, [sp, #0] @ dst 162 tst sum, #1 163 movne r0, r0, ror #8 164 - load_regs ea 165 166 .Lsrc_not_aligned: 167 adc sum, sum, #0 @ include C from dst alignment
··· 23 sum .req r3 24 25 .Lzero: mov r0, sum 26 + load_regs 27 28 /* 29 * Align an unaligned destination pointer. We know that ··· 87 b .Ldone 88 89 FN_ENTRY 90 save_regs 91 92 cmp len, #8 @ Ensure that we have at least 93 blo .Lless8 @ 8 bytes to copy. ··· 163 ldr sum, [sp, #0] @ dst 164 tst sum, #1 165 movne r0, r0, ror #8 166 + load_regs 167 168 .Lsrc_not_aligned: 169 adc sum, sum, #0 @ include C from dst alignment
+5 -3
arch/arm/lib/csumpartialcopyuser.S
··· 18 .text 19 20 .macro save_regs 21 stmfd sp!, {r1 - r2, r4 - r8, fp, ip, lr, pc} 22 .endm 23 24 - .macro load_regs,flags 25 - ldm\flags fp, {r1, r2, r4-r8, fp, sp, pc} 26 .endm 27 28 .macro load1b, reg1 ··· 102 6002: teq r2, r1 103 strneb r0, [r1], #1 104 bne 6002b 105 - load_regs ea 106 .previous
··· 18 .text 19 20 .macro save_regs 21 + mov ip, sp 22 stmfd sp!, {r1 - r2, r4 - r8, fp, ip, lr, pc} 23 + sub fp, ip, #4 24 .endm 25 26 + .macro load_regs 27 + ldmfd sp, {r1, r2, r4-r8, fp, sp, pc} 28 .endm 29 30 .macro load1b, reg1 ··· 100 6002: teq r2, r1 101 strneb r0, [r1], #1 102 bne 6002b 103 + load_regs 104 .previous
+8 -7
arch/arm/mach-aaec2000/clock.c
··· 16 #include <linux/err.h> 17 #include <linux/string.h> 18 #include <linux/clk.h> 19 20 #include <asm/semaphore.h> 21 22 #include "clock.h" 23 24 static LIST_HEAD(clocks); 25 - static DECLARE_MUTEX(clocks_sem); 26 27 struct clk *clk_get(struct device *dev, const char *id) 28 { 29 struct clk *p, *clk = ERR_PTR(-ENOENT); 30 31 - down(&clocks_sem); 32 list_for_each_entry(p, &clocks, node) { 33 if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { 34 clk = p; 35 break; 36 } 37 } 38 - up(&clocks_sem); 39 40 return clk; 41 } ··· 79 80 int clk_register(struct clk *clk) 81 { 82 - down(&clocks_sem); 83 list_add(&clk->node, &clocks); 84 - up(&clocks_sem); 85 return 0; 86 } 87 EXPORT_SYMBOL(clk_register); 88 89 void clk_unregister(struct clk *clk) 90 { 91 - down(&clocks_sem); 92 list_del(&clk->node); 93 - up(&clocks_sem); 94 } 95 EXPORT_SYMBOL(clk_unregister); 96
··· 16 #include <linux/err.h> 17 #include <linux/string.h> 18 #include <linux/clk.h> 19 + #include <linux/mutex.h> 20 21 #include <asm/semaphore.h> 22 23 #include "clock.h" 24 25 static LIST_HEAD(clocks); 26 + static DEFINE_MUTEX(clocks_mutex); 27 28 struct clk *clk_get(struct device *dev, const char *id) 29 { 30 struct clk *p, *clk = ERR_PTR(-ENOENT); 31 32 + mutex_lock(&clocks_mutex); 33 list_for_each_entry(p, &clocks, node) { 34 if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { 35 clk = p; 36 break; 37 } 38 } 39 + mutex_unlock(&clocks_mutex); 40 41 return clk; 42 } ··· 78 79 int clk_register(struct clk *clk) 80 { 81 + mutex_lock(&clocks_mutex); 82 list_add(&clk->node, &clocks); 83 + mutex_unlock(&clocks_mutex); 84 return 0; 85 } 86 EXPORT_SYMBOL(clk_register); 87 88 void clk_unregister(struct clk *clk) 89 { 90 + mutex_lock(&clocks_mutex); 91 list_del(&clk->node); 92 + mutex_unlock(&clocks_mutex); 93 } 94 EXPORT_SYMBOL(clk_unregister); 95
+4 -4
arch/arm/mach-at91rm9200/Makefile
··· 8 obj- := 9 10 # Board-specific support 11 - #obj-$(CONFIG_ARCH_AT91RM9200DK) += board-dk.o 12 - #obj-$(CONFIG_MACH_AT91RM9200EK) += board-ek.o 13 - #obj-$(CONFIG_MACH_CSB337) += board-csb337.o 14 - #obj-$(CONFIG_MACH_CSB637) += board-csb637.o 15 #obj-$(CONFIG_MACH_CARMEVA) += board-carmeva.o 16 #obj-$(CONFIG_MACH_KB9200) += board-kb9202.o 17
··· 8 obj- := 9 10 # Board-specific support 11 + obj-$(CONFIG_ARCH_AT91RM9200DK) += board-dk.o 12 + obj-$(CONFIG_MACH_AT91RM9200EK) += board-ek.o 13 + obj-$(CONFIG_MACH_CSB337) += board-csb337.o 14 + obj-$(CONFIG_MACH_CSB637) += board-csb637.o 15 #obj-$(CONFIG_MACH_CARMEVA) += board-carmeva.o 16 #obj-$(CONFIG_MACH_KB9200) += board-kb9202.o 17
+143
arch/arm/mach-at91rm9200/board-csb337.c
···
··· 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
+116
arch/arm/mach-at91rm9200/board-csb637.c
···
··· 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
+138
arch/arm/mach-at91rm9200/board-dk.c
···
··· 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
+131
arch/arm/mach-at91rm9200/board-ek.c
···
··· 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
+8 -7
arch/arm/mach-integrator/clock.c
··· 15 #include <linux/err.h> 16 #include <linux/string.h> 17 #include <linux/clk.h> 18 19 #include <asm/semaphore.h> 20 #include <asm/hardware/icst525.h> ··· 23 #include "clock.h" 24 25 static LIST_HEAD(clocks); 26 - static DECLARE_MUTEX(clocks_sem); 27 28 struct clk *clk_get(struct device *dev, const char *id) 29 { 30 struct clk *p, *clk = ERR_PTR(-ENOENT); 31 32 - down(&clocks_sem); 33 list_for_each_entry(p, &clocks, node) { 34 if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { 35 clk = p; 36 break; 37 } 38 } 39 - up(&clocks_sem); 40 41 return clk; 42 } ··· 108 109 int clk_register(struct clk *clk) 110 { 111 - down(&clocks_sem); 112 list_add(&clk->node, &clocks); 113 - up(&clocks_sem); 114 return 0; 115 } 116 EXPORT_SYMBOL(clk_register); 117 118 void clk_unregister(struct clk *clk) 119 { 120 - down(&clocks_sem); 121 list_del(&clk->node); 122 - up(&clocks_sem); 123 } 124 EXPORT_SYMBOL(clk_unregister); 125
··· 15 #include <linux/err.h> 16 #include <linux/string.h> 17 #include <linux/clk.h> 18 + #include <linux/mutex.h> 19 20 #include <asm/semaphore.h> 21 #include <asm/hardware/icst525.h> ··· 22 #include "clock.h" 23 24 static LIST_HEAD(clocks); 25 + static DEFINE_MUTEX(clocks_mutex); 26 27 struct clk *clk_get(struct device *dev, const char *id) 28 { 29 struct clk *p, *clk = ERR_PTR(-ENOENT); 30 31 + mutex_lock(&clocks_mutex); 32 list_for_each_entry(p, &clocks, node) { 33 if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { 34 clk = p; 35 break; 36 } 37 } 38 + mutex_unlock(&clocks_mutex); 39 40 return clk; 41 } ··· 107 108 int clk_register(struct clk *clk) 109 { 110 + mutex_lock(&clocks_mutex); 111 list_add(&clk->node, &clocks); 112 + mutex_unlock(&clocks_mutex); 113 return 0; 114 } 115 EXPORT_SYMBOL(clk_register); 116 117 void clk_unregister(struct clk *clk) 118 { 119 + mutex_lock(&clocks_mutex); 120 list_del(&clk->node); 121 + mutex_unlock(&clocks_mutex); 122 } 123 EXPORT_SYMBOL(clk_unregister); 124
+9 -8
arch/arm/mach-pxa/ssp.c
··· 31 #include <linux/interrupt.h> 32 #include <linux/ioport.h> 33 #include <linux/init.h> 34 #include <asm/io.h> 35 #include <asm/irq.h> 36 #include <asm/hardware.h> ··· 60 #endif 61 }; 62 63 - static DECLARE_MUTEX(sem); 64 static int use_count[PXA_SSP_PORTS] = {0, 0, 0}; 65 66 static irqreturn_t ssp_interrupt(int irq, void *dev_id, struct pt_regs *regs) ··· 240 if (port > PXA_SSP_PORTS || port == 0) 241 return -ENODEV; 242 243 - down(&sem); 244 if (use_count[port - 1]) { 245 - up(&sem); 246 return -EBUSY; 247 } 248 use_count[port - 1]++; 249 250 if (!request_mem_region(__PREG(SSCR0_P(port)), 0x2c, "SSP")) { 251 use_count[port - 1]--; 252 - up(&sem); 253 return -EBUSY; 254 } 255 dev->port = port; ··· 266 267 /* turn on SSP port clock */ 268 pxa_set_cken(ssp_info[port-1].clock, 1); 269 - up(&sem); 270 return 0; 271 272 out_region: 273 release_mem_region(__PREG(SSCR0_P(port)), 0x2c); 274 use_count[port - 1]--; 275 - up(&sem); 276 return ret; 277 } 278 ··· 283 */ 284 void ssp_exit(struct ssp_dev *dev) 285 { 286 - down(&sem); 287 SSCR0_P(dev->port) &= ~SSCR0_SSE; 288 289 if (dev->port > PXA_SSP_PORTS || dev->port == 0) { ··· 296 free_irq(dev->irq, dev); 297 release_mem_region(__PREG(SSCR0_P(dev->port)), 0x2c); 298 use_count[dev->port - 1]--; 299 - up(&sem); 300 } 301 302 EXPORT_SYMBOL(ssp_write_word);
··· 31 #include <linux/interrupt.h> 32 #include <linux/ioport.h> 33 #include <linux/init.h> 34 + #include <linux/mutex.h> 35 #include <asm/io.h> 36 #include <asm/irq.h> 37 #include <asm/hardware.h> ··· 59 #endif 60 }; 61 62 + static DEFINE_MUTEX(mutex); 63 static int use_count[PXA_SSP_PORTS] = {0, 0, 0}; 64 65 static irqreturn_t ssp_interrupt(int irq, void *dev_id, struct pt_regs *regs) ··· 239 if (port > PXA_SSP_PORTS || port == 0) 240 return -ENODEV; 241 242 + mutex_lock(&mutex); 243 if (use_count[port - 1]) { 244 + mutex_unlock(&mutex); 245 return -EBUSY; 246 } 247 use_count[port - 1]++; 248 249 if (!request_mem_region(__PREG(SSCR0_P(port)), 0x2c, "SSP")) { 250 use_count[port - 1]--; 251 + mutex_unlock(&mutex); 252 return -EBUSY; 253 } 254 dev->port = port; ··· 265 266 /* turn on SSP port clock */ 267 pxa_set_cken(ssp_info[port-1].clock, 1); 268 + mutex_unlock(&mutex); 269 return 0; 270 271 out_region: 272 release_mem_region(__PREG(SSCR0_P(port)), 0x2c); 273 use_count[port - 1]--; 274 + mutex_unlock(&mutex); 275 return ret; 276 } 277 ··· 282 */ 283 void ssp_exit(struct ssp_dev *dev) 284 { 285 + mutex_lock(&mutex); 286 SSCR0_P(dev->port) &= ~SSCR0_SSE; 287 288 if (dev->port > PXA_SSP_PORTS || dev->port == 0) { ··· 295 free_irq(dev->irq, dev); 296 release_mem_region(__PREG(SSCR0_P(dev->port)), 0x2c); 297 use_count[dev->port - 1]--; 298 + mutex_unlock(&mutex); 299 } 300 301 EXPORT_SYMBOL(ssp_write_word);
+8 -7
arch/arm/mach-realview/clock.c
··· 14 #include <linux/errno.h> 15 #include <linux/err.h> 16 #include <linux/clk.h> 17 18 #include <asm/semaphore.h> 19 #include <asm/hardware/icst307.h> ··· 22 #include "clock.h" 23 24 static LIST_HEAD(clocks); 25 - static DECLARE_MUTEX(clocks_sem); 26 27 struct clk *clk_get(struct device *dev, const char *id) 28 { 29 struct clk *p, *clk = ERR_PTR(-ENOENT); 30 31 - down(&clocks_sem); 32 list_for_each_entry(p, &clocks, node) { 33 if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { 34 clk = p; 35 break; 36 } 37 } 38 - up(&clocks_sem); 39 40 return clk; 41 } ··· 110 111 int clk_register(struct clk *clk) 112 { 113 - down(&clocks_sem); 114 list_add(&clk->node, &clocks); 115 - up(&clocks_sem); 116 return 0; 117 } 118 EXPORT_SYMBOL(clk_register); 119 120 void clk_unregister(struct clk *clk) 121 { 122 - down(&clocks_sem); 123 list_del(&clk->node); 124 - up(&clocks_sem); 125 } 126 EXPORT_SYMBOL(clk_unregister); 127
··· 14 #include <linux/errno.h> 15 #include <linux/err.h> 16 #include <linux/clk.h> 17 + #include <linux/mutex.h> 18 19 #include <asm/semaphore.h> 20 #include <asm/hardware/icst307.h> ··· 21 #include "clock.h" 22 23 static LIST_HEAD(clocks); 24 + static DEFINE_MUTEX(clocks_mutex); 25 26 struct clk *clk_get(struct device *dev, const char *id) 27 { 28 struct clk *p, *clk = ERR_PTR(-ENOENT); 29 30 + mutex_lock(&clocks_mutex); 31 list_for_each_entry(p, &clocks, node) { 32 if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { 33 clk = p; 34 break; 35 } 36 } 37 + mutex_unlock(&clocks_mutex); 38 39 return clk; 40 } ··· 109 110 int clk_register(struct clk *clk) 111 { 112 + mutex_lock(&clocks_mutex); 113 list_add(&clk->node, &clocks); 114 + mutex_unlock(&clocks_mutex); 115 return 0; 116 } 117 EXPORT_SYMBOL(clk_register); 118 119 void clk_unregister(struct clk *clk) 120 { 121 + mutex_lock(&clocks_mutex); 122 list_del(&clk->node); 123 + mutex_unlock(&clocks_mutex); 124 } 125 EXPORT_SYMBOL(clk_unregister); 126
+6 -5
arch/arm/mach-s3c2410/clock.c
··· 37 #include <linux/interrupt.h> 38 #include <linux/ioport.h> 39 #include <linux/clk.h> 40 41 #include <asm/hardware.h> 42 #include <asm/atomic.h> ··· 52 /* clock information */ 53 54 static LIST_HEAD(clocks); 55 - static DECLARE_MUTEX(clocks_sem); 56 57 /* old functions */ 58 ··· 103 else 104 idno = to_platform_device(dev)->id; 105 106 - down(&clocks_sem); 107 108 list_for_each_entry(p, &clocks, list) { 109 if (p->id == idno && ··· 127 } 128 } 129 130 - up(&clocks_sem); 131 return clk; 132 } 133 ··· 363 364 /* add to the list of available clocks */ 365 366 - down(&clocks_sem); 367 list_add(&clk->list, &clocks); 368 - up(&clocks_sem); 369 370 return 0; 371 }
··· 37 #include <linux/interrupt.h> 38 #include <linux/ioport.h> 39 #include <linux/clk.h> 40 + #include <linux/mutex.h> 41 42 #include <asm/hardware.h> 43 #include <asm/atomic.h> ··· 51 /* clock information */ 52 53 static LIST_HEAD(clocks); 54 + static DEFINE_MUTEX(clocks_mutex); 55 56 /* old functions */ 57 ··· 102 else 103 idno = to_platform_device(dev)->id; 104 105 + mutex_lock(&clocks_mutex); 106 107 list_for_each_entry(p, &clocks, list) { 108 if (p->id == idno && ··· 126 } 127 } 128 129 + mutex_unlock(&clocks_mutex); 130 return clk; 131 } 132 ··· 362 363 /* add to the list of available clocks */ 364 365 + mutex_lock(&clocks_mutex); 366 list_add(&clk->list, &clocks); 367 + mutex_unlock(&clocks_mutex); 368 369 return 0; 370 }
+8 -7
arch/arm/mach-versatile/clock.c
··· 15 #include <linux/err.h> 16 #include <linux/string.h> 17 #include <linux/clk.h> 18 19 #include <asm/semaphore.h> 20 #include <asm/hardware/icst307.h> ··· 23 #include "clock.h" 24 25 static LIST_HEAD(clocks); 26 - static DECLARE_MUTEX(clocks_sem); 27 28 struct clk *clk_get(struct device *dev, const char *id) 29 { 30 struct clk *p, *clk = ERR_PTR(-ENOENT); 31 32 - down(&clocks_sem); 33 list_for_each_entry(p, &clocks, node) { 34 if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { 35 clk = p; 36 break; 37 } 38 } 39 - up(&clocks_sem); 40 41 return clk; 42 } ··· 111 112 int clk_register(struct clk *clk) 113 { 114 - down(&clocks_sem); 115 list_add(&clk->node, &clocks); 116 - up(&clocks_sem); 117 return 0; 118 } 119 EXPORT_SYMBOL(clk_register); 120 121 void clk_unregister(struct clk *clk) 122 { 123 - down(&clocks_sem); 124 list_del(&clk->node); 125 - up(&clocks_sem); 126 } 127 EXPORT_SYMBOL(clk_unregister); 128
··· 15 #include <linux/err.h> 16 #include <linux/string.h> 17 #include <linux/clk.h> 18 + #include <linux/mutex.h> 19 20 #include <asm/semaphore.h> 21 #include <asm/hardware/icst307.h> ··· 22 #include "clock.h" 23 24 static LIST_HEAD(clocks); 25 + static DEFINE_MUTEX(clocks_mutex); 26 27 struct clk *clk_get(struct device *dev, const char *id) 28 { 29 struct clk *p, *clk = ERR_PTR(-ENOENT); 30 31 + mutex_lock(&clocks_mutex); 32 list_for_each_entry(p, &clocks, node) { 33 if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { 34 clk = p; 35 break; 36 } 37 } 38 + mutex_unlock(&clocks_mutex); 39 40 return clk; 41 } ··· 110 111 int clk_register(struct clk *clk) 112 { 113 + mutex_lock(&clocks_mutex); 114 list_add(&clk->node, &clocks); 115 + mutex_unlock(&clocks_mutex); 116 return 0; 117 } 118 EXPORT_SYMBOL(clk_register); 119 120 void clk_unregister(struct clk *clk) 121 { 122 + mutex_lock(&clocks_mutex); 123 list_del(&clk->node); 124 + mutex_unlock(&clocks_mutex); 125 } 126 EXPORT_SYMBOL(clk_unregister); 127
+41 -12
arch/arm/mm/consistent.c
··· 20 21 #include <asm/cacheflush.h> 22 #include <asm/tlbflush.h> 23 24 - #define CONSISTENT_BASE (0xffc00000) 25 #define CONSISTENT_END (0xffe00000) 26 #define CONSISTENT_OFFSET(x) (((unsigned long)(x) - CONSISTENT_BASE) >> PAGE_SHIFT) 27 28 /* 29 - * This is the page table (2MB) covering uncached, DMA consistent allocations 30 */ 31 - static pte_t *consistent_pte; 32 static DEFINE_SPINLOCK(consistent_lock); 33 34 /* ··· 152 unsigned long order; 153 u64 mask = ISA_DMA_THRESHOLD, limit; 154 155 - if (!consistent_pte) { 156 printk(KERN_ERR "%s: not initialised\n", __func__); 157 dump_stack(); 158 return NULL; ··· 215 c = vm_region_alloc(&consistent_head, size, 216 gfp & ~(__GFP_DMA | __GFP_HIGHMEM)); 217 if (c) { 218 - pte_t *pte = consistent_pte + CONSISTENT_OFFSET(c->vm_start); 219 struct page *end = page + (1 << order); 220 221 c->vm_pages = page; 222 223 /* ··· 239 set_pte(pte, mk_pte(page, prot)); 240 page++; 241 pte++; 242 } while (size -= PAGE_SIZE); 243 244 /* ··· 345 struct vm_region *c; 346 unsigned long flags, addr; 347 pte_t *ptep; 348 349 WARN_ON(irqs_disabled()); 350 ··· 367 size = c->vm_end - c->vm_start; 368 } 369 370 - ptep = consistent_pte + CONSISTENT_OFFSET(c->vm_start); 371 addr = c->vm_start; 372 do { 373 pte_t pte = ptep_get_and_clear(&init_mm, addr, ptep); ··· 377 378 ptep++; 379 addr += PAGE_SIZE; 380 381 if (!pte_none(pte) && pte_present(pte)) { 382 pfn = pte_pfn(pte); ··· 428 pgd_t *pgd; 429 pmd_t *pmd; 430 pte_t *pte; 431 - int ret = 0; 432 433 do { 434 - pgd = pgd_offset(&init_mm, CONSISTENT_BASE); 435 - pmd = pmd_alloc(&init_mm, pgd, CONSISTENT_BASE); 436 if (!pmd) { 437 printk(KERN_ERR "%s: no pmd tables\n", __func__); 438 ret = -ENOMEM; ··· 441 } 442 WARN_ON(!pmd_none(*pmd)); 443 444 - pte = pte_alloc_kernel(pmd, CONSISTENT_BASE); 445 if (!pte) { 446 printk(KERN_ERR "%s: no pte tables\n", __func__); 447 ret = -ENOMEM; 448 break; 449 } 450 451 - consistent_pte = pte; 452 - } while (0); 453 454 return ret; 455 }
··· 20 21 #include <asm/cacheflush.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 29 + 30 #define CONSISTENT_END (0xffe00000) 31 + #define CONSISTENT_BASE (CONSISTENT_END - CONSISTENT_DMA_SIZE) 32 + 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 + 37 38 /* 39 + * These are the page tables (2MB each) covering uncached, DMA consistent allocations 40 */ 41 + static pte_t *consistent_pte[NUM_CONSISTENT_PTES]; 42 static DEFINE_SPINLOCK(consistent_lock); 43 44 /* ··· 142 unsigned long order; 143 u64 mask = ISA_DMA_THRESHOLD, limit; 144 145 + if (!consistent_pte[0]) { 146 printk(KERN_ERR "%s: not initialised\n", __func__); 147 dump_stack(); 148 return NULL; ··· 205 c = vm_region_alloc(&consistent_head, size, 206 gfp & ~(__GFP_DMA | __GFP_HIGHMEM)); 207 if (c) { 208 + pte_t *pte; 209 struct page *end = page + (1 << order); 210 + int idx = CONSISTENT_PTE_INDEX(c->vm_start); 211 + u32 off = CONSISTENT_OFFSET(c->vm_start) & (PTRS_PER_PTE-1); 212 213 + pte = consistent_pte[idx] + off; 214 c->vm_pages = page; 215 216 /* ··· 226 set_pte(pte, mk_pte(page, prot)); 227 page++; 228 pte++; 229 + off++; 230 + if (off >= PTRS_PER_PTE) { 231 + off = 0; 232 + pte = consistent_pte[++idx]; 233 + } 234 } while (size -= PAGE_SIZE); 235 236 /* ··· 327 struct vm_region *c; 328 unsigned long flags, addr; 329 pte_t *ptep; 330 + int idx; 331 + u32 off; 332 333 WARN_ON(irqs_disabled()); 334 ··· 347 size = c->vm_end - c->vm_start; 348 } 349 350 + idx = CONSISTENT_PTE_INDEX(c->vm_start); 351 + off = CONSISTENT_OFFSET(c->vm_start) & (PTRS_PER_PTE-1); 352 + ptep = consistent_pte[idx] + off; 353 addr = c->vm_start; 354 do { 355 pte_t pte = ptep_get_and_clear(&init_mm, addr, ptep); ··· 355 356 ptep++; 357 addr += PAGE_SIZE; 358 + off++; 359 + if (off >= PTRS_PER_PTE) { 360 + off = 0; 361 + ptep = consistent_pte[++idx]; 362 + } 363 364 if (!pte_none(pte) && pte_present(pte)) { 365 pfn = pte_pfn(pte); ··· 401 pgd_t *pgd; 402 pmd_t *pmd; 403 pte_t *pte; 404 + int ret = 0, i = 0; 405 + u32 base = CONSISTENT_BASE; 406 407 do { 408 + pgd = pgd_offset(&init_mm, base); 409 + pmd = pmd_alloc(&init_mm, pgd, base); 410 if (!pmd) { 411 printk(KERN_ERR "%s: no pmd tables\n", __func__); 412 ret = -ENOMEM; ··· 413 } 414 WARN_ON(!pmd_none(*pmd)); 415 416 + pte = pte_alloc_kernel(pmd, base); 417 if (!pte) { 418 printk(KERN_ERR "%s: no pte tables\n", __func__); 419 ret = -ENOMEM; 420 break; 421 } 422 423 + consistent_pte[i++] = pte; 424 + base += (1 << PGDIR_SHIFT); 425 + } while (base < CONSISTENT_END); 426 427 return ret; 428 }
+8 -7
arch/arm/plat-omap/clock.c
··· 20 #include <linux/err.h> 21 #include <linux/string.h> 22 #include <linux/clk.h> 23 24 #include <asm/io.h> 25 #include <asm/semaphore.h> ··· 28 #include <asm/arch/clock.h> 29 30 LIST_HEAD(clocks); 31 - static DECLARE_MUTEX(clocks_sem); 32 DEFINE_SPINLOCK(clockfw_lock); 33 34 static struct clk_functions *arch_clock; ··· 41 { 42 struct clk *p, *clk = ERR_PTR(-ENOENT); 43 44 - down(&clocks_sem); 45 list_for_each_entry(p, &clocks, node) { 46 if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { 47 clk = p; 48 break; 49 } 50 } 51 - up(&clocks_sem); 52 53 return clk; 54 } ··· 250 251 int clk_register(struct clk *clk) 252 { 253 - down(&clocks_sem); 254 list_add(&clk->node, &clocks); 255 if (clk->init) 256 clk->init(clk); 257 - up(&clocks_sem); 258 259 return 0; 260 } ··· 262 263 void clk_unregister(struct clk *clk) 264 { 265 - down(&clocks_sem); 266 list_del(&clk->node); 267 - up(&clocks_sem); 268 } 269 EXPORT_SYMBOL(clk_unregister); 270
··· 20 #include <linux/err.h> 21 #include <linux/string.h> 22 #include <linux/clk.h> 23 + #include <linux/mutex.h> 24 25 #include <asm/io.h> 26 #include <asm/semaphore.h> ··· 27 #include <asm/arch/clock.h> 28 29 LIST_HEAD(clocks); 30 + static DEFINE_MUTEX(clocks_mutex); 31 DEFINE_SPINLOCK(clockfw_lock); 32 33 static struct clk_functions *arch_clock; ··· 40 { 41 struct clk *p, *clk = ERR_PTR(-ENOENT); 42 43 + mutex_lock(&clocks_mutex); 44 list_for_each_entry(p, &clocks, node) { 45 if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { 46 clk = p; 47 break; 48 } 49 } 50 + mutex_unlock(&clocks_mutex); 51 52 return clk; 53 } ··· 249 250 int clk_register(struct clk *clk) 251 { 252 + mutex_lock(&clocks_mutex); 253 list_add(&clk->node, &clocks); 254 if (clk->init) 255 clk->init(clk); 256 + mutex_unlock(&clocks_mutex); 257 258 return 0; 259 } ··· 261 262 void clk_unregister(struct clk *clk) 263 { 264 + mutex_lock(&clocks_mutex); 265 list_del(&clk->node); 266 + mutex_unlock(&clocks_mutex); 267 } 268 EXPORT_SYMBOL(clk_unregister); 269
+10
drivers/i2c/busses/i2c-pxa.c
··· 899 struct pxa_i2c *i2c = adap->algo_data; 900 int ret, i; 901 902 for (i = adap->retries; i >= 0; i--) { 903 ret = i2c_pxa_do_xfer(i2c, msgs, num); 904 if (ret != I2C_RETRY) ··· 945 static int i2c_pxa_probe(struct platform_device *dev) 946 { 947 struct pxa_i2c *i2c = &i2c_pxa; 948 struct i2c_pxa_platform_data *plat = dev->dev.platform_data; 949 int ret; 950 951 #ifdef CONFIG_PXA27x ··· 1031 { 1032 return platform_driver_unregister(&i2c_pxa_driver); 1033 } 1034 1035 module_init(i2c_adap_pxa_init); 1036 module_exit(i2c_adap_pxa_exit);
··· 899 struct pxa_i2c *i2c = adap->algo_data; 900 int ret, i; 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 + 908 for (i = adap->retries; i >= 0; i--) { 909 ret = i2c_pxa_do_xfer(i2c, msgs, num); 910 if (ret != I2C_RETRY) ··· 939 static int i2c_pxa_probe(struct platform_device *dev) 940 { 941 struct pxa_i2c *i2c = &i2c_pxa; 942 + #ifdef CONFIG_I2C_PXA_SLAVE 943 struct i2c_pxa_platform_data *plat = dev->dev.platform_data; 944 + #endif 945 int ret; 946 947 #ifdef CONFIG_PXA27x ··· 1023 { 1024 return platform_driver_unregister(&i2c_pxa_driver); 1025 } 1026 + 1027 + MODULE_LICENSE("GPL"); 1028 1029 module_init(i2c_adap_pxa_init); 1030 module_exit(i2c_adap_pxa_exit);
+5 -10
drivers/pcmcia/pxa2xx_mainstone.c
··· 171 { 172 int ret; 173 174 - mst_pcmcia_device = kzalloc(sizeof(*mst_pcmcia_device), GFP_KERNEL); 175 if (!mst_pcmcia_device) 176 return -ENOMEM; 177 - mst_pcmcia_device->name = "pxa2xx-pcmcia"; 178 mst_pcmcia_device->dev.platform_data = &mst_pcmcia_ops; 179 180 - ret = platform_device_register(mst_pcmcia_device); 181 if (ret) 182 - kfree(mst_pcmcia_device); 183 184 return ret; 185 } 186 187 static void __exit mst_pcmcia_exit(void) 188 { 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); 196 } 197
··· 171 { 172 int ret; 173 174 + mst_pcmcia_device = platform_device_alloc("pxa2xx-pcmcia", -1); 175 if (!mst_pcmcia_device) 176 return -ENOMEM; 177 + 178 mst_pcmcia_device->dev.platform_data = &mst_pcmcia_ops; 179 180 + ret = platform_device_add(mst_pcmcia_device); 181 + 182 if (ret) 183 + platform_device_put(mst_pcmcia_device); 184 185 return ret; 186 } 187 188 static void __exit mst_pcmcia_exit(void) 189 { 190 platform_device_unregister(mst_pcmcia_device); 191 } 192
+7 -12
drivers/pcmcia/pxa2xx_sharpsl.c
··· 263 { 264 int ret; 265 266 - sharpsl_pcmcia_ops.nr=platform_scoop_config->num_devs; 267 - sharpsl_pcmcia_device = kzalloc(sizeof(*sharpsl_pcmcia_device), GFP_KERNEL); 268 if (!sharpsl_pcmcia_device) 269 return -ENOMEM; 270 271 - sharpsl_pcmcia_device->name = "pxa2xx-pcmcia"; 272 sharpsl_pcmcia_device->dev.platform_data = &sharpsl_pcmcia_ops; 273 - sharpsl_pcmcia_device->dev.parent=platform_scoop_config->devs[0].dev; 274 275 - ret = platform_device_register(sharpsl_pcmcia_device); 276 if (ret) 277 - kfree(sharpsl_pcmcia_device); 278 279 return ret; 280 } 281 282 static void __exit sharpsl_pcmcia_exit(void) 283 { 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); 291 } 292
··· 263 { 264 int ret; 265 266 + sharpsl_pcmcia_ops.nr = platform_scoop_config->num_devs; 267 + sharpsl_pcmcia_device = platform_device_alloc("pxa2xx-pcmcia", -1); 268 + 269 if (!sharpsl_pcmcia_device) 270 return -ENOMEM; 271 272 sharpsl_pcmcia_device->dev.platform_data = &sharpsl_pcmcia_ops; 273 + sharpsl_pcmcia_device->dev.parent = platform_scoop_config->devs[0].dev; 274 275 + ret = platform_device_add(sharpsl_pcmcia_device); 276 + 277 if (ret) 278 + platform_device_put(sharpsl_pcmcia_device); 279 280 return ret; 281 } 282 283 static void __exit sharpsl_pcmcia_exit(void) 284 { 285 platform_device_unregister(sharpsl_pcmcia_device); 286 } 287
+34
drivers/serial/Kconfig
··· 280 your boot loader (lilo or loadlin) about how to pass options to the 281 kernel at boot time.) 282 283 config SERIAL_CLPS711X 284 tristate "CLPS711X serial port support" 285 depends on ARM && ARCH_CLPS711X
··· 280 your boot loader (lilo or loadlin) about how to pass options to the 281 kernel at boot time.) 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 + 317 config SERIAL_CLPS711X 318 tristate "CLPS711X serial port support" 319 depends on ARM && ARCH_CLPS711X
+1
drivers/serial/Makefile
··· 56 obj-$(CONFIG_SERIAL_TXX9) += serial_txx9.o 57 obj-$(CONFIG_SERIAL_VR41XX) += vr41xx_siu.o 58 obj-$(CONFIG_SERIAL_SGI_IOC4) += ioc4_serial.o
··· 56 obj-$(CONFIG_SERIAL_TXX9) += serial_txx9.o 57 obj-$(CONFIG_SERIAL_VR41XX) += vr41xx_siu.o 58 obj-$(CONFIG_SERIAL_SGI_IOC4) += ioc4_serial.o 59 + obj-$(CONFIG_SERIAL_AT91) += at91_serial.o
+894
drivers/serial/at91_serial.c
···
··· 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");
+36
include/asm-arm/arch-at91rm9200/at91rm9200_pdc.h
···
··· 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
+123
include/asm-arm/arch-at91rm9200/at91rm9200_usart.h
···
··· 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
+10 -1
include/asm-arm/byteorder.h
··· 22 { 23 __u32 t; 24 25 - t = x ^ ((x << 16) | (x >> 16)); /* eor r1,r0,r0,ror #16 */ 26 x = (x << 24) | (x >> 8); /* mov r0,r0,ror #8 */ 27 t &= ~0x00FF0000; /* bic r1,r1,#0x00FF0000 */ 28 x ^= (t >> 8); /* eor r0,r0,r1,lsr #8 */
··· 22 { 23 __u32 t; 24 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 + } 35 x = (x << 24) | (x >> 8); /* mov r0,r0,ror #8 */ 36 t &= ~0x00FF0000; /* bic r1,r1,#0x00FF0000 */ 37 x ^= (t >> 8); /* eor r0,r0,r1,lsr #8 */
+36
include/asm-arm/mach/serial_at91rm9200.h
···
··· 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 +
+9
include/asm-arm/memory.h
··· 25 #include <linux/config.h> 26 #include <linux/compiler.h> 27 #include <asm/arch/memory.h> 28 29 #ifndef TASK_SIZE 30 /* ··· 46 */ 47 #ifndef PAGE_OFFSET 48 #define PAGE_OFFSET UL(0xc0000000) 49 #endif 50 51 /*
··· 25 #include <linux/config.h> 26 #include <linux/compiler.h> 27 #include <asm/arch/memory.h> 28 + #include <asm/sizes.h> 29 30 #ifndef TASK_SIZE 31 /* ··· 45 */ 46 #ifndef PAGE_OFFSET 47 #define PAGE_OFFSET UL(0xc0000000) 48 + #endif 49 + 50 + /* 51 + * Size of DMA-consistent memory region. Must be multiple of 2M, 52 + * between 2MB and 14MB inclusive. 53 + */ 54 + #ifndef CONSISTENT_DMA_SIZE 55 + #define CONSISTENT_DMA_SIZE SZ_2M 56 #endif 57 58 /*
+3
include/linux/serial_core.h
··· 67 /* Parisc type numbers. */ 68 #define PORT_MUX 48 69 70 /* Macintosh Zilog type numbers */ 71 #define PORT_MAC_ZILOG 50 /* m68k : not yet implemented */ 72 #define PORT_PMAC_ZILOG 51
··· 67 /* Parisc type numbers. */ 68 #define PORT_MUX 48 69 70 + /* Atmel AT91RM9200 SoC */ 71 + #define PORT_AT91RM9200 49 72 + 73 /* Macintosh Zilog type numbers */ 74 #define PORT_MAC_ZILOG 50 /* m68k : not yet implemented */ 75 #define PORT_PMAC_ZILOG 51