blob: 4d62bb0e3b9fa8af83c0a57284aff20541f7cce7 [file] [log] [blame]
/* Copyright 2016 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
/*
* This header declares the TPM manufacture related interface.
* Individual boards are expected to provide implementations.
*/
#ifndef __CROS_EC_TPM_MANUFACTURE_H
#define __CROS_EC_TPM_MANUFACTURE_H
/* Returns non-zero if the TPM manufacture steps have been completed. */
int tpm_manufactured(void);
/* Codes for success and various manufacturing error conditions. */
enum manufacturing_status {
mnf_success = 0,
mnf_no_certs = 1,
mnf_eps_decr = 2,
mnf_bad_rsa_size = 3,
mnf_bad_total_size = 4,
mnf_bad_rsa_type = 5,
mnf_bad_ecc_type = 6,
mnf_hmac_mismatch = 7,
mnf_rsa_proc = 8,
mnf_ecc_proc = 9,
mnf_store = 10,
mnf_manufactured = 11,
mnf_unverified_cert = 12,
};
enum manufacturing_status tpm_endorse(void);
#endif /* __CROS_EC_TPM_MANUFACTURE_H */