18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ciconfig NIOS2 38c2ecf20Sopenharmony_ci def_bool y 48c2ecf20Sopenharmony_ci select ARCH_32BIT_OFF_T 58c2ecf20Sopenharmony_ci select ARCH_HAS_DMA_PREP_COHERENT 68c2ecf20Sopenharmony_ci select ARCH_HAS_SYNC_DMA_FOR_CPU 78c2ecf20Sopenharmony_ci select ARCH_HAS_SYNC_DMA_FOR_DEVICE 88c2ecf20Sopenharmony_ci select ARCH_HAS_DMA_SET_UNCACHED 98c2ecf20Sopenharmony_ci select ARCH_NO_SWAP 108c2ecf20Sopenharmony_ci select COMMON_CLK 118c2ecf20Sopenharmony_ci select TIMER_OF 128c2ecf20Sopenharmony_ci select GENERIC_ATOMIC64 138c2ecf20Sopenharmony_ci select GENERIC_CLOCKEVENTS 148c2ecf20Sopenharmony_ci select GENERIC_CPU_DEVICES 158c2ecf20Sopenharmony_ci select GENERIC_IRQ_PROBE 168c2ecf20Sopenharmony_ci select GENERIC_IRQ_SHOW 178c2ecf20Sopenharmony_ci select GENERIC_STRNCPY_FROM_USER 188c2ecf20Sopenharmony_ci select GENERIC_STRNLEN_USER 198c2ecf20Sopenharmony_ci select HAVE_ARCH_TRACEHOOK 208c2ecf20Sopenharmony_ci select HAVE_ARCH_KGDB 218c2ecf20Sopenharmony_ci select IRQ_DOMAIN 228c2ecf20Sopenharmony_ci select MODULES_USE_ELF_RELA 238c2ecf20Sopenharmony_ci select OF 248c2ecf20Sopenharmony_ci select OF_EARLY_FLATTREE 258c2ecf20Sopenharmony_ci select SOC_BUS 268c2ecf20Sopenharmony_ci select SPARSE_IRQ 278c2ecf20Sopenharmony_ci select USB_ARCH_HAS_HCD if USB_SUPPORT 288c2ecf20Sopenharmony_ci select CPU_NO_EFFICIENT_FFS 298c2ecf20Sopenharmony_ci select MMU_GATHER_NO_RANGE if MMU 308c2ecf20Sopenharmony_ci select SET_FS 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ciconfig GENERIC_CSUM 338c2ecf20Sopenharmony_ci def_bool y 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ciconfig GENERIC_HWEIGHT 368c2ecf20Sopenharmony_ci def_bool y 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ciconfig GENERIC_CALIBRATE_DELAY 398c2ecf20Sopenharmony_ci def_bool y 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ciconfig NO_IOPORT_MAP 428c2ecf20Sopenharmony_ci def_bool y 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ciconfig FPU 458c2ecf20Sopenharmony_ci def_bool n 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ciconfig TRACE_IRQFLAGS_SUPPORT 488c2ecf20Sopenharmony_ci def_bool n 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_cimenu "Kernel features" 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_cisource "kernel/Kconfig.hz" 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ciconfig FORCE_MAX_ZONEORDER 558c2ecf20Sopenharmony_ci int "Maximum zone order" 568c2ecf20Sopenharmony_ci range 9 20 578c2ecf20Sopenharmony_ci default "11" 588c2ecf20Sopenharmony_ci help 598c2ecf20Sopenharmony_ci The kernel memory allocator divides physically contiguous memory 608c2ecf20Sopenharmony_ci blocks into "zones", where each zone is a power of two number of 618c2ecf20Sopenharmony_ci pages. This option selects the largest power of two that the kernel 628c2ecf20Sopenharmony_ci keeps in the memory allocator. If you need to allocate very large 638c2ecf20Sopenharmony_ci blocks of physically contiguous memory, then you may need to 648c2ecf20Sopenharmony_ci increase this value. 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci This config option is actually maximum order plus one. For example, 678c2ecf20Sopenharmony_ci a value of 11 means that the largest free memory block is 2^10 pages. 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ciendmenu 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_cisource "arch/nios2/platform/Kconfig.platform" 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_cimenu "Processor type and features" 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ciconfig MMU 768c2ecf20Sopenharmony_ci def_bool y 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_ciconfig NR_CPUS 798c2ecf20Sopenharmony_ci int 808c2ecf20Sopenharmony_ci default "1" 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ciconfig NIOS2_ALIGNMENT_TRAP 838c2ecf20Sopenharmony_ci bool "Catch alignment trap" 848c2ecf20Sopenharmony_ci default y 858c2ecf20Sopenharmony_ci help 868c2ecf20Sopenharmony_ci Nios II CPUs cannot fetch/store data which is not bus aligned, 878c2ecf20Sopenharmony_ci i.e., a 2 or 4 byte fetch must start at an address divisible by 888c2ecf20Sopenharmony_ci 2 or 4. Any non-aligned load/store instructions will be trapped and 898c2ecf20Sopenharmony_ci emulated in software if you say Y here, which has a performance 908c2ecf20Sopenharmony_ci impact. 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_cicomment "Boot options" 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ciconfig CMDLINE_BOOL 958c2ecf20Sopenharmony_ci bool "Default bootloader kernel arguments" 968c2ecf20Sopenharmony_ci default y 978c2ecf20Sopenharmony_ci 988c2ecf20Sopenharmony_ciconfig CMDLINE 998c2ecf20Sopenharmony_ci string "Default kernel command string" 1008c2ecf20Sopenharmony_ci default "" 1018c2ecf20Sopenharmony_ci depends on CMDLINE_BOOL 1028c2ecf20Sopenharmony_ci help 1038c2ecf20Sopenharmony_ci On some platforms, there is currently no way for the boot loader to 1048c2ecf20Sopenharmony_ci pass arguments to the kernel. For these platforms, you can supply 1058c2ecf20Sopenharmony_ci some command-line options at build time by entering them here. In 1068c2ecf20Sopenharmony_ci other cases you can specify kernel args so that you don't have 1078c2ecf20Sopenharmony_ci to set them up in board prom initialization routines. 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ciconfig CMDLINE_FORCE 1108c2ecf20Sopenharmony_ci bool "Force default kernel command string" 1118c2ecf20Sopenharmony_ci depends on CMDLINE_BOOL 1128c2ecf20Sopenharmony_ci help 1138c2ecf20Sopenharmony_ci Set this to have arguments from the default kernel command string 1148c2ecf20Sopenharmony_ci override those passed by the boot loader. 1158c2ecf20Sopenharmony_ci 1168c2ecf20Sopenharmony_ciconfig NIOS2_CMDLINE_IGNORE_DTB 1178c2ecf20Sopenharmony_ci bool "Ignore kernel command string from DTB" 1188c2ecf20Sopenharmony_ci depends on CMDLINE_BOOL 1198c2ecf20Sopenharmony_ci depends on !CMDLINE_FORCE 1208c2ecf20Sopenharmony_ci default y 1218c2ecf20Sopenharmony_ci help 1228c2ecf20Sopenharmony_ci Set this to ignore the bootargs property from the devicetree's 1238c2ecf20Sopenharmony_ci chosen node and fall back to CMDLINE if nothing is passed. 1248c2ecf20Sopenharmony_ci 1258c2ecf20Sopenharmony_ciconfig NIOS2_PASS_CMDLINE 1268c2ecf20Sopenharmony_ci bool "Passed kernel command line from u-boot" 1278c2ecf20Sopenharmony_ci help 1288c2ecf20Sopenharmony_ci Use bootargs env variable from u-boot for kernel command line. 1298c2ecf20Sopenharmony_ci will override "Default kernel command string". 1308c2ecf20Sopenharmony_ci Say N if you are unsure. 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ciconfig NIOS2_BOOT_LINK_OFFSET 1338c2ecf20Sopenharmony_ci hex "Link address offset for booting" 1348c2ecf20Sopenharmony_ci default "0x00500000" 1358c2ecf20Sopenharmony_ci help 1368c2ecf20Sopenharmony_ci This option allows you to set the link address offset of the zImage. 1378c2ecf20Sopenharmony_ci This can be useful if you are on a board which has a small amount of 1388c2ecf20Sopenharmony_ci memory. 1398c2ecf20Sopenharmony_ci 1408c2ecf20Sopenharmony_ciendmenu 1418c2ecf20Sopenharmony_ci 1428c2ecf20Sopenharmony_cimenu "Advanced setup" 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_ciconfig ADVANCED_OPTIONS 1458c2ecf20Sopenharmony_ci bool "Prompt for advanced kernel configuration options" 1468c2ecf20Sopenharmony_ci 1478c2ecf20Sopenharmony_cicomment "Default settings for advanced configuration options are used" 1488c2ecf20Sopenharmony_ci depends on !ADVANCED_OPTIONS 1498c2ecf20Sopenharmony_ci 1508c2ecf20Sopenharmony_ciconfig NIOS2_KERNEL_MMU_REGION_BASE_BOOL 1518c2ecf20Sopenharmony_ci bool "Set custom kernel MMU region base address" 1528c2ecf20Sopenharmony_ci depends on ADVANCED_OPTIONS 1538c2ecf20Sopenharmony_ci help 1548c2ecf20Sopenharmony_ci This option allows you to set the virtual address of the kernel MMU region. 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_ci Say N here unless you know what you are doing. 1578c2ecf20Sopenharmony_ci 1588c2ecf20Sopenharmony_ciconfig NIOS2_KERNEL_MMU_REGION_BASE 1598c2ecf20Sopenharmony_ci hex "Virtual base address of the kernel MMU region " if NIOS2_KERNEL_MMU_REGION_BASE_BOOL 1608c2ecf20Sopenharmony_ci default "0x80000000" 1618c2ecf20Sopenharmony_ci help 1628c2ecf20Sopenharmony_ci This option allows you to set the virtual base address of the kernel MMU region. 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ciconfig NIOS2_KERNEL_REGION_BASE_BOOL 1658c2ecf20Sopenharmony_ci bool "Set custom kernel region base address" 1668c2ecf20Sopenharmony_ci depends on ADVANCED_OPTIONS 1678c2ecf20Sopenharmony_ci help 1688c2ecf20Sopenharmony_ci This option allows you to set the virtual address of the kernel region. 1698c2ecf20Sopenharmony_ci 1708c2ecf20Sopenharmony_ci Say N here unless you know what you are doing. 1718c2ecf20Sopenharmony_ci 1728c2ecf20Sopenharmony_ciconfig NIOS2_KERNEL_REGION_BASE 1738c2ecf20Sopenharmony_ci hex "Virtual base address of the kernel region " if NIOS2_KERNEL_REGION_BASE_BOOL 1748c2ecf20Sopenharmony_ci default "0xc0000000" 1758c2ecf20Sopenharmony_ci 1768c2ecf20Sopenharmony_ciconfig NIOS2_IO_REGION_BASE_BOOL 1778c2ecf20Sopenharmony_ci bool "Set custom I/O region base address" 1788c2ecf20Sopenharmony_ci depends on ADVANCED_OPTIONS 1798c2ecf20Sopenharmony_ci help 1808c2ecf20Sopenharmony_ci This option allows you to set the virtual address of the I/O region. 1818c2ecf20Sopenharmony_ci 1828c2ecf20Sopenharmony_ci Say N here unless you know what you are doing. 1838c2ecf20Sopenharmony_ci 1848c2ecf20Sopenharmony_ciconfig NIOS2_IO_REGION_BASE 1858c2ecf20Sopenharmony_ci hex "Virtual base address of the I/O region" if NIOS2_IO_REGION_BASE_BOOL 1868c2ecf20Sopenharmony_ci default "0xe0000000" 1878c2ecf20Sopenharmony_ci 1888c2ecf20Sopenharmony_ciendmenu 189