Commit 705bed5d authored by Jolly Shah's avatar Jolly Shah
Browse files

plat: xilinx: zynqmp: Initialize IPI table from zynqmp_config_setup()



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: default avatarTejas Patel <tejas.patel@xilinx.com>
Signed-off-by: default avatarJolly Shah <jolly.shah@xilinx.com>
parent 5dbdf8e4
/* /*
* 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 * SPDX-License-Identifier: BSD-3-Clause
*/ */
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include <drivers/generic_delay_timer.h> #include <drivers/generic_delay_timer.h>
#include <lib/mmio.h> #include <lib/mmio.h>
#include <lib/xlat_tables/xlat_tables.h> #include <lib/xlat_tables/xlat_tables.h>
#include <plat_ipi.h>
#include <plat_private.h> #include <plat_private.h>
#include <plat/common/platform.h> #include <plat/common/platform.h>
...@@ -325,6 +326,9 @@ unsigned int zynqmp_get_bootmode(void) ...@@ -325,6 +326,9 @@ unsigned int zynqmp_get_bootmode(void)
void zynqmp_config_setup(void) void zynqmp_config_setup(void)
{ {
/* Configure IPI data for ZynqMP */
zynqmp_ipi_config_table_init();
zynqmp_print_platform_name(); zynqmp_print_platform_name();
generic_delay_timer_init(); generic_delay_timer_init();
} }
......
...@@ -64,6 +64,7 @@ PLAT_BL_COMMON_SOURCES := lib/xlat_tables/xlat_tables_common.c \ ...@@ -64,6 +64,7 @@ PLAT_BL_COMMON_SOURCES := lib/xlat_tables/xlat_tables_common.c \
plat/arm/common/arm_gicv2.c \ plat/arm/common/arm_gicv2.c \
plat/common/plat_gicv2.c \ plat/common/plat_gicv2.c \
plat/xilinx/common/ipi.c \ plat/xilinx/common/ipi.c \
plat/xilinx/zynqmp/zynqmp_ipi.c \
plat/xilinx/zynqmp/aarch64/zynqmp_helpers.S \ plat/xilinx/zynqmp/aarch64/zynqmp_helpers.S \
plat/xilinx/zynqmp/aarch64/zynqmp_common.c plat/xilinx/zynqmp/aarch64/zynqmp_common.c
...@@ -78,7 +79,6 @@ BL31_SOURCES += drivers/arm/cci/cci.c \ ...@@ -78,7 +79,6 @@ BL31_SOURCES += drivers/arm/cci/cci.c \
plat/xilinx/zynqmp/plat_startup.c \ plat/xilinx/zynqmp/plat_startup.c \
plat/xilinx/zynqmp/plat_topology.c \ plat/xilinx/zynqmp/plat_topology.c \
plat/xilinx/zynqmp/sip_svc_setup.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_svc_main.c \
plat/xilinx/zynqmp/pm_service/pm_api_sys.c \ plat/xilinx/zynqmp/pm_service/pm_api_sys.c \
plat/xilinx/zynqmp/pm_service/pm_api_pinctrl.c \ plat/xilinx/zynqmp/pm_service/pm_api_pinctrl.c \
......
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
#include <common/runtime_svc.h> #include <common/runtime_svc.h>
#include <tools_share/uuid.h> #include <tools_share/uuid.h>
#include <plat_ipi.h>
#include "ipi_mailbox_svc.h" #include "ipi_mailbox_svc.h"
#include "pm_svc_main.h" #include "pm_svc_main.h"
...@@ -41,9 +40,6 @@ DEFINE_SVC_UUID2(zynqmp_sip_uuid, ...@@ -41,9 +40,6 @@ DEFINE_SVC_UUID2(zynqmp_sip_uuid,
*/ */
static int32_t sip_svc_setup(void) static int32_t sip_svc_setup(void)
{ {
/* Configure IPI data for ZynqMP */
zynqmp_ipi_config_table_init();
/* PM implementation as SiP Service */ /* PM implementation as SiP Service */
pm_setup(); pm_setup();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment