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 eb832eea1daa34149fadc9cd4fe93f1a0c2cf077..a212e6324c7d10a04e2af90f40d1b1fa3f331551 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 f8f471915e4a67ea7a93a585a98d8e5da2e48688..0000000000000000000000000000000000000000
--- 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 e275190504013b3f55a374910c95935d4b4d9610..27f3c423917ef1ba0cfe096ff57ba115276b0961 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 1c41cd5add1234138a32eabf8dec69bdfaadfb44..f4d3235507fed23c616f0a55f68614b7c4b47835 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}