plat: marvell: a3700: do not power off cpu due to errata ref #13
authorGrzegorz Jaszczyk <jaz@semihalf.com>
Wed, 14 Nov 2018 17:47:35 +0000 (18:47 +0100)
committerKonstantin Porotchkin <kostap@marvell.com>
Tue, 4 Dec 2018 12:09:44 +0000 (14:09 +0200)
commit9cb6751d5988fe62d10b809469d4f6ec082730c6
treec33a80a5c335ab192fae44ba3408962d845fb0f1
parent0529106c4bb7e6e14247b3cca98b7c12009b42f0
plat: marvell: a3700: do not power off cpu due to errata ref #13

Do not power off the CPU1 since there is no way to wake it up
(wake-up is causing CPU0 reset as well duo to HW bug). Quote from errata
Ref #13 [In power saving mode, both cores must be powered off]:
"When Core 0 is on and Core 1 is in power-off state, a Core 1
wake-up resets Core 0 as well and puts Core 0 back to ROM".

To overcome described HW bug instead of powering the CPU off, let it
reach WFI instruction, which is invoked by generic psci_do_cpu_off
function after platform handler finishes. This will put the core in low
power state and give a chance to wake it up.

Before this change, after running secondary kernel via kexec, only one
core was up, now both cores are up.

Change-Id: I87f144867550728055d9b8a2edb84a14539acab7
Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
Reviewed-by: Kostya Porotchkin <kostap@marvell.com>
plat/marvell/a3700/common/plat_pm.c