From 35aee24ef56f6aed4e0703c1986eba3bb80e393f Mon Sep 17 00:00:00 2001 From: Carlo Caione Date: Sat, 24 Aug 2019 17:52:40 +0100 Subject: [PATCH] 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 Change-Id: I875689a6fd029971aa755fc2725217e90ed06b6c --- .../gxl_sip_svc.c => common/aml_sip_svc.c} | 2 +- plat/amlogic/gxbb/gxbb_sip_svc.c | 68 ------------------- plat/amlogic/gxbb/platform.mk | 2 +- plat/amlogic/gxl/platform.mk | 2 +- 4 files changed, 3 insertions(+), 71 deletions(-) rename plat/amlogic/{gxl/gxl_sip_svc.c => common/aml_sip_svc.c} (100%) delete mode 100644 plat/amlogic/gxbb/gxbb_sip_svc.c 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 eb832eea..a212e632 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 f8f47191..00000000 --- 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 e2751905..27f3c423 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 1c41cd5a..f4d32355 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} -- 2.30.2