Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
bf785ee0
Commit
bf785ee0
authored
Jan 12, 2006
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge master.kernel.org:/home/rmk/linux-2.6-arm
parents
8b87e1ba
00431707
Changes
37
Hide whitespace changes
Inline
Side-by-side
Showing
37 changed files
with
6114 additions
and
135 deletions
+6114
-135
arch/arm/boot/compressed/head.S
arch/arm/boot/compressed/head.S
+25
-21
arch/arm/common/rtctime.c
arch/arm/common/rtctime.c
+8
-7
arch/arm/configs/at91rm9200dk_defconfig
arch/arm/configs/at91rm9200dk_defconfig
+1009
-0
arch/arm/configs/at91rm9200ek_defconfig
arch/arm/configs/at91rm9200ek_defconfig
+998
-0
arch/arm/configs/csb337_defconfig
arch/arm/configs/csb337_defconfig
+1136
-0
arch/arm/configs/csb637_defconfig
arch/arm/configs/csb637_defconfig
+1116
-0
arch/arm/kernel/ecard.c
arch/arm/kernel/ecard.c
+4
-3
arch/arm/kernel/fiq.c
arch/arm/kernel/fiq.c
+2
-2
arch/arm/kernel/setup.c
arch/arm/kernel/setup.c
+9
-6
arch/arm/lib/csumpartialcopy.S
arch/arm/lib/csumpartialcopy.S
+4
-2
arch/arm/lib/csumpartialcopygeneric.S
arch/arm/lib/csumpartialcopygeneric.S
+2
-4
arch/arm/lib/csumpartialcopyuser.S
arch/arm/lib/csumpartialcopyuser.S
+5
-3
arch/arm/mach-aaec2000/clock.c
arch/arm/mach-aaec2000/clock.c
+8
-7
arch/arm/mach-at91rm9200/Makefile
arch/arm/mach-at91rm9200/Makefile
+4
-4
arch/arm/mach-at91rm9200/board-csb337.c
arch/arm/mach-at91rm9200/board-csb337.c
+143
-0
arch/arm/mach-at91rm9200/board-csb637.c
arch/arm/mach-at91rm9200/board-csb637.c
+116
-0
arch/arm/mach-at91rm9200/board-dk.c
arch/arm/mach-at91rm9200/board-dk.c
+138
-0
arch/arm/mach-at91rm9200/board-ek.c
arch/arm/mach-at91rm9200/board-ek.c
+131
-0
arch/arm/mach-integrator/clock.c
arch/arm/mach-integrator/clock.c
+8
-7
arch/arm/mach-pxa/ssp.c
arch/arm/mach-pxa/ssp.c
+9
-8
arch/arm/mach-realview/clock.c
arch/arm/mach-realview/clock.c
+8
-7
arch/arm/mach-s3c2410/clock.c
arch/arm/mach-s3c2410/clock.c
+6
-5
arch/arm/mach-versatile/clock.c
arch/arm/mach-versatile/clock.c
+8
-7
arch/arm/mm/consistent.c
arch/arm/mm/consistent.c
+41
-12
arch/arm/plat-omap/clock.c
arch/arm/plat-omap/clock.c
+8
-7
drivers/i2c/busses/i2c-pxa.c
drivers/i2c/busses/i2c-pxa.c
+10
-0
drivers/pcmcia/pxa2xx_mainstone.c
drivers/pcmcia/pxa2xx_mainstone.c
+5
-10
drivers/pcmcia/pxa2xx_sharpsl.c
drivers/pcmcia/pxa2xx_sharpsl.c
+7
-12
drivers/serial/Kconfig
drivers/serial/Kconfig
+34
-0
drivers/serial/Makefile
drivers/serial/Makefile
+1
-0
drivers/serial/at91_serial.c
drivers/serial/at91_serial.c
+894
-0
include/asm-arm/arch-at91rm9200/at91rm9200_pdc.h
include/asm-arm/arch-at91rm9200/at91rm9200_pdc.h
+36
-0
include/asm-arm/arch-at91rm9200/at91rm9200_usart.h
include/asm-arm/arch-at91rm9200/at91rm9200_usart.h
+123
-0
include/asm-arm/byteorder.h
include/asm-arm/byteorder.h
+10
-1
include/asm-arm/mach/serial_at91rm9200.h
include/asm-arm/mach/serial_at91rm9200.h
+36
-0
include/asm-arm/memory.h
include/asm-arm/memory.h
+9
-0
include/linux/serial_core.h
include/linux/serial_core.h
+3
-0
No files found.
arch/arm/boot/compressed/head.S
View file @
bf785ee0
...
@@ -84,7 +84,7 @@
...
@@ -84,7 +84,7 @@
kputc
#
'\n'
kputc
#
'\n'
kphex
r5
,
8
/*
decompressed
kernel
start
*/
kphex
r5
,
8
/*
decompressed
kernel
start
*/
kputc
#
'-'
kputc
#
'-'
kphex
r
8
,
8
/*
decompressed
kernel
end
*/
kphex
r
9
,
8
/*
decompressed
kernel
end
*/
kputc
#
'>'
kputc
#
'>'
kphex
r4
,
8
/*
kernel
execution
address
*/
kphex
r4
,
8
/*
kernel
execution
address
*/
kputc
#
'\n'
kputc
#
'\n'
...
@@ -116,7 +116,7 @@ start:
...
@@ -116,7 +116,7 @@ start:
.
word
start
@
absolute
load
/
run
zImage
address
.
word
start
@
absolute
load
/
run
zImage
address
.
word
_edata
@
zImage
end
address
.
word
_edata
@
zImage
end
address
1
:
mov
r7
,
r1
@
save
architecture
ID
1
:
mov
r7
,
r1
@
save
architecture
ID
mov
r8
,
#
0
@
save
r0
mov
r8
,
r2
@
save
atags
pointer
#ifndef __ARM_ARCH_2__
#ifndef __ARM_ARCH_2__
/
*
/
*
...
@@ -144,7 +144,7 @@ not_angel:
...
@@ -144,7 +144,7 @@ not_angel:
/
*
/
*
*
some
architecture
specific
code
can
be
inserted
*
some
architecture
specific
code
can
be
inserted
*
by
the
linker
here
,
but
it
should
preserve
r7
and
r8
.
*
by
the
linker
here
,
but
it
should
preserve
r7
,
r8
,
and
r9
.
*/
*/
.
text
.
text
...
@@ -249,16 +249,17 @@ not_relocated: mov r0, #0
...
@@ -249,16 +249,17 @@ not_relocated: mov r0, #0
*
r5
=
decompressed
kernel
start
*
r5
=
decompressed
kernel
start
*
r6
=
processor
ID
*
r6
=
processor
ID
*
r7
=
architecture
ID
*
r7
=
architecture
ID
*
r8
-
r14
=
unused
*
r8
=
atags
pointer
*
r9
-
r14
=
corrupted
*/
*/
add
r1
,
r5
,
r0
@
end
of
decompressed
kernel
add
r1
,
r5
,
r0
@
end
of
decompressed
kernel
adr
r2
,
reloc_start
adr
r2
,
reloc_start
ldr
r3
,
LC1
ldr
r3
,
LC1
add
r3
,
r2
,
r3
add
r3
,
r2
,
r3
1
:
ldmia
r2
!,
{
r
8
-
r13
}
@
copy
relocation
code
1
:
ldmia
r2
!,
{
r
9
-
r14
}
@
copy
relocation
code
stmia
r1
!,
{
r
8
-
r13
}
stmia
r1
!,
{
r
9
-
r14
}
ldmia
r2
!,
{
r
8
-
r13
}
ldmia
r2
!,
{
r
9
-
r14
}
stmia
r1
!,
{
r
8
-
r13
}
stmia
r1
!,
{
r
9
-
r14
}
cmp
r2
,
r3
cmp
r2
,
r3
blo
1
b
blo
1
b
...
@@ -308,11 +309,12 @@ params: ldr r0, =params_phys
...
@@ -308,11 +309,12 @@ params: ldr r0, =params_phys
*
r4
=
kernel
execution
address
*
r4
=
kernel
execution
address
*
r6
=
processor
ID
*
r6
=
processor
ID
*
r7
=
architecture
number
*
r7
=
architecture
number
*
r8
=
run
-
time
address
of
"start"
*
r8
=
atags
pointer
*
r9
=
run
-
time
address
of
"start"
(???)
*
On
exit
,
*
On
exit
,
*
r1
,
r2
,
r3
,
r
8
,
r9
,
r12
corrupted
*
r1
,
r2
,
r3
,
r
9
,
r10
,
r12
corrupted
*
This
routine
must
preserve
:
*
This
routine
must
preserve
:
*
r4
,
r5
,
r6
,
r7
*
r4
,
r5
,
r6
,
r7
,
r8
*/
*/
.
align
5
.
align
5
cache_on
:
mov
r3
,
#
8
@
cache_on
function
cache_on
:
mov
r3
,
#
8
@
cache_on
function
...
@@ -326,15 +328,15 @@ __setup_mmu: sub r3, r4, #16384 @ Page directory size
...
@@ -326,15 +328,15 @@ __setup_mmu: sub r3, r4, #16384 @ Page directory size
*
bits
for
the
RAM
area
only
.
*
bits
for
the
RAM
area
only
.
*/
*/
mov
r0
,
r3
mov
r0
,
r3
mov
r
8
,
r0
,
lsr
#
18
mov
r
9
,
r0
,
lsr
#
18
mov
r
8
,
r8
,
lsl
#
18
@
start
of
RAM
mov
r
9
,
r9
,
lsl
#
18
@
start
of
RAM
add
r
9
,
r8
,
#
0x10000000
@
a
reasonable
RAM
size
add
r
10
,
r9
,
#
0x10000000
@
a
reasonable
RAM
size
mov
r1
,
#
0x12
mov
r1
,
#
0x12
orr
r1
,
r1
,
#
3
<<
10
orr
r1
,
r1
,
#
3
<<
10
add
r2
,
r3
,
#
16384
add
r2
,
r3
,
#
16384
1
:
cmp
r1
,
r8
@
if
virt
>
start
of
RAM
1
:
cmp
r1
,
r8
@
if
virt
>
start
of
RAM
orrhs
r1
,
r1
,
#
0x0c
@
set
cacheable
,
bufferable
orrhs
r1
,
r1
,
#
0x0c
@
set
cacheable
,
bufferable
cmp
r1
,
r
9
@
if
virt
>
end
of
RAM
cmp
r1
,
r
10
@
if
virt
>
end
of
RAM
bichs
r1
,
r1
,
#
0x0c
@
clear
cacheable
,
bufferable
bichs
r1
,
r1
,
#
0x0c
@
clear
cacheable
,
bufferable
str
r1
,
[
r0
],
#
4
@
1
:
1
mapping
str
r1
,
[
r0
],
#
4
@
1
:
1
mapping
add
r1
,
r1
,
#
1048576
add
r1
,
r1
,
#
1048576
...
@@ -403,26 +405,28 @@ __common_cache_on:
...
@@ -403,26 +405,28 @@ __common_cache_on:
*
r5
=
decompressed
kernel
start
*
r5
=
decompressed
kernel
start
*
r6
=
processor
ID
*
r6
=
processor
ID
*
r7
=
architecture
ID
*
r7
=
architecture
ID
*
r8
-
r14
=
unused
*
r8
=
atags
pointer
*
r9
-
r14
=
corrupted
*/
*/
.
align
5
.
align
5
reloc_start
:
add
r
8
,
r5
,
r0
reloc_start
:
add
r
9
,
r5
,
r0
debug_reloc_start
debug_reloc_start
mov
r1
,
r4
mov
r1
,
r4
1
:
1
:
.
rept
4
.
rept
4
ldmia
r5
!,
{
r0
,
r2
,
r3
,
r
9
-
r13
}
@
relocate
kernel
ldmia
r5
!,
{
r0
,
r2
,
r3
,
r
10
-
r14
}
@
relocate
kernel
stmia
r1
!,
{
r0
,
r2
,
r3
,
r
9
-
r13
}
stmia
r1
!,
{
r0
,
r2
,
r3
,
r
10
-
r14
}
.
endr
.
endr
cmp
r5
,
r
8
cmp
r5
,
r
9
blo
1
b
blo
1
b
debug_reloc_end
debug_reloc_end
call_kernel
:
bl
cache_clean_flush
call_kernel
:
bl
cache_clean_flush
bl
cache_off
bl
cache_off
mov
r0
,
#
0
mov
r0
,
#
0
@
must
be
zero
mov
r1
,
r7
@
restore
architecture
number
mov
r1
,
r7
@
restore
architecture
number
mov
r2
,
r8
@
restore
atags
pointer
mov
pc
,
r4
@
call
kernel
mov
pc
,
r4
@
call
kernel
/*
/*
...
...
arch/arm/common/rtctime.c
View file @
bf785ee0
...
@@ -19,6 +19,7 @@
...
@@ -19,6 +19,7 @@
#include <linux/spinlock.h>
#include <linux/spinlock.h>
#include <linux/capability.h>
#include <linux/capability.h>
#include <linux/device.h>
#include <linux/device.h>
#include <linux/mutex.h>
#include <asm/rtc.h>
#include <asm/rtc.h>
#include <asm/semaphore.h>
#include <asm/semaphore.h>
...
@@ -35,7 +36,7 @@ static unsigned long rtc_irq_data;
...
@@ -35,7 +36,7 @@ static unsigned long rtc_irq_data;
/*
/*
* rtc_sem protects rtc_inuse and rtc_ops
* rtc_sem protects rtc_inuse and rtc_ops
*/
*/
static
DE
CLARE_MUTEX
(
rtc_sem
);
static
DE
FINE_MUTEX
(
rtc_mutex
);
static
unsigned
long
rtc_inuse
;
static
unsigned
long
rtc_inuse
;
static
struct
rtc_ops
*
rtc_ops
;
static
struct
rtc_ops
*
rtc_ops
;
...
@@ -356,7 +357,7 @@ static int rtc_open(struct inode *inode, struct file *file)
...
@@ -356,7 +357,7 @@ static int rtc_open(struct inode *inode, struct file *file)
{
{
int
ret
;
int
ret
;
down
(
&
rtc_sem
);
mutex_lock
(
&
rtc_mutex
);
if
(
rtc_inuse
)
{
if
(
rtc_inuse
)
{
ret
=
-
EBUSY
;
ret
=
-
EBUSY
;
...
@@ -374,7 +375,7 @@ static int rtc_open(struct inode *inode, struct file *file)
...
@@ -374,7 +375,7 @@ static int rtc_open(struct inode *inode, struct file *file)
rtc_inuse
=
1
;
rtc_inuse
=
1
;
}
}
}
}
up
(
&
rtc_sem
);
mutex_unlock
(
&
rtc_mutex
);
return
ret
;
return
ret
;
}
}
...
@@ -480,7 +481,7 @@ int register_rtc(struct rtc_ops *ops)
...
@@ -480,7 +481,7 @@ int register_rtc(struct rtc_ops *ops)
{
{
int
ret
=
-
EBUSY
;
int
ret
=
-
EBUSY
;
down
(
&
rtc_sem
);
mutex_lock
(
&
rtc_mutex
);
if
(
rtc_ops
==
NULL
)
{
if
(
rtc_ops
==
NULL
)
{
rtc_ops
=
ops
;
rtc_ops
=
ops
;
...
@@ -489,7 +490,7 @@ int register_rtc(struct rtc_ops *ops)
...
@@ -489,7 +490,7 @@ int register_rtc(struct rtc_ops *ops)
create_proc_read_entry
(
"driver/rtc"
,
0
,
NULL
,
create_proc_read_entry
(
"driver/rtc"
,
0
,
NULL
,
rtc_read_proc
,
ops
);
rtc_read_proc
,
ops
);
}
}
up
(
&
rtc_sem
);
mutex_unlock
(
&
rtc_mutex
);
return
ret
;
return
ret
;
}
}
...
@@ -497,12 +498,12 @@ EXPORT_SYMBOL(register_rtc);
...
@@ -497,12 +498,12 @@ EXPORT_SYMBOL(register_rtc);
void
unregister_rtc
(
struct
rtc_ops
*
rtc
)
void
unregister_rtc
(
struct
rtc_ops
*
rtc
)
{
{
down
(
&
rtc_sem
);
mutex_lock
(
&
rtc_mutex
);
if
(
rtc
==
rtc_ops
)
{
if
(
rtc
==
rtc_ops
)
{
remove_proc_entry
(
"driver/rtc"
,
NULL
);
remove_proc_entry
(
"driver/rtc"
,
NULL
);
misc_deregister
(
&
rtc_miscdev
);
misc_deregister
(
&
rtc_miscdev
);
rtc_ops
=
NULL
;
rtc_ops
=
NULL
;
}
}
up
(
&
rtc_sem
);
mutex_unlock
(
&
rtc_mutex
);
}
}
EXPORT_SYMBOL
(
unregister_rtc
);
EXPORT_SYMBOL
(
unregister_rtc
);
arch/arm/configs/at91rm9200dk_defconfig
0 → 100644
View file @
bf785ee0
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.15
# Mon Jan 9 20:54:30 2006
#
CONFIG_ARM=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
#
# General setup
#
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_HOTPLUG=y
CONFIG_KOBJECT_UEVENT=y
# CONFIG_IKCONFIG is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
#
# Block layer
#
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
# CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_IOSCHED_CFQ is not set
CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
#
# System Type
#
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CO285 is not set
# CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_CAMELOT is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_IOP3XX is not set
# CONFIG_ARCH_IXP4XX is not set
# CONFIG_ARCH_IXP2000 is not set
# CONFIG_ARCH_L7200 is not set
# CONFIG_ARCH_PXA is not set
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_SA1100 is not set
# CONFIG_ARCH_S3C2410 is not set
# CONFIG_ARCH_SHARK is not set
# CONFIG_ARCH_LH7A40X is not set
# CONFIG_ARCH_OMAP is not set
# CONFIG_ARCH_VERSATILE is not set
# CONFIG_ARCH_REALVIEW is not set
# CONFIG_ARCH_IMX is not set
# CONFIG_ARCH_H720X is not set
# CONFIG_ARCH_AAEC2000 is not set
CONFIG_ARCH_AT91RM9200=y
#
# AT91RM9200 Implementations
#
#
# AT91RM9200 Board Type
#
CONFIG_ARCH_AT91RM9200DK=y
# CONFIG_MACH_AT91RM9200EK is not set
# CONFIG_MACH_CSB337 is not set
# CONFIG_MACH_CSB637 is not set
# CONFIG_MACH_CARMEVA is not set
# CONFIG_MACH_KB9200 is not set
# CONFIG_MACH_ATEB9200 is not set
#
# AT91RM9200 Feature Selections
#
CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
#
# Processor Type
#
CONFIG_CPU_32=y
CONFIG_CPU_ARM920T=y
CONFIG_CPU_32v4=y
CONFIG_CPU_ABRT_EV4T=y
CONFIG_CPU_CACHE_V4WT=y
CONFIG_CPU_CACHE_VIVT=y
CONFIG_CPU_COPY_V4WB=y
CONFIG_CPU_TLB_V4WBI=y
#
# Processor Features
#
# CONFIG_ARM_THUMB is not set
# CONFIG_CPU_ICACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
#
# Bus support
#
CONFIG_ISA_DMA_API=y
#
# PCCARD (PCMCIA/CardBus) support
#
CONFIG_PCCARD=y
# CONFIG_PCMCIA_DEBUG is not set
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_PCMCIA_IOCTL=y
#
# PC-card bridges
#
CONFIG_AT91_CF=y
#
# Kernel Features
#
# CONFIG_PREEMPT is not set
# CONFIG_NO_IDLE_HZ is not set
# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPLIT_PTLOCK_CPUS=4096
CONFIG_LEDS=y
CONFIG_LEDS_TIMER=y
# CONFIG_LEDS_CPU is not set
CONFIG_ALIGNMENT_TRAP=y
#
# Boot options
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE="mem=32M console=ttyS0,115200 initrd=0x20410000,3145728 root=/dev/ram0 rw"
# CONFIG_XIP_KERNEL is not set
#
# Floating point emulation
#
#
# At least one emulation must be selected
#
CONFIG_FPE_NWFPE=y
# CONFIG_FPE_NWFPE_XP is not set
# CONFIG_FPE_FASTFPE is not set
#
# Userspace binary formats
#
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_AOUT is not set
# CONFIG_BINFMT_MISC is not set
# CONFIG_ARTHUR is not set
#
# Power management options
#
# CONFIG_PM is not set
#
# Networking
#
CONFIG_NET=y
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
CONFIG_IP_PNP=y
# CONFIG_IP_PNP_DHCP is not set
CONFIG_IP_PNP_BOOTP=y
# CONFIG_IP_PNP_RARP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_TUNNEL is not set
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_BIC=y
# CONFIG_IPV6 is not set
# CONFIG_NETFILTER is not set
#
# DCCP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_DCCP is not set
#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_IEEE80211 is not set
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_DEBUG_DRIVER is not set
#
# Connector - unified userspace <-> kernelspace linker
#
# CONFIG_CONNECTOR is not set
#
# Memory Technology Devices (MTD)
#
CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_AFS_PARTS is not set
#
# User Modules And Translation Layers
#
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLOCK=y
# CONFIG_FTL is not set
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
CONFIG_MTD_JEDECPROBE=y
CONFIG_MTD_GEN_PROBE=y
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
# CONFIG_MTD_CFI_INTELEXT is not set
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_CFI_AMDSTD_RETRY=0
# CONFIG_MTD_CFI_STAA is not set
CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_XIP is not set
#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_PHYSMAP_START=0x10000000
CONFIG_MTD_PHYSMAP_LEN=0x200000
CONFIG_MTD_PHYSMAP_BANKWIDTH=2
# CONFIG_MTD_ARM_INTEGRATOR is not set
# CONFIG_MTD_IMPA7 is not set
# CONFIG_MTD_PLATRAM is not set
#
# Self-contained MTD device drivers
#
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLKMTD is not set
# CONFIG_MTD_BLOCK2MTD is not set
#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC2001PLUS is not set
CONFIG_MTD_AT91_DATAFLASH=y
CONFIG_MTD_AT91_DATAFLASH_CARD=y
#
# NAND Flash Device Drivers
#
# CONFIG_MTD_NAND is not set
#
# OneNAND Flash Device Drivers
#
# CONFIG_MTD_ONENAND is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set
#
# Plug and Play support
#
#
# Block devices
#
# CONFIG_BLK_DEV_COW_COMMON is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_BLK_DEV_INITRD=y
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
#
# ATA/ATAPI/MFM/RLL support
#
# CONFIG_IDE is not set
#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
# CONFIG_SCSI is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
#
#
# I2O device support
#
#
# Network device support
#
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
#
# PHY device support
#
# CONFIG_PHYLIB is not set
#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
CONFIG_ARM_AT91_ETHER=y
# CONFIG_SMC91X is not set
# CONFIG_DM9000 is not set
#
# Ethernet (1000 Mbit)
#
#
# Ethernet (10000 Mbit)
#
#
# Token Ring devices
#
#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set
#
# PCMCIA network device support
#
# CONFIG_NET_PCMCIA is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
#
# ISDN subsystem
#
# CONFIG_ISDN is not set
#
# Input device support
#
CONFIG_INPUT=y
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
#
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Hardware I/O ports
#
# CONFIG_SERIO is not set
# CONFIG_GAMEPORT is not set
#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set
#
# Serial drivers
#
# CONFIG_SERIAL_8250 is not set
#
# Non-8250 serial port support
#
CONFIG_SERIAL_AT91=y
CONFIG_SERIAL_AT91_CONSOLE=y
# CONFIG_SERIAL_AT91_TTYAT is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set
#
# Watchdog Cards
#
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_NOWAYOUT=y
#
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
CONFIG_AT91_WATCHDOG=y
#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
# CONFIG_NVRAM is not set
# CONFIG_RTC is not set
CONFIG_AT91_RTC=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
#
# Ftape, the floppy tape device driver
#
#
# PCMCIA character devices
#
# CONFIG_SYNCLINK_CS is not set
# CONFIG_CARDMAN_4000 is not set
# CONFIG_CARDMAN_4040 is not set
# CONFIG_RAW_DRIVER is not set
#
# TPM devices
#
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_AT91_SPI=y
CONFIG_AT91_SPIDEV=y
#
# I2C support
#
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
#
# I2C Algorithms
#
# CONFIG_I2C_ALGOBIT is not set
# CONFIG_I2C_ALGOPCF is not set
# CONFIG_I2C_ALGOPCA is not set
#
# I2C Hardware Bus support
#
CONFIG_I2C_AT91=y
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_PCA_ISA is not set
#
# Miscellaneous I2C Chip support
#
# CONFIG_SENSORS_DS1337 is not set
# CONFIG_SENSORS_DS1374 is not set
# CONFIG_SENSORS_EEPROM is not set
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCA9539 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_RTC8564 is not set
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_RTC_X1205_I2C is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set
#
# Hardware Monitoring support
#
CONFIG_HWMON=y
# CONFIG_HWMON_VID is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_FSCPOS is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_HWMON_DEBUG_CHIP is not set
#
# Misc devices
#
#
# Multimedia Capabilities Port drivers
#
#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set
#
# Graphics support
#
# CONFIG_FB is not set
#
# Console display driver support
#
# CONFIG_VGA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
#
# Sound
#
# CONFIG_SOUND is not set
#
# USB support
#
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB=y
CONFIG_USB_DEBUG=y
#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG is not set
#
# USB Host Controller Drivers
#
# CONFIG_USB_ISP116X_HCD is not set
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_BIG_ENDIAN is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
# CONFIG_USB_SL811_HCD is not set
#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#
#
# may also be needed; see USB_STORAGE Help for more information
#
# CONFIG_USB_STORAGE is not set
#
# USB Input Devices
#
# CONFIG_USB_HID is not set
#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_ACECAD is not set
# CONFIG_USB_KBTAB is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_MTOUCH is not set
# CONFIG_USB_ITMTOUCH is not set
# CONFIG_USB_EGALAX is not set
# CONFIG_USB_YEALINK is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_ATI_REMOTE is not set
# CONFIG_USB_KEYSPAN_REMOTE is not set
# CONFIG_USB_APPLETOUCH is not set
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
#
# USB Multimedia devices
#
# CONFIG_USB_DABUSB is not set
#
# Video4Linux support is needed for USB Multimedia device support
#
#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
CONFIG_USB_MON=y
#
# USB port drivers
#
#
# USB Serial Converter support
#
# CONFIG_USB_SERIAL is not set
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGETKIT is not set
# CONFIG_USB_PHIDGETSERVO is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TEST is not set
#
# USB DSL modem support
#
#
# USB Gadget Support
#
CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG_FILES is not set
CONFIG_USB_GADGET_SELECTED=y
# CONFIG_USB_GADGET_NET2280 is not set
# CONFIG_USB_GADGET_PXA2XX is not set
# CONFIG_USB_GADGET_GOKU is not set
# CONFIG_USB_GADGET_LH7A40X is not set
# CONFIG_USB_GADGET_OMAP is not set
CONFIG_USB_GADGET_AT91=y
CONFIG_USB_AT91=y
# CONFIG_USB_GADGET_DUMMY_HCD is not set
# CONFIG_USB_GADGET_DUALSPEED is not set
# CONFIG_USB_ZERO is not set
# CONFIG_USB_ETH is not set
# CONFIG_USB_GADGETFS is not set
# CONFIG_USB_FILE_STORAGE is not set
# CONFIG_USB_G_SERIAL is not set
#
# MMC/SD Card support
#
CONFIG_MMC=y
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_BLOCK=y
# CONFIG_MMC_WBSD is not set
CONFIG_MMC_AT91RM9200=y
#
# File systems
#
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT2_FS_XIP is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_FS_POSIX_ACL is not set
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_INOTIFY=y
# CONFIG_QUOTA is not set
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set
#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set
#
# DOS/FAT/NT Filesystems
#
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
# CONFIG_RELAYFS_FS is not set
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
# CONFIG_JFFS2_FS is not set
CONFIG_CRAMFS=y
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
#
# Network File Systems
#
# CONFIG_NFS_FS is not set
# CONFIG_NFSD is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
# CONFIG_9P_FS is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
#
# Native Language Support
#
# CONFIG_NLS is not set
#
# Profiling support
#
# CONFIG_PROFILING is not set
#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_MAGIC_SYSRQ is not set
CONFIG_LOG_BUF_SHIFT=14
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_DEBUG_VM is not set
CONFIG_FRAME_POINTER=y
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_DEBUG_USER=y
# CONFIG_DEBUG_WAITQ is not set
# CONFIG_DEBUG_ERRORS is not set
CONFIG_DEBUG_LL=y
# CONFIG_DEBUG_ICEDCC is not set
#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set
#
# Cryptographic options
#
# CONFIG_CRYPTO is not set
#
# Hardware crypto devices
#
#
# Library routines
#
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set
CONFIG_CRC32=y
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=y
arch/arm/configs/at91rm9200ek_defconfig
0 → 100644
View file @
bf785ee0
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.15
# Mon Jan 9 20:57:31 2006
#
CONFIG_ARM=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
#
# General setup
#
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_HOTPLUG=y
CONFIG_KOBJECT_UEVENT=y
# CONFIG_IKCONFIG is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
#
# Block layer
#
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
# CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_IOSCHED_CFQ is not set
CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
#
# System Type
#
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CO285 is not set
# CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_CAMELOT is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_IOP3XX is not set
# CONFIG_ARCH_IXP4XX is not set
# CONFIG_ARCH_IXP2000 is not set
# CONFIG_ARCH_L7200 is not set
# CONFIG_ARCH_PXA is not set
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_SA1100 is not set
# CONFIG_ARCH_S3C2410 is not set
# CONFIG_ARCH_SHARK is not set
# CONFIG_ARCH_LH7A40X is not set
# CONFIG_ARCH_OMAP is not set
# CONFIG_ARCH_VERSATILE is not set
# CONFIG_ARCH_REALVIEW is not set
# CONFIG_ARCH_IMX is not set
# CONFIG_ARCH_H720X is not set
# CONFIG_ARCH_AAEC2000 is not set
CONFIG_ARCH_AT91RM9200=y
#
# AT91RM9200 Implementations
#
#
# AT91RM9200 Board Type
#
# CONFIG_ARCH_AT91RM9200DK is not set
CONFIG_MACH_AT91RM9200EK=y
# CONFIG_MACH_CSB337 is not set
# CONFIG_MACH_CSB637 is not set
# CONFIG_MACH_CARMEVA is not set
# CONFIG_MACH_KB9200 is not set
# CONFIG_MACH_ATEB9200 is not set
#
# AT91RM9200 Feature Selections
#
CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
#
# Processor Type
#
CONFIG_CPU_32=y
CONFIG_CPU_ARM920T=y
CONFIG_CPU_32v4=y
CONFIG_CPU_ABRT_EV4T=y
CONFIG_CPU_CACHE_V4WT=y
CONFIG_CPU_CACHE_VIVT=y
CONFIG_CPU_COPY_V4WB=y
CONFIG_CPU_TLB_V4WBI=y
#
# Processor Features
#
# CONFIG_ARM_THUMB is not set
# CONFIG_CPU_ICACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
#
# Bus support
#
CONFIG_ISA_DMA_API=y
#
# PCCARD (PCMCIA/CardBus) support
#
# CONFIG_PCCARD is not set
#
# Kernel Features
#
# CONFIG_PREEMPT is not set
# CONFIG_NO_IDLE_HZ is not set
# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPLIT_PTLOCK_CPUS=4096
CONFIG_LEDS=y
CONFIG_LEDS_TIMER=y
CONFIG_LEDS_CPU=y
CONFIG_ALIGNMENT_TRAP=y
#
# Boot options
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE="mem=32M console=ttyS0,115200 initrd=0x20410000,3145728 root=/dev/ram0 rw"
# CONFIG_XIP_KERNEL is not set
#
# Floating point emulation
#
#
# At least one emulation must be selected
#
CONFIG_FPE_NWFPE=y
# CONFIG_FPE_NWFPE_XP is not set
# CONFIG_FPE_FASTFPE is not set
#
# Userspace binary formats
#
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_AOUT is not set
# CONFIG_BINFMT_MISC is not set
# CONFIG_ARTHUR is not set
#
# Power management options
#
# CONFIG_PM is not set
#
# Networking
#
CONFIG_NET=y
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
CONFIG_IP_PNP=y
# CONFIG_IP_PNP_DHCP is not set
CONFIG_IP_PNP_BOOTP=y
# CONFIG_IP_PNP_RARP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_TUNNEL is not set
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_BIC=y
# CONFIG_IPV6 is not set
# CONFIG_NETFILTER is not set
#
# DCCP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_DCCP is not set
#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_IEEE80211 is not set
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_FW_LOADER is not set
# CONFIG_DEBUG_DRIVER is not set
#
# Connector - unified userspace <-> kernelspace linker
#
# CONFIG_CONNECTOR is not set
#
# Memory Technology Devices (MTD)
#
CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_AFS_PARTS is not set
#
# User Modules And Translation Layers
#
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLOCK=y
# CONFIG_FTL is not set
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
CONFIG_MTD_JEDECPROBE=y
CONFIG_MTD_GEN_PROBE=y
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
# CONFIG_MTD_CFI_INTELEXT is not set
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_CFI_AMDSTD_RETRY=0
# CONFIG_MTD_CFI_STAA is not set
CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_XIP is not set
#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_PHYSMAP_START=0x10000000
CONFIG_MTD_PHYSMAP_LEN=0x800000
CONFIG_MTD_PHYSMAP_BANKWIDTH=2
# CONFIG_MTD_ARM_INTEGRATOR is not set
# CONFIG_MTD_IMPA7 is not set
# CONFIG_MTD_PLATRAM is not set
#
# Self-contained MTD device drivers
#
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLKMTD is not set
# CONFIG_MTD_BLOCK2MTD is not set
#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC2001PLUS is not set
CONFIG_MTD_AT91_DATAFLASH=y
CONFIG_MTD_AT91_DATAFLASH_CARD=y
#
# NAND Flash Device Drivers
#
# CONFIG_MTD_NAND is not set
#
# OneNAND Flash Device Drivers
#
# CONFIG_MTD_ONENAND is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set
#
# Plug and Play support
#
#
# Block devices
#
# CONFIG_BLK_DEV_COW_COMMON is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_BLK_DEV_INITRD=y
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
# CONFIG_SCSI is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
#
#
# I2O device support
#
#
# Network device support
#
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
#
# PHY device support
#
# CONFIG_PHYLIB is not set
#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
CONFIG_ARM_AT91_ETHER=y
# CONFIG_SMC91X is not set
# CONFIG_DM9000 is not set
#
# Ethernet (1000 Mbit)
#
#
# Ethernet (10000 Mbit)
#
#
# Token Ring devices
#
#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
#
# ISDN subsystem
#
# CONFIG_ISDN is not set
#
# Input device support
#
CONFIG_INPUT=y
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
#
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Hardware I/O ports
#
# CONFIG_SERIO is not set
# CONFIG_GAMEPORT is not set
#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set
#
# Serial drivers
#
# CONFIG_SERIAL_8250 is not set
#
# Non-8250 serial port support
#
CONFIG_SERIAL_AT91=y
CONFIG_SERIAL_AT91_CONSOLE=y
# CONFIG_SERIAL_AT91_TTYAT is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set
#
# Watchdog Cards
#
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_NOWAYOUT=y
#
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
CONFIG_AT91_WATCHDOG=y
#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
# CONFIG_NVRAM is not set
# CONFIG_RTC is not set
CONFIG_AT91_RTC=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
#
# Ftape, the floppy tape device driver
#
# CONFIG_RAW_DRIVER is not set
#
# TPM devices
#
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_AT91_SPI=y
CONFIG_AT91_SPIDEV=y
#
# I2C support
#
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
#
# I2C Algorithms
#
# CONFIG_I2C_ALGOBIT is not set
# CONFIG_I2C_ALGOPCF is not set
# CONFIG_I2C_ALGOPCA is not set
#
# I2C Hardware Bus support
#
CONFIG_I2C_AT91=y
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_PCA_ISA is not set
#
# Miscellaneous I2C Chip support
#
# CONFIG_SENSORS_DS1337 is not set
# CONFIG_SENSORS_DS1374 is not set
# CONFIG_SENSORS_EEPROM is not set
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCA9539 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_RTC8564 is not set
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_RTC_X1205_I2C is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set
#
# Hardware Monitoring support
#
CONFIG_HWMON=y
# CONFIG_HWMON_VID is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_FSCPOS is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_HWMON_DEBUG_CHIP is not set
#
# Misc devices
#
#
# Multimedia Capabilities Port drivers
#
#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set
#
# Graphics support
#
CONFIG_FB=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_MODE_HELPERS is not set
# CONFIG_FB_TILEBLITTING is not set
CONFIG_FB_S1D13XXX=y
# CONFIG_FB_VIRTUAL is not set
#
# Console display driver support
#
# CONFIG_VGA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE is not set
#
# Logo configuration
#
# CONFIG_LOGO is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Sound
#
# CONFIG_SOUND is not set
#
# USB support
#
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB=y
CONFIG_USB_DEBUG=y
#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG is not set
#
# USB Host Controller Drivers
#
# CONFIG_USB_ISP116X_HCD is not set
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_BIG_ENDIAN is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
# CONFIG_USB_SL811_HCD is not set
#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#
#
# may also be needed; see USB_STORAGE Help for more information
#
# CONFIG_USB_STORAGE is not set
#
# USB Input Devices
#
# CONFIG_USB_HID is not set
#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_ACECAD is not set
# CONFIG_USB_KBTAB is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_MTOUCH is not set
# CONFIG_USB_ITMTOUCH is not set
# CONFIG_USB_EGALAX is not set
# CONFIG_USB_YEALINK is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_ATI_REMOTE is not set
# CONFIG_USB_KEYSPAN_REMOTE is not set
# CONFIG_USB_APPLETOUCH is not set
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
#
# USB Multimedia devices
#
# CONFIG_USB_DABUSB is not set
#
# Video4Linux support is needed for USB Multimedia device support
#
#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
CONFIG_USB_MON=y
#
# USB port drivers
#
#
# USB Serial Converter support
#
# CONFIG_USB_SERIAL is not set
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGETKIT is not set
# CONFIG_USB_PHIDGETSERVO is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TEST is not set
#
# USB DSL modem support
#
#
# USB Gadget Support
#
CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG_FILES is not set
CONFIG_USB_GADGET_SELECTED=y
# CONFIG_USB_GADGET_NET2280 is not set
# CONFIG_USB_GADGET_PXA2XX is not set
# CONFIG_USB_GADGET_GOKU is not set
# CONFIG_USB_GADGET_LH7A40X is not set
# CONFIG_USB_GADGET_OMAP is not set
CONFIG_USB_GADGET_AT91=y
CONFIG_USB_AT91=y
# CONFIG_USB_GADGET_DUMMY_HCD is not set
# CONFIG_USB_GADGET_DUALSPEED is not set
# CONFIG_USB_ZERO is not set
# CONFIG_USB_ETH is not set
# CONFIG_USB_GADGETFS is not set
# CONFIG_USB_FILE_STORAGE is not set
# CONFIG_USB_G_SERIAL is not set
#
# MMC/SD Card support
#
CONFIG_MMC=y
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_BLOCK=y
# CONFIG_MMC_WBSD is not set
CONFIG_MMC_AT91RM9200=y
#
# File systems
#
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT2_FS_XIP is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_FS_POSIX_ACL is not set
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_INOTIFY=y
# CONFIG_QUOTA is not set
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set
#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set
#
# DOS/FAT/NT Filesystems
#
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
# CONFIG_RELAYFS_FS is not set
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
# CONFIG_JFFS2_FS is not set
CONFIG_CRAMFS=y
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
#
# Network File Systems
#
# CONFIG_NFS_FS is not set
# CONFIG_NFSD is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
# CONFIG_9P_FS is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
#
# Native Language Support
#
# CONFIG_NLS is not set
#
# Profiling support
#
# CONFIG_PROFILING is not set
#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_MAGIC_SYSRQ is not set
CONFIG_LOG_BUF_SHIFT=14
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_DEBUG_VM is not set
CONFIG_FRAME_POINTER=y
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_DEBUG_USER=y
# CONFIG_DEBUG_WAITQ is not set
# CONFIG_DEBUG_ERRORS is not set
CONFIG_DEBUG_LL=y
# CONFIG_DEBUG_ICEDCC is not set
#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set
#
# Cryptographic options
#
# CONFIG_CRYPTO is not set
#
# Hardware crypto devices
#
#
# Library routines
#
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set
CONFIG_CRC32=y
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=y
arch/arm/configs/csb337_defconfig
0 → 100644
View file @
bf785ee0
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.15
# Mon Jan 9 21:51:31 2006
#
CONFIG_ARM=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
#
# General setup
#
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_HOTPLUG=y
CONFIG_KOBJECT_UEVENT=y
# CONFIG_IKCONFIG is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
#
# Block layer
#
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
#
# System Type
#
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CO285 is not set
# CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_CAMELOT is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_IOP3XX is not set
# CONFIG_ARCH_IXP4XX is not set
# CONFIG_ARCH_IXP2000 is not set
# CONFIG_ARCH_L7200 is not set
# CONFIG_ARCH_PXA is not set
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_SA1100 is not set
# CONFIG_ARCH_S3C2410 is not set
# CONFIG_ARCH_SHARK is not set
# CONFIG_ARCH_LH7A40X is not set
# CONFIG_ARCH_OMAP is not set
# CONFIG_ARCH_VERSATILE is not set
# CONFIG_ARCH_REALVIEW is not set
# CONFIG_ARCH_IMX is not set
# CONFIG_ARCH_H720X is not set
# CONFIG_ARCH_AAEC2000 is not set
CONFIG_ARCH_AT91RM9200=y
#
# AT91RM9200 Implementations
#
#
# AT91RM9200 Board Type
#
# CONFIG_ARCH_AT91RM9200DK is not set
# CONFIG_MACH_AT91RM9200EK is not set
CONFIG_MACH_CSB337=y
# CONFIG_MACH_CSB637 is not set
# CONFIG_MACH_CARMEVA is not set
# CONFIG_MACH_KB9200 is not set
# CONFIG_MACH_ATEB9200 is not set
#
# AT91RM9200 Feature Selections
#
CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
#
# Processor Type
#
CONFIG_CPU_32=y
CONFIG_CPU_ARM920T=y
CONFIG_CPU_32v4=y
CONFIG_CPU_ABRT_EV4T=y
CONFIG_CPU_CACHE_V4WT=y
CONFIG_CPU_CACHE_VIVT=y
CONFIG_CPU_COPY_V4WB=y
CONFIG_CPU_TLB_V4WBI=y
#
# Processor Features
#
# CONFIG_ARM_THUMB is not set
# CONFIG_CPU_ICACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
#
# Bus support
#
CONFIG_ISA_DMA_API=y
#
# PCCARD (PCMCIA/CardBus) support
#
CONFIG_PCCARD=y
# CONFIG_PCMCIA_DEBUG is not set
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_PCMCIA_IOCTL=y
#
# PC-card bridges
#
CONFIG_AT91_CF=y
#
# Kernel Features
#
# CONFIG_PREEMPT is not set
# CONFIG_NO_IDLE_HZ is not set
# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPLIT_PTLOCK_CPUS=4096
CONFIG_LEDS=y
CONFIG_LEDS_TIMER=y
CONFIG_LEDS_CPU=y
CONFIG_ALIGNMENT_TRAP=y
#
# Boot options
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE="mem=32M console=ttyS0,38400 initrd=0x20410000,3145728 root=/dev/ram0 rw"
# CONFIG_XIP_KERNEL is not set
#
# Floating point emulation
#
#
# At least one emulation must be selected
#
CONFIG_FPE_NWFPE=y
# CONFIG_FPE_NWFPE_XP is not set
# CONFIG_FPE_FASTFPE is not set
#
# Userspace binary formats
#
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_AOUT is not set
# CONFIG_BINFMT_MISC is not set
# CONFIG_ARTHUR is not set
#
# Power management options
#
# CONFIG_PM is not set
#
# Networking
#
CONFIG_NET=y
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
# CONFIG_IP_PNP_RARP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_TUNNEL is not set
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_BIC=y
# CONFIG_IPV6 is not set
# CONFIG_NETFILTER is not set
#
# DCCP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_DCCP is not set
#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_IEEE80211 is not set
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_DEBUG_DRIVER is not set
#
# Connector - unified userspace <-> kernelspace linker
#
# CONFIG_CONNECTOR is not set
#
# Memory Technology Devices (MTD)
#
CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_AFS_PARTS is not set
#
# User Modules And Translation Layers
#
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLOCK=y
# CONFIG_FTL is not set
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_GEN_PROBE=y
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
CONFIG_MTD_CFI_INTELEXT=y
# CONFIG_MTD_CFI_AMDSTD is not set
# CONFIG_MTD_CFI_STAA is not set
CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_XIP is not set
#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PHYSMAP is not set
# CONFIG_MTD_ARM_INTEGRATOR is not set
# CONFIG_MTD_PLATRAM is not set
CONFIG_MTD_CSB337=y
#
# Self-contained MTD device drivers
#
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLKMTD is not set
# CONFIG_MTD_BLOCK2MTD is not set
#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC2001PLUS is not set
# CONFIG_MTD_AT91_DATAFLASH is not set
#
# NAND Flash Device Drivers
#
# CONFIG_MTD_NAND is not set
#
# OneNAND Flash Device Drivers
#
# CONFIG_MTD_ONENAND is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set
#
# Plug and Play support
#
#
# Block devices
#
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_BLK_DEV_INITRD=y
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
#
# ATA/ATAPI/MFM/RLL support
#
# CONFIG_IDE is not set
#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
# CONFIG_BLK_DEV_SD is not set
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not set
# CONFIG_CHR_DEV_SG is not set
# CONFIG_CHR_DEV_SCH is not set
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
#
# SCSI Transport Attributes
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_ATTRS is not set
#
# SCSI low-level drivers
#
# CONFIG_ISCSI_TCP is not set
# CONFIG_SCSI_SATA is not set
# CONFIG_SCSI_DEBUG is not set
#
# PCMCIA SCSI adapter support
#
# CONFIG_PCMCIA_AHA152X is not set
# CONFIG_PCMCIA_FDOMAIN is not set
# CONFIG_PCMCIA_NINJA_SCSI is not set
# CONFIG_PCMCIA_QLOGIC is not set
# CONFIG_PCMCIA_SYM53C500 is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
#
#
# I2O device support
#
#
# Network device support
#
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
#
# PHY device support
#
# CONFIG_PHYLIB is not set
#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
CONFIG_ARM_AT91_ETHER=y
# CONFIG_SMC91X is not set
# CONFIG_DM9000 is not set
#
# Ethernet (1000 Mbit)
#
#
# Ethernet (10000 Mbit)
#
#
# Token Ring devices
#
#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set
#
# PCMCIA network device support
#
# CONFIG_NET_PCMCIA is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
#
# ISDN subsystem
#
# CONFIG_ISDN is not set
#
# Input device support
#
CONFIG_INPUT=y
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
#
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Hardware I/O ports
#
# CONFIG_SERIO is not set
# CONFIG_GAMEPORT is not set
#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set
#
# Serial drivers
#
# CONFIG_SERIAL_8250 is not set
#
# Non-8250 serial port support
#
CONFIG_SERIAL_AT91=y
CONFIG_SERIAL_AT91_CONSOLE=y
# CONFIG_SERIAL_AT91_TTYAT is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set
#
# Watchdog Cards
#
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_NOWAYOUT=y
#
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
CONFIG_AT91_WATCHDOG=y
#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
# CONFIG_NVRAM is not set
CONFIG_RTC=y
# CONFIG_AT91_RTC is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
#
# Ftape, the floppy tape device driver
#
#
# PCMCIA character devices
#
# CONFIG_SYNCLINK_CS is not set
# CONFIG_CARDMAN_4000 is not set
# CONFIG_CARDMAN_4040 is not set
# CONFIG_RAW_DRIVER is not set
#
# TPM devices
#
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_AT91_SPI=y
CONFIG_AT91_SPIDEV=y
#
# I2C support
#
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
#
# I2C Algorithms
#
# CONFIG_I2C_ALGOBIT is not set
# CONFIG_I2C_ALGOPCF is not set
# CONFIG_I2C_ALGOPCA is not set
#
# I2C Hardware Bus support
#
CONFIG_I2C_AT91=y
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_PCA_ISA is not set
#
# Miscellaneous I2C Chip support
#
# CONFIG_SENSORS_DS1337 is not set
# CONFIG_SENSORS_DS1374 is not set
# CONFIG_SENSORS_EEPROM is not set
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCA9539 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_RTC8564 is not set
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_RTC_X1205_I2C is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set
#
# Hardware Monitoring support
#
CONFIG_HWMON=y
# CONFIG_HWMON_VID is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_FSCPOS is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_HWMON_DEBUG_CHIP is not set
#
# Misc devices
#
#
# Multimedia Capabilities Port drivers
#
#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set
#
# Graphics support
#
# CONFIG_FB is not set
#
# Console display driver support
#
# CONFIG_VGA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
#
# Sound
#
# CONFIG_SOUND is not set
#
# USB support
#
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB=y
CONFIG_USB_DEBUG=y
#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG is not set
#
# USB Host Controller Drivers
#
# CONFIG_USB_ISP116X_HCD is not set
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_BIG_ENDIAN is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
# CONFIG_USB_SL811_HCD is not set
#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#
#
# may also be needed; see USB_STORAGE Help for more information
#
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
#
# USB Input Devices
#
# CONFIG_USB_HID is not set
#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_ACECAD is not set
# CONFIG_USB_KBTAB is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_MTOUCH is not set
# CONFIG_USB_ITMTOUCH is not set
# CONFIG_USB_EGALAX is not set
# CONFIG_USB_YEALINK is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_ATI_REMOTE is not set
# CONFIG_USB_KEYSPAN_REMOTE is not set
# CONFIG_USB_APPLETOUCH is not set
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
#
# USB Multimedia devices
#
# CONFIG_USB_DABUSB is not set
#
# Video4Linux support is needed for USB Multimedia device support
#
#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
CONFIG_USB_MON=y
#
# USB port drivers
#
#
# USB Serial Converter support
#
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_CONSOLE=y
CONFIG_USB_SERIAL_GENERIC=y
# CONFIG_USB_SERIAL_AIRPRIME is not set
# CONFIG_USB_SERIAL_ANYDATA is not set
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_WHITEHEAT is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
# CONFIG_USB_SERIAL_CP2101 is not set
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
# CONFIG_USB_SERIAL_EMPEG is not set
CONFIG_USB_SERIAL_FTDI_SIO=y
# CONFIG_USB_SERIAL_VISOR is not set
# CONFIG_USB_SERIAL_IPAQ is not set
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_GARMIN is not set
# CONFIG_USB_SERIAL_IPW is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
CONFIG_USB_SERIAL_KEYSPAN=y
CONFIG_USB_SERIAL_KEYSPAN_MPR=y
CONFIG_USB_SERIAL_KEYSPAN_USA28=y
CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
CONFIG_USB_SERIAL_KEYSPAN_USA19=y
CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
CONFIG_USB_SERIAL_MCT_U232=y
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_HP4X is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_TI is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_XIRCOM is not set
# CONFIG_USB_SERIAL_OPTION is not set
# CONFIG_USB_SERIAL_OMNINET is not set
CONFIG_USB_EZUSB=y
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGETKIT is not set
# CONFIG_USB_PHIDGETSERVO is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TEST is not set
#
# USB DSL modem support
#
#
# USB Gadget Support
#
CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG_FILES is not set
CONFIG_USB_GADGET_SELECTED=y
# CONFIG_USB_GADGET_NET2280 is not set
# CONFIG_USB_GADGET_PXA2XX is not set
# CONFIG_USB_GADGET_GOKU is not set
# CONFIG_USB_GADGET_LH7A40X is not set
# CONFIG_USB_GADGET_OMAP is not set
CONFIG_USB_GADGET_AT91=y
CONFIG_USB_AT91=y
# CONFIG_USB_GADGET_DUMMY_HCD is not set
# CONFIG_USB_GADGET_DUALSPEED is not set
# CONFIG_USB_ZERO is not set
# CONFIG_USB_ETH is not set
# CONFIG_USB_GADGETFS is not set
# CONFIG_USB_FILE_STORAGE is not set
# CONFIG_USB_G_SERIAL is not set
#
# MMC/SD Card support
#
CONFIG_MMC=y
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_BLOCK=y
# CONFIG_MMC_WBSD is not set
CONFIG_MMC_AT91RM9200=y
#
# File systems
#
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT2_FS_XIP is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_FS_POSIX_ACL is not set
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_INOTIFY=y
# CONFIG_QUOTA is not set
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set
#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set
#
# DOS/FAT/NT Filesystems
#
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
# CONFIG_RELAYFS_FS is not set
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
# CONFIG_JFFS2_FS is not set
CONFIG_CRAMFS=y
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
#
# Network File Systems
#
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
CONFIG_NFS_V4=y
# CONFIG_NFS_DIRECTIO is not set
# CONFIG_NFSD is not set
CONFIG_ROOT_NFS=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_RPCSEC_GSS_SPKM3 is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
# CONFIG_9P_FS is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
#
# Native Language Support
#
# CONFIG_NLS is not set
#
# Profiling support
#
# CONFIG_PROFILING is not set
#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_MAGIC_SYSRQ is not set
CONFIG_LOG_BUF_SHIFT=14
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_DEBUG_VM is not set
CONFIG_FRAME_POINTER=y
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_DEBUG_USER=y
# CONFIG_DEBUG_WAITQ is not set
# CONFIG_DEBUG_ERRORS is not set
CONFIG_DEBUG_LL=y
# CONFIG_DEBUG_ICEDCC is not set
#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set
#
# Cryptographic options
#
CONFIG_CRYPTO=y
# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_TGR192 is not set
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_AES is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_TEST is not set
#
# Hardware crypto devices
#
#
# Library routines
#
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set
CONFIG_CRC32=y
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=y
arch/arm/configs/csb637_defconfig
0 → 100644
View file @
bf785ee0
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.15
# Mon Jan 9 21:52:00 2006
#
CONFIG_ARM=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
#
# General setup
#
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_HOTPLUG=y
CONFIG_KOBJECT_UEVENT=y
# CONFIG_IKCONFIG is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
#
# Block layer
#
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
#
# System Type
#
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CO285 is not set
# CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_CAMELOT is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_IOP3XX is not set
# CONFIG_ARCH_IXP4XX is not set
# CONFIG_ARCH_IXP2000 is not set
# CONFIG_ARCH_L7200 is not set
# CONFIG_ARCH_PXA is not set
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_SA1100 is not set
# CONFIG_ARCH_S3C2410 is not set
# CONFIG_ARCH_SHARK is not set
# CONFIG_ARCH_LH7A40X is not set
# CONFIG_ARCH_OMAP is not set
# CONFIG_ARCH_VERSATILE is not set
# CONFIG_ARCH_REALVIEW is not set
# CONFIG_ARCH_IMX is not set
# CONFIG_ARCH_H720X is not set
# CONFIG_ARCH_AAEC2000 is not set
CONFIG_ARCH_AT91RM9200=y
#
# AT91RM9200 Implementations
#
#
# AT91RM9200 Board Type
#
# CONFIG_ARCH_AT91RM9200DK is not set
# CONFIG_MACH_AT91RM9200EK is not set
# CONFIG_MACH_CSB337 is not set
CONFIG_MACH_CSB637=y
# CONFIG_MACH_CARMEVA is not set
# CONFIG_MACH_KB9200 is not set
# CONFIG_MACH_ATEB9200 is not set
#
# AT91RM9200 Feature Selections
#
CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
#
# Processor Type
#
CONFIG_CPU_32=y
CONFIG_CPU_ARM920T=y
CONFIG_CPU_32v4=y
CONFIG_CPU_ABRT_EV4T=y
CONFIG_CPU_CACHE_V4WT=y
CONFIG_CPU_CACHE_VIVT=y
CONFIG_CPU_COPY_V4WB=y
CONFIG_CPU_TLB_V4WBI=y
#
# Processor Features
#
# CONFIG_ARM_THUMB is not set
# CONFIG_CPU_ICACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
#
# Bus support
#
CONFIG_ISA_DMA_API=y
#
# PCCARD (PCMCIA/CardBus) support
#
CONFIG_PCCARD=y
# CONFIG_PCMCIA_DEBUG is not set
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_PCMCIA_IOCTL=y
#
# PC-card bridges
#
CONFIG_AT91_CF=y
#
# Kernel Features
#
# CONFIG_PREEMPT is not set
# CONFIG_NO_IDLE_HZ is not set
# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPLIT_PTLOCK_CPUS=4096
CONFIG_LEDS=y
CONFIG_LEDS_TIMER=y
CONFIG_LEDS_CPU=y
CONFIG_ALIGNMENT_TRAP=y
#
# Boot options
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE="mem=32M console=ttyS0,38400 initrd=0x20410000,3145728 root=/dev/ram0 rw"
# CONFIG_XIP_KERNEL is not set
#
# Floating point emulation
#
#
# At least one emulation must be selected
#
CONFIG_FPE_NWFPE=y
# CONFIG_FPE_NWFPE_XP is not set
# CONFIG_FPE_FASTFPE is not set
#
# Userspace binary formats
#
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_AOUT is not set
# CONFIG_BINFMT_MISC is not set
# CONFIG_ARTHUR is not set
#
# Power management options
#
# CONFIG_PM is not set
#
# Networking
#
CONFIG_NET=y
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
# CONFIG_IP_PNP_RARP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_TUNNEL is not set
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_BIC=y
# CONFIG_IPV6 is not set
# CONFIG_NETFILTER is not set
#
# DCCP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_DCCP is not set
#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_IEEE80211 is not set
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_DEBUG_DRIVER is not set
#
# Connector - unified userspace <-> kernelspace linker
#
# CONFIG_CONNECTOR is not set
#
# Memory Technology Devices (MTD)
#
CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_AFS_PARTS is not set
#
# User Modules And Translation Layers
#
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLOCK=y
# CONFIG_FTL is not set
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_GEN_PROBE=y
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
CONFIG_MTD_CFI_INTELEXT=y
# CONFIG_MTD_CFI_AMDSTD is not set
# CONFIG_MTD_CFI_STAA is not set
CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_XIP is not set
#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PHYSMAP is not set
# CONFIG_MTD_ARM_INTEGRATOR is not set
# CONFIG_MTD_PLATRAM is not set
CONFIG_MTD_CSB637=y
#
# Self-contained MTD device drivers
#
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLKMTD is not set
# CONFIG_MTD_BLOCK2MTD is not set
#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC2001PLUS is not set
# CONFIG_MTD_AT91_DATAFLASH is not set
#
# NAND Flash Device Drivers
#
# CONFIG_MTD_NAND is not set
#
# OneNAND Flash Device Drivers
#
# CONFIG_MTD_ONENAND is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set
#
# Plug and Play support
#
#
# Block devices
#
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_BLK_DEV_INITRD=y
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
#
# ATA/ATAPI/MFM/RLL support
#
# CONFIG_IDE is not set
#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
# CONFIG_BLK_DEV_SD is not set
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not set
# CONFIG_CHR_DEV_SG is not set
# CONFIG_CHR_DEV_SCH is not set
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
#
# SCSI Transport Attributes
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_ATTRS is not set
#
# SCSI low-level drivers
#
# CONFIG_ISCSI_TCP is not set
# CONFIG_SCSI_SATA is not set
# CONFIG_SCSI_DEBUG is not set
#
# PCMCIA SCSI adapter support
#
# CONFIG_PCMCIA_AHA152X is not set
# CONFIG_PCMCIA_FDOMAIN is not set
# CONFIG_PCMCIA_NINJA_SCSI is not set
# CONFIG_PCMCIA_QLOGIC is not set
# CONFIG_PCMCIA_SYM53C500 is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
#
#
# I2O device support
#
#
# Network device support
#
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
#
# PHY device support
#
# CONFIG_PHYLIB is not set
#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
CONFIG_ARM_AT91_ETHER=y
# CONFIG_SMC91X is not set
# CONFIG_DM9000 is not set
#
# Ethernet (1000 Mbit)
#
#
# Ethernet (10000 Mbit)
#
#
# Token Ring devices
#
#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set
#
# PCMCIA network device support
#
# CONFIG_NET_PCMCIA is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
#
# ISDN subsystem
#
# CONFIG_ISDN is not set
#
# Input device support
#
CONFIG_INPUT=y
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
#
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Hardware I/O ports
#
# CONFIG_SERIO is not set
# CONFIG_GAMEPORT is not set
#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set
#
# Serial drivers
#
# CONFIG_SERIAL_8250 is not set
#
# Non-8250 serial port support
#
CONFIG_SERIAL_AT91=y
CONFIG_SERIAL_AT91_CONSOLE=y
# CONFIG_SERIAL_AT91_TTYAT is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set
#
# Watchdog Cards
#
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_NOWAYOUT=y
#
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
CONFIG_AT91_WATCHDOG=y
#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
# CONFIG_NVRAM is not set
CONFIG_RTC=y
# CONFIG_AT91_RTC is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
#
# Ftape, the floppy tape device driver
#
#
# PCMCIA character devices
#
# CONFIG_SYNCLINK_CS is not set
# CONFIG_CARDMAN_4000 is not set
# CONFIG_CARDMAN_4040 is not set
# CONFIG_RAW_DRIVER is not set
#
# TPM devices
#
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_AT91_SPI=y
CONFIG_AT91_SPIDEV=y
#
# I2C support
#
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
#
# I2C Algorithms
#
# CONFIG_I2C_ALGOBIT is not set
# CONFIG_I2C_ALGOPCF is not set
# CONFIG_I2C_ALGOPCA is not set
#
# I2C Hardware Bus support
#
CONFIG_I2C_AT91=y
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_PCA_ISA is not set
#
# Miscellaneous I2C Chip support
#
# CONFIG_SENSORS_DS1337 is not set
# CONFIG_SENSORS_DS1374 is not set
# CONFIG_SENSORS_EEPROM is not set
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCA9539 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_RTC8564 is not set
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_RTC_X1205_I2C is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set
#
# Hardware Monitoring support
#
CONFIG_HWMON=y
# CONFIG_HWMON_VID is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_FSCPOS is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_HWMON_DEBUG_CHIP is not set
#
# Misc devices
#
#
# Multimedia Capabilities Port drivers
#
#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set
#
# Graphics support
#
# CONFIG_FB is not set
#
# Console display driver support
#
# CONFIG_VGA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
#
# Sound
#
# CONFIG_SOUND is not set
#
# USB support
#
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB=y
CONFIG_USB_DEBUG=y
#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG is not set
#
# USB Host Controller Drivers
#
# CONFIG_USB_ISP116X_HCD is not set
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_BIG_ENDIAN is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
# CONFIG_USB_SL811_HCD is not set
#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#
#
# may also be needed; see USB_STORAGE Help for more information
#
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
#
# USB Input Devices
#
# CONFIG_USB_HID is not set
#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_ACECAD is not set
# CONFIG_USB_KBTAB is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_MTOUCH is not set
# CONFIG_USB_ITMTOUCH is not set
# CONFIG_USB_EGALAX is not set
# CONFIG_USB_YEALINK is not set
# CONFIG_USB_XPAD is not set
# CONFIG_USB_ATI_REMOTE is not set
# CONFIG_USB_KEYSPAN_REMOTE is not set
# CONFIG_USB_APPLETOUCH is not set
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
#
# USB Multimedia devices
#
# CONFIG_USB_DABUSB is not set
#
# Video4Linux support is needed for USB Multimedia device support
#
#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
CONFIG_USB_MON=y
#
# USB port drivers
#
#
# USB Serial Converter support
#
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_CONSOLE=y
CONFIG_USB_SERIAL_GENERIC=y
# CONFIG_USB_SERIAL_AIRPRIME is not set
# CONFIG_USB_SERIAL_ANYDATA is not set
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_WHITEHEAT is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
# CONFIG_USB_SERIAL_CP2101 is not set
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
# CONFIG_USB_SERIAL_EMPEG is not set
CONFIG_USB_SERIAL_FTDI_SIO=y
# CONFIG_USB_SERIAL_VISOR is not set
# CONFIG_USB_SERIAL_IPAQ is not set
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_GARMIN is not set
# CONFIG_USB_SERIAL_IPW is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
CONFIG_USB_SERIAL_KEYSPAN=y
CONFIG_USB_SERIAL_KEYSPAN_MPR=y
CONFIG_USB_SERIAL_KEYSPAN_USA28=y
CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
CONFIG_USB_SERIAL_KEYSPAN_USA19=y
CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
CONFIG_USB_SERIAL_MCT_U232=y
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_HP4X is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_TI is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_XIRCOM is not set
# CONFIG_USB_SERIAL_OPTION is not set
# CONFIG_USB_SERIAL_OMNINET is not set
CONFIG_USB_EZUSB=y
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGETKIT is not set
# CONFIG_USB_PHIDGETSERVO is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TEST is not set
#
# USB DSL modem support
#
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# MMC/SD Card support
#
# CONFIG_MMC is not set
#
# File systems
#
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT2_FS_XIP is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_FS_POSIX_ACL is not set
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_INOTIFY=y
# CONFIG_QUOTA is not set
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set
#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set
#
# DOS/FAT/NT Filesystems
#
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
# CONFIG_RELAYFS_FS is not set
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
# CONFIG_JFFS2_FS is not set
CONFIG_CRAMFS=y
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
#
# Network File Systems
#
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
CONFIG_NFS_V4=y
# CONFIG_NFS_DIRECTIO is not set
# CONFIG_NFSD is not set
CONFIG_ROOT_NFS=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_RPCSEC_GSS_SPKM3 is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
# CONFIG_9P_FS is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
#
# Native Language Support
#
# CONFIG_NLS is not set
#
# Profiling support
#
# CONFIG_PROFILING is not set
#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_MAGIC_SYSRQ is not set
CONFIG_LOG_BUF_SHIFT=14
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_DEBUG_VM is not set
CONFIG_FRAME_POINTER=y
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_DEBUG_USER=y
# CONFIG_DEBUG_WAITQ is not set
# CONFIG_DEBUG_ERRORS is not set
CONFIG_DEBUG_LL=y
# CONFIG_DEBUG_ICEDCC is not set
#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set
#
# Cryptographic options
#
CONFIG_CRYPTO=y
# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_TGR192 is not set
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_AES is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_TEST is not set
#
# Hardware crypto devices
#
#
# Library routines
#
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set
CONFIG_CRC32=y
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=y
arch/arm/kernel/ecard.c
View file @
bf785ee0
...
@@ -40,6 +40,7 @@
...
@@ -40,6 +40,7 @@
#include <linux/proc_fs.h>
#include <linux/proc_fs.h>
#include <linux/device.h>
#include <linux/device.h>
#include <linux/init.h>
#include <linux/init.h>
#include <linux/mutex.h>
#include <asm/dma.h>
#include <asm/dma.h>
#include <asm/ecard.h>
#include <asm/ecard.h>
...
@@ -206,7 +207,7 @@ static void ecard_task_readbytes(struct ecard_request *req)
...
@@ -206,7 +207,7 @@ static void ecard_task_readbytes(struct ecard_request *req)
static
DECLARE_WAIT_QUEUE_HEAD
(
ecard_wait
);
static
DECLARE_WAIT_QUEUE_HEAD
(
ecard_wait
);
static
struct
ecard_request
*
ecard_req
;
static
struct
ecard_request
*
ecard_req
;
static
DE
CLARE_MUTEX
(
ecard_sem
);
static
DE
FINE_MUTEX
(
ecard_mutex
);
/*
/*
* Set up the expansion card daemon's page tables.
* Set up the expansion card daemon's page tables.
...
@@ -299,7 +300,7 @@ static void ecard_call(struct ecard_request *req)
...
@@ -299,7 +300,7 @@ static void ecard_call(struct ecard_request *req)
req
->
complete
=
&
completion
;
req
->
complete
=
&
completion
;
down
(
&
ecard_sem
);
mutex_lock
(
&
ecard_mutex
);
ecard_req
=
req
;
ecard_req
=
req
;
wake_up
(
&
ecard_wait
);
wake_up
(
&
ecard_wait
);
...
@@ -307,7 +308,7 @@ static void ecard_call(struct ecard_request *req)
...
@@ -307,7 +308,7 @@ static void ecard_call(struct ecard_request *req)
* Now wait for kecardd to run.
* Now wait for kecardd to run.
*/
*/
wait_for_completion
(
&
completion
);
wait_for_completion
(
&
completion
);
up
(
&
ecard_sem
);
mutex_unlock
(
&
ecard_mutex
);
}
}
/* ======================= Mid-level card control ===================== */
/* ======================= Mid-level card control ===================== */
...
...
arch/arm/kernel/fiq.c
View file @
bf785ee0
...
@@ -101,7 +101,7 @@ void __attribute__((naked)) set_fiq_regs(struct pt_regs *regs)
...
@@ -101,7 +101,7 @@ void __attribute__((naked)) set_fiq_regs(struct pt_regs *regs)
ldmia %1, {r8 - r14}
\n
\
ldmia %1, {r8 - r14}
\n
\
msr cpsr_c, %0 @ return to SVC mode
\n
\
msr cpsr_c, %0 @ return to SVC mode
\n
\
mov r0, r0
\n
\
mov r0, r0
\n
\
ldm
ea f
p, {fp, sp, pc}"
ldm
fd s
p, {fp, sp, pc}"
:
"=&r"
(
tmp
)
:
"=&r"
(
tmp
)
:
"r"
(
&
regs
->
ARM_r8
),
"I"
(
PSR_I_BIT
|
PSR_F_BIT
|
FIQ_MODE
));
:
"r"
(
&
regs
->
ARM_r8
),
"I"
(
PSR_I_BIT
|
PSR_F_BIT
|
FIQ_MODE
));
}
}
...
@@ -119,7 +119,7 @@ void __attribute__((naked)) get_fiq_regs(struct pt_regs *regs)
...
@@ -119,7 +119,7 @@ void __attribute__((naked)) get_fiq_regs(struct pt_regs *regs)
stmia %1, {r8 - r14}
\n
\
stmia %1, {r8 - r14}
\n
\
msr cpsr_c, %0 @ return to SVC mode
\n
\
msr cpsr_c, %0 @ return to SVC mode
\n
\
mov r0, r0
\n
\
mov r0, r0
\n
\
ldm
ea f
p, {fp, sp, pc}"
ldm
fd s
p, {fp, sp, pc}"
:
"=&r"
(
tmp
)
:
"=&r"
(
tmp
)
:
"r"
(
&
regs
->
ARM_r8
),
"I"
(
PSR_I_BIT
|
PSR_F_BIT
|
FIQ_MODE
));
:
"r"
(
&
regs
->
ARM_r8
),
"I"
(
PSR_I_BIT
|
PSR_F_BIT
|
FIQ_MODE
));
}
}
...
...
arch/arm/kernel/setup.c
View file @
bf785ee0
...
@@ -205,7 +205,7 @@ static const char *proc_arch[] = {
...
@@ -205,7 +205,7 @@ static const char *proc_arch[] = {
"5TE"
,
"5TE"
,
"5TEJ"
,
"5TEJ"
,
"6TEJ"
,
"6TEJ"
,
"
?(10)
"
,
"
7
"
,
"?(11)"
,
"?(11)"
,
"?(12)"
,
"?(12)"
,
"?(13)"
,
"?(13)"
,
...
@@ -258,14 +258,17 @@ int cpu_architecture(void)
...
@@ -258,14 +258,17 @@ int cpu_architecture(void)
{
{
int
cpu_arch
;
int
cpu_arch
;
if
((
processor_id
&
0x000
0
f000
)
==
0
)
{
if
((
processor_id
&
0x000
8
f000
)
==
0
)
{
cpu_arch
=
CPU_ARCH_UNKNOWN
;
cpu_arch
=
CPU_ARCH_UNKNOWN
;
}
else
if
((
processor_id
&
0x000
0
f000
)
==
0x00007000
)
{
}
else
if
((
processor_id
&
0x000
8
f000
)
==
0x00007000
)
{
cpu_arch
=
(
processor_id
&
(
1
<<
23
))
?
CPU_ARCH_ARMv4T
:
CPU_ARCH_ARMv3
;
cpu_arch
=
(
processor_id
&
(
1
<<
23
))
?
CPU_ARCH_ARMv4T
:
CPU_ARCH_ARMv3
;
}
else
{
}
else
if
((
processor_id
&
0x00080000
)
==
0x00000000
)
{
cpu_arch
=
(
processor_id
>>
16
)
&
7
;
cpu_arch
=
(
processor_id
>>
16
)
&
7
;
if
(
cpu_arch
)
if
(
cpu_arch
)
cpu_arch
+=
CPU_ARCH_ARMv3
;
cpu_arch
+=
CPU_ARCH_ARMv3
;
}
else
{
/* the revised CPUID */
cpu_arch
=
((
processor_id
>>
12
)
&
0xf
)
-
0xb
+
CPU_ARCH_ARMv6
;
}
}
return
cpu_arch
;
return
cpu_arch
;
...
@@ -863,11 +866,11 @@ static int c_show(struct seq_file *m, void *v)
...
@@ -863,11 +866,11 @@ static int c_show(struct seq_file *m, void *v)
seq_printf
(
m
,
"
\n
CPU implementer
\t
: 0x%02x
\n
"
,
processor_id
>>
24
);
seq_printf
(
m
,
"
\n
CPU implementer
\t
: 0x%02x
\n
"
,
processor_id
>>
24
);
seq_printf
(
m
,
"CPU architecture: %s
\n
"
,
proc_arch
[
cpu_architecture
()]);
seq_printf
(
m
,
"CPU architecture: %s
\n
"
,
proc_arch
[
cpu_architecture
()]);
if
((
processor_id
&
0x000
0
f000
)
==
0x00000000
)
{
if
((
processor_id
&
0x000
8
f000
)
==
0x00000000
)
{
/* pre-ARM7 */
/* pre-ARM7 */
seq_printf
(
m
,
"CPU part
\t\t
: %07x
\n
"
,
processor_id
>>
4
);
seq_printf
(
m
,
"CPU part
\t\t
: %07x
\n
"
,
processor_id
>>
4
);
}
else
{
}
else
{
if
((
processor_id
&
0x000
0
f000
)
==
0x00007000
)
{
if
((
processor_id
&
0x000
8
f000
)
==
0x00007000
)
{
/* ARM7 */
/* ARM7 */
seq_printf
(
m
,
"CPU variant
\t
: 0x%02x
\n
"
,
seq_printf
(
m
,
"CPU variant
\t
: 0x%02x
\n
"
,
(
processor_id
>>
16
)
&
127
);
(
processor_id
>>
16
)
&
127
);
...
...
arch/arm/lib/csumpartialcopy.S
View file @
bf785ee0
...
@@ -18,11 +18,13 @@
...
@@ -18,11 +18,13 @@
*/
*/
.
macro
save_regs
.
macro
save_regs
mov
ip
,
sp
stmfd
sp
!,
{
r1
,
r4
-
r8
,
fp
,
ip
,
lr
,
pc
}
stmfd
sp
!,
{
r1
,
r4
-
r8
,
fp
,
ip
,
lr
,
pc
}
sub
fp
,
ip
,
#
4
.
endm
.
endm
.
macro
load_regs
,
flags
.
macro
load_regs
LOADREGS
(\
flags
,
fp
,{
r1
,
r4
-
r8
,
fp
,
sp
,
pc
})
ldmfd
sp
,
{
r1
,
r4
-
r8
,
fp
,
sp
,
pc
}
.
endm
.
endm
.
macro
load1b
,
reg1
.
macro
load1b
,
reg1
...
...
arch/arm/lib/csumpartialcopygeneric.S
View file @
bf785ee0
...
@@ -23,7 +23,7 @@ len .req r2
...
@@ -23,7 +23,7 @@ len .req r2
sum
.
req
r3
sum
.
req
r3
.
Lzero
:
mov
r0
,
sum
.
Lzero
:
mov
r0
,
sum
load_regs
ea
load_regs
/
*
/
*
*
Align
an
unaligned
destination
pointer
.
We
know
that
*
Align
an
unaligned
destination
pointer
.
We
know
that
...
@@ -87,9 +87,7 @@ sum .req r3
...
@@ -87,9 +87,7 @@ sum .req r3
b
.
Ldone
b
.
Ldone
FN_ENTRY
FN_ENTRY
mov
ip
,
sp
save_regs
save_regs
sub
fp
,
ip
,
#
4
cmp
len
,
#
8
@
Ensure
that
we
have
at
least
cmp
len
,
#
8
@
Ensure
that
we
have
at
least
blo
.
Lless8
@
8
bytes
to
copy
.
blo
.
Lless8
@
8
bytes
to
copy
.
...
@@ -163,7 +161,7 @@ FN_ENTRY
...
@@ -163,7 +161,7 @@ FN_ENTRY
ldr
sum
,
[
sp
,
#
0
]
@
dst
ldr
sum
,
[
sp
,
#
0
]
@
dst
tst
sum
,
#
1
tst
sum
,
#
1
movne
r0
,
r0
,
ror
#
8
movne
r0
,
r0
,
ror
#
8
load_regs
ea
load_regs
.
Lsrc_not_aligned
:
.
Lsrc_not_aligned
:
adc
sum
,
sum
,
#
0
@
include
C
from
dst
alignment
adc
sum
,
sum
,
#
0
@
include
C
from
dst
alignment
...
...
arch/arm/lib/csumpartialcopyuser.S
View file @
bf785ee0
...
@@ -18,11 +18,13 @@
...
@@ -18,11 +18,13 @@
.
text
.
text
.
macro
save_regs
.
macro
save_regs
mov
ip
,
sp
stmfd
sp
!,
{
r1
-
r2
,
r4
-
r8
,
fp
,
ip
,
lr
,
pc
}
stmfd
sp
!,
{
r1
-
r2
,
r4
-
r8
,
fp
,
ip
,
lr
,
pc
}
sub
fp
,
ip
,
#
4
.
endm
.
endm
.
macro
load_regs
,
flags
.
macro
load_regs
ldm
\
flags
f
p
,
{
r1
,
r2
,
r4
-
r8
,
fp
,
sp
,
pc
}
ldm
fd
s
p
,
{
r1
,
r2
,
r4
-
r8
,
fp
,
sp
,
pc
}
.
endm
.
endm
.
macro
load1b
,
reg1
.
macro
load1b
,
reg1
...
@@ -100,5 +102,5 @@
...
@@ -100,5 +102,5 @@
6002
:
teq
r2
,
r1
6002
:
teq
r2
,
r1
strneb
r0
,
[
r1
],
#
1
strneb
r0
,
[
r1
],
#
1
bne
6002
b
bne
6002
b
load_regs
ea
load_regs
.
previous
.
previous
arch/arm/mach-aaec2000/clock.c
View file @
bf785ee0
...
@@ -16,26 +16,27 @@
...
@@ -16,26 +16,27 @@
#include <linux/err.h>
#include <linux/err.h>
#include <linux/string.h>
#include <linux/string.h>
#include <linux/clk.h>
#include <linux/clk.h>
#include <linux/mutex.h>
#include <asm/semaphore.h>
#include <asm/semaphore.h>
#include "clock.h"
#include "clock.h"
static
LIST_HEAD
(
clocks
);
static
LIST_HEAD
(
clocks
);
static
DE
CLARE_MUTEX
(
clocks_sem
);
static
DE
FINE_MUTEX
(
clocks_mutex
);
struct
clk
*
clk_get
(
struct
device
*
dev
,
const
char
*
id
)
struct
clk
*
clk_get
(
struct
device
*
dev
,
const
char
*
id
)
{
{
struct
clk
*
p
,
*
clk
=
ERR_PTR
(
-
ENOENT
);
struct
clk
*
p
,
*
clk
=
ERR_PTR
(
-
ENOENT
);
down
(
&
clocks_sem
);
mutex_lock
(
&
clocks_mutex
);
list_for_each_entry
(
p
,
&
clocks
,
node
)
{
list_for_each_entry
(
p
,
&
clocks
,
node
)
{
if
(
strcmp
(
id
,
p
->
name
)
==
0
&&
try_module_get
(
p
->
owner
))
{
if
(
strcmp
(
id
,
p
->
name
)
==
0
&&
try_module_get
(
p
->
owner
))
{
clk
=
p
;
clk
=
p
;
break
;
break
;
}
}
}
}
up
(
&
clocks_sem
);
mutex_unlock
(
&
clocks_mutex
);
return
clk
;
return
clk
;
}
}
...
@@ -78,18 +79,18 @@ EXPORT_SYMBOL(clk_set_rate);
...
@@ -78,18 +79,18 @@ EXPORT_SYMBOL(clk_set_rate);
int
clk_register
(
struct
clk
*
clk
)
int
clk_register
(
struct
clk
*
clk
)
{
{
down
(
&
clocks_sem
);
mutex_lock
(
&
clocks_mutex
);
list_add
(
&
clk
->
node
,
&
clocks
);
list_add
(
&
clk
->
node
,
&
clocks
);
up
(
&
clocks_sem
);
mutex_unlock
(
&
clocks_mutex
);
return
0
;
return
0
;
}
}
EXPORT_SYMBOL
(
clk_register
);
EXPORT_SYMBOL
(
clk_register
);
void
clk_unregister
(
struct
clk
*
clk
)
void
clk_unregister
(
struct
clk
*
clk
)
{
{
down
(
&
clocks_sem
);
mutex_lock
(
&
clocks_mutex
);
list_del
(
&
clk
->
node
);
list_del
(
&
clk
->
node
);
up
(
&
clocks_sem
);
mutex_unlock
(
&
clocks_mutex
);
}
}
EXPORT_SYMBOL
(
clk_unregister
);
EXPORT_SYMBOL
(
clk_unregister
);
...
...
arch/arm/mach-at91rm9200/Makefile
View file @
bf785ee0
...
@@ -8,10 +8,10 @@ obj-n :=
...
@@ -8,10 +8,10 @@ obj-n :=
obj-
:=
obj-
:=
# Board-specific support
# Board-specific support
#
obj-$(CONFIG_ARCH_AT91RM9200DK) += board-dk.o
obj-$(CONFIG_ARCH_AT91RM9200DK)
+=
board-dk.o
#
obj-$(CONFIG_MACH_AT91RM9200EK) += board-ek.o
obj-$(CONFIG_MACH_AT91RM9200EK)
+=
board-ek.o
#
obj-$(CONFIG_MACH_CSB337) += board-csb337.o
obj-$(CONFIG_MACH_CSB337)
+=
board-csb337.o
#
obj-$(CONFIG_MACH_CSB637) += board-csb637.o
obj-$(CONFIG_MACH_CSB637)
+=
board-csb637.o
#obj-$(CONFIG_MACH_CARMEVA) += board-carmeva.o
#obj-$(CONFIG_MACH_CARMEVA) += board-carmeva.o
#obj-$(CONFIG_MACH_KB9200) += board-kb9202.o
#obj-$(CONFIG_MACH_KB9200) += board-kb9202.o
...
...
arch/arm/mach-at91rm9200/board-csb337.c
0 → 100644
View file @
bf785ee0
/*
* linux/arch/arm/mach-at91rm9200/board-csb337.c
*
* Copyright (C) 2005 SAN People
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <linux/config.h>
#include <linux/types.h>
#include <linux/init.h>
#include <linux/mm.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <asm/hardware.h>
#include <asm/setup.h>
#include <asm/mach-types.h>
#include <asm/irq.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/irq.h>
#include <asm/arch/hardware.h>
#include <asm/mach/serial_at91rm9200.h>
#include <asm/arch/board.h>
#include "generic.h"
static
void
__init
csb337_init_irq
(
void
)
{
/* Initialize AIC controller */
at91rm9200_init_irq
(
NULL
);
/* Set up the GPIO interrupts */
at91_gpio_irq_setup
(
BGA_GPIO_BANKS
);
}
/*
* Serial port configuration.
* 0 .. 3 = USART0 .. USART3
* 4 = DBGU
*/
#define CSB337_UART_MAP { 4, 1, -1, -1, -1 }
/* ttyS0, ..., ttyS4 */
#define CSB337_SERIAL_CONSOLE 0
/* ttyS0 */
static
void
__init
csb337_map_io
(
void
)
{
int
serial
[
AT91_NR_UART
]
=
CSB337_UART_MAP
;
int
i
;
at91rm9200_map_io
();
/* Initialize clocks: 3.6864 MHz crystal */
at91_clock_init
(
3686400
);
#ifdef CONFIG_SERIAL_AT91
at91_console_port
=
CSB337_SERIAL_CONSOLE
;
memcpy
(
at91_serial_map
,
serial
,
sizeof
(
serial
));
/* Register UARTs */
for
(
i
=
0
;
i
<
AT91_NR_UART
;
i
++
)
{
if
(
serial
[
i
]
>=
0
)
at91_register_uart
(
i
,
serial
[
i
]);
}
#endif
}
static
struct
at91_eth_data
__initdata
csb337_eth_data
=
{
.
phy_irq_pin
=
AT91_PIN_PC2
,
.
is_rmii
=
0
,
};
static
struct
at91_usbh_data
__initdata
csb337_usbh_data
=
{
.
ports
=
2
,
};
static
struct
at91_udc_data
__initdata
csb337_udc_data
=
{
// this has no VBUS sensing pin
.
pullup_pin
=
AT91_PIN_PA24
,
};
static
struct
at91_cf_data
__initdata
csb337_cf_data
=
{
/*
* connector P4 on the CSB 337 mates to
* connector P8 on the CSB 300CF
*/
/* CSB337 specific */
.
det_pin
=
AT91_PIN_PC3
,
/* CSB300CF specific */
.
irq_pin
=
AT91_PIN_PA19
,
.
vcc_pin
=
AT91_PIN_PD0
,
.
rst_pin
=
AT91_PIN_PD2
,
};
static
struct
at91_mmc_data
__initdata
csb337_mmc_data
=
{
.
det_pin
=
AT91_PIN_PD5
,
.
is_b
=
0
,
.
wire4
=
1
,
.
wp_pin
=
AT91_PIN_PD6
,
};
static
void
__init
csb337_board_init
(
void
)
{
/* Ethernet */
at91_add_device_eth
(
&
csb337_eth_data
);
/* USB Host */
at91_add_device_usbh
(
&
csb337_usbh_data
);
/* USB Device */
at91_add_device_udc
(
&
csb337_udc_data
);
/* Compact Flash */
at91_set_gpio_input
(
AT91_PIN_PB22
,
1
);
/* IOIS16 */
at91_add_device_cf
(
&
csb337_cf_data
);
/* MMC */
at91_add_device_mmc
(
&
csb337_mmc_data
);
}
MACHINE_START
(
CSB337
,
"Cogent CSB337"
)
/* Maintainer: Bill Gatliff */
.
phys_ram
=
AT91_SDRAM_BASE
,
.
phys_io
=
AT91_BASE_SYS
,
.
io_pg_offst
=
(
AT91_VA_BASE_SYS
>>
18
)
&
0xfffc
,
.
boot_params
=
AT91_SDRAM_BASE
+
0x100
,
.
timer
=
&
at91rm9200_timer
,
.
map_io
=
csb337_map_io
,
.
init_irq
=
csb337_init_irq
,
.
init_machine
=
csb337_board_init
,
MACHINE_END
arch/arm/mach-at91rm9200/board-csb637.c
0 → 100644
View file @
bf785ee0
/*
* linux/arch/arm/mach-at91rm9200/board-csb637.c
*
* Copyright (C) 2005 SAN People
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <linux/config.h>
#include <linux/types.h>
#include <linux/init.h>
#include <linux/mm.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <asm/hardware.h>
#include <asm/setup.h>
#include <asm/mach-types.h>
#include <asm/irq.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/irq.h>
#include <asm/arch/hardware.h>
#include <asm/mach/serial_at91rm9200.h>
#include <asm/arch/board.h>
#include "generic.h"
static
void
__init
csb637_init_irq
(
void
)
{
/* Initialize AIC controller */
at91rm9200_init_irq
(
NULL
);
/* Set up the GPIO interrupts */
at91_gpio_irq_setup
(
BGA_GPIO_BANKS
);
}
/*
* Serial port configuration.
* 0 .. 3 = USART0 .. USART3
* 4 = DBGU
*/
#define CSB637_UART_MAP { 4, 1, -1, -1, -1 }
/* ttyS0, ..., ttyS4 */
#define CSB637_SERIAL_CONSOLE 0
/* ttyS0 */
static
void
__init
csb637_map_io
(
void
)
{
int
serial
[
AT91_NR_UART
]
=
CSB637_UART_MAP
;
int
i
;
at91rm9200_map_io
();
/* Initialize clocks: 3.6864 MHz crystal */
at91_clock_init
(
3686400
);
#ifdef CONFIG_SERIAL_AT91
at91_console_port
=
CSB637_SERIAL_CONSOLE
;
memcpy
(
at91_serial_map
,
serial
,
sizeof
(
serial
));
/* Register UARTs */
for
(
i
=
0
;
i
<
AT91_NR_UART
;
i
++
)
{
if
(
serial
[
i
]
>=
0
)
at91_register_uart
(
i
,
serial
[
i
]);
}
#endif
}
static
struct
at91_eth_data
__initdata
csb637_eth_data
=
{
.
phy_irq_pin
=
AT91_PIN_PC0
,
.
is_rmii
=
0
,
};
static
struct
at91_usbh_data
__initdata
csb637_usbh_data
=
{
.
ports
=
2
,
};
static
struct
at91_udc_data
__initdata
csb637_udc_data
=
{
.
vbus_pin
=
AT91_PIN_PB28
,
.
pullup_pin
=
AT91_PIN_PB1
,
};
static
void
__init
csb637_board_init
(
void
)
{
/* Ethernet */
at91_add_device_eth
(
&
csb637_eth_data
);
/* USB Host */
at91_add_device_usbh
(
&
csb637_usbh_data
);
/* USB Device */
at91_add_device_udc
(
&
csb637_udc_data
);
}
MACHINE_START
(
CSB637
,
"Cogent CSB637"
)
/* Maintainer: Bill Gatliff */
.
phys_ram
=
AT91_SDRAM_BASE
,
.
phys_io
=
AT91_BASE_SYS
,
.
io_pg_offst
=
(
AT91_VA_BASE_SYS
>>
18
)
&
0xfffc
,
.
boot_params
=
AT91_SDRAM_BASE
+
0x100
,
.
timer
=
&
at91rm9200_timer
,
.
map_io
=
csb637_map_io
,
.
init_irq
=
csb637_init_irq
,
.
init_machine
=
csb637_board_init
,
MACHINE_END
arch/arm/mach-at91rm9200/board-dk.c
0 → 100644
View file @
bf785ee0
/*
* linux/arch/arm/mach-at91rm9200/board-dk.c
*
* Copyright (C) 2005 SAN People
*
* Epson S1D framebuffer glue code is:
* Copyright (C) 2005 Thibaut VARENE <varenet@parisc-linux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <linux/config.h>
#include <linux/types.h>
#include <linux/init.h>
#include <linux/mm.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <asm/hardware.h>
#include <asm/setup.h>
#include <asm/mach-types.h>
#include <asm/irq.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/irq.h>
#include <asm/arch/hardware.h>
#include <asm/mach/serial_at91rm9200.h>
#include <asm/arch/board.h>
#include "generic.h"
static
void
__init
dk_init_irq
(
void
)
{
/* Initialize AIC controller */
at91rm9200_init_irq
(
NULL
);
/* Set up the GPIO interrupts */
at91_gpio_irq_setup
(
BGA_GPIO_BANKS
);
}
/*
* Serial port configuration.
* 0 .. 3 = USART0 .. USART3
* 4 = DBGU
*/
#define DK_UART_MAP { 4, 1, -1, -1, -1 }
/* ttyS0, ..., ttyS4 */
#define DK_SERIAL_CONSOLE 0
/* ttyS0 */
static
void
__init
dk_map_io
(
void
)
{
int
serial
[
AT91_NR_UART
]
=
DK_UART_MAP
;
int
i
;
at91rm9200_map_io
();
/* Initialize clocks: 18.432 MHz crystal */
at91_clock_init
(
18432000
);
#ifdef CONFIG_SERIAL_AT91
at91_console_port
=
DK_SERIAL_CONSOLE
;
memcpy
(
at91_serial_map
,
serial
,
sizeof
(
serial
));
/* Register UARTs */
for
(
i
=
0
;
i
<
AT91_NR_UART
;
i
++
)
{
if
(
at91_serial_map
[
i
]
>=
0
)
at91_register_uart
(
i
,
at91_serial_map
[
i
]);
}
#endif
}
static
struct
at91_eth_data
__initdata
dk_eth_data
=
{
.
phy_irq_pin
=
AT91_PIN_PC4
,
.
is_rmii
=
1
,
};
static
struct
at91_usbh_data
__initdata
dk_usbh_data
=
{
.
ports
=
2
,
};
static
struct
at91_udc_data
__initdata
dk_udc_data
=
{
.
vbus_pin
=
AT91_PIN_PD4
,
.
pullup_pin
=
AT91_PIN_PD5
,
};
static
struct
at91_cf_data
__initdata
dk_cf_data
=
{
.
det_pin
=
AT91_PIN_PB0
,
.
rst_pin
=
AT91_PIN_PC5
,
// .irq_pin = ... not connected
// .vcc_pin = ... always powered
};
static
struct
at91_mmc_data
__initdata
dk_mmc_data
=
{
.
is_b
=
0
,
.
wire4
=
1
,
};
static
void
__init
dk_board_init
(
void
)
{
/* Ethernet */
at91_add_device_eth
(
&
dk_eth_data
);
/* USB Host */
at91_add_device_usbh
(
&
dk_usbh_data
);
/* USB Device */
at91_add_device_udc
(
&
dk_udc_data
);
/* Compact Flash */
at91_add_device_cf
(
&
dk_cf_data
);
/* MMC */
at91_set_gpio_output
(
AT91_PIN_PB7
,
1
);
/* this MMC card slot can optionally use SPI signaling (CS3). default: MMC */
at91_add_device_mmc
(
&
dk_mmc_data
);
/* VGA */
// dk_add_device_video();
}
MACHINE_START
(
AT91RM9200DK
,
"Atmel AT91RM9200-DK"
)
/* Maintainer: SAN People/Atmel */
.
phys_ram
=
AT91_SDRAM_BASE
,
.
phys_io
=
AT91_BASE_SYS
,
.
io_pg_offst
=
(
AT91_VA_BASE_SYS
>>
18
)
&
0xfffc
,
.
boot_params
=
AT91_SDRAM_BASE
+
0x100
,
.
timer
=
&
at91rm9200_timer
,
.
map_io
=
dk_map_io
,
.
init_irq
=
dk_init_irq
,
.
init_machine
=
dk_board_init
,
MACHINE_END
arch/arm/mach-at91rm9200/board-ek.c
0 → 100644
View file @
bf785ee0
/*
* linux/arch/arm/mach-at91rm9200/board-ek.c
*
* Copyright (C) 2005 SAN People
*
* Epson S1D framebuffer glue code is:
* Copyright (C) 2005 Thibaut VARENE <varenet@parisc-linux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <linux/config.h>
#include <linux/types.h>
#include <linux/init.h>
#include <linux/mm.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <asm/hardware.h>
#include <asm/setup.h>
#include <asm/mach-types.h>
#include <asm/irq.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/irq.h>
#include <asm/arch/hardware.h>
#include <asm/mach/serial_at91rm9200.h>
#include <asm/arch/board.h>
#include "generic.h"
static
void
__init
ek_init_irq
(
void
)
{
/* Initialize AIC controller */
at91rm9200_init_irq
(
NULL
);
/* Set up the GPIO interrupts */
at91_gpio_irq_setup
(
BGA_GPIO_BANKS
);
}
/*
* Serial port configuration.
* 0 .. 3 = USART0 .. USART3
* 4 = DBGU
*/
#define EK_UART_MAP { 4, 1, -1, -1, -1 }
/* ttyS0, ..., ttyS4 */
#define EK_SERIAL_CONSOLE 0
/* ttyS0 */
static
void
__init
ek_map_io
(
void
)
{
int
serial
[
AT91_NR_UART
]
=
EK_UART_MAP
;
int
i
;
at91rm9200_map_io
();
/* Initialize clocks: 18.432 MHz crystal */
at91_clock_init
(
18432000
);
#ifdef CONFIG_SERIAL_AT91
at91_console_port
=
EK_SERIAL_CONSOLE
;
memcpy
(
at91_serial_map
,
serial
,
sizeof
(
serial
));
/* Register UARTs */
for
(
i
=
0
;
i
<
AT91_NR_UART
;
i
++
)
{
if
(
serial
[
i
]
>=
0
)
at91_register_uart
(
i
,
serial
[
i
]);
}
#endif
}
static
struct
at91_eth_data
__initdata
ek_eth_data
=
{
.
phy_irq_pin
=
AT91_PIN_PC4
,
.
is_rmii
=
1
,
};
static
struct
at91_usbh_data
__initdata
ek_usbh_data
=
{
.
ports
=
2
,
};
static
struct
at91_udc_data
__initdata
ek_udc_data
=
{
.
vbus_pin
=
AT91_PIN_PD4
,
.
pullup_pin
=
AT91_PIN_PD5
,
};
static
struct
at91_mmc_data
__initdata
ek_mmc_data
=
{
.
det_pin
=
AT91_PIN_PB27
,
.
is_b
=
0
,
.
wire4
=
1
,
.
wp_pin
=
AT91_PIN_PA17
,
};
static
void
__init
ek_board_init
(
void
)
{
/* Ethernet */
at91_add_device_eth
(
&
ek_eth_data
);
/* USB Host */
at91_add_device_usbh
(
&
ek_usbh_data
);
/* USB Device */
at91_add_device_udc
(
&
ek_udc_data
);
/* MMC */
at91_set_gpio_output
(
AT91_PIN_PB22
,
1
);
/* this MMC card slot can optionally use SPI signaling (CS3). default: MMC */
at91_add_device_mmc
(
&
ek_mmc_data
);
/* VGA */
// ek_add_device_video();
}
MACHINE_START
(
AT91RM9200EK
,
"Atmel AT91RM9200-EK"
)
/* Maintainer: SAN People/Atmel */
.
phys_ram
=
AT91_SDRAM_BASE
,
.
phys_io
=
AT91_BASE_SYS
,
.
io_pg_offst
=
(
AT91_VA_BASE_SYS
>>
18
)
&
0xfffc
,
.
boot_params
=
AT91_SDRAM_BASE
+
0x100
,
.
timer
=
&
at91rm9200_timer
,
.
map_io
=
ek_map_io
,
.
init_irq
=
ek_init_irq
,
.
init_machine
=
ek_board_init
,
MACHINE_END
arch/arm/mach-integrator/clock.c
View file @
bf785ee0
...
@@ -15,6 +15,7 @@
...
@@ -15,6 +15,7 @@
#include <linux/err.h>
#include <linux/err.h>
#include <linux/string.h>
#include <linux/string.h>
#include <linux/clk.h>
#include <linux/clk.h>
#include <linux/mutex.h>
#include <asm/semaphore.h>
#include <asm/semaphore.h>
#include <asm/hardware/icst525.h>
#include <asm/hardware/icst525.h>
...
@@ -22,20 +23,20 @@
...
@@ -22,20 +23,20 @@
#include "clock.h"
#include "clock.h"
static
LIST_HEAD
(
clocks
);
static
LIST_HEAD
(
clocks
);
static
DE
CLARE_MUTEX
(
clocks_sem
);
static
DE
FINE_MUTEX
(
clocks_mutex
);
struct
clk
*
clk_get
(
struct
device
*
dev
,
const
char
*
id
)
struct
clk
*
clk_get
(
struct
device
*
dev
,
const
char
*
id
)
{
{
struct
clk
*
p
,
*
clk
=
ERR_PTR
(
-
ENOENT
);
struct
clk
*
p
,
*
clk
=
ERR_PTR
(
-
ENOENT
);
down
(
&
clocks_sem
);
mutex_lock
(
&
clocks_mutex
);
list_for_each_entry
(
p
,
&
clocks
,
node
)
{
list_for_each_entry
(
p
,
&
clocks
,
node
)
{
if
(
strcmp
(
id
,
p
->
name
)
==
0
&&
try_module_get
(
p
->
owner
))
{
if
(
strcmp
(
id
,
p
->
name
)
==
0
&&
try_module_get
(
p
->
owner
))
{
clk
=
p
;
clk
=
p
;
break
;
break
;
}
}
}
}
up
(
&
clocks_sem
);
mutex_unlock
(
&
clocks_mutex
);
return
clk
;
return
clk
;
}
}
...
@@ -107,18 +108,18 @@ static struct clk uart_clk = {
...
@@ -107,18 +108,18 @@ static struct clk uart_clk = {
int
clk_register
(
struct
clk
*
clk
)
int
clk_register
(
struct
clk
*
clk
)
{
{
down
(
&
clocks_sem
);
mutex_lock
(
&
clocks_mutex
);
list_add
(
&
clk
->
node
,
&
clocks
);
list_add
(
&
clk
->
node
,
&
clocks
);
up
(
&
clocks_sem
);
mutex_unlock
(
&
clocks_mutex
);
return
0
;
return
0
;
}
}
EXPORT_SYMBOL
(
clk_register
);
EXPORT_SYMBOL
(
clk_register
);
void
clk_unregister
(
struct
clk
*
clk
)
void
clk_unregister
(
struct
clk
*
clk
)
{
{
down
(
&
clocks_sem
);
mutex_lock
(
&
clocks_mutex
);
list_del
(
&
clk
->
node
);
list_del
(
&
clk
->
node
);
up
(
&
clocks_sem
);
mutex_unlock
(
&
clocks_mutex
);
}
}
EXPORT_SYMBOL
(
clk_unregister
);
EXPORT_SYMBOL
(
clk_unregister
);
...
...
arch/arm/mach-pxa/ssp.c
View file @
bf785ee0
...
@@ -31,6 +31,7 @@
...
@@ -31,6 +31,7 @@
#include <linux/interrupt.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/ioport.h>
#include <linux/init.h>
#include <linux/init.h>
#include <linux/mutex.h>
#include <asm/io.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/irq.h>
#include <asm/hardware.h>
#include <asm/hardware.h>
...
@@ -59,7 +60,7 @@ static const struct ssp_info_ ssp_info[PXA_SSP_PORTS] = {
...
@@ -59,7 +60,7 @@ static const struct ssp_info_ ssp_info[PXA_SSP_PORTS] = {
#endif
#endif
};
};
static
DE
CLARE_MUTEX
(
sem
);
static
DE
FINE_MUTEX
(
mutex
);
static
int
use_count
[
PXA_SSP_PORTS
]
=
{
0
,
0
,
0
};
static
int
use_count
[
PXA_SSP_PORTS
]
=
{
0
,
0
,
0
};
static
irqreturn_t
ssp_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
static
irqreturn_t
ssp_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
...
@@ -239,16 +240,16 @@ int ssp_init(struct ssp_dev *dev, u32 port, u32 init_flags)
...
@@ -239,16 +240,16 @@ int ssp_init(struct ssp_dev *dev, u32 port, u32 init_flags)
if
(
port
>
PXA_SSP_PORTS
||
port
==
0
)
if
(
port
>
PXA_SSP_PORTS
||
port
==
0
)
return
-
ENODEV
;
return
-
ENODEV
;
down
(
&
sem
);
mutex_lock
(
&
mutex
);
if
(
use_count
[
port
-
1
])
{
if
(
use_count
[
port
-
1
])
{
up
(
&
sem
);
mutex_unlock
(
&
mutex
);
return
-
EBUSY
;
return
-
EBUSY
;
}
}
use_count
[
port
-
1
]
++
;
use_count
[
port
-
1
]
++
;
if
(
!
request_mem_region
(
__PREG
(
SSCR0_P
(
port
)),
0x2c
,
"SSP"
))
{
if
(
!
request_mem_region
(
__PREG
(
SSCR0_P
(
port
)),
0x2c
,
"SSP"
))
{
use_count
[
port
-
1
]
--
;
use_count
[
port
-
1
]
--
;
up
(
&
sem
);
mutex_unlock
(
&
mutex
);
return
-
EBUSY
;
return
-
EBUSY
;
}
}
dev
->
port
=
port
;
dev
->
port
=
port
;
...
@@ -265,13 +266,13 @@ int ssp_init(struct ssp_dev *dev, u32 port, u32 init_flags)
...
@@ -265,13 +266,13 @@ int ssp_init(struct ssp_dev *dev, u32 port, u32 init_flags)
/* turn on SSP port clock */
/* turn on SSP port clock */
pxa_set_cken
(
ssp_info
[
port
-
1
].
clock
,
1
);
pxa_set_cken
(
ssp_info
[
port
-
1
].
clock
,
1
);
up
(
&
sem
);
mutex_unlock
(
&
mutex
);
return
0
;
return
0
;
out_region:
out_region:
release_mem_region
(
__PREG
(
SSCR0_P
(
port
)),
0x2c
);
release_mem_region
(
__PREG
(
SSCR0_P
(
port
)),
0x2c
);
use_count
[
port
-
1
]
--
;
use_count
[
port
-
1
]
--
;
up
(
&
sem
);
mutex_unlock
(
&
mutex
);
return
ret
;
return
ret
;
}
}
...
@@ -282,7 +283,7 @@ int ssp_init(struct ssp_dev *dev, u32 port, u32 init_flags)
...
@@ -282,7 +283,7 @@ int ssp_init(struct ssp_dev *dev, u32 port, u32 init_flags)
*/
*/
void
ssp_exit
(
struct
ssp_dev
*
dev
)
void
ssp_exit
(
struct
ssp_dev
*
dev
)
{
{
down
(
&
sem
);
mutex_lock
(
&
mutex
);
SSCR0_P
(
dev
->
port
)
&=
~
SSCR0_SSE
;
SSCR0_P
(
dev
->
port
)
&=
~
SSCR0_SSE
;
if
(
dev
->
port
>
PXA_SSP_PORTS
||
dev
->
port
==
0
)
{
if
(
dev
->
port
>
PXA_SSP_PORTS
||
dev
->
port
==
0
)
{
...
@@ -295,7 +296,7 @@ void ssp_exit(struct ssp_dev *dev)
...
@@ -295,7 +296,7 @@ void ssp_exit(struct ssp_dev *dev)
free_irq
(
dev
->
irq
,
dev
);
free_irq
(
dev
->
irq
,
dev
);
release_mem_region
(
__PREG
(
SSCR0_P
(
dev
->
port
)),
0x2c
);
release_mem_region
(
__PREG
(
SSCR0_P
(
dev
->
port
)),
0x2c
);
use_count
[
dev
->
port
-
1
]
--
;
use_count
[
dev
->
port
-
1
]
--
;
up
(
&
sem
);
mutex_unlock
(
&
mutex
);
}
}
EXPORT_SYMBOL
(
ssp_write_word
);
EXPORT_SYMBOL
(
ssp_write_word
);
...
...
arch/arm/mach-realview/clock.c
View file @
bf785ee0
...
@@ -14,6 +14,7 @@
...
@@ -14,6 +14,7 @@
#include <linux/errno.h>
#include <linux/errno.h>
#include <linux/err.h>
#include <linux/err.h>
#include <linux/clk.h>
#include <linux/clk.h>
#include <linux/mutex.h>
#include <asm/semaphore.h>
#include <asm/semaphore.h>
#include <asm/hardware/icst307.h>
#include <asm/hardware/icst307.h>
...
@@ -21,20 +22,20 @@
...
@@ -21,20 +22,20 @@
#include "clock.h"
#include "clock.h"
static
LIST_HEAD
(
clocks
);
static
LIST_HEAD
(
clocks
);
static
DE
CLARE_MUTEX
(
clocks_sem
);
static
DE
FINE_MUTEX
(
clocks_mutex
);
struct
clk
*
clk_get
(
struct
device
*
dev
,
const
char
*
id
)
struct
clk
*
clk_get
(
struct
device
*
dev
,
const
char
*
id
)
{
{
struct
clk
*
p
,
*
clk
=
ERR_PTR
(
-
ENOENT
);
struct
clk
*
p
,
*
clk
=
ERR_PTR
(
-
ENOENT
);
down
(
&
clocks_sem
);
mutex_lock
(
&
clocks_mutex
);
list_for_each_entry
(
p
,
&
clocks
,
node
)
{
list_for_each_entry
(
p
,
&
clocks
,
node
)
{
if
(
strcmp
(
id
,
p
->
name
)
==
0
&&
try_module_get
(
p
->
owner
))
{
if
(
strcmp
(
id
,
p
->
name
)
==
0
&&
try_module_get
(
p
->
owner
))
{
clk
=
p
;
clk
=
p
;
break
;
break
;
}
}
}
}
up
(
&
clocks_sem
);
mutex_unlock
(
&
clocks_mutex
);
return
clk
;
return
clk
;
}
}
...
@@ -109,18 +110,18 @@ static struct clk mmci_clk = {
...
@@ -109,18 +110,18 @@ static struct clk mmci_clk = {
int
clk_register
(
struct
clk
*
clk
)
int
clk_register
(
struct
clk
*
clk
)
{
{
down
(
&
clocks_sem
);
mutex_lock
(
&
clocks_mutex
);
list_add
(
&
clk
->
node
,
&
clocks
);
list_add
(
&
clk
->
node
,
&
clocks
);
up
(
&
clocks_sem
);
mutex_unlock
(
&
clocks_mutex
);
return
0
;
return
0
;
}
}
EXPORT_SYMBOL
(
clk_register
);
EXPORT_SYMBOL
(
clk_register
);
void
clk_unregister
(
struct
clk
*
clk
)
void
clk_unregister
(
struct
clk
*
clk
)
{
{
down
(
&
clocks_sem
);
mutex_lock
(
&
clocks_mutex
);
list_del
(
&
clk
->
node
);
list_del
(
&
clk
->
node
);
up
(
&
clocks_sem
);
mutex_unlock
(
&
clocks_mutex
);
}
}
EXPORT_SYMBOL
(
clk_unregister
);
EXPORT_SYMBOL
(
clk_unregister
);
...
...
arch/arm/mach-s3c2410/clock.c
View file @
bf785ee0
...
@@ -37,6 +37,7 @@
...
@@ -37,6 +37,7 @@
#include <linux/interrupt.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/ioport.h>
#include <linux/clk.h>
#include <linux/clk.h>
#include <linux/mutex.h>
#include <asm/hardware.h>
#include <asm/hardware.h>
#include <asm/atomic.h>
#include <asm/atomic.h>
...
@@ -51,7 +52,7 @@
...
@@ -51,7 +52,7 @@
/* clock information */
/* clock information */
static
LIST_HEAD
(
clocks
);
static
LIST_HEAD
(
clocks
);
static
DE
CLARE_MUTEX
(
clocks_sem
);
static
DE
FINE_MUTEX
(
clocks_mutex
);
/* old functions */
/* old functions */
...
@@ -102,7 +103,7 @@ struct clk *clk_get(struct device *dev, const char *id)
...
@@ -102,7 +103,7 @@ struct clk *clk_get(struct device *dev, const char *id)
else
else
idno
=
to_platform_device
(
dev
)
->
id
;
idno
=
to_platform_device
(
dev
)
->
id
;
down
(
&
clocks_sem
);
mutex_lock
(
&
clocks_mutex
);
list_for_each_entry
(
p
,
&
clocks
,
list
)
{
list_for_each_entry
(
p
,
&
clocks
,
list
)
{
if
(
p
->
id
==
idno
&&
if
(
p
->
id
==
idno
&&
...
@@ -126,7 +127,7 @@ struct clk *clk_get(struct device *dev, const char *id)
...
@@ -126,7 +127,7 @@ struct clk *clk_get(struct device *dev, const char *id)
}
}
}
}
up
(
&
clocks_sem
);
mutex_unlock
(
&
clocks_mutex
);
return
clk
;
return
clk
;
}
}
...
@@ -362,9 +363,9 @@ int s3c24xx_register_clock(struct clk *clk)
...
@@ -362,9 +363,9 @@ int s3c24xx_register_clock(struct clk *clk)
/* add to the list of available clocks */
/* add to the list of available clocks */
down
(
&
clocks_sem
);
mutex_lock
(
&
clocks_mutex
);
list_add
(
&
clk
->
list
,
&
clocks
);
list_add
(
&
clk
->
list
,
&
clocks
);
up
(
&
clocks_sem
);
mutex_unlock
(
&
clocks_mutex
);
return
0
;
return
0
;
}
}
...
...
arch/arm/mach-versatile/clock.c
View file @
bf785ee0
...
@@ -15,6 +15,7 @@
...
@@ -15,6 +15,7 @@
#include <linux/err.h>
#include <linux/err.h>
#include <linux/string.h>
#include <linux/string.h>
#include <linux/clk.h>
#include <linux/clk.h>
#include <linux/mutex.h>
#include <asm/semaphore.h>
#include <asm/semaphore.h>
#include <asm/hardware/icst307.h>
#include <asm/hardware/icst307.h>
...
@@ -22,20 +23,20 @@
...
@@ -22,20 +23,20 @@
#include "clock.h"
#include "clock.h"
static
LIST_HEAD
(
clocks
);
static
LIST_HEAD
(
clocks
);
static
DE
CLARE_MUTEX
(
clocks_sem
);
static
DE
FINE_MUTEX
(
clocks_mutex
);
struct
clk
*
clk_get
(
struct
device
*
dev
,
const
char
*
id
)
struct
clk
*
clk_get
(
struct
device
*
dev
,
const
char
*
id
)
{
{
struct
clk
*
p
,
*
clk
=
ERR_PTR
(
-
ENOENT
);
struct
clk
*
p
,
*
clk
=
ERR_PTR
(
-
ENOENT
);
down
(
&
clocks_sem
);
mutex_lock
(
&
clocks_mutex
);
list_for_each_entry
(
p
,
&
clocks
,
node
)
{
list_for_each_entry
(
p
,
&
clocks
,
node
)
{
if
(
strcmp
(
id
,
p
->
name
)
==
0
&&
try_module_get
(
p
->
owner
))
{
if
(
strcmp
(
id
,
p
->
name
)
==
0
&&
try_module_get
(
p
->
owner
))
{
clk
=
p
;
clk
=
p
;
break
;
break
;
}
}
}
}
up
(
&
clocks_sem
);
mutex_unlock
(
&
clocks_mutex
);
return
clk
;
return
clk
;
}
}
...
@@ -110,18 +111,18 @@ static struct clk mmci_clk = {
...
@@ -110,18 +111,18 @@ static struct clk mmci_clk = {
int
clk_register
(
struct
clk
*
clk
)
int
clk_register
(
struct
clk
*
clk
)
{
{
down
(
&
clocks_sem
);
mutex_lock
(
&
clocks_mutex
);
list_add
(
&
clk
->
node
,
&
clocks
);
list_add
(
&
clk
->
node
,
&
clocks
);
up
(
&
clocks_sem
);
mutex_unlock
(
&
clocks_mutex
);
return
0
;
return
0
;
}
}
EXPORT_SYMBOL
(
clk_register
);
EXPORT_SYMBOL
(
clk_register
);
void
clk_unregister
(
struct
clk
*
clk
)
void
clk_unregister
(
struct
clk
*
clk
)
{
{
down
(
&
clocks_sem
);
mutex_lock
(
&
clocks_mutex
);
list_del
(
&
clk
->
node
);
list_del
(
&
clk
->
node
);
up
(
&
clocks_sem
);
mutex_unlock
(
&
clocks_mutex
);
}
}
EXPORT_SYMBOL
(
clk_unregister
);
EXPORT_SYMBOL
(
clk_unregister
);
...
...
arch/arm/mm/consistent.c
View file @
bf785ee0
...
@@ -20,15 +20,25 @@
...
@@ -20,15 +20,25 @@
#include <asm/cacheflush.h>
#include <asm/cacheflush.h>
#include <asm/tlbflush.h>
#include <asm/tlbflush.h>
#include <asm/sizes.h>
/* Sanity check size */
#if (CONSISTENT_DMA_SIZE % SZ_2M)
#error "CONSISTENT_DMA_SIZE must be multiple of 2MiB"
#endif
#define CONSISTENT_BASE (0xffc00000)
#define CONSISTENT_END (0xffe00000)
#define CONSISTENT_END (0xffe00000)
#define CONSISTENT_BASE (CONSISTENT_END - CONSISTENT_DMA_SIZE)
#define CONSISTENT_OFFSET(x) (((unsigned long)(x) - CONSISTENT_BASE) >> PAGE_SHIFT)
#define CONSISTENT_OFFSET(x) (((unsigned long)(x) - CONSISTENT_BASE) >> PAGE_SHIFT)
#define CONSISTENT_PTE_INDEX(x) (((unsigned long)(x) - CONSISTENT_BASE) >> PGDIR_SHIFT)
#define NUM_CONSISTENT_PTES (CONSISTENT_DMA_SIZE >> PGDIR_SHIFT)
/*
/*
* Th
is is the page table (2MB
) covering uncached, DMA consistent allocations
* Th
ese are the page tables (2MB each
) covering uncached, DMA consistent allocations
*/
*/
static
pte_t
*
consistent_pte
;
static
pte_t
*
consistent_pte
[
NUM_CONSISTENT_PTES
]
;
static
DEFINE_SPINLOCK
(
consistent_lock
);
static
DEFINE_SPINLOCK
(
consistent_lock
);
/*
/*
...
@@ -142,7 +152,7 @@ __dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, gfp_t gfp,
...
@@ -142,7 +152,7 @@ __dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, gfp_t gfp,
unsigned
long
order
;
unsigned
long
order
;
u64
mask
=
ISA_DMA_THRESHOLD
,
limit
;
u64
mask
=
ISA_DMA_THRESHOLD
,
limit
;
if
(
!
consistent_pte
)
{
if
(
!
consistent_pte
[
0
]
)
{
printk
(
KERN_ERR
"%s: not initialised
\n
"
,
__func__
);
printk
(
KERN_ERR
"%s: not initialised
\n
"
,
__func__
);
dump_stack
();
dump_stack
();
return
NULL
;
return
NULL
;
...
@@ -205,9 +215,12 @@ __dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, gfp_t gfp,
...
@@ -205,9 +215,12 @@ __dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, gfp_t gfp,
c
=
vm_region_alloc
(
&
consistent_head
,
size
,
c
=
vm_region_alloc
(
&
consistent_head
,
size
,
gfp
&
~
(
__GFP_DMA
|
__GFP_HIGHMEM
));
gfp
&
~
(
__GFP_DMA
|
__GFP_HIGHMEM
));
if
(
c
)
{
if
(
c
)
{
pte_t
*
pte
=
consistent_pte
+
CONSISTENT_OFFSET
(
c
->
vm_start
)
;
pte_t
*
pte
;
struct
page
*
end
=
page
+
(
1
<<
order
);
struct
page
*
end
=
page
+
(
1
<<
order
);
int
idx
=
CONSISTENT_PTE_INDEX
(
c
->
vm_start
);
u32
off
=
CONSISTENT_OFFSET
(
c
->
vm_start
)
&
(
PTRS_PER_PTE
-
1
);
pte
=
consistent_pte
[
idx
]
+
off
;
c
->
vm_pages
=
page
;
c
->
vm_pages
=
page
;
/*
/*
...
@@ -226,6 +239,11 @@ __dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, gfp_t gfp,
...
@@ -226,6 +239,11 @@ __dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, gfp_t gfp,
set_pte
(
pte
,
mk_pte
(
page
,
prot
));
set_pte
(
pte
,
mk_pte
(
page
,
prot
));
page
++
;
page
++
;
pte
++
;
pte
++
;
off
++
;
if
(
off
>=
PTRS_PER_PTE
)
{
off
=
0
;
pte
=
consistent_pte
[
++
idx
];
}
}
while
(
size
-=
PAGE_SIZE
);
}
while
(
size
-=
PAGE_SIZE
);
/*
/*
...
@@ -327,6 +345,8 @@ void dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, dma_addr
...
@@ -327,6 +345,8 @@ void dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, dma_addr
struct
vm_region
*
c
;
struct
vm_region
*
c
;
unsigned
long
flags
,
addr
;
unsigned
long
flags
,
addr
;
pte_t
*
ptep
;
pte_t
*
ptep
;
int
idx
;
u32
off
;
WARN_ON
(
irqs_disabled
());
WARN_ON
(
irqs_disabled
());
...
@@ -347,7 +367,9 @@ void dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, dma_addr
...
@@ -347,7 +367,9 @@ void dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, dma_addr
size
=
c
->
vm_end
-
c
->
vm_start
;
size
=
c
->
vm_end
-
c
->
vm_start
;
}
}
ptep
=
consistent_pte
+
CONSISTENT_OFFSET
(
c
->
vm_start
);
idx
=
CONSISTENT_PTE_INDEX
(
c
->
vm_start
);
off
=
CONSISTENT_OFFSET
(
c
->
vm_start
)
&
(
PTRS_PER_PTE
-
1
);
ptep
=
consistent_pte
[
idx
]
+
off
;
addr
=
c
->
vm_start
;
addr
=
c
->
vm_start
;
do
{
do
{
pte_t
pte
=
ptep_get_and_clear
(
&
init_mm
,
addr
,
ptep
);
pte_t
pte
=
ptep_get_and_clear
(
&
init_mm
,
addr
,
ptep
);
...
@@ -355,6 +377,11 @@ void dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, dma_addr
...
@@ -355,6 +377,11 @@ void dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, dma_addr
ptep
++
;
ptep
++
;
addr
+=
PAGE_SIZE
;
addr
+=
PAGE_SIZE
;
off
++
;
if
(
off
>=
PTRS_PER_PTE
)
{
off
=
0
;
ptep
=
consistent_pte
[
++
idx
];
}
if
(
!
pte_none
(
pte
)
&&
pte_present
(
pte
))
{
if
(
!
pte_none
(
pte
)
&&
pte_present
(
pte
))
{
pfn
=
pte_pfn
(
pte
);
pfn
=
pte_pfn
(
pte
);
...
@@ -401,11 +428,12 @@ static int __init consistent_init(void)
...
@@ -401,11 +428,12 @@ static int __init consistent_init(void)
pgd_t
*
pgd
;
pgd_t
*
pgd
;
pmd_t
*
pmd
;
pmd_t
*
pmd
;
pte_t
*
pte
;
pte_t
*
pte
;
int
ret
=
0
;
int
ret
=
0
,
i
=
0
;
u32
base
=
CONSISTENT_BASE
;
do
{
do
{
pgd
=
pgd_offset
(
&
init_mm
,
CONSISTENT_BASE
);
pgd
=
pgd_offset
(
&
init_mm
,
base
);
pmd
=
pmd_alloc
(
&
init_mm
,
pgd
,
CONSISTENT_BASE
);
pmd
=
pmd_alloc
(
&
init_mm
,
pgd
,
base
);
if
(
!
pmd
)
{
if
(
!
pmd
)
{
printk
(
KERN_ERR
"%s: no pmd tables
\n
"
,
__func__
);
printk
(
KERN_ERR
"%s: no pmd tables
\n
"
,
__func__
);
ret
=
-
ENOMEM
;
ret
=
-
ENOMEM
;
...
@@ -413,15 +441,16 @@ static int __init consistent_init(void)
...
@@ -413,15 +441,16 @@ static int __init consistent_init(void)
}
}
WARN_ON
(
!
pmd_none
(
*
pmd
));
WARN_ON
(
!
pmd_none
(
*
pmd
));
pte
=
pte_alloc_kernel
(
pmd
,
CONSISTENT_BASE
);
pte
=
pte_alloc_kernel
(
pmd
,
base
);
if
(
!
pte
)
{
if
(
!
pte
)
{
printk
(
KERN_ERR
"%s: no pte tables
\n
"
,
__func__
);
printk
(
KERN_ERR
"%s: no pte tables
\n
"
,
__func__
);
ret
=
-
ENOMEM
;
ret
=
-
ENOMEM
;
break
;
break
;
}
}
consistent_pte
=
pte
;
consistent_pte
[
i
++
]
=
pte
;
}
while
(
0
);
base
+=
(
1
<<
PGDIR_SHIFT
);
}
while
(
base
<
CONSISTENT_END
);
return
ret
;
return
ret
;
}
}
...
...
arch/arm/plat-omap/clock.c
View file @
bf785ee0
...
@@ -20,6 +20,7 @@
...
@@ -20,6 +20,7 @@
#include <linux/err.h>
#include <linux/err.h>
#include <linux/string.h>
#include <linux/string.h>
#include <linux/clk.h>
#include <linux/clk.h>
#include <linux/mutex.h>
#include <asm/io.h>
#include <asm/io.h>
#include <asm/semaphore.h>
#include <asm/semaphore.h>
...
@@ -27,7 +28,7 @@
...
@@ -27,7 +28,7 @@
#include <asm/arch/clock.h>
#include <asm/arch/clock.h>
LIST_HEAD
(
clocks
);
LIST_HEAD
(
clocks
);
static
DE
CLARE_MUTEX
(
clocks_sem
);
static
DE
FINE_MUTEX
(
clocks_mutex
);
DEFINE_SPINLOCK
(
clockfw_lock
);
DEFINE_SPINLOCK
(
clockfw_lock
);
static
struct
clk_functions
*
arch_clock
;
static
struct
clk_functions
*
arch_clock
;
...
@@ -40,14 +41,14 @@ struct clk * clk_get(struct device *dev, const char *id)
...
@@ -40,14 +41,14 @@ struct clk * clk_get(struct device *dev, const char *id)
{
{
struct
clk
*
p
,
*
clk
=
ERR_PTR
(
-
ENOENT
);
struct
clk
*
p
,
*
clk
=
ERR_PTR
(
-
ENOENT
);
down
(
&
clocks_sem
);
mutex_lock
(
&
clocks_mutex
);
list_for_each_entry
(
p
,
&
clocks
,
node
)
{
list_for_each_entry
(
p
,
&
clocks
,
node
)
{
if
(
strcmp
(
id
,
p
->
name
)
==
0
&&
try_module_get
(
p
->
owner
))
{
if
(
strcmp
(
id
,
p
->
name
)
==
0
&&
try_module_get
(
p
->
owner
))
{
clk
=
p
;
clk
=
p
;
break
;
break
;
}
}
}
}
up
(
&
clocks_sem
);
mutex_unlock
(
&
clocks_mutex
);
return
clk
;
return
clk
;
}
}
...
@@ -249,11 +250,11 @@ void propagate_rate(struct clk * tclk)
...
@@ -249,11 +250,11 @@ void propagate_rate(struct clk * tclk)
int
clk_register
(
struct
clk
*
clk
)
int
clk_register
(
struct
clk
*
clk
)
{
{
down
(
&
clocks_sem
);
mutex_lock
(
&
clocks_mutex
);
list_add
(
&
clk
->
node
,
&
clocks
);
list_add
(
&
clk
->
node
,
&
clocks
);
if
(
clk
->
init
)
if
(
clk
->
init
)
clk
->
init
(
clk
);
clk
->
init
(
clk
);
up
(
&
clocks_sem
);
mutex_unlock
(
&
clocks_mutex
);
return
0
;
return
0
;
}
}
...
@@ -261,9 +262,9 @@ EXPORT_SYMBOL(clk_register);
...
@@ -261,9 +262,9 @@ EXPORT_SYMBOL(clk_register);
void
clk_unregister
(
struct
clk
*
clk
)
void
clk_unregister
(
struct
clk
*
clk
)
{
{
down
(
&
clocks_sem
);
mutex_lock
(
&
clocks_mutex
);
list_del
(
&
clk
->
node
);
list_del
(
&
clk
->
node
);
up
(
&
clocks_sem
);
mutex_unlock
(
&
clocks_mutex
);
}
}
EXPORT_SYMBOL
(
clk_unregister
);
EXPORT_SYMBOL
(
clk_unregister
);
...
...
drivers/i2c/busses/i2c-pxa.c
View file @
bf785ee0
...
@@ -899,6 +899,12 @@ static int i2c_pxa_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num
...
@@ -899,6 +899,12 @@ static int i2c_pxa_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num
struct
pxa_i2c
*
i2c
=
adap
->
algo_data
;
struct
pxa_i2c
*
i2c
=
adap
->
algo_data
;
int
ret
,
i
;
int
ret
,
i
;
/* If the I2C controller is disabled we need to reset it (probably due
to a suspend/resume destroying state). We do this here as we can then
avoid worrying about resuming the controller before its users. */
if
(
!
(
ICR
&
ICR_IUE
))
i2c_pxa_reset
(
i2c
);
for
(
i
=
adap
->
retries
;
i
>=
0
;
i
--
)
{
for
(
i
=
adap
->
retries
;
i
>=
0
;
i
--
)
{
ret
=
i2c_pxa_do_xfer
(
i2c
,
msgs
,
num
);
ret
=
i2c_pxa_do_xfer
(
i2c
,
msgs
,
num
);
if
(
ret
!=
I2C_RETRY
)
if
(
ret
!=
I2C_RETRY
)
...
@@ -939,7 +945,9 @@ static struct pxa_i2c i2c_pxa = {
...
@@ -939,7 +945,9 @@ static struct pxa_i2c i2c_pxa = {
static
int
i2c_pxa_probe
(
struct
platform_device
*
dev
)
static
int
i2c_pxa_probe
(
struct
platform_device
*
dev
)
{
{
struct
pxa_i2c
*
i2c
=
&
i2c_pxa
;
struct
pxa_i2c
*
i2c
=
&
i2c_pxa
;
#ifdef CONFIG_I2C_PXA_SLAVE
struct
i2c_pxa_platform_data
*
plat
=
dev
->
dev
.
platform_data
;
struct
i2c_pxa_platform_data
*
plat
=
dev
->
dev
.
platform_data
;
#endif
int
ret
;
int
ret
;
#ifdef CONFIG_PXA27x
#ifdef CONFIG_PXA27x
...
@@ -1024,5 +1032,7 @@ static void i2c_adap_pxa_exit(void)
...
@@ -1024,5 +1032,7 @@ static void i2c_adap_pxa_exit(void)
return
platform_driver_unregister
(
&
i2c_pxa_driver
);
return
platform_driver_unregister
(
&
i2c_pxa_driver
);
}
}
MODULE_LICENSE
(
"GPL"
);
module_init
(
i2c_adap_pxa_init
);
module_init
(
i2c_adap_pxa_init
);
module_exit
(
i2c_adap_pxa_exit
);
module_exit
(
i2c_adap_pxa_exit
);
drivers/pcmcia/pxa2xx_mainstone.c
View file @
bf785ee0
...
@@ -171,27 +171,22 @@ static int __init mst_pcmcia_init(void)
...
@@ -171,27 +171,22 @@ static int __init mst_pcmcia_init(void)
{
{
int
ret
;
int
ret
;
mst_pcmcia_device
=
kzalloc
(
sizeof
(
*
mst_pcmcia_device
),
GFP_KERNEL
);
mst_pcmcia_device
=
platform_device_alloc
(
"pxa2xx-pcmcia"
,
-
1
);
if
(
!
mst_pcmcia_device
)
if
(
!
mst_pcmcia_device
)
return
-
ENOMEM
;
return
-
ENOMEM
;
mst_pcmcia_device
->
name
=
"pxa2xx-pcmcia"
;
mst_pcmcia_device
->
dev
.
platform_data
=
&
mst_pcmcia_ops
;
mst_pcmcia_device
->
dev
.
platform_data
=
&
mst_pcmcia_ops
;
ret
=
platform_device_register
(
mst_pcmcia_device
);
ret
=
platform_device_add
(
mst_pcmcia_device
);
if
(
ret
)
if
(
ret
)
kfree
(
mst_pcmcia_device
);
platform_device_put
(
mst_pcmcia_device
);
return
ret
;
return
ret
;
}
}
static
void
__exit
mst_pcmcia_exit
(
void
)
static
void
__exit
mst_pcmcia_exit
(
void
)
{
{
/*
* This call is supposed to free our mst_pcmcia_device.
* Unfortunately platform_device don't have a free method, and
* we can't assume it's free of any reference at this point so we
* can't free it either.
*/
platform_device_unregister
(
mst_pcmcia_device
);
platform_device_unregister
(
mst_pcmcia_device
);
}
}
...
...
drivers/pcmcia/pxa2xx_sharpsl.c
View file @
bf785ee0
...
@@ -263,30 +263,25 @@ static int __init sharpsl_pcmcia_init(void)
...
@@ -263,30 +263,25 @@ static int __init sharpsl_pcmcia_init(void)
{
{
int
ret
;
int
ret
;
sharpsl_pcmcia_ops
.
nr
=
platform_scoop_config
->
num_devs
;
sharpsl_pcmcia_ops
.
nr
=
platform_scoop_config
->
num_devs
;
sharpsl_pcmcia_device
=
kzalloc
(
sizeof
(
*
sharpsl_pcmcia_device
),
GFP_KERNEL
);
sharpsl_pcmcia_device
=
platform_device_alloc
(
"pxa2xx-pcmcia"
,
-
1
);
if
(
!
sharpsl_pcmcia_device
)
if
(
!
sharpsl_pcmcia_device
)
return
-
ENOMEM
;
return
-
ENOMEM
;
sharpsl_pcmcia_device
->
name
=
"pxa2xx-pcmcia"
;
sharpsl_pcmcia_device
->
dev
.
platform_data
=
&
sharpsl_pcmcia_ops
;
sharpsl_pcmcia_device
->
dev
.
platform_data
=
&
sharpsl_pcmcia_ops
;
sharpsl_pcmcia_device
->
dev
.
parent
=
platform_scoop_config
->
devs
[
0
].
dev
;
sharpsl_pcmcia_device
->
dev
.
parent
=
platform_scoop_config
->
devs
[
0
].
dev
;
ret
=
platform_device_add
(
sharpsl_pcmcia_device
);
ret
=
platform_device_register
(
sharpsl_pcmcia_device
);
if
(
ret
)
if
(
ret
)
kfree
(
sharpsl_pcmcia_device
);
platform_device_put
(
sharpsl_pcmcia_device
);
return
ret
;
return
ret
;
}
}
static
void
__exit
sharpsl_pcmcia_exit
(
void
)
static
void
__exit
sharpsl_pcmcia_exit
(
void
)
{
{
/*
* This call is supposed to free our sharpsl_pcmcia_device.
* Unfortunately platform_device don't have a free method, and
* we can't assume it's free of any reference at this point so we
* can't free it either.
*/
platform_device_unregister
(
sharpsl_pcmcia_device
);
platform_device_unregister
(
sharpsl_pcmcia_device
);
}
}
...
...
drivers/serial/Kconfig
View file @
bf785ee0
...
@@ -280,6 +280,40 @@ config SERIAL_AMBA_PL011_CONSOLE
...
@@ -280,6 +280,40 @@ config SERIAL_AMBA_PL011_CONSOLE
your boot loader (lilo or loadlin) about how to pass options to the
your boot loader (lilo or loadlin) about how to pass options to the
kernel at boot time.)
kernel at boot time.)
config SERIAL_AT91
bool "AT91RM9200 serial port support"
depends on ARM && ARCH_AT91RM9200
select SERIAL_CORE
help
This enables the driver for the on-chip UARTs of the AT91RM9200
processor.
config SERIAL_AT91_CONSOLE
bool "Support for console on AT91RM9200 serial port"
depends on SERIAL_AT91=y
select SERIAL_CORE_CONSOLE
help
Say Y here if you wish to use a UART on the AT91RM9200 as the system
console (the system console is the device which receives all kernel
messages and warnings and which allows logins in single user mode).
config SERIAL_AT91_TTYAT
bool "Install as device ttyAT0-4 instead of ttyS0-4"
depends on SERIAL_AT91=y
help
Say Y here if you wish to have the five internal AT91RM9200 UARTs
appear as /dev/ttyAT0-4 (major 240, minor 0-4) instead of the
normal /dev/ttyS0-4 (major 4, minor 64-68). This is necessary if
you also want other UARTs, such as external 8250/16C550 compatible
UARTs.
The ttySn nodes are legally reserved for the 8250 serial driver
but are often misused by other serial drivers.
To use this, you should create suitable ttyATn device nodes in
/dev/, and pass "console=ttyATn" to the kernel.
Say Y if you have an external 8250/16C550 UART. If unsure, say N.
config SERIAL_CLPS711X
config SERIAL_CLPS711X
tristate "CLPS711X serial port support"
tristate "CLPS711X serial port support"
depends on ARM && ARCH_CLPS711X
depends on ARM && ARCH_CLPS711X
...
...
drivers/serial/Makefile
View file @
bf785ee0
...
@@ -56,3 +56,4 @@ obj-$(CONFIG_SERIAL_JSM) += jsm/
...
@@ -56,3 +56,4 @@ obj-$(CONFIG_SERIAL_JSM) += jsm/
obj-$(CONFIG_SERIAL_TXX9)
+=
serial_txx9.o
obj-$(CONFIG_SERIAL_TXX9)
+=
serial_txx9.o
obj-$(CONFIG_SERIAL_VR41XX)
+=
vr41xx_siu.o
obj-$(CONFIG_SERIAL_VR41XX)
+=
vr41xx_siu.o
obj-$(CONFIG_SERIAL_SGI_IOC4)
+=
ioc4_serial.o
obj-$(CONFIG_SERIAL_SGI_IOC4)
+=
ioc4_serial.o
obj-$(CONFIG_SERIAL_AT91)
+=
at91_serial.o
drivers/serial/at91_serial.c
0 → 100644
View file @
bf785ee0
/*
* linux/drivers/char/at91_serial.c
*
* Driver for Atmel AT91RM9200 Serial ports
*
* Copyright (C) 2003 Rick Bronson
*
* Based on drivers/char/serial_sa1100.c, by Deep Blue Solutions Ltd.
* Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#include <linux/config.h>
#include <linux/module.h>
#include <linux/tty.h>
#include <linux/ioport.h>
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/serial.h>
#include <linux/console.h>
#include <linux/sysrq.h>
#include <linux/tty_flip.h>
#include <asm/io.h>
#include <asm/arch/at91rm9200_usart.h>
#include <asm/mach/serial_at91rm9200.h>
#include <asm/arch/board.h>
#include <asm/arch/pio.h>
#if defined(CONFIG_SERIAL_AT91_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
#define SUPPORT_SYSRQ
#endif
#include <linux/serial_core.h>
#ifdef CONFIG_SERIAL_AT91_TTYAT
/* Use device name ttyAT, major 204 and minor 154-169. This is necessary if we
* should coexist with the 8250 driver, such as if we have an external 16C550
* UART. */
#define SERIAL_AT91_MAJOR 204
#define MINOR_START 154
#define AT91_DEVICENAME "ttyAT"
#else
/* Use device name ttyS, major 4, minor 64-68. This is the usual serial port
* name, but it is legally reserved for the 8250 driver. */
#define SERIAL_AT91_MAJOR TTY_MAJOR
#define MINOR_START 64
#define AT91_DEVICENAME "ttyS"
#endif
#define AT91_VA_BASE_DBGU ((unsigned long) AT91_VA_BASE_SYS + AT91_DBGU)
#define AT91_ISR_PASS_LIMIT 256
#define UART_PUT_CR(port,v) writel(v, (port)->membase + AT91_US_CR)
#define UART_GET_MR(port) readl((port)->membase + AT91_US_MR)
#define UART_PUT_MR(port,v) writel(v, (port)->membase + AT91_US_MR)
#define UART_PUT_IER(port,v) writel(v, (port)->membase + AT91_US_IER)
#define UART_PUT_IDR(port,v) writel(v, (port)->membase + AT91_US_IDR)
#define UART_GET_IMR(port) readl((port)->membase + AT91_US_IMR)
#define UART_GET_CSR(port) readl((port)->membase + AT91_US_CSR)
#define UART_GET_CHAR(port) readl((port)->membase + AT91_US_RHR)
#define UART_PUT_CHAR(port,v) writel(v, (port)->membase + AT91_US_THR)
#define UART_GET_BRGR(port) readl((port)->membase + AT91_US_BRGR)
#define UART_PUT_BRGR(port,v) writel(v, (port)->membase + AT91_US_BRGR)
#define UART_PUT_RTOR(port,v) writel(v, (port)->membase + AT91_US_RTOR)
// #define UART_GET_CR(port) readl((port)->membase + AT91_US_CR) // is write-only
/* PDC registers */
#define UART_PUT_PTCR(port,v) writel(v, (port)->membase + AT91_PDC_PTCR)
#define UART_PUT_RPR(port,v) writel(v, (port)->membase + AT91_PDC_RPR)
#define UART_PUT_RCR(port,v) writel(v, (port)->membase + AT91_PDC_RCR)
#define UART_GET_RCR(port) readl((port)->membase + AT91_PDC_RCR)
#define UART_PUT_RNPR(port,v) writel(v, (port)->membase + AT91_PDC_RNPR)
#define UART_PUT_RNCR(port,v) writel(v, (port)->membase + AT91_PDC_RNCR)
static
int
(
*
at91_open
)(
struct
uart_port
*
);
static
void
(
*
at91_close
)(
struct
uart_port
*
);
#ifdef SUPPORT_SYSRQ
static
struct
console
at91_console
;
#endif
/*
* Return TIOCSER_TEMT when transmitter FIFO and Shift register is empty.
*/
static
u_int
at91_tx_empty
(
struct
uart_port
*
port
)
{
return
(
UART_GET_CSR
(
port
)
&
AT91_US_TXEMPTY
)
?
TIOCSER_TEMT
:
0
;
}
/*
* Set state of the modem control output lines
*/
static
void
at91_set_mctrl
(
struct
uart_port
*
port
,
u_int
mctrl
)
{
unsigned
int
control
=
0
;
/*
* Errata #39: RTS0 is not internally connected to PA21. We need to drive
* the pin manually.
*/
if
(
port
->
mapbase
==
AT91_VA_BASE_US0
)
{
if
(
mctrl
&
TIOCM_RTS
)
at91_sys_write
(
AT91_PIOA
+
PIO_CODR
,
AT91_PA21_RTS0
);
else
at91_sys_write
(
AT91_PIOA
+
PIO_SODR
,
AT91_PA21_RTS0
);
}
if
(
mctrl
&
TIOCM_RTS
)
control
|=
AT91_US_RTSEN
;
else
control
|=
AT91_US_RTSDIS
;
if
(
mctrl
&
TIOCM_DTR
)
control
|=
AT91_US_DTREN
;
else
control
|=
AT91_US_DTRDIS
;
UART_PUT_CR
(
port
,
control
);
}
/*
* Get state of the modem control input lines
*/
static
u_int
at91_get_mctrl
(
struct
uart_port
*
port
)
{
unsigned
int
status
,
ret
=
0
;
status
=
UART_GET_CSR
(
port
);
/*
* The control signals are active low.
*/
if
(
!
(
status
&
AT91_US_DCD
))
ret
|=
TIOCM_CD
;
if
(
!
(
status
&
AT91_US_CTS
))
ret
|=
TIOCM_CTS
;
if
(
!
(
status
&
AT91_US_DSR
))
ret
|=
TIOCM_DSR
;
if
(
!
(
status
&
AT91_US_RI
))
ret
|=
TIOCM_RI
;
return
ret
;
}
/*
* Stop transmitting.
*/
static
void
at91_stop_tx
(
struct
uart_port
*
port
)
{
UART_PUT_IDR
(
port
,
AT91_US_TXRDY
);
port
->
read_status_mask
&=
~
AT91_US_TXRDY
;
}
/*
* Start transmitting.
*/
static
void
at91_start_tx
(
struct
uart_port
*
port
)
{
port
->
read_status_mask
|=
AT91_US_TXRDY
;
UART_PUT_IER
(
port
,
AT91_US_TXRDY
);
}
/*
* Stop receiving - port is in process of being closed.
*/
static
void
at91_stop_rx
(
struct
uart_port
*
port
)
{
UART_PUT_IDR
(
port
,
AT91_US_RXRDY
);
}
/*
* Enable modem status interrupts
*/
static
void
at91_enable_ms
(
struct
uart_port
*
port
)
{
port
->
read_status_mask
|=
(
AT91_US_RIIC
|
AT91_US_DSRIC
|
AT91_US_DCDIC
|
AT91_US_CTSIC
);
UART_PUT_IER
(
port
,
AT91_US_RIIC
|
AT91_US_DSRIC
|
AT91_US_DCDIC
|
AT91_US_CTSIC
);
}
/*
* Control the transmission of a break signal
*/
static
void
at91_break_ctl
(
struct
uart_port
*
port
,
int
break_state
)
{
if
(
break_state
!=
0
)
UART_PUT_CR
(
port
,
AT91_US_STTBRK
);
/* start break */
else
UART_PUT_CR
(
port
,
AT91_US_STPBRK
);
/* stop break */
}
/*
* Characters received (called from interrupt handler)
*/
static
void
at91_rx_chars
(
struct
uart_port
*
port
,
struct
pt_regs
*
regs
)
{
struct
tty_struct
*
tty
=
port
->
info
->
tty
;
unsigned
int
status
,
ch
,
flg
;
status
=
UART_GET_CSR
(
port
)
&
port
->
read_status_mask
;
while
(
status
&
(
AT91_US_RXRDY
))
{
ch
=
UART_GET_CHAR
(
port
);
if
(
tty
->
flip
.
count
>=
TTY_FLIPBUF_SIZE
)
goto
ignore_char
;
port
->
icount
.
rx
++
;
flg
=
TTY_NORMAL
;
/*
* note that the error handling code is
* out of the main execution path
*/
if
(
unlikely
(
status
&
(
AT91_US_PARE
|
AT91_US_FRAME
|
AT91_US_OVRE
)))
{
UART_PUT_CR
(
port
,
AT91_US_RSTSTA
);
/* clear error */
if
(
status
&
(
AT91_US_PARE
))
port
->
icount
.
parity
++
;
if
(
status
&
(
AT91_US_FRAME
))
port
->
icount
.
frame
++
;
if
(
status
&
(
AT91_US_OVRE
))
port
->
icount
.
overrun
++
;
if
(
status
&
AT91_US_PARE
)
flg
=
TTY_PARITY
;
else
if
(
status
&
AT91_US_FRAME
)
flg
=
TTY_FRAME
;
if
(
status
&
AT91_US_OVRE
)
{
/*
* overrun does *not* affect the character
* we read from the FIFO
*/
tty_insert_flip_char
(
tty
,
ch
,
flg
);
ch
=
0
;
flg
=
TTY_OVERRUN
;
}
#ifdef SUPPORT_SYSRQ
port
->
sysrq
=
0
;
#endif
}
if
(
uart_handle_sysrq_char
(
port
,
ch
,
regs
))
goto
ignore_char
;
tty_insert_flip_char
(
tty
,
ch
,
flg
);
ignore_char:
status
=
UART_GET_CSR
(
port
)
&
port
->
read_status_mask
;
}
tty_flip_buffer_push
(
tty
);
}
/*
* Transmit characters (called from interrupt handler)
*/
static
void
at91_tx_chars
(
struct
uart_port
*
port
)
{
struct
circ_buf
*
xmit
=
&
port
->
info
->
xmit
;
if
(
port
->
x_char
)
{
UART_PUT_CHAR
(
port
,
port
->
x_char
);
port
->
icount
.
tx
++
;
port
->
x_char
=
0
;
return
;
}
if
(
uart_circ_empty
(
xmit
)
||
uart_tx_stopped
(
port
))
{
at91_stop_tx
(
port
);
return
;
}
while
(
UART_GET_CSR
(
port
)
&
AT91_US_TXRDY
)
{
UART_PUT_CHAR
(
port
,
xmit
->
buf
[
xmit
->
tail
]);
xmit
->
tail
=
(
xmit
->
tail
+
1
)
&
(
UART_XMIT_SIZE
-
1
);
port
->
icount
.
tx
++
;
if
(
uart_circ_empty
(
xmit
))
break
;
}
if
(
uart_circ_chars_pending
(
xmit
)
<
WAKEUP_CHARS
)
uart_write_wakeup
(
port
);
if
(
uart_circ_empty
(
xmit
))
at91_stop_tx
(
port
);
}
/*
* Interrupt handler
*/
static
irqreturn_t
at91_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
{
struct
uart_port
*
port
=
dev_id
;
unsigned
int
status
,
pending
,
pass_counter
=
0
;
status
=
UART_GET_CSR
(
port
);
pending
=
status
&
port
->
read_status_mask
;
if
(
pending
)
{
do
{
if
(
pending
&
AT91_US_RXRDY
)
at91_rx_chars
(
port
,
regs
);
/* Clear the relevent break bits */
if
(
pending
&
AT91_US_RXBRK
)
{
UART_PUT_CR
(
port
,
AT91_US_RSTSTA
);
port
->
icount
.
brk
++
;
uart_handle_break
(
port
);
}
// TODO: All reads to CSR will clear these interrupts!
if
(
pending
&
AT91_US_RIIC
)
port
->
icount
.
rng
++
;
if
(
pending
&
AT91_US_DSRIC
)
port
->
icount
.
dsr
++
;
if
(
pending
&
AT91_US_DCDIC
)
uart_handle_dcd_change
(
port
,
!
(
status
&
AT91_US_DCD
));
if
(
pending
&
AT91_US_CTSIC
)
uart_handle_cts_change
(
port
,
!
(
status
&
AT91_US_CTS
));
if
(
pending
&
(
AT91_US_RIIC
|
AT91_US_DSRIC
|
AT91_US_DCDIC
|
AT91_US_CTSIC
))
wake_up_interruptible
(
&
port
->
info
->
delta_msr_wait
);
if
(
pending
&
AT91_US_TXRDY
)
at91_tx_chars
(
port
);
if
(
pass_counter
++
>
AT91_ISR_PASS_LIMIT
)
break
;
status
=
UART_GET_CSR
(
port
);
pending
=
status
&
port
->
read_status_mask
;
}
while
(
pending
);
}
return
IRQ_HANDLED
;
}
/*
* Perform initialization and enable port for reception
*/
static
int
at91_startup
(
struct
uart_port
*
port
)
{
int
retval
;
/*
* Ensure that no interrupts are enabled otherwise when
* request_irq() is called we could get stuck trying to
* handle an unexpected interrupt
*/
UART_PUT_IDR
(
port
,
-
1
);
/*
* Allocate the IRQ
*/
retval
=
request_irq
(
port
->
irq
,
at91_interrupt
,
SA_SHIRQ
,
"at91_serial"
,
port
);
if
(
retval
)
{
printk
(
"at91_serial: at91_startup - Can't get irq
\n
"
);
return
retval
;
}
/*
* If there is a specific "open" function (to register
* control line interrupts)
*/
if
(
at91_open
)
{
retval
=
at91_open
(
port
);
if
(
retval
)
{
free_irq
(
port
->
irq
,
port
);
return
retval
;
}
}
port
->
read_status_mask
=
AT91_US_RXRDY
|
AT91_US_TXRDY
|
AT91_US_OVRE
|
AT91_US_FRAME
|
AT91_US_PARE
|
AT91_US_RXBRK
;
/*
* Finally, enable the serial port
*/
UART_PUT_CR
(
port
,
AT91_US_RSTSTA
|
AT91_US_RSTRX
);
UART_PUT_CR
(
port
,
AT91_US_TXEN
|
AT91_US_RXEN
);
/* enable xmit & rcvr */
UART_PUT_IER
(
port
,
AT91_US_RXRDY
);
/* do receive only */
return
0
;
}
/*
* Disable the port
*/
static
void
at91_shutdown
(
struct
uart_port
*
port
)
{
/*
* Disable all interrupts, port and break condition.
*/
UART_PUT_CR
(
port
,
AT91_US_RSTSTA
);
UART_PUT_IDR
(
port
,
-
1
);
/*
* Free the interrupt
*/
free_irq
(
port
->
irq
,
port
);
/*
* If there is a specific "close" function (to unregister
* control line interrupts)
*/
if
(
at91_close
)
at91_close
(
port
);
}
/*
* Power / Clock management.
*/
static
void
at91_serial_pm
(
struct
uart_port
*
port
,
unsigned
int
state
,
unsigned
int
oldstate
)
{
switch
(
state
)
{
case
0
:
/*
* Enable the peripheral clock for this serial port.
* This is called on uart_open() or a resume event.
*/
at91_sys_write
(
AT91_PMC_PCER
,
1
<<
port
->
irq
);
break
;
case
3
:
/*
* Disable the peripheral clock for this serial port.
* This is called on uart_close() or a suspend event.
*/
if
(
port
->
irq
!=
AT91_ID_SYS
)
/* is this a shared clock? */
at91_sys_write
(
AT91_PMC_PCDR
,
1
<<
port
->
irq
);
break
;
default:
printk
(
KERN_ERR
"at91_serial: unknown pm %d
\n
"
,
state
);
}
}
/*
* Change the port parameters
*/
static
void
at91_set_termios
(
struct
uart_port
*
port
,
struct
termios
*
termios
,
struct
termios
*
old
)
{
unsigned
long
flags
;
unsigned
int
mode
,
imr
,
quot
,
baud
;
baud
=
uart_get_baud_rate
(
port
,
termios
,
old
,
0
,
port
->
uartclk
/
16
);
quot
=
uart_get_divisor
(
port
,
baud
);
/* Get current mode register */
mode
=
UART_GET_MR
(
port
)
&
~
(
AT91_US_CHRL
|
AT91_US_NBSTOP
|
AT91_US_PAR
);
/* byte size */
switch
(
termios
->
c_cflag
&
CSIZE
)
{
case
CS5
:
mode
|=
AT91_US_CHRL_5
;
break
;
case
CS6
:
mode
|=
AT91_US_CHRL_6
;
break
;
case
CS7
:
mode
|=
AT91_US_CHRL_7
;
break
;
default:
mode
|=
AT91_US_CHRL_8
;
break
;
}
/* stop bits */
if
(
termios
->
c_cflag
&
CSTOPB
)
mode
|=
AT91_US_NBSTOP_2
;
/* parity */
if
(
termios
->
c_cflag
&
PARENB
)
{
if
(
termios
->
c_cflag
&
CMSPAR
)
{
/* Mark or Space parity */
if
(
termios
->
c_cflag
&
PARODD
)
mode
|=
AT91_US_PAR_MARK
;
else
mode
|=
AT91_US_PAR_SPACE
;
}
else
if
(
termios
->
c_cflag
&
PARODD
)
mode
|=
AT91_US_PAR_ODD
;
else
mode
|=
AT91_US_PAR_EVEN
;
}
else
mode
|=
AT91_US_PAR_NONE
;
spin_lock_irqsave
(
&
port
->
lock
,
flags
);
port
->
read_status_mask
|=
AT91_US_OVRE
;
if
(
termios
->
c_iflag
&
INPCK
)
port
->
read_status_mask
|=
AT91_US_FRAME
|
AT91_US_PARE
;
if
(
termios
->
c_iflag
&
(
BRKINT
|
PARMRK
))
port
->
read_status_mask
|=
AT91_US_RXBRK
;
/*
* Characters to ignore
*/
port
->
ignore_status_mask
=
0
;
if
(
termios
->
c_iflag
&
IGNPAR
)
port
->
ignore_status_mask
|=
(
AT91_US_FRAME
|
AT91_US_PARE
);
if
(
termios
->
c_iflag
&
IGNBRK
)
{
port
->
ignore_status_mask
|=
AT91_US_RXBRK
;
/*
* If we're ignoring parity and break indicators,
* ignore overruns too (for real raw support).
*/
if
(
termios
->
c_iflag
&
IGNPAR
)
port
->
ignore_status_mask
|=
AT91_US_OVRE
;
}
// TODO: Ignore all characters if CREAD is set.
/* update the per-port timeout */
uart_update_timeout
(
port
,
termios
->
c_cflag
,
baud
);
/* disable interrupts and drain transmitter */
imr
=
UART_GET_IMR
(
port
);
/* get interrupt mask */
UART_PUT_IDR
(
port
,
-
1
);
/* disable all interrupts */
while
(
!
(
UART_GET_CSR
(
port
)
&
AT91_US_TXEMPTY
))
{
barrier
();
}
/* disable receiver and transmitter */
UART_PUT_CR
(
port
,
AT91_US_TXDIS
|
AT91_US_RXDIS
);
/* set the parity, stop bits and data size */
UART_PUT_MR
(
port
,
mode
);
/* set the baud rate */
UART_PUT_BRGR
(
port
,
quot
);
UART_PUT_CR
(
port
,
AT91_US_RSTSTA
|
AT91_US_RSTRX
);
UART_PUT_CR
(
port
,
AT91_US_TXEN
|
AT91_US_RXEN
);
/* restore interrupts */
UART_PUT_IER
(
port
,
imr
);
/* CTS flow-control and modem-status interrupts */
if
(
UART_ENABLE_MS
(
port
,
termios
->
c_cflag
))
port
->
ops
->
enable_ms
(
port
);
spin_unlock_irqrestore
(
&
port
->
lock
,
flags
);
}
/*
* Return string describing the specified port
*/
static
const
char
*
at91_type
(
struct
uart_port
*
port
)
{
return
(
port
->
type
==
PORT_AT91RM9200
)
?
"AT91_SERIAL"
:
NULL
;
}
/*
* Release the memory region(s) being used by 'port'.
*/
static
void
at91_release_port
(
struct
uart_port
*
port
)
{
release_mem_region
(
port
->
mapbase
,
(
port
->
mapbase
==
AT91_VA_BASE_DBGU
)
?
512
:
SZ_16K
);
}
/*
* Request the memory region(s) being used by 'port'.
*/
static
int
at91_request_port
(
struct
uart_port
*
port
)
{
return
request_mem_region
(
port
->
mapbase
,
(
port
->
mapbase
==
AT91_VA_BASE_DBGU
)
?
512
:
SZ_16K
,
"at91_serial"
)
!=
NULL
?
0
:
-
EBUSY
;
}
/*
* Configure/autoconfigure the port.
*/
static
void
at91_config_port
(
struct
uart_port
*
port
,
int
flags
)
{
if
(
flags
&
UART_CONFIG_TYPE
)
{
port
->
type
=
PORT_AT91RM9200
;
at91_request_port
(
port
);
}
}
/*
* Verify the new serial_struct (for TIOCSSERIAL).
*/
static
int
at91_verify_port
(
struct
uart_port
*
port
,
struct
serial_struct
*
ser
)
{
int
ret
=
0
;
if
(
ser
->
type
!=
PORT_UNKNOWN
&&
ser
->
type
!=
PORT_AT91RM9200
)
ret
=
-
EINVAL
;
if
(
port
->
irq
!=
ser
->
irq
)
ret
=
-
EINVAL
;
if
(
ser
->
io_type
!=
SERIAL_IO_MEM
)
ret
=
-
EINVAL
;
if
(
port
->
uartclk
/
16
!=
ser
->
baud_base
)
ret
=
-
EINVAL
;
if
((
void
*
)
port
->
mapbase
!=
ser
->
iomem_base
)
ret
=
-
EINVAL
;
if
(
port
->
iobase
!=
ser
->
port
)
ret
=
-
EINVAL
;
if
(
ser
->
hub6
!=
0
)
ret
=
-
EINVAL
;
return
ret
;
}
static
struct
uart_ops
at91_pops
=
{
.
tx_empty
=
at91_tx_empty
,
.
set_mctrl
=
at91_set_mctrl
,
.
get_mctrl
=
at91_get_mctrl
,
.
stop_tx
=
at91_stop_tx
,
.
start_tx
=
at91_start_tx
,
.
stop_rx
=
at91_stop_rx
,
.
enable_ms
=
at91_enable_ms
,
.
break_ctl
=
at91_break_ctl
,
.
startup
=
at91_startup
,
.
shutdown
=
at91_shutdown
,
.
set_termios
=
at91_set_termios
,
.
type
=
at91_type
,
.
release_port
=
at91_release_port
,
.
request_port
=
at91_request_port
,
.
config_port
=
at91_config_port
,
.
verify_port
=
at91_verify_port
,
.
pm
=
at91_serial_pm
,
};
static
struct
uart_port
at91_ports
[
AT91_NR_UART
];
void
__init
at91_init_ports
(
void
)
{
static
int
first
=
1
;
int
i
;
if
(
!
first
)
return
;
first
=
0
;
for
(
i
=
0
;
i
<
AT91_NR_UART
;
i
++
)
{
at91_ports
[
i
].
iotype
=
UPIO_MEM
;
at91_ports
[
i
].
flags
=
UPF_BOOT_AUTOCONF
;
at91_ports
[
i
].
uartclk
=
at91_master_clock
;
at91_ports
[
i
].
ops
=
&
at91_pops
;
at91_ports
[
i
].
fifosize
=
1
;
at91_ports
[
i
].
line
=
i
;
}
}
void
__init
at91_register_uart_fns
(
struct
at91rm9200_port_fns
*
fns
)
{
if
(
fns
->
enable_ms
)
at91_pops
.
enable_ms
=
fns
->
enable_ms
;
if
(
fns
->
get_mctrl
)
at91_pops
.
get_mctrl
=
fns
->
get_mctrl
;
if
(
fns
->
set_mctrl
)
at91_pops
.
set_mctrl
=
fns
->
set_mctrl
;
at91_open
=
fns
->
open
;
at91_close
=
fns
->
close
;
at91_pops
.
pm
=
fns
->
pm
;
at91_pops
.
set_wake
=
fns
->
set_wake
;
}
/*
* Setup ports.
*/
void
__init
at91_register_uart
(
int
idx
,
int
port
)
{
if
((
idx
<
0
)
||
(
idx
>=
AT91_NR_UART
))
{
printk
(
KERN_ERR
"%s: bad index number %d
\n
"
,
__FUNCTION__
,
idx
);
return
;
}
switch
(
port
)
{
case
0
:
at91_ports
[
idx
].
membase
=
(
void
__iomem
*
)
AT91_VA_BASE_US0
;
at91_ports
[
idx
].
mapbase
=
AT91_VA_BASE_US0
;
at91_ports
[
idx
].
irq
=
AT91_ID_US0
;
AT91_CfgPIO_USART0
();
break
;
case
1
:
at91_ports
[
idx
].
membase
=
(
void
__iomem
*
)
AT91_VA_BASE_US1
;
at91_ports
[
idx
].
mapbase
=
AT91_VA_BASE_US1
;
at91_ports
[
idx
].
irq
=
AT91_ID_US1
;
AT91_CfgPIO_USART1
();
break
;
case
2
:
at91_ports
[
idx
].
membase
=
(
void
__iomem
*
)
AT91_VA_BASE_US2
;
at91_ports
[
idx
].
mapbase
=
AT91_VA_BASE_US2
;
at91_ports
[
idx
].
irq
=
AT91_ID_US2
;
AT91_CfgPIO_USART2
();
break
;
case
3
:
at91_ports
[
idx
].
membase
=
(
void
__iomem
*
)
AT91_VA_BASE_US3
;
at91_ports
[
idx
].
mapbase
=
AT91_VA_BASE_US3
;
at91_ports
[
idx
].
irq
=
AT91_ID_US3
;
AT91_CfgPIO_USART3
();
break
;
case
4
:
at91_ports
[
idx
].
membase
=
(
void
__iomem
*
)
AT91_VA_BASE_DBGU
;
at91_ports
[
idx
].
mapbase
=
AT91_VA_BASE_DBGU
;
at91_ports
[
idx
].
irq
=
AT91_ID_SYS
;
AT91_CfgPIO_DBGU
();
break
;
default:
printk
(
KERN_ERR
"%s : bad port number %d
\n
"
,
__FUNCTION__
,
port
);
}
}
#ifdef CONFIG_SERIAL_AT91_CONSOLE
/*
* Interrupts are disabled on entering
*/
static
void
at91_console_write
(
struct
console
*
co
,
const
char
*
s
,
u_int
count
)
{
struct
uart_port
*
port
=
at91_ports
+
co
->
index
;
unsigned
int
status
,
i
,
imr
;
/*
* First, save IMR and then disable interrupts
*/
imr
=
UART_GET_IMR
(
port
);
/* get interrupt mask */
UART_PUT_IDR
(
port
,
AT91_US_RXRDY
|
AT91_US_TXRDY
);
/*
* Now, do each character
*/
for
(
i
=
0
;
i
<
count
;
i
++
)
{
do
{
status
=
UART_GET_CSR
(
port
);
}
while
(
!
(
status
&
AT91_US_TXRDY
));
UART_PUT_CHAR
(
port
,
s
[
i
]);
if
(
s
[
i
]
==
'\n'
)
{
do
{
status
=
UART_GET_CSR
(
port
);
}
while
(
!
(
status
&
AT91_US_TXRDY
));
UART_PUT_CHAR
(
port
,
'\r'
);
}
}
/*
* Finally, wait for transmitter to become empty
* and restore IMR
*/
do
{
status
=
UART_GET_CSR
(
port
);
}
while
(
!
(
status
&
AT91_US_TXRDY
));
UART_PUT_IER
(
port
,
imr
);
/* set interrupts back the way they were */
}
/*
* If the port was already initialised (eg, by a boot loader), try to determine
* the current setup.
*/
static
void
__init
at91_console_get_options
(
struct
uart_port
*
port
,
int
*
baud
,
int
*
parity
,
int
*
bits
)
{
unsigned
int
mr
,
quot
;
// TODO: CR is a write-only register
// unsigned int cr;
//
// cr = UART_GET_CR(port) & (AT91_US_RXEN | AT91_US_TXEN);
// if (cr == (AT91_US_RXEN | AT91_US_TXEN)) {
// /* ok, the port was enabled */
// }
mr
=
UART_GET_MR
(
port
)
&
AT91_US_CHRL
;
if
(
mr
==
AT91_US_CHRL_8
)
*
bits
=
8
;
else
*
bits
=
7
;
mr
=
UART_GET_MR
(
port
)
&
AT91_US_PAR
;
if
(
mr
==
AT91_US_PAR_EVEN
)
*
parity
=
'e'
;
else
if
(
mr
==
AT91_US_PAR_ODD
)
*
parity
=
'o'
;
quot
=
UART_GET_BRGR
(
port
);
*
baud
=
port
->
uartclk
/
(
16
*
(
quot
));
}
static
int
__init
at91_console_setup
(
struct
console
*
co
,
char
*
options
)
{
struct
uart_port
*
port
;
int
baud
=
115200
;
int
bits
=
8
;
int
parity
=
'n'
;
int
flow
=
'n'
;
/*
* Check whether an invalid uart number has been specified, and
* if so, search for the first available port that does have
* console support.
*/
port
=
uart_get_console
(
at91_ports
,
AT91_NR_UART
,
co
);
/*
* Enable the serial console, in-case bootloader did not do it.
*/
at91_sys_write
(
AT91_PMC_PCER
,
1
<<
port
->
irq
);
/* enable clock */
UART_PUT_IDR
(
port
,
-
1
);
/* disable interrupts */
UART_PUT_CR
(
port
,
AT91_US_RSTSTA
|
AT91_US_RSTRX
);
UART_PUT_CR
(
port
,
AT91_US_TXEN
|
AT91_US_RXEN
);
if
(
options
)
uart_parse_options
(
options
,
&
baud
,
&
parity
,
&
bits
,
&
flow
);
else
at91_console_get_options
(
port
,
&
baud
,
&
parity
,
&
bits
);
return
uart_set_options
(
port
,
co
,
baud
,
parity
,
bits
,
flow
);
}
static
struct
uart_driver
at91_uart
;
static
struct
console
at91_console
=
{
.
name
=
AT91_DEVICENAME
,
.
write
=
at91_console_write
,
.
device
=
uart_console_device
,
.
setup
=
at91_console_setup
,
.
flags
=
CON_PRINTBUFFER
,
.
index
=
-
1
,
.
data
=
&
at91_uart
,
};
#define AT91_CONSOLE_DEVICE &at91_console
static
int
__init
at91_console_init
(
void
)
{
at91_init_ports
();
at91_console
.
index
=
at91_console_port
;
register_console
(
&
at91_console
);
return
0
;
}
console_initcall
(
at91_console_init
);
#else
#define AT91_CONSOLE_DEVICE NULL
#endif
static
struct
uart_driver
at91_uart
=
{
.
owner
=
THIS_MODULE
,
.
driver_name
=
AT91_DEVICENAME
,
.
dev_name
=
AT91_DEVICENAME
,
.
devfs_name
=
AT91_DEVICENAME
,
.
major
=
SERIAL_AT91_MAJOR
,
.
minor
=
MINOR_START
,
.
nr
=
AT91_NR_UART
,
.
cons
=
AT91_CONSOLE_DEVICE
,
};
static
int
__init
at91_serial_init
(
void
)
{
int
ret
,
i
;
at91_init_ports
();
ret
=
uart_register_driver
(
&
at91_uart
);
if
(
ret
)
return
ret
;
for
(
i
=
0
;
i
<
AT91_NR_UART
;
i
++
)
{
if
(
at91_serial_map
[
i
]
>=
0
)
uart_add_one_port
(
&
at91_uart
,
&
at91_ports
[
i
]);
}
return
0
;
}
static
void
__exit
at91_serial_exit
(
void
)
{
int
i
;
for
(
i
=
0
;
i
<
AT91_NR_UART
;
i
++
)
{
if
(
at91_serial_map
[
i
]
>=
0
)
uart_remove_one_port
(
&
at91_uart
,
&
at91_ports
[
i
]);
}
uart_unregister_driver
(
&
at91_uart
);
}
module_init
(
at91_serial_init
);
module_exit
(
at91_serial_exit
);
MODULE_AUTHOR
(
"Rick Bronson"
);
MODULE_DESCRIPTION
(
"AT91 generic serial port driver"
);
MODULE_LICENSE
(
"GPL"
);
include/asm-arm/arch-at91rm9200/at91rm9200_pdc.h
0 → 100644
View file @
bf785ee0
/*
* include/asm-arm/arch-at91rm9200/at91rm9200_pdc.h
*
* Copyright (C) 2005 Ivan Kokshaysky
* Copyright (C) SAN People
*
* Peripheral Data Controller (PDC) registers.
* Based on AT91RM9200 datasheet revision E.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*/
#ifndef AT91RM9200_PDC_H
#define AT91RM9200_PDC_H
#define AT91_PDC_RPR 0x100
/* Receive Pointer Register */
#define AT91_PDC_RCR 0x104
/* Receive Counter Register */
#define AT91_PDC_TPR 0x108
/* Transmit Pointer Register */
#define AT91_PDC_TCR 0x10c
/* Transmit Counter Register */
#define AT91_PDC_RNPR 0x110
/* Receive Next Pointer Register */
#define AT91_PDC_RNCR 0x114
/* Receive Next Counter Register */
#define AT91_PDC_TNPR 0x118
/* Transmit Next Pointer Register */
#define AT91_PDC_TNCR 0x11c
/* Transmit Next Counter Register */
#define AT91_PDC_PTCR 0x120
/* Transfer Control Register */
#define AT91_PDC_RXTEN (1 << 0)
/* Receiver Transfer Enable */
#define AT91_PDC_RXTDIS (1 << 1)
/* Receiver Transfer Disable */
#define AT91_PDC_TXTEN (1 << 8)
/* Transmitter Transfer Enable */
#define AT91_PDC_TXTDIS (1 << 9)
/* Transmitter Transfer Disable */
#define AT91_PDC_PTSR 0x124
/* Transfer Status Register */
#endif
include/asm-arm/arch-at91rm9200/at91rm9200_usart.h
0 → 100644
View file @
bf785ee0
/*
* include/asm-arm/arch-at91rm9200/at91rm9200_usart.h
*
* Copyright (C) 2005 Ivan Kokshaysky
* Copyright (C) SAN People
*
* USART registers.
* Based on AT91RM9200 datasheet revision E.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*/
#ifndef AT91RM9200_USART_H
#define AT91RM9200_USART_H
#define AT91_US_CR 0x00
/* Control Register */
#define AT91_US_RSTRX (1 << 2)
/* Reset Receiver */
#define AT91_US_RSTTX (1 << 3)
/* Reset Transmitter */
#define AT91_US_RXEN (1 << 4)
/* Receiver Enable */
#define AT91_US_RXDIS (1 << 5)
/* Receiver Disable */
#define AT91_US_TXEN (1 << 6)
/* Transmitter Enable */
#define AT91_US_TXDIS (1 << 7)
/* Transmitter Disable */
#define AT91_US_RSTSTA (1 << 8)
/* Reset Status Bits */
#define AT91_US_STTBRK (1 << 9)
/* Start Break */
#define AT91_US_STPBRK (1 << 10)
/* Stop Break */
#define AT91_US_STTTO (1 << 11)
/* Start Time-out */
#define AT91_US_SENDA (1 << 12)
/* Send Address */
#define AT91_US_RSTIT (1 << 13)
/* Reset Iterations */
#define AT91_US_RSTNACK (1 << 14)
/* Reset Non Acknowledge */
#define AT91_US_RETTO (1 << 15)
/* Rearm Time-out */
#define AT91_US_DTREN (1 << 16)
/* Data Terminal Ready Enable */
#define AT91_US_DTRDIS (1 << 17)
/* Data Terminal Ready Disable */
#define AT91_US_RTSEN (1 << 18)
/* Request To Send Enable */
#define AT91_US_RTSDIS (1 << 19)
/* Request To Send Disable */
#define AT91_US_MR 0x04
/* Mode Register */
#define AT91_US_USMODE (0xf << 0)
/* Mode of the USART */
#define AT91_US_USMODE_NORMAL 0
#define AT91_US_USMODE_RS485 1
#define AT91_US_USMODE_HWHS 2
#define AT91_US_USMODE_MODEM 3
#define AT91_US_USMODE_ISO7816_T0 4
#define AT91_US_USMODE_ISO7816_T1 6
#define AT91_US_USMODE_IRDA 8
#define AT91_US_USCLKS (3 << 4)
/* Clock Selection */
#define AT91_US_CHRL (3 << 6)
/* Character Length */
#define AT91_US_CHRL_5 (0 << 6)
#define AT91_US_CHRL_6 (1 << 6)
#define AT91_US_CHRL_7 (2 << 6)
#define AT91_US_CHRL_8 (3 << 6)
#define AT91_US_SYNC (1 << 8)
/* Synchronous Mode Select */
#define AT91_US_PAR (7 << 9)
/* Parity Type */
#define AT91_US_PAR_EVEN (0 << 9)
#define AT91_US_PAR_ODD (1 << 9)
#define AT91_US_PAR_SPACE (2 << 9)
#define AT91_US_PAR_MARK (3 << 9)
#define AT91_US_PAR_NONE (4 << 9)
#define AT91_US_PAR_MULTI_DROP (6 << 9)
#define AT91_US_NBSTOP (3 << 12)
/* Number of Stop Bits */
#define AT91_US_NBSTOP_1 (0 << 12)
#define AT91_US_NBSTOP_1_5 (1 << 12)
#define AT91_US_NBSTOP_2 (2 << 12)
#define AT91_US_CHMODE (3 << 14)
/* Channel Mode */
#define AT91_US_CHMODE_NORMAL (0 << 14)
#define AT91_US_CHMODE_ECHO (1 << 14)
#define AT91_US_CHMODE_LOC_LOOP (2 << 14)
#define AT91_US_CHMODE_REM_LOOP (3 << 14)
#define AT91_US_MSBF (1 << 16)
/* Bit Order */
#define AT91_US_MODE9 (1 << 17)
/* 9-bit Character Length */
#define AT91_US_CLKO (1 << 18)
/* Clock Output Select */
#define AT91_US_OVER (1 << 19)
/* Oversampling Mode */
#define AT91_US_INACK (1 << 20)
/* Inhibit Non Acknowledge */
#define AT91_US_DSNACK (1 << 21)
/* Disable Successive NACK */
#define AT91_US_MAX_ITER (7 << 24)
/* Max Iterations */
#define AT91_US_FILTER (1 << 28)
/* Infrared Receive Line Filter */
#define AT91_US_IER 0x08
/* Interrupt Enable Register */
#define AT91_US_RXRDY (1 << 0)
/* Receiver Ready */
#define AT91_US_TXRDY (1 << 1)
/* Transmitter Ready */
#define AT91_US_RXBRK (1 << 2)
/* Break Received / End of Break */
#define AT91_US_ENDRX (1 << 3)
/* End of Receiver Transfer */
#define AT91_US_ENDTX (1 << 4)
/* End of Transmitter Transfer */
#define AT91_US_OVRE (1 << 5)
/* Overrun Error */
#define AT91_US_FRAME (1 << 6)
/* Framing Error */
#define AT91_US_PARE (1 << 7)
/* Parity Error */
#define AT91_US_TIMEOUT (1 << 8)
/* Receiver Time-out */
#define AT91_US_TXEMPTY (1 << 9)
/* Transmitter Empty */
#define AT91_US_ITERATION (1 << 10)
/* Max number of Repetitions Reached */
#define AT91_US_TXBUFE (1 << 11)
/* Transmission Buffer Empty */
#define AT91_US_RXBUFF (1 << 12)
/* Reception Buffer Full */
#define AT91_US_NACK (1 << 13)
/* Non Acknowledge */
#define AT91_US_RIIC (1 << 16)
/* Ring Indicator Input Change */
#define AT91_US_DSRIC (1 << 17)
/* Data Set Ready Input Change */
#define AT91_US_DCDIC (1 << 18)
/* Data Carrier Detect Input Change */
#define AT91_US_CTSIC (1 << 19)
/* Clear to Send Input Change */
#define AT91_US_RI (1 << 20)
/* RI */
#define AT91_US_DSR (1 << 21)
/* DSR */
#define AT91_US_DCD (1 << 22)
/* DCD */
#define AT91_US_CTS (1 << 23)
/* CTS */
#define AT91_US_IDR 0x0c
/* Interrupt Disable Register */
#define AT91_US_IMR 0x10
/* Interrupt Mask Register */
#define AT91_US_CSR 0x14
/* Channel Status Register */
#define AT91_US_RHR 0x18
/* Receiver Holding Register */
#define AT91_US_THR 0x1c
/* Transmitter Holding Register */
#define AT91_US_BRGR 0x20
/* Baud Rate Generator Register */
#define AT91_US_CD (0xffff << 0)
/* Clock Divider */
#define AT91_US_RTOR 0x24
/* Receiver Time-out Register */
#define AT91_US_TO (0xffff << 0)
/* Time-out Value */
#define AT91_US_TTGR 0x28
/* Transmitter Timeguard Register */
#define AT91_US_TG (0xff << 0)
/* Timeguard Value */
#define AT91_US_FIDI 0x40
/* FI DI Ratio Register */
#define AT91_US_NER 0x44
/* Number of Errors Register */
#define AT91_US_IF 0x4c
/* IrDA Filter Register */
#endif
include/asm-arm/byteorder.h
View file @
bf785ee0
...
@@ -22,7 +22,16 @@ static inline __attribute_const__ __u32 ___arch__swab32(__u32 x)
...
@@ -22,7 +22,16 @@ static inline __attribute_const__ __u32 ___arch__swab32(__u32 x)
{
{
__u32
t
;
__u32
t
;
t
=
x
^
((
x
<<
16
)
|
(
x
>>
16
));
/* eor r1,r0,r0,ror #16 */
if
(
__builtin_constant_p
(
x
))
{
t
=
x
^
((
x
<<
16
)
|
(
x
>>
16
));
/* eor r1,r0,r0,ror #16 */
}
else
{
/*
* The compiler needs a bit of a hint here to always do the
* right thing and not screw it up to different degrees
* depending on the gcc version.
*/
asm
(
"eor
\t
%0, %1, %1, ror #16"
:
"=r"
(
t
)
:
"r"
(
x
));
}
x
=
(
x
<<
24
)
|
(
x
>>
8
);
/* mov r0,r0,ror #8 */
x
=
(
x
<<
24
)
|
(
x
>>
8
);
/* mov r0,r0,ror #8 */
t
&=
~
0x00FF0000
;
/* bic r1,r1,#0x00FF0000 */
t
&=
~
0x00FF0000
;
/* bic r1,r1,#0x00FF0000 */
x
^=
(
t
>>
8
);
/* eor r0,r0,r1,lsr #8 */
x
^=
(
t
>>
8
);
/* eor r0,r0,r1,lsr #8 */
...
...
include/asm-arm/mach/serial_at91rm9200.h
0 → 100644
View file @
bf785ee0
/*
* linux/include/asm-arm/mach/serial_at91rm9200.h
*
* Based on serial_sa1100.h by Nicolas Pitre
*
* Copyright (C) 2002 ATMEL Rousset
*
* Low level machine dependent UART functions.
*/
#include <linux/config.h>
struct
uart_port
;
/*
* This is a temporary structure for registering these
* functions; it is intended to be discarded after boot.
*/
struct
at91rm9200_port_fns
{
void
(
*
set_mctrl
)(
struct
uart_port
*
,
u_int
);
u_int
(
*
get_mctrl
)(
struct
uart_port
*
);
void
(
*
enable_ms
)(
struct
uart_port
*
);
void
(
*
pm
)(
struct
uart_port
*
,
u_int
,
u_int
);
int
(
*
set_wake
)(
struct
uart_port
*
,
u_int
);
int
(
*
open
)(
struct
uart_port
*
);
void
(
*
close
)(
struct
uart_port
*
);
};
#if defined(CONFIG_SERIAL_AT91)
void
at91_register_uart_fns
(
struct
at91rm9200_port_fns
*
fns
);
void
at91_register_uart
(
int
idx
,
int
port
);
#else
#define at91_register_uart_fns(fns) do { } while (0)
#define at91_register_uart(idx,port) do { } while (0)
#endif
include/asm-arm/memory.h
View file @
bf785ee0
...
@@ -25,6 +25,7 @@
...
@@ -25,6 +25,7 @@
#include <linux/config.h>
#include <linux/config.h>
#include <linux/compiler.h>
#include <linux/compiler.h>
#include <asm/arch/memory.h>
#include <asm/arch/memory.h>
#include <asm/sizes.h>
#ifndef TASK_SIZE
#ifndef TASK_SIZE
/*
/*
...
@@ -47,6 +48,14 @@
...
@@ -47,6 +48,14 @@
#define PAGE_OFFSET UL(0xc0000000)
#define PAGE_OFFSET UL(0xc0000000)
#endif
#endif
/*
* Size of DMA-consistent memory region. Must be multiple of 2M,
* between 2MB and 14MB inclusive.
*/
#ifndef CONSISTENT_DMA_SIZE
#define CONSISTENT_DMA_SIZE SZ_2M
#endif
/*
/*
* Physical vs virtual RAM address space conversion. These are
* Physical vs virtual RAM address space conversion. These are
* private definitions which should NOT be used outside memory.h
* private definitions which should NOT be used outside memory.h
...
...
include/linux/serial_core.h
View file @
bf785ee0
...
@@ -67,6 +67,9 @@
...
@@ -67,6 +67,9 @@
/* Parisc type numbers. */
/* Parisc type numbers. */
#define PORT_MUX 48
#define PORT_MUX 48
/* Atmel AT91RM9200 SoC */
#define PORT_AT91RM9200 49
/* Macintosh Zilog type numbers */
/* Macintosh Zilog type numbers */
#define PORT_MAC_ZILOG 50
/* m68k : not yet implemented */
#define PORT_MAC_ZILOG 50
/* m68k : not yet implemented */
#define PORT_PMAC_ZILOG 51
#define PORT_PMAC_ZILOG 51
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment