Kconfig.platform 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. menu "Platform options"
  3. comment "Memory settings"
  4. config NIOS2_MEM_BASE
  5. hex "Memory base address"
  6. default "0x00000000"
  7. help
  8. This is the physical address of the memory that the kernel will run
  9. from. This address is used to link the kernel and setup initial memory
  10. management. You should take the raw memory address without any MMU
  11. or cache bits set.
  12. Please not that this address is used directly so you have to manually
  13. do address translation if it's connected to a bridge.
  14. comment "Device tree"
  15. config NIOS2_DTB_AT_PHYS_ADDR
  16. bool "DTB at physical address"
  17. help
  18. When enabled you can select a physical address to load the dtb from.
  19. Normally this address is passed by a bootloader such as u-boot but
  20. using this you can use a devicetree without a bootloader.
  21. This way you can store a devicetree in NOR flash or an onchip rom.
  22. Please note that this address is used directly so you have to manually
  23. do address translation if it's connected to a bridge. Also take into
  24. account that when using an MMU you'd have to ad 0xC0000000 to your
  25. address
  26. config NIOS2_DTB_PHYS_ADDR
  27. hex "DTB Address"
  28. depends on NIOS2_DTB_AT_PHYS_ADDR
  29. default "0xC0000000"
  30. help
  31. Physical address of a dtb blob.
  32. config NIOS2_DTB_SOURCE_BOOL
  33. bool "Compile and link device tree into kernel image"
  34. depends on !COMPILE_TEST
  35. help
  36. This allows you to specify a dts (device tree source) file
  37. which will be compiled and linked into the kernel image.
  38. config NIOS2_DTB_SOURCE
  39. string "Device tree source file"
  40. depends on NIOS2_DTB_SOURCE_BOOL
  41. default ""
  42. help
  43. Absolute path to the device tree source (dts) file describing your
  44. system.
  45. comment "Nios II instructions"
  46. config NIOS2_ARCH_REVISION
  47. int "Select Nios II architecture revision"
  48. range 1 2
  49. default 1
  50. help
  51. Select between Nios II R1 and Nios II R2 . The architectures
  52. are binary incompatible. Default is R1 .
  53. config NIOS2_HW_MUL_SUPPORT
  54. bool "Enable MUL instruction"
  55. help
  56. Set to true if you configured the Nios II to include the MUL
  57. instruction. This will enable the -mhw-mul compiler flag.
  58. config NIOS2_HW_MULX_SUPPORT
  59. bool "Enable MULX instruction"
  60. help
  61. Set to true if you configured the Nios II to include the MULX
  62. instruction. Enables the -mhw-mulx compiler flag.
  63. config NIOS2_HW_DIV_SUPPORT
  64. bool "Enable DIV instruction"
  65. help
  66. Set to true if you configured the Nios II to include the DIV
  67. instruction. Enables the -mhw-div compiler flag.
  68. config NIOS2_BMX_SUPPORT
  69. bool "Enable BMX instructions"
  70. depends on NIOS2_ARCH_REVISION = 2
  71. help
  72. Set to true if you configured the Nios II R2 to include
  73. the BMX Bit Manipulation Extension instructions. Enables
  74. the -mbmx compiler flag.
  75. config NIOS2_CDX_SUPPORT
  76. bool "Enable CDX instructions"
  77. depends on NIOS2_ARCH_REVISION = 2
  78. help
  79. Set to true if you configured the Nios II R2 to include
  80. the CDX Bit Manipulation Extension instructions. Enables
  81. the -mcdx compiler flag.
  82. config NIOS2_FPU_SUPPORT
  83. bool "Custom floating point instr support"
  84. help
  85. Enables the -mcustom-fpu-cfg=60-1 compiler flag.
  86. config NIOS2_CI_SWAB_SUPPORT
  87. bool "Byteswap custom instruction"
  88. help
  89. Use the byteswap (endian converter) Nios II custom instruction provided
  90. by Altera and which can be enabled in QSYS builder. This accelerates
  91. endian conversions in the kernel (e.g. ntohs).
  92. config NIOS2_CI_SWAB_NO
  93. int "Byteswap custom instruction number" if NIOS2_CI_SWAB_SUPPORT
  94. default 0
  95. help
  96. Number of the instruction as configured in QSYS Builder.
  97. comment "Cache settings"
  98. config CUSTOM_CACHE_SETTINGS
  99. bool "Custom cache settings"
  100. help
  101. This option allows you to tweak the cache settings used during early
  102. boot (where the information from device tree is not yet available).
  103. There should be no reason to change these values. Linux will work
  104. perfectly fine, even if the Nios II is configured with smaller caches.
  105. Say N here unless you know what you are doing.
  106. config NIOS2_DCACHE_SIZE
  107. hex "D-Cache size" if CUSTOM_CACHE_SETTINGS
  108. range 0x200 0x10000
  109. default "0x800"
  110. help
  111. Maximum possible data cache size.
  112. config NIOS2_DCACHE_LINE_SIZE
  113. hex "D-Cache line size" if CUSTOM_CACHE_SETTINGS
  114. range 0x10 0x20
  115. default "0x20"
  116. help
  117. Minimum possible data cache line size.
  118. config NIOS2_ICACHE_SIZE
  119. hex "I-Cache size" if CUSTOM_CACHE_SETTINGS
  120. range 0x200 0x10000
  121. default "0x1000"
  122. help
  123. Maximum possible instruction cache size.
  124. endmenu