Add CPU specific power management operations
This patch adds CPU core and cluster power down sequences to the CPU specific operations framework introduced in a earlier patch. Cortex-A53, Cortex-A57 and generic AEM sequences have been added. The latter is suitable for the Foundation and Base AEM FVPs. A pointer to each CPU's operations structure is saved in the per-cpu data so that it can be easily accessed during power down seqeunces. An optional platform API has been introduced to allow a platform to disable the Accelerator Coherency Port (ACP) during a cluster power down sequence. The weak definition of this function (plat_disable_acp()) does not take any action. It should be overriden with a strong definition if the ACP is present on a platform. Change-Id: I8d09bd40d2f528a28d2d3f19b77101178778685d
Showing
- Makefile 1 addition, 0 deletionsMakefile
- bl31/aarch64/bl31_entrypoint.S 6 additions, 0 deletionsbl31/aarch64/bl31_entrypoint.S
- docs/porting-guide.md 12 additions, 0 deletionsdocs/porting-guide.md
- include/lib/aarch64/arch.h 3 additions, 6 deletionsinclude/lib/aarch64/arch.h
- include/lib/aarch64/arch_helpers.h 0 additions, 7 deletionsinclude/lib/aarch64/arch_helpers.h
- include/lib/cpus/aarch64/aem_generic.h 41 additions, 0 deletionsinclude/lib/cpus/aarch64/aem_generic.h
- include/lib/cpus/aarch64/cortex_a53.h 42 additions, 0 deletionsinclude/lib/cpus/aarch64/cortex_a53.h
- include/lib/cpus/aarch64/cortex_a57.h 45 additions, 0 deletionsinclude/lib/cpus/aarch64/cortex_a57.h
- include/lib/cpus/aarch64/cpu_macros.S 10 additions, 0 deletionsinclude/lib/cpus/aarch64/cpu_macros.S
- include/plat/common/plat_config.h 3 additions, 5 deletionsinclude/plat/common/plat_config.h
- lib/cpus/aarch64/aem_generic.S 37 additions, 2 deletionslib/cpus/aarch64/aem_generic.S
- lib/cpus/aarch64/cortex_a53.S 75 additions, 1 deletionlib/cpus/aarch64/cortex_a53.S
- lib/cpus/aarch64/cortex_a57.S 123 additions, 1 deletionlib/cpus/aarch64/cortex_a57.S
- lib/cpus/aarch64/cpu_helpers.S 60 additions, 0 deletionslib/cpus/aarch64/cpu_helpers.S
- plat/common/aarch64/platform_helpers.S 10 additions, 0 deletionsplat/common/aarch64/platform_helpers.S
- plat/fvp/aarch64/fvp_common.c 1 addition, 6 deletionsplat/fvp/aarch64/fvp_common.c
- plat/fvp/fvp_pm.c 0 additions, 23 deletionsplat/fvp/fvp_pm.c
- services/std_svc/psci/psci_entry.S 6 additions, 0 deletionsservices/std_svc/psci/psci_entry.S
- services/std_svc/psci/psci_helpers.S 4 additions, 30 deletionsservices/std_svc/psci/psci_helpers.S
Please register or sign in to comment