Kconfig 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. menuconfig ARCH_MXC
  3. bool "Freescale i.MX family"
  4. depends on ((ARCH_MULTI_V4T || ARCH_MULTI_V5) && CPU_LITTLE_ENDIAN) || \
  5. ARCH_MULTI_V6_V7 || ARM_SINGLE_ARMV7M
  6. select CLKSRC_IMX_GPT
  7. select GENERIC_IRQ_CHIP
  8. select GPIOLIB
  9. select PINCTRL
  10. select PM_OPP if PM
  11. select SOC_BUS
  12. select SRAM
  13. help
  14. Support for Freescale MXC/iMX-based family of processors
  15. if ARCH_MXC
  16. config MXC_TZIC
  17. bool
  18. config MXC_AVIC
  19. bool
  20. config HAVE_IMX_ANATOP
  21. bool
  22. config HAVE_IMX_GPC
  23. bool
  24. select PM_GENERIC_DOMAINS if PM
  25. config HAVE_IMX_MMDC
  26. bool
  27. config HAVE_IMX_SRC
  28. def_bool y if SMP
  29. select ARCH_HAS_RESET_CONTROLLER
  30. if ARCH_MULTI_V6
  31. comment "ARM1136 platforms"
  32. config SOC_IMX31
  33. bool "i.MX31 support"
  34. select CPU_V6
  35. select MXC_AVIC
  36. help
  37. This enables support for Freescale i.MX31 processor
  38. config SOC_IMX35
  39. bool "i.MX35 support"
  40. select MXC_AVIC
  41. help
  42. This enables support for Freescale i.MX35 processor
  43. endif
  44. if ARCH_MULTI_V4T
  45. config SOC_IMX1
  46. bool "i.MX1 support"
  47. select CPU_ARM920T
  48. select MXC_AVIC
  49. help
  50. This enables support for Freescale i.MX1 processor
  51. endif
  52. if ARCH_MULTI_V5
  53. config SOC_IMX25
  54. bool "i.MX25 support"
  55. select CPU_ARM926T
  56. select MXC_AVIC
  57. help
  58. This enables support for Freescale i.MX25 processor
  59. config SOC_IMX27
  60. bool "i.MX27 support"
  61. select CPU_ARM926T
  62. select MXC_AVIC
  63. help
  64. This enables support for Freescale i.MX27 processor
  65. endif
  66. if ARCH_MULTI_V7
  67. comment "Cortex-A platforms"
  68. config SOC_IMX5
  69. bool
  70. select HAVE_IMX_SRC
  71. select MXC_TZIC
  72. config SOC_IMX50
  73. bool "i.MX50 support"
  74. select SOC_IMX5
  75. help
  76. This enables support for Freescale i.MX50 processor.
  77. config SOC_IMX51
  78. bool "i.MX51 support"
  79. select SOC_IMX5
  80. help
  81. This enables support for Freescale i.MX51 processor
  82. config SOC_IMX53
  83. bool "i.MX53 support"
  84. select SOC_IMX5
  85. help
  86. This enables support for Freescale i.MX53 processor.
  87. config SOC_IMX6
  88. bool
  89. select ARM_CPU_SUSPEND if (PM || CPU_IDLE)
  90. select ARM_GIC
  91. select HAVE_IMX_ANATOP
  92. select HAVE_IMX_GPC
  93. select HAVE_IMX_MMDC
  94. select HAVE_IMX_SRC
  95. select MFD_SYSCON
  96. select PL310_ERRATA_769419 if CACHE_L2X0
  97. config SOC_IMX6Q
  98. bool "i.MX6 Quad/DualLite support"
  99. select ARM_ERRATA_764369 if SMP
  100. select ARM_ERRATA_754322
  101. select ARM_ERRATA_775420
  102. select HAVE_ARM_SCU if SMP
  103. select HAVE_ARM_TWD
  104. select SOC_IMX6
  105. help
  106. This enables support for Freescale i.MX6 Quad processor.
  107. config SOC_IMX6SL
  108. bool "i.MX6 SoloLite support"
  109. select ARM_ERRATA_754322
  110. select ARM_ERRATA_775420
  111. select SOC_IMX6
  112. help
  113. This enables support for Freescale i.MX6 SoloLite processor.
  114. config SOC_IMX6SLL
  115. bool "i.MX6 SoloLiteLite support"
  116. select ARM_ERRATA_754322
  117. select ARM_ERRATA_775420
  118. select SOC_IMX6
  119. help
  120. This enables support for Freescale i.MX6 SoloLiteLite processor.
  121. config SOC_IMX6SX
  122. bool "i.MX6 SoloX support"
  123. select ARM_ERRATA_754322
  124. select ARM_ERRATA_775420
  125. select SOC_IMX6
  126. help
  127. This enables support for Freescale i.MX6 SoloX processor.
  128. config SOC_IMX6UL
  129. bool "i.MX6 UltraLite support"
  130. select SOC_IMX6
  131. select ARM_ERRATA_814220
  132. help
  133. This enables support for Freescale i.MX6 UltraLite processor.
  134. config SOC_LS1021A
  135. bool "Freescale LS1021A support"
  136. select ARM_GIC
  137. select HAVE_ARM_ARCH_TIMER
  138. select ZONE_DMA if ARM_LPAE
  139. help
  140. This enables support for Freescale LS1021A processor.
  141. endif
  142. if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
  143. comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
  144. config SOC_IMX7D_CA7
  145. bool
  146. select ARM_GIC
  147. select HAVE_ARM_ARCH_TIMER
  148. select HAVE_IMX_ANATOP
  149. select HAVE_IMX_MMDC
  150. select HAVE_IMX_SRC
  151. select IMX_GPCV2
  152. config SOC_IMX7D_CM4
  153. bool
  154. select ARMV7M_SYSTICK
  155. config SOC_IMX7D
  156. bool "i.MX7 Dual support"
  157. select SOC_IMX7D_CA7 if ARCH_MULTI_V7
  158. select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
  159. select ARM_ERRATA_814220 if ARCH_MULTI_V7
  160. help
  161. This enables support for Freescale i.MX7 Dual processor.
  162. config SOC_IMX7ULP
  163. bool "i.MX7ULP support"
  164. select CLKSRC_IMX_TPM
  165. select SOC_IMX7D_CA7 if ARCH_MULTI_V7
  166. select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
  167. help
  168. This enables support for Freescale i.MX7 Ultra Low Power processor.
  169. config SOC_IMXRT
  170. bool "i.MXRT support"
  171. depends on ARM_SINGLE_ARMV7M
  172. select ARMV7M_SYSTICK if ARM_SINGLE_ARMV7M
  173. help
  174. This enables support for Freescale i.MXRT Crossover processor.
  175. config SOC_VF610
  176. bool "Vybrid Family VF610 support"
  177. select ARM_GIC if ARCH_MULTI_V7
  178. help
  179. This enables support for Freescale Vybrid VF610 processor.
  180. choice
  181. prompt "Clocksource for scheduler clock"
  182. depends on SOC_VF610
  183. default VF_USE_ARM_GLOBAL_TIMER
  184. config VF_USE_ARM_GLOBAL_TIMER
  185. bool "Use ARM Global Timer"
  186. depends on ARCH_MULTI_V7
  187. select ARM_GLOBAL_TIMER
  188. select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
  189. help
  190. Use the ARM Global Timer as clocksource
  191. config VF_USE_PIT_TIMER
  192. bool "Use PIT timer"
  193. select NXP_PIT_TIMER
  194. help
  195. Use SoC Periodic Interrupt Timer (PIT) as clocksource
  196. endchoice
  197. endif
  198. endif