summaryrefslogtreecommitdiff
path: root/plat/amlogic
diff options
context:
space:
mode:
authorCarlo Caione <ccaione@baylibre.com>2019-08-24 17:52:40 +0100
committerCarlo Caione <ccaione@baylibre.com>2019-09-05 10:39:30 +0100
commit35aee24ef56f6aed4e0703c1986eba3bb80e393f (patch)
treeb46e22a7d247b7536c4cb466d4195615344c8824 /plat/amlogic
parent261e7fd7b6017f3ca0f9e9527c74053eb5552f9e (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.c68
-rw-r--r--plat/amlogic/gxbb/platform.mk2
-rw-r--r--plat/amlogic/gxl/platform.mk2
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}