#define MLXBF_BOOTCTL_SB_SECURE_MASK           0x03
 #define MLXBF_BOOTCTL_SB_TEST_MASK             0x0c
+#define MLXBF_BOOTCTL_SB_DEV_MASK              BIT(4)
 
 #define MLXBF_SB_KEY_NUM                       4
 
        { MLXBF_BOOTCTL_NONE, "none" },
 };
 
+enum {
+       MLXBF_BOOTCTL_SB_LIFECYCLE_PRODUCTION = 0,
+       MLXBF_BOOTCTL_SB_LIFECYCLE_GA_SECURE = 1,
+       MLXBF_BOOTCTL_SB_LIFECYCLE_GA_NON_SECURE = 2,
+       MLXBF_BOOTCTL_SB_LIFECYCLE_RMA = 3
+};
+
 static const char * const mlxbf_bootctl_lifecycle_states[] = {
-       [0] = "Production",
-       [1] = "GA Secured",
-       [2] = "GA Non-Secured",
-       [3] = "RMA",
+       [MLXBF_BOOTCTL_SB_LIFECYCLE_PRODUCTION] = "Production",
+       [MLXBF_BOOTCTL_SB_LIFECYCLE_GA_SECURE] = "GA Secured",
+       [MLXBF_BOOTCTL_SB_LIFECYCLE_GA_NON_SECURE] = "GA Non-Secured",
+       [MLXBF_BOOTCTL_SB_LIFECYCLE_RMA] = "RMA",
 };
 
 /* Log header format. */
 static ssize_t lifecycle_state_show(struct device *dev,
                                    struct device_attribute *attr, char *buf)
 {
+       int status_bits;
+       int use_dev_key;
+       int test_state;
        int lc_state;
 
-       lc_state = mlxbf_bootctl_smc(MLXBF_BOOTCTL_GET_TBB_FUSE_STATUS,
-                                    MLXBF_BOOTCTL_FUSE_STATUS_LIFECYCLE);
-       if (lc_state < 0)
-               return lc_state;
+       status_bits = mlxbf_bootctl_smc(MLXBF_BOOTCTL_GET_TBB_FUSE_STATUS,
+                                       MLXBF_BOOTCTL_FUSE_STATUS_LIFECYCLE);
+       if (status_bits < 0)
+               return status_bits;
 
-       lc_state &=
-               MLXBF_BOOTCTL_SB_TEST_MASK | MLXBF_BOOTCTL_SB_SECURE_MASK;
+       use_dev_key = status_bits & MLXBF_BOOTCTL_SB_DEV_MASK;
+       test_state = status_bits & MLXBF_BOOTCTL_SB_TEST_MASK;
+       lc_state = status_bits & MLXBF_BOOTCTL_SB_SECURE_MASK;
 
        /*
         * If the test bits are set, we specify that the current state may be
         * due to using the test bits.
         */
-       if (lc_state & MLXBF_BOOTCTL_SB_TEST_MASK) {
-               lc_state &= MLXBF_BOOTCTL_SB_SECURE_MASK;
-
+       if (test_state) {
                return sprintf(buf, "%s(test)\n",
                               mlxbf_bootctl_lifecycle_states[lc_state]);
+       } else if (use_dev_key &&
+                  (lc_state == MLXBF_BOOTCTL_SB_LIFECYCLE_GA_SECURE)) {
+               return sprintf(buf, "Secured (development)\n");
        }
 
        return sprintf(buf, "%s\n", mlxbf_bootctl_lifecycle_states[lc_state]);