diff --git a/plat/layerscape/board/ls1043/platform.mk b/plat/layerscape/board/ls1043/platform.mk
index 163d25e82bc8cbf1ee35170e15190c1286e97181..c554ac30d9fcfb36d9acedda0de81d32f3d813dc 100644
--- a/plat/layerscape/board/ls1043/platform.mk
+++ b/plat/layerscape/board/ls1043/platform.mk
@@ -63,7 +63,6 @@ BL31_SOURCES			+=	plat/layerscape/board/ls1043/ls1043_bl31_setup.c		\
 					${LS1043_SECURITY_SOURCES}
 
 # Disable the PSCI platform compatibility layer
-ENABLE_PLAT_COMPAT		:= 	0
 MULTI_CONSOLE_API		:=	1
 
 # Enable workarounds for selected Cortex-A53 erratas.
diff --git a/plat/layerscape/common/ls_bl31_setup.c b/plat/layerscape/common/ls_bl31_setup.c
index 25fe407c5e0fa30b116286710de57ee4be12ec3c..1114a51e876a237d52f74387c14739d7c85c4533 100644
--- a/plat/layerscape/common/ls_bl31_setup.c
+++ b/plat/layerscape/common/ls_bl31_setup.c
@@ -7,8 +7,10 @@
 #include <assert.h>
 #include <bl_common.h>
 #include <console.h>
-#include <mmio.h>
 #include <gicv2.h>
+#include <interrupt_props.h>
+#include <mmio.h>
+
 #include "ls_16550.h"
 #include "plat_ls.h"
 #include "soc.h"
@@ -20,15 +22,16 @@
 static entry_point_info_t bl32_image_ep_info;
 static entry_point_info_t bl33_image_ep_info;
 
-const unsigned int g0_interrupt_array1[] = {
-	9
+static const interrupt_prop_t g0_interrupt_props[] = {
+	INTR_PROP_DESC(9, GIC_HIGHEST_SEC_PRIORITY,
+		       GICV2_INTR_GROUP0, GIC_INTR_CFG_LEVEL),
 };
 
 gicv2_driver_data_t ls_gic_data = {
 	.gicd_base = GICD_BASE,
 	.gicc_base = GICC_BASE,
-	.g0_interrupt_num = ARRAY_SIZE(g0_interrupt_array1),
-	.g0_interrupt_array = g0_interrupt_array1,
+	.interrupt_props = g0_interrupt_props,
+	.interrupt_props_num = ARRAY_SIZE(g0_interrupt_props),
 };
 
 
diff --git a/plat/layerscape/common/ls_common.mk b/plat/layerscape/common/ls_common.mk
index 1a80e9f24884c067653dac796c50e34c7cc4bd36..5d96aed1ce877e6487e1d6b520d5a3155da20b36 100644
--- a/plat/layerscape/common/ls_common.mk
+++ b/plat/layerscape/common/ls_common.mk
@@ -13,13 +13,6 @@ LS1043_DISABLE_TRUSTED_WDOG	:=	1
 # mapping the former as executable and the latter as execute-never.
 SEPARATE_CODE_AND_RODATA	:=	1
 
-# Enable new version of image loading on Layerscape platforms
-LOAD_IMAGE_V2			:=	1
-
-# Use generic OID definition (tbbr_oid.h)
-USE_TBBR_DEFS			:=	1
-
-
 COLD_BOOT_SINGLE_CPU		:=	1
 
 PLAT_INCLUDES		+=	-Iinclude/common/tbbr
@@ -54,9 +47,3 @@ BL31_SOURCES		+=	plat/layerscape/common/ls_bl31_setup.c		\
 				plat/layerscape/common/ls_topology.c			\
 				plat/layerscape/common/ns_access.c		\
 				plat/common/plat_psci_common.c
-# Verify build config
-# -------------------
-
-ifneq (${LOAD_IMAGE_V2}, 1)
-  $(error Error: Layerscape needs LOAD_IMAGE_V2=1)
-endif
diff --git a/plat/layerscape/common/tsp/ls_tsp_setup.c b/plat/layerscape/common/tsp/ls_tsp_setup.c
index 82ac965cb3d98cc47312f3d848ff2028252c2fba..a046e2f2ddc250f70ff383e290267afe5036810f 100644
--- a/plat/layerscape/common/tsp/ls_tsp_setup.c
+++ b/plat/layerscape/common/tsp/ls_tsp_setup.c
@@ -4,23 +4,26 @@
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
-#include <gicv2.h>
 #include <debug.h>
+#include <gicv2.h>
+#include <interrupt_props.h>
+
 #include "ls_16550.h"
 #include "plat_ls.h"
 #include "soc.h"
 
 #define BL32_END (unsigned long)(&__BL32_END__)
 
-const unsigned int g0_interrupt_array1[] = {
-	9
+static const interrupt_prop_t g0_interrupt_props[] = {
+	INTR_PROP_DESC(9, GIC_HIGHEST_SEC_PRIORITY,
+		       GICV2_INTR_GROUP0, GIC_INTR_CFG_LEVEL),
 };
 
 gicv2_driver_data_t ls_gic_data = {
 	.gicd_base = GICD_BASE,
 	.gicc_base = GICC_BASE,
-	.g0_interrupt_num = ARRAY_SIZE(g0_interrupt_array1),
-	.g0_interrupt_array = g0_interrupt_array1,
+	.interrupt_props = g0_interrupt_props,
+	.interrupt_props_num = ARRAY_SIZE(g0_interrupt_props),
 };
 
 /*******************************************************************************