diff --git a/include/bl32/sp_min/platform_sp_min.h b/include/bl32/sp_min/platform_sp_min.h
index 8f6a82d..2d71a47 100644
--- a/include/bl32/sp_min/platform_sp_min.h
+++ b/include/bl32/sp_min/platform_sp_min.h
@@ -10,10 +10,6 @@
 /*******************************************************************************
  * Mandatory SP_MIN functions
  ******************************************************************************/
-#if !ERROR_DEPRECATED
-void sp_min_early_platform_setup(void *from_bl2,
-		void *plat_params_from_bl2);
-#endif
 void sp_min_early_platform_setup2(u_register_t arg0, u_register_t arg1,
 		u_register_t arg2, u_register_t arg3);
 void sp_min_platform_setup(void);
diff --git a/include/plat/common/platform.h b/include/plat/common/platform.h
index 7fd6b71..6c81faf 100644
--- a/include/plat/common/platform.h
+++ b/include/plat/common/platform.h
@@ -168,9 +168,6 @@
  * Mandatory BL2 functions
  ******************************************************************************/
 void bl2_early_platform_setup2(u_register_t arg0, u_register_t arg1, u_register_t arg2, u_register_t arg3);
-#if !ERROR_DEPRECATED
-void bl2_early_platform_setup(struct meminfo *mem_layout);
-#endif
 void bl2_plat_arch_setup(void);
 void bl2_platform_setup(void);
 struct meminfo *bl2_plat_sec_mem_layout(void);
@@ -222,10 +219,6 @@
 /*******************************************************************************
  * Mandatory BL31 functions
  ******************************************************************************/
-#if !ERROR_DEPRECATED
-void bl31_early_platform_setup(void *from_bl2,
-				void *plat_params_from_bl2);
-#endif /* ERROR_DEPRECATED */
 void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1,
 		u_register_t arg2, u_register_t arg3);
 void bl31_plat_arch_setup(void);
diff --git a/plat/common/aarch32/plat_sp_min_common.c b/plat/common/aarch32/plat_sp_min_common.c
index 67ae817..a9a92c7 100644
--- a/plat/common/aarch32/plat_sp_min_common.c
+++ b/plat/common/aarch32/plat_sp_min_common.c
@@ -23,14 +23,3 @@
 	 */
 	console_uninit();
 }
-
-#if !ERROR_DEPRECATED
-
-#pragma weak sp_min_early_platform_setup2
-
-void sp_min_early_platform_setup2(u_register_t arg0, u_register_t arg1,
-			u_register_t arg2, u_register_t arg3)
-{
-	sp_min_early_platform_setup((void *)arg0, (void *)arg1);
-}
-#endif
diff --git a/plat/common/aarch64/plat_common.c b/plat/common/aarch64/plat_common.c
index df70f65..60bdd3e 100644
--- a/plat/common/aarch64/plat_common.c
+++ b/plat/common/aarch64/plat_common.c
@@ -21,7 +21,6 @@
 #pragma weak bl31_plat_runtime_setup
 #if !ERROR_DEPRECATED
 #pragma weak plat_get_syscnt_freq2
-#pragma weak bl31_early_platform_setup2
 #endif /* ERROR_DEPRECATED */
 
 #if SDEI_SUPPORT
@@ -69,12 +68,6 @@
 
 	return (unsigned int)freq;
 }
-
-void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1,
-			u_register_t arg2, u_register_t arg3)
-{
-	bl31_early_platform_setup((void *) arg0, (void *)arg1);
-}
 #endif /* ERROR_DEPRECATED */
 
 #if SDEI_SUPPORT
diff --git a/plat/common/plat_bl_common.c b/plat/common/plat_bl_common.c
index aa1077b..264d518 100644
--- a/plat/common/plat_bl_common.c
+++ b/plat/common/plat_bl_common.c
@@ -55,21 +55,6 @@
 	return 0;
 }
 
-#if !ERROR_DEPRECATED
-#pragma weak bl2_early_platform_setup2
-
-/*
- * The following platform API implementation that allow compatibility for
- * the older platform APIs.
- */
-void bl2_early_platform_setup2(u_register_t arg0, u_register_t arg1,
-			u_register_t arg2, u_register_t arg3)
-{
-	bl2_early_platform_setup((void *)arg1);
-}
-#endif
-
-
 #if TRUSTED_BOARD_BOOT
 /*
  * The following default implementation of the function simply returns the
