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