amlogic: Move the SIP SVC code to common directory
The code is the same between GXBB and GXL. Move it to the common source
directory.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Change-Id: I875689a6fd029971aa755fc2725217e90ed06b6c
diff --git a/plat/amlogic/gxbb/gxbb_sip_svc.c b/plat/amlogic/common/aml_sip_svc.c
similarity index 99%
rename from plat/amlogic/gxbb/gxbb_sip_svc.c
rename to plat/amlogic/common/aml_sip_svc.c
index f8f4719..a212e63 100644
--- a/plat/amlogic/gxbb/gxbb_sip_svc.c
+++ b/plat/amlogic/common/aml_sip_svc.c
@@ -4,13 +4,11 @@
* SPDX-License-Identifier: BSD-3-Clause
*/
-#include <stdint.h>
-
-#include <platform_def.h>
-
#include <common/debug.h>
#include <common/runtime_svc.h>
#include <lib/mmio.h>
+#include <platform_def.h>
+#include <stdint.h>
#include "aml_private.h"
diff --git a/plat/amlogic/gxbb/platform.mk b/plat/amlogic/gxbb/platform.mk
index e275190..27f3c42 100644
--- a/plat/amlogic/gxbb/platform.mk
+++ b/plat/amlogic/gxbb/platform.mk
@@ -32,7 +32,7 @@
${AML_PLAT_COMMON}/aml_mhu.c \
${AML_PLAT_SOC}/gxbb_pm.c \
${AML_PLAT_COMMON}/aml_scpi.c \
- ${AML_PLAT_SOC}/gxbb_sip_svc.c \
+ ${AML_PLAT_COMMON}/aml_sip_svc.c \
${AML_PLAT_COMMON}/aml_thermal.c \
${GIC_SOURCES}
diff --git a/plat/amlogic/gxl/gxl_sip_svc.c b/plat/amlogic/gxl/gxl_sip_svc.c
deleted file mode 100644
index eb832ee..0000000
--- a/plat/amlogic/gxl/gxl_sip_svc.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2018-2019, ARM Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#include <common/debug.h>
-#include <lib/mmio.h>
-#include <platform_def.h>
-#include <common/runtime_svc.h>
-#include <stdint.h>
-
-#include "aml_private.h"
-
-/*******************************************************************************
- * This function is responsible for handling all SiP calls
- ******************************************************************************/
-static uintptr_t gxbb_sip_handler(uint32_t smc_fid,
- u_register_t x1, u_register_t x2,
- u_register_t x3, u_register_t x4,
- void *cookie, void *handle,
- u_register_t flags)
-{
- switch (smc_fid) {
-
- case GXBB_SM_GET_SHARE_MEM_INPUT_BASE:
- SMC_RET1(handle, GXBB_SHARE_MEM_INPUT_BASE);
-
- case GXBB_SM_GET_SHARE_MEM_OUTPUT_BASE:
- SMC_RET1(handle, GXBB_SHARE_MEM_OUTPUT_BASE);
-
- case GXBB_SM_EFUSE_READ:
- {
- void *dst = (void *)GXBB_SHARE_MEM_OUTPUT_BASE;
- uint64_t ret = gxbb_efuse_read(dst, (uint32_t)x1, x2);
-
- SMC_RET1(handle, ret);
- }
- case GXBB_SM_EFUSE_USER_MAX:
- SMC_RET1(handle, gxbb_efuse_user_max());
-
- case GXBB_SM_JTAG_ON:
- scpi_jtag_set_state(GXBB_JTAG_STATE_ON, x1);
- SMC_RET1(handle, 0);
-
- case GXBB_SM_JTAG_OFF:
- scpi_jtag_set_state(GXBB_JTAG_STATE_OFF, x1);
- SMC_RET1(handle, 0);
-
- default:
- ERROR("BL31: Unhandled SIP SMC: 0x%08x\n", smc_fid);
- break;
- }
-
- SMC_RET1(handle, SMC_UNK);
-}
-
-DECLARE_RT_SVC(
- gxbb_sip_handler,
-
- OEN_SIP_START,
- OEN_SIP_END,
- SMC_TYPE_FAST,
- NULL,
- gxbb_sip_handler
-);
diff --git a/plat/amlogic/gxl/platform.mk b/plat/amlogic/gxl/platform.mk
index 1c41cd5..f4d3235 100644
--- a/plat/amlogic/gxl/platform.mk
+++ b/plat/amlogic/gxl/platform.mk
@@ -35,7 +35,7 @@
${AML_PLAT_COMMON}/aml_mhu.c \
${AML_PLAT_SOC}/gxl_pm.c \
${AML_PLAT_COMMON}/aml_scpi.c \
- ${AML_PLAT_SOC}/gxl_sip_svc.c \
+ ${AML_PLAT_COMMON}/aml_sip_svc.c \
${AML_PLAT_COMMON}/aml_thermal.c \
drivers/amlogic/crypto/sha_dma.c \
${GIC_SOURCES}