AM261x MCU+ SDK
26.00.00
hsmclient_utils.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2022-2023 Texas Instruments Incorporated
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions
6
* are met:
7
*
8
* Redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer.
10
*
11
* Redistributions in binary form must reproduce the above copyright
12
* notice, this list of conditions and the following disclaimer in the
13
* documentation and/or other materials provided with the
14
* distribution.
15
*
16
* Neither the name of Texas Instruments Incorporated nor the names of
17
* its contributors may be used to endorse or promote products derived
18
* from this software without specific prior written permission.
19
*
20
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON AN2
28
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
*/
32
33
#ifndef HSM_CLIENT_UTILS_H_
34
#define HSM_CLIENT_UTILS_H_
35
36
#ifdef __cplusplus
37
extern
"C"
{
38
#endif
39
49
/* ========================================================================== */
50
/* Include Files */
51
/* ========================================================================== */
52
53
#include <string.h>
54
#include <stdlib.h>
55
56
/* ========================================================================== */
57
/* Macros & Typedefs */
58
/* ========================================================================== */
59
61
#define SOC_TYPE_AM263X 0x1
62
63
#define SOC_TYPE_AM263P 0x2
64
65
#define SOC_TYPE_AM273X 0x3
66
67
#define SOC_TYPE_AWR294X 0x4
68
69
#define SOC_TYPE_F29H85x 0x5
70
71
#define SOC_TYPE_AM261x 0x6
72
73
#define NUM_SOC_TYPE 0x7
74
76
#define DEVICE_TYPE_HS_FS 0x00
77
78
#define DEVICE_TYPE_HS_SE 0xFF
79
81
#define HSM_V1 0x1
82
84
#define BIN_TYPE_STANDARD 0x55
85
86
#define BIN_TYPE_CUSTOM 0xAA
87
88
#define BIN_TYPE_OTPKW 0x33
89
91
#define DEVICE_CONFIG_TYPE_SAFETY (0U)
92
93
#define DEVICE_CONFIG_TYPE_SECURITY (1U)
94
95
#define DEVICE_CONFIG_TYPE_DEBUG (2U)
96
97
#define DEVICE_CONFIG_TYPE_ALL (0xFFU)
98
99
/* Value interpretation macros */
101
#define FW_UPDATE_COMPLETE (0x5A5A5A5AU)
102
103
#define SECCFG_VALIDATION_SUCCESS (0x5A5A5A5AU)
104
105
#define DEBUG_STATUS_DISABLED (0x5A5A5A5AU)
106
107
#define DEBUG_STATUS_ENABLED (0xA5A5A5A5U)
108
109
/* dedFotaInfo value definitions */
111
#define BOTH_BANK_INVALID (0x0000FFFFU)
112
113
#define BOTH_BANKS_VALID (0x0000B0B1U)
114
115
#define ONLY_BANK0_VALID (0x0000B0FFU)
116
117
#define ONLY_BANK1_VALID (0x0000FFB1U)
118
119
#define BANK0_ACTIVE_VAL (0xC9U)
120
121
#define BANK1_ACTIVE_VAL (0x36U)
122
123
typedef
union
HsmVer_t_
HsmVer_t;
124
125
/* ========================================================================== */
126
/* Function Declaration */
127
/* ========================================================================== */
128
138
int32_t
HsmClient_parseVersion
(HsmVer_t *tifsMcuVer,
char
* parsedVer);
139
151
int32_t
HsmClient_parseDeviceConfig
(uint32_t configType, uint32_t *configData,
152
uint32_t configSize,
char
* parsedConfig);
153
156
#ifdef __cplusplus
157
}
158
#endif
159
160
#endif
/* HSM_CLIENT_UTILS_H_ */
HsmVer_t_
type for reading HSMRt version.
Definition:
hsmclient.h:143
HsmClient_parseVersion
int32_t HsmClient_parseVersion(HsmVer_t *tifsMcuVer, char *parsedVer)
Parses Version string.
Definition:
hsmclient_utils.c:208
HsmClient_parseDeviceConfig
int32_t HsmClient_parseDeviceConfig(uint32_t configType, uint32_t *configData, uint32_t configSize, char *parsedConfig)
Parses Device Configuration data into a human-readable string.
Definition:
hsmclient_utils.c:238
source
security
security_common
drivers
hsmclient
utils
hsmclient_utils.h
generated by
1.8.20