blob: 5ade51c8a87fbf5cd99d319ddbe55feef8fbe6c7 [file] [log] [blame]
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -07001config AVR32
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +01002 def_bool y
David Rientjes6a108a12011-01-20 14:44:16 -08003 # With EXPERT=n, we get lots of stuff automatically selected
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -07004 # that we usually don't need on AVR32.
David Rientjes6a108a12011-01-20 14:44:16 -08005 select EXPERT
David Brownell9483a572008-07-23 21:26:48 -07006 select HAVE_CLK
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -05007 select HAVE_OPROFILE
Mathieu Desnoyers3f550092008-02-02 15:10:35 -05008 select HAVE_KPROBES
Thomas Gleixner25015332011-02-06 17:29:04 +01009 select HAVE_GENERIC_HARDIRQS
10 select GENERIC_IRQ_PROBE
Fabio Baltieri31e00172012-02-03 15:37:14 -080011 select GENERIC_ATOMIC64
Thomas Gleixner25015332011-02-06 17:29:04 +010012 select HARDIRQS_SW_RESEND
Thomas Gleixnerdb828172011-03-24 19:08:11 +010013 select GENERIC_IRQ_SHOW
Mark Brown7563bbf2012-04-15 10:52:54 +010014 select ARCH_HAVE_CUSTOM_GPIO_H
Will Deaconc1d7e012012-07-30 14:42:46 -070015 select ARCH_WANT_IPC_PARSE_VERSION
Huang Yingdf013ff2011-07-13 13:14:22 +080016 select ARCH_HAVE_NMI_SAFE_CMPXCHG
Anna-Maria Gleixner8d6af992012-05-18 16:45:45 +000017 select GENERIC_CLOCKEVENTS
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070018 help
19 AVR32 is a high-performance 32-bit RISC microprocessor core,
20 designed for cost-sensitive embedded applications, with particular
21 emphasis on low power consumption and high code density.
22
23 There is an AVR32 Linux project with a web page at
24 http://avr32linux.org/.
25
David Brownell0a938b92007-03-05 00:30:18 -080026config GENERIC_GPIO
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010027 def_bool y
David Brownell0a938b92007-03-05 00:30:18 -080028
Haavard Skinnemoen2f026032007-11-23 20:01:59 +010029config STACKTRACE_SUPPORT
30 def_bool y
31
Haavard Skinnemoen320516b2007-11-26 14:34:57 +010032config LOCKDEP_SUPPORT
33 def_bool y
34
35config TRACE_IRQFLAGS_SUPPORT
36 def_bool y
37
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070038config RWSEM_GENERIC_SPINLOCK
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010039 def_bool y
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070040
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070041config RWSEM_XCHGADD_ALGORITHM
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010042 def_bool n
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070043
David Howellsf0d1b0b2006-12-08 02:37:49 -080044config ARCH_HAS_ILOG2_U32
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010045 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -080046
47config ARCH_HAS_ILOG2_U64
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010048 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -080049
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070050config GENERIC_HWEIGHT
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010051 def_bool y
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070052
53config GENERIC_CALIBRATE_DELAY
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010054 def_bool y
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070055
Haavard Skinnemoen623b0352007-03-13 17:59:11 +010056config GENERIC_BUG
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010057 def_bool y
Haavard Skinnemoen623b0352007-03-13 17:59:11 +010058 depends on BUG
59
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070060source "init/Kconfig"
61
Matt Helsleydc52ddc2008-10-18 20:27:21 -070062source "kernel/Kconfig.freezer"
63
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070064menu "System Type and features"
65
66config SUBARCH_AVR32B
67 bool
68config MMU
69 bool
70config PERFORMANCE_COUNTERS
71 bool
72
73config PLATFORM_AT32AP
74 bool
75 select SUBARCH_AVR32B
76 select MMU
77 select PERFORMANCE_COUNTERS
Michael Buesch7444a722008-07-25 01:46:11 -070078 select ARCH_REQUIRE_GPIOLIB
Haavard Skinnemoenb83d6ee12008-03-05 10:00:28 +010079 select GENERIC_ALLOCATOR
Nicolas Ferre0912e532009-06-23 16:30:56 +020080 select HAVE_FB_ATMEL
Jean-Christophe PLAGNIOL-VILLARDee621dd2010-08-08 06:21:33 +020081 select HAVE_NET_MACB
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070082
Haavard Skinnemoene8897bf2007-11-29 11:15:15 +010083#
84# CPU types
85#
86
87# AP7000 derivatives
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +010088config CPU_AT32AP700X
89 bool
90 select PLATFORM_AT32AP
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070091config CPU_AT32AP7000
Haavard Skinnemoene8897bf2007-11-29 11:15:15 +010092 bool
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +010093 select CPU_AT32AP700X
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +010094config CPU_AT32AP7001
Haavard Skinnemoene8897bf2007-11-29 11:15:15 +010095 bool
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +010096 select CPU_AT32AP700X
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +010097config CPU_AT32AP7002
Haavard Skinnemoene8897bf2007-11-29 11:15:15 +010098 bool
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +010099 select CPU_AT32AP700X
100
Hans-Christian Egtvedt3550b932009-12-03 14:58:20 +0100101# AP700X boards
102config BOARD_ATNGW100_COMMON
103 bool
104 select CPU_AT32AP7000
105
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700106choice
107 prompt "AVR32 board type"
108 default BOARD_ATSTK1000
109
110config BOARD_ATSTK1000
111 bool "ATSTK1000 evaluation board"
Haavard Skinnemoen9ca20a82007-04-12 17:26:57 +0200112
Hans-Christian Egtvedt3550b932009-12-03 14:58:20 +0100113config BOARD_ATNGW100_MKI
Haavard Skinnemoen9ca20a82007-04-12 17:26:57 +0200114 bool "ATNGW100 Network Gateway"
Hans-Christian Egtvedt3550b932009-12-03 14:58:20 +0100115 select BOARD_ATNGW100_COMMON
116
117config BOARD_ATNGW100_MKII
118 bool "ATNGW100 mkII Network Gateway"
119 select BOARD_ATNGW100_COMMON
Hans-Christian Egtvedt45c349b2008-07-29 09:25:37 +0000120
Alex Raimondidd5e1332008-12-09 16:17:13 +0100121config BOARD_HAMMERHEAD
122 bool "Hammerhead board"
123 select CPU_AT32AP7000
124 select USB_ARCH_HAS_HCD
125 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100126 The Hammerhead platform is built around an AVR32 32-bit microcontroller from Atmel.
Alex Raimondidd5e1332008-12-09 16:17:13 +0100127 It offers versatile peripherals, such as ethernet, usb device, usb host etc.
128
Matt LaPlante692105b2009-01-26 11:12:25 +0100129 The board also incorporates a power supply and is a Power over Ethernet (PoE) Powered
Alex Raimondidd5e1332008-12-09 16:17:13 +0100130 Device (PD).
131
Matt LaPlante692105b2009-01-26 11:12:25 +0100132 Additionally, a Cyclone III FPGA from Altera is integrated on the board. The FPGA is
Alex Raimondidd5e1332008-12-09 16:17:13 +0100133 mapped into the 32-bit AVR memory bus. The FPGA offers two DDR2 SDRAM interfaces, which
134 will cover even the most exceptional need of memory bandwidth. Together with the onboard
135 video decoder the board is ready for video processing.
136
Justin P. Mattock50a23e62010-10-16 10:36:23 -0700137 For more information see: http://www.miromico.ch/index.php/hammerhead.html
Alex Raimondidd5e1332008-12-09 16:17:13 +0100138
Hans-Christian Egtvedt45c349b2008-07-29 09:25:37 +0000139config BOARD_FAVR_32
140 bool "Favr-32 LCD-board"
141 select CPU_AT32AP7000
Mark Jackson5b50c162008-10-13 13:14:50 +0000142
Jonas Larssona16fffdd2009-03-27 10:18:14 +0100143config BOARD_MERISC
144 bool "Merisc board"
145 select CPU_AT32AP7000
146 help
147 Merisc is the family name for a range of AVR32-based boards.
148
149 The boards are designed to be used in a man-machine
150 interfacing environment, utilizing a touch-based graphical
151 user interface. They host a vast range of I/O peripherals as
152 well as a large SDRAM & Flash memory bank.
153
154 For more information see: http://www.martinsson.se/merisc
155
Mark Jackson5b50c162008-10-13 13:14:50 +0000156config BOARD_MIMC200
157 bool "MIMC200 CPU board"
158 select CPU_AT32AP7000
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700159endchoice
160
David Brownella8e93ed2007-06-12 14:34:47 +0200161source "arch/avr32/boards/atstk1000/Kconfig"
Hans-Christian Egtvedta3bee422008-07-01 08:29:27 +0000162source "arch/avr32/boards/atngw100/Kconfig"
Alex Raimondidd5e1332008-12-09 16:17:13 +0100163source "arch/avr32/boards/hammerhead/Kconfig"
Hans-Christian Egtvedt45c349b2008-07-29 09:25:37 +0000164source "arch/avr32/boards/favr-32/Kconfig"
Jonas Larssona16fffdd2009-03-27 10:18:14 +0100165source "arch/avr32/boards/merisc/Kconfig"
David Brownella8e93ed2007-06-12 14:34:47 +0200166
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700167choice
168 prompt "Boot loader type"
169 default LOADER_U_BOOT
170
171config LOADER_U_BOOT
172 bool "U-Boot (or similar) bootloader"
173endchoice
174
Haavard Skinnemoen228e8452007-03-07 15:24:34 +0100175source "arch/avr32/mach-at32ap/Kconfig"
176
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700177config LOAD_ADDRESS
178 hex
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +0100179 default 0x10000000 if LOADER_U_BOOT=y && CPU_AT32AP700X=y
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700180
181config ENTRY_ADDRESS
182 hex
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +0100183 default 0x90000000 if LOADER_U_BOOT=y && CPU_AT32AP700X=y
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700184
185config PHYS_OFFSET
186 hex
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +0100187 default 0x10000000 if CPU_AT32AP700X=y
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700188
189source "kernel/Kconfig.preempt"
190
Haavard Skinnemoen5a4d5292008-01-14 23:33:44 +0100191config QUICKLIST
192 def_bool y
193
Tejun Heoc1329372009-02-24 11:57:20 +0900194config HAVE_ARCH_BOOTMEM
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +0100195 def_bool n
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700196
197config ARCH_HAVE_MEMORY_PRESENT
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +0100198 def_bool n
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700199
200config NEED_NODE_MEMMAP_SIZE
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +0100201 def_bool n
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700202
203config ARCH_FLATMEM_ENABLE
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +0100204 def_bool y
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700205
206config ARCH_DISCONTIGMEM_ENABLE
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +0100207 def_bool n
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700208
209config ARCH_SPARSEMEM_ENABLE
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +0100210 def_bool n
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700211
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
Haavard Skinnemoene7ba1762007-10-10 14:58:29 +0200222config 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
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700232# 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
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200246menu "Power management options"
Hans-Christian Egtvedt9e58e182007-06-04 16:10:57 +0200247
Haavard Skinnemoen02a00cf2008-02-24 13:51:38 +0100248source "kernel/power/Kconfig"
249
250config ARCH_SUSPEND_POSSIBLE
251 def_bool y
252
Hans-Christian Egtvedt9e58e182007-06-04 16:10:57 +0200253menu "CPU Frequency scaling"
254
255source "drivers/cpufreq/Kconfig"
256
257config CPU_FREQ_AT32AP
258 bool "CPU frequency driver for AT32AP"
259 depends on CPU_FREQ && PLATFORM_AT32AP
260 default n
261 help
262 This enables the CPU frequency driver for AT32AP processors.
263
264 For details, take a look in <file:Documentation/cpu-freq>.
265
266 If in doubt, say N.
267
268endmenu
269
270endmenu
271
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700272menu "Bus options"
273
274config PCI
275 bool
276
277source "drivers/pci/Kconfig"
278
279source "drivers/pcmcia/Kconfig"
280
281endmenu
282
283menu "Executable file formats"
284source "fs/Kconfig.binfmt"
285endmenu
286
287source "net/Kconfig"
288
289source "drivers/Kconfig"
290
291source "fs/Kconfig"
292
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700293source "arch/avr32/Kconfig.debug"
294
295source "security/Kconfig"
296
297source "crypto/Kconfig"
298
299source "lib/Kconfig"