diff --git a/Makefile b/Makefile
index edc0d49fb7c55924a825acebe3c9c9a144ef3a6a..b4bebf17fb08acbea6ccb78bd13c0f77f0f3e488 100644
--- a/Makefile
+++ b/Makefile
@@ -746,6 +746,10 @@ ifeq ($(MEASURED_BOOT),1)
     endif
 endif
 
+ifeq ($(PSA_FWU_SUPPORT),1)
+    $(info PSA_FWU_SUPPORT is an experimental feature)
+endif
+
 ifeq (${ARM_XLAT_TABLES_LIB_V1}, 1)
     ifeq (${ALLOW_RO_XLAT_TABLES}, 1)
         $(error "ALLOW_RO_XLAT_TABLES requires translation tables library v2")
@@ -959,6 +963,7 @@ $(eval $(call assert_booleans,\
         USE_SP804_TIMER \
         ENABLE_FEAT_RNG \
         ENABLE_FEAT_SB \
+        PSA_FWU_SUPPORT \
 )))
 
 $(eval $(call assert_numerics,\
@@ -1058,6 +1063,7 @@ $(eval $(call add_defines,\
         ENABLE_FEAT_SB \
         NR_OF_FW_BANKS \
         NR_OF_IMAGES_IN_FW_BANK \
+        PSA_FWU_SUPPORT \
 )))
 
 ifeq (${SANITIZE_UB},trap)
diff --git a/bl2/bl2_main.c b/bl2/bl2_main.c
index 203e1d4b1da1d0510cf28cd7475686b8eea2431b..d2de1350d303ad6c62c0d3dd50b1c9e5510bfbe0 100644
--- a/bl2/bl2_main.c
+++ b/bl2/bl2_main.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2020, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2013-2021, ARM Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
@@ -14,6 +14,7 @@
 #include <common/debug.h>
 #include <drivers/auth/auth_mod.h>
 #include <drivers/console.h>
+#include <drivers/fwu/fwu.h>
 #if MEASURED_BOOT
 #include <drivers/measured_boot/measured_boot.h>
 #endif
@@ -88,6 +89,10 @@ void bl2_main(void)
 	/* Perform remaining generic architectural setup in S-EL1 */
 	bl2_arch_setup();
 
+#if PSA_FWU_SUPPORT
+	fwu_init();
+#endif /* PSA_FWU_SUPPORT */
+
 #if TRUSTED_BOARD_BOOT
 	/* Initialize authentication module */
 	auth_mod_init();
diff --git a/make_helpers/defaults.mk b/make_helpers/defaults.mk
index 53d9605df8e8bd18b7ac8ad3cafd47d2a04ba80f..72f84b52e0d7ec9d2b224c3c6fb2a66c3e2c2b7e 100644
--- a/make_helpers/defaults.mk
+++ b/make_helpers/defaults.mk
@@ -352,3 +352,6 @@ NR_OF_FW_BANKS			:= 2
 # Build option to define number of images in firmware bank, used in firmware
 # update metadata structure.
 NR_OF_IMAGES_IN_FW_BANK		:= 1
+
+# Disable Firmware update support by default
+PSA_FWU_SUPPORT			:= 0