blob: b6878eb6488483d9d7222f69c43e8390c7610fd2 [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
Stephen Rothwell4febd952013-03-07 15:48:16 +11009 select VIRT_TO_BUS
Thomas Gleixner25015332011-02-06 17:29:04 +010010 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
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070020 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
Haavard Skinnemoen2f026032007-11-23 20:01:59 +010028config STACKTRACE_SUPPORT
29 def_bool y
30
Haavard Skinnemoen320516b2007-11-26 14:34:57 +010031config LOCKDEP_SUPPORT
32 def_bool y
33
34config TRACE_IRQFLAGS_SUPPORT
35 def_bool y
36
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070037config RWSEM_GENERIC_SPINLOCK
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010038 def_bool y
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070039
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070040config RWSEM_XCHGADD_ALGORITHM
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010041 def_bool n
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070042
David Howellsf0d1b0b2006-12-08 02:37:49 -080043config ARCH_HAS_ILOG2_U32
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010044 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -080045
46config ARCH_HAS_ILOG2_U64
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010047 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -080048
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070049config GENERIC_HWEIGHT
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010050 def_bool y
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070051
52config GENERIC_CALIBRATE_DELAY
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010053 def_bool y
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070054
Haavard Skinnemoen623b0352007-03-13 17:59:11 +010055config GENERIC_BUG
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +010056 def_bool y
Haavard Skinnemoen623b0352007-03-13 17:59:11 +010057 depends on BUG
58
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070059source "init/Kconfig"
60
Matt Helsleydc52ddc2008-10-18 20:27:21 -070061source "kernel/Kconfig.freezer"
62
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070063menu "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
Michael Buesch7444a722008-07-25 01:46:11 -070077 select ARCH_REQUIRE_GPIOLIB
Haavard Skinnemoenb83d6ee12008-03-05 10:00:28 +010078 select GENERIC_ALLOCATOR
Nicolas Ferre0912e532009-06-23 16:30:56 +020079 select HAVE_FB_ATMEL
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070080
Haavard Skinnemoene8897bf2007-11-29 11:15:15 +010081#
82# CPU types
83#
84
85# AP7000 derivatives
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +010086config CPU_AT32AP700X
87 bool
88 select PLATFORM_AT32AP
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -070089config CPU_AT32AP7000
Haavard Skinnemoene8897bf2007-11-29 11:15:15 +010090 bool
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +010091 select CPU_AT32AP700X
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +010092config CPU_AT32AP7001
Haavard Skinnemoene8897bf2007-11-29 11:15:15 +010093 bool
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +010094 select CPU_AT32AP700X
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +010095config CPU_AT32AP7002
Haavard Skinnemoene8897bf2007-11-29 11:15:15 +010096 bool
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +010097 select CPU_AT32AP700X
98
Hans-Christian Egtvedt3550b932009-12-03 14:58:20 +010099# AP700X boards
100config BOARD_ATNGW100_COMMON
101 bool
102 select CPU_AT32AP7000
103
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700104choice
105 prompt "AVR32 board type"
106 default BOARD_ATSTK1000
107
108config BOARD_ATSTK1000
109 bool "ATSTK1000 evaluation board"
Haavard Skinnemoen9ca20a82007-04-12 17:26:57 +0200110
Hans-Christian Egtvedt3550b932009-12-03 14:58:20 +0100111config BOARD_ATNGW100_MKI
Haavard Skinnemoen9ca20a82007-04-12 17:26:57 +0200112 bool "ATNGW100 Network Gateway"
Hans-Christian Egtvedt3550b932009-12-03 14:58:20 +0100113 select BOARD_ATNGW100_COMMON
114
115config BOARD_ATNGW100_MKII
116 bool "ATNGW100 mkII Network Gateway"
117 select BOARD_ATNGW100_COMMON
Hans-Christian Egtvedt45c349b2008-07-29 09:25:37 +0000118
Alex Raimondidd5e1332008-12-09 16:17:13 +0100119config BOARD_HAMMERHEAD
120 bool "Hammerhead board"
121 select CPU_AT32AP7000
122 select USB_ARCH_HAS_HCD
123 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100124 The Hammerhead platform is built around an AVR32 32-bit microcontroller from Atmel.
Alex Raimondidd5e1332008-12-09 16:17:13 +0100125 It offers versatile peripherals, such as ethernet, usb device, usb host etc.
126
Matt LaPlante692105b2009-01-26 11:12:25 +0100127 The board also incorporates a power supply and is a Power over Ethernet (PoE) Powered
Alex Raimondidd5e1332008-12-09 16:17:13 +0100128 Device (PD).
129
Matt LaPlante692105b2009-01-26 11:12:25 +0100130 Additionally, a Cyclone III FPGA from Altera is integrated on the board. The FPGA is
Alex Raimondidd5e1332008-12-09 16:17:13 +0100131 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
Justin P. Mattock50a23e62010-10-16 10:36:23 -0700135 For more information see: http://www.miromico.ch/index.php/hammerhead.html
Alex Raimondidd5e1332008-12-09 16:17:13 +0100136
Hans-Christian Egtvedt45c349b2008-07-29 09:25:37 +0000137config BOARD_FAVR_32
138 bool "Favr-32 LCD-board"
139 select CPU_AT32AP7000
Mark Jackson5b50c162008-10-13 13:14:50 +0000140
Jonas Larssona16fffdd2009-03-27 10:18:14 +0100141config 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
Mark Jackson5b50c162008-10-13 13:14:50 +0000154config BOARD_MIMC200
155 bool "MIMC200 CPU board"
156 select CPU_AT32AP7000
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700157endchoice
158
David Brownella8e93ed2007-06-12 14:34:47 +0200159source "arch/avr32/boards/atstk1000/Kconfig"
Hans-Christian Egtvedta3bee422008-07-01 08:29:27 +0000160source "arch/avr32/boards/atngw100/Kconfig"
Alex Raimondidd5e1332008-12-09 16:17:13 +0100161source "arch/avr32/boards/hammerhead/Kconfig"
Hans-Christian Egtvedt45c349b2008-07-29 09:25:37 +0000162source "arch/avr32/boards/favr-32/Kconfig"
Jonas Larssona16fffdd2009-03-27 10:18:14 +0100163source "arch/avr32/boards/merisc/Kconfig"
David Brownella8e93ed2007-06-12 14:34:47 +0200164
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700165choice
166 prompt "Boot loader type"
167 default LOADER_U_BOOT
168
169config LOADER_U_BOOT
170 bool "U-Boot (or similar) bootloader"
171endchoice
172
Haavard Skinnemoen228e8452007-03-07 15:24:34 +0100173source "arch/avr32/mach-at32ap/Kconfig"
174
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700175config LOAD_ADDRESS
176 hex
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +0100177 default 0x10000000 if LOADER_U_BOOT=y && CPU_AT32AP700X=y
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700178
179config ENTRY_ADDRESS
180 hex
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +0100181 default 0x90000000 if LOADER_U_BOOT=y && CPU_AT32AP700X=y
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700182
183config PHYS_OFFSET
184 hex
Haavard Skinnemoen438ff3f2007-10-29 15:28:07 +0100185 default 0x10000000 if CPU_AT32AP700X=y
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700186
187source "kernel/Kconfig.preempt"
188
Haavard Skinnemoen5a4d5292008-01-14 23:33:44 +0100189config QUICKLIST
190 def_bool y
191
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700192config ARCH_HAVE_MEMORY_PRESENT
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +0100193 def_bool n
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700194
195config NEED_NODE_MEMMAP_SIZE
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +0100196 def_bool n
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700197
198config ARCH_FLATMEM_ENABLE
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +0100199 def_bool y
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700200
201config ARCH_DISCONTIGMEM_ENABLE
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +0100202 def_bool n
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700203
204config ARCH_SPARSEMEM_ENABLE
Haavard Skinnemoen58bd2bf2007-11-23 19:25:00 +0100205 def_bool n
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700206
Hans-Christian Egtvedtd6ffe1b2013-05-13 22:13:59 +0200207config NODES_SHIFT
208 int
209 default "2"
210 depends on NEED_MULTIPLE_NODES
211
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700212source "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"
Hans-Christian Egtvedt9e58e182007-06-04 16:10:57 +0200254source "drivers/cpufreq/Kconfig"
Hans-Christian Egtvedt9e58e182007-06-04 16:10:57 +0200255endmenu
256
257endmenu
258
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700259menu "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
Haavard Skinnemoen5f97f7f2006-09-25 23:32:13 -0700280source "arch/avr32/Kconfig.debug"
281
282source "security/Kconfig"
283
284source "crypto/Kconfig"
285
286source "lib/Kconfig"