plat: xilinx: zynqmp: Initialize IPI table from zynqmp_config_setup()
authorJolly Shah <jolly.shah@xilinx.com>
Tue, 27 Aug 2019 18:23:08 +0000 (11:23 -0700)
committerJolly Shah <jolly.shah@xilinx.com>
Tue, 10 Sep 2019 19:25:56 +0000 (12:25 -0700)
Common ipi_table needs to be initialized before using any
IPI command (i.e send/receive). Move zynqmp ipi config table
initialization from sip_svc_setup() to zynqmp_config_setup().

Change-Id: Ic8aaa0728a43936cd4c6e1ed590e01ba8f0fbf5b
Signed-off-by: Tejas Patel <tejas.patel@xilinx.com>
Signed-off-by: Jolly Shah <jolly.shah@xilinx.com>
plat/xilinx/zynqmp/aarch64/zynqmp_common.c
plat/xilinx/zynqmp/platform.mk
plat/xilinx/zynqmp/sip_svc_setup.c

index 8ff6c436046ff86160127576ff78aadc0b21e3af..ab5d95d1e2888d1f169e058138a49ad811aa9254 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2016, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2013-2019, ARM Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
@@ -11,6 +11,7 @@
 #include <drivers/generic_delay_timer.h>
 #include <lib/mmio.h>
 #include <lib/xlat_tables/xlat_tables.h>
+#include <plat_ipi.h>
 #include <plat_private.h>
 #include <plat/common/platform.h>
 
@@ -325,6 +326,9 @@ unsigned int zynqmp_get_bootmode(void)
 
 void zynqmp_config_setup(void)
 {
+       /* Configure IPI data for ZynqMP */
+       zynqmp_ipi_config_table_init();
+
        zynqmp_print_platform_name();
        generic_delay_timer_init();
 }
index bd7bc08da3436c4a9b6d2706ae93facc01a04e53..c34a51674a7f3c1875cddd3dba2f3e3ec9873de6 100644 (file)
@@ -64,6 +64,7 @@ PLAT_BL_COMMON_SOURCES        :=      lib/xlat_tables/xlat_tables_common.c            \
                                plat/arm/common/arm_gicv2.c                     \
                                plat/common/plat_gicv2.c                        \
                                plat/xilinx/common/ipi.c                        \
+                               plat/xilinx/zynqmp/zynqmp_ipi.c         \
                                plat/xilinx/zynqmp/aarch64/zynqmp_helpers.S     \
                                plat/xilinx/zynqmp/aarch64/zynqmp_common.c
 
@@ -78,7 +79,6 @@ BL31_SOURCES          +=      drivers/arm/cci/cci.c                           \
                                plat/xilinx/zynqmp/plat_startup.c               \
                                plat/xilinx/zynqmp/plat_topology.c              \
                                plat/xilinx/zynqmp/sip_svc_setup.c              \
-                               plat/xilinx/zynqmp/zynqmp_ipi.c         \
                                plat/xilinx/zynqmp/pm_service/pm_svc_main.c     \
                                plat/xilinx/zynqmp/pm_service/pm_api_sys.c      \
                                plat/xilinx/zynqmp/pm_service/pm_api_pinctrl.c  \
index edb81f5c3b333063c75ff8169d2e06575f1bf54b..9b182749cb519e7f657185bc8168815782609981 100644 (file)
@@ -9,7 +9,6 @@
 #include <common/runtime_svc.h>
 #include <tools_share/uuid.h>
 
-#include <plat_ipi.h>
 #include "ipi_mailbox_svc.h"
 #include "pm_svc_main.h"
 
@@ -41,9 +40,6 @@ DEFINE_SVC_UUID2(zynqmp_sip_uuid,
  */
 static int32_t sip_svc_setup(void)
 {
-       /* Configure IPI data for ZynqMP */
-       zynqmp_ipi_config_table_init();
-
        /* PM implementation as SiP Service */
        pm_setup();