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