diff options
author | Omri Itach <omrii@marvell.com> | 2017-06-27 11:24:50 +0300 |
---|---|---|
committer | Konstantin Porotchkin <kostap@marvell.com> | 2017-08-22 11:18:11 +0300 |
commit | d3e08bd5ce61281855c40d1a508ce1c89437bb98 (patch) | |
tree | bc6b768aeda11fc69bd5e5cf4c1f7a9d0015f50b /include/plat | |
parent | a75e15d389121ec953dc863326f2c15a7a8ec3b0 (diff) |
ap806: pm: poweroff unused CPUs at early boot stage
The entire boot flow is performed via CPU0, while CPUs1-3 remain unused untill
Linux is booted.
During this stage, CPU1-3 are kept in reset (not powered off), hence still
consuming current and leading to increased SoC temperatures.
To avoid unnecessary current consumption, and mainly to reduce SoC temperatures,
unused CPUs are powered off (CPU1 in dual-core system, and CPU1-3 in quad-core
systems), at early BLE stage, prior to DDR initialization, and powered back on
during Linux PSCI calls to a8k_pwr_domain_on, before getting these CPUs
out of reset.
This patch was tested on Armada 8040 MACCHIATObin, and it leads to
~10-15% reduction of current consumption and SoC temperature in U-Boot.
Change-Id: Ic1baeaa89f2806125d8347badcf5b30c13583162
Signed-off-by: Omri Itach <omrii@marvell.com>
Reviewed-on: http://vgitil04.il.marvell.com:8080/40869
Reviewed-by: Hanna Hawa <hannah@marvell.com>
Tested-by: iSoC Platform CI <ykjenk@marvell.com>
Reviewed-by: Kostya Porotchkin <kostap@marvell.com>
Diffstat (limited to 'include/plat')
-rw-r--r-- | include/plat/marvell/a8k/common/plat_marvell.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/plat/marvell/a8k/common/plat_marvell.h b/include/plat/marvell/a8k/common/plat_marvell.h index d6280ed1..dfc1db19 100644 --- a/include/plat/marvell/a8k/common/plat_marvell.h +++ b/include/plat/marvell/a8k/common/plat_marvell.h @@ -127,4 +127,5 @@ void marvell_bl1_setup_mpps(void); const mmap_region_t *plat_marvell_get_mmap(void); +int plat_marvell_early_cpu_powerdown(void); #endif /* __PLAT_MARVELL_H__ */ |