xref: /linux/arch/nios2/Kconfig (revision 5394f1e9)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
22fc8483fSLey Foon Tanconfig NIOS2
32fc8483fSLey Foon Tan	def_bool y
4942fa985SYury Norov	select ARCH_32BIT_OFF_T
5fa7e2247SChristoph Hellwig	select ARCH_HAS_CPU_CACHE_ALIASING
625622e04SChristoph Hellwig	select ARCH_HAS_DMA_PREP_COHERENT
725622e04SChristoph Hellwig	select ARCH_HAS_SYNC_DMA_FOR_CPU
8fa7e2247SChristoph Hellwig	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
917c46a6aSChristoph Hellwig	select ARCH_HAS_DMA_SET_UNCACHED
10f26e4331SDragos Bogdan	select ARCH_NO_SWAP
11bb0eb050SDaniel Lezcano	select COMMON_CLK
122fc8483fSLey Foon Tan	select TIMER_OF
132fc8483fSLey Foon Tan	select GENERIC_ATOMIC64
142fc8483fSLey Foon Tan	select GENERIC_CPU_DEVICES
152fc8483fSLey Foon Tan	select GENERIC_IRQ_PROBE
162fc8483fSLey Foon Tan	select GENERIC_IRQ_SHOW
17d16d2be1SLey Foon Tan	select HAVE_ARCH_TRACEHOOK
18*5394f1e9SArnd Bergmann	select HAVE_ARCH_KGDB
192fc8483fSLey Foon Tan	select HAVE_PAGE_SIZE_4KB
20a050ba1eSLinus Torvalds	select IRQ_DOMAIN
212fc8483fSLey Foon Tan	select LOCK_MM_AND_FIND_VMA
222fc8483fSLey Foon Tan	select MODULES_USE_ELF_RELA
232fc8483fSLey Foon Tan	select OF
242fc8483fSLey Foon Tan	select OF_EARLY_FLATTREE
252fc8483fSLey Foon Tan	select SOC_BUS
262fc8483fSLey Foon Tan	select SPARSE_IRQ
27fff7fb0bSZhaoxiu Zeng	select USB_ARCH_HAS_HCD if USB_SUPPORT
286137fed0SPeter Zijlstra	select CPU_NO_EFFICIENT_FFS
292fc8483fSLey Foon Tan	select MMU_GATHER_NO_RANGE if MMU
302fc8483fSLey Foon Tan
312fc8483fSLey Foon Tanconfig GENERIC_CSUM
322fc8483fSLey Foon Tan	def_bool y
332fc8483fSLey Foon Tan
342fc8483fSLey Foon Tanconfig GENERIC_HWEIGHT
352fc8483fSLey Foon Tan	def_bool y
362fc8483fSLey Foon Tan
372fc8483fSLey Foon Tanconfig GENERIC_CALIBRATE_DELAY
382fc8483fSLey Foon Tan	def_bool y
392fc8483fSLey Foon Tan
402fc8483fSLey Foon Tanconfig NO_IOPORT_MAP
412fc8483fSLey Foon Tan	def_bool y
422fc8483fSLey Foon Tan
432fc8483fSLey Foon Tanconfig FPU
442fc8483fSLey Foon Tan	def_bool n
452fc8483fSLey Foon Tan
462fc8483fSLey Foon Tanmenu "Kernel features"
472fc8483fSLey Foon Tan
482fc8483fSLey Foon Tansource "kernel/Kconfig.hz"
490192445cSZi Yan
505646e83dSMike Rapoport (IBM)config ARCH_FORCE_MAX_ORDER
5123baf831SKirill A. Shutemov	int "Order of maximal physically contiguous allocations"
522fc8483fSLey Foon Tan	default "10"
535646e83dSMike Rapoport (IBM)	help
545e0a760bSKirill A. Shutemov	  The kernel page allocator limits the size of maximal physically
555646e83dSMike Rapoport (IBM)	  contiguous allocations. The limit is called MAX_PAGE_ORDER and it
565646e83dSMike Rapoport (IBM)	  defines the maximal power of two of number of pages that can be
575646e83dSMike Rapoport (IBM)	  allocated as a single contiguous block. This option allows
585646e83dSMike Rapoport (IBM)	  overriding the default setting when ability to allocate very
595646e83dSMike Rapoport (IBM)	  large blocks of physically contiguous memory is required.
605646e83dSMike Rapoport (IBM)
612fc8483fSLey Foon Tan	  Don't change if unsure.
622fc8483fSLey Foon Tan
632fc8483fSLey Foon Tanendmenu
642fc8483fSLey Foon Tan
652fc8483fSLey Foon Tansource "arch/nios2/platform/Kconfig.platform"
662fc8483fSLey Foon Tan
672fc8483fSLey Foon Tanmenu "Processor type and features"
682fc8483fSLey Foon Tan
692fc8483fSLey Foon Tanconfig MMU
702fc8483fSLey Foon Tan	def_bool y
716e5c8f5fSTobias Klauser
726e5c8f5fSTobias Klauserconfig NR_CPUS
736e5c8f5fSTobias Klauser	int
746e5c8f5fSTobias Klauser	default "1"
752fc8483fSLey Foon Tan
762fc8483fSLey Foon Tanconfig NIOS2_ALIGNMENT_TRAP
772fc8483fSLey Foon Tan	bool "Catch alignment trap"
782fc8483fSLey Foon Tan	default y
792fc8483fSLey Foon Tan	help
802fc8483fSLey Foon Tan	  Nios II CPUs cannot fetch/store data which is not bus aligned,
812fc8483fSLey Foon Tan	  i.e., a 2 or 4 byte fetch must start at an address divisible by
822fc8483fSLey Foon Tan	  2 or 4. Any non-aligned load/store instructions will be trapped and
832fc8483fSLey Foon Tan	  emulated in software if you say Y here, which has a performance
842fc8483fSLey Foon Tan	  impact.
852fc8483fSLey Foon Tan
862fc8483fSLey Foon Tancomment "Boot options"
872fc8483fSLey Foon Tan
882fc8483fSLey Foon Tanconfig CMDLINE_BOOL
892fc8483fSLey Foon Tan	bool "Default bootloader kernel arguments"
902fc8483fSLey Foon Tan	default y
912fc8483fSLey Foon Tan
922fc8483fSLey Foon Tanconfig CMDLINE
932fc8483fSLey Foon Tan	string "Default kernel command string"
942fc8483fSLey Foon Tan	default ""
952fc8483fSLey Foon Tan	depends on CMDLINE_BOOL
962fc8483fSLey Foon Tan	help
972fc8483fSLey Foon Tan	  On some platforms, there is currently no way for the boot loader to
982fc8483fSLey Foon Tan	  pass arguments to the kernel. For these platforms, you can supply
992fc8483fSLey Foon Tan	  some command-line options at build time by entering them here.  In
1002fc8483fSLey Foon Tan	  other cases you can specify kernel args so that you don't have
1012fc8483fSLey Foon Tan	  to set them up in board prom initialization routines.
1022fc8483fSLey Foon Tan
1032fc8483fSLey Foon Tanconfig CMDLINE_FORCE
1042fc8483fSLey Foon Tan	bool "Force default kernel command string"
1052fc8483fSLey Foon Tan	depends on CMDLINE_BOOL
1062fc8483fSLey Foon Tan	help
1072fc8483fSLey Foon Tan	  Set this to have arguments from the default kernel command string
1082fc8483fSLey Foon Tan	  override those passed by the boot loader.
1092fc8483fSLey Foon Tan
1102fc8483fSLey Foon Tanconfig NIOS2_CMDLINE_IGNORE_DTB
1112b2b4074STobias Klauser	bool "Ignore kernel command string from DTB"
1122fc8483fSLey Foon Tan	depends on CMDLINE_BOOL
1132fc8483fSLey Foon Tan	depends on !CMDLINE_FORCE
1142fc8483fSLey Foon Tan	default y
1152fc8483fSLey Foon Tan	help
1162fc8483fSLey Foon Tan	  Set this to ignore the bootargs property from the devicetree's
1172fc8483fSLey Foon Tan	  chosen node and fall back to CMDLINE if nothing is passed.
1182fc8483fSLey Foon Tan
1192fc8483fSLey Foon Tanconfig NIOS2_PASS_CMDLINE
1202fc8483fSLey Foon Tan	bool "Passed kernel command line from u-boot"
1212fc8483fSLey Foon Tan	help
1222fc8483fSLey Foon Tan	  Use bootargs env variable from u-boot for kernel command line.
1232fc8483fSLey Foon Tan	  will override "Default kernel command string".
1242fc8483fSLey Foon Tan	  Say N if you are unsure.
12501623627SLey Foon Tan
12601623627SLey Foon Tanconfig NIOS2_BOOT_LINK_OFFSET
12701623627SLey Foon Tan	hex "Link address offset for booting"
12801623627SLey Foon Tan	default "0x00500000"
12901623627SLey Foon Tan	help
13001623627SLey Foon Tan	  This option allows you to set the link address offset of the zImage.
13101623627SLey Foon Tan	  This can be useful if you are on a board which has a small amount of
13201623627SLey Foon Tan	  memory.
1332fc8483fSLey Foon Tan
1342fc8483fSLey Foon Tanendmenu
1352fc8483fSLey Foon Tan
1362fc8483fSLey Foon Tanmenu "Advanced setup"
1372fc8483fSLey Foon Tan
1382fc8483fSLey Foon Tanconfig ADVANCED_OPTIONS
1392fc8483fSLey Foon Tan	bool "Prompt for advanced kernel configuration options"
1402fc8483fSLey Foon Tan
1412fc8483fSLey Foon Tancomment "Default settings for advanced configuration options are used"
1422fc8483fSLey Foon Tan	depends on !ADVANCED_OPTIONS
1432fc8483fSLey Foon Tan
1442fc8483fSLey Foon Tanconfig NIOS2_KERNEL_MMU_REGION_BASE_BOOL
1452fc8483fSLey Foon Tan	bool "Set custom kernel MMU region base address"
1462fc8483fSLey Foon Tan	depends on ADVANCED_OPTIONS
1472fc8483fSLey Foon Tan	help
1482fc8483fSLey Foon Tan	  This option allows you to set the virtual address of the kernel MMU region.
1492fc8483fSLey Foon Tan
1502fc8483fSLey Foon Tan	  Say N here unless you know what you are doing.
1512fc8483fSLey Foon Tan
1522fc8483fSLey Foon Tanconfig NIOS2_KERNEL_MMU_REGION_BASE
1532fc8483fSLey Foon Tan	hex "Virtual base address of the kernel MMU region " if NIOS2_KERNEL_MMU_REGION_BASE_BOOL
1542fc8483fSLey Foon Tan	default "0x80000000"
1552fc8483fSLey Foon Tan	help
1562fc8483fSLey Foon Tan	  This option allows you to set the virtual base address of the kernel MMU region.
1572fc8483fSLey Foon Tan
1582fc8483fSLey Foon Tanconfig NIOS2_KERNEL_REGION_BASE_BOOL
1592fc8483fSLey Foon Tan	bool "Set custom kernel region base address"
1602fc8483fSLey Foon Tan	depends on ADVANCED_OPTIONS
1612fc8483fSLey Foon Tan	help
1622fc8483fSLey Foon Tan	  This option allows you to set the virtual address of the kernel region.
1632fc8483fSLey Foon Tan
1642fc8483fSLey Foon Tan	  Say N here unless you know what you are doing.
1652fc8483fSLey Foon Tan
1662fc8483fSLey Foon Tanconfig NIOS2_KERNEL_REGION_BASE
1672fc8483fSLey Foon Tan	hex "Virtual base address of the kernel region " if NIOS2_KERNEL_REGION_BASE_BOOL
1682fc8483fSLey Foon Tan	default "0xc0000000"
1692fc8483fSLey Foon Tan
1702fc8483fSLey Foon Tanconfig NIOS2_IO_REGION_BASE_BOOL
1712fc8483fSLey Foon Tan	bool "Set custom I/O region base address"
1722fc8483fSLey Foon Tan	depends on ADVANCED_OPTIONS
1732fc8483fSLey Foon Tan	help
1742fc8483fSLey Foon Tan	  This option allows you to set the virtual address of the I/O region.
1752fc8483fSLey Foon Tan
1762fc8483fSLey Foon Tan	  Say N here unless you know what you are doing.
1772fc8483fSLey Foon Tan
1782fc8483fSLey Foon Tanconfig NIOS2_IO_REGION_BASE
1792fc8483fSLey Foon Tan	hex "Virtual base address of the I/O region" if NIOS2_IO_REGION_BASE_BOOL
1802fc8483fSLey Foon Tan	default "0xe0000000"
1812fc8483fSLey Foon Tan
182endmenu
183