diff options
author | Anson Huang <b20788@freescale.com> | 2021-05-25 21:14:16 -0300 |
---|---|---|
committer | Shawn Guo <shawnguo@kernel.org> | 2021-06-12 12:02:57 +0800 |
commit | e34645f45805d8308866de7b69f117f554605bb6 (patch) | |
tree | 728088350539c203ab9e19c38de9feac943cacc5 /arch/arm/mach-imx/hotplug.c | |
parent | cc8870bf4c3ab0af385538460500a9d342ed945f (diff) | |
download | linux-e34645f45805d8308866de7b69f117f554605bb6.tar.gz linux-e34645f45805d8308866de7b69f117f554605bb6.tar.bz2 linux-e34645f45805d8308866de7b69f117f554605bb6.zip |
ARM: imx: add smp support for imx7d
Add SMP support for i.MX7D, including CPU hotplug support, for
systems where TFA is not present.
The motivation for bringing up the second i.MX7D core inside the kernel
is that legacy vendor bootloaders usually do not implement PSCI support.
This is a significant blocker for systems in the field that are running old
bootloader versions to upgrade to a modern mainline kernel version, as only
one CPU of the i.MX7D would be brought up.
Bring up the second i.MX7D core inside the kernel to make the migration
path to mainline kernel easier for the existing iMX7D users.
Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com> # Fix merge conflicts
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Signed-off-by: Marek Vasut <marex@denx.de> # heavy cleanup
Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Diffstat (limited to 'arch/arm/mach-imx/hotplug.c')
-rw-r--r-- | arch/arm/mach-imx/hotplug.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/hotplug.c b/arch/arm/mach-imx/hotplug.c index 82e22398d43d..e24a46dc5703 100644 --- a/arch/arm/mach-imx/hotplug.c +++ b/arch/arm/mach-imx/hotplug.c @@ -11,6 +11,7 @@ #include <asm/proc-fns.h> #include "common.h" +#include "hardware.h" /* * platform-specific code to shutdown a CPU @@ -40,5 +41,7 @@ int imx_cpu_kill(unsigned int cpu) return 0; imx_enable_cpu(cpu, false); imx_set_cpu_arg(cpu, 0); + if (cpu_is_imx7d()) + imx_gpcv2_set_core1_pdn_pup_by_software(true); return 1; } |