diff --git a/plat/amlogic/gxl/gxl_sip_svc.c b/plat/amlogic/common/aml_sip_svc.c similarity index 100% rename from plat/amlogic/gxl/gxl_sip_svc.c rename to plat/amlogic/common/aml_sip_svc.c index eb832eea1..a212e6324 100644 --- a/plat/amlogic/gxl/gxl_sip_svc.c +++ b/plat/amlogic/common/aml_sip_svc.c @@ -5,9 +5,9 @@ */ #include +#include #include #include -#include #include #include "aml_private.h" diff --git a/plat/amlogic/gxbb/gxbb_sip_svc.c b/plat/amlogic/gxbb/gxbb_sip_svc.c deleted file mode 100644 index f8f471915..000000000 --- a/plat/amlogic/gxbb/gxbb_sip_svc.c +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (c) 2018-2019, ARM Limited and Contributors. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include - -#include - -#include -#include -#include - -#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/gxbb/platform.mk b/plat/amlogic/gxbb/platform.mk index e27519050..27f3c4239 100644 --- a/plat/amlogic/gxbb/platform.mk +++ b/plat/amlogic/gxbb/platform.mk @@ -32,7 +32,7 @@ BL31_SOURCES += lib/cpus/aarch64/cortex_a53.S \ ${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/platform.mk b/plat/amlogic/gxl/platform.mk index 1c41cd5ad..f4d323550 100644 --- a/plat/amlogic/gxl/platform.mk +++ b/plat/amlogic/gxl/platform.mk @@ -35,7 +35,7 @@ BL31_SOURCES += lib/cpus/aarch64/cortex_a53.S \ ${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}