diff options
-rw-r--r-- | board/cr50/tpm2/endorsement.c | 6 | ||||
-rw-r--r-- | include/tpm_manufacture.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/board/cr50/tpm2/endorsement.c b/board/cr50/tpm2/endorsement.c index a9751d43fb..f0e728cbe1 100644 --- a/board/cr50/tpm2/endorsement.c +++ b/board/cr50/tpm2/endorsement.c @@ -17,6 +17,7 @@ #include "NV_Write_fp.h" #include "NV_DefineSpace_fp.h" +#include "ccd_config.h" #include "console.h" #include "extension.h" #include "flash.h" @@ -691,6 +692,11 @@ enum manufacturing_status tpm_endorse(void) /* Mark as endorsed. */ endorsement_complete(); + if (!ccd_get_factory_mode()) { + result = mnf_factory_mode_mising; + break; + } + /* Chip has been marked as manufactured. */ result = mnf_success; } while (0); diff --git a/include/tpm_manufacture.h b/include/tpm_manufacture.h index 4d62bb0e3b..ddfad6e36d 100644 --- a/include/tpm_manufacture.h +++ b/include/tpm_manufacture.h @@ -29,6 +29,7 @@ enum manufacturing_status { mnf_store = 10, mnf_manufactured = 11, mnf_unverified_cert = 12, + mnf_factory_mode_mising = 13, }; enum manufacturing_status tpm_endorse(void); |