1# SPDX-License-Identifier: GPL-2.0
2#
3# For a description of the syntax of this configuration file,
4# see Documentation/kbuild/kconfig-language.txt.
5#
6
7config C6X
8	def_bool y
9	select ARCH_HAS_SYNC_DMA_FOR_CPU
10	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
11	select CLKDEV_LOOKUP
12	select DMA_NONCOHERENT_OPS
13	select GENERIC_ATOMIC64
14	select GENERIC_IRQ_SHOW
15	select HAVE_ARCH_TRACEHOOK
16	select HAVE_MEMBLOCK
17	select SPARSE_IRQ
18	select IRQ_DOMAIN
19	select OF
20	select OF_EARLY_FLATTREE
21	select GENERIC_CLOCKEVENTS
22	select MODULES_USE_ELF_RELA
23	select ARCH_NO_COHERENT_DMA_MMAP
24
25config MMU
26	def_bool n
27
28config FPU
29	def_bool n
30
31config RWSEM_GENERIC_SPINLOCK
32	def_bool y
33
34config GENERIC_CALIBRATE_DELAY
35	def_bool y
36
37config GENERIC_HWEIGHT
38	def_bool y
39
40config GENERIC_BUG
41	def_bool y
42	depends on BUG
43
44config C6X_BIG_KERNEL
45	bool "Build a big kernel"
46	help
47	  The C6X function call instruction has a limited range of +/- 2MiB.
48	  This is sufficient for most kernels, but some kernel configurations
49	  with lots of compiled-in functionality may require a larger range
50	  for function calls. Use this option to have the compiler generate
51	  function calls with 32-bit range. This will make the kernel both
52	  larger and slower.
53
54	  If unsure, say N.
55
56# Use the generic interrupt handling code in kernel/irq/
57
58config CMDLINE_BOOL
59	bool "Default bootloader kernel arguments"
60
61config CMDLINE
62	string "Kernel command line"
63	depends on CMDLINE_BOOL
64	default "console=ttyS0,57600"
65	help
66	  On some architectures there is currently no way for the boot loader
67	  to pass arguments to the kernel. For these architectures, you should
68	  supply some command-line options at build time by entering them
69	  here.
70
71config CMDLINE_FORCE
72	bool "Force default kernel command string"
73	depends on CMDLINE_BOOL
74	default n
75	help
76	  Set this to have arguments from the default kernel command string
77	  override those passed by the boot loader.
78
79config CPU_BIG_ENDIAN
80	bool "Build big-endian kernel"
81	default n
82	help
83	  Say Y if you plan on running a kernel in big-endian mode.
84	  Note that your board must be properly built and your board
85	  port must properly enable any big-endian related features
86	  of your chipset/board/processor.
87
88config FORCE_MAX_ZONEORDER
89	int "Maximum zone order"
90	default "13"
91	help
92	  The kernel memory allocator divides physically contiguous memory
93	  blocks into "zones", where each zone is a power of two number of
94	  pages.  This option selects the largest power of two that the kernel
95	  keeps in the memory allocator.  If you need to allocate very large
96	  blocks of physically contiguous memory, then you may need to
97	  increase this value.
98
99	  This config option is actually maximum order plus one. For example,
100	  a value of 11 means that the largest free memory block is 2^10 pages.
101
102menu "Processor type and features"
103
104source "arch/c6x/platforms/Kconfig"
105
106config KERNEL_RAM_BASE_ADDRESS
107	hex "Virtual address of memory base"
108	default 0xe0000000 if SOC_TMS320C6455
109	default 0xe0000000 if SOC_TMS320C6457
110	default 0xe0000000 if SOC_TMS320C6472
111	default 0x80000000
112
113source "kernel/Kconfig.hz"
114
115endmenu
116