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