diff options
author | Haavard Skinnemoen <hskinnemoen@atmel.com> | 2006-09-26 02:32:13 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-26 11:48:54 -0400 |
commit | 5f97f7f9400de47ae837170bb274e90ad3934386 (patch) | |
tree | 514451e6dc6b46253293a00035d375e77b1c65ed /arch/avr32/Kconfig | |
parent | 53e62d3aaa60590d4a69b4e07c29f448b5151047 (diff) |
[PATCH] avr32 architecture
This adds support for the Atmel AVR32 architecture as well as the AT32AP7000
CPU and the AT32STK1000 development board.
AVR32 is a new high-performance 32-bit RISC microprocessor core, designed for
cost-sensitive embedded applications, with particular emphasis on low power
consumption and high code density. The AVR32 architecture is not binary
compatible with earlier 8-bit AVR architectures.
The AVR32 architecture, including the instruction set, is described by the
AVR32 Architecture Manual, available from
http://www.atmel.com/dyn/resources/prod_documents/doc32000.pdf
The Atmel AT32AP7000 is the first CPU implementing the AVR32 architecture. It
features a 7-stage pipeline, 16KB instruction and data caches and a full
Memory Management Unit. It also comes with a large set of integrated
peripherals, many of which are shared with the AT91 ARM-based controllers from
Atmel.
Full data sheet is available from
http://www.atmel.com/dyn/resources/prod_documents/doc32003.pdf
while the CPU core implementation including caches and MMU is documented by
the AVR32 AP Technical Reference, available from
http://www.atmel.com/dyn/resources/prod_documents/doc32001.pdf
Information about the AT32STK1000 development board can be found at
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3918
including a BSP CD image with an earlier version of this patch, development
tools (binaries and source/patches) and a root filesystem image suitable for
booting from SD card.
Alternatively, there's a preliminary "getting started" guide available at
http://avr32linux.org/twiki/bin/view/Main/GettingStarted which provides links
to the sources and patches you will need in order to set up a cross-compiling
environment for avr32-linux.
This patch, as well as the other patches included with the BSP and the
toolchain patches, is actively supported by Atmel Corporation.
[dmccr@us.ibm.com: Fix more pxx_page macro locations]
[bunk@stusta.de: fix `make defconfig']
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Dave McCracken <dmccr@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/avr32/Kconfig')
-rw-r--r-- | arch/avr32/Kconfig | 196 |
1 files changed, 196 insertions, 0 deletions
diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig new file mode 100644 index 000000000000..5f1694eea842 --- /dev/null +++ b/arch/avr32/Kconfig | |||
@@ -0,0 +1,196 @@ | |||
1 | # | ||
2 | # For a description of the syntax of this configuration file, | ||
3 | # see Documentation/kbuild/kconfig-language.txt. | ||
4 | # | ||
5 | |||
6 | mainmenu "Linux Kernel Configuration" | ||
7 | |||
8 | config AVR32 | ||
9 | bool | ||
10 | default y | ||
11 | # With EMBEDDED=n, we get lots of stuff automatically selected | ||
12 | # that we usually don't need on AVR32. | ||
13 | select EMBEDDED | ||
14 | help | ||
15 | AVR32 is a high-performance 32-bit RISC microprocessor core, | ||
16 | designed for cost-sensitive embedded applications, with particular | ||
17 | emphasis on low power consumption and high code density. | ||
18 | |||
19 | There is an AVR32 Linux project with a web page at | ||
20 | http://avr32linux.org/. | ||
21 | |||
22 | config UID16 | ||
23 | bool | ||
24 | |||
25 | config GENERIC_HARDIRQS | ||
26 | bool | ||
27 | default y | ||
28 | |||
29 | config HARDIRQS_SW_RESEND | ||
30 | bool | ||
31 | default y | ||
32 | |||
33 | config GENERIC_IRQ_PROBE | ||
34 | bool | ||
35 | default y | ||
36 | |||
37 | config RWSEM_GENERIC_SPINLOCK | ||
38 | bool | ||
39 | default y | ||
40 | |||
41 | config GENERIC_TIME | ||
42 | bool | ||
43 | default y | ||
44 | |||
45 | config RWSEM_XCHGADD_ALGORITHM | ||
46 | bool | ||
47 | |||
48 | config GENERIC_BUST_SPINLOCK | ||
49 | bool | ||
50 | |||
51 | config GENERIC_HWEIGHT | ||
52 | bool | ||
53 | default y | ||
54 | |||
55 | config GENERIC_CALIBRATE_DELAY | ||
56 | bool | ||
57 | default y | ||
58 | |||
59 | source "init/Kconfig" | ||
60 | |||
61 | menu "System Type and features" | ||
62 | |||
63 | config SUBARCH_AVR32B | ||
64 | bool | ||
65 | config MMU | ||
66 | bool | ||
67 | config PERFORMANCE_COUNTERS | ||
68 | bool | ||
69 | |||
70 | config PLATFORM_AT32AP | ||
71 | bool | ||
72 | select SUBARCH_AVR32B | ||
73 | select MMU | ||
74 | select PERFORMANCE_COUNTERS | ||
75 | |||
76 | choice | ||
77 | prompt "AVR32 CPU type" | ||
78 | default CPU_AT32AP7000 | ||
79 | |||
80 | config CPU_AT32AP7000 | ||
81 | bool "AT32AP7000" | ||
82 | select PLATFORM_AT32AP | ||
83 | endchoice | ||
84 | |||
85 | # | ||
86 | # CPU Daughterboards for ATSTK1000 | ||
87 | config BOARD_ATSTK1002 | ||
88 | bool | ||
89 | |||
90 | choice | ||
91 | prompt "AVR32 board type" | ||
92 | default BOARD_ATSTK1000 | ||
93 | |||
94 | config BOARD_ATSTK1000 | ||
95 | bool "ATSTK1000 evaluation board" | ||
96 | select BOARD_ATSTK1002 if CPU_AT32AP7000 | ||
97 | endchoice | ||
98 | |||
99 | choice | ||
100 | prompt "Boot loader type" | ||
101 | default LOADER_U_BOOT | ||
102 | |||
103 | config LOADER_U_BOOT | ||
104 | bool "U-Boot (or similar) bootloader" | ||
105 | endchoice | ||
106 | |||
107 | config LOAD_ADDRESS | ||
108 | hex | ||
109 | default 0x10000000 if LOADER_U_BOOT=y && CPU_AT32AP7000=y | ||
110 | |||
111 | config ENTRY_ADDRESS | ||
112 | hex | ||
113 | default 0x90000000 if LOADER_U_BOOT=y && CPU_AT32AP7000=y | ||
114 | |||
115 | config PHYS_OFFSET | ||
116 | hex | ||
117 | default 0x10000000 if CPU_AT32AP7000=y | ||
118 | |||
119 | source "kernel/Kconfig.preempt" | ||
120 | |||
121 | config HAVE_ARCH_BOOTMEM_NODE | ||
122 | bool | ||
123 | default n | ||
124 | |||
125 | config ARCH_HAVE_MEMORY_PRESENT | ||
126 | bool | ||
127 | default n | ||
128 | |||
129 | config NEED_NODE_MEMMAP_SIZE | ||
130 | bool | ||
131 | default n | ||
132 | |||
133 | config ARCH_FLATMEM_ENABLE | ||
134 | bool | ||
135 | default y | ||
136 | |||
137 | config ARCH_DISCONTIGMEM_ENABLE | ||
138 | bool | ||
139 | default n | ||
140 | |||
141 | config ARCH_SPARSEMEM_ENABLE | ||
142 | bool | ||
143 | default n | ||
144 | |||
145 | source "mm/Kconfig" | ||
146 | |||
147 | config OWNERSHIP_TRACE | ||
148 | bool "Ownership trace support" | ||
149 | default y | ||
150 | help | ||
151 | Say Y to generate an Ownership Trace message on every context switch, | ||
152 | enabling Nexus-compliant debuggers to keep track of the PID of the | ||
153 | currently executing task. | ||
154 | |||
155 | # FPU emulation goes here | ||
156 | |||
157 | source "kernel/Kconfig.hz" | ||
158 | |||
159 | config CMDLINE | ||
160 | string "Default kernel command line" | ||
161 | default "" | ||
162 | help | ||
163 | If you don't have a boot loader capable of passing a command line string | ||
164 | to the kernel, you may specify one here. As a minimum, you should specify | ||
165 | the memory size and the root device (e.g., mem=8M, root=/dev/nfs). | ||
166 | |||
167 | endmenu | ||
168 | |||
169 | menu "Bus options" | ||
170 | |||
171 | config PCI | ||
172 | bool | ||
173 | |||
174 | source "drivers/pci/Kconfig" | ||
175 | |||
176 | source "drivers/pcmcia/Kconfig" | ||
177 | |||
178 | endmenu | ||
179 | |||
180 | menu "Executable file formats" | ||
181 | source "fs/Kconfig.binfmt" | ||
182 | endmenu | ||
183 | |||
184 | source "net/Kconfig" | ||
185 | |||
186 | source "drivers/Kconfig" | ||
187 | |||
188 | source "fs/Kconfig" | ||
189 | |||
190 | source "arch/avr32/Kconfig.debug" | ||
191 | |||
192 | source "security/Kconfig" | ||
193 | |||
194 | source "crypto/Kconfig" | ||
195 | |||
196 | source "lib/Kconfig" | ||