1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * Copyright (c) 2024 Linaro Limited
11 * BIOS characteristics
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) */
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) */
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
37 * Baseboard Information
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) */
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
61 * System Enclosure or Chassis
63 #define SMBIOS_ENCLOSURE_UNKNOWN 2
64 #define SMBIOS_ENCLOSURE_DESKTOP 3
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
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
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) */
85 * Processor Information
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
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
102 #define SMBIOS_PROCESSOR_UPGRADE_OTHER 1
103 #define SMBIOS_PROCESSOR_UPGRADE_UNKNOWN 2
104 #define SMBIOS_PROCESSOR_UPGRADE_NONE 6
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
114 #define SMBIOS_PROCESSOR_FAMILY_EXT 0xfe
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) */
132 #define SMBIOS_CACHE_SIZE_EXT_KB (2047 * 1024) /* 2047 MiB */
133 #define SMBIOS_CACHE_HANDLE_NONE 0xffff
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
143 #define SMBIOS_CACHE_SPEED_UNKNOWN 0
146 #define SMBIOS_CACHE_SRAM_TYPE_UNKNOWN 2 /* BIT(1) */
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
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*/
174 /* Cache Granularity */
175 #define SMBIOS_CACHE_GRANU_1K 0
176 #define SMBIOS_CACHE_GRANU_64K 1
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
194 #endif /* _SMBIOS_DEF_H_ */