xref: /openbmc/libpldm/include/libpldm/entity.h (revision 654eb966)
1 /* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later */
2 #ifndef ENTITY_H
3 #define ENTITY_H
4 
5 #ifdef __cplusplus
6 extern "C" {
7 #endif
8 
9 /** @brief PLDM Entity ID Codes in DSP0249_1.1.0 specification
10  */
11 enum pldm_entity_id_codes {
12 	PLDM_ENTITY_UNSPECIFIED = 0,
13 	PLDM_ENTITY_OTHER = 1,
14 
15 	/* Miscellaneous Entities */
16 	PLDM_ENTITY_NETWORK = 2,
17 	PLDM_ENTITY_GROUP = 3,
18 	PLDM_ENTITY_REMOTE_MGMT_COMM_DEVICE = 4,
19 	PLDM_ENTITY_EXTERNAL_ENVIRONMENT = 5,
20 	PLDM_ENTITY_COMM_CHANNEL = 6,
21 	PLDM_ENTITY_TERMINUS = 7,
22 	PLDM_ENTITY_PLATFORM_EVENT_LOG = 8,
23 	PLDM_ENTITY_DEVICE_FILE = 9,
24 	PLDM_ENTITY_DEVICE_FILE_DIRECTORY = 10,
25 	PLDM_ENTITY_MEMORY_RANK = 11,
26 
27 	/* Human Interface Entities */
28 	PLDM_ENTITY_KEYPAD = 15,
29 	PLDM_ENTITY_SWITCH = 16,
30 	PLDM_ENTITY_PUSHBUTTON = 17,
31 	PLDM_ENTITY_DISPLAY = 18,
32 	PLDM_ENTITY_INDICATOR = 19,
33 
34 	/* Software/Firmware Entities */
35 	PLDM_ENTITY_SYS_MGMT_SW = 30,
36 	PLDM_ENTITY_SYS_FIRMWARE = 31,
37 	PLDM_ENTITY_OPERATING_SYS = 32,
38 	PLDM_ENTITY_VIRTUAL_MACHINE_MANAGER = 33,
39 	PLDM_ENTITY_OS_LOADER = 34,
40 	PLDM_ENTITY_DEVICE_DRIVER = 35,
41 	PLDM_ENTITY_MGMT_CONTROLLER_FW = 36,
42 
43 	/* Chassis/Enclosure Entities */
44 	PLDM_ENTITY_SYSTEM_CHASSIS = 45,
45 	PLDM_ENTITY_SUB_CHASSIS = 46,
46 	PLDM_ENTITY_DISK_DRIVE_BAY = 47,
47 	PLDM_ENTITY_PERIPHERAL_BAY = 48,
48 	PLDM_ENTITY_DEVICE_BAY = 49,
49 	PLDM_ENTITY_DOOR = 50,
50 	PLDM_ENTITY_ACCESS_PANEL = 51,
51 	PLDM_ENTITY_COVER = 52,
52 
53 	/* Board/Card/Module Entities */
54 	PLDM_ENTITY_BOARD = 60,
55 	PLDM_ENTITY_CARD = 61,
56 	PLDM_ENTITY_MODULE = 62,
57 	PLDM_ENTITY_SYS_MGMT_MODULE = 63,
58 	PLDM_ENTITY_SYS_BOARD = 64,
59 	PLDM_ENTITY_MEMORY_BOARD = 65,
60 	PLDM_ENTITY_MEMORY_MODULE = 66,
61 	PLDM_ENTITY_PROC_MODULE = 67,
62 	PLDM_ENTITY_ADD_IN_CARD = 68,
63 	PLDM_ENTITY_CHASSIS_FRONT_PANEL_BOARD = 69,
64 	PLDM_ENTITY_BACK_PANEL_BOARD = 70,
65 	PLDM_ENTITY_POWER_MGMT = 71,
66 	PLDM_ENTITY_POWER_SYS_BOARD = 72,
67 	PLDM_ENTITY_DRIVE_BACKPLANE = 73,
68 	PLDM_ENTITY_SYS_INTERNAL_EXPANSION_BOARD = 74,
69 	PLDM_ENTITY_OTHER_SYS_BOARD = 75,
70 	PLDM_ENTITY_CHASSIS_BACK_PANEL_BOARD = 76,
71 	PLDM_ENTITY_PROCESSING_BLADE = 77,
72 	PLDM_ENTITY_CONNECTIVITY_SWITCH = 78,
73 	PLDM_ENTITY_PROC_MEMORY_MODULE = 79,
74 	PLDM_ENTITY_IO_MODULE = 80,
75 	PLDM_ENTITY_PROC_IO_MODULE = 81,
76 
77 	/* Cooling Entities */
78 	PLDM_ENTITY_COOLING_DEVICE = 90,
79 	PLDM_ENTITY_COOLING_SUBSYSTEM = 91,
80 	PLDM_ENTITY_COOLING_UNIT = 92,
81 	PLDM_ENTITY_FAN = 93,
82 	PLDM_ENTITY_PELTIER_COOLING_DEVICE = 94,
83 	PLDM_ENTITY_LIQUID_COOLING_DEVICE = 95,
84 	PLDM_ENTITY_LIQUID_COOLING_SUBSYSTEM = 96,
85 
86 	/* Storage Device Entities */
87 	PLDM_ENTITY_OTHER_STORAGE_DEVICE = 105,
88 	PLDM_ENTITY_FLOPPY_DRIVE = 106,
89 	PLDM_ENTITY_FIXED_DISK_HARD_DRIVE = 107,
90 	PLDM_ENTITY_CD_DRIVE = 108,
91 	PLDM_ENTITY_CD_DVD_DRIVE = 109,
92 	PLDM_ENTITY_OTHER_SILICON_STORAGE_DEVICE = 110,
93 	PLDM_ENTITY_SOLID_STATE_SRIVE = 111,
94 
95 	/* Power Entities */
96 	PLDM_ENTITY_POWER_SUPPLY = 120,
97 	PLDM_ENTITY_BATTERY = 121,
98 	PLDM_ENTITY_SUPER_CAPACITOR = 122,
99 	PLDM_ENTITY_POWER_CONVERTER = 123,
100 	PLDM_ENTITY_DC_DC_CONVERTER = 124,
101 	PLDM_ENTITY_AC_MAINS_POWER_SUPPLY = 125,
102 	PLDM_ENTITY_DC_MAINS_POWER_SUPPLY = 126,
103 	PLDM_ENTITY_VOLTAGE_REGULATOR = 127,
104 	PLDM_ENTITY_MULTI_RAIL_VOLTAGE_REGULATOR = 128,
105 	PLDM_ENTITY_MULTI_RAIL_VOLTAGE_REGULATOR_CHANNEL = 129,
106 
107 	/* Chip Entities */
108 	PLDM_ENTITY_PROC = 135,
109 	PLDM_ENTITY_CHIPSET_COMPONENT = 136,
110 	PLDM_ENTITY_MGMT_CONTROLLER = 137,
111 	PLDM_ENTITY_PERIPHERAL_CONTROLLER = 138,
112 	PLDM_ENTITY_SEEPROM = 139,
113 	PLDM_ENTITY_NVRAM_CHIP = 140,
114 	PLDM_ENTITY_FLASH_MEMORY_CHIP = 141,
115 	PLDM_ENTITY_MEMORY_CHIP = 142,
116 	PLDM_ENTITY_MEMORY_CONTROLLER = 143,
117 	PLDM_ENTITY_NETWORK_CONTROLLER = 144,
118 	PLDM_ENTITY_IO_CONTROLLER = 145,
119 	PLDM_ENTITY_SOUTH_BRIDGE = 146,
120 	PLDM_ENTITY_REAL_TIME_CLOCK = 147,
121 	PLDM_ENTITY_FPGA_CPLD_DEVICE = 148,
122 	PLDM_ENTITY_ACCELERATOR = 149,
123 	PLDM_ENTITY_TPM = 150,
124 	PLDM_ENTITY_PROCESSOR_CORE = 151,
125 	PLDM_ENTITY_GPU = 152,
126 	PLDM_ENTITY_DPU = 153,
127 
128 	/* Bus Entities */
129 	PLDM_ENTITY_OTHER_BUS = 160,
130 	PLDM_ENTITY_SYS_BUS = 161,
131 	PLDM_ENTITY_I2C_BUS = 162,
132 	PLDM_ENTITY_SMBUS_BUS = 163,
133 	PLDM_ENTITY_SPI_BUS = 164,
134 	PLDM_ENTITY_PCI_BUS = 165,
135 	PLDM_ENTITY_PCI_EXPRESS_BUS = 166,
136 	PLDM_ENTITY_PECI_BUS = 167,
137 	PLDM_ENTITY_LPC_BUS = 168,
138 	PLDM_ENTITY_USB_BUS = 169,
139 	PLDM_ENTITY_FIREWIRE_BUS = 170,
140 	PLDM_ENTITY_SCSI_BUS = 171,
141 	PLDM_ENTITY_SATA_SAS_BUS = 172,
142 	PLDM_ENTITY_PROC_FRONT_SIDE_BUS = 173,
143 	PLDM_ENTITY_INTER_PROC_BUS = 174,
144 	PLDM_ENTITY_INTER_ACCELERATOR_LINK = 175,
145 
146 	/* Connectors/Cables */
147 	PLDM_ENTITY_CONNECTOR = 185,
148 	PLDM_ENTITY_SLOT = 186,
149 	PLDM_ENTITY_CABLE = 187,
150 	PLDM_ENTITY_INTERCONNECT = 188,
151 	PLDM_ENTITY_PLUG = 189,
152 	PLDM_ENTITY_SOCKET = 190,
153 
154 	/* Network Interface Connectors */
155 	PLDM_ENTITY_RJ45 = 200,
156 	PLDM_ENTITY_XFP = 201,
157 	PLDM_ENTITY_SFP = 202,
158 	PLDM_ENTITY_SFP10 = 203,
159 	PLDM_ENTITY_SFP16 = 205,
160 	PLDM_ENTITY_SFP28 = 206,
161 	PLDM_ENTITY_SFP_PLUS = 207,
162 	PLDM_ENTITY_SFPDD = 208,
163 	PLDM_ENTITY_CSFP = 209,
164 	PLDM_ENTITY_QSFP = 210,
165 	PLDM_ENTITY_QSFP28 = 211,
166 	PLDM_ENTITY_QSFP_PLUS = 212,
167 	PLDM_ENTITY_QSFPDD = 213,
168 	PLDM_ENTITY_OSFP = 214,
169 	PLDM_ENTITY_DSFP = 215,
170 
171 	/* Network Ports Connection Types */
172 	PLDM_ENTITY_ETHERNET = 300,
173 	PLDM_ENTITY_INFINIBAND = 301,
174 	PLDM_ENTITY_FIBRECHANEL = 302,
175 	PLDM_ENTITY_OMINIPATH = 303,
176 
177 	/* OEM ranges */
178 	PLDM_OEM_ENTITY_TYPE_START = 24576,
179 	PLDM_OEM_ENTITY_TYPE_END = 32767,
180 };
181 
182 #ifdef __cplusplus
183 }
184 #endif
185 
186 #endif /* ENTITY_H */
187