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