15679752bf24c21135884e987c4077e2f7184897Vadim Bendebury// This file was extracted from the TCG Published
25679752bf24c21135884e987c4077e2f7184897Vadim Bendebury// Trusted Platform Module Library
35679752bf24c21135884e987c4077e2f7184897Vadim Bendebury// Part 4: Supporting Routines
45679752bf24c21135884e987c4077e2f7184897Vadim Bendebury// Family "2.0"
55679752bf24c21135884e987c4077e2f7184897Vadim Bendebury// Level 00 Revision 01.16
65679752bf24c21135884e987c4077e2f7184897Vadim Bendebury// October 30, 2014
75679752bf24c21135884e987c4077e2f7184897Vadim Bendebury
8f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#ifndef         _VENDOR_STRING_H
9f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#define         _VENDOR_STRING_H
10f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//
115a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury//     Define up to 4-byte values for MANUFACTURER. This value defines the
125a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury//     response for TPM_PT_MANUFACTURER in TPM2_GetCapability(). The
135a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury//     definition should be replaced as appropriate when this code is used for
145a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury//     actual implementations.
15f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//
165a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury#define        MANUFACTURER       "CROS"
17f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//
18f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//     The following #if macro may be deleted after a proper MANUFACTURER is provided.
19f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//
20f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#ifndef MANUFACTURER
21f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#error MANUFACTURER is not provided. \
225a945def25005e9d88290adb2ab0e3cc340e1c34Vadim BendeburyPlease modify VendorString.h to provide a specific \
23f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendeburymanufacturer name.
24f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#endif
25f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//
26f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//     Define up to 4, 4-byte values. The values must each be 4 bytes long and the last value used may contain
27f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//     trailing zeros. These values define the response for TPM_PT_VENDOR_STRING_(1-4) in
28f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//     TPM2_GetCapability(). The following line should be un-commented and a vendor specific string should
29f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//     be provided here. The vendor strings 2-4 may also be defined as appropriately.
30f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//
31f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#define           VENDOR_STRING_1             "xCG "
32f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#define           VENDOR_STRING_2             "fTPM"
33f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// #define           VENDOR_STRING_3
34f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury// #define           VENDOR_STRING_4
35f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//
36f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//     The following #if macro may be deleted after a proper VENDOR_STRING_1 is provided.
37f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//
38f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#ifndef VENDOR_STRING_1
39f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#error VENDOR_STRING_1 is not provided. \
40f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim BendeburyPlease modify include\VendorString.h to provide a vednor specific \
41f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendeburystring.
42f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//
43f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#endif
44f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//
455a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury//     the more significant 32-bits of a vendor-specific value indicating the
465a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury//     version of the firmware. Some instrumentation could be added to replace
475a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury//     the following definition(s) with some release tag, SHA1, build date,
485a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury//     etc.
49f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//
505a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury#define     FIRMWARE_V1               (0)
51f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//
525a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury//     the optional less significant 32-bits of a vendor-specific value
535a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury//     indicating the version of the firmware.
54f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//
555a945def25005e9d88290adb2ab0e3cc340e1c34Vadim Bendebury#define     FIRMWARE_V2               (1)
56f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//
57f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//     The following #if macro may be deleted after a proper FIRMWARE_V1 is provided.
58f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury//
59f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#ifndef FIRMWARE_V1
60f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#error FIRMWARE_V1 is not provided. \
61f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim BendeburyPlease modify include\VendorString.h to provide a vendor specific firmware \
62f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendeburyversion
63f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#endif
64f5cc58b2d9df7d5391c1d42b86c6d747fdced06eVadim Bendebury#endif
65