plat/marvell/armada: allow builds without MSS support
Setting MSS_SUPPORT to 0 also removes requirement for SCP_BL2
definition.
Images build with MSS_SUPPORT=0 will not include service CPUs
FW and will not support PM, FC and other features implemented
in these FW images.
Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
Change-Id: Idf301ebd218ce65a60f277f3876d0aeb6c72f105
Reviewed-on: https://sj1git1.cavium.com/c/IP/SW/boot/atf/+/37769
Tested-by: sa_ip-sw-jenkins <sa_ip-sw-jenkins@marvell.com>
Reviewed-by: Stefan Chulski <stefanc@marvell.com>
Reviewed-by: Ofer Heifetz <oferh@marvell.com>
Reviewed-by: Nadav Haklai <nadavh@marvell.com>
diff --git a/plat/marvell/armada/a8k/common/plat_pm.c b/plat/marvell/armada/a8k/common/plat_pm.c
index 96e95c2..9ea9276 100644
--- a/plat/marvell/armada/a8k/common/plat_pm.c
+++ b/plat/marvell/armada/a8k/common/plat_pm.c
@@ -18,7 +18,9 @@
#include <armada_common.h>
#include <marvell_pm.h>
+#if MSS_SUPPORT
#include <mss_pm_ipc.h>
+#endif
#include <plat_marvell.h>
#include <plat_pm_trace.h>
@@ -396,6 +398,7 @@
/* Power up CPU (CPUs 1-3 are powered off at start of BLE) */
plat_marvell_cpu_powerup(mpidr);
+#if MSS_SUPPORT
if (is_pm_fw_running()) {
unsigned int target =
((mpidr & 0xFF) + (((mpidr >> 8) & 0xFF) * 2));
@@ -417,11 +420,12 @@
/* trace message */
PM_TRACE(TRACE_PWR_DOMAIN_ON | target);
- } else {
+ } else
+#endif
+ {
/* proprietary CPU ON exection flow */
plat_marvell_cpu_on(mpidr);
}
-
return 0;
}
@@ -441,6 +445,7 @@
*/
static void a8k_pwr_domain_off(const psci_power_state_t *target_state)
{
+#if MSS_SUPPORT
if (is_pm_fw_running()) {
unsigned int idx = plat_my_core_pos();
@@ -466,6 +471,7 @@
} else {
INFO("%s: is not supported without SCP\n", __func__);
}
+#endif
}
/* Get PM config to power off the SoC */
@@ -586,6 +592,7 @@
*/
static void a8k_pwr_domain_suspend(const psci_power_state_t *target_state)
{
+#if MSS_SUPPORT
if (is_pm_fw_running()) {
unsigned int idx;
@@ -610,7 +617,9 @@
/* trace message */
PM_TRACE(TRACE_PWR_DOMAIN_SUSPEND);
- } else {
+ } else
+#endif
+ {
uintptr_t *mailbox = (void *)PLAT_MARVELL_MAILBOX_BASE;
INFO("Suspending to RAM\n");