Kconfig.platforms 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. menu "Platform selection"
  3. depends on MMU
  4. comment "CPU Core family selection"
  5. config ARCH_MULTI_V4
  6. bool "ARMv4 based platforms (FA526, StrongARM)"
  7. depends on !ARCH_MULTI_V6_V7
  8. # https://github.com/llvm/llvm-project/issues/50764
  9. depends on !LD_IS_LLD || LLD_VERSION >= 160000
  10. select ARCH_MULTI_V4_V5
  11. select CPU_FA526 if !(CPU_SA110 || CPU_SA1100)
  12. config ARCH_MULTI_V4T
  13. bool "ARMv4T based platforms (ARM720T, ARM920T, ...)"
  14. depends on !ARCH_MULTI_V6_V7
  15. # https://github.com/llvm/llvm-project/issues/50764
  16. depends on !LD_IS_LLD || LLD_VERSION >= 160000
  17. select ARCH_MULTI_V4_V5
  18. select CPU_ARM920T if !(CPU_ARM7TDMI || CPU_ARM720T || \
  19. CPU_ARM740T || CPU_ARM9TDMI || CPU_ARM922T || \
  20. CPU_ARM925T || CPU_ARM940T)
  21. config ARCH_MULTI_V5
  22. bool "ARMv5 based platforms (ARM926T, XSCALE, PJ1, ...)"
  23. depends on !ARCH_MULTI_V6_V7
  24. select ARCH_MULTI_V4_V5
  25. select CPU_ARM926T if !(CPU_ARM946E || CPU_ARM1020 || \
  26. CPU_ARM1020E || CPU_ARM1022 || CPU_ARM1026 || \
  27. CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_FEROCEON)
  28. config ARCH_MULTI_V4_V5
  29. bool
  30. config ARCH_MULTI_V6
  31. bool "ARMv6 based platforms (ARM11)"
  32. select ARCH_MULTI_V6_V7
  33. select CPU_V6K
  34. config ARCH_MULTI_V7
  35. bool "ARMv7 based platforms (Cortex-A, PJ4, Scorpion, Krait)"
  36. default y
  37. select ARCH_MULTI_V6_V7
  38. select CPU_V7
  39. select HAVE_SMP
  40. config ARCH_MULTI_V6_V7
  41. bool
  42. select MIGHT_HAVE_CACHE_L2X0
  43. config ARCH_MULTI_CPU_AUTO
  44. def_bool !(ARCH_MULTI_V4 || ARCH_MULTI_V4T || ARCH_MULTI_V6_V7)
  45. select ARCH_MULTI_V5
  46. endmenu
  47. config ARCH_VIRT
  48. bool "Dummy Virtual Machine"
  49. depends on ARCH_MULTI_V7
  50. select ARM_AMBA
  51. select ARM_GIC
  52. select ARM_GIC_V2M if PCI
  53. select ARM_GIC_V3
  54. select ARM_GIC_V3_ITS if PCI
  55. select ARM_PSCI
  56. select HAVE_ARM_ARCH_TIMER
  57. config ARCH_AIROHA
  58. bool "Airoha SoC Support"
  59. depends on ARCH_MULTI_V7
  60. select ARM_AMBA
  61. select ARM_GIC
  62. select ARM_GIC_V3
  63. select ARM_PSCI
  64. select HAVE_ARM_ARCH_TIMER
  65. help
  66. Support for Airoha EN7523 SoCs
  67. config MACH_ASM9260
  68. bool "Alphascale ASM9260"
  69. depends on ARCH_MULTI_V5
  70. depends on CPU_LITTLE_ENDIAN
  71. select CPU_ARM926T
  72. select ASM9260_TIMER
  73. help
  74. Support for Alphascale ASM9260 based platform.
  75. menuconfig ARCH_MOXART
  76. bool "MOXA ART SoC"
  77. depends on ARCH_MULTI_V4
  78. depends on CPU_LITTLE_ENDIAN
  79. select CPU_FA526
  80. select ARM_DMA_MEM_BUFFERABLE
  81. select FARADAY_FTINTC010
  82. select FTTMR010_TIMER
  83. select GPIOLIB
  84. select PHYLIB if NETDEVICES
  85. help
  86. Say Y here if you want to run your kernel on hardware with a
  87. MOXA ART SoC.
  88. The MOXA ART SoC is based on a Faraday FA526 ARMv4 32-bit
  89. 192 MHz CPU with MMU and 16KB/8KB D/I-cache (UC-7112-LX).
  90. Used on models UC-7101, UC-7112/UC-7110, IA240/IA241, IA3341.
  91. if ARCH_MOXART
  92. config MACH_UC7112LX
  93. bool "MOXA UC-7112-LX"
  94. depends on ARCH_MOXART
  95. help
  96. Say Y here if you intend to run this kernel on a MOXA
  97. UC-7112-LX embedded computer.
  98. endif
  99. config ARCH_NSPIRE
  100. bool "TI-NSPIRE based"
  101. depends on ARCH_MULTI_V4T
  102. depends on CPU_LITTLE_ENDIAN
  103. select CPU_ARM926T
  104. select GENERIC_IRQ_CHIP
  105. select ARM_AMBA
  106. select ARM_VIC
  107. select ARM_TIMER_SP804
  108. select NSPIRE_TIMER
  109. select POWER_RESET
  110. select POWER_RESET_SYSCON
  111. help
  112. This enables support for systems using the TI-NSPIRE CPU
  113. config ARCH_RDA
  114. bool "RDA Micro SoCs"
  115. depends on ARCH_MULTI_V7
  116. select RDA_INTC
  117. select RDA_TIMER
  118. help
  119. This enables support for the RDA Micro 8810PL SoC family.
  120. menuconfig ARCH_SUNPLUS
  121. bool "Sunplus SoCs"
  122. depends on ARCH_MULTI_V7
  123. help
  124. Support for Sunplus SoC family: SP7021 and succeeding SoC-based systems,
  125. such as the Banana Pi BPI-F2S development board (and derivatives).
  126. (<http://www.sinovoip.com.cn/ecp_view.asp?id=586>)
  127. (<https://tibbo.com/store/plus1.html>)
  128. if ARCH_SUNPLUS
  129. config SOC_SP7021
  130. bool "Sunplus SP7021 SoC support"
  131. default ARCH_SUNPLUS
  132. select HAVE_ARM_ARCH_TIMER
  133. select ARM_GIC
  134. select ARM_PSCI
  135. select PINCTRL
  136. select PINCTRL_SPPCTL
  137. select SERIAL_SUNPLUS if TTY
  138. select SERIAL_SUNPLUS_CONSOLE if TTY
  139. help
  140. Support for Sunplus SP7021 SoC. It is based on ARM 4-core
  141. Cortex-A7 with various peripherals (e.g.: I2C, SPI, SDIO,
  142. Ethernet, etc.), FPGA interface, chip-to-chip bus.
  143. It is designed for industrial control.
  144. endif
  145. config ARCH_UNIPHIER
  146. bool "Socionext UniPhier SoCs"
  147. depends on ARCH_MULTI_V7
  148. select ARCH_HAS_RESET_CONTROLLER
  149. select ARM_AMBA
  150. select ARM_GLOBAL_TIMER
  151. select ARM_GIC
  152. select HAVE_ARM_SCU
  153. select HAVE_ARM_TWD if SMP
  154. select PINCTRL
  155. select RESET_CONTROLLER
  156. help
  157. Support for UniPhier SoC family developed by Socionext Inc.
  158. (formerly, System LSI Business Division of Panasonic Corporation)