ARM: dts: Add I2S dt node for exynos3250
[cascardo/linux.git] / arch / arm64 / Kconfig
1 config ARM64
2         def_bool y
3         select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
4         select ARCH_USE_CMPXCHG_LOCKREF
5         select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
6         select ARCH_WANT_OPTIONAL_GPIOLIB
7         select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
8         select ARCH_WANT_FRAME_POINTERS
9         select ARM_AMBA
10         select ARM_ARCH_TIMER
11         select ARM_GIC
12         select BUILDTIME_EXTABLE_SORT
13         select CLONE_BACKWARDS
14         select COMMON_CLK
15         select CPU_PM if (SUSPEND || CPU_IDLE)
16         select DCACHE_WORD_ACCESS
17         select GENERIC_CLOCKEVENTS
18         select GENERIC_CLOCKEVENTS_BROADCAST if SMP
19         select GENERIC_CPU_AUTOPROBE
20         select GENERIC_EARLY_IOREMAP
21         select GENERIC_IOMAP
22         select GENERIC_IRQ_PROBE
23         select GENERIC_IRQ_SHOW
24         select GENERIC_SCHED_CLOCK
25         select GENERIC_SMP_IDLE_THREAD
26         select GENERIC_STRNCPY_FROM_USER
27         select GENERIC_STRNLEN_USER
28         select GENERIC_TIME_VSYSCALL
29         select HARDIRQS_SW_RESEND
30         select HAVE_ARCH_JUMP_LABEL
31         select HAVE_ARCH_KGDB
32         select HAVE_ARCH_TRACEHOOK
33         select HAVE_C_RECORDMCOUNT
34         select HAVE_DEBUG_BUGVERBOSE
35         select HAVE_DEBUG_KMEMLEAK
36         select HAVE_DMA_API_DEBUG
37         select HAVE_DMA_ATTRS
38         select HAVE_DMA_CONTIGUOUS
39         select HAVE_DYNAMIC_FTRACE
40         select HAVE_EFFICIENT_UNALIGNED_ACCESS
41         select HAVE_FTRACE_MCOUNT_RECORD
42         select HAVE_FUNCTION_TRACER
43         select HAVE_FUNCTION_GRAPH_TRACER
44         select HAVE_GENERIC_DMA_COHERENT
45         select HAVE_HW_BREAKPOINT if PERF_EVENTS
46         select HAVE_MEMBLOCK
47         select HAVE_PATA_PLATFORM
48         select HAVE_PERF_EVENTS
49         select HAVE_PERF_REGS
50         select HAVE_PERF_USER_STACK_DUMP
51         select HAVE_SYSCALL_TRACEPOINTS
52         select IRQ_DOMAIN
53         select MODULES_USE_ELF_RELA
54         select NO_BOOTMEM
55         select OF
56         select OF_EARLY_FLATTREE
57         select OF_RESERVED_MEM
58         select PERF_USE_VMALLOC
59         select POWER_RESET
60         select POWER_SUPPLY
61         select RTC_LIB
62         select SPARSE_IRQ
63         select SYSCTL_EXCEPTION_TRACE
64         help
65           ARM 64-bit (AArch64) Linux support.
66
67 config 64BIT
68         def_bool y
69
70 config ARCH_PHYS_ADDR_T_64BIT
71         def_bool y
72
73 config MMU
74         def_bool y
75
76 config NO_IOPORT_MAP
77         def_bool y
78
79 config STACKTRACE_SUPPORT
80         def_bool y
81
82 config LOCKDEP_SUPPORT
83         def_bool y
84
85 config TRACE_IRQFLAGS_SUPPORT
86         def_bool y
87
88 config RWSEM_XCHGADD_ALGORITHM
89         def_bool y
90
91 config GENERIC_HWEIGHT
92         def_bool y
93
94 config GENERIC_CSUM
95         def_bool y
96
97 config GENERIC_CALIBRATE_DELAY
98         def_bool y
99
100 config ZONE_DMA
101         def_bool y
102
103 config ARCH_DMA_ADDR_T_64BIT
104         def_bool y
105
106 config NEED_DMA_MAP_STATE
107         def_bool y
108
109 config NEED_SG_DMA_LENGTH
110         def_bool y
111
112 config SWIOTLB
113         def_bool y
114
115 config IOMMU_HELPER
116         def_bool SWIOTLB
117
118 config KERNEL_MODE_NEON
119         def_bool y
120
121 config FIX_EARLYCON_MEM
122         def_bool y
123
124 source "init/Kconfig"
125
126 source "kernel/Kconfig.freezer"
127
128 menu "Platform selection"
129
130 config ARCH_VEXPRESS
131         bool "ARMv8 software model (Versatile Express)"
132         select ARCH_REQUIRE_GPIOLIB
133         select COMMON_CLK_VERSATILE
134         select POWER_RESET_VEXPRESS
135         select VEXPRESS_CONFIG
136         help
137           This enables support for the ARMv8 software model (Versatile
138           Express).
139
140 config ARCH_XGENE
141         bool "AppliedMicro X-Gene SOC Family"
142         help
143           This enables support for AppliedMicro X-Gene SOC Family
144
145 endmenu
146
147 menu "Bus support"
148
149 config ARM_AMBA
150         bool
151
152 endmenu
153
154 menu "Kernel Features"
155
156 config ARM64_64K_PAGES
157         bool "Enable 64KB pages support"
158         help
159           This feature enables 64KB pages support (4KB by default)
160           allowing only two levels of page tables and faster TLB
161           look-up. AArch32 emulation is not available when this feature
162           is enabled.
163
164 config CPU_BIG_ENDIAN
165        bool "Build big-endian kernel"
166        help
167          Say Y if you plan on running a kernel in big-endian mode.
168
169 config SMP
170         bool "Symmetric Multi-Processing"
171         help
172           This enables support for systems with more than one CPU.  If
173           you say N here, the kernel will run on single and
174           multiprocessor machines, but will use only one CPU of a
175           multiprocessor machine. If you say Y here, the kernel will run
176           on many, but not all, single processor machines. On a single
177           processor machine, the kernel will run faster if you say N
178           here.
179
180           If you don't know what to do here, say N.
181
182 config SCHED_MC
183         bool "Multi-core scheduler support"
184         depends on SMP
185         help
186           Multi-core scheduler support improves the CPU scheduler's decision
187           making when dealing with multi-core CPU chips at a cost of slightly
188           increased overhead in some places. If unsure say N here.
189
190 config SCHED_SMT
191         bool "SMT scheduler support"
192         depends on SMP
193         help
194           Improves the CPU scheduler's decision making when dealing with
195           MultiThreading at a cost of slightly increased overhead in some
196           places. If unsure say N here.
197
198 config NR_CPUS
199         int "Maximum number of CPUs (2-32)"
200         range 2 32
201         depends on SMP
202         # These have to remain sorted largest to smallest
203         default "8"
204
205 config HOTPLUG_CPU
206         bool "Support for hot-pluggable CPUs"
207         depends on SMP
208         help
209           Say Y here to experiment with turning CPUs off and on.  CPUs
210           can be controlled through /sys/devices/system/cpu.
211
212 source kernel/Kconfig.preempt
213
214 config HZ
215         int
216         default 100
217
218 config ARCH_HAS_HOLES_MEMORYMODEL
219         def_bool y if SPARSEMEM
220
221 config ARCH_SPARSEMEM_ENABLE
222         def_bool y
223         select SPARSEMEM_VMEMMAP_ENABLE
224
225 config ARCH_SPARSEMEM_DEFAULT
226         def_bool ARCH_SPARSEMEM_ENABLE
227
228 config ARCH_SELECT_MEMORY_MODEL
229         def_bool ARCH_SPARSEMEM_ENABLE
230
231 config HAVE_ARCH_PFN_VALID
232         def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM
233
234 config HW_PERF_EVENTS
235         bool "Enable hardware performance counter support for perf events"
236         depends on PERF_EVENTS
237         default y
238         help
239           Enable hardware performance counter support for perf events. If
240           disabled, perf events will use software events only.
241
242 config SYS_SUPPORTS_HUGETLBFS
243         def_bool y
244
245 config ARCH_WANT_GENERAL_HUGETLB
246         def_bool y
247
248 config ARCH_WANT_HUGE_PMD_SHARE
249         def_bool y if !ARM64_64K_PAGES
250
251 config HAVE_ARCH_TRANSPARENT_HUGEPAGE
252         def_bool y
253
254 config ARCH_HAS_CACHE_LINE_SIZE
255         def_bool y
256
257 source "mm/Kconfig"
258
259 config XEN_DOM0
260         def_bool y
261         depends on XEN
262
263 config XEN
264         bool "Xen guest support on ARM64 (EXPERIMENTAL)"
265         depends on ARM64 && OF
266         select SWIOTLB_XEN
267         help
268           Say Y if you want to run Linux in a Virtual Machine on Xen on ARM64.
269
270 config FORCE_MAX_ZONEORDER
271         int
272         default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE)
273         default "11"
274
275 endmenu
276
277 menu "Boot options"
278
279 config CMDLINE
280         string "Default kernel command string"
281         default ""
282         help
283           Provide a set of default command-line options at build time by
284           entering them here. As a minimum, you should specify the the
285           root device (e.g. root=/dev/nfs).
286
287 config CMDLINE_FORCE
288         bool "Always use the default kernel command string"
289         help
290           Always use the default kernel command string, even if the boot
291           loader passes other arguments to the kernel.
292           This is useful if you cannot or don't want to change the
293           command-line options your boot loader passes to the kernel.
294
295 config EFI
296         bool "UEFI runtime support"
297         depends on OF && !CPU_BIG_ENDIAN
298         select LIBFDT
299         select UCS2_STRING
300         select EFI_PARAMS_FROM_FDT
301         default y
302         help
303           This option provides support for runtime services provided
304           by UEFI firmware (such as non-volatile variables, realtime
305           clock, and platform reset). A UEFI stub is also provided to
306           allow the kernel to be booted as an EFI application. This
307           is only useful on systems that have UEFI firmware.
308
309 endmenu
310
311 menu "Userspace binary formats"
312
313 source "fs/Kconfig.binfmt"
314
315 config COMPAT
316         bool "Kernel support for 32-bit EL0"
317         depends on !ARM64_64K_PAGES
318         select COMPAT_BINFMT_ELF
319         select HAVE_UID16
320         select OLD_SIGSUSPEND3
321         select COMPAT_OLD_SIGACTION
322         help
323           This option enables support for a 32-bit EL0 running under a 64-bit
324           kernel at EL1. AArch32-specific components such as system calls,
325           the user helper functions, VFP support and the ptrace interface are
326           handled appropriately by the kernel.
327
328           If you want to execute 32-bit userspace applications, say Y.
329
330 config SYSVIPC_COMPAT
331         def_bool y
332         depends on COMPAT && SYSVIPC
333
334 endmenu
335
336 menu "Power management options"
337
338 source "kernel/power/Kconfig"
339
340 config ARCH_SUSPEND_POSSIBLE
341         def_bool y
342
343 config ARM64_CPU_SUSPEND
344         def_bool PM_SLEEP
345
346 endmenu
347
348 menu "CPU Power Management"
349
350 source "drivers/cpuidle/Kconfig"
351
352 source "drivers/cpufreq/Kconfig"
353
354 endmenu
355
356 source "net/Kconfig"
357
358 source "drivers/Kconfig"
359
360 source "drivers/firmware/Kconfig"
361
362 source "fs/Kconfig"
363
364 source "arch/arm64/kvm/Kconfig"
365
366 source "arch/arm64/Kconfig.debug"
367
368 source "security/Kconfig"
369
370 source "crypto/Kconfig"
371 if CRYPTO
372 source "arch/arm64/crypto/Kconfig"
373 endif
374
375 source "lib/Kconfig"