Kconfig 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268
  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. select PINCTRL_IMX35
  42. help
  43. This enables support for Freescale i.MX35 processor
  44. endif
  45. if ARCH_MULTI_V4T
  46. config SOC_IMX1
  47. bool "i.MX1 support"
  48. select CPU_ARM920T
  49. select MXC_AVIC
  50. select PINCTRL_IMX1
  51. help
  52. This enables support for Freescale i.MX1 processor
  53. endif
  54. if ARCH_MULTI_V5
  55. config SOC_IMX25
  56. bool "i.MX25 support"
  57. select CPU_ARM926T
  58. select MXC_AVIC
  59. select PINCTRL_IMX25
  60. help
  61. This enables support for Freescale i.MX25 processor
  62. config SOC_IMX27
  63. bool "i.MX27 support"
  64. select CPU_ARM926T
  65. select MXC_AVIC
  66. select PINCTRL_IMX27
  67. help
  68. This enables support for Freescale i.MX27 processor
  69. endif
  70. if ARCH_MULTI_V7
  71. comment "Cortex-A platforms"
  72. config SOC_IMX5
  73. bool
  74. select HAVE_IMX_SRC
  75. select MXC_TZIC
  76. config SOC_IMX50
  77. bool "i.MX50 support"
  78. select PINCTRL_IMX50
  79. select SOC_IMX5
  80. help
  81. This enables support for Freescale i.MX50 processor.
  82. config SOC_IMX51
  83. bool "i.MX51 support"
  84. select PINCTRL_IMX51
  85. select SOC_IMX5
  86. help
  87. This enables support for Freescale i.MX51 processor
  88. config SOC_IMX53
  89. bool "i.MX53 support"
  90. select PINCTRL_IMX53
  91. select SOC_IMX5
  92. help
  93. This enables support for Freescale i.MX53 processor.
  94. config SOC_IMX6
  95. bool
  96. select ARM_CPU_SUSPEND if (PM || CPU_IDLE)
  97. select ARM_GIC
  98. select HAVE_IMX_ANATOP
  99. select HAVE_IMX_GPC
  100. select HAVE_IMX_MMDC
  101. select HAVE_IMX_SRC
  102. select MFD_SYSCON
  103. select PL310_ERRATA_769419 if CACHE_L2X0
  104. config SOC_IMX6Q
  105. bool "i.MX6 Quad/DualLite support"
  106. select ARM_ERRATA_764369 if SMP
  107. select ARM_ERRATA_754322
  108. select ARM_ERRATA_775420
  109. select HAVE_ARM_SCU if SMP
  110. select HAVE_ARM_TWD
  111. select PINCTRL_IMX6Q
  112. select SOC_IMX6
  113. help
  114. This enables support for Freescale i.MX6 Quad processor.
  115. config SOC_IMX6SL
  116. bool "i.MX6 SoloLite support"
  117. select ARM_ERRATA_754322
  118. select ARM_ERRATA_775420
  119. select PINCTRL_IMX6SL
  120. select SOC_IMX6
  121. help
  122. This enables support for Freescale i.MX6 SoloLite processor.
  123. config SOC_IMX6SLL
  124. bool "i.MX6 SoloLiteLite support"
  125. select ARM_ERRATA_754322
  126. select ARM_ERRATA_775420
  127. select PINCTRL_IMX6SLL
  128. select SOC_IMX6
  129. help
  130. This enables support for Freescale i.MX6 SoloLiteLite processor.
  131. config SOC_IMX6SX
  132. bool "i.MX6 SoloX support"
  133. select ARM_ERRATA_754322
  134. select ARM_ERRATA_775420
  135. select PINCTRL_IMX6SX
  136. select SOC_IMX6
  137. help
  138. This enables support for Freescale i.MX6 SoloX processor.
  139. config SOC_IMX6UL
  140. bool "i.MX6 UltraLite support"
  141. select PINCTRL_IMX6UL
  142. select SOC_IMX6
  143. select ARM_ERRATA_814220
  144. help
  145. This enables support for Freescale i.MX6 UltraLite processor.
  146. config SOC_LS1021A
  147. bool "Freescale LS1021A support"
  148. select ARM_GIC
  149. select HAVE_ARM_ARCH_TIMER
  150. select ZONE_DMA if ARM_LPAE
  151. help
  152. This enables support for Freescale LS1021A processor.
  153. endif
  154. if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
  155. comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
  156. config SOC_IMX7D_CA7
  157. bool
  158. select ARM_GIC
  159. select HAVE_ARM_ARCH_TIMER
  160. select HAVE_IMX_ANATOP
  161. select HAVE_IMX_MMDC
  162. select HAVE_IMX_SRC
  163. select IMX_GPCV2
  164. config SOC_IMX7D_CM4
  165. bool
  166. select ARMV7M_SYSTICK
  167. config SOC_IMX7D
  168. bool "i.MX7 Dual support"
  169. select PINCTRL_IMX7D
  170. select SOC_IMX7D_CA7 if ARCH_MULTI_V7
  171. select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
  172. select ARM_ERRATA_814220 if ARCH_MULTI_V7
  173. help
  174. This enables support for Freescale i.MX7 Dual processor.
  175. config SOC_IMX7ULP
  176. bool "i.MX7ULP support"
  177. select CLKSRC_IMX_TPM
  178. select PINCTRL_IMX7ULP
  179. select SOC_IMX7D_CA7 if ARCH_MULTI_V7
  180. select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
  181. help
  182. This enables support for Freescale i.MX7 Ultra Low Power processor.
  183. config SOC_IMXRT
  184. bool "i.MXRT support"
  185. depends on ARM_SINGLE_ARMV7M
  186. select ARMV7M_SYSTICK if ARM_SINGLE_ARMV7M
  187. help
  188. This enables support for Freescale i.MXRT Crossover processor.
  189. config SOC_VF610
  190. bool "Vybrid Family VF610 support"
  191. select ARM_GIC if ARCH_MULTI_V7
  192. select PINCTRL_VF610
  193. help
  194. This enables support for Freescale Vybrid VF610 processor.
  195. choice
  196. prompt "Clocksource for scheduler clock"
  197. depends on SOC_VF610
  198. default VF_USE_ARM_GLOBAL_TIMER
  199. config VF_USE_ARM_GLOBAL_TIMER
  200. bool "Use ARM Global Timer"
  201. depends on ARCH_MULTI_V7
  202. select ARM_GLOBAL_TIMER
  203. select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
  204. help
  205. Use the ARM Global Timer as clocksource
  206. config VF_USE_PIT_TIMER
  207. bool "Use PIT timer"
  208. select VF_PIT_TIMER
  209. help
  210. Use SoC Periodic Interrupt Timer (PIT) as clocksource
  211. endchoice
  212. endif
  213. endif