Kconfig.arm 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # ARM CPU Idle drivers
  4. #
  5. config ARM_CPUIDLE
  6. bool "Generic ARM CPU idle Driver"
  7. depends on ARM
  8. select DT_IDLE_STATES
  9. select CPU_IDLE_MULTIPLE_DRIVERS
  10. help
  11. Select this to enable generic cpuidle driver for ARM.
  12. It provides a generic idle driver whose idle states are configured
  13. at run-time through DT nodes. The CPUidle suspend backend is
  14. initialized by calling the CPU operations init idle hook
  15. provided by architecture code.
  16. config ARM_PSCI_CPUIDLE
  17. bool "PSCI CPU idle Driver"
  18. depends on ARM_PSCI_FW
  19. select DT_IDLE_STATES
  20. select CPU_IDLE_MULTIPLE_DRIVERS
  21. help
  22. Select this to enable PSCI firmware based CPUidle driver for ARM.
  23. It provides an idle driver that is capable of detecting and
  24. managing idle states through the PSCI firmware interface.
  25. config ARM_PSCI_CPUIDLE_DOMAIN
  26. bool "PSCI CPU idle Domain"
  27. depends on ARM_PSCI_CPUIDLE
  28. depends on PM_GENERIC_DOMAINS_OF
  29. select DT_IDLE_GENPD
  30. default y
  31. help
  32. Select this to enable the PSCI based CPUidle driver to use PM domains,
  33. which is needed to support the hierarchical DT based layout of the
  34. idle states.
  35. config ARM_BIG_LITTLE_CPUIDLE
  36. bool "Support for ARM big.LITTLE processors"
  37. depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS || COMPILE_TEST
  38. depends on MCPM && !ARM64
  39. select ARM_CPU_SUSPEND
  40. select CPU_IDLE_MULTIPLE_DRIVERS
  41. select DT_IDLE_STATES
  42. help
  43. Select this option to enable CPU idle driver for big.LITTLE based
  44. ARM systems. Driver manages CPUs coordination through MCPM and
  45. define different C-states for little and big cores through the
  46. multiple CPU idle drivers infrastructure.
  47. config ARM_CLPS711X_CPUIDLE
  48. bool "CPU Idle Driver for CLPS711X processors"
  49. depends on ARCH_CLPS711X && !ARM64 || COMPILE_TEST
  50. help
  51. Select this to enable cpuidle on Cirrus Logic CLPS711X SOCs.
  52. config ARM_HIGHBANK_CPUIDLE
  53. bool "CPU Idle Driver for Calxeda processors"
  54. depends on ARM_PSCI && !ARM64
  55. select ARM_CPU_SUSPEND
  56. help
  57. Select this to enable cpuidle on Calxeda processors.
  58. config ARM_KIRKWOOD_CPUIDLE
  59. bool "CPU Idle Driver for Marvell Kirkwood SoCs"
  60. depends on (MACH_KIRKWOOD || COMPILE_TEST) && !ARM64
  61. help
  62. This adds the CPU Idle driver for Marvell Kirkwood SoCs.
  63. config ARM_ZYNQ_CPUIDLE
  64. bool "CPU Idle Driver for Xilinx Zynq processors"
  65. depends on (ARCH_ZYNQ || COMPILE_TEST) && !ARM64
  66. help
  67. Select this to enable cpuidle on Xilinx Zynq processors.
  68. config ARM_U8500_CPUIDLE
  69. bool "Cpu Idle Driver for the ST-E u8500 processors"
  70. depends on ARCH_U8500 && !ARM64
  71. help
  72. Select this to enable cpuidle for ST-E u8500 processors.
  73. config ARM_AT91_CPUIDLE
  74. bool "Cpu Idle Driver for the AT91 processors"
  75. default y
  76. depends on (ARCH_AT91 || COMPILE_TEST) && !ARM64
  77. help
  78. Select this to enable cpuidle for AT91 processors.
  79. config ARM_EXYNOS_CPUIDLE
  80. bool "Cpu Idle Driver for the Exynos processors"
  81. depends on (ARCH_EXYNOS || COMPILE_TEST) && !ARM64
  82. select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
  83. help
  84. Select this to enable cpuidle for Exynos processors.
  85. config ARM_MVEBU_V7_CPUIDLE
  86. bool "CPU Idle Driver for mvebu v7 family processors"
  87. depends on (ARCH_MVEBU || COMPILE_TEST) && !ARM64
  88. help
  89. Select this to enable cpuidle on Armada 370, 38x and XP processors.
  90. config ARM_TEGRA_CPUIDLE
  91. bool "CPU Idle Driver for NVIDIA Tegra SoCs"
  92. depends on (ARCH_TEGRA || COMPILE_TEST) && !ARM64 && MMU
  93. depends on ARCH_SUSPEND_POSSIBLE
  94. select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
  95. select ARM_CPU_SUSPEND
  96. help
  97. Select this to enable cpuidle for NVIDIA Tegra20/30/114/124 SoCs.
  98. config ARM_QCOM_SPM_CPUIDLE
  99. bool "CPU Idle Driver for Qualcomm Subsystem Power Manager (SPM)"
  100. depends on (ARCH_QCOM || COMPILE_TEST) && !ARM64 && MMU
  101. depends on ARCH_SUSPEND_POSSIBLE
  102. select ARM_CPU_SUSPEND
  103. select CPU_IDLE_MULTIPLE_DRIVERS
  104. select DT_IDLE_STATES
  105. select QCOM_SCM
  106. select QCOM_SPM
  107. help
  108. Select this to enable cpuidle for Qualcomm processors.
  109. The Subsystem Power Manager (SPM) controls low power modes for the
  110. CPU and L2 cores. It interface with various system drivers to put
  111. the cores in low power modes.