162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci# For a description of the syntax of this configuration file,
362306a36Sopenharmony_ci# see Documentation/kbuild/kconfig-language.rst.
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci# Platform selection Kconfig menu for MicroBlaze targets
662306a36Sopenharmony_ci#
762306a36Sopenharmony_ci
862306a36Sopenharmony_cimenu "Platform options"
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciconfig OPT_LIB_FUNCTION
1162306a36Sopenharmony_ci	bool "Optimalized lib function"
1262306a36Sopenharmony_ci	default y
1362306a36Sopenharmony_ci	help
1462306a36Sopenharmony_ci	  Allows turn on optimalized library function (memcpy and memmove).
1562306a36Sopenharmony_ci	  They are optimized by using word alignment. This will work
1662306a36Sopenharmony_ci	  fine if both source and destination are aligned on the same
1762306a36Sopenharmony_ci	  boundary. However, if they are aligned on different boundaries
1862306a36Sopenharmony_ci	  shifts will be necessary. This might result in bad performance
1962306a36Sopenharmony_ci	  on MicroBlaze systems without a barrel shifter.
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciconfig OPT_LIB_ASM
2262306a36Sopenharmony_ci	bool "Optimalized lib function ASM"
2362306a36Sopenharmony_ci	depends on OPT_LIB_FUNCTION && (XILINX_MICROBLAZE0_USE_BARREL = 1)
2462306a36Sopenharmony_ci	depends on CPU_BIG_ENDIAN
2562306a36Sopenharmony_ci	default n
2662306a36Sopenharmony_ci	help
2762306a36Sopenharmony_ci	  Allows turn on optimalized library function (memcpy and memmove).
2862306a36Sopenharmony_ci	  Function are written in asm code.
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci# Definitions for MICROBLAZE0
3162306a36Sopenharmony_cicomment "Definitions for MICROBLAZE0"
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ciconfig KERNEL_BASE_ADDR
3462306a36Sopenharmony_ci	hex "Physical address where Linux Kernel is"
3562306a36Sopenharmony_ci	default "0x90000000"
3662306a36Sopenharmony_ci	help
3762306a36Sopenharmony_ci	  BASE Address for kernel
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ciconfig XILINX_MICROBLAZE0_FAMILY
4062306a36Sopenharmony_ci	string "Targeted FPGA family"
4162306a36Sopenharmony_ci	default "virtex5"
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciconfig XILINX_MICROBLAZE0_USE_MSR_INSTR
4462306a36Sopenharmony_ci	int "USE_MSR_INSTR range (0:1)"
4562306a36Sopenharmony_ci	default 0
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ciconfig XILINX_MICROBLAZE0_USE_PCMP_INSTR
4862306a36Sopenharmony_ci	int "USE_PCMP_INSTR range (0:1)"
4962306a36Sopenharmony_ci	default 0
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ciconfig XILINX_MICROBLAZE0_USE_BARREL
5262306a36Sopenharmony_ci	int "USE_BARREL range (0:1)"
5362306a36Sopenharmony_ci	default 0
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ciconfig XILINX_MICROBLAZE0_USE_DIV
5662306a36Sopenharmony_ci	int "USE_DIV range (0:1)"
5762306a36Sopenharmony_ci	default 0
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ciconfig XILINX_MICROBLAZE0_USE_HW_MUL
6062306a36Sopenharmony_ci	int "USE_HW_MUL values (0=NONE, 1=MUL32, 2=MUL64)"
6162306a36Sopenharmony_ci	default 0
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciconfig XILINX_MICROBLAZE0_USE_FPU
6462306a36Sopenharmony_ci	int "USE_FPU values (0=NONE, 1=BASIC, 2=EXTENDED)"
6562306a36Sopenharmony_ci	default 0
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ciconfig XILINX_MICROBLAZE0_HW_VER
6862306a36Sopenharmony_ci	string "Core version number"
6962306a36Sopenharmony_ci	default "7.10.d"
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ciendmenu
72