xref: /linux/arch/nios2/Kconfig (revision 25622e045a6aed45c9b12d1977fcb3fc3b349a73)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
22fc8483fSLey Foon Tanconfig NIOS2
32fc8483fSLey Foon Tan	def_bool y
4*25622e04SChristoph Hellwig	select ARCH_HAS_SYNC_DMA_FOR_CPU
5*25622e04SChristoph Hellwig	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
6*25622e04SChristoph Hellwig	select DMA_NONCOHERENT_OPS
7bb0eb050SDaniel Lezcano	select TIMER_OF
82fc8483fSLey Foon Tan	select GENERIC_ATOMIC64
92fc8483fSLey Foon Tan	select GENERIC_CLOCKEVENTS
102fc8483fSLey Foon Tan	select GENERIC_CPU_DEVICES
112fc8483fSLey Foon Tan	select GENERIC_IRQ_PROBE
122fc8483fSLey Foon Tan	select GENERIC_IRQ_SHOW
137f1e6141SLey Foon Tan	select GENERIC_STRNCPY_FROM_USER
147f1e6141SLey Foon Tan	select GENERIC_STRNLEN_USER
152fc8483fSLey Foon Tan	select HAVE_ARCH_TRACEHOOK
16d16d2be1SLey Foon Tan	select HAVE_ARCH_KGDB
172fc8483fSLey Foon Tan	select IRQ_DOMAIN
182fc8483fSLey Foon Tan	select MODULES_USE_ELF_RELA
192fc8483fSLey Foon Tan	select OF
202fc8483fSLey Foon Tan	select OF_EARLY_FLATTREE
212fc8483fSLey Foon Tan	select SOC_BUS
222fc8483fSLey Foon Tan	select SPARSE_IRQ
232fc8483fSLey Foon Tan	select USB_ARCH_HAS_HCD if USB_SUPPORT
24fff7fb0bSZhaoxiu Zeng	select CPU_NO_EFFICIENT_FFS
252fc8483fSLey Foon Tan
262fc8483fSLey Foon Tanconfig GENERIC_CSUM
272fc8483fSLey Foon Tan	def_bool y
282fc8483fSLey Foon Tan
292fc8483fSLey Foon Tanconfig GENERIC_HWEIGHT
302fc8483fSLey Foon Tan	def_bool y
312fc8483fSLey Foon Tan
322fc8483fSLey Foon Tanconfig GENERIC_CALIBRATE_DELAY
332fc8483fSLey Foon Tan	def_bool y
342fc8483fSLey Foon Tan
352fc8483fSLey Foon Tanconfig NO_IOPORT_MAP
362fc8483fSLey Foon Tan	def_bool y
372fc8483fSLey Foon Tan
382fc8483fSLey Foon Tanconfig HAS_DMA
392fc8483fSLey Foon Tan	def_bool y
402fc8483fSLey Foon Tan
412fc8483fSLey Foon Tanconfig FPU
422fc8483fSLey Foon Tan	def_bool n
432fc8483fSLey Foon Tan
442fc8483fSLey Foon Tanconfig SWAP
452fc8483fSLey Foon Tan	def_bool n
462fc8483fSLey Foon Tan
472fc8483fSLey Foon Tanconfig RWSEM_GENERIC_SPINLOCK
482fc8483fSLey Foon Tan	def_bool y
492fc8483fSLey Foon Tan
502fc8483fSLey Foon Tanconfig TRACE_IRQFLAGS_SUPPORT
512fc8483fSLey Foon Tan	def_bool n
522fc8483fSLey Foon Tan
532fc8483fSLey Foon Tansource "init/Kconfig"
542fc8483fSLey Foon Tan
552fc8483fSLey Foon Tanmenu "Kernel features"
562fc8483fSLey Foon Tan
572fc8483fSLey Foon Tansource "kernel/Kconfig.preempt"
582fc8483fSLey Foon Tan
592fc8483fSLey Foon Tansource "kernel/Kconfig.freezer"
602fc8483fSLey Foon Tan
612fc8483fSLey Foon Tansource "kernel/Kconfig.hz"
622fc8483fSLey Foon Tan
632fc8483fSLey Foon Tansource "mm/Kconfig"
642fc8483fSLey Foon Tan
652fc8483fSLey Foon Tanconfig FORCE_MAX_ZONEORDER
662fc8483fSLey Foon Tan	int "Maximum zone order"
672fc8483fSLey Foon Tan	range 9 20
682fc8483fSLey Foon Tan	default "11"
692fc8483fSLey Foon Tan	help
702fc8483fSLey Foon Tan	  The kernel memory allocator divides physically contiguous memory
712fc8483fSLey Foon Tan	  blocks into "zones", where each zone is a power of two number of
722fc8483fSLey Foon Tan	  pages.  This option selects the largest power of two that the kernel
732fc8483fSLey Foon Tan	  keeps in the memory allocator.  If you need to allocate very large
742fc8483fSLey Foon Tan	  blocks of physically contiguous memory, then you may need to
752fc8483fSLey Foon Tan	  increase this value.
762fc8483fSLey Foon Tan
772fc8483fSLey Foon Tan	  This config option is actually maximum order plus one. For example,
782fc8483fSLey Foon Tan	  a value of 11 means that the largest free memory block is 2^10 pages.
792fc8483fSLey Foon Tan
802fc8483fSLey Foon Tanendmenu
812fc8483fSLey Foon Tan
822fc8483fSLey Foon Tansource "arch/nios2/platform/Kconfig.platform"
832fc8483fSLey Foon Tan
842fc8483fSLey Foon Tanmenu "Processor type and features"
852fc8483fSLey Foon Tan
862fc8483fSLey Foon Tanconfig MMU
872fc8483fSLey Foon Tan	def_bool y
882fc8483fSLey Foon Tan
896e5c8f5fSTobias Klauserconfig NR_CPUS
906e5c8f5fSTobias Klauser	int
916e5c8f5fSTobias Klauser	default "1"
926e5c8f5fSTobias Klauser
932fc8483fSLey Foon Tanconfig NIOS2_ALIGNMENT_TRAP
942fc8483fSLey Foon Tan	bool "Catch alignment trap"
952fc8483fSLey Foon Tan	default y
962fc8483fSLey Foon Tan	help
972fc8483fSLey Foon Tan	  Nios II CPUs cannot fetch/store data which is not bus aligned,
982fc8483fSLey Foon Tan	  i.e., a 2 or 4 byte fetch must start at an address divisible by
992fc8483fSLey Foon Tan	  2 or 4. Any non-aligned load/store instructions will be trapped and
1002fc8483fSLey Foon Tan	  emulated in software if you say Y here, which has a performance
1012fc8483fSLey Foon Tan	  impact.
1022fc8483fSLey Foon Tan
1032fc8483fSLey Foon Tancomment "Boot options"
1042fc8483fSLey Foon Tan
1052fc8483fSLey Foon Tanconfig CMDLINE_BOOL
1062fc8483fSLey Foon Tan	bool "Default bootloader kernel arguments"
1072fc8483fSLey Foon Tan	default y
1082fc8483fSLey Foon Tan
1092fc8483fSLey Foon Tanconfig CMDLINE
1102fc8483fSLey Foon Tan	string "Default kernel command string"
1112fc8483fSLey Foon Tan	default ""
1122fc8483fSLey Foon Tan	depends on CMDLINE_BOOL
1132fc8483fSLey Foon Tan	help
1142fc8483fSLey Foon Tan	  On some platforms, there is currently no way for the boot loader to
1152fc8483fSLey Foon Tan	  pass arguments to the kernel. For these platforms, you can supply
1162fc8483fSLey Foon Tan	  some command-line options at build time by entering them here.  In
1172fc8483fSLey Foon Tan	  other cases you can specify kernel args so that you don't have
1182fc8483fSLey Foon Tan	  to set them up in board prom initialization routines.
1192fc8483fSLey Foon Tan
1202fc8483fSLey Foon Tanconfig CMDLINE_FORCE
1212fc8483fSLey Foon Tan	bool "Force default kernel command string"
1222fc8483fSLey Foon Tan	depends on CMDLINE_BOOL
1232fc8483fSLey Foon Tan	help
1242fc8483fSLey Foon Tan	  Set this to have arguments from the default kernel command string
1252fc8483fSLey Foon Tan	  override those passed by the boot loader.
1262fc8483fSLey Foon Tan
1272fc8483fSLey Foon Tanconfig NIOS2_CMDLINE_IGNORE_DTB
1282fc8483fSLey Foon Tan	bool "Ignore kernel command string from DTB"
1292b2b4074STobias Klauser	depends on CMDLINE_BOOL
1302fc8483fSLey Foon Tan	depends on !CMDLINE_FORCE
1312fc8483fSLey Foon Tan	default y
1322fc8483fSLey Foon Tan	help
1332fc8483fSLey Foon Tan	  Set this to ignore the bootargs property from the devicetree's
1342fc8483fSLey Foon Tan	  chosen node and fall back to CMDLINE if nothing is passed.
1352fc8483fSLey Foon Tan
1362fc8483fSLey Foon Tanconfig NIOS2_PASS_CMDLINE
1372fc8483fSLey Foon Tan	bool "Passed kernel command line from u-boot"
1382fc8483fSLey Foon Tan	default n
1392fc8483fSLey Foon Tan	help
1402fc8483fSLey Foon Tan	  Use bootargs env variable from u-boot for kernel command line.
1412fc8483fSLey Foon Tan	  will override "Default kernel command string".
1422fc8483fSLey Foon Tan	  Say N if you are unsure.
1432fc8483fSLey Foon Tan
14401623627SLey Foon Tanconfig NIOS2_BOOT_LINK_OFFSET
14501623627SLey Foon Tan	hex "Link address offset for booting"
14601623627SLey Foon Tan	default "0x00500000"
14701623627SLey Foon Tan	help
14801623627SLey Foon Tan	  This option allows you to set the link address offset of the zImage.
14901623627SLey Foon Tan	  This can be useful if you are on a board which has a small amount of
15001623627SLey Foon Tan	  memory.
15101623627SLey Foon Tan
1522fc8483fSLey Foon Tanendmenu
1532fc8483fSLey Foon Tan
1542fc8483fSLey Foon Tanmenu "Advanced setup"
1552fc8483fSLey Foon Tan
1562fc8483fSLey Foon Tanconfig ADVANCED_OPTIONS
1572fc8483fSLey Foon Tan	bool "Prompt for advanced kernel configuration options"
1582fc8483fSLey Foon Tan
1592fc8483fSLey Foon Tancomment "Default settings for advanced configuration options are used"
1602fc8483fSLey Foon Tan	depends on !ADVANCED_OPTIONS
1612fc8483fSLey Foon Tan
1622fc8483fSLey Foon Tanconfig NIOS2_KERNEL_MMU_REGION_BASE_BOOL
1632fc8483fSLey Foon Tan	bool "Set custom kernel MMU region base address"
1642fc8483fSLey Foon Tan	depends on ADVANCED_OPTIONS
1652fc8483fSLey Foon Tan	help
1662fc8483fSLey Foon Tan	  This option allows you to set the virtual address of the kernel MMU region.
1672fc8483fSLey Foon Tan
1682fc8483fSLey Foon Tan	  Say N here unless you know what you are doing.
1692fc8483fSLey Foon Tan
1702fc8483fSLey Foon Tanconfig NIOS2_KERNEL_MMU_REGION_BASE
1712fc8483fSLey Foon Tan	hex "Virtual base address of the kernel MMU region " if NIOS2_KERNEL_MMU_REGION_BASE_BOOL
1722fc8483fSLey Foon Tan	default "0x80000000"
1732fc8483fSLey Foon Tan	help
1742fc8483fSLey Foon Tan	  This option allows you to set the virtual base address of the kernel MMU region.
1752fc8483fSLey Foon Tan
1762fc8483fSLey Foon Tanconfig NIOS2_KERNEL_REGION_BASE_BOOL
1772fc8483fSLey Foon Tan	bool "Set custom kernel region base address"
1782fc8483fSLey Foon Tan	depends on ADVANCED_OPTIONS
1792fc8483fSLey Foon Tan	help
1802fc8483fSLey Foon Tan	  This option allows you to set the virtual address of the kernel region.
1812fc8483fSLey Foon Tan
1822fc8483fSLey Foon Tan	  Say N here unless you know what you are doing.
1832fc8483fSLey Foon Tan
1842fc8483fSLey Foon Tanconfig NIOS2_KERNEL_REGION_BASE
1852fc8483fSLey Foon Tan	hex "Virtual base address of the kernel region " if NIOS2_KERNEL_REGION_BASE_BOOL
1862fc8483fSLey Foon Tan	default "0xc0000000"
1872fc8483fSLey Foon Tan
1882fc8483fSLey Foon Tanconfig NIOS2_IO_REGION_BASE_BOOL
1892fc8483fSLey Foon Tan	bool "Set custom I/O region base address"
1902fc8483fSLey Foon Tan	depends on ADVANCED_OPTIONS
1912fc8483fSLey Foon Tan	help
1922fc8483fSLey Foon Tan	  This option allows you to set the virtual address of the I/O region.
1932fc8483fSLey Foon Tan
1942fc8483fSLey Foon Tan	  Say N here unless you know what you are doing.
1952fc8483fSLey Foon Tan
1962fc8483fSLey Foon Tanconfig NIOS2_IO_REGION_BASE
1972fc8483fSLey Foon Tan	hex "Virtual base address of the I/O region" if NIOS2_IO_REGION_BASE_BOOL
1982fc8483fSLey Foon Tan	default "0xe0000000"
1992fc8483fSLey Foon Tan
2002fc8483fSLey Foon Tanendmenu
2012fc8483fSLey Foon Tan
2022fc8483fSLey Foon Tanmenu "Executable file formats"
2032fc8483fSLey Foon Tan
2042fc8483fSLey Foon Tansource "fs/Kconfig.binfmt"
2052fc8483fSLey Foon Tan
2062fc8483fSLey Foon Tanendmenu
2072fc8483fSLey Foon Tan
2082fc8483fSLey Foon Tansource "net/Kconfig"
2092fc8483fSLey Foon Tan
2102fc8483fSLey Foon Tansource "drivers/Kconfig"
2112fc8483fSLey Foon Tan
2122fc8483fSLey Foon Tansource "fs/Kconfig"
2132fc8483fSLey Foon Tan
2142fc8483fSLey Foon Tansource "arch/nios2/Kconfig.debug"
2152fc8483fSLey Foon Tan
2162fc8483fSLey Foon Tansource "security/Kconfig"
2172fc8483fSLey Foon Tan
2182fc8483fSLey Foon Tansource "crypto/Kconfig"
2192fc8483fSLey Foon Tan
2202fc8483fSLey Foon Tansource "lib/Kconfig"
221