diff --git a/meta/classes-recipe/uboot-sign.bbclass b/meta/classes-recipe/uboot-sign.bbclass
index 4a7872074a..e711a36c38 100644
--- a/meta/classes-recipe/uboot-sign.bbclass
+++ b/meta/classes-recipe/uboot-sign.bbclass
@@ -123,6 +123,13 @@ UBOOT_FIT_TEE_TYPE ?= "tee"
 # User specific settings
 UBOOT_FIT_USER_SETTINGS ?= ""
 
+# User specific configuration nodes, added next to the class one, e.g.
+# for an SPL that picks a configuration other than the default one
+UBOOT_FIT_USER_CONFIGURATIONS ?= ""
+
+# U-Boot fitImage configuration node name, also the default configuration
+UBOOT_FIT_CONF_NAME ?= "conf"
+
 # U-Boot fitImage configuration description
 UBOOT_FIT_CONF_DESC ?= "Boot with signed U-Boot FIT"
 
@@ -553,8 +560,8 @@ EOF
     };
 
     configurations {
-        default = "conf";
-        conf {
+        default = "${UBOOT_FIT_CONF_NAME}";
+        ${UBOOT_FIT_CONF_NAME} {
             description = "${UBOOT_FIT_CONF_DESC}";
             ${conf_firmware}
             loadables = ${conf_loadables};
@@ -573,6 +580,13 @@ EOF
 
 	cat << EOF >> ${UBOOT_ITS}
         };
+EOF
+
+	if [ -n "${UBOOT_FIT_USER_CONFIGURATIONS}" ] ; then
+		printf "%b" "${UBOOT_FIT_USER_CONFIGURATIONS}" >> ${UBOOT_ITS}
+	fi
+
+	cat << EOF >> ${UBOOT_ITS}
     };
 };
 EOF
