162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ciconfig NIOS2 362306a36Sopenharmony_ci def_bool y 462306a36Sopenharmony_ci select ARCH_32BIT_OFF_T 562306a36Sopenharmony_ci select ARCH_HAS_DMA_PREP_COHERENT 662306a36Sopenharmony_ci select ARCH_HAS_SYNC_DMA_FOR_CPU 762306a36Sopenharmony_ci select ARCH_HAS_SYNC_DMA_FOR_DEVICE 862306a36Sopenharmony_ci select ARCH_HAS_DMA_SET_UNCACHED 962306a36Sopenharmony_ci select ARCH_NO_SWAP 1062306a36Sopenharmony_ci select COMMON_CLK 1162306a36Sopenharmony_ci select TIMER_OF 1262306a36Sopenharmony_ci select GENERIC_ATOMIC64 1362306a36Sopenharmony_ci select GENERIC_CPU_DEVICES 1462306a36Sopenharmony_ci select GENERIC_IRQ_PROBE 1562306a36Sopenharmony_ci select GENERIC_IRQ_SHOW 1662306a36Sopenharmony_ci select HAVE_ARCH_TRACEHOOK 1762306a36Sopenharmony_ci select HAVE_ARCH_KGDB 1862306a36Sopenharmony_ci select IRQ_DOMAIN 1962306a36Sopenharmony_ci select LOCK_MM_AND_FIND_VMA 2062306a36Sopenharmony_ci select MODULES_USE_ELF_RELA 2162306a36Sopenharmony_ci select OF 2262306a36Sopenharmony_ci select OF_EARLY_FLATTREE 2362306a36Sopenharmony_ci select SOC_BUS 2462306a36Sopenharmony_ci select SPARSE_IRQ 2562306a36Sopenharmony_ci select USB_ARCH_HAS_HCD if USB_SUPPORT 2662306a36Sopenharmony_ci select CPU_NO_EFFICIENT_FFS 2762306a36Sopenharmony_ci select MMU_GATHER_NO_RANGE if MMU 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ciconfig GENERIC_CSUM 3062306a36Sopenharmony_ci def_bool y 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ciconfig GENERIC_HWEIGHT 3362306a36Sopenharmony_ci def_bool y 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ciconfig GENERIC_CALIBRATE_DELAY 3662306a36Sopenharmony_ci def_bool y 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ciconfig NO_IOPORT_MAP 3962306a36Sopenharmony_ci def_bool y 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ciconfig FPU 4262306a36Sopenharmony_ci def_bool n 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_cimenu "Kernel features" 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_cisource "kernel/Kconfig.hz" 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ciconfig ARCH_FORCE_MAX_ORDER 4962306a36Sopenharmony_ci int "Order of maximal physically contiguous allocations" 5062306a36Sopenharmony_ci default "10" 5162306a36Sopenharmony_ci help 5262306a36Sopenharmony_ci The kernel page allocator limits the size of maximal physically 5362306a36Sopenharmony_ci contiguous allocations. The limit is called MAX_ORDER and it 5462306a36Sopenharmony_ci defines the maximal power of two of number of pages that can be 5562306a36Sopenharmony_ci allocated as a single contiguous block. This option allows 5662306a36Sopenharmony_ci overriding the default setting when ability to allocate very 5762306a36Sopenharmony_ci large blocks of physically contiguous memory is required. 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci Don't change if unsure. 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ciendmenu 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_cisource "arch/nios2/platform/Kconfig.platform" 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_cimenu "Processor type and features" 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ciconfig MMU 6862306a36Sopenharmony_ci def_bool y 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ciconfig NR_CPUS 7162306a36Sopenharmony_ci int 7262306a36Sopenharmony_ci default "1" 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ciconfig NIOS2_ALIGNMENT_TRAP 7562306a36Sopenharmony_ci bool "Catch alignment trap" 7662306a36Sopenharmony_ci default y 7762306a36Sopenharmony_ci help 7862306a36Sopenharmony_ci Nios II CPUs cannot fetch/store data which is not bus aligned, 7962306a36Sopenharmony_ci i.e., a 2 or 4 byte fetch must start at an address divisible by 8062306a36Sopenharmony_ci 2 or 4. Any non-aligned load/store instructions will be trapped and 8162306a36Sopenharmony_ci emulated in software if you say Y here, which has a performance 8262306a36Sopenharmony_ci impact. 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_cicomment "Boot options" 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ciconfig CMDLINE_BOOL 8762306a36Sopenharmony_ci bool "Default bootloader kernel arguments" 8862306a36Sopenharmony_ci default y 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ciconfig CMDLINE 9162306a36Sopenharmony_ci string "Default kernel command string" 9262306a36Sopenharmony_ci default "" 9362306a36Sopenharmony_ci depends on CMDLINE_BOOL 9462306a36Sopenharmony_ci help 9562306a36Sopenharmony_ci On some platforms, there is currently no way for the boot loader to 9662306a36Sopenharmony_ci pass arguments to the kernel. For these platforms, you can supply 9762306a36Sopenharmony_ci some command-line options at build time by entering them here. In 9862306a36Sopenharmony_ci other cases you can specify kernel args so that you don't have 9962306a36Sopenharmony_ci to set them up in board prom initialization routines. 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ciconfig CMDLINE_FORCE 10262306a36Sopenharmony_ci bool "Force default kernel command string" 10362306a36Sopenharmony_ci depends on CMDLINE_BOOL 10462306a36Sopenharmony_ci help 10562306a36Sopenharmony_ci Set this to have arguments from the default kernel command string 10662306a36Sopenharmony_ci override those passed by the boot loader. 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ciconfig NIOS2_CMDLINE_IGNORE_DTB 10962306a36Sopenharmony_ci bool "Ignore kernel command string from DTB" 11062306a36Sopenharmony_ci depends on CMDLINE_BOOL 11162306a36Sopenharmony_ci depends on !CMDLINE_FORCE 11262306a36Sopenharmony_ci default y 11362306a36Sopenharmony_ci help 11462306a36Sopenharmony_ci Set this to ignore the bootargs property from the devicetree's 11562306a36Sopenharmony_ci chosen node and fall back to CMDLINE if nothing is passed. 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ciconfig NIOS2_PASS_CMDLINE 11862306a36Sopenharmony_ci bool "Passed kernel command line from u-boot" 11962306a36Sopenharmony_ci help 12062306a36Sopenharmony_ci Use bootargs env variable from u-boot for kernel command line. 12162306a36Sopenharmony_ci will override "Default kernel command string". 12262306a36Sopenharmony_ci Say N if you are unsure. 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ciconfig NIOS2_BOOT_LINK_OFFSET 12562306a36Sopenharmony_ci hex "Link address offset for booting" 12662306a36Sopenharmony_ci default "0x00500000" 12762306a36Sopenharmony_ci help 12862306a36Sopenharmony_ci This option allows you to set the link address offset of the zImage. 12962306a36Sopenharmony_ci This can be useful if you are on a board which has a small amount of 13062306a36Sopenharmony_ci memory. 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ciendmenu 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_cimenu "Advanced setup" 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ciconfig ADVANCED_OPTIONS 13762306a36Sopenharmony_ci bool "Prompt for advanced kernel configuration options" 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_cicomment "Default settings for advanced configuration options are used" 14062306a36Sopenharmony_ci depends on !ADVANCED_OPTIONS 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ciconfig NIOS2_KERNEL_MMU_REGION_BASE_BOOL 14362306a36Sopenharmony_ci bool "Set custom kernel MMU region base address" 14462306a36Sopenharmony_ci depends on ADVANCED_OPTIONS 14562306a36Sopenharmony_ci help 14662306a36Sopenharmony_ci This option allows you to set the virtual address of the kernel MMU region. 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ci Say N here unless you know what you are doing. 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ciconfig NIOS2_KERNEL_MMU_REGION_BASE 15162306a36Sopenharmony_ci hex "Virtual base address of the kernel MMU region " if NIOS2_KERNEL_MMU_REGION_BASE_BOOL 15262306a36Sopenharmony_ci default "0x80000000" 15362306a36Sopenharmony_ci help 15462306a36Sopenharmony_ci This option allows you to set the virtual base address of the kernel MMU region. 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ciconfig NIOS2_KERNEL_REGION_BASE_BOOL 15762306a36Sopenharmony_ci bool "Set custom kernel region base address" 15862306a36Sopenharmony_ci depends on ADVANCED_OPTIONS 15962306a36Sopenharmony_ci help 16062306a36Sopenharmony_ci This option allows you to set the virtual address of the kernel region. 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci Say N here unless you know what you are doing. 16362306a36Sopenharmony_ci 16462306a36Sopenharmony_ciconfig NIOS2_KERNEL_REGION_BASE 16562306a36Sopenharmony_ci hex "Virtual base address of the kernel region " if NIOS2_KERNEL_REGION_BASE_BOOL 16662306a36Sopenharmony_ci default "0xc0000000" 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ciconfig NIOS2_IO_REGION_BASE_BOOL 16962306a36Sopenharmony_ci bool "Set custom I/O region base address" 17062306a36Sopenharmony_ci depends on ADVANCED_OPTIONS 17162306a36Sopenharmony_ci help 17262306a36Sopenharmony_ci This option allows you to set the virtual address of the I/O region. 17362306a36Sopenharmony_ci 17462306a36Sopenharmony_ci Say N here unless you know what you are doing. 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ciconfig NIOS2_IO_REGION_BASE 17762306a36Sopenharmony_ci hex "Virtual base address of the I/O region" if NIOS2_IO_REGION_BASE_BOOL 17862306a36Sopenharmony_ci default "0xe0000000" 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ciendmenu 181