diff options
author | Carlo Caione <ccaione@baylibre.com> | 2019-08-24 17:52:40 +0100 |
---|---|---|
committer | Carlo Caione <ccaione@baylibre.com> | 2019-09-05 10:39:30 +0100 |
commit | 35aee24ef56f6aed4e0703c1986eba3bb80e393f (patch) | |
tree | b46e22a7d247b7536c4cb466d4195615344c8824 /plat/amlogic | |
parent | 261e7fd7b6017f3ca0f9e9527c74053eb5552f9e (diff) |
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
Diffstat (limited to 'plat/amlogic')
-rw-r--r-- | plat/amlogic/common/aml_sip_svc.c (renamed from plat/amlogic/gxl/gxl_sip_svc.c) | 2 | ||||
-rw-r--r-- | plat/amlogic/gxbb/gxbb_sip_svc.c | 68 | ||||
-rw-r--r-- | plat/amlogic/gxbb/platform.mk | 2 | ||||
-rw-r--r-- | plat/amlogic/gxl/platform.mk | 2 |
4 files changed, 3 insertions, 71 deletions
diff --git a/plat/amlogic/gxl/gxl_sip_svc.c b/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 <common/debug.h> +#include <common/runtime_svc.h> #include <lib/mmio.h> #include <platform_def.h> -#include <common/runtime_svc.h> #include <stdint.h> #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 <stdint.h> - -#include <platform_def.h> - -#include <common/debug.h> -#include <common/runtime_svc.h> -#include <lib/mmio.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/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} |