]> Git Repo - J-u-boot.git/blob - include/smbios_def.h
Merge tag 'u-boot-imx-master-20250127' of https://gitlab.denx.de/u-boot/custodians...
[J-u-boot.git] / include / smbios_def.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright (c) 2024 Linaro Limited
4  * Author: Raymond Mao <[email protected]>
5  */
6
7 #ifndef _SMBIOS_DEF_H_
8 #define _SMBIOS_DEF_H_
9
10 /*
11  * BIOS characteristics
12  */
13
14 #define BIOS_CHARACTERISTICS_PCI_SUPPORTED      0x80 /* BIT(7) */
15 #define BIOS_CHARACTERISTICS_UPGRADEABLE        0x800 /* BIT(11) */
16 #define BIOS_CHARACTERISTICS_SELECTABLE_BOOT    0x10000  /* BIT(16) */
17
18 #define BIOS_CHARACTERISTICS_EXT1_ACPI          1 /* BIT(0) */
19 #define BIOS_CHARACTERISTICS_EXT2_UEFI          8 /* BIT(3) */
20 #define BIOS_CHARACTERISTICS_EXT2_TARGET        4 /* BIT(2) */
21
22 /*
23  * System Information
24  */
25
26 #define SMBIOS_WAKEUP_TYPE_RESERVED             0
27 #define SMBIOS_WAKEUP_TYPE_OTHER                1
28 #define SMBIOS_WAKEUP_TYPE_UNKNOWN              2
29 #define SMBIOS_WAKEUP_TYPE_APM_TIMER            3
30 #define SMBIOS_WAKEUP_TYPE_MODEM_RING           4
31 #define SMBIOS_WAKEUP_TYPE_LAN_REMOTE           5
32 #define SMBIOS_WAKEUP_TYPE_POWER_SWITCH         6
33 #define SMBIOS_WAKEUP_TYPE_PCI_PME              7
34 #define SMBIOS_WAKEUP_TYPE_AC_POWER_RESTORED    8
35
36 /*
37  * Baseboard Information
38  */
39
40 #define SMBIOS_BOARD_FEAT_HOST_BOARD            1 /* BIT(0) */
41 #define SMBIOS_BOARD_FEAT_REQ_AUX               2 /* BIT(1) */
42 #define SMBIOS_BOARD_FEAT_REMOVABLE             4 /* BIT(2) */
43 #define SMBIOS_BOARD_FEAT_REPLACEABLE           8 /* BIT(3) */
44 #define SMBIOS_BOARD_FEAT_HOT_SWAPPABLE         16 /* BIT(4) */
45
46 #define SMBIOS_BOARD_TYPE_UNKNOWN               1
47 #define SMBIOS_BOARD_TYPE_OTHER                 2
48 #define SMBIOS_BOARD_TYPE_SERVER_BLADE          3
49 #define SMBIOS_BOARD_TYPE_CON_SWITCH            4
50 #define SMBIOS_BOARD_TYPE_SM_MODULE             5
51 #define SMBIOS_BOARD_TYPE_PROCESSOR_MODULE      6
52 #define SMBIOS_BOARD_TYPE_IO_MODULE             7
53 #define SMBIOS_BOARD_TYPE_MEM_MODULE            8
54 #define SMBIOS_BOARD_TYPE_DAUGHTER_BOARD        9
55 #define SMBIOS_BOARD_TYPE_MOTHERBOARD           10
56 #define SMBIOS_BOARD_TYPE_PROC_MEM_MODULE       11
57 #define SMBIOS_BOARD_TYPE_PROC_IO_MODULE        12
58 #define SMBIOS_BOARD_TYPE_INTERCON              13
59
60 /*
61  * System Enclosure or Chassis
62  */
63 #define SMBIOS_ENCLOSURE_UNKNOWN        2
64 #define SMBIOS_ENCLOSURE_DESKTOP        3
65
66 #define SMBIOS_STATE_OTHER              1
67 #define SMBIOS_STATE_UNKNOWN            2
68 #define SMBIOS_STATE_SAFE               3
69 #define SMBIOS_STATE_WARNING            4
70 #define SMBIOS_STATE_CRITICAL           5
71 #define SMBIOS_STATE_NONRECOVERABLE     6
72
73 #define SMBIOS_SECURITY_OTHER           1
74 #define SMBIOS_SECURITY_UNKNOWN         2
75 #define SMBIOS_SECURITY_NONE            3
76 #define SMBIOS_SECURITY_EXTINT_LOCK     4
77 #define SMBIOS_SECURITY_EXTINT_EN       5
78
79 #define SMBIOS_ENCLOSURE_OEM_UND        0
80 #define SMBIOS_ENCLOSURE_HEIGHT_UND     0
81 #define SMBIOS_POWCORD_NUM_UND          0
82 #define SMBIOS_ELEMENT_TYPE_SELECT      0x80 /* BIT(7) */
83
84 /*
85  * Processor Information
86  */
87
88 #define SMBIOS_PROCESSOR_TYPE_OTHER     1
89 #define SMBIOS_PROCESSOR_TYPE_UNKNOWN   2
90 #define SMBIOS_PROCESSOR_TYPE_CENTRAL   3
91 #define SMBIOS_PROCESSOR_TYPE_MATH      4
92 #define SMBIOS_PROCESSOR_TYPE_DSP       5
93 #define SMBIOS_PROCESSOR_TYPE_VIDEO     6
94
95 #define SMBIOS_PROCESSOR_STATUS_UNKNOWN         0
96 #define SMBIOS_PROCESSOR_STATUS_ENABLED         1
97 #define SMBIOS_PROCESSOR_STATUS_DISABLED_USER   2
98 #define SMBIOS_PROCESSOR_STATUS_DISABLED_BIOS   3
99 #define SMBIOS_PROCESSOR_STATUS_IDLE            4
100 #define SMBIOS_PROCESSOR_STATUS_OTHER           7
101
102 #define SMBIOS_PROCESSOR_UPGRADE_OTHER          1
103 #define SMBIOS_PROCESSOR_UPGRADE_UNKNOWN        2
104 #define SMBIOS_PROCESSOR_UPGRADE_NONE           6
105
106 #define SMBIOS_PROCESSOR_FAMILY_OTHER   1
107 #define SMBIOS_PROCESSOR_FAMILY_UNKNOWN 2
108 #define SMBIOS_PROCESSOR_FAMILY_RSVD    255
109 #define SMBIOS_PROCESSOR_FAMILY_ARMV7   256
110 #define SMBIOS_PROCESSOR_FAMILY_ARMV8   257
111 #define SMBIOS_PROCESSOR_FAMILY_RV32    512
112 #define SMBIOS_PROCESSOR_FAMILY_RV64    513
113
114 #define SMBIOS_PROCESSOR_FAMILY_EXT     0xfe
115
116 /* Processor Characteristics */
117 #define SMBIOS_PROCESSOR_RSVD           1 /* BIT(0) */
118 #define SMBIOS_PROCESSOR_UND            2 /* BIT(1) */
119 #define SMBIOS_PROCESSOR_64BIT          4 /* BIT(2) */
120 #define SMBIOS_PROCESSOR_MULTICORE      8 /* BIT(3) */
121 #define SMBIOS_PROCESSOR_HWTHREAD       16 /* BIT(4) */
122 #define SMBIOS_PROCESSOR_EXEC_PROT      32 /* BIT(5) */
123 #define SMBIOS_PROCESSOR_ENH_VIRT       64 /* BIT(6) */
124 #define SMBIOS_PROCESSOR_POW_CON        0x80 /* BIT(7) */
125 #define SMBIOS_PROCESSOR_128BIT         0x100 /* BIT(8) */
126 #define SMBIOS_PROCESSOR_ARM64_SOCID    0x200 /* BIT(9) */
127
128 /*
129  * Cache Information
130  */
131
132 #define SMBIOS_CACHE_SIZE_EXT_KB (2047 * 1024) /* 2047 MiB */
133 #define SMBIOS_CACHE_HANDLE_NONE 0xffff
134
135 /* System Cache Type */
136 #define SMBIOS_CACHE_SYSCACHE_TYPE_OTHER        1
137 #define SMBIOS_CACHE_SYSCACHE_TYPE_UNKNOWN      2
138 #define SMBIOS_CACHE_SYSCACHE_TYPE_INST         3
139 #define SMBIOS_CACHE_SYSCACHE_TYPE_DATA         4
140 #define SMBIOS_CACHE_SYSCACHE_TYPE_UNIFIED      5
141
142 /* Cache Speed */
143 #define SMBIOS_CACHE_SPEED_UNKNOWN      0
144
145 /* SRAM Type */
146 #define SMBIOS_CACHE_SRAM_TYPE_UNKNOWN  2 /* BIT(1) */
147
148 /* Error Correction Type */
149 #define SMBIOS_CACHE_ERRCORR_OTHER      1
150 #define SMBIOS_CACHE_ERRCORR_UNKNOWN    2
151 #define SMBIOS_CACHE_ERRCORR_NONE       3
152 #define SMBIOS_CACHE_ERRCORR_PARITY     4
153 #define SMBIOS_CACHE_ERRCORR_SBITECC    5
154 #define SMBIOS_CACHE_ERRCORR_MBITECC    6
155
156 /* Cache Configuration */
157 #define SMBIOS_CACHE_LEVEL_1    0
158 #define SMBIOS_CACHE_LEVEL_2    1
159 #define SMBIOS_CACHE_LEVEL_3    2
160 #define SMBIOS_CACHE_LEVEL_4    3
161 #define SMBIOS_CACHE_LEVEL_5    4
162 #define SMBIOS_CACHE_LEVEL_6    5
163 #define SMBIOS_CACHE_LEVEL_7    6
164 #define SMBIOS_CACHE_LEVEL_8    7
165 #define SMBIOS_CACHE_SOCKETED   8 /* BIT(3) */
166 #define SMBIOS_CACHE_LOCATE_EXTERNAL    32 /* BIT(5) */
167 #define SMBIOS_CACHE_LOCATE_RESERVED    64 /* BIT(6) */
168 #define SMBIOS_CACHE_LOCATE_UNKNOWN     96 /* (BIT(5) | BIT(6)) */
169 #define SMBIOS_CACHE_ENABLED    0x80 /* BIT(7) */
170 #define SMBIOS_CACHE_OP_WB      0x100 /* BIT(8), Write Back */
171 #define SMBIOS_CACHE_OP_VAR     0x200 /* BIT(9), Varies with Memory Address */
172 #define SMBIOS_CACHE_OP_UND     0x300 /* (BIT(8) | BIT(9)), Unknown*/
173
174 /* Cache Granularity */
175 #define SMBIOS_CACHE_GRANU_1K   0
176 #define SMBIOS_CACHE_GRANU_64K  1
177
178 /* Cache Associativity */
179 #define SMBIOS_CACHE_ASSOC_OTHER        1
180 #define SMBIOS_CACHE_ASSOC_UNKNOWN      2
181 #define SMBIOS_CACHE_ASSOC_DMAPPED      3
182 #define SMBIOS_CACHE_ASSOC_2WAY         4
183 #define SMBIOS_CACHE_ASSOC_4WAY         5
184 #define SMBIOS_CACHE_ASSOC_FULLY        6
185 #define SMBIOS_CACHE_ASSOC_8WAY         7
186 #define SMBIOS_CACHE_ASSOC_16WAY        8
187 #define SMBIOS_CACHE_ASSOC_12WAY        9
188 #define SMBIOS_CACHE_ASSOC_24WAY        10
189 #define SMBIOS_CACHE_ASSOC_32WAY        11
190 #define SMBIOS_CACHE_ASSOC_48WAY        12
191 #define SMBIOS_CACHE_ASSOC_64WAY        13
192 #define SMBIOS_CACHE_ASSOC_20WAY        14
193
194 #endif /* _SMBIOS_DEF_H_ */
This page took 0.038059 seconds and 4 git commands to generate.