gpiolib/arches: Centralise bolierplate asm/gpio.h
[linux-3.10.git] / arch / avr32 / Kconfig
1 config AVR32
2         def_bool y
3         # With EXPERT=n, we get lots of stuff automatically selected
4         # that we usually don't need on AVR32.
5         select EXPERT
6         select HAVE_CLK
7         select HAVE_OPROFILE
8         select HAVE_KPROBES
9         select HAVE_GENERIC_HARDIRQS
10         select GENERIC_IRQ_PROBE
11         select GENERIC_ATOMIC64
12         select HARDIRQS_SW_RESEND
13         select GENERIC_IRQ_SHOW
14         select ARCH_HAVE_CUSTOM_GPIO_H
15         select ARCH_HAVE_NMI_SAFE_CMPXCHG
16         help
17           AVR32 is a high-performance 32-bit RISC microprocessor core,
18           designed for cost-sensitive embedded applications, with particular
19           emphasis on low power consumption and high code density.
20
21           There is an AVR32 Linux project with a web page at
22           http://avr32linux.org/.
23
24 config GENERIC_GPIO
25         def_bool y
26
27 config STACKTRACE_SUPPORT
28         def_bool y
29
30 config LOCKDEP_SUPPORT
31         def_bool y
32
33 config TRACE_IRQFLAGS_SUPPORT
34         def_bool y
35
36 config RWSEM_GENERIC_SPINLOCK
37         def_bool y
38
39 config GENERIC_CLOCKEVENTS
40         def_bool y
41
42 config RWSEM_XCHGADD_ALGORITHM
43         def_bool n
44
45 config ARCH_HAS_ILOG2_U32
46         def_bool n
47
48 config ARCH_HAS_ILOG2_U64
49         def_bool n
50
51 config GENERIC_HWEIGHT
52         def_bool y
53
54 config GENERIC_CALIBRATE_DELAY
55         def_bool y
56
57 config GENERIC_BUG
58         def_bool y
59         depends on BUG
60
61 source "init/Kconfig"
62
63 source "kernel/Kconfig.freezer"
64
65 menu "System Type and features"
66
67 source "kernel/time/Kconfig"
68
69 config SUBARCH_AVR32B
70         bool
71 config MMU
72         bool
73 config PERFORMANCE_COUNTERS
74         bool
75
76 config PLATFORM_AT32AP
77         bool
78         select SUBARCH_AVR32B
79         select MMU
80         select PERFORMANCE_COUNTERS
81         select ARCH_REQUIRE_GPIOLIB
82         select GENERIC_ALLOCATOR
83         select HAVE_FB_ATMEL
84         select HAVE_NET_MACB
85
86 #
87 # CPU types
88 #
89
90 # AP7000 derivatives
91 config CPU_AT32AP700X
92         bool
93         select PLATFORM_AT32AP
94 config CPU_AT32AP7000
95         bool
96         select CPU_AT32AP700X
97 config CPU_AT32AP7001
98         bool
99         select CPU_AT32AP700X
100 config CPU_AT32AP7002
101         bool
102         select CPU_AT32AP700X
103
104 # AP700X boards
105 config BOARD_ATNGW100_COMMON
106         bool
107         select CPU_AT32AP7000
108
109 choice
110         prompt "AVR32 board type"
111         default BOARD_ATSTK1000
112
113 config BOARD_ATSTK1000
114         bool "ATSTK1000 evaluation board"
115
116 config BOARD_ATNGW100_MKI
117         bool "ATNGW100 Network Gateway"
118         select BOARD_ATNGW100_COMMON
119
120 config BOARD_ATNGW100_MKII
121         bool "ATNGW100 mkII Network Gateway"
122         select BOARD_ATNGW100_COMMON
123
124 config BOARD_HAMMERHEAD
125         bool "Hammerhead board"
126         select CPU_AT32AP7000
127         select USB_ARCH_HAS_HCD
128         help
129           The Hammerhead platform is built around an AVR32 32-bit microcontroller from Atmel.
130           It offers versatile peripherals, such as ethernet, usb device, usb host etc.
131
132           The board also incorporates a power supply and is a Power over Ethernet (PoE) Powered
133           Device (PD).
134
135           Additionally, a Cyclone III FPGA from Altera is integrated on the board. The FPGA is
136           mapped into the 32-bit AVR memory bus. The FPGA offers two DDR2 SDRAM interfaces, which
137           will cover even the most exceptional need of memory bandwidth. Together with the onboard
138           video decoder the board is ready for video processing.
139
140           For more information see: http://www.miromico.ch/index.php/hammerhead.html 
141
142 config BOARD_FAVR_32
143         bool "Favr-32 LCD-board"
144         select CPU_AT32AP7000
145
146 config BOARD_MERISC
147         bool "Merisc board"
148         select CPU_AT32AP7000
149         help
150           Merisc is the family name for a range of AVR32-based boards.
151
152           The boards are designed to be used in a man-machine
153           interfacing environment, utilizing a touch-based graphical
154           user interface. They host a vast range of I/O peripherals as
155           well as a large SDRAM & Flash memory bank.
156
157           For more information see: http://www.martinsson.se/merisc
158
159 config BOARD_MIMC200
160         bool "MIMC200 CPU board"
161         select CPU_AT32AP7000
162 endchoice
163
164 source "arch/avr32/boards/atstk1000/Kconfig"
165 source "arch/avr32/boards/atngw100/Kconfig"
166 source "arch/avr32/boards/hammerhead/Kconfig"
167 source "arch/avr32/boards/favr-32/Kconfig"
168 source "arch/avr32/boards/merisc/Kconfig"
169
170 choice
171         prompt "Boot loader type"
172         default LOADER_U_BOOT
173
174 config  LOADER_U_BOOT
175         bool "U-Boot (or similar) bootloader"
176 endchoice
177
178 source "arch/avr32/mach-at32ap/Kconfig"
179
180 config LOAD_ADDRESS
181         hex
182         default 0x10000000 if LOADER_U_BOOT=y && CPU_AT32AP700X=y
183
184 config ENTRY_ADDRESS
185         hex
186         default 0x90000000 if LOADER_U_BOOT=y && CPU_AT32AP700X=y
187
188 config PHYS_OFFSET
189         hex
190         default 0x10000000 if CPU_AT32AP700X=y
191
192 source "kernel/Kconfig.preempt"
193
194 config QUICKLIST
195         def_bool y
196
197 config HAVE_ARCH_BOOTMEM
198         def_bool n
199
200 config ARCH_HAVE_MEMORY_PRESENT
201         def_bool n
202
203 config NEED_NODE_MEMMAP_SIZE
204         def_bool n
205
206 config ARCH_FLATMEM_ENABLE
207         def_bool y
208
209 config ARCH_DISCONTIGMEM_ENABLE
210         def_bool n
211
212 config ARCH_SPARSEMEM_ENABLE
213         def_bool n
214
215 source "mm/Kconfig"
216
217 config OWNERSHIP_TRACE
218         bool "Ownership trace support"
219         default y
220         help
221           Say Y to generate an Ownership Trace message on every context switch,
222           enabling Nexus-compliant debuggers to keep track of the PID of the
223           currently executing task.
224
225 config NMI_DEBUGGING
226         bool "NMI Debugging"
227         default n
228         help
229           Say Y here and pass the nmi_debug command-line parameter to
230           the kernel to turn on NMI debugging. Depending on the value
231           of the nmi_debug option, various pieces of information will
232           be dumped to the console when a Non-Maskable Interrupt
233           happens.
234
235 # FPU emulation goes here
236
237 source "kernel/Kconfig.hz"
238
239 config CMDLINE
240         string "Default kernel command line"
241         default ""
242         help
243           If you don't have a boot loader capable of passing a command line string
244           to the kernel, you may specify one here. As a minimum, you should specify
245           the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
246
247 endmenu
248
249 menu "Power management options"
250
251 source "kernel/power/Kconfig"
252
253 config ARCH_SUSPEND_POSSIBLE
254         def_bool y
255
256 menu "CPU Frequency scaling"
257
258 source "drivers/cpufreq/Kconfig"
259
260 config CPU_FREQ_AT32AP
261         bool "CPU frequency driver for AT32AP"
262         depends on CPU_FREQ && PLATFORM_AT32AP
263         default n
264         help
265           This enables the CPU frequency driver for AT32AP processors.
266
267           For details, take a look in <file:Documentation/cpu-freq>.
268
269           If in doubt, say N.
270
271 endmenu
272
273 endmenu
274
275 menu "Bus options"
276
277 config PCI
278         bool
279
280 source "drivers/pci/Kconfig"
281
282 source "drivers/pcmcia/Kconfig"
283
284 endmenu
285
286 menu "Executable file formats"
287 source "fs/Kconfig.binfmt"
288 endmenu
289
290 source "net/Kconfig"
291
292 source "drivers/Kconfig"
293
294 source "fs/Kconfig"
295
296 source "arch/avr32/Kconfig.debug"
297
298 source "security/Kconfig"
299
300 source "crypto/Kconfig"
301
302 source "lib/Kconfig"