Commit 0e087044 authored by Daniel Lezcano's avatar Daniel Lezcano

ARM: cpuidle: Enable the ARM64 driver for both ARM32/ARM64

ARM32 and ARM64 have the same DT definitions and the same approaches.

The generic ARM cpuidle driver can be put in common for those two
architectures.
Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: default avatarKevin Hilman <khilman@linaro.org>
Acked-by: default avatarRob Herring <robherring2@gmail.com>
Acked-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Tested-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
parent 69e6cb3d
...@@ -48,7 +48,7 @@ CONFIG_CMDLINE="console=ttyAMA0" ...@@ -48,7 +48,7 @@ CONFIG_CMDLINE="console=ttyAMA0"
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_COMPAT=y CONFIG_COMPAT=y
CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE=y
CONFIG_ARM64_CPUIDLE=y CONFIG_ARM_CPUIDLE=y
CONFIG_NET=y CONFIG_NET=y
CONFIG_PACKET=y CONFIG_PACKET=y
CONFIG_UNIX=y CONFIG_UNIX=y
......
...@@ -29,15 +29,10 @@ config DT_IDLE_STATES ...@@ -29,15 +29,10 @@ config DT_IDLE_STATES
bool bool
menu "ARM CPU Idle Drivers" menu "ARM CPU Idle Drivers"
depends on ARM depends on ARM || ARM64
source "drivers/cpuidle/Kconfig.arm" source "drivers/cpuidle/Kconfig.arm"
endmenu endmenu
menu "ARM64 CPU Idle Drivers"
depends on ARM64
source "drivers/cpuidle/Kconfig.arm64"
endmenu
menu "MIPS CPU Idle Drivers" menu "MIPS CPU Idle Drivers"
depends on MIPS depends on MIPS
source "drivers/cpuidle/Kconfig.mips" source "drivers/cpuidle/Kconfig.mips"
......
# #
# ARM CPU Idle drivers # ARM CPU Idle drivers
# #
config ARM_CPUIDLE
bool "Generic ARM/ARM64 CPU idle Driver"
select DT_IDLE_STATES
help
Select this to enable generic cpuidle driver for ARM.
It provides a generic idle driver whose idle states are configured
at run-time through DT nodes. The CPUidle suspend backend is
initialized by calling the CPU operations init idle hook
provided by architecture code.
config ARM_BIG_LITTLE_CPUIDLE config ARM_BIG_LITTLE_CPUIDLE
bool "Support for ARM big.LITTLE processors" bool "Support for ARM big.LITTLE processors"
depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS
depends on MCPM depends on MCPM && !ARM64
select ARM_CPU_SUSPEND select ARM_CPU_SUSPEND
select CPU_IDLE_MULTIPLE_DRIVERS select CPU_IDLE_MULTIPLE_DRIVERS
select DT_IDLE_STATES select DT_IDLE_STATES
...@@ -16,51 +26,51 @@ config ARM_BIG_LITTLE_CPUIDLE ...@@ -16,51 +26,51 @@ config ARM_BIG_LITTLE_CPUIDLE
config ARM_CLPS711X_CPUIDLE config ARM_CLPS711X_CPUIDLE
bool "CPU Idle Driver for CLPS711X processors" bool "CPU Idle Driver for CLPS711X processors"
depends on ARCH_CLPS711X || COMPILE_TEST depends on ARCH_CLPS711X && !ARM64 || COMPILE_TEST
help help
Select this to enable cpuidle on Cirrus Logic CLPS711X SOCs. Select this to enable cpuidle on Cirrus Logic CLPS711X SOCs.
config ARM_HIGHBANK_CPUIDLE config ARM_HIGHBANK_CPUIDLE
bool "CPU Idle Driver for Calxeda processors" bool "CPU Idle Driver for Calxeda processors"
depends on ARM_PSCI depends on ARM_PSCI && !ARM64
select ARM_CPU_SUSPEND select ARM_CPU_SUSPEND
help help
Select this to enable cpuidle on Calxeda processors. Select this to enable cpuidle on Calxeda processors.
config ARM_KIRKWOOD_CPUIDLE config ARM_KIRKWOOD_CPUIDLE
bool "CPU Idle Driver for Marvell Kirkwood SoCs" bool "CPU Idle Driver for Marvell Kirkwood SoCs"
depends on MACH_KIRKWOOD depends on MACH_KIRKWOOD && !ARM64
help help
This adds the CPU Idle driver for Marvell Kirkwood SoCs. This adds the CPU Idle driver for Marvell Kirkwood SoCs.
config ARM_ZYNQ_CPUIDLE config ARM_ZYNQ_CPUIDLE
bool "CPU Idle Driver for Xilinx Zynq processors" bool "CPU Idle Driver for Xilinx Zynq processors"
depends on ARCH_ZYNQ depends on ARCH_ZYNQ && !ARM64
help help
Select this to enable cpuidle on Xilinx Zynq processors. Select this to enable cpuidle on Xilinx Zynq processors.
config ARM_U8500_CPUIDLE config ARM_U8500_CPUIDLE
bool "Cpu Idle Driver for the ST-E u8500 processors" bool "Cpu Idle Driver for the ST-E u8500 processors"
depends on ARCH_U8500 depends on ARCH_U8500 && !ARM64
help help
Select this to enable cpuidle for ST-E u8500 processors Select this to enable cpuidle for ST-E u8500 processors
config ARM_AT91_CPUIDLE config ARM_AT91_CPUIDLE
bool "Cpu Idle Driver for the AT91 processors" bool "Cpu Idle Driver for the AT91 processors"
default y default y
depends on ARCH_AT91 depends on ARCH_AT91 && !ARM64
help help
Select this to enable cpuidle for AT91 processors Select this to enable cpuidle for AT91 processors
config ARM_EXYNOS_CPUIDLE config ARM_EXYNOS_CPUIDLE
bool "Cpu Idle Driver for the Exynos processors" bool "Cpu Idle Driver for the Exynos processors"
depends on ARCH_EXYNOS depends on ARCH_EXYNOS && !ARM64
select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
help help
Select this to enable cpuidle for Exynos processors Select this to enable cpuidle for Exynos processors
config ARM_MVEBU_V7_CPUIDLE config ARM_MVEBU_V7_CPUIDLE
bool "CPU Idle Driver for mvebu v7 family processors" bool "CPU Idle Driver for mvebu v7 family processors"
depends on ARCH_MVEBU depends on ARCH_MVEBU && !ARM64
help help
Select this to enable cpuidle on Armada 370, 38x and XP processors. Select this to enable cpuidle on Armada 370, 38x and XP processors.
#
# ARM64 CPU Idle drivers
#
config ARM64_CPUIDLE
bool "Generic ARM64 CPU idle Driver"
select DT_IDLE_STATES
help
Select this to enable generic cpuidle driver for ARM64.
It provides a generic idle driver whose idle states are configured
at run-time through DT nodes. The CPUidle suspend backend is
initialized by calling the CPU operations init idle hook
provided by architecture code.
...@@ -17,15 +17,12 @@ obj-$(CONFIG_ARM_ZYNQ_CPUIDLE) += cpuidle-zynq.o ...@@ -17,15 +17,12 @@ obj-$(CONFIG_ARM_ZYNQ_CPUIDLE) += cpuidle-zynq.o
obj-$(CONFIG_ARM_U8500_CPUIDLE) += cpuidle-ux500.o obj-$(CONFIG_ARM_U8500_CPUIDLE) += cpuidle-ux500.o
obj-$(CONFIG_ARM_AT91_CPUIDLE) += cpuidle-at91.o obj-$(CONFIG_ARM_AT91_CPUIDLE) += cpuidle-at91.o
obj-$(CONFIG_ARM_EXYNOS_CPUIDLE) += cpuidle-exynos.o obj-$(CONFIG_ARM_EXYNOS_CPUIDLE) += cpuidle-exynos.o
obj-$(CONFIG_ARM_CPUIDLE) += cpuidle-arm.o
############################################################################### ###############################################################################
# MIPS drivers # MIPS drivers
obj-$(CONFIG_MIPS_CPS_CPUIDLE) += cpuidle-cps.o obj-$(CONFIG_MIPS_CPS_CPUIDLE) += cpuidle-cps.o
###############################################################################
# ARM64 drivers
obj-$(CONFIG_ARM64_CPUIDLE) += cpuidle-arm64.o
############################################################################### ###############################################################################
# POWERPC drivers # POWERPC drivers
obj-$(CONFIG_PSERIES_CPUIDLE) += cpuidle-pseries.o obj-$(CONFIG_PSERIES_CPUIDLE) += cpuidle-pseries.o
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment