@@ -4,6 +4,7 @@ menuconfig ARCH_TEGRA
select ARCH_SUPPORTS_TRUSTED_FOUNDATIONS
select ARM_AMBA
select ARM_GIC
+ select ARM_PSCI
select CLKSRC_MMIO
select HAVE_ARM_SCU if SMP
select HAVE_ARM_TWD if SMP
@@ -44,6 +44,7 @@
#include <asm/mach-types.h>
#include <asm/setup.h>
#include <asm/trusted_foundations.h>
+#include <asm/psci.h>
#include "board.h"
#include "common.h"
@@ -136,7 +137,8 @@ static void __init tegra_dt_init_late(void)
int i;
tegra_init_suspend();
- tegra_cpuidle_init();
+ if (!psci_smp_available())
+ tegra_cpuidle_init();
for (i = 0; i < ARRAY_SIZE(board_init_funcs); i++) {
if (of_machine_is_compatible(board_init_funcs[i].machine)) {
The firmware takes over the ownership of the flow controller when it provides PSCI support. To avoid clashes, disable the Tegra cpuidle driver if PSCI was detected. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> --- arch/arm/mach-tegra/Kconfig | 1 + arch/arm/mach-tegra/tegra.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-)