blob: e40c9bd7914341a4381b06b8d13f2a0162f1cfbc [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
David Howells786d35d2012-09-28 14:31:03 +093018 select HAVE_MOD_ARCH_SPECIFIC
19 select MODULES_USE_ELF_RELA
Al Viro5adc8072012-10-15 02:23:22 -040020 select GENERIC_KERNEL_THREAD
21 select GENERIC_KERNEL_EXECVE
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070022 help
23 AVR32 is a high-performance 32-bit RISC microprocessor core,
24 designed for cost-sensitive embedded applications, with particular
25 emphasis on low power consumption and high code density.
26
27 There is an AVR32 Linux project with a web page at
28 http://avr32linux.org/.
29
David Brownell0a938b92007-03-05 00:30:18 -080030config GENERIC_GPIO
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010031 def_bool y
David Brownell0a938b92007-03-05 00:30:18 -080032
Haavard Skinnemoen2f026032007-11-23 20:01:59 +010033config STACKTRACE_SUPPORT
34 def_bool y
35
Haavard Skinnemoen320516b2007-11-26 14:34:57 +010036config LOCKDEP_SUPPORT
37 def_bool y
38
39config TRACE_IRQFLAGS_SUPPORT
40 def_bool y
41
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070042config RWSEM_GENERIC_SPINLOCK
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010043 def_bool y
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070044
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070045config RWSEM_XCHGADD_ALGORITHM
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010046 def_bool n
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070047
David Howellsf0d1b0b2006-12-08 02:37:49 -080048config ARCH_HAS_ILOG2_U32
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010049 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -080050
51config ARCH_HAS_ILOG2_U64
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010052 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -080053
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070054config GENERIC_HWEIGHT
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010055 def_bool y
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070056
57config GENERIC_CALIBRATE_DELAY
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010058 def_bool y
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070059
Haavard Skinnemoen623b0352007-03-13 17:59:11 +010060config GENERIC_BUG
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010061 def_bool y
Haavard Skinnemoen623b0352007-03-13 17:59:11 +010062 depends on BUG
63
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070064source "init/Kconfig"
65
Matt Helsleydc52ddc2008-10-18 20:27:21 -070066source "kernel/Kconfig.freezer"
67
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070068menu "System Type and features"
69
70config SUBARCH_AVR32B
71 bool
72config MMU
73 bool
74config PERFORMANCE_COUNTERS
75 bool
76
77config PLATFORM_AT32AP
78 bool
79 select SUBARCH_AVR32B
80 select MMU
81 select PERFORMANCE_COUNTERS
Michael Buesch7444a722008-07-25 01:46:11 -070082 select ARCH_REQUIRE_GPIOLIB
Haavard Skinnemoenb83d6ee12008-03-05 10:00:28 +010083 select GENERIC_ALLOCATOR
Nicolas Ferre0912e532009-06-23 16:30:56 +020084 select HAVE_FB_ATMEL
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070085
Haavard Skinnemoene8897bf2007-11-29 11:15:15 +010086#
87# CPU types
88#
89
90# AP7000 derivatives
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +010091config CPU_AT32AP700X
92 bool
93 select PLATFORM_AT32AP
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070094config CPU_AT32AP7000
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_AT32AP7001
Haavard Skinnemoene8897bf2007-11-29 11:15:15 +010098 bool
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +010099 select CPU_AT32AP700X
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +0100100config CPU_AT32AP7002
Haavard Skinnemoene8897bf2007-11-29 11:15:15 +0100101 bool
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +0100102 select CPU_AT32AP700X
103
Hans-Christian Egtvedt3550b932009-12-03 14:58:20 +0100104# AP700X boards
105config BOARD_ATNGW100_COMMON
106 bool
107 select CPU_AT32AP7000
108
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700109choice
110 prompt "AVR32 board type"
111 default BOARD_ATSTK1000
112
113config BOARD_ATSTK1000
114 bool "ATSTK1000 evaluation board"
Haavard Skinnemoen9ca20a82007-04-12 17:26:57 +0200115
Hans-Christian Egtvedt3550b932009-12-03 14:58:20 +0100116config BOARD_ATNGW100_MKI
Haavard Skinnemoen9ca20a82007-04-12 17:26:57 +0200117 bool "ATNGW100 Network Gateway"
Hans-Christian Egtvedt3550b932009-12-03 14:58:20 +0100118 select BOARD_ATNGW100_COMMON
119
120config BOARD_ATNGW100_MKII
121 bool "ATNGW100 mkII Network Gateway"
122 select BOARD_ATNGW100_COMMON
Hans-Christian Egtvedt45c349b2008-07-29 09:25:37 +0000123
Alex Raimondidd5e1332008-12-09 16:17:13 +0100124config BOARD_HAMMERHEAD
125 bool "Hammerhead board"
126 select CPU_AT32AP7000
127 select USB_ARCH_HAS_HCD
128 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100129 The Hammerhead platform is built around an AVR32 32-bit microcontroller from Atmel.
Alex Raimondidd5e1332008-12-09 16:17:13 +0100130 It offers versatile peripherals, such as ethernet, usb device, usb host etc.
131
Matt LaPlante692105b2009-01-26 11:12:25 +0100132 The board also incorporates a power supply and is a Power over Ethernet (PoE) Powered
Alex Raimondidd5e1332008-12-09 16:17:13 +0100133 Device (PD).
134
Matt LaPlante692105b2009-01-26 11:12:25 +0100135 Additionally, a Cyclone III FPGA from Altera is integrated on the board. The FPGA is
Alex Raimondidd5e1332008-12-09 16:17:13 +0100136 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
Justin P. Mattock50a23e62010-10-16 10:36:23 -0700140 For more information see: http://www.miromico.ch/index.php/hammerhead.html
Alex Raimondidd5e1332008-12-09 16:17:13 +0100141
Hans-Christian Egtvedt45c349b2008-07-29 09:25:37 +0000142config BOARD_FAVR_32
143 bool "Favr-32 LCD-board"
144 select CPU_AT32AP7000
Mark Jackson5b50c162008-10-13 13:14:50 +0000145
Jonas Larssona16fffdd2009-03-27 10:18:14 +0100146config 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
Mark Jackson5b50c162008-10-13 13:14:50 +0000159config BOARD_MIMC200
160 bool "MIMC200 CPU board"
161 select CPU_AT32AP7000
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700162endchoice
163
David Brownella8e93ed2007-06-12 14:34:47 +0200164source "arch/avr32/boards/atstk1000/Kconfig"
Hans-Christian Egtvedta3bee422008-07-01 08:29:27 +0000165source "arch/avr32/boards/atngw100/Kconfig"
Alex Raimondidd5e1332008-12-09 16:17:13 +0100166source "arch/avr32/boards/hammerhead/Kconfig"
Hans-Christian Egtvedt45c349b2008-07-29 09:25:37 +0000167source "arch/avr32/boards/favr-32/Kconfig"
Jonas Larssona16fffdd2009-03-27 10:18:14 +0100168source "arch/avr32/boards/merisc/Kconfig"
David Brownella8e93ed2007-06-12 14:34:47 +0200169
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700170choice
171 prompt "Boot loader type"
172 default LOADER_U_BOOT
173
174config LOADER_U_BOOT
175 bool "U-Boot (or similar) bootloader"
176endchoice
177
Haavard Skinnemoen228e8452007-03-07 15:24:34 +0100178source "arch/avr32/mach-at32ap/Kconfig"
179
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700180config LOAD_ADDRESS
181 hex
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +0100182 default 0x10000000 if LOADER_U_BOOT=y && CPU_AT32AP700X=y
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700183
184config ENTRY_ADDRESS
185 hex
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +0100186 default 0x90000000 if LOADER_U_BOOT=y && CPU_AT32AP700X=y
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700187
188config PHYS_OFFSET
189 hex
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +0100190 default 0x10000000 if CPU_AT32AP700X=y
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700191
192source "kernel/Kconfig.preempt"
193
Haavard Skinnemoen5a4d5292008-01-14 23:33:44 +0100194config QUICKLIST
195 def_bool y
196
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700197config 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"